From e1249fc64052639b2ce5a7b1c1f7945a2e2a4165 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Sun, 10 May 2015 09:48:04 -0700 Subject: [PATCH 1/6] Lighting overhaul. This commit overhauls the lighting system to Bay12 standards. It is better in pretty much every way. --- .../components/unary/vent_pump.dm | 2 - .../components/unary/vent_scrubber.dm | 2 - code/LINDA/LINDA_fire.dm | 4 +- code/__HELPERS/game.dm | 21 +- code/__HELPERS/unsorted.dm | 4 +- code/controllers/Processes/lighting.dm | 26 - code/controllers/_DynamicAreaLighting_TG.dm | 449 ------------------ code/controllers/failsafe.dm | 21 - code/controllers/lighting_controller.dm | 127 ----- code/controllers/verbs.dm | 11 +- code/game/area/Space Station 13 areas.dm | 23 +- code/game/area/areas.dm | 143 +++--- code/game/atoms.dm | 2 +- code/game/atoms_movable.dm | 18 +- code/game/dna/genes/goon_powers.dm | 8 +- code/game/gamemodes/blob/theblob.dm | 4 +- code/game/gamemodes/cult/cult_structures.dm | 3 +- code/game/gamemodes/events/biomass.dm | 7 +- code/game/gamemodes/events/spacevines.dm | 7 +- .../shadowling/shadowling_abilities.dm | 8 +- code/game/gamemodes/vampire/vampire_powers.dm | 13 +- code/game/machinery/Sleeper.dm | 6 +- code/game/machinery/adv_med.dm | 6 +- code/game/machinery/alarm.dm | 38 +- .../atmoalter/area_atmos_computer.dm | 12 +- code/game/machinery/bots/bots.dm | 6 +- code/game/machinery/camera/camera.dm | 2 +- code/game/machinery/cloning.dm | 6 +- .../machinery/computer/HolodeckControl.dm | 4 +- code/game/machinery/computer/Operating.dm | 2 +- code/game/machinery/computer/aifixer.dm | 4 +- code/game/machinery/computer/arcade.dm | 6 +- code/game/machinery/computer/atmos_alert.dm | 2 +- code/game/machinery/computer/camera.dm | 62 +-- code/game/machinery/computer/card.dm | 2 +- code/game/machinery/computer/cloning.dm | 24 +- .../game/machinery/computer/communications.dm | 10 +- code/game/machinery/computer/computer.dm | 8 +- code/game/machinery/computer/law.dm | 4 +- code/game/machinery/computer/medical.dm | 2 +- code/game/machinery/computer/message.dm | 4 +- code/game/machinery/computer/power.dm | 8 +- code/game/machinery/computer/prisoner.dm | 2 +- code/game/machinery/computer/robot.dm | 2 +- code/game/machinery/computer/security.dm | 2 +- code/game/machinery/computer/shuttle.dm | 4 +- code/game/machinery/computer/station_alert.dm | 2 +- code/game/machinery/computer/store.dm | 2 +- code/game/machinery/cryo.dm | 6 +- code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/doors/alarmlock.dm | 2 - code/game/machinery/doors/brigdoors.dm | 4 +- code/game/machinery/doors/door.dm | 6 +- code/game/machinery/doors/poddoor.dm | 138 +++--- code/game/machinery/doors/shutters.dm | 6 +- code/game/machinery/doors/windowdoor.dm | 4 +- code/game/machinery/flasher.dm | 6 +- code/game/machinery/floodlight.dm | 6 +- code/game/machinery/hologram.dm | 12 +- code/game/machinery/hydroponics.dm | 31 +- code/game/machinery/igniter.dm | 4 +- code/game/machinery/lightswitch.dm | 13 +- code/game/machinery/newscaster.dm | 2 +- code/game/machinery/telecomms/logbrowser.dm | 4 +- code/game/machinery/telecomms/telemonitor.dm | 4 +- .../machinery/telecomms/traffic_control.dm | 6 +- code/game/machinery/turntable.dm | 19 +- code/game/machinery/turret_control.dm | 14 +- code/game/machinery/turrets.dm | 10 +- code/game/mecha/equipment/tools/tools.dm | 6 +- code/game/mecha/mecha.dm | 4 +- code/game/objects/effects/aliens.dm | 2 +- code/game/objects/effects/anomalies.dm | 2 +- .../objects/effects/decals/Cleanable/misc.dm | 2 +- code/game/objects/effects/glowshroom.dm | 2 +- code/game/objects/explosion.dm | 10 +- code/game/objects/items/blueprints.dm | 28 +- code/game/objects/items/candle.dm | 17 +- code/game/objects/items/devices/PDA/PDA.dm | 16 +- code/game/objects/items/devices/flashlight.dm | 30 +- .../objects/items/devices/lightreplacer.dm | 10 +- code/game/objects/items/devices/powersink.dm | 8 +- .../objects/items/weapons/cigs_lighters.dm | 17 +- code/game/objects/structures/false_walls.dm | 4 +- code/game/objects/structures/mineral_doors.dm | 2 +- code/game/objects/structures/spirit_board.dm | 12 +- code/game/objects/structures/window.dm | 52 +- code/game/supplyshuttle.dm | 8 +- code/game/turfs/simulated/floor.dm | 14 +- code/game/turfs/simulated/floor_types.dm | 5 +- code/game/turfs/space/space.dm | 1 + code/game/turfs/turf.dm | 25 +- code/game/vehicles/spacepods/spacepod.dm | 4 +- code/modules/admin/verbs/massmodvar.dm | 28 +- code/modules/admin/verbs/modifyvariables.dm | 4 +- code/modules/clothing/head/hardhat.dm | 16 +- code/modules/clothing/spacesuits/plasmamen.dm | 12 +- code/modules/clothing/spacesuits/rig.dm | 20 +- code/modules/computer3/computer.dm | 10 +- code/modules/computer3/networking.dm | 7 +- code/modules/events/infestation.dm | 8 +- code/modules/hydroponics/vines.dm | 13 +- code/modules/jungle/falsewall.dm | 4 +- code/modules/jungle/misc_helpers.dm | 2 +- code/modules/lighting/__lighting_docs.dm | 67 +++ code/modules/lighting/_lighting_defs.dm | 10 + code/modules/lighting/light_source.dm | 169 +++++++ code/modules/lighting/lighting_atom.dm | 81 ++++ code/modules/lighting/lighting_overlay.dm | 48 ++ code/modules/lighting/lighting_process.dm | 23 + code/modules/lighting/lighting_system.dm | 47 ++ code/modules/lighting/lighting_turf.dm | 29 ++ code/modules/lighting/~lighting_underfs.dm | 10 + .../media/broadcast/transmitters/broadcast.dm | 6 +- code/modules/mining/machine_processing.dm | 2 +- code/modules/mining/mine_items.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 21 +- code/modules/mob/living/carbon/monkey/life.dm | 9 +- code/modules/mob/living/living_defense.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 16 +- .../silicon/ai/freelook/update_triggers.dm | 2 +- code/modules/mob/living/silicon/ai/life.dm | 26 +- .../silicon/robot/drone/drone_abilities.dm | 4 +- .../living/simple_animal/friendly/corgi.dm | 6 +- .../mob/living/simple_animal/friendly/crab.dm | 2 +- .../living/simple_animal/hostile/statue.dm | 14 +- code/modules/mob/mob_defines.dm | 2 +- code/modules/power/apc.dm | 9 +- code/modules/power/cable.dm | 2 +- code/modules/power/lighting.dm | 73 ++- code/modules/power/power.dm | 29 +- .../power/singularity/containment_field.dm | 2 +- code/modules/power/singularity/singularity.dm | 2 +- code/modules/projectiles/gun.dm | 32 +- .../reagent_containers/food/snacks/grown.dm | 20 +- code/modules/supermatter/supermatter.dm | 12 +- code/modules/vehicle/vehicle.dm | 6 +- code/modules/virus2/effect.dm | 4 +- code/setup.dm | 2 + icons/effects/lighting_overlay.dmi | Bin 0 -> 260 bytes paradise.dme | 12 +- 141 files changed, 1195 insertions(+), 1449 deletions(-) delete mode 100644 code/controllers/Processes/lighting.dm delete mode 100644 code/controllers/_DynamicAreaLighting_TG.dm delete mode 100644 code/controllers/lighting_controller.dm create mode 100644 code/modules/lighting/__lighting_docs.dm create mode 100644 code/modules/lighting/_lighting_defs.dm create mode 100644 code/modules/lighting/light_source.dm create mode 100644 code/modules/lighting/lighting_atom.dm create mode 100644 code/modules/lighting/lighting_overlay.dm create mode 100644 code/modules/lighting/lighting_process.dm create mode 100644 code/modules/lighting/lighting_system.dm create mode 100644 code/modules/lighting/lighting_turf.dm create mode 100644 code/modules/lighting/~lighting_underfs.dm create mode 100644 icons/effects/lighting_overlay.dmi diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index b9bbbdc82e5..5b9ce52bb25 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -56,8 +56,6 @@ /obj/machinery/atmospherics/unary/vent_pump/New() icon = null initial_loc = get_area(loc) - if (initial_loc.master) - initial_loc = initial_loc.master area_uid = initial_loc.uid if (!id_tag) assign_uid() diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index b5596305577..bafdbd43e3b 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -35,8 +35,6 @@ /obj/machinery/atmospherics/unary/vent_scrubber/New() icon = null initial_loc = get_area(loc) - if (initial_loc.master) - initial_loc = initial_loc.master area_uid = initial_loc.uid if (!id_tag) assign_uid() diff --git a/code/LINDA/LINDA_fire.dm b/code/LINDA/LINDA_fire.dm index 0f173f97fda..822c96f6632 100644 --- a/code/LINDA/LINDA_fire.dm +++ b/code/LINDA/LINDA_fire.dm @@ -47,7 +47,8 @@ icon = 'icons/effects/fire.dmi' icon_state = "1" layer = TURF_LAYER - luminosity = 3 + + light_color = "#ED9200" var/volume = 125 var/temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST @@ -56,6 +57,7 @@ /obj/effect/hotspot/New() ..() + set_light(7) air_master.hotspots += src /obj/effect/hotspot/proc/perform_exposure() diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index c8ddbc6e40a..3f53eef443d 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -13,7 +13,7 @@ var/area/A = get_area(O) if (isarea(A)) - return A.master + return A /proc/get_area(O) var/atom/location = O @@ -51,21 +51,6 @@ return heard - - - -//Magic constants obtained by using linear regression on right-angled triangles of sides 0=dy) return (k1*dx) + (k2*dy) //No sqrt or powers :) - else return (k1*dx) + (k2*dy) -#undef k1 -#undef k2 - /proc/circlerange(center=usr,radius=3) var/turf/centerturf = get_turf(center) @@ -317,7 +302,7 @@ proc/isInSight(var/atom/A, var/atom/B) if(override_age || player_old_enough_antag(G.client,be_special_flag)) candidates += G.client afk_bracket += 600 // Add a minute to the bracket, for every attempt - + return candidates /proc/ScreenText(obj/O, maptext="", screen_loc="CENTER-7,CENTER-7", maptext_height=480, maptext_width=480) @@ -456,6 +441,6 @@ proc/isInSight(var/atom/A, var/atom/B) /proc/MinutesToTicks(var/minutes as num) return minutes * 60 * 10 - + /proc/SecondsToTicks(var/seconds) return seconds * 10 \ No newline at end of file diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index c269df248b5..d95a0ea6ce8 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1019,7 +1019,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl // if(AR.lighting_use_dynamic) //TODO: rewrite this code so it's not messed by lighting ~Carn // X.opacity = !X.opacity -// X.SetOpacity(!X.opacity) +// X.set_opacity(!X.opacity) toupdate += X @@ -1175,7 +1175,7 @@ proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0) // if(AR.lighting_use_dynamic) // X.opacity = !X.opacity -// X.sd_SetOpacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn +// X.sd_set_opacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn toupdate += X diff --git a/code/controllers/Processes/lighting.dm b/code/controllers/Processes/lighting.dm deleted file mode 100644 index bbf9ecd2f99..00000000000 --- a/code/controllers/Processes/lighting.dm +++ /dev/null @@ -1,26 +0,0 @@ -/datum/controller/process/lighting/setup() - name = "lighting" - schedule_interval = 5 // every .5 second - lighting_controller.Initialize() - -/datum/controller/process/lighting/doWork() - lighting_controller.lights_workload_max = \ - max(lighting_controller.lights_workload_max, lighting_controller.lights.len) - - for(var/datum/light_source/L in lighting_controller.lights) - if(L && L.check()) - lighting_controller.lights.Remove(L) - - scheck() - - lighting_controller.changed_turfs_workload_max = \ - max(lighting_controller.changed_turfs_workload_max, lighting_controller.changed_turfs.len) - - for(var/turf/T in lighting_controller.changed_turfs) - if(T && T.lighting_changed) - T.shift_to_subarea() - - scheck() - - if(lighting_controller.changed_turfs && lighting_controller.changed_turfs.len) - lighting_controller.changed_turfs.len = 0 // reset the changed list diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm deleted file mode 100644 index 7ed1a047a0d..00000000000 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ /dev/null @@ -1,449 +0,0 @@ -/* - Modified DynamicAreaLighting for TGstation - Coded by Carnwennan - - This is TG's 'new' lighting system. It's basically a heavily modified combination of Forum_Account's and - ShadowDarke's respective lighting libraries. Credits, where due, to them. - - Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas - by using the var/tag variable and moving turfs into the contents list of the correct sub-area. This method is - much less costly than using overlays or objects. - - Unlike sd_DAL however it uses a queueing system. Everytime we call a change to opacity or luminosity - (through SetOpacity() or SetLuminosity()) we are simply updating variables and scheduling certain lights/turfs for an - update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it - means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control - over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by - setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then - turning it back on with lighting_controller.processing = 1. - - Unlike our old system there are hardcoded maximum luminositys (different for certain atoms). - This is to cap the cost of creating lighting effects. - (without this, an atom with luminosity of 20 would have to update 41^2 turfs!) :s - - Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to - have larger memory requirements than our previous system but it's easily worth the hassle for the greater control we - gain. It also reduces cost of removing lighting effects by a lot! - - Known Issues/TODO: - Shuttles still do not have support for dynamic lighting (I hope to fix this at some point) - No directional lighting support. (prototype looked ugly) -*/ - -#define LIGHTING_CIRCULAR 1 //comment this out to use old square lighting effects. -#define LIGHTING_LAYER 10 //Drawing layer for lighting overlays -#define LIGHTING_ICON 'icons/effects/ss13_dark_alpha6.dmi' //Icon used for lighting shading effects - -datum/light_source - var/atom/owner - var/changed = 1 - var/list/effect = list() - var/__x = 0 //x coordinate at last update - var/__y = 0 //y coordinate at last update - var/__z = 0 //z coordinate at last update - - var/_l_color //do not use directly, only used as reference for updating - var/col_r - var/col_g - var/col_b - - - New(atom/A) - if(!istype(A)) - CRASH("The first argument to the light object's constructor must be the atom that is the light source. Expected atom, received '[A]' instead.") - ..() - owner = A - readrgb(owner.l_color) - __x = owner.x - __y = owner.y - __z = owner.z - // the lighting object maintains a list of all light sources - lighting_controller.lights += src - - - //Check a light to see if its effect needs reprocessing. If it does, remove any old effect and create a new one - proc/check() - if(!owner) - remove_effect() - return 1 //causes it to be removed from our list of lights. The garbage collector will then destroy it. - - // check to see if we've moved since last update - if(owner.x != __x || owner.y != __y || owner.z != __z) - __x = owner.x - __y = owner.y - __z = owner.z - changed = 1 - - if (owner.l_color != _l_color) - changed = 1 - - if(changed) - changed = 0 - remove_effect() - return add_effect() - return 0 - - - proc/remove_effect() - // before we apply the effect we remove the light's current effect. - for(var/turf/T in effect) // negate the effect of this light source - T.update_lumcount(-effect[T], col_r, col_g, col_b, 1) - effect.Cut() // clear the effect list - - proc/add_effect() - // only do this if the light is turned on and is on the map - if(owner.loc && owner.luminosity > 0) - readrgb(owner.l_color) - effect = list() - for(var/turf/T in view(owner.get_light_range(),get_turf(owner))) - var/delta_lumen = lum(T) - if(delta_lumen > 0) - effect[T] = delta_lumen - T.update_lumcount(delta_lumen, col_r, col_g, col_b, 0) - - return 0 - else - owner.light = null - return 1 //cause the light to be removed from the lights list and garbage collected once it's no - //longer referenced by the queue - - proc/lum(turf/A) - if (owner.trueLuminosity < 1) - return 0 - var/dist - if(!A) - dist = 0 - else -#ifdef LIGHTING_CIRCULAR - dist = cheap_hypotenuse(A.x, A.y, __x, __y) -#else - dist = max(abs(A.x - __x), abs(A.y - __y)) -#endif - if (owner.trueLuminosity > 100) // This will never happen... right? - return sqrt(owner.trueLuminosity) - dist - else - return sqrtTable[owner.trueLuminosity] - dist - - proc/readrgb(col) - _l_color = col - if(col) - col_r = GetRedPart(col) - col_g = GetGreenPart(col) - col_b = GetBluePart(col) - else - col_r = null - -atom - var/datum/light_source/light - var/trueLuminosity = 0 // Typically 'luminosity' squared. The builtin luminosity must remain linear. - // We may read it, but NEVER set it directly. - var/l_color - -//Turfs with opacity when they are constructed will trigger nearby lights to update -//Turfs and atoms with luminosity when they are constructed will create a light_source automatically -turf/New() - ..() - if(luminosity) - if(light) WARNING("[type] - Don't set lights up manually during New(), We do it automatically.") - trueLuminosity = luminosity * luminosity - light = new(src) - -//Movable atoms with opacity when they are constructed will trigger nearby lights to update -//Movable atoms with luminosity when they are constructed will create a light_source automatically -atom/movable/New() - ..() - if(opacity) - if(isturf(loc)) - if(loc:lighting_lumcount > 1) - UpdateAffectingLights() - if(luminosity) - if(light) WARNING("[type] - Don't set lights up manually during New(), We do it automatically.") - trueLuminosity = luminosity * luminosity - light = new(src) - - -//Sets our luminosity. -//If we have no light it will create one. -//If we are setting luminosity to 0 the light will be cleaned up by the controller and garbage collected once all its -//queues are complete. -//if we have a light already it is merely updated, rather than making a new one. -atom/proc/SetLuminosity(new_luminosity, trueLum = FALSE) - if(new_luminosity < 0) - new_luminosity = 0 - if(!trueLum) - new_luminosity *= new_luminosity - if(light) - if(trueLuminosity != new_luminosity) //non-luminous lights are removed from the lights list in add_effect() - light.changed = 1 - else - if(new_luminosity) - light = new(src) - trueLuminosity = new_luminosity - if (trueLuminosity < 1) - luminosity = 0 - else if (trueLuminosity <= 100) - luminosity = sqrtTable[trueLuminosity] - else - luminosity = sqrt(trueLuminosity) - -atom/proc/AddLuminosity(delta_luminosity) - if(delta_luminosity > 0) - SetLuminosity(trueLuminosity + delta_luminosity*delta_luminosity, TRUE) - else if(delta_luminosity < 0) - SetLuminosity(trueLuminosity - delta_luminosity*delta_luminosity, TRUE) - -area/SetLuminosity(new_luminosity) //we don't want dynamic lighting for areas - luminosity = !!new_luminosity - trueLuminosity = luminosity - - -//change our opacity (defaults to toggle), and then update all lights that affect us. -atom/proc/SetOpacity(new_opacity) - if(new_opacity == null) - new_opacity = !opacity //default = toggle opacity - else if(opacity == new_opacity) - return 0 //opacity hasn't changed! don't bother doing anything - opacity = new_opacity //update opacity, the below procs now call light updates. - return 1 - -turf/SetOpacity(new_opacity) - if(..()==1) //only bother if opacity changed - if(lighting_lumcount) //only bother with an update if our turf is currently affected by a light - UpdateAffectingLights() - -/atom/movable/SetOpacity(new_opacity) - if(..()==1) //only bother if opacity changed - if(isturf(loc)) //only bother with an update if we're on a turf - var/turf/T = loc - if(T.lighting_lumcount) //only bother with an update if our turf is currently affected by a light - UpdateAffectingLights() - - -turf - var/lighting_lumcount = 0 - var/lighting_changed = 0 - var/color_lighting_lumcount = 0 - - var/lumcount_r = 0 - var/lumcount_g = 0 - var/lumcount_b = 0 - var/light_col_sources = 0 - -turf/space - lighting_lumcount = 4 //starlight - -turf/proc/update_lumcount(amount, col_r, col_g, col_b, removing = 0) - lighting_lumcount += amount - - if(!isnull(col_r)) //col_r is the "key" var, if it's null so will the rest - if(removing) - light_col_sources-- - lumcount_r -= col_r - lumcount_g -= col_g - lumcount_b -= col_b - else - light_col_sources++ - lumcount_r += col_r - lumcount_g += col_g - lumcount_b += col_b - - if(light_col_sources) - var/r_avg = max(0, min(255, round(lumcount_r / light_col_sources, 16) + 15)) - var/g_avg = max(0, min(255, round(lumcount_g / light_col_sources, 16) + 15)) - var/b_avg = max(0, min(255, round(lumcount_b / light_col_sources, 16) + 15)) - l_color = rgb(r_avg, g_avg, b_avg) - else - l_color = null - - color_lighting_lumcount = max(color_lighting_lumcount + amount, 0) // Minimum of 0. - - if(!lighting_changed) - lighting_controller.changed_turfs += src - lighting_changed = 1 - -turf/proc/lighting_tag(const/level) - var/area/A = loc - return A.tagbase + "sd_L[level]" - -turf/proc/build_lighting_area(const/tag, const/level, const/color_light) - var/area/Area = loc - var/area/A = new Area.type() // create area if it wasn't found - // replicate vars - for(var/V in Area.vars) - switch(V) - if ("contents","lighting_overlay", "color_overlay", "overlays") - continue - else - if(issaved(Area.vars[V])) A.vars[V] = Area.vars[V] - - A.tag = tag - A.lighting_subarea = 1 - A.lighting_space = 0 // in case it was copied from a space subarea - - if (l_color != A.l_color) - A.l_color = l_color - //color_light = min(max(round(color_lighting_lumcount, 1), 0), lighting_controller.lighting_states) - //world << "[color_light] [color_lighting_lumcount]" - - A.SetLightLevel(level, color_light) - Area.related += A - return A - -turf/proc/shift_to_subarea() - lighting_changed = 0 - var/area/Area = loc - - if(!istype(Area) || !Area.lighting_use_dynamic) return - - var/level = min(max(round(lighting_lumcount,1),0),lighting_controller.lighting_states) - var/new_tag = lighting_tag(level) - - // pomf - If we have a lighting color that is not null, apply the new tag to seperate the areas. - if (l_color) - // pomf - We append the (rounded!) color lighting lumcount so we can have colored lights. - new_tag += "[l_color][min(max(round(color_lighting_lumcount,1),0),lighting_controller.lighting_states)]" - - if(Area.tag!=new_tag) //skip if already in this area - var/area/A = locate(new_tag) // find an appropriate area - var/color_light = min(max(round(color_lighting_lumcount,1),0),lighting_controller.lighting_states) - - if (!A) - A = build_lighting_area(new_tag, level, color_light) - else if (l_color != A.l_color) - A.l_color = l_color - //color_light = min(max(round(color_lighting_lumcount, 1), 0), lighting_controller.lighting_states) - A.SetLightLevel(level, color_light) - - A.contents += src // move the turf into the area - -// Dedicated lighting sublevel for space turfs -// helps us depower things in space, remove space fire alarms, -// and evens out space lighting -turf/space/lighting_tag(var/level) - var/area/A = loc - return A.tagbase + "sd_L_space" -turf/space/build_lighting_area(var/tag,var/level) - var/area/A = ..(tag,4) - A.lighting_space = 1 - A.SetLightLevel(4) - A.icon_state = null - return A - - -area - var/lighting_use_dynamic = 1 //Turn this flag off to prevent sd_DynamicAreaLighting from affecting this area - var/image/lighting_overlay //tracks the darkness image of the area for easy removal - var/lighting_subarea = 0 //tracks whether we're a lighting sub-area - var/lighting_space = 0 // true for space-only lighting subareas - var/tagbase - var/image/color_overlay //Tracks the color image. - - proc/SetLightLevel(light, color_light = 0) - if(!src) return - if(light <= 0) - light = 0 - luminosity = 0 - else - if(light > lighting_controller.lighting_states) - light = lighting_controller.lighting_states - luminosity = 1 - - if(lighting_overlay) - overlays -= lighting_overlay - lighting_overlay.icon_state = "[light]" - else - lighting_overlay = image(LIGHTING_ICON,,num2text(light),LIGHTING_LAYER) - - if (color_overlay) - overlays.Remove(color_overlay) - color_overlay.icon_state = "5" - else - if (l_color) - color_overlay = image('icons/effects/effects.dmi', ,"5", 10.1) - //color_overlay = image('icons/effects/effects.dmi', ,"white", 10.1) - - if (istype(color_overlay)) - color_overlay.color = l_color - - - switch (color_light) - if (6) - color_overlay.icon_state = "5" - //color_overlay.alpha = 180 - if (5) - color_overlay.icon_state = "4" - //color_overlay.alpha = 150 - if (4) - color_overlay.icon_state = "3" - //color_overlay.alpha = 120 - if (3) - color_overlay.icon_state = "2" - //color_overlay.alpha = 90 - if (2) - color_overlay.icon_state = "1" - //color_overlay.alpha = 60 - if (1) - color_overlay.icon_state = "1" - color_overlay.alpha = 200 - //color_overlay.alpha = 30 - if (-INFINITY to 0) - //world << "Zero or below, [color_light]." - color_overlay.alpha = 0 - else - //world << "Setting the alpha to max... color_light [color_light]." - color_overlay.alpha = 180 - - color_overlay.blend_mode = BLEND_ADD - if (color_overlay.color) - overlays.Add(color_overlay) - - if (isnull(color_overlay)) - overlays.Add(lighting_overlay) - else if (light < 6) - overlays.Add(lighting_overlay) - - proc/SetDynamicLighting() - - src.lighting_use_dynamic = 1 - for(var/turf/T in src.contents) - T.update_lumcount(0) - - proc/InitializeLighting() //TODO: could probably improve this bit ~Carn - tagbase = "[type]" - if(!tag) tag = tagbase - if(!lighting_use_dynamic) - if(!lighting_subarea) // see if this is a lighting subarea already - //show the dark overlay so areas, not yet in a lighting subarea, won't be bright as day and look silly. - SetLightLevel(4) - -//#undef LIGHTING_LAYER -#undef LIGHTING_CIRCULAR -//#undef LIGHTING_ICON - -#define LIGHTING_MAX_LUMINOSITY_STATIC 8 //Maximum luminosity to reduce lag. -#define LIGHTING_MAX_LUMINOSITY_MOBILE 5 //Moving objects have a lower max luminosity since these update more often. (lag reduction) -#define LIGHTING_MAX_LUMINOSITY_TURF 1 //turfs have a severely shortened range to protect from inevitable floor-lighttile spam. - -//set the changed status of all lights which could have possibly lit this atom. -//We don't need to worry about lights which lit us but moved away, since they will have change status set already -//This proc can cause lots of lights to be updated. :( -atom/proc/UpdateAffectingLights() - for(var/atom/A in oview(LIGHTING_MAX_LUMINOSITY_STATIC-1,src)) - if(A.light) - A.light.changed = 1 //force it to update at next process() - -//caps luminosity effects max-range based on what type the light's owner is. -atom/proc/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_STATIC) - -atom/movable/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_MOBILE) - -obj/machinery/light/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_STATIC) - -turf/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_TURF) - -#undef LIGHTING_MAX_LUMINOSITY_STATIC -#undef LIGHTING_MAX_LUMINOSITY_MOBILE -#undef LIGHTING_MAX_LUMINOSITY_TURF diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index a2a6274a8ab..02259c274da 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -14,10 +14,6 @@ var/global/datum/controller/failsafe/failsafe var/masterControllerIteration = 0 var/masterControllerAlertLevel = 0 - // lighting - var/lightingControllerIteration = 0 - var/lightingControllerAlertLevel = 0 - /datum/controller/failsafe/New() . = ..() @@ -58,21 +54,4 @@ var/global/datum/controller/failsafe/failsafe masterControllerAlertLevel = 0 masterControllerIteration = master_controller.iteration - if(lighting_controller.processing) - if(lightingControllerIteration == lighting_controller.iteration) // Lighting controller hasn't finished processing in the defined interval. - switch(lightingControllerAlertLevel) - if(0 to 3) - lightingControllerAlertLevel++ - if(4) - admins << "Warning. The lighting_controller controller has not fired in the last [lightingControllerAlertLevel * processing_interval] ticks. Automatic restart in [processing_interval] ticks." - lightingControllerAlertLevel = 5 - if(5) - admins << "Warning. The lighting_controller controller has still not fired within the last [lightingControllerAlertLevel * processing_interval] ticks. Killing and restarting..." - new /datum/controller/lighting() // Replace the old lighting_controller (hence killing the old one's process). - lighting_controller.process() // Start it rolling again. - lightingControllerAlertLevel = 0 - else - lightingControllerAlertLevel = 0 - lightingControllerIteration = lighting_controller.iteration - sleep(processing_interval) diff --git a/code/controllers/lighting_controller.dm b/code/controllers/lighting_controller.dm deleted file mode 100644 index a7decbc1185..00000000000 --- a/code/controllers/lighting_controller.dm +++ /dev/null @@ -1,127 +0,0 @@ -var/datum/controller/lighting/lighting_controller = new () - -datum/controller/lighting - processing_interval = 5 //setting this too low will probably kill the server. Don't be silly with it! - var/process_cost = 0 - - var/lighting_states = 7 - - var/list/lights = list() - var/lights_workload_max = 0 - -// var/list/changed_lights() //TODO: possibly implement this to reduce on overheads? - - var/list/changed_turfs = list() - var/changed_turfs_workload_max = 0 - -datum/controller/lighting/New() - lighting_states = max( 0, length(icon_states(LIGHTING_ICON))-1 ) - if(lighting_controller != src) - if(istype(lighting_controller,/datum/controller/lighting)) - Recover() //if we are replacing an existing lighting_controller (due to a crash) we attempt to preserve as much as we can - qdel(lighting_controller) - lighting_controller = src - - -//Workhorse of lighting. It cycles through each light to see which ones need their effects updating. It updates their -//effects and then processes every turf in the queue, moving the turfs to the corresponing lighting sub-area. -//All queue lists prune themselves, which will cause lights with no luminosity to be garbage collected (cheaper and safer -//than deleting them). Processing interval should be roughly half a second for best results. -//By using queues we are ensuring we don't perform more updates than are necessary -datum/controller/lighting/proc/process() - processing = 1 - spawn(0) - //set background = 1 - while(1) - if(processing) - iteration++ - var/started = world.timeofday - - lights_workload_max = max(lights_workload_max,lights.len) - for(var/i=1, i<=lights.len, i++) - var/datum/light_source/L = lights[i] - if(L && !L.check()) - continue - lights.Cut(i,i+1) - i-- - - sleep(-1) - - changed_turfs_workload_max = max(changed_turfs_workload_max,changed_turfs.len) - for(var/i=1, i<=changed_turfs.len, i++) - var/turf/T = changed_turfs[i] - if(T && T.lighting_changed) - T.shift_to_subarea() - changed_turfs.Cut() // reset the changed list - - process_cost = (world.timeofday - started) - - sleep(processing_interval) - -//same as above except it attempts to shift ALL turfs in the world regardless of lighting_changed status -//Does not loop. Should be run prior to process() being called for the first time. -//Note: if we get additional z-levels at runtime (e.g. if the gateway thin ever gets finished) we can initialize specific -//z-levels with the z_level argument -datum/controller/lighting/proc/Initialize(var/z_level) - processing = 0 - spawn(-1) - //set background = 1 - for(var/i=1, i<=lights.len, i++) - var/datum/light_source/L = lights[i] - if(L.check()) - lights.Cut(i,i+1) - i-- - - var/z_start = 1 - var/z_finish = world.maxz - if(z_level) - z_level = round(z_level,1) - if(z_level > 0 && z_level <= world.maxz) - z_start = z_level - z_finish = z_level - - for(var/k=z_start,k<=z_finish,k++) - for(var/i=1,i<=world.maxx,i++) - for(var/j=1,j<=world.maxy,j++) - var/turf/T = locate(i,j,k) - if(T) T.shift_to_subarea() - - changed_turfs.Cut() // reset the changed list - - -//Used to strip valid information from an existing controller and transfer it to a replacement -//It works by using spawn(-1) to transfer the data, if there is a runtime the data does not get transfered but the loop -//does not crash -datum/controller/lighting/proc/Recover() - if(!istype(lighting_controller.changed_turfs,/list)) - lighting_controller.changed_turfs = list() - if(!istype(lighting_controller.lights,/list)) - lighting_controller.lights = list() - - for(var/i=1, i<=lighting_controller.lights.len, i++) - var/datum/light_source/L = lighting_controller.lights[i] - if(istype(L)) - spawn(-1) //so we don't crash the loop (inefficient) - L.check() - lights += L //If we didn't runtime then this will get transferred over - - for(var/i=1, i<=lighting_controller.changed_turfs.len, i++) - var/turf/T = lighting_controller.changed_turfs[i] - if(istype(T) && T.lighting_changed) - spawn(-1) - T.shift_to_subarea() - - var/msg = "## DEBUG: [time2text(world.timeofday)] lighting_controller restarted. Reports:\n" - for(var/varname in lighting_controller.vars) - switch(varname) - if("tag","bestF","type","parent_type","vars") continue - else - var/varval1 = lighting_controller.vars[varname] - var/varval2 = vars[varname] - if(istype(varval1,/list)) - varval1 = "/list([length(varval1)])" - varval2 = "/list([length(varval2)])" - msg += "\t [varname] = [varval1] -> [varval2]\n" - world.log << msg - -#undef LIGHTING_ICON diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 90e877b0443..3e04e3dc8ae 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -22,7 +22,7 @@ master_controller.asteroid_ore_map = new /datum/ore_distribution() master_controller.asteroid_ore_map.populate_distribution_map() -/client/proc/restart_controller(controller in list("Master","Failsafe","Lighting","Supply")) +/client/proc/restart_controller(controller in list("Master","Failsafe","Supply")) set category = "Debug" set name = "Restart Controller" set desc = "Restart one of the various periodic loop controllers for the game (be careful!)" @@ -38,10 +38,6 @@ if("Failsafe") new /datum/controller/failsafe() feedback_add_details("admin_verb","RFailsafe") - if("Lighting") - new /datum/controller/lighting() - lighting_controller.process() - feedback_add_details("admin_verb","RLighting") if("Supply") supply_controller.process() feedback_add_details("admin_verb","RSupply") @@ -49,7 +45,7 @@ return -/client/proc/debug_controller(controller in list("Master","failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply","Shuttles","Emergency Shuttle","Configuration","pAI", "Cameras","Garbage", "Transfer Controller","Event","Scheduler")) +/client/proc/debug_controller(controller in list("Master","failsafe","Ticker","Air","Jobs","Sun","Radio","Supply","Shuttles","Emergency Shuttle","Configuration","pAI", "Cameras","Garbage", "Transfer Controller","Event","Scheduler")) set category = "Debug" set name = "Debug Controller" set desc = "Debug the various periodic loop controllers for the game (be careful!)" @@ -65,9 +61,6 @@ if("Ticker") debug_variables(ticker) feedback_add_details("admin_verb","DTicker") - if("Lighting") - debug_variables(lighting_controller) - feedback_add_details("admin_verb","DLighting") if("Air") debug_variables(air_master) feedback_add_details("admin_verb","DAir") diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 590324593c2..f9c041f82af 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -28,8 +28,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon = 'icons/turf/areas.dmi' icon_state = "unknown" layer = 10 + luminosity = 1 mouse_opacity = 0 - invisibility = INVISIBILITY_LIGHTING var/lightswitch = 1 var/eject = null @@ -50,9 +50,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station var/has_gravity = 1 var/list/apc = list() var/no_air = null - var/area/master // master area used for power calcluations - // (original area before splitting due to sd_DAL) - var/list/related // the other areas of the same type as this // var/list/lights // list of all lights on this area var/list/all_doors = list() //Added by Strumpetplaya - Alarm Change - Contains a list of doors adjacent to this area var/air_doors_activated = 0 @@ -113,14 +110,12 @@ var/list/ghostteleportlocs = list() /area/admin/ name = "\improper Admin Room" icon_state = "start" - lighting_use_dynamic = 0 requires_power = 0 /area/adminconstruction name = "\improper Admin Testing Area" icon_state = "start" - lighting_use_dynamic = 0 requires_power = 0 @@ -128,10 +123,8 @@ var/list/ghostteleportlocs = list() //place to another. Look at escape shuttle for example. //All shuttles show now be under shuttle since we have smooth-wall code. -/area/shuttle //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/shuttle requires_power = 0 - luminosity = 1 - lighting_use_dynamic = 0 /area/shuttle/arrival name = "\improper Arrival Shuttle" @@ -232,29 +225,21 @@ var/list/ghostteleportlocs = list() icon_state = "shuttle" name = "\improper Alien Shuttle Base" requires_power = 1 - luminosity = 0 - lighting_use_dynamic = 1 /area/shuttle/alien/mine icon_state = "shuttle" name = "\improper Alien Shuttle Mine" requires_power = 1 - luminosity = 0 - lighting_use_dynamic = 1 /area/shuttle/gamma/space icon_state = "shuttle" name = "\improper Gamma Armory" requires_power = 0 - luminosity = 0 - lighting_use_dynamic = 1 /area/shuttle/gamma/station icon_state = "shuttle" name = "\improper Gamma Armory Station" requires_power = 0 - luminosity = 0 - lighting_use_dynamic = 1 /area/shuttle/prison/ name = "\improper Prison Shuttle" @@ -429,6 +414,7 @@ var/list/ghostteleportlocs = list() name = "\improper Centcom" icon_state = "centcom" requires_power = 0 + lighting_use_dynamic = 0 /area/centcom/control name = "\improper Centcom Control" @@ -466,6 +452,7 @@ var/list/ghostteleportlocs = list() name = "\improper Syndicate Mothership" icon_state = "syndie-ship" requires_power = 0 + lighting_use_dynamic = 0 /area/syndicate_mothership/control name = "\improper Syndicate Control Room" @@ -1113,7 +1100,6 @@ var/list/ghostteleportlocs = list() /area/holodeck name = "\improper Holodeck" icon_state = "Holodeck" - luminosity = 1 lighting_use_dynamic = 0 /area/holodeck/alphadeck @@ -1249,7 +1235,6 @@ var/list/ghostteleportlocs = list() /area/solar requires_power = 0 - luminosity = 1 lighting_use_dynamic = 0 auxport diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index a5e9b3876eb..5c0f20f3cd9 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -8,8 +8,6 @@ /proc/area_contents(var/area/A) if(!istype(A)) return null var/list/contents = list() - for(var/area/LSA in A.related) - contents += LSA.contents return contents // === @@ -20,9 +18,7 @@ /area/New() icon_state = "" layer = 10 - master = src //moved outside the spawn(1) to avoid runtimes in lighting.dm when it references loc.loc.master ~Carn uid = ++global_uid - related = list(src) active_areas += src all_areas += src @@ -36,20 +32,15 @@ // lighting_state = 4 //has_gravity = 0 // Space has gravity. Because.. because. - if(requires_power) - luminosity = 0 - else + if(!requires_power) power_light = 0 //rastaf0 power_equip = 0 //rastaf0 power_environ = 0 //rastaf0 - luminosity = 1 - lighting_use_dynamic = 0 ..() // spawn(15) power_change() // all machines set to current power level, also updates lighting icon - InitializeLighting() /area/proc/poweralert(var/state, var/obj/source as obj) @@ -57,16 +48,15 @@ poweralm = state if(istype(source)) //Only report power alarms on the z-level where the source is located. var/list/cameras = list() - for (var/area/RA in related) - for (var/obj/machinery/camera/C in RA) - if(!report_alerts) - break - cameras += C - if(state == 1) + for (var/obj/machinery/camera/C in src) + if(!report_alerts) + break + cameras += C + if(state == 1) - C.network.Remove("Power Alarms") - else - C.network.Add("Power Alarms") + C.network.Remove("Power Alarms") + else + C.network.Add("Power Alarms") for (var/mob/living/silicon/aiPlayer in player_list) if(!report_alerts) break @@ -93,15 +83,14 @@ var/danger_level = 0 // Determine what the highest DL reported by air alarms is - for (var/area/RA in related) - for(var/obj/machinery/alarm/AA in RA) - if((AA.stat & (NOPOWER|BROKEN)) || AA.shorted || AA.buildstage != 2) - continue - var/reported_danger_level=AA.local_danger_level - if(AA.alarmActivated) - reported_danger_level=2 - if(reported_danger_level>danger_level) - danger_level=reported_danger_level + for(var/obj/machinery/alarm/AA in src) + if((AA.stat & (NOPOWER|BROKEN)) || AA.shorted || AA.buildstage != 2) + continue + var/reported_danger_level=AA.local_danger_level + if(AA.alarmActivated) + reported_danger_level=2 + if(reported_danger_level>danger_level) + danger_level=reported_danger_level // testing("Danger level at [AA.name]: [AA.local_danger_level] (reported [reported_danger_level])") // testing("Danger level decided upon in [name]: [danger_level] (from [atmosalm])") @@ -111,13 +100,11 @@ // Going to danger level 2 from something else if (danger_level == 2) var/list/cameras = list() - for(var/area/RA in related) - //updateicon() - for(var/obj/machinery/camera/C in RA) - if(!report_alerts) - break - cameras += C - C.network.Add("Atmosphere Alarms") + for(var/obj/machinery/camera/C in src) + if(!report_alerts) + break + cameras += C + C.network.Add("Atmosphere Alarms") for(var/mob/living/silicon/aiPlayer in player_list) if(!report_alerts) break @@ -130,11 +117,10 @@ CloseFirelocks() // Dropping from danger level 2. else if (atmosalm == 2) - for(var/area/RA in related) - for(var/obj/machinery/camera/C in RA) - if(!report_alerts) - break - C.network.Remove("Atmosphere Alarms") + for(var/obj/machinery/camera/C in src) + if(!report_alerts) + break + C.network.Remove("Atmosphere Alarms") for(var/mob/living/silicon/aiPlayer in player_list) if(!report_alerts) break @@ -179,12 +165,11 @@ mouse_opacity = 0 CloseFirelocks() var/list/cameras = list() - for(var/area/RA in related) - for (var/obj/machinery/camera/C in RA) - if(!report_alerts) - continue - cameras.Add(C) - C.network.Add("Fire Alarms") + for (var/obj/machinery/camera/C in src) + if(!report_alerts) + continue + cameras.Add(C) + C.network.Add("Fire Alarms") for (var/mob/living/silicon/ai/aiPlayer in player_list) if(!report_alerts) continue @@ -199,11 +184,10 @@ fire = 0 mouse_opacity = 0 updateicon() - for(var/area/RA in related) - for (var/obj/machinery/camera/C in RA) - if(!report_alerts) - continue - C.network.Remove("Fire Alarms") + for (var/obj/machinery/camera/C in src) + if(!report_alerts) + continue + C.network.Remove("Fire Alarms") for (var/mob/living/silicon/ai/aiPlayer in player_list) if(!report_alerts) continue @@ -293,67 +277,66 @@ /area/proc/powered(var/chan) // return true if the area has power to given channel - if(!master.requires_power) + if(!requires_power) return 1 - if(master.always_unpowered) + if(always_unpowered) return 0 switch(chan) if(EQUIP) - return master.power_equip + return power_equip if(LIGHT) - return master.power_light + return power_light if(ENVIRON) - return master.power_environ + return power_environ return 0 // called when power status changes /area/proc/power_change() - master.powerupdate = 2 - for(var/area/RA in related) - for(var/obj/machinery/M in RA) // for each machine in the area - M.power_change() // reverify power status (to update icons etc.) - if (fire || eject || party) - RA.updateicon() + powerupdate = 2 + for(var/obj/machinery/M in src) // for each machine in the area + M.power_change() // reverify power status (to update icons etc.) + if (fire || eject || party) + updateicon() /area/proc/usage(var/chan) var/used = 0 switch(chan) if(LIGHT) - used += master.used_light + used += used_light if(EQUIP) - used += master.used_equip + used += used_equip if(ENVIRON) - used += master.used_environ + used += used_environ if(TOTAL) - used += master.used_light + master.used_equip + master.used_environ + used += used_light + used_equip + used_environ return used /area/proc/clear_usage() - master.used_equip = 0 - master.used_light = 0 - master.used_environ = 0 + used_equip = 0 + used_light = 0 + used_environ = 0 /area/proc/use_power(var/amount, var/chan) switch(chan) if(EQUIP) - master.used_equip += amount + used_equip += amount if(LIGHT) - master.used_light += amount + used_light += amount if(ENVIRON) - master.used_environ += amount + used_environ += amount /area/proc/use_battery_power(var/amount, var/chan) switch(chan) if(EQUIP) - master.used_equip += amount + used_equip += amount if(LIGHT) - master.used_light += amount + used_light += amount if(ENVIRON) - master.used_environ += amount + used_environ += amount /area/Entered(A) @@ -418,15 +401,11 @@ L.client.played = 0 /area/proc/gravitychange(var/gravitystate = 0, var/area/A) - A.has_gravity = gravitystate - for(var/area/SubA in A.related) - SubA.has_gravity = gravitystate - - if(gravitystate) - for(var/mob/living/carbon/human/M in SubA) - thunk(M) + if(gravitystate) + for(var/mob/living/carbon/human/M in A) + thunk(M) /area/proc/thunk(var/mob/living/carbon/human/M) if(istype(M,/mob/living/carbon/human/)) // Only humans can wear magboots, so we give them a chance to. diff --git a/code/game/atoms.dm b/code/game/atoms.dm index d5317a1586d..a6d56952128 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -34,7 +34,7 @@ var/global/list/ghdel_profiling = list() /atom/Destroy() - SetOpacity(0) + set_opacity(0) if(reagents) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index dcbe4e4462e..148d8d323d6 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -14,6 +14,7 @@ var/no_spin = 0 var/moved_recently = 0 var/mob/pulledby = null + var/simulated //filter for actions - used by lighting overlays var/area/areaMaster var/hard_deleted = 0 @@ -24,23 +25,8 @@ /atom/movable/Destroy() - if(opacity) - if(isturf(loc)) - if(loc:lighting_lumcount > 1) - UpdateAffectingLights() - gcDestroyed = "Bye, world!" - tag = null + . = ..() loc = null -/* - if(istype(beams) && beams.len) - for(var/obj/effect/beam/B in beams) - if(B && B.target == src) - B.target = null - if(B.master && B.master.target == src) - B.master.target = null - beams.len = 0 -*/ - ..() /proc/delete_profile(var/type, code = 0) if(!ticker || !ticker.current_state < 3) return diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index a98313eefdb..39ad38d668f 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -56,7 +56,13 @@ var/turf/simulated/T = get_turf(M) if(!istype(T)) return - if(T.lighting_lumcount <= 2) + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + var/light_available + if(L) + light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) + else + light_available = 5 + if(light_available <= 2) M.alpha = round(255 * 1.15) else M.alpha = round(255 * 0.80) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 7c336b0acab..1ad62999ecf 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -2,7 +2,7 @@ /obj/effect/blob name = "blob" icon = 'icons/mob/blob.dmi' - luminosity = 0 + light_range = 0 desc = "Some blob creature thingy" density = 0 opacity = 0 @@ -146,7 +146,7 @@ health -= damage update_icon() return - + attack_animal(mob/living/simple_animal/M as mob) M.changeNext_move(CLICK_CD_MELEE) M.do_attack_animation(src) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 0b8c0cf6755..126601c31dd 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -18,7 +18,8 @@ name = "Pylon" desc = "A floating crystal that hums with an unearthly energy" icon_state = "pylon" - luminosity = 5 + light_range = 5 + light_color = "#3e0000" /obj/structure/cult/tome diff --git a/code/game/gamemodes/events/biomass.dm b/code/game/gamemodes/events/biomass.dm index 598dad6abd6..e820c1880e6 100644 --- a/code/game/gamemodes/events/biomass.dm +++ b/code/game/gamemodes/events/biomass.dm @@ -166,10 +166,9 @@ var/list/turf/simulated/floor/turfs = list() //list of all the empty floor turfs in the hallway areas for(var/areapath in typesof(/area/hallway)) var/area/A = locate(areapath) - for(var/area/B in A.related) - for(var/turf/simulated/floor/F in B.contents) - if(!F.contents.len) - turfs += F + for(var/turf/simulated/floor/F in A.contents) + if(!F.contents.len) + turfs += F if(turfs.len) //Pick a turf to spawn at if we can var/turf/simulated/floor/T = pick(turfs) diff --git a/code/game/gamemodes/events/spacevines.dm b/code/game/gamemodes/events/spacevines.dm index 03d938a455e..399b13ff660 100644 --- a/code/game/gamemodes/events/spacevines.dm +++ b/code/game/gamemodes/events/spacevines.dm @@ -5,10 +5,9 @@ var/list/turf/simulated/floor/turfs = list() //list of all the empty floor turfs in the hallway areas for(var/areapath in typesof(/area/hallway)) var/area/A = locate(areapath) - for(var/area/B in A.related) - for(var/turf/simulated/floor/F in B.contents) - if(!F.contents.len) - turfs += F + for(var/turf/simulated/floor/F in A.contents) + if(!F.contents.len) + turfs += F if(turfs.len) //Pick a turf to spawn at if we can var/turf/simulated/floor/T = pick(turfs) diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index f59c579f969..86c0c4e5b36 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -55,7 +55,7 @@ L.update(0) for(var/obj/item/device/pda/P in T.contents) P.fon = 0 - P.SetLuminosity(0) + P.set_light(0) for(var/obj/effect/glowshroom/G in orange(2, usr)) //Very small radius G.visible_message("\The [G] withers away!") qdel(G) @@ -69,15 +69,15 @@ F.update_brightness() for(var/obj/item/device/pda/P in H) P.fon = 0 - P.SetLuminosity(0) //failsafe + P.set_light(0) //failsafe for(var/obj/item/clothing/head/helmet/space/rig/R in H) if(R.on) R.on = 0 R.icon_state = "rig[R.on]-[R._color]" H.update_inv_head() R.visible_message("[R]'s light fades and turns off.") - H.SetLuminosity(H.luminosity - R.brightness_on) - R.SetLuminosity(0) + H.set_light(H.luminosity - R.brightness_on) + R.set_light(0) if(H != usr) H << "You feel a chill and are plunged into darkness." H.luminosity = 0 //This might not be required, but it just acts as another failsafe. diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 3ec453f56d7..8a59cb6d147 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -270,6 +270,12 @@ alpha = 255 return var/turf/simulated/T = get_turf(src) + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + var/light_available + if(L) + light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) + else + light_available = 5 if(!istype(T)) return 0 @@ -277,7 +283,7 @@ if(!mind.vampire.iscloaking) alpha = 255 return 0 - if(T.lighting_lumcount <= 2) + if(light_available <= 2) alpha = round((255 * 0.15)) return 1 else @@ -439,8 +445,11 @@ if(T.x>world.maxx-outer_tele_radius || T.xworld.maxy-outer_tele_radius || T.y max_lum) continue + if(lightingcount > max_lum) continue turfs += T if(!turfs.len) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 4d4bbaee2f5..f39a7b06eca 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -222,14 +222,14 @@ idle_power_usage = 1250 active_power_usage = 2500 - l_color = "#7BF9FF" + light_color = "#7BF9FF" power_change() ..() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) /obj/machinery/sleeper/New() ..() diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 2fe1c9b2c4d..d94b779d631 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -10,14 +10,14 @@ idle_power_usage = 1250 active_power_usage = 2500 - l_color = "#00FF00" + light_color = "#00FF00" power_change() ..() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) /obj/machinery/bodyscanner/New() ..() diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 917a2212365..88ec385db88 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -95,11 +95,10 @@ /obj/machinery/alarm/proc/apply_preset(var/no_cycle_after=0) // Propogate settings. - for (var/area/A in alarm_area.related) - for (var/obj/machinery/alarm/AA in A) - if ( !(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted && AA.preset != src.preset) - AA.preset=preset - apply_preset(1) // Only this air alarm should send a cycle. + for (var/obj/machinery/alarm/AA in alarm_area) + if ( !(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted && AA.preset != src.preset) + AA.preset=preset + apply_preset(1) // Only this air alarm should send a cycle. TLV["oxygen"] = list(16, 19, 135, 140) // Partial pressure, kpa TLV["nitrogen"] = list(-1, -1, -1, -1) // Partial pressure, kpa @@ -151,8 +150,6 @@ /obj/machinery/alarm/proc/first_run() alarm_area = get_area(src) - if (alarm_area.master) - alarm_area = alarm_area.master area_uid = alarm_area.uid if (name == "alarm") name = "[alarm_area.name] Air Alarm" @@ -296,11 +293,10 @@ /obj/machinery/alarm/proc/elect_master() - for (var/area/A in alarm_area.related) - for (var/obj/machinery/alarm/AA in A) - if (!(AA.stat & (NOPOWER|BROKEN))) - alarm_area.master_air_alarm = AA - return 1 + for (var/obj/machinery/alarm/AA in alarm_area) + if (!(AA.stat & (NOPOWER|BROKEN))) + alarm_area.master_air_alarm = AA + return 1 return 0 /obj/machinery/alarm/proc/get_danger_level(var/current_value, var/list/danger_levels) @@ -471,9 +467,9 @@ /obj/machinery/alarm/proc/air_doors_close(manual) var/area/A = get_area(src) - if(!A.master.air_doors_activated) - A.master.air_doors_activated = 1 - for(var/obj/machinery/door/E in A.master.all_doors) + if(!A.air_doors_activated) + A.air_doors_activated = 1 + for(var/obj/machinery/door/E in A.all_doors) if(istype(E,/obj/machinery/door/firedoor)) if(!E:blocked) if(E.operating) @@ -507,9 +503,9 @@ /obj/machinery/alarm/proc/air_doors_open(manual) var/area/A = get_area(loc) - if(A.master.air_doors_activated) - A.master.air_doors_activated = 0 - for(var/obj/machinery/door/E in A.master.all_doors) + if(A.air_doors_activated) + A.air_doors_activated = 0 + for(var/obj/machinery/door/E in A.all_doors) if(istype(E, /obj/machinery/door/firedoor)) if(!E:blocked) if(E.operating) @@ -1381,8 +1377,6 @@ Just a object used in constructing fire alarms user.machine = src var/area/A = get_area(src) ASSERT(isarea(A)) - if(A.master) - A = A.master var/d1 var/d2 if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) @@ -1421,8 +1415,6 @@ Just a object used in constructing fire alarms return var/area/A = get_area(src) ASSERT(isarea(A)) - if(A.master) - A = A.master A.partyreset() return @@ -1431,8 +1423,6 @@ Just a object used in constructing fire alarms return var/area/A = get_area(src) ASSERT(isarea(A)) - if(A.master) - A = A.master A.partyalert() return diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index 94d4d5348d3..c055f7b70b4 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -9,13 +9,13 @@ var/range = 25 - l_color = "#7BF9FF" + light_color = "#7BF9FF" power_change() ..() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) //Simple variable to prevent me from doing attack_hand in both this and the child computer var/zone = "This computer is working on a wireless range, the range is currently limited to 25 meters." @@ -151,14 +151,10 @@ var/turf/T_src = get_turf(src) if(!T_src.loc) return 0 var/area/A_src = T_src.loc - if (A_src.master) - A_src = A_src.master var/turf/T_scrub = get_turf(scrubber) if(!T_scrub.loc) return 0 var/area/A_scrub = T_scrub.loc - if (A_scrub.master) - A_scrub = A_scrub.master if(A_scrub != A_src) return 0 @@ -177,7 +173,7 @@ var/turf/T2 = get_turf(scrubber) if(T2 && T2.loc) var/area/A2 = T2.loc - if(istype(A2) && A2.master && A2.master == A ) + if(istype(A2) && A2 == A ) connectedscrubbers += scrubber found = 1 diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index f540d21ed8d..5e7bdab9e6d 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -2,7 +2,7 @@ /obj/machinery/bot icon = 'icons/obj/aibots.dmi' layer = MOB_LAYER - luminosity = 3 + light_range = 3 use_power = 0 var/obj/item/weapon/card/id/botcard // the ID card that the bot "holds" var/list/prev_access = list() @@ -87,12 +87,12 @@ /obj/machinery/bot/proc/turn_on() if(stat) return 0 on = 1 - SetLuminosity(initial(luminosity)) + set_light(initial(light_range)) return 1 /obj/machinery/bot/proc/turn_off() on = 0 - SetLuminosity(0) + set_light(0) bot_reset() //Resets an AI's call, should it exist. /obj/machinery/bot/New() diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index e60921e700b..7a84218a844 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -71,7 +71,7 @@ network = list() cameranet.removeCamera(src) stat |= EMPED - SetLuminosity(0) + set_light(0) triggerCameraAlarm() emped = emped+1 //Increase the number of consecutive EMP's var/thisemp = emped //Take note of which EMP this proc is for diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index a1a1e5f5f49..ca74948ce0a 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -24,13 +24,13 @@ var/speed_coeff var/efficiency - l_color = "#00FF00" + light_color = "#00FF00" power_change() ..() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) /obj/machinery/clonepod/New() ..() diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index a14da59c097..edb61d5a6fa 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -9,7 +9,7 @@ var/damaged = 0 var/last_change = 0 - l_color = "#7BF9FF" + light_color = "#7BF9FF" attack_ai(var/mob/user as mob) @@ -163,7 +163,7 @@ /obj/machinery/computer/HolodeckControl/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob, params) return - + /obj/machinery/computer/HolodeckControl/emag_act(user as mob) if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 9f73b206443..367918883e2 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -9,7 +9,7 @@ var/mob/living/carbon/human/victim = null var/obj/machinery/optable/table = null - l_color = "#0000FF" + light_color = "#0000FF" /obj/machinery/computer/operating/New() ..() diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 51c8626c1d1..f576ae8d1b8 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -7,7 +7,7 @@ var/mob/living/silicon/ai/occupant = null var/active = 0 - l_color = "#CD00CD" + light_color = "#CD00CD" /obj/machinery/computer/aifixer/New() src.overlays += image('icons/obj/computer.dmi', "ai-fixer-empty") @@ -19,7 +19,7 @@ user << "This terminal isn't functioning right now, get it working!" return I:transfer_ai("AIFIXER","AICARD",src,user) - + ..() return diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index eeea46d400b..413af2d9037 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -3,7 +3,7 @@ desc = "random arcade machine" icon = 'icons/obj/computer.dmi' icon_state = "arcade" - l_color = "#00FF00" + light_color = "#00FF00" var/list/prizes = list( /obj/item/weapon/storage/box/snappops = 2, /obj/item/clothing/under/syndicate/tacticool = 2, @@ -47,9 +47,9 @@ /obj/machinery/computer/arcade/power_change() ..() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) /obj/machinery/computer/arcade/New() ..() diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 5e9bb34866b..e59e5eec359 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -11,7 +11,7 @@ var/receive_frequency = 1437 var/datum/radio_frequency/radio_connection - l_color = "#7BF9FF" + light_color = "#7BF9FF" /obj/machinery/computer/atmos_alert/initialize() diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 8015eb399b5..5f1c0117048 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -1,7 +1,8 @@ +var/camera_cache_id = 1 + /proc/invalidateCameraCache() - for(var/obj/machinery/computer/security/s in world) - s.camera_cache = null - + camera_cache_id = (++camera_cache_id % 999999) + /obj/machinery/computer/security name = "Camera Monitor" desc = "Used to access the various cameras networks on the station." @@ -10,8 +11,9 @@ var/obj/machinery/camera/current = null var/list/network = list("") var/last_pic = 1.0 - l_color = "#B40000" - var/mapping = 0 + light_color = "#B40000" + var/mapping = 0 + var/cache_id = 0 var/list/networks[0] var/list/tempnets[0] var/list/data[0] @@ -26,21 +28,21 @@ networks["Research"] = list(access_rd,access_hos,access_captain) networks["Prison"] = list(access_hos,access_captain) networks["Labor"] = list(access_hos,access_captain) - networks["Interrogation"] = list(access_hos,access_captain) + networks["Interrogation"] = list(access_hos,access_captain) networks["Atmosphere Alarms"] = list(access_ce,access_hos,access_captain) - networks["Fire Alarms"] = list(access_ce,access_hos,access_captain) + networks["Fire Alarms"] = list(access_ce,access_hos,access_captain) networks["Power Alarms"] = list(access_ce,access_hos,access_captain) - networks["Supermatter"] = list(access_ce,access_hos,access_captain) - networks["MiniSat"] = list(access_rd,access_hos,access_captain) - networks["Singularity"] = list(access_ce,access_hos,access_captain) + networks["Supermatter"] = list(access_ce,access_hos,access_captain) + networks["MiniSat"] = list(access_rd,access_hos,access_captain) + networks["Singularity"] = list(access_ce,access_hos,access_captain) networks["Anomaly Isolation"] = list(access_rd,access_hos,access_captain) networks["Toxins"] = list(access_rd,access_hos,access_captain) networks["Telepad"] = list(access_rd,access_hos,access_captain) networks["TestChamber"] = list(access_rd,access_hos,access_captain) - networks["ERT"] = list(access_cent_specops_commander,access_cent_commander) + networks["ERT"] = list(access_cent_specops_commander,access_cent_commander) networks["CentCom"] = list(access_cent_security,access_cent_commander) networks["Thunderdome"] = list(access_cent_thunder,access_cent_commander) - + attack_ai(var/mob/user as mob) return attack_hand(user) @@ -52,17 +54,17 @@ return null user.reset_view(current) return 1 - + // Network configuration attackby(I as obj, user as mob, params) access = list() if(istype(I,/obj/item/weapon/card/id)) // If hit by a regular ID card. - var/obj/item/weapon/card/id/E = I + var/obj/item/weapon/card/id/E = I access = E.access ui_interact(user) else ..() - + emag_act(user as mob) if(!emagged) emagged = 1 @@ -70,12 +72,12 @@ ui_interact(user) else ui_interact(user) - + ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) if(src.z > 6) return if(stat & (NOPOWER|BROKEN)) return - if(user.stat) return - + if(user.stat) return + var/data[0] @@ -104,14 +106,14 @@ data["current"] = cam data["cameras"] = cameras - + tempnets.Cut() if(emagged) access = list(access_captain) // Assume captain level access when emagged data["emagged"] = 1 if(isAI(user) || isrobot(user)) access = list(access_captain) // Assume captain level access when AI - + // Loop through the ID's permission, and check which networks the ID has access to. for(var/l in networks) // Loop through networks. for(var/m in networks[l]) // Loop through access levels of the networks. @@ -119,10 +121,10 @@ if(l in network) // Checks if the network is currently active. tempnets.Add(list(list("name" = l, "active" = 1))) else - tempnets.Add(list(list("name" = l, "active" = 0))) + tempnets.Add(list(list("name" = l, "active" = 0))) break data["networks"] = tempnets - + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "sec_camera.tmpl", "Camera Console", 900, 800) @@ -135,7 +137,7 @@ ui.set_initial_data(data) ui.open() ui.set_auto_update(1) - + Topic(href, href_list) if(href_list["switchTo"]) if(src.z>6 || stat&(NOPOWER|BROKEN)) return @@ -165,7 +167,7 @@ nanomanager.update_uis(src) else . = ..() - + attack_hand(var/mob/user as mob) access = list() if (src.z > 6) @@ -175,22 +177,22 @@ if(!isAI(user)) user.set_machine(src) - + if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.wear_id) var/obj/item/weapon/card/id/gold/C = H.wear_id access = C.access - + ui_interact(user) - + // Check if camera is accessible when jumping proc/can_access_camera(var/obj/machinery/camera/C) var/list/shared_networks = src.network & C.network if(shared_networks.len) return 1 return 0 - + // Switching to cameras proc/switch_to_camera(var/mob/user, var/obj/machinery/camera/C) if ((get_dist(user, src) > 1 || user.machine != src || user.blinded || !( user.canmove ) || !( C.can_use() )) && (!istype(user, /mob/living/silicon/ai))) @@ -239,14 +241,14 @@ return if(can_access_camera(jump_to)) switch_to_camera(user,jump_to) - + // Camera control: mouse. /atom/DblClick() ..() if(istype(usr.machine,/obj/machinery/computer/security)) var/obj/machinery/computer/security/console = usr.machine console.jump_on_click(usr,src) - + // Camera control: arrow keys. /mob/Move(n,direct) if(istype(machine,/obj/machinery/computer/security)) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index c134b649c39..a44aa104e62 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -11,7 +11,7 @@ var/mode = 0.0 var/printing = null - l_color = "#0000FF" + light_color = "#0000FF" proc/is_centcom() return istype(src, /obj/machinery/computer/card/centcom) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index d818d5fd574..81aec1aed6c 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -16,7 +16,7 @@ var/autoprocess = 0 var/data[0] - l_color = "#0000FF" + light_color = "#0000FF" /obj/machinery/computer/cloning/New() ..() @@ -36,8 +36,8 @@ for(var/datum/dna2/record/R in src.records) if(!(pod1.occupant || pod1.mess)) if(pod1.growclone(R)) - records.Remove(R) - + records.Remove(R) + /obj/machinery/computer/cloning/proc/updatemodules() src.scanner = findscanner() src.pod1 = findcloner() @@ -113,7 +113,7 @@ data["pod"] = src.pod1 data["loading"] = loading data["autoprocess"] = autoprocess - if(scanner && pod1 && ((scanner.scan_level > 2) || (pod1.efficiency > 5))) + if(scanner && pod1 && ((scanner.scan_level > 2) || (pod1.efficiency > 5))) data["autoallowed"] = 1 else data["autoallowed"] = 0 @@ -123,19 +123,19 @@ data["temp"] = temp data["scantemp"] = scantemp data["disk"] = src.diskette - var/list/temprecords[0] + var/list/temprecords[0] for(var/datum/dna2/record/R in src.records) var tempRealName = R.dna.real_name temprecords.Add(list(list("record" = "\ref[R]", "realname" = tempRealName))) data["records"] = temprecords - + if(src.menu == 3) if (src.active_record) data["activerecord"] = "\ref[src.active_record]" var/obj/item/weapon/implant/health/H = null if(src.active_record.implant) H = locate(src.active_record.implant) - + if ((H) && (istype(H))) data["health"] = H.sensehealth() data["realname"] = src.active_record.dna.real_name @@ -145,13 +145,13 @@ data["enoughbiomass"] = 1 else data["enoughbiomass"] = 0 - + // Set up the Nano UI ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "cloning_console.tmpl", "Cloning Console UI", 640, 480) - ui.set_initial_data(data) - ui.open() + ui.set_initial_data(data) + ui.open() /obj/machinery/computer/cloning/Topic(href, href_list) if(..()) @@ -179,7 +179,7 @@ nanomanager.update_uis(src) if("stopautoprocess") autoprocess = 0 - nanomanager.update_uis(src) + nanomanager.update_uis(src) //No locking an open scanner. else if ((href_list["lock"]) && (!isnull(src.scanner))) @@ -267,7 +267,7 @@ else if (href_list["refresh"]) nanomanager.update_uis(src) - else if (href_list["clone"]) + else if (href_list["clone"]) var/datum/dna2/record/C = locate(href_list["clone"]) //Look for that player! They better be dead! if(C) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index e5aeabf72ae..ecd428fca1e 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -55,11 +55,11 @@ var/shuttle_call/shuttle_calls[0] var/stat_msg1 var/stat_msg2 var/display_type="blank" - + var/datum/announcement/priority/crew_announcement = new - l_color = "#0000FF" - + light_color = "#0000FF" + /obj/machinery/computer/communications/New() ..() crew_announcement.newscast = 1 @@ -252,7 +252,7 @@ var/shuttle_call/shuttle_calls[0] if(!emagged) src.emagged = 1 user << "You scramble the communication routing circuits!" - + /obj/machinery/computer/communications/attack_ai(var/mob/user as mob) return src.attack_hand(user) @@ -426,7 +426,7 @@ var/shuttle_call/shuttle_calls[0] if(world.time < 54000) // 30 minute grace period to let the game get going user << "The shuttle is refueling. Please wait another [round((54000-world.time)/60)] minutes before trying again." return - + if(ticker.mode.name == "epidemic") user << "Under directive 7-10, [station_name()] is quarantined until further notice." return diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 14011f549b5..fb995b4b487 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -93,9 +93,9 @@ ..() update_icon() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) /obj/machinery/computer/proc/set_broken() @@ -106,7 +106,7 @@ // Adds line breaks text = replacetext(text, "\n", "
") return text - + /obj/machinery/computer/attack_ghost(user as mob) return src.attack_hand(user) @@ -114,7 +114,7 @@ /* Observers can view computers, but not actually use them via Topic*/ if(istype(user, /mob/dead/observer)) return 0 return ..() - + /obj/machinery/computer/attackby(I as obj, user as mob, params) if(istype(I, /obj/item/weapon/screwdriver) && circuit) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 4802e855af2..9cd5ca6a143 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -8,7 +8,7 @@ var/mob/living/silicon/ai/current = null var/opened = 0 - l_color = "#FFFFFF" + light_color = "#FFFFFF" verb/AccessInternals() @@ -86,6 +86,6 @@ else usr << "[src.current.name] selected for law changes." return - + attack_ghost(user as mob) return 1 diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 23a8c3ed16f..c665214ed33 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -16,7 +16,7 @@ var/temp = null var/printing = null - l_color = "#0000FF" + light_color = "#0000FF" /obj/machinery/computer/med_data/attack_ai(user as mob) return src.attack_hand(user) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 3cf15c5308a..9cc273c1716 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -33,7 +33,7 @@ var/customjob = "Admin" var/custommessage = "This is a test, please ignore." - l_color = "#50AB00" + light_color = "#50AB00" /obj/machinery/computer/message_monitor/attackby(obj/item/weapon/O as obj, mob/living/user as mob, params) @@ -48,7 +48,7 @@ ..() return - + /obj/machinery/computer/message_monitor/emag_act(user as mob) // Will create sparks and print out the console's password. You will then have to wait a while for the console to be back online. // It'll take more time if there's more characters in the password.. diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm index 06f8cfe5692..69c9b4a54e0 100644 --- a/code/game/machinery/computer/power.dm +++ b/code/game/machinery/computer/power.dm @@ -11,7 +11,7 @@ idle_power_usage = 20 active_power_usage = 80 - l_color = "#FF9933" + light_color = "#FF9933" //fix for issue 521, by QualityVan. //someone should really look into why circuits have a powernet var, it's several kinds of retarded. @@ -23,14 +23,14 @@ if(isturf(T)) attached = locate() in T if(attached) - powernet = attached.get_powernet() - + powernet = attached.get_powernet() + /obj/machinery/power/monitor/attack_ai(mob/user) add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) return - interact(user) + interact(user) /obj/machinery/power/monitor/attack_hand(mob/user) add_fingerprint(user) diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index 7b4b37665b0..3fa4f812240 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -14,7 +14,7 @@ var/screen = 0 // 0 - No Access Denied, 1 - Access allowed var/obj/item/weapon/card/id/prisoner/inserted_id - l_color = "#B40000" + light_color = "#B40000" attack_ai(var/mob/user as mob) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 12af8c24d65..8ecc35cdc70 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -10,7 +10,7 @@ circuit = /obj/item/weapon/circuitboard/robotics var/temp = null - l_color = "#CD00CD" + light_color = "#CD00CD" /obj/machinery/computer/robotics/proc/can_control(var/mob/user, var/mob/living/silicon/robot/R) if(!istype(R)) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 1094ede2762..20e05123ef8 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -22,7 +22,7 @@ var/sortBy = "name" var/order = 1 // -1 = Descending - 1 = Ascending - l_color = "#B40000" + light_color = "#B40000" /obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob, params) diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm index ee4a88fb89b..74a0dab54e5 100644 --- a/code/game/machinery/computer/shuttle.dm +++ b/code/game/machinery/computer/shuttle.dm @@ -5,7 +5,7 @@ var/auth_need = 3.0 var/list/authorized = list( ) - l_color = "#7BF9FF" + light_color = "#7BF9FF" attackby(var/obj/item/weapon/card/W as obj, var/mob/user as mob, params) @@ -57,7 +57,7 @@ src.authorized.len = 0 src.authorized = list( ) return - + emag_act(user as mob) if (!emagged) var/choice = alert(user, "Would you like to launch the shuttle?","Shuttle control", "Launch", "Cancel") diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 3ed66a1dec2..772fe446e4e 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -6,7 +6,7 @@ circuit = "/obj/item/weapon/circuitboard/stationalert" var/alarms = list("Fire"=list(), "Atmosphere"=list(), "Power"=list()) - l_color = "#7BF9FF" + light_color = "#7BF9FF" attack_ai(mob/user) diff --git a/code/game/machinery/computer/store.dm b/code/game/machinery/computer/store.dm index 9ab45f15d94..4ac0a7e315a 100644 --- a/code/game/machinery/computer/store.dm +++ b/code/game/machinery/computer/store.dm @@ -4,7 +4,7 @@ icon_state = "comm_logs" circuit = "/obj/item/weapon/circuitboard/merch" - l_color = "#50AB00" + light_color = "#50AB00" /obj/item/weapon/circuitboard/merch name = "\improper Merchandise Computer Circuitboard" diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 8449c006cb0..b89caed1dc3 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -17,13 +17,13 @@ var/current_heat_capacity = 50 var/efficiency - l_color = "#FFFFFF" + light_color = "#FFFFFF" power_change() ..() if(!(stat & (BROKEN|NOPOWER))) - SetLuminosity(2) + set_light(2) else - SetLuminosity(0) + set_light(0) /obj/machinery/atmospherics/unary/cryo_cell/New() ..() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index ec8b45ef78b..617214ea5c5 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -926,7 +926,7 @@ About the new airlock wires panel: sleep(5) update_icon() if(visible && !glass) - SetOpacity(1) + set_opacity(1) operating = 0 air_update_turf(1) update_freelok_sight() diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 67e5c83dc30..46c6f6f8572 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -29,8 +29,6 @@ var/alert = signal.data["alert"] var/area/our_area = get_area(src) - if (our_area.master) - our_area = our_area.master if(alarm_area == our_area.name) switch(alert) diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 978b6057866..027dded2c38 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -38,11 +38,11 @@ pixel_y = ((src.dir & 3)? (src.dir ==1 ? 24 : -32) : (0)) spawn(20) - for(var/obj/machinery/door/window/brigdoor/M in world) + for(var/obj/machinery/door/window/brigdoor/M in machines) if (M.id == src.id) targets += M - for(var/obj/machinery/flasher/F in world) + for(var/obj/machinery/flasher/F in machines) if(F.id == src.id) targets += F diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 6588131ac9f..2c0bd7a6ae9 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -235,13 +235,13 @@ if(!operating) operating = 1 do_animate("opening") - src.SetOpacity(0) + src.set_opacity(0) sleep(5) src.density = 0 sleep(5) src.layer = 2.7 update_icon() - SetOpacity(0) + set_opacity(0) operating = 0 air_update_turf(1) update_freelok_sight() @@ -269,7 +269,7 @@ sleep(5) update_icon() if(visible && !glass) - SetOpacity(1) //caaaaarn! + set_opacity(1) //caaaaarn! operating = 0 air_update_turf(1) update_freelok_sight() diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 36f62d6befd..7bbc05fb073 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -58,7 +58,7 @@ src.operating = 1 flick("pdoorc0", src) src.icon_state = "pdoor0" - src.SetOpacity(0) + src.set_opacity(0) sleep(15) src.density = 0 src.operating = 0 @@ -74,7 +74,7 @@ src.operating = 1 flick("pdoorc0", src) src.icon_state = "pdoor0" - src.SetOpacity(0) + src.set_opacity(0) sleep(5) src.density = 0 sleep(5) @@ -94,7 +94,7 @@ src.operating = 1 flick("pdoorc1", src) src.icon_state = "pdoor1" - src.SetOpacity(initial(opacity)) + src.set_opacity(initial(opacity)) air_update_turf(1) update_freelok_sight() sleep(5) @@ -115,9 +115,9 @@ src.operating = 1 flick("pdoorc0", src) src.icon_state = "pdoor0" - src.SetOpacity(0) - f1.SetOpacity(0) - f2.SetOpacity(0) + src.set_opacity(0) + f1.set_opacity(0) + f2.set_opacity(0) sleep(10) src.density = 0 @@ -145,9 +145,9 @@ f2.density = 1 sleep(10) - src.SetOpacity(initial(opacity)) - f1.SetOpacity(initial(opacity)) - f2.SetOpacity(initial(opacity)) + src.set_opacity(initial(opacity)) + f1.set_opacity(initial(opacity)) + f2.set_opacity(initial(opacity)) update_nearby_tiles() @@ -165,14 +165,14 @@ src.icon_state = "pdoor0" sleep(10) src.density = 0 - src.SetOpacity(0) + src.set_opacity(0) f1.density = 0 - f1.SetOpacity(0) + f1.set_opacity(0) f2.density = 0 - f2.SetOpacity(0) + f2.set_opacity(0) f3.density = 0 - f3.SetOpacity(0) + f3.set_opacity(0) air_update_turf(1) update_freelok_sight() @@ -193,14 +193,14 @@ src.density = 1 f1.density = 1 - f1.SetOpacity(1) + f1.set_opacity(1) f2.density = 1 - f2.SetOpacity(1) + f2.set_opacity(1) f3.density = 1 - f3.SetOpacity(1) + f3.set_opacity(1) if (src.visible) - src.SetOpacity(1) + src.set_opacity(1) air_update_turf(1) update_freelok_sight() @@ -219,16 +219,16 @@ src.icon_state = "pdoor0" sleep(10) src.density = 0 - src.SetOpacity(0) + src.set_opacity(0) f1.density = 0 - f1.SetOpacity(0) + f1.set_opacity(0) f2.density = 0 - f2.SetOpacity(0) + f2.set_opacity(0) f3.density = 0 - f3.SetOpacity(0) + f3.set_opacity(0) f4.density = 0 - f4.SetOpacity(0) + f4.set_opacity(0) air_update_turf(1) update_freelok_sight() @@ -249,16 +249,16 @@ src.density = 1 f1.density = 1 - f1.SetOpacity(1) + f1.set_opacity(1) f2.density = 1 - f2.SetOpacity(1) + f2.set_opacity(1) f3.density = 1 - f3.SetOpacity(1) + f3.set_opacity(1) f4.density = 1 - f4.SetOpacity(1) + f4.set_opacity(1) if (src.visible) - src.SetOpacity(1) + src.set_opacity(1) air_update_turf(1) update_freelok_sight() @@ -277,12 +277,12 @@ src.icon_state = "pdoor0" sleep(10) src.density = 0 - src.sd_SetOpacity(0) + src.sd_set_opacity(0) f1.density = 0 - f1.sd_SetOpacity(0) + f1.sd_set_opacity(0) f2.density = 0 - f2.sd_SetOpacity(0) + f2.sd_set_opacity(0) update_nearby_tiles() @@ -302,12 +302,12 @@ src.density = 1 f1.density = 1 - f1.sd_SetOpacity(1) + f1.sd_set_opacity(1) f2.density = 1 - f2.sd_SetOpacity(1) + f2.sd_set_opacity(1) if (src.visible) - src.sd_SetOpacity(1) + src.sd_set_opacity(1) update_nearby_tiles() sleep(10) @@ -326,14 +326,14 @@ src.icon_state = "pdoor0" sleep(10) src.density = 0 - src.SetOpacity(0) + src.set_opacity(0) f1.density = 0 - f1.SetOpacity(0) + f1.set_opacity(0) f2.density = 0 - f2.SetOpacity(0) + f2.set_opacity(0) f3.density = 0 - f3.SetOpacity(0) + f3.set_opacity(0) air_update_turf(1) update_freelok_sight() @@ -354,14 +354,14 @@ src.density = 1 f1.density = 1 - f1.SetOpacity(1) + f1.set_opacity(1) f2.density = 1 - f2.SetOpacity(1) + f2.set_opacity(1) f3.density = 1 - f3.SetOpacity(1) + f3.set_opacity(1) if (src.visible) - src.SetOpacity(1) + src.set_opacity(1) air_update_turf(1) update_freelok_sight() @@ -380,16 +380,16 @@ src.icon_state = "pdoor0" sleep(10) src.density = 0 - src.SetOpacity(0) + src.set_opacity(0) f1.density = 0 - f1.SetOpacity(0) + f1.set_opacity(0) f2.density = 0 - f2.SetOpacity(0) + f2.set_opacity(0) f3.density = 0 - f3.SetOpacity(0) + f3.set_opacity(0) f4.density = 0 - f4.SetOpacity(0) + f4.set_opacity(0) air_update_turf(1) update_freelok_sight() @@ -410,16 +410,16 @@ src.density = 1 f1.density = 1 - f1.SetOpacity(1) + f1.set_opacity(1) f2.density = 1 - f2.SetOpacity(1) + f2.set_opacity(1) f3.density = 1 - f3.SetOpacity(1) + f3.set_opacity(1) f4.density = 1 - f4.SetOpacity(1) + f4.set_opacity(1) if (src.visible) - src.SetOpacity(1) + src.set_opacity(1) air_update_turf(1) update_freelok_sight() @@ -441,8 +441,8 @@ f2 = new/obj/machinery/door/poddoor/filler_object (get_step(src,EAST)) f1.density = density f2.density = density - f1.sd_SetOpacity(opacity) - f2.sd_SetOpacity(opacity) + f1.sd_set_opacity(opacity) + f2.sd_set_opacity(opacity) Destroy() del f1 @@ -460,8 +460,8 @@ f2 = new/obj/machinery/door/poddoor/filler_object (get_step(src,NORTH)) f1.density = density f2.density = density - f1.sd_SetOpacity(opacity) - f2.sd_SetOpacity(opacity) + f1.sd_set_opacity(opacity) + f2.sd_set_opacity(opacity) Destroy() del f1 @@ -482,9 +482,9 @@ f1.density = density f2.density = density f3.density = density - f1.SetOpacity(opacity) - f2.SetOpacity(opacity) - f3.SetOpacity(opacity) + f1.set_opacity(opacity) + f2.set_opacity(opacity) + f3.set_opacity(opacity) Destroy() del f1 @@ -506,9 +506,9 @@ f1.density = density f2.density = density f3.density = density - f1.SetOpacity(opacity) - f2.SetOpacity(opacity) - f3.SetOpacity(opacity) + f1.set_opacity(opacity) + f2.set_opacity(opacity) + f3.set_opacity(opacity) Destroy() del f1 @@ -533,10 +533,10 @@ f2.density = density f3.density = density f4.density = density - f1.SetOpacity(opacity) - f2.SetOpacity(opacity) - f3.SetOpacity(opacity) - f4.SetOpacity(opacity) + f1.set_opacity(opacity) + f2.set_opacity(opacity) + f3.set_opacity(opacity) + f4.set_opacity(opacity) Destroy() del f1 @@ -562,10 +562,10 @@ f2.density = density f3.density = density f4.density = density - f1.SetOpacity(opacity) - f2.SetOpacity(opacity) - f3.SetOpacity(opacity) - f4.SetOpacity(opacity) + f1.set_opacity(opacity) + f2.set_opacity(opacity) + f3.set_opacity(opacity) + f4.set_opacity(opacity) Destroy() del f1 diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index c09226db1ee..d140ce42888 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -24,7 +24,7 @@ icon_state = "shutter0" sleep(15) density = 0 - SetOpacity(0) + set_opacity(0) operating = 0 return return @@ -40,7 +40,7 @@ icon_state = "shutter0" sleep(10) density = 0 - SetOpacity(0) + set_opacity(0) air_update_turf(1) update_freelok_sight() @@ -59,7 +59,7 @@ icon_state = "shutter1" density = 1 if(visible) - SetOpacity(1) + set_opacity(1) air_update_turf(1) update_freelok_sight() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index d4cd6c3e500..7a3a945721d 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -118,7 +118,7 @@ sleep(10) src.density = 0 -// src.sd_SetOpacity(0) //TODO: why is this here? Opaque windoors? ~Carn +// src.sd_set_opacity(0) //TODO: why is this here? Opaque windoors? ~Carn air_update_turf(1) update_freelok_sight() @@ -142,7 +142,7 @@ src.density = 1 // if(src.visible) -// SetOpacity(1) //TODO: why is this here? Opaque windoors? ~Carn +// set_opacity(1) //TODO: why is this here? Opaque windoors? ~Carn air_update_turf(1) update_freelok_sight() sleep(10) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index d2607397967..2c2458df37b 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -25,17 +25,17 @@ /* /obj/machinery/flasher/New() sleep(4) //<--- What the fuck are you doing? D= - src.sd_SetLuminosity(2) + src.sd_set_light(2) */ /obj/machinery/flasher/power_change() if ( powered() ) stat &= ~NOPOWER icon_state = "[base_state]1" -// src.sd_SetLuminosity(2) +// src.sd_set_light(2) else stat |= ~NOPOWER icon_state = "[base_state]1-p" -// src.sd_SetLuminosity(0) +// src.sd_set_light(0) //Don't want to render prison breaks impossible /obj/machinery/flasher/attackby(obj/item/weapon/W as obj, mob/user as mob, params) diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index b6da9e11d95..9c3b04f36d6 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -26,7 +26,7 @@ if(cell.charge <= 0) on = 0 updateicon() - SetLuminosity(0) + set_light(0) src.visible_message("[src] shuts down due to lack of power!") return @@ -50,7 +50,7 @@ if(on) on = 0 user << "\blue You turn off the light" - SetLuminosity(0) + set_light(0) else if(!cell) return @@ -58,7 +58,7 @@ return on = 1 user << "\blue You turn on the light" - SetLuminosity(brightness_on) + set_light(brightness_on) updateicon() diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index a04ed3f2053..bb6948eda6b 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -105,8 +105,8 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. hologram.anchored = 1//So space wind cannot drag it. hologram.name = "[A.name] (Hologram)"//If someone decides to right click. - hologram.SetLuminosity(2) //hologram lighting - SetLuminosity(2) //pad lighting + hologram.set_light(2) //hologram lighting + set_light(2) //pad lighting icon_state = "holopad1" A.holo = src master = A//AI is the master. @@ -114,12 +114,12 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return 1 /obj/machinery/hologram/holopad/proc/clear_holo() -// hologram.SetLuminosity(0)//Clear lighting. //handled by the lighting controller when its ower is deleted +// hologram.set_light(0)//Clear lighting. //handled by the lighting controller when its ower is deleted del(hologram)//Get rid of hologram. if(master.holo == src) master.holo = null master = null//Null the master, since no-one is using it now. - SetLuminosity(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) + set_light(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) icon_state = "holopad0" use_power = 1//Passive power usage. return 1 @@ -136,7 +136,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ var/area/holo_area = get_area(src) var/area/eye_area = get_area(master.eyeobj) - if(eye_area in holo_area.master.related) + if(eye_area != holo_area) return 1 clear_holo()//If not, we want to get rid of the hologram. @@ -148,7 +148,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ hologram.loc = get_turf(master.eyeobj) return 1 - + // Simple helper to face what you clicked on, in case it should be needed in more than one place /obj/machinery/hologram/holopad/proc/face_atom(var/atom/A) if( !hologram || !A || !hologram.x || !hologram.y || !A.x || !A.y ) return diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index d5fb43f4d97..c58cd06fae9 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -283,11 +283,11 @@ */ // Handle light requirements. - var/area/A = T.loc - if(A) + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + if(L) var/light_available - if(A.lighting_use_dynamic) - light_available = max(0,min(10,T.lighting_lumcount)-5) + if(L) + light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) else light_available = 5 if(abs(light_available - seed.ideal_light) > seed.light_tolerance) @@ -502,14 +502,14 @@ // Update bioluminescence. if(seed) if(seed.biolum) - SetLuminosity(round(seed.potency/10)) + set_light(round(seed.potency/10)) if(seed.biolum_colour) - l_color = seed.biolum_colour + light_color = seed.biolum_colour else - l_color = null + light_color = null return - SetLuminosity(0) + set_light(0) return // If a weed growth is sufficient, this proc is called. @@ -923,15 +923,16 @@ if(!environment) //We're in a crate or nullspace, bail out. return - var/area/A = T.loc + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T var/light_available - if(A) - if(A.lighting_use_dynamic) - light_available = max(0,min(10,T.lighting_lumcount)-5) - else - light_available = 5 + var/light_string + if(L) + light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) + else + light_available = 5 + light_string = "a light level of [light_available] lumens" - usr << "The tray's sensor suite is reporting a light level of [light_available] lumens and a temperature of [environment.temperature]K." + usr << "The tray's sensor suite is reporting [light_string] and a temperature of [environment.temperature]K." /obj/machinery/portable_atmospherics/hydroponics/verb/close_lid() set name = "Toggle Tray Lid" diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 9577a539203..598d448d746 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -65,11 +65,11 @@ if ( powered() && disable == 0 ) stat &= ~NOPOWER icon_state = "[base_state]" -// src.sd_SetLuminosity(2) +// src.sd_set_light(2) else stat |= ~NOPOWER icon_state = "[base_state]-p" -// src.sd_SetLuminosity(0) +// src.sd_set_light(0) /obj/machinery/sparker/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/device/detective_scanner)) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index f75ebc4171c..666c49c3e8d 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -50,15 +50,14 @@ on = !on - for(var/area/A in area.master.related) - A.lightswitch = on - A.updateicon() + area.lightswitch = on + area.updateicon() - for(var/obj/machinery/light_switch/L in A) - L.on = on - L.updateicon() + for(var/obj/machinery/light_switch/L in area) + L.on = on + L.updateicon() - area.master.power_change() + area.power_change() /obj/machinery/light_switch/power_change() diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 5ce4008235f..bb5c005550a 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -98,7 +98,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co var/c_locked=0; //Will our new channel be locked to public submissions? var/hitstaken = 0 //Death at 3 hits from an item with force>=15 var/datum/feed_channel/viewing_channel = null - luminosity = 0 + light_range = 0 anchored = 1 diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index 2fb2cd3cc69..713d326edc1 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -1,7 +1,7 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 /obj/machinery/computer/telecomms - l_color = "#50AB00" + light_color = "#50AB00" /obj/machinery/computer/telecomms/server name = "Telecommunications Server Monitor" @@ -246,7 +246,7 @@ del(src) src.updateUsrDialog() return - + emag_act(user as mob) if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index 23969177606..d8bc0fb0972 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -19,8 +19,8 @@ var/temp = "" // temporary feedback messages circuit = "/obj/item/weapon/circuitboard/comm_monitor" - - l_color = "#50AB00" + + light_color = "#50AB00" attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index 889623b60e6..58239808add 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -14,10 +14,10 @@ var/storedcode = "" // code stored - l_color = "#50AB00" + light_color = "#50AB00" req_access = list(access_tcomsat) - circuit = "/obj/item/weapon/circuitboard/comm_traffic" + circuit = "/obj/item/weapon/circuitboard/comm_traffic" proc/update_ide() @@ -235,7 +235,7 @@ del(src) src.updateUsrDialog() return - + /obj/machinery/computer/telecomms/traffic/emag_act(user as mob) if(!emagged) playsound(get_turf(src), 'sound/effects/sparks4.ogg', 75, 1) diff --git a/code/game/machinery/turntable.dm b/code/game/machinery/turntable.dm index 5c2591cd241..2fe0c313a6a 100644 --- a/code/game/machinery/turntable.dm +++ b/code/game/machinery/turntable.dm @@ -57,17 +57,16 @@ // M.music = 1 var/area/A = src.loc.loc - for(var/area/RA in A.related) - for(var/obj/machinery/party/lasermachine/L in RA) - L.turnon() + for(var/obj/machinery/party/lasermachine/L in A) + L.turnon() playing = 1 while(playing == 1) for(var/mob/M in world) - if((M.loc.loc in A.related) && M.music == 0) + if((M.loc.loc in A) && M.music == 0) //world << "Found the song..." M << S M.music = 1 - else if(!(M.loc.loc in A.related) && M.music == 1) + else if(!(M.loc.loc in A) && M.music == 1) var/sound/Soff = sound(null) Soff.channel = 10 M << Soff @@ -148,9 +147,8 @@ M.music = 0 playing = 0 var/area/A = src.loc.loc - for(var/area/RA in A.related) - for(var/obj/machinery/party/lasermachine/L in RA) - L.turnoff() + for(var/obj/machinery/party/lasermachine/L in A) + L.turnoff() @@ -278,6 +276,5 @@ /obj/machinery/party/lasermachine/proc/turnoff() var/area/A = src.loc.loc - for(var/area/RA in A.related) - for(var/obj/effects/laser/F in RA) - del(F) + for(var/obj/effects/laser/F in A) + del(F) diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 83bd5b5217d..55399f8b199 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -46,12 +46,11 @@ /obj/machinery/turretid/initialize() if(!control_area) - var/area/CA = get_area(src) - control_area = CA.master + control_area = get_area(src) else if(istext(control_area)) for(var/area/A in world) if(A.name && A.name==control_area) - control_area = A.master + control_area = A break if(control_area) @@ -88,7 +87,7 @@ user << "You [ locked ? "lock" : "unlock"] the panel." return return ..() - + /obj/machinery/turretid/emag_act(user as mob) if(!emagged) user << "You short out the turret controls' access analysis module." @@ -137,7 +136,7 @@ /obj/machinery/turretid/Topic(href, href_list, var/nowindow = 0) if(..()) return 1 - + if(isLocked(usr)) return 1 @@ -176,9 +175,8 @@ TC.ailock = ailock if(istype(control_area)) - for(var/area/sub_area in control_area.related) - for (var/obj/machinery/porta_turret/aTurret in sub_area) - aTurret.setState(TC) + for (var/obj/machinery/porta_turret/aTurret in control_area) + aTurret.setState(TC) update_icon() diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 171586d255a..90ceb3a0d1f 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -13,9 +13,6 @@ /area/turret_protected/Entered(O) ..() - if( master && master != src ) - return master.Entered(O) - if( iscarbon(O) ) turretTargets |= O else if( istype(O, /obj/mecha) ) @@ -31,9 +28,6 @@ return 1 /area/turret_protected/Exited(O) - if( master && master != src ) - return master.Exited(O) - if( ismob(O) && !issilicon(O) ) turretTargets -= O else if( istype(O, /obj/mecha) ) @@ -125,8 +119,6 @@ /obj/machinery/turret/proc/get_protected_area() var/area/turret_protected/TP = get_area(src) if(istype(TP)) - if(TP.master && TP.master != TP) - TP = TP.master return TP return @@ -331,7 +323,7 @@ spawn(13) qdel(src) - + /obj/machinery/turret/attack_animal(mob/living/simple_animal/M as mob) M.changeNext_move(CLICK_CD_MELEE) M.do_attack_animation(src) diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index c618ec8c72f..bfe5ade766a 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -782,7 +782,7 @@ var/pow_chan if(A) for(var/c in use_channels) - if(A.master && A.master.powered(c)) + if(A.powered(c)) pow_chan = c break return pow_chan @@ -829,13 +829,13 @@ if(A) var/pow_chan for(var/c in list(EQUIP,ENVIRON,LIGHT)) - if(A.master.powered(c)) + if(A.powered(c)) pow_chan = c break if(pow_chan) var/delta = min(12, ER.chassis.cell.maxcharge-cur_charge) ER.chassis.give_power(delta) - A.master.use_power(delta*ER.coeff, pow_chan) + A.use_power(delta*ER.coeff, pow_chan) return diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 0785ff11b29..faf33ba5682 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1007,8 +1007,8 @@ set popup_menu = 0 if(usr!=occupant) return lights = !lights - if(lights) SetLuminosity(luminosity + lights_power) - else SetLuminosity(luminosity - lights_power) + if(lights) set_light(light_range + lights_power) + else set_light(light_range - lights_power) src.occupant_message("Toggled lights [lights?"on":"off"].") log_message("Toggled lights [lights?"on":"off"].") return diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index cb94f416ff7..246ac489204 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -272,7 +272,7 @@ name = "glowing resin" desc = "Blue bioluminescence shines from beneath the surface." icon_state = "weednode" - luminosity = 1 + light_range = 1 var/node_range = NODERANGE diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index c66706a18b3..1716c0773ef 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -12,7 +12,7 @@ var/obj/item/device/assembly/signaler/anomaly/aSignal = null /obj/effect/anomaly/New() - SetLuminosity(initial(luminosity)) + set_light(initial(luminosity)) aSignal = new(src) aSignal.code = rand(1,100) diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index bc73b6689b4..266c72c1a17 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -67,7 +67,7 @@ density = 0 anchored = 1 layer = 2 - luminosity = 1 + light_range = 1 icon = 'icons/effects/effects.dmi' icon_state = "greenglow" diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index edb7031f1e4..ae04632a0f8 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -45,7 +45,7 @@ processing_objects += src - SetLuminosity(round(potency/10)) + set_light(round(potency/10)) lastTick = world.timeofday diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index b88f63baab8..59a7e666623 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -56,8 +56,8 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa msg_admin_attack("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z]) (JMP)") log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ") - var/lighting_controller_was_processing = lighting_controller.processing //Pause the lighting updates for a bit - lighting_controller.processing = 0 + //var/lighting_controller_was_processing = lighting_controller.processing //Pause the lighting updates for a bit + //lighting_controller.processing = 0 var/powernet_rebuild_was_deferred_already = defer_powernet_rebuild if(defer_powernet_rebuild != 2) defer_powernet_rebuild = 1 @@ -72,7 +72,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa var/z0 = epicenter.z for(var/turf/T in trange(max_range, epicenter)) - var/dist = cheap_pythag(T.x - x0,T.y - y0) + var/dist = sqrt((T.x - x0)**2 + (T.y - y0)**2) if(config.reactionary_explosions) var/turf/Trajectory = T @@ -95,7 +95,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa if(T) for(var/atom_movable in T.contents) //bypass type checking since only atom/movable can be contained by turfs anyway var/atom/movable/AM = atom_movable - if(AM) AM.ex_act(dist) + if(AM && AM.simulated) AM.ex_act(dist) // if(flame_dist && prob(40) && !istype(T, /turf/space) && !T.density) // PoolOrNew(/obj/effect/hotspot, T) //Mostly for ambience! if(dist > 0) @@ -124,7 +124,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa sleep(8) - if(!lighting_controller.processing) lighting_controller.processing = lighting_controller_was_processing + //if(!lighting_controller.processing) lighting_controller.processing = lighting_controller_was_processing if(!powernet_rebuild_was_deferred_already) if(defer_powernet_rebuild != 2) defer_powernet_rebuild = 0 diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index fa111bef46b..4a4783c0f52 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -103,7 +103,6 @@ /obj/item/areaeditor/proc/get_area() var/turf/T = get_turf(usr) var/area/A = T.loc - A = A.master return A @@ -150,7 +149,6 @@ return var/area/A = new A.name = str - A.tagbase="[A.type]_[md5(str)]" // without this dynamic light system ruin everithing //var/ma //ma = A.master ? "[A.master]" : "(null)" //world << "DEBUG: create_area:
A.name=[A.name]
A.tag=[A.tag]
A.master=[ma]" @@ -159,7 +157,6 @@ A.power_environ = 0 A.always_unpowered = 0 move_turfs_to_area(turfs, A) - A.SetDynamicLighting() interact() return @@ -179,8 +176,7 @@ usr << "The given name is too long. The area's name is unchanged." return set_area_machinery_title(A,str,prevname) - for(var/area/RA in A.related) - RA.name = str + A.name = str usr << "You rename the '[prevname]' to '[str]'." interact() return @@ -189,20 +185,18 @@ /obj/item/areaeditor/proc/set_area_machinery_title(var/area/A,var/title,var/oldtitle) if (!oldtitle) // or replacetext goes to infinite loop return - for(var/area/RA in A.related) - for(var/obj/machinery/alarm/M in RA) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/power/apc/M in RA) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in RA) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/atmospherics/unary/vent_pump/M in RA) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/door/M in RA) - M.name = replacetext(M.name,oldtitle,title) + for(var/obj/machinery/alarm/M in A) + M.name = replacetext(M.name,oldtitle,title) + for(var/obj/machinery/power/apc/M in A) + M.name = replacetext(M.name,oldtitle,title) + for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in A) + M.name = replacetext(M.name,oldtitle,title) + for(var/obj/machinery/atmospherics/unary/vent_pump/M in A) + M.name = replacetext(M.name,oldtitle,title) + for(var/obj/machinery/door/M in A) + M.name = replacetext(M.name,oldtitle,title) //TODO: much much more. Unnamed airlocks, cameras, etc. - /obj/item/areaeditor/proc/check_tile_is_border(var/turf/T2,var/dir) if (istype(T2, /turf/space)) return BORDER_SPACE //omg hull breach we all going to die here diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index a68258e6a1c..c37b6269274 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -48,7 +48,7 @@ //src.damtype = "fire" for(var/mob/O in viewers(usr, null)) O.show_message(flavor_text, 1) - SetLuminosity(CANDLE_LUM) + set_light(CANDLE_LUM) processing_objects.Add(src) @@ -72,17 +72,4 @@ if(lit) lit = 0 update_icon() - SetLuminosity(0) - user.SetLuminosity(user.luminosity - CANDLE_LUM) - - - pickup(mob/user) - if(lit) - SetLuminosity(0) - user.SetLuminosity(user.luminosity + CANDLE_LUM) - - - dropped(mob/user) - if(lit) - user.SetLuminosity(user.luminosity - CANDLE_LUM) - SetLuminosity(CANDLE_LUM) + set_light(0) \ No newline at end of file diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 323a86208a7..1daaa8d5dc6 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -327,16 +327,6 @@ var/global/list/obj/item/device/pda/PDAs = list() /* * The Actual PDA */ -/obj/item/device/pda/pickup(mob/user) - if(fon) - SetLuminosity(0) - user.SetLuminosity(user.luminosity + f_lum) - -/obj/item/device/pda/dropped(mob/user) - if(fon) - user.SetLuminosity(user.luminosity - f_lum) - SetLuminosity(f_lum) - /obj/item/device/pda/New() ..() PDAs += src @@ -623,12 +613,10 @@ var/global/list/obj/item/device/pda/PDAs = list() if("Light") if(fon) fon = 0 - if(src in U.contents) U.SetLuminosity(U.luminosity - f_lum) - else SetLuminosity(0) + set_light(0) else fon = 1 - if(src in U.contents) U.SetLuminosity(U.luminosity + f_lum) - else SetLuminosity(f_lum) + set_light(f_lum) if("Medical Scan") if(scanmode == 1) scanmode = 0 diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 05a851b0d28..54fd0026833 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -17,24 +17,17 @@ ..() if(on) icon_state = "[initial(icon_state)]-on" - SetLuminosity(brightness_on) + set_light(brightness_on) else icon_state = initial(icon_state) - SetLuminosity(0) + set_light(0) /obj/item/device/flashlight/proc/update_brightness(var/mob/user = null) if(on) icon_state = "[initial(icon_state)]-on" - if(loc == user) - user.SetLuminosity(user.luminosity + brightness_on) - else if(isturf(loc)) - SetLuminosity(brightness_on) + set_light(brightness_on) else - icon_state = initial(icon_state) - if(loc == user) - user.SetLuminosity(user.luminosity - brightness_on) - else if(isturf(loc)) - SetLuminosity(0) + set_light(0) /obj/item/device/flashlight/attack_self(mob/user) if(!isturf(user.loc)) @@ -87,19 +80,6 @@ else return ..() - -/obj/item/device/flashlight/pickup(mob/user) - if(on) - user.SetLuminosity(user.luminosity + brightness_on) - SetLuminosity(0) - - -/obj/item/device/flashlight/dropped(mob/user) - if(on) - user.SetLuminosity(user.luminosity - brightness_on) - SetLuminosity(brightness_on) - - /obj/item/device/flashlight/pen name = "penlight" desc = "A pen-sized light, used by medical staff." @@ -197,7 +177,7 @@ on = 1 //Bio-luminesence has one setting, on. /obj/item/device/flashlight/slime/New() - SetLuminosity(brightness_on) + set_light(brightness_on) spawn(1) //Might be sloppy, but seems to be necessary to prevent further runtimes and make these work as intended... don't judge me! update_brightness() icon_state = initial(icon_state) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 3d9e623d53b..bb94f55b571 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -103,7 +103,7 @@ /obj/item/device/lightreplacer/emag_act(user as mob) if(!emagged) Emag() - + /obj/item/device/lightreplacer/attack_self(mob/user) /* // This would probably be a bit OP. If you want it though, uncomment the code. if(isrobot(user)) @@ -147,7 +147,9 @@ var/obj/item/weapon/light/L1 = new target.light_type(target.loc) L1.status = target.status L1.rigged = target.rigged - L1.brightness = target.brightness + L1.brightness_range = target.brightness_range + L1.brightness_power = target.brightness_power + L1.brightness_color = target.brightness_color L1.switchcount = target.switchcount target.switchcount = 0 L1.update() @@ -160,7 +162,9 @@ target.status = L2.status target.switchcount = L2.switchcount target.rigged = emagged - target.brightness = L2.brightness + target.brightness_range = L2.brightness_range + target.brightness_power = L2.brightness_power + target.brightness_color = L2.brightness_color target.on = target.has_power() target.update() del(L2) diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index f9907855224..7c11ef5b5d6 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -53,7 +53,7 @@ for(var/mob/M in viewers(user)) if(M == user) continue M << "[user] detaches the power sink from the cable." - SetLuminosity(0) + set_light(0) icon_state = "powersink0" return @@ -61,7 +61,7 @@ ..() Destroy() - SetLuminosity(0) + set_light(0) processing_objects.Remove(src) // attached.attached = null attached = null @@ -93,7 +93,7 @@ if(M == user) continue M << "[user] deactivates the power sink!" mode = 1 - SetLuminosity(0) + set_light(0) icon_state = "powersink0" processing_objects.Remove(src) @@ -101,7 +101,7 @@ if(attached) var/datum/powernet/PN = attached.get_powernet() if(PN) - SetLuminosity(12) + set_light(12) // found a powernet, so drain up to max power from it diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index aacdc9c6e37..623e117e9f1 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -432,7 +432,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM user.adjustFireLoss(5) user.visible_message("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.") - user.SetLuminosity(user.luminosity + 2) + set_light(2) processing_objects.Add(src) else lit = 0 @@ -445,7 +445,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM else user.visible_message("[user] quietly shuts off the [src].") - user.SetLuminosity(user.luminosity - 2) + set_light(0) processing_objects.Remove(src) else return ..() @@ -478,19 +478,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM return -/obj/item/weapon/lighter/pickup(mob/user) - if(lit) - SetLuminosity(0) - user.SetLuminosity(user.luminosity+2) - return - - -/obj/item/weapon/lighter/dropped(mob/user) - if(lit) - user.SetLuminosity(user.luminosity-2) - SetLuminosity(2) - return - /////////// //ROLLING// /////////// diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index b69126768e0..d673ac3c1b9 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -65,7 +65,7 @@ do_the_flick() sleep(4) density = 0 - SetOpacity(0) + set_opacity(0) update_icon(0) else var/srcturf = get_turf(src) @@ -75,7 +75,7 @@ do_the_flick() density = 1 sleep(4) - SetOpacity(1) + set_opacity(1) update_icon() opening = 0 diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index d4d3dc787c0..fe66664c0bd 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -179,7 +179,7 @@ /obj/structure/mineral_door/uranium mineralType = "uranium" hardness = 3 - luminosity = 2 + light_range = 2 /obj/structure/mineral_door/sandstone mineralType = "sandstone" diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index d1be680de0a..8ddfa279ea1 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -62,13 +62,11 @@ //lighting check var/light_amount = 0 var/turf/T = get_turf(src) - var/area/A = T.loc - - if(A) - if(A.lighting_use_dynamic) - light_amount = T.lighting_lumcount - else - light_amount = 10 + var/atom/movable/lighting_overlay/LO = locate(/atom/movable/lighting_overlay) in T + if(LO) + light_amount = max(0,min(10,LO.lum_r + LO.lum_g + LO.lum_b)-5) + else + light_amount = 5 if(light_amount > 2) M << "It's too bright here to use [src.name]!" diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 4bcadcb265d..cee422463e3 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -467,4 +467,54 @@ var/global/wcColored desc = "It looks rather strong and frosted over. Looks like it might take a few less hits then a normal reinforced window." icon_state = "fwindow" basestate = "fwindow" - health = 30 \ No newline at end of file + health = 30 + +/obj/structure/window/reinforced/polarized + name = "electrochromic window" + desc = "Adjusts its tint with voltage. Might take a few good hits to shatter it." + var/id + +/obj/structure/window/reinforced/polarized/proc/toggle() + if(opacity) + animate(src, color="#FFFFFF", time=5) + set_opacity(0) + else + animate(src, color="#222222", time=5) + set_opacity(1) + + + +/obj/machinery/button/windowtint + name = "window tint control" + icon = 'icons/obj/power.dmi' + icon_state = "light0" + desc = "A remote control switch for polarized windows." + var/range = 7 + var/id = 0 + var/active = 0 + +/obj/machinery/button/windowtint/attack_hand(mob/user as mob) + if(..()) + return 1 + + toggle_tint() + +/obj/machinery/button/windowtint/proc/toggle_tint() + use_power(5) + + active = !active + update_icon() + + for(var/obj/structure/window/reinforced/polarized/W in range(src,range)) + if (W.id == src.id || !W.id) + spawn(0) + W.toggle() + return + +/obj/machinery/button/windowtint/power_change() + ..() + if(active && !powered(power_channel)) + toggle_tint() + +/obj/machinery/button/windowtint/update_icon() + icon_state = "light[active]" \ No newline at end of file diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index c93ececa8df..3331861c136 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -20,18 +20,14 @@ var/list/mechtoys = list( /obj/item/toy/prize/phazon ) -/area/supply/station //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/supply/station name = "Supply Shuttle" icon_state = "shuttle3" - luminosity = 1 - lighting_use_dynamic = 0 requires_power = 0 -/area/supply/dock //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/supply/dock name = "Supply Shuttle" icon_state = "shuttle3" - luminosity = 1 - lighting_use_dynamic = 0 requires_power = 0 //SUPPLY PACKS MOVED TO /code/defines/obj/supplypacks.dm diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 55954dc957f..66f674189fb 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -109,19 +109,19 @@ turf/simulated/floor/proc/update_icon() switch(T.state) if(0) icon_state = "light_on" - SetLuminosity(5) + set_light(5) if(1) var/num = pick("1","2","3","4") icon_state = "light_on_flicker[num]" - SetLuminosity(5) + set_light(5) if(2) icon_state = "light_on_broken" - SetLuminosity(5) + set_light(5) if(3) icon_state = "light_off" - SetLuminosity(0) + set_light(0) else - SetLuminosity(0) + set_light(0) icon_state = "light_off" else if(is_grass_floor()) if(!broken && !burnt) @@ -338,7 +338,7 @@ turf/simulated/floor/proc/update_icon() if(!floor_tile) return del(floor_tile) icon_plating = "plating" - SetLuminosity(0) + set_light(0) floor_tile = null intact = 0 broken = 0 @@ -354,7 +354,7 @@ turf/simulated/floor/proc/update_icon() broken = 0 burnt = 0 intact = 1 - SetLuminosity(0) + set_light(0) if(T) if(istype(T,/obj/item/stack/tile/plasteel)) floor_tile = T diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 5ea347aa51e..82e6a2ca5fc 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -11,7 +11,7 @@ /turf/simulated/floor/light name = "Light floor" - luminosity = 5 + light_range = 5 icon_state = "light_on" floor_tile = new/obj/item/stack/tile/light @@ -273,12 +273,11 @@ thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT heat_capacity = 700000 - lighting_lumcount = 4 //starlight // accepts_lighting=0 // Don't apply overlays New() ..() - // Fucking cockshit dickfuck shitslut + set_light(4) //starlight name = "catwalk" update_icon(1) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index e954e5f95b1..c6dfddcee38 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -2,6 +2,7 @@ icon = 'icons/turf/space.dmi' name = "\proper space" icon_state = "0" + dynamic_lighting = 0 temperature = TCMB thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index ebefbf0ca20..6e175078e34 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -28,6 +28,8 @@ var/PathNode/PNode = null //associated PathNode in the A* algorithm + var/dynamic_lighting = 1 + /turf/New() ..() for(var/atom/movable/AM as mob|obj in src) @@ -226,8 +228,9 @@ /turf/proc/ChangeTurf(var/path) if(!path) return if(path == type) return src - var/old_lumcount = lighting_lumcount - initial(lighting_lumcount) var/old_opacity = opacity + var/old_dynamic_lighting = dynamic_lighting + var/list/old_affecting_lights = affecting_lights if(air_master) air_master.remove_from_active(src) @@ -237,18 +240,18 @@ W:Assimilate_Air() W.RemoveLattice() - W.lighting_lumcount += old_lumcount - if(old_lumcount != W.lighting_lumcount) //light levels of the turf have changed. We need to shift it to another lighting-subarea - W.lighting_changed = 1 - lighting_controller.changed_turfs += W - - if(old_opacity != W.opacity) //opacity has changed. Need to update surrounding lights - if(W.lighting_lumcount) //unless we're being illuminated, don't bother (may be buggy, hard to test) - W.UpdateAffectingLights() - W.levelupdate() W.CalculateAdjacentTurfs() - return W + . = W + + affecting_lights = old_affecting_lights + if((old_opacity != opacity) || (dynamic_lighting != old_dynamic_lighting)) + reconsider_lights() + if(dynamic_lighting != old_dynamic_lighting) + if(dynamic_lighting) + lighting_build_overlays() + else + lighting_clear_overlays() //////Assimilate Air////// /turf/simulated/proc/Assimilate_Air() diff --git a/code/game/vehicles/spacepods/spacepod.dm b/code/game/vehicles/spacepods/spacepod.dm index feeb98b2751..bea7372b1de 100644 --- a/code/game/vehicles/spacepods/spacepod.dm +++ b/code/game/vehicles/spacepods/spacepod.dm @@ -799,9 +799,9 @@ obj/spacepod/verb/toggleLights() /obj/spacepod/proc/lightsToggle() lights = !lights if(lights) - SetLuminosity(luminosity + lights_power) + set_light(luminosity + lights_power) else - SetLuminosity(luminosity - lights_power) + set_light(luminosity - lights_power) occupant << "Toggled lights [lights?"on":"off"]." return diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm index a35fb151745..d5dc51adf75 100644 --- a/code/modules/admin/verbs/massmodvar.dm +++ b/code/modules/admin/verbs/massmodvar.dm @@ -208,8 +208,8 @@ O.vars[variable]) as num|null if(new_value == null) return - if(variable=="luminosity") - O.SetLuminosity(new_value) + if(variable=="light_range") + O.set_light(new_value) else O.vars[variable] = new_value @@ -217,24 +217,24 @@ if(istype(O, /mob)) for(var/mob/M in mob_list) if ( istype(M , O.type) ) - if(variable=="luminosity") - M.SetLuminosity(new_value) + if(variable=="light_range") + M.set_light(new_value) else M.vars[variable] = O.vars[variable] else if(istype(O, /obj)) for(var/obj/A in world) if ( istype(A , O.type) ) - if(variable=="luminosity") - A.SetLuminosity(new_value) + if(variable=="light_range") + A.set_light(new_value) else A.vars[variable] = O.vars[variable] else if(istype(O, /turf)) for(var/turf/A in world) if ( istype(A , O.type) ) - if(variable=="luminosity") - A.SetLuminosity(new_value) + if(variable=="light_range") + A.set_light(new_value) else A.vars[variable] = O.vars[variable] @@ -242,24 +242,24 @@ if(istype(O, /mob)) for(var/mob/M in mob_list) if (M.type == O.type) - if(variable=="luminosity") - M.SetLuminosity(new_value) + if(variable=="light_range") + M.set_light(new_value) else M.vars[variable] = O.vars[variable] else if(istype(O, /obj)) for(var/obj/A in world) if (A.type == O.type) - if(variable=="luminosity") - A.SetLuminosity(new_value) + if(variable=="light_range") + A.set_light(new_value) else A.vars[variable] = O.vars[variable] else if(istype(O, /turf)) for(var/turf/A in world) if (A.type == O.type) - if(variable=="luminosity") - A.SetLuminosity(new_value) + if(variable=="light_range") + A.set_light(new_value) else A.vars[variable] = O.vars[variable] diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index c7d5853ae31..f8e24a5ec27 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -448,10 +448,10 @@ var/list/forbidden_varedit_object_types = list( O.vars[variable] = var_new if("num") - if(variable=="luminosity") + if(variable=="light_range") var/var_new = input("Enter new number:","Num",O.vars[variable]) as null|num if(var_new == null) return - O.SetLuminosity(var_new) + O.set_light(var_new) else if(variable=="stat") var/var_new = input("Enter new number:","Num",O.vars[variable]) as null|num if(var_new == null) return diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 42b985289a7..03687253564 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -21,20 +21,8 @@ icon_state = "hardhat[on]_[_color]" item_state = "hardhat[on]_[_color]" - if(on) user.SetLuminosity(user.luminosity + brightness_on) - else user.SetLuminosity(user.luminosity - brightness_on) - - pickup(mob/user) - if(on) - user.SetLuminosity(user.luminosity + brightness_on) -// user.UpdateLuminosity() //TODO: Carn - SetLuminosity(0) - - dropped(mob/user) - if(on) - user.SetLuminosity(user.luminosity - brightness_on) -// user.UpdateLuminosity() - SetLuminosity(brightness_on) + if(on) set_light(brightness_on) + else set_light(0) /obj/item/clothing/head/hardhat/orange diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 49972acd934..b4ac12b893a 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -57,22 +57,22 @@ return on = !on icon_state = "[base_state][on]" - if(on) user.SetLuminosity(user.luminosity + brightness_on) - else user.SetLuminosity(user.luminosity - brightness_on) + if(on) user.set_light(user.luminosity + brightness_on) + else user.set_light(user.luminosity - brightness_on) user.update_inv_head() /obj/item/clothing/head/helmet/space/eva/plasmaman/pickup(mob/user) if(on) - user.SetLuminosity(user.luminosity + brightness_on) + user.set_light(user.luminosity + brightness_on) // user.UpdateLuminosity() - SetLuminosity(0) + set_light(0) /obj/item/clothing/head/helmet/space/eva/plasmaman/dropped(mob/user) if(on) - user.SetLuminosity(user.luminosity - brightness_on) + user.set_light(user.luminosity - brightness_on) // user.UpdateLuminosity() - SetLuminosity(brightness_on) + set_light(brightness_on) diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index e54b737584f..cae0a398ea4 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -35,25 +35,13 @@ icon_state = "rig[on]-[_color]" // item_state = "rig[on]-[color]" - if(on) user.SetLuminosity(user.luminosity + brightness_on) - else user.SetLuminosity(user.luminosity - brightness_on) + if(on) set_light(brightness_on) + else set_light(0) if(istype(user,/mob/living/carbon/human)) var/mob/living/carbon/human/H = user H.update_inv_head() - pickup(mob/user) - if(on) - user.SetLuminosity(user.luminosity + brightness_on) -// user.UpdateLuminosity() - SetLuminosity(0) - - dropped(mob/user) - if(on) - user.SetLuminosity(user.luminosity - brightness_on) -// user.UpdateLuminosity() - SetLuminosity(brightness_on) - /obj/item/clothing/suit/space/rig name = "hardsuit" desc = "A special space suit for environments that might pose hazards beyond just the vacuum of space. Provides more protection than a standard space suit." @@ -393,7 +381,7 @@ flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE cold_protection = HEAD - user.AddLuminosity(brightness_on) + set_light(brightness_on) else user << "You switch your helmet to combat mode." name = "blood-red hardsuit helmet (combat)" @@ -401,7 +389,7 @@ flags = BLOCKHAIR flags_inv = HIDEEARS cold_protection = null - user.AddLuminosity(-brightness_on) + set_light(0) update_icon() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) diff --git a/code/modules/computer3/computer.dm b/code/modules/computer3/computer.dm index 9ea3bff1b36..157fc1e6d2e 100644 --- a/code/modules/computer3/computer.dm +++ b/code/modules/computer3/computer.dm @@ -75,15 +75,15 @@ set name = "Reset Computer" set category = "Object" set src in view(1) - + if(usr.stat || usr.restrained() || usr.lying || !istype(usr, /mob/living)) usr << "\red You can't do that." return - + if(!Adjacent(usr)) usr << "You can't reach it." return - + Reset() New(var/L, var/built = 0) @@ -280,8 +280,8 @@ chan = power_channel var/area/A = get_area(loc) - if(istype(A) && A.master && A.master.powered(chan)) - A.master.use_power(amount, chan) + if(istype(A) && A.powered(chan)) + A.use_power(amount, chan) else if(battery && battery.charge > 0) battery.use(amount) diff --git a/code/modules/computer3/networking.dm b/code/modules/computer3/networking.dm index 12341e2b6fc..f31f4516c2c 100644 --- a/code/modules/computer3/networking.dm +++ b/code/modules/computer3/networking.dm @@ -143,10 +143,9 @@ if(typekey == null) typekey = /obj/machinery var/list/machines = list() - for(var/area/area in A.related) - for(var/obj/O in area.contents) - if(istype(O,typekey)) - machines |= O + for(var/obj/O in A.contents) + if(istype(O,typekey)) + machines |= O return machines verify_machine(var/obj/previous) if(!previous) return 0 diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm index 444da4675ef..b4a659491c4 100644 --- a/code/modules/events/infestation.dm +++ b/code/modules/events/infestation.dm @@ -63,11 +63,9 @@ //world << " checking [areapath]" var/area/A = locate(areapath) //world << " A: [A], contents.len: [A.contents.len]" - for(var/area/B in A.related) - //world << " B: [B], contents.len: [B.contents.len]" - for(var/turf/simulated/floor/F in B.contents) - if(!F.contents.len) - turfs += F + for(var/turf/simulated/floor/F in A.contents) + if(!F.contents.len) + turfs += F var/list/spawn_types = list() var/max_number diff --git a/code/modules/hydroponics/vines.dm b/code/modules/hydroponics/vines.dm index 35d321789e0..90375ec98cc 100644 --- a/code/modules/hydroponics/vines.dm +++ b/code/modules/hydroponics/vines.dm @@ -181,14 +181,14 @@ // Update bioluminescence. if(seed.biolum) - SetLuminosity(1+round(seed.potency/10)) + set_light(1+round(seed.potency/10)) if(seed.biolum_colour) - l_color = seed.biolum_colour + light_color = seed.biolum_colour else - l_color = null + light_color = null return else - SetLuminosity(0) + set_light(0) // Update flower/product overlay. overlays.Cut() @@ -270,9 +270,10 @@ var/area/A = T.loc if(A) + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T var/light_available - if(A.lighting_use_dynamic) - light_available = max(0,min(10,T.lighting_lumcount)-5) + if(L) + light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) else light_available = 5 if(abs(light_available - seed.ideal_light) > seed.light_tolerance) diff --git a/code/modules/jungle/falsewall.dm b/code/modules/jungle/falsewall.dm index a83711609da..d2d21628d55 100644 --- a/code/modules/jungle/falsewall.dm +++ b/code/modules/jungle/falsewall.dm @@ -44,7 +44,7 @@ flick("[mineral]fwall_opening", src) sleep(15) src.density = 0 - SetOpacity(0) + set_opacity(0) opening = 0 else opening = 1 @@ -55,5 +55,5 @@ flick("[mineral]fwall_closing", src) density = 1 sleep(15) - SetOpacity(1) + set_opacity(1) opening = 0 diff --git a/code/modules/jungle/misc_helpers.dm b/code/modules/jungle/misc_helpers.dm index 1e1b4d45129..6936a877dff 100644 --- a/code/modules/jungle/misc_helpers.dm +++ b/code/modules/jungle/misc_helpers.dm @@ -92,7 +92,7 @@ // if(AR.lighting_use_dynamic) // X.opacity = !X.opacity -// X.sd_SetOpacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn +// X.sd_set_opacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn toupdate += X diff --git a/code/modules/lighting/__lighting_docs.dm b/code/modules/lighting/__lighting_docs.dm new file mode 100644 index 00000000000..8ef93935e9c --- /dev/null +++ b/code/modules/lighting/__lighting_docs.dm @@ -0,0 +1,67 @@ +/* +BS12 object based lighting system +*/ + +/* +Changes from tg DAL: + - Lighting is done using objects instead of subareas. + - Animated transitions. (newer tg DAL has this) + - Full colours with mixing. + - Support for lights on shuttles. + + - Code: + - Instead of one flat luminosity var, light is represented by 3 atom vars: + - light_range; range in tiles of the light, used for calculating falloff, + - light_power; multiplier for the brightness of lights, + - light_color; hex string representing the RGB colour of the light. + - setLuminousity() is now set_light() and takes the three variables above. + - Variables can be left as null to not update them. + - set_opacity() is now set_opacity(). + - Areas have luminosity set to 1 permanently, no hard-lighting. + - Objects inside other objects can have lights and they properly affect the turf. (flashlights) + - area/master and area/list/related have been eviscerated since subareas aren't needed. +*/ + +/* +Relevant vars/procs: + +atom: (lighting_atom.dm) + - var/light_range; range in tiles of the light, used for calculating falloff + - var/light_power; multiplier for the brightness of lights + - var/light_color; hex string representing the RGB colour of the light + + - var/datum/light_source/light; light source datum for this atom, only present if light_range && light_power + - var/list/light_sources; light sources in contents that are shining through this object, including this object + + - proc/set_light(l_range, l_power, l_color): + - Sets light_range/power/color to non-null args and calls update_light() + - proc/set_opacity(new_opacity): + - Sets opacity to new_opacity. + - If opacity has changed, call turf.reconsider_lights() to fix light occlusion + - proc/update_light(): + - Updates the light var on this atom, deleting or creating as needed and calling .update() + + +turf: (lighting_turf.dm) + - var/list/affecting_lights; list of light sources that are shining onto this turf + + - proc/reconsider_lights(): + - Force all light sources shining onto this turf to update + + - proc/lighting_clear_overlays(): + - Delete (manual GC) all light overlays on this turf, used when changing turf to space + - proc/lighting_build_overlays(): + - Create lighting overlays for this turf + + +atom/movable/lighting_overlay: (lighting_overlay.dm) + - var/lum_r, var/lum_g, var/lum_b; lumcounts of each colour + - var/needs_update; set on update_lumcount, checked by lighting process + + - var/xoffset, var/yoffset; (only present when using sub-tile overlays) fractional offset of this overlay in the tile + + - proc/update_lumcount(delta_r, delta_g, delta_b): + - Change the lumcount vars and queue the overlay for update + - proc/update_overlay() + - Called by the lighting process to update the color of the overlay +*/ \ No newline at end of file diff --git a/code/modules/lighting/_lighting_defs.dm b/code/modules/lighting/_lighting_defs.dm new file mode 100644 index 00000000000..842d741a806 --- /dev/null +++ b/code/modules/lighting/_lighting_defs.dm @@ -0,0 +1,10 @@ +#define LIGHTING_INTERVAL 5 // frequency, in 1/10ths of a second, of the lighting process + +#define LIGHTING_FALLOFF 1 // type of falloff to use for lighting; 1 for circular, 2 for square +#define LIGHTING_LAMBERTIAN 1 // use lambertian shading for light sources +#define LIGHTING_HEIGHT 1 // height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone +#define LIGHTING_TRANSITIONS 1 // smooth, animated transitions, similar to /tg/station + +#define LIGHTING_RESOLUTION 1 // resolution of the lighting overlays, powers of 2 only, max of 32 +#define LIGHTING_LAYER 10 // drawing layer for lighting overlays +#define LIGHTING_ICON 'icons/effects/lighting_overlay.dmi' // icon used for lighting shading effects \ No newline at end of file diff --git a/code/modules/lighting/light_source.dm b/code/modules/lighting/light_source.dm new file mode 100644 index 00000000000..41c66359671 --- /dev/null +++ b/code/modules/lighting/light_source.dm @@ -0,0 +1,169 @@ +/datum/light_source + var/atom/top_atom + var/atom/source_atom + + var/turf/source_turf + var/light_power + var/light_range + var/light_color // string, decomposed by parse_light_color() + + var/lum_r + var/lum_g + var/lum_b + + var/list/effect_r + var/list/effect_g + var/list/effect_b + var/list/effect_turf + + var/applied + + var/needs_update + var/destroyed + var/force_update + +/datum/light_source/New(atom/owner, atom/top) + source_atom = owner + if(!source_atom.light_sources) source_atom.light_sources = list() + source_atom.light_sources += src + top_atom = top + if(top_atom != source_atom) + if(!top.light_sources) top.light_sources = list() + top_atom.light_sources += src + + source_turf = top_atom + light_power = source_atom.light_power + light_range = source_atom.light_range + light_color = source_atom.light_color + + parse_light_color() + + effect_r = list() + effect_g = list() + effect_b = list() + effect_turf = list() + + update() + + return ..() + +/datum/light_source/proc/destroy() + destroyed = 1 + force_update() + if(source_atom) source_atom.light_sources -= src + if(top_atom) top_atom.light_sources -= src + +/datum/light_source/proc/update(atom/new_top_atom) + if(new_top_atom && new_top_atom != top_atom) + if(top_atom != source_atom) top_atom.light_sources -= src + top_atom = new_top_atom + if(top_atom != source_atom) + if(!top_atom.light_sources) top_atom.light_sources = list() + top_atom.light_sources += src + lighting_update_lights += src + needs_update = 1 + +/datum/light_source/proc/force_update() + needs_update = 1 + force_update = 1 + lighting_update_lights += src + +/datum/light_source/proc/check() + if(!source_atom) + destroy() + return 1 + + if(!top_atom) + top_atom = source_atom + . = 1 + + if(istype(top_atom, /turf)) + if(source_turf != top_atom) + source_turf = top_atom + . = 1 + else if(top_atom.loc != source_turf) + source_turf = top_atom.loc + . = 1 + + if(source_atom.light_power != light_power) + light_power = source_atom.light_power + . = 1 + + if(source_atom.light_range != light_range) + light_range = source_atom.light_range + . = 1 + + if(source_atom.light_color != light_color) + light_color = source_atom.light_color + parse_light_color() + . = 1 + + if(light_range && light_power && !applied) + . = 1 + +/datum/light_source/proc/parse_light_color() + if(light_color) + lum_r = GetRedPart(light_color) / 255 + lum_g = GetGreenPart(light_color) / 255 + lum_b = GetBluePart(light_color) / 255 + else + lum_r = 1 + lum_g = 1 + lum_b = 1 + +/datum/light_source/proc/falloff(atom/movable/lighting_overlay/O) + #if LIGHTING_FALLOFF == 1 // circular + #if LIGHTING_RESOLUTION == 1 + . = (O.x - source_turf.x)**2 + (O.y - source_turf.y)**2 + LIGHTING_HEIGHT + #else + . = (O.x - source_turf.x + O.xoffset)**2 + (O.y - source_turf.y + O.yoffset)**2 + LIGHTING_HEIGHT + #endif + + #if LIGHTING_LAMBERTIAN == 1 + . = CLAMP01((1 - CLAMP01(sqrt(.) / light_range)) * (1 / (sqrt(. + 1)))) + #else + . = 1 - CLAMP01(sqrt(.) / light_range) + #endif + + #elif LIGHTING_FALLOFF == 2 // square + #if LIGHTING_RESOLUTION == 1 + . = abs(O.x - source_turf.x) + abs(O.y - source_turf.y) + LIGHTING_HEIGHT + #else + . = abs(O.x - source_turf.x + O.xoffset) + abs(O.y - source_turf.y + O.yoffset) + LIGHTING_HEIGHT + #endif + + #if LIGHTING_LAMBERTIAN == 1 + . = CLAMP01((1 - CLAMP01(. / light_range)) * (1 / (sqrt(.)**2 + ))) + #else + . = 1 - CLAMP01(. / light_range) + #endif + #endif + +/datum/light_source/proc/apply_lum() + applied = 1 + if(istype(source_turf)) + for(var/atom/movable/lighting_overlay/O in view(light_range, source_turf)) + var/strength = light_power * falloff(O) + + effect_r[O] = lum_r * strength + effect_g[O] = lum_g * strength + effect_b[O] = lum_b * strength + + O.update_lumcount(lum_r * strength, lum_g * strength, lum_b * strength) + for(var/turf/T in view(light_range, source_turf)) + if(!T.affecting_lights) T.affecting_lights = list() + T.affecting_lights += src + effect_turf += T + +/datum/light_source/proc/remove_lum() + applied = 0 + for(var/atom/movable/lighting_overlay/O in effect_r) + O.update_lumcount(-effect_r[O], -effect_g[O], -effect_b[O]) + + for(var/turf/T in effect_turf) + if(T.affecting_lights) T.affecting_lights -= src + + effect_r.Cut() + effect_g.Cut() + effect_b.Cut() + effect_turf.Cut() \ No newline at end of file diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm new file mode 100644 index 00000000000..53a44c79bf7 --- /dev/null +++ b/code/modules/lighting/lighting_atom.dm @@ -0,0 +1,81 @@ +/atom + var/light_power = 1 // intensity of the light + var/light_range = 0 // range in tiles of the light + var/light_color // RGB string representing the colour of the light + + var/datum/light_source/light + var/list/light_sources + +/atom/proc/set_light(l_range, l_power, l_color) + if(l_power != null) light_power = l_power + if(l_range != null) light_range = l_range + if(l_color != null) light_color = l_color + + update_light() + +/atom/proc/update_light() + if(!light_power || !light_range) + if(light) + light.destroy() + light = null + else + if(!istype(loc, /atom/movable)) + . = src + else + . = loc + + if(light) + light.update(.) + else + light = new /datum/light_source(src, .) + +/atom/New() + . = ..() + if(light_power && light_range) + update_light() + +/atom/Destroy() + if(light) + light.destroy() + light = null + return ..() + +/atom/movable/Destroy() + var/turf/T = loc + if(opacity && istype(T)) + T.reconsider_lights() + return ..() + +/atom/movable/Move() + var/turf/old_loc = loc + . = ..() + + if(loc != old_loc) + for(var/datum/light_source/L in light_sources) + L.source_atom.update_light() + + var/turf/new_loc = loc + if(istype(old_loc) && opacity) + old_loc.reconsider_lights() + + if(istype(new_loc) && opacity) + new_loc.reconsider_lights() + +/atom/proc/set_opacity(new_opacity) + var/old_opacity = opacity + opacity = new_opacity + var/turf/T = loc + if(old_opacity != new_opacity && istype(T)) + T.reconsider_lights() + +/obj/item/equipped() + . = ..() + update_light() + +/obj/item/pickup() + . = ..() + update_light() + +/obj/item/dropped() + . = ..() + update_light() \ No newline at end of file diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm new file mode 100644 index 00000000000..e14ccd8f63f --- /dev/null +++ b/code/modules/lighting/lighting_overlay.dm @@ -0,0 +1,48 @@ +/atom/movable/lighting_overlay + name = "loverlay" + mouse_opacity = 0 + simulated = 0 + anchored = 1 + + icon = LIGHTING_ICON + layer = LIGHTING_LAYER + invisibility = INVISIBILITY_LIGHTING + blend_mode = BLEND_MULTIPLY + color = "#000000" + + var/lum_r + var/lum_g + var/lum_b + + #if LIGHTING_RESOLUTION != 1 + var/xoffset + var/yoffset + #endif + + var/needs_update + +/atom/movable/lighting_overlay/New() + . = ..() + verbs.Cut() + +/atom/movable/lighting_overlay/proc/update_lumcount(delta_r, delta_g, delta_b) + lum_r += delta_r + lum_g += delta_g + lum_b += delta_b + + needs_update = 1 + lighting_update_overlays += src + +/atom/movable/lighting_overlay/proc/update_overlay() + var/mx = max(lum_r, lum_g, lum_b) + . = 1 // factor + if(mx > 1) + . = 1/mx + #if LIGHTING_TRANSITIONS == 1 + animate(src, + color = rgb(lum_r * 255 * ., lum_g * 255 * ., lum_b * 255 * .), + LIGHTING_INTERVAL - 1 + ) + #else + color = rgb(lum_r * 255 * ., lum_g * 255 * ., lum_b * 255 * .) + #endif \ No newline at end of file diff --git a/code/modules/lighting/lighting_process.dm b/code/modules/lighting/lighting_process.dm new file mode 100644 index 00000000000..a16a0317db5 --- /dev/null +++ b/code/modules/lighting/lighting_process.dm @@ -0,0 +1,23 @@ +/datum/controller/process/lighting/setup() + name = "lighting" + schedule_interval = LIGHTING_INTERVAL + + create_lighting_overlays() + +/datum/controller/process/lighting/doWork() + for(var/datum/light_source/L in lighting_update_lights) + if(L.needs_update) + if(L.destroyed) + L.remove_lum() + else if(L.check() || L.force_update) + L.remove_lum() + L.apply_lum() + L.force_update = 0 + L.needs_update = 0 + lighting_update_lights.Cut() + + for(var/atom/movable/lighting_overlay/O in lighting_update_overlays) + if(O.needs_update) + O.update_overlay() + O.needs_update = 0 + lighting_update_overlays.Cut() \ No newline at end of file diff --git a/code/modules/lighting/lighting_system.dm b/code/modules/lighting/lighting_system.dm new file mode 100644 index 00000000000..17a2f99578c --- /dev/null +++ b/code/modules/lighting/lighting_system.dm @@ -0,0 +1,47 @@ +/var/list/lighting_update_lights = list() +/var/list/lighting_update_overlays = list() + +/area/var/lighting_use_dynamic = 1 + +// duplicates lots of code, but this proc needs to be as fast as possible. +/proc/create_lighting_overlays(zlevel = 0) + var/state = "light[LIGHTING_RESOLUTION]" + var/area/A + if(zlevel == 0) // populate all zlevels + for(var/turf/T in world) + if(T.dynamic_lighting) + A = T.loc + if(A.lighting_use_dynamic) + #if LIGHTING_RESOLUTION == 1 + var/atom/movable/lighting_overlay/O = new(T) + O.icon_state = state + #else + for(var/i = 0; i < LIGHTING_RESOLUTION; i++) + for(var/j = 0; j < LIGHTING_RESOLUTION; j++) + var/atom/movable/lighting_overlay/O = new(T) + O.pixel_x = i * (32 / LIGHTING_RESOLUTION) + O.pixel_y = j * (32 / LIGHTING_RESOLUTION) + O.xoffset = (((2*i + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5) + O.yoffset = (((2*j + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5) + O.icon_state = state + #endif + else + for(var/x = 1; x <= world.maxx; x++) + for(var/y = 1; y <= world.maxy; y++) + var/turf/T = locate(x, y, zlevel) + if(T.dynamic_lighting) + A = T.loc + if(A.lighting_use_dynamic) + #if LIGHTING_RESOLUTION == 1 + var/atom/movable/lighting_overlay/O = new(T) + O.icon_state = state + #else + for(var/i = 0; i < LIGHTING_RESOLUTION; i++) + for(var/j = 0; j < LIGHTING_RESOLUTION; j++) + var/atom/movable/lighting_overlay/O = new(T) + O.pixel_x = i * (32 / LIGHTING_RESOLUTION) + O.pixel_y = j * (32 / LIGHTING_RESOLUTION) + O.xoffset = (((2*i + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5) + O.yoffset = (((2*j + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5) + O.icon_state = state + #endif \ No newline at end of file diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm new file mode 100644 index 00000000000..11d89409478 --- /dev/null +++ b/code/modules/lighting/lighting_turf.dm @@ -0,0 +1,29 @@ +/turf + var/list/affecting_lights + +/turf/proc/reconsider_lights() + for(var/datum/light_source/L in affecting_lights) + L.force_update() + +/turf/proc/lighting_clear_overlays() + for(var/atom/movable/lighting_overlay/L in src) + L.loc = null + +/turf/proc/lighting_build_overlays() + if(!locate(/atom/movable/lighting_overlay) in src) + var/state = "light[LIGHTING_RESOLUTION]" + var/area/A = loc + if(A.lighting_use_dynamic) + #if LIGHTING_RESOLUTION == 1 + var/atom/movable/lighting_overlay/O = new(src) + O.icon_state = state + #else + for(var/i = 0; i < LIGHTING_RESOLUTION; i++) + for(var/j = 0; j < LIGHTING_RESOLUTION; j++) + var/atom/movable/lighting_overlay/O = new(src) + O.pixel_x = i * (32 / LIGHTING_RESOLUTION) + O.pixel_y = j * (32 / LIGHTING_RESOLUTION) + O.xoffset = (((2*i + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5) + O.yoffset = (((2*j + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5) + O.icon_state = state + #endif \ No newline at end of file diff --git a/code/modules/lighting/~lighting_underfs.dm b/code/modules/lighting/~lighting_underfs.dm new file mode 100644 index 00000000000..0f3651e15e5 --- /dev/null +++ b/code/modules/lighting/~lighting_underfs.dm @@ -0,0 +1,10 @@ +#undef LIGHTING_INTERVAL + +#undef LIGHTING_FALLOFF +#undef LIGHTING_LAMBERTIAN +#undef LIGHTING_HEIGHT +#undef LIGHTING_TRANSITIONS + +#undef LIGHTING_RESOLUTION +#undef LIGHTING_LAYER +#undef LIGHTING_ICON \ No newline at end of file diff --git a/code/modules/media/broadcast/transmitters/broadcast.dm b/code/modules/media/broadcast/transmitters/broadcast.dm index 63e7c933f4e..8461eaaafb4 100644 --- a/code/modules/media/broadcast/transmitters/broadcast.dm +++ b/code/modules/media/broadcast/transmitters/broadcast.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/machines/broadcast.dmi' icon_state = "broadcaster" - l_color="#4285F4" + light_color="#4285F4" use_power = 1 idle_power_usage = 50 active_power_usage = 1000 @@ -110,10 +110,10 @@ return if(on) overlays+="broadcaster on" - SetLuminosity(3) // OH FUUUUCK + set_light(3) // OH FUUUUCK use_power = 2 else - SetLuminosity(1) // Only the tile we're on. + set_light(1) // Only the tile we're on. use_power = 1 if(sources.len) overlays+="broadcaster linked" diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index e7346698f56..dccf5715bf9 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -104,7 +104,7 @@ icon_state = "furnace" density = 1 anchored = 1 - luminosity = 3 + light_range = 3 var/obj/machinery/mineral/input = null var/obj/machinery/mineral/output = null var/obj/machinery/mineral/console = null diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 0e927cc2aee..61902d6deab 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -5,7 +5,7 @@ name = "Light-emtter" anchored = 1 unacidable = 1 - luminosity = 8 + light_range = 8 /**********************Miner Lockers**************************/ diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 71226aa8bfb..48aa5fee4d4 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -734,10 +734,11 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing if(isturf(loc)) //else, there's considered to be no light var/turf/T = loc - var/area/A = T.loc - if(A) - if(A.lighting_use_dynamic) light_amount = min(10,T.lighting_lumcount) - 5 //hardcapped so it's not abused by having a ton of flashlights - else light_amount = 5 + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + if(L) + light_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + else + light_amount = 5 nutrition += light_amount traumatic_shock -= light_amount @@ -755,10 +756,11 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc var/light_amount = 0 if(isturf(loc)) var/turf/T = loc - var/area/A = T.loc - if(A) - if(A.lighting_use_dynamic) light_amount = T.lighting_lumcount - else light_amount = 10 + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + if(L) + light_amount = L.lum_r + L.lum_g + L.lum_b //hardcapped so it's not abused by having a ton of flashlights + else + light_amount = 10 if(light_amount > species.light_dam) //if there's enough light, start dying if(species.light_effect_amp) adjustFireLoss(5) //This gets doubled by Shadowling's innate fire weakness, so it ends up being 10. @@ -1349,7 +1351,8 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc //0.1% chance of playing a scary sound to someone who's in complete darkness if(isturf(loc) && rand(1,1000) == 1) var/turf/currentTurf = loc - if(!currentTurf.lighting_lumcount) + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in currentTurf + if(L && L.lum_r + L.lum_g + L.lum_b == 0) playsound_local(src,pick(scarySounds),50, 1, -1) // Separate proc so we can jump out of it when we've succeeded in spreading disease. diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 1a3bfc3f05a..e2d7a25adfa 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -434,10 +434,11 @@ var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing if(isturf(loc)) //else, there's considered to be no light var/turf/T = loc - var/area/A = T.loc - if(A) - if(A.lighting_use_dynamic) light_amount = min(10,T.lighting_lumcount) - 5 //hardcapped so it's not abused by having a ton of flashlights - else light_amount = 5 + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + if(L) + light_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + else + light_amount = 5 nutrition += light_amount traumatic_shock -= light_amount diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index b61d58223c6..e1715187d33 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -203,14 +203,14 @@ /mob/living/proc/IgniteMob() if(fire_stacks > 0 && !on_fire) on_fire = 1 - src.AddLuminosity(3) + set_light(light_range + 3,l_color = "#ED9200") update_fire() /mob/living/proc/ExtinguishMob() if(on_fire) on_fire = 0 fire_stacks = 0 - src.AddLuminosity(-3) + set_light(max(0,light_range - 3)) update_fire() /mob/living/proc/update_fire() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 15a08aaea8d..5545e9f09bc 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -654,13 +654,13 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/reset_view(atom/A) if(current) - current.SetLuminosity(0) + current.set_light(0) if(istype(A,/obj/machinery/camera)) current = A ..() if(istype(A,/obj/machinery/camera)) - if(camera_light_on) A.SetLuminosity(AI_CAMERA_LUMINOSITY) - else A.SetLuminosity(0) + if(camera_light_on) A.set_light(AI_CAMERA_LUMINOSITY) + else A.set_light(0) /mob/living/silicon/ai/proc/botcall() set category = "AI Commands" @@ -941,7 +941,7 @@ var/list/ai_verbs_default = list( src << "Camera lights [camera_light_on ? "activated" : "deactivated"]." if(!camera_light_on) if(current) - current.SetLuminosity(0) + current.set_light(0) current = null else lightNearbyCamera() @@ -970,20 +970,20 @@ var/list/ai_verbs_default = list( if(src.current) var/obj/machinery/camera/camera = near_range_camera(src.eyeobj) if(camera && src.current != camera) - src.current.SetLuminosity(0) + src.current.set_light(0) if(!camera.light_disabled) src.current = camera - src.current.SetLuminosity(AI_CAMERA_LUMINOSITY) + src.current.set_light(AI_CAMERA_LUMINOSITY) else src.current = null else if(isnull(camera)) - src.current.SetLuminosity(0) + src.current.set_light(0) src.current = null else var/obj/machinery/camera/camera = near_range_camera(src.eyeobj) if(camera && !camera.light_disabled) src.current = camera - src.current.SetLuminosity(AI_CAMERA_LUMINOSITY) + src.current.set_light(AI_CAMERA_LUMINOSITY) camera_light_on = world.timeofday + 1 * 20 // Update the light every 2 seconds. diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index e7baed57748..328bd8c28c9 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -83,7 +83,7 @@ if(src.can_use()) cameranet.addCamera(src) else - src.SetLuminosity(0) + src.set_light(0) cameranet.removeCamera(src) /obj/machinery/camera/New() diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 477565b9cca..8d7e99f423b 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -9,7 +9,7 @@ src.cameraFollow = null src.reset_view(null) src.unset_machine() - + src.updatehealth() if (src.malfhack) @@ -48,7 +48,7 @@ loc = T.loc if (istype(loc, /area)) //stage = 4 - if (!loc.master.power_equip && !istype(src.loc,/obj/item)) + if (!loc.power_equip && !istype(src.loc,/obj/item)) //stage = 5 blind = 1 @@ -89,6 +89,9 @@ else //stage = 6 + + var/area/current_area = get_area(src) + src.blind.screen_loc = "1,1 to 15,15" if (src.blind.layer!=18) src.blind.layer = 18 @@ -98,7 +101,7 @@ src.see_in_dark = 0 src.see_invisible = SEE_INVISIBLE_LIVING - if (((!loc.master.power_equip) || istype(T, /turf/space)) && !istype(src.loc,/obj/item)) + if (((!loc.power_equip) || istype(T, /turf/space)) && !istype(src.loc,/obj/item)) if (src:aiRestorePowerRoutine==0) src:aiRestorePowerRoutine = 1 @@ -112,7 +115,7 @@ spawn(20) src << "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection." sleep(50) - if (loc.master.power_equip) + if (loc.power_equip) if (!istype(T, /turf/space)) src << "Alert cancelled. Power has been restored without our assistance." src:aiRestorePowerRoutine = 0 @@ -136,21 +139,20 @@ theAPC = something break */ - var/PRP //like ERP with the code, at least this stuff is no more 4x sametext + var/PRP for (PRP=1, PRP<=4, PRP++) - var/area/AIarea = get_area(src) - for(var/area/A in AIarea.master.related) - for (var/obj/machinery/power/apc/APC in A) - if (!(APC.stat & BROKEN)) - theAPC = APC - break + for (var/obj/machinery/power/apc/APC in current_area) + if (!(APC.stat & BROKEN)) + theAPC = APC + break + if (!theAPC) switch(PRP) if (1) src << "Unable to locate APC!" else src << "Lost connection with the APC!" src:aiRestorePowerRoutine = 2 return - if (loc.master.power_equip) + if (loc.power_equip) if (!istype(T, /turf/space)) src << "Alert cancelled. Power has been restored without our assistance." src:aiRestorePowerRoutine = 0 diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 2de72f237f3..8ed8db27fcf 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -39,9 +39,9 @@ set category = "Drone" if(luminosity) - SetLuminosity(0) + set_light(0) return - SetLuminosity(2) + set_light(2) //Actual picking-up event. /mob/living/silicon/robot/drone/attack_hand(mob/living/carbon/human/M as mob) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 9c22893e198..38a3243c1bb 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -120,7 +120,7 @@ emote_hear = list("barks", "woofs", "yaps","pants") emote_see = list("shakes its head", "shivers") desc = "It's a corgi." - SetLuminosity(0) + set_light(0) inventory_head.loc = src.loc inventory_head = null regenerate_icons() @@ -295,7 +295,7 @@ emote_hear = list("barks christmas songs", "yaps merrily") emote_see = list("looks for presents", "checks his list") desc = "He's very fond of milk and cookies." - SetLuminosity(6) + set_light(6) if(/obj/item/clothing/head/soft) name = "Corgi Tech [real_name]" desc = "The reason your yellow gloves have chew-marks." @@ -303,7 +303,7 @@ name = "[real_name] the red-nosed Corgi" emote_hear = list("lights the way", "illuminates", "yaps") desc = "He has a very shiny nose." - SetLuminosity(1) + set_light(1) //IAN! SQUEEEEEEEEE~ diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 8bdc0eef805..fde8333ebdb 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -95,7 +95,7 @@ emote_hear = list("clicks") emote_see = list("clacks") desc = "Free crabs!" - src.sd_SetLuminosity(0) + src.sd_set_light(0) inventory_head.loc = src.loc inventory_head = null else diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 30115ec7957..c6f07751097 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -112,11 +112,23 @@ /mob/living/simple_animal/hostile/statue/proc/can_be_seen(var/turf/destination) // Check for darkness var/turf/T = get_turf(loc) + var/light_amount + var/DLlight_amount + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + if(L) + light_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + else + light_amount = 5 + var/atom/movable/lighting_overlay/DL = locate(/atom/movable/lighting_overlay) in destination + if(DL) + DLlight_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + else + DLlight_amount = 5 if(T && destination) // Don't check it twice if our destination is the tile we are on or we can't even get to our destination if(T == destination) destination = null - else if(!T.lighting_lumcount && !destination.lighting_lumcount) // No one can see us in the darkness, right? + else if(light_amount <= 1 && DLlight_amount <= 1) // No one can see us in the darkness, right? return null // We aren't in darkness, loop for viewers. diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index f43759f4279..6c8d2762690 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -222,7 +222,7 @@ var/player_logged = 0 var/turf/listed_turf = null //the current turf being examined in the stat panel - var/list/shouldnt_see = list() //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes + var/list/shouldnt_see = list(/atom/movable/lighting_overlay) //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes var/kills=0 diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 48d3a52b0b0..89f288d0131 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1325,11 +1325,10 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on) if( cell && cell.charge>=20) cell.use(20); spawn(0) - for(var/area/A in area.related) - for(var/obj/machinery/light/L in A) - L.on = 1 - L.broken() - sleep(1) + for(var/obj/machinery/light/L in area) + L.on = 1 + L.broken() + sleep(1) /obj/machinery/power/apc/Destroy() if(malfai && operating) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index b66644e9179..4efe44ee90d 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -91,7 +91,7 @@ powernet.cut_cable(src) // update the powernets cable_list -= src /* if(istype(attached)) - attached.SetLuminosity(0) + attached.set_light(0) attached.icon_state = "powersink0" attached.mode = 0 processing_objects.Remove(attached) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 26fb14f92e8..ac145588874 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -141,7 +141,9 @@ power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list var/on = 0 // 1 if on, 0 if off var/on_gs = 0 - var/brightness = 8 // luminosity when on, also used in power calculation + var/brightness_range = 8 // luminosity when on, also used in power calculation + var/brightness_power = 3 + var/brightness_color = null var/status = LIGHT_OK // LIGHT_OK, _EMPTY, _BURNED or _BROKEN var/flickering = 0 var/light_type = /obj/item/weapon/light/tube // the type of light item @@ -157,7 +159,9 @@ icon_state = "bulb1" base_state = "bulb" fitting = "bulb" - brightness = 4 + brightness_range = 4 + brightness_power = 2 + brightness_color = "#a0a080" desc = "A small lighting fixture." light_type = /obj/item/weapon/light/bulb @@ -178,7 +182,8 @@ name = "spotlight" fitting = "large tube" light_type = /obj/item/weapon/light/tube/large - brightness = 12 + brightness_range = 12 + brightness_power = 4 /obj/machinery/light/built/New() status = LIGHT_EMPTY @@ -195,13 +200,20 @@ ..() spawn(2) + var/area/A = get_area(src) + if(A && !A.requires_power) + on = 1 + switch(fitting) if("tube") - brightness = 8 + brightness_range = 8 + brightness_power = 3 if(prob(2)) broken(1) if("bulb") - brightness = 4 + brightness_range = 4 + brightness_power = 2 + brightness_color = "#a0a080" if(prob(5)) broken(1) spawn(1) @@ -235,7 +247,7 @@ update_icon() if(on) - if(luminosity != brightness) + if(light_range != brightness_range || light_power != brightness_power || light_color != brightness_color) switchcount++ if(rigged) if(status == LIGHT_OK && trigger) @@ -249,15 +261,15 @@ status = LIGHT_BURNED icon_state = "[base_state]-burned" on = 0 - SetLuminosity(0) + set_light(0) else use_power = 2 - SetLuminosity(brightness) + set_light(brightness_range, brightness_power, brightness_color) else use_power = 1 - SetLuminosity(0) + set_light(0) - active_power_usage = (luminosity * 10) + active_power_usage = ((light_range + light_power) * 10) if(on != on_gs) on_gs = on @@ -309,8 +321,9 @@ user << "You insert the [L.name]." switchcount = L.switchcount rigged = L.rigged - brightness = L.brightness - l_color = L.color + brightness_range = L.brightness_range + brightness_power = L.brightness_power + brightness_color = L.brightness_color on = has_power() update() @@ -387,7 +400,7 @@ // true if area has power and lightswitch is on /obj/machinery/light/proc/has_power() var/area/A = src.loc.loc - return A.master.lightswitch && A.master.power_light + return A.lightswitch && A.power_light /obj/machinery/light/proc/flicker(var/amount = rand(10, 20)) if(flickering) return @@ -474,8 +487,9 @@ var/obj/item/weapon/light/L = new light_type() L.status = status L.rigged = rigged - L.brightness = src.brightness - L.color = l_color + L.brightness_range = brightness_range + L.brightness_power = brightness_power + L.brightness_color = brightness_color // light item inherits the switchcount, then zero it L.switchcount = switchcount @@ -501,8 +515,9 @@ var/obj/item/weapon/light/L = new light_type() L.status = status L.rigged = rigged - L.brightness = brightness - L.color = l_color + L.brightness_range = brightness_range + L.brightness_power = brightness_power + L.brightness_color = brightness_color // light item inherits the switchcount, then zero it L.switchcount = switchcount @@ -533,7 +548,6 @@ if(status == LIGHT_OK) return status = LIGHT_OK - brightness = initial(brightness) on = 1 update() @@ -568,7 +582,7 @@ /* /obj/machinery/light/process()//TODO: remove/add this from machines to save on processing as needed ~Carn PRIORITY if(on) - use_power(luminosity * LIGHTING_POWER_FACTOR, LIGHT) + use_power(light_range * LIGHTING_POWER_FACTOR, LIGHT) */ // called when area power state changes @@ -608,7 +622,9 @@ var/switchcount = 0 // number of times switched m_amt = 60 var/rigged = 0 // true if rigged to explode - var/brightness = 2 //how much light it gives off + var/brightness_range = 2 //how much light it gives off + var/brightness_power = 1 + var/brightness_color = null /obj/item/weapon/light/tube name = "light tube" @@ -617,12 +633,14 @@ base_state = "ltube" item_state = "c_tube" g_amt = 100 - brightness = 8 + brightness_range = 8 + brightness_power = 3 /obj/item/weapon/light/tube/large w_class = 2 name = "large light tube" - brightness = 15 + brightness_range = 15 + brightness_power = 4 /obj/item/weapon/light/bulb name = "light bulb" @@ -631,7 +649,9 @@ base_state = "lbulb" item_state = "contvapour" g_amt = 100 - brightness = 5 + brightness_range = 5 + brightness_power = 2 + brightness_color = "#a0a080" /obj/item/weapon/light/throw_impact(atom/hit_atom) ..() @@ -644,7 +664,8 @@ base_state = "fbulb" item_state = "egg4" g_amt = 100 - brightness = 5 + brightness_range = 5 + brightness_power = 2 // update the icon state and description of the light @@ -665,9 +686,9 @@ ..() switch(name) if("light tube") - brightness = rand(6,9) + brightness_range = rand(6,9) if("light bulb") - brightness = rand(4,6) + brightness_range = rand(4,6) update() diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index fbb8d479470..54ffa1221fe 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -46,31 +46,20 @@ return 1 var/area/A = src.loc.loc // make sure it's in an area - if(!A || !isarea(A) || !A.master) + if(!A || !isarea(A)) return 0 // if not, then not powered if(chan == -1) chan = power_channel - return A.master.powered(chan) // return power status of the area + return A.powered(chan) // return power status of the area // increment the power usage stats for an area - - -/obj/machinery/proc/use_power(var/amount, var/chan = -1, var/autocalled = 0) // defaults to power_channel - var/A = getArea() - +/obj/machinery/proc/use_power(var/amount, var/chan = -1) // defaults to power_channel + var/area/A = get_area(src) // make sure it's in an area if(!A || !isarea(A)) return - - var/area/B = A - - if (!B.master) - return - - if (-1 == chan) + if(chan == -1) chan = power_channel - - - B.master.use_power(amount, chan) + A.use_power(amount, chan) /obj/machinery/proc/power_change() // called whenever the power settings of the containing area change // by default, check equipment channel & set flag @@ -445,9 +434,9 @@ return null /area/proc/get_apc() - for(var/area/RA in src.related) - if (RA.apc.len >= 1) - return RA.apc[1] + var/obj/machinery/power/apc/FINDME = locate() in src + if (FINDME) + return FINDME //Determines how strong could be shock, deals damage to mob, uses power. diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 971c3ccf98e..c208c805bfa 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -9,7 +9,7 @@ density = 0 unacidable = 1 use_power = 0 - luminosity = 4 + light_range = 4 var/obj/machinery/field_generator/FG1 = null var/obj/machinery/field_generator/FG2 = null var/hasShocked = 0 //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second. diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 3af4d2fbf2c..6c3172654aa 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -18,7 +18,7 @@ var/global/list/uneatable = list( anchored = 1 density = 1 layer = 6 - luminosity = 6 + light_range = 6 unacidable = 1 //Don't comment this out. use_power = 0 var/current_size = 1 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 4efee86bb44..96feb8cd89d 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -316,7 +316,7 @@ user.drop_item() user << "You click [S] into place on [src]." if(S.on) - SetLuminosity(0) + set_light(0) F = S A.loc = src update_icon() @@ -359,32 +359,10 @@ /obj/item/weapon/gun/proc/update_gunlight(var/mob/user = null) if(F) if(F.on) - if(loc == user) - user.AddLuminosity(F.brightness_on) - else if(isturf(loc)) - SetLuminosity(F.brightness_on) + set_light(F.brightness_on) else - if(loc == user) - user.AddLuminosity(-F.brightness_on) - else if(isturf(loc)) - SetLuminosity(0) + set_light(0) update_icon() else - if(loc == user) - user.AddLuminosity(-5) - else if(isturf(loc)) - SetLuminosity(0) - return - -/obj/item/weapon/gun/pickup(mob/user) - if(F) - if(F.on) - user.AddLuminosity(F.brightness_on) - SetLuminosity(0) - -/obj/item/weapon/gun/dropped(mob/user) - if(F) - if(F.on) - user.AddLuminosity(-F.brightness_on) - SetLuminosity(F.brightness_on) - + set_light(0) + return \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm index 3c91caf7431..1f23b5cb849 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm @@ -185,16 +185,16 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/Destroy() if(istype(loc,/mob)) - loc.SetLuminosity(round(loc.luminosity - potency/5,1)) + loc.set_light(round(loc.luminosity - potency/5,1)) ..() /obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/pickup(mob/user) - src.SetLuminosity(0) - user.SetLuminosity(round(user.luminosity + (potency/5),1)) + src.set_light(0) + user.set_light(round(user.luminosity + (potency/5),1)) /obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/dropped(mob/user) - user.SetLuminosity(round(user.luminosity - (potency/5),1)) - src.SetLuminosity(round(potency/5,1)) + user.set_light(round(user.luminosity - (potency/5),1)) + src.set_light(round(potency/5,1)) /obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod name = "cocoa pod" @@ -613,16 +613,16 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy() if(istype(loc,/mob)) - loc.SetLuminosity(round(loc.luminosity - potency/10,1)) + loc.set_light(round(loc.luminosity - potency/10,1)) ..() /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user) - SetLuminosity(0) - user.SetLuminosity(round(user.luminosity + (potency/10),1)) + set_light(0) + user.set_light(round(user.luminosity + (potency/10),1)) /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user) - user.SetLuminosity(round(user.luminosity - (potency/10),1)) - SetLuminosity(round(potency/10,1)) + user.set_light(round(user.luminosity - (potency/10),1)) + set_light(round(potency/10,1)) //Tobacco/varieties /obj/item/weapon/reagent_containers/food/snacks/grown/tobacco diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index cea70a189a6..a1844d19760 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -26,7 +26,7 @@ icon_state = "darkmatter" density = 1 anchored = 0 - luminosity = 4 + light_range = 4 var/gasefficency = 0.25 @@ -41,7 +41,7 @@ var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT." var/explosion_point = 1000 - l_color = "#8A8A00" + light_color = "#8A8A00" var/warning_color = "#B8B800" var/emergency_color = "#D9D900" @@ -102,10 +102,8 @@ //Changes color and luminosity of the light to these values if they were not already set /obj/machinery/power/supermatter/proc/shift_light(var/lum, var/clr) - if(l_color != clr) - l_color = clr - if(luminosity != lum) - SetLuminosity(lum) + if(lum != light_range || clr != light_color) + set_light(lum, l_color = clr) /obj/machinery/power/supermatter/process() @@ -151,7 +149,7 @@ explode() else - shift_light(4,initial(l_color)) + shift_light(4,initial(light_color)) if(grav_pulling) supermatter_pull() diff --git a/code/modules/vehicle/vehicle.dm b/code/modules/vehicle/vehicle.dm index d345c31ea21..d74897a1b76 100644 --- a/code/modules/vehicle/vehicle.dm +++ b/code/modules/vehicle/vehicle.dm @@ -5,7 +5,7 @@ density = 1 anchored = 1 animate_movement=1 - luminosity = 3 + light_range = 3 var/attack_log = null var/on = 0 @@ -179,13 +179,13 @@ if(powered && cell.charge < charge_use) return 0 on = 1 - luminosity = initial(luminosity) + set_light(initial(light_range)) update_icon() return 1 /obj/vehicle/proc/turn_off() on = 0 - luminosity = 0 + set_light(0) update_icon() /obj/vehicle/proc/Emag(mob/user as mob) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index b2e05635f42..cad7b7ab154 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -482,7 +482,7 @@ name = "Lantern Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) - mob.SetLuminosity(5) + mob.set_light(5) mob << "You are glowing brightly!" @@ -866,7 +866,7 @@ var/list/compatible_mobs = list(/mob/living/carbon/human, /mob/living/carbon/mon name = "Lantern Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) - mob.SetLuminosity(4) + mob.set_light(4) mob << "You are glowing!" diff --git a/code/setup.dm b/code/setup.dm index c14124cb929..ba72060d9f1 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -974,3 +974,5 @@ var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF") #define CLICK_CD_TKSTRANGLE 10 #define CLICK_CD_POINT 10 #define CLICK_CD_RESIST 20 + +#define CLAMP01(x) max(0, min(1, x)) \ No newline at end of file diff --git a/icons/effects/lighting_overlay.dmi b/icons/effects/lighting_overlay.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d27785068bb96915f80240098ba6ac19e66a3ba6 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^2|(>knv?>FNHaeCLNg+q7bafu9CLm$kCaTB13pY44ypl(e^sy z+qxles-)oZGc6XWVn;NMO_crS8v0$=)ZX!HX9F`k!(QJ&pXYabK#o%Jba4#Pn3(*7 zpM}T3z{jFMPuAjp<{3%WFU;~Eiue{3OEpL^oXS}%`8+@EGf+K)r>mdKI;Vst0F Date: Sun, 10 May 2015 13:12:22 -0700 Subject: [PATCH 2/6] Colored Fire This commit adds a colored fire system based on baystation12's system. --- code/LINDA/LINDA_fire.dm | 12 +++++++-- code/__HELPERS/type2type.dm | 29 ++++++++++++++++++++++ code/modules/lighting/lighting_overlay.dm | 2 +- icons/effects/fire.dmi | Bin 350094 -> 707654 bytes 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/code/LINDA/LINDA_fire.dm b/code/LINDA/LINDA_fire.dm index 822c96f6632..cc2adb6300a 100644 --- a/code/LINDA/LINDA_fire.dm +++ b/code/LINDA/LINDA_fire.dm @@ -48,7 +48,7 @@ icon_state = "1" layer = TURF_LAYER - light_color = "#ED9200" + blend_mode = BLEND_ADD var/volume = 125 var/temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST @@ -57,7 +57,8 @@ /obj/effect/hotspot/New() ..() - set_light(7) + color = heat2color(temperature) + set_light(3, 1, color) air_master.hotspots += src /obj/effect/hotspot/proc/perform_exposure() @@ -83,6 +84,9 @@ if(item) // It's possible that the item is deleted in temperature_expose item.fire_act(null, temperature, volume) + animate(src, color = heat2color(temperature), 5) + set_light(l_color = color) + return 0 @@ -113,6 +117,7 @@ if(bypassing) icon_state = "3" + set_light(7,3) location.burn_tile() //Possible spread due to radiated heat @@ -128,8 +133,10 @@ else if(volume > CELL_VOLUME*0.4) icon_state = "2" + set_light(5, 2) else icon_state = "1" + set_light(3, 1) if(temperature > location.max_fire_temperature_sustained) location.max_fire_temperature_sustained = temperature @@ -149,6 +156,7 @@ qdel(src) /obj/effect/hotspot/Destroy() + set_light(0) if(istype(loc, /turf/simulated)) var/turf/simulated/T = loc if(T.active_hotspot == src) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 634697b8e44..bac5959d630 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -366,3 +366,32 @@ proc/tg_text2list(text, glue=",", assocglue=";") finalNum = copytext(finalNum, 1, pos) + sep + copytext(finalNum, pos) return finalNum + + +// heat2color functions. Adapted from: http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/ +/proc/heat2color(temp) + return rgb(heat2color_r(temp), heat2color_g(temp), heat2color_b(temp)) + +/proc/heat2color_r(temp) + temp /= 100 + if(temp <= 66) + . = 255 + else + . = max(0, min(255, 329.698727446 * (temp - 60) ** -0.1332047592)) + +/proc/heat2color_g(temp) + temp /= 100 + if(temp <= 66) + . = max(0, min(255, 99.4708025861 * log(temp) - 161.1195681661)) + else + . = max(0, min(255, 288.1221695283 * ((temp - 60) ** -0.0755148492))) + +/proc/heat2color_b(temp) + temp /= 100 + if(temp >= 66) + . = 255 + else + if(temp <= 16) + . = 0 + else + . = max(0, min(255, 138.5177312231 * log(temp - 10) - 305.0447927307)) \ No newline at end of file diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm index e14ccd8f63f..932eee6461a 100644 --- a/code/modules/lighting/lighting_overlay.dm +++ b/code/modules/lighting/lighting_overlay.dm @@ -1,5 +1,5 @@ /atom/movable/lighting_overlay - name = "loverlay" + name = "" mouse_opacity = 0 simulated = 0 anchored = 1 diff --git a/icons/effects/fire.dmi b/icons/effects/fire.dmi index 2b9071d25efd1d4fe970719007cfe1d867547097..5f5cfe3a2f9c6e0e81f136f220da4d8b374ab17a 100644 GIT binary patch literal 707654 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≠ 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