void EMPulse() { self.EmpActive = 0; if(time < self.emp) { if(rint(random()) < 0.5) sound(self, CHAN_AUTO, "emp/empdmg.wav", 1, ATTN_NORM); else sound(self, CHAN_AUTO, "emp/empdmg2.wav", 1, ATTN_NORM); return; } T_Damage(self, self, self, 110); local entity empers; empers = findradius(self.origin, 1500); while(empers) { if(empers == self) { sound(empers, CHAN_AUTO, "emp/empout.wav", 1, ATTN_NORM); stuffcmd(empers, "bf\n"); if(empers.HasYourSaber == "you") empers.HasYourSaber = "emp"; empers.impulse = 64; if(rint(random()) < 0.5) sound(empers, CHAN_AUTO, "stun/stun1.wav", 1, ATTN_NORM); else sound(empers, CHAN_AUTO, "stun/stun2.wav", 1, ATTN_NORM); sprint(empers, PRINT_MEDIUM, "Your electronics are down for 1 minute\n"); empers.emp = time + 60; } else if(empers.classname == "player" || empers.classname == "bot") { if(empers.health > 0) { sound(empers, CHAN_AUTO, "emp/empout.wav", 1, ATTN_NORM); stuffcmd(empers, "bf\n"); if(empers.HasYourSaber == "you") empers.HasYourSaber = "emp"; empers.impulse = 64; if(rint(random()) < 0.5) sound(empers, CHAN_AUTO, "stun/stun1.wav", 1, ATTN_NORM); else sound(empers, CHAN_AUTO, "stun/stun2.wav", 1, ATTN_NORM); sprint(empers, PRINT_MEDIUM, "Your electronics are down due to an E M Pulse\n"); empers.emp = time + 120; } } if(empers.classname == "detonator") empers.nextthink = time + 0.1; empers = empers.chain; } } void EmpFire() { if(self.freezed) return; if(self.health < 150) return; if(self.ammo_cells < 150) return; if(time < self.emp) return; if(self.EmpActive) return; sound(self, CHAN_AUTO, "emp/emp.wav", 1, ATTN_NORM); self.ammo_cells = self.ammo_cells - 150; self.EmpActive = 1; self.emptime = time + 2.5; }