mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Let's you have custom looking explorer/seva suit for mining (#5430)
## About The Pull Request Adds new option for suit voucher which you can use on clothing of your choice to make it equivalent to either SEVA or explorer suit if you are feeling fancy. This won't make something like winter jacket protect your full body obviously and you can't use it on stuff that already have armor, it will only protect the parts the clothing is usually covering and you can only get it from round start suit vouchers so you can't cheese this with who knows what. If you choose to upgrade to explorer suit you will be able to attach goliath plates just like with regular explorer suit and if you upgraded your outfit and it's covering full body to SEVA you will be ash storm proof ## Why It's Good For The Game Yay, more customization ## Proof Of Testing <details> <summary>Screenshots/Videos</summary> using the suit voucher<br> <img width="296" height="370" alt="redeeming" src="https://github.com/user-attachments/assets/0cfccd8b-a9e0-4846-b036-28aaac308e54" /> the new item in question<br> <img width="564" height="149" alt="description" src="https://github.com/user-attachments/assets/63a627f1-3883-4aad-8664-0a3080c88565" /> actually using it<br> <img width="539" height="313" alt="usage" src="https://github.com/user-attachments/assets/4a137d3c-5f75-41d2-b10e-277b004367ac" /> </details> ## Changelog 🆑 add: Added custom explorer/SEVA suit modification kit for mining suit vouchers /🆑
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
/obj/item/miningsuitupgradekit
|
||||
name = "DIY explorer suit kit"
|
||||
desc = "A kit containing necessary parts to turn your hat and jacket of your choice into a mining suit. Note: Uncovered limbs will remain unprotected"
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "retool_kit"
|
||||
var/helmet_uses = 1
|
||||
var/exosuit_uses = 1
|
||||
var/seva_kit = FALSE
|
||||
|
||||
/obj/item/miningsuitupgradekit/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
|
||||
var/obj/item/clothing/upgraded_item = interacting_with
|
||||
|
||||
if(!istype(upgraded_item))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
if(!istype(upgraded_item, /obj/item/clothing/suit) && !istype(upgraded_item, /obj/item/clothing/head))
|
||||
to_chat(user, span_warning("This kit will only work for head and suit slot clothing!"))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
if(istype(upgraded_item, /obj/item/clothing/suit) && exosuit_uses <= 0)
|
||||
to_chat(user, span_warning("Suit part already used!"))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
if(istype(upgraded_item, /obj/item/clothing/head) && helmet_uses <= 0)
|
||||
to_chat(user, span_warning("Helmet part already used!"))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
if(upgraded_item.get_armor_rating(MELEE) > 0)
|
||||
to_chat(user, span_warning("This clothing is already armored and can't be modified!"))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
if(istype(upgraded_item, /obj/item/clothing/suit))
|
||||
var/obj/item/clothing/suit/upgraded_suit = upgraded_item
|
||||
upgraded_suit.allowed = GLOB.mining_suit_allowed
|
||||
upgraded_suit.flags_inv = NONE
|
||||
exosuit_uses--
|
||||
|
||||
if(istype(upgraded_item, /obj/item/clothing/head))
|
||||
helmet_uses--
|
||||
|
||||
if(!seva_kit)
|
||||
upgraded_item.AddComponent(/datum/component/armor_plate)
|
||||
|
||||
if(seva_kit)
|
||||
upgraded_item.clothing_traits = list(TRAIT_ASHSTORM_IMMUNE)
|
||||
|
||||
upgraded_item.set_armor(seva_kit ? /datum/armor/hooded_seva : /datum/armor/hooded_explorer)
|
||||
upgraded_item.min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
upgraded_item.max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
upgraded_item.resistance_flags |= FIRE_PROOF
|
||||
|
||||
upgraded_item.name = "[seva_kit ? "SEVA" : "reinforced"] [upgraded_item.name]"
|
||||
|
||||
balloon_alert(user, "[initial(upgraded_item.name)] upgraded!")
|
||||
|
||||
if(helmet_uses <= 0 && exosuit_uses <= 0)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_SUCCESS
|
||||
|
||||
/obj/item/miningsuitupgradekit/click_alt(mob/user)
|
||||
if(!exosuit_uses || !helmet_uses)
|
||||
return CLICK_ACTION_BLOCKING
|
||||
seva_kit = !seva_kit
|
||||
name = "DIY [seva_kit ? "SEVA" : "explorer"] suit kit"
|
||||
balloon_alert(user, "mode changed!")
|
||||
return CLICK_ACTION_SUCCESS
|
||||
|
||||
/obj/item/miningsuitupgradekit/examine(mob/user)
|
||||
. = ..()
|
||||
if(helmet_uses)
|
||||
. += "It can be used to upgrade [helmet_uses] more hat[(helmet_uses > 1) ? "s" : ""]"
|
||||
if(exosuit_uses)
|
||||
. += "It can be used to upgrade [exosuit_uses] more suit[(exosuit_uses > 1) ? "s" : ""]"
|
||||
if(exosuit_uses && helmet_uses)
|
||||
. += "You can alt-click this kit to change it into [(seva_kit) ? "explorer suit" : "SEVA"] kit"
|
||||
@@ -80,3 +80,12 @@
|
||||
set_items = list(
|
||||
/obj/item/clothing/suit/toggle/jacket/zubber/bomber/mining,
|
||||
)
|
||||
|
||||
/datum/voucher_set/mining_suit/diy
|
||||
name = "DIY Mining Suit"
|
||||
description = "Do-it-yourself custom mining suit. Includes specialized kit to turn your outfit into custom explorer/SEVA suit."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "retool_kit"
|
||||
set_items = list(
|
||||
/obj/item/miningsuitupgradekit,
|
||||
)
|
||||
|
||||
@@ -9611,6 +9611,7 @@
|
||||
#include "modular_zubbers\code\modules\mapping\ss13_construct\areas.dm"
|
||||
#include "modular_zubbers\code\modules\mining\abandoned_crates.dm"
|
||||
#include "modular_zubbers\code\modules\mining\shelters.dm"
|
||||
#include "modular_zubbers\code\modules\mining\equipment\diy_mining_suit.dm"
|
||||
#include "modular_zubbers\code\modules\mining\equipment\order_mining.dm"
|
||||
#include "modular_zubbers\code\modules\mining\equipment\seva_suit.dm"
|
||||
#include "modular_zubbers\code\modules\mining\equipment\voucher_sets.dm"
|
||||
|
||||
Reference in New Issue
Block a user