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)