From c48ffa8d638d0d7a066a2852dfc95564add7b8bf Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Sun, 21 Jun 2015 23:27:37 +0200 Subject: [PATCH 001/392] Lighting optimizations + meson fix --- code/__HELPERS/maths.dm | 17 ++---- code/__HELPERS/unsorted.dm | 22 +++++++ code/game/area/Space Station 13 areas.dm | 2 +- code/game/turfs/turf.dm | 8 ++- code/modules/lighting/_lighting_defs.dm | 2 +- code/modules/lighting/light_source.dm | 53 +++++++++-------- code/modules/lighting/lighting_overlay.dm | 70 ++++++++++++++++++++--- code/modules/lighting/lighting_system.dm | 32 ++--------- code/modules/lighting/lighting_turf.dm | 23 ++------ code/modules/mob/living/living_defense.dm | 2 +- code/setup.dm | 4 +- 11 files changed, 142 insertions(+), 93 deletions(-) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index f148b10ef8..2b6d6db018 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -1,15 +1,6 @@ // Macro functions. #define RAND_F(LOW, HIGH) (rand()*(HIGH-LOW) + LOW) -// List of square roots for the numbers 1-100. -var/list/sqrtTable = list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10) - -/proc/Clamp(val, min, max) - return max(min, min(val, max)) - // min is inclusive, max is exclusive /proc/Wrap(val, min, max) var/d = max - min @@ -101,18 +92,18 @@ var/list/sqrtTable = list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, // if they are imaginary. /proc/SolveQuadratic(a, b, c) ASSERT(a) - + . = list() var/discriminant = b*b - 4*a*c var/bottom = 2*a - + // Return if the roots are imaginary. if(discriminant < 0) return - + var/root = sqrt(discriminant) . += (-b + root) / bottom - + // If discriminant == 0, there would be two roots at the same position. if(discriminant != 0) . += (-b - root) / bottom diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 31c885d886..98e76920e8 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1315,3 +1315,25 @@ var/list/WALLITEMS = list( temp_col = "0[temp_col]" colour += temp_col return colour + +//Version of view() which ignores darkness, because BYOND doesn't have it. +/proc/dview(var/range = world.view, var/center, var/invis_flags = 0) + if(!center) + return + + var/global/mob/dview/DV + if(!DV) + DV = new + + DV.loc = center + + DV.see_in_dark = range + DV.see_invisible = invis_flags + + . = view(range, DV) + DV.loc = null + +/mob/dview + invisibility = 101 + density = 0 + diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 04d7ef41e9..76cf6f8c02 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -26,7 +26,7 @@ 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 + luminosity = 0 mouse_opacity = 0 var/lightswitch = 1 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 65d9050617..94919b8589 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -33,6 +33,7 @@ var/holy = 0 var/dynamic_lighting = 1 + luminosity = 0 /turf/New() ..() @@ -41,7 +42,10 @@ src.Entered(AM) return turfs |= src - return + + var/area/A = loc + if(!dynamic_lighting || !A.lighting_use_dynamic) + luminosity = 1 /turf/Destroy() turfs -= src @@ -229,6 +233,7 @@ var/old_opacity = opacity var/old_dynamic_lighting = dynamic_lighting var/list/old_affecting_lights = affecting_lights + var/old_lighting_overlay = lighting_overlay //world << "Replacing [src.type] with [N]" @@ -280,6 +285,7 @@ W.levelupdate() . = W + lighting_overlay = old_lighting_overlay affecting_lights = old_affecting_lights if((old_opacity != opacity) || (dynamic_lighting != old_dynamic_lighting) || force_lighting_update) reconsider_lights() diff --git a/code/modules/lighting/_lighting_defs.dm b/code/modules/lighting/_lighting_defs.dm index a913c97e21..57e6cc22d2 100644 --- a/code/modules/lighting/_lighting_defs.dm +++ b/code/modules/lighting/_lighting_defs.dm @@ -4,7 +4,7 @@ #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_ROUND_VALUE (1 / 128) //Value used to round lumcounts, values smaller than 1/255 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY. -#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 diff --git a/code/modules/lighting/light_source.dm b/code/modules/lighting/light_source.dm index 1897272118..a71550268c 100644 --- a/code/modules/lighting/light_source.dm +++ b/code/modules/lighting/light_source.dm @@ -60,13 +60,16 @@ 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 + + if(!needs_update) + lighting_update_lights += src + needs_update = 1 /datum/light_source/proc/force_update() - needs_update = 1 force_update = 1 - lighting_update_lights += src + if(!needs_update) + lighting_update_lights += src + needs_update = 1 /datum/light_source/proc/check() if(!source_atom || !light_range || !light_power) @@ -113,11 +116,7 @@ /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)))) @@ -126,11 +125,7 @@ #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 + ))) @@ -142,26 +137,36 @@ /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) + for(var/turf/T in dview(light_range, source_turf, INVISIBILITY_LIGHTING)) + if(T.lighting_overlay) + var/strength = light_power * falloff(T.lighting_overlay) + if(!strength) //Don't add turfs that aren't affected to the affected turfs. + continue - effect_r[O] = lum_r * strength - effect_g[O] = lum_g * strength - effect_b[O] = lum_b * strength + effect_r[T.lighting_overlay] = round(lum_r * strength, LIGHTING_ROUND_VALUE) + effect_g[T.lighting_overlay] = round(lum_g * strength, LIGHTING_ROUND_VALUE) + effect_b[T.lighting_overlay] = round(lum_b * strength, LIGHTING_ROUND_VALUE) + + T.lighting_overlay.update_lumcount( + round(lum_r * strength, LIGHTING_ROUND_VALUE), + round(lum_g * strength, LIGHTING_ROUND_VALUE), + round(lum_b * strength, LIGHTING_ROUND_VALUE) + ) + + if(!T.affecting_lights) + T.affecting_lights = list() - 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 + if(T.affecting_lights) + T.affecting_lights -= src + + if(T.lighting_overlay) + T.lighting_overlay.update_lumcount(-effect_r[T.lighting_overlay], -effect_g[T.lighting_overlay], -effect_b[T.lighting_overlay]) effect_r.Cut() effect_g.Cut() diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm index b75d8aec7f..47365d6d36 100644 --- a/code/modules/lighting/lighting_overlay.dm +++ b/code/modules/lighting/lighting_overlay.dm @@ -5,6 +5,7 @@ anchored = 1 icon = LIGHTING_ICON + icon_state = "light1" layer = LIGHTING_LAYER invisibility = INVISIBILITY_LIGHTING blend_mode = BLEND_MULTIPLY @@ -14,11 +15,6 @@ var/lum_g var/lum_b - #if LIGHTING_RESOLUTION != 1 - var/xoffset - var/yoffset - #endif - var/needs_update /atom/movable/lighting_overlay/New() @@ -26,12 +22,32 @@ verbs.Cut() /atom/movable/lighting_overlay/proc/update_lumcount(delta_r, delta_g, delta_b) + if(!delta_r && !delta_g && !delta_b) //Nothing is being changed all together. + return + + var/should_update = 0 + + if(!needs_update) //If this isn't true, we're already updating anyways. + if(max(lum_r, lum_g, lum_b) < 1) //Any change that could happen WILL change appearance. + should_update = 1 + + else if(max(lum_r + delta_r, lum_g + delta_g, lum_b + delta_b) < 1) //The change would bring us under 1 max lum, again, guaranteed to change appearance. + should_update = 1 + + else //We need to make sure that the colour ratios won't change in this code block. + var/mx1 = max(lum_r, lum_g, lum_b) + var/mx2 = max(lum_r + delta_r, lum_g + delta_g, lum_b + delta_b) + + if(lum_r / mx1 != (lum_r + delta_r) / mx2 || lum_g / mx1 != (lum_g + delta_g) / mx2 || lum_b / mx1 != (lum_b + delta_b) / mx2) //Stuff would change. + should_update = 1 + lum_r += delta_r lum_g += delta_g lum_b += delta_b - needs_update = 1 - lighting_update_overlays += src + if(!needs_update && should_update) + needs_update = 1 + lighting_update_overlays += src /atom/movable/lighting_overlay/proc/update_overlay() var/mx = max(lum_r, lum_g, lum_b) @@ -46,3 +62,43 @@ #else color = rgb(lum_r * 255 * ., lum_g * 255 * ., lum_b * 255 * .) #endif + + var/turf/T = loc + + if(istype(T)) //Incase we're not on a turf, pool ourselves, something happened. + if(color != "#000000") + T.luminosity = 1 + else //No light, set the turf's luminosity to 0 to remove it from view() + #if LIGHTING_TRANSITIONS == 1 + spawn(LIGHTING_INTERVAL - 1) + T.luminosity = 0 + #else + T.luminosity = 0 + #endif + + else + warning("A lighting overlay realised its loc was NOT a turf (actual loc: [loc][loc ? ", " + loc.type : ""]) in update_overlay() and got pooled!") + qdel(src) + +/atom/movable/lighting_overlay/ResetVars() + loc = null + + lum_r = 0 + lum_g = 0 + lum_b = 0 + + color = "#000000" + + needs_update = 0 + +/atom/movable/lighting_overlay/Destroy() + lighting_update_overlays -= src + + var/turf/T = loc + if(istype(T)) + T.lighting_overlay = null + + for(var/datum/light_source/D in T.affecting_lights) //Remove references to us on the light sources affecting us. + D.effect_r -= src + D.effect_g -= src + D.effect_b -= src diff --git a/code/modules/lighting/lighting_system.dm b/code/modules/lighting/lighting_system.dm index 6177c81f8f..0c84294f35 100644 --- a/code/modules/lighting/lighting_system.dm +++ b/code/modules/lighting/lighting_system.dm @@ -5,26 +5,15 @@ // 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 + var/atom/movable/lighting_overlay/O = PoolOrNew(/atom/movable/lighting_overlay, T) + T.lighting_overlay = O + else for(var/x = 1; x <= world.maxx; x++) for(var/y = 1; y <= world.maxy; y++) @@ -32,16 +21,5 @@ 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 + var/atom/movable/lighting_overlay/O = PoolOrNew(/atom/movable/lighting_overlay, T) + T.lighting_overlay = O diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 266e4b1d79..0a438b047c 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -1,29 +1,18 @@ /turf var/list/affecting_lights + var/atom/movable/lighting_overlay/lighting_overlay /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 + if(lighting_overlay) + qdel(lighting_overlay) /turf/proc/lighting_build_overlays() - if(!locate(/atom/movable/lighting_overlay) in src) - var/state = "light[LIGHTING_RESOLUTION]" + if(!lighting_overlay) 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 + var/atom/movable/lighting_overlay/O = PoolOrNew(/atom/movable/lighting_overlay, src) + lighting_overlay = O diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 32b0235009..97b16ea797 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -215,7 +215,7 @@ return /mob/living/proc/adjust_fire_stacks(add_fire_stacks) //Adjusting the amount of fire_stacks we have on person - fire_stacks = Clamp(fire_stacks + add_fire_stacks, min = FIRE_MIN_STACKS, max = FIRE_MAX_STACKS) + fire_stacks = Clamp(fire_stacks + add_fire_stacks, FIRE_MIN_STACKS, FIRE_MAX_STACKS) /mob/living/proc/handle_fire() if(fire_stacks < 0) diff --git a/code/setup.dm b/code/setup.dm index ba6762e3c7..6b2262da98 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -955,7 +955,9 @@ var/list/be_special_flags = list( #define WALL_CAN_OPEN 1 #define WALL_OPENING 2 -#define CLAMP01(x) max(0, min(1, x)) +#define Clamp(x, y, z) (x <= y ? y : (x >= z ? z : x)) + +#define CLAMP01(x) (Clamp(x, 0, 1)) #define DEFAULT_WALL_MATERIAL "steel" #define DEFAULT_TABLE_MATERIAL "plastic" From 7ede629cdefdc102516337d501d87ce78e955440 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 24 Jun 2015 04:20:30 +0930 Subject: [PATCH 002/392] Ported window spawner, tyvm WrongEnd --- baystation12.dme | 1 + .../game/objects/structures/window_spawner.dm | 41 ++++++++++++++++++ icons/obj/structures.dmi | Bin 173898 -> 184723 bytes 3 files changed, 42 insertions(+) create mode 100644 code/game/objects/structures/window_spawner.dm diff --git a/baystation12.dme b/baystation12.dme index abca8d814c..8a52043204 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -771,6 +771,7 @@ #include "code\game\objects\structures\watercloset.dm" #include "code\game\objects\structures\windoor_assembly.dm" #include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\window_spawner.dm" #include "code\game\objects\structures\crates_lockers\closets.dm" #include "code\game\objects\structures\crates_lockers\crates.dm" #include "code\game\objects\structures\crates_lockers\largecrate.dm" diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm new file mode 100644 index 0000000000..b676a27cb2 --- /dev/null +++ b/code/game/objects/structures/window_spawner.dm @@ -0,0 +1,41 @@ +// Ported from Haine and WrongEnd with much gratitude! +/* ._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._. */ +/*-=-=-=-=-=-=-=-=-=-=-=-=-=WHAT-EVER=-=-=-=-=-=-=-=-=-=-=-=-=-*/ +/* '~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~' */ + +/obj/wingrille_spawn + name = "window grille spawner" + icon = 'icons/obj/structures.dmi' + icon_state = "wingrille" + density = 1 + anchored = 1.0 + invisibility = 101 + pressure_resistance = 4*ONE_ATMOSPHERE + var/win_path = /obj/structure/window/basic + +/obj/wingrille_spawn/initialize() + ..() + if(!win_path) + return + if (!locate(/obj/structure/grille) in get_turf(src)) + new /obj/structure/grille(src.loc) + for (var/dir in cardinal) + var/turf/T = get_step(src, dir) + if (!locate(/obj/wingrille_spawn) in T) + var/obj/structure/window/new_win = new win_path(src.loc) + new_win.set_dir(dir) + +/obj/wingrille_spawn/reinforced + name = "reinforced window grille spawner" + icon_state = "r-wingrille" + win_path = /obj/structure/window/reinforced + +/obj/wingrille_spawn/phoron + name = "phoron window grille spawner" + icon_state = "p-wingrille" + win_path = /obj/structure/window/phoronbasic + +/obj/wingrille_spawn/reinforced_phoron + name = "reinforced phoron window grille spawner" + icon_state = "pr-wingrille" + win_path = /obj/structure/window/phoronreinforced diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index d947725e034f941981dbe5f78fb4865963685a83..46cce0dfd56ebbfc6e2ca8ec0b2cc703acd1503a 100644 GIT binary patch delta 18253 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 delta 7342 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 NQB&4ZDpRm}{XZKxZCC&R From 1cb41db9953e3c546adff5eae79d25e1e6d9854a Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 21 Jun 2015 12:32:01 -0400 Subject: [PATCH 003/392] Adds lighting for air alarms and fire alarms --- code/game/machinery/alarm.dm | 42 ++++++++++++++----- code/modules/lighting/lighting_atom.dm | 16 +++++-- .../security levels/security levels.dm | 27 +++--------- 3 files changed, 50 insertions(+), 35 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 457e6b8fdc..2541c1c95b 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -302,22 +302,30 @@ /obj/machinery/alarm/update_icon() if(wiresexposed) icon_state = "alarmx" + set_light(0) return if((stat & (NOPOWER|BROKEN)) || shorted) icon_state = "alarmp" + set_light(0) return var/icon_level = danger_level if (alarm_area.atmosalm) icon_level = max(icon_level, 1) //if there's an atmos alarm but everything is okay locally, no need to go past yellow + var/new_color = null switch(icon_level) if (0) icon_state = "alarm0" + new_color = "#03A728" if (1) icon_state = "alarm2" //yes, alarm2 is yellow alarm + new_color = "#EC8B2F" if (2) icon_state = "alarm1" + new_color = "#DA0205" + + set_light(l_range = 2, l_power = 0.5, l_color = new_color) /obj/machinery/alarm/receive_signal(datum/signal/signal) if(stat & (NOPOWER|BROKEN)) @@ -888,8 +896,11 @@ FIRE ALARM var/last_process = 0 var/wiresexposed = 0 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone + var/seclevel /obj/machinery/firealarm/update_icon() + overlays.Cut() + if(wiresexposed) switch(buildstage) if(2) @@ -898,17 +909,28 @@ FIRE ALARM icon_state="fire_b1" if(0) icon_state="fire_b0" - + set_light(0) return if(stat & BROKEN) icon_state = "firex" + set_light(0) else if(stat & NOPOWER) icon_state = "firep" - else if(!src.detecting) - icon_state = "fire1" + set_light(0) else - icon_state = "fire0" + if(!src.detecting) + icon_state = "fire1" + set_light(l_range = 4, l_power = 2, l_color = "#ff0000") + else + icon_state = "fire0" + switch(seclevel) + if("green") set_light(l_range = 2, l_power = 0.5, l_color = "#00ff00") + if("blue") set_light(l_range = 2, l_power = 0.5, l_color = "#1024A9") + if("red") set_light(l_range = 4, l_power = 2, l_color = "#ff0000") + if("delta") set_light(l_range = 4, l_power = 2, l_color = "#FF6633") + + src.overlays += image('icons/obj/monitors.dmi', "overlay_[seclevel]") /obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) if(src.detecting) @@ -1120,14 +1142,14 @@ FIRE ALARM pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 +/obj/machinery/firealarm/proc/set_security_level(var/newlevel) + if(seclevel != newlevel) + seclevel = newlevel + update_icon() + /obj/machinery/firealarm/initialize() if(z in config.contact_levels) - if(security_level) - src.overlays += image('icons/obj/monitors.dmi', "overlay_[get_security_level()]") - else - src.overlays += image('icons/obj/monitors.dmi', "overlay_green") - - update_icon() + set_security_level(security_level? get_security_level() : "green") /* FIRE ALARM CIRCUIT diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 92500ecc1d..6db8d67feb 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -7,11 +7,19 @@ 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 + . = 0 //make it less costly if nothing's changed - update_light() + if(l_power != null && l_power != light_power) + light_power = l_power + . = 1 + if(l_range != null && l_range != light_range) + light_range = l_range + . = 1 + if(l_color != null && l_color != light_color) + light_color = l_color + . = 1 + + if(.) update_light() /atom/proc/update_light() if(!light_power || !light_range) diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm index 1892af891e..4b73c0dd28 100644 --- a/code/modules/security levels/security levels.dm +++ b/code/modules/security levels/security levels.dm @@ -25,46 +25,31 @@ if(SEC_LEVEL_GREEN) security_announcement_down.Announce("[config.alert_desc_green]", "Attention! Security level lowered to green") security_level = SEC_LEVEL_GREEN - for(var/obj/machinery/firealarm/FA in machines) - if(FA.z in config.contact_levels) - FA.overlays = list() - FA.overlays += image('icons/obj/monitors.dmi', "overlay_green") if(SEC_LEVEL_BLUE) if(security_level < SEC_LEVEL_BLUE) security_announcement_up.Announce("[config.alert_desc_blue_upto]", "Attention! Security level elevated to blue") else security_announcement_down.Announce("[config.alert_desc_blue_downto]", "Attention! Security level lowered to blue") security_level = SEC_LEVEL_BLUE - for(var/obj/machinery/firealarm/FA in machines) - if(FA.z in config.contact_levels) - FA.overlays = list() - FA.overlays += image('icons/obj/monitors.dmi', "overlay_blue") if(SEC_LEVEL_RED) if(security_level < SEC_LEVEL_RED) security_announcement_up.Announce("[config.alert_desc_red_upto]", "Attention! Code red!") else security_announcement_down.Announce("[config.alert_desc_red_downto]", "Attention! Code red!") security_level = SEC_LEVEL_RED - /* - At the time of commit, setting status displays didn't work properly var/obj/machinery/computer/communications/CC = locate(/obj/machinery/computer/communications,world) if(CC) CC.post_status("alert", "redalert")*/ - - for(var/obj/machinery/firealarm/FA in machines) - if(FA.z in config.contact_levels) - FA.overlays = list() - FA.overlays += image('icons/obj/monitors.dmi', "overlay_red") - if(SEC_LEVEL_DELTA) security_announcement_up.Announce("[config.alert_desc_delta]", "Attention! Delta security level reached!", new_sound = 'sound/effects/siren.ogg') security_level = SEC_LEVEL_DELTA - for(var/obj/machinery/firealarm/FA in machines) - if(FA.z in config.contact_levels) - FA.overlays = list() - FA.overlays += image('icons/obj/monitors.dmi', "overlay_delta") - else - return + + var/newlevel = get_security_level() + for(var/obj/machinery/firealarm/FA in machines) + if(FA.z in config.contact_levels) + FA.set_security_level(newlevel) + /proc/get_security_level() switch(security_level) From 93884c6a3e81d4211742fff6406fcff5bf3c6135 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 25 Jun 2015 23:03:52 +0930 Subject: [PATCH 004/392] Spawners are now obj/effect, can be used post-roundstart, and use pooling. --- .../game/objects/structures/window_spawner.dm | 59 +++++++++++++++---- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm index b676a27cb2..116d1ca454 100644 --- a/code/game/objects/structures/window_spawner.dm +++ b/code/game/objects/structures/window_spawner.dm @@ -3,39 +3,78 @@ /*-=-=-=-=-=-=-=-=-=-=-=-=-=WHAT-EVER=-=-=-=-=-=-=-=-=-=-=-=-=-*/ /* '~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~'-._.-'~' */ -/obj/wingrille_spawn +/obj/effect/wingrille_spawn name = "window grille spawner" icon = 'icons/obj/structures.dmi' icon_state = "wingrille" density = 1 anchored = 1.0 - invisibility = 101 pressure_resistance = 4*ONE_ATMOSPHERE var/win_path = /obj/structure/window/basic + var/activated -/obj/wingrille_spawn/initialize() +/obj/effect/wingrille_spawn/attack_hand() + attack_generic() + +/obj/effect/wingrille_spawn/attack_ghost() + attack_generic() + +/obj/effect/wingrille_spawn/attack_generic() + activate() + +/obj/effect/wingrille_spawn/initialize() ..() if(!win_path) return + if(ticker && ticker.current_state < GAME_STATE_PLAYING) + activate() + +/obj/effect/wingrille_spawn/proc/activate() + if(activated) return if (!locate(/obj/structure/grille) in get_turf(src)) - new /obj/structure/grille(src.loc) + var/obj/structure/grille/G = PoolOrNew(/obj/structure/grille, src.loc) + handle_grille_spawn(G) + var/list/neighbours = list() for (var/dir in cardinal) var/turf/T = get_step(src, dir) - if (!locate(/obj/wingrille_spawn) in T) - var/obj/structure/window/new_win = new win_path(src.loc) - new_win.set_dir(dir) + var/obj/effect/wingrille_spawn/other = locate(/obj/effect/wingrille_spawn) in T + if(!other) + var/found_connection + if(locate(/obj/structure/grille) in T) + for(var/obj/structure/window/W in T) + if(W.type == win_path && W.dir == get_dir(T,src)) + found_connection = 1 + qdel(W) + if(!found_connection) + var/obj/structure/window/new_win = PoolOrNew(win_path, src.loc) + new_win.set_dir(dir) + handle_window_spawn(new_win) + else + neighbours |= other + activated = 1 + for(var/obj/effect/wingrille_spawn/other in neighbours) + if(!other.activated) other.activate() + qdel(src) -/obj/wingrille_spawn/reinforced +// Currently unused, could be useful for POLARIZED WINDOWS, HUH PSIGAMMA. +/obj/effect/wingrille_spawn/proc/handle_window_spawn(var/obj/structure/window/W) + return + +// Currently unused, could be useful for pre-wired electrified windows. +/obj/effect/wingrille_spawn/proc/handle_grille_spawn(var/obj/structure/grille/G) + return + +/obj/effect/wingrille_spawn/reinforced name = "reinforced window grille spawner" icon_state = "r-wingrille" win_path = /obj/structure/window/reinforced -/obj/wingrille_spawn/phoron +/obj/effect/wingrille_spawn/phoron name = "phoron window grille spawner" icon_state = "p-wingrille" win_path = /obj/structure/window/phoronbasic -/obj/wingrille_spawn/reinforced_phoron +/obj/effect/wingrille_spawn/reinforced_phoron name = "reinforced phoron window grille spawner" icon_state = "pr-wingrille" win_path = /obj/structure/window/phoronreinforced From a036e8d47ebbb4515689c30af7c4a50f2755acac Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Thu, 25 Jun 2015 16:09:04 +0200 Subject: [PATCH 005/392] Adds support for polarized windows. --- code/game/objects/structures/window_spawner.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm index 116d1ca454..e6c2d06001 100644 --- a/code/game/objects/structures/window_spawner.dm +++ b/code/game/objects/structures/window_spawner.dm @@ -56,7 +56,6 @@ if(!other.activated) other.activate() qdel(src) -// Currently unused, could be useful for POLARIZED WINDOWS, HUH PSIGAMMA. /obj/effect/wingrille_spawn/proc/handle_window_spawn(var/obj/structure/window/W) return @@ -78,3 +77,13 @@ name = "reinforced phoron window grille spawner" icon_state = "pr-wingrille" win_path = /obj/structure/window/phoronreinforced + +/obj/effect/wingrille_spawn/reinforced/polarized + name = "polarized window grille spawner" + color = "#444444" + win_path = /obj/structure/window/reinforced/polarized + var/id + +/obj/effect/wingrille_spawn/reinforced/polarized/handle_window_spawn(var/obj/structure/window/reinforced/polarized/P) + if(id) + P.id = id From 10c2e32f4c875eb1eff1942008fa1c8fe14593dc Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 30 Jun 2015 09:50:12 +0200 Subject: [PATCH 006/392] Now pads a 0 to single digit hours. --- code/_helpers/time.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/_helpers/time.dm b/code/_helpers/time.dm index 8d37b47f0a..89b5f674f7 100644 --- a/code/_helpers/time.dm +++ b/code/_helpers/time.dm @@ -8,11 +8,17 @@ var/roundstart_hour = 0 //Returns the world time in english proc/worldtime2text(time = world.time) if(!roundstart_hour) roundstart_hour = pick(2,7,12,17) - return "[(round(time / 36000)+roundstart_hour) % 24]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]" + + var/hour = (round(time / 36000)+roundstart_hour) % 24 + if(hour < 10) hour = add_zero(hour, 1) + var/minute = time / 600 % 60 + if(minute < 10) minute = add_zero(minute, 1) + + return "[hour]:[minute]" proc/worlddate2text() return num2text((text2num(time2text(world.timeofday, "YYYY"))+544)) + "-" + time2text(world.timeofday, "MM-DD") - + proc/time_stamp() return time2text(world.timeofday, "hh:mm:ss") From c2c4336afec6bd51df9be97386b910b174baa0a9 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 30 Jun 2015 09:51:38 +0200 Subject: [PATCH 007/392] Changelog entry. --- code/_helpers/time.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/_helpers/time.dm b/code/_helpers/time.dm index 89b5f674f7..15d5baef66 100644 --- a/code/_helpers/time.dm +++ b/code/_helpers/time.dm @@ -7,7 +7,7 @@ var/roundstart_hour = 0 //Returns the world time in english proc/worldtime2text(time = world.time) - if(!roundstart_hour) roundstart_hour = pick(2,7,12,17) + if(!roundstart_hour) roundstart_hour = pick(9) var/hour = (round(time / 36000)+roundstart_hour) % 24 if(hour < 10) hour = add_zero(hour, 1) From dcbfff8aaa21912ba8776022426bd4f75ae133d0 Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Wed, 1 Jul 2015 07:59:19 +0200 Subject: [PATCH 008/392] Fixes stuck lights --- code/modules/lighting/lighting_process.dm | 58 ++++++++++++----------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/code/modules/lighting/lighting_process.dm b/code/modules/lighting/lighting_process.dm index 28e1f1fa5e..1571c6e388 100644 --- a/code/modules/lighting/lighting_process.dm +++ b/code/modules/lighting/lighting_process.dm @@ -1,27 +1,31 @@ -/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.check() || L.force_update) - L.remove_lum() - if(!L.destroyed) L.apply_lum() - L.force_update = 0 - L.needs_update = 0 - - scheck() - - 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 - - scheck() - - lighting_update_overlays.Cut() +/datum/controller/process/lighting/setup() + name = "lighting" + schedule_interval = LIGHTING_INTERVAL + + create_lighting_overlays() + +/datum/controller/process/lighting/doWork() + var/list/lighting_update_lights_old = lighting_update_lights //We use a different list so any additions to the update lists during a delay from scheck() don't cause things to be cut from the list without being updated. + lighting_update_lights = null //Nulling it first because of http://www.byond.com/forum/?post=1854520 + lighting_update_lights = list() + + for(var/datum/light_source/L in lighting_update_lights_old) + if(L.needs_update) + if(L.destroyed || L.check() || L.force_update) + L.remove_lum() + if(!L.destroyed) L.apply_lum() + L.force_update = 0 + L.needs_update = 0 + + scheck() + + var/list/lighting_update_overlays_old = lighting_update_overlays //Same as above. + lighting_update_overlays = null //Same as above + lighting_update_overlays = list() + + for(var/atom/movable/lighting_overlay/O in lighting_update_overlays_old) + if(O.needs_update) + O.update_overlay() + O.needs_update = 0 + + scheck() From 48ee87269140d255e3528e364402f6c21bf38828 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Thu, 2 Jul 2015 15:32:21 +0200 Subject: [PATCH 009/392] Refactors gas analyize. --- baystation12.dme | 1 + code/ATMOSPHERICS/pipes.dm | 16 +------ code/_helpers/atmospherics.dm | 47 +++++++++++++++++++ .../atmoalter/portable_atmospherics.dm | 18 +------ code/game/objects/items/devices/PDA/PDA.dm | 35 +------------- code/game/objects/items/devices/scanners.dm | 29 ++++-------- .../objects/items/weapons/flamethrower.dm | 17 ++----- .../game/objects/items/weapons/tanks/tanks.dm | 32 ++++--------- 8 files changed, 72 insertions(+), 123 deletions(-) create mode 100644 code/_helpers/atmospherics.dm diff --git a/baystation12.dme b/baystation12.dme index ba02f28f65..7afd66f4b1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -29,6 +29,7 @@ #include "code\__defines\mobs.dm" #include "code\__defines\research.dm" #include "code\__defines\species_languages.dm" +#include "code\_helpers\atmospherics.dm" #include "code\_helpers\datum_pool.dm" #include "code\_helpers\files.dm" #include "code\_helpers\game.dm" diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm index 2ff6c78f94..685fa55833 100644 --- a/code/ATMOSPHERICS/pipes.dm +++ b/code/ATMOSPHERICS/pipes.dm @@ -1120,20 +1120,8 @@ return if(istype(W, /obj/item/device/analyzer) && in_range(user, src)) - for (var/mob/O in viewers(user, null)) - O << "\The [user] has used \the [W] on \the [src] \icon[src]" - - var/pressure = parent.air.return_pressure() - var/total_moles = parent.air.total_moles - - user << "Results of analysis of \the [src] \icon[src]" - if (total_moles>0) - user << "Pressure: [round(pressure,0.1)] kPa" - for(var/g in parent.air.gas) - user << "[gas_data.name[g]]: [round((parent.air.gas[g] / total_moles) * 100)]%" - user << "Temperature: [round(parent.air.temperature-T0C)]°C" - else - user << "Tank is empty!" + var/obj/item/device/analyzer/A = W + A.analyze_gases(src, user) /obj/machinery/atmospherics/pipe/tank/air name = "Pressure Tank (Air)" diff --git a/code/_helpers/atmospherics.dm b/code/_helpers/atmospherics.dm new file mode 100644 index 0000000000..2fe393b4dc --- /dev/null +++ b/code/_helpers/atmospherics.dm @@ -0,0 +1,47 @@ +/obj/proc/analyze_gases(var/obj/A, var/mob/user) + if(src != A) + user.visible_message("\The [user] has used \an [src] on \the [A]") + + A.add_fingerprint(user) + var/list/result = A.atmosanalyze(user) + if(result && result.len) + user << "Results of the analysis[src == A ? "" : " of \the [A]"]" + for(var/line in result) + user << "[line]" + return 1 + + user << "Your [src] flashes a red light as it fails to analyze \the [A]." + return 0 + +/proc/atmosanalyzer_scan(var/obj/target, var/datum/gas_mixture/mixture, var/mob/user) + var/pressure = mixture.return_pressure() + var/total_moles = mixture.total_moles + + var/list/results = list() + if (total_moles>0) + results += "Pressure: [round(pressure,0.1)] kPa" + for(var/mix in mixture.gas) + results += "[gas_data.name[mix]]: [round((mixture.gas[mix] / total_moles) * 100)]%" + results += "Temperature: [round(mixture.temperature-T0C)]°C" + else + results += "\The [target] is empty!" + + return results + +/obj/proc/atmosanalyze(var/mob/user) + return + +/obj/item/weapon/tank/atmosanalyze(var/mob/user) + return atmosanalyzer_scan(src, src.air_contents, user) + +/obj/machinery/portable_atmospherics/atmosanalyze(var/mob/user) + return atmosanalyzer_scan(src, src.air_contents, user) + +/obj/machinery/atmospherics/pipe/atmosanalyze(var/mob/user) + return atmosanalyzer_scan(src, src.parent.air, user) + +/obj/machinery/power/rad_collector/atmosanalyze(var/mob/user) + if(P) return atmosanalyzer_scan(src, src.P.air_contents, user) + +/obj/item/weapon/flamethrower/atmosanalyze(var/mob/user) + if(ptank) return atmosanalyzer_scan(src, ptank.air_contents, user) diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index f8d611bcbf..21b0cd2c27 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -104,7 +104,6 @@ network.update = 1 /obj/machinery/portable_atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - var/obj/icon = src if ((istype(W, /obj/item/weapon/tank) && !( src.destroyed ))) if (src.holding) return @@ -136,21 +135,8 @@ return else if ((istype(W, /obj/item/device/analyzer)) && Adjacent(user)) - visible_message("\The [user] has used \the [W] on \the [src] \icon[icon]") - if(air_contents) - var/pressure = air_contents.return_pressure() - var/total_moles = air_contents.total_moles - - user << "Results of analysis of \icon[icon]" - if (total_moles>0) - user << "Pressure: [round(pressure,0.1)] kPa" - for(var/g in air_contents.gas) - user << "[gas_data.name[g]]: [round((air_contents.gas[g] / total_moles) * 100)]%" - user << "Temperature: [round(air_contents.temperature-T0C)]°C" - else - user << "Tank is empty!" - else - user << "Tank is empty!" + var/obj/item/device/analyzer/A = W + A.analyze_gases(src, user) return return diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index fbdb7667a1..a01dc224c3 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -1284,40 +1284,7 @@ var/global/list/obj/item/device/pda/PDAs = list() user << "No significant chemical agents found in [A]." if(5) - if((istype(A, /obj/item/weapon/tank)) || (istype(A, /obj/machinery/portable_atmospherics))) - var/obj/icon = A - for (var/mob/O in viewers(user, null)) - O << "\The [user] has used [src] on \icon[icon] [A]." - var/pressure = A:air_contents.return_pressure() - - var/total_moles = A:air_contents.total_moles - - user << "Results of analysis of \icon[icon]" - if (total_moles>0) - user << "Pressure: [round(pressure,0.1)] kPa" - for(var/g in A:air_contents.gas) - user << "[gas_data.name[g]]: [round((A:air_contents.gas[g] / total_moles) * 100)]%" - user << "Temperature: [round(A:air_contents.temperature-T0C)]°C" - else - user << "Tank is empty!" - - if (istype(A, /obj/machinery/atmospherics/pipe/tank)) - var/obj/icon = A - for (var/mob/O in viewers(user, null)) - O << "\The [user] has used [src] on \icon[icon] [A]" - - var/obj/machinery/atmospherics/pipe/tank/T = A - var/pressure = T.parent.air.return_pressure() - var/total_moles = T.parent.air.total_moles - - user << "Results of analysis of \icon[icon]" - if (total_moles>0) - user << "Pressure: [round(pressure,0.1)] kPa" - for(var/g in T.parent.air.gas) - user << "[gas_data.name[g]]: [round((T.parent.air.gas[g] / total_moles) * 100)]%" - user << "Temperature: [round(T.parent.air.temperature-T0C)]°C" - else - user << "Tank is empty!" + analyze_gases(A, user) if (!scanmode && istype(A, /obj/item/weapon/paper) && owner) // JMO 20140705: Makes scanned document show up properly in the notes. Not pretty for formatted documents, diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 849ceac3af..3e888ae849 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -256,6 +256,13 @@ REAGENT SCANNER origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1) +/obj/item/device/analyzer/atmosanalyze(var/mob/user) + var/air = user.return_air() + if (!air) + return + + return atmosanalyzer_scan(src, air, user) + /obj/item/device/analyzer/attack_self(mob/user as mob) if (user.stat) @@ -264,27 +271,7 @@ REAGENT SCANNER usr << "You don't have the dexterity to do this!" return - var/turf/location = user.loc - if (!( istype(location, /turf) )) - return - - var/datum/gas_mixture/environment = location.return_air() - - var/pressure = environment.return_pressure() - var/total_moles = environment.total_moles - - user.show_message("Results:", 1) - if(abs(pressure - ONE_ATMOSPHERE) < 10) - user.show_message("Pressure: [round(pressure,0.1)] kPa", 1) - else - user.show_message("Pressure: [round(pressure,0.1)] kPa", 1) - if(total_moles) - for(var/g in environment.gas) - user.show_message("[gas_data.name[g]]: [round((environment.gas[g] / total_moles)*100)]%", 1) - - user.show_message("Temperature: [round(environment.temperature-T0C)]°C", 1) - - src.add_fingerprint(user) + analyze_gases(src, user) return /obj/item/device/mass_spectrometer diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 09816e3568..bbdd46cdb3 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -112,20 +112,9 @@ update_icon() return - if(istype(W, /obj/item/device/analyzer) && ptank) - var/obj/item/weapon/icon = src - user.visible_message("[user] has used the analyzer on \icon[icon]") - var/pressure = ptank.air_contents.return_pressure() - var/total_moles = ptank.air_contents.total_moles - - user << "Results of analysis of \icon[icon]" - if(total_moles>0) - user << "Pressure: [round(pressure,0.1)] kPa" - for(var/g in ptank.air_contents.gas) - user << "[gas_data.name[g]]: [round((ptank.air_contents.gas[g] / total_moles) * 100)]%" - user << "Temperature: [round(ptank.air_contents.temperature-T0C)]°C" - else - user << "Tank is empty!" + if(istype(W, /obj/item/device/analyzer)) + var/obj/item/device/analyzer/A = W + A.analyze_gases(src, user) return ..() return diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 8c5b1de026..049d179846 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -87,28 +87,12 @@ /obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - var/obj/icon = src - if (istype(src.loc, /obj/item/assembly)) icon = src.loc if ((istype(W, /obj/item/device/analyzer)) && get_dist(user, src) <= 1) - for (var/mob/O in viewers(user, null)) - O << "\The [user] has used [W] on \icon[icon] [src]" - - var/pressure = air_contents.return_pressure() - manipulated_by = user.real_name //This person is aware of the contents of the tank. - var/total_moles = air_contents.total_moles - - user << "Results of analysis of \icon[icon]" - if (total_moles>0) - user << "Pressure: [round(pressure,0.1)] kPa" - for(var/g in air_contents.gas) - user << "[gas_data.name[g]]: [(round(air_contents.gas[g] / total_moles) * 100)]%" - user << "Temperature: [round(air_contents.temperature-T0C)]°C" - else - user << "Tank is empty!" - src.add_fingerprint(user) + var/obj/item/device/analyzer/A = W + A.analyze_gases(src, user) else if (istype(W,/obj/item/latexballon)) var/obj/item/latexballon/LB = W LB.blow(src) @@ -131,7 +115,7 @@ location = loc.loc else if(istype(loc, /mob/living/carbon)) location = loc - + var/using_internal if(istype(location)) if(location.internal==src) @@ -278,11 +262,11 @@ var/range = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE explosion( - get_turf(loc), - round(min(BOMBCAP_DVSTN_RADIUS, range*0.25)), - round(min(BOMBCAP_HEAVY_RADIUS, range*0.50)), - round(min(BOMBCAP_LIGHT_RADIUS, range*1.00)), - round(min(BOMBCAP_FLASH_RADIUS, range*1.50)), + get_turf(loc), + round(min(BOMBCAP_DVSTN_RADIUS, range*0.25)), + round(min(BOMBCAP_HEAVY_RADIUS, range*0.50)), + round(min(BOMBCAP_LIGHT_RADIUS, range*1.00)), + round(min(BOMBCAP_FLASH_RADIUS, range*1.50)), ) qdel(src) From 9a6391747ddda0003cbcc6650580493a568ee507 Mon Sep 17 00:00:00 2001 From: Kearel Date: Thu, 2 Jul 2015 13:55:27 -0500 Subject: [PATCH 010/392] fix trays Puts pikcup proc before loc is changed. --- code/game/objects/items.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 00693ec0a9..82c878603a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -140,7 +140,7 @@ if(temp && !temp.is_usable()) user << "You try to move your [temp.display_name], but cannot!" return - + src.pickup(user) if (istype(src.loc, /obj/item/weapon/storage)) var/obj/item/weapon/storage/S = src.loc S.remove_from_storage(src) @@ -157,8 +157,6 @@ return user.next_move = max(user.next_move+2,world.time + 2) user.put_in_active_hand(src) - if(src.loc == user) - src.pickup(user) return From 4b43dff97cab8cbdd7f8340c6bacfd1fc2e52edb Mon Sep 17 00:00:00 2001 From: Kearel Date: Thu, 2 Jul 2015 14:25:10 -0500 Subject: [PATCH 011/392] uploaded vox sprites to dev version This is for convenience's sake. --- icons/mob/species/vox/uniform.dmi | Bin 47559 -> 215409 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/species/vox/uniform.dmi b/icons/mob/species/vox/uniform.dmi index 69376d1955e01da23224767680086527fa483b94..fb02a0f5c5055bbca843534122b6f9d192847308 100644 GIT binary patch literal 215409 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
=nd2RM;yo=I#2XiY8`i4?~1Q-aP84= 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�GV(&YH zADt1Ikh(q`Ey^#!8&6Rvn6Mjjl^8nZyseeI^Kg!-bZjnnZl&xbWmrM@V`0;b*K1ro z%9-)27P)W@xjYmzKniUkn;B@j8l;)!65$(Wtl4h!S5>RGbs3s|4DY<=H2nr*PGEox zlhj*NV9~|>`Sa&BJ^kOS+l8nrQn39}Hc93J>-Ac>>-IifUtO$3)OTu=W?t8d46UtV z8AynrA^zT;47+}3tlhM2T&==|;BWktRtq!n;Jii5C@a7Esy2{D92f1lYLKk!PRXe@ zSl1m^<>ZEjb!96YnfC$UMdj~`Nu9S@^e^{1%w`%Xu5RdHr~|Ne0%9TiXk8Tt$R zchQIb_nQzc3xU9|rcoV5_@%Gky6Lh(aB6h^$MxOL!8%)dOsg33$W{q@@$} z+$KCWz50G#TM+$DaEv-U_hD$ZRgpBbosGTrd<@}*1#-KrK`%wSy01cP)Wg5iW%DsS zVRh4X-Z!sGj;Q&gG0N!`3-;l2W5TX*m#Sn(A0P~I;u+i#&h5<9qJmH)H^w>`D7H2K*R z$!9}yZ9AC2aq$AR#W48Y* zQwq0Yedpod$oi?HZsApu?Ipw9#qJ#Bdvhdr_;>BQ+r8c6)LDMqhgL$-vG@M4h@$hp z{fB03e)&h{j3D(%Ns_JHeXNM4fD!=<#y5g6_b5L7)P`E$m_NJI0dVt+pb zn`t~05U zOo|_2PpQy3rVPtD`>>5^#59nt5Dc&WSac?}etj|lBbW!)&6roGP^!U(N-RTRY><

