Bugfixes:

- Security cyborgs' handcuffs now act as dispensers. This means they no longer transfer to the target when you attempt to handcuff them, instead, it creates new handcuffs and attaches them to the target.
     - Cyborgs can no longer put their module items onto people.
     - People in the starting screen can no longer see/hear admin dead-chatter.
     - Fixed some bugs with cyborg modules not deactivating properly in the HUD if you lost power or got locked down.
     - Final fix for Metroids.
     

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1986 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-08-06 18:08:28 +00:00
parent 438dbfbd95
commit 977ea89da9
8 changed files with 118 additions and 64 deletions
+50 -37
View File
@@ -15,57 +15,70 @@
/obj/item/weapon/handcuffs/attack(mob/M as mob, mob/user as mob)
if ((usr.mutations & CLOWN) && prob(50))
usr << "\red Uh ... how do those things work?!"
if(istype(src, /obj/item/weapon/handcuffs/cyborg) && isrobot(user))
if(!M.handcuffed)
var/turf/p_loc = user.loc
var/turf/p_loc_m = M.loc
playsound(src.loc, 'handcuffs.ogg', 30, 1, -2)
for(var/mob/O in viewers(user, null))
O.show_message("\red <B>[user] is trying to put handcuffs on [M]!</B>", 1)
spawn(30)
if(p_loc == user.loc && p_loc_m == M.loc)
M.handcuffed = new /obj/item/weapon/handcuffs(M)
else
if ((usr.mutations & CLOWN) && prob(50))
usr << "\red Uh ... how do those things work?!"
if (istype(M, /mob/living/carbon/human))
var/obj/equip_e/human/O = new /obj/equip_e/human( )
O.source = user
O.target = user
O.item = user.equipped()
O.s_loc = user.loc
O.t_loc = user.loc
O.place = "handcuff"
M.requests += O
spawn( 0 )
O.process()
return
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
if (istype(M, /mob/living/carbon/human))
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to handcuff [M.name] ([M.ckey])</font>")
var/obj/equip_e/human/O = new /obj/equip_e/human( )
O.source = user
O.target = user
O.target = M
O.item = user.equipped()
O.s_loc = user.loc
O.t_loc = user.loc
O.t_loc = M.loc
O.place = "handcuff"
M.requests += O
spawn( 0 )
playsound(src.loc, 'handcuffs.ogg', 30, 1, -2)
O.process()
return
else
var/obj/equip_e/monkey/O = new /obj/equip_e/monkey( )
O.source = user
O.target = M
O.item = user.equipped()
O.s_loc = user.loc
O.t_loc = M.loc
O.place = "handcuff"
M.requests += O
spawn( 0 )
playsound(src.loc, 'handcuffs.ogg', 30, 1, -2)
O.process()
return
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
if (istype(M, /mob/living/carbon/human))
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to handcuff [M.name] ([M.ckey])</font>")
var/obj/equip_e/human/O = new /obj/equip_e/human( )
O.source = user
O.target = M
O.item = user.equipped()
O.s_loc = user.loc
O.t_loc = M.loc
O.place = "handcuff"
M.requests += O
spawn( 0 )
playsound(src.loc, 'handcuffs.ogg', 30, 1, -2)
O.process()
return
else
var/obj/equip_e/monkey/O = new /obj/equip_e/monkey( )
O.source = user
O.target = M
O.item = user.equipped()
O.s_loc = user.loc
O.t_loc = M.loc
O.place = "handcuff"
M.requests += O
spawn( 0 )
playsound(src.loc, 'handcuffs.ogg', 30, 1, -2)
O.process()
return
return
/obj/item/weapon/extinguisher/New()
var/datum/reagents/R = new/datum/reagents(50)
reagents = R