358a85eb3d
All the logging i have found in the code was changed to use the proc(maybe i missed something) Killed all runtimes found so far Proc now handles all the checks, no need to add checks in the body of object
62 lines
1.4 KiB
Plaintext
62 lines
1.4 KiB
Plaintext
/*
|
|
|
|
Miscellaneous traitor devices
|
|
|
|
BATTERER
|
|
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
The Batterer, like a flashbang but 50% chance to knock people over. Can be either very
|
|
effective or pretty fucking useless.
|
|
|
|
*/
|
|
|
|
/obj/item/device/batterer
|
|
name = "mind batterer"
|
|
desc = "A strange device with twin antennas."
|
|
icon_state = "batterer"
|
|
throwforce = 5
|
|
w_class = 1.0
|
|
throw_speed = 4
|
|
throw_range = 10
|
|
flags = FPRINT | TABLEPASS| CONDUCT
|
|
item_state = "electronic"
|
|
origin_tech = "magnets=3;combat=3;syndicate=3"
|
|
|
|
var/times_used = 0 //Number of times it's been used.
|
|
var/max_uses = 2
|
|
|
|
|
|
/obj/item/device/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
|
|
if(!user) return
|
|
if(times_used >= max_uses)
|
|
user << "\red The mind batterer has been burnt out!"
|
|
return
|
|
|
|
add_logs(user, null, "knocked down people in the area", admin=0, object="[src]")
|
|
|
|
for(var/mob/living/carbon/human/M in orange(10, user))
|
|
spawn()
|
|
if(prob(50))
|
|
|
|
M.Weaken(rand(10,20))
|
|
if(prob(25))
|
|
M.Stun(rand(5,10))
|
|
M << "\red <b>You feel a tremendous, paralyzing wave flood your mind.</b>"
|
|
|
|
else
|
|
M << "\red <b>You feel a sudden, electric jolt travel through your head.</b>"
|
|
|
|
playsound(src.loc, 'sound/misc/interference.ogg', 50, 1)
|
|
user << "\blue You trigger [src]."
|
|
times_used += 1
|
|
if(times_used >= max_uses)
|
|
icon_state = "battererburnt"
|
|
|
|
|
|
|
|
|