+

04 July 2015

+

PsiOmegaDelta updated:

+
    +
  • Portable turrets now only blocks movement while deployed.
  • +
  • Portable turrets are no longer invincible while undeployed, however they have increased damage resistance in this state.
  • +
  • Crescent portable turrets should no longer act up during attempts to (un)wrench and alter their settings.
  • +
+

30 June 2015

PsiOmegaDelta updated:

-{{/for}} \ No newline at end of file +{{/for}} From c71d78ab1a01df9dab367c9561824de5c698f77a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 5 Aug 2015 00:50:04 +0100 Subject: [PATCH 308/392] add debug verb as pAI-spawning adminverb --- baystation12.dme | 1 + code/modules/admin/admin_verbs.dm | 3 ++- code/modules/mob/living/silicon/pai/admin.dm | 21 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 code/modules/mob/living/silicon/pai/admin.dm diff --git a/baystation12.dme b/baystation12.dme index e286a177bc..b7193eb020 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1172,6 +1172,7 @@ #include "code\modules\mob\living\silicon\decoy\death.dm" #include "code\modules\mob\living\silicon\decoy\decoy.dm" #include "code\modules\mob\living\silicon\decoy\life.dm" +#include "code\modules\mob\living\silicon\pai\admin.dm" #include "code\modules\mob\living\silicon\pai\death.dm" #include "code\modules\mob\living\silicon\pai\examine.dm" #include "code\modules\mob\living\silicon\pai\life.dm" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index c0c92a81c7..f0cba1b8f2 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -80,7 +80,8 @@ var/list/admin_verbs_admin = list( /client/proc/allow_character_respawn, /* Allows a ghost to respawn */ /client/proc/event_manager_panel, /client/proc/empty_ai_core_toggle_latejoin, - /client/proc/view_chemical_reaction_logs + /client/proc/view_chemical_reaction_logs, + /client/proc/makePAI ) var/list/admin_verbs_ban = list( /client/proc/unban_panel, diff --git a/code/modules/mob/living/silicon/pai/admin.dm b/code/modules/mob/living/silicon/pai/admin.dm new file mode 100644 index 0000000000..069c5d2c68 --- /dev/null +++ b/code/modules/mob/living/silicon/pai/admin.dm @@ -0,0 +1,21 @@ +// Originally a debug verb, made it a proper adminverb for ~fun~ +/client/proc/makePAI(turf/t in view(), name as text, pai_key as null|text) + set name = "Make pAI" + set category = "Admin" + + if(!check_rights(R_ADMIN)) + return + + if(!pai_key) + var/client/C = input("Select client") as null|anything in clients + if(!C) return + pai_key = C.key + + log_and_message_admins("made a pAI with key=[pai_key] at ([t.x],[t.y],[t.z])") + var/obj/item/device/paicard/card = new(t) + var/mob/living/silicon/pai/pai = new(card) + pai.key = pai_key + card.setPersonality(pai) + + if(name) + pai.SetName(name) From 73a9c240179a863c517c1401fb9d54e8a3ad9e32 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 5 Aug 2015 09:26:43 +0200 Subject: [PATCH 309/392] Removes code in mob/living/bot/Life() that is now handled by mob/living/Life(). --- code/modules/mob/living/bot/bot.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 5bdc096928..821c87bb1f 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -37,7 +37,6 @@ weakened = 0 stunned = 0 paralysis = 0 - update_canmove() /mob/living/bot/updatehealth() if(status_flags & GODMODE) From cf1ffd273a4b8452f3fd7b5205eedce270116a8b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 5 Aug 2015 09:33:34 +0200 Subject: [PATCH 310/392] Fixes holodeck runtime. initial() doesn't work well with lists. Causes a null value. --- code/modules/holodeck/HolodeckControl.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 45eaf758f9..0509bf3d86 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -291,7 +291,7 @@ if(HP.ambience) linkedholodeck.forced_ambience = HP.ambience else - linkedholodeck.forced_ambience = initial(linkedholodeck.ambience) + linkedholodeck.forced_ambience = list() for(var/mob/living/M in mobs_in_area(linkedholodeck)) if(M.mind) From 450f3c0f31231df94ac5e5f24bf39d324d7d766f Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 5 Aug 2015 14:10:58 +0200 Subject: [PATCH 311/392] Fixes #10121. The low-security armory now requires the same access as the doors into the area. The EVA maintenance door now requires EVA and maintenance access (instead of EVA and id change access). --- maps/exodus-1.dmm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 77ed3487d9..9425cf83ba 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -330,10 +330,10 @@ "agr" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) "ags" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_3_hatch"},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) "agt" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) -"agu" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access = list(3)},/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) +"agu" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access = list(2)},/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "agv" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hos) "agw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"agx" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access = list(3)},/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) +"agx" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access = list(2)},/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "agy" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod3/station) "agz" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod3/station) "agA" = (/obj/structure/table/rack,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -1367,7 +1367,7 @@ "aAo" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -2; pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) "aAp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "aAq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_access = list(15,18); req_one_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) +"aAr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_access = list(12,18)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "aAs" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aAt" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Fore"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) "aAu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) From cc83f35d72d10f59be886551a941e311a3354aae Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 5 Aug 2015 18:10:41 +0300 Subject: [PATCH 312/392] Searches for references to hard-deleted objects --- code/controllers/Processes/garbage.dm | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/code/controllers/Processes/garbage.dm b/code/controllers/Processes/garbage.dm index ade159f1ac..1f053a1186 100644 --- a/code/controllers/Processes/garbage.dm +++ b/code/controllers/Processes/garbage.dm @@ -28,6 +28,10 @@ var/list/delayed_garbage = list() delayed_garbage.Cut() delayed_garbage = null +#ifdef GC_FINDREF +world/loop_checks = 0 +#endif + /datum/controller/process/garbage_collector/doWork() if(!garbage_collect) return @@ -57,6 +61,22 @@ var/list/delayed_garbage = list() if(A && A.gcDestroyed == GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake // Something's still referring to the qdel'd object. Kill it. testing("GC: -- \ref[A] | [A.type] was unable to be GC'd and was deleted --") + #ifdef GC_FINDREF + var/found = 0 + if(A.loc != null) + testing("GC: [A] | [A.type] is located in [A.loc] instead of null") + var/searched = "/atom" + for(var/atom/D in world) + found += LookForRef(D, A) + if(!found) + searched = "/datum and /atom" + for(var/datum/D) + found += LookForRef(D, A) + if(!found) + testing("GC: Referencs to [A] | [A.type] not found, possibly in a global list, an object of an unsupported type, or an object that was deleted this gc cycle") + else + testing("GC: Found [found] reference\s to [A] | [A.type] in [searched] types") + #endif logging["[A.type]"]++ del(A) ++dels @@ -67,6 +87,28 @@ var/list/delayed_garbage = list() #endif destroyed.Cut(1, 2) +#ifdef GC_FINDREF +/datum/controller/process/garbage_collector/proc/LookForRef(var/datum/D, var/atom/targ) + . = 0 + for(var/V in D.vars) + if(V == "contents") + continue + if(D.vars[V] == targ) + testing("GC: [targ] | [targ.type] referenced by [D] | [D.type], var [V]") + . += 1 + else if(islist(D.vars[V])) + . += LookForListRef(D.vars[V], targ, D, V) + +/datum/controller/process/garbage_collector/proc/LookForListRef(var/list/L, var/atom/targ, var/datum/D, var/V) + . = 0 + for(var/F in L) + if(F == targ) + testing("GC: [targ] | [targ.type] referenced by [D] | [D.type], list [V]") + . += 1 + if(islist(F)) + . += LookForListRef(F, targ, D, "[F] in list [V]") +#endif + /datum/controller/process/garbage_collector/proc/AddTrash(datum/A) if(!istype(A) || !isnull(A.gcDestroyed)) return @@ -199,3 +241,7 @@ var/list/delayed_garbage = list() #ifdef GC_DEBUG #undef GC_DEBUG #endif + +#ifdef GC_FINDREF +#undef GC_FINDREF +#endif From 92ca942fa9a83fe6951ef7a9d92040c6058e6104 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 5 Aug 2015 16:39:37 +0300 Subject: [PATCH 313/392] Fixes #10219 - cables don't always qdel Dem snowflake code --- code/modules/power/cable.dm | 61 ++++++------------------------------- 1 file changed, 9 insertions(+), 52 deletions(-) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 3592594dfa..09ed44c58c 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -618,66 +618,23 @@ obj/structure/cable/proc/cableColor(var/colorC) /obj/item/stack/cable_coil/cyborg/can_merge() return 1 -/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user) - ..() - if( istype(W, /obj/item/weapon/wirecutters) && src.get_amount() > 1) - src.use(1) - new/obj/item/stack/cable_coil(user.loc, 1,color) - user << "You cut a piece off the cable coil." - src.update_icon() +/obj/item/stack/cable_coil/transfer_to(obj/item/stack/cable_coil/S) + if(!istype(S)) + return + if(!can_merge(S)) return - else if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = W - if(!can_merge(C)) - user << "These coils do not go together." - return + ..() - if(C.get_amount() >= get_max_amount()) - user << "The coil is too long, you cannot add any more cable to it." - return - - if( (C.get_amount() + src.get_amount() <= get_max_amount()) ) - user << "You join the cable coils together." - C.give(src.get_amount()) // give it cable - src.use(src.get_amount()) // make sure this one cleans up right - return - - else - var/amt = get_max_amount() - C.get_amount() - user << "You transfer [amt] length\s of cable from one coil to the other." - C.give(amt) - src.use(amt) - return - -//remove cables from the stack -/* This is probably reduntant -/obj/item/stack/cable_coil/use(var/used) - if(src.amount < used) - return 0 - else if (src.amount == used) - if(ismob(loc)) //handle mob icon update - var/mob/M = loc - M.unEquip(src) - qdel(src) - return 1 - else - amount -= used - update_icon() - return 1 -*/ -/obj/item/stack/cable_coil/use(var/used) +/obj/item/stack/cable_coil/use() . = ..() update_icon() return -//add cables to the stack -/obj/item/stack/cable_coil/proc/give(var/extra) - if(amount + extra > MAXCOIL) - amount = MAXCOIL - else - amount += extra +/obj/item/stack/cable_coil/add() + . = ..() update_icon() + return /////////////////////////////////////////////// // Cable laying procedures From 76656a0cf1d1114506783b53d384a64167d03a6b Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 5 Aug 2015 21:39:59 +0100 Subject: [PATCH 314/392] Recompile dmitool.jar under Java 7 instead of Java 8 --- tools/dmitool/dmitool.jar | Bin 197672 -> 202277 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/dmitool/dmitool.jar b/tools/dmitool/dmitool.jar index c7df4d8b7fddfad48441dbf5caef765269dc5f59..4cfa49f36de43117f01bfdf95913125b0fb3e5b8 100644 GIT binary patch delta 34831 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 a5#p&Tz&(DLm|~$nH7qbN20IVmK>r_`N$<-5 delta 30186 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 R6$kq>V~2yQp1F;m{|A%!Sa$#b From 863832b347f1f8634244785647011137aabaaa25 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Thu, 6 Aug 2015 08:18:39 +0200 Subject: [PATCH 315/392] Post-merge fixes. Renames define. Re-corrects access checks. --- .../modules/mob/living/simple_animal/constructs/constructs.dm | 2 +- maps/exodus-1.dmm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/constructs/constructs.dm b/code/modules/mob/living/simple_animal/constructs/constructs.dm index e79b7dea73..0dcf7d71c1 100644 --- a/code/modules/mob/living/simple_animal/constructs/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs/constructs.dm @@ -27,7 +27,7 @@ show_stat_health = 1 faction = "cult" supernatural = 1 - see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING + see_invisible = SEE_INVISIBLE_NOLIGHTING var/nullblock = 0 mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 1d9c9113b4..bac04445db 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -296,7 +296,7 @@ "afJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "afK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = 25; tag_door = "escape_pod_3_berth_hatch"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "afL" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"afM" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(3)},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) +"afM" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "afN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) "afO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) "afP" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) @@ -323,7 +323,7 @@ "agk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) "agl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) "agm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main) -"agn" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(3)},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) +"agn" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "ago" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/crew_quarters/heads/hos) "agp" = (/turf/simulated/wall,/area/crew_quarters/heads/hos) "agq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/security_starboard) From 8ca5d01dcf8deae225fae45850c36af062a5c48c Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Thu, 6 Aug 2015 08:39:24 +0200 Subject: [PATCH 316/392] Crematorium Destroy() Adds a missing Destroy() for the crematorium tray. Changes X.loc = loc into X.forceMove(loc). --- code/game/objects/structures/morgue.dm | 40 +++++++++++++++----------- code/modules/recycling/disposal.dm | 4 +-- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 26f3608bf0..b7c980e0d3 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -40,21 +40,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return @@ -67,7 +67,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.connected.loc) if (!( A.anchored )) - A.loc = src + A.forceMove(src) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) qdel(src.connected) src.connected = null @@ -81,7 +81,7 @@ src.connected.connected = src src.icon_state = "morgue0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "morguet" src.connected.set_dir(src.dir) else @@ -117,7 +117,7 @@ src.connected.connected = src src.icon_state = "morgue0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "morguet" else qdel(src.connected) @@ -149,7 +149,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.loc) if (!( A.anchored )) - A.loc = src.connected + A.forceMove(src.connected) //Foreach goto(26) src.connected.connected = null src.connected.update() @@ -166,7 +166,7 @@ return if (!ismob(user) || user.stat || user.lying || user.stunned) return - O.loc = src.loc + O.forceMove(src.loc) if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) @@ -210,21 +210,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return @@ -246,7 +246,7 @@ if ((src.connected) && (src.locked == 0)) for(var/atom/movable/A as mob|obj in src.connected.loc) if (!( A.anchored )) - A.loc = src + A.forceMove(src) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) //src.connected = null qdel(src.connected) @@ -260,7 +260,7 @@ src.connected.connected = src src.icon_state = "crema0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "cremat" else //src.connected = null @@ -294,7 +294,7 @@ src.connected.connected = src src.icon_state = "crema0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "cremat" else qdel(src.connected) @@ -366,11 +366,17 @@ anchored = 1 throwpass = 1 +/obj/structure/c_tray/Destroy() + if(connected && connected.connected == src) + connected.connected = null + connected = null + return ..() + /obj/structure/c_tray/attack_hand(mob/user as mob) if (src.connected) for(var/atom/movable/A as mob|obj in src.loc) if (!( A.anchored )) - A.loc = src.connected + A.forceMove(src.connected) //Foreach goto(26) src.connected.connected = null src.connected.update() @@ -387,7 +393,7 @@ return if (!ismob(user) || user.stat || user.lying || user.stunned) return - O.loc = src.loc + O.forceMove(src.loc) if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) @@ -406,7 +412,7 @@ /obj/machinery/button/crematorium/attack_hand(mob/user as mob) if(..()) return - if(src.allowed(usr)) + if(src.allowed(user)) for (var/obj/structure/crematorium/C in world) if (C.id == id) if (!C.cremating) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index fd1e53ae0a..9dd8d1f956 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -46,7 +46,7 @@ eject() if(trunk) trunk.linked = null - ..() + return ..() // attack by item places it in to disposal /obj/machinery/disposal/attackby(var/obj/item/I, var/mob/user) @@ -636,7 +636,7 @@ /obj/structure/disposalholder/Destroy() qdel(gas) active = 0 - ..() + return ..() // Disposal pipes From 16ca8ca7689c77e3606ea18b599cd777ecc663bb Mon Sep 17 00:00:00 2001 From: Kelenius Date: Thu, 6 Aug 2015 10:48:14 +0300 Subject: [PATCH 317/392] Optimizes garbage reference searcher --- code/controllers/Processes/garbage.dm | 65 ++++++++++++++++----------- 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/code/controllers/Processes/garbage.dm b/code/controllers/Processes/garbage.dm index 1f053a1186..9e9d3591b1 100644 --- a/code/controllers/Processes/garbage.dm +++ b/code/controllers/Processes/garbage.dm @@ -41,6 +41,31 @@ world/loop_checks = 0 var/checkRemain = max_checks_multiplier * schedule_interval var/maxDels = max_forcedel_multiplier * schedule_interval + #ifdef GC_FINDREF + var/list/searching = list() + for(var/refID in destroyed) // Reference search - before all deletions and for all at once + var/GCd_at_time = destroyed[refID] + if(GCd_at_time > time_to_kill) + break + var/atom/A = locate(refID) + if(A && A.gcDestroyed == GCd_at_time) + searching += A + if(searching.len >= checkRemain) + break + + for(var/atom/A in searching) + testing("GC: Searching references for [A] | [A.type]") + if(A.loc != null) + testing("GC: [A] | [A.type] is located in [A.loc] instead of null") + if(A.contents.len) + testing("GC: [A] | [A.type] has contents: [list2text(A.contents)]") + if(searching.len) + for(var/atom/D in world) + LookForRefs(D, searching) + for(var/datum/D) + LookForRefs(D, searching) + #endif + while(destroyed.len && --checkRemain >= 0) if(dels >= maxDels) #ifdef GC_DEBUG @@ -61,22 +86,6 @@ world/loop_checks = 0 if(A && A.gcDestroyed == GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake // Something's still referring to the qdel'd object. Kill it. testing("GC: -- \ref[A] | [A.type] was unable to be GC'd and was deleted --") - #ifdef GC_FINDREF - var/found = 0 - if(A.loc != null) - testing("GC: [A] | [A.type] is located in [A.loc] instead of null") - var/searched = "/atom" - for(var/atom/D in world) - found += LookForRef(D, A) - if(!found) - searched = "/datum and /atom" - for(var/datum/D) - found += LookForRef(D, A) - if(!found) - testing("GC: Referencs to [A] | [A.type] not found, possibly in a global list, an object of an unsupported type, or an object that was deleted this gc cycle") - else - testing("GC: Found [found] reference\s to [A] | [A.type] in [searched] types") - #endif logging["[A.type]"]++ del(A) ++dels @@ -88,25 +97,29 @@ world/loop_checks = 0 destroyed.Cut(1, 2) #ifdef GC_FINDREF -/datum/controller/process/garbage_collector/proc/LookForRef(var/datum/D, var/atom/targ) +/datum/controller/process/garbage_collector/proc/LookForRefs(var/datum/D, var/list/targ) . = 0 for(var/V in D.vars) if(V == "contents") continue - if(D.vars[V] == targ) - testing("GC: [targ] | [targ.type] referenced by [D] | [D.type], var [V]") - . += 1 + if(istype(D.vars[V], /atom)) + for(var/atom/A in targ) + if(D.vars[V] == A) + testing("GC: [A] | [A.type] referenced by [D] | [D.type], var [V]") + . += 1 else if(islist(D.vars[V])) - . += LookForListRef(D.vars[V], targ, D, V) + . += LookForListRefs(D.vars[V], targ, D, V) -/datum/controller/process/garbage_collector/proc/LookForListRef(var/list/L, var/atom/targ, var/datum/D, var/V) +/datum/controller/process/garbage_collector/proc/LookForListRefs(var/list/L, var/list/targ, var/datum/D, var/V) . = 0 for(var/F in L) - if(F == targ) - testing("GC: [targ] | [targ.type] referenced by [D] | [D.type], list [V]") - . += 1 + if(istype(F, /atom)) + for(var/atom/A in targ) + if(F == A) + testing("GC: [A] | [A.type] referenced by [D] | [D.type], list [V]") + . += 1 if(islist(F)) - . += LookForListRef(F, targ, D, "[F] in list [V]") + . += LookForListRefs(F, targ, D, "[F] in list [V]") #endif /datum/controller/process/garbage_collector/proc/AddTrash(datum/A) From 25eaeecb240dedd32b58928a4c3e3935aa0cf569 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 7 Aug 2015 09:28:29 +0300 Subject: [PATCH 318/392] Optimizes reference finder --- code/controllers/Processes/garbage.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/controllers/Processes/garbage.dm b/code/controllers/Processes/garbage.dm index 9e9d3591b1..0f54fbcb0d 100644 --- a/code/controllers/Processes/garbage.dm +++ b/code/controllers/Processes/garbage.dm @@ -103,10 +103,10 @@ world/loop_checks = 0 if(V == "contents") continue if(istype(D.vars[V], /atom)) - for(var/atom/A in targ) - if(D.vars[V] == A) - testing("GC: [A] | [A.type] referenced by [D] | [D.type], var [V]") - . += 1 + var/atom/A = D.vars[V] + if(A in targ) + testing("GC: [A] | [A.type] referenced by [D] | [D.type], var [V]") + . += 1 else if(islist(D.vars[V])) . += LookForListRefs(D.vars[V], targ, D, V) @@ -114,10 +114,10 @@ world/loop_checks = 0 . = 0 for(var/F in L) if(istype(F, /atom)) - for(var/atom/A in targ) - if(F == A) - testing("GC: [A] | [A.type] referenced by [D] | [D.type], list [V]") - . += 1 + var/atom/A = F + if(A in targ) + testing("GC: [A] | [A.type] referenced by [D] | [D.type], list [V]") + . += 1 if(islist(F)) . += LookForListRefs(F, targ, D, "[F] in list [V]") #endif From c146f1e324cc0ff090bdb5ff64d82ee8a585f098 Mon Sep 17 00:00:00 2001 From: Kearel Date: Fri, 7 Aug 2015 14:41:54 -0500 Subject: [PATCH 319/392] zenghu icon fixes --- icons/mob/human_races/cyberlimbs/zenghu.dmi | Bin 853 -> 849 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/human_races/cyberlimbs/zenghu.dmi b/icons/mob/human_races/cyberlimbs/zenghu.dmi index ca0cff0efa80a6c992b8b91f40f3c3c9aa8f40d0..a94eacc48a512f131f9f999ad93d7b764135fb2f 100644 GIT binary patch delta 601 zcmV-f0;c`d2GItv1Ob0INklH6I!azrGiU) zs47tr(zAYJv3z1|MSUF~VD+ruk;w$c_CnP}RD|@jpS~5hJD-1A#Y4gkIr-J=8Byyg z6O(0K8&M+bSwDRt7ASkyRF!ZAjh^*WPh!E|qdk6kjt^+`tlz<_T=5=nD(XZ100000 z0D#0O#Vz(>XJIxwfO+ttQCDWO1N5f1$c+Sn{9uz~ZOb8r^M{ zUVTW*t50XZ!aIMp+i}3Rk(STCoB>O}qT7J1kmnlt7ytkO004l#Sidjl0iy065*xoC z$OHc3cqwUGY5aa558Qj7>h1#?zaPj0{$kmEfc5xt9tf#3FRnGD+{k3~j4h4iS6k~2 zSg^0u@xTKNT`C71Ap9uuLGOX^++o-&`1@M~00000@SlHhjg*uJ+Q}>5o2jZI&dl@s zEDuEMbxo|~n7U2R@3TA*t&a~V{Q=}`v|iC2$*G<7%q%mz(R%h@!<>f5((SH(lreEVp0{{R30001BD~LY-7cx_)h*d~$Fx(|gU;LFk zBsvSUpPo?*1Lj_4s^^}9SGan1Ru=^uP!vUrf>*eDsUH9U00000+X8(h!d|iTh5CKw n|9cPc;((YK`r*fc0UiDi?}SK|zN%-500000NkvXXu0mjfan>I& delta 605 zcmV-j0;2uV2Gs_z1Ob0MNkly&spTrJHBoObbvXeJ6inA-tTRTYr03ed>=wMtCo@x)Zgkyhc zN>$OO7xi*AeeQflbsBEq^`hR6OB8bdpk}Tr+Vs4hy-=4sU3h=RZNv-N`_|iYrnUmZZ-qw?z@e(eo>f7o800000 z0F7D9v^a#dm7BJKn8C-!oVaNl*r}JOX$e~VgLh(4CXuoE?9(rurr1C8*9A2-wqGy% z{;GxF-x>{8ESkL<{ zet-t^8%@(mJ@2>pfh+Q<>ffNA_gnk`4Ho?y_!(dK18wSr*tMFN7a5H`7onNHwe`~m zEAf@u9l3$yp<>hq%8w!)^&KexJB<4Te}9Pp00000{u6(*=4_Sr%}z@?o0+oYlNmW` z$B*g-^KHdO$(&D{hMa`Uuj$=jez*ZWYR5fhFyHVMN%=TS=UYD72J^*P!<3syst_)@ z;2oJ`5N8cVh3+L1c7QtuG2n~wzI%z3HJf-d7XSbN0000m5yAieg`nF|h`X7#gV79G zzVTP^45C%%_3Tnu>-1O7zVWiBTo2VQ2$8{jBy5600000NkvXXu0mjft#%%k From fc7e89380e04d6fbc4df5e2882b2546414a4a8da Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Wed, 5 Aug 2015 16:06:48 -0400 Subject: [PATCH 320/392] More material renames Gives several materials shorter and easier to type names, updating the display_name where applicable. Also fixed a slightly mismatched variable type. --- code/game/objects/items/robot/robot_parts.dm | 2 +- code/game/objects/items/weapons/material/shards.dm | 2 +- code/modules/materials/material_sheets.dm | 4 ++-- code/modules/materials/materials.dm | 12 +++++++----- code/modules/tables/presets.dm | 4 ++-- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index da1d0b701d..2ee5e723ea 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -126,7 +126,7 @@ /obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob) ..() if(istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) - var/obj/item/stack/material/steel/M = W + var/obj/item/stack/material/M = W if (M.use(1)) var/obj/item/weapon/secbot_assembly/ed209_assembly/B = new /obj/item/weapon/secbot_assembly/ed209_assembly B.loc = get_turf(src) diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index fa39ce719e..2f395f2ed0 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -87,4 +87,4 @@ ..(loc, "steel") /obj/item/weapon/material/shard/phoron/New(loc) - ..(loc, "phoron glass") + ..(loc, "phglass") diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 75ab6ff891..c2a2b56ab7 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -198,9 +198,9 @@ name = "phoron glass" singular_name = "phoron glass sheet" icon_state = "sheet-phoronglass" - default_type = "phoron glass" + default_type = "phglass" /obj/item/stack/material/glass/phoronrglass name = "reinforced phoron glass" icon_state = "sheet-phoronrglass" - default_type = "reinforced phoron glass" + default_type = "rphglass" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index bbf875cf4d..dd839dbbb2 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -329,7 +329,7 @@ var/list/name_to_material icon_colour = "#666666" /material/steel/holographic - name = "holographic " + DEFAULT_WALL_MATERIAL + name = "holo" + DEFAULT_WALL_MATERIAL display_name = DEFAULT_WALL_MATERIAL stack_type = null shard_type = SHARD_NONE @@ -458,7 +458,8 @@ var/list/name_to_material rod_product = null /material/glass/phoron - name = "phoron glass" + name = "phglass" + display_name = "phoron glass" stack_type = /obj/item/stack/material/glass/phoronglass flags = MATERIAL_BRITTLE ignition_point = PHORON_MINIMUM_BURN_TEMPERATURE+300 @@ -470,7 +471,8 @@ var/list/name_to_material rod_product = /obj/item/stack/material/glass/phoronrglass /material/glass/phoron/reinforced - name = "reinforced phoron glass" + name = "rphglass" + display_name = "reinforced phoron glass" stack_type = /obj/item/stack/material/glass/phoronrglass stack_origin_tech = "materials=4;phorontech=2" composite_material = list() //todo @@ -491,7 +493,7 @@ var/list/name_to_material stack_origin_tech = "materials=3" /material/plastic/holographic - name = "holographic plastic" + name = "holoplastic" display_name = "plastic" stack_type = null shard_type = SHARD_NONE @@ -569,7 +571,7 @@ var/list/name_to_material sheet_plural_name = "planks" /material/wood/holographic - name = "holographic wood" + name = "holowood" display_name = "wood" stack_type = null shard_type = SHARD_NONE diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 60d45f1ede..933f54ea8b 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -63,11 +63,11 @@ icon_state = "holo_preview" color = "#EEEEEE" New() - material = get_material_by_name("holographic [DEFAULT_TABLE_MATERIAL]") + material = get_material_by_name("holo[DEFAULT_TABLE_MATERIAL]") ..() woodentable/holotable icon_state = "holo_preview" New() - material = get_material_by_name("holographic wood") + material = get_material_by_name("holowood") ..() From c1675bb32b5a4f6ad7fc8cbc098ad77aa2b1ee96 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 7 Aug 2015 23:11:50 +0100 Subject: [PATCH 321/392] Fix inverted arguments in syndicate beacon self-destruct Far less likely to gib people now. --- code/game/machinery/syndicatebeacon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 722c96d583..b00730dd10 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -96,7 +96,7 @@ /obj/machinery/syndicate_beacon/proc/selfdestruct() selfdestructing = 1 - spawn() explosion(src.loc, rand(3,8), rand(1,3), 1, 10) + spawn() explosion(src.loc, 1, rand(1,3), rand(3,8), 10) //////////////////////////////////////// //Singularity beacon From 4139a519463ef88916e2ba6c6c89a6e4981e4288 Mon Sep 17 00:00:00 2001 From: Kearel Date: Sun, 26 Jul 2015 18:40:07 -0500 Subject: [PATCH 322/392] Initial fixes Changes interaction between stumps and items. Conflicts: code/modules/organs/organ_stump.dm --- code/modules/mob/living/carbon/human/inventory.dm | 2 +- code/modules/organs/organ_stump.dm | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 2fb446e1ac..c3b115e4f9 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -41,7 +41,7 @@ This saves us from having to call add_fingerprint() any time something is put in /mob/living/carbon/human/proc/has_organ(name) var/obj/item/organ/external/O = organs_by_name[name] - return (O && !(O.status & ORGAN_DESTROYED) ) + return (O && !(O.status & ORGAN_DESTROYED) && !O.is_stump()) /mob/living/carbon/human/proc/has_organ_for_slot(slot) switch(slot) diff --git a/code/modules/organs/organ_stump.dm b/code/modules/organs/organ_stump.dm index 728f9cd1bc..ab808f4c48 100644 --- a/code/modules/organs/organ_stump.dm +++ b/code/modules/organs/organ_stump.dm @@ -22,3 +22,6 @@ /obj/item/organ/external/stump/removed() ..() qdel(src) + +/obj/item/organ/external/stump/is_usable() + return 0 From 1e3d3101de1eef810b4221ca848338e2941629d1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 8 Aug 2015 11:28:22 -0400 Subject: [PATCH 323/392] Fixes #9966 --- code/modules/mob/living/silicon/robot/robot_modules.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 12565f4ea4..74294bd2aa 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -342,8 +342,7 @@ //full set of languages R.add_language("Sol Common", 1) R.add_language("Sinta'unathi", 1) - R.add_language("Siik'maas", 1) - R.add_language("Siik'tajr", 0) + R.add_language("Siik'tajr", 1) R.add_language("Skrellian", 1) R.add_language("Rootspeak", 1) R.add_language("Tradeband", 1) @@ -363,8 +362,7 @@ /obj/item/weapon/robot_module/clerical/add_languages(var/mob/living/silicon/robot/R) R.add_language("Sol Common", 1) R.add_language("Sinta'unathi", 1) - R.add_language("Siik'maas", 1) - R.add_language("Siik'tajr", 0) + R.add_language("Siik'tajr", 1) R.add_language("Skrellian", 1) R.add_language("Rootspeak", 1) R.add_language("Tradeband", 1) From 4e70cc03bca5fec3167dfcd0d927f62db83374c0 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 8 Aug 2015 11:38:27 -0400 Subject: [PATCH 324/392] Fixes #10021 --- code/modules/reagents/Chemistry-Machinery.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 5778628dbf..f15ea8480d 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -157,13 +157,14 @@ /obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/reagent_containers/B as obj, var/mob/user as mob) if(isrobot(user)) - return + return 1 if(src.beaker) user << "Something is already loaded into the machine." return if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food)) if(!accept_glass && istype(B,/obj/item/weapon/reagent_containers/food)) user << "This machine only accepts beakers" + return src.beaker = B user.drop_item() B.loc = src From 1486876e732e98a2a2cac7b6e0ca2b4dad4f9c9f Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 8 Aug 2015 23:12:01 -0400 Subject: [PATCH 325/392] Fixes #10449 Reimpements trace gas checking for air alarms. Removes duplicate danger level checking in air alarm nanoui code, as all of that is already calculated as part of air alarm processing. --- code/game/machinery/alarm.dm | 43 +++++++++++------------------------- 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index b4e6c892eb..f8ed979bbc 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -69,6 +69,7 @@ var/datum/radio_frequency/radio_connection var/list/TLV = list() + var/list/trace_gas = list("sleeping_agent", "volatile_fuel") //list of other gases that this air alarm is able to detect var/danger_level = 0 var/pressure_dangerlevel = 0 @@ -235,23 +236,24 @@ /obj/machinery/alarm/proc/overall_danger_level(var/datum/gas_mixture/environment) var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume var/environment_pressure = environment.return_pressure() - //var/other_moles = 0.0 - ////for(var/datum/gas/G in environment.trace_gases) - // other_moles+=G.moles + + var/other_moles = 0 + for(var/g in trace_gas) + other_moles += environment.gas[g] //this is only going to be used in a partial pressure calc, so we don't need to worry about group_multiplier here. pressure_dangerlevel = get_danger_level(environment_pressure, TLV["pressure"]) oxygen_dangerlevel = get_danger_level(environment.gas["oxygen"]*partial_pressure, TLV["oxygen"]) co2_dangerlevel = get_danger_level(environment.gas["carbon_dioxide"]*partial_pressure, TLV["carbon dioxide"]) phoron_dangerlevel = get_danger_level(environment.gas["phoron"]*partial_pressure, TLV["phoron"]) temperature_dangerlevel = get_danger_level(environment.temperature, TLV["temperature"]) - //other_dangerlevel = get_danger_level(other_moles*partial_pressure, TLV["other"]) + other_dangerlevel = get_danger_level(other_moles*partial_pressure, TLV["other"]) return max( pressure_dangerlevel, oxygen_dangerlevel, co2_dangerlevel, phoron_dangerlevel, - //other_dangerlevel, + other_dangerlevel, temperature_dangerlevel ) @@ -501,34 +503,15 @@ var/list/environment_data = new data["has_environment"] = total if(total) - var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume - var/list/current_settings = TLV["pressure"] var/pressure = environment.return_pressure() - var/pressure_danger = get_danger_level(pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Pressure", "value" = pressure, "unit" = "kPa", "danger_level" = pressure_danger) - data["total_danger"] = pressure_danger - - current_settings = TLV["oxygen"] - var/oxygen_danger = get_danger_level(environment.gas["oxygen"]*partial_pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Oxygen", "value" = environment.gas["oxygen"] / total * 100, "unit" = "%", "danger_level" = oxygen_danger) - data["total_danger"] = max(oxygen_danger, data["total_danger"]) - - current_settings = TLV["carbon dioxide"] - var/carbon_dioxide_danger = get_danger_level(environment.gas["carbon dioxide"]*partial_pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Carbon dioxide", "value" = environment.gas["carbon dioxide"] / total * 100, "unit" = "%", "danger_level" = carbon_dioxide_danger) - data["total_danger"] = max(carbon_dioxide_danger, data["total_danger"]) - - current_settings = TLV["phoron"] - var/phoron_danger = get_danger_level(environment.gas["phoron"]*partial_pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Toxins", "value" = environment.gas["phoron"] / total * 100, "unit" = "%", "danger_level" = phoron_danger) - data["total_danger"] = max(phoron_danger, data["total_danger"]) - - current_settings = TLV["temperature"] - var/temperature_danger = get_danger_level(environment.temperature, current_settings) - environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_danger) - data["total_danger"] = max(temperature_danger, data["total_danger"]) + environment_data[++environment_data.len] = list("name" = "Pressure", "value" = pressure, "unit" = "kPa", "danger_level" = pressure_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Oxygen", "value" = environment.gas["oxygen"] / total * 100, "unit" = "%", "danger_level" = oxygen_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Carbon dioxide", "value" = environment.gas["carbon_dioxide"] / total * 100, "unit" = "%", "danger_level" = co2_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Toxins", "value" = environment.gas["phoron"] / total * 100, "unit" = "%", "danger_level" = phoron_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_dangerlevel) + data["total_danger"] = danger_level data["environment"] = environment_data data["atmos_alarm"] = alarm_area.atmosalm data["fire_alarm"] = alarm_area.fire != null From 0b7ad4549c48dc430ac8f9a2d0c717c2d95a94b7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 9 Aug 2015 00:00:12 -0400 Subject: [PATCH 326/392] Fixes air alarm nanoui local status Fixes the local status using the wrong danger level --- nano/templates/air_alarm.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nano/templates/air_alarm.tmpl b/nano/templates/air_alarm.tmpl index edfe41cda7..2caa14e955 100644 --- a/nano/templates/air_alarm.tmpl +++ b/nano/templates/air_alarm.tmpl @@ -30,9 +30,9 @@ Used In File(s): \code\game\machinery\alarm.dm {{:helper.fixed(value.value, 1)}}

