From 9cf1e7e5a6b6a86889229ee814ebfdc16c7e75b6 Mon Sep 17 00:00:00 2001 From: Ordosian <109176750+Ordosian@users.noreply.github.com> Date: Thu, 25 Aug 2022 17:42:17 +0100 Subject: [PATCH] Large Plasma Tank (#18840) * Large Plasma Tank * Update code/modules/mob/living/carbon/human/species/plasmaman.dm Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/species/plasmaman.dm Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/species/plasmaman.dm Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/species/plasmaman.dm Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/species/plasmaman.dm Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/species/plasmaman.dm Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com> Co-authored-by: Ordosian Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com> Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com> --- code/datums/outfits/plasmamen.dm | 2 -- code/modules/client/preference/preferences.dm | 2 ++ .../living/carbon/human/species/plasmaman.dm | 20 +++++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/code/datums/outfits/plasmamen.dm b/code/datums/outfits/plasmamen.dm index 51bbf5a0f2f..ac6a53476fe 100644 --- a/code/datums/outfits/plasmamen.dm +++ b/code/datums/outfits/plasmamen.dm @@ -3,8 +3,6 @@ head = /obj/item/clothing/head/helmet/space/plasmaman uniform = /obj/item/clothing/under/plasmaman - r_hand = /obj/item/tank/internals/plasmaman/belt/full - mask = /obj/item/clothing/mask/breath /datum/outfit/plasmaman/bar name = "Plasmaman Bartender" diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index b9fdb805cb2..9f77a378a8b 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -199,6 +199,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts dat += "Species: [active_character.species]
" if(active_character.species == "Vox") // Purge these bastards dat += "N2 Tank: [active_character.speciesprefs ? "Large N2 Tank" : "Specialized N2 Tank"]
" + if(active_character.species == "Plasmaman") + dat += "Plasma Tank: [active_character.speciesprefs ? "Large Plasma Tank" : "Specialized Plasma Tank"]
" if(active_character.species == "Grey") dat += "Wingdings: Set in disabilities
" dat += "Voice Translator: [active_character.speciesprefs ? "Yes" : "No"]
" diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index 6ce6a5ed6af..671fec6055a 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -171,3 +171,23 @@ return FALSE //Handling reagent removal on our own. Prevents plasma from dealing toxin damage to Plasmamen. return ..() + +/datum/species/plasmaman/after_equip_job(datum/job/J, mob/living/carbon/human/H) + if(!H.mind || !H.mind.assigned_role || H.mind.assigned_role != "Clown" && H.mind.assigned_role != "Mime") + H.unEquip(H.wear_mask) + + H.equip_or_collect(new /obj/item/clothing/mask/breath(H), slot_wear_mask) + var/tank_pref = H.client && H.client.prefs ? H.client.prefs.active_character.speciesprefs : null + var/obj/item/tank/internal_tank + if(tank_pref) //Diseasel, here you go + internal_tank = new /obj/item/tank/internals/plasmaman/full(H) + else + internal_tank = new /obj/item/tank/internals/plasmaman/belt/full(H) + if(!H.equip_to_appropriate_slot(internal_tank) && !H.put_in_any_hand_if_possible(internal_tank)) + H.unEquip(H.l_hand) + H.equip_or_collect(internal_tank, slot_l_hand) + to_chat(H, "Could not find an empty slot for internals! Please report this as a bug.") + stack_trace("Failed to equip plasmaman with a tank, with the job [J.type]") + H.internal = internal_tank + to_chat(H, "You are now running on plasma internals from [internal_tank]. Oxygen is toxic to your species, so you must breathe plasma only.") + H.update_action_buttons_icon()