From 99f56abe385403d2f1d9f36fdfb79907fec1b78f Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 1 Jan 2016 21:23:04 +0100 Subject: [PATCH 1/2] Fixes chameleon projector ignoring closets --- code/game/objects/items/devices/chameleonproj.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 5e6a85914ed..d980f8dfb0d 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -89,7 +89,6 @@ name = "" desc = "" density = 0 - anchored = 1 var/can_move = 1 var/obj/item/device/chameleon/master = null From 45912423df054d938137062b0888ae2a1f6cd796 Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 1 Jan 2016 21:34:10 +0100 Subject: [PATCH 2/2] Makes champrojector use appearance --- .../objects/items/devices/chameleonproj.dm | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index d980f8dfb0d..f0c0e0c01b4 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -11,11 +11,14 @@ origin_tech = "syndicate=4;magnets=4" var/can_use = 1 var/obj/effect/dummy/chameleon/active_dummy = null + var/saved_appearance = null + /* var/saved_item = /obj/item/weapon/cigbutt var/saved_icon = 'icons/obj/clothing/masks.dmi' var/saved_icon_state = "cigbutt" var/saved_overlays = null var/saved_underlays = null + */ /obj/item/device/chameleon/dropped() disrupt() @@ -32,14 +35,13 @@ if(istype(target,/obj/item) && !istype(target, /obj/item/weapon/disk/nuclear)) playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6) user << "Scanned [target]." - saved_item = target.type - saved_icon = target.icon - saved_icon_state = target.icon_state - saved_overlays = target.overlays - saved_underlays = target.underlays + var/obj/temp = new/obj() + temp.appearance = target.appearance + temp.layer = initial(target.layer) // scanning things in your inventory + saved_appearance = temp.appearance /obj/item/device/chameleon/proc/toggle() - if(!can_use || !saved_item) return + if(!can_use || !saved_appearance) return if(active_dummy) eject_all() playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) @@ -53,11 +55,8 @@ qdel(T) else playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) - var/obj/O = new saved_item(src) - if(!O) return var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc) - C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, saved_underlays, src) - qdel(O) + C.activate(usr, saved_appearance, src) usr << "You activate \the [src]." var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src)) T.icon = 'icons/effects/effects.dmi' @@ -92,14 +91,8 @@ var/can_move = 1 var/obj/item/device/chameleon/master = null -/obj/effect/dummy/chameleon/proc/activate(obj/O, mob/M, new_icon, new_iconstate, new_overlays, new_underlays, obj/item/device/chameleon/C) - name = O.name - desc = O.desc - icon = new_icon - icon_state = new_iconstate - overlays = new_overlays - underlays = new_underlays - dir = O.dir +/obj/effect/dummy/chameleon/proc/activate(mob/M, saved_appearance, obj/item/device/chameleon/C) + appearance = saved_appearance M.loc = src master = C master.active_dummy = src