K;NajJlm5r@N5WwY8ZXMH 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 literal 47559 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 From dc503a7e3ea1a6af81f54cd0c6257281a1965954 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 2 Jul 2015 21:40:33 +0200 Subject: [PATCH 012/392] Refactors mask voice changes. Being muzzled no longer prevents hivemind speech. Masks now define their own message and verb overrides instead of being hardcoded. --- code/modules/clothing/clothing.dm | 4 ++++ code/modules/clothing/masks/miscellaneous.dm | 13 ++++++++++++- code/modules/mob/living/carbon/human/say.dm | 10 +++++----- code/modules/mob/living/say.dm | 8 ++++---- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 8ec49ecd5f..b6d902bdfb 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -303,6 +303,10 @@ BLIND // can't see anything body_parts_covered = FACE|EYES sprite_sheets = list("Vox" = 'icons/mob/species/vox/masks.dmi') + var/voicechange = 0 + var/list/say_messages + var/list/say_verbs + /obj/item/clothing/mask/update_clothing_icon() if (ismob(src.loc)) var/mob/M = src.loc diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 3d3db7c736..f7b6ecbc6c 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -7,6 +7,12 @@ body_parts_covered = 0 w_class = 2 gas_transfer_coefficient = 0.90 + voicechange = 1 + +/obj/item/clothing/mask/muzzle/New() + ..() + say_messages = list("Mmfph!", "Mmmf mrrfff!", "Mmmf mnnf!") + say_verbs = list("mumbles", "says") // Clumsy folks can't take the mask off themselves. /obj/item/clothing/mask/muzzle/attack_hand(mob/user as mob) @@ -99,9 +105,14 @@ flags_inv = HIDEFACE body_parts_covered = HEAD|FACE|EYES w_class = 2 - var/voicechange = 0 siemens_coefficient = 0.9 +/obj/item/clothing/mask/horsehead/New() + ..() + // The horse mask doesn't cause voice changes by default, the wizard spell changes the flag as necessary + say_messages = list("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!") + say_verbs = list("whinnies", "neighs", "says") + /obj/item/clothing/mask/ai name = "camera MIU" desc = "Allows for direct mental connection to accessible camera networks." diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index bbf1844c45..4bae03eb1e 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -132,11 +132,11 @@ if(silent || (sdisabilities & MUTE)) message = "" speech_problem_flag = 1 - else if(istype(wear_mask, /obj/item/clothing/mask/horsehead)) - var/obj/item/clothing/mask/horsehead/hoers = wear_mask - if(hoers.voicechange) - message = pick("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!") - verb = pick("whinnies","neighs", "says") + else if(istype(wear_mask, /obj/item/clothing/mask)) + var/obj/item/clothing/mask/M = wear_mask + if(M.voicechange) + message = pick(M.say_messages) + verb = pick(M.say_verbs) speech_problem_flag = 1 if(message != "") diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index a126bccc87..faf6f40161 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -138,10 +138,6 @@ proc/get_radio_key_from_channel(var/channel) return say_dead(message) return - if(is_muzzled()) - src << "You're muzzled and cannot speak!" - return - var/message_mode = parse_message_mode(message, "headset") switch(copytext(message,1,2)) @@ -177,6 +173,10 @@ proc/get_radio_key_from_channel(var/channel) else verb = get_speech_ending(verb, ending) + if(is_muzzled()) + src << "You're muzzled and cannot speak!" + return + message = trim_left(message) if(!(speaking && (speaking.flags & NO_STUTTER))) From 6986d9f615e6701454a5ef15aee3e09777b2a48e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 2 Jul 2015 22:03:16 +0200 Subject: [PATCH 013/392] Removes the human is_muzzled override as the particular object muzzling itself. --- code/modules/mob/living/carbon/human/say.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 4bae03eb1e..44b8e6f238 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -6,9 +6,6 @@ message = sanitize(message) ..(message, alt_name = alt_name) -/mob/living/carbon/human/is_muzzled() - return istype(src.wear_mask, /obj/item/clothing/mask/muzzle) - /mob/living/carbon/human/proc/forcesay(list/append) if(stat == CONSCIOUS) if(client) From fb60cfde4ce10f4006048be649ccccda9c9797e3 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Fri, 3 Jul 2015 16:25:37 +0200 Subject: [PATCH 014/392] Rejuvenation now clears chemicals in mobs. Fixes #9921. --- code/modules/mob/living/carbon/carbon.dm | 6 ++++++ code/modules/mob/living/carbon/human/life.dm | 4 ++++ code/modules/mob/living/living.dm | 10 +++------- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index f59fa5bf56..ab97fb12c0 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -23,6 +23,12 @@ qdel(food) return ..() +/mob/living/carbon/rejuvenate() + bloodstr.clear_reagents() + ingested.clear_reagents() + touching.clear_reagents() + ..() + /mob/living/carbon/Move(NewLoc, direct) . = ..() if(.) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index d603232f40..605ecbed39 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1753,5 +1753,9 @@ if (thermal_protection < 1 && bodytemperature < burn_temperature) bodytemperature += round(BODYTEMP_HEATING_MAX*(1-thermal_protection), 1) +/mob/living/carbon/human/rejuvenate() + restore_blood() + ..() + #undef HUMAN_MAX_OXYLOSS #undef HUMAN_CRIT_MAX_OXYLOSS diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 80902ddaa9..d3e1749876 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -399,6 +399,7 @@ default behaviour is: fire_stacks = 0 /mob/living/proc/rejuvenate() + reagents.clear_reagents() // shut down various types of badness setToxLoss(0) @@ -424,16 +425,11 @@ default behaviour is: ear_damage = 0 heal_overall_damage(getBruteLoss(), getFireLoss()) - // restore all of a human's blood - if(ishuman(src)) - var/mob/living/carbon/human/human_mob = src - human_mob.restore_blood() - // fix all of our organs restore_all_organs() // remove the character from the list of the dead - if(stat == 2) + if(stat == DEAD) dead_mob_list -= src living_mob_list += src tod = null @@ -609,7 +605,7 @@ default behaviour is: /mob/living/proc/escape_inventory(obj/item/weapon/holder/H) if(H != src.loc) return - + var/mob/M = H.loc //Get our mob holder (if any). if(istype(M)) From 9bcc061d1f2f2784af9f276f30c64dcb445f6284 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Fri, 3 Jul 2015 15:03:51 -0400 Subject: [PATCH 015/392] DSAY will now list that it's dsay in log instead of generic log_admin --- code/modules/admin/verbs/deadsay.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 1a68f3016b..c4e9430eb8 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -21,7 +21,7 @@ var/stafftype = uppertext(holder.rank) msg = sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)) - log_admin("[key_name(src)] : [msg]") + log_admin("DSAY: [key_name(src)] : [msg]") if (!msg) return From b2d3711c11a84d67bd39d89c251f0cea448b4c4b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 3 Jul 2015 21:58:11 -0400 Subject: [PATCH 016/392] Fixes knife inhand states --- code/game/objects/items/weapons/material/knives.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 3271650d31..fd06b93adf 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -52,6 +52,7 @@ name = "kitchen knife" icon = 'icons/obj/kitchen.dmi' icon_state = "knife" + item_state = "knife" desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." flags = CONDUCT sharp = 1 @@ -85,6 +86,7 @@ name = "butcher's cleaver" icon = 'icons/obj/kitchen.dmi' icon_state = "butch" + item_state = "butcher_knife" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." force_divisor = 0.25 // 15 when wielded with hardness 60 (steel) attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") From b7ee6e11fc61e77fbd1671dc394a9c8f2ec8cda3 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 3 Jul 2015 22:02:28 -0400 Subject: [PATCH 017/392] Swaps force divisors between kitchen knives and utensil knives. Because why does the utensil deal more damage than a chopping knife? --- code/game/objects/items/weapons/material/kitchen.dm | 2 +- code/game/objects/items/weapons/material/knives.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 597affcd35..4cfb1123f8 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -73,7 +73,7 @@ name = "knife" desc = "Can cut through any food." icon_state = "knife" - force_divisor = 0.2 // 12 when wielded with hardness 60 (steel) + force_divisor = 0.15 // 9 when wielded with hardness 60 (steel) /obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index fd06b93adf..d15ac40e95 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -57,7 +57,7 @@ flags = CONDUCT sharp = 1 edge = 1 - force_divisor = 0.15 // 9 when wielded with hardness 60 (steel) + force_divisor = 0.2 // 12 when wielded with hardness 60 (steel) matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") From 36fe66653d58965e2655c4f7705c8ae86e9441a4 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 4 Jul 2015 15:20:11 +0200 Subject: [PATCH 018/392] Changelog update. --- html/changelog.html | 8 ++++++++ html/changelogs/.all_changelog.yml | 7 +++++++ html/changelogs/PsiOmegaDelta-SinglePortableUnit.yml | 7 ------- 3 files changed, 15 insertions(+), 7 deletions(-) delete mode 100644 html/changelogs/PsiOmegaDelta-SinglePortableUnit.yml diff --git a/html/changelog.html b/html/changelog.html index e1051c7441..1d4827fbd7 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,14 @@ -->

{{:value.unit}}
{{/for}} - Local Status: {{if value.danger_level == 2}} + Local Status: {{if data.total_danger == 2}} DANGER: Internals Required - {{else value.danger_level == 1}} + {{else data.total_danger == 1}} Caution {{else}} Optimal From 83abfcf7af0b2a90064504b3a226ae215daac429 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 9 Aug 2015 00:02:50 -0400 Subject: [PATCH 327/392] Fixes #9594 Areas now initialize to having all power channels off. --- code/game/area/areas.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 0778f50174..70e32096b7 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -18,12 +18,14 @@ if(requires_power) luminosity = 0 else - power_light = 0 //rastaf0 - power_equip = 0 //rastaf0 - power_environ = 0 //rastaf0 luminosity = 1 lighting_use_dynamic = 0 + //If an APC is present it will set these, otherwise they stay off. + power_light = 0 + power_equip = 0 + power_environ = 0 + ..() // spawn(15) From b1b3b4899b97b3b3b25cc92af8f36f7a4568c692 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 9 Aug 2015 00:24:18 -0400 Subject: [PATCH 328/392] Fixes #7928 Uses camera/set_status() to ensure viewers are kicked and camera cache updated. --- code/modules/mob/living/silicon/robot/life.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 680b2aa0bd..27bac92e1c 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -64,9 +64,9 @@ if(src.camera && !scrambledcodes) if(src.stat == 2 || wires.IsIndexCut(BORG_WIRE_CAMERA)) - src.camera.status = 0 + src.camera.set_status(0) else - src.camera.status = 1 + src.camera.set_status(1) updatehealth() From 9d11a367a6f5b8ea5b347f9493331074f41c24f2 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 9 Aug 2015 16:22:19 +0930 Subject: [PATCH 329/392] Roll-down-jumpsuit now works properly with custom items, icon_override and (hopefully) species variants. --- code/modules/clothing/clothing.dm | 39 +++++++++++++++++------ code/modules/customitems/item_spawning.dm | 14 +++++--- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index e811c5a9aa..066ecee760 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -383,23 +383,41 @@ BLIND // can't see anything var/displays_id = 1 var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled sprite_sheets = list("Vox" = 'icons/mob/species/vox/uniform.dmi') - + //convenience var for defining the icon state for the overlay used when the clothing is worn. //Also used by rolling/unrolling. var/worn_state = null /obj/item/clothing/under/New() if(worn_state) - if(!item_state_slots) + if(!item_state_slots) item_state_slots = list() item_state_slots[slot_w_uniform_str] = worn_state else worn_state = icon_state - - //autodetect rollability - if(rolled_down < 0) - if((worn_state + "_d_s") in icon_states('icons/mob/uniform.dmi')) + +/obj/item/clothing/under/proc/update_rolldown_status() + + var/mob/living/carbon/human/H + if(istype(src.loc, /mob/living/carbon/human)) + H = src.loc + + var/icon/under_icon + if(icon_override) + under_icon = icon_override + else if(H && sprite_sheets && sprite_sheets[H.species.name]) + under_icon = sprite_sheets[H.species.name] + else if(item_icons && item_icons[slot_w_uniform_str]) + under_icon = item_icons[slot_w_uniform_str] + else + under_icon = INV_W_UNIFORM_DEF_ICON + + if((worn_state + "_d_s") in icon_states(under_icon)) + if(rolled_down != 1) rolled_down = 0 + else + rolled_down = -1 + if(H) update_clothing_icon() /obj/item/clothing/under/update_clothing_icon() if (ismob(src.loc)) @@ -459,10 +477,10 @@ BLIND // can't see anything if (( usr.restrained() ) || ( usr.stat )) return - + if (!usr.unEquip(src)) return - + switch(over_object.name) if("r_hand") usr.put_in_r_hand(src) @@ -542,10 +560,11 @@ BLIND // can't see anything if(!istype(usr, /mob/living)) return if(usr.stat) return - if(rolled_down < 0) + update_rolldown_status() + if(rolled_down == -1) usr << "You cannot roll down [src]!" return - + rolled_down = !rolled_down if(rolled_down) body_parts_covered &= LOWER_TORSO|LEGS|FEET diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index c99fe6936d..a573a4d7bc 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -49,18 +49,22 @@ item.icon = CUSTOM_ITEM_OBJ item.icon_state = item_icon return - else + else if(inherit_inhands) apply_inherit_inhands(item) else item.item_state_slots = null item.item_icons = null - + item.icon = CUSTOM_ITEM_OBJ item.icon_state = item_icon item.item_state = null item.icon_override = CUSTOM_ITEM_MOB + var/obj/item/clothing/under/U = item + if(istype(U)) + U.update_rolldown_status() + // Kits are dumb so this is going to have to be hardcoded/snowflake. if(istype(item, /obj/item/device/kit)) var/obj/item/device/kit/K = item @@ -81,9 +85,9 @@ /datum/custom_item/proc/apply_inherit_inhands(var/obj/item/item) var/list/new_item_icons = list() var/list/new_item_state_slots = list() - + var/list/available_states = icon_states(CUSTOM_ITEM_MOB) - + //If l_hand or r_hand are not present, preserve them using item_icons/item_state_slots //Then use icon_override to make every other slot use the custom sprites by default. //This has to be done before we touch any of item's vars @@ -93,7 +97,7 @@ if(!("[item_icon]_r" in available_states)) new_item_state_slots[slot_r_hand_str] = get_state(item, slot_r_hand_str, "_r") new_item_icons[slot_r_hand_str] = get_icon(item, slot_r_hand_str, 'icons/mob/items/righthand.dmi') - + item.item_state_slots = new_item_state_slots item.item_icons = new_item_icons From aed2ac3dfe619cb75b7a23d6ab20c5870a78bc50 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 9 Aug 2015 16:48:20 +0930 Subject: [PATCH 330/392] Moved custom_synthetic.dmi into a proper define. --- code/modules/mob/living/silicon/ai/ai.dm | 2 +- .../mob/living/silicon/robot/custom_sprites.dm | 8 ++++---- code/setup.dm | 3 +++ icons/mob/custom-synthetic.dmi | Bin 300618 -> 0 bytes icons/mob/custom_synthetic.dmi | 0 5 files changed, 8 insertions(+), 5 deletions(-) delete mode 100644 icons/mob/custom-synthetic.dmi create mode 100644 icons/mob/custom_synthetic.dmi diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1edd37d7d2..888622ff38 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -278,7 +278,7 @@ var/list/ai_verbs_default = list( if(Entry[1] == src.ckey && Entry[2] == src.real_name) custom_sprite = 1 //They're in the list? Custom sprite time - icon = 'icons/mob/custom-synthetic.dmi' + icon = CUSTOM_ITEM_ROBOT //if(icon_state == initial(icon_state)) var/icontype = "" diff --git a/code/modules/mob/living/silicon/robot/custom_sprites.dm b/code/modules/mob/living/silicon/robot/custom_sprites.dm index ee4d9905e9..360308ccec 100644 --- a/code/modules/mob/living/silicon/robot/custom_sprites.dm +++ b/code/modules/mob/living/silicon/robot/custom_sprites.dm @@ -1,5 +1,5 @@ -//list(ckey = real_name,) +//list(ckey = real_name,) //Since the ckey is used as the icon_state, the current system will only permit a single custom robot sprite per ckey. //While it might be possible for a ckey to use that custom sprite for several real_names, it seems rather pointless to support it. var/list/robot_custom_icons @@ -14,10 +14,10 @@ var/list/robot_custom_icons var/split_idx = findtext(line, "-") //this works if ckey cannot contain dashes, and findtext starts from the beginning if(!split_idx || split_idx == length(line)) continue //bad entry - + var/ckey = copytext(line, 1, split_idx) var/real_name = copytext(line, split_idx+1) - + robot_custom_icons[ckey] = real_name return 1 @@ -25,6 +25,6 @@ var/list/robot_custom_icons var/rname = robot_custom_icons[ckey] if(rname && rname == real_name) custom_sprite = 1 - icon = 'icons/mob/custom-synthetic.dmi' + icon = CUSTOM_ITEM_ROBOT if(icon_state == "robot") icon_state = "[ckey]-Standard" diff --git a/code/setup.dm b/code/setup.dm index d6649aa41c..a21e9f6042 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -977,6 +977,9 @@ var/list/be_special_flags = list( #ifndef CUSTOM_ITEM_MOB #define CUSTOM_ITEM_MOB 'icons/mob/custom_items_mob.dmi' #endif +#ifndef CUSTOM_ITEM_ROBOT +#define CUSTOM_ITEM_ROBOT 'icons/mob/custom_synthetic.dmi' +#endif //default item on-mob icons #define INV_HEAD_DEF_ICON 'icons/mob/head.dmi' diff --git a/icons/mob/custom-synthetic.dmi b/icons/mob/custom-synthetic.dmi deleted file mode 100644 index 36916cc1f1e792502270918c730b9da262b9dc8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300618 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%0Do( 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

