From 4b28abfd4d77954d187cc9bb32d98313a5f4d769 Mon Sep 17 00:00:00 2001 From: Dawnseer <126404225+Dawnseer@users.noreply.github.com> Date: Sat, 15 Apr 2023 16:17:59 +0200 Subject: [PATCH] Adjustable Goliath Cloaks (#74709) ## About The Pull Request I've enabled goliath cloaks to be alt clicked to adjust it to neck slot instead of over clothing slot. While adjusted to neck slot, it has no armor values for balance purposes, while in over clothing slot, it has the same armor values as usual. The hood has the same values as usual, as it still inhabits the same slot as usual. ![image](https://user-images.githubusercontent.com/126404225/231837773-97f79c0e-9de2-4bfa-bfec-ed6c67e0d476.png) ![image](https://user-images.githubusercontent.com/126404225/231837688-f1f6ea67-8127-423e-96a0-b125f7778194.png) ![image](https://user-images.githubusercontent.com/126404225/231837716-805f778b-4db1-4dd5-a667-c196524f023f.png) ## Why It's Good For The Game It enables a cloak to function like a cloak. It gives people the option to use it not for armor, but for fashion. ## Changelog :cl: add: Goliath cloak can be worn as a cloak that doesn't provide any armor benefits /:cl: --- code/modules/clothing/suits/toggles.dm | 6 +++--- .../modules/mining/equipment/explorer_gear.dm | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 2c32b5137ef..1ba4f3923d2 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -28,11 +28,11 @@ ToggleHood() /obj/item/clothing/suit/hooded/item_action_slot_check(slot, mob/user) - if(slot & ITEM_SLOT_OCLOTHING) + if(slot & ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK) return TRUE /obj/item/clothing/suit/hooded/equipped(mob/user, slot) - if(!(slot & ITEM_SLOT_OCLOTHING)) + if(!(slot & ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK)) RemoveHood() return ..() @@ -67,7 +67,7 @@ if(!ishuman(loc)) return var/mob/living/carbon/human/H = loc - if(H.wear_suit != src) + if(H.is_holding(src)) to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 59e6a282963..eafb1e04050 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -130,6 +130,25 @@ hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath body_parts_covered = CHEST|GROIN|ARMS +/obj/item/clothing/suit/hooded/cloak/goliath/AltClick(mob/user) + . = ..() + if(iscarbon(user)) + var/mob/living/carbon/char = user + if((char.get_item_by_slot(ITEM_SLOT_NECK) == src) || (char.get_item_by_slot(ITEM_SLOT_OCLOTHING) == src)) + to_chat(user, span_warning("You can't adjust [src] while wearing it!")) + return + if(!user.is_holding(src)) + to_chat(user, span_warning("You must be holding [src] in order to adjust it!")) + return + if(slot_flags & ITEM_SLOT_OCLOTHING) + slot_flags = ITEM_SLOT_NECK + set_armor(/datum/armor/none) + user.visible_message(span_notice("[user] adjusts their [src] for ceremonial use."), span_notice("You adjust your [src] for ceremonial use.")) + else + slot_flags = initial(slot_flags) + set_armor(initial(armor_type)) + user.visible_message(span_notice("[user] adjusts their [src] for defensive use."), span_notice("You adjust your [src] for defensive use.")) + /datum/armor/cloak_goliath melee = 35 bullet = 10