Teleportation Projectile

From Oldunreal-Wiki
Revision as of 00:04, 3 August 2009 by .:..: (talk | contribs) (Changed formating and removed useless variable)
Jump to navigation Jump to search

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;

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();
}