diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index f773e71295d..00d6facea73 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -32,7 +32,8 @@ /obj/item/flashlight/seclite=1,\ /obj/item/kitchen/knife/combat/survival=1,\ /obj/item/mining_voucher=1,\ - /obj/item/stack/marker_beacon/ten=1) + /obj/item/suit_voucher=1,\ + /obj/item/stack/marker_beacon/ten=1) //SKYRAT EDIT: Suit_Voucher is an addition, one line up backpack = /obj/item/storage/backpack/explorer satchel = /obj/item/storage/backpack/satchel/explorer diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index da54ce23dc1..1db2fa0b862 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -53,6 +53,7 @@ new /datum/data/mining_equipment("Minebot Melee Upgrade", /obj/item/mine_bot_upgrade, 400), new /datum/data/mining_equipment("Minebot Armor Upgrade", /obj/item/mine_bot_upgrade/health, 400), new /datum/data/mining_equipment("Minebot Cooldown Upgrade", /obj/item/borg/upgrade/modkit/cooldown/minebot, 600), + new /datum/data/mining_equipment("Spare Suit Voucher", /obj/item/suit_voucher, 2000), //SKYRAT EDIT: ADDITION WITH SEVA SUIT new /datum/data/mining_equipment("Minebot AI Upgrade", /obj/item/slimepotion/slime/sentience/mining, 1000), new /datum/data/mining_equipment("KA Minebot Passthrough", /obj/item/borg/upgrade/modkit/minebot_passthrough, 100), new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100), @@ -161,6 +162,9 @@ if(istype(I, /obj/item/mining_voucher)) RedeemVoucher(I, user) return + if(istype(I, /obj/item/suit_voucher)) //skyrat edit addition start + RedeemSVoucher(I, user) //addition + return //skyrat edit addition end if(default_deconstruction_screwdriver(user, "mining-open", "mining", I)) return if(default_deconstruction_crowbar(I)) diff --git a/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_head.dmi b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_head.dmi new file mode 100644 index 00000000000..a04c174e3b3 Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_head.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask.dmi b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask.dmi new file mode 100644 index 00000000000..49c3f134bc9 Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask_muzzled.dmi b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask_muzzled.dmi new file mode 100644 index 00000000000..c61e5e25451 Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask_muzzled.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit.dmi b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit.dmi new file mode 100644 index 00000000000..aa2305c1deb Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit_digi.dmi b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit_digi.dmi new file mode 100644 index 00000000000..db801c7ca62 Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit_digi.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/seva_hat.dmi b/modular_skyrat/modules/SEVA_suit/icons/seva_hat.dmi new file mode 100644 index 00000000000..16f78af2116 Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/seva_hat.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/seva_mask.dmi b/modular_skyrat/modules/SEVA_suit/icons/seva_mask.dmi new file mode 100644 index 00000000000..cbd1db13e6d Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/seva_mask.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/icons/seva_suit.dmi b/modular_skyrat/modules/SEVA_suit/icons/seva_suit.dmi new file mode 100644 index 00000000000..aa96772d2b3 Binary files /dev/null and b/modular_skyrat/modules/SEVA_suit/icons/seva_suit.dmi differ diff --git a/modular_skyrat/modules/SEVA_suit/seva_obj.dm b/modular_skyrat/modules/SEVA_suit/seva_obj.dm new file mode 100644 index 00000000000..948d63f0b2d --- /dev/null +++ b/modular_skyrat/modules/SEVA_suit/seva_obj.dm @@ -0,0 +1,32 @@ +/obj/item/clothing/suit/hooded/explorer/seva + name = "SEVA Suit" + desc = "A fire-proof suit for exploring hot environments. Its design doesn't allow for upgrading with goliath plates." + icon = 'modular_skyrat/modules/SEVA_suit/icons/seva_suit.dmi' + worn_icon = 'modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit.dmi' + worn_icon_digi = 'modular_skyrat/modules/SEVA_suit/icons/equipped/seva_suit_digi.dmi' + icon_state = "seva" + w_class = WEIGHT_CLASS_BULKY + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + hoodtype = /obj/item/clothing/head/hooded/explorer/seva + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 50, RAD = 15, FIRE = 100, ACID = 25, WOUND = 2) + resistance_flags = FIRE_PROOF + +/obj/item/clothing/head/hooded/explorer/seva + name = "SEVA Hood" + desc = "A fire-proof hood for exploring hot environments. Its design doesn't allow for upgrading with goliath plates." + icon = 'modular_skyrat/modules/SEVA_suit/icons/seva_hat.dmi' + worn_icon = 'modular_skyrat/modules/SEVA_suit/icons/equipped/seva_head.dmi' + icon_state = "seva" + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 50, RAD = 15, FIRE= 100, ACID = 25, WOUND = 1) + resistance_flags = FIRE_PROOF + +/obj/item/clothing/mask/gas/seva + name = "SEVA Mask" + desc = "A face-covering plate that can be connected to an air supply. Intended for use with the SEVA Suit." + icon = 'modular_skyrat/modules/SEVA_suit/icons/seva_mask.dmi' + worn_icon = 'modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask.dmi' + worn_icon_muzzled = 'modular_skyrat/modules/SEVA_suit/icons/equipped/seva_mask_muzzled.dmi' + icon_state = "seva" + resistance_flags = FIRE_PROOF diff --git a/modular_skyrat/modules/SEVA_suit/suit_voucher.dm b/modular_skyrat/modules/SEVA_suit/suit_voucher.dm new file mode 100644 index 00000000000..f8ab3bd9ca6 --- /dev/null +++ b/modular_skyrat/modules/SEVA_suit/suit_voucher.dm @@ -0,0 +1,29 @@ +//the suit voucher +/obj/item/suit_voucher + name = "suit voucher" + desc = "A token to redeem a new suit. Use it on a mining equipment vendor." + icon = 'icons/obj/mining.dmi' + icon_state = "mining_voucher" + w_class = WEIGHT_CLASS_TINY + + +//Code to redeem new items at the mining vendor using the suit voucher +//More items can be added in the lists and in the if statement. +/obj/machinery/mineral/equipment_vendor/proc/RedeemSVoucher(obj/item/suit_voucher/voucher, mob/redeemer) + var/items = list("SEVA suit" = image(icon = 'modular_skyrat/modules/SEVA_suit/icons/seva_suit.dmi', icon_state = "seva"), + "Explorer suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "explorer")) + + var/selection = show_radial_menu(redeemer, src, items, require_near = TRUE, tooltips = TRUE) + if(!selection || !Adjacent(redeemer) || QDELETED(voucher) || voucher.loc != redeemer) + return + var/drop_location = drop_location() + switch(selection) + if("SEVA suit") + new /obj/item/clothing/suit/hooded/explorer/seva(drop_location) + new /obj/item/clothing/mask/gas/seva(drop_location) + if("Explorer suit") + new /obj/item/clothing/suit/hooded/explorer(drop_location) + new /obj/item/clothing/mask/gas/explorer(drop_location) + + SSblackbox.record_feedback("tally", "suit_voucher_redeemed", 1, selection) + qdel(voucher) diff --git a/tgstation.dme b/tgstation.dme index 82248037cea..dc3da18f9a7 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3917,6 +3917,8 @@ #include "modular_skyrat\modules\sec_haul\code\security_medic\security_medic.dm" #include "modular_skyrat\modules\sec_haul\code\security_sergeant\secseg_clothes.dm" #include "modular_skyrat\modules\sec_haul\code\security_sergeant\security_sergeant.dm" +#include "modular_skyrat\modules\SEVA_suit\seva_obj.dm" +#include "modular_skyrat\modules\SEVA_suit\suit_voucher.dm" #include "modular_skyrat\modules\shapeshifting_module\code\game\objects\items\borg_shapeshifter.dm" #include "modular_skyrat\modules\shapeshifting_module\code\game\objects\items\robot\robot_upgrades.dm" #include "modular_skyrat\modules\shapeshifting_module\code\modules\research\designs\mechfabricator_designs.dm"