mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 16:12:19 +00:00
(Many) Emissive Lights Now Glow (#8952)
This commit is contained in:
@@ -41,9 +41,17 @@
|
||||
|
||||
target.add_overlay(list(multiply, overlay))
|
||||
|
||||
/proc/make_screen_overlay(icon, icon_state, brightness_factor = null)
|
||||
/proc/make_screen_overlay(icon, icon_state, brightness_factor = null, glow_radius = 1)
|
||||
var/icon/base = new(icon, icon_state) // forgive us, but this is to get the width/height.
|
||||
var/height = base.Height() // at least this is cached in most use cases
|
||||
var/width = base.Width()
|
||||
var/image/overlay = image(icon, icon_state)
|
||||
overlay.layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
var/image/underlay = image(overlay)
|
||||
underlay.alpha = 128
|
||||
underlay.transform = underlay.transform.Scale((width + glow_radius*2)/width, (height+glow_radius*2)/height)
|
||||
underlay.filters = filter(type="blur", size=glow_radius)
|
||||
overlay.underlays += underlay
|
||||
if (brightness_factor)
|
||||
overlay.color = list(
|
||||
brightness_factor, 0, 0, 0,
|
||||
|
||||
@@ -252,6 +252,7 @@
|
||||
/obj/item/stock_parts/scanning_module = 2,
|
||||
/obj/item/stock_parts/console_screen
|
||||
)
|
||||
var/global/image/console_overlay
|
||||
|
||||
/obj/machinery/body_scanconsole/Destroy()
|
||||
if (connected)
|
||||
@@ -267,8 +268,9 @@
|
||||
if((stat & BROKEN) || (stat & NOPOWER))
|
||||
return
|
||||
else
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "body_scannerconsole-screen", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
if(!console_overlay)
|
||||
console_overlay = make_screen_overlay(icon, "body_scannerconsole-screen")
|
||||
add_overlay(console_overlay)
|
||||
set_light(1.4, 1, COLOR_RED)
|
||||
|
||||
/obj/machinery/body_scanconsole/proc/get_collapsed_lung_desc()
|
||||
|
||||
@@ -50,8 +50,19 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
|
||||
var/hitstaken = 0 //Death at 3 hits from an item with force>=15
|
||||
var/datum/feed_channel/viewing_channel = null
|
||||
var/datum/feed_message/viewing_message = null
|
||||
var/global/list/screen_overlays
|
||||
anchored = 1
|
||||
|
||||
/obj/machinery/newscaster/proc/generate_overlays(var/force = 0)
|
||||
if(LAZYLEN(screen_overlays) && !force)
|
||||
return
|
||||
LAZYINITLIST(screen_overlays)
|
||||
screen_overlays["newscaster-screen"] = make_screen_overlay(icon, "newscaster-screen")
|
||||
screen_overlays["newscaster-title"] = make_screen_overlay(icon, "newscaster-title")
|
||||
screen_overlays["newscaster-wanted"] = make_screen_overlay(icon, "newscaster-wanted")
|
||||
screen_overlays["newscaster-scanline"] = make_screen_overlay(icon, "newscaster-scanline")
|
||||
for(var/i in 1 to 3)
|
||||
screen_overlays["crack[i]"] = make_screen_overlay(icon, "crack[i]")
|
||||
|
||||
/obj/machinery/newscaster/security_unit //Security unit
|
||||
name = "Security Newscaster"
|
||||
@@ -62,6 +73,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
|
||||
allCasters += src
|
||||
src.paper_remaining = 15 // Will probably change this to something better
|
||||
src.unit_no = allCasters.len + 1
|
||||
src.generate_overlays()
|
||||
src.update_icon() //for any custom ones on the map...
|
||||
|
||||
/obj/machinery/newscaster/Destroy()
|
||||
@@ -74,36 +86,30 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
|
||||
set_light(FALSE)
|
||||
if(isbroken) //If the thing is smashed, add crack overlay on top of the unpowered sprite.
|
||||
cut_overlays()
|
||||
add_overlay("crack3")
|
||||
add_overlay(screen_overlays["crack3"])
|
||||
return
|
||||
|
||||
cut_overlays() //reset overlays
|
||||
|
||||
var/mutable_appearance/base_screen_overlay = mutable_appearance(icon, "newscaster-screen", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(base_screen_overlay)
|
||||
add_overlay(screen_overlays["newscaster-screen"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
|
||||
if(!alert || !SSnews.wanted_issue) // since we're transparent I don't want overlay nonsense
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "newscaster-title", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["newscaster-title"])
|
||||
|
||||
if(SSnews.wanted_issue) //wanted icon state, there can be no overlays on it as it's a priority message
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "newscaster-wanted", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["newscaster-wanted"])
|
||||
return
|
||||
|
||||
if(alert) //new message alert overlay
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "newscaster-alert", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["newscaster-alert"])
|
||||
|
||||
if(hitstaken == 0)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "newscaster-scanline", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["newscaster-scanline"])
|
||||
|
||||
if(hitstaken > 0) //Cosmetic damage overlay
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "crack[hitstaken]", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
|
||||
add_overlay(screen_overlays["crack[hitstaken]"])
|
||||
|
||||
icon_state = initial(icon_state)
|
||||
return
|
||||
|
||||
|
||||
@@ -64,6 +64,17 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
//End Form Integration
|
||||
var/datum/announcement/announcement = new
|
||||
var/list/obj/item/device/pda/alert_pdas = list() //The PDAs we alert upon a request receipt.
|
||||
var/global/list/screen_overlays
|
||||
|
||||
/obj/machinery/requests_console/proc/generate_overlays(var/force = 0)
|
||||
if(LAZYLEN(screen_overlays) && !force)
|
||||
return
|
||||
LAZYINITLIST(screen_overlays)
|
||||
screen_overlays["req_comp-idle"] = make_screen_overlay(icon, "req_comp-idle")
|
||||
screen_overlays["req_comp-alert"] = make_screen_overlay(icon, "req_comp-alert")
|
||||
screen_overlays["req_comp-redalert"] = make_screen_overlay(icon, "req_comp-redalert")
|
||||
screen_overlays["req_comp-yellowalert"] = make_screen_overlay(icon, "req_comp-yellowalert")
|
||||
screen_overlays["req_comp-scanline"] = make_screen_overlay(icon, "req_comp-scanline")
|
||||
|
||||
/obj/machinery/requests_console/power_change()
|
||||
..()
|
||||
@@ -77,24 +88,19 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
else
|
||||
switch(newmessagepriority)
|
||||
if(0)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "req_comp-idle", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["req_comp-idle"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
if(1)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "req_comp-alert", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["req_comp-alert"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
if(2)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "req_comp-redalert", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["req_comp-redalert"])
|
||||
set_light(1.4, 1, COLOR_ORANGE)
|
||||
if(3)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "req_comp-yellowalert", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["req_comp-yellowalert"])
|
||||
set_light(1.4, 1, COLOR_ORANGE)
|
||||
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "req_comp-scanline", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["req_comp-scanline"])
|
||||
|
||||
/obj/machinery/requests_console/Initialize(mapload, var/dir, var/building = 0)
|
||||
. = ..()
|
||||
@@ -119,6 +125,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
req_console_supplies |= department
|
||||
if (departmentType & RC_INFO)
|
||||
req_console_information |= department
|
||||
generate_overlays()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/requests_console/Destroy()
|
||||
|
||||
@@ -13,11 +13,13 @@
|
||||
var/on = TRUE
|
||||
var/department = "Somewhere" //whatever department/desk you put this thing
|
||||
var/pinged = FALSE //for cooldown
|
||||
var/global/list/screen_overlays
|
||||
|
||||
/obj/machinery/ringer/Initialize()
|
||||
. = ..()
|
||||
if(id)
|
||||
ringers = new(id, src)
|
||||
generate_overlays()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/ringer/power_change()
|
||||
@@ -28,6 +30,15 @@
|
||||
QDEL_NULL(ringers)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/ringer/proc/generate_overlays(var/force = 0)
|
||||
if(LAZYLEN(screen_overlays) && !force)
|
||||
return
|
||||
LAZYINITLIST(screen_overlays)
|
||||
screen_overlays["bell-active"] = make_screen_overlay(icon, "bell-active")
|
||||
screen_overlays["bell-alert"] = make_screen_overlay(icon, "bell-alert")
|
||||
screen_overlays["bell-scanline"] = make_screen_overlay(icon, "bell-scanline")
|
||||
screen_overlays["bell-standby"] = make_screen_overlay(icon, "bell-standby")
|
||||
|
||||
/obj/machinery/ringer/update_icon()
|
||||
cut_overlays()
|
||||
if(!on || stat & NOPOWER)
|
||||
@@ -35,19 +46,15 @@
|
||||
set_light(FALSE)
|
||||
return
|
||||
if(rings_pdas || rings_pdas.len)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "bell-active", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["bell-active"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
if(pinged)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "bell-alert", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["bell-alert"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
if(on)
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "bell-scanline", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["bell-scanline"])
|
||||
else
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "bell-standby", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
add_overlay(screen_overlays["bell-standby"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
|
||||
/obj/machinery/ringer/attackby(obj/item/C as obj, mob/living/user as mob)
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
|
||||
small_station_map = image(SSholomap.extra_minimaps["[HOLOMAP_EXTRA_STATIONMAPSMALL]_[original_zLevel]"], dir = dir)
|
||||
small_station_map.layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
small_station_map.filters = filter(type = "drop_shadow", color = light_color + "F0", size = 1, offset = 1, x = 0, y = 0)
|
||||
|
||||
floor_markings = image('icons/obj/machines/stationmap.dmi', "decal_station_map")
|
||||
floor_markings.dir = src.dir
|
||||
|
||||
@@ -106,6 +106,9 @@
|
||||
var/heating_temperature = T0C + 57 //Best temp for coffee.
|
||||
|
||||
var/vending_sound = "machines/vending/vending_drop.ogg"
|
||||
|
||||
var/global/list/screen_overlays
|
||||
var/exclusive_screen = TRUE // Are we not allowed to show the deny and screen states at the same time?
|
||||
|
||||
light_range = 2
|
||||
light_power = 1
|
||||
@@ -123,7 +126,7 @@
|
||||
|
||||
if(src.product_ads)
|
||||
src.ads_list += text2list(src.product_ads, ";")
|
||||
|
||||
|
||||
add_screen_overlay()
|
||||
|
||||
src.build_inventory()
|
||||
@@ -132,14 +135,20 @@
|
||||
/obj/machinery/vending/proc/reset_light()
|
||||
set_light(initial(light_range), initial(light_power), initial(light_color))
|
||||
|
||||
/obj/machinery/vending/proc/add_screen_overlay()
|
||||
if("[icon_state]-screen" in icon_states(icon))
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "[icon_state]-screen", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
/obj/machinery/vending/proc/add_screen_overlay(var/deny = FALSE)
|
||||
if(!LAZYLEN(screen_overlays))
|
||||
LAZYINITLIST(screen_overlays)
|
||||
if(!("[icon_state]-screen" in screen_overlays) || (deny && !("[icon_state]-deny" in screen_overlays)))
|
||||
var/list/states = icon_states(icon)
|
||||
if ("[icon_state]-screen" in states)
|
||||
screen_overlays["[icon_state]-screen"] = make_screen_overlay(icon, "[icon_state]-screen")
|
||||
if ("[icon_state]-deny" in states)
|
||||
screen_overlays["[icon_state]-deny"] = make_screen_overlay(icon, "[icon_state]-deny")
|
||||
add_overlay(screen_overlays["[icon_state]-[deny ? "deny" : "screen"]"])
|
||||
reset_light()
|
||||
|
||||
/**
|
||||
* Build src.produdct_records from the products lists
|
||||
* Build src.product_records from the products lists
|
||||
*
|
||||
* src.products, src.contraband, src.premium, and src.prices allow specifying
|
||||
* products that the vending machine is to carry without manually populating
|
||||
@@ -556,11 +565,14 @@
|
||||
if (href_list["vendItem"] && vend_ready && !currently_vending)
|
||||
if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH
|
||||
to_chat(usr, "<span class='warning'>Access denied.</span>") //Unless emagged of course
|
||||
var/mutable_appearance/deny_overlay = mutable_appearance(icon, "[icon_state]-deny", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(deny_overlay)
|
||||
addtimer(CALLBACK(src, /atom/.proc/cut_overlay, deny_overlay), deny_time ? deny_time : 15)
|
||||
if(exclusive_screen)
|
||||
cut_overlays()
|
||||
addtimer(CALLBACK(src, .proc/add_screen_overlay), deny_time ? deny_time : 15)
|
||||
add_screen_overlay(deny = TRUE)
|
||||
addtimer(CALLBACK(src, /atom/.proc/cut_overlay, screen_overlays["[icon_state]-deny"]), deny_time ? deny_time : 15)
|
||||
set_light(initial(light_range), initial(light_power), COLOR_RED_LIGHT)
|
||||
addtimer(CALLBACK(src, .proc/reset_light), deny_time ? deny_time : 15)
|
||||
addtimer(CALLBACK(src, .proc/add_screen_overlay), deny_time ? deny_time : 15)
|
||||
return
|
||||
|
||||
var/key = text2num(href_list["vendItem"])
|
||||
@@ -599,9 +611,11 @@
|
||||
|
||||
if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH
|
||||
to_chat(usr, "<span class='warning'>Access denied.</span>") //Unless emagged of course)
|
||||
var/mutable_appearance/deny_overlay = mutable_appearance(icon, "[icon_state]-deny", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(deny_overlay)
|
||||
addtimer(CALLBACK(src, /atom/.proc/cut_overlay, deny_overlay), deny_time ? deny_time : 15)
|
||||
if(exclusive_screen)
|
||||
cut_overlays()
|
||||
addtimer(CALLBACK(src, .proc/add_screen_overlay), deny_time ? deny_time : 15)
|
||||
add_screen_overlay(deny = TRUE)
|
||||
addtimer(CALLBACK(src, /atom/.proc/cut_overlay, screen_overlays["[icon_state]-deny"]), deny_time ? deny_time : 15)
|
||||
set_light(initial(light_range), initial(light_power), COLOR_RED_LIGHT)
|
||||
addtimer(CALLBACK(src, .proc/reset_light), deny_time ? deny_time : 15)
|
||||
return
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
random_itemcount = 0
|
||||
vending_sound = "machines/vending/vending_cans.ogg"
|
||||
light_color = COLOR_PALE_BLUE_GRAY
|
||||
exclusive_screen = FALSE
|
||||
|
||||
|
||||
/obj/machinery/vending/assist
|
||||
@@ -418,7 +419,7 @@
|
||||
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
|
||||
random_itemcount = 0
|
||||
temperature_setting = -1
|
||||
light_color = COLOR_GREEN_GRAY
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
|
||||
|
||||
//This one's from bay12
|
||||
@@ -454,7 +455,7 @@
|
||||
desc = "A wall-mounted version of the NanoMed."
|
||||
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
|
||||
icon_state = "wallmed"
|
||||
deny_time = 14
|
||||
deny_time = 15
|
||||
req_access = list(access_medical)
|
||||
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
|
||||
vend_id = "meds"
|
||||
@@ -475,14 +476,14 @@
|
||||
)
|
||||
random_itemcount = 0
|
||||
temperature_setting = -1
|
||||
light_color = COLOR_GREEN_GRAY
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
|
||||
|
||||
/obj/machinery/vending/wallmed2
|
||||
name = "NanoMed"
|
||||
desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment."
|
||||
icon_state = "wallmed"
|
||||
deny_time = 14
|
||||
deny_time = 15
|
||||
req_access = list(access_medical)
|
||||
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
|
||||
vend_id = "meds"
|
||||
@@ -501,7 +502,7 @@
|
||||
)
|
||||
random_itemcount = 0
|
||||
temperature_setting = -1
|
||||
light_color = COLOR_GREEN_GRAY
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
|
||||
|
||||
/obj/machinery/vending/security
|
||||
@@ -536,6 +537,7 @@
|
||||
restock_items = 1
|
||||
random_itemcount = 0
|
||||
light_color = COLOR_BABY_BLUE
|
||||
exclusive_screen = FALSE
|
||||
|
||||
|
||||
/obj/machinery/vending/hydronutrients
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
flags = CONDUCT | NOBLOODY
|
||||
var/number = 0
|
||||
var/obj/machinery/abstract/intercom_listener/power_interface
|
||||
var/global/list/screen_overlays
|
||||
var/radio_sound = null
|
||||
clickvol = 40
|
||||
|
||||
@@ -49,8 +50,18 @@
|
||||
/obj/item/device/radio/intercom/Initialize()
|
||||
. = ..()
|
||||
power_interface = new(loc, src)
|
||||
generate_overlays()
|
||||
update_icon()
|
||||
|
||||
/obj/item/device/radio/intercom/proc/generate_overlays(var/force = 0)
|
||||
if(LAZYLEN(screen_overlays) && !force)
|
||||
return
|
||||
LAZYINITLIST(screen_overlays)
|
||||
screen_overlays["intercom_screen"] = make_screen_overlay(icon, "intercom_screen")
|
||||
screen_overlays["intercom_scanline"] = make_screen_overlay(icon, "intercom_scanline")
|
||||
screen_overlays["intercom_b"] = make_screen_overlay(icon, "intercom_b")
|
||||
screen_overlays["intercom_l"] = make_screen_overlay(icon, "intercom_l")
|
||||
|
||||
/obj/item/device/radio/intercom/department/medbay/Initialize()
|
||||
. = ..()
|
||||
internal_channels = default_medbay_channels.Copy()
|
||||
@@ -137,17 +148,13 @@
|
||||
set_light(FALSE)
|
||||
return
|
||||
else
|
||||
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "intercom_screen", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(screen_overlay)
|
||||
var/mutable_appearance/scanline_overlay = mutable_appearance(icon, "intercom_scanline", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(scanline_overlay)
|
||||
add_overlay(screen_overlays["intercom_screen"])
|
||||
add_overlay(screen_overlays["intercom_scanline"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
if(broadcasting)
|
||||
var/mutable_appearance/button_overlay = mutable_appearance(icon, "intercom_b", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(button_overlay)
|
||||
add_overlay(screen_overlays["intercom_b"])
|
||||
if(listening)
|
||||
var/mutable_appearance/button_overlay = mutable_appearance(icon, "intercom_l", EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
add_overlay(button_overlay)
|
||||
add_overlay(screen_overlays["intercom_l"])
|
||||
|
||||
/obj/item/device/radio/intercom/broadcasting
|
||||
broadcasting = 1
|
||||
|
||||
@@ -54,6 +54,13 @@
|
||||
light_power = 1
|
||||
light_range = 1
|
||||
light_color = LIGHT_COLOR_HALOGEN
|
||||
var/global/image/glow_state
|
||||
|
||||
/obj/effect/temp_visual/constellation/Initialize()
|
||||
. = ..()
|
||||
if(!glow_state)
|
||||
glow_state = make_screen_overlay(icon, icon_state)
|
||||
add_overlay(glow_state)
|
||||
|
||||
/obj/effect/temp_visual/constellation/attackby(obj/item/W as obj, mob/user as mob)
|
||||
visible_message("<span class='notice'>\The [src] vanishes!</span>")
|
||||
|
||||
@@ -233,6 +233,7 @@
|
||||
..()
|
||||
if(color)
|
||||
set_light(1.5,1.5,color)
|
||||
filters = filter(type="drop_shadow", color = color + "F0", size = 2, offset = 1, x = 0, y = 0)
|
||||
|
||||
/obj/item/clothing/ears/skrell/goop/Initialize()
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user