From dd3739119eaeba7ed3c846e7baf5aa142b9f8914 Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 20 Nov 2014 00:55:26 +0100 Subject: [PATCH] Properly document harmbatonning removal, window update check --- code/game/objects/items/weapons/stunbaton.dm | 3 ++- code/game/objects/structures/window.dm | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 68d1d24bc11..9a5b30a4e48 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -16,6 +16,7 @@ var/obj/item/weapon/cell/high/bcell = null var/mob/foundmob = "" //Used in throwing proc. var/hitcost = 1500 //oh god why do power cells carry so much charge? We probably need to make a distinction between "industrial" sized power cells for APCs and power cells for everything else. + var/allowharm = 0 // Allow or disallow harming with the stunbaton /obj/item/weapon/melee/baton/suicide_act(mob/user) user.visible_message("[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.") @@ -123,7 +124,7 @@ var/mob/living/L = M var/target_zone = check_zone(user.zone_sel.selecting) - if(user.a_intent == "harm") + if(user.a_intent == "harm" && allowharm == 1) if (!..()) //item/attack() does it's own messaging and logs return 0 // item/attack() will return 1 if they hit, 0 if they missed. agony *= 0.5 //whacking someone causes a much poorer contact than prodding them. diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 22c286daeda..8786b6ff3e9 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -2,7 +2,7 @@ var/global/wcBar var/global/wcBrig var/global/wcCommon - +var/global/wcColored /proc/color_windows_init() var/list/bar = list("#0d8395", "#58b5c3", "#58c366", "#90d79a", "#ffffff") var/list/brig = list("#aa0808", "#7f0606", "#ff0000") @@ -13,11 +13,13 @@ var/global/wcCommon wcCommon = pick(common) /obj/proc/color_windows(var/obj/W as obj) + if(!wcColored) + sleep(50) // Sleeping to make sure the glass has initialized on the map + wcColored = 1 + var/list/wcBarAreas = list(/area/crew_quarters/bar) var/list/wcBrigAreas = list(/area/security,/area/security/main,/area/security/lobby,/area/security/brig,/area/security/permabrig,/area/security/prison,/area/security/prison/cell_block/A,/area/security/prison/cell_block/B,/area/security/prison/cell_block/C,/area/security/execution,/area/security/processing,/area/security/interrogation,/area/security/interrogationobs,/area/security/evidence,/area/security/prisonlockers,/area/security/medbay,/area/security/processing,/area/security/warden,/area/security/armoury,/area/security/securearmoury,/area/security/armoury/gamma,/area/security/securehallway,/area/security/hos,/area/security/podbay,/area/security/detectives_office,/area/security/range,/area/security/nuke_storage,/area/security/checkpoint,/area/security/checkpoint2,/area/security/checkpoint2,/area/security/checkpoint/supply,/area/security/checkpoint/engineering,/area/security/checkpoint/medical,/area/security/checkpoint/science,/area/security/vacantoffice,/area/security/vacantoffice2,/area/prison,/area/prison/arrival_airlock,/area/prison/control,/area/prison/crew_quarters,/area/prison/rec_room,/area/prison/closet,/area/prison/hallway/fore,/area/prison/hallway/aft,/area/prison/hallway/port,/area/prison/hallway/starboard,/area/prison/morgue,/area/prison/medical_research,/area/prison/medical,/area/prison/solar,/area/prison/podbay,/area/prison/solar_control,/area/prison/solitary,/area/prison/cell_block,/area/prison/cell_block/A,/area/prison/cell_block/B,/area/prison/cell_block/C) - sleep(25) // Sleeping to make sure the glass has initialized on the map - var/newcolor for(var/A in wcBarAreas) if(W.areaMaster == locate(A))