Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-12

This commit is contained in:
Roxy
2025-11-12 16:42:38 -05:00
379 changed files with 37535 additions and 33147 deletions
+26 -5
View File
@@ -146,14 +146,24 @@
QDEL_NULL(sparks)
return ..()
/obj/machinery/power/emitter/update_overlays()
. = ..()
if(!active)
return
var/laser_color = COLOR_VIBRANT_LIME
if (!powered)
laser_color = COLOR_ORANGE //stank low power orange
else if (diskie)
laser_color = diskie.laser_color
var/mutable_appearance/overlay = mutable_appearance(icon, "emitter_overlay")
overlay.color = laser_color
. += overlay
/obj/machinery/power/emitter/update_icon_state()
if(!active || !powernet)
icon_state = base_icon_state
return ..()
if(panel_open)
icon_state = "[base_icon_state]_open"
return ..()
icon_state = avail(active_power_usage) ? icon_state_on : icon_state_underpowered
else
icon_state = base_icon_state
return ..()
/obj/machinery/power/emitter/interact(mob/user)
@@ -373,6 +383,7 @@
no_shot_counter = diskie.no_shot_counter
playsound(src, 'sound/machines/card_slide.ogg', 50)
to_chat(user, span_notice("You update the [src]'s diode configuration with the [config_disk]."))
update_appearance()
if(diskie.consumable)
qdel(diskie)
return ..()
@@ -412,6 +423,7 @@
user.put_in_hands(diskie)
diskie = null
playsound(src, 'sound/machines/card_slide.ogg', 50, TRUE)
update_appearance()
set_projectile()
return TRUE
@@ -620,6 +632,7 @@
desc = "This disk can be used on an emitter with an open panel to reset its projectile. Unless this was handed to you by an admin, you should report this on github."
icon = 'icons/obj/devices/circuitry_n_data.dmi'
icon_state = "datadisk6"
var/laser_color = COLOR_VIBRANT_LIME
var/stored_proj = /obj/projectile/beam/emitter/hitscan
var/stored_sound = 'sound/items/weapons/emitter.ogg'
var/consumed_on_removal = TRUE
@@ -633,6 +646,7 @@
stored_proj = /obj/projectile/beam/emitter/hitscan/bluelens
consumed_on_removal = FALSE
consumable = FALSE
laser_color = COLOR_TRUE_BLUE
/obj/item/emitter_disk/healing
name = "\improper Diode Disk: Bioregenerative"
@@ -640,6 +654,7 @@
stored_proj = /obj/projectile/beam/emitter/hitscan/bioregen
consumed_on_removal = FALSE
consumable = FALSE
laser_color = COLOR_YELLOW
/obj/item/emitter_disk/incendiary
name = "\improper Diode Disk: Conflagratory"
@@ -647,6 +662,8 @@
stored_proj = /obj/projectile/beam/emitter/hitscan/incend
consumed_on_removal = FALSE
consumable = FALSE
laser_color = COLOR_RED_LIGHT
/obj/item/emitter_disk/sanity
name = "\improper Diode Disk: Psychosiphoning"
@@ -654,6 +671,8 @@
stored_proj = /obj/projectile/beam/emitter/hitscan/psy
consumed_on_removal = FALSE
consumable = FALSE
laser_color = COLOR_TONGUE_PINK
/obj/item/emitter_disk/magnetic
name = "\improper Diode Disk: Magnetogenerative"
@@ -661,6 +680,7 @@
stored_proj = /obj/projectile/beam/emitter/hitscan/magnetic
consumed_on_removal = FALSE
consumable = FALSE
laser_color = COLOR_SILVER
/obj/item/emitter_disk/blast
name = "\improper Diode Disk: Hyperconcussive"
@@ -668,4 +688,5 @@
stored_proj = /obj/projectile/beam/emitter/hitscan/blast
consumed_on_removal = FALSE
consumable = FALSE
laser_color = COLOR_SYNDIE_RED //magnetic is already grey
fire_rate_mod = 2