Files
CHOMPStation2/code/modules/power/lighting_vr.dm
CHOMPStation2StaffMirrorBot b8fe8fa68d [MIRROR] Unlucky trait (#11775)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-10-04 03:52:24 -04:00

257 lines
6.5 KiB
Plaintext

// I hate the way macros look stupid standing near lights. I don't care how absurd this looks.
/obj/machinery/light_construct
layer = BELOW_MOB_LAYER
/obj/machinery/light
layer = BELOW_MOB_LAYER
//Vorestation addition, to override the New() proc further below, since this is a lamp.
/obj/machinery/light/flamp/Initialize(mapload, obj/machinery/light_construct/construct)
layer = initial(layer)
. = ..()
// create a new lighting fixture
/obj/machinery/light/Initialize(mapload, obj/machinery/light_construct/construct)
. = ..()
//Vorestation addition, so large mobs stop looking stupid in front of lights.
if (dir == SOUTH) // Lights are backwards, SOUTH lights face north (they are on south wall)
layer = ABOVE_MOB_LAYER
// Wall tube lights
/obj/item/light/tube
brightness_range = 6
brightness_power = 1
nightshift_range = 6
nightshift_power = 0.45
// Big tubes, unused I think
/obj/item/light/tube/large
brightness_range = 8
brightness_power = 2
nightshift_range = 8
nightshift_power = 1
// Small wall lights
/obj/item/light/bulb
brightness_range = 4
brightness_power = 1
nightshift_range = 4
nightshift_power = 0.45
// Floor lamps
/obj/item/light/bulb/large
brightness_range = 6
brightness_power = 1
nightshift_range = 6
nightshift_power = 0.45
// Floor tube lights
/obj/machinery/light/floortube
icon_state = "floortube1"
base_state = "floortube"
desc = "A tube light set into a floor fixture."
shows_alerts = FALSE
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
construct_type = /obj/machinery/light_construct/floortube
overlay_above_everything = FALSE
/obj/machinery/light/floortube/flicker
auto_flicker = TRUE
/obj/machinery/light_construct/floortube
name = "floor light fixture frame"
desc = "A floor light fixture under construction."
icon = 'icons/obj/lighting.dmi'
icon_state = "floortube-construct-stage1"
stage = 1
anchored = FALSE
fixture_type = /obj/machinery/light/floortube
sheets_refunded = 2
/obj/machinery/light_construct/floortube/Initialize(mapload, newdir, building, datum/frame/frame_types/frame_type, obj/machinery/light/fixture)
. = ..()
AddElement(/datum/element/rotatable)
/obj/machinery/light_construct/floortube/update_icon()
switch(stage)
if(1)
icon_state = "floortube-construct-stage1"
if(2)
icon_state = "floortube-construct-stage2"
if(3)
icon_state = "floortube-empty"
// Big Flamp
/obj/machinery/light/bigfloorlamp
icon = 'icons/obj/lighting32x64.dmi'
icon_state = "big_flamp1"
base_state = "big_flamp"
desc = "A set of tube lights on a raised, solid fixture"
shows_alerts = FALSE
density = TRUE
anchored = TRUE
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
construct_type = /obj/machinery/light_construct/bigfloorlamp
overlay_above_everything = TRUE
/obj/machinery/light/bigfloorlamp/flicker
auto_flicker = TRUE
/obj/machinery/light_construct/bigfloorlamp
name = "big floor light fixture frame"
desc = "A big floor light fixture under construction."
icon = 'icons/obj/lighting32x64.dmi'
icon_state = "big_flamp-construct-stage1"
stage = 1
anchored = FALSE
fixture_type = /obj/machinery/light/bigfloorlamp
sheets_refunded = 3
/obj/machinery/light_construct/bigfloorlamp/update_icon()
switch(stage)
if(1)
icon_state = "big_flamp-construct-stage1"
if(2)
icon_state = "big_flamp-construct-stage2"
if(3)
icon_state = "big_flamp-empty"
// Fairy lights
/obj/item/light/bulb/smol
brightness_range = 1
brightness_power = 0.5
nightshift_range = 1
nightshift_power = 0.25
/obj/machinery/light/small/fairylights
icon = 'icons/obj/lighting.dmi'
icon_state = "fairy_lights1"
base_state = "fairy_lights"
desc = "A set of lights on a long string of wire, anchored to the walls."
light_type = /obj/item/light/bulb/smol
shows_alerts = FALSE
anchored = TRUE
plane = ABOVE_MOB_PLANE
layer = ABOVE_MOB_LAYER
construct_type = null
overlay_color = LIGHT_COLOR_INCANDESCENT_BULB
overlay_above_everything = TRUE
color = "#3e5064"
/obj/machinery/light/small/fairylights/broken(var/skip_sound_and_sparks = FALSE)
return
/obj/machinery/light/small/fairylights/flicker
auto_flicker = TRUE
/obj/machinery/light
var/image/overlay_layer = null
var/overlay_above_everything = TRUE
/obj/machinery/light/proc/add_light_overlay(do_color = TRUE, provided_state = null)
remove_light_overlay()
if(provided_state)
overlay_layer = image(icon, "[provided_state]-overlay")
else
overlay_layer = image(icon, "[base_state]-overlay")
overlay_layer.appearance_flags = RESET_COLOR|KEEP_APART
if(overlay_color && do_color)
overlay_layer.color = overlay_color
if(overlay_above_everything)
overlay_layer.plane = PLANE_LIGHTING_ABOVE
else
overlay_layer.plane = PLANE_EMISSIVE
add_overlay(overlay_layer)
/obj/machinery/light/proc/remove_light_overlay()
if(overlay_layer)
cut_overlay(overlay_layer)
qdel(overlay_layer)
overlay_layer = null
/obj/machinery/light/lamppost
icon = 'icons/obj/lighting32x64.dmi'
icon_state = "lamppost1"
base_state = "lamppost"
desc = "A tall lampost that extends over an area"
light_type = /obj/item/light/bulb
shows_alerts = FALSE
anchored = TRUE
plane = ABOVE_MOB_PLANE
layer = ABOVE_MOB_LAYER
construct_type = null
overlay_color = LIGHT_COLOR_INCANDESCENT_BULB
overlay_above_everything = TRUE
/*
/obj/machinery/light_construct/bigfloorlamp
name = "big floor light fixture frame"
desc = "A big floor light fixture under construction."
icon = 'icons/obj/lighting32x64.dmi'
icon_state = "big_flamp-construct-stage1"
stage = 1
anchored = FALSE
fixture_type = /obj/machinery/light/bigfloorlamp
sheets_refunded = 1
/obj/machinery/light_construct/bigfloorlamp/update_icon()
switch(stage)
if(1)
icon_state = "big_flamp-construct-stage1"
if(2)
icon_state = "big_flamp-construct-stage2"
if(3)
icon_state = "big_flamp-empty"
*/
/obj/item/light/bulb/torch
brightness_range = 6
color = "#fabf87"
brightness_color = "#fabf87"
init_brightness_range = 6
/obj/machinery/light/small/torch
icon = 'icons/obj/lighting.dmi'
name = "wall torch"
icon_state = "torch1"
base_state = "torch"
desc = "A small torch held in a wall sconce."
light_type = /obj/item/light/bulb/torch
shows_alerts = FALSE
anchored = TRUE
plane = ABOVE_MOB_PLANE
layer = ABOVE_MOB_LAYER
construct_type = null
overlay_color = LIGHT_COLOR_INCANDESCENT_BULB
overlay_above_everything = TRUE
/obj/machinery/light/small/torch/attackby()
return
/obj/machinery/light/broken
icon_state = "tube-broken"
/obj/machinery/light/broken/Initialize(mapload)
. = ..()
broken()
/obj/machinery/light/broken/small
icon_state = "bulb-broken"
/obj/machinery/light/broken/small/Initialize(mapload)
. = ..()
broken()