From d6be5a2e1b390ac6ff27c50ff9f145d0215f3eee Mon Sep 17 00:00:00 2001 From: MrPerson Date: Mon, 30 Mar 2015 01:58:01 -0700 Subject: [PATCH] Move time for lighting changes from a scale to a fixed length PDA's start off again, but the code is still there. forceMove() now calls Moved() and has some other minor tidying up. This means teleporting will update the lights around you right away. --- code/controllers/_DynamicAreaLighting_TG.dm | 5 ++--- code/game/atoms_movable.dm | 11 +++++++---- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index b72494d2fd5..a1353e0df44 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -36,7 +36,7 @@ #define LIGHTING_CAP_FRAC (255/LIGHTING_CAP) //A precal'd variable we'll use in turf/redraw_lighting() #define LIGHTING_ICON 'icons/effects/alphacolors.dmi' #define LIGHTING_ICON_STATE "white" -#define LIGHTING_ALPHA_CHANGE_PER_SECOND 75 //Alpha change that will occur each second +#define LIGHTING_TIME 1.2 //Time to do any lighting change. Actual number pulled out of my ass #define LIGHTING_DARKEST_VISIBLE_ALPHA 230 //Anything darker than this is so dark, we'll just consider the whole tile unlit /datum/light_source @@ -166,7 +166,6 @@ else if(light.strength == new_luminosity) return - light.remove_effect() // we need to remove the effect before changing strength light.strength = new_luminosity luminosity = new_luminosity light.changed = 1 @@ -264,7 +263,7 @@ newalpha = 0 if(lighting_object.alpha != newalpha) - var/change_time = (abs(newalpha - lighting_object.alpha)) / LIGHTING_ALPHA_CHANGE_PER_SECOND + var/change_time = LIGHTING_TIME animate(lighting_object, alpha = newalpha, time = change_time) if(newalpha >= LIGHTING_DARKEST_VISIBLE_ALPHA) //Doesn't actually make it darker or anything, just tells byond you can't see the tile animate(luminosity = 0, time = 0) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index e5a1bffce8d..47b73bc05ad 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -106,12 +106,15 @@ /atom/movable/proc/forceMove(atom/destination) if(destination) - if(loc) - loc.Exited(src) + var/atom/oldloc = loc + if(oldloc) + oldloc.Exited(src, destination) loc = destination - loc.Entered(src) - for(var/atom/movable/AM in loc) + destination.Entered(src, oldloc) + for(var/atom/movable/AM in destination) + if(AM == src) continue AM.Crossed(src) + Moved(oldloc, 0) return 1 return 0 diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index c31e1ae61f6..4776dc54969 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -21,7 +21,7 @@ var/global/list/obj/item/device/pda/PDAs = list() //Secondary variables var/scanmode = 0 //1 is medical scanner, 2 is forensics, 3 is reagent scanner. - var/fon = 1 //Is the flashlight function on? + var/fon = 0 //Is the flashlight function on? var/f_lum = 3 //Luminosity for the flashlight function var/silent = 0 //To beep or not to beep, that is the question var/toff = 0 //If 1, messenger disabled