Scripting / Modding
Teleportation Projectile
Note: I did NOT create this, I only found it on some tutorial dated about 2002 with no author attached, so I figured it would be ok to share it with everyone. The only parts I did change were the comments in the code, to allow the player to understand what each line does. Just Sub-Class TazerProj and copy this code to make it work.
class TeleProj expands TazerProj;
var() float Speed;
function SuperExplosion()
{
// This next line will hurt everyone within 240 units by 3.9x the regular damage
HurtRadius(Damage*3.9, 240, 'jolted', MomentumTransfer*2, Location );
Destroy(); }
function Explode(vector HitLocation,vector HitNormal)
{
// Play the Explosion sound.
PlaySound(ImpactSound, SLOT_Misc, 0.5,,, 0.5+FRand());
// Hurt everyone 70 units away.
HurtRadius(Damage, 70, 'jolted', MomentumTransfer, Location );
// If the damage is high, make a big explosion.
if (Damage > 60) Spawn(class'RingExplosion2',,, HitLocation+HitNormal*8,rotator(HitNormal));
// Make teleport sparkles.
Spawn ( class 'PawnTeleportEffect',,, Instigator.Location );
// Make teleport sparkles where you will end up.
Spawn ( class 'PawnTeleportEffect',,, Location );
// Here, you are transported to wherever you hit.
Instigator.SetLocation(Location);
// This destroys the projectile.
Destroy();
}