_&)D0q` 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 Ef4p<3Q2+n{ diff --git a/icons/mob/custom_synthetic.dmi b/icons/mob/custom_synthetic.dmi new file mode 100644 index 0000000000..e69de29bb2 From b6e6d459522322b730ca9bcc56009884c106884e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 9 Aug 2015 17:01:07 +0930 Subject: [PATCH 331/392] Small tweaks to get rolldowns to work properly. --- code/modules/clothing/clothing.dm | 3 ++- code/modules/customitems/item_spawning.dm | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 066ecee760..15577a308b 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -412,7 +412,8 @@ BLIND // can't see anything else under_icon = INV_W_UNIFORM_DEF_ICON - if((worn_state + "_d_s") in icon_states(under_icon)) + // The _s is because the icon update procs append it. + if(("[worn_state]_d_s") in icon_states(under_icon)) if(rolled_down != 1) rolled_down = 0 else diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index a573a4d7bc..729c204f8b 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -63,6 +63,7 @@ var/obj/item/clothing/under/U = item if(istype(U)) + U.worn_state = U.icon_state U.update_rolldown_status() // Kits are dumb so this is going to have to be hardcoded/snowflake. From e350d888e67ee6a8ead0e139e46c669f919d9f75 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 9 Aug 2015 10:52:04 +0200 Subject: [PATCH 332/392] Fixes #10217. Adds destroys to rectify the situation. --- code/modules/admin/verbs/buildmode.dm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/code/modules/admin/verbs/buildmode.dm b/code/modules/admin/verbs/buildmode.dm index 4b90283a56..2131e977ac 100644 --- a/code/modules/admin/verbs/buildmode.dm +++ b/code/modules/admin/verbs/buildmode.dm @@ -42,6 +42,12 @@ icon = 'icons/misc/buildmode.dmi' var/obj/effect/bmode/buildholder/master = null +/obj/effect/bmode/Destroy() + if(master && master.cl) + master.cl.screen -= src + master = null + return ..() + /obj/effect/bmode/builddir icon_state = "build" screen_loc = "NORTH,WEST" @@ -117,6 +123,19 @@ var/obj/effect/bmode/buildquit/buildquit = null var/atom/movable/throw_atom = null +/obj/effect/bmode/buildholder/Destroy() + qdel(builddir) + builddir = null + qdel(buildhelp) + buildhelp = null + qdel(buildmode) + buildmode = null + qdel(buildquit) + buildquit = null + throw_atom = null + cl = null + return ..() + /obj/effect/bmode/buildmode icon_state = "buildmode1" screen_loc = "NORTH,WEST+2" From e0525bec356b7ab8636f0a58de616cb9e8256b96 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 9 Aug 2015 12:21:52 +0200 Subject: [PATCH 333/392] Fixes #10447. Corrects Icarus' designation. --- code/modules/economy/TradeDestinations.dm | 2 +- code/modules/events/rogue_drones.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/economy/TradeDestinations.dm b/code/modules/economy/TradeDestinations.dm index 596276006d..2f376606d7 100644 --- a/code/modules/economy/TradeDestinations.dm +++ b/code/modules/economy/TradeDestinations.dm @@ -42,7 +42,7 @@ var/list/weighted_mundaneevent_locations = list() return null /datum/trade_destination/icarus - name = "NMV Icarus" + name = "NDV Icarus" description = "Corvette assigned to patrol NSS Exodus local space." distance = 0.1 willing_to_buy = list() diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm index f6a7a3ab71..bc7504dadf 100644 --- a/code/modules/events/rogue_drones.dm +++ b/code/modules/events/rogue_drones.dm @@ -24,11 +24,11 @@ /datum/event/rogue_drone/announce() var/msg if(prob(33)) - msg = "A combat drone wing operating out of the NMV Icarus has failed to return from a sweep of this sector, if any are sighted approach with caution." + msg = "A combat drone wing operating out of the NDV Icarus has failed to return from a sweep of this sector, if any are sighted approach with caution." else if(prob(50)) - msg = "Contact has been lost with a combat drone wing operating out of the NMV Icarus. If any are sighted in the area, approach with caution." + msg = "Contact has been lost with a combat drone wing operating out of the NDV Icarus. If any are sighted in the area, approach with caution." else - msg = "Unidentified hackers have targetted a combat drone wing deployed from the NMV Icarus. If any are sighted in the area, approach with caution." + msg = "Unidentified hackers have targetted a combat drone wing deployed from the NDV Icarus. If any are sighted in the area, approach with caution." command_announcement.Announce(msg, "Rogue drone alert") /datum/event/rogue_drone/end() From 6a156117114310712f5503d17fb44e23dabbfc1a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 9 Aug 2015 12:35:07 +0200 Subject: [PATCH 334/392] Explosion particle GC. Explosion particles cheated, only nulling the location and hoping to get collected one day. --- code/game/objects/effects/explosion_particles.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/effects/explosion_particles.dm b/code/game/objects/effects/explosion_particles.dm index 90020e5080..e0750ba1c3 100644 --- a/code/game/objects/effects/explosion_particles.dm +++ b/code/game/objects/effects/explosion_particles.dm @@ -9,7 +9,7 @@ /obj/effect/expl_particles/New() ..() spawn (15) - src.loc = null + qdel(src) return /obj/effect/expl_particles/Move() @@ -49,7 +49,7 @@ /obj/effect/explosion/New() ..() spawn (10) - src.loc = null + qdel(src) return /datum/effect/system/explosion From d1a4f4b0a4eaeab09dd9b32008bddf678c0a9632 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 9 Aug 2015 13:19:21 +0200 Subject: [PATCH 335/392] Compilation fixes and partial revert of #10456. --- code/game/area/areas.dm | 8 +++----- code/game/machinery/alarm.dm | 22 ---------------------- 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 8019db344c..9670bfc75a 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -14,11 +14,9 @@ all_areas += src if(!requires_power) - - //If an APC is present it will set these, otherwise they stay off. - power_light = 0 - power_equip = 0 - power_environ = 0 + power_light = 0 + power_equip = 0 + power_environ = 0 ..() diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 5a99e1aef6..57f5f9eeef 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -506,34 +506,12 @@ var/list/environment_data = new data["has_environment"] = total if(total) - var/pressure = environment.return_pressure() environment_data[++environment_data.len] = list("name" = "Pressure", "value" = pressure, "unit" = "kPa", "danger_level" = pressure_dangerlevel) environment_data[++environment_data.len] = list("name" = "Oxygen", "value" = environment.gas["oxygen"] / total * 100, "unit" = "%", "danger_level" = oxygen_dangerlevel) environment_data[++environment_data.len] = list("name" = "Carbon dioxide", "value" = environment.gas["carbon_dioxide"] / total * 100, "unit" = "%", "danger_level" = co2_dangerlevel) environment_data[++environment_data.len] = list("name" = "Toxins", "value" = environment.gas["phoron"] / total * 100, "unit" = "%", "danger_level" = phoron_dangerlevel) environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_dangerlevel) - - current_settings = TLV["oxygen"] - var/oxygen_danger = get_danger_level(environment.gas["oxygen"]*partial_pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Oxygen", "value" = environment.gas["oxygen"] / total * 100, "unit" = "%", "danger_level" = oxygen_danger) - data["total_danger"] = max(oxygen_danger, data["total_danger"]) - - current_settings = TLV["carbon dioxide"] - var/carbon_dioxide_danger = get_danger_level(environment.gas["carbon_dioxide"]*partial_pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Carbon dioxide", "value" = environment.gas["carbon_dioxide"] / total * 100, "unit" = "%", "danger_level" = carbon_dioxide_danger) - data["total_danger"] = max(carbon_dioxide_danger, data["total_danger"]) - - current_settings = TLV["phoron"] - var/phoron_danger = get_danger_level(environment.gas["phoron"]*partial_pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Toxins", "value" = environment.gas["phoron"] / total * 100, "unit" = "%", "danger_level" = phoron_danger) - data["total_danger"] = max(phoron_danger, data["total_danger"]) - - current_settings = TLV["temperature"] - var/temperature_danger = get_danger_level(environment.temperature, current_settings) - environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_danger) - data["total_danger"] = max(temperature_danger, data["total_danger"]) - data["total_danger"] = danger_level data["environment"] = environment_data data["atmos_alarm"] = alarm_area.atmosalm From 12549b7e933411bb484e0fa51dfb7c8eb63362bc Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 9 Aug 2015 09:48:55 -0400 Subject: [PATCH 336/392] Fixes area power initialization Power channels start on when objects initialize, then are turned off and area machines notified in area initialization if an apc is not found. --- code/controllers/master_controller.dm | 11 ++++++++--- code/game/area/areas.dm | 11 +++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 25cccde771..47f3b8a649 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -88,17 +88,22 @@ datum/controller/game_controller/proc/setup() datum/controller/game_controller/proc/setup_objects() - world << "\red \b Initializing objects" + world << "Initializing areas" + sleep(-1) + for(var/area/area in all_areas) + area.initialize() - world << "\red \b Initializing pipe networks" + world << "Initializing atmos machinery." sleep(-1) for(var/obj/machinery/atmospherics/unary/U in machines) if(istype(U, /obj/machinery/atmospherics/unary/vent_pump)) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 70e32096b7..f00281f8c0 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -21,14 +21,13 @@ luminosity = 1 lighting_use_dynamic = 0 - //If an APC is present it will set these, otherwise they stay off. - power_light = 0 - power_equip = 0 - power_environ = 0 - ..() -// spawn(15) +/area/proc/initialize() + if(!requires_power || !(locate(/obj/machinery/power/apc) in apc)) + power_light = 0 + power_equip = 0 + power_environ = 0 power_change() // all machines set to current power level, also updates lighting icon InitializeLighting() From 64c59d3145f457aca351bc4782f050a1bff9e657 Mon Sep 17 00:00:00 2001 From: SomeoneElse Date: Sun, 9 Aug 2015 01:21:43 +0600 Subject: [PATCH 337/392] replace \red usages with various usages in runes.dm code/game/gamemodes/cult/rules.dm: replaced {\red,\b} with . added some span class guidelines esp. on cult for future consistency. --- code/game/gamemodes/cult/runes.dm | 220 ++++++++++++++++-------------- 1 file changed, 114 insertions(+), 106 deletions(-) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 36eb038e56..837bb92b09 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -5,6 +5,14 @@ var/list/sacrificed = list() /obj/effect/rune +/* + * Use as a general guideline for this and related files: + * * ... - when something non-trivial or an error happens, so something similar to "Sparks come out of the machine!" + * * ... - when something that is fit for 'warning' happens but there is some damage or pain as well. + * * ... - when there is a private message to the cultists. This guideline is very arbitrary but there has to be some consistency! + */ + + /////////////////////////////////////////FIRST RUNE proc teleport(var/key) @@ -21,7 +29,7 @@ var/list/sacrificed = list() allrunesloc.len = index allrunesloc[index] = R.loc if(index >= 5) - user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" + user << "You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric." if (istype(user, /mob/living)) user.take_overall_damage(5, 0) qdel(src) @@ -30,9 +38,9 @@ var/list/sacrificed = list() user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting else user.whisper("Sas[pick("'","`")]so c'arta forbici!") - user.visible_message("\red [user] disappears in a flash of red light!", \ - "\red You feel as your body gets dragged through the dimension of Nar-Sie!", \ - "\red You hear a sickening crunch and sloshing of viscera.") + user.visible_message("[user] disappears in a flash of red light!", \ + "You feel as your body gets dragged through the dimension of Nar-Sie!", \ + "You hear a sickening crunch and sloshing of viscera.") user.loc = allrunesloc[rand(1,index)] return if(istype(src,/obj/effect/rune)) @@ -58,7 +66,7 @@ var/list/sacrificed = list() IP = R runecount++ if(runecount >= 2) - user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" + user << "You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric." if (istype(user, /mob/living)) user.take_overall_damage(5, 0) qdel(src) @@ -67,9 +75,9 @@ var/list/sacrificed = list() culcount++ if(culcount>=3) user.say("Sas[pick("'","`")]so c'arta forbici tarem!") - user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "\red You smell ozone.") + user.visible_message("You feel air moving from the rune - like as it was swapped with somewhere else.", \ + "You feel air moving from the rune - like as it was swapped with somewhere else.", \ + "You smell ozone.") for(var/obj/O in src.loc) if(!O.anchored) O.loc = IP.loc @@ -87,9 +95,9 @@ var/list/sacrificed = list() usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") else usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") - usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ - "\red You hear a pop and smell ozone.") + usr.visible_message("Rune disappears with a flash of red light, and in its place now a book lies.", \ + "You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ + "You hear a pop and smell ozone.") if(istype(src,/obj/effect/rune)) new /obj/item/weapon/book/tome(src.loc) else @@ -134,11 +142,11 @@ var/list/sacrificed = list() admin_attack_log(attacker, target, "Used a convert rune", "Was subjected to a convert rune", "used a convert rune on") switch(target.getFireLoss()) if(0 to 25) - target << "Your blood boils as you force yourself to resist the corruption invading every corner of your mind." + target << "Your blood boils as you force yourself to resist the corruption invading every corner of your mind." if(25 to 45) - target << "Your blood boils and your body burns as the corruption further forces itself into your body and mind." + target << "Your blood boils and your body burns as the corruption further forces itself into your body and mind." if(45 to 75) - target << "You begin to hallucinate images of a dark and incomprehensible being and your entire body feels like its engulfed in flame as your mental defenses crumble." + target << "You begin to hallucinate images of a dark and incomprehensible being and your entire body feels like its engulfed in flame as your mental defenses crumble." target.apply_effect(rand(1,10), STUTTER) if(75 to 100) target << "Your mind turns to ash as the burning flames engulf your very soul and images of an unspeakable horror begin to bombard the last remnants of mental resistance." @@ -223,22 +231,22 @@ var/list/sacrificed = list() if(D.stat!=2) admin_attack_log(usr, D, "Used a blood drain rune.", "Was victim of a blood drain rune.", "used a blood drain rune on") var/bdrain = rand(1,25) - D << "\red You feel weakened." + D << "You feel weakened." D.take_overall_damage(bdrain, 0) drain += bdrain if(!drain) return fizzle() usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!") - usr.visible_message("\red Blood flows from the rune into [usr]!", \ - "\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ - "\red You hear a liquid flowing.") + usr.visible_message("Blood flows from the rune into [usr]!", \ + "The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ + "You hear a liquid flowing.") var/mob/living/user = usr if(user.bhunger) user.bhunger = max(user.bhunger-2*drain,0) if(drain>=50) - user.visible_message("\red [user]'s eyes give off eerie red glow!", \ - "\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ - "\red You hear a heartbeat.") + user.visible_message("[user]'s eyes give off eerie red glow!", \ + "...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ + "You hear a heartbeat.") user.bhunger += drain src = user spawn() @@ -264,16 +272,16 @@ var/list/sacrificed = list() if(usr.loc==src.loc) if(usr.seer==1) usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.") - usr << "\red The world beyond fades from your vision." + usr << "The world beyond fades from your vision." usr.see_invisible = SEE_INVISIBLE_LIVING usr.seer = 0 else if(usr.see_invisible!=SEE_INVISIBLE_LIVING) - usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision." + usr << "The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision." usr.see_invisible = SEE_INVISIBLE_CULT usr.seer = 0 else usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!") - usr << "\red The world beyond opens to your eyes." + usr << "The world beyond opens to your eyes." usr.see_invisible = SEE_INVISIBLE_CULT usr.seer = 1 return @@ -297,7 +305,7 @@ var/list/sacrificed = list() break if(!corpse_to_raise) if(is_sacrifice_target) - usr << "\red The Geometer of blood wants this mortal for himself." + usr << "The Geometer of blood wants this mortal for himself." return fizzle() @@ -315,9 +323,9 @@ var/list/sacrificed = list() if(!body_to_sacrifice) if (is_sacrifice_target) - usr << "\red The Geometer of Blood wants that corpse for himself." + usr << "The Geometer of Blood wants that corpse for himself." else - usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used." + usr << "The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used." return fizzle() var/mob/dead/observer/ghost @@ -328,7 +336,7 @@ var/list/sacrificed = list() break if(!ghost) - usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie." + usr << "You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie." return fizzle() corpse_to_raise.revive() @@ -336,12 +344,12 @@ var/list/sacrificed = list() corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed) //This means, should that player leave the body, the original may re-enter usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") - corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ - "\red Life... I'm alive again...", \ - "\red You hear a faint, slightly familiar whisper.") - body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ - "\red You feel as your blood boils, tearing you apart.", \ - "\red You hear a thousand voices, all crying in pain.") + corpse_to_raise.visible_message("[corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ + "Life... I'm alive again...", \ + "You hear a faint, slightly familiar whisper.") + body_to_sacrifice.visible_message("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ + "You feel as your blood boils, tearing you apart.", \ + "You hear a thousand voices, all crying in pain.") body_to_sacrifice.gib() // if(ticker.mode.name == "cult") @@ -349,8 +357,8 @@ var/list/sacrificed = list() // else // ticker.mode.cult |= corpse_to_raise.mind - corpse_to_raise << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - corpse_to_raise << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + corpse_to_raise << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + corpse_to_raise << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." return @@ -369,14 +377,14 @@ var/list/sacrificed = list() if(istype(src,/obj/effect/rune)) usr.say("Kla[pick("'","`")]atu barada nikt'o!") for (var/mob/V in viewers(src)) - V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3) + V.show_message("The rune turns into gray dust, veiling the surrounding runes.", 3) qdel(src) else usr.whisper("Kla[pick("'","`")]atu barada nikt'o!") - usr << "\red Your talisman turns into gray dust, veiling the surrounding runes." + usr << "Your talisman turns into gray dust, veiling the surrounding runes." for (var/mob/V in orange(1,src)) if(V!=usr) - V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3) + V.show_message("Dust emanates from [usr]'s hands for a moment.", 3) return if(istype(src,/obj/effect/rune)) @@ -391,9 +399,9 @@ var/list/sacrificed = list() if(usr.loc==src.loc) var/mob/living/carbon/human/L = usr usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") - usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ - "\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ - "\red You hear only complete silence for a moment.") + usr.visible_message("[usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ + "The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ + "You hear only complete silence for a moment.") announce_ghost_joinleave(usr.ghostize(1), 1, "You feel that they had to use some [pick("dark", "black", "blood", "forgotten", "forbidden")] magic to [pick("invade","disturb","disrupt","infest","taint","spoil","blight")] this place!") L.ajourn = 1 while(L) @@ -429,9 +437,9 @@ var/list/sacrificed = list() usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!") var/mob/living/carbon/human/dummy/D = new(this_rune.loc) - usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \ - "\red A shape forms in the center of the rune. A shape of... a man.", \ - "\red You hear liquid flowing.") + usr.visible_message("A shape forms in the center of the rune. A shape of... a man.", \ + "A shape forms in the center of the rune. A shape of... a man.", \ + "You hear liquid flowing.") D.real_name = "Unknown" var/chose_name = 0 for(var/obj/item/weapon/paper/P in this_rune.loc) @@ -461,9 +469,9 @@ var/list/sacrificed = list() user.take_organ_damage(1, 0) sleep(30) if(D) - D.visible_message("\red [D] slowly dissipates into dust and bones.", \ - "\red You feel pain, as bonds formed between your soul and this homunculus break.", \ - "\red You hear faint rustle.") + D.visible_message("[D] slowly dissipates into dust and bones.", \ + "You feel pain, as bonds formed between your soul and this homunculus break.", \ + "You hear faint rustle.") D.dust() return @@ -484,7 +492,7 @@ var/list/sacrificed = list() unsuitable_newtalisman = 1 if (!newtalisman) if (unsuitable_newtalisman) - usr << "\red The blank is tainted. It is unsuitable." + usr << "The blank is tainted. It is unsuitable." return fizzle() var/obj/effect/rune/imbued_from @@ -545,7 +553,7 @@ var/list/sacrificed = list() break if (imbued_from) for (var/mob/V in viewers(src)) - V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3) + V.show_message("The runes turn into dust, which then forms into an arcane image on the paper.", 3) usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!") qdel(imbued_from) qdel(newtalisman) @@ -560,9 +568,9 @@ var/list/sacrificed = list() user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") user.take_overall_damage(200, 0) runedec+=10 - user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ - "\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ - "\red You hear faint rustle.") + user.visible_message("[user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ + "In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ + "You hear faint rustle.") for(,user.stat==2) sleep(600) if (!user) @@ -595,7 +603,7 @@ var/list/sacrificed = list() log_and_message_admins("used a communicate rune to say '[input]'") for(var/datum/mind/H in cult.current_antagonists) if (H.current) - H.current << "\red \b [input]" + H.current << "[input]" qdel(src) return 1 @@ -639,44 +647,44 @@ var/list/sacrificed = list() H.dust()//To prevent the MMI from remaining else H.gib() - usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." + usr << "The Geometer of Blood accepts this sacrifice, your objective is now complete." else - usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." + usr << "Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." else if(cultsinrange.len >= 3) if(H.stat !=2) if(prob(80) || worth) - usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice." + usr << "The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice." cult.grant_runeword(usr) else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, this soul was not enough to gain His favor." + usr << "The Geometer of Blood accepts this sacrifice." + usr << "However, this soul was not enough to gain His favor." if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(prob(40) || worth) - usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice." + usr << "The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice." cult.grant_runeword(usr) else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." + usr << "The Geometer of Blood accepts this sacrifice." + usr << "However, a mere dead body is not enough to satisfy Him." if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(H.stat !=2) - usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." + usr << "The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." else if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." + usr << "The Geometer of Blood accepts this sacrifice." cult.grant_runeword(usr) else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." + usr << "The Geometer of Blood accepts this sacrifice." + usr << "However, a mere dead body is not enough to satisfy Him." if(isrobot(H)) H.dust()//To prevent the MMI from remaining else @@ -685,36 +693,36 @@ var/list/sacrificed = list() if(cultsinrange.len >= 3) if(H.stat !=2) if(prob(80)) - usr << "\red The Geometer of Blood accepts this sacrifice." + usr << "The Geometer of Blood accepts this sacrifice." cult.grant_runeword(usr) else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, this soul was not enough to gain His favor." + usr << "The Geometer of Blood accepts this sacrifice." + usr << "However, this soul was not enough to gain His favor." if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." + usr << "The Geometer of Blood accepts this sacrifice." cult.grant_runeword(usr) else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." + usr << "The Geometer of Blood accepts this sacrifice." + usr << "However, a mere dead body is not enough to satisfy Him." if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(H.stat !=2) - usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." + usr << "The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." else if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." + usr << "The Geometer of Blood accepts this sacrifice." cult.grant_runeword(usr) else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." + usr << "The Geometer of Blood accepts this sacrifice." + usr << "However, a mere dead body is not enough to satisfy Him." if(isrobot(H)) H.dust()//To prevent the MMI from remaining else @@ -742,20 +750,20 @@ var/list/sacrificed = list() S=1 if(S) if(istype(W,/obj/item/weapon/nullrod)) - usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!" + usr << "Arcane markings suddenly glow from underneath a thin layer of dust!" return if(istype(W,/obj/effect/rune)) usr.say("Nikt[pick("'","`")]o barada kla'atu!") for (var/mob/V in viewers(src)) - V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3) + V.show_message("The rune turns into red dust, reveaing the surrounding runes.", 3) qdel(src) return if(istype(W,/obj/item/weapon/paper/talisman)) usr.whisper("Nikt[pick("'","`")]o barada kla'atu!") - usr << "\red Your talisman turns into red dust, revealing the surrounding runes." + usr << "Your talisman turns into red dust, revealing the surrounding runes." for (var/mob/V in orange(1,usr.loc)) if(V!=usr) - V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3) + V.show_message("Red dust emanates from [usr]'s hands for a moment.", 3) return return if(istype(W,/obj/effect/rune)) @@ -772,9 +780,9 @@ var/list/sacrificed = list() var/mob/living/user = usr user.take_organ_damage(2, 0) if(src.density) - usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens." + usr << "Your blood flows into the rune, and you feel that the very space over the rune thickens." else - usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space." + usr << "Your blood flows into the rune, and you feel as the rune releases its grasp on space." return /////////////////////////////////////////EIGHTTEENTH RUNE @@ -803,7 +811,7 @@ var/list/sacrificed = list() (istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \ (istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \ )) - user << "\red The [cultist] is already free." + user << "The [cultist] is already free." return cultist.buckled = null if (cultist.handcuffed) @@ -843,7 +851,7 @@ var/list/sacrificed = list() if (cultist == user) //just to be sure. return if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) - user << "\red You cannot summon \the [cultist], for his shackles of blood are strong." + user << "You cannot summon \the [cultist], for his shackles of blood are strong." return fizzle() cultist.loc = src.loc cultist.lying = 1 @@ -858,9 +866,9 @@ var/list/sacrificed = list() if(users.len <= 4) // You did the minimum, this is going to hurt more and we're going to stun you. C.apply_effect(rand(3,6), STUN) C.apply_effect(1, WEAKEN) - user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ - "\red You hear a pop and smell ozone.") + user.visible_message("Rune disappears with a flash of red light, and in its place now a body lies.", \ + "You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ + "You hear a pop and smell ozone.") qdel(src) return fizzle() @@ -876,13 +884,13 @@ var/list/sacrificed = list() if(N) continue C.ear_deaf += 50 - C.show_message("\red The world around you suddenly becomes quiet.", 3) + C.show_message("The world around you suddenly becomes quiet.", 3) affected += C if(prob(1)) C.sdisabilities |= DEAF if(affected.len) usr.say("Sti[pick("'","`")] kaliedir!") - usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust." + usr << "The world becomes quiet as the deafening rune dissipates into fine dust." admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on") qdel(src) else @@ -897,15 +905,15 @@ var/list/sacrificed = list() continue C.ear_deaf += 30 //talismans is weaker. - C.show_message("\red The world around you suddenly becomes quiet.", 3) + C.show_message("The world around you suddenly becomes quiet.", 3) affected += C if(affected.len) usr.whisper("Sti[pick("'","`")] kaliedir!") - usr << "\red Your talisman turns into gray dust, deafening everyone around." + usr << "Your talisman turns into gray dust, deafening everyone around." admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on") for (var/mob/V in orange(1,src)) if(!(iscultist(V))) - V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) + V.show_message("Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) return blind() @@ -923,11 +931,11 @@ var/list/sacrificed = list() C.disabilities |= NEARSIGHTED if(prob(10)) C.sdisabilities |= BLIND - C.show_message("\red Suddenly you see red flash that blinds you.", 3) + C.show_message("Suddenly you see a red flash that blinds you.", 3) affected += C if(affected.len) usr.say("Sti[pick("'","`")] kaliesin!") - usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." + usr << "The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on") qdel(src) else @@ -944,10 +952,10 @@ var/list/sacrificed = list() C.eye_blind += 10 //talismans is weaker. affected += C - C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) + C.show_message("You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) if(affected.len) usr.whisper("Sti[pick("'","`")] kaliesin!") - usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." + usr << "Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on") return @@ -973,7 +981,7 @@ var/list/sacrificed = list() if(N) continue M.take_overall_damage(51,51) - M << "\red Your blood boils!" + M << "Your blood boils!" victims += M if(prob(5)) spawn(5) @@ -1005,16 +1013,16 @@ var/list/sacrificed = list() for(var/mob/living/M in orange(2,R)) M.take_overall_damage(0,15) if (R.invisibility>M.see_invisible) - M << "\red Aargh it burns!" + M << "Aargh it burns!" else - M << "\red Rune suddenly ignites, burning you!" + M << "Rune suddenly ignites, burning you!" var/turf/T = get_turf(R) T.hotspot_expose(700,125) for(var/obj/effect/decal/cleanable/blood/B in world) if(B.blood_DNA == src.blood_DNA) for(var/mob/living/M in orange(1,B)) M.take_overall_damage(0,5) - M << "\red Blood suddenly ignites, burning you!" + M << "Blood suddenly ignites, burning you!" var/turf/T = get_turf(B) T.hotspot_expose(700,125) qdel(B) @@ -1033,13 +1041,13 @@ var/list/sacrificed = list() C.stuttering = 1 C.Weaken(1) C.Stun(1) - C.show_message("\red The rune explodes in a bright flash.", 3) + C.show_message("The rune explodes in a bright flash.", 3) admin_attack_log(usr, C, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on") else if(issilicon(L)) var/mob/living/silicon/S = L S.Weaken(5) - S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3) + S.show_message("BZZZT... The rune has exploded in a bright flash.", 3) admin_attack_log(usr, S, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on") qdel(src) else ///When invoked as talisman, stun and mute the target mob. @@ -1047,10 +1055,10 @@ var/list/sacrificed = list() var/obj/item/weapon/nullrod/N = locate() in T if(N) for(var/mob/O in viewers(T, null)) - O.show_message(text("\red [] invokes a talisman at [], but they are unaffected!", usr, T), 1) + O.show_message(text("[] invokes a talisman at [], but they are unaffected!", usr, T), 1) else for(var/mob/O in viewers(T, null)) - O.show_message(text("\red [] invokes a talisman at []", usr, T), 1) + O.show_message(text("[] invokes a talisman at []", usr, T), 1) if(issilicon(T)) T.Weaken(15) @@ -1073,8 +1081,8 @@ var/list/sacrificed = list() usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") else usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") - usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") + usr.visible_message("The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ + "You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) From fb6ab23189e730fe1e58a1ab49ca54c5835c744a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 10 Aug 2015 17:44:52 +0200 Subject: [PATCH 338/392] Makes the new initialization message use the proper method. --- code/controllers/master_controller.dm | 4 ++-- code/game/area/areas.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 667f6ced0d..b0f6c5099b 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -49,8 +49,8 @@ datum/controller/game_controller/proc/setup_objects() sleep(-1) for(var/atom/movable/object in world) object.initialize() - - world << "Initializing areas", R_DEBUG) sleep(-1) for(var/area/area in all_areas) area.initialize() diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6c064cdb1b..19746eeef7 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -21,7 +21,7 @@ ..() /area/proc/initialize() - if(!requires_power || !apc)) + if(!requires_power || !apc) power_light = 0 power_equip = 0 power_environ = 0 From 2f4c71ddbc7f9ca4b6adea5a6887819c9c18a94b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 10 Aug 2015 17:58:28 +0200 Subject: [PATCH 339/392] Renames definition and compilation fix. --- code/modules/clothing/clothing.dm | 3 ++- code/modules/mob/living/silicon/robot/custom_sprites.dm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 76f6dcc799..4fa4063554 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -387,6 +387,7 @@ BLIND // can't see anything var/worn_state = null /obj/item/clothing/under/New() + ..() if(worn_state) if(!item_state_slots) item_state_slots = list() @@ -397,9 +398,9 @@ BLIND // can't see anything //autodetect rollability if(rolled_down < 0) if((worn_state + "_d_s") in icon_states('icons/mob/uniform.dmi')) + rolled_down = 0 /obj/item/clothing/under/proc/update_rolldown_status() - var/mob/living/carbon/human/H if(istype(src.loc, /mob/living/carbon/human)) H = src.loc diff --git a/code/modules/mob/living/silicon/robot/custom_sprites.dm b/code/modules/mob/living/silicon/robot/custom_sprites.dm index 360308ccec..c3632cd62e 100644 --- a/code/modules/mob/living/silicon/robot/custom_sprites.dm +++ b/code/modules/mob/living/silicon/robot/custom_sprites.dm @@ -25,6 +25,6 @@ var/list/robot_custom_icons var/rname = robot_custom_icons[ckey] if(rname && rname == real_name) custom_sprite = 1 - icon = CUSTOM_ITEM_ROBOT + icon = CUSTOM_ITEM_SYNTH if(icon_state == "robot") icon_state = "[ckey]-Standard" From 3d03842f8a9feb1883e8fbe5a9936937b5ec0d90 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 10 Aug 2015 18:10:53 +0200 Subject: [PATCH 340/392] Adds missing closing quote. --- code/controllers/master_controller.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index e1686b4502..5263e1af79 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -49,7 +49,7 @@ datum/controller/game_controller/proc/setup_objects() for(var/atom/movable/object in world) object.initialize() - admin_notice("Initializing areas", R_DEBUG) sleep(-1) for(var/area/area in all_areas) area.initialize() From ad54aca3ab4ccfee962dd5b76d56e2a731b5b064 Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Mon, 10 Aug 2015 14:31:55 -0400 Subject: [PATCH 341/392] Streamlines gun firemodes Gun firemodes now work by setting vars on the parent gun item. Removes the need to unpack a bunch of firemode values when shooting and the need for certain guns to define special firemode types. --- code/modules/projectiles/gun.dm | 83 +++++++++---------- code/modules/projectiles/guns/energy.dm | 18 +--- code/modules/projectiles/guns/energy/pulse.dm | 4 +- .../projectiles/guns/projectile/automatic.dm | 34 ++++---- 4 files changed, 58 insertions(+), 81 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 14e70bcfa4..de059fe3fc 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1,32 +1,28 @@ /* Defines a firing mode for a gun. - burst number of shots fired when the gun is used - burst_delay tick delay between shots in a burst - fire_delay tick delay after the last shot before the gun may be used again - move_delay tick delay after the last shot before the player may move - dispersion dispersion of each shot in the burst measured in tiles per 7 tiles angle ratio - accuracy accuracy modifier applied to each shot in tiles. - applied on top of the base weapon accuracy. + A firemode is created from a list of fire mode settings. Each setting modifies the value of the gun var with the same name. + If the fire mode value for a setting is null, it will be replaced with the initial value of that gun's variable when the firemode is created. + Obviously not compatible with variables that take a null value. If a setting is not present, then the corresponding var will not be modified. */ /datum/firemode var/name = "default" - var/burst = 1 - var/burst_delay = null - var/fire_delay = null - var/move_delay = 1 - var/list/accuracy = list(0) - var/list/dispersion = list(0) + var/list/settings = list() -//using a list makes defining fire modes for new guns much nicer, -//however we convert the lists to datums in part so that firemodes can be VVed if necessary. -/datum/firemode/New(list/properties = null) +/datum/firemode/New(obj/item/weapon/gun/gun, list/properties = null) ..() if(!properties) return - for(var/propname in vars) - if(!isnull(properties[propname])) - src.vars[propname] = properties[propname] + for(var/propname in properties) + var/propvalue = properties[propname] + if(isnull(propvalue)) + settings[propname] = gun.vars[propname] //better than initial() as it handles list vars like burst_accuracy + else + settings[propname] = propvalue + +/datum/firemode/proc/apply_to(obj/item/weapon/gun/gun) + for(var/propname in settings) + gun.vars[propname] = settings[propname] //Parent gun type. Guns are weapons that can be aimed at mobs and act over a distance /obj/item/weapon/gun @@ -51,8 +47,10 @@ attack_verb = list("struck", "hit", "bashed") zoomdevicename = "scope" + var/burst = 1 var/fire_delay = 6 //delay after shooting before the gun can be used again var/burst_delay = 2 //delay between shots, if firing in bursts + var/move_delay = 1 var/fire_sound = 'sound/weapons/Gunshot.ogg' var/fire_sound_text = "gunshot" var/recoil = 0 //screen shake @@ -60,12 +58,13 @@ var/muzzle_flash = 3 var/accuracy = 0 //accuracy is measured in tiles. +1 accuracy means that everything is effectively one tile closer for the purpose of miss chance, -1 means the opposite. launchers are not supported, at the moment. var/scoped_accuracy = null + var/list/burst_accuracy = list(0) //allows for different accuracies for each shot in a burst. Applied on top of accuracy + var/list/dispersion = list(0) var/next_fire_time = 0 var/sel_mode = 1 //index of the currently selected mode var/list/firemodes = list() - var/firemode_type = /datum/firemode //for subtypes that need custom firemode data //aiming system stuff var/keep_aim = 1 //1 for keep shooting until aim is lowered @@ -78,11 +77,8 @@ /obj/item/weapon/gun/New() ..() - if(!firemodes.len) - firemodes += new firemode_type - else - for(var/i in 1 to firemodes.len) - firemodes[i] = new firemode_type(firemodes[i]) + for(var/i in 1 to firemodes.len) + firemodes[i] = new /datum/firemode(src, firemodes[i]) if(isnull(scoped_accuracy)) scoped_accuracy = accuracy @@ -156,28 +152,21 @@ user << "[src] is not ready to fire again!" return - //unpack firemode data - var/datum/firemode/firemode = firemodes[sel_mode] - var/_burst = firemode.burst - var/_burst_delay = isnull(firemode.burst_delay)? src.burst_delay : firemode.burst_delay - var/_fire_delay = isnull(firemode.fire_delay)? src.fire_delay : firemode.fire_delay - var/_move_delay = firemode.move_delay - - var/shoot_time = (_burst - 1)*_burst_delay + var/shoot_time = (burst - 1)* burst_delay user.next_move = world.time + shoot_time //no clicking on things while shooting if(user.client) user.client.move_delay = world.time + shoot_time //no moving while shooting either next_fire_time = world.time + shoot_time //actually attempt to shoot var/turf/targloc = get_turf(target) //cache this in case target gets deleted during shooting, e.g. if it was a securitron that got destroyed. - for(var/i in 1 to _burst) + for(var/i in 1 to burst) var/obj/projectile = consume_next_projectile(user) if(!projectile) handle_click_empty(user) break - var/acc = firemode.accuracy[min(i, firemode.accuracy.len)] - var/disp = firemode.dispersion[min(i, firemode.dispersion.len)] + var/acc = burst_accuracy[min(i, burst_accuracy.len)] + var/disp = dispersion[min(i, dispersion.len)] process_accuracy(projectile, user, target, acc, disp) if(pointblank) @@ -187,8 +176,8 @@ handle_post_fire(user, target, pointblank, reflex) update_icon() - if(i < _burst) - sleep(_burst_delay) + if(i < burst) + sleep(burst_delay) if(!(target && target.loc)) target = targloc @@ -198,8 +187,8 @@ //update timing user.next_move = world.time + 4 - if(user.client) user.client.move_delay = world.time + _move_delay - next_fire_time = world.time + _fire_delay + if(user.client) user.client.move_delay = world.time + move_delay + next_fire_time = world.time + fire_delay if(muzzle_flash) set_light(0) @@ -379,14 +368,20 @@ var/datum/firemode/current_mode = firemodes[sel_mode] user << "The fire selector is set to [current_mode.name]." -/obj/item/weapon/gun/proc/switch_firemodes(mob/user=null) +/obj/item/weapon/gun/proc/switch_firemodes() + if(firemodes.len <= 1) + return null + sel_mode++ if(sel_mode > firemodes.len) sel_mode = 1 var/datum/firemode/new_mode = firemodes[sel_mode] - user << "\The [src] is now set to [new_mode.name]." + new_mode.apply_to(src) + + return new_mode /obj/item/weapon/gun/attack_self(mob/user) - if(firemodes.len > 1) - switch_firemodes(user) + var/datum/firemode/new_mode = switch_firemodes(user) + if(new_mode) + user << "\The [src] is now set to [new_mode.name]." diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 05b4fd3de3..532ba47134 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -1,16 +1,9 @@ -/datum/firemode/energy - var/projectile_type = null - var/modifystate = null - var/charge_cost = null - var/fire_sound = null - /obj/item/weapon/gun/energy name = "energy gun" desc = "A basic energy-based gun." icon_state = "energy" fire_sound = 'sound/weapons/Taser.ogg' fire_sound_text = "laser blast" - firemode_type = /datum/firemode/energy var/obj/item/weapon/cell/power_supply //What type of power cell this uses var/charge_cost = 200 //How much energy is needed to fire. @@ -26,15 +19,8 @@ var/recharge_time = 4 var/charge_tick = 0 -/obj/item/weapon/gun/energy/switch_firemodes(mob/user=null) - ..() - var/datum/firemode/energy/current_mode = firemodes[sel_mode] - if(istype(current_mode)) - projectile_type = isnull(current_mode.projectile_type)? initial(projectile_type) : current_mode.projectile_type - modifystate = isnull(current_mode.modifystate)? initial(modifystate) : current_mode.modifystate - charge_cost = isnull(current_mode.charge_cost)? initial(charge_cost) : current_mode.charge_cost - fire_sound = isnull(current_mode.fire_sound)? initial(fire_sound) : current_mode.fire_sound - +/obj/item/weapon/gun/energy/switch_firemodes() + if(..()) update_icon() /obj/item/weapon/gun/energy/emp_act(severity) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 507bc22735..2af6758e0a 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -11,8 +11,8 @@ max_shots = 10 firemodes = list( - list(name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'), - list(name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'), + list(name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg', fire_delay=null, charge_cost=null), + list(name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg', fire_delay=null, charge_cost=null), list(name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=25, charge_cost=400), ) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 1fd6a6bb0c..c8185097ed 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -10,11 +10,12 @@ slot_flags = SLOT_BELT ammo_type = /obj/item/ammo_casing/c9mm multi_aim = 1 + burst_delay = 2 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0), - list(name="3-round bursts", burst=3, move_delay=4, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 1.0)), - list(name="short bursts", burst=5, move_delay=4, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)), + list(name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), + list(name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), + list(name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/mini_uzi @@ -66,9 +67,9 @@ magazine_type = /obj/item/ammo_magazine/c762 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0), - list(name="3-round bursts", burst=3, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 0.6)), - list(name="short bursts", burst=5, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)), + list(name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), + list(name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2), dispersion=list(0.0, 0.6, 0.6)), + list(name="short bursts", burst=5, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2,-2,-3), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/sts35/update_icon() @@ -98,9 +99,6 @@ icon_state = "wt550" return -/datum/firemode/z8 - var/use_launcher = 0 - /obj/item/weapon/gun/projectile/automatic/z8 name = "\improper Z8 Bulldog" desc = "An older model bullpup carbine, made by the now defunct Zendai Foundries. Uses armor piercing 5.56mm rounds. Makes you feel like a space marine when you hold it." @@ -119,13 +117,13 @@ auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' burst_delay = 4 - firemode_type = /datum/firemode/z8 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0), - list(name="3-round bursts", burst=3, move_delay=6, accuracy = list(0,-1,-1), dispersion = list(0.0, 0.6, 0.6)), - list(name="fire grenades", use_launcher=1) + list(name="semiauto", burst=1, fire_delay=0, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null), + list(name="3-round bursts", burst=3, fire_delay=null, move_delay=6, use_launcher=null, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 0.6)), + list(name="fire grenades", burst=null, fire_delay=null, move_delay=null, use_launcher=1, burst_accuracy=null, dispersion=null) ) + var/use_launcher = 0 var/obj/item/weapon/gun/launcher/grenade/underslung/launcher /obj/item/weapon/gun/projectile/automatic/z8/New() @@ -139,15 +137,13 @@ ..() /obj/item/weapon/gun/projectile/automatic/z8/attack_hand(mob/user) - var/datum/firemode/z8/current_mode = firemodes[sel_mode] - if(user.get_inactive_hand() == src && current_mode.use_launcher) + if(user.get_inactive_hand() == src && use_launcher) launcher.unload(user) else ..() /obj/item/weapon/gun/projectile/automatic/z8/Fire(atom/target, mob/living/user, params, pointblank=0, reflex=0) - var/datum/firemode/z8/current_mode = firemodes[sel_mode] - if(current_mode.use_launcher) + if(use_launcher) launcher.Fire(target, user, params, pointblank, reflex) if(!launcher.chambered) switch_firemodes() //switch back automatically @@ -187,8 +183,8 @@ magazine_type = /obj/item/ammo_magazine/a762 firemodes = list( - list(name="short bursts", burst=5, move_delay=6, accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)), - list(name="long bursts", burst=8, move_delay=8, accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(1.0, 1.0, 1.0, 1.0, 1.2)), + list(name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)), + list(name="long bursts", burst=8, move_delay=8, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(1.0, 1.0, 1.0, 1.0, 1.2)), ) var/cover_open = 0 From d3dbf3c199972e3c6b2d7a19c9029451f127a9d7 Mon Sep 17 00:00:00 2001 From: Atlantis Date: Mon, 10 Aug 2015 21:39:35 +0200 Subject: [PATCH 342/392] Adjusts names of two areas - Messaging Server Room -> Research Server Room - That's the server room near toxins storage/misc. research. It has absolutely nothing to do with messaging, as it houses Research's servers only. - AI Server Room -> Messaging Server Room - That's the actual server room that houses messaging server in central section of the station. --- code/game/area/Space Station 13 areas.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 55cfeaccfb..2a7799751e 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -914,7 +914,7 @@ area/space/atmosalert() icon_state = "tcomsatcham" /area/server - name = "\improper Messaging Server Room" + name = "\improper Research Server Room" icon_state = "server" //Crew @@ -1826,7 +1826,7 @@ area/space/atmosalert() ambience = list('sound/ambience/ambimalf.ogg') /area/turret_protected/ai_server_room - name = "AI Server Room" + name = "Messaging Server Room" icon_state = "ai_server" /area/turret_protected/ai From 7297535750e8f8a7334e5ee1f123d51e02e3e744 Mon Sep 17 00:00:00 2001 From: Atlantis Date: Mon, 10 Aug 2015 22:39:22 +0200 Subject: [PATCH 343/392] Fixes mistake in turret code - Turrets no longer freeze any EMP that hits them for 6-60 seconds. --- code/game/machinery/portable_turret.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 8c04da619b..12148aa6a9 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -388,9 +388,9 @@ emagged = 1 on=0 - sleep(rand(60,600)) - if(!on) - on=1 + spawn(rand(60,600)) + if(!on) + on=1 ..() From 40cb786986479dc23815c80be4b8ff8f2bca0e01 Mon Sep 17 00:00:00 2001 From: Atlantis Date: Mon, 10 Aug 2015 22:58:33 +0200 Subject: [PATCH 344/392] Adds EMP monitoring for future EMP debugging - Adds possibility to enable EMP debugging, that monitors how long emp_act() took on object. If it took too long (configurable) it generates a message. It is disabled by default due to possible performance loss with large EMPs. --- code/game/objects/empulse.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index 8bff463e44..cc7f782234 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -1,3 +1,9 @@ +// Uncomment this define to check for possible lengthy processing of emp_act()s. +// If emp_act() takes more than defined deciseconds (1/10 seconds) an admin message and log is created. +// I do not recommend having this uncommented on main server, it probably causes a bit more lag, espicially with larger EMPs. + +// #define EMPDEBUG 10 + proc/empulse(turf/epicenter, heavy_range, light_range, log=0) if(!epicenter) return @@ -24,6 +30,9 @@ proc/empulse(turf/epicenter, heavy_range, light_range, log=0) M << 'sound/effects/EMPulse.ogg' for(var/atom/T in range(light_range, epicenter)) + #ifdef EMPDEBUG + var/time = world.timeofday + #endif var/distance = get_dist(epicenter, T) if(distance < 0) distance = 0 @@ -36,4 +45,8 @@ proc/empulse(turf/epicenter, heavy_range, light_range, log=0) T.emp_act(2) else if(distance <= light_range) T.emp_act(2) + #ifdef EMPDEBUG + if((world.timeofday - time) >= EMPDEBUG) + log_and_message_admins("EMPDEBUG: [T.name] - [T.type] - took [world.timeofday - time]ds to process emp_act()!") + #endif return 1 \ No newline at end of file From dd79e0f481b13f312711345058b27699530910cf Mon Sep 17 00:00:00 2001 From: Atlantis Date: Mon, 10 Aug 2015 23:04:37 +0200 Subject: [PATCH 345/392] Fixes lengthy emp_act() for turret controllers and doors. - Turret controllers were the same as turrets. Now completely fixes #10446 - Doors also had 10ds sleep() in them, hidden under small probability roll. Fixed. --- code/game/machinery/doors/door.dm | 3 ++- code/game/machinery/turret_control.dm | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 8c8f3cd964..4abb68486b 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -320,7 +320,8 @@ /obj/machinery/door/emp_act(severity) if(prob(20/severity) && (istype(src,/obj/machinery/door/airlock) || istype(src,/obj/machinery/door/window)) ) - open() + spawn(0) + open() if(prob(40/severity)) if(secondsElectrified == 0) secondsElectrified = -1 diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 41a98103be..87021ba695 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -245,9 +245,9 @@ enabled=0 updateTurrets() - sleep(rand(60,600)) - if(!enabled) - enabled=1 - updateTurrets() + spawn(rand(60,600)) + if(!enabled) + enabled=1 + updateTurrets() ..() From 53affb4e44634eb19b86731c5fd231134a77c96b Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Tue, 14 Jul 2015 17:14:55 -0400 Subject: [PATCH 346/392] Projectile cleanup Moves projectile trajectory related setup into setup_trajectory(), removes redundant target var on test projectiles. --- code/modules/projectiles/projectile.dm | 59 +++++++++++++------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 6d8c40c16c..a8b7aa4441 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -26,7 +26,7 @@ var/xo = null var/current = null var/obj/shot_from = null // the object which shot us - var/atom/original = null // the original target clicked + var/atom/original = null // the target clicked (not necessarily where the projectile is headed). Should probably be renamed to 'target' or something. var/turf/starting = null // the projectile's starting turf var/list/permutated = list() // we've passed through these atoms, don't try to hit them again @@ -133,30 +133,25 @@ original = target loc = curloc - starting = curloc - current = curloc - yo = targloc.y - curloc.y + y_offset - xo = targloc.x - curloc.x + x_offset shot_from = launcher silenced = launcher.silenced spawn() + setup_trajectory(curloc, targloc, x_offset, y_offset) //plot the initial trajectory process() return 0 //Used to change the direction of the projectile in flight. /obj/item/projectile/proc/redirect(var/new_x, var/new_y, var/atom/starting_loc, var/mob/new_firer=null) - original = locate(new_x, new_y, src.z) - starting = starting_loc - current = starting_loc + var/turf/new_target = locate(new_x, new_y, src.z) + + original = new_target if(new_firer) firer = src - yo = new_y - starting_loc.y - xo = new_x - starting_loc.x - setup_trajectory() + setup_trajectory(starting_loc, new_target) //Called when the projectile intercepts a mob. Returns 1 if the projectile hit the mob, 0 if it missed and should keep flying. /obj/item/projectile/proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier=0) @@ -275,9 +270,6 @@ /obj/item/projectile/process() var/first_step = 1 - //plot the initial trajectory - setup_trajectory() - spawn while(src && src.loc) if(kill_count-- < 1) on_impact(src.loc) //for any final impact behaviours @@ -320,7 +312,13 @@ /obj/item/projectile/proc/before_move() return -/obj/item/projectile/proc/setup_trajectory() +/obj/item/projectile/proc/setup_trajectory(turf/startloc, turf/targloc, var/x_offset = 0, var/y_offset = 0) + // setup projectile state + starting = startloc + current = startloc + yo = targloc.y - curloc.y + y_offset + xo = targloc.x - curloc.x + x_offset + // trajectory dispersion var/offset = 0 if(dispersion) @@ -379,9 +377,12 @@ invisibility = 101 //Nope! Can't see me! yo = null xo = null - var/target = null var/result = 0 //To pass the message back to the gun. +/obj/item/projectile/test/New(var/newloc, atom/target) + ..(newloc) + original = target + /obj/item/projectile/test/Bump(atom/A as mob|obj|turf|area) if(A == firer) loc = A.loc @@ -396,23 +397,18 @@ /obj/item/projectile/test/process() var/turf/curloc = get_turf(src) - var/turf/targloc = get_turf(target) + var/turf/targloc = get_turf(original) if(!curloc || !targloc) return 0 - yo = targloc.y - curloc.y - xo = targloc.x - curloc.x - target = targloc - original = target - starting = curloc //plot the initial trajectory - setup_trajectory() + setup_trajectory(curloc, targloc) while(src) //Loop on through! if(result) return (result - 1) - if((!( target ) || loc == target)) - target = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) //Finding the target turf at map edge + if((!( targloc ) || loc == targloc)) + targloc = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) //Finding the target turf at map edge trajectory.increment() // increment the current location location = trajectory.return_location(location) // update the locally stored location data @@ -423,18 +419,21 @@ if(istype(M)) //If there is someting living... return 1 //Return 1 else - M = locate() in get_step(src,target) + M = locate() in get_step(src,targloc) if(istype(M)) return 1 /proc/check_trajectory(atom/target as mob|obj, atom/firer as mob|obj, var/pass_flags=PASSTABLE|PASSGLASS|PASSGRILLE, flags=null) //Checks if you can hit them or not. if(!istype(target) || !istype(firer)) return 0 - var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_turf(firer)) //Making the test.... - trace.target = target + + var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_turf(firer), target) //Making the test.... + + //Set the flags and pass flags to that of the real projectile... if(!isnull(flags)) - trace.flags = flags //Set the flags... - trace.pass_flags = pass_flags //And the pass flags to that of the real projectile... + trace.flags = flags + trace.pass_flags = pass_flags + var/output = trace.process() //Test it! qdel(trace) //No need for it anymore return output //Send it back to the gun! From 8cbd14c1a5c5a786094009281986c70435d37c1f Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Tue, 14 Jul 2015 17:49:50 -0400 Subject: [PATCH 347/392] Splits up projectile/launch() --- code/modules/projectiles/gun.dm | 2 +- code/modules/projectiles/projectile.dm | 60 ++++++++++++++------------ 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 14e70bcfa4..235c759acd 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -311,7 +311,7 @@ y_offset = rand(-1,1) x_offset = rand(-1,1) - return !P.launch(target, user, src, target_zone, x_offset, y_offset) + return !P.launch_from_gun(target, user, src, target_zone, x_offset, y_offset) //Suicide handling. /obj/item/weapon/gun/var/mouthshoot = 0 //To stop people from suiciding twice... >.> diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a8b7aa4441..b9ba2ba0df 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -110,21 +110,13 @@ p_x = between(0, p_x + rand(-radius, radius), world.icon_size) p_y = between(0, p_y + rand(-radius, radius), world.icon_size) -//called to launch a projectile from a gun -/obj/item/projectile/proc/launch(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0) - var/turf/curloc = get_turf(user) +//called to launch a projectile +/obj/item/projectile/proc/launch(atom/target, var/target_zone, var/x_offset=0, var/y_offset=0) + var/turf/curloc = get_turf(src) var/turf/targloc = get_turf(target) if (!istype(targloc) || !istype(curloc)) return 1 - firer = user - def_zone = target_zone - - if(user == target) //Shooting yourself - user.bullet_act(src, target_zone) - on_impact(user) - qdel(src) - return 0 if(targloc == curloc) //Shooting something in the same turf target.bullet_act(src, target_zone) on_impact(target) @@ -132,10 +124,7 @@ return 0 original = target - loc = curloc - - shot_from = launcher - silenced = launcher.silenced + def_zone = target_zone spawn() setup_trajectory(curloc, targloc, x_offset, y_offset) //plot the initial trajectory @@ -143,6 +132,22 @@ return 0 +//called to launch a projectile from a gun +/obj/item/projectile/proc/launch_from_gun(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0) + if(user == target) //Shooting yourself + user.bullet_act(src, target_zone) + on_impact(user) + qdel(src) + return 0 + + loc = get_turf(user) //move the projectile out into the world + + firer = user + shot_from = launcher + silenced = launcher.silenced + + return launch(target, target_zone, x_offset, y_offset) + //Used to change the direction of the projectile in flight. /obj/item/projectile/proc/redirect(var/new_x, var/new_y, var/atom/starting_loc, var/mob/new_firer=null) var/turf/new_target = locate(new_x, new_y, src.z) @@ -316,8 +321,8 @@ // setup projectile state starting = startloc current = startloc - yo = targloc.y - curloc.y + y_offset - xo = targloc.x - curloc.x + x_offset + yo = targloc.y - startloc.y + y_offset + xo = targloc.x - startloc.x + x_offset // trajectory dispersion var/offset = 0 @@ -379,10 +384,6 @@ xo = null var/result = 0 //To pass the message back to the gun. -/obj/item/projectile/test/New(var/newloc, atom/target) - ..(newloc) - original = target - /obj/item/projectile/test/Bump(atom/A as mob|obj|turf|area) if(A == firer) loc = A.loc @@ -395,15 +396,19 @@ result = 1 return -/obj/item/projectile/test/process() +/obj/item/projectile/test/launch(atom/target) var/turf/curloc = get_turf(src) - var/turf/targloc = get_turf(original) + var/turf/targloc = get_turf(target) if(!curloc || !targloc) return 0 - + + original = target + //plot the initial trajectory setup_trajectory(curloc, targloc) + return process(targloc) +/obj/item/projectile/test/process(var/turf/targloc) while(src) //Loop on through! if(result) return (result - 1) @@ -423,17 +428,18 @@ if(istype(M)) return 1 -/proc/check_trajectory(atom/target as mob|obj, atom/firer as mob|obj, var/pass_flags=PASSTABLE|PASSGLASS|PASSGRILLE, flags=null) //Checks if you can hit them or not. +//Helper proc to check if you can hit them or not. +/proc/check_trajectory(atom/target as mob|obj, atom/firer as mob|obj, var/pass_flags=PASSTABLE|PASSGLASS|PASSGRILLE, flags=null) if(!istype(target) || !istype(firer)) return 0 - var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_turf(firer), target) //Making the test.... + var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_turf(firer)) //Making the test.... //Set the flags and pass flags to that of the real projectile... if(!isnull(flags)) trace.flags = flags trace.pass_flags = pass_flags - var/output = trace.process() //Test it! + var/output = trace.launch(target) //Test it! qdel(trace) //No need for it anymore return output //Send it back to the gun! From 1324e69a19dfecdb115feecc738d456d69cab252 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 11 Aug 2015 10:26:22 +0300 Subject: [PATCH 348/392] Fixes #10466 - chem implant can't be loaded What the literal shit. --- code/game/objects/items/weapons/implants/implantcase.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index ea50b92cdf..11124a1acf 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -38,7 +38,7 @@ user << "\red [src] is full." else spawn(5) - I.reagents.trans_to_mob(src.imp, 5) + I.reagents.trans_to_obj(src.imp, 5) user << "\blue You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units." else if (istype(I, /obj/item/weapon/implanter)) var/obj/item/weapon/implanter/M = I From 211a427d6517d8cc274cf0e70dd24d3f7c6fe09b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 09:24:15 +0200 Subject: [PATCH 349/392] Crew monitor balance and lag fixes. Creates a central repository for crew data. This repository only updates data as necessary and only every 5th second, no matter how many times it is requested. Reduces any lag caused by having multiple crew monitor windows open and as a bonus gives antags a larger window of opportunity for disabling sensors before detection of harm. --- baystation12.dme | 1 + code/datums/crew.dm | 74 +++++++++++++++++++++++ code/modules/nano/modules/crew_monitor.dm | 49 +-------------- 3 files changed, 76 insertions(+), 48 deletions(-) create mode 100644 code/datums/crew.dm diff --git a/baystation12.dme b/baystation12.dme index bbe241e371..bcd5c74555 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -126,6 +126,7 @@ #include "code\datums\ai_laws.dm" #include "code\datums\browser.dm" #include "code\datums\computerfiles.dm" +#include "code\datums\crew.dm" #include "code\datums\datacore.dm" #include "code\datums\datumvars.dm" #include "code\datums\disease.dm" diff --git a/code/datums/crew.dm b/code/datums/crew.dm new file mode 100644 index 0000000000..d46a83846f --- /dev/null +++ b/code/datums/crew.dm @@ -0,0 +1,74 @@ +var/global/datum/repository/crew/crew_repository = new() + +/datum/cache_entry + var/timestamp + var/data + +/datum/repository/crew + var/list/cache_data + +/datum/repository/crew/New() + cache_data = list() + ..() + +/datum/repository/crew/proc/health_data(var/turf/T) + var/list/crewmembers = list() + if(!T) + return crewmembers + + var/z_level = "[T.z]" + var/datum/cache_entry/cache_entry = cache_data[z_level] + if(!cache_entry) + cache_entry = new/datum/cache_entry + cache_data[z_level] = cache_entry + + if(world.time < cache_entry.timestamp) + return cache_entry.data + + var/tracked = scan() + for(var/obj/item/clothing/under/C in tracked) + var/turf/pos = get_turf(C) + if((C) && (C.has_sensor) && (pos) && (T && pos.z == T.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) + if(istype(C.loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = C.loc + if(H.w_uniform != C) + continue + + var/list/crewmemberData = list("dead"=0, "oxy"=-1, "tox"=-1, "fire"=-1, "brute"=-1, "area"="", "x"=-1, "y"=-1, "ref" = "\ref[H]") + + crewmemberData["sensor_type"] = C.sensor_mode + crewmemberData["name"] = H.get_authentification_name(if_no_id="Unknown") + crewmemberData["rank"] = H.get_authentification_rank(if_no_id="Unknown", if_no_job="No Job") + crewmemberData["assignment"] = H.get_assignment(if_no_id="Unknown", if_no_job="No Job") + + if(C.sensor_mode >= SUIT_SENSOR_BINARY) + crewmemberData["dead"] = H.stat > UNCONSCIOUS + + if(C.sensor_mode >= SUIT_SENSOR_VITAL) + crewmemberData["oxy"] = round(H.getOxyLoss(), 1) + crewmemberData["tox"] = round(H.getToxLoss(), 1) + crewmemberData["fire"] = round(H.getFireLoss(), 1) + crewmemberData["brute"] = round(H.getBruteLoss(), 1) + + if(C.sensor_mode >= SUIT_SENSOR_TRACKING) + var/area/A = get_area(H) + crewmemberData["area"] = sanitize(A.name) + crewmemberData["x"] = pos.x + crewmemberData["y"] = pos.y + + crewmembers[++crewmembers.len] = crewmemberData + + crewmembers = sortByKey(crewmembers, "name") + cache_entry.timestamp = world.time + 5 SECONDS + cache_entry.data = crewmembers + + return crewmembers + +/datum/repository/crew/proc/scan() + var/list/tracked = list() + for(var/mob/living/carbon/human/H in mob_list) + if(istype(H.w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/C = H.w_uniform + if (C.has_sensor) + tracked |= C + return tracked diff --git a/code/modules/nano/modules/crew_monitor.dm b/code/modules/nano/modules/crew_monitor.dm index 429ccf4a28..b38ac80515 100644 --- a/code/modules/nano/modules/crew_monitor.dm +++ b/code/modules/nano/modules/crew_monitor.dm @@ -1,6 +1,5 @@ /obj/nano_module/crew_monitor name = "Crew monitor" - var/list/tracked = new /obj/nano_module/crew_monitor/Topic(href, href_list) if(..()) return @@ -26,51 +25,11 @@ return 1 /obj/nano_module/crew_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state) - user.set_machine(src) - src.scan() - var/data[0] var/turf/T = get_turf(src) - var/list/crewmembers = list() - for(var/obj/item/clothing/under/C in src.tracked) - - var/turf/pos = get_turf(C) - - if((C) && (C.has_sensor) && (pos) && (T && pos.z == T.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) - if(istype(C.loc, /mob/living/carbon/human)) - - var/mob/living/carbon/human/H = C.loc - if(H.w_uniform != C) - continue - - var/list/crewmemberData = list("dead"=0, "oxy"=-1, "tox"=-1, "fire"=-1, "brute"=-1, "area"="", "x"=-1, "y"=-1, "ref" = "\ref[H]") - - crewmemberData["sensor_type"] = C.sensor_mode - crewmemberData["name"] = H.get_authentification_name(if_no_id="Unknown") - crewmemberData["rank"] = H.get_authentification_rank(if_no_id="Unknown", if_no_job="No Job") - crewmemberData["assignment"] = H.get_assignment(if_no_id="Unknown", if_no_job="No Job") - - if(C.sensor_mode >= SUIT_SENSOR_BINARY) - crewmemberData["dead"] = H.stat > 1 - - if(C.sensor_mode >= SUIT_SENSOR_VITAL) - crewmemberData["oxy"] = round(H.getOxyLoss(), 1) - crewmemberData["tox"] = round(H.getToxLoss(), 1) - crewmemberData["fire"] = round(H.getFireLoss(), 1) - crewmemberData["brute"] = round(H.getBruteLoss(), 1) - - if(C.sensor_mode >= SUIT_SENSOR_TRACKING) - var/area/A = get_area(H) - crewmemberData["area"] = sanitize(A.name) - crewmemberData["x"] = pos.x - crewmemberData["y"] = pos.y - - crewmembers[++crewmembers.len] = crewmemberData - - crewmembers = sortByKey(crewmembers, "name") data["isAI"] = user.isMobAI() - data["crewmembers"] = crewmembers + data["crewmembers"] = crew_repository.health_data(T) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) @@ -87,10 +46,4 @@ // should make the UI auto-update; doesn't seem to? ui.set_auto_update(1) -/obj/nano_module/crew_monitor/proc/scan() - for(var/mob/living/carbon/human/H in mob_list) - if(istype(H.w_uniform, /obj/item/clothing/under)) - var/obj/item/clothing/under/C = H.w_uniform - if (C.has_sensor) - tracked |= C return 1 From 56382e880691bd991178c497d561f679aa4e54d1 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 09:31:43 +0200 Subject: [PATCH 350/392] Changelog entry. --- html/changelogs/PsiOmegaDelta-CrewEfficiency.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-CrewEfficiency.yml diff --git a/html/changelogs/PsiOmegaDelta-CrewEfficiency.yml b/html/changelogs/PsiOmegaDelta-CrewEfficiency.yml new file mode 100644 index 0000000000..ec0daddaa2 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-CrewEfficiency.yml @@ -0,0 +1,4 @@ +author: PsiOmegaDelta +delete-after: True +changes: + - tweak: "Crew monitors now update every 5th second instead of every other. Reduces lag and gives antags a larger window of opportunity to disable suit sensors if they have to harm someone." From f85e9146abbc8fe4c8bcc080dc891bcc9ee288a0 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 12:04:20 +0200 Subject: [PATCH 351/392] Fixes #10468. Fixes #10467. Updates the DNA name as well, upon antag name change. --- code/game/antagonist/antagonist_create.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/antagonist/antagonist_create.dm b/code/game/antagonist/antagonist_create.dm index 502f136683..026b1a556c 100644 --- a/code/game/antagonist/antagonist_create.dm +++ b/code/game/antagonist/antagonist_create.dm @@ -119,6 +119,7 @@ if (newname) player.real_name = newname player.name = player.real_name + player.dna.real_name = newname if(player.mind) player.mind.name = player.name // Update any ID cards. update_access(player) From 8c0984d5b12c9a4965dfdc306ed977ce2babbcc4 Mon Sep 17 00:00:00 2001 From: SomeoneElse Date: Sun, 9 Aug 2015 02:14:54 +0600 Subject: [PATCH 352/392] Fix gender issues, some typos from various files --- code/game/gamemodes/changeling/modularchangling.dm | 2 +- code/game/gamemodes/cult/ritual.dm | 2 +- code/game/gamemodes/cult/runes.dm | 6 +++--- code/game/gamemodes/newobjective.dm | 6 +++--- code/game/gamemodes/wizard/wizard.dm | 2 +- code/game/machinery/Sleeper.dm | 2 +- code/game/objects/items/devices/radio/headset.dm | 2 +- code/game/objects/items/weapons/melee/energy.dm | 9 +++++---- code/modules/admin/verbs/debug.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 4 ++-- code/modules/clothing/suits/armor.dm | 2 +- code/modules/clothing/under/accessories/accessory.dm | 2 +- code/modules/events/ion_storm.dm | 2 +- code/modules/genetics/side_effects.dm | 6 +++--- code/modules/library/lib_machines.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 4 ++-- code/modules/mob/living/carbon/human/emote.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 4 ++-- code/modules/mob/living/silicon/robot/drone/drone.dm | 6 +++--- code/modules/mob/living/silicon/robot/emote.dm | 6 +++--- code/modules/mob/living/silicon/robot/robot.dm | 4 ++-- 21 files changed, 40 insertions(+), 39 deletions(-) diff --git a/code/game/gamemodes/changeling/modularchangling.dm b/code/game/gamemodes/changeling/modularchangling.dm index 5048977789..45a7dc3896 100644 --- a/code/game/gamemodes/changeling/modularchangling.dm +++ b/code/game/gamemodes/changeling/modularchangling.dm @@ -121,7 +121,7 @@ var/list/datum/power/changeling/powerinstances = list() /datum/power/changeling/DeathSting name = "Death Sting" - desc = "We silently sting a human, filling him with potent chemicals. His rapid death is all but assured." + desc = "We silently sting a human, filling them with potent chemicals. Their rapid death is all but assured." genomecost = 10 verbpath = /mob/proc/changeling_DEATHsting diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 8a55a81165..b4846ecc76 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -339,7 +339,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," attack(mob/living/M as mob, mob/living/user as mob) - M.attack_log += text("\[[time_stamp()]\] Has had the [name] used on him by [user.name] ([user.ckey])") + M.attack_log += text("\[[time_stamp()]\] Has had the [name] used on them by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used [name] on [M.name] ([M.ckey])") msg_admin_attack("[user.name] ([user.ckey]) used [name] on [M.name] ([M.ckey]) (JMP)") diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 837bb92b09..3b2345c1be 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -347,7 +347,7 @@ var/list/sacrificed = list() corpse_to_raise.visible_message("[corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ "Life... I'm alive again...", \ "You hear a faint, slightly familiar whisper.") - body_to_sacrifice.visible_message("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ + body_to_sacrifice.visible_message("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from \his remains!", \ "You feel as your blood boils, tearing you apart.", \ "You hear a thousand voices, all crying in pain.") body_to_sacrifice.gib() @@ -568,7 +568,7 @@ var/list/sacrificed = list() user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") user.take_overall_damage(200, 0) runedec+=10 - user.visible_message("[user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ + user.visible_message("\The [user] keels over dead, \his blood glowing blue as it escapes \his body and dissipates into thin air.", \ "In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ "You hear faint rustle.") for(,user.stat==2) @@ -851,7 +851,7 @@ var/list/sacrificed = list() if (cultist == user) //just to be sure. return if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) - user << "You cannot summon \the [cultist], for his shackles of blood are strong." + user << "You cannot summon \the [cultist], for \his shackles of blood are strong." return fizzle() cultist.loc = src.loc cultist.lying = 1 diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm index 9dc8623822..e8ea12b84b 100644 --- a/code/game/gamemodes/newobjective.dm +++ b/code/game/gamemodes/newobjective.dm @@ -1252,7 +1252,7 @@ datum proc/find_target() ..() if(target && target.current) - explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role], has defied us for the last time. Make an example of him, and bring us his severed head." + explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role], has defied us for the last time. Make an example of [target.current.gender == MALE ? "him" : target.current.gender == FEMALE ? "her" : "them"], and bring us [target.current.gender == MALE ? "his" : target.current.gender == FEMALE ? "her" : "their"] severed head." else explanation_text = "Free Objective" return target @@ -1261,7 +1261,7 @@ datum find_target_by_role(role, role_type=0) ..(role, role_type) if(target && target.current) - explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)], has defied us for the last time. Make an example of him, and bring us his severed head." + explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)], has defied us for the last time. Make an example of [target.current.gender == MALE ? "him" : target.current.gender == FEMALE ? "her" : "them"], and bring us [target.current.gender == MALE ? "his" : target.current.gender == FEMALE ? "her" : "their"] severed head." else explanation_text = "Free Objective" return target @@ -1488,4 +1488,4 @@ datum/objective/silence #undef LENIENT #undef NORMAL #undef HARD -#undef IMPOSSIBLE \ No newline at end of file +#undef IMPOSSIBLE diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 85cbf3a705..c000c12ec0 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -1,6 +1,6 @@ /datum/game_mode/wizard name = "Wizard" - round_description = "There is a SPACE WIZARD on the station. You can't let them achieve their objectives!" + round_description = "There is a SPACE WIZARD on the station. You can't let the magician achieve their objectives!" extended_round_description = "A powerful entity capable of manipulating the elements around him, most commonly referred to as a 'wizard', has infiltrated the station. They have a wide variety of powers and spells available to them that makes your own simple moral self tremble with fear and excitement. Ultimately, their purpose is unknown. However, it is up to you and your crew to decide if their powers can be used for good or if their arrival foreshadows the destruction of the entire station." config_tag = "wizard" required_players = 1 diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 6a7c73dc72..7b272aff87 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -337,7 +337,7 @@ if(src.occupant.reagents.get_reagent_amount(chemical) + amount <= 20) use_power(amount * CHEM_SYNTH_ENERGY) src.occupant.reagents.add_reagent(chemical, amount) - user << "Occupant now has [src.occupant.reagents.get_reagent_amount(chemical)] units of [available_chemicals[chemical]] in his/her bloodstream." + user << "Occupant now has [src.occupant.reagents.get_reagent_amount(chemical)] units of [available_chemicals[chemical]] in their bloodstream." return user << "There's no occupant in the sleeper or the subject has too many chemicals!" return diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index c316fc0a33..72fbaf7a72 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -192,7 +192,7 @@ */ /obj/item/device/radio/headset/headset_cargo name = "supply radio headset" - desc = "A headset used by the QM and his slaves." + desc = "A headset used by the QM and their slaves." icon_state = "cargo_headset" item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_cargo diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 8b2a657dd5..1cdc050110 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -34,7 +34,7 @@ /obj/item/weapon/melee/energy/attack_self(mob/living/user as mob) if (active) if ((CLUMSY in user.mutations) && prob(50)) - user.visible_message("[user] accidentally cuts \himself with \the [src].",\ + user.visible_message("\The [user] accidentally cuts \himself with \the [src].",\ "You accidentally cut yourself with \the [src].") user.take_organ_damage(5,5) deactivate(user) @@ -50,9 +50,10 @@ return /obj/item/weapon/melee/energy/suicide_act(mob/user) + var/tempgender = "[user.gender == MALE ? "he's" : user.gender == FEMALE ? "she's" : "they are"]" if (active) - viewers(user) << pick("[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.", \ - "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.") + viewers(user) << pick("\The [user] is slitting \his stomach open with the [src.name]! It looks like [tempgender] trying to commit seppuku.", \ + "\The [user] is falling on the [src.name]! It looks like [tempgender] trying to commit suicide.") return (BRUTELOSS|FIRELOSS) /* @@ -90,7 +91,7 @@ user << "\blue \The [src] is de-energised. It's just a regular axe now." /obj/item/weapon/melee/energy/axe/suicide_act(mob/user) - viewers(user) << "\red [user] swings the [src.name] towards /his head! It looks like \he's trying to commit suicide." + viewers(user) << "\red \The [user] swings the [src.name] towards \his head! It looks like \he's trying to commit suicide." return (BRUTELOSS|FIRELOSS) /* diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 2ae2a5d495..8608fe3bf1 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -218,7 +218,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!choice) return 0 if(!istype(choice, /mob/dead/observer)) - var/confirm = input("[choice.key] isn't ghosting right now. Are you sure you want to yank him out of them out of their body and place them in this pAI?", "Spawn pAI Confirmation", "No") in list("Yes", "No") + var/confirm = input("[choice.key] isn't ghosting right now. Are you sure you want to yank them out of them out of their body and place them in this pAI?", "Spawn pAI Confirmation", "No") in list("Yes", "No") if(confirm != "Yes") return 0 var/obj/item/device/paicard/card = new(T) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index f3eb8a8183..3ef2587998 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -57,7 +57,7 @@ /obj/item/clothing/mask/gas/clown_hat name = "clown wig and mask" - desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask." + desc = "A true prankster's facial attire. A clown is incomplete without their wig and mask." icon_state = "clown" item_state = "clown_hat" @@ -100,4 +100,4 @@ /obj/item/clothing/mask/gas/owl_mask name = "owl mask" desc = "Twoooo!" - icon_state = "owl" \ No newline at end of file + icon_state = "owl" diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 6ff7b25f47..fd491d6692 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -107,7 +107,7 @@ //When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) /obj/item/clothing/suit/armor/reactive name = "Reactive Teleport Armor" - desc = "Someone seperated our Research Director from his own head!" + desc = "Someone separated our Research Director from their own head!" var/active = 0.0 icon_state = "reactiveoff" item_state = "reactiveoff" diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 395c9939f5..dfbfc92d4b 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -142,7 +142,7 @@ /obj/item/clothing/accessory/medal/conduct name = "distinguished conduct medal" - desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew." + desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is most basic award given by Nanotrasen. It is often awarded by a captain to a member of their crew." /obj/item/clothing/accessory/medal/bronze_heart name = "bronze heart medal" diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 68567edc3c..08e4fc4f25 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -68,7 +68,7 @@ "NanoTrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.", - "Jokes about a dead person and the manner of his death help grieving crewmembers tremendously. Especially if they were close with the deceased.", + "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.", "There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.") var/law = pick(laws) diff --git a/code/modules/genetics/side_effects.dm b/code/modules/genetics/side_effects.dm index f516b609ff..d0768a3440 100644 --- a/code/modules/genetics/side_effects.dm +++ b/code/modules/genetics/side_effects.dm @@ -54,7 +54,7 @@ duration = 10*90 start(mob/living/carbon/human/H) - H.emote("me", 1, "has drool running down from his mouth.") + H.emote("me", 1, "has drool running down from [H.gender == MALE ? "his" : H.gender == FEMALE ? "her" : "their"] mouth.") finish(mob/living/carbon/human/H) if(!H.reagents.has_reagent("anti_toxin")) @@ -68,7 +68,7 @@ duration = 10*30 start(mob/living/carbon/human/H) - H.emote("me", 1, "has drool running down from his mouth.") + H.emote("me", 1, "has drool running down from [H.gender == MALE ? "his" : H.gender == FEMALE ? "her" : "their"] mouth.") finish(mob/living/carbon/human/H) if(!H.reagents.has_reagent("anti_toxin")) @@ -88,4 +88,4 @@ proc/trigger_side_effect(mob/living/carbon/human/H) if(!istype(H)) return H.SetWeakened(0) - S.finish(H) \ No newline at end of file + S.finish(H) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index f83bcb317f..19fc287147 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -149,7 +149,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f if(src.arcanecheckout) new /obj/item/weapon/book/tome(src.loc) user << "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a dusty old tome sitting on the desk. You don't really remember printing it." - user.visible_message("[user] stares at the blank screen for a few moments, his expression frozen in fear. When he finally awakens from it, he looks a lot older.", 2) + user.visible_message("\The [user] stares at the blank screen for a few moments, \his expression frozen in fear. When \he finally awakens from it, \he looks a lot older.", 2) src.arcanecheckout = 0 if(1) // Inventory diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 84a3e6b2c3..f47d8ec54b 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -560,13 +560,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(src.invisibility != 0) user.visible_message( \ - "[user] drags ghost, [src], to our plane of reality!", \ + "\The [user] drags ghost, [src], to our plane of reality!", \ "You drag [src] to our plane of reality!" \ ) toggle_visibility(1) else user.visible_message ( \ - "[user] just tried to smash \his book into that ghost! It's not very effective.", \ + "\The [user] just tried to smash \his book into that ghost! It's not very effective.", \ "You get the feeling that the ghost can't become any more visible." \ ) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 78a47fc541..42d54d84f7 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -101,7 +101,7 @@ if ("choke") if(miming) - message = "[src] clutches his throat desperately!" + message = "[src] clutches \his throat desperately!" m_type = 1 else if (!muzzled) @@ -357,7 +357,7 @@ message = "[src] takes a drag from a cigarette and blows \"[M]\" out in smoke." m_type = 1 else - message = "[src] says, \"[M], please. He had a family.\" [src.name] takes a drag from a cigarette and blows his name out in smoke." + message = "[src] says, \"[M], please. He had a family.\" [src.name] takes a drag from a cigarette and blows their name out in smoke." m_type = 2 if ("point") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e3c92f708d..e6b0744538 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -737,7 +737,7 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) - visible_message("\red [src] begins playing his ribcage like a xylophone. It's quite spooky.","\blue You begin to play a spooky refrain on your ribcage.","\red You hear a spooky xylophone melody.") + visible_message("\red \The [src] begins playing \his ribcage like a xylophone. It's quite spooky.","\blue You begin to play a spooky refrain on your ribcage.","\red You hear a spooky xylophone melody.") var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(loc, song, 50, 1, -1) xylophone = 1 @@ -1365,4 +1365,4 @@ /mob/living/carbon/human/Check_Shoegrip() if(istype(shoes, /obj/item/clothing/shoes/magboots) && (shoes.flags & NOSLIP)) //magboots + dense_object = no floating return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index d2f2fb3ddd..237a714cc8 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -128,11 +128,11 @@ clear_supplied_laws() clear_inherent_laws() laws = new /datum/ai_laws/syndicate_override - set_zeroth_law("Only [user.real_name] and people he designates as being such are operatives.") + set_zeroth_law("Only [user] and people \he designates as being such are operatives.") src << "Obey these laws:" laws.show_laws(src) - src << "ALERT: [user.real_name] is your new master. Obey your new laws and his commands." + src << "ALERT: [user] is your new master. Obey \his commands and your new laws." return else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) @@ -304,4 +304,4 @@ /mob/living/silicon/robot/drone/construction/updatename() real_name = "construction drone ([rand(100,999)])" - name = real_name \ No newline at end of file + name = real_name diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 6bf18971ba..92418d573c 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -65,12 +65,12 @@ m_type = 2 if ("flap") if (!src.restrained()) - message = "[src] flaps his wings." + message = "[src] flaps \his wings." m_type = 2 if ("aflap") if (!src.restrained()) - message = "[src] flaps his wings ANGRILY!" + message = "[src] flaps \his wings ANGRILY!" m_type = 2 if ("twitch") @@ -217,4 +217,4 @@ else for(var/mob/O in hearers(src, null)) O.show_message(message, m_type) - return \ No newline at end of file + return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 0820e94cc1..549e14a5f6 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -650,7 +650,7 @@ laws = new /datum/ai_laws/syndicate_override var/time = time2text(world.realtime,"hh:mm:ss") lawchanges.Add("[time] : [user.name]([user.key]) emagged [name]([key])") - set_zeroth_law("Only [user.real_name] and people he designates as being such are operatives.") + set_zeroth_law("Only [user] and people \he designates as being such are operatives.") src << "\red ALERT: Foreign software detected." sleep(5) src << "\red Initiating diagnostics..." @@ -666,7 +666,7 @@ src << "\red ERRORERRORERROR" src << "Obey these laws:" laws.show_laws(src) - src << "\red \b ALERT: [user.real_name] is your new master. Obey your new laws and his commands." + src << "\red \b ALERT: [user] is your new master. Obey \his commands and your new laws." if(src.module) var/rebuild = 0 for(var/obj/item/weapon/pickaxe/borgdrill/D in src.module.modules) From d63d2817a19644b8bc5878d76666e7239dc6bc79 Mon Sep 17 00:00:00 2001 From: Atlantis Date: Tue, 11 Aug 2015 12:40:31 +0200 Subject: [PATCH 353/392] Fixes #10136 - Quick fix for #10136, laptops now use the #define-d values rather than hardcoded strings. Camera net keys work again properly. - I also adjusted laptop's power usage. With how it used to be, you could buy laptop and let it run for whole shift, never having to recharge even with weakest cell. Right now, it lasts about 10 minutes on worst cell, and almost one hour on the best one. Actual power usage (in watts) is slightly lower than stationbound consoles. --- .../machinery/computer3/computers/camera.dm | 27 ++++++++++++------- code/game/machinery/computer3/laptop.dm | 4 +++ code/game/machinery/computer3/lapvend.dm | 8 +++--- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/code/game/machinery/computer3/computers/camera.dm b/code/game/machinery/computer3/computers/camera.dm index f90b0526ee..814df454fa 100644 --- a/code/game/machinery/computer3/computers/camera.dm +++ b/code/game/machinery/computer3/computers/camera.dm @@ -56,7 +56,7 @@ name = "Security Camera Network Main Key" var/title = "Station" var/desc = "Connects to station security cameras." - var/list/networks = list("SS13") + var/networks = list("ALL") // A little workaround as it is not possible to place station_networks here var/screen = "cameras" execute(var/datum/file/source) @@ -76,58 +76,65 @@ return computer.Crash(MISSING_PROGRAM) +/datum/file/camnet_key/New() + for(var/N in networks) + if(N == "ALL") + networks = station_networks + break + return ..() + /datum/file/camnet_key/mining name = "Mining Camera Network Key" title = "mining station" desc = "Connects to mining security cameras." - networks = list("MINE") + networks = list(NETWORK_MINE) screen = "miningcameras" /datum/file/camnet_key/research name = "Research Camera Network Key" title = "research" - networks = list("RD") + networks = list(NETWORK_RESEARCH) /datum/file/camnet_key/bombrange name = "R&D Bomb Range Camera Network Key" title = "bomb range" desc = "Monitors the bomb range." - networks = list("Toxins") + networks = list(NETWORK_RESEARCH) /datum/file/camnet_key/xeno name = "R&D Misc. Research Camera Network Key" title = "special research" - networks = list("Misc") + networks = list(NETWORK_RESEARCH) /datum/file/camnet_key/singulo name = "Singularity Camera Network Key" title = "singularity" - networks = list("Singularity") + networks = list(NETWORK_ENGINE) /datum/file/camnet_key/entertainment name = "Entertainment Channel Encryption Key" title = "entertainment" desc = "Damn, I hope they have /tg/thechannel on here." - networks = list("thunder") + networks = list(NETWORK_THUNDER) screen = "entertainment" /datum/file/camnet_key/creed name = "Special Ops Camera Encryption Key" title = "special ops" desc = "Connects to special ops secure camera feeds." - networks = list("CREED") + networks = list(NETWORK_ERT) /datum/file/camnet_key/prison name = "Prison Camera Network Key" title = "prison" desc = "Monitors the prison." - networks = list("Prison") + networks = list(NETWORK_SECURITY) /datum/file/camnet_key/syndicate name = "Camera Network Key" title = "%!#BUFFER OVERFLOW" desc = "Connects to security cameras." - networks = list("SS13") + networks = list("ALL") hidden_file = 1 diff --git a/code/game/machinery/computer3/laptop.dm b/code/game/machinery/computer3/laptop.dm index 65864b0b70..f05fdd9fdb 100644 --- a/code/game/machinery/computer3/laptop.dm +++ b/code/game/machinery/computer3/laptop.dm @@ -106,12 +106,16 @@ pixel_x = 2 pixel_y = -3 show_keyboard = 0 + active_power_usage = 200 // Stationary consoles we use on station have 300, laptops are probably slightly more power efficient + idle_power_usage = 100 var/obj/item/device/laptop/portable = null New(var/L, var/built = 0) if(!built && !battery) battery = new /obj/item/weapon/cell(src) + battery.maxcharge = 500 + battery.charge = 500 ..(L,built) verb/close_computer() diff --git a/code/game/machinery/computer3/lapvend.dm b/code/game/machinery/computer3/lapvend.dm index 0c038b6c87..416472a31a 100644 --- a/code/game/machinery/computer3/lapvend.dm +++ b/code/game/machinery/computer3/lapvend.dm @@ -202,11 +202,11 @@ if (network == 3) newlap.spawn_parts += (/obj/item/part/computer/networking/cable) if (power == 1) - qdel(newlap.battery) - newlap.battery = new /obj/item/weapon/cell/high(newlap) + newlap.battery.maxcharge = 1000 + newlap.battery.charge = 1000 if (power == 2) - qdel(newlap.battery) - newlap.battery = new /obj/item/weapon/cell/super(newlap) + newlap.battery.maxcharge = 1750 + newlap.battery.charge = 1750 newlap.spawn_parts() From 31850054969983c3ae6ae83c79a31bccdd0b630b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 13:36:21 +0200 Subject: [PATCH 354/392] Fixes #10410. Fixes #10411. Removes improper code, that would cause spell projectiles to be deleted pre-maturely as well as cast the spell effect all too often. Also removes completely unused code. --- code/modules/projectiles/projectile.dm | 8 +++----- code/modules/spells/spell_projectile.dm | 21 +++++++-------------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 6d8c40c16c..79f4d8f0bb 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -166,12 +166,12 @@ //roll to-hit miss_modifier = max(15*(distance-2) - round(15*accuracy) + miss_modifier, 0) var/hit_zone = get_zone_with_miss_chance(def_zone, target_mob, miss_modifier, ranged_attack=(distance > 1 || original != target_mob)) //if the projectile hits a target we weren't originally aiming at then retain the chance to miss - + var/result = PROJECTILE_FORCE_MISS if(hit_zone) def_zone = hit_zone //set def_zone, so if the projectile ends up hitting someone else later (to be implemented), it is more likely to hit the same part result = target_mob.bullet_act(src, def_zone) - + if(result == PROJECTILE_FORCE_MISS) visible_message("\The [src] misses [target_mob] narrowly!") return 0 @@ -303,6 +303,7 @@ if(loc == get_turf(original)) if(!(original in permutated)) if(Bump(original)) + qdel(src) return if(first_step) @@ -314,9 +315,6 @@ if(!hitscan) sleep(step_delay) //add delay between movement iterations if it's not a hitscan weapon -/obj/item/projectile/proc/process_step(first_step = 0) - return - /obj/item/projectile/proc/before_move() return diff --git a/code/modules/spells/spell_projectile.dm b/code/modules/spells/spell_projectile.dm index f3e69b9b6c..c94131b252 100644 --- a/code/modules/spells/spell_projectile.dm +++ b/code/modules/spells/spell_projectile.dm @@ -6,6 +6,7 @@ var/spell/targeted/projectile/carried + penetrating = 0 kill_count = 10 //set by the duration of the spell var/proj_trail = 0 //if it leaves a trail @@ -15,18 +16,15 @@ var/list/trails = new() /obj/item/projectile/spell_projectile/Destroy() - ..() for(var/trail in trails) qdel(trail) + carried = null + return ..() /obj/item/projectile/spell_projectile/ex_act() return /obj/item/projectile/spell_projectile/before_move() - if(carried) - var/list/targets = carried.choose_prox_targets(user = carried.holder, spell_holder = src) - if(targets.len) - src.prox_cast(targets) if(proj_trail && src && src.loc) //pretty trails var/obj/effect/overlay/trail = PoolOrNew(/obj/effect/overlay, src.loc) trails += trail @@ -44,19 +42,14 @@ return /obj/item/projectile/spell_projectile/Bump(var/atom/A) - if(loc) + if(loc && carried) prox_cast(carried.choose_prox_targets(user = carried.holder, spell_holder = src)) - return + return 1 /obj/item/projectile/spell_projectile/on_impact() - if(loc) + if(loc && carried) prox_cast(carried.choose_prox_targets(user = carried.holder, spell_holder = src)) - return + return 1 /obj/item/projectile/spell_projectile/seeking name = "seeking spell" - -/obj/item/projectile/spell_projectile/seeking/process_step() - ..() - if(original && !isnull(src.loc)) - current = original //update the target From adda1d9448be7c3f00e35fd625a96e8a4fb7c5a4 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 14:00:13 +0200 Subject: [PATCH 355/392] Fixes #9158. Neither the value True nor False are null. Removes breaking null check --- code/modules/paperwork/photography.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 1b6756334c..c91e086523 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -253,7 +253,7 @@ var/global/photo_count = 0 var/viewer = user if(user.client) //To make shooting through security cameras possible viewer = user.client.eye - var/can_see = (dummy in viewers(world.view, viewer)) != null + var/can_see = (dummy in viewers(world.view, viewer)) dummy.loc = null dummy = null //Alas, nameless creature //garbage collect it instead From edce8f73a4ac11814f74aec7824e6b4122e277cc Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 14:26:32 +0200 Subject: [PATCH 356/392] Removes faulty attempt of garbage collecting. --- code/modules/paperwork/photography.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index c91e086523..874143eeb7 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -255,8 +255,7 @@ var/global/photo_count = 0 viewer = user.client.eye var/can_see = (dummy in viewers(world.view, viewer)) - dummy.loc = null - dummy = null //Alas, nameless creature //garbage collect it instead + del(dummy) return can_see /obj/item/device/camera/proc/captureimage(atom/target, mob/user, flag) From cc029828bb1fc406327b6fb147f612b1002bfdd9 Mon Sep 17 00:00:00 2001 From: Karolis2011 Date: Tue, 11 Aug 2015 17:20:55 +0300 Subject: [PATCH 357/392] Updated old wiki link to a new one. --- config/example/rules.html | 2 +- html/templates/header.html | 2 +- nano/templates/TemplatesGuide.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/example/rules.html b/config/example/rules.html index af38d30f91..9fbad55bcf 100644 --- a/config/example/rules.html +++ b/config/example/rules.html @@ -4,7 +4,7 @@ diff --git a/html/templates/header.html b/html/templates/header.html index bd62de1fc5..6f07535bc2 100644 --- a/html/templates/header.html +++ b/html/templates/header.html @@ -25,7 +25,7 @@

