Partial fix for #8068.

This commit is contained in:
Zuhayr
2015-02-28 17:29:26 +10:30
parent 273a9e2480
commit 0beb6259f6
2 changed files with 17 additions and 8 deletions

View File

@@ -350,7 +350,12 @@ Auto Patrol: []"},
if(istype(src.target,/mob/living/carbon)) if(istype(src.target,/mob/living/carbon))
var/mob/living/carbon/C = target var/mob/living/carbon/C = target
if(!C.handcuffed && !src.arrest_type) var/wearing_hardsuit
if(istype(C,/mob/living/carbon/human))
var/mob/living/carbon/human/H = C
if(istype(H.back, /obj/item/weapon/rig) && istype(H.gloves,/obj/item/clothing/gloves/rig))
wearing_hardsuit = 1
if(!wearing_hardsuit && !C.handcuffed && !src.arrest_type)
playsound(src.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2) playsound(src.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2)
mode = SECBOT_ARREST mode = SECBOT_ARREST
visible_message("\red <B>[src] is trying to put handcuffs on [src.target]!</B>") visible_message("\red <B>[src] is trying to put handcuffs on [src.target]!</B>")

View File

@@ -28,7 +28,7 @@
if (C == user) if (C == user)
place_handcuffs(user, user) place_handcuffs(user, user)
return return
//check for an aggressive grab //check for an aggressive grab
for (var/obj/item/weapon/grab/G in C.grabbed_by) for (var/obj/item/weapon/grab/G in C.grabbed_by)
if (G.loc == user && G.state >= GRAB_AGGRESSIVE) if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
@@ -41,11 +41,15 @@
if (ishuman(target)) if (ishuman(target))
var/mob/living/carbon/human/H = target var/mob/living/carbon/human/H = target
if (!H.has_organ_for_slot(slot_handcuffed)) if (!H.has_organ_for_slot(slot_handcuffed))
user << "\red \The [H] needs at least two wrists before you can cuff them together!" user << "<span class='danger'>\The [H] needs at least two wrists before you can cuff them together!</span>"
return return
if(istype(H.gloves,/obj/item/clothing/gloves/rig)) // Can't cuff someone who's in a deployed hardsuit.
user << "<span class='danger'>The cuffs won't fit around \the [H.gloves]!</span>"
return
H.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>") H.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 [H.name] ([H.ckey])</font>") user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to handcuff [H.name] ([H.ckey])</font>")
msg_admin_attack("[key_name(user)] attempted to handcuff [key_name(H)]") msg_admin_attack("[key_name(user)] attempted to handcuff [key_name(H)]")
@@ -62,7 +66,7 @@
feedback_add_details("handcuffs","H") feedback_add_details("handcuffs","H")
O.process() O.process()
return return
if (ismonkey(target)) if (ismonkey(target))
var/mob/living/carbon/monkey/M = target var/mob/living/carbon/monkey/M = target
var/obj/effect/equip_e/monkey/O = new /obj/effect/equip_e/monkey( ) var/obj/effect/equip_e/monkey/O = new /obj/effect/equip_e/monkey( )
@@ -155,13 +159,13 @@ var/last_chew = 0
var/turf/p_loc_m = C.loc var/turf/p_loc_m = C.loc
playsound(src.loc, cuff_sound, 30, 1, -2) playsound(src.loc, cuff_sound, 30, 1, -2)
user.visible_message("\red <B>[user] is trying to put handcuffs on [C]!</B>") user.visible_message("\red <B>[user] is trying to put handcuffs on [C]!</B>")
if (ishuman(C)) if (ishuman(C))
var/mob/living/carbon/human/H = C var/mob/living/carbon/human/H = C
if (!H.has_organ_for_slot(slot_handcuffed)) if (!H.has_organ_for_slot(slot_handcuffed))
user << "\red \The [H] needs at least two wrists before you can cuff them together!" user << "\red \The [H] needs at least two wrists before you can cuff them together!"
return return
spawn(30) spawn(30)
if(!C) return if(!C) return
if(p_loc == user.loc && p_loc_m == C.loc) if(p_loc == user.loc && p_loc_m == C.loc)