From c4ecf3b83a50d06bf10a57ac07338282d342e46b Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 21 Jan 2021 14:30:45 +0100 Subject: [PATCH] [MIRROR] Reinforcing the mining hardsuit now upgrades its sprites (#2819) * Reinforcing the mining hardsuit now upgrades its sprites (#56288) * Reinforcing the mining hardsuit now upgrades its sprites Co-authored-by: Fikou --- code/__DEFINES/dcs/signals.dm | 2 ++ code/datums/components/armor_plate.dm | 1 + code/modules/clothing/spacesuits/hardsuit.dm | 31 +++++++++++++++++++ icons/mob/clothing/head.dmi | Bin 217998 -> 220272 bytes icons/mob/clothing/suit.dmi | Bin 397643 -> 395939 bytes icons/obj/clothing/hats.dmi | Bin 108600 -> 110896 bytes icons/obj/clothing/suits.dmi | Bin 140195 -> 141884 bytes 7 files changed, 34 insertions(+) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 7d828dbbfca..7f64c29a545 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -607,6 +607,8 @@ #define COMPONENT_HANDLED_GRILLING (1<<0) ///Called when an object is turned into another item through grilling ontop of a griddle #define COMSIG_GRILL_COMPLETED "item_grill_completed" +///Called when an armor plate is successfully applied to an object +#define COMSIG_ARMOR_PLATED "armor_plated" ///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user) #define COMSIG_TOOL_IN_USE "tool_in_use" diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 88887dc80df..16d16ab83aa 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -75,6 +75,7 @@ R.update_icon() to_chat(user, "You strengthen [R], improving its resistance against melee, bullet and laser damage.") else + SEND_SIGNAL(O, COMSIG_ARMOR_PLATED, amount, maxamount) to_chat(user, "You strengthen [O], improving its resistance against melee attacks.") diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 4357cb1fa8c..6f2eb47f2c8 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -285,12 +285,28 @@ /obj/item/clothing/head/helmet/space/hardsuit/mining/Initialize() . = ..() AddComponent(/datum/component/armor_plate) + RegisterSignal(src, COMSIG_ARMOR_PLATED, .proc/upgrade_icon) + +/obj/item/clothing/head/helmet/space/hardsuit/mining/proc/upgrade_icon(datum/source, amount, maxamount) + SIGNAL_HANDLER + + if(amount) + name = "reinforced [initial(name)]" + hardsuit_type = "mining_goliath" + if(amount == maxamount) + hardsuit_type = "mining_goliath_full" + icon_state = "hardsuit[on]-[hardsuit_type]" + if(ishuman(loc)) + var/mob/living/carbon/human/wearer = loc + if(wearer.head == src) + wearer.update_inv_head() /obj/item/clothing/suit/space/hardsuit/mining name = "mining hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters." icon_state = "hardsuit-mining" inhand_icon_state = "mining_hardsuit" + hardsuit_type = "mining" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 75, WOUND = 15) @@ -301,6 +317,21 @@ /obj/item/clothing/suit/space/hardsuit/mining/Initialize() . = ..() AddComponent(/datum/component/armor_plate) + RegisterSignal(src, COMSIG_ARMOR_PLATED, .proc/upgrade_icon) + +/obj/item/clothing/suit/space/hardsuit/mining/proc/upgrade_icon(datum/source, amount, maxamount) + SIGNAL_HANDLER + + if(amount) + name = "reinforced [initial(name)]" + hardsuit_type = "mining_goliath" + if(amount == maxamount) + hardsuit_type = "mining_goliath_full" + icon_state = "hardsuit-[hardsuit_type]" + if(ishuman(loc)) + var/mob/living/carbon/human/wearer = loc + if(wearer.wear_suit == src) + wearer.update_inv_wear_suit() //Syndicate hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index ac42c9d72b6845e14dcce59cb615df3285d1842b..195777dbb0a870138dffd060db0c3b4a82d6fa4c 100644 GIT binary patch delta 158893 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