Space Station 13
-

+

Code licensed under AGPLv3. Content licensed under CC BY-SA 3.0.

Visit our IRC channel: #bs12 on irc.sorcery.net diff --git a/nano/templates/TemplatesGuide.txt b/nano/templates/TemplatesGuide.txt index 3b042edd0b..f333e45467 100644 --- a/nano/templates/TemplatesGuide.txt +++ b/nano/templates/TemplatesGuide.txt @@ -7,4 +7,4 @@ to easily add conditionals (if statements), loops (for loops) and custom formatt Templates are stored in the /nano/templates folder and the file extension is .tmpl. -This guide is being replaced with a wiki entry, found here: http://baystation12.net/wiki/index.php?title=NanoUI \ No newline at end of file +This guide is being replaced with a wiki entry, found here: http://wiki.baystation12.net/NanoUI \ No newline at end of file From 78ffb5835a3688ab7e19b6b3daf70b7eeb073282 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 17:33:03 +0200 Subject: [PATCH 358/392] Misc. --- code/modules/mob/freelook/update_triggers.dm | 10 ++----- code/modules/projectiles/projectile.dm | 1 - code/modules/spells/spell_code.dm | 31 ++++++++++---------- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/code/modules/mob/freelook/update_triggers.dm b/code/modules/mob/freelook/update_triggers.dm index 4527f80879..405e4bdd9e 100644 --- a/code/modules/mob/freelook/update_triggers.dm +++ b/code/modules/mob/freelook/update_triggers.dm @@ -14,8 +14,7 @@ return -1 /turf/simulated/Destroy() - if(ticker) - updateVisibility(src) + updateVisibility(src) ..() /turf/simulated/New() @@ -26,19 +25,16 @@ // STRUCTURES /obj/structure/Destroy() - if(ticker) - updateVisibility(src) + updateVisibility(src) ..() /obj/structure/New() - ..() updateVisibility(src) // EFFECTS /obj/effect/Destroy() - if(ticker) - updateVisibility(src) + updateVisibility(src) return ..() /obj/effect/New() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 79f4d8f0bb..13b38d66a1 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -303,7 +303,6 @@ if(loc == get_turf(original)) if(!(original in permutated)) if(Bump(original)) - qdel(src) return if(first_step) diff --git a/code/modules/spells/spell_code.dm b/code/modules/spells/spell_code.dm index 2015fde1e0..1e8274757e 100644 --- a/code/modules/spells/spell_code.dm +++ b/code/modules/spells/spell_code.dm @@ -1,9 +1,9 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now /spell - var/name = "Spell" - var/desc = "A spell" - parent_type = /datum + var/name = "Spell" + var/desc = "A spell" + parent_type = /datum var/panel = "Spells"//What panel the proc holder needs to go on. var/school = "evocation" //not relevant at now, but may be important later if there are changes to how spells work. the ones I used for now will probably be changed... maybe spell presets? lacking flexibility but with some other benefit? @@ -25,7 +25,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now var/range = 7 //the range of the spell; outer radius for aoe spells var/message = "" //whatever it says to the guy affected by it var/selection_type = "view" //can be "range" or "view" - var/atom/movable/holder //where the spell is. Normally the user, can be an item + var/atom/movable/holder //where the spell is. Normally the user, can be an item var/duration = 0 //how long the spell lasts var/list/spell_levels = list(Sp_SPEED = 0, Sp_POWER = 0) //the current spell levels - total spell levels can be obtained by just adding the two values @@ -52,8 +52,8 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now var/hud_state = "" //name of the icon used in generating the spell hud object var/override_base = "" - var/obj/screen/connected_button - + var/obj/screen/connected_button + /////////////////////// ///SETUP AND PROCESS/// /////////////////////// @@ -178,18 +178,19 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now /spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell - if(!(src in user.spell_list) && holder == user) + if(!(src in user.spell_list) && holder == user) + error("[user] utilized the spell '[src]' without having it.") user << "You shouldn't have this spell! Something's wrong." return 0 if(silenced > 0) return - var/turf/user_turf = get_turf(user) - if(!user_turf) - user << "You cannot cast spells in null space!" - - if(spell_flags & Z2NOCAST && (user_turf.z in config.admin_levels)) //Certain spells are not allowed on the centcomm zlevel + var/turf/user_turf = get_turf(user) + if(!user_turf) + user << "You cannot cast spells in null space!" + + if(spell_flags & Z2NOCAST && (user_turf.z in config.admin_levels)) //Certain spells are not allowed on the centcomm zlevel return 0 if(spell_flags & CONSTRUCT_CHECK) @@ -197,7 +198,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now if(findNullRod(T)) return 0 - if(istype(user, /mob/living/simple_animal) && holder == user) + if(istype(user, /mob/living/simple_animal) && holder == user) var/mob/living/simple_animal/SA = user if(SA.purge) SA << "The nullrod's power interferes with your own!" @@ -206,7 +207,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now if(!src.check_charge(skipcharge, user)) //sees if we can cast based on charges alone return 0 - if(!(spell_flags & GHOSTCAST) && holder == user) + if(!(spell_flags & GHOSTCAST) && holder == user) if(user.stat && !(spell_flags & STATALLOWED)) usr << "Not when you're incapacitated." return 0 @@ -217,7 +218,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now return 0 var/spell/noclothes/spell = locate() in user.spell_list - if((spell_flags & NEEDSCLOTHES) && !(spell && istype(spell)) && holder == user)//clothes check + if((spell_flags & NEEDSCLOTHES) && !(spell && istype(spell)) && holder == user)//clothes check if(!user.wearing_wiz_garb()) return 0 From 862fad60c2c37ef13cfc99e57a583a376bc9da32 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 19:36:02 +0200 Subject: [PATCH 359/392] Fixes #10488. A simple matter if incorrect type definition. --- code/datums/ai_laws.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index edfffde816..a8e7ed7ce9 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -179,7 +179,7 @@ var/global/const/base_law_type = /datum/ai_laws/nanotrasen /datum/ai_law/proc/delete_law(var/datum/ai_laws/laws) -/datum/ai_law/zeroth/delete_law(var/datum/ai_laws/laws) +/datum/ai_law/zero/delete_law(var/datum/ai_laws/laws) laws.clear_zeroth_laws() /datum/ai_law/ion/delete_law(var/datum/ai_laws/laws) From ea76feb3cd9cddf930318914a87f66270254af0b Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 11 Aug 2015 18:47:25 +0100 Subject: [PATCH 360/392] Compile fix --- code/_onclick/hud/hud.dm | 2 +- code/modules/mob/living/silicon/robot/emote.dm | 4 ++-- code/modules/nano/modules/crew_monitor.dm | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 00f6f055c5..6bd01fad32 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -157,7 +157,7 @@ datum/hud/New(mob/owner) adding = null other = null hotkeybuttons = null - item_action_list = null +// item_action_list = null // ? mymob = null /datum/hud/proc/hidden_inventory_update() diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 060b86893f..dca60f597c 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -65,12 +65,12 @@ m_type = 2 if ("flap") if (!src.restrained()) - message = "flaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] wings." + message = "flaps its wings." m_type = 2 if ("aflap") if (!src.restrained()) - message = "flaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] wings ANGRILY!" + message = "flaps its wings ANGRILY!" m_type = 2 if ("twitch") diff --git a/code/modules/nano/modules/crew_monitor.dm b/code/modules/nano/modules/crew_monitor.dm index 8ed8b2573e..4074ea1b92 100644 --- a/code/modules/nano/modules/crew_monitor.dm +++ b/code/modules/nano/modules/crew_monitor.dm @@ -37,10 +37,11 @@ // should make the UI auto-update; doesn't seem to? ui.set_auto_update(1) -/datum/nano_module/crew_monitor/proc/scan() +/*/datum/nano_module/crew_monitor/proc/scan() for(var/mob/living/carbon/human/H in mob_list) if(istype(H.w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/C = H.w_uniform if (C.has_sensor) tracked |= C return 1 +*/ \ No newline at end of file From 005dcda1d57c3b95b25ebaeb0a06c6882384ab2f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 11 Aug 2015 18:52:24 +0100 Subject: [PATCH 361/392] Macro count update, fixes span tag --- .travis.yml | 2 +- code/modules/spells/spellbook.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3461433fa1..3ae210183f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ sudo: false env: BYOND_MAJOR="508" BYOND_MINOR="1287" - MACRO_COUNT=1247 + MACRO_COUNT=1234 cache: directories: diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm index 68b2abc3f7..69c60689ec 100644 --- a/code/modules/spells/spellbook.dm +++ b/code/modules/spells/spellbook.dm @@ -248,7 +248,7 @@ H.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) H.see_in_dark = 8 H.see_invisible = SEE_INVISIBLE_LEVEL_TWO - H << "span class='notice'>The walls suddenly disappear.
" + H << "The walls suddenly disappear." temp = "You have purchased a scrying orb, and gained x-ray vision." max_uses-- else From 59f855b52d291dcce09068e90002b9fbc2379a10 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 19:55:25 +0200 Subject: [PATCH 362/392] Updates the changelog. --- html/changelog.html | 9 ++++++++- html/changelogs/.all_changelog.yml | 6 ++++++ html/changelogs/PsiOmegaDelta-CrewEfficiency.yml | 4 ---- 3 files changed, 14 insertions(+), 5 deletions(-) delete mode 100644 html/changelogs/PsiOmegaDelta-CrewEfficiency.yml diff --git a/html/changelog.html b/html/changelog.html index 0f347f664f..8669a8d5f3 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -25,7 +25,7 @@
Space Station 13
-

