From b280c5dbc29e827e00c30ef8b7312aed150cb28c Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Mon, 5 Feb 2024 23:35:02 +0100 Subject: [PATCH 1/4] initial mirror and minor item addition --- code/game/objects/items/cards_ids.dm | 22 +++ code/modules/clothing/chameleon.dm | 266 +++++++++++++++++++++++++++ 2 files changed, 288 insertions(+) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index d00150a359fb..6a7086c04176 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -1349,6 +1349,24 @@ /// Weak ref to the ID card we're currently attempting to steal access from. var/datum/weakref/theft_target +// MONKESTATION ADDITION START +/obj/item/card/id/advanced/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the agent ID ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the agent ID ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/card/id/advanced/chameleon/Initialize(mapload) . = ..() @@ -1535,6 +1553,10 @@ return TRUE /obj/item/card/id/advanced/chameleon/attack_self(mob/user) + // MONKESTATION ADDITION START + if(chameleon_action.hidden) + return ..() + // MONKESTATION ADDITION END if(isliving(user) && user.mind) var/popup_input = tgui_input_list(user, "Choose Action", "Agent ID", list("Show", "Forge/Reset", "Change Account ID")) if(user.incapacitated()) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 87361f8d9d7d..84fd383048ee 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -145,7 +145,14 @@ var/emp_timer + var/hidden = FALSE // MONKESTATION ADDITION + /datum/action/item_action/chameleon/change/Grant(mob/M) + // MONKESTATION ADDITION START + if(hidden) + Remove(M) + return + // MONKESTATION ADDITION END if(M && (owner != M)) if(!M.chameleon_item_actions) M.chameleon_item_actions = list(src) @@ -392,6 +399,24 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/under/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon jumpsuit ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon jumpsuit ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/under/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -434,6 +459,24 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/suit/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon suit ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon suit ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/suit/chameleon/Initialize(mapload) . = ..() allowed = GLOB.security_vest_allowed //should at least act like a vest @@ -475,6 +518,24 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/glasses/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon glasses ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon glasses ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/glasses/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -517,6 +578,24 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/gloves/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon gloves ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon gloves ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/gloves/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -558,6 +637,24 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/head/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon hat ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon hat ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/head/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -621,6 +718,27 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/mask/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + actions += tongue_action + tongue_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon mask ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon mask ([name]) with [W]") + tongue_action.Remove(user) + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/mask/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -645,6 +763,10 @@ chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/mask/chameleon/attack_self(mob/user) + // MONKESTATION ADDITION START + if(chameleon_action.hidden) + return ..() + // MONKESTATION ADDITION END voice_change = !voice_change to_chat(user, span_notice("The voice changer is now [voice_change ? "on" : "off"]!")) @@ -688,6 +810,24 @@ fire = 50 acid = 50 +// MONKESTATION ADDITION START +/obj/item/clothing/shoes/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon shoes ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon shoes ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/clothing/shoes/chameleon/Initialize(mapload) . = ..() @@ -722,6 +862,24 @@ name = "backpack" var/datum/action/item_action/chameleon/change/chameleon_action +// MONKESTATION ADDITION START +/obj/item/storage/backpack/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon backpack ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon backpack ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/storage/backpack/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -749,6 +907,24 @@ desc = "Holds tools." var/datum/action/item_action/chameleon/change/chameleon_action +// MONKESTATION ADDITION START +/obj/item/storage/belt/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon belt ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon belt ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/storage/belt/chameleon/Initialize(mapload) . = ..() @@ -778,6 +954,24 @@ name = "radio headset" var/datum/action/item_action/chameleon/change/chameleon_action +// MONKESTATION ADDITION START +/obj/item/radio/headset/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon headset ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon headset ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/radio/headset/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -804,6 +998,24 @@ name = "tablet" var/datum/action/item_action/chameleon/change/tablet/chameleon_action +// MONKESTATION ADDITION START +/obj/item/modular_computer/pda/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon PDA ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon PDA ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/modular_computer/pda/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -830,6 +1042,24 @@ /obj/item/stamp/chameleon var/datum/action/item_action/chameleon/change/chameleon_action +// MONKESTATION ADDITION START +/obj/item/stamp/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon stamp ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon stamp ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/stamp/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) @@ -857,6 +1087,24 @@ /obj/item/clothing/neck/chameleon var/datum/action/item_action/chameleon/change/chameleon_action +// MONKESTATION ADDITION START +/obj/item/clothing/neck/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /datum/armor/neck_chameleon fire = 50 acid = 50 @@ -898,6 +1146,24 @@ /// The badmin mode. Makes your projectiles act like the real deal. var/real_hits = FALSE +// MONKESTATION ADDITION START +/obj/item/gun/energy/laser/chameleon/attackby(obj/item/W, mob/user, params) + if(W.tool_behaviour == TOOL_MULTITOOL) + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") + return + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") + return + return ..() +// MONKESTATION ADDITION END + /obj/item/gun/energy/laser/chameleon/Initialize(mapload) . = ..() chameleon_action = new(src) From e497170ff2282c053b81edf6a2c17fb3c28f7a43 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Mon, 5 Feb 2024 23:54:28 +0100 Subject: [PATCH 2/4] ID fixes --- code/game/objects/items/cards_ids.dm | 21 ++++++++++++--------- code/modules/clothing/chameleon.dm | 3 --- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 6a7086c04176..a53f4405cbc3 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -1349,19 +1349,21 @@ /// Weak ref to the ID card we're currently attempting to steal access from. var/datum/weakref/theft_target + var/datum/action/item_action/chameleon/change/id/chameleon_card_action // MONKESTATION ADDITION -- DATUM MOVED FROM INITIALIZE() + // MONKESTATION ADDITION START /obj/item/card/id/advanced/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) + if(chameleon_card_action.hidden) + chameleon_card_action.hidden = FALSE + actions += chameleon_card_action + chameleon_card_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the agent ID ([name]) with [W]") return else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) + chameleon_card_action.hidden = TRUE + actions -= chameleon_card_action + chameleon_card_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the agent ID ([name]) with [W]") return return ..() @@ -1370,7 +1372,8 @@ /obj/item/card/id/advanced/chameleon/Initialize(mapload) . = ..() - var/datum/action/item_action/chameleon/change/id/chameleon_card_action = new(src) +// var/datum/action/item_action/chameleon/change/id/chameleon_card_action = new(src) MONKESTATION EDIT CHANGE OLD + chameleon_card_action = new(src) // MONKESTATION EDIT CHANGE NEW -- MOVED THE DATUM TO THE ITEM ITSELF chameleon_card_action.chameleon_type = /obj/item/card/id/advanced chameleon_card_action.chameleon_name = "ID Card" chameleon_card_action.initialize_disguises() @@ -1554,7 +1557,7 @@ /obj/item/card/id/advanced/chameleon/attack_self(mob/user) // MONKESTATION ADDITION START - if(chameleon_action.hidden) + if(chameleon_card_action.hidden) return ..() // MONKESTATION ADDITION END if(isliving(user) && user.mind) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 84fd383048ee..9ea820565ca3 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -725,8 +725,6 @@ chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) - actions += tongue_action - tongue_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon mask ([name]) with [W]") return else @@ -734,7 +732,6 @@ actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon mask ([name]) with [W]") - tongue_action.Remove(user) return return ..() // MONKESTATION ADDITION END From 3a371198f7852469b4b7d8de569dbf22d942d28b Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Tue, 6 Feb 2024 00:00:10 +0100 Subject: [PATCH 3/4] lets save a bit on indentation, makes this clearer --- code/game/objects/items/cards_ids.dm | 28 +- code/modules/clothing/chameleon.dm | 392 +++++++++++++-------------- 2 files changed, 210 insertions(+), 210 deletions(-) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index a53f4405cbc3..39bcfbe2b775 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -1353,20 +1353,20 @@ // MONKESTATION ADDITION START /obj/item/card/id/advanced/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_card_action.hidden) - chameleon_card_action.hidden = FALSE - actions += chameleon_card_action - chameleon_card_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the agent ID ([name]) with [W]") - return - else - chameleon_card_action.hidden = TRUE - actions -= chameleon_card_action - chameleon_card_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the agent ID ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_card_action.hidden) + chameleon_card_action.hidden = FALSE + actions += chameleon_card_action + chameleon_card_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the agent ID ([name]) with [W]") + return ..() + else + chameleon_card_action.hidden = TRUE + actions -= chameleon_card_action + chameleon_card_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the agent ID ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/card/id/advanced/chameleon/Initialize(mapload) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 9ea820565ca3..24ab96216637 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -401,20 +401,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/under/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon jumpsuit ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon jumpsuit ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon jumpsuit ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon jumpsuit ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/under/chameleon/Initialize(mapload) @@ -461,20 +461,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/suit/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon suit ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon suit ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon suit ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon suit ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/suit/chameleon/Initialize(mapload) @@ -520,20 +520,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/glasses/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon glasses ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon glasses ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon glasses ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon glasses ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/glasses/chameleon/Initialize(mapload) @@ -580,20 +580,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/gloves/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon gloves ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon gloves ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon gloves ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon gloves ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/gloves/chameleon/Initialize(mapload) @@ -639,20 +639,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/head/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon hat ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon hat ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon hat ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon hat ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/head/chameleon/Initialize(mapload) @@ -720,20 +720,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/mask/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon mask ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon mask ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon mask ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon mask ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/mask/chameleon/Initialize(mapload) @@ -809,20 +809,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/shoes/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon shoes ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon shoes ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon shoes ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon shoes ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/clothing/shoes/chameleon/Initialize(mapload) @@ -861,20 +861,20 @@ // MONKESTATION ADDITION START /obj/item/storage/backpack/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon backpack ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon backpack ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon backpack ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon backpack ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/storage/backpack/chameleon/Initialize(mapload) @@ -906,20 +906,20 @@ // MONKESTATION ADDITION START /obj/item/storage/belt/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon belt ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon belt ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon belt ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon belt ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/storage/belt/chameleon/Initialize(mapload) @@ -953,20 +953,20 @@ // MONKESTATION ADDITION START /obj/item/radio/headset/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon headset ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon headset ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon headset ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon headset ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/radio/headset/chameleon/Initialize(mapload) @@ -997,20 +997,20 @@ // MONKESTATION ADDITION START /obj/item/modular_computer/pda/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon PDA ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon PDA ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon PDA ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon PDA ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/modular_computer/pda/chameleon/Initialize(mapload) @@ -1041,20 +1041,20 @@ // MONKESTATION ADDITION START /obj/item/stamp/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon stamp ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon stamp ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon stamp ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon stamp ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/stamp/chameleon/Initialize(mapload) @@ -1086,20 +1086,20 @@ // MONKESTATION ADDITION START /obj/item/clothing/neck/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /datum/armor/neck_chameleon @@ -1145,20 +1145,20 @@ // MONKESTATION ADDITION START /obj/item/gun/energy/laser/chameleon/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_MULTITOOL) - if(chameleon_action.hidden) - chameleon_action.hidden = FALSE - actions += chameleon_action - chameleon_action.Grant(user) - log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") - return - else - chameleon_action.hidden = TRUE - actions -= chameleon_action - chameleon_action.Remove(user) - log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") - return - return ..() + if(W.tool_behaviour != TOOL_MULTITOOL) + return ..() + if(chameleon_action.hidden) + chameleon_action.hidden = FALSE + actions += chameleon_action + chameleon_action.Grant(user) + log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") + return ..() + else + chameleon_action.hidden = TRUE + actions -= chameleon_action + chameleon_action.Remove(user) + log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") + return ..() // MONKESTATION ADDITION END /obj/item/gun/energy/laser/chameleon/Initialize(mapload) From dfc061061670daa5130ccc53e79c845c7946a0b6 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Tue, 6 Feb 2024 00:37:30 +0100 Subject: [PATCH 4/4] fixes some returns --- code/game/objects/items/cards_ids.dm | 3 +- code/modules/clothing/chameleon.dm | 42 ++++++++++------------------ 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 39bcfbe2b775..55fb6cedd8ff 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -1355,18 +1355,17 @@ /obj/item/card/id/advanced/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_card_action.hidden) chameleon_card_action.hidden = FALSE actions += chameleon_card_action chameleon_card_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the agent ID ([name]) with [W]") - return ..() else chameleon_card_action.hidden = TRUE actions -= chameleon_card_action chameleon_card_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the agent ID ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/card/id/advanced/chameleon/Initialize(mapload) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 24ab96216637..d8d2c657f340 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -403,18 +403,17 @@ /obj/item/clothing/under/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon jumpsuit ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon jumpsuit ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/under/chameleon/Initialize(mapload) @@ -463,18 +462,17 @@ /obj/item/clothing/suit/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon suit ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon suit ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/suit/chameleon/Initialize(mapload) @@ -522,18 +520,17 @@ /obj/item/clothing/glasses/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon glasses ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon glasses ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/glasses/chameleon/Initialize(mapload) @@ -582,18 +579,17 @@ /obj/item/clothing/gloves/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon gloves ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon gloves ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/gloves/chameleon/Initialize(mapload) @@ -641,18 +637,17 @@ /obj/item/clothing/head/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon hat ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon hat ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/head/chameleon/Initialize(mapload) @@ -722,18 +717,17 @@ /obj/item/clothing/mask/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon mask ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon mask ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/mask/chameleon/Initialize(mapload) @@ -811,18 +805,17 @@ /obj/item/clothing/shoes/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon shoes ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon shoes ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/clothing/shoes/chameleon/Initialize(mapload) @@ -863,18 +856,17 @@ /obj/item/storage/backpack/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon backpack ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon backpack ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/storage/backpack/chameleon/Initialize(mapload) @@ -908,18 +900,17 @@ /obj/item/storage/belt/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon belt ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon belt ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/storage/belt/chameleon/Initialize(mapload) @@ -955,18 +946,17 @@ /obj/item/radio/headset/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon headset ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon headset ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/radio/headset/chameleon/Initialize(mapload) @@ -999,18 +989,17 @@ /obj/item/modular_computer/pda/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon PDA ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon PDA ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/modular_computer/pda/chameleon/Initialize(mapload) @@ -1043,18 +1032,17 @@ /obj/item/stamp/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon stamp ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon stamp ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/stamp/chameleon/Initialize(mapload) @@ -1088,18 +1076,17 @@ /obj/item/clothing/neck/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /datum/armor/neck_chameleon @@ -1147,18 +1134,17 @@ /obj/item/gun/energy/laser/chameleon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_MULTITOOL) return ..() + if(chameleon_action.hidden) chameleon_action.hidden = FALSE actions += chameleon_action chameleon_action.Grant(user) log_game("[key_name(user)] has removed the disguise lock on the chameleon necktie ([name]) with [W]") - return ..() else chameleon_action.hidden = TRUE actions -= chameleon_action chameleon_action.Remove(user) log_game("[key_name(user)] has locked the disguise of the chameleon necktie ([name]) with [W]") - return ..() // MONKESTATION ADDITION END /obj/item/gun/energy/laser/chameleon/Initialize(mapload)