diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index 7c39f530ace..1533b5d2c51 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -125,6 +125,7 @@
/obj/item/weapon/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
/obj/item/weapon/tank/plasma/plasmaman/examine()
set src in usr
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index 6c20fbae7ee..446d7ef13ec 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -1,8 +1,10 @@
// PLASMEN SHIT
// CAN'T WEAR UNLESS YOU'RE A PINK SKELLINGTON
/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."
w_class = 3
- allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
+ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
slowdown = 2
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 0)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
@@ -10,7 +12,8 @@
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
species_restricted = list("Plasmaman")
- flags = STOPSPRESSUREDMAGE | PLASMAGUARD
+ flags = STOPSPRESSUREDMAGE | PLASMAGUARD
+ pressure_resistance = 40 * ONE_ATMOSPHERE //we can't change, so some resistance is needed
icon_state = "plasmaman_suit"
item_state = "plasmaman_suit"
@@ -19,10 +22,10 @@
var/extinguish_cooldown=10 SECONDS
var/extinguishes_left=10 // Yeah yeah, reagents, blah blah blah. This should be simple.
-/obj/item/clothing/suit/space/eva/plasmaman/examine()
- set src in view()
+/obj/item/clothing/suit/space/eva/plasmaman/examine(mob/user)
..()
- usr << "There are [extinguishes_left] extinguisher canisters left in this suit."
+ user << "There are [extinguishes_left] extinguisher canisters left in this suit."
+
/obj/item/clothing/suit/space/eva/plasmaman/proc/Extinguish(var/mob/user)
var/mob/living/carbon/human/H=user
if(extinguishes_left)
@@ -35,7 +38,10 @@
H.ExtinguishMob()
/obj/item/clothing/head/helmet/space/eva/plasmaman
- flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE | PLASMAGUARD
+ 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 | PLASMAGUARD
+ pressure_resistance = 40 * ONE_ATMOSPHERE
species_restricted = list("Plasmaman")
icon_state = "plasmaman_helmet0"
@@ -54,9 +60,9 @@
return
on = !on
icon_state = "[base_state][on]"
-// item_state = "rig[on]-[_color]"
if(on) user.SetLuminosity(user.luminosity + brightness_on)
else user.SetLuminosity(user.luminosity - brightness_on)
+ user.update_inv_head()
/obj/item/clothing/head/helmet/space/eva/plasmaman/pickup(mob/user)
if(on)
@@ -74,54 +80,113 @@
// ENGINEERING
/obj/item/clothing/suit/space/eva/plasmaman/assistant
+ name = "plasmaman assistant suit"
icon_state = "plasmamanAssistant_suit"
+ slowdown = 1
/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/atmostech
+ name = "plasmaman atmospheric suit"
icon_state = "plasmamanAtmos_suit"
+ armor = list(melee = 20, bullet = 0, laser = 0,energy = 0, bomb = 25, bio = 100, rad = 0)
+ max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
+ name = "plasmaman atmospheric helmet"
icon_state = "plasmamanAtmos_helmet0"
base_state = "plasmamanAtmos_helmet"
+ armor = list(melee = 20, bullet = 0, laser = 0,energy = 0, bomb = 25, bio = 100, rad = 0)
+ max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/suit/space/eva/plasmaman/engineer
+ name = "plasmaman engineer suit"
icon_state = "plasmamanEngineer_suit"
+ armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
+ pressure_resistance = 200 * ONE_ATMOSPHERE
+ slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer
+ name = "plasmaman engineer helmet"
icon_state = "plasmamanEngineer_helmet0"
base_state = "plasmamanEngineer_helmet"
+ armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
+ pressure_resistance = 200 * ONE_ATMOSPHERE
+
+/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
+ name = "plasmaman chief engineer suit"
+ icon_state = "plasmaman_CE"
+ max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
+
+/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_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
//SERVICE
/obj/item/clothing/suit/space/eva/plasmaman/botanist
+ name = "plasmaman botanist suit"
icon_state = "plasmamanBotanist_suit"
+ slowdown = 1
/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"
+ slowdown = 1
/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"
+ slowdown = 1
+
+/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"
+ slowdown = 1
+
+/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"
+ slowdown = 1
/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"
+ slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
+ name = "plasmaman janitor helmet"
icon_state = "plasmamanJanitor_helmet0"
base_state = "plasmamanJanitor_helmet"
@@ -129,42 +194,158 @@
//CARGO
/obj/item/clothing/suit/space/eva/plasmaman/cargo
+ name = "plasmaman cargo suit"
icon_state = "plasmamanCargo_suit"
+ slowdown = 1
/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 = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
/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 = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
// MEDSCI
/obj/item/clothing/suit/space/eva/plasmaman/medical
+ name = "plasmaman medical suit"
icon_state = "plasmamanMedical_suit"
+ slowdown = 1
/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"
+ slowdown = 1
+
+/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"
+ slowdown = 1
+
+/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/science
+ name = "plasmaman scientist suit"
icon_state = "plasmamanScience_suit"
+ slowdown = 1
/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/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"
+
//SECURITY
/obj/item/clothing/suit/space/eva/plasmaman/security
+ name = "plasmaman security suit"
icon_state = "plasmamanSecurity_suit"
+ slowdown = 1
+ armor = list(melee = 40, bullet = 15, laser = 35,energy = 5, bomb = 35, bio = 100, rad = 20)
/obj/item/clothing/head/helmet/space/eva/plasmaman/security
+ name = "plasmaman security helmet"
icon_state = "plasmamanSecurity_helmet0"
- base_state = "plasmamanSecurity_helmet"
\ No newline at end of file
+ base_state = "plasmamanSecurity_helmet"
+ armor = list(melee = 40, bullet = 15, laser = 35,energy = 5, bomb = 35, bio = 100, rad = 20)
+
+/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"
+
+//NUKEOPS
+
+/obj/item/clothing/suit/space/eva/plasmaman/nuclear
+ name = "blood red plasmaman suit"
+ icon_state = "plasmaman_Nukeops"
+ slowdown = 1
+ armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs)
+ siemens_coefficient = 0.6
+
+/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 = 60)
+ siemens_coefficient = 0.6
+ var/obj/machinery/camera/camera
+
+/obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear/attack_self(mob/user)
+ if(camera)
+ ..(user)
+ else
+ camera = new /obj/machinery/camera(src)
+ camera.network = list("NUKE")
+ cameranet.removeCamera(camera)
+ camera.c_tag = user.name
+ user << "User scanned as [camera.c_tag]. Camera activated."
+
+/obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear/examine(mob/user)
+ ..()
+ if(get_dist(user,src) <= 1)
+ user << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/plasmaman/species.dm b/code/modules/mob/living/carbon/human/plasmaman/species.dm
index 581e082eeb7..15d524feeed 100644
--- a/code/modules/mob/living/carbon/human/plasmaman/species.dm
+++ b/code/modules/mob/living/carbon/human/plasmaman/species.dm
@@ -36,21 +36,45 @@
var/tank_slot_name = "suit storage"
switch(H.mind.assigned_role)
- if("Research Director","Scientist","Geneticist","Roboticist")
+ if("Scientist","Geneticist","Roboticist")
suit=/obj/item/clothing/suit/space/eva/plasmaman/science
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/science
- if("Chief Engineer","Station Engineer")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/engineer
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer
+ 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("Atmospheric Technician")
suit=/obj/item/clothing/suit/space/eva/plasmaman/atmostech
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
- if("Head of Security","Warden","Detective","Security Officer")
- suit=/obj/item/clothing/suit/space/eva/plasmaman/security
- helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security
- if("Chief Medical Officer","Medical Doctor","Paramedic","Chemist")
+ if("Warden","Detective","Security Officer")
+ suit=/obj/item/clothing/suit/space/eva/plasmaman/security/
+ helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/
+ if("Head of Security")
+ suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hos
+ helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hos
+ if("Captain")
+ 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("Medical Doctor")
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("Bartender", "Chef")
suit=/obj/item/clothing/suit/space/eva/plasmaman/service
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/service
@@ -72,9 +96,12 @@
if("Assistant")
suit=/obj/item/clothing/suit/space/eva/plasmaman/assistant
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
- if("Clown","Mime")
- tank_slot=slot_r_hand
- tank_slot_name = "hand"
+ 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
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/weapon/tank/plasma/plasmaman(H), tank_slot) // Bigger plasma tank from Raggy.
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index 5b27d8413e3..fffb6dd363b 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index 24b466147bf..3e315ac863f 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 7463e516424..8a8f4f2298a 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index b564ba36878..211f17a75ee 100644
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