gersh()
{
self.oldWeapon = self getCurrentWeapon();
self giveWeapon("Frag_grenade_mp");
self SetWeaponAmmoClip( "frag_grenade_mp", 1 );
self switchToWeapon("Frag_grenade_mp");
self waittill("grenade_fire", grenade, weaponName);
if(weaponName == "Frag_grenade_mp")
{
grenade hide();
self.gersh=spawn("script_model", grenade.origin);
self.gersh setModel("weapon_c4_mp");
self.gersh linkTo( grenade );
grenade waittill("death");
self.glow = spawnfx(level.fx_airstrike_afterburner, self.gersh.origin);
TriggerFX(self.glow);
end=self.gersh.origin;
for(p = 0;p < level.players.size;p++){players = level.players[p];players thread gershPull(end,self);}
self switchToWeapon(self.oldWeapon);
}
}
gershPull(loc,initiator)
{
self endon("survive");
self iPrintln("^6Gersch Device Activated!");
self playloopsound( "veh_mig29_mid_loop" );
for(i=0;i<600;i++)
{
rand=(randomint(50),randomint(50),randomint(50));
radius=distance(self.origin,loc);
if(radius > 150)
{
if(level.teambased)
{
if(self.pers["team"] != initiator.pers["team"])
{
angles = VectorToAngles( loc - self.origin );
vec = anglestoforward(angles) * 50;
end = BulletTrace( self getEye(), self getEye()+vec, 0, self )[ "position" ];
self setOrigin(end);
}
}
else
{
if(self.name != initiator.name)
{
angles = VectorToAngles( loc - self.origin );
vec = anglestoforward(angles) * 50;
end = BulletTrace( self getEye(), self getEye()+vec, 0, self )[ "position" ];
self setOrigin(end);
}
}
}
else RadiusDamage( loc, 150, 100, 50, initiator );
wait 0.01;
}
self iPrintln("^2You Survived!");
self.gersh delete();
self.glow delete();
self notify("survive");
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.