Helmets with seclight (#92514)

## About The Pull Request
Riot, Press, Swat helmets can now hold seclight. Added new sprites for
riot helmets and swat helmets (by justice54).
All helmets with attachable seclight also got resprite of the seclight
part (also justice54)

<img width="1330" height="107" alt="obraz"
src="https://github.com/user-attachments/assets/3d6b2504-6419-4e7b-81a3-de5109e48f0a"
/>

<img width="665" height="95" alt="obraz"
src="https://github.com/user-attachments/assets/2e51dfcf-9abc-4eb3-a4f0-8860750a6dd0"
/>

## Why It's Good For The Game
Poor security is afraid of badly lit rooms. Let's say NO to it!
## Changelog
🆑
add: Added seclight attachment for swat, riot, press helmets
fix: Fixed bulletproof helmets switching sprites to normal sec helmet
image: Added sprites of Swat helmet and riot helmet with attached
seclight
image: Reworked part of helmet sprites - seclight
/🆑
This commit is contained in:
panvxv
2025-08-20 21:49:25 +02:00
committed by GitHub
parent 1d53370d34
commit 36e4da1941
3 changed files with 24 additions and 1 deletions

View File

@@ -99,11 +99,16 @@
name = "press helmet"
desc = "A blue helmet used to distinguish <i>non-combatant</i> \"PRESS\" members, like if anyone cares."
icon_state = "helmet_press"
base_icon_state = "helmet_press"
sound_vary = TRUE
equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/obj/item/clothing/head/helmet/press/Initialize(mapload)
. = ..()
AddComponent(/datum/component/seclite_attachable, light_icon_state = "flight")
/obj/item/clothing/head/helmet/press/worn_overlays(mutable_appearance/standing, isinhands, icon_file)
. = ..()
if(!isinhands)
@@ -113,6 +118,7 @@
name = "bulletproof helmet"
desc = "A bulletproof combat helmet that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent."
icon_state = "helmetalt"
base_icon_state = "helmetalt"
inhand_icon_state = "helmet"
armor_type = /datum/armor/helmet_alt
dog_fashion = null
@@ -219,12 +225,19 @@
/obj/item/clothing/head/helmet/toggleable/update_icon_state()
. = ..()
icon_state = "[initial(icon_state)][up ? "up" : ""]"
base_icon_state = "[initial(base_icon_state)]"
var/datum/component/seclite_attachable/light = GetComponent(/datum/component/seclite_attachable)
if(up)
base_icon_state += "up"
light?.on_update_icon_state(src)
if(!light)
icon_state = base_icon_state
/obj/item/clothing/head/helmet/toggleable/riot
name = "riot helmet"
desc = "It's a helmet specifically designed to protect against close range attacks."
icon_state = "riot"
base_icon_state = "riot"
inhand_icon_state = "riot_helmet"
toggle_message = "You pull the visor down"
alt_toggle_message = "You push the visor up"
@@ -243,6 +256,10 @@
visor_toggle_up_sound = SFX_VISOR_UP
visor_toggle_down_sound = SFX_VISOR_DOWN
/obj/item/clothing/head/helmet/toggleable/riot/Initialize(mapload)
. = ..()
AddComponent(/datum/component/seclite_attachable, light_icon_state = "flight")
/obj/item/clothing/head/helmet/toggleable/riot/Initialize(mapload)
. = ..()
AddComponent(/datum/component/adjust_fishing_difficulty, 2)
@@ -275,6 +292,7 @@
name = "helmet of justice"
desc = "WEEEEOOO. WEEEEEOOO. WEEEEOOOO."
icon_state = "justice"
base_icon_state = "justice"
inhand_icon_state = "justice_helmet"
toggle_message = "You turn off the lights on"
alt_toggle_message = "You turn on the lights on"
@@ -315,6 +333,7 @@
name = "alarm helmet"
desc = "WEEEEOOO. WEEEEEOOO. STOP THAT MONKEY. WEEEOOOO."
icon_state = "justice2"
base_icon_state = "justice2"
/obj/item/clothing/head/helmet/swat
name = "\improper SWAT helmet"
@@ -355,6 +374,7 @@
name = "\improper SWAT helmet"
desc = "An extremely robust helmet with the Nanotrasen logo emblazoned on the top."
icon_state = "swat"
base_icon_state = "swat"
inhand_icon_state = "swat_helmet"
clothing_flags = STACKABLE_HELMET_EXEMPT
cold_protection = HEAD
@@ -363,6 +383,9 @@
max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
/obj/item/clothing/head/helmet/swat/nanotrasen/Initialize(mapload)
. = ..()
AddComponent(/datum/component/seclite_attachable, light_icon_state = "flight")
/obj/item/clothing/head/helmet/thunderdome
name = "\improper Thunderdome helmet"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 25 KiB