From 76f007a3cffb35bbee40fea83695d2781a0c8a6c Mon Sep 17 00:00:00 2001 From: jimmyl <70376633+mc-oofert@users.noreply.github.com> Date: Wed, 6 Nov 2024 18:40:38 +0100 Subject: [PATCH] the mod skin applier actually works now + honkeratives waddle (#87704) --- code/modules/mod/mod_paint.dm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/code/modules/mod/mod_paint.dm b/code/modules/mod/mod_paint.dm index 0693b05a348..e3e42e55f61 100644 --- a/code/modules/mod/mod_paint.dm +++ b/code/modules/mod/mod_paint.dm @@ -139,7 +139,7 @@ /obj/item/mod/skin_applier name = "MOD skin applier" - desc = "This one-use skin applier will add a skin to MODsuits of a specific type." + desc = "This one-use skin applier will add a skin to MODsuits of a specific type. Must be used on an inactive control unit." icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' icon_state = "skinapplier" var/skin = "civilian" @@ -148,20 +148,27 @@ . = ..() name = "MOD [skin] skin applier" -/obj/item/mod/skin_applier/pre_attack(atom/attacked_atom, mob/living/user, params) +/obj/item/mod/skin_applier/interact_with_atom(atom/attacked_atom, mob/living/user, params) if(!istype(attacked_atom, /obj/item/mod/control)) - return ..() + return NONE var/obj/item/mod/control/mod = attacked_atom if(mod.active || mod.activating) balloon_alert(user, "suit is active!") - return TRUE + return ITEM_INTERACT_BLOCKING if(!(skin in mod.theme.variants)) balloon_alert(user, "incompatible theme!") - return TRUE + return ITEM_INTERACT_BLOCKING mod.theme.set_skin(mod, skin) balloon_alert(user, "skin applied") qdel(src) - return TRUE + return ITEM_INTERACT_SUCCESS /obj/item/mod/skin_applier/honkerative + desc = /obj/item/mod/skin_applier::desc + " Additionally, this kit attempts to install a waddling module. Honk!" skin = "honkerative" + +/obj/item/mod/skin_applier/honkerative/interact_with_atom(obj/item/mod/control/controlunit, mob/living/user, params) + . = ..() + if(!(. & ITEM_INTERACT_SUCCESS)) + return + controlunit.install(new /obj/item/mod/module/waddle(get_turf(user)), user)