//----------------------------------------
//SkullProtector
//----------------------------------------
Toggle_SkullProtector()
{
self notify("StopSkullProtector");
if(isDefined(self.Skullix))
{
self.Skullix delete();
self.Skullix = undefined;
}
if(isDefined(self.SkullixFX))
{
self.SkullixFX delete();
self.SkullixFX = undefined;
}
if(!isDefined(self.SkullProtector))
self.SkullProtector = false;
self.SkullProtector = !self.SkullProtector;
if(self.SkullProtector)
self thread doSkullProtector();
self stealth_iprintln("Skull Protector " + (self.SkullProtector ? "^2ON" : "^1OFF"));
}
doSkullProtector()
{
self notify("StopSkullProtector");
self endon("StopSkullProtector");
self endon("disconnect");
level endon("game_ended");
self endon("death");
if(isDefined(self.Skullix))
{
self.Skullix delete();
self.Skullix = undefined;
}
if(isDefined(self.SkullixFX))
{
self.SkullixFX delete();
self.SkullixFX = undefined;
}
self.Skullix = spawn("script_model", self.origin + (0, 0, 95));
self.Skullix SetModel("zombie_skull");
self.Skullix.angles = self.angles + (0, 90, 0);
if (isDefined(level._effect["powerup_on"]))
playfxontag(level._effect["powerup_on"], self.Skullix, "tag_origin");
while(isDefined(self.SkullProtector) && self.SkullProtector)
{
self.Skullix.origin = self.origin + (0, 0, 95);
self.Skullix.angles = self.angles + (0, 90, 0);
Enemy = GetAiSpeciesArray("axis","all");
for(i = 0; i < Enemy.size; i++)
{
self.Skullix.origin = self.origin + (0, 0, 95);
self.Skullix.angles = self.angles + (0, 90, 0);
if(Distance(Enemy[i].origin, self.origin) < 350)
{
self.SkullixFX = spawn("script_model", self.Skullix.origin);
self.SkullixFX.angles = self.Skullix.angles;
self.SkullixFX SetModel("tag_origin");
self.SkullixFX PlaySound("mus_raygun_stinger");
if (isDefined(level._effect["powerup_on"]))
playfxontag(level._effect["powerup_on"], self.SkullixFX, "tag_origin");
self.SkullixFX MoveTo(Enemy[i] GetTagOrigin("J_Head"), 1);
self.SkullixFX waittill("movedone");
self.Skullix.origin = self.origin + (0, 0, 95);
self.Skullix.angles = self.angles + (0, 90, 0);
Enemy[i] maps\mp\zombies\_zm_spawner::zombie_head_gib();
Enemy[i] dodamage(Enemy[i].health + 666, Enemy[i].origin, self);
if(isDefined(self.SkullixFX))
{
self.SkullixFX delete();
self.SkullixFX = undefined;
}
}
}
wait 0.05;
}
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.