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