diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index dea27a5b946..a5e66af02ac 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -69,6 +69,7 @@
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/t_scanner, /obj/item/rcd)
siemens_coefficient = 0
+ actions_types = list(/datum/action/item_action/toggle_helmet)
hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran")
species_restricted = list("exclude","Diona","Wryn")
@@ -156,6 +157,10 @@
H.unEquip(boots)
boots.forceMove(src)
+/obj/item/clothing/suit/space/hardsuit/ui_action_click()
+ ..()
+ toggle_helmet()
+
/obj/item/clothing/suit/space/hardsuit/verb/toggle_helmet()
set name = "Toggle Helmet"
set category = "Object"
@@ -222,6 +227,10 @@
user.drop_item()
W.loc = src
src.helmet = W
+ var/obj/item/clothing/head/helmet/space/hardsuit/syndi/S = W
+ S.forceMove(src)
+ helmet = S
+ S.link_suit()
return
else if(istype(W,/obj/item/clothing/shoes/magboots) && can_modify(user))
@@ -312,6 +321,7 @@
item_color = "syndi"
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
on = 1
+ var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null
actions_types = list(/datum/action/item_action/toggle_helmet_mode)
flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL
visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDETAIL
@@ -319,6 +329,11 @@
/obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon()
icon_state = "hardsuit[on]-[item_color]"
+/obj/item/clothing/head/helmet/space/hardsuit/syndi/proc/link_suit()
+ . = ..()
+ if(istype(loc,/obj/item/clothing/suit/space/hardsuit/syndi))
+ linkedsuit = loc
+
/obj/item/clothing/head/helmet/space/hardsuit/syndi/attack_self(mob/user)
on = !on
if(on)
@@ -342,12 +357,38 @@
update_icon()
playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
+ toggle_hardsuit_mode(user)
user.update_inv_head()
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
+/obj/item/clothing/head/helmet/space/hardsuit/syndi/proc/toggle_hardsuit_mode(mob/user) //Helmet Toggles Suit Mode
+ if(linkedsuit)
+ if(on)
+ linkedsuit.name = initial(linkedsuit.name)
+ linkedsuit.desc = initial(linkedsuit.desc)
+ linkedsuit.slowdown = 1
+ linkedsuit.flags |= STOPSPRESSUREDMAGE | THICKMATERIAL
+ linkedsuit.flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
+ linkedsuit.cold_protection |= UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
+ else
+ linkedsuit.name += " (combat)"
+ linkedsuit.desc = linkedsuit.alt_desc
+ linkedsuit.slowdown = 0
+ linkedsuit.flags = THICKMATERIAL
+ linkedsuit.cold_protection &= ~(UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS)
+ linkedsuit.flags_inv &= ~(HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL)
+
+ linkedsuit.update_icon()
+ user.update_inv_wear_suit()
+ user.update_inv_w_uniform()
+
+ for(var/X in actions)
+ var/datum/action/A = X
+ A.UpdateButtonIcon()
+
/obj/item/clothing/head/helmet/space/hardsuit/syndi/freedom
name = "eagle helmet"
desc = "An advanced, space-proof helmet. It appears to be modeled after an old-world eagle."
@@ -360,6 +401,7 @@
/obj/item/clothing/suit/space/hardsuit/syndi
name = "blood-red hardsuit"
desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
+ alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_hardsuit"
item_color = "syndi"
@@ -372,34 +414,6 @@
/obj/item/clothing/suit/space/hardsuit/syndi/update_icon()
icon_state = "hardsuit[on]-[item_color]"
-/obj/item/clothing/suit/space/hardsuit/syndi/attack_self(mob/user)
- on = !on
- if(on)
- to_chat(user, "You switch your hardsuit to travel mode. It will allow you to stand in zero pressure environments, at the cost of speed.")
- name = "blood-red hardsuit"
- desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
- slowdown = 1
- flags = STOPSPRESSUREDMAGE | THICKMATERIAL
- flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
- cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
- else
- to_chat(user, "You switch your hardsuit to combat mode. You will take damage in zero pressure environments, but you are more suited for a fight.")
- name = "blood-red hardsuit (combat)"
- desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
- slowdown = 0
- flags = THICKMATERIAL
- flags_inv = null
- cold_protection = null
-
- update_icon()
- playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
- user.update_inv_wear_suit()
- user.update_inv_w_uniform()
-
- for(var/X in actions)
- var/datum/action/A = X
- A.UpdateButtonIcon()
-
//Elite Syndie suit
/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite
name = "elite syndicate hardsuit helmet"