Migrates meson stuff FULLY to traits (#21609)

* fuckin TRAITS

* pickup -> equip
This commit is contained in:
Contrabang
2023-07-17 10:53:47 +01:00
committed by GitHub
parent 5b4796d3f0
commit 4c3180ff21
5 changed files with 35 additions and 24 deletions
@@ -12,8 +12,7 @@
item_state = "trayson-meson"
actions_types = list(/datum/action/item_action/toggle_mode)
origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3"
vision_flags = NONE
invis_view = SEE_INVISIBLE_LIVING
active_on_equip = FALSE
var/list/modes = list(MODE_NONE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_RAD, MODE_RAD = MODE_NONE)
var/mode = MODE_NONE
@@ -32,14 +31,13 @@
mode = modes[mode]
to_chat(user, "<span class='[voluntary ? "notice" : "warning"]'>[voluntary ? "You turn the goggles" : "The goggles turn"] [mode ? "to [mode] mode" : "off"][voluntary ? "." : "!"]</span>")
switch(mode)
if(MODE_MESON)
vision_flags = SEE_TURFS
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
if(MODE_TRAY) //undoes the last mode, meson
vision_flags = NONE
lighting_alpha = null
if(mode == MODE_MESON)
if(!HAS_TRAIT_FROM(user, TRAIT_MESON_VISION, "meson_glasses[UID()]"))
ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
active_on_equip = TRUE
else
REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
active_on_equip = FALSE
if(ishuman(user))
var/mob/living/carbon/human/H = user
+12 -2
View File
@@ -74,8 +74,6 @@
icon_state = "meson"
item_state = "meson"
origin_tech = "magnets=1;engineering=2"
vision_flags = SEE_TURFS
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
prescription_upgradable = TRUE
sprite_sheets = list(
@@ -86,6 +84,18 @@
"Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi'
)
var/active_on_equip = TRUE
/obj/item/clothing/glasses/meson/equipped(mob/user, slot, initial)
. = ..()
if(active_on_equip && slot == slot_glasses)
ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
/obj/item/clothing/glasses/meson/dropped(mob/user)
. = ..()
if(user)
REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
/obj/item/clothing/glasses/meson/night
name = "night vision optical meson scanner"
desc = "An optical meson scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness."
+10 -1
View File
@@ -54,7 +54,16 @@
name = "meson visor helmet"
desc = "A helmet with a built-in meson scanning visor."
icon_state = "helmetmesons"
vision_flags = SEE_TURFS
/obj/item/clothing/head/helmet/meson/equipped(mob/user, slot, initial)
. = ..()
if(slot == slot_head)
ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_helmet[UID()]")
/obj/item/clothing/head/helmet/meson/dropped(mob/user)
. = ..()
if(user)
REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_helmet[UID()]")
/obj/item/clothing/head/helmet/material
name = "material visor helmet"