diff --git a/baystation12.dme b/baystation12.dme index 60bf6591324..9491f9c9b5a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -43,6 +43,10 @@ #define FILE_DIR "icons/obj/assemblies" #define FILE_DIR "icons/obj/atmospherics" #define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/clothing/species" +#define FILE_DIR "icons/obj/clothing/species/skrell" +#define FILE_DIR "icons/obj/clothing/species/tajaran" +#define FILE_DIR "icons/obj/clothing/species/unathi" #define FILE_DIR "icons/obj/doors" #define FILE_DIR "icons/obj/flora" #define FILE_DIR "icons/obj/machines" @@ -602,6 +606,7 @@ #include "code\game\objects\items\devices\laserpointer.dm" #include "code\game\objects\items\devices\lightreplacer.dm" #include "code\game\objects\items\devices\megaphone.dm" +#include "code\game\objects\items\devices\modkit.dm" #include "code\game\objects\items\devices\multitool.dm" #include "code\game\objects\items\devices\paicard.dm" #include "code\game\objects\items\devices\pipe_freezer.dm" diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm index b8a0ac5d459..4ba3c9ddb65 100644 --- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm +++ b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm @@ -184,23 +184,23 @@ parent.helm.gas_transfer_coefficient = 0.01 parent.helm.permeability_coefficient = 0.02 parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE if(parent.glovesrequired) parent.gloves.gas_transfer_coefficient = 0.01 parent.gloves.permeability_coefficient = 0.02 parent.gloves.cold_protection = HANDS - parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE parent.gloves.heat_protection = HANDS - parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE if(parent.shoesrequired) parent.shoes.gas_transfer_coefficient = 0.01 parent.shoes.permeability_coefficient = 0.02 parent.shoes.cold_protection = FEET - parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE parent.shoes.heat_protection = FEET - parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE sealed = 1 /obj/item/powerarmor/atmoseal/optional @@ -226,9 +226,9 @@ parent.helm.gas_transfer_coefficient = 0.01 parent.helm.permeability_coefficient = 0.02 parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE user << "Helmet atmospheric seals engaged." if(manual) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 8efa687e484..c4cae42dad1 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -1176,7 +1176,7 @@ var/list/ghostteleportlocs = list() icon_state = "storage" /area/engine/hardsuitstorage - name = "\improper Engineering Equipment Storage" + name = "\improper Engineering Hardsuit Storage" icon_state = "storage" /area/engine/controlroom diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index a12f7dfadbe..25835e6ae92 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -37,7 +37,7 @@ flags = FPRINT|TABLEPASS|HEADCOVERSEYES armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0) cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 58e3378dca6..072cc4667b8 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -1047,16 +1047,9 @@ if(!target_species || !target_department) return - switch(target_species) - if("Human" || "Skrell") - if(helmet) helmet.species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") - if(suit) suit.species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") - if("Unathi") - if(helmet) helmet.species_restricted = list("Unathi") - if(suit) suit.species_restricted = list("Unathi") - if("Tajaran") - if(helmet) helmet.species_restricted = list("Tajaran") - if(suit) suit.species_restricted = list("Tajaran") + if(target_species) + if(helmet) helmet.refit_for_species(target_species) + if(suit) suit.refit_for_species(target_species) switch(target_department) if("Engineering") diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 84807103cae..2da84916a1d 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1012,7 +1012,7 @@ /obj/machinery/vending/eva name = "Hardsuit Kits" desc = "Conversion kits for your alien hardsuit needs." - products = list(/obj/item/weapon/modkit/tajaran = 6, /obj/item/weapon/modkit/unathi = 6) + products = list(/obj/item/device/modkit = 6,/obj/item/device/modkit/tajaran = 6,/obj/item/device/modkit/unathi = 6) /obj/machinery/vending/sustenance diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 06723250fa2..6dc91d0a18e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -50,6 +50,7 @@ */ var/list/sprite_sheets = null var/icon_override = null //Used to override hardcoded clothing dmis in human clothing proc. + var/sprite_sheets_obj = null //Used to override hardcoded clothing inventory object dmis in human clothing proc. var/list/species_fit = null //This object has a different appearance when worn by these species /obj/item/Destroy() diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm index dd7c1231f45..26a0c066b01 100644 --- a/code/game/objects/items/devices/modkit.dm +++ b/code/game/objects/items/devices/modkit.dm @@ -7,14 +7,19 @@ desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user." icon_state = "modkit" var/parts = MODKIT_FULL - var/list/target_species = list("Human","Skrell") + var/target_species = "Human" var/list/permitted_types = list( /obj/item/clothing/head/helmet/space/rig, /obj/item/clothing/suit/space/rig ) -/obj/item/device/modkit/afterattack(obj/O, mob/user as mob) +/obj/item/device/modkit/afterattack(obj/O, mob/user as mob, proximity) + if(!proximity) + return + + if (!target_species) + return //it shouldn't be null, okay? if(!parts) user << "This kit has no parts for this modification left." @@ -22,11 +27,21 @@ del(src) return - /* TODO: list comparison - if(istype(O,to_type)) - user << "[O] is already modified." + var/allowed = 0 + for (var/permitted_type in permitted_types) + if(istype(O, permitted_type)) + allowed = 1 + + var/obj/item/clothing/I = O + if (!istype(I) || !allowed) + user << "[src] is unable to modify that." + return + + var/excluding = ("exclude" in I.species_restricted) + var/in_list = (target_species in I.species_restricted) + if (excluding ^ in_list) + user << "[I] is already modified." return - */ if(!isturf(O.loc)) user << "[O] must be safely placed on the ground for modification." @@ -36,22 +51,27 @@ user.visible_message("\red [user] opens \the [src] and modifies \the [O].","\red You open \the [src] and modify \the [O].") - var/obj/item/clothing/I = O - if(istype(I)) - I.species_restricted = target_species.Copy() + I.refit_for_species(target_species) + + if (istype(I, /obj/item/clothing/head/helmet)) + parts &= ~MODKIT_HELMET + if (istype(I, /obj/item/clothing/suit)) + parts &= ~MODKIT_SUIT - parts-- if(!parts) user.drop_from_inventory(src) del(src) -/obj/item/device/modkit/tajaran - name = "tajaran hardsuit modification kit" - desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajara." - target_species = list("Tajaran") - /obj/item/device/modkit/examine() ..() - usr << "It looks as though it modifies hardsuits to fit the following users:" - for(var/species in target_species) - usr << "- [species]" \ No newline at end of file + usr << "It looks as though it modifies hardsuits to fit [target_species] users." + +/obj/item/device/modkit/tajaran + name = "Tajaran hardsuit modification kit" + desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajaran." + target_species = "Tajaran" + +/obj/item/device/modkit/unathi + name = "Unathi hardsuit modification kit" + desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Unathi." + target_species = "Unathi" \ No newline at end of file diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index dff5bde016f..abfb5e871b9 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -2,6 +2,14 @@ name = "clothing" var/list/species_restricted = null //Only these species can wear this kit. + /* + Sprites used when the clothing item is refit. This is done by setting icon_override. + For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary. + Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits), + while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. vox wearing jumpsuits). + */ + var/list/sprite_sheets_refit = null + //BS12: Species-restricted clothing check. /obj/item/clothing/mob_can_equip(M as mob, slot) @@ -32,6 +40,25 @@ return 1 +/obj/item/clothing/proc/refit_for_species(var/target_species) + //Set species_restricted list + switch(target_species) + if("Human", "Skrell") //humanoid bodytypes + species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") + else + species_restricted = list(target_species) + + //Set icon + if (sprite_sheets && (target_species in sprite_sheets)) + icon_override = sprite_sheets[target_species] + else + icon_override = initial(icon_override) + + if (sprite_sheets_obj && (target_species in sprite_sheets_obj)) + icon = sprite_sheets_obj[target_species] + else + icon = initial(icon) + //Ears: currently only used for headsets and earmuffs /obj/item/clothing/ears name = "ears" @@ -214,7 +241,7 @@ BLIND // can't see anything armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 species_restricted = list("exclude","Diona","Vox") loose = 1 // very rarely falls off @@ -234,7 +261,7 @@ BLIND // can't see anything armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT||HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 species_restricted = list("exclude","Diona","Vox") diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 27d736e0b32..d3c112b33de 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -41,9 +41,9 @@ "Vox" = 'icons/mob/species/vox/gloves.dmi' ) cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE hos diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 8739856e680..125d6795dc5 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -5,9 +5,9 @@ item_state = "egloves" _color = "captain" cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' @@ -31,9 +31,9 @@ permeability_coefficient = 0.05 cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' @@ -46,9 +46,9 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index bcc5256e84a..fedb2d99819 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -50,7 +50,7 @@ name = "firefighter helmet" flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/white icon_state = "hardhat0_white" @@ -58,7 +58,7 @@ _color = "white" flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/dblue icon_state = "hardhat0_dblue" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 1ad17e9e971..be06580e417 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -7,9 +7,9 @@ armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HEAD - max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 loose = 4 // generally well seated @@ -74,7 +74,7 @@ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 /obj/item/clothing/head/helmet/swat/syndicate @@ -91,7 +91,7 @@ item_state = "thunderdome" armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 1 /obj/item/clothing/head/helmet/gladiator diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index f5c859e2382..3cec963429f 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -28,7 +28,7 @@ flags = FPRINT|TABLEPASS flags_inv = 0 cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 loose = 17 diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index c0cbed23b59..ad1ebc9a96d 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -6,9 +6,9 @@ species_fit = list("Vox") cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE redcoat _color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way. diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 9131797563d..f24c36371c4 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -36,9 +36,9 @@ siemens_coefficient = 0.6 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/space_ninja name = "ninja shoes" @@ -50,9 +50,9 @@ siemens_coefficient = 0.2 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = null /obj/item/clothing/shoes/sandal @@ -106,9 +106,9 @@ siemens_coefficient = 0.7 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = null /obj/item/clothing/shoes/cyborg diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index e3a4e2a25c4..51cf2a0903f 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -1,24 +1,9 @@ -// Tajaran rigs. -/obj/item/clothing/head/helmet/space/rig/tajara - desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding. This one doesn't look like it was made for humans." - icon_state = "rig0-taj-helmet" - item_state = "rig0-taj-helmet" - _color = "taj-helmet" - species_restricted = list("Tajaran") - -/obj/item/clothing/suit/space/rig/tajara - desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding. This one doesn't look like it was made for humans." - icon_state = "rig-taj" - item_state = "rig-taj" - _color = "rig-taj" - species_restricted = list("Tajaran") - //Skrell space gear. Sleek like a wetsuit. /obj/item/clothing/head/helmet/space/skrell name = "Skrellian helmet" desc = "Smoothly contoured and polished to a shine. Still looks like a fishbowl." armor = list(melee = 20, bullet = 20, laser = 50,energy = 50, bomb = 50, bio = 100, rad = 100) - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Skrell","Human") /obj/item/clothing/head/helmet/space/skrell/white @@ -37,7 +22,7 @@ armor = list(melee = 20, bullet = 20, laser = 50,energy = 50, bomb = 50, bio = 100, rad = 100) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Skrell","Human") /obj/item/clothing/suit/space/skrell/white @@ -50,6 +35,49 @@ item_state = "skrell_suit_black" _color = "skrell_suit_black" +//Unathi space gear. Huge and restrictive. +/obj/item/clothing/head/helmet/space/unathi + armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) + heat_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE + var/up = 0 //So Unathi helmets play nicely with the weldervision check. + species_restricted = list("Unathi") + +/obj/item/clothing/head/helmet/space/unathi/helmet_cheap + name = "NT breacher helmet" + desc = "Hey! Watch it with that thing! It's a knock-off of a Unathi battle-helm, and that spike could put someone's eye out." + icon_state = "unathi_helm_cheap" + item_state = "unathi_helm_cheap" + _color = "unathi_helm_cheap" + +/obj/item/clothing/suit/space/unathi + armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE + species_restricted = list("Unathi") + +/obj/item/clothing/suit/space/unathi/rig_cheap + name = "NT breacher chassis" + desc = "A cheap NT knock-off of a Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." + icon_state = "rig-unathi-cheap" + item_state = "rig-unathi-cheap" + slowdown = 3 + +/obj/item/clothing/head/helmet/space/unathi/breacher + name = "breacher helm" + desc = "Weathered, ancient and battle-scarred. The helmet is too." + icon_state = "unathi_breacher" + item_state = "unathi_breacher" + _color = "unathi_breacher" + +/obj/item/clothing/suit/space/unathi/breacher + name = "breacher chassis" + desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank." + icon_state = "unathi_breacher" + item_state = "unathi_breacher" + _color = "unathi_breacher" + slowdown = 1 // Vox space gear (vaccuum suit, low pressure armour) // Can't be equipped by any other species due to bone structure and vox cybernetics. @@ -58,8 +86,9 @@ 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/handcuffs,/obj/item/weapon/tank) slowdown = 2 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.6 heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Vox", "Vox Armalis") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi', @@ -68,6 +97,7 @@ /obj/item/clothing/head/helmet/space/vox armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.6 flags = HEADCOVERSEYES|STOPSPRESSUREDMAGE species_restricted = list("Vox","Vox Armalis") sprite_sheets = list( @@ -92,6 +122,7 @@ icon_state = "vox-carapace" item_state = "vox-carapace" desc = "A glowing visor, perhaps stolen from a depressed Cylon." + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS /obj/item/clothing/suit/space/vox/carapace name = "alien carapace armour" @@ -133,6 +164,7 @@ icon_state = "vox-casual-1" _color = "vox-casual-1" item_state = "vox-casual-1" + body_parts_covered = LEGS /obj/item/clothing/under/vox/vox_robes name = "alien robes" @@ -163,8 +195,7 @@ species_restricted = list("Vox","Vox Armalis") sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/feet.dmi', - "Vox Armalis" = 'icons/mob/species/armalis/feet.dmi', + "Vox Armalis" = 'icons/mob/species/armalis/feet.dmi' ) action_button_name = "Toggle the magclaws" @@ -172,19 +203,20 @@ /obj/item/clothing/shoes/magboots/vox/attack_self(mob/user) if(src.magpulse) flags &= ~NOSLIP - slowdown = SHOES_SLOWDOWN magpulse = 0 canremove = 1 user << "You relax your deathgrip on the flooring." else //make sure these can only be used when equipped. - if (!is_equipped()) + if(!ishuman(user)) + return + var/mob/living/carbon/human/H = user + if (H.shoes != src) user << "You will have to put on the [src] before you can do that." return flags |= NOSLIP - slowdown = 2 magpulse = 1 canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly. user << "You dig your claws deeply into the flooring, bracing yourself." @@ -204,76 +236,7 @@ ..() if (magpulse) usr << "It would be hard to take these off without relaxing your grip first." //theoretically this message should only be seen by the wearer when the claws are equipped. - -////////////////UNATHI///////////////////// - -/obj/item/clothing/suit/space/rig/unathi - icon_state = "rig-unathi-engineering" - item_state = "rig-unathi-engineering" - species_restricted = list("Unathi") - -/obj/item/clothing/suit/space/rig/security/unathi - icon_state = "rig-unathi-sec" - item_state = "rig-unathi-sec" - species_restricted = list("Unathi") - -/obj/item/clothing/head/helmet/space/rig/unathi - icon_state = "rig0-unathi-engineering" - item_state = "rig0-unathi-engineering" - species_restricted = list("Unathi") - -/obj/item/clothing/head/helmet/space/rig/security/unathi - icon_state = "rig0-unathi-sec" - item_state = "rig0-unathi-sec" - species_restricted = list("Unathi") - -//Unathi space gear. Huge and restrictive. -/obj/item/clothing/head/helmet/space/unathi - armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) - heat_protection = HEAD - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - var/up = 0 //So Unathi helmets play nicely with the weldervision check. - species_restricted = list("Unathi") - -/obj/item/clothing/head/helmet/space/unathi/helmet_cheap - name = "NT breacher helmet" - desc = "Hey! Watch it with that thing! It's a knock-off of a Unathi battle-helm, and that spike could put someone's eye out." - icon_state = "unathi_helm_cheap" - item_state = "unathi_helm_cheap" - _color = "unathi_helm_cheap" - -/obj/item/clothing/suit/space/unathi - armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) - heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - species_restricted = list("Unathi") - -/obj/item/clothing/suit/space/unathi/rig_cheap - name = "NT breacher chassis" - desc = "A cheap NT knock-off of a Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." - icon_state = "rig-unathi-cheap" - item_state = "rig-unathi-cheap" - slowdown = 3 - -/obj/item/clothing/head/helmet/space/unathi/breacher - name = "breacher helm" - desc = "Weathered, ancient and battle-scarred. The helmet is too." - icon_state = "unathi_breacher" - item_state = "unathi_breacher" - _color = "unathi_breacher" - -/obj/item/clothing/suit/space/unathi/breacher - name = "breacher chassis" - desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank." - icon_state = "unathi_breacher" - item_state = "unathi_breacher" - _color = "unathi_breacher" - slowdown = 1 - - -// PLASMEN SHIT -// CAN'T WEAR UNLESS YOU'RE A PINK SKELLINGTON + /obj/item/clothing/suit/space/plasmaman w_class = 3 allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box/magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank) @@ -282,7 +245,7 @@ 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|HIDEJUMPSUIT - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Plasmaman") flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | PLASMAGUARD @@ -323,4 +286,4 @@ if(on) user.SetLuminosity(user.luminosity - brightness_on) // user.UpdateLuminosity() - SetLuminosity(brightness_on) + SetLuminosity(brightness_on) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index a405d66a33f..62d21b3688d 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -25,5 +25,5 @@ armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT||HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index d4aa7637bbd..08cadd66fc3 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -24,7 +24,7 @@ armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 //Deathsquad suit diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 37eb0ddd00c..4c6fab3b472 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -1,89 +1,29 @@ -//Species modification item. - -/obj/item/weapon/modkit/tajaran - name = "tajaran hardsuit modification kit" - desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Tajara." - icon = 'icons/obj/custom_items.dmi' - icon_state = "royce_kit" - -/obj/item/weapon/modkit/unathi - name = "Unathi hardsuit modification kit" - desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Unathi." - icon = 'icons/obj/custom_items.dmi' - icon_state = "royce_kit" - -/obj/item/clothing/head/helmet/space/rig/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/tajaran)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." - new /obj/item/clothing/head/helmet/space/rig/tajara(user.loc) - del(I) - del(src) - return - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - new /obj/item/clothing/head/helmet/space/rig/unathi(user.loc) - del(I) - del(src) - return - ..() - -/obj/item/clothing/suit/space/rig/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/tajaran)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - if(helmet) - helmet.loc = get_turf(src) - src.helmet = null - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user. You pop the helmet on the floor" - else - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." - - new /obj/item/clothing/suit/space/rig/tajara(user.loc) - del(I) - del(src) - return - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - if(helmet) - helmet.loc = get_turf(src) - src.helmet = null - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user. You pop the helmet on the floor" - else - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - - new /obj/item/clothing/suit/space/rig/unathi(user.loc) - del(I) - del(src) - return - ..() - - //Regular rig suits /obj/item/clothing/head/helmet/space/rig - name = "engineering hardsuit helmet" - desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." + name = "hardsuit helmet" + desc = "A special helmet designed for work in a hazardous, low-pressure environment." icon_state = "rig0-engineering" item_state = "eng_helm" - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) allowed = list(/obj/item/device/flashlight) var/brightness_on = 4 //luminosity when on var/on = 0 _color = "engineering" //Determines used sprites: rig[on]-[color] and rig[on]-[color]2 (lying down sprite) icon_action_button = "action_hardhat" heat_protection = HEAD - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE //Species-specific stuff. species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") sprite_sheets = list( "Unathi" = 'icons/mob/species/unathi/helmet.dmi', "Tajaran" = 'icons/mob/species/tajaran/helmet.dmi', - "Skrell" = 'icons/mob/species/skrell/helmet.dmi' + "Skrell" = 'icons/mob/species/skrell/helmet.dmi', + ) + sprite_sheets_obj = list( + "Unathi" = 'icons/obj/clothing/species/unathi/hats.dmi', + "Tajaran" = 'icons/obj/clothing/species/tajaran/hats.dmi', + "Skrell" = 'icons/obj/clothing/species/skrell/hats.dmi', ) attack_self(mob/user) @@ -97,6 +37,10 @@ if(on) user.SetLuminosity(user.luminosity + brightness_on) else user.SetLuminosity(user.luminosity - brightness_on) + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.update_inv_head() + pickup(mob/user) if(on) user.SetLuminosity(user.luminosity + brightness_on) @@ -110,22 +54,26 @@ SetLuminosity(brightness_on) /obj/item/clothing/suit/space/rig - name = "engineering hardsuit" - desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." + name = "hardsuit" + desc = "A special space suit for environments that might pose hazards beyond just the vacuum of space. Provides more protection than a standard space suit." icon_state = "rig-engineering" item_state = "eng_hardsuit" slowdown = 1 - armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") sprite_sheets = list( "Unathi" = 'icons/mob/species/unathi/suit.dmi', "Tajaran" = 'icons/mob/species/tajaran/suit.dmi', - "Skrell" = 'icons/mob/species/skrell/suit.dmi' + "Skrell" = 'icons/mob/species/skrell/suit.dmi', + ) + sprite_sheets_obj = list( + "Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi', + "Tajaran" = 'icons/obj/clothing/species/tajaran/suits.dmi', + "Skrell" = 'icons/obj/clothing/species/skrell/suits.dmi', ) //Breach thresholds, should ideally be inherited by most (if not all) hardsuits. @@ -267,6 +215,7 @@ return //TODO: Species check, skull damage for forcing an unfitting helmet on? helmet.loc = H + helmet.pickup(H) H.equip_to_slot(helmet, slot_head) helmet.canremove = 0 H << "\blue You deploy your hardsuit helmet, sealing you off from the world." @@ -354,6 +303,23 @@ ..() +//Engineering rig +/obj/item/clothing/head/helmet/space/rig/engineering + name = "engineering hardsuit helmet" + desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." + icon_state = "rig0-engineering" + item_state = "eng_helm" + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) + +/obj/item/clothing/suit/space/rig/engineering + name = "engineering hardsuit" + desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." + icon_state = "rig-engineering" + item_state = "eng_hardsuit" + slowdown = 1 + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + //Chief Engineer's rig /obj/item/clothing/head/helmet/space/rig/elite name = "advanced hardsuit helmet" @@ -361,7 +327,6 @@ icon_state = "rig0-white" item_state = "ce_helm" _color = "white" - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) sprite_sheets = null /obj/item/clothing/suit/space/rig/elite @@ -369,27 +334,8 @@ name = "advanced hardsuit" desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish." item_state = "ce_hardsuit" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) sprite_sheets = null -//Singuloth armor -/obj/item/clothing/head/helmet/space/rig/singuloth - name = "singuloth knight's helmet" - desc = "This is an adamantium helmet from the chapter of the Singuloth Knights. It shines with a holy aura." - icon_state = "rig0-singuloth" - item_state = "singuloth_helm" - _color = "singuloth" - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) - -/obj/item/clothing/suit/space/rig/singuloth - icon_state = "rig-singuloth" - name = "singuloth knight's armor" - desc = "This is a ceremonial armor from the chapter of the Singuloth Knights. It's made of pure forged adamantium." - item_state = "singuloth_hardsuit" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) - //Mining rig /obj/item/clothing/head/helmet/space/rig/mining name = "mining hardsuit helmet" @@ -397,26 +343,28 @@ icon_state = "rig0-mining" item_state = "mining_helm" _color = "mining" + armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20) /obj/item/clothing/suit/space/rig/mining icon_state = "rig-mining" name = "mining hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating." item_state = "mining_hardsuit" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL - + armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20) //Syndicate rig /obj/item/clothing/head/helmet/space/rig/syndi name = "blood-red hardsuit helmet" desc = "An advanced helmet designed for work in special operations. Property of Gorlex Marauders." - icon_state = "rig0-syndi" + icon_state = "rig0-syndie" item_state = "syndie_helm" - _color = "syndi" - armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) + _color = "syndie" + 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 + species_restricted = list("exclude","Unathi","Tajaran","Skrell","Vox") + /obj/item/clothing/head/helmet/space/rig/syndi/attack_self(mob/user) if(camera) @@ -440,10 +388,11 @@ item_state = "syndie_hardsuit" slowdown = 1 w_class = 3 - armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/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/handcuffs,/obj/item/device/suit_cooling_unit) + armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box/magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank) siemens_coefficient = 0.6 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL + species_restricted = list("exclude","Unathi","Tajaran","Skrell","Vox") + sprite_sheets = null //Wizard Rig /obj/item/clothing/head/helmet/space/rig/wizard @@ -476,6 +425,7 @@ icon_state = "rig0-medical" item_state = "medical_helm" _color = "medical" + armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 50) /obj/item/clothing/suit/space/rig/medical icon_state = "rig-medical" @@ -492,7 +442,7 @@ icon_state = "rig0-sec" item_state = "sec_helm" _color = "sec" - armor = list(melee = 50, bullet = 10, laser = 30, energy = 15, bomb = 45, bio = 100, rad = 10) + armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) siemens_coefficient = 0.7 /obj/item/clothing/suit/space/rig/security @@ -500,50 +450,25 @@ name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" - armor = list(melee = 50, bullet = 10, laser = 30, energy = 15, bomb = 45, bio = 100, rad = 10) + armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) siemens_coefficient = 0.7 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL - -/obj/item/clothing/head/helmet/space/rig/security/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - new /obj/item/clothing/head/helmet/space/rig/security/unathi(user.loc) - del(I) - del(src) - return - ..() - - -/obj/item/clothing/suit/space/rig/security/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - new /obj/item/clothing/suit/space/rig/security/unathi(user.loc) - del(I) - del(src) - return - ..() //Atmospherics Rig (BS12) /obj/item/clothing/head/helmet/space/rig/atmos - desc = "A special helmet designed for work in a hazardou, low pressure environments. Has reduced radiation shielding and protective plating to allow for greater mobility." + desc = "A special helmet designed for work in a hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." name = "atmospherics hardsuit helmet" icon_state = "rig0-atmos" item_state = "atmos_helm" _color = "atmos" - armor = list(melee = 30, bullet = 0, laser = 0, energy = 0, bomb = 20, bio = 100, rad = 0) - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50) + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/suit/space/rig/atmos - desc = "A special suit that protects against hazardous, low pressure environments. Has reduced radiation shielding to allow for greater mobility." + desc = "A special suit that protects against hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." icon_state = "rig-atmos" name = "atmos hardsuit" item_state = "atmos_hardsuit" - armor = list(melee = 30, bullet = 0, laser = 0, energy = 0, bomb = 20, bio = 100, rad = 0) - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50) + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 2d58731f4f4..a0e6a168b7c 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -5,9 +5,9 @@ flags = FPRINT | TABLEPASS cold_protection = UPPER_TORSO|LOWER_TORSO - min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = UPPER_TORSO|LOWER_TORSO - max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.6 @@ -85,7 +85,7 @@ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 0, rad = 0) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 @@ -161,7 +161,7 @@ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 /obj/item/clothing/suit/armor/heavy diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 24cbe3b8c94..476f0053948 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -23,7 +23,7 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags = FPRINT | TABLEPASS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -68,7 +68,7 @@ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEJUMPSUIT|HIDETAIL heat_protection = UPPER_TORSO|LOWER_TORSO - max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0 diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index b7f144b84d8..b345e04f7d3 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -88,7 +88,7 @@ flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected. - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/under/acj name = "administrative cybernetic jumpsuit" @@ -102,7 +102,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 /obj/item/clothing/under/owl diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 6e225a6df85..c39e401a554 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -899,9 +899,9 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT flags = FPRINT | TABLEPASS | ONESIZEFITSALL | STOPSPRESSUREDMAGE heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE canremove = 0 armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0) @@ -953,7 +953,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 unacidable = 1 flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/effect/golem_rune diff --git a/code/modules/mob/living/simple_animal/tribbles.dm b/code/modules/mob/living/simple_animal/tribbles.dm index 12fb8f96109..649b27f334b 100644 --- a/code/modules/mob/living/simple_animal/tribbles.dm +++ b/code/modules/mob/living/simple_animal/tribbles.dm @@ -251,7 +251,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 3000 cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/head/furcap name = "fur cap" @@ -262,7 +262,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 5000 cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/furboots name = "fur boots" @@ -273,7 +273,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 4000 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/suit/furcoat name = "fur coat" @@ -286,7 +286,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, body_parts_covered = UPPER_TORSO|LEGS|ARMS|LOWER_TORSO allowed = list (/obj/item/weapon/tank/emergency_oxygen) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/suit/furcape name = "fur cape" @@ -298,4 +298,4 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 10000 body_parts_covered = UPPER_TORSO|LEGS|ARMS cold_protection = UPPER_TORSO | LEGS | ARMS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE diff --git a/code/setup.dm b/code/setup.dm index be67ae396f4..6277e4681a1 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -49,21 +49,21 @@ #define BODYTEMP_HEAT_DAMAGE_LIMIT 360.15 // The limit the human body can take before it starts taking damage from heat. #define BODYTEMP_COLD_DAMAGE_LIMIT 260.15 // The limit the human body can take before it starts taking damage from coldness. -#define SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. -#define SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE 10000 -#define SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. -#define SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE 10000 //These need better heat protect -#define FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE 30000 //what max_heat_protection_temperature is set to for firesuit quality headwear. MUST NOT BE 0. -#define FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE 30000 //for fire helmet quality items (red and white hardhats) -#define HELMET_MIN_COLD_PROTECITON_TEMPERATURE 160 //For normal helmets -#define HELMET_MAX_HEAT_PROTECITON_TEMPERATURE 600 //For normal helmets -#define ARMOR_MIN_COLD_PROTECITON_TEMPERATURE 160 //For armor -#define ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE 600 //For armor +#define SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. +#define SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE 10000 +#define SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. +#define SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE 10000 //These need better heat protect +#define FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE 30000 //what max_heat_protection_temperature is set to for firesuit quality headwear. MUST NOT BE 0. +#define FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE 30000 //for fire helmet quality items (red and white hardhats) +#define HELMET_MIN_COLD_PROTECTION_TEMPERATURE 160 //For normal helmets +#define HELMET_MAX_HEAT_PROTECTION_TEMPERATURE 600 //For normal helmets +#define ARMOR_MIN_COLD_PROTECTION_TEMPERATURE 160 //For armor +#define ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE 600 //For armor -#define GLOVES_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //For some gloves (black and) -#define GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE 1500 //For some gloves -#define SHOE_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //For gloves -#define SHOE_MAX_HEAT_PROTECITON_TEMPERATURE 1500 //For gloves +#define GLOVES_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //For some gloves (black and) +#define GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE 1500 //For some gloves +#define SHOE_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //For gloves +#define SHOE_MAX_HEAT_PROTECTION_TEMPERATURE 1500 //For gloves #define PRESSURE_DAMAGE_COEFFICIENT 4 //The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE diff --git a/icons/mob/species/skrell/helmet.dmi b/icons/mob/species/skrell/helmet.dmi index 5d9485ca5a4..eb65bda8c01 100644 Binary files a/icons/mob/species/skrell/helmet.dmi and b/icons/mob/species/skrell/helmet.dmi differ diff --git a/icons/mob/species/skrell/suit.dmi b/icons/mob/species/skrell/suit.dmi index d09058125c6..47ce0a2302b 100644 Binary files a/icons/mob/species/skrell/suit.dmi and b/icons/mob/species/skrell/suit.dmi differ diff --git a/icons/mob/species/tajaran/helmet.dmi b/icons/mob/species/tajaran/helmet.dmi index 5d48f00ecf9..988512b58c9 100644 Binary files a/icons/mob/species/tajaran/helmet.dmi and b/icons/mob/species/tajaran/helmet.dmi differ diff --git a/icons/mob/species/tajaran/suit.dmi b/icons/mob/species/tajaran/suit.dmi index 68f45185b68..5fae4520b60 100644 Binary files a/icons/mob/species/tajaran/suit.dmi and b/icons/mob/species/tajaran/suit.dmi differ diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi index 109a4ac7de2..b3d6db3032c 100644 Binary files a/icons/mob/species/unathi/helmet.dmi and b/icons/mob/species/unathi/helmet.dmi differ diff --git a/icons/mob/species/unathi/suit.dmi b/icons/mob/species/unathi/suit.dmi index 6ddbaeadab9..1783cf91b48 100644 Binary files a/icons/mob/species/unathi/suit.dmi and b/icons/mob/species/unathi/suit.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 7570a3bafba..e86f01a7cfd 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -1907,7 +1907,7 @@ "aKI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/flag/species/unathi,/turf/simulated/floor,/area/hallway/primary/port/east) "aKJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/embassy/unathi) "aKK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi) -"aKL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet,/obj/item/weapon/modkit/unathi,/obj/item/weapon/hatchet/unathiknife,/obj/item/weapon/hatchet/unathiknife,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor/engine,/area/embassy/unathi) +"aKL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet,/obj/item/device/modkit/unathi,/obj/item/weapon/hatchet/unathiknife,/obj/item/weapon/hatchet/unathiknife,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor/engine,/area/embassy/unathi) "aKM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aKN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/evaguide,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) @@ -5270,7 +5270,7 @@ "bXr" = (/obj/machinery/camera{c_tag = "Blueshield's Office"; dir = 1; network = list("SS13")},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/blueshield) "bXs" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/machinery/computer/crew,/turf/simulated/floor/wood,/area/blueshield) "bXt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"bXu" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/weapon/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 25; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) +"bXu" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/device/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 25; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) "bXv" = (/obj/machinery/camera{c_tag = "NT Representative's Office"; dir = 1; network = list("SS13")},/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "NT Representative's Office"},/turf/simulated/floor/wood,/area/ntrep) "bXw" = (/obj/machinery/power/apc{name = "Mime Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/wood,/area/mimeoffice) "bXx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor/wood,/area/ntrep) @@ -5343,7 +5343,7 @@ "bYM" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13;48"; tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bYN" = (/obj/machinery/computer/security/mining{network = list("Mining Outpost")},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera{c_tag = "Cargo Mining Dock"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) "bYO" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) -"bYP" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) +"bYP" = (/obj/structure/rack{dir = 1},/obj/item/device/modkit/unathi,/obj/item/device/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) "bYQ" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating,/area/maintenance/disposal) "bYR" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/aft) "bYS" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/aft) @@ -5418,7 +5418,7 @@ "caj" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/quartermaster/miningdock) "cak" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "cal" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/miningdock) -"cam" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/tajaran,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) +"cam" = (/obj/structure/rack{dir = 1},/obj/item/device/modkit/tajaran,/obj/item/device/modkit/tajaran,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) "can" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/recycler{eat_dir = 1; emagged = 0},/turf/simulated/floor/plating,/area/maintenance/disposal) "cao" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) "cap" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/power/apc{dir = 4; name = "Disposals APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -6465,7 +6465,7 @@ "cuq" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) "cur" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/hardsuitstorage) "cus" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/engine/engineering) -"cut" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering) +"cut" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/device/modkit/unathi,/obj/item/device/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering) "cuu" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/engine/engineering) "cuv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/chiefs_office) "cuw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering)