diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 67eea12291a..99bcf54272c 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -123,6 +123,7 @@
#define TANK_RUPTURE_PRESSURE (40.*ONE_ATMOSPHERE) //Tank spills all contents into atmosphere
#define TANK_FRAGMENT_PRESSURE (50.*ONE_ATMOSPHERE) //Boom 3x3 base explosion
#define TANK_FRAGMENT_SCALE (10.*ONE_ATMOSPHERE) //+1 for each SCALE kPa aboe threshold
+#define TANK_DEFAULT_RELEASE_PRESSURE 16
// Atmos alarm defines
#define ATMOS_ALARM_NONE 0
diff --git a/code/datums/action.dm b/code/datums/action.dm
index a5f63cc6fe4..f9122811ad0 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -196,6 +196,22 @@
/datum/action/item_action/toggle_helmet_light
name = "Toggle Helmet Light"
+/datum/action/item_action/toggle_welding_screen
+ name = "Toggle Welding Screen"
+
+/datum/action/item_action/toggle_welding_screen/Trigger()
+ var/obj/item/clothing/head/hardhat/weldhat/H = target
+ if(istype(H))
+ H.toggle_welding_screen(owner)
+
+/datum/action/item_action/toggle_welding_screen/plasmaman
+ name = "Toggle Welding Screen"
+
+/datum/action/item_action/toggle_welding_screen/plasmaman/Trigger()
+ var/obj/item/clothing/head/helmet/space/plasmaman/H = target
+ if(istype(H))
+ H.toggle_welding_screen(owner)
+
/datum/action/item_action/toggle_helmet_mode
name = "Toggle Helmet Mode"
diff --git a/code/datums/outfits/plasmamen.dm b/code/datums/outfits/plasmamen.dm
new file mode 100644
index 00000000000..594a5802c34
--- /dev/null
+++ b/code/datums/outfits/plasmamen.dm
@@ -0,0 +1,136 @@
+/datum/outfit/plasmaman
+ name = "Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman
+ uniform = /obj/item/clothing/under/plasmaman
+ r_hand= /obj/item/tank/plasma/plasmaman/belt/full
+ mask = /obj/item/clothing/mask/breath
+
+/datum/outfit/plasmaman/bar
+ name = "Bartender Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/white
+ uniform = /obj/item/clothing/under/plasmaman/enviroslacks
+
+/datum/outfit/plasmaman/chef
+ name = "Chef Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/white
+ uniform = /obj/item/clothing/under/plasmaman/chef
+
+/datum/outfit/plasmaman/botany
+ name = "Botany Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/botany
+ uniform = /obj/item/clothing/under/plasmaman/botany
+
+/datum/outfit/plasmaman/librarian
+ name = "Librarian Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/librarian
+ uniform = /obj/item/clothing/under/plasmaman/librarian
+
+/datum/outfit/plasmaman/chaplain
+ name = "Chaplain Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/chaplain
+ uniform = /obj/item/clothing/under/plasmaman/chaplain
+
+/datum/outfit/plasmaman/janitor
+ name = "Janitor Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/janitor
+ uniform = /obj/item/clothing/under/plasmaman/janitor
+
+/datum/outfit/plasmaman/security
+ name = "Security Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/security
+ uniform = /obj/item/clothing/under/plasmaman/security
+
+/datum/outfit/plasmaman/detective
+ name = "Detective Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/white
+ uniform = /obj/item/clothing/under/plasmaman/enviroslacks
+ l_ear = /obj/item/radio/headset/headset_sec
+
+/datum/outfit/plasmaman/warden
+ name = "Warden Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/security/warden
+ uniform = /obj/item/clothing/under/plasmaman/security/warden
+
+/datum/outfit/plasmaman/cargo
+ name = "Cargo Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/cargo
+ uniform = /obj/item/clothing/under/plasmaman/cargo
+
+/datum/outfit/plasmaman/mining
+ name = "Mining Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/mining
+ uniform = /obj/item/clothing/under/plasmaman/mining
+
+/datum/outfit/plasmaman/medical
+ name = "Medical Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/medical
+ uniform = /obj/item/clothing/under/plasmaman/medical
+
+/datum/outfit/plasmaman/viro
+ name = "Virology Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/viro
+ uniform = /obj/item/clothing/under/plasmaman/viro
+
+/datum/outfit/plasmaman/chemist
+ name = "Chemist Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/chemist
+ uniform = /obj/item/clothing/under/plasmaman/chemist
+
+/datum/outfit/plasmaman/genetics
+ name = "Genetics Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/genetics
+ uniform = /obj/item/clothing/under/plasmaman/genetics
+
+/datum/outfit/plasmaman/science
+ name = "Science Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/science
+ uniform = /obj/item/clothing/under/plasmaman/science
+
+/datum/outfit/plasmaman/robotics
+ name = "Robotics Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/robotics
+ uniform = /obj/item/clothing/under/plasmaman/robotics
+
+/datum/outfit/plasmaman/engineering
+ name = "Engineering Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
+ uniform = /obj/item/clothing/under/plasmaman/engineering
+
+/datum/outfit/plasmaman/atmospherics
+ name = "Atmospherics Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/atmospherics
+ uniform = /obj/item/clothing/under/plasmaman/atmospherics
+
+/datum/outfit/plasmaman/mime
+ name = "Plasmamime"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/mime
+ uniform = /obj/item/clothing/under/plasmaman/mime
+ mask = /obj/item/clothing/mask/gas/mime
+
+/datum/outfit/plasmaman/clown
+ name = "Plasmaclown"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/clown
+ uniform = /obj/item/clothing/under/plasmaman/clown
+ mask = /obj/item/clothing/mask/gas/clown_hat
\ No newline at end of file
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 7a63fa1571f..9345387e304 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -160,12 +160,16 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "vox life support supplies crate"
/datum/supply_packs/emergency/plasmamansupport
- name = "Plasmaman Life Support Supplies"
- contains = list(/obj/item/clothing/mask/breath,
- /obj/item/tank/emergency_oxygen/plasma,
- /obj/item/clothing/suit/space/eva/plasmaman,
- /obj/item/clothing/head/helmet/space/eva/plasmaman)
- cost = 75
+ name = "Plasmaman Supply Kit"
+ contains = list(/obj/item/clothing/under/plasmaman,
+ /obj/item/clothing/under/plasmaman,
+ /obj/item/tank/plasma/plasmaman/belt/full,
+ /obj/item/tank/plasma/plasmaman/belt/full,
+ /obj/item/clothing/mask/breath,
+ /obj/item/clothing/mask/breath,
+ /obj/item/clothing/head/helmet/space/plasmaman,
+ /obj/item/clothing/head/helmet/space/plasmaman)
+ cost = 20
containertype = /obj/structure/closet/crate/secure/plasma
containername = "plasmaman life support supplies crate"
access = access_eva
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index e4274d18d49..fe0980a24cd 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -344,21 +344,6 @@
else
to_chat(C, "The veil cannot be torn here!")
-/obj/item/clothing/suit/space/eva/plasmaman/cultist
- name = "plasmaman cultist armor"
- icon_state = "plasmaman_cult"
- item_state = "plasmaman_cult"
- desc = "A bulky suit of armour, menacing with red energy. It looks like it would fit a plasmaman."
- slowdown = 1
- armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/cultist
- name = "plasmaman cultist helmet"
- icon_state = "plasmamanCult_helmet0"
- base_state = "plasmamanCult_helmet"
- desc = "A helmet designed by cultists. It glows menacingly with unearthly flames."
- armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
-
/obj/item/melee/cultblade/ghost
name = "eldritch sword"
force = 15
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index 92fc09490ec..3658a57fb98 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -279,11 +279,8 @@
var/mob/living/carbon/human/H = user
user.visible_message("Otherworldly armor suddenly appears on [user]!", \
"You speak the words of the talisman, arming yourself!")
- if(isplasmaman(H))
- H.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/cultist(H), slot_wear_suit)
- H.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/cultist(H), slot_head)
- else
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
+
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), slot_back)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
H.put_in_hands(new /obj/item/melee/cultblade(user))
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 4e9d507c9ea..fc6ebcc1549 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -292,11 +292,9 @@ proc/issyndicate(mob/living/M as mob)
if("Plasmaman")
synd_mob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(synd_mob), slot_wear_mask)
- synd_mob.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/nuclear(synd_mob), slot_wear_suit)
- synd_mob.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear(synd_mob), slot_head)
synd_mob.equip_or_collect(new /obj/item/tank/plasma/plasmaman(synd_mob), slot_s_store)
- synd_mob.equip_or_collect(new /obj/item/plasmensuit_cartridge(synd_mob), slot_in_backpack)
- synd_mob.equip_or_collect(new /obj/item/plasmensuit_cartridge(synd_mob), slot_in_backpack)
+ synd_mob.equip_or_collect(new /obj/item/extinguisher_refill(synd_mob), slot_in_backpack)
+ synd_mob.equip_or_collect(new /obj/item/extinguisher_refill(synd_mob), slot_in_backpack)
synd_mob.internal = synd_mob.get_item_by_slot(slot_s_store)
synd_mob.update_action_buttons_icon()
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 1d05204e381..1ce0bcd97e7 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -178,6 +178,12 @@
if(occupant && occupant.stat != DEAD)
to_chat(user, "Current clone cycle is [round(get_completion())]% complete.")
+/obj/machinery/clonepod/return_air() //non-reactive air
+ var/datum/gas_mixture/GM = new
+ GM.nitrogen = MOLES_O2STANDARD + MOLES_N2STANDARD
+ GM.temperature = T20C
+ return GM
+
/obj/machinery/clonepod/proc/get_completion()
. = (100 * ((occupant.health + 100) / (heal_level + 100)))
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index db7c08b1863..aebe5097174 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -133,12 +133,9 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
can_strengthen_clothing = typecacheof(list(
/obj/item/clothing/suit/space/hardsuit/mining,
/obj/item/clothing/head/helmet/space/hardsuit/mining,
- /obj/item/clothing/suit/space/eva/plasmaman/miner,
- /obj/item/clothing/head/helmet/space/eva/plasmaman/miner,
/obj/item/clothing/suit/hooded/explorer,
/obj/item/clothing/head/hooded/explorer,
- /obj/item/clothing/suit/space/eva/plasmaman/explorer,
- /obj/item/clothing/head/helmet/space/eva/plasmaman/explorer
+ /obj/item/clothing/head/helmet/space/plasmaman/mining
))
/obj/item/stack/sheet/animalhide/goliath_hide/afterattack(atom/target, mob/user, proximity_flag)
diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index d3814b1af98..2df0eaf1da3 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -110,9 +110,12 @@ obj/item/tank/oxygen/empty/New()
air_contents.toxins = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
/obj/item/tank/plasma/plasmaman
- desc = "The lifeblood of plasmamen. Warning: Extremely flammable, do not inhale (unless you're a plasman)."
- icon_state = "plasma_fr"
- distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
+ name = "plasma internals tank"
+ desc = "A tank of plasma gas designed specifically for use as internals, particularly for plasma-based lifeforms. If you're not a Plasmaman, you probably shouldn't use this."
+ icon_state = "plasmaman_tank"
+ item_state = "plasmaman_tank"
+ force = 10
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
/obj/item/tank/plasma/plasmaman/examine(mob/user)
if(..(user, 0))
@@ -120,6 +123,19 @@ obj/item/tank/oxygen/empty/New()
to_chat(user, text("The meter on the [src.name] indicates you are almost out of plasma!"))
user << sound('sound/effects/alert.ogg')
+
+/obj/item/tank/plasma/plasmaman/belt
+ icon_state = "plasmaman_tank_belt"
+ item_state = "plasmaman_tank_belt"
+ slot_flags = SLOT_BELT
+ force = 5
+ volume = 6
+ w_class = WEIGHT_CLASS_SMALL
+
+/obj/item/tank/plasma/plasmaman/belt/full/New()
+ ..()
+ air_contents.toxins = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
/*
* Emergency Oxygen
*/
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index 4e59dc2c1cf..d429330bd62 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -143,7 +143,7 @@
if("5")
karma_purchase(karma,45,"species","Slime People")
if("6")
- karma_purchase(karma,100,"species","Plasmaman")
+ karma_purchase(karma,45,"species","Plasmaman")
if("7")
karma_purchase(karma,30,"species","Drask")
if(href_list["KarmaRefund"])
@@ -406,7 +406,7 @@
if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them.
to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.")
-
+
//This is down here because of the browse() calls in tooltip/New()
if(!tooltips)
tooltips = new /datum/tooltip(src)
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index e355aead650..e792a4d19fc 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -1,427 +1,185 @@
-// PLASMEN SHIT
-// CAN'T WEAR UNLESS YOU'RE A PINK SKELETON
-/obj/item/clothing/suit/space/eva/plasmaman
- name = "plasmaman suit"
- desc = "A special containment suit designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
- allowed = list(/obj/item/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
- slowdown = 0
- armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20)
- heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- flags_inv = HIDEGLOVES|HIDESHOES
- max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
- icon = 'icons/obj/clothing/species/plasmaman/suits.dmi'
- species_restricted = list("Plasmaman")
- sprite_sheets = list(
- "Plasmaman" = 'icons/mob/species/plasmaman/suit.dmi'
- )
- flags = STOPSPRESSUREDMAGE
- icon_state = "plasmaman_suit"
- item_state = "plasmaman_suit"
+//I just want the light feature of the hardsuit helmet
+/obj/item/clothing/head/helmet/space/plasmaman
+ name = "plasma envirosuit helmet"
+ desc = "A special containment helmet that allows plasma-based lifeforms to exist safely in an oxygenated environment. It is space-worthy, and may be worn in tandem with other EVA gear."
+ icon_state = "plasmaman-helm"
+ item_state = "plasmaman-helm"
+ strip_delay = 80
+ flash_protect = 2
+ tint = 2
+ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0)
+ resistance_flags = FIRE_PROOF
+ var/brightness_on = 4 //luminosity when the light is on
+ var/on = FALSE
+ var/visor_icon = "envisor"
+ actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen/plasmaman)
+ visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
+ flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES
+ visor_flags_inv = HIDEEYES|HIDEFACE|HIDEFACIALHAIR
- var/next_extinguish = 0
- var/extinguish_cooldown = 10 SECONDS
- var/max_extinguishes = 5
- var/extinguishes_left = 5 // Yeah yeah, reagents, blah blah blah. This should be simple.
-
-/obj/item/clothing/suit/space/eva/plasmaman/proc/Extinguish(var/mob/user)
- var/mob/living/carbon/human/H=user
- if(extinguishes_left)
- if(next_extinguish > world.time)
- return
-
- next_extinguish = world.time + extinguish_cooldown
- extinguishes_left--
- to_chat(user, "You hear a soft click and a hiss from your suit as it automatically extinguishes the fire.")
- if(!extinguishes_left)
- to_chat(user, "Onboard auto-extinguisher depleted, refill with a cartridge.")
- playsound(src.loc, 'sound/effects/spray.ogg', 10, 1, -3)
- H.ExtinguishMob()
-
-/obj/item/clothing/suit/space/eva/plasmaman/attackby(var/obj/item/A as obj, mob/user as mob, params)
+/obj/item/clothing/head/helmet/space/plasmaman/New()
..()
- if(istype(A, /obj/item/plasmensuit_cartridge)) //This suit can only be reloaded by the appropriate cartridges, and only if it's got no more extinguishes left.
- if(!extinguishes_left)
- extinguishes_left = max_extinguishes //Full replenishment from the cartridge.
- to_chat(user, "You replenish \the [src] with the cartridge.")
- qdel(A)
+ visor_toggling()
+ update_icon()
+
+/obj/item/clothing/head/helmet/space/plasmaman/AltClick(mob/user)
+ if(user.canUseTopic(src, BE_CLOSE))
+ toggle_welding_screen(user)
+
+/obj/item/clothing/head/helmet/space/plasmaman/proc/toggle_welding_screen(mob/living/user)
+ if(weldingvisortoggle(user))
+ if(on)
+ to_chat(user, "Your helmet's torch can't pass through your welding visor!")
+ on = FALSE
+ playsound(src, 'sound/mecha/mechmove03.ogg', 50, 1) //Visors don't just come from nothing
+ update_icon()
else
- to_chat(user, "The suit must be depleted before it can be refilled.")
+ playsound(src, 'sound/mecha/mechmove03.ogg', 50, 1) //Visors don't just come from nothing
+ update_icon()
-/obj/item/clothing/suit/space/eva/plasmaman/examine(mob/user)
- ..(user)
- to_chat(user, "There are [extinguishes_left] extinguisher canisters left in this suit.")
-
-/obj/item/plasmensuit_cartridge //Can be used to refill Plasmaman suits when they run out of autoextinguishes.
- name = "auto-extinguisher cartridge"
- desc = "A tiny and light fibreglass-framed auto-extinguisher cartridge."
- icon = 'icons/obj/items.dmi'
- icon_state = "miniFE0"
- item_state = "miniFE"
- hitsound = null //Ultralight and
- flags = null //non-conductive
- force = 0
- throwforce = 0
- w_class = WEIGHT_CLASS_SMALL //Fits in boxes.
- materials = list()
- attack_verb = list("tapped")
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman
- name = "plasmaman helmet"
- desc = "A special containment helmet designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
- flags = STOPSPRESSUREDMAGE
- icon = 'icons/obj/clothing/species/plasmaman/hats.dmi'
- species_restricted = list("Plasmaman")
- sprite_sheets = list(
- "Plasmaman" = 'icons/mob/species/plasmaman/helmet.dmi'
- )
- icon_state = "plasmaman_helmet0"
- item_state = "plasmaman_helmet0"
- var/base_state = "plasmaman_helmet"
- var/brightness_on = 4 //luminosity when on
- var/on = 0
+/obj/item/clothing/head/helmet/space/plasmaman/update_icon()
+ cut_overlays()
+ add_overlay(visor_icon)
+ ..()
actions_types = list(/datum/action/item_action/toggle_helmet_light)
-/obj/item/clothing/head/helmet/space/eva/plasmaman/attack_self(mob/user)
- toggle_light(user)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/proc/toggle_light(mob/user)
+/obj/item/clothing/head/helmet/space/plasmaman/attack_self(mob/user)
on = !on
- icon_state = "[base_state][on]"
+ icon_state = "[initial(icon_state)][on ? "-light":""]"
+ item_state = icon_state
+ user.update_inv_head() //So the mob overlay updates
if(on)
- set_light(brightness_on)
+ if(!up)
+ to_chat(user, "Your helmet's torch can't pass through your welding visor!")
+ set_light(0)
+ else
+ set_light(brightness_on)
else
set_light(0)
- if(istype(user,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = user
- H.update_inv_head()
-
for(var/X in actions)
- var/datum/action/A = X
+ var/datum/action/A=X
A.UpdateButtonIcon()
-/obj/item/clothing/head/helmet/space/eva/plasmaman/extinguish_light()
- if(on)
- toggle_light()
- visible_message("[src]'s light fades and turns off.")
-
-// ENGINEERING
-/obj/item/clothing/suit/space/eva/plasmaman/atmostech
- name = "plasmaman atmospheric suit"
- icon_state = "plasmamanAtmos_suit"
- armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
- max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
- name = "plasmaman atmospheric helmet"
- icon_state = "plasmamanAtmos_helmet0"
- base_state = "plasmamanAtmos_helmet"
- armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
- max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
- flash_protect = 2
-
-/obj/item/clothing/suit/space/eva/plasmaman/engineer
- name = "plasmaman engineer suit"
- icon_state = "plasmamanEngineer_suit"
- armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer
- name = "plasmaman engineer helmet"
- icon_state = "plasmamanEngineer_helmet0"
- base_state = "plasmamanEngineer_helmet"
- armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
- flash_protect = 2
-
-/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
- name = "plasmaman chief engineer suit"
- icon_state = "plasmaman_CE"
- max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
-
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer/ce
- name = "plasmaman chief engineer helmet"
- icon_state = "plasmaman_CE_helmet0"
- base_state = "plasmaman_CE_helmet"
- max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
- flash_protect = 2
-
-//SERVICE
-/obj/item/clothing/suit/space/eva/plasmaman/assistant
- name = "plasmaman assistant suit"
- icon_state = "plasmamanAssistant_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
- name = "plasmaman assistant helmet"
- icon_state = "plasmamanAssistant_helmet0"
- base_state = "plasmamanAssistant_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/botanist
- name = "plasmaman botanist suit"
- icon_state = "plasmamanBotanist_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/botanist
- name = "plasmaman botanist helmet"
- icon_state = "plasmamanBotanist_helmet0"
- base_state = "plasmamanBotanist_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/chaplain
- name = "plasmaman chaplain suit"
- icon_state = "plasmamanChaplain_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/chaplain
- name = "plasmaman chaplain helmet"
- icon_state = "plasmamanChaplain_helmet0"
- base_state = "plasmamanChaplain_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/clown
- name = "plasmaman clown suit"
- icon_state = "plasmaman_Clown"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/clown
- name = "plasmaman clown helmet"
- icon_state = "plasmaman_Clown_helmet0"
- base_state = "plasmaman_Clown_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/mime
- name = "plasmaman mime suit"
- icon_state = "plasmaman_Mime"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/mime
- name = "plasmaman mime helmet"
- icon_state = "plasmaman_Mime_helmet0"
- base_state = "plasmaman_Mime_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/service
- name = "plasmaman service suit"
- icon_state = "plasmamanService_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/service
- name = "plasmaman service helmet"
- icon_state = "plasmamanService_helmet0"
- base_state = "plasmamanService_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/janitor
- name = "plasmaman janitor suit"
- icon_state = "plasmamanJanitor_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
- name = "plasmaman janitor helmet"
- icon_state = "plasmamanJanitor_helmet0"
- base_state = "plasmamanJanitor_helmet"
-
-
-//CARGO
-
-/obj/item/clothing/suit/space/eva/plasmaman/cargo
- name = "plasmaman cargo suit"
- icon_state = "plasmamanCargo_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/cargo
- name = "plasmaman cargo helmet"
- icon_state = "plasmamanCargo_helmet0"
- base_state = "plasmamanCargo_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/miner
- name = "plasmaman miner suit"
- icon_state = "plasmamanMiner_suit"
- armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
- slowdown = 1
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/miner
- name = "plasmaman miner helmet"
- icon_state = "plasmamanMiner_helmet0"
- base_state = "plasmamanMiner_helmet"
- armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
-
-/obj/item/clothing/suit/space/eva/plasmaman/explorer
- name = "plasmaman explorer suit"
- icon_state = "plasmamanExplorer_suit"
- armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/explorer
- name = "plasmaman explorer helmet"
- icon_state = "plasmamanExplorer_helmet0"
- base_state = "plasmamanExplorer_helmet"
- armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50)
-
-// MEDSCI
-
-/obj/item/clothing/suit/space/eva/plasmaman/medical
- name = "plasmaman medical suit"
- icon_state = "plasmamanMedical_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/medical
- name = "plasmaman medical helmet"
- icon_state = "plasmamanMedical_helmet0"
- base_state = "plasmamanMedical_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/medical/paramedic
- name = "plasmaman paramedic suit"
- icon_state = "plasmaman_Paramedic"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/paramedic
- name = "plasmaman paramedic helmet"
- icon_state = "plasmaman_Paramedic_helmet0"
- base_state = "plasmaman_Paramedic_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/medical/chemist
- name = "plasmaman chemist suit"
- icon_state = "plasmaman_Chemist"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/chemist
- name = "plasmaman chemist helmet"
- icon_state = "plasmaman_Chemist_helmet0"
- base_state = "plasmaman_Chemist_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/medical/cmo
- name = "plasmaman chief medical officer suit"
- icon_state = "plasmaman_CMO"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/cmo
- name = "plasmaman chief medical officer helmet"
- icon_state = "plasmaman_CMO_helmet0"
- base_state = "plasmaman_CMO_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/medical/coroner
- name = "plasmaman coroner suit"
- icon_state = "plasmaman_Coroner"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/coroner
- name = "plasmaman coroner helmet"
- icon_state = "plasmaman_Coroner_helmet0"
- base_state = "plasmaman_Coroner_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/medical/virologist
- name = "plasmaman virologist suit"
- icon_state = "plasmaman_Virologist"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/virologist
- name = "plasmaman virologist helmet"
- icon_state = "plasmaman_Virologist_helmet0"
- base_state = "plasmaman_Virologist_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/science
- name = "plasmaman scientist suit"
- icon_state = "plasmamanScience_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/science
- name = "plasmaman scientist helmet"
- icon_state = "plasmamanScience_helmet0"
- base_state = "plasmamanScience_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/science/geneticist
- name = "plasmaman geneticist suit"
- icon_state = "plasmaman_Geneticist"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/science/geneticist
- name = "plasmaman geneticist helmet"
- icon_state = "plasmaman_Geneticist_helmet0"
- base_state = "plasmaman_Geneticist_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/science/rd
- name = "plasmaman research director suit"
- icon_state = "plasmaman_RD"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/science/rd
- name = "plasmaman research director helmet"
- icon_state = "plasmaman_RD_helmet0"
- base_state = "plasmaman_RD_helmet"
-
-//MAGISTRATE
-/obj/item/clothing/suit/space/eva/plasmaman/magistrate
- name = "plasmaman magistrate suit"
- icon_state = "plasmaman_HoS"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/magistrate
- name = "plasmaman magistrate helmet"
- icon_state = "plasmaman_HoS_helmet0"
- base_state = "plasmaman_HoS_helmet"
-
-//NT REP
-/obj/item/clothing/suit/space/eva/plasmaman/nt_rep
- name = "plasmaman NT representative suit"
- icon_state = "plasmaman_rep"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/nt_rep
- name = "plasmaman NT representative helmet"
- icon_state = "plasmaman_rep_helmet0"
- base_state = "plasmaman_rep_helmet"
-
-//SECURITY
-
-/obj/item/clothing/suit/space/eva/plasmaman/security
- name = "plasmaman security suit"
- icon_state = "plasmamanSecurity_suit"
- armor = list(melee = 15, bullet = 15, laser = 15, energy = 10, bomb = 10, bio = 100, rad = 50)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/security
- name = "plasmaman security helmet"
- icon_state = "plasmamanSecurity_helmet0"
- base_state = "plasmamanSecurity_helmet"
- armor = list(melee = 15, bullet = 15, laser = 15, energy = 10, bomb = 10, bio = 100, rad = 50)
-
-/obj/item/clothing/suit/space/eva/plasmaman/security/hos
- name = "plasmaman head of security suit"
- icon_state = "plasmaman_HoS"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hos
- name = "plasmaman head of security helmet"
- icon_state = "plasmaman_HoS_helmet0"
- base_state = "plasmaman_HoS_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/security/hop
- name = "plasmaman head of personnel suit"
- icon_state = "plasmaman_HoP"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hop
- name = "plasmaman head of personnel helmet"
- icon_state = "plasmaman_HoP_helmet0"
- base_state = "plasmaman_HoP_helmet"
-
-/obj/item/clothing/suit/space/eva/plasmaman/security/captain
- name = "plasmaman captain suit"
- icon_state = "plasmaman_Captain"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/security/captain
- name = "plasmaman captain helmet"
- icon_state = "plasmaman_Captain_helmet0"
- base_state = "plasmaman_Captain_helmet"
-
-
-//IAA/LAWYER
-/obj/item/clothing/suit/space/eva/plasmaman/lawyer
- name = "plasmaman lawyer suit"
- icon_state = "plasmamanlawyer_suit"
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/lawyer
- name = "plasmaman lawyer helmet"
- icon_state = "plasmamanlawyer_helmet0"
- base_state = "plasmamanlawyer_helmet"
-
-//NUKEOPS
-
-/obj/item/clothing/suit/space/eva/plasmaman/nuclear
- name = "blood red plasmaman suit"
- icon_state = "plasmaman_Nukeops"
- armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
- allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear
- name = "blood red plasmaman helmet"
- icon_state = "plasmaman_Nukeops_helmet0"
- base_state = "plasmaman_Nukeops_helmet"
- armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
-
-//WIZARD
-/obj/item/clothing/suit/space/eva/plasmaman/wizard
- name = "robed plasmaman suit"
- icon_state = "plasmamanWizardBlue_suit"
- magical = TRUE
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/wizard
- name = "wizard hat"
- icon_state = "plasmamanWizardBlue_helmet0"
- base_state = "plasmamanWizardBlue_helmet"
- magical = TRUE
+/obj/item/clothing/head/helmet/space/plasmaman/security
+ name = "security plasma envirosuit helmet"
+ desc = "A plasmaman containment helmet designed for security officers, protecting them from being flashed and burning alive, along-side other undesirables."
+ icon_state = "security_envirohelm"
+ item_state = "security_envirohelm"
+ armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0)
+
+/obj/item/clothing/head/helmet/space/plasmaman/security/warden
+ name = "warden's plasma envirosuit helmet"
+ desc = "A plasmaman containment helmet designed for the warden, a pair of white stripes being added to differeciate them from other members of security."
+ icon_state = "warden_envirohelm"
+ item_state = "warden_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/medical
+ name = "medical's plasma envirosuit helmet"
+ desc = "An envriohelmet designed for plasmaman medical doctors, having two stripes down it's length to denote as much"
+ icon_state = "doctor_envirohelm"
+ item_state = "doctor_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/genetics
+ name = "geneticist's plasma envirosuit helmet"
+ desc = "A plasmaman envirohelmet designed for geneticists."
+ icon_state = "geneticist_envirohelm"
+ item_state = "geneticist_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/viro
+ name = "virology plasma envirosuit helmet"
+ desc = "The helmet worn by the safest people on the station, those who are completely immune to the monstrosities they create."
+ icon_state = "virologist_envirohelm"
+ item_state = "virologist_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/chemist
+ name = "chemistry plasma envirosuit helmet"
+ desc = "A plasmaman envirosuit designed for chemists, two orange stripes going down it's face."
+ icon_state = "chemist_envirohelm"
+ item_state = "chemist_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/science
+ name = "science plasma envirosuit helmet"
+ desc = "A plasmaman envirohelmet designed for scientists."
+ icon_state = "scientist_envirohelm"
+ item_state = "scientist_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/robotics
+ name = "robotics plasma envirosuit helmet"
+ desc = "A plasmaman envirohelmet designed for roboticists."
+ icon_state = "roboticist_envirohelm"
+ item_state = "roboticist_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/engineering
+ name = "engineering plasma envirosuit helmet"
+ desc = "A space-worthy helmet specially designed for engineer plasmamen, the usual purple stripes being replaced by engineering's orange."
+ icon_state = "engineer_envirohelm"
+ item_state = "engineer_envirohelm"
+ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 10)
+
+/obj/item/clothing/head/helmet/space/plasmaman/atmospherics
+ name = "atmospherics plasma envirosuit helmet"
+ desc = "A space-worthy helmet specially designed for atmos technician plasmamen, the usual purple stripes being replaced by engineering's blue."
+ icon_state = "atmos_envirohelm"
+ item_state = "atmos_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/cargo
+ name = "cargo plasma envirosuit helmet"
+ desc = "An plasmaman envirohelmet designed for cargo techs and quartermasters."
+ icon_state = "cargo_envirohelm"
+ item_state = "cargo_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/mining
+ name = "mining plasma envirosuit helmet"
+ desc = "A khaki helmet given to plasmamen miners operating on lavaland."
+ icon_state = "explorer_envirohelm"
+ item_state = "explorer_envirohelm"
+ visor_icon = "explorer_envisor"
+
+/obj/item/clothing/head/helmet/space/plasmaman/chaplain
+ name = "chaplain's plasma envirosuit helmet"
+ desc = "An envirohelmet specially designed for only the most pious of plasmamen."
+ icon_state = "chap_envirohelm"
+ item_state = "chap_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/white
+ name = "white plasma envirosuit helmet"
+ desc = "A generic white envirohelm."
+ icon_state = "white_envirohelm"
+ item_state = "white_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/librarian
+ name = "librarian's plasma envirosuit helmet"
+ desc = "A slight modification on a tradiational voidsuit helmet, this helmet was Nano-Trasen's first solution to the *logistical problems* that come with employing plasmamen. Despite their limitations, these helmets still see use by historian and old-styled plasmamen alike."
+ icon_state = "prototype_envirohelm"
+ item_state = "prototype_envirohelm"
+ actions_types = list(/datum/action/item_action/toggle_welding_screen/plasmaman)
+ visor_icon = "prototype_envisor"
+
+/obj/item/clothing/head/helmet/space/plasmaman/botany
+ name = "botany plasma envirosuit helmet"
+ desc = "A green and blue envirohelmet designating it's wearer as a botanist. While not specially designed for it, it would protect against minor planet-related injuries."
+ icon_state = "botany_envirohelm"
+ item_state = "botany_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/janitor
+ name = "janitor's plasma envirosuit helmet"
+ desc = "A grey helmet bearing a pair of purple stripes, designating the wearer as a janitor."
+ icon_state = "janitor_envirohelm"
+ item_state = "janitor_envirohelm"
+
+/obj/item/clothing/head/helmet/space/plasmaman/mime
+ name = "mime envirosuit helmet"
+ desc = "The make-up is painted on, it's a miracle it doesn't chip. It's not very colourful."
+ icon_state = "mime_envirohelm"
+ item_state = "mime_envirohelm"
+ visor_icon = "mime_envisor"
+
+/obj/item/clothing/head/helmet/space/plasmaman/clown
+ name = "clown envirosuit helmet"
+ desc = "The make-up is painted on, it's a miracle it doesn't chip. 'HONK!'"
+ icon_state = "clown_envirohelm"
+ item_state = "clown_envirohelm"
+ visor_icon = "clown_envisor"
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm
new file mode 100644
index 00000000000..79253894d12
--- /dev/null
+++ b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm
@@ -0,0 +1,86 @@
+/obj/item/clothing/under/plasmaman/cargo
+ name = "cargo plasma envirosuit"
+ desc = "A joint envirosuit used by plasmamen quartermasters and cargo techs alike, due to the logistical problems of differenciating the two with the length of their pant legs."
+ icon_state = "cargo_envirosuit"
+ item_state = "cargo_envirosuit"
+ item_color = "cargo_envirosuit"
+
+/obj/item/clothing/under/plasmaman/mining
+ name = "mining plasma envirosuit"
+ desc = "An air-tight khaki suit designed for operations on lavaland by plasmamen."
+ icon_state = "explorer_envirosuit"
+ item_state = "explorer_envirosuit"
+ item_color = "explorer_envirosuit"
+
+
+/obj/item/clothing/under/plasmaman/chef
+ name = "chef's plasma envirosuit"
+ desc = "A white plasmaman envirosuit designed for cullinary practices. One might question why a member of a species that doesn't need to eat would become a chef."
+ icon_state = "chef_envirosuit"
+ item_state = "chef_envirosuit"
+ item_color = "chef_envirosuit"
+
+/obj/item/clothing/under/plasmaman/enviroslacks
+ name = "enviroslacks"
+ desc = "The pet project of a particularly posh plasmaman, this custom suit was quickly appropriated by Nano-Trasen for it's detectives, lawyers, and bar-tenders alike."
+ icon_state = "enviroslacks"
+ item_state = "enviroslacks"
+ item_color = "enviroslacks"
+
+/obj/item/clothing/under/plasmaman/chaplain
+ name = "chaplain's plasma envirosuit"
+ desc = "An envirosuit specially designed for only the most pious of plasmamen."
+ icon_state = "chap_envirosuit"
+ item_state = "chap_envirosuit"
+ item_color = "chap_envirosuit"
+
+/obj/item/clothing/under/plasmaman/librarian
+ name = "librarian's plasma envirosuit"
+ desc = "Made out of a modified voidsuit, this suit was Nano-Trasen's first solution to the *logistical problems* that come with employing plasmamen. Due to the modifications, the suit is no longer space-worthy. Despite their limitations, these suits are still in used by historian and old-styled plasmamen alike."
+ icon_state = "prototype_envirosuit"
+ item_state = "prototype_envirosuit"
+ item_color = "prototype_envirosuit"
+
+/obj/item/clothing/under/plasmaman/janitor
+ name = "janitor's plasma envirosuit"
+ desc = "A grey and purple envirosuit designated for plasmamen janitors."
+ icon_state = "janitor_envirosuit"
+ item_state = "janitor_envirosuit"
+ item_color = "janitor_envirosuit"
+
+/obj/item/clothing/under/plasmaman/botany
+ name = "botany envirosuit"
+ desc = "A green and blue envirosuit designed to protect plasmamen from minor plant-related injuries."
+ icon_state = "botany_envirosuit"
+ item_state = "botany_envirosuit"
+ item_color = "botany_envirosuit"
+
+
+/obj/item/clothing/under/plasmaman/mime
+ name = "mime envirosuit"
+ desc = "It's not very colourful."
+ icon_state = "mime_envirosuit"
+ item_state = "mime_envirosuit"
+ item_color = "mime_envirosuit"
+
+/obj/item/clothing/under/plasmaman/clown
+ name = "clown envirosuit"
+ desc = "'HONK!'"
+ icon_state = "clown_envirosuit"
+ item_state = "clown_envirosuit"
+ item_color = "clown_envirosuit"
+
+/obj/item/clothing/under/plasmaman/clown/Extinguish(mob/living/carbon/human/H)
+ if(!istype(H))
+ return
+
+ if(H.on_fire)
+ if(extinguishes_left)
+ if(next_extinguish > world.time)
+ return
+ next_extinguish = world.time + extinguish_cooldown
+ extinguishes_left--
+ H.visible_message("[H]'s suit spews out a tonne of space lube!", "Your suit spews out a tonne of space lube!")
+ H.ExtinguishMob()
+ new /obj/effect/particle_effect/foam(loc) //Truely terrifying.
+ return FALSE
diff --git a/code/modules/clothing/under/jobs/plasmamen/engineering.dm b/code/modules/clothing/under/jobs/plasmamen/engineering.dm
new file mode 100644
index 00000000000..1429ef28929
--- /dev/null
+++ b/code/modules/clothing/under/jobs/plasmamen/engineering.dm
@@ -0,0 +1,15 @@
+/obj/item/clothing/under/plasmaman/engineering
+ name = "engineering plasma envirosuit"
+ desc = "An air-tight suit designed to be used by plasmamen exployed as engineers, the usual purple stripes being replaced by engineer's orange. It protects the user from fire and acid damage."
+ icon_state = "engineer_envirosuit"
+ item_state = "engineer_envirosuit"
+ item_color = "engineer_envirosuit"
+ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 10)
+
+/obj/item/clothing/under/plasmaman/atmospherics
+ name = "atmospherics plasma envirosuit"
+ desc = "An air-tight suit designed to be used by plasmamen exployed as atmos technicians, the usual purple stripes being replaced by atmos's blue."
+ icon_state = "atmos_envirosuit"
+ item_state = "atmos_envirosuit"
+ item_color = "atmos_envirosuit"
+
diff --git a/code/modules/clothing/under/jobs/plasmamen/medsci.dm b/code/modules/clothing/under/jobs/plasmamen/medsci.dm
new file mode 100644
index 00000000000..5aa61e7faf7
--- /dev/null
+++ b/code/modules/clothing/under/jobs/plasmamen/medsci.dm
@@ -0,0 +1,41 @@
+/obj/item/clothing/under/plasmaman/medical
+ name = "medical plasma envirosuit"
+ desc = "A suit designed for the station's more plasma-based doctors."
+ icon_state = "doctor_envirosuit"
+ item_state = "doctor_envirosuit"
+ item_color = "doctor_envirosuit"
+
+/obj/item/clothing/under/plasmaman/science
+ name = "science plasma envirosuit"
+ desc = "A plasmaman envirosuit designed for scientists."
+ icon_state = "scientist_envirosuit"
+ item_state = "scientist_envirosuit"
+ item_color = "scientist_envirosuit"
+
+/obj/item/clothing/under/plasmaman/robotics
+ name = "robotics plasma envirosuit"
+ desc = "A plasmaman envirosuit designed for roboticists."
+ icon_state = "roboticist_envirosuit"
+ item_state = "roboticist_envirosuit"
+ item_color = "roboticist_envirosuit"
+
+/obj/item/clothing/under/plasmaman/viro
+ name = "virology plasma envirosuit"
+ desc = "The suit worn by the safest people on the station, those who are completely immune to the monstrosities they create."
+ icon_state = "virologist_envirosuit"
+ item_state = "virologist_envirosuit"
+ item_color = "virologist_envirosuit"
+
+/obj/item/clothing/under/plasmaman/genetics
+ name = "genetics plasma envirosuit"
+ desc = "A plasmaman envirosuit designed for geneticists."
+ icon_state = "geneticist_envirosuit"
+ item_state = "geneticist_envirosuit"
+ item_color = "geneticist_envirosuit"
+
+/obj/item/clothing/under/plasmaman/chemist
+ name = "chemistry plasma envirosuit"
+ desc = "A plasmaman envirosuit designed for chemists."
+ icon_state = "chemist_envirosuit"
+ item_state = "chemist_envirosuit"
+ item_color = "chemist_envirosuit"
diff --git a/code/modules/clothing/under/jobs/plasmamen/plasmamen.dm b/code/modules/clothing/under/jobs/plasmamen/plasmamen.dm
new file mode 100644
index 00000000000..80bbb109361
--- /dev/null
+++ b/code/modules/clothing/under/jobs/plasmamen/plasmamen.dm
@@ -0,0 +1,50 @@
+/obj/item/clothing/under/plasmaman
+ name = "plasma envirosuit"
+ desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy."
+ icon_state = "plasmaman"
+ item_state = "plasmaman"
+ item_color = "plasmaman"
+ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0)
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
+ strip_delay = 80
+ var/next_extinguish = 0
+ var/extinguish_cooldown = 100
+ var/extinguishes_left = 5
+
+
+/obj/item/clothing/under/plasmaman/examine(mob/user)
+ . = ..()
+ . += "There are [extinguishes_left] extinguisher charges left in this suit."
+
+/obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
+ if(!istype(H))
+ return
+
+ if(H.on_fire)
+ if(extinguishes_left)
+ if(next_extinguish > world.time)
+ return
+ next_extinguish = world.time + extinguish_cooldown
+ extinguishes_left--
+ H.visible_message("[H]'s suit automatically extinguishes [H.p_them()]!","Your suit automatically extinguishes you.")
+ H.ExtinguishMob()
+ new /obj/effect/particle_effect/water(get_turf(H))
+ return FALSE
+
+/obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params)
+ if (istype(E, /obj/item/extinguisher_refill))
+ if (extinguishes_left == 5)
+ to_chat(user, "The inbuilt extinguisher is full.")
+ return
+ else
+ extinguishes_left = 5
+ to_chat(user, "You refill the suit's built-in extinguisher, using up the cartridge.")
+ qdel(E)
+ else
+ return ..()
+
+/obj/item/extinguisher_refill
+ name = "envirosuit extinguisher cartridge"
+ desc = "A cartridge loaded with a compressed extinguisher mix, used to refill the automatic extinguisher on plasma envirosuits."
+ icon_state = "plasmarefill"
+ icon = 'icons/obj/device.dmi'
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/plasmamen/security.dm b/code/modules/clothing/under/jobs/plasmamen/security.dm
new file mode 100644
index 00000000000..e4332d5f5dd
--- /dev/null
+++ b/code/modules/clothing/under/jobs/plasmamen/security.dm
@@ -0,0 +1,14 @@
+/obj/item/clothing/under/plasmaman/security
+ name = "security plasma envirosuit"
+ desc = "A plasmaman containment suit designed for security officers, offering a limited amount of extra protection."
+ icon_state = "security_envirosuit"
+ item_state = "security_envirosuit"
+ item_color = "security_envirosuit"
+ armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0)
+
+/obj/item/clothing/under/plasmaman/security/warden
+ name = "warden plasma envirosuit"
+ desc = "A plasmaman containment suit designed for the warden, white stripes being added to differeciate them from other members of security."
+ icon_state = "warden_envirosuit"
+ item_state = "warden_envirosuit"
+ item_color = "warden_envirosuit"
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index c7ad35e5f47..b7f395afce0 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -10,6 +10,9 @@
////////// Usable Items //////////
//////////////////////////////////
+#define USED_MOD_HELM 1
+#define USED_MOD_SUIT 2
+
/obj/item/fluff
var/used = 0
@@ -401,118 +404,6 @@
return
to_chat(user, "You can't modify [target]!")
-#define USED_MOD_HELM 1
-#define USED_MOD_SUIT 2
-
-/obj/item/fluff/shadey_plasman_modkit
- name = "plasmaman suit modkit"
- desc = "A kit containing nanites that are able to modify the look of a plasmaman suit and helmet without exposing the wearer to hostile environments."
- icon_state = "modkit"
- w_class = WEIGHT_CLASS_SMALL
- force = 0
- throwforce = 0
-
-/obj/item/fluff/shadey_plasman_modkit/afterattack(atom/target, mob/user, proximity)
- if(!proximity || !ishuman(user) || user.incapacitated())
- return
- var/mob/living/carbon/human/H = user
-
- if(istype(target, /obj/item/clothing/head/helmet/space/eva/plasmaman))
- if(used & USED_MOD_HELM)
- to_chat(H, "The kit's helmet modifier has already been used.")
- return
- to_chat(H, "You modify the appearance of [target].")
- used |= USED_MOD_HELM
-
- var/obj/item/clothing/head/helmet/space/eva/plasmaman/P = target
- P.name = "plasma containment helmet"
- P.desc = "A purpose-built containment helmet designed to keep plasma in, and everything else out."
- P.icon_state = "plasmaman_halo_helmet[P.on]"
- P.base_state = "plasmaman_halo_helmet"
-
- if(P == H.head)
- H.update_inv_head()
- return
- if(istype(target, /obj/item/clothing/suit/space/eva/plasmaman))
- if(used & USED_MOD_SUIT)
- to_chat(user, "The kit's suit modifier has already been used.")
- return
- to_chat(H, "You modify the appearance of [target].")
- used |= USED_MOD_SUIT
-
- var/obj/item/clothing/suit/space/eva/plasmaman/P = target
- P.name = "plasma containment suit"
- P.desc = "A feminine containment suit designed to keep plasma in, and everything else out. It's even got an overskirt."
- P.icon_state = "plasmaman_halo"
-
- if(P == H.wear_suit)
- H.update_inv_wear_suit()
- return
- to_chat(user, "You can't modify [target]!")
-
-/obj/item/fluff/lighty_plasman_modkit // LightFire53: Ikelos
- name = "plasmaman suit modkit"
- desc = "A kit containing nanites that are able to modify the look of a plasmaman suit and helmet without exposing the wearer to hostile environments."
- icon_state = "modkit"
- w_class = 2
- force = 0
- throwforce = 0
- var/picked_color = null
- var/list/helmets = list(
- "Blue" = "plasmaman_ikelosdefault_helmet",
- "Gold" = "plasmaman_ikelosgold_helmet",
- "Red" = "plasmaman_ikelossecurity_helmet")
- var/list/suits = list(
- "Blue" = "plasmaman_ikelosdefault",
- "Gold" = "plasmaman_ikelosgold",
- "Red" = "plasmaman_ikelossecurity")
-
-/obj/item/fluff/lighty_plasman_modkit/afterattack(atom/target, mob/user, proximity)
- if(!proximity || !ishuman(user) || user.incapacitated())
- return
- var/mob/living/carbon/human/H = user
-
- if(istype(target, /obj/item/clothing/head/helmet/space/eva/plasmaman))
- if(used & USED_MOD_HELM)
- to_chat(H, "The kit's helmet modifier has already been used.")
- return
-
- picked_color = input(H, "Which color would you like to paint [target]?", "Recolor") as null|anything in helmets
- var/obj/item/clothing/head/helmet/space/eva/plasmaman/P = target
-
- if(!picked_color)
- return
- P.icon_state = helmets[picked_color] + "[P.on]"
- P.base_state = helmets[picked_color]
-
- to_chat(H, "You modify the appearance of [target].")
- P.icon = 'icons/obj/custom_items.dmi'
- used |= USED_MOD_HELM
-
- if(P == H.head)
- H.update_inv_head()
- return
- if(istype(target, /obj/item/clothing/suit/space/eva/plasmaman))
- if(used & USED_MOD_SUIT)
- to_chat(user, "The kit's suit modifier has already been used.")
- return
- picked_color = input(H, "Which color would you like to paint [target]?", "Recolor") as null|anything in suits
- var/obj/item/clothing/suit/space/eva/plasmaman/P = target
-
- if(!picked_color)
- return
- P.icon_state = suits[picked_color]
-
- to_chat(H, "You modify the appearance of [target].")
- P.icon = 'icons/obj/custom_items.dmi'
- used |= USED_MOD_SUIT
-
- if(P == H.wear_suit)
- H.update_inv_wear_suit()
- return
- to_chat(user, "You can't modify [target]!")
-
-
/obj/item/fluff/merchant_sallet_modkit //Travelling Merchant: Trav Noble. This is what they spawn in with
name = "SG Helmet modkit"
desc = "A modkit that can make most helmets look like a Shellguard Helmet."
diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm
index 785d737aec2..ac2538a34b1 100644
--- a/code/modules/mob/living/carbon/human/species/plasmaman.dm
+++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm
@@ -6,21 +6,19 @@
dangerous_existence = TRUE //So so much
//language = "Clatter"
- species_traits = list(IS_WHITELISTED, NO_BLOOD, NOTRANSSTING)
+ species_traits = list(IS_WHITELISTED, RADIMMUNE, NO_BLOOD, NOTRANSSTING)
forced_heartattack = TRUE // Plasmamen have no blood, but they should still get heart-attacks
skinned_type = /obj/item/stack/sheet/mineral/plasma // We're low on plasma, R&D! *eyes plasmaman co-worker intently*
dietflags = DIET_OMNI
reagent_tag = PROCESS_ORG
- //default_mutations=list(SKELETON) // This screws things up
-
butt_sprite = "plasma"
breathid = "tox"
- heat_level_1 = 350 // Heat damage level 1 above this point.
- heat_level_2 = 400 // Heat damage level 2 above this point.
- heat_level_3 = 500 // Heat damage level 3 above this point.
+ burn_mod = 1.5
+ heatmod = 1.5
+ brute_mod = 1.5
//Has default darksight of 2.
@@ -48,136 +46,97 @@
message = replacetext(message, "s", stutter("ss"))
return message
-/datum/species/plasmaman/after_equip_job(datum/job/J, mob/living/carbon/human/H)
- var/assigned_role = H.mind && H.mind.assigned_role ? H.mind.assigned_role : "Civilian"
- // Unequip existing suits and hats.
- H.unEquip(H.wear_suit)
- H.unEquip(H.head)
- if(assigned_role != "Clown")
- H.unEquip(H.wear_mask)
-
- H.equip_or_collect(new /obj/item/clothing/mask/breath(H), slot_wear_mask)
- var/suit=/obj/item/clothing/suit/space/eva/plasmaman/assistant
- var/helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
- var/tank_slot = slot_s_store
- var/tank_slot_name = "suit storage"
-
- switch(assigned_role)
- if("Scientist","Roboticist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/science
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/science
- if("Geneticist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/science/geneticist
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/science/geneticist
- if("Research Director")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/science/rd
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/science/rd
- if("Station Engineer", "Mechanic")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/engineer
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer
- if("Chief Engineer")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer/ce
- if("Life Support Specialist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/atmostech
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
- if("Detective")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/security
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security
- if("Warden","Security Officer","Security Pod Pilot")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/security
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security
- if("Internal Affairs Agent")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/lawyer
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/lawyer
- if("Magistrate")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/magistrate
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/magistrate
- if("Head of Security", "Special Operations Officer")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hos
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hos
- if("Captain", "Blueshield")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/security/captain
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/captain
- if("Head of Personnel")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hop
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hop
- if("Nanotrasen Representative", "Nanotrasen Navy Officer")
- suit = /obj/item/clothing/suit/space/eva/plasmaman/nt_rep
- helm = /obj/item/clothing/head/helmet/space/eva/plasmaman/nt_rep
- if("Medical Doctor","Brig Physician","Virologist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/medical
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical
- if("Paramedic")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/medical/paramedic
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/paramedic
- if("Chemist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/medical/chemist
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/chemist
- if("Chief Medical Officer")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/medical/cmo
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/cmo
- if("Coroner")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/medical/coroner
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/coroner
- if("Virologist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/medical/virologist
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/virologist
- if("Bartender", "Chef")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/service
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/service
- if("Cargo Technician", "Quartermaster")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/cargo
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/cargo
- if("Shaft Miner")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/explorer
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/explorer
- if("Botanist")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/botanist
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/botanist
+/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
+ var/current_job = J.title
+ var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman
+ switch(current_job)
if("Chaplain")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/chaplain
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/chaplain
- if("Janitor")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/janitor
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
- if("Civilian", "Barber")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/assistant
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
- if("Clown")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/clown
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/clown
- if("Mime")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/mime
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/mime
- if("Syndicate Officer")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/nuclear
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear
+ O = new /datum/outfit/plasmaman/chaplain
- if((H.mind.special_role == SPECIAL_ROLE_WIZARD) || (H.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE))
- H.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/wizard(H), slot_wear_suit)
- H.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/wizard(H), slot_head)
- else
- H.equip_or_collect(new suit(H), slot_wear_suit)
- H.equip_or_collect(new helm(H), slot_head)
- H.equip_or_collect(new /obj/item/tank/plasma/plasmaman(H), tank_slot) // Bigger plasma tank from Raggy.
- H.equip_or_collect(new /obj/item/plasmensuit_cartridge(H), slot_in_backpack)
- H.equip_or_collect(new /obj/item/plasmensuit_cartridge(H), slot_in_backpack) //Two refill cartridges for their suit. Can fit in boxes.
- to_chat(H, "You are now running on plasma internals from the [H.s_store] in your [tank_slot_name]. You must breathe plasma in order to survive, and are extremely flammable.")
- H.internal = H.get_item_by_slot(tank_slot)
+ if("Librarian")
+ O = new /datum/outfit/plasmaman/librarian
+
+ if("Janitor")
+ O = new /datum/outfit/plasmaman/janitor
+
+ if("Botanist")
+ O = new /datum/outfit/plasmaman/botany
+
+ if("Bartender", "Internal Affairs Agent", "Magistrate", "Nanotrasen Representative", "Nanotrasen Navy Officer", "Head of Personnel", "Captain", "Blueshield")
+ O = new /datum/outfit/plasmaman/bar
+
+ if("Chef")
+ O = new /datum/outfit/plasmaman/chef
+
+ if("Security Officer", "Security Pod Pilot", "Head of Security", "Special Operations Officer")
+ O = new /datum/outfit/plasmaman/security
+
+ if("Detective")
+ O = new /datum/outfit/plasmaman/detective
+
+ if("Warden")
+ O = new /datum/outfit/plasmaman/warden
+
+ if("Cargo Technician", "Quartermaster")
+ O = new /datum/outfit/plasmaman/cargo
+
+ if("Shaft Miner")
+ O = new /datum/outfit/plasmaman/mining
+
+ if("Medical Doctor", "Brig Physician", "Paramedic", "Coroner", "Chief Medical Officer")
+ O = new /datum/outfit/plasmaman/medical
+
+ if("Chemist")
+ O = new /datum/outfit/plasmaman/chemist
+
+ if("Geneticist")
+ O = new /datum/outfit/plasmaman/genetics
+
+ if("Roboticist")
+ O = new /datum/outfit/plasmaman/robotics
+
+ if("Virologist")
+ O = new /datum/outfit/plasmaman/viro
+
+ if("Scientist", "Research Director")
+ O = new /datum/outfit/plasmaman/science
+
+ if("Station Engineer", "Mechanic", "Chief Engineer")
+ O = new /datum/outfit/plasmaman/engineering
+
+ if("Atmospheric Technician")
+ O = new /datum/outfit/plasmaman/atmospherics
+
+ if("Mime")
+ O = new /datum/outfit/plasmaman/mime
+
+ if("Clown")
+ O = new /datum/outfit/plasmaman/clown
+
+ H.equipOutfit(O, visualsOnly)
+ H.internal = H.get_item_by_slot(H.r_hand)
H.update_action_buttons_icon()
+ return 0
/datum/species/plasmaman/handle_life(mob/living/carbon/human/H)
- if(!istype(H.wear_suit, /obj/item/clothing/suit/space/eva/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/eva/plasmaman))
- var/datum/gas_mixture/environment = H.loc.return_air()
- if(environment && environment.oxygen && environment.oxygen >= OXYCONCEN_PLASMEN_IGNITION) //Plasmamen so long as there's enough oxygen (0.5 moles, same as it takes to burn gaseous plasma).
- H.adjust_fire_stacks(0.5)
- if(!H.on_fire && H.fire_stacks > 0)
- H.visible_message("[H]'s body reacts with the atmosphere and bursts into flames!","Your body reacts with the atmosphere and bursts into flame!")
- H.IgniteMob()
+ var/datum/gas_mixture/environment = H.loc.return_air()
+ var/atmos_sealed = FALSE
+ if (H.wear_suit && H.head && istype(H.wear_suit, /obj/item/clothing) && istype(H.head, /obj/item/clothing))
+ var/obj/item/clothing/CS = H.wear_suit
+ var/obj/item/clothing/CH = H.head
+ if (CS.flags & CH.flags & STOPSPRESSUREDMAGE)
+ atmos_sealed = TRUE
+ if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman)) && !atmos_sealed)
+ if(environment)
+ if(environment.total_moles())
+ if(environment.oxygen && environment.oxygen >= OXYCONCEN_PLASMEN_IGNITION) //Same threshhold that extinguishes fire
+ H.adjust_fire_stacks(0.5)
+ if(!H.on_fire && H.fire_stacks > 0)
+ H.visible_message("[H]'s body reacts with the atmosphere and bursts into flames!","Your body reacts with the atmosphere and bursts into flame!")
+ H.IgniteMob()
else
- if(H.on_fire && H.fire_stacks > 0)
- var/obj/item/clothing/suit/space/eva/plasmaman/P = H.wear_suit
+ if(H.fire_stacks)
+ var/obj/item/clothing/under/plasmaman/P = H.w_uniform
if(istype(P))
P.Extinguish(H)
H.update_fire()
diff --git a/icons/mob/species/plasmaman/helmet.dmi b/icons/mob/species/plasmaman/helmet.dmi
deleted file mode 100644
index bd5465857d8..00000000000
Binary files a/icons/mob/species/plasmaman/helmet.dmi and /dev/null differ
diff --git a/icons/mob/species/plasmaman/mask.dmi b/icons/mob/species/plasmaman/mask.dmi
index 1acdc5e581f..73ff04e9288 100644
Binary files a/icons/mob/species/plasmaman/mask.dmi and b/icons/mob/species/plasmaman/mask.dmi differ
diff --git a/icons/mob/species/plasmaman/suit.dmi b/icons/mob/species/plasmaman/suit.dmi
deleted file mode 100644
index c4d1a7a2b3c..00000000000
Binary files a/icons/mob/species/plasmaman/suit.dmi and /dev/null differ
diff --git a/icons/obj/clothing/species/plasmaman/hats.dmi b/icons/obj/clothing/species/plasmaman/hats.dmi
deleted file mode 100644
index fc76e521d55..00000000000
Binary files a/icons/obj/clothing/species/plasmaman/hats.dmi and /dev/null differ
diff --git a/icons/obj/clothing/species/plasmaman/suits.dmi b/icons/obj/clothing/species/plasmaman/suits.dmi
deleted file mode 100644
index 78ddd94dedb..00000000000
Binary files a/icons/obj/clothing/species/plasmaman/suits.dmi and /dev/null differ
diff --git a/paradise.dme b/paradise.dme
index 0110aa952af..b3de7f0201e 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -348,6 +348,7 @@
#include "code\datums\looping_sounds\weather.dm"
#include "code\datums\outfits\outfit.dm"
#include "code\datums\outfits\outfit_admin.dm"
+#include "code\datums\outfits\plasmamen.dm"
#include "code\datums\ruins\lavaland.dm"
#include "code\datums\ruins\space.dm"
#include "code\datums\spells\area_teleport.dm"
@@ -1393,6 +1394,11 @@
#include "code\modules\clothing\under\jobs\engineering.dm"
#include "code\modules\clothing\under\jobs\medsci.dm"
#include "code\modules\clothing\under\jobs\security.dm"
+#include "code\modules\clothing\under\jobs\plasmamen\civilian_service.dm"
+#include "code\modules\clothing\under\jobs\plasmamen\engineering.dm"
+#include "code\modules\clothing\under\jobs\plasmamen\medsci.dm"
+#include "code\modules\clothing\under\jobs\plasmamen\plasmamen.dm"
+#include "code\modules\clothing\under\jobs\plasmamen\security.dm"
#include "code\modules\countdown\countdown.dm"
#include "code\modules\crafting\craft.dm"
#include "code\modules\crafting\guncrafting.dm"