From e1f58161ac3e69a9c2157560380b64a005cf0dcd Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Thu, 10 Dec 2015 20:46:22 +0100 Subject: [PATCH] Diverse Police Tape fixes/tweaks --- code/game/objects/items/weapons/policetape.dm | 38 +++++++++++++----- icons/policetape.dmi | Bin 2914 -> 1845 bytes 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index f204a971feb..98e5c172c33 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -22,6 +22,19 @@ var/list/tape_roll_applications = list() var/tape_dir = 0 var/icon_base = "tape" +/obj/item/tape/update_icon() + //Possible directional bitflags: 0 (AIRLOCK), 1 (NORTH), 2 (SOUTH), 4 (EAST), 8 (WEST), 3 (VERTICAL), 12 (HORIZONTAL) + switch (tape_dir) + if(0) // AIRLOCK + icon_state = "[icon_base]_door_[crumpled]" + if(3) // VERTICAL + icon_state = "[icon_base]_v_[crumpled]" + if(12) // HORIZONTAL + icon_state = "[icon_base]_h_[crumpled]" + else // END POINT (1|2|4|8) + icon_state = "[icon_base]_dir_[crumpled]" + dir = tape_dir + /obj/item/tape/New() ..() if(!hazard_overlays) @@ -93,19 +106,26 @@ var/list/tape_roll_applications = list() /obj/item/taperoll/update_icon() overlays.Cut() + var/image/overlay = image(icon = src.icon) + overlay.appearance_flags = RESET_COLOR if(ismob(loc)) if(!start) - overlays += "start" + overlay.icon_state = "start" else - overlays += "stop" + overlay.icon_state = "stop" + overlays += overlay /obj/item/taperoll/dropped(mob/user) - ..() update_icon() + return ..() /obj/item/taperoll/pickup(mob/user) - ..() update_icon() + return ..() + +/obj/item/taperoll/attack_hand() + update_icon() + return ..() /obj/item/taperoll/attack_self(mob/user as mob) if(!start) @@ -142,13 +162,13 @@ var/list/tape_roll_applications = list() for(var/dir in list(NORTH, SOUTH)) if (possible_dirs & dir) TP.tape_dir += dir - TP.icon_state = "[TP.icon_base]_[TP.tape_dir]" + TP.update_icon() if(possible_dirs & (EAST|WEST)) var/obj/item/tape/TP = new tape_type(start) for(var/dir in list(EAST, WEST)) if (possible_dirs & dir) TP.tape_dir += dir - TP.icon_state = "[TP.icon_base]_[TP.tape_dir]" + TP.update_icon() start = null update_icon() usr << "You finish placing \the [src]." @@ -207,8 +227,8 @@ var/list/tape_roll_applications = list() break if(!tapetest) var/obj/item/tape/T = new tape_type(cur) - T.icon_state = "[T.icon_base]_[tape_dir]" T.tape_dir = tape_dir + T.update_icon() if(tape_dir & SOUTH) T.layer += 0.1 // Must always show above other tapes if(cur == end) @@ -227,7 +247,7 @@ var/list/tape_roll_applications = list() var/turf/T = get_turf(A) var/obj/item/tape/P = new tape_type(T.x,T.y,T.z) P.loc = locate(T.x,T.y,T.z) - P.icon_state = "[src.icon_base]_door" + P.update_icon() P.layer = 3.2 user << "You finish placing \the [src]." @@ -251,7 +271,7 @@ var/list/tape_roll_applications = list() /obj/item/tape/proc/crumple() if(!crumpled) crumpled = 1 - icon_state = "[icon_state]_c" + update_icon() name = "crumpled [name]" /obj/item/tape/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) diff --git a/icons/policetape.dmi b/icons/policetape.dmi index 0422ecb22f332da05650afeed6e940b12ffa7b1b..42095beef70ce74625454eb3791be58b3e764e76 100644 GIT binary patch delta 1844 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