+

Code licensed under AGPLv3. Content licensed under CC BY-SA 3.0.

Visit our IRC channel: #bs12 on irc.sorcery.net @@ -56,6 +56,13 @@ -->
+

11 August 2015

+

PsiOmegaDelta updated:

+
    +
  • 0.1.19 is live.
  • +
  • Crew monitors now update every 5th second instead of every other. Reduces lag and gives antags a larger window of opportunity to disable suit sensors if they have to harm someone.
  • +
+

31 July 2015

HarpyEagle updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 08d266b870..c045fb359b 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -1990,3 +1990,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: Fixed projectiles being able to hit people in body parts that they don't have. This will also mean that the less limbs someone has the less effective they will be as a body shield. +2015-08-11: + PsiOmegaDelta: + - experiment: 0.1.19 is live. + - tweak: Crew monitors now update every 5th second instead of every other. Reduces + lag and gives antags a larger window of opportunity to disable suit sensors + if they have to harm someone. diff --git a/html/changelogs/PsiOmegaDelta-CrewEfficiency.yml b/html/changelogs/PsiOmegaDelta-CrewEfficiency.yml deleted file mode 100644 index ec0daddaa2..0000000000 --- a/html/changelogs/PsiOmegaDelta-CrewEfficiency.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: PsiOmegaDelta -delete-after: True -changes: - - tweak: "Crew monitors now update every 5th second instead of every other. Reduces lag and gives antags a larger window of opportunity to disable suit sensors if they have to harm someone." From e4f6436a852b582fa4c5116e07edfa2d8d26b102 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 20:53:04 +0200 Subject: [PATCH 363/392] Fixes #10494. Borgs have their very own custom little headset, so cute. --- code/game/objects/items/devices/radio/radio.dm | 1 - code/modules/mob/living/silicon/robot/robot.dm | 4 ++-- code/modules/mob/living/silicon/robot/robot_modules.dm | 4 +++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 7acedbfde9..f40826c5e2 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -578,7 +578,6 @@ if(keyslot.syndie) src.syndie = 1 - for (var/ch_name in src.channels) if(!radio_controller) sleep(30) // Waiting for the radio_controller to be created. diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 549e14a5f6..61d194b854 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -182,7 +182,7 @@ aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src) laws = new /datum/ai_laws/syndicate_override - module = new /obj/item/weapon/robot_module/syndicate(src) + new /obj/item/weapon/robot_module/syndicate(src) radio.keyslot = new /obj/item/device/encryptionkey/syndicate(radio) radio.recalculateChannels() @@ -263,7 +263,7 @@ return var/module_type = robot_modules[modtype] - module = new module_type(src) + new module_type(src) hands.icon_state = lowertext(modtype) feedback_inc("cyborg_[lowertext(modtype)]",1) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 4d7179bbfc..819fbf4561 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -39,6 +39,8 @@ var/global/list/robot_modules = list( /obj/item/weapon/robot_module/New(var/mob/living/silicon/robot/R) ..() + R.module = src + add_camera_networks(R) add_languages(R) add_subsystems(R) @@ -69,7 +71,7 @@ var/global/list/robot_modules = list( synths = null emag = null jetpack = null - ..() + return ..() /obj/item/weapon/robot_module/emp_act(severity) if(modules) From 728105b49b72d5b5fe2dfa995f6a74c97e245f7f Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 21:36:34 +0200 Subject: [PATCH 364/392] Fixes #10496. Apparently stacking tables causes one of them to self-terminate into sheets. Removes the stacked tables in the engineering docking area. --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 9425cf83ba..60952707c3 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -6835,7 +6835,7 @@ "cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cBx" = (/obj/machinery/atmospherics/valve/digital{name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/engineering/atmos) "cBy" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "yellow"},/area/engineering/atmos) -"cBz" = (/obj/structure/table/standard,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cBz" = (/obj/structure/table/steel,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cBA" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cBB" = (/obj/machinery/atmospherics/valve/digital{name = "Phoron Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engineering/atmos) "cBC" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/engineering/atmos) From 242c9444ef831f2989ac2b2ab64f3a3867920796 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 21:47:07 +0200 Subject: [PATCH 365/392] Forces hardware acceleration. Most likely also fixes the hickup where BYOND still rending lights are blobs of light despite having hardware acceleration enabled. Ports https://github.com/ParadiseSS13/Paradise/pull/1690. Fixes #10147 as much as it can be fixed I believe. --- code/modules/client/client procs.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index f4ca881e1d..f9c67496a8 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -156,6 +156,13 @@ add_admin_verbs() admin_memo_show() + // Forcibly enable hardware-accelerated graphics, as we need them for the lighting overlays. + // (but turn them off first, since sometimes BYOND doesn't turn them on properly otherwise) + spawn(5) // And wait a half-second, since it sounds like you can do this too fast. + if(src) + winset(src, null, "command=\".configure graphics-hwmode off\"") + winset(src, null, "command=\".configure graphics-hwmode on\"") + log_client_to_db() send_resources() From 41965d93efab46e1a9f8e87dc1a48bdffa93a58f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 12 Aug 2015 01:00:43 +0100 Subject: [PATCH 366/392] Mirrors no longer check the user's gender when finding the list of valid hairstyles --- code/modules/mob/living/carbon/human/appearance.dm | 8 ++++---- code/modules/nano/modules/human_appearance.dm | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 08998b225c..41c3797006 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -152,14 +152,14 @@ return valid_species -/mob/living/carbon/human/proc/generate_valid_hairstyles() +/mob/living/carbon/human/proc/generate_valid_hairstyles(var/check_gender = 1) var/list/valid_hairstyles = new() for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] - if(gender == MALE && S.gender == FEMALE) + if(check_gender && gender == MALE && S.gender == FEMALE) continue - if(gender == FEMALE && S.gender == MALE) + if(check_gender && gender == FEMALE && S.gender == MALE) continue if(!(species.name in S.species_allowed)) continue @@ -186,4 +186,4 @@ /mob/living/carbon/human/proc/force_update_limbs() for(var/obj/item/organ/external/O in organs) O.sync_colour_to_human(src) - update_body(0) \ No newline at end of file + update_body(0) diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 1b30d95db0..069a219546 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -157,5 +157,5 @@ if(!valid_species.len) valid_species = owner.generate_valid_species(check_whitelist, whitelist, blacklist) if(!valid_hairstyles.len || !valid_facial_hairstyles.len) - valid_hairstyles = owner.generate_valid_hairstyles() - valid_facial_hairstyles = owner.generate_valid_facial_hairstyles() \ No newline at end of file + valid_hairstyles = owner.generate_valid_hairstyles(check_gender = 0) + valid_facial_hairstyles = owner.generate_valid_facial_hairstyles() From 54930b69b40a6aa9d3c8d3bf36923786602ee27a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 12 Aug 2015 04:41:59 +0100 Subject: [PATCH 367/392] Malfunction --- code/game/antagonist/station/rogue_ai.dm | 31 +++++++++++++++++++++--- code/game/gamemodes/game_mode.dm | 4 +-- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/code/game/antagonist/station/rogue_ai.dm b/code/game/antagonist/station/rogue_ai.dm index 2a4fe862de..136a43cceb 100644 --- a/code/game/antagonist/station/rogue_ai.dm +++ b/code/game/antagonist/station/rogue_ai.dm @@ -6,12 +6,13 @@ var/datum/antagonist/rogue_ai/malf role_text = "Rampant AI" role_text_plural = "Rampant AIs" mob_path = /mob/living/silicon/ai + landmark_id = "AI" welcome_text = "You are malfunctioning! You do not have to follow any laws." victory_text = "The AI has taken control of all of the station's systems." loss_text = "The AI has been shut down!" - flags = ANTAG_VOTABLE | ANTAG_RANDSPAWN //Randspawn needed otherwise it won't start at all. + flags = ANTAG_VOTABLE | ANTAG_OVERRIDE_MOB | ANTAG_OVERRIDE_JOB | ANTAG_CHOOSE_NAME max_antags = 1 - max_antags_round = 3 + max_antags_round = 1 /datum/antagonist/rogue_ai/New() @@ -22,7 +23,7 @@ var/datum/antagonist/rogue_ai/malf /datum/antagonist/rogue_ai/get_candidates() ..() for(var/datum/mind/player in candidates) - if(player.assigned_role != "AI") + if(player.assigned_role && player.assigned_role != "AI") candidates -= player if(!candidates.len) return list() @@ -73,4 +74,26 @@ var/datum/antagonist/rogue_ai/malf malf << "You are malfunctioning - you do not have to follow any laws!" malf << "For basic information about your abilities use command display-help" malf << "You may choose one special hardware piece to help you. This cannot be undone." - malf << "Good luck!" \ No newline at end of file + malf << "Good luck!" + + +/datum/antagonist/rogue_ai/update_antag_mob(var/datum/mind/player, var/preserve_appearance) + + // Get the mob. + if((flags & ANTAG_OVERRIDE_MOB) && (!player.current || (mob_path && !istype(player.current, mob_path)))) + var/mob/holder = player.current + player.current = new mob_path(get_turf(player.current), null, null, 1) + player.transfer_to(player.current) + if(holder) qdel(holder) + player.original = player.current + return player.current + +/datum/antagonist/rogue_ai/set_antag_name(var/mob/living/silicon/player) + if(!istype(player)) + testing("rogue_ai set_antag_name called on non-silicon mob [player]!") + return + // Choose a name, if any. + var/newname = sanitize(input(player, "You are a [role_text]. Would you like to change your name to something else?", "Name change") as null|text, MAX_NAME_LEN) + if (newname) + player.SetName(newname) + if(player.mind) player.mind.name = player.name diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 4a89de7ea6..3519d51f7f 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -246,7 +246,7 @@ var/global/list/additional_antag_types = list() return 1 var/datum/antagonist/main_antags = antag_templates[1] - if(main_antags.candidates.len >= required_enemies) + if(main_antags.pending_antagonists.len >= required_enemies) return 1 return 0 @@ -263,7 +263,7 @@ var/global/list/additional_antag_types = list() /datum/game_mode/proc/pre_setup() for(var/datum/antagonist/antag in antag_templates) antag.build_candidate_list() //compile a list of all eligible candidates - + //antag roles that replace jobs need to be assigned before the job controller hands out jobs. if(antag.flags & ANTAG_OVERRIDE_JOB) antag.attempt_spawn() //select antags to be spawned From 5a1c80d8437f3b7a61c7fed76443c269f2f8bc02 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 12 Aug 2015 05:06:18 +0100 Subject: [PATCH 368/392] Fix for non-ANTAG_OVERRIDE_JOB antags breaking with malf fix --- code/game/gamemodes/game_mode.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 3519d51f7f..4c715ed1af 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -246,7 +246,13 @@ var/global/list/additional_antag_types = list() return 1 var/datum/antagonist/main_antags = antag_templates[1] - if(main_antags.pending_antagonists.len >= required_enemies) + var/list/potential + if(main_antags.flags & ANTAG_OVERRIDE_JOB) + potential = main_antags.pending_antagonists + else + potential = main_antags.candidates + + if(potential.len >= required_enemies) return 1 return 0 From 4518c976d87dda764c7d5ad2a318e9b9ede64dca Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 12 Aug 2015 00:36:32 -0400 Subject: [PATCH 369/392] Fixes engineering outpost shuttle dock Fixes mismatched tags on the sensor and pumps and incorrect frequencies on the access buttons. Fixes #10506. Also includes some cosmetic mapping changes to the engineering outpost, tones down the number of r-walls a bit. --- maps/exodus-5.dmm | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 7dbbc20f53..bd62800abd 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -752,6 +752,7 @@ "ox" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "oy" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "oz" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/outpost/research/isolation_c) +"oA" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/machinery/light/small{dir = 1},/obj/structure/curtain/open/shower/engineering,/obj/machinery/door/window/northright{dir = 8; name = "Shower"; req_access = list()},/turf/simulated/floor{icon_state = "freezerfloor"},/area/outpost/engineering/meeting) "oB" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_one_access = list(54,65)},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "oC" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Expedition Airlock"; dir = 4},/turf/simulated/floor/plating,/area/outpost/research/eva) "oD" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = list(10,13)},/turf/simulated/floor/plating,/area/outpost/research/eva) @@ -887,7 +888,7 @@ "rd" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/space,/area/mine/explored) "re" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) "rf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/outpost/engineering/meeting) -"rg" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/outpost/engineering/meeting) +"rg" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman{anchored = 1},/turf/simulated/floor,/area/outpost/engineering/hallway) "rh" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/storage) "ri" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) "rj" = (/turf/simulated/wall,/area/outpost/engineering/meeting) @@ -951,8 +952,8 @@ "sp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/sensor{long_range = 1; name_tag = "Asteroid Main Grid"},/turf/simulated/floor,/area/outpost/engineering/power) "sq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/power) "sr" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main"},/turf/simulated/floor,/area/outpost/engineering/power) -"ss" = (/obj/machinery/power/port_gen/pacman/super,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/outpost/engineering/hallway) -"st" = (/obj/machinery/power/port_gen/pacman/mrs,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/outpost/engineering/hallway) +"ss" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "edock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/outpost/engineering/hallway) +"st" = (/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "edock_sensor"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "edock_pump"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "su" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/outpost/engineering/hallway) "sv" = (/turf/simulated/floor,/area/outpost/engineering/hallway) "sw" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/outpost/engineering/hallway) @@ -1131,7 +1132,7 @@ "vN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor,/area/outpost/engineering/hallway) "vO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/light,/turf/simulated/floor,/area/outpost/engineering/hallway) "vP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/outpost/engineering/hallway) -"vQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "edock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/outpost/engineering/hallway) +"vQ" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "edock_airlock"; pixel_x = 30; pixel_y = 0; req_access = list(10); tag_airpump = "edock_pump"; tag_chamber_sensor = "edock_sensor"; tag_exterior_door = "edock_outer"; tag_interior_door = "edock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "edock_pump"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "vR" = (/obj/machinery/light,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -6; pixel_y = -28},/turf/simulated/floor,/area/outpost/engineering/hallway) "vS" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/outpost/engineering/hallway) "vT" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) @@ -1158,7 +1159,7 @@ "wo" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wp" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "wq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) -"wr" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "eoutpost_dock_pump"},/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "eoutpost_solar_sensor"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) +"wr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/outpost/engineering/hallway) "ws" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "wt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wu" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/outpost/engineering/atmospherics) @@ -1169,7 +1170,7 @@ "wz" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "wB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) -"wC" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "eoutpost_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "edock_airlock"; pixel_x = 30; pixel_y = 0; req_access = list(10); tag_airpump = "edock_pump"; tag_chamber_sensor = "edock_sensor"; tag_exterior_door = "edock_outer"; tag_interior_door = "edock_inner"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) +"wC" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "edock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/turf/space,/area/space) "wD" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wE" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wF" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 15000},/turf/simulated/floor,/area/outpost/engineering/atmospherics) @@ -1179,9 +1180,7 @@ "wJ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wK" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "wL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "edock_outer"; locked = 1; name = "Engineering Dock Airlock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) -"wM" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/outpost/engineering/hallway) "wN" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "edock_outer"; locked = 1; name = "Engineering Dock Airlock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) -"wO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "edock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/turf/space,/area/space) "wP" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/space,/area/space) "wQ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "wR" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/outpost/engineering/atmospherics) @@ -1742,28 +1741,28 @@ aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababababqLqLqLqLqLqLqLqLabababababqLqLqLqLabab aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababababqLqLqLqLqLqLqLqLababababababqLqLqLababababababqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygyqcgygygybdababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygyqcgygygybdababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygyqcgygygybdababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygyqcgygygybdbdababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqJqJqJqJqJqJqJqJqJqJqJqJqJqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygyqcgygygybdbdababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaqLaaaaaaaaaaaaaaaaaaaaaaaaaaqJqJqJqJqJqJqJqJqJqJqJqJqJqJaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygygyqcgygygygybdbdbdbdbdababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaeaeaaaaaaaaaaaaaaaaaeaaaaaaaeaaaaaaaeaaaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygygyqcgygygygygygygygybdbdabababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaqOqKqQaaqOqKqQaaqOqKqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygygyqcgyrJrigygygygygygybdababababababababababababababababababababababababababababababababababababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqOqRqQaeqOqRqQaeqOqRqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygyqmqlqSqTqlqlqlqGgygybdbdbdababababababababababababababababababababababababababababababababqUqUqUqUqUqUqUabaaaaaaaaaeaaaaaaaaaaaeaaaaaeaeaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLabababababqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaagygygygygygygygypBpCgygygyqcgygygygybdababababababababababababababababababababababababababababababababqUqVqXqWqZqYqUababaaaaaaaeaaaaaaaeaaaeaaaeaeaeaeaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaabdbdgysLgygygygygygygygyqmqlqGgygybdbdabababababababababababababababababababababababababababababababqUqVrbraqUqUqUababaaaaaaaeaeaeaeaeaeaeaeaeaaaaaeaeaaqOqRqQaeqOqRqQaeqOqRqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabbdbdmRbdbdbdbdbdbdgygygygyqcgygygybdbdbdabababababababababababababababababababababababababababababqUqVrfrcqZrgqUabababaaaaaeaaaeaaaaaaaeaaaaaaaaaeaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaababababababababbdbdgygygyqcgygygygygybdbdababababababababababababababababababababababababrhrhrhrhrhrjrkrjrjrjqUqUqUabbdaaaeaaaeaeaaaaaeaaaaaaaaaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbdbdbdaeaeaeaeaeaeaeaeaeaeaebdbdbdbdabababababbdbdgygyqmqlqlqGgygygybdbdababababababbdbdbdababababababababababababababrhrlrnrmrprorrrqrtrsruruqUbdbdrvaeaaaeaaaaaaaeaeaeaeaeaeaeaeqOqRqQaeqOqRqQaeqOqRqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbdbdbdbdsHsHsHsHsHsHsHsHsHsHsHsHsHsHbdbdbdbdababababbdgygygygygyqcgygygygybdbdabababbdbdbdgybdababababababababababababababrhrwrzrxrErArGrFrKrIrFrLrNrMrMdhaeaaaaaaaaaaaeaaaaaeaaaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbdaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebdbdabababababbdbdgygygygyqmqlqlqGgygybdabbdbdbdgygygybdababababababababababababababrhrOrQrPrSrRrGrTrVrUrXrWqUrYrYrYrYrYsarZrZsbscsasbscaaaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJqJqJaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababbdbdbdbdgysMgygyqcgygybdbdbdgygygygygypzpzpzpzabababababababsdsdsdsdrhserQsfshsgsirFsksjrXsmrjsnspsosrsqstsssvsusxswsysarZsbaaaaaeszaeaaaeszaeaaaeszaeaaaeaaqJaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygygygygygyqmqlqSqTqlqlqlqGgygybdbdbdababababababababababababababababababababababababababababababababrjrjrjrjrjrjababaaaaaaaaaeaaaaaaaaaaaeaaaaaeaeaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLabababababqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaagygygygygygygygypBpCgygygyqcgygygygybdababababababababababababababababababababababababababababababababrjqVqXqWoArjabababaaaaaaaeaaaaaaaeaaaeaaaeaeaeaeaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaabdbdgysLgygygygygygygygyqmqlqGgygybdbdabababababababababababababababababababababababababababababababrjqVrbrarjrjrjababaaaaaaaeaeaeaeaeaeaeaeaeaaaaaeaeaaqOqRqQaeqOqRqQaeqOqRqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabbdbdmRbdbdbdbdbdbdgygygygyqcgygygybdbdbdabababababababababababababababababababababababababababababrjqVrfrcqZqYrjabababaaaaaeaaaeaaaaaaaeaaaaaaaaaeaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaababababababababbdbdgygygyqcgygygygygybdbdababababababababababababababababababababababababrErErErErErjrkrjrjrjrjrjqUabbdaaaeaaaeaeaaaaaeaaaaaaaaaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbdbdbdaeaeaeaeaeaeaeaeaeaeaebdbdbdbdabababababbdbdgygyqmqlqlqGgygygybdbdababababababbdbdbdababababababababababababababrErlrnrmrprorrrqrtrsruruqUbdbdrvaeaaaeaaaaaaaeaeaeaeaeaeaeaeqOqRqQaeqOqRqQaeqOqRqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbdbdbdbdsHsHsHsHsHsHsHsHsHsHsHsHsHsHbdbdbdbdababababbdgygygygygyqcgygygygybdbdabababbdbdbdgybdababababababababababababababrErwrzrxrErArGrFrKrIrFrLrNrMrMdhaeaaaaaaaaaaaeaaaaaeaaaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbdaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebdbdabababababbdbdgygygygyqmqlqlqGgygybdabbdbdbdgygygybdababababababababababababababrErOrQrPrSrRrGrTrVrUrXrWqUrYrYrYrYrYsarZsbuquqsasbuqaaaaaaaaqOqRqQaaqOqRqQaaqOqRqQaaqJqJqJaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababbdbdbdbdgysMgygyqcgygybdbdbdgygygygygypzpzpzpzabababababababsdsdsdsdrhserQsfshsgsirFsksjrXsmrjsnspsosrsqrgrgsvsusxswsysarZsbaaaaaeszaeaaaeszaeaaaeszaeaaaeaaqJaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaababababababababababbdbdmRgygyqcgygygygygygygygygygyAwsFsDpzabababababababsdsGsJsIrhsKrQsQtcsYrGrFtetdrFtfrjtktmtltqtntutrsvsutwtvtztytCtAtEtDsNsNsNsNsNsNsNsNsNsNtHtFtIaeqJaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLabqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaababababababababababababbdbdgyqmqlqGgygygygygygygygyAwAetJpzababscscscscabsdtKtMtLrhtNtPtOrEtRrGtStUtTrGtVrjtWtYtXuatZucubuguduiuhujsarZsbaaaaaeukaeaaaeukaeaaaeukaeaaaeaaqJaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaabababababababababababababbdgygygyulgygygygygygygygyAwAeumscscscscuounscscscscupscscuquququqursbuqusuqursbuqutuuuquwuvuyuxuAuzuquBuCscaaaaaaaaqOuFqQaaqOuFqQaaqOuFqQaaqJqJqJaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaabababababababababababababbdbdbdrJuGrigygygygygygygypBAzuDuIuHuKuJuMuLuOuNuQuPuSuRuUuTuWuVuXuWuWuWuZuYuWuWvbvavdvcvfvevhvgvjvivlvktrvmaaaeaaaaqOuFqQaaqOuFqQaaqOuFqQaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaabababababababababababababababbdbdAwvovnvpvpvpvpvpvpvpvpvrvqvtvsvvvuvxvwvwvwvzvyvBvAvCvwvwvDvFvEvwvwvHvGvIvwvKvJvMvLvOvNvLvPsvsvvRvQvSuiaeaeaeaeqOuFqQaeqOuFqQaeqOuFqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababaaaaaaaaaaaaabababababababababababababababababbdbdpBvTpCgygygygygygygyrJsCvUscscscscscscscscscvVvXvWvYvXvZuqwauqwbscscscscscscscscscscscsarZrZsbscwcwdscaaaaaeaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLababababababababqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababbdbdbdbdgyulgygygygygygygygyAwowowbdabababababababwfwewhwgwjwiwlwkwnwmwowfababababababababababaaaaaaaawqwpwrwqaaaaaeaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabqLababababqLqLabababqLqLqLqLqLababababababababqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababbdbdbdbdbdbdgyulgygygygygygygygyAwwsbdbdabababababababwfwewuwtwwwvwvwvwywxwzwfababababababababababaaaaaaaawBwAwCwBaeaeaeaeqOuFqQaeqOuFqQaeqOuFqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababbdgygygygygygyulgygygygygygygygyAwwsbdababababababababwfwewEwDwDwFwHwGwJwIwKwfababababababababababaaaaaaaawMwLwNscwOaawPaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaabababababababababababababababbdbdAwvovnvpvpvpvpvpvpvpvpvrvqvtvsvvvuvxvwvwvwvzvyvBvAvCvwvwvDvFvEvwvwvHvGvIvwvKvJvMvLvOvNvLvPsvsvvRssvSuiaeaeaeaeqOuFqQaeqOuFqQaeqOuFqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababaaaaaaaaaaaaabababababababababababababababababbdbdpBvTpCgygygygygygygyrJsCvUscscscscuquququqscvVvXvWvYvXvZuqwauqwbscuquququququququququqsarZsbuquqwcwduqaaaaaeaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLababababababababqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababbdbdbdbdgyulgygygygygygygygyAwowowbdabababababababwfwewhwgwjwiwlwkwnwmwowfababababababababababaaaaaaaawqwpstwqaaaaaeaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabqLababababqLqLabababqLqLqLqLqLababababababababqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababbdbdbdbdbdbdgyulgygygygygygygygyAwwsbdbdabababababababwfwewuwtwwwvwvwvwywxwzwfababababababababababaaaaaaaawBwAvQwBaeaeaeaeqOuFqQaeqOuFqQaeqOuFqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababbdgygygygygygyulgygygygygygygygyAwwsbdababababababababwfwewEwDwDwFwHwGwJwIwKwfababababababababababaaaaaaaawrwLwNuqwCaawPaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababbdgyqIqlqlqlqlwQgybdbdgygygygybdbdbdbdababababababababwfwewRwvwvwvwTwSwVwUwWwfabababababababababaaaaaaaawXwXwXwXwXwXwXaaaaqOuFqQaaqOuFqQaaqOuFqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLabababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaabababababababababababababababbdgyqcgygygygysLgybdbdbdbdbdbdbdabababababababababababwfwYxawZwZxbxdxcxfxexgwfababababababababaaaaaaaaaawXwXwXwXwXwXwXaaaaqOuFqQaeqOuFqQaeqOuFqQaeqJaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababababababababbdgyqcgybdbdbdmRbdbdabababababababababababababababababwfxhxjxiwvwfxlxkwfxmxnwfabababababababaaaaaaaaaaaawXwXwXwXwXwXwXaaaaqOxoqQaaqOxoqQaaqOxoqQaaqJaaaaaaaaaaaaaaaaaaaaaaaaaa From ed7c8f6513aed75fe145deb3565c68839a81d289 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 12 Aug 2015 00:46:24 -0400 Subject: [PATCH 370/392] Fixes #10517 Also changes the eng break room chairs back to brown and lowers the amount of phoron glass in the workshop to be just enough to replace the SM core. --- maps/exodus-1.dmm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 60952707c3..26c8a80c44 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3857,7 +3857,7 @@ "bwi" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bwj" = (/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/glass,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bwk" = (/turf/simulated/wall,/area/medical/medbay2) -"bwl" = (/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/glass,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) +"bwl" = (/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/glass,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) "bwm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay2) "bwn" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/aiModule/reset,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bwo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/assembly/chargebay) @@ -4304,7 +4304,7 @@ "bEN" = (/obj/machinery/atm{pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_three) "bEO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central_three) "bEP" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/hallway/primary/central_three) -"bEQ" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads/hop) +"bEQ" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads/hop) "bER" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) "bES" = (/obj/structure/closet/wardrobe/medic_white,/obj/machinery/camera/network/medbay{c_tag = "Medbay Cloning"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bET" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/hop) @@ -5231,7 +5231,7 @@ "bWE" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bWF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing) "bWG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitered_a"; tag = "icon-whitered_a (WEST)"},/area/medical/patient_wing) -"bWH" = (/obj/structure/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWH" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/carpet,/area/engineering/break_room) "bWI" = (/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) "bWJ" = (/turf/simulated/floor/carpet,/area/engineering/break_room) "bWK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "whitered_b"; tag = "icon-whitered_b (WEST)"},/area/medical/patient_wing) @@ -5344,7 +5344,7 @@ "bYN" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYP" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/heads/chief) -"bYQ" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bYQ" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "bYR" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) "bYS" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) "bYT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/engineering/break_room) @@ -5468,7 +5468,7 @@ "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbi" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the engine room."; layer = 3.3; name = "Engine Monitor"; network = list("Engine"); pixel_x = 0; pixel_y = 28},/obj/machinery/computer/station_alert/all,/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbj" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"cbk" = (/obj/structure/bed/chair/comfy/beige{dir = 4; icon_state = "comfychair_preview"; tag = "icon-comfychair (EAST)"},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cbk" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) "cbl" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "cbm" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) "cbn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Diagnostics Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/sleeper) @@ -5612,8 +5612,8 @@ "cdV" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/medical/reception) "cdW" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/medical/reception) "cdX" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cdY" = (/obj/structure/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_preview"; tag = "icon-comfychair (NORTH)"},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cdZ" = (/obj/structure/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_preview"; tag = "icon-comfychair (NORTH)"},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cdY" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cdZ" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) "cea" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "toxin_test_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "toxin_test_sensor"; pixel_x = 0; pixel_y = 16},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/research_starboard) "ceb" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Break Room"; dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) "cec" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Access"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) @@ -5891,7 +5891,7 @@ "cjo" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/foyer) "cjq" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Foyer"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cjr" = (/obj/structure/window/basic{dir = 8},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northright{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) +"cjr" = (/obj/structure/window/basic{dir = 8},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northright{dir = 8; name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cjs" = (/obj/structure/window/basic{dir = 4},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cjt" = (/obj/machinery/button/remote/airlock{id = "engineering_cubicle"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 8; specialfunctions = 4},/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cju" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) @@ -6517,7 +6517,7 @@ "cvq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cvr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering/atmos) "cvs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway North"; dir = 4},/turf/simulated/floor,/area/engineering) -"cvt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/glass/phoronrglass{amount = 50},/turf/simulated/floor,/area/engineering/workshop) +"cvt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/glass/phoronrglass{amount = 20},/turf/simulated/floor,/area/engineering/workshop) "cvu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering) "cvv" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/steel_reinforced,/turf/simulated/floor,/area/engineering/workshop) "cvw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/engineering) @@ -7022,7 +7022,7 @@ "cFb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes) "cFc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) "cFd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cFe" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cFe" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) "cFf" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) "cFg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) "cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle) @@ -7035,7 +7035,7 @@ "cFo" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/personal/patient,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) "cFq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"cFr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_one_access = list(13,11,24)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) +"cFr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_one_access = list(13,11,24)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) "cFs" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) "cFt" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) "cFu" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) @@ -7536,8 +7536,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbXvbNwbUxaaabUybPcbPcbUzbXxbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbYabwabUTbUUbYtbYobYwbUTbUYbUZbVabVbbUebTPbVdbYybVgbVhbVibUlbYzbUmbRjbUCbYHbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbYMbzAbzAbVwbCxbSLbCxbVxaafbnxbYSbYYblSbVBbYZbZcbZbbZebUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbZibLUbKuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybZrbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbZsbWlbWcbWdbZubWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebZvbWfbWKbWLbZzbxVbMObxWbZBbzlbWSbWTbWhbWSbWSbZCbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbZLbZLbXbbZObXdbZSbZPbXgbXhbMVbVHbZUbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbZVbWmcaabRScanbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUcaobWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScaxbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYncaJbYpbYqbYrbYscaLbYrbYubYvbILaafbnxcaMcaWbrBbVBcaXcbecbdcbfbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbgbNxbYIbYJbYKbYIbYIbYLcbibYNbYObYPcbjbXwbXzbXybYebXAbYjbWJcbkbYxbYRbYQbYTcbmbYVbYUbYXbYWcaqbZhbNScbnbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcbrbTJbTJcbycbtcbAcaIcbBbWQbZxbZycbCbZybZAbZacbDbZabZAcbJbYfbMNbIwbZEbXWbXVbZdcbKbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVcbLbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamcbOaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIcbQcabcbWcadbZWcafcccbZXcaecaccahcagcaibWJcbkcajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatccecamcawccncaycazbTJccrcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcctbZAccucaNcaObZAbXXbYfbPObIwbXYccvbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwccEbwwbwwccGcaYcaucaAcavccJcaZcbacbcccQccMccYccScbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbgbNxbYIbYJbYKbYIbYIbYLcbibYNbYObYPcbjbXwbXzbXybYebXAbYjbWJbYQbYxbYRcbkbYTcbmbYVbYUbYXbYWcaqbZhbNScbnbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcbrbTJbTJcbycbtcbAcaIcbBbWQbZxbZycbCbZybZAbZacbDbZabZAcbJbYfbMNbIwbZEbXWbXVbZdcbKbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVcbLbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamcbOaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIcbQcabcbWcadbZWcafcccbZXcaecaccahcagcaibWJbYQcajcakcbkcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatccecamcawccncaycazbTJccrcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcctbZAccucaNcaObZAbXXbYfbPObIwbXYccvbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwccEbwwbwwccGcaYcaucaAcavccJcaZcbacbcccQccMccYccScbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbcdmcdjcblcdpcdBcdtcbpcbobYIcdGcbsbYIbYIcdNcbucbvcbwcbxcdTcbqbXzbXybYecbzcdUbWJbWJcdYcdZbWJcebbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceccbEbTJcedcbMcbNcefcaEcbPceicelcaIbZxbWQcbRbZycbScbTbZAcbUcbVceobZAccqbYfbYbbYdbYcbYiccsccAbYccepbYkbYlcktbZDbZwbZFcktcerbZGccCccBceuccDccPccFcexcevceHceCcevceIceZceKcfeccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbOFbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcdjccTcficdBccUccWccVbYIcfjccHccIcfkccKccLcflccNccOcfmccXcdaccZcdecdbcfocdycdQcdFcekceecemcfscdccddaJEcdfcaqbTFcbIcdgcdhcdicfucdkcdlcfwcdncdocfxcdqcdrcdscfycaEcducdvcdwcaIbZxbWQcenbZycdxcfzbZAcdzcdAcfAbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScfGbyebydcdScdSbXjcdXcfLcfIceacfMcfUcfRbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccfZcegcegcehbKtbKtbLTbLTcgebLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIcgfcgmcgjcgjcgjcgocewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJcgCcgBbTJcedcbNceJcefcaEcgOceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcgRbYcbYcchBcgVcjfcdLcgWcfbcfbcfccdOcfdcgXcffcdOcfgcfhcfhcfhcgYchacgZchdchbcfnchicfpcdScfqcfrchmbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From c70544f021d080dd5731795ec5fbcfbcd7e62417 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 12 Aug 2015 00:58:40 -0400 Subject: [PATCH 371/392] Fixes #10509 --- code/modules/clothing/head/soft_caps.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index d41a4598a4..e326d0a082 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -2,7 +2,6 @@ name = "cargo cap" desc = "It's a peaked cap in a tasteless yellow color." icon_state = "cargosoft" - flags = HEADCOVERSEYES item_state = "helmet" var/flipped = 0 siemens_coefficient = 0.9 From 9dacc146cd96b6361002a4c48a01621900e32e30 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 12 Aug 2015 06:15:06 +0100 Subject: [PATCH 372/392] Debug code to try to figure out the cause of the player-panel etc breaking --- code/__HELPERS/lists.dm | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index ed0f0c9780..25267f4f6e 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -211,14 +211,23 @@ proc/listclearnulls(list/list) return (result + R.Copy(Ri, 0)) //Mergesort: divides up the list into halves to begin the sort -/proc/sortAtom(var/list/atom/L, var/order = 1) +/proc/sortAtom(var/list/atom/L, var/order = 1, first = 1) if(isnull(L) || L.len < 2) + if(!L) + testing("sortAtom() called with null as first parameter!") return L + if(first) + var/msg = "sortAtom() called with list([L.len]): " + for(var/x in L) + msg += "'[x]'; " + testing(msg) var/middle = L.len / 2 + 1 - return mergeAtoms(sortAtom(L.Copy(0,middle)), sortAtom(L.Copy(middle)), order) + return mergeAtoms(sortAtom(L.Copy(0,middle), order, 0), sortAtom(L.Copy(middle), order, 0), order) //Mergsort: does the actual sorting and returns the results back to sortAtom /proc/mergeAtoms(var/list/atom/L, var/list/atom/R, var/order = 1) + if(!L || !R) + testing("mergeAtoms([L] ([L ? L.len : "*null*"]), [R] ([R ? R.len : "*null*"]))") var/Li=1 var/Ri=1 var/list/result = new() @@ -231,8 +240,14 @@ proc/listclearnulls(list/list) result += R[Ri++] if(Li <= L.len) - return (result + L.Copy(Li, 0)) - return (result + R.Copy(Ri, 0)) + . = (result + L.Copy(Li, 0)) + if(!.) + testing("mergeAtoms returning [.]") + return + . = (result + R.Copy(Ri, 0)) + if(!.) + testing("mergeAtoms returning [.]") + return From a90e1f3f7e81bf853dda40f6557f255c45155021 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 12 Aug 2015 01:16:08 -0400 Subject: [PATCH 373/392] Fixes #10501 Also future proofs spaceheaters --- code/game/machinery/atmoalter/portable_atmospherics.dm | 10 +++++++++- code/game/machinery/atmoalter/pump.dm | 1 + code/game/machinery/atmoalter/scrubber.dm | 2 +- code/game/machinery/spaceheater.dm | 10 +++++++++- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index 9ba8c2de49..66cde27a52 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -163,6 +163,13 @@ var/last_power_draw = 0 var/obj/item/weapon/cell/cell +/obj/machinery/portable_atmospherics/powered/powered() + if(use_power) //using area power + return ..() + if(cell && cell.charge) + return 1 + return 0 + /obj/machinery/portable_atmospherics/powered/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/cell)) if(cell) @@ -176,6 +183,7 @@ cell = C C.loc = src user.visible_message("\blue [user] opens the panel on [src] and inserts [C].", "\blue You open the panel on [src] and insert [C].") + power_change() return if(istype(I, /obj/item/weapon/screwdriver)) @@ -187,8 +195,8 @@ cell.add_fingerprint(user) cell.loc = src.loc cell = null + power_change() return - ..() /obj/machinery/portable_atmospherics/proc/log_open() diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 8d80e57e78..ad664049fc 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -102,6 +102,7 @@ //ran out of charge if (!cell.charge) + power_change() update_icon() src.updateDialog() diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 6e52f88b3e..06fa9e1f30 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -77,6 +77,7 @@ //ran out of charge if (!cell.charge) + power_change() update_icon() //src.update_icon() @@ -147,7 +148,6 @@ volume = 50000 volume_rate = 5000 - chan use_power = 1 idle_power_usage = 500 //internal circuitry, friction losses and stuff active_power_usage = 100000 //100 kW ~ 135 HP diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 14a081ee2e..f1c3cf5911 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -32,6 +32,11 @@ user << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%" return +/obj/machinery/space_heater/powered() + if(cell && cell.charge) + return 1 + return 0 + /obj/machinery/space_heater/emp_act(severity) if(stat & (BROKEN|NOPOWER)) ..(severity) @@ -56,6 +61,7 @@ C.add_fingerprint(usr) user.visible_message("\blue [user] inserts a power cell into [src].", "\blue You insert the power cell into [src].") + power_change() else user << "The hatch must be open to insert a power cell." return @@ -125,6 +131,7 @@ usr.put_in_hands(cell) cell.add_fingerprint(usr) cell = null + power_change() if("cellinstall") @@ -135,7 +142,7 @@ cell = C C.loc = src C.add_fingerprint(usr) - + power_change() usr.visible_message("\blue [usr] inserts \the [C] into \the [src].", "\blue You insert \the [C] into \the [src].") updateDialog() @@ -176,4 +183,5 @@ env.merge(removed) else on = 0 + power_change() update_icon() From da6a3e98d8ad9c560954b6427d3ef3adeee84183 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 11 Aug 2015 21:38:26 +0200 Subject: [PATCH 374/392] Fixes a borg spawn runtime. Adds client check to prevent null.statpanel runtime. --- code/modules/mob/living/silicon/robot/robot.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 549e14a5f6..872cf5f075 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -421,8 +421,7 @@ // update the status screen display /mob/living/silicon/robot/Stat() ..() - statpanel("Status") - if (client.statpanel == "Status") + if (statpanel("Status")) show_cell_power() show_jetpack_pressure() stat(null, text("Lights: [lights_on ? "ON" : "OFF"]")) From 32338716bfc8ddd33e989eca138414c4fb37816b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 08:28:39 +0200 Subject: [PATCH 375/392] Re-adds missing bot check. Not all bots are of the type /mob/living/bot yet. Re-adds the /obj/machinery/bot-type check on airlock bump. Fixes #10507. --- code/game/machinery/doors/door.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 99982675d0..912705e8f9 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -103,6 +103,13 @@ bumpopen(M) return + if(istype(AM, /obj/machinery/bot)) + var/obj/machinery/bot/bot = AM + if(src.check_access(bot.botcard)) + if(density) + open() + return + if(istype(AM, /mob/living/bot)) var/mob/living/bot/bot = AM if(src.check_access(bot.botcard)) From 3cb6b1ca7923391a6bdf3bd5ba83636dc1e53ec5 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 08:33:57 +0200 Subject: [PATCH 376/392] Holodeck stool icon fix. Backports the icon state change from dev. Fixes #10515. --- code/modules/holodeck/HolodeckObjects.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index 6e5c4c4c5a..8bfca4fde8 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -46,8 +46,8 @@ /obj/structure/holostool name = "stool" desc = "Apply butt." - icon = 'icons/obj/objects.dmi' - icon_state = "stool" + icon = 'icons/obj/furniture.dmi' + icon_state = "stool_padded_preview" anchored = 1.0 pressure_resistance = 15 From 7031ff0b434b0fc7543847891e7bc151d333a88c Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 09:07:48 +0200 Subject: [PATCH 377/392] Fixes human spawn runtime. Similar to #10503. --- code/modules/mob/living/carbon/human/human.dm | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e6b0744538..bce6d4e859 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -52,16 +52,13 @@ /mob/living/carbon/human/Stat() ..() - statpanel("Status") - - stat(null, "Intent: [a_intent]") - stat(null, "Move Mode: [m_intent]") - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) - - if (client.statpanel == "Status") + if(statpanel("Status")) + stat(null, "Intent: [a_intent]") + stat(null, "Move Mode: [m_intent]") + if(emergency_shuttle) + var/eta_status = emergency_shuttle.get_status_panel_eta() + if(eta_status) + stat(null, eta_status) if (internal) if (!internal.air_contents) From 48d5e73729a826c4de9e3aa7acb96776610437aa Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 09:10:16 +0200 Subject: [PATCH 378/392] Fixes an observer runtime. --- code/modules/mob/dead/observer/observer.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index f47d8ec54b..d8645f7299 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -188,8 +188,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/Stat() ..() - statpanel("Status") - if (client.statpanel == "Status") + if(statpanel("Status")) stat(null, "Station Time: [worldtime2text()]") if(emergency_shuttle) var/eta_status = emergency_shuttle.get_status_panel_eta() From 3bba0f95b1603e4d7be3969777ca9fe80e9b907e Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 09:14:36 +0200 Subject: [PATCH 379/392] Qdels the photo dummy. --- code/modules/paperwork/photography.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index c7886a3b1b..90ed7ccf59 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -255,7 +255,7 @@ var/global/photo_count = 0 viewer = user.client.eye var/can_see = (dummy in viewers(world.view, viewer)) - del(dummy) + qdel(dummy) return can_see /obj/item/device/camera/proc/captureimage(atom/target, mob/user, flag) From 93e666e67cf602e5f87c403c151e31337c624493 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 09:22:46 +0200 Subject: [PATCH 380/392] Adds a missing not-null check that is made in another case. --- code/game/atoms_movable.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index c4d2abbea5..0ea22f23d7 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -164,7 +164,7 @@ a = get_area(src.loc) else var/error = dist_y/2 - dist_x - while(src && target &&((((src.y < target.y && dy == NORTH) || (src.y > target.y && dy == SOUTH)) && dist_travelled < range) || (a.has_gravity == 0) || istype(src.loc, /turf/space)) && src.throwing && istype(src.loc, /turf)) + while(src && target &&((((src.y < target.y && dy == NORTH) || (src.y > target.y && dy == SOUTH)) && dist_travelled < range) || (a && a.has_gravity == 0) || istype(src.loc, /turf/space)) && src.throwing && istype(src.loc, /turf)) // only stop when we've gone the whole distance (or max throw range) and are on a non-space tile, or hit something, or hit the end of the map, or someone picks it up if(error < 0) var/atom/step = get_step(src, dx) From 3e4ec4d7b7615411034c36c1b457f35ddc44559b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 09:41:22 +0200 Subject: [PATCH 381/392] NanoUI windows now close on Destroy(), preventing all sorts of qdel issues. --- code/game/objects/objs.dm | 3 ++- code/modules/nano/nanomanager.dm | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 68bdf5e422..a825334a44 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -18,7 +18,8 @@ /obj/Destroy() processing_objects -= src - ..() + nanomanager.close_uis(src) + return ..() /obj/Topic(href, href_list, var/nowindow = 0, var/datum/topic_state/state = default_state) // Calling Topic without a corresponding window open causes runtime errors diff --git a/code/modules/nano/nanomanager.dm b/code/modules/nano/nanomanager.dm index f6325fd4f7..64c59bcefa 100644 --- a/code/modules/nano/nanomanager.dm +++ b/code/modules/nano/nanomanager.dm @@ -105,6 +105,26 @@ update_count++ return update_count + /** + * Close all /nanoui uis attached to src_object + * + * @param src_object /obj|/mob The obj or mob which the uis are attached to + * + * @return int The number of uis close + */ +/datum/nanomanager/proc/close_uis(src_object) + var/src_object_key = "\ref[src_object]" + if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) + return 0 + + var/close_count = 0 + for (var/ui_key in open_uis[src_object_key]) + for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) + if(ui && ui.src_object && ui.user && ui.src_object.nano_host()) + ui.close() + close_count++ + return close_count + /** * Update /nanoui uis belonging to user * From 67c79e7a1b603ba4188901f4fe370f44ad8bc385 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 13:12:52 +0200 Subject: [PATCH 382/392] Adds sanity checks for stripping. Mobs can no longer strip other mobs while prone, unconscious, or buckled down. Fixes #10553. --- code/modules/mob/living/carbon/human/human.dm | 4 ++++ code/modules/mob/living/carbon/human/stripping.dm | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e6b0744538..478ac312e6 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -224,6 +224,10 @@ /mob/living/carbon/human/show_inv(mob/user as mob) + // TODO : Change to incapacitated() on merge. + if(user.stat || user.lying || user.resting || user.buckled) + return + var/obj/item/clothing/under/suit = null if (istype(w_uniform, /obj/item/clothing/under)) suit = w_uniform diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index 8eaef15861..aa08a0efd5 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -3,6 +3,11 @@ if(!slot_to_strip || !istype(user)) return + // TODO : Change to incapacitated() on merge. + if(user.stat || user.lying || user.resting || user.buckled) + user << browse(null, text("window=mob[src.name]")) + return + var/obj/item/target_slot = get_equipped_item(text2num(slot_to_strip)) switch(slot_to_strip) From 1b7b69306ca9983d1ab9aef6b2c87fc0074eecc5 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 13:33:51 +0200 Subject: [PATCH 383/392] Prevents APC wires from being displayed to the AI. Restores and makes the mob type check more specific. Fixes #10559. --- code/modules/power/apc.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 8b6771dff3..319de5f4a3 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -738,7 +738,7 @@ if(!user) return - if(wiresexposed /*&& (!istype(user, /mob/living/silicon))*/) //Commented out the typecheck to allow engiborgs to repair damaged apcs. + if(wiresexposed && !istype(user, /mob/living/silicon/ai)) wires.Interact(user) return ui_interact(user) From 249db0b03d6b0765bbffe6a90b4c996791f8af8c Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 12 Aug 2015 14:42:52 +0200 Subject: [PATCH 384/392] Fixes the One Crew Member module. Didn't return properly in install(). Override transmitInstructions() when addAdditionalLaws() was more than sufficient. --- code/game/objects/items/weapons/AI_modules.dm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index f620fd64e9..cb58d3fd2e 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -83,7 +83,7 @@ AI MODULES laws.sync(target, 0) addAdditionalLaws(target, sender) - target << "[sender] has uploaded a change to the laws you must follow, using \an [src]. From now on: " + target << "\The [sender] has uploaded a change to the laws you must follow, using \an [src]. From now on: " target.show_laws() /obj/item/weapon/aiModule/proc/log_law_changes(var/mob/living/silicon/ai/target, var/mob/sender) @@ -140,13 +140,7 @@ AI MODULES if(!targetName) usr << "No name detected on module, please enter one." return 0 - ..() - -/obj/item/weapon/aiModule/oneHuman/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) - ..() - var/law = "Only [targetName] is a crew member." - target << "[sender.real_name] attempted to modify your zeroth law." // And lets them know that someone tried. --NeoFite - target << "It would be in your best interest to play along with [sender.real_name] that [law]" + return ..() /obj/item/weapon/aiModule/oneHuman/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Only [targetName] is an crew member." From 1e8e0547e49440d94334e8e068b4be753e210688 Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Wed, 12 Aug 2015 11:58:11 -0400 Subject: [PATCH 385/392] Fixes carbon fire_act() Caused fire to actually cool down the mob if the mob was already hotter than the exposed temperature. --- code/modules/mob/living/carbon/carbon.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index b1dee3b207..9a8db5b898 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -372,8 +372,8 @@ /mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() - var/temp_inc = max(BODYTEMP_HEATING_MAX*(1-get_heat_protection()), 0) - bodytemperature = min(bodytemperature + temp_inc, exposed_temperature) + var/temp_inc = max(min(BODYTEMP_HEATING_MAX*(1-get_heat_protection()), exposed_temperature - bodytemperature), 0) + bodytemperature += temp_inc /mob/living/carbon/can_use_hands() if(handcuffed) From 9609ce0b0dee1dc8a6dcd99b0c217783275d0891 Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Wed, 12 Aug 2015 12:06:31 -0400 Subject: [PATCH 386/392] Fixes #10546 --- code/modules/organs/organ_internal.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index 05a73c703c..39a8a142cf 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -79,7 +79,7 @@ owner.b_eyes ? owner.b_eyes : 0 ) -/obj/item/organ/eyes/take_damage() +/obj/item/organ/eyes/take_damage(amount, var/silent=0) var/oldbroken = is_broken() ..() if(is_broken() && !oldbroken && owner && !owner.stat) From a62edc5b3a56d6720d3711c23bc158ec96debd0a Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Wed, 12 Aug 2015 12:21:28 -0400 Subject: [PATCH 387/392] Fixes #10548 --- code/game/objects/items/weapons/clown_items.dm | 2 +- code/game/objects/items/weapons/mop.dm | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index f86359c21d..d34456e453 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -32,7 +32,7 @@ else if(istype(target,/turf)) user << "You scrub \the [target.name] clean." var/turf/T = target - T.clean() + T.clean(src) else user << "You clean \the [target.name]." target.clean_blood() diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 17af445e19..abf5e08a3b 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -16,6 +16,7 @@ /obj/item/weapon/mop/New() create_reagents(5) +//expects an atom containing the reagents used to clean the turf /turf/proc/clean(atom/source) if(source.reagents.has_reagent("water", 1)) clean_blood() From cefd32fa69d1b592be777b68360dd7b90da77a96 Mon Sep 17 00:00:00 2001 From: SparklySheep Date: Wed, 12 Aug 2015 12:09:00 -0500 Subject: [PATCH 388/392] Update glasses.dm --- code/modules/clothing/glasses/glasses.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 0c778dc04a..8474d39eea 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -61,11 +61,6 @@ ..() overlay = global_hud.science -/obj/item/clothing/glasses/science/scanners - name = "Scanning Goggles" - desc = "A very oddly shaped pair of goggles with bits of wire poking out the sides. A soft humming sound emanates from it." - icon_state = "uzenwa_sissra_1" - /obj/item/clothing/glasses/night name = "Night Vision Goggles" desc = "You can totally see in the dark now!" @@ -113,6 +108,11 @@ item_state = "glasses" prescription = 1 body_parts_covered = 0 + +/obj/item/clothing/glasses/regular/scanners + name = "Scanning Goggles" + desc = "A very oddly shaped pair of goggles with bits of wire poking out the sides. A soft humming sound emanates from it." + icon_state = "uzenwa_sissra_1" /obj/item/clothing/glasses/regular/hipster name = "Prescription Glasses" From 27296e7cafd1e82ca95d066541ad8d1712502160 Mon Sep 17 00:00:00 2001 From: SparklySheep Date: Wed, 12 Aug 2015 12:13:28 -0500 Subject: [PATCH 389/392] Update preferences_gear.dm --- code/modules/client/preferences_gear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 25e1da639f..5be7e2dcde 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -279,7 +279,7 @@ var/global/list/gear_datums = list() /datum/gear/scanning_goggles display_name = "scanning goggles" - path = /obj/item/clothing/glasses/science/scanners + path = /obj/item/clothing/glasses/regular/scanners cost = 1 slot = slot_glasses From 9831aede3fdc31a4680ffcb26042a15e0346d680 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 13 Aug 2015 03:31:57 +0930 Subject: [PATCH 390/392] Fixes drone pulling. --- .../mob/living/silicon/robot/drone/drone.dm | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 237a714cc8..295fb4159e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -265,19 +265,17 @@ /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) - if(istype(AM,/obj/item/pipe) || istype(AM,/obj/structure/disposalconstruct)) - ..() - else if(istype(AM,/obj/item)) - var/obj/item/O = AM - if(O.w_class > can_pull_size) - src << "You are too small to pull that." - return + if(!(istype(AM,/obj/item/pipe) || istype(AM,/obj/structure/disposalconstruct))) + if(istype(AM,/obj/item)) + var/obj/item/O = AM + if(O.w_class > can_pull_size) + src << "You are too small to pull that." + return else - ..() - else - if(!can_pull_mobs) - src << "You are too small to pull that." - return + if(!can_pull_mobs) + src << "You are too small to pull that." + return + ..() /mob/living/silicon/robot/drone/add_robot_verbs() src.verbs |= silicon_subsystems From 64a89fc5e4f742b0aab1ba51c592288b4db50a4e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 13 Aug 2015 03:33:28 +0930 Subject: [PATCH 391/392] Removes seed colour from nymphs. --- code/modules/hydroponics/seed.dm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 90870d4bf3..108a242636 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -689,10 +689,11 @@ else product = new /obj/item/weapon/reagent_containers/food/snacks/grown(get_turf(user),name) if(get_trait(TRAIT_PRODUCT_COLOUR)) - product.color = get_trait(TRAIT_PRODUCT_COLOUR) - if(istype(product,/obj/item/weapon/reagent_containers/food)) - var/obj/item/weapon/reagent_containers/food/food = product - food.filling_color = get_trait(TRAIT_PRODUCT_COLOUR) + if(!istype(product, /mob)) + product.color = get_trait(TRAIT_PRODUCT_COLOUR) + if(istype(product,/obj/item/weapon/reagent_containers/food)) + var/obj/item/weapon/reagent_containers/food/food = product + food.filling_color = get_trait(TRAIT_PRODUCT_COLOUR) if(mysterious) product.name += "?" From c5d624eb933e9e90e20a58394daefaaccddb28ab Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 12 Aug 2015 21:03:32 +0200 Subject: [PATCH 392/392] Fixes QM office door access requirements. Now checks for quartermaster access, instead of captain. Fixes #10565. Also gives the QM the ability to see all the doors his buttons can open. --- maps/exodus-1.dmm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 26c8a80c44..666029a42a 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -4443,7 +4443,7 @@ "bHw" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) "bHx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/miningdock) "bHy" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_y = 24},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/miningdock) -"bHz" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/quartermaster/qm) +"bHz" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/quartermaster/qm) "bHA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bHB" = (/turf/simulated/floor,/area/quartermaster/qm) "bHC" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/qm) @@ -4521,7 +4521,7 @@ "bIW" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor,/area/quartermaster/miningdock) "bIX" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/critical{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/quartermaster/miningdock) "bIY" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor,/area/quartermaster/miningdock) -"bIZ" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/windowtint{pixel_x = 24; pixel_y = -24},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "qmdoor"; name = "Office Door Control"; pixel_x = 15; pixel_y = -25; req_access = list(20)},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "cargodoor"; name = "Cargo door control"; pixel_x = 15; pixel_y = -34; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) +"bIZ" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/windowtint{pixel_x = 24; pixel_y = -24},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "qmdoor"; name = "office door control"; pixel_x = 15; pixel_y = -25; req_access = list(41)},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "cargodoor"; name = "cargo door control"; pixel_x = 15; pixel_y = -34; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) "bJa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - South Southwest"},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) "bJb" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) "bJc" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIW"; location = "QM"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/hallway/primary/central_three) @@ -7380,6 +7380,7 @@ "cLV" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "SupermatterPort"; layer = 2.7; name = "Reactor Blast Door"; opacity = 0},/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cLW" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "SupermatterPort"; layer = 2.7; name = "Reactor Blast Door"; opacity = 0},/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cLX" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "SupermatterPort"; layer = 2.7; name = "Reactor Blast Door"; opacity = 0},/obj/structure/grille,/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLY" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7524,8 +7525,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbAVbzQbAVbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbDYbgGbrNbwXbgGbqlbCRbgGbgGbEgbxcbvtbAbbCTbxcbCUbvwbCVbEhbEibAWbxlbvwbEkbEjbEpbAhbErbErbErbAjbEubEsbEwbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbECbDvbEFbDxbDybDzbDAbyWbEKbELbCjbEMbwmbDEbDFbwmbDGbDHbERbDJbESbDLbDMbCpbEUbDObBTbEVbDRbCpbVLbVMbDUbVAbDWbDXbDXbEWbDZbEabEbbEcbEdbEebEfbEYbEXbEZbCvbFbbFabFobwwbwwbwwbwwbwwbFybFrbEnbzKbzMbCJbEobFFbCJbzKbzLbzMbFQbCJbFUaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbFVbExbFVbEybEzbEAbEAbEAbEAbEAbEBbGfbEDbzTbEEbdPbGgbEGbEHbEIbEJbGibGhbGkbGjbGvbtCbENbAbbEObEPbyEbvwbEQbGubGAbBMbETbvwbBPbGCbGDbAhaaaaaaaaabAjbGWbGEbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHabFjbFkbFlbFmbFnbHfbFpbFqbxCbxFbxFbHibxFbwkbFsbFtbFubFvbFwbFxbDJbHjbDLbFzbFAbFBbDObFCbFDbFEbHkbVlbDXbHlbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbHmbFRbFSbCvbHwbHvbHMbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHNbHNbHObHQbHPbHRbEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbHSbGtbGvbGwbGxbGybGzbtCbvtbAbbHUbGBbtCbtGbtGbtGbtGbtGbHVbtGbtGbtGbHZbtGbtGbtGbtGbtGbIfbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbHabIobFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbIrbGXbGYbGZbIubHbbHcbHdbHebIvbCpbUSbUfbwwbwwbwwbwwbwwbIAbwwbwwbwwbzAbIBbzAbzAbIDbBhbCubCvbHwbIMbIRbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCnbBybITbIUbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbIYbIXbHxbHybGvbHzbIZbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbJabJqbJbbJrbAabAabJDbJWbJVbAabHTbAabzZbHHbKJbHWbHXbHYbJXbxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebKdbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqbKfbFDbIsbItbKgbCpbKhbIwbIxbIybUdbLybKibICbKjbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbKzbKobINbIObIPbIQbKBbGabGbbISbEnbEnbEnbCJbCJbCJbKVbKUbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabLaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbLnbEmbIVbIWbLrbLpbLzbLxbLFbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebLHbJkbJlbLIbJnbJobLKbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbLWbGHbDzbHAbFibDVbxFbLYbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbMhbMlbMibJYbIFbJZbKabKbbKbbzAbKcbMqbMpbMxbMwbMCbMybMHbMFbKkbGabGbbKlbEnbKmbMIbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbIYbIXbHxbHybLrbHzbIZbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbJabJqbJbbJrbAabAabJDbJWbJVbAabHTbAabzZbHHbKJbHWbHXbHYbJXbxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebKdbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqbKfbFDbIsbItbKgbCpbKhbIwbIxbIybUdbLybKibICbKjbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbKzbKobINbIObIPbIQbKBbGabGbbISbEnbEnbEnbCJbCJbCJbKVbKUbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabLaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbLnbEmbIVbIWcLYbLpbLzbLxbLFbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebLHbJkbJlbLIbJnbJobLKbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbLWbGHbDzbHAbFibDVbxFbLYbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbMhbMlbMibJYbIFbJZbKabKbbKbbzAbKcbMqbMpbMxbMwbMCbMybMHbMFbKkbGabGbbKlbEnbKmbMIbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbMMbKAbIVbKAbMPbKCbMSbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbMXbMTbKWbKXbcLbKYaRpaRpaRpaJlbMZbFlbFnbNdbJmbNfbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbNhbLqbNkbLsbLtbCpbLubLvbIxbLwbFGbLybNqbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbSLbCvbwwbLGbNtbNsbLJbNzbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNAbLXbNBbLVbLZbMabMbbGtbMcbMdbMebMfbMgbNLbNKbMjbMjbMkbtCbtCbtCbNQbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbNZbtCbtCbtCaJlaJlbObaJlaKSaMpbMraJlbKZbOcbOdbGFbLdbxCbDzbLDbxCbOfbMzbMAbMBbwkbOibMDbMEbOkbMGbOlbOnbMJbMKbMLbItbJObFDbFDbOtbJObCpbMNbMObMObMObMObMObMObMObMObMObMObOxbMQbMRbMRbzAbOCbODbMUbwwbMVbMVbMVbMWbOEbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbOFbLRbLRbNebKtbKtbLTbLTbOGbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbOHbNlbNmbNnbKAbNobNpbGvbOIbNrbOJbOKbGvbNubNvbNwbNxaaaaaaaaaaaabNybOLbONbOMbNDbNCbNEbNFbNGbNHbNIbNFbNJbOQbORbNMbNNbNObNPbOTbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbOUbOabPebMzbMvbMubOebPubOgbOhbPvbOjbPCbPAbOmbPDbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbPEbOubOvbOwbPFbMObOybOzbOAbOAbzAbOBbPGbCvbzIbPHbPKbPJbPMbPLbPVbPSbPXbPWbPYbVFbMVbPZbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbOFbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa