From 670868b77bf9d39227ee45656774a9bd20bab4e6 Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Apr 2019 00:45:53 -0400 Subject: [PATCH 001/196] Allow ghosts to be resummoned as skeletons --- code/game/gamemodes/wizard/artefact.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index dbe3146dd7f..f3534375d87 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -618,6 +618,7 @@ var/global/list/multiverse = list() var/list/spooky_scaries = list() var/unlimited = 0 var/heresy = 0 + var/ghost = FALSE /obj/item/necromantic_stone/unlimited unlimited = 1 @@ -633,11 +634,12 @@ var/global/list/multiverse = list() if(M.stat != DEAD) to_chat(user, "This artifact can only affect the dead!") return + if(M.get_ghost() || M.get_ghost().client) // checks if the target is ghosted + ghost = TRUE - if(!M.mind || !M.client) + if((!M.client || !M.mind) && !ghost) // if there is no client connected to the ghost or mob to_chat(user, "There is no soul connected to this body...") return - check_spooky()//clean out/refresh the list if(spooky_scaries.len >= 3 && !unlimited) @@ -648,6 +650,7 @@ var/global/list/multiverse = list() else M.set_species(/datum/species/skeleton) M.visible_message(" A massive amount of flesh sloughs off [M] and a skeleton rises up!") + M.grab_ghost() // yoinks the ghost if its not in the body M.revive() equip_skeleton(M) spooky_scaries |= M From 95ce665b951733c756c2f7f3828b744ee518d72e Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Apr 2019 01:55:22 -0400 Subject: [PATCH 002/196] Update artefact.dm --- code/game/gamemodes/wizard/artefact.dm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index f3534375d87..40da8fe11ec 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -618,7 +618,6 @@ var/global/list/multiverse = list() var/list/spooky_scaries = list() var/unlimited = 0 var/heresy = 0 - var/ghost = FALSE /obj/item/necromantic_stone/unlimited unlimited = 1 @@ -634,12 +633,6 @@ var/global/list/multiverse = list() if(M.stat != DEAD) to_chat(user, "This artifact can only affect the dead!") return - if(M.get_ghost() || M.get_ghost().client) // checks if the target is ghosted - ghost = TRUE - - if((!M.client || !M.mind) && !ghost) // if there is no client connected to the ghost or mob - to_chat(user, "There is no soul connected to this body...") - return check_spooky()//clean out/refresh the list if(spooky_scaries.len >= 3 && !unlimited) @@ -731,7 +724,7 @@ var/global/list/multiverse = list() H.update_dna() H.update_body() - + H.grab_ghost() H.revive() H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), slot_shoes) From fbd5fffcb5d3faea9ba990e3e1b00cb7af676754 Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Apr 2019 17:35:50 -0400 Subject: [PATCH 003/196] Return the check for mind and add in the option to give up body to ghosts(Taken from holopara proc) --- code/game/gamemodes/wizard/artefact.dm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 40da8fe11ec..a8fc2b14532 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -633,6 +633,11 @@ var/global/list/multiverse = list() if(M.stat != DEAD) to_chat(user, "This artifact can only affect the dead!") return + + if(!M.mind || !M.client) + to_chat(user,"There is no soul connected to this body...") + return + check_spooky()//clean out/refresh the list if(spooky_scaries.len >= 3 && !unlimited) @@ -645,6 +650,7 @@ var/global/list/multiverse = list() M.visible_message(" A massive amount of flesh sloughs off [M] and a skeleton rises up!") M.grab_ghost() // yoinks the ghost if its not in the body M.revive() + M.verbs += /mob/living/proc/skeleton_reset equip_skeleton(M) spooky_scaries |= M to_chat(M, "You have been revived by [user.real_name]!") @@ -726,7 +732,7 @@ var/global/list/multiverse = list() H.update_body() H.grab_ghost() H.revive() - + H.verbs += /mob/living/proc/skeleton_reset H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/kitty(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/under/schoolgirl(H), slot_w_uniform) @@ -876,3 +882,20 @@ var/global/list/multiverse = list() heal_brute = 25 heal_burn = 25 heal_oxy = 25 + +/mob/living/proc/skeleton_reset() + set name = "Offer skeleton to ghosts" + set category = "Skeleton" + set desc = "Give up your skeleton to ghosts so you can observe the round." + for(var/mob/living/carbon/human/G in GLOB.mob_list) + if(G == src) + var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as Skeleton?", ROLE_WIZARD, 0, 100) + var/mob/dead/observer/new_stand = null + if(candidates.len) + new_stand = pick(candidates) + to_chat(src,"Your body has been given up and taken over by someone else.") + message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(G)])") + G.ghostize() + G.key = new_stand.key + else + to_chat(src, "There were no ghosts willing to take control. Looks like you're stuck as a skeleton for now.") From db8cb1403af1ae33491478ff3bdc15b66b9b63fd Mon Sep 17 00:00:00 2001 From: Couls Date: Mon, 8 Apr 2019 20:04:10 -0400 Subject: [PATCH 004/196] Update artefact.dm --- code/game/gamemodes/wizard/artefact.dm | 34 ++++++++++++++------------ 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index a8fc2b14532..a35f990845c 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -634,7 +634,7 @@ var/global/list/multiverse = list() to_chat(user, "This artifact can only affect the dead!") return - if(!M.mind || !M.client) + if((!M.mind || !M.client) && !M.grab_ghost()) to_chat(user,"There is no soul connected to this body...") return @@ -650,7 +650,7 @@ var/global/list/multiverse = list() M.visible_message(" A massive amount of flesh sloughs off [M] and a skeleton rises up!") M.grab_ghost() // yoinks the ghost if its not in the body M.revive() - M.verbs += /mob/living/proc/skeleton_reset + M.verbs += /mob/living/carbon/human/proc/skeleton_reset equip_skeleton(M) spooky_scaries |= M to_chat(M, "You have been revived by [user.real_name]!") @@ -732,7 +732,7 @@ var/global/list/multiverse = list() H.update_body() H.grab_ghost() H.revive() - H.verbs += /mob/living/proc/skeleton_reset + H.verbs += /mob/living/carbon/human/proc/skeleton_reset H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/kitty(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/under/schoolgirl(H), slot_w_uniform) @@ -883,19 +883,21 @@ var/global/list/multiverse = list() heal_burn = 25 heal_oxy = 25 -/mob/living/proc/skeleton_reset() +/mob/living/carbon/human/proc/skeleton_reset() set name = "Offer skeleton to ghosts" set category = "Skeleton" set desc = "Give up your skeleton to ghosts so you can observe the round." - for(var/mob/living/carbon/human/G in GLOB.mob_list) - if(G == src) - var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as Skeleton?", ROLE_WIZARD, 0, 100) - var/mob/dead/observer/new_stand = null - if(candidates.len) - new_stand = pick(candidates) - to_chat(src,"Your body has been given up and taken over by someone else.") - message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(G)])") - G.ghostize() - G.key = new_stand.key - else - to_chat(src, "There were no ghosts willing to take control. Looks like you're stuck as a skeleton for now.") + src.verbs -= /mob/living/carbon/human/proc/skeleton_reset + if (src.stat != DEAD) + var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as Skeleton?", ROLE_WIZARD, 0, 100) + var/mob/dead/observer/new_stand = null + if(candidates.len && src.stat != DEAD) // make sure they haven't died since + new_stand = pick(candidates) + to_chat(src,"Your body has been given up and taken over by someone else.") + message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(src)])") + src.ghostize() + src.key = new_stand.key + else + to_chat(src, "There were no ghosts willing to take control. Looks like you're stuck as a skeleton for now.") + spawn(600) + src.verbs += /mob/living/carbon/human/proc/skeleton_reset From 0fc58330cd2e302fbaa405a908e5e319db7bd5ad Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Wed, 17 Apr 2019 12:57:32 +0200 Subject: [PATCH 005/196] Fixes species transformations not retaining items correctly --- code/game/gamemodes/changeling/powers/mutations.dm | 9 --------- code/modules/mob/living/carbon/human/human.dm | 7 +++++-- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 6288bed2964..3c84e0d6ab5 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -132,15 +132,6 @@ throw_range = 0 throw_speed = 0 -/obj/item/melee/arm_blade/New() - ..() - if(ismob(loc)) - loc.visible_message("A grotesque blade forms around [loc.name]\'s arm!", "Our arm twists and mutates, transforming it into a deadly blade.", "You hear organic matter ripping and tearing!") - -/obj/item/melee/arm_blade/dropped(mob/user) - user.visible_message("With a sickening crunch, [user] reforms [user.p_their()] blade into an arm!", "We assimilate the blade back into our body.", "You hear organic matter ripping and tearing!") - . = ..() - /obj/item/melee/arm_blade/afterattack(atom/target, mob/user, proximity) if(!proximity) return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bd5817e8867..2b027cc833e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1317,11 +1317,13 @@ var/list/thing_to_check = list(slot_wear_mask, slot_head, slot_shoes, slot_gloves, slot_l_ear, slot_r_ear, slot_glasses, slot_l_hand, slot_r_hand) var/list/kept_items[0] - + var/list/item_flags[0] for(var/thing in thing_to_check) var/obj/item/I = get_item_by_slot(thing) if(I) kept_items[I] = thing + item_flags[I] = I.flags + I.flags = 0 // Temporary set the flags to 0 if(retain_damage) //Create a list of body parts which are damaged by burn or brute and save them to apply after new organs are generated. First we just handle external organs. @@ -1387,8 +1389,9 @@ else dna.species.create_organs(src) - for(var/thing in kept_items) + for(var/obj/item/thing in kept_items) equip_to_slot_if_possible(thing, kept_items[thing], redraw_mob = 0) + thing.flags = item_flags[thing] // Reset the flags to the origional ones //Handle default hair/head accessories for created mobs. var/obj/item/organ/external/head/H = get_organ("head") From 211468b24feb7facc65a30a4ed2c9ed5b6348dba Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 21 Apr 2019 01:45:30 +0200 Subject: [PATCH 006/196] Add fake ambient occlusion --- SQL/paradise_schema.sql | 1 + SQL/paradise_schema_prefixed.sql | 1 + SQL/updates/5-6.sql | 4 ++ code/ATMOSPHERICS/atmospherics.dm | 11 ++++- .../components/binary_devices/circulator.dm | 2 + .../components/binary_devices/dp_vent_pump.dm | 2 + .../components/binary_devices/passive_gate.dm | 1 + .../components/binary_devices/pump.dm | 2 + .../components/binary_devices/valve.dm | 2 + .../components/binary_devices/volume_pump.dm | 2 + .../components/omni_devices/omni_base.dm | 4 +- .../components/trinary_devices/filter.dm | 2 + .../components/trinary_devices/mixer.dm | 2 + .../components/trinary_devices/tvalve.dm | 1 + .../components/unary_devices/cold_sink.dm | 4 +- .../unary_devices/generator_input.dm | 4 +- .../unary_devices/heat_exchanger.dm | 4 +- .../components/unary_devices/heat_source.dm | 4 +- .../unary_devices/outlet_injector.dm | 2 + .../unary_devices/oxygen_generator.dm | 4 +- .../unary_devices/portables_connector.dm | 1 + .../components/unary_devices/thermal_plate.dm | 6 ++- .../components/unary_devices/vent_pump.dm | 4 ++ .../components/unary_devices/vent_scrubber.dm | 4 ++ code/ATMOSPHERICS/pipes/cap.dm | 2 + code/ATMOSPHERICS/pipes/manifold.dm | 2 + code/ATMOSPHERICS/pipes/manifold4w.dm | 2 + code/ATMOSPHERICS/pipes/simple/pipe_simple.dm | 2 + .../pipes/simple/pipe_simple_hidden.dm | 2 + .../pipes/simple/pipe_simple_visible.dm | 2 + code/__DEFINES/layers.dm | 4 +- code/__DEFINES/misc.dm | 5 ++- code/__HELPERS/icon_smoothing.dm | 2 +- code/__HELPERS/unsorted.dm | 14 +++++++ code/_onclick/click.dm | 22 +++++++++- code/_onclick/hud/devil.dm | 2 - code/_onclick/hud/fullscreen.dm | 1 + code/_onclick/hud/hud.dm | 29 +++++++++++-- code/_onclick/hud/plane_master.dm | 34 +++++++++++++++ code/_onclick/hud/robot.dm | 4 +- code/_onclick/hud/screen_objects.dm | 16 +++++--- code/_onclick/telekinesis.dm | 4 +- code/game/area/areas.dm | 1 + code/game/atoms.dm | 3 +- code/game/gamemodes/sandbox/h_sandbox.dm | 16 ++++---- .../special_shadowling_abilities.dm | 2 + code/game/machinery/ai_slipper.dm | 1 + code/game/machinery/hologram.dm | 1 + code/game/machinery/igniter.dm | 1 + code/game/machinery/overview.dm | 4 +- code/game/objects/effects/effects.dm | 1 + .../objects/effects/temporary_visuals/cult.dm | 3 +- .../objects/items/weapons/storage/storage.dm | 41 ++++++++++--------- code/game/objects/structures/aliens.dm | 1 + code/game/objects/structures/lattice.dm | 1 + code/game/turfs/simulated/floor.dm | 2 +- code/modules/client/client procs.dm | 18 ++++++-- code/modules/client/preference/preferences.dm | 29 ++++++------- .../client/preference/preferences_mysql.dm | 8 +++- code/modules/events/anomaly_bluespace.dm | 3 +- code/modules/events/vent_clog.dm | 2 +- code/modules/mob/inventory.dm | 8 ++-- .../mob/living/carbon/human/inventory.dm | 12 +++--- .../mob/living/silicon/robot/inventory.dm | 12 +++--- .../modules/mob/living/silicon/robot/robot.dm | 4 +- .../mob/living/simple_animal/simple_animal.dm | 4 +- code/modules/paperwork/paper.dm | 8 ++-- .../reagents/chemistry/reagents/drugs.dm | 26 ++++++++++++ code/modules/recycling/disposal.dm | 2 +- config/example/dbconfig.txt | 2 +- paradise.dme | 1 + 71 files changed, 320 insertions(+), 120 deletions(-) create mode 100644 SQL/updates/5-6.sql create mode 100644 code/_onclick/hud/plane_master.dm diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 0379517190f..e2c2230a74c 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -266,6 +266,7 @@ CREATE TABLE `player` ( `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', + `ambientocclusion` smallint(4) DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index e9a622cf037..7ad83febaf4 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -265,6 +265,7 @@ CREATE TABLE `SS13_player` ( `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', + `ambientocclusion` smallint(4) DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; diff --git a/SQL/updates/5-6.sql b/SQL/updates/5-6.sql new file mode 100644 index 00000000000..d2b7ed0d16e --- /dev/null +++ b/SQL/updates/5-6.sql @@ -0,0 +1,4 @@ +#Updating the SQL from version 5 to version 6. -Mark +#Adding new column to contain the atklog value. +ALTER TABLE `player` + ADD `ambientocclusion` smallint(4) DEFAULT '1' AFTER `atklog`; \ No newline at end of file diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index ede0351993b..64ae485a75d 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -11,7 +11,8 @@ Pipelines + Other Objects -> Pipe network GLOBAL_DATUM_INIT(pipe_icon_manager, /datum/pipe_icon_manager, new()) /obj/machinery/atmospherics anchored = 1 - layer = 2.4 //under wires with their 2.44 + layer = GAS_PIPE_HIDDEN_LAYER //under wires + plane = FLOOR_PLANE idle_power_usage = 0 active_power_usage = 0 power_channel = ENVIRON @@ -61,10 +62,16 @@ GLOBAL_DATUM_INIT(pipe_icon_manager, /datum/pipe_icon_manager, new()) // Icons/overlays/underlays /obj/machinery/atmospherics/update_icon() + var/turf/T = loc + if(level == 2 || !T.intact) + plane = GAME_PLANE + else + plane = FLOOR_PLANE + return null /obj/machinery/atmospherics/proc/update_pipe_image() - pipe_image = image(src, loc, layer = 20, dir = dir) //the 20 puts it above Byond's darkness (not its opacity view) + pipe_image = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) //the 20 puts it above Byond's darkness (not its opacity view) pipe_image.plane = HUD_PLANE /obj/machinery/atmospherics/proc/check_icon_cache(var/safety = 0) diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 3e18cfb41fa..c1019236425 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -112,6 +112,8 @@ ..() /obj/machinery/atmospherics/binary/circulator/update_icon() + ..() + if(stat & (BROKEN|NOPOWER)) icon_state = "circ[side]-p" else if(last_pressure_delta > 0) diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 785d58520a0..b82babd7532 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -71,6 +71,8 @@ add_underlay(T, node2, dir) /obj/machinery/atmospherics/binary/dp_vent_pump/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 9e845c15a98..84a05e464f5 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -28,6 +28,7 @@ return ..() /obj/machinery/atmospherics/binary/passive_gate/update_icon() + ..() icon_state = "[on ? "on" : "off"]" /obj/machinery/atmospherics/binary/passive_gate/update_underlays() diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index 9d21fece152..9d7d22b535f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -39,6 +39,8 @@ Thus, the two variables affect pump operation are set in New(): on = 1 /obj/machinery/atmospherics/binary/pump/update_icon() + ..() + if(!powered()) icon_state = "off" else diff --git a/code/ATMOSPHERICS/components/binary_devices/valve.dm b/code/ATMOSPHERICS/components/binary_devices/valve.dm index f8f282a55af..a0669f5e41d 100644 --- a/code/ATMOSPHERICS/components/binary_devices/valve.dm +++ b/code/ATMOSPHERICS/components/binary_devices/valve.dm @@ -16,6 +16,8 @@ icon_state = "map_valve1" /obj/machinery/atmospherics/binary/valve/update_icon(animation) + ..() + if(animation) flick("valve[src.open][!src.open]",src) else diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm index a64c94e7fc5..2b0dcbf30a5 100644 --- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm @@ -43,6 +43,8 @@ Thus, the two variables affect pump operation are set in New(): set_frequency(frequency) /obj/machinery/atmospherics/binary/volume_pump/update_icon() + ..() + if(!powered()) icon_state = "off" else diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index a3903f278fb..cde1c9e80b0 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -72,6 +72,8 @@ update_ports() /obj/machinery/atmospherics/omni/update_icon() + ..() + if(stat & NOPOWER) overlays = overlays_off on = 0 @@ -83,8 +85,6 @@ underlays = underlays_current - return - /obj/machinery/atmospherics/omni/proc/error_check() return diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index 903f917e0c6..f64aba4f495 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -40,6 +40,8 @@ Filter types: radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) /obj/machinery/atmospherics/trinary/filter/update_icon() + ..() + if(flipped) icon_state = "m" else diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 0c64804b6da..43de7828891 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -17,6 +17,8 @@ flipped = 1 /obj/machinery/atmospherics/trinary/mixer/update_icon(safety = 0) + ..() + if(flipped) icon_state = "m" else diff --git a/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm b/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm index 9dddf8b06f4..f31fa84f350 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm @@ -135,6 +135,7 @@ /obj/machinery/atmospherics/trinary/tvalve/digital/update_icon() ..() + if(!powered()) icon_state = "tvalvenopower" diff --git a/code/ATMOSPHERICS/components/unary_devices/cold_sink.dm b/code/ATMOSPHERICS/components/unary_devices/cold_sink.dm index 51415223de2..7cae2968a22 100644 --- a/code/ATMOSPHERICS/components/unary_devices/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary_devices/cold_sink.dm @@ -13,6 +13,8 @@ var/current_heat_capacity = 50000 //totally random /obj/machinery/atmospherics/unary/cold_sink/update_icon() + ..() + if(node) icon_state = "intact_[on?("on"):("off")]" else @@ -20,8 +22,6 @@ on = 0 - return - /obj/machinery/atmospherics/unary/cold_sink/process_atmos() ..() if(!on) diff --git a/code/ATMOSPHERICS/components/unary_devices/generator_input.dm b/code/ATMOSPHERICS/components/unary_devices/generator_input.dm index 42c3676836c..cb095b1e551 100644 --- a/code/ATMOSPHERICS/components/unary_devices/generator_input.dm +++ b/code/ATMOSPHERICS/components/unary_devices/generator_input.dm @@ -9,12 +9,12 @@ var/update_cycle /obj/machinery/atmospherics/unary/generator_input/update_icon() + ..() + if(node) icon_state = "intact" else icon_state = "exposed" - return - /obj/machinery/atmospherics/unary/generator_input/proc/return_exchange_air() return air_contents diff --git a/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm b/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm index 58b374578df..e4afcadc7fa 100644 --- a/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm +++ b/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm @@ -13,13 +13,13 @@ burn_state = LAVA_PROOF /obj/machinery/atmospherics/unary/heat_exchanger/update_icon() + ..() + if(node) icon_state = "intact" else icon_state = "exposed" - return - /obj/machinery/atmospherics/unary/heat_exchanger/atmos_init() if(!partner) var/partner_connect = turn(dir,180) diff --git a/code/ATMOSPHERICS/components/unary_devices/heat_source.dm b/code/ATMOSPHERICS/components/unary_devices/heat_source.dm index 31eb7305ded..b3b1d0c4fdc 100644 --- a/code/ATMOSPHERICS/components/unary_devices/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary_devices/heat_source.dm @@ -13,6 +13,8 @@ var/current_heat_capacity = 50000 //totally random /obj/machinery/atmospherics/unary/heat_reservoir/update_icon() + ..() + if(node) icon_state = "intact_[on?("on"):("off")]" else @@ -20,8 +22,6 @@ on = 0 - return - /obj/machinery/atmospherics/unary/heat_reservoir/process_atmos() ..() if(!on) diff --git a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm index d597d0eb4c4..de0886d84b5 100644 --- a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm @@ -38,6 +38,8 @@ return ..() /obj/machinery/atmospherics/unary/outlet_injector/update_icon() + ..() + if(!powered()) icon_state = "off" else diff --git a/code/ATMOSPHERICS/components/unary_devices/oxygen_generator.dm b/code/ATMOSPHERICS/components/unary_devices/oxygen_generator.dm index 0f575fb9c3a..a9c3b98ad74 100644 --- a/code/ATMOSPHERICS/components/unary_devices/oxygen_generator.dm +++ b/code/ATMOSPHERICS/components/unary_devices/oxygen_generator.dm @@ -14,6 +14,8 @@ var/oxygen_content = 10 /obj/machinery/atmospherics/unary/oxygen_generator/update_icon() + ..() + if(node) icon_state = "intact_[on?("on"):("off")]" else @@ -21,8 +23,6 @@ on = 0 - return - /obj/machinery/atmospherics/unary/oxygen_generator/New() ..() diff --git a/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm b/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm index 711a1df3861..a9e4e2a282b 100644 --- a/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm @@ -18,6 +18,7 @@ return ..() /obj/machinery/atmospherics/unary/portables_connector/update_icon() + ..() icon_state = "connector" /obj/machinery/atmospherics/unary/portables_connector/update_underlays() diff --git a/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm b/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm index c245bfc120e..5a6e76a182b 100644 --- a/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm +++ b/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm @@ -11,10 +11,12 @@ desc = "Transfers heat to and from an area" /obj/machinery/atmospherics/unary/thermal_plate/update_icon() - var/prefix="" + ..() + + var/prefix = "" //var/suffix="_idle" // Also available: _heat, _cool if(level == 1 && istype(loc, /turf/simulated)) - prefix="h" + prefix = "h" icon_state = "[prefix]off" /obj/machinery/atmospherics/unary/thermal_plate/process_atmos() diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index 613d0f0794e..3b575176db4 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -77,6 +77,10 @@ air_contents.volume = 1000 /obj/machinery/atmospherics/unary/vent_pump/update_icon(var/safety = 0) + ..() + + plane = FLOOR_PLANE + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 8416a784019..27aed7967d5 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -91,6 +91,10 @@ return 1 /obj/machinery/atmospherics/unary/vent_scrubber/update_icon(var/safety = 0) + ..() + + plane = FLOOR_PLANE + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/pipes/cap.dm b/code/ATMOSPHERICS/pipes/cap.dm index 2552f6e0794..71630aef1c2 100644 --- a/code/ATMOSPHERICS/pipes/cap.dm +++ b/code/ATMOSPHERICS/pipes/cap.dm @@ -55,6 +55,8 @@ node.update_underlays() /obj/machinery/atmospherics/pipe/cap/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm index 199942e7a40..bddc0281472 100644 --- a/code/ATMOSPHERICS/pipes/manifold.dm +++ b/code/ATMOSPHERICS/pipes/manifold.dm @@ -116,6 +116,8 @@ node3.update_underlays() /obj/machinery/atmospherics/pipe/manifold/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm index 502795e1da9..a948b22fd19 100644 --- a/code/ATMOSPHERICS/pipes/manifold4w.dm +++ b/code/ATMOSPHERICS/pipes/manifold4w.dm @@ -90,6 +90,8 @@ node4.update_underlays() /obj/machinery/atmospherics/pipe/manifold4w/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm b/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm index b2c2750a452..b966690733b 100644 --- a/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm +++ b/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm @@ -137,6 +137,8 @@ node2.update_underlays() /obj/machinery/atmospherics/pipe/simple/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/pipes/simple/pipe_simple_hidden.dm b/code/ATMOSPHERICS/pipes/simple/pipe_simple_hidden.dm index 3efd22ed446..db982639c2f 100644 --- a/code/ATMOSPHERICS/pipes/simple/pipe_simple_hidden.dm +++ b/code/ATMOSPHERICS/pipes/simple/pipe_simple_hidden.dm @@ -28,6 +28,8 @@ icon_state = "map_universal" /obj/machinery/atmospherics/pipe/simple/hidden/universal/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/ATMOSPHERICS/pipes/simple/pipe_simple_visible.dm b/code/ATMOSPHERICS/pipes/simple/pipe_simple_visible.dm index 9bf085b534a..1ca4da646ac 100644 --- a/code/ATMOSPHERICS/pipes/simple/pipe_simple_visible.dm +++ b/code/ATMOSPHERICS/pipes/simple/pipe_simple_visible.dm @@ -39,6 +39,8 @@ icon_state = "map_universal" /obj/machinery/atmospherics/pipe/simple/visible/universal/update_icon(var/safety = 0) + ..() + if(!check_icon_cache()) return diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 9da2c725a43..26894d3e6ea 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -6,7 +6,9 @@ #define PLANE_SPACE -95 #define PLANE_SPACE_PARALLAX -90 -#define GAME_PLANE 0 +#define FLOOR_PLANE -2 +#define GAME_PLANE -1 +#define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals #define SPACE_LAYER 1.8 //#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index dff9426c641..462191e49c3 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -401,4 +401,7 @@ #define GHOST_ORBIT_TRIANGLE "triangle" #define GHOST_ORBIT_HEXAGON "hexagon" #define GHOST_ORBIT_SQUARE "square" -#define GHOST_ORBIT_PENTAGON "pentagon" \ No newline at end of file +#define GHOST_ORBIT_PENTAGON "pentagon" + +// Filters +#define AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") \ No newline at end of file diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 2db8621195d..472f7be75f4 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -114,7 +114,7 @@ return if(QDELETED(A)) return - if((A.smooth & SMOOTH_TRUE) || (A.smooth & SMOOTH_MORE)) + if(A.smooth & (SMOOTH_TRUE | SMOOTH_MORE)) var/adjacencies = calculate_adjacencies(A) if(A.smooth & SMOOTH_DIAGONAL) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 619d09713d6..00724c94a03 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -2029,3 +2029,17 @@ var/mob/dview/dview_mob = new /proc/pass() return + +/proc/params2turf(scr_loc, turf/origin, client/C) + if(!scr_loc) + return null + var/tX = splittext(scr_loc, ",") + var/tY = splittext(tX[2], ":") + var/tZ = origin.z + tY = tY[1] + tX = splittext(tX[1], ":") + tX = tX[1] + var/list/actual_view = getviewsize(C ? C.view : world.view) + tX = Clamp(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx) + tY = Clamp(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy) + return locate(tX, tY, tZ) \ No newline at end of file diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 24e58b502ad..b44efa5444f 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -399,7 +399,25 @@ icon_state = "passage0" plane = CLICKCATCHER_PLANE mouse_opacity = MOUSE_OPACITY_OPAQUE - screen_loc = "CENTER-7,CENTER-7" + screen_loc = "CENTER" + +#define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / world.icon_size) +#define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose. + +/obj/screen/click_catcher/proc/UpdateGreed(view_size_x = 15, view_size_y = 15) + var/icon/newicon = icon('icons/mob/screen_gen.dmi', "catcher") + var/ox = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_x) + var/oy = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_y) + var/px = view_size_x * world.icon_size + var/py = view_size_y * world.icon_size + var/sx = min(MAX_SAFE_BYOND_ICON_SCALE_PX, px) + var/sy = min(MAX_SAFE_BYOND_ICON_SCALE_PX, py) + newicon.Scale(sx, sy) + icon = newicon + screen_loc = "CENTER-[(ox-1)*0.5],CENTER-[(oy-1)*0.5]" + var/matrix/M = new + M.Scale(px/sx, py/sy) + transform = M /obj/screen/click_catcher/Click(location, control, params) var/list/modifiers = params2list(params) @@ -407,6 +425,6 @@ var/mob/living/carbon/C = usr C.swap_hand() else - var/turf/T = screen_loc2turf(modifiers["screen-loc"], get_turf(usr)) + var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr)) T.Click(location, control, params) return 1 diff --git a/code/_onclick/hud/devil.dm b/code/_onclick/hud/devil.dm index 2a7dab21a03..1e17cae1708 100644 --- a/code/_onclick/hud/devil.dm +++ b/code/_onclick/hud/devil.dm @@ -40,7 +40,6 @@ using.icon = ui_style using.icon_state = "swap_1" using.screen_loc = ui_swaphand1 - using.layer = 19 static_inventory += using using = new /obj/screen/swap_hand() @@ -48,7 +47,6 @@ using.icon = ui_style using.icon_state = "swap_2" using.screen_loc = ui_swaphand2 - using.layer = 19 static_inventory += using mymob.zone_sel = new /obj/screen/zone_sel() diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 673a49ffd22..4c9ff339052 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -54,6 +54,7 @@ icon_state = "default" screen_loc = "CENTER-7,CENTER-7" layer = FULLSCREEN_LAYER + plane = FULLSCREEN_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT var/severity = 0 diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 410d49f973e..56d954313cc 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -38,6 +38,8 @@ var/obj/screen/movable/action_button/hide_toggle/hide_actions_toggle var/action_buttons_hidden = 0 + var/list/obj/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object + /mob/proc/create_mob_hud() if(client && !hud_used) hud_used = new /datum/hud(src) @@ -47,6 +49,11 @@ hide_actions_toggle = new hide_actions_toggle.InitialiseIcon(mymob) + for(var/mytype in subtypesof(/obj/screen/plane_master)) + var/obj/screen/plane_master/instance = new mytype() + plane_masters["[instance.plane]"] = instance + instance.backdrop(mymob) + /datum/hud/Destroy() if(mymob.hud_used == src) mymob.hud_used = null @@ -83,14 +90,16 @@ nightvisionicon = null devilsouldisplay = null + QDEL_LIST_ASSOC_VAL(plane_masters) + mymob = null return ..() /datum/hud/proc/show_hud(version = 0) if(!ismob(mymob)) - return 0 + return FALSE if(!mymob.client) - return 0 + return FALSE mymob.client.screen = list() @@ -162,13 +171,25 @@ mymob.update_action_buttons(1) reorganize_alerts() reload_fullscreen() + plane_masters_update() + +/datum/hud/proc/plane_masters_update() + // Plane masters are always shown to OUR mob, never to observers + for(var/thing in plane_masters) + var/obj/screen/plane_master/PM = plane_masters[thing] + PM.backdrop(mymob) + mymob.client.screen += PM /datum/hud/human/show_hud(version = 0) - ..() + . = ..() + if(!.) + return hidden_inventory_update() /datum/hud/robot/show_hud(version = 0) - ..() + . = ..() + if(!.) + return update_robot_modules_display() /datum/hud/proc/hidden_inventory_update() diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm new file mode 100644 index 00000000000..f56400c7198 --- /dev/null +++ b/code/_onclick/hud/plane_master.dm @@ -0,0 +1,34 @@ +/obj/screen/plane_master + screen_loc = "CENTER" + icon_state = "blank" + appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR + blend_mode = BLEND_OVERLAY + var/show_alpha = 255 + var/hide_alpha = 0 + +/obj/screen/plane_master/proc/Show(override) + alpha = override || show_alpha + +/obj/screen/plane_master/proc/Hide(override) + alpha = override || hide_alpha + +//Why do plane masters need a backdrop sometimes? Read http://www.byond.com/forum/?post=2141928 +//Trust me, you need one. Period. If you don't think you do, you're doing something extremely wrong. +/obj/screen/plane_master/proc/backdrop(mob/mymob) + +/obj/screen/plane_master/floor + name = "floor plane master" + plane = FLOOR_PLANE + appearance_flags = PLANE_MASTER + blend_mode = BLEND_OVERLAY + +/obj/screen/plane_master/game_world + name = "game world plane master" + plane = GAME_PLANE + appearance_flags = PLANE_MASTER //should use client color + blend_mode = BLEND_OVERLAY + +/obj/screen/plane_master/game_world/backdrop(mob/mymob) + filters -= AMBIENT_OCCLUSION + if(istype(mymob) && mymob.client && mymob.client.prefs && mymob.client.prefs.ambientocclusion) + filters += AMBIENT_OCCLUSION diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index a542c0345fd..ea23a56d8e4 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -226,8 +226,8 @@ A.screen_loc = "CENTER[x]:16,SOUTH+[y]:7" else A.screen_loc = "CENTER+[x]:16,SOUTH+[y]:7" - A.layer = 20 - A.plane = HUD_PLANE + A.layer = ABOVE_HUD_LAYER + A.plane = ABOVE_HUD_PLANE x++ if(x == 4) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index d9f6653b0ff..aeda1e5baa6 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -10,7 +10,7 @@ name = "" icon = 'icons/mob/screen_gen.dmi' layer = HUD_LAYER_SCREEN - plane = HUD_PLANE + plane = ABOVE_HUD_PLANE unacidable = 1 var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/datum/hud/hud = null @@ -47,7 +47,8 @@ /obj/screen/drop name = "drop" icon_state = "act_drop" - layer = 19 + layer = HUD_LAYER + plane = HUD_PLANE /obj/screen/drop/Click() usr.drop_item_v() @@ -143,8 +144,9 @@ name = "resist" icon = 'icons/mob/screen_midnight.dmi' icon_state = "act_resist" - layer = 19 - + layer = HUD_LAYER + plane = HUD_PLANE + /obj/screen/resist/Click() if(isliving(usr)) var/mob/living/L = usr @@ -327,7 +329,8 @@ /obj/screen/inventory var/slot_id //The indentifier for the slot. It has nothing to do with ID cards. var/list/object_overlays = list() - layer = 19 + layer = HUD_LAYER + plane = HUD_PLANE /obj/screen/inventory/MouseEntered() ..() @@ -417,7 +420,8 @@ return 1 /obj/screen/swap_hand - layer = 19 + layer = HUD_LAYER + plane = HUD_PLANE name = "swap hand" /obj/screen/swap_hand/Click() diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 238ce2d5a94..6ef7a797136 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -65,8 +65,8 @@ var/const/tk_maxrange = 15 flags = NOBLUDGEON | ABSTRACT | DROPDEL //item_state = null w_class = WEIGHT_CLASS_GIGANTIC - layer = 20 - plane = HUD_PLANE + layer = ABOVE_HUD_LAYER + plane = ABOVE_HUD_PLANE var/last_throw = 0 var/atom/movable/focus = null diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index c5683f366ae..6f25d1b23aa 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -16,6 +16,7 @@ // area from any other instances already present (meaning you can have // separate APCs, and so on) var/there_can_be_many = 0 + plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. /area/New() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 024b2a924cf..e46c1290637 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1,5 +1,6 @@ /atom - layer = 2 + layer = TURF_LAYER + plane = GAME_PLANE var/level = 2 var/flags = NONE var/flags_2 = NONE diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 35284594b46..216c946fc97 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -67,32 +67,32 @@ datum/hSB P.wear_suit.plane = initial(P.wear_suit.plane) P.wear_suit = null P.wear_suit = new/obj/item/clothing/suit/space(P) - P.wear_suit.layer = 20 - P.wear_suit.plane = HUD_PLANE + P.wear_suit.layer = ABOVE_HUD_LAYER + P.wear_suit.plane = ABOVE_HUD_PLANE if(P.head) P.head.loc = P.loc P.head.layer = initial(P.head.layer) P.head.plane = initial(P.head.plane) P.head = null P.head = new/obj/item/clothing/head/helmet/space(P) - P.head.layer = 20 - P.head.plane = HUD_PLANE + P.head.layer = ABOVE_HUD_LAYER + P.head.plane = ABOVE_HUD_PLANE if(P.wear_mask) P.wear_mask.loc = P.loc P.wear_mask.layer = initial(P.wear_mask.layer) P.wear_mask.plane = initial(P.wear_mask.plane) P.wear_mask = null P.wear_mask = new/obj/item/clothing/mask/gas(P) - P.wear_mask.layer = 20 - P.wear_mask.plane = HUD_PLANE + P.wear_mask.layer = ABOVE_HUD_LAYER + P.wear_mask.plane = ABOVE_HUD_PLANE if(P.back) P.back.loc = P.loc P.back.layer = initial(P.back.layer) P.back.plane = initial(P.back.plane) P.back = null P.back = new/obj/item/tank/jetpack(P) - P.back.layer = 20 - P.back.plane = HUD_PLANE + P.back.layer = ABOVE_HUD_LAYER + P.back.plane = ABOVE_HUD_PLANE P.internal = P.back if("hsbmetal") var/obj/item/stack/sheet/hsb = new/obj/item/stack/sheet/metal diff --git a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm index 29a2c9aadca..c11105e9f30 100644 --- a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm @@ -107,6 +107,8 @@ var/list/possibleShadowlingNames = list("U'ruan", "Y`shej", "Nex", "Hel-uae", "N H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/collective_mind(null)) H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/shadowling_regenarmor(null)) H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/shadowling_extend_shuttle(null)) + + QDEL_NULL(H.hud_used) H.hud_used = new /datum/hud/human(H, ui_style2icon(H.client.prefs.UI_style), H.client.prefs.UI_style_color, H.client.prefs.UI_style_alpha) H.hud_used.show_hud(H.hud_used.hud_version) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 8a65da977ae..48b64e8c589 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -3,6 +3,7 @@ icon = 'icons/obj/device.dmi' icon_state = "motion3" layer = 3 + plane = FLOOR_PLANE anchored = 1.0 armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0) var/uses = 20 diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 49a05371050..e6d967c8eb4 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -44,6 +44,7 @@ var/list/holopads = list() idle_power_usage = 5 active_power_usage = 100 layer = TURF_LAYER+0.1 //Preventing mice and drones from sneaking under them. + plane = FLOOR_PLANE armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0) var/list/masters = list()//List of living mobs that use the holopad var/list/holorays = list()//Holoray-mob link. diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 3c36edb1685..20d15a29e1f 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -3,6 +3,7 @@ desc = "It's useful for igniting plasma." icon = 'icons/obj/stationobjs.dmi' icon_state = "igniter1" + plane = FLOOR_PLANE armor = list(melee = 50, bullet = 30, laser = 70, energy = 50, bomb = 20, bio = 0, rad = 0) var/id = null var/on = 1.0 diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm index e98c4e90c30..e77eef869dc 100644 --- a/code/game/machinery/overview.dm +++ b/code/game/machinery/overview.dm @@ -183,8 +183,8 @@ qdel(I) qdel(J) H.icon = HI - H.layer = 25 - H.plane = HUD_PLANE + H.layer = ABOVE_HUD_LAYER + H.plane = ABOVE_HUD_PLANE usr.mapobjs += H #else diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index 07c7137d719..5feec285408 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -16,6 +16,7 @@ return FALSE /obj/effect/decal + plane = FLOOR_PLANE var/no_scoop = FALSE //if it has this, don't let it be scooped up var/no_clear = FALSE //if it has this, don't delete it when its' scooped up var/list/scoop_reagents = null diff --git a/code/game/objects/effects/temporary_visuals/cult.dm b/code/game/objects/effects/temporary_visuals/cult.dm index 8edb88a7e79..7a12caf6b10 100644 --- a/code/game/objects/effects/temporary_visuals/cult.dm +++ b/code/game/objects/effects/temporary_visuals/cult.dm @@ -37,4 +37,5 @@ /obj/effect/temp_visual/cult/turf/open/floor icon_state = "floorglow" - duration = 5 \ No newline at end of file + duration = 5 + plane = FLOOR_PLANE \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 507d6fdb9f3..8815cccd92f 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -151,8 +151,8 @@ src.boxes.screen_loc = "[tx]:,[ty] to [mx],[my]" for(var/obj/O in src.contents) O.screen_loc = "[cx],[cy]" - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE cx++ if(cx > mx) cx = tx @@ -171,8 +171,8 @@ ND.sample_object.mouse_opacity = MOUSE_OPACITY_OPAQUE ND.sample_object.screen_loc = "[cx]:16,[cy]:16" ND.sample_object.maptext = "[(ND.number > 1)? "[ND.number]" : ""]" - ND.sample_object.layer = 20 - ND.sample_object.plane = HUD_PLANE + ND.sample_object.layer = ABOVE_HUD_LAYER + ND.sample_object.plane = ABOVE_HUD_PLANE cx++ if(cx > (4+cols)) cx = 4 @@ -182,8 +182,8 @@ O.mouse_opacity = MOUSE_OPACITY_OPAQUE //This is here so storage items that spawn with contents correctly have the "click around item to equip" O.screen_loc = "[cx]:16,[cy]:16" O.maptext = "" - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE cx++ if(cx > (4+cols)) cx = 4 @@ -332,8 +332,8 @@ if(ismob(loc)) W.dropped(usr) if(ismob(new_location)) - W.layer = 20 - W.plane = HUD_PLANE + W.layer = ABOVE_HUD_LAYER + W.plane = ABOVE_HUD_PLANE else W.layer = initial(W.layer) W.plane = initial(W.plane) @@ -447,17 +447,18 @@ else verbs -= /obj/item/storage/verb/toggle_gathering_mode - src.boxes = new /obj/screen/storage( ) - src.boxes.name = "storage" - src.boxes.master = src - src.boxes.icon_state = "block" - src.boxes.screen_loc = "7,7 to 10,8" - src.boxes.layer = 19 - src.closer = new /obj/screen/close( ) - src.closer.master = src - src.closer.icon_state = "x" - src.closer.layer = 20 - src.closer.plane = HUD_PLANE + boxes = new /obj/screen/storage( ) + boxes.name = "storage" + boxes.master = src + boxes.icon_state = "block" + boxes.screen_loc = "7,7 to 10,8" + boxes.layer = HUD_LAYER + boxes.plane = HUD_PLANE + closer = new /obj/screen/close( ) + closer.master = src + closer.icon_state = "x" + closer.layer = ABOVE_HUD_LAYER + closer.plane = ABOVE_HUD_PLANE orient2hud() /obj/item/storage/Destroy() @@ -469,7 +470,7 @@ return ..() /obj/item/storage/emp_act(severity) - if(!istype(src.loc, /mob/living)) + if(!istype(loc, /mob/living)) for(var/obj/O in contents) O.emp_act(severity) ..() diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 90e32882087..d23f4c9d606 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -113,6 +113,7 @@ anchored = TRUE density = FALSE layer = TURF_LAYER + plane = FLOOR_PLANE icon_state = "weeds" max_integrity = 15 var/obj/structure/alien/weeds/node/linked_node = null diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 936c94f5c4f..d88600fe4e7 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -7,6 +7,7 @@ anchored = 1.0 armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) layer = 2.3 //under pipes + plane = FLOOR_PLANE // flags = CONDUCT /obj/structure/lattice/New() diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 07c2bb8a8d6..78103a4b441 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -17,7 +17,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," name = "floor" icon = 'icons/turf/floors.dmi' icon_state = "dont_use_this_floor" - + plane = FLOOR_PLANE var/icon_regular_floor = "floor" //used to remember what icon the tile should have by default var/icon_plating = "plating" thermal_conductivity = 0.040 diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index a6216c87b1a..ae6cd9d2fa0 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -333,6 +333,8 @@ if(!prefs) prefs = new /datum/preferences(src) preferences_datums[ckey] = prefs + else + prefs.parent = src prefs.last_ip = address //these are gonna be used for banning prefs.last_id = computer_id //these are gonna be used for banning if(world.byond_version >= 511 && byond_version >= 511 && prefs.clientfps) @@ -393,10 +395,8 @@ if(establish_db_connection()) to_chat(src,"You have enabled karma gains.") - if(!void) - void = new() - - screen += void + generate_clickcatcher() + apply_clickcatcher() if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them. to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") @@ -772,3 +772,13 @@ winset(src, "rpane.changelog", "background-color=#40628a;text-color=#FFFFFF") else winset(src, "rpane.changelog", "background-color=none;text-color=#000000") + +/client/proc/generate_clickcatcher() + if(!void) + void = new() + screen += void + +/client/proc/apply_clickcatcher() + generate_clickcatcher() + var/list/actualview = getviewsize(view) + void.UpdateGreed(actualview[1],actualview[2]) \ No newline at end of file diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index caf98b866cc..a90ced311a7 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -183,7 +183,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts // 0 = character settings, 1 = game preferences var/current_tab = TAB_CHAR - // OOC Metadata: + // OOC Metadata: var/metadata = "" var/slot_name = "" @@ -200,6 +200,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/list/gear = list() var/gear_tab = "General" + var/ambientocclusion = TRUE + /datum/preferences/New(client/C) parent = C b_type = pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+") @@ -452,6 +454,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Donator Publicity: [(toggles & DONATOR_PUBLIC) ? "Public" : "Hidden"]
" dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"]
" dat += "FPS: [clientfps]
" + dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"]
" dat += "Ghost Ears: [(toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" dat += "Ghost Sight: [(toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" dat += "Ghost Radio: [(toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]
" @@ -1920,22 +1923,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(world.byond_version >= 511 && user.client && user.client.byond_version >= 511) parent.fps = clientfps -/* - if("skin_style") - var/skin_style_name = input(user, "Select a new skin style") as null|anything in list("default1", "default2", "default3") - if(!skin_style_name) return -*/ - -/* if("spawnpoint") - var/list/spawnkeys = list() - for(var/S in spawntypes) - spawnkeys += S - var/choice = input(user, "Where would you like to spawn when latejoining?") as null|anything in spawnkeys - if(!choice || !spawntypes[choice]) - spawnpoint = "Arrivals Shuttle" - return - spawnpoint = choice */ - else switch(href_list["preference"]) if("publicity") @@ -2080,6 +2067,14 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(href_list["tab"]) current_tab = text2num(href_list["tab"]) + if("ambientocclusion") + ambientocclusion = !ambientocclusion + if(parent && parent.screen && parent.screen.len) + var/obj/screen/plane_master/game_world/PM = locate(/obj/screen/plane_master/game_world) in parent.screen + PM.filters -= AMBIENT_OCCLUSION + if(ambientocclusion) + PM.filters += AMBIENT_OCCLUSION + ShowChoices(user) return 1 diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index b355d921016..e004c812315 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -18,7 +18,8 @@ ghost_anonsay, exp, clientfps, - atklog + atklog, + ambientocclusion, FROM [format_table_name("player")] WHERE ckey='[C.ckey]'"} ) @@ -50,6 +51,7 @@ exp = query.item[16] clientfps = text2num(query.item[17]) atklog = text2num(query.item[18]) + ambientocclusion = text2num(query.item[19]) //Sanitize ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor)) @@ -69,6 +71,7 @@ exp = sanitize_text(exp, initial(exp)) clientfps = sanitize_integer(clientfps, 0, 1000, initial(clientfps)) atklog = sanitize_integer(atklog, 0, 100, initial(atklog)) + ambientocclusion = sanitize_integer(ambientocclusion, 0, 1, initial(ambientocclusion)) return 1 /datum/preferences/proc/save_preferences(client/C) @@ -98,7 +101,8 @@ windowflashing='[windowflashing]', ghost_anonsay='[ghost_anonsay]', clientfps='[clientfps]', - atklog='[atklog]' + atklog='[atklog]', + ambientocclusion='[ambientocclusion]' WHERE ckey='[C.ckey]'"} ) diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index 29baf834bb5..a8f11681577 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -58,7 +58,8 @@ blueeffect.screen_loc = "WEST,SOUTH to EAST,NORTH" blueeffect.icon = 'icons/effects/effects.dmi' blueeffect.icon_state = "shieldsparkles" - blueeffect.layer = 17 + blueeffect.layer = FLASH_LAYER + blueeffect.plane = FULLSCREEN_PLANE blueeffect.mouse_opacity = MOUSE_OPACITY_TRANSPARENT M.client.screen += blueeffect sleep(20) diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 9b1588e1161..64b27eef7eb 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -23,7 +23,7 @@ "atrazine","banana","charcoal","space_drugs","methamphetamine","holywater","ethanol","hot_coco","facid", "blood","morphine","ether","fluorine","mutadone","mutagen","hydrocodone","fuel", "haloperidol","lsd","syndicate_nanites","lipolicide","frostoil","salglu_solution","beepskysmash", - "omnizine", "amanitin", "neurotoxin", "synaptizine") + "omnizine", "amanitin", "neurotoxin", "synaptizine","rotatium") var/datum/reagents/R = new/datum/reagents(50) R.my_atom = vent R.add_reagent(pick(gunk), 50) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 471f82c1511..d412d604ec2 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -38,8 +38,8 @@ if(!l_hand && has_left_hand()) W.forceMove(src) //TODO: move to equipped? l_hand = W - W.layer = 20 //TODO: move to equipped? - W.plane = HUD_PLANE //TODO: move to equipped? + W.layer = ABOVE_HUD_LAYER //TODO: move to equipped? + W.plane = ABOVE_HUD_PLANE //TODO: move to equipped? W.equipped(src,slot_l_hand) if(pulling == W) stop_pulling() @@ -54,8 +54,8 @@ if(!r_hand && has_right_hand()) W.forceMove(src) r_hand = W - W.layer = 20 - W.plane = HUD_PLANE + W.layer = ABOVE_HUD_LAYER + W.plane = ABOVE_HUD_PLANE W.equipped(src,slot_r_hand) if(pulling == W) stop_pulling() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 79b41e47cc3..69f898fb677 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -202,8 +202,8 @@ W.screen_loc = null W.loc = src W.equipped(src, slot) - W.layer = 20 - W.plane = HUD_PLANE + W.layer = ABOVE_HUD_LAYER + W.plane = ABOVE_HUD_PLANE switch(slot) if(slot_back) @@ -248,8 +248,8 @@ var/obj/item/clothing/ears/offear/O = new(W) O.loc = src r_ear = O - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE update_inv_ears(redraw_mob) if(slot_r_ear) r_ear = W @@ -257,8 +257,8 @@ var/obj/item/clothing/ears/offear/O = new(W) O.loc = src l_ear = O - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE update_inv_ears(redraw_mob) if(slot_glasses) glasses = W diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 8eb8bb80763..7695145300e 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -55,24 +55,24 @@ if(!module_state_1) O.mouse_opacity = initial(O.mouse_opacity) module_state_1 = O - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE O.screen_loc = inv1.screen_loc contents += O set_actions(O) else if(!module_state_2) O.mouse_opacity = initial(O.mouse_opacity) module_state_2 = O - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE O.screen_loc = inv2.screen_loc contents += O set_actions(O) else if(!module_state_3) O.mouse_opacity = initial(O.mouse_opacity) module_state_3 = O - O.layer = 20 - O.plane = HUD_PLANE + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE O.screen_loc = inv3.screen_loc contents += O set_actions(O) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ae6a832f6ac..18bfe6998c3 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -114,7 +114,9 @@ var/list/robot_verbs_default = list( robot_modules_background = new() robot_modules_background.icon_state = "block" - robot_modules_background.layer = 19 //Objects that appear on screen are on layer 20, UI should be just below it. + robot_modules_background.layer = HUD_LAYER //Objects that appear on screen are on layer 20, UI should be just below it. + robot_modules_background.plane = HUD_PLANE + ident = rand(1, 999) rename_character(null, get_default_name()) update_icons() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 02f15a59709..66fb417733b 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -534,8 +534,8 @@ W.forceMove(src) W.equipped(src, slot) - W.layer = 20 - W.plane = HUD_PLANE + W.layer = ABOVE_HUD_LAYER + W.plane = ABOVE_HUD_PLANE switch(slot) if(slot_collar) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index d5ca6b0b0f8..5deebd22ee9 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -334,15 +334,15 @@ else if(h_user.l_store == src) h_user.unEquip(src) B.loc = h_user - B.layer = 20 - B.plane = HUD_PLANE + B.layer = ABOVE_HUD_LAYER + B.plane = ABOVE_HUD_PLANE h_user.l_store = B h_user.update_inv_pockets() else if(h_user.r_store == src) h_user.unEquip(src) B.loc = h_user - B.layer = 20 - B.plane = HUD_PLANE + B.layer = ABOVE_HUD_LAYER + B.plane = ABOVE_HUD_PLANE h_user.r_store = B h_user.update_inv_pockets() else if(h_user.head == src) diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index 9d786dd0713..9e96ed5b56b 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -604,6 +604,32 @@ M.emote("laugh") return list(effect, update_flags) +/datum/reagent/rotatium //Rotatium. Fucks up your rotation and is hilarious + name = "Rotatium" + id = "rotatium" + description = "A constantly swirling, oddly colourful fluid. Causes the consumer's sense of direction and hand-eye coordination to become wild." + reagent_state = LIQUID + color = "#AC88CA" //RGB: 172, 136, 202 + metabolization_rate = 0.6 * REAGENTS_METABOLISM + taste_message = "spinning" + +/datum/reagent/rotatium/on_mob_life(mob/living/carbon/M) + if(M.hud_used) + if(current_cycle >= 20 && current_cycle % 20 == 0) + var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) + var/rotation = min(round(current_cycle / 20), 89) // By this point the player is probably puking and quitting anyway + for(var/whole_screen in screens) + animate(whole_screen, transform = matrix(rotation, MATRIX_ROTATE), time = 5, easing = QUAD_EASING, loop = -1) + animate(transform = matrix(-rotation, MATRIX_ROTATE), time = 5, easing = QUAD_EASING) + return ..() + +/datum/reagent/rotatium/on_mob_delete(mob/living/M) + if(M && M.hud_used) + var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) + for(var/whole_screen in screens) + animate(whole_screen, transform = matrix(), time = 5, easing = QUAD_EASING) + ..() + ////////////////////////////// // Synth-Drugs // ////////////////////////////// diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index ef002caa1ec..6413765c99c 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -680,7 +680,7 @@ dir = 0 // dir will contain dominant direction for junction pipes var/health = 10 // health points 0-10 armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100) - layer = 2.3 // slightly lower than wires and other pipes + layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes var/base_icon_state // initial icon state on map // new pipe, set the icon_state as on map diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt index 6ca1f0201e8..8b411db15e1 100644 --- a/config/example/dbconfig.txt +++ b/config/example/dbconfig.txt @@ -9,7 +9,7 @@ ## This value must be set to the version of the paradise schema in use. ## If this value does not match, the SQL database will not be loaded and an error will be generated. ## Roundstart will be delayed. -DB_VERSION 5 +DB_VERSION 6 ## Server the MySQL database can be found at. # Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. diff --git a/paradise.dme b/paradise.dme index a2d44d00044..70ed496f033 100644 --- a/paradise.dme +++ b/paradise.dme @@ -143,6 +143,7 @@ #include "code\_onclick\hud\movable_screen_objects.dm" #include "code\_onclick\hud\other_mobs.dm" #include "code\_onclick\hud\picture_in_picture.dm" +#include "code\_onclick\hud\plane_master.dm" #include "code\_onclick\hud\radial.dm" #include "code\_onclick\hud\robot.dm" #include "code\_onclick\hud\screen_objects.dm" From f9d067e9e6e0b8d59297f2f13ba870d557d77d1b Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 21 Apr 2019 01:54:31 +0200 Subject: [PATCH 007/196] Remove rotatium from vent_clog and remove useless return --- code/ATMOSPHERICS/atmospherics.dm | 2 -- code/modules/events/vent_clog.dm | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 64ae485a75d..aa6d2f2625c 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -68,8 +68,6 @@ GLOBAL_DATUM_INIT(pipe_icon_manager, /datum/pipe_icon_manager, new()) else plane = FLOOR_PLANE - return null - /obj/machinery/atmospherics/proc/update_pipe_image() pipe_image = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) //the 20 puts it above Byond's darkness (not its opacity view) pipe_image.plane = HUD_PLANE diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 64b27eef7eb..9b1588e1161 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -23,7 +23,7 @@ "atrazine","banana","charcoal","space_drugs","methamphetamine","holywater","ethanol","hot_coco","facid", "blood","morphine","ether","fluorine","mutadone","mutagen","hydrocodone","fuel", "haloperidol","lsd","syndicate_nanites","lipolicide","frostoil","salglu_solution","beepskysmash", - "omnizine", "amanitin", "neurotoxin", "synaptizine","rotatium") + "omnizine", "amanitin", "neurotoxin", "synaptizine") var/datum/reagents/R = new/datum/reagents(50) R.my_atom = vent R.add_reagent(pick(gunk), 50) From 64f8300c2d48bdbe7409fadb61f768886dd775d0 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 21 Apr 2019 18:11:10 +0200 Subject: [PATCH 008/196] Switch to preference toggle for ambient occlusion --- SQL/updates/5-6.sql | 4 ---- code/__DEFINES/misc.dm | 2 +- code/__DEFINES/preferences.dm | 4 ++-- code/_onclick/hud/plane_master.dm | 6 +++--- code/modules/client/preference/preferences.dm | 12 +++++------- code/modules/client/preference/preferences_mysql.dm | 6 +----- .../modules/client/preference/preferences_toggles.dm | 3 +-- code/modules/reagents/chemistry/reagents/drugs.dm | 4 ++-- config/example/dbconfig.txt | 2 +- 9 files changed, 16 insertions(+), 27 deletions(-) delete mode 100644 SQL/updates/5-6.sql diff --git a/SQL/updates/5-6.sql b/SQL/updates/5-6.sql deleted file mode 100644 index d2b7ed0d16e..00000000000 --- a/SQL/updates/5-6.sql +++ /dev/null @@ -1,4 +0,0 @@ -#Updating the SQL from version 5 to version 6. -Mark -#Adding new column to contain the atklog value. -ALTER TABLE `player` - ADD `ambientocclusion` smallint(4) DEFAULT '1' AFTER `atklog`; \ No newline at end of file diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 462191e49c3..106c1900a82 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -404,4 +404,4 @@ #define GHOST_ORBIT_PENTAGON "pentagon" // Filters -#define AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") \ No newline at end of file +#define FILTER_AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") \ No newline at end of file diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index aa3652046b5..1f2bc9d8240 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -29,10 +29,10 @@ #define UI_DARKMODE 131072 #define DISABLE_KARMA 262144 #define CHAT_NO_MENTORTICKETLOGS 524288 - #define TYPING_ONCE 1048576 +#define AMBIENT_OCCLUSION 2097152 -#define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC) +#define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC|AMBIENT_OCCLUSION) // Admin attack logs filter system, see /proc/add_attack_logs and /proc/msg_admin_attack #define ATKLOG_ALL 0 diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index f56400c7198..4d9d05856ae 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -29,6 +29,6 @@ blend_mode = BLEND_OVERLAY /obj/screen/plane_master/game_world/backdrop(mob/mymob) - filters -= AMBIENT_OCCLUSION - if(istype(mymob) && mymob.client && mymob.client.prefs && mymob.client.prefs.ambientocclusion) - filters += AMBIENT_OCCLUSION + filters -= FILTER_AMBIENT_OCCLUSION + if(istype(mymob) && mymob.client && mymob.client.prefs && (mymob.client.prefs.toggles & AMBIENT_OCCLUSION)) + filters += FILTER_AMBIENT_OCCLUSION diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index a90ced311a7..a810e7add6b 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -200,8 +200,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/list/gear = list() var/gear_tab = "General" - var/ambientocclusion = TRUE - /datum/preferences/New(client/C) parent = C b_type = pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+") @@ -454,7 +452,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Donator Publicity: [(toggles & DONATOR_PUBLIC) ? "Public" : "Hidden"]
" dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"]
" dat += "FPS: [clientfps]
" - dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"]
" + dat += "Ambient Occlusion: [toggles & AMBIENT_OCCLUSION ? "Enabled" : "Disabled"]
" dat += "Ghost Ears: [(toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" dat += "Ghost Sight: [(toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" dat += "Ghost Radio: [(toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]
" @@ -2068,12 +2066,12 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts current_tab = text2num(href_list["tab"]) if("ambientocclusion") - ambientocclusion = !ambientocclusion + toggles ^= AMBIENT_OCCLUSION if(parent && parent.screen && parent.screen.len) var/obj/screen/plane_master/game_world/PM = locate(/obj/screen/plane_master/game_world) in parent.screen - PM.filters -= AMBIENT_OCCLUSION - if(ambientocclusion) - PM.filters += AMBIENT_OCCLUSION + PM.filters -= FILTER_AMBIENT_OCCLUSION + if(toggles & AMBIENT_OCCLUSION) + PM.filters += FILTER_AMBIENT_OCCLUSION ShowChoices(user) return 1 diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index e004c812315..0628276ccbc 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -19,7 +19,6 @@ exp, clientfps, atklog, - ambientocclusion, FROM [format_table_name("player")] WHERE ckey='[C.ckey]'"} ) @@ -51,7 +50,6 @@ exp = query.item[16] clientfps = text2num(query.item[17]) atklog = text2num(query.item[18]) - ambientocclusion = text2num(query.item[19]) //Sanitize ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor)) @@ -71,7 +69,6 @@ exp = sanitize_text(exp, initial(exp)) clientfps = sanitize_integer(clientfps, 0, 1000, initial(clientfps)) atklog = sanitize_integer(atklog, 0, 100, initial(atklog)) - ambientocclusion = sanitize_integer(ambientocclusion, 0, 1, initial(ambientocclusion)) return 1 /datum/preferences/proc/save_preferences(client/C) @@ -101,8 +98,7 @@ windowflashing='[windowflashing]', ghost_anonsay='[ghost_anonsay]', clientfps='[clientfps]', - atklog='[atklog]', - ambientocclusion='[ambientocclusion]' + atklog='[atklog]' WHERE ckey='[C.ckey]'"} ) diff --git a/code/modules/client/preference/preferences_toggles.dm b/code/modules/client/preference/preferences_toggles.dm index 703de37468e..c4d7599d2de 100644 --- a/code/modules/client/preference/preferences_toggles.dm +++ b/code/modules/client/preference/preferences_toggles.dm @@ -230,7 +230,6 @@ to_chat(usr, "You have disabled karma gains.") else to_chat(usr, "You have enabled karma gains.") - return /client/verb/toggle_popup_limiter() set name = "Toggle Text Popup Limiter" @@ -242,4 +241,4 @@ to_chat(usr, "You have enabled text popup limiting.") else to_chat(usr, "You have disabled text popup limiting.") - return + diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index 9e96ed5b56b..c5b48c74d81 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -616,7 +616,7 @@ /datum/reagent/rotatium/on_mob_life(mob/living/carbon/M) if(M.hud_used) if(current_cycle >= 20 && current_cycle % 20 == 0) - var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) + var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"]) var/rotation = min(round(current_cycle / 20), 89) // By this point the player is probably puking and quitting anyway for(var/whole_screen in screens) animate(whole_screen, transform = matrix(rotation, MATRIX_ROTATE), time = 5, easing = QUAD_EASING, loop = -1) @@ -625,7 +625,7 @@ /datum/reagent/rotatium/on_mob_delete(mob/living/M) if(M && M.hud_used) - var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) + var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"]) for(var/whole_screen in screens) animate(whole_screen, transform = matrix(), time = 5, easing = QUAD_EASING) ..() diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt index 8b411db15e1..6ca1f0201e8 100644 --- a/config/example/dbconfig.txt +++ b/config/example/dbconfig.txt @@ -9,7 +9,7 @@ ## This value must be set to the version of the paradise schema in use. ## If this value does not match, the SQL database will not be loaded and an error will be generated. ## Roundstart will be delayed. -DB_VERSION 6 +DB_VERSION 5 ## Server the MySQL database can be found at. # Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. From e5033a927a839e15851aac833ccf74cefa4fc4c9 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 00:55:54 +0200 Subject: [PATCH 009/196] Fix toggle sanization --- code/__DEFINES/preferences.dm | 2 ++ code/modules/client/preference/preferences_mysql.dm | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 1f2bc9d8240..32433975e9e 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -32,6 +32,8 @@ #define TYPING_ONCE 1048576 #define AMBIENT_OCCLUSION 2097152 +#define TOGGLES_TOTAL 4194304 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. + #define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC|AMBIENT_OCCLUSION) // Admin attack logs filter system, see /proc/add_attack_logs and /proc/msg_admin_attack diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index 0628276ccbc..3483a4c77d3 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -55,7 +55,7 @@ ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor)) UI_style = sanitize_inlist(UI_style, list("White", "Midnight"), initial(UI_style)) default_slot = sanitize_integer(default_slot, 1, max_save_slots, initial(default_slot)) - toggles = sanitize_integer(toggles, 0, 2097151, initial(toggles)) + toggles = sanitize_integer(toggles, 0, TOGGLES_TOTAL, initial(toggles)) sound = sanitize_integer(sound, 0, 65535, initial(sound)) UI_style_color = sanitize_hexcolor(UI_style_color, initial(UI_style_color)) UI_style_alpha = sanitize_integer(UI_style_alpha, 0, 255, initial(UI_style_alpha)) From bdd379754b772af20e1e7bf361f9dfff75397dd4 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 01:12:51 +0200 Subject: [PATCH 010/196] Whelp, remove unused SQL changes --- SQL/paradise_schema.sql | 1 - SQL/paradise_schema_prefixed.sql | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index e2c2230a74c..0379517190f 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -266,7 +266,6 @@ CREATE TABLE `player` ( `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', - `ambientocclusion` smallint(4) DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 7ad83febaf4..ab4badc4281 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -264,8 +264,7 @@ CREATE TABLE `SS13_player` ( `ghost_anonsay` tinyint(1) NOT NULL DEFAULT '0', `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', - `atklog` smallint(4) DEFAULT '0', - `ambientocclusion` smallint(4) DEFAULT '1', + `atklog` smallint(4) DEFAULT '0' PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; From a3bd9e1bb4fcb42f5a870b957f27ea9116600c94 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 01:35:34 +0200 Subject: [PATCH 011/196] Need to pay better attention --- SQL/paradise_schema_prefixed.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index ab4badc4281..e9a622cf037 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -264,7 +264,7 @@ CREATE TABLE `SS13_player` ( `ghost_anonsay` tinyint(1) NOT NULL DEFAULT '0', `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', - `atklog` smallint(4) DEFAULT '0' + `atklog` smallint(4) DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; From affae890284605a106c2797ac420923e2e794dd3 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 19:55:41 +0200 Subject: [PATCH 012/196] Attempt update to /tg/ lighting system --- code/__DEFINES/lighting.dm | 102 ++- code/_onclick/hud/fullscreen.dm | 47 +- code/_onclick/hud/plane_master.dm | 10 + code/controllers/Processes/lighting.dm | 98 --- code/controllers/subsystem/lighting.dm | 87 +++ code/game/area/Space Station 13 areas.dm | 3 + code/game/area/areas.dm | 56 +- code/game/objects/effects/misc.dm | 34 +- code/game/turfs/space/space.dm | 36 +- code/game/turfs/turf.dm | 27 +- code/modules/awaymissions/zvis.dm | 634 +++++++++--------- code/modules/lighting/__lighting_docs.dm | 2 +- code/modules/lighting/lighting_area.dm | 31 +- code/modules/lighting/lighting_atom.dm | 139 ++-- code/modules/lighting/lighting_corner.dm | 76 ++- code/modules/lighting/lighting_object.dm | 144 ++++ code/modules/lighting/lighting_overlay.dm | 89 --- code/modules/lighting/lighting_setup.dm | 23 +- code/modules/lighting/lighting_source.dm | 416 ++++++------ code/modules/lighting/lighting_turf.dm | 129 ++-- code/modules/lighting/~lighting_undefs.dm | 7 - .../living/simple_animal/hostile/statue.dm | 2 +- icons/effects/alphacolors.dmi | Bin 464 -> 633 bytes icons/effects/lighting_object.dmi | Bin 0 -> 1882 bytes icons/effects/lighting_overlay.dmi | Bin 5914 -> 0 bytes icons/effects/lighting_overlay.png | Bin 1480 -> 0 bytes paradise.dme | 5 +- 27 files changed, 1248 insertions(+), 949 deletions(-) delete mode 100644 code/controllers/Processes/lighting.dm create mode 100644 code/controllers/subsystem/lighting.dm create mode 100644 code/modules/lighting/lighting_object.dm delete mode 100644 code/modules/lighting/lighting_overlay.dm delete mode 100644 code/modules/lighting/~lighting_undefs.dm create mode 100644 icons/effects/lighting_object.dmi delete mode 100644 icons/effects/lighting_overlay.dmi delete mode 100644 icons/effects/lighting_overlay.png diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index 3db7c467c24..37203792f76 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -1,42 +1,82 @@ -#define LIGHTING_FALLOFF 1 // type of falloff to use for lighting; 1 for circular, 2 for square -#define LIGHTING_LAMBERTIAN 0 // 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 +//Bay lighting engine shit, not in /code/modules/lighting because BYOND is being shit about it +#define LIGHTING_INTERVAL 5 // frequency, in 1/10ths of a second, of the lighting process -#define LIGHTING_ICON 'icons/effects/lighting_overlay.dmi' // icon used for lighting shading effects +#define MINIMUM_USEFUL_LIGHT_RANGE 1.4 -#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_FALLOFF 1 // type of falloff to use for lighting; 1 for circular, 2 for square +#define LIGHTING_LAMBERTIAN 0 // 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_ROUND_VALUE (1 / 64) //Value used to round lumcounts, values smaller than 1/129 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_SOFT_THRESHOLD 0.05 // If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting overlays. +#define LIGHTING_ICON 'icons/effects/lighting_object.dmi' // icon used for lighting shading effects + +// If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. +// Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all. +#define LIGHTING_SOFT_THRESHOLD 0 // If I were you I'd leave this alone. #define LIGHTING_BASE_MATRIX \ list \ ( \ - LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, 0, \ - LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, 0, \ - LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, 0, \ - LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, LIGHTING_SOFT_THRESHOLD, 0, \ + 1, 1, 1, 0, \ + 1, 1, 1, 0, \ + 1, 1, 1, 0, \ + 1, 1, 1, 0, \ 0, 0, 0, 1 \ ) \ -// Helpers so we can (more easily) control the colour matrices. -#define CL_MATRIX_RR 1 -#define CL_MATRIX_RG 2 -#define CL_MATRIX_RB 3 -#define CL_MATRIX_RA 4 -#define CL_MATRIX_GR 5 -#define CL_MATRIX_GG 6 -#define CL_MATRIX_GB 7 -#define CL_MATRIX_GA 8 -#define CL_MATRIX_BR 9 -#define CL_MATRIX_BG 10 -#define CL_MATRIX_BB 11 -#define CL_MATRIX_BA 12 -#define CL_MATRIX_AR 13 -#define CL_MATRIX_AG 14 -#define CL_MATRIX_AB 15 -#define CL_MATRIX_AA 16 -#define CL_MATRIX_CR 17 -#define CL_MATRIX_CG 18 -#define CL_MATRIX_CB 19 -#define CL_MATRIX_CA 20 \ No newline at end of file + +//Some defines to generalise colours used in lighting. +//Important note on colors. Colors can end up significantly different from the basic html picture, especially when saturated +#define LIGHT_COLOR_WHITE "#FFFFFF" +#define LIGHT_COLOR_RED "#FA8282" //Warm but extremely diluted red. rgb(250, 130, 130) +#define LIGHT_COLOR_GREEN "#64C864" //Bright but quickly dissipating neon green. rgb(100, 200, 100) +#define LIGHT_COLOR_BLUE "#6496FA" //Cold, diluted blue. rgb(100, 150, 250) + +#define LIGHT_COLOR_BLUEGREEN "#7DE1AF" //Light blueish green. rgb(125, 225, 175) +#define LIGHT_COLOR_CYAN "#7DE1E1" //Diluted cyan. rgb(125, 225, 225) +#define LIGHT_COLOR_LIGHT_CYAN "#40CEFF" //More-saturated cyan. rgb(64, 206, 255) +#define LIGHT_COLOR_DARK_BLUE "#6496FA" //Saturated blue. rgb(51, 117, 248) +#define LIGHT_COLOR_PINK "#E17DE1" //Diluted, mid-warmth pink. rgb(225, 125, 225) +#define LIGHT_COLOR_YELLOW "#E1E17D" //Dimmed yellow, leaning kaki. rgb(225, 225, 125) +#define LIGHT_COLOR_BROWN "#966432" //Clear brown, mostly dim. rgb(150, 100, 50) +#define LIGHT_COLOR_ORANGE "#FA9632" //Mostly pure orange. rgb(250, 150, 50) +#define LIGHT_COLOR_PURPLE "#952CF4" //Light Purple. rgb(149, 44, 244) +#define LIGHT_COLOR_LAVENDER "#9B51FF" //Less-saturated light purple. rgb(155, 81, 255) + +#define LIGHT_COLOR_HOLY_MAGIC "#FFF743" //slightly desaturated bright yellow. +#define LIGHT_COLOR_BLOOD_MAGIC "#D00000" //deep crimson + +//These ones aren't a direct colour like the ones above, because nothing would fit +#define LIGHT_COLOR_FIRE "#FAA019" //Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25) +#define LIGHT_COLOR_LAVA "#C48A18" //Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24) +#define LIGHT_COLOR_FLARE "#FA644B" //Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75) +#define LIGHT_COLOR_SLIME_LAMP "#AFC84B" //Weird color, between yellow and green, very slimy. rgb(175, 200, 75) +#define LIGHT_COLOR_TUNGSTEN "#FAE1AF" //Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175) +#define LIGHT_COLOR_HALOGEN "#F0FAFA" //Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250) + +#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow. + +#define LIGHTING_PLANE_ALPHA_VISIBLE 255 +#define LIGHTING_PLANE_ALPHA_NV_TRAIT 245 +#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192 +#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell. +#define LIGHTING_PLANE_ALPHA_INVISIBLE 0 + +//lighting area defines +#define DYNAMIC_LIGHTING_DISABLED 0 //dynamic lighting disabled (area stays at full brightness) +#define DYNAMIC_LIGHTING_ENABLED 1 //dynamic lighting enabled +#define DYNAMIC_LIGHTING_FORCED 2 //dynamic lighting enabled even if the area doesn't require power +#define DYNAMIC_LIGHTING_IFSTARLIGHT 3 //dynamic lighting enabled only if starlight is. +#define IS_DYNAMIC_LIGHTING(A) A.dynamic_lighting + + +//code assumes higher numbers override lower numbers. +#define LIGHTING_NO_UPDATE 0 +#define LIGHTING_VIS_UPDATE 1 +#define LIGHTING_CHECK_UPDATE 2 +#define LIGHTING_FORCE_UPDATE 3 + +#define FLASH_LIGHT_DURATION 2 +#define FLASH_LIGHT_POWER 3 +#define FLASH_LIGHT_RANGE 3.8 \ No newline at end of file diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 4c9ff339052..82b56aaf1b7 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -17,7 +17,7 @@ screen.severity = severity screens[category] = screen - if(client) + if(client && screen.should_show_to(src)) client.screen += screen return screen @@ -45,9 +45,15 @@ clear_fullscreen(category) /datum/hud/proc/reload_fullscreen() - var/list/screens = mymob.screens - for(var/category in screens) - mymob.client.screen |= screens[category] + if(mymob.client) + var/obj/screen/fullscreen/screen + var/list/screens = mymob.screens + for(var/category in screens) + screen = screens[category] + if(screen.should_show_to(src)) + mymob.client.screen |= screen + else + mymob.client.screen -= screen /obj/screen/fullscreen icon = 'icons/mob/screen_full.dmi' @@ -57,6 +63,12 @@ plane = FULLSCREEN_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT var/severity = 0 + var/show_when_dead = FALSE + +/obj/screen/fullscreen/proc/should_show_to(mob/mymob) + if(!show_when_dead && mymob.stat == DEAD) + return FALSE + return TRUE /obj/screen/fullscreen/Destroy() severity = 0 @@ -101,6 +113,33 @@ screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "druggy" +/obj/screen/fullscreen/lighting_backdrop + icon = 'icons/mob/screen_gen.dmi' + icon_state = "flash" + transform = matrix(200, 0, 0, 0, 200, 0) + plane = LIGHTING_PLANE + blend_mode = BLEND_OVERLAY + show_when_dead = TRUE + +//Provides darkness to the back of the lighting plane +/obj/screen/fullscreen/lighting_backdrop/lit + invisibility = INVISIBILITY_LIGHTING + layer = BACKGROUND_LAYER+21 + color = "#000" + show_when_dead = TRUE + +//Provides whiteness in case you don't see lights so everything is still visible +/obj/screen/fullscreen/lighting_backdrop/unlit + layer = BACKGROUND_LAYER+20 + show_when_dead = TRUE + +/obj/screen/fullscreen/see_through_darkness + icon_state = "nightvision" + plane = LIGHTING_PLANE + layer = LIGHTING_LAYER + blend_mode = BLEND_ADD + show_when_dead = TRUE + #undef FULLSCREEN_LAYER #undef BLIND_LAYER #undef CRIT_LAYER diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index 4d9d05856ae..aebc194c97e 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -32,3 +32,13 @@ filters -= FILTER_AMBIENT_OCCLUSION if(istype(mymob) && mymob.client && mymob.client.prefs && (mymob.client.prefs.toggles & AMBIENT_OCCLUSION)) filters += FILTER_AMBIENT_OCCLUSION + +/obj/screen/plane_master/lighting + name = "lighting plane master" + plane = LIGHTING_PLANE + blend_mode = BLEND_MULTIPLY + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +/obj/screen/plane_master/lighting/backdrop(mob/mymob) + mymob.overlay_fullscreen("lighting_backdrop_lit", /obj/screen/fullscreen/lighting_backdrop/lit) + mymob.overlay_fullscreen("lighting_backdrop_unlit", /obj/screen/fullscreen/lighting_backdrop/unlit) \ No newline at end of file diff --git a/code/controllers/Processes/lighting.dm b/code/controllers/Processes/lighting.dm deleted file mode 100644 index d46cab1d19f..00000000000 --- a/code/controllers/Processes/lighting.dm +++ /dev/null @@ -1,98 +0,0 @@ -/var/lighting_overlays_initialised = FALSE - -/var/list/lighting_update_lights = list() // List of lighting sources queued for update. -/var/list/lighting_update_corners = list() // List of lighting corners queued for update. -/var/list/lighting_update_overlays = list() // List of lighting overlays queued for update. - -/var/list/lighting_update_lights_old = list() // List of lighting sources currently being updated. -/var/list/lighting_update_corners_old = list() // List of lighting corners currently being updated. -/var/list/lighting_update_overlays_old = list() // List of lighting overlays currently being updated. - - -/datum/controller/process/lighting - // Queues of update counts, waiting to be rolled into stats lists - var/list/stats_queues = list( - "Source" = list(), "Corner" = list(), "Overlay" = list()) - // Stats lists - var/list/stats_lists = list( - "Source" = list(), "Corner" = list(), "Overlay" = list()) - var/update_stats_every = (1 SECONDS) - var/next_stats_update = 0 - var/stat_updates_to_keep = 5 - -/datum/controller/process/lighting/setup() - name = "lighting" - - schedule_interval = 0 // run as fast as you possibly can - sleep_interval = 10 // Yield every 10% of a tick - defer_usage = 80 // Defer at 80% of a tick - create_all_lighting_overlays() - lighting_overlays_initialised = TRUE - - // Pre-process lighting once before the round starts. Wait 30 seconds so the away mission has time to load. - spawn(300) - doWork(1) - -/datum/controller/process/lighting/doWork(roundstart) - - 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 = list() - for(var/datum/light_source/L in lighting_update_lights_old) - - if(L.check() || L.destroyed || L.force_update) - L.remove_lum() - if(!L.destroyed) - L.apply_lum() - - else if(L.vis_update) //We smartly update only tiles that became (in) visible to use. - L.smart_vis_update() - - L.vis_update = FALSE - L.force_update = FALSE - L.needs_update = FALSE - - SCHECK - - lighting_update_corners_old = lighting_update_corners //Same as above. - lighting_update_corners = list() - for(var/A in lighting_update_corners_old) - var/datum/lighting_corner/C = A - - C.update_overlays() - - C.needs_update = FALSE - - SCHECK - - lighting_update_overlays_old = lighting_update_overlays //Same as above. - lighting_update_overlays = list() - - for(var/A in lighting_update_overlays_old) - var/atom/movable/lighting_overlay/O = A - O.update_overlay() - O.needs_update = 0 - SCHECK - - stats_queues["Source"] += lighting_update_lights_old.len - stats_queues["Corner"] += lighting_update_corners_old.len - stats_queues["Overlay"] += lighting_update_overlays_old.len - - if(next_stats_update <= world.time) - next_stats_update = world.time + update_stats_every - for(var/stat_name in stats_queues) - var/stat_sum = 0 - var/list/stats_queue = stats_queues[stat_name] - for(var/count in stats_queue) - stat_sum += count - stats_queue.Cut() - - var/list/stats_list = stats_lists[stat_name] - stats_list.Insert(1, stat_sum) - if(stats_list.len > stat_updates_to_keep) - stats_list.Cut(stats_list.len) - -/datum/controller/process/lighting/statProcess() - ..() - stat(null, "[total_lighting_sources] sources, [total_lighting_corners] corners, [total_lighting_overlays] overlays") - for(var/stat_type in stats_lists) - stat(null, "[stat_type] updates: [jointext(stats_lists[stat_type], " | ")]") diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm new file mode 100644 index 00000000000..252f2dcb2c8 --- /dev/null +++ b/code/controllers/subsystem/lighting.dm @@ -0,0 +1,87 @@ +GLOBAL_LIST_EMPTY(lighting_update_lights) // List of lighting sources queued for update. +GLOBAL_LIST_EMPTY(lighting_update_corners) // List of lighting corners queued for update. +GLOBAL_LIST_EMPTY(lighting_update_objects) // List of lighting objects queued for update. + +SUBSYSTEM_DEF(lighting) + name = "Lighting" + wait = 2 + init_order = INIT_ORDER_LIGHTING + flags = SS_TICKER + +/datum/controller/subsystem/lighting/stat_entry() + ..("L:[GLOB.lighting_update_lights.len]|C:[GLOB.lighting_update_corners.len]|O:[GLOB.lighting_update_objects.len]") + +/datum/controller/subsystem/lighting/Initialize(timeofday) + if(!initialized) + if(config.starlight) + for(var/I in GLOB.all_areas) + var/area/A = I + if (A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) + A.luminosity = 0 + + create_all_lighting_objects() + initialized = TRUE + + fire(FALSE, TRUE) + + return ..() + +/datum/controller/subsystem/lighting/fire(resumed, init_tick_checks) + MC_SPLIT_TICK_INIT(3) + if(!init_tick_checks) + MC_SPLIT_TICK + var/i = 0 + for(i in 1 to GLOB.lighting_update_lights.len) + var/datum/light_source/L = GLOB.lighting_update_lights[i] + + L.update_corners() + + L.needs_update = LIGHTING_NO_UPDATE + + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if(i) + GLOB.lighting_update_lights.Cut(1, i+1) + i = 0 + + if(!init_tick_checks) + MC_SPLIT_TICK + + for (i in 1 to GLOB.lighting_update_corners.len) + var/datum/lighting_corner/C = GLOB.lighting_update_corners[i] + + C.update_objects() + C.needs_update = FALSE + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if (i) + GLOB.lighting_update_corners.Cut(1, i+1) + i = 0 + + + if(!init_tick_checks) + MC_SPLIT_TICK + + for (i in 1 to GLOB.lighting_update_objects.len) + var/atom/movable/lighting_object/O = GLOB.lighting_update_objects[i] + + if (QDELETED(O)) + continue + + O.update() + O.needs_update = FALSE + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if (i) + GLOB.lighting_update_objects.Cut(1, i+1) + + +/datum/controller/subsystem/lighting/Recover() + initialized = SSlighting.initialized + ..() \ No newline at end of file diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 067223c0285..ad7824c4854 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -26,6 +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 = AREA_LAYER + plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. luminosity = 0 mouse_opacity = MOUSE_OPACITY_TRANSPARENT invisibility = INVISIBILITY_LIGHTING @@ -128,6 +129,7 @@ var/list/ghostteleportlocs = list() valid_territory = FALSE outdoors = 1 ambientsounds = list('sound/ambience/ambispace.ogg','sound/music/title2.ogg','sound/music/space.ogg','sound/music/traitor.ogg') + dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT /area/space/atmosalert() return @@ -1424,6 +1426,7 @@ var/list/ghostteleportlocs = list() requires_power = 0 dynamic_lighting = 0 valid_territory = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT /area/solar/auxport name = "\improper Fore Port Solar Array" diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6f25d1b23aa..0bd54aa4530 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -16,38 +16,50 @@ // area from any other instances already present (meaning you can have // separate APCs, and so on) var/there_can_be_many = 0 - plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. - /area/New() - ..() + + GLOB.all_areas += src + +/area/Initialize(mapload) icon_state = "" layer = AREA_LAYER uid = ++global_uid - GLOB.all_areas += src + map_name = name // Save the initial (the name set in the map) name of the area. - if(type == /area) // override defaults for space. TODO: make space areas of type /area/space rather than /area - requires_power = 1 - always_unpowered = 1 - dynamic_lighting = 1 - power_light = 0 - power_equip = 0 - power_environ = 0 -// lighting_state = 4 - //has_gravity = 0 // Space has gravity. Because.. because. + if(requires_power) + luminosity = 0 + else + power_light = TRUE + power_equip = TRUE + power_environ = TRUE - if(requires_power != 0) - power_light = 0 //rastaf0 - power_equip = 0 //rastaf0 - power_environ = 0 //rastaf0 + if(dynamic_lighting == DYNAMIC_LIGHTING_FORCED) + dynamic_lighting = DYNAMIC_LIGHTING_ENABLED + luminosity = 0 + else if(dynamic_lighting != DYNAMIC_LIGHTING_IFSTARLIGHT) + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + if(dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) + dynamic_lighting = config.starlight ? DYNAMIC_LIGHTING_ENABLED : DYNAMIC_LIGHTING_DISABLED + + . = ..() blend_mode = BLEND_MULTIPLY // Putting this in the constructor so that it stops the icons being screwed up in the map editor. -/area/Initialize() - . = ..() + if(!IS_DYNAMIC_LIGHTING(src)) + add_overlay(/obj/effect/fullbright) + reg_in_areas_in_z() + + return INITIALIZE_HINT_LATELOAD + +/area/LateInitialize() + . = ..() + power_change() // all machines set to current power level, also updates lighting icon + +/area/proc/reg_in_areas_in_z() if(contents.len) var/list/areas_in_z = space_manager.areas_in_z var/z @@ -64,12 +76,6 @@ areas_in_z["[z]"] = list() areas_in_z["[z]"] += src - return INITIALIZE_HINT_LATELOAD - -/area/LateInitialize() - . = ..() - power_change() // all machines set to current power level, also updates lighting icon - /area/proc/get_cameras() var/list/cameras = list() for(var/obj/machinery/camera/C in src) diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 3ea1fc0c3d6..191f776d01c 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -92,4 +92,36 @@ name = "horrific experiment" desc = "Some sort of pod filled with blood and vicerea. You swear you can see it moving..." icon = 'icons/obj/cloning.dmi' - icon_state = "pod_g" \ No newline at end of file + icon_state = "pod_g" + + +//Makes a tile fully lit no matter what +/obj/effect/fullbright + icon = 'icons/effects/alphacolors.dmi' + icon_state = "white" + plane = LIGHTING_PLANE + layer = LIGHTING_LAYER + blend_mode = BLEND_ADD + + +/obj/effect/dummy/lighting_obj + name = "lighting fx obj" + desc = "Tell a coder if you're seeing this." + icon_state = "nothing" + light_color = "#FFFFFF" + light_range = MINIMUM_USEFUL_LIGHT_RANGE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +/obj/effect/dummy/lighting_obj/Initialize(mapload, _color, _range, _power, _duration) + . = ..() + set_light(_range ? _range : light_range, _power ? _power : light_power, _color ? _color : light_color) + if(_duration) + QDEL_IN(src, _duration) + +/obj/effect/dummy/lighting_obj/moblight + name = "mob lighting fx" + +/obj/effect/dummy/lighting_obj/moblight/Initialize(mapload, _color, _range, _power, _duration) + . = ..() + if(!ismob(loc)) + return INITIALIZE_HINT_QDEL \ No newline at end of file diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index f007aebfff1..1c24c444512 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -2,13 +2,16 @@ icon = 'icons/turf/space.dmi' name = "\proper space" icon_state = "0" - dynamic_lighting = 0 - luminosity = 1 temperature = TCMB thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT heat_capacity = HEAT_CAPACITY_VACUUM + plane = PLANE_SPACE + layer = SPACE_LAYER + light_power = 0.25 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + var/destination_z var/destination_x var/destination_y @@ -18,10 +21,16 @@ if(!istype(src, /turf/space/transit)) icon_state = SPACE_ICON_STATE - if(update_starlight() && is_station_level(z)) - // before you ask: Yes, this is fucking stupid, but looping through turf/space in world is how you make the server freeze - // so I don't see a better way of doing this - LAZYADD(GLOB.station_level_space_turfs, src) + +/turf/space/Initialize(mapload) + var/area/A = loc + if(!IS_DYNAMIC_LIGHTING(src) && IS_DYNAMIC_LIGHTING(A)) + add_overlay(/obj/effect/fullbright) + + if (light_power && light_range) + update_light() + + return INITIALIZE_HINT_NORMAL /turf/space/Destroy(force) if(force) @@ -29,7 +38,6 @@ else return QDEL_HINT_LETMELIVE - /turf/space/BeforeChange() ..() var/datum/space_level/S = space_manager.get_zlev(z) @@ -44,14 +52,14 @@ S.apply_transition(src) /turf/space/proc/update_starlight() - if(!config.starlight) - return FALSE - if(locate(/turf/simulated) in orange(src,1)) - set_light(config.starlight) - return TRUE - else + if(config.starlight) + for(var/t in RANGE_TURFS(1,src)) //RANGE_TURFS is in code\__HELPERS\game.dm + if(isspaceturf(t)) + //let's NOT update this that much pls + continue + set_light(config.starlight) + return set_light(0) - return FALSE /turf/space/attackby(obj/item/C as obj, mob/user as mob, params) ..() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 677357cf170..86f94ee37d2 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -41,6 +41,16 @@ if(smooth && ticker && ticker.current_state == GAME_STATE_PLAYING) queue_smooth(src) +/turf/Initialize(mapload) + . = ..() + + var/area/A = loc + if(!IS_DYNAMIC_LIGHTING(src) && IS_DYNAMIC_LIGHTING(A)) + add_overlay(/obj/effect/fullbright) + + if(light_power && light_range) + update_light() + /hook/startup/proc/smooth_world() var/watch = start_watch() log_startup_progress("Smoothing atoms...") @@ -177,7 +187,7 @@ var/old_opacity = opacity var/old_dynamic_lighting = dynamic_lighting var/old_affecting_lights = affecting_lights - var/old_lighting_overlay = lighting_overlay + var/old_lighting_object = lighting_object var/old_blueprint_data = blueprint_data var/old_obscured = obscured var/old_corners = corners @@ -196,18 +206,23 @@ recalc_atom_opacity() - if(lighting_overlays_initialised) - lighting_overlay = old_lighting_overlay + if(SSlighting.initialized) + recalc_atom_opacity() + lighting_object = old_lighting_object affecting_lights = old_affecting_lights corners = old_corners - if((old_opacity != opacity) || (dynamic_lighting != old_dynamic_lighting)) + if (old_opacity != opacity || dynamic_lighting != old_dynamic_lighting) reconsider_lights() - if(dynamic_lighting != old_dynamic_lighting) - if(dynamic_lighting) + + if (dynamic_lighting != old_dynamic_lighting) + if (IS_DYNAMIC_LIGHTING(src)) lighting_build_overlay() else lighting_clear_overlay() + for(var/turf/space/S in RANGE_TURFS(1, src)) //RANGE_TURFS is in code\__HELPERS\game.dm + S.update_starlight() + obscured = old_obscured return W diff --git a/code/modules/awaymissions/zvis.dm b/code/modules/awaymissions/zvis.dm index 03adaeda629..e6e8e610a4d 100644 --- a/code/modules/awaymissions/zvis.dm +++ b/code/modules/awaymissions/zvis.dm @@ -1,368 +1,368 @@ -/area/awaymission/upperlevel - name = "Open Space" - color = "#888" - dynamic_lighting = 0 - requires_power = 0 +// /area/awaymission/upperlevel +// name = "Open Space" +// color = "#888" +// dynamic_lighting = 0 +// requires_power = 0 -// Used by /turf/unsimulated/floor/upperlevel as a reference for where the other floor is -/obj/effect/levelref - name = "level reference" - icon = 'icons/mob/screen_gen.dmi' - icon_state = "x2" - invisibility = 101 +// // Used by /turf/unsimulated/floor/upperlevel as a reference for where the other floor is +// /obj/effect/levelref +// name = "level reference" +// icon = 'icons/mob/screen_gen.dmi' +// icon_state = "x2" +// invisibility = 101 - var/id = null - var/obj/effect/levelref/other = null - var/offset_x - var/offset_y - var/offset_z - var/global/list/levels[0] +// var/id = null +// var/obj/effect/levelref/other = null +// var/offset_x +// var/offset_y +// var/offset_z +// var/global/list/levels[0] -/obj/effect/levelref/New() - ..() - levels += src +// /obj/effect/levelref/New() +// ..() +// levels += src -/obj/effect/levelref/Initialize() - ..() - for(var/obj/effect/levelref/O in levels) - if(id == O.id && O != src) - other = O - update_offset() - O.other = src - O.update_offset() - for(var/turf/unsimulated/floor/upperlevel/U in get_area(loc)) - U.init(src) - return +// /obj/effect/levelref/Initialize() +// ..() +// for(var/obj/effect/levelref/O in levels) +// if(id == O.id && O != src) +// other = O +// update_offset() +// O.other = src +// O.update_offset() +// for(var/turf/unsimulated/floor/upperlevel/U in get_area(loc)) +// U.init(src) +// return -/obj/effect/levelref/Destroy() - levels -= src - return ..() +// /obj/effect/levelref/Destroy() +// levels -= src +// return ..() -/obj/effect/levelref/proc/update_offset() - offset_x = other.x - x - offset_y = other.y - y - offset_z = other.z - z +// /obj/effect/levelref/proc/update_offset() +// offset_x = other.x - x +// offset_y = other.y - y +// offset_z = other.z - z -// Used by /turf/unsimulated/floor/upperlevel and /obj/effect/view_portal/visual -// to know if the world changed on the remote side -/obj/effect/portal_sensor - invisibility = 101 - var/light_hash = -1 - var/triggered_this_tick = 0 - var/datum/owner // owner that receive signals - var/list/params[0] // what to send to the main object to indicate which sensor - var/trigger_limit = 5 // number of time we're allowed to trigger per ptick +// // Used by /turf/unsimulated/floor/upperlevel and /obj/effect/view_portal/visual +// // to know if the world changed on the remote side +// /obj/effect/portal_sensor +// invisibility = 101 +// var/light_hash = -1 +// var/triggered_this_tick = 0 +// var/datum/owner // owner that receive signals +// var/list/params[0] // what to send to the main object to indicate which sensor +// var/trigger_limit = 5 // number of time we're allowed to trigger per ptick -/obj/effect/portal_sensor/New(loc, o, ...) - ..() - owner = o - if(args.len >= 3) - params = args.Copy(3) - processing_objects += src - trigger() +// /obj/effect/portal_sensor/New(loc, o, ...) +// ..() +// owner = o +// if(args.len >= 3) +// params = args.Copy(3) +// processing_objects += src +// trigger() -/obj/effect/portal_sensor/Destroy() - processing_objects -= src - return ..() +// /obj/effect/portal_sensor/Destroy() +// processing_objects -= src +// return ..() -/obj/effect/portal_sensor/Crossed(A) - trigger() +// /obj/effect/portal_sensor/Crossed(A) +// trigger() -/obj/effect/portal_sensor/Uncrossed(A) - trigger() +// /obj/effect/portal_sensor/Uncrossed(A) +// trigger() -/obj/effect/portal_sensor/process() - check_light() - if(triggered_this_tick >= trigger_limit) - call(owner, "trigger")(arglist(params)) - triggered_this_tick = 0 +// /obj/effect/portal_sensor/process() +// check_light() +// if(triggered_this_tick >= trigger_limit) +// call(owner, "trigger")(arglist(params)) +// triggered_this_tick = 0 -/obj/effect/portal_sensor/proc/trigger() - triggered_this_tick++ - if(triggered_this_tick < trigger_limit) - call(owner, "trigger")(arglist(params)) +// /obj/effect/portal_sensor/proc/trigger() +// triggered_this_tick++ +// if(triggered_this_tick < trigger_limit) +// call(owner, "trigger")(arglist(params)) -/obj/effect/portal_sensor/proc/check_light() - var/turf/T = loc - if(istype(T) && T.lighting_overlay && !T.lighting_overlay.needs_update) - var/atom/movable/lighting_overlay/O = T.lighting_overlay - var/hash = O.lum_r + O.lum_g + O.lum_b - if(hash != light_hash) - light_hash = hash - trigger() - else - if(light_hash != -1) - light_hash = -1 - trigger() +// /obj/effect/portal_sensor/proc/check_light() +// var/turf/T = loc +// if(istype(T) && T.lighting_object && !T.lighting_object.needs_update) +// var/atom/movable/lighting_object/O = T.lighting_object +// var/hash = O.lum_r + O.lum_g + O.lum_b +// if(hash != light_hash) +// light_hash = hash +// trigger() +// else +// if(light_hash != -1) +// light_hash = -1 +// trigger() -// for second floor showing floor below -/turf/unsimulated/floor/upperlevel - icon = 'icons/turf/areas.dmi' - icon_state = "dark128" - layer = AREA_LAYER + 0.5 - appearance_flags = TILE_BOUND | KEEP_TOGETHER - var/turf/lower_turf - var/obj/effect/portal_sensor/sensor +// // for second floor showing floor below +// /turf/unsimulated/floor/upperlevel +// icon = 'icons/turf/areas.dmi' +// icon_state = "dark128" +// layer = AREA_LAYER + 0.5 +// appearance_flags = TILE_BOUND | KEEP_TOGETHER +// var/turf/lower_turf +// var/obj/effect/portal_sensor/sensor -/turf/unsimulated/floor/upperlevel/New() - ..() - var/obj/effect/levelref/R = locate() in get_area(src) - if(R && R.other) - init(R) +// /turf/unsimulated/floor/upperlevel/New() +// ..() +// var/obj/effect/levelref/R = locate() in get_area(src) +// if(R && R.other) +// init(R) -/turf/unsimulated/floor/upperlevel/Destroy() - QDEL_NULL(sensor) - return ..() +// /turf/unsimulated/floor/upperlevel/Destroy() +// QDEL_NULL(sensor) +// return ..() -/turf/unsimulated/floor/upperlevel/proc/init(var/obj/effect/levelref/R) - lower_turf = locate(x + R.offset_x, y + R.offset_y, z + R.offset_z) - if(lower_turf) - sensor = new(lower_turf, src) +// /turf/unsimulated/floor/upperlevel/proc/init(var/obj/effect/levelref/R) +// lower_turf = locate(x + R.offset_x, y + R.offset_y, z + R.offset_z) +// if(lower_turf) +// sensor = new(lower_turf, src) -/turf/unsimulated/floor/upperlevel/Entered(atom/movable/AM, atom/OL, ignoreRest = 0) - if(isliving(AM) || istype(AM, /obj)) - if(isliving(AM)) - var/mob/living/M = AM - M.emote("scream") - M.SpinAnimation(5, 1) - AM.forceMove(lower_turf) +// /turf/unsimulated/floor/upperlevel/Entered(atom/movable/AM, atom/OL, ignoreRest = 0) +// if(isliving(AM) || istype(AM, /obj)) +// if(isliving(AM)) +// var/mob/living/M = AM +// M.emote("scream") +// M.SpinAnimation(5, 1) +// AM.forceMove(lower_turf) -/turf/unsimulated/floor/upperlevel/attack_ghost(mob/user) - user.forceMove(lower_turf) +// /turf/unsimulated/floor/upperlevel/attack_ghost(mob/user) +// user.forceMove(lower_turf) -/turf/unsimulated/floor/upperlevel/proc/trigger() - name = lower_turf.name - desc = lower_turf.desc +// /turf/unsimulated/floor/upperlevel/proc/trigger() +// name = lower_turf.name +// desc = lower_turf.desc - // render each atom - underlays.Cut() - for(var/X in list(lower_turf) + lower_turf.contents) - var/atom/A = X - if(A && A.invisibility <= SEE_INVISIBLE_LIVING) - var/image/I = image(A, layer = AREA_LAYER + A.layer * 0.01, dir = A.dir) - I.pixel_x = A.pixel_x - I.pixel_y = A.pixel_y - underlays += I +// // render each atom +// underlays.Cut() +// for(var/X in list(lower_turf) + lower_turf.contents) +// var/atom/A = X +// if(A && A.invisibility <= SEE_INVISIBLE_LIVING) +// var/image/I = image(A, layer = AREA_LAYER + A.layer * 0.01, dir = A.dir) +// I.pixel_x = A.pixel_x +// I.pixel_y = A.pixel_y +// underlays += I -// remote end of narnia portal -/obj/effect/view_portal - name = "portal target" - icon = 'icons/mob/screen_gen.dmi' - icon_state = "x2" - invisibility = 101 - anchored = 1 +// // remote end of narnia portal +// /obj/effect/view_portal +// name = "portal target" +// icon = 'icons/mob/screen_gen.dmi' +// icon_state = "x2" +// invisibility = 101 +// anchored = 1 - var/id = null // id of other portal turf we connect to +// var/id = null // id of other portal turf we connect to - var/obj/effect/view_portal/other = null - var/global/list/portals[0] +// var/obj/effect/view_portal/other = null +// var/global/list/portals[0] -/obj/effect/view_portal/New() - ..() - GLOB.portals += src +// /obj/effect/view_portal/New() +// ..() +// GLOB.portals += src -/obj/effect/view_portal/Initialize() - ..() - if(id) - for(var/obj/effect/view_portal/O in GLOB.portals) - if(id == O.id && O != src && can_link(O)) - other = O - O.other = src - linkup() - O.linkup() - if(other) - return +// /obj/effect/view_portal/Initialize() +// ..() +// if(id) +// for(var/obj/effect/view_portal/O in GLOB.portals) +// if(id == O.id && O != src && can_link(O)) +// other = O +// O.other = src +// linkup() +// O.linkup() +// if(other) +// return -/obj/effect/view_portal/Destroy() - GLOB.portals -= src - return ..() +// /obj/effect/view_portal/Destroy() +// GLOB.portals -= src +// return ..() -/obj/effect/view_portal/proc/can_link(obj/effect/view_portal/P) - return P.type == /obj/effect/view_portal/visual && !P.other +// /obj/effect/view_portal/proc/can_link(obj/effect/view_portal/P) +// return P.type == /obj/effect/view_portal/visual && !P.other -/obj/effect/view_portal/proc/linkup() - // allow it to link to multiple visual nodes - other = null +// /obj/effect/view_portal/proc/linkup() +// // allow it to link to multiple visual nodes +// other = null -// near end of nania portal -/obj/effect/view_portal/visual - name = "???" - desc = "You'll have to get closer to clearly see what this is." +// // near end of nania portal +// /obj/effect/view_portal/visual +// name = "???" +// desc = "You'll have to get closer to clearly see what this is." - icon = 'icons/turf/floors.dmi' - icon_state = "loadingarea" - opacity = 1 - density = 1 - invisibility = 0 - appearance_flags = TILE_BOUND | KEEP_TOGETHER - var/dist = 6 // dist that we render out - var/radius = 3 // dist we render on other axis, in each direction - var/frustrum = 0 // if 1, get wider and wider at each step outward - var/teleport = 1 // should teleport? +// icon = 'icons/turf/floors.dmi' +// icon_state = "loadingarea" +// opacity = 1 +// density = 1 +// invisibility = 0 +// appearance_flags = TILE_BOUND | KEEP_TOGETHER +// var/dist = 6 // dist that we render out +// var/radius = 3 // dist we render on other axis, in each direction +// var/frustrum = 0 // if 1, get wider and wider at each step outward +// var/teleport = 1 // should teleport? - var/list/render_block - var/list/sensors[0] - var/list/tiles[0] +// var/list/render_block +// var/list/sensors[0] +// var/list/tiles[0] - var/list/near_render_block - var/turf/near_viewpoint +// var/list/near_render_block +// var/turf/near_viewpoint -/obj/effect/view_portal/visual/Destroy() - for(var/T in sensors) - qdel(sensors[T]) - sensors.Cut() - sensors = null - for(var/T in tiles) - qdel(tiles[T]) - tiles.Cut() - tiles = null - render_block = null - near_render_block = null - near_viewpoint = null - return ..() +// /obj/effect/view_portal/visual/Destroy() +// for(var/T in sensors) +// qdel(sensors[T]) +// sensors.Cut() +// sensors = null +// for(var/T in tiles) +// qdel(tiles[T]) +// tiles.Cut() +// tiles = null +// render_block = null +// near_render_block = null +// near_viewpoint = null +// return ..() -/obj/effect/view_portal/visual/can_link(obj/effect/view_portal/P) - return P.type == /obj/effect/view_portal +// /obj/effect/view_portal/visual/can_link(obj/effect/view_portal/P) +// return P.type == /obj/effect/view_portal -/obj/effect/view_portal/visual/linkup() - icon = null - icon_state = null - var/turf/Tloc = get_turf(loc) - if(Tloc) - Tloc.icon = null - Tloc.icon_state = null - Tloc.dynamic_lighting = 0 - layer = AREA_LAYER + 0.5 +// /obj/effect/view_portal/visual/linkup() +// icon = null +// icon_state = null +// var/turf/Tloc = get_turf(loc) +// if(Tloc) +// Tloc.icon = null +// Tloc.icon_state = null +// Tloc.dynamic_lighting = 0 +// layer = AREA_LAYER + 0.5 - // setup references - var/crossdir = angle2dir((dir2angle(dir) + 90) % 360) - near_viewpoint = get_step(get_turf(src), GetOppositeDir(dir)) +// // setup references +// var/crossdir = angle2dir((dir2angle(dir) + 90) % 360) +// near_viewpoint = get_step(get_turf(src), GetOppositeDir(dir)) - // setup far turfs - var/turf/T1 = get_turf(other) - var/turf/T2 = T1 +// // setup far turfs +// var/turf/T1 = get_turf(other) +// var/turf/T2 = T1 - for(var/i in 1 to radius) - T1 = get_step(T1, crossdir) - T2 = get_step(T2, GetOppositeDir(crossdir)) - if(frustrum) - // make a trapazoid, with length dist, short end radius*2 long, - // and 45 degree angles - render_block = block(T1, T2) - for(var/i in 1 to dist) - T1 = get_step(get_step(T1, dir), crossdir) - T2 = get_step(get_step(T2, dir), GetOppositeDir(crossdir)) - render_block += block(T1, T2) - else - // else make a box dist x radius*2 - for(var/i in 1 to dist) - T2 = get_step(T2, dir) - render_block = block(T1, T2) - for(var/turf/T in render_block) - sensors[T] = new /obj/effect/portal_sensor(T, src, 0, T) +// for(var/i in 1 to radius) +// T1 = get_step(T1, crossdir) +// T2 = get_step(T2, GetOppositeDir(crossdir)) +// if(frustrum) +// // make a trapazoid, with length dist, short end radius*2 long, +// // and 45 degree angles +// render_block = block(T1, T2) +// for(var/i in 1 to dist) +// T1 = get_step(get_step(T1, dir), crossdir) +// T2 = get_step(get_step(T2, dir), GetOppositeDir(crossdir)) +// render_block += block(T1, T2) +// else +// // else make a box dist x radius*2 +// for(var/i in 1 to dist) +// T2 = get_step(T2, dir) +// render_block = block(T1, T2) +// for(var/turf/T in render_block) +// sensors[T] = new /obj/effect/portal_sensor(T, src, 0, T) -// setup turfs on this side of the portal to cover the map streaming -// has to be done later for view() to be correct (so it happens when the walls exist) -/obj/effect/view_portal/visual/proc/setup_near() - var/nvs = dir & (EAST|WEST) ? near_viewpoint.x - x : near_viewpoint.y - y - if(nvs) - nvs = SIGN(nvs) - // need a mob for view() to work correctly - var/mob/M = new(near_viewpoint) - M.see_invisible = SEE_INVISIBLE_LIVING - near_render_block = view(M, world.view) - qdel(M) - for(var/A in near_render_block) - var/turf/T = A - if(istype(T)) - var/ts = dir & (EAST|WEST) ? T.x - x : T.y - y - if(ts) - ts = SIGN(ts) - if(nvs == ts) - sensors[T] = new /obj/effect/portal_sensor(T, src, 1, T) - else - near_render_block -= T - else - near_render_block -= T +// // setup turfs on this side of the portal to cover the map streaming +// // has to be done later for view() to be correct (so it happens when the walls exist) +// /obj/effect/view_portal/visual/proc/setup_near() +// var/nvs = dir & (EAST|WEST) ? near_viewpoint.x - x : near_viewpoint.y - y +// if(nvs) +// nvs = SIGN(nvs) +// // need a mob for view() to work correctly +// var/mob/M = new(near_viewpoint) +// M.see_invisible = SEE_INVISIBLE_LIVING +// near_render_block = view(M, world.view) +// qdel(M) +// for(var/A in near_render_block) +// var/turf/T = A +// if(istype(T)) +// var/ts = dir & (EAST|WEST) ? T.x - x : T.y - y +// if(ts) +// ts = SIGN(ts) +// if(nvs == ts) +// sensors[T] = new /obj/effect/portal_sensor(T, src, 1, T) +// else +// near_render_block -= T +// else +// near_render_block -= T -/obj/effect/view_portal/visual/Bumped(atom/movable/thing) - if((istype(thing, /obj) || isliving(thing)) && other && teleport) - if(!near_render_block) - setup_near() +// /obj/effect/view_portal/visual/Bumped(atom/movable/thing) +// if((istype(thing, /obj) || isliving(thing)) && other && teleport) +// if(!near_render_block) +// setup_near() - var/mob/living/M = thing - // make the person glide onto the dest, giving a smooth transition - var/ox = thing.x - x - var/oy = thing.y - y - if(istype(M) && M.client) - M.notransform = 1 - // cover up client-side map loading - M.screen_loc = "CENTER" - M.client.screen += M - for(var/T in tiles) - M.client.screen += tiles[T] +// var/mob/living/M = thing +// // make the person glide onto the dest, giving a smooth transition +// var/ox = thing.x - x +// var/oy = thing.y - y +// if(istype(M) && M.client) +// M.notransform = 1 +// // cover up client-side map loading +// M.screen_loc = "CENTER" +// M.client.screen += M +// for(var/T in tiles) +// M.client.screen += tiles[T] - // wait a tick for the screen to replicate across network - // or this whole exercise of covering the transition is pointless - spawn(1) - thing.forceMove(locate(other.x + ox, other.y + oy, other.z)) - sleep(1) - if(istype(M) && M.client) - for(var/T in tiles) - M.client.screen -= tiles[T] - M.client.screen -= M - M.screen_loc = initial(M.screen_loc) - thing.forceMove(get_turf(other.loc)) - if(istype(M) && M.client) - M.notransform = 0 +// // wait a tick for the screen to replicate across network +// // or this whole exercise of covering the transition is pointless +// spawn(1) +// thing.forceMove(locate(other.x + ox, other.y + oy, other.z)) +// sleep(1) +// if(istype(M) && M.client) +// for(var/T in tiles) +// M.client.screen -= tiles[T] +// M.client.screen -= M +// M.screen_loc = initial(M.screen_loc) +// thing.forceMove(get_turf(other.loc)) +// if(istype(M) && M.client) +// M.notransform = 0 -/obj/effect/view_portal/visual/attack_ghost(mob/user) - user.forceMove(get_turf(other.loc)) +// /obj/effect/view_portal/visual/attack_ghost(mob/user) +// user.forceMove(get_turf(other.loc)) -/obj/effect/view_portal/visual/proc/trigger(near, turf/T) - var/obj/effect/view_portal_dummy/D = tiles[T] - if(D) - D.overlays.Cut() - else - D = new(src, near, T) - tiles[T] = D +// /obj/effect/view_portal/visual/proc/trigger(near, turf/T) +// var/obj/effect/view_portal_dummy/D = tiles[T] +// if(D) +// D.overlays.Cut() +// else +// D = new(src, near, T) +// tiles[T] = D - // render atoms to overlays of a dummy object - if(D.name != T.name) - D.name = T.name - D.desc = T.desc - for(var/AX in list(T) + T.contents) - var/atom/A = AX - if(A && A.invisibility <= SEE_INVISIBLE_LIVING) - var/image/I = image(A, layer = D.layer + A.layer * 0.01, dir = A.dir) - I.pixel_x = A.pixel_x - I.pixel_y = A.pixel_y - D.overlays += I +// // render atoms to overlays of a dummy object +// if(D.name != T.name) +// D.name = T.name +// D.desc = T.desc +// for(var/AX in list(T) + T.contents) +// var/atom/A = AX +// if(A && A.invisibility <= SEE_INVISIBLE_LIVING) +// var/image/I = image(A, layer = D.layer + A.layer * 0.01, dir = A.dir) +// I.pixel_x = A.pixel_x +// I.pixel_y = A.pixel_y +// D.overlays += I -// tile of rendered other side for narnia portal -/obj/effect/view_portal_dummy - var/obj/effect/view_portal/visual/owner +// // tile of rendered other side for narnia portal +// /obj/effect/view_portal_dummy +// var/obj/effect/view_portal/visual/owner -/obj/effect/view_portal_dummy/New(obj/effect/view_portal/visual/V, near, turf/T) - ..() - if(!near) - loc = V.loc - owner = V +// /obj/effect/view_portal_dummy/New(obj/effect/view_portal/visual/V, near, turf/T) +// ..() +// if(!near) +// loc = V.loc +// owner = V - var/ox - var/oy - if(near) - ox = (T.x - V.near_viewpoint.x) - oy = (T.y - V.near_viewpoint.y) - layer = AREA_LAYER + 0.4 - else - ox = T.x - V.other.x + V.x - V.near_viewpoint.x - oy = T.y - V.other.y + V.y - V.near_viewpoint.y - pixel_x = 32 * (T.x - V.other.x) - pixel_y = 32 * (T.y - V.other.y) - layer = AREA_LAYER + 0.5 - if(abs(ox) <= world.view && abs(oy) <= world.view) - screen_loc = "CENTER[ox >= 0 ? "+" : ""][ox],CENTER[oy >= 0 ? "+" : ""][oy]" +// var/ox +// var/oy +// if(near) +// ox = (T.x - V.near_viewpoint.x) +// oy = (T.y - V.near_viewpoint.y) +// layer = AREA_LAYER + 0.4 +// else +// ox = T.x - V.other.x + V.x - V.near_viewpoint.x +// oy = T.y - V.other.y + V.y - V.near_viewpoint.y +// pixel_x = 32 * (T.x - V.other.x) +// pixel_y = 32 * (T.y - V.other.y) +// layer = AREA_LAYER + 0.5 +// if(abs(ox) <= world.view && abs(oy) <= world.view) +// screen_loc = "CENTER[ox >= 0 ? "+" : ""][ox],CENTER[oy >= 0 ? "+" : ""][oy]" -/obj/effect/view_portal_dummy/attack_ghost(mob/user) - owner.attack_ghost(user) +// /obj/effect/view_portal_dummy/attack_ghost(mob/user) +// owner.attack_ghost(user) diff --git a/code/modules/lighting/__lighting_docs.dm b/code/modules/lighting/__lighting_docs.dm index 8ef93935e9c..18041989910 100644 --- a/code/modules/lighting/__lighting_docs.dm +++ b/code/modules/lighting/__lighting_docs.dm @@ -54,7 +54,7 @@ turf: (lighting_turf.dm) - Create lighting overlays for this turf -atom/movable/lighting_overlay: (lighting_overlay.dm) +atom/movable/lighting_object: (lighting_object.dm) - var/lum_r, var/lum_g, var/lum_b; lumcounts of each colour - var/needs_update; set on update_lumcount, checked by lighting process diff --git a/code/modules/lighting/lighting_area.dm b/code/modules/lighting/lighting_area.dm index 92923e6b0d5..58e9a4337a5 100644 --- a/code/modules/lighting/lighting_area.dm +++ b/code/modules/lighting/lighting_area.dm @@ -1,9 +1,30 @@ /area luminosity = TRUE - var/dynamic_lighting = TRUE + var/dynamic_lighting = DYNAMIC_LIGHTING_ENABLED -/area/New() - . = ..() +/area/proc/set_dynamic_lighting(var/new_dynamic_lighting = DYNAMIC_LIGHTING_ENABLED) + if (new_dynamic_lighting == dynamic_lighting) + return FALSE - if(dynamic_lighting) - luminosity = FALSE \ No newline at end of file + dynamic_lighting = new_dynamic_lighting + + if (IS_DYNAMIC_LIGHTING(src)) + cut_overlay(/obj/effect/fullbright) + for (var/turf/T in src) + if (IS_DYNAMIC_LIGHTING(T)) + T.lighting_build_overlay() + + else + add_overlay(/obj/effect/fullbright) + for (var/turf/T in src) + if (T.lighting_object) + T.lighting_clear_overlay() + + return TRUE + +/area/vv_edit_var(var_name, var_value) + switch(var_name) + if("dynamic_lighting") + set_dynamic_lighting(var_value) + return TRUE + return ..() \ No newline at end of file diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 646fe0ba15d..85c857ab804 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -1,101 +1,134 @@ + /atom - var/light_power = 1 // intensity of the light - var/light_range = 0 // range in tiles of the light - var/light_color // Hexadecimal RGB string representing the colour of the light + var/light_power = 1 // Intensity of the light. + var/light_range = 0 // Range in tiles of the light. + var/light_color // Hexadecimal RGB string representing the colour of the light. - var/datum/light_source/light - var/list/light_sources + var/tmp/datum/light_source/light // Our light source. Don't fuck with this directly unless you have a good reason! + var/tmp/list/light_sources // Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list. -// Nonsensical value for l_color default, so we can detect if it gets set to null. +// The proc you should always use to set the light of this atom. +// Nonesensical value for l_color default, so we can detect if it gets set to null. #define NONSENSICAL_VALUE -99999 -/atom/proc/set_light(l_range, l_power, l_color = NONSENSICAL_VALUE) - if(l_power != null) +/atom/proc/set_light(var/l_range, var/l_power, var/l_color = NONSENSICAL_VALUE) + if(l_range > 0 && l_range < MINIMUM_USEFUL_LIGHT_RANGE) + l_range = MINIMUM_USEFUL_LIGHT_RANGE //Brings the range up to 1.4, which is just barely brighter than the soft lighting that surrounds players. + if (l_power != null) light_power = l_power - if(l_range != null) + if (l_range != null) light_range = l_range - if(l_color != NONSENSICAL_VALUE) + if (l_color != NONSENSICAL_VALUE) light_color = l_color + SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT, l_range, l_power, l_color) + update_light() #undef NONSENSICAL_VALUE +// Will update the light (duh). +// Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf... /atom/proc/update_light() set waitfor = FALSE + if (QDELETED(src)) + return - if(!light_power || !light_range) - if(light) - light.destroy() - light = null + if (!light_power || !light_range) // We won't emit light anyways, destroy the light source. + QDEL_NULL(light) else - if(!istype(loc, /atom/movable)) + if (!ismovableatom(loc)) // We choose what atom should be the top atom of the light here. . = src else . = loc - if(light) + if (light) // Update the light or create it if it does not exist. light.update(.) else - light = new /datum/light_source(src, .) + light = new/datum/light_source(src, .) /atom/proc/extinguish_light() return -/atom/Destroy() - if(light) - light.destroy() - light = null - return ..() - +// If we have opacity, make sure to tell (potentially) affected light sources. /atom/movable/Destroy() var/turf/T = loc - if(opacity && istype(T)) - T.reconsider_lights() - return ..() - -/atom/movable/Move() - var/turf/old_loc = loc . = ..() + if (opacity && istype(T)) + var/old_has_opaque_atom = T.has_opaque_atom + T.recalc_atom_opacity() + if (old_has_opaque_atom != T.has_opaque_atom) + T.reconsider_lights() - if(loc != old_loc) - for(var/datum/light_source/L in light_sources) - L.source_atom.update_light() - - var/turf/new_loc = loc - if(istype(old_loc) && opacity) - old_loc.reconsider_lights() - - if(istype(new_loc) && opacity) - new_loc.reconsider_lights() - -/atom/proc/set_opacity(new_opacity) - if(new_opacity == opacity) +// Should always be used to change the opacity of an atom. +// It notifies (potentially) affected light sources so they can update (if needed). +/atom/proc/set_opacity(var/new_opacity) + if (new_opacity == opacity) return opacity = new_opacity var/turf/T = loc - if(!isturf(T)) + if (!isturf(T)) return - if(new_opacity == TRUE) + if (new_opacity == TRUE) T.has_opaque_atom = TRUE T.reconsider_lights() else var/old_has_opaque_atom = T.has_opaque_atom T.recalc_atom_opacity() - if(old_has_opaque_atom != T.has_opaque_atom) + if (old_has_opaque_atom != T.has_opaque_atom) T.reconsider_lights() -/obj/item/equipped() - . = ..() - update_light() -/obj/item/pickup() +/atom/movable/Moved(atom/OldLoc, Dir) . = ..() - update_light() + var/datum/light_source/L + var/thing + for (thing in light_sources) // Cycle through the light sources on this atom and tell them to update. + L = thing + L.source_atom.update_light() -/obj/item/dropped() - . = ..() - update_light() +/atom/vv_edit_var(var_name, var_value) + switch (var_name) + if ("light_range") + set_light(l_range=var_value) + return TRUE + + if ("light_power") + set_light(l_power=var_value) + return TRUE + + if ("light_color") + set_light(l_color=var_value) + return TRUE + + return ..() + + +/atom/proc/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = LIGHT_COLOR_WHITE, _duration = FLASH_LIGHT_DURATION, _reset_lighting = TRUE) + return + +/turf/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = LIGHT_COLOR_WHITE, _duration = FLASH_LIGHT_DURATION, _reset_lighting = TRUE) + if(!_duration) + stack_trace("Lighting FX obj created on a turf without a duration") + new /obj/effect/dummy/lighting_obj (src, _color, _range, _power, _duration) + +/obj/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = LIGHT_COLOR_WHITE, _duration = FLASH_LIGHT_DURATION, _reset_lighting = TRUE) + var/temp_color + var/temp_power + var/temp_range + if(!_reset_lighting) //incase the obj already has a lighting color that you don't want cleared out after, ie computer monitors. + temp_color = light_color + temp_power = light_power + temp_range = light_range + set_light(_range, _power, _color) + addtimer(CALLBACK(src, /atom/proc/set_light, _reset_lighting ? initial(light_range) : temp_range, _reset_lighting ? initial(light_power) : temp_power, _reset_lighting ? initial(light_color) : temp_color), _duration, TIMER_OVERRIDE|TIMER_UNIQUE) + +/mob/living/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = LIGHT_COLOR_WHITE, _duration = FLASH_LIGHT_DURATION, _reset_lighting = TRUE) + mob_light(_color, _range, _power, _duration) + +/mob/living/proc/mob_light(_color, _range, _power, _duration) + var/obj/effect/dummy/lighting_obj/moblight/mob_light_obj = new (src, _color, _range, _power, _duration) + return mob_light_obj diff --git a/code/modules/lighting/lighting_corner.dm b/code/modules/lighting/lighting_corner.dm index 907e7aab8b5..0c0f8d1b995 100644 --- a/code/modules/lighting/lighting_corner.dm +++ b/code/modules/lighting/lighting_corner.dm @@ -1,15 +1,13 @@ -/var/total_lighting_corners = 0 -/var/datum/lighting_corner/dummy/dummy_lighting_corner = new -// Because we can control each corner of every lighting overlay. +// Because we can control each corner of every lighting object. // And corners get shared between multiple turfs (unless you're on the corners of the map, then 1 corner doesn't). // For the record: these should never ever ever be deleted, even if the turf doesn't have dynamic lighting. // This list is what the code that assigns corners listens to, the order in this list is the order in which corners are added to the /turf/corners list. -/var/list/LIGHTING_CORNER_DIAGONAL = list(NORTHEAST, SOUTHEAST, SOUTHWEST, NORTHWEST) +GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, NORTHWEST)) /datum/lighting_corner - var/list/turf/masters = list() - var/list/datum/light_source/affecting = list() // Light sources affecting us. + var/list/turf/masters + var/list/datum/light_source/affecting // Light sources affecting us. var/active = FALSE // TRUE if one of our masters has dynamic lighting. var/x = 0 @@ -27,13 +25,9 @@ var/cache_b = LIGHTING_SOFT_THRESHOLD var/cache_mx = 0 - var/update_gen = 0 - /datum/lighting_corner/New(var/turf/new_turf, var/diagonal) . = ..() - - total_lighting_corners++ - + masters = list() masters[new_turf] = turn(diagonal, 180) z = new_turf.z @@ -56,7 +50,7 @@ T.corners = list(null, null, null, null) masters[T] = diagonal - i = LIGHTING_CORNER_DIAGONAL.Find(turn(diagonal, 180)) + i = GLOB.LIGHTING_CORNER_DIAGONAL.Find(turn(diagonal, 180)) T.corners[i] = src // Now the horizontal one. @@ -66,7 +60,7 @@ T.corners = list(null, null, null, null) masters[T] = ((T.x > x) ? EAST : WEST) | ((T.y > y) ? NORTH : SOUTH) // Get the dir based on coordinates. - i = LIGHTING_CORNER_DIAGONAL.Find(turn(masters[T], 180)) + i = GLOB.LIGHTING_CORNER_DIAGONAL.Find(turn(masters[T], 180)) T.corners[i] = src // And finally the vertical one. @@ -76,50 +70,74 @@ T.corners = list(null, null, null, null) masters[T] = ((T.x > x) ? EAST : WEST) | ((T.y > y) ? NORTH : SOUTH) // Get the dir based on coordinates. - i = LIGHTING_CORNER_DIAGONAL.Find(turn(masters[T], 180)) + i = GLOB.LIGHTING_CORNER_DIAGONAL.Find(turn(masters[T], 180)) T.corners[i] = src update_active() /datum/lighting_corner/proc/update_active() active = FALSE - for (var/turf/T in masters) - if (T.lighting_overlay) + var/turf/T + var/thing + for (thing in masters) + T = thing + if (T.lighting_object) active = TRUE // God that was a mess, now to do the rest of the corner code! Hooray! /datum/lighting_corner/proc/update_lumcount(var/delta_r, var/delta_g, var/delta_b) + + if ((abs(delta_r)+abs(delta_g)+abs(delta_b)) == 0) + return + lum_r += delta_r lum_g += delta_g lum_b += delta_b if (!needs_update) needs_update = TRUE - lighting_update_corners += src + GLOB.lighting_update_corners += src -/datum/lighting_corner/proc/update_overlays() - - // Cache these values a head of time so 4 individual lighting overlays don't all calculate them individually. - var/mx = max(lum_r, lum_g, lum_b) // Scale it so 1 is the strongest lum, if it is above 1. +/datum/lighting_corner/proc/update_objects() + // Cache these values a head of time so 4 individual lighting objects don't all calculate them individually. + var/lum_r = src.lum_r + var/lum_g = src.lum_g + var/lum_b = src.lum_b + var/mx = max(lum_r, lum_g, lum_b) // Scale it so one of them is the strongest lum, if it is above 1. . = 1 // factor if (mx > 1) . = 1 / mx + #if LIGHTING_SOFT_THRESHOLD != 0 else if (mx < LIGHTING_SOFT_THRESHOLD) . = 0 // 0 means soft lighting. - cache_r = lum_r * . || LIGHTING_SOFT_THRESHOLD - cache_g = lum_g * . || LIGHTING_SOFT_THRESHOLD - cache_b = lum_b * . || LIGHTING_SOFT_THRESHOLD - cache_mx = mx + cache_r = round(lum_r * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD + cache_g = round(lum_g * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD + cache_b = round(lum_b * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD + #else + cache_r = round(lum_r * ., LIGHTING_ROUND_VALUE) + cache_g = round(lum_g * ., LIGHTING_ROUND_VALUE) + cache_b = round(lum_b * ., LIGHTING_ROUND_VALUE) + #endif + cache_mx = round(mx, LIGHTING_ROUND_VALUE) for (var/TT in masters) var/turf/T = TT - if (T.lighting_overlay) - if (!T.lighting_overlay.needs_update) - T.lighting_overlay.needs_update = TRUE - lighting_update_overlays += T.lighting_overlay + if (T.lighting_object) + if (!T.lighting_object.needs_update) + T.lighting_object.needs_update = TRUE + GLOB.lighting_update_objects += T.lighting_object /datum/lighting_corner/dummy/New() return + + +/datum/lighting_corner/Destroy(var/force) + if (!force) + return QDEL_HINT_LETMELIVE + + stack_trace("Ok, Look, /tg/, I need you to find whatever fucker decided to call qdel on a fucking lighting corner, then tell him very nicely and politely that he is 100% retarded and needs his head checked. Thanks. Send them my regards by the way.") + + return ..() \ No newline at end of file diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm new file mode 100644 index 00000000000..6083c7af7f1 --- /dev/null +++ b/code/modules/lighting/lighting_object.dm @@ -0,0 +1,144 @@ +/atom/movable/lighting_object + name = "" + + anchored = TRUE + + icon = LIGHTING_ICON + icon_state = "transparent" + color = LIGHTING_BASE_MATRIX + plane = LIGHTING_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + layer = LIGHTING_LAYER + invisibility = INVISIBILITY_LIGHTING + + var/needs_update = FALSE + var/turf/myturf + +/atom/movable/lighting_object/Initialize(mapload) + . = ..() + verbs.Cut() + + myturf = loc + if (myturf.lighting_object) + qdel(myturf.lighting_object, force = TRUE) + myturf.lighting_object = src + myturf.luminosity = 0 + + for(var/turf/space/S in RANGE_TURFS(1, src)) //RANGE_TURFS is in code\__HELPERS\game.dm + S.update_starlight() + + needs_update = TRUE + GLOB.lighting_update_objects += src + +/atom/movable/lighting_object/Destroy(var/force) + if (force) + GLOB.lighting_update_objects -= src + if (loc != myturf) + var/turf/oldturf = get_turf(myturf) + var/turf/newturf = get_turf(loc) + stack_trace("A lighting object was qdeleted with a different loc then it is suppose to have ([COORD(oldturf)] -> [COORD(newturf)])") + if (isturf(myturf)) + myturf.lighting_object = null + myturf.luminosity = 1 + myturf = null + + return ..() + + else + return QDEL_HINT_LETMELIVE + +/atom/movable/lighting_object/proc/update() + if (loc != myturf) + if (loc) + var/turf/oldturf = get_turf(myturf) + var/turf/newturf = get_turf(loc) + warning("A lighting object realised it's loc had changed in update() ([myturf]\[[myturf ? myturf.type : "null"]]([COORD(oldturf)]) -> [loc]\[[ loc ? loc.type : "null"]]([COORD(newturf)]))!") + + qdel(src, TRUE) + return + + // To the future coder who sees this and thinks + // "Why didn't he just use a loop?" + // Well my man, it's because the loop performed like shit. + // And there's no way to improve it because + // without a loop you can make the list all at once which is the fastest you're gonna get. + // Oh it's also shorter line wise. + // Including with these comments. + + // See LIGHTING_CORNER_DIAGONAL in lighting_corner.dm for why these values are what they are. + var/static/datum/lighting_corner/dummy/dummy_lighting_corner = new + + var/list/corners = myturf.corners + var/datum/lighting_corner/cr = dummy_lighting_corner + var/datum/lighting_corner/cg = dummy_lighting_corner + var/datum/lighting_corner/cb = dummy_lighting_corner + var/datum/lighting_corner/ca = dummy_lighting_corner + if (corners) //done this way for speed + cr = corners[3] || dummy_lighting_corner + cg = corners[2] || dummy_lighting_corner + cb = corners[4] || dummy_lighting_corner + ca = corners[1] || dummy_lighting_corner + + var/max = max(cr.cache_mx, cg.cache_mx, cb.cache_mx, ca.cache_mx) + + var/rr = cr.cache_r + var/rg = cr.cache_g + var/rb = cr.cache_b + + var/gr = cg.cache_r + var/gg = cg.cache_g + var/gb = cg.cache_b + + var/br = cb.cache_r + var/bg = cb.cache_g + var/bb = cb.cache_b + + var/ar = ca.cache_r + var/ag = ca.cache_g + var/ab = ca.cache_b + + #if LIGHTING_SOFT_THRESHOLD != 0 + var/set_luminosity = max > LIGHTING_SOFT_THRESHOLD + #else + // Because of floating pointsâ„¢?, it won't even be a flat 0. + // This number is mostly arbitrary. + var/set_luminosity = max > 1e-6 + #endif + + if((rr & gr & br & ar) && (rg + gg + bg + ag + rb + gb + bb + ab == 8)) + //anything that passes the first case is very likely to pass the second, and addition is a little faster in this case + icon_state = "transparent" + color = null + else if(!set_luminosity) + icon_state = "dark" + color = null + else + icon_state = null + color = list( + rr, rg, rb, 00, + gr, gg, gb, 00, + br, bg, bb, 00, + ar, ag, ab, 00, + 00, 00, 00, 01 + ) + + luminosity = set_luminosity + +// Variety of overrides so the overlays don't get affected by weird things. + +/atom/movable/lighting_object/ex_act(severity) + return 0 + +/atom/movable/lighting_object/singularity_act() + return + +/atom/movable/lighting_object/singularity_pull() + return + +/atom/movable/lighting_object/blob_act() + return + +// Override here to prevent things accidentally moving around overlays. +/atom/movable/lighting_object/forceMove(atom/destination, var/no_tp=FALSE, var/harderforce = FALSE) + if(harderforce) + . = ..() \ No newline at end of file diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm deleted file mode 100644 index a8f87338ae8..00000000000 --- a/code/modules/lighting/lighting_overlay.dm +++ /dev/null @@ -1,89 +0,0 @@ -/var/total_lighting_overlays = 0 -/atom/movable/lighting_overlay - name = "" - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - simulated = 0 - anchored = 1 - icon = LIGHTING_ICON - layer = LIGHTING_LAYER - plane = LIGHTING_PLANE - invisibility = INVISIBILITY_LIGHTING - color = LIGHTING_BASE_MATRIX - icon_state = "light1" - blend_mode = BLEND_MULTIPLY - - var/lum_r = 0 - var/lum_g = 0 - var/lum_b = 0 - - var/needs_update = FALSE - -/atom/movable/lighting_overlay/New(var/atom/loc, var/no_update = FALSE) - . = ..() - verbs.Cut() - total_lighting_overlays++ - - var/turf/T = loc //If this runtimes atleast we'll know what's creating overlays outside of turfs. - T.lighting_overlay = src - T.luminosity = 0 - if(no_update) - return - update_overlay() - -/atom/movable/lighting_overlay/proc/update_overlay() - set waitfor = FALSE - var/turf/T = loc - - if(!istype(T)) - if(loc) - log_debug("A lighting overlay realised its loc was NOT a turf (actual loc: [loc][loc ? ", " + loc.type : "null"]) in update_overlay() and got qdel'ed!") - else - log_debug("A lighting overlay realised it was in nullspace in update_overlay() and got pooled!") - qdel(src) - return - - // To the future coder who sees this and thinks - // "Why didn't he just use a loop?" - // Well my man, it's because the loop performed like shit. - // And there's no way to improve it because - // without a loop you can make the list all at once which is the fastest you're gonna get. - // Oh it's also shorter line wise. - // Including with these comments. - - // See LIGHTING_CORNER_DIAGONAL in lighting_corner.dm for why these values are what they are. - // No I seriously cannot think of a more efficient method, fuck off Comic. - var/datum/lighting_corner/cr = T.corners[3] || dummy_lighting_corner - var/datum/lighting_corner/cg = T.corners[2] || dummy_lighting_corner - var/datum/lighting_corner/cb = T.corners[4] || dummy_lighting_corner - var/datum/lighting_corner/ca = T.corners[1] || dummy_lighting_corner - - var/max = max(cr.cache_mx, cg.cache_mx, cb.cache_mx, ca.cache_mx) - - color = list( - cr.cache_r, cr.cache_g, cr.cache_b, 0, - cg.cache_r, cg.cache_g, cg.cache_b, 0, - cb.cache_r, cb.cache_g, cb.cache_b, 0, - ca.cache_r, ca.cache_g, ca.cache_b, 0, - 0, 0, 0, 1 - ) - luminosity = max > LIGHTING_SOFT_THRESHOLD - - - -/atom/movable/lighting_overlay/singularity_act() - return - -/atom/movable/lighting_overlay/singularity_pull() - return - -/atom/movable/lighting_overlay/Destroy() - total_lighting_overlays-- - global.lighting_update_overlays -= src - global.lighting_update_overlays_old -= src - - var/turf/T = loc - if(istype(T)) - T.lighting_overlay = null - T.luminosity = 1 - - return ..() diff --git a/code/modules/lighting/lighting_setup.dm b/code/modules/lighting/lighting_setup.dm index 981de658649..6c1dab13ec6 100644 --- a/code/modules/lighting/lighting_setup.dm +++ b/code/modules/lighting/lighting_setup.dm @@ -1,16 +1,13 @@ -/proc/create_all_lighting_overlays() - for(var/zlevel = 1 to world.maxz) - create_lighting_overlays_zlevel(zlevel) - -/proc/create_lighting_overlays_zlevel(var/zlevel) - ASSERT(zlevel) - - for(var/turf/T in block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel))) - if(!T.dynamic_lighting) +/proc/create_all_lighting_objects() + for(var/area/A in world) + if(!IS_DYNAMIC_LIGHTING(A)) continue - var/area/A = T.loc - if(!A.dynamic_lighting) - continue + for(var/turf/T in A) - new /atom/movable/lighting_overlay(T, TRUE) + if(!IS_DYNAMIC_LIGHTING(T)) + continue + + new/atom/movable/lighting_object(T) + CHECK_TICK + CHECK_TICK \ No newline at end of file diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index d878d8c4b6e..b6dbd778371 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -1,12 +1,12 @@ -/var/total_lighting_sources = 0 // This is where the fun begins. // These are the main datums that emit light. /datum/light_source - var/atom/top_atom // The atom we're emitting light from(for example a mob if we're from a flashlight that's being held). + var/atom/top_atom // The atom we're emitting light from (for example a mob if we're from a flashlight that's being held). var/atom/source_atom // The atom that we belong to. var/turf/source_turf // The turf under the above. + var/turf/pixel_turf // The turf the top_atom appears to over. var/light_power // Intensity of the emitter light. var/light_range // The range of the emitted light. var/light_color // The colour of the light, string, decomposed by parse_light_color() @@ -26,133 +26,80 @@ var/applied = FALSE // Whether we have applied our light yet or not. - var/vis_update // Whether we should smartly recalculate visibility. and then only update tiles that became(in)visible to us. - var/needs_update // Whether we are queued for an update. - var/destroyed // Whether we are destroyed and need to stop emitting light. - var/force_update + var/needs_update = LIGHTING_NO_UPDATE // Whether we are queued for an update. + /datum/light_source/New(var/atom/owner, var/atom/top) - total_lighting_sources++ source_atom = owner // Set our new owner. - if(!source_atom.light_sources) - source_atom.light_sources = list() - - source_atom.light_sources += src // Add us to the lights of our owner. + LAZYADD(source_atom.light_sources, src) top_atom = top - if(top_atom != source_atom) - if(!top.light_sources) - top.light_sources = list() - - top_atom.light_sources += src + if (top_atom != source_atom) + LAZYADD(top_atom.light_sources, src) source_turf = top_atom + pixel_turf = get_turf_pixel(top_atom) || source_turf + light_power = source_atom.light_power light_range = source_atom.light_range light_color = source_atom.light_color parse_light_color() - effect_str = list() - affecting_turfs = list() - update() - return ..() -// Kill ourselves. -/datum/light_source/proc/destroy() - total_lighting_sources-- - destroyed = TRUE - force_update() - if(source_atom) - if(!source_atom.light_sources) - log_runtime(EXCEPTION("Atom [source_atom] was a light source, but lacked a light source list!\n"), source_atom) - else - source_atom.light_sources -= src +/datum/light_source/Destroy(force) + remove_lum() + if (source_atom) + LAZYREMOVE(source_atom.light_sources, src) - if(top_atom) - top_atom.light_sources -= src + if (top_atom) + LAZYREMOVE(top_atom.light_sources, src) + + if (needs_update) + GLOB.lighting_update_lights -= src + + . = ..() + +// Yes this doesn't align correctly on anything other than 4 width tabs. +// If you want it to go switch everybody to elastic tab stops. +// Actually that'd be great if you could! +#define EFFECT_UPDATE(level) \ + if (needs_update == LIGHTING_NO_UPDATE) \ + GLOB.lighting_update_lights += src; \ + if (needs_update < level) \ + needs_update = level; \ -// Call it dirty, I don't care. -// This is here so there's no performance loss on non-instant updates from the fact that the engine can also do instant updates. -// If you're wondering what's with the "BYOND" argument: BYOND won't let me have a() macro that has no arguments :|. -#define effect_update(BYOND) \ - if(!needs_update) \ - { \ - lighting_update_lights += src; \ - needs_update = TRUE; \ - } // This proc will cause the light source to update the top atom, and add itself to the update queue. /datum/light_source/proc/update(var/atom/new_top_atom) // This top atom is different. - if(new_top_atom && new_top_atom != top_atom) - if(top_atom != source_atom) // Remove ourselves from the light sources of that top atom. - top_atom.light_sources -= src + if (new_top_atom && new_top_atom != top_atom) + if(top_atom != source_atom && top_atom.light_sources) // Remove ourselves from the light sources of that top atom. + LAZYREMOVE(top_atom.light_sources, src) top_atom = new_top_atom - if(top_atom != source_atom) - if(!top_atom.light_sources) - top_atom.light_sources = list() + if (top_atom != source_atom) + LAZYADD(top_atom.light_sources, src) // Add ourselves to the light sources of our new top atom. - top_atom.light_sources += src // Add ourselves to the light sources of our new top atom. - - effect_update(null) + EFFECT_UPDATE(LIGHTING_CHECK_UPDATE) // Will force an update without checking if it's actually needed. /datum/light_source/proc/force_update() - force_update = 1 - - effect_update(null) + EFFECT_UPDATE(LIGHTING_FORCE_UPDATE) // Will cause the light source to recalculate turfs that were removed or added to visibility only. /datum/light_source/proc/vis_update() - vis_update = 1 - - effect_update(null) - -// Will check if we actually need to update, and update any variables that may need to be updated. -/datum/light_source/proc/check() - if(!source_atom || !light_range || !light_power) - destroy() - return 1 - - if(!top_atom) - top_atom = source_atom - . = 1 - - if(isturf(top_atom)) - if(source_turf != top_atom) - source_turf = top_atom - . = 1 - else if(top_atom.loc != source_turf) - source_turf = top_atom.loc - . = 1 - - if(source_atom.light_power != light_power) - light_power = source_atom.light_power - . = 1 - - if(source_atom.light_range != light_range) - light_range = source_atom.light_range - . = 1 - - if(light_range && light_power && !applied) - . = 1 - - if(source_atom.light_color != light_color) - light_color = source_atom.light_color - parse_light_color() - . = 1 + EFFECT_UPDATE(LIGHTING_VIS_UPDATE) // Decompile the hexadecimal colour into lumcounts of each perspective. /datum/light_source/proc/parse_light_color() - if(light_color) - lum_r = GetRedPart (light_color) / 255 - lum_g = GetGreenPart(light_color) / 255 - lum_b = GetBluePart (light_color) / 255 + if (light_color) + lum_r = GetRedPart (light_color) / 255 + lum_g = GetGreenPart (light_color) / 255 + lum_b = GetBluePart (light_color) / 255 else lum_r = 1 lum_g = 1 @@ -163,128 +110,189 @@ // If you're wondering what's with the backslashes, the backslashes cause BYOND to not automatically end the line. // As such this all gets counted as a single line. // The braces and semicolons are there to be able to do this on a single line. +#define LUM_FALLOFF(C, T) (1 - CLAMP01(sqrt((C.x - T.x) ** 2 + (C.y - T.y) ** 2 + LIGHTING_HEIGHT) / max(1, light_range))) -#define APPLY_CORNER(C) \ - . = LUM_FALLOFF(C, source_turf); \ - \ - . *= light_power; \ - \ - effect_str[C] = .; \ - \ - C.update_lumcount \ - ( \ - . * applied_lum_r, \ - . * applied_lum_g, \ - . * applied_lum_b \ +#define APPLY_CORNER(C) \ + . = LUM_FALLOFF(C, pixel_turf); \ + . *= light_power; \ + var/OLD = effect_str[C]; \ + effect_str[C] = .; \ + \ + C.update_lumcount \ + ( \ + (. * lum_r) - (OLD * applied_lum_r), \ + (. * lum_g) - (OLD * applied_lum_g), \ + (. * lum_b) - (OLD * applied_lum_b) \ ); -// I don't need to explain what this does, do I? -#define REMOVE_CORNER(C) \ - . = -effect_str[C]; \ - C.update_lumcount \ - ( \ - . * applied_lum_r, \ - . * applied_lum_g, \ - . * applied_lum_b \ +#define REMOVE_CORNER(C) \ + . = -effect_str[C]; \ + C.update_lumcount \ + ( \ + . * applied_lum_r, \ + . * applied_lum_g, \ + . * applied_lum_b \ ); // This is the define used to calculate falloff. -#define LUM_FALLOFF(C, T)(1 - CLAMP01(sqrt((C.x - T.x) ** 2 +(C.y - T.y) ** 2 + LIGHTING_HEIGHT) / max(1, light_range))) -/datum/light_source/proc/apply_lum() - var/static/update_gen = 1 - applied = 1 +/datum/light_source/proc/remove_lum() + applied = FALSE + var/thing + for (thing in affecting_turfs) + var/turf/T = thing + LAZYREMOVE(T.affecting_lights, src) + + affecting_turfs = null + + var/datum/lighting_corner/C + for (thing in effect_str) + C = thing + REMOVE_CORNER(C) + + LAZYREMOVE(C.affecting, src) + + effect_str = null + +/datum/light_source/proc/recalc_corner(var/datum/lighting_corner/C) + LAZYINITLIST(effect_str) + if (effect_str[C]) // Already have one. + REMOVE_CORNER(C) + effect_str[C] = 0 + + APPLY_CORNER(C) + UNSETEMPTY(effect_str) + +/datum/light_source/proc/update_corners() + var/update = FALSE + var/atom/source_atom = src.source_atom + + if (QDELETED(source_atom)) + qdel(src) + return + + if (source_atom.light_power != light_power) + light_power = source_atom.light_power + update = TRUE + + if (source_atom.light_range != light_range) + light_range = source_atom.light_range + update = TRUE + + if (!top_atom) + top_atom = source_atom + update = TRUE + + if (!light_range || !light_power) + qdel(src) + return + + if (isturf(top_atom)) + if (source_turf != top_atom) + source_turf = top_atom + pixel_turf = source_turf + update = TRUE + else if (top_atom.loc != source_turf) + source_turf = top_atom.loc + pixel_turf = get_turf_pixel(top_atom) + update = TRUE + else + var/P = get_turf_pixel(top_atom) + if (P != pixel_turf) + pixel_turf = P + update = TRUE + + if (!isturf(source_turf)) + if (applied) + remove_lum() + return + + if (light_range && light_power && !applied) + update = TRUE + + if (source_atom.light_color != light_color) + light_color = source_atom.light_color + parse_light_color() + update = TRUE + + else if (applied_lum_r != lum_r || applied_lum_g != lum_g || applied_lum_b != lum_b) + update = TRUE + + if (update) + needs_update = LIGHTING_CHECK_UPDATE + applied = TRUE + else if (needs_update == LIGHTING_CHECK_UPDATE) + return //nothing's changed + + var/list/datum/lighting_corner/corners = list() + var/list/turf/turfs = list() + var/thing + var/datum/lighting_corner/C + var/turf/T + if (source_turf) + var/oldlum = source_turf.luminosity + source_turf.luminosity = CEILING(light_range, 1) + for(T in view(CEILING(light_range, 1), source_turf)) + for (thing in T.get_corners(source_turf)) + C = thing + corners[C] = 0 + turfs += T + source_turf.luminosity = oldlum + + LAZYINITLIST(affecting_turfs) + var/list/L = turfs - affecting_turfs // New turfs, add us to the affecting lights of them. + affecting_turfs += L + for (thing in L) + T = thing + LAZYADD(T.affecting_lights, src) + + L = affecting_turfs - turfs // Now-gone turfs, remove us from the affecting lights. + affecting_turfs -= L + for (thing in L) + T = thing + LAZYREMOVE(T.affecting_lights, src) + + LAZYINITLIST(effect_str) + if (needs_update == LIGHTING_VIS_UPDATE) + for (thing in corners - effect_str) // New corners + C = thing + LAZYADD(C.affecting, src) + if (!C.active) + effect_str[C] = 0 + continue + APPLY_CORNER(C) + else + L = corners - effect_str + for (thing in L) // New corners + C = thing + LAZYADD(C.affecting, src) + if (!C.active) + effect_str[C] = 0 + continue + APPLY_CORNER(C) + + for (thing in corners - L) // Existing corners + C = thing + if (!C.active) + effect_str[C] = 0 + continue + APPLY_CORNER(C) + + L = effect_str - corners + for (thing in L) // Old, now gone, corners. + C = thing + REMOVE_CORNER(C) + LAZYREMOVE(C.affecting, src) + effect_str -= L - // Keep track of the last applied lum values so that the lighting can be reversed applied_lum_r = lum_r applied_lum_g = lum_g applied_lum_b = lum_b - FOR_DVIEW(var/turf/T, light_range, source_turf, INVISIBILITY_LIGHTING) - if(!T.lighting_corners_initialised) - T.generate_missing_corners() + UNSETEMPTY(effect_str) + UNSETEMPTY(affecting_turfs) - for(var/datum/lighting_corner/C in T.get_corners()) - if(C.update_gen == update_gen) - continue - - C.update_gen = update_gen - C.affecting += src - - if(!C.active) - effect_str[C] = 0 - continue - - APPLY_CORNER(C) - - if(!T.affecting_lights) - T.affecting_lights = list() - - T.affecting_lights += src - affecting_turfs += T - - update_gen++ - -/datum/light_source/proc/remove_lum() - applied = FALSE - - for(var/turf/T in affecting_turfs) - if(!T.affecting_lights) - T.affecting_lights = list() - else - T.affecting_lights -= src - - affecting_turfs.Cut() - - for(var/datum/lighting_corner/C in effect_str) - REMOVE_CORNER(C) - - C.affecting -= src - - effect_str.Cut() - -/datum/light_source/proc/recalc_corner(var/datum/lighting_corner/C) - if(effect_str.Find(C)) // Already have one. - REMOVE_CORNER(C) - - APPLY_CORNER(C) - -/datum/light_source/proc/smart_vis_update() - var/list/datum/lighting_corner/corners = list() - var/list/turf/turfs = list() - FOR_DVIEW(var/turf/T, light_range, source_turf, 0) - if(!T.lighting_corners_initialised) - T.generate_missing_corners() - corners |= T.get_corners() - turfs += T - - var/list/L = turfs - affecting_turfs // New turfs, add us to the affecting lights of them. - affecting_turfs += L - for(var/turf/T in L) - if(!T.affecting_lights) - T.affecting_lights = list(src) - else - T.affecting_lights += src - - L = affecting_turfs - turfs // Now-gone turfs, remove us from the affecting lights. - affecting_turfs -= L - for(var/turf/T in L) - T.affecting_lights -= src - - for(var/datum/lighting_corner/C in corners - effect_str) // New corners - C.affecting += src - if(!C.active) - effect_str[C] = 0 - continue - - APPLY_CORNER(C) - - for(var/datum/lighting_corner/C in effect_str - corners) // Old, now gone, corners. - REMOVE_CORNER(C) - C.affecting -= src - effect_str -= C - -#undef effect_update +#undef EFFECT_UPDATE #undef LUM_FALLOFF #undef REMOVE_CORNER -#undef APPLY_CORNER +#undef APPLY_CORNER \ No newline at end of file diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index ddb934aed61..0fe3caec840 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -5,98 +5,131 @@ var/tmp/lighting_corners_initialised = FALSE var/tmp/list/datum/light_source/affecting_lights // List of light sources affecting this turf. - var/tmp/atom/movable/lighting_overlay/lighting_overlay // Our lighting overlay. + var/tmp/atom/movable/lighting_object/lighting_object // Our lighting object. var/tmp/list/datum/lighting_corner/corners var/tmp/has_opaque_atom = FALSE // Not to be confused with opacity, this will be TRUE if there's any opaque atom on the tile. -/turf/New() - . = ..() - - if(opacity) - has_opaque_atom = TRUE - // Causes any affecting light sources to be queued for a visibility update, for example a door got opened. /turf/proc/reconsider_lights() - for(var/datum/light_source/L in affecting_lights) + var/datum/light_source/L + var/thing + for (thing in affecting_lights) + L = thing L.vis_update() /turf/proc/lighting_clear_overlay() - if(lighting_overlay) - qdel(lighting_overlay) + if (lighting_object) + qdel(lighting_object, TRUE) - for(var/datum/lighting_corner/C in corners) + var/datum/lighting_corner/C + var/thing + for (thing in corners) + if(!thing) + continue + C = thing C.update_active() -// Builds a lighting overlay for us, but only if our area is dynamic. +// Builds a lighting object for us, but only if our area is dynamic. /turf/proc/lighting_build_overlay() - if(lighting_overlay) - return + if (lighting_object) + qdel(lighting_object,force=TRUE) //Shitty fix for lighting objects persisting after death var/area/A = loc - if(A.dynamic_lighting) - if(!lighting_corners_initialised) - generate_missing_corners() + if (!IS_DYNAMIC_LIGHTING(A) && !light_sources) + return - new /atom/movable/lighting_overlay(src) + if (!lighting_corners_initialised) + generate_missing_corners() - for(var/datum/lighting_corner/C in corners) - if(!C.active) // We would activate the corner, calculate the lighting for it. - for(var/L in C.affecting) - var/datum/light_source/S = L - S.recalc_corner(C) + new/atom/movable/lighting_object(src) - C.active = TRUE + var/thing + var/datum/lighting_corner/C + var/datum/light_source/S + for (thing in corners) + if(!thing) + continue + C = thing + if (!C.active) // We would activate the corner, calculate the lighting for it. + for (thing in C.affecting) + S = thing + S.recalc_corner(C) + C.active = TRUE // Used to get a scaled lumcount. /turf/proc/get_lumcount(var/minlum = 0, var/maxlum = 1) - if(!lighting_overlay) + if (!lighting_object) return 1 var/totallums = 0 - for(var/datum/lighting_corner/L in corners) - totallums += max(L.lum_r, L.lum_g, L.lum_b) + var/thing + var/datum/lighting_corner/L + for (thing in corners) + if(!thing) + continue + L = thing + totallums += L.lum_r + L.lum_b + L.lum_g - totallums /= 4 // 4 corners, max channel selected, return the average + totallums /= 12 // 4 corners, each with 3 channels, get the average. - totallums =(totallums - minlum) /(maxlum - minlum) + totallums = (totallums - minlum) / (maxlum - minlum) return CLAMP01(totallums) +// Returns a boolean whether the turf is on soft lighting. +// Soft lighting being the threshold at which point the overlay considers +// itself as too dark to allow sight and see_in_dark becomes useful. +// So basically if this returns true the tile is unlit black. +/turf/proc/is_softly_lit() + if (!lighting_object) + return FALSE + + return !lighting_object.luminosity + // Can't think of a good name, this proc will recalculate the has_opaque_atom variable. /turf/proc/recalc_atom_opacity() - has_opaque_atom = FALSE - for(var/atom/A in src.contents + src) // Loop through every movable atom on our tile PLUS ourselves (we matter too...) - if(A.opacity) - has_opaque_atom = TRUE + has_opaque_atom = opacity + if (!has_opaque_atom) + for (var/atom/A in src.contents) // Loop through every movable atom on our tile PLUS ourselves (we matter too...) + if (A.opacity) + has_opaque_atom = TRUE + break -// If an opaque movable atom moves around we need to potentially update visibility. -/turf/Entered(var/atom/movable/Obj, var/atom/OldLoc) +/turf/Exited(atom/movable/Obj, atom/newloc) . = ..() - if(Obj && Obj.opacity) - has_opaque_atom = TRUE // Make sure to do this before reconsider_lights(), incase we're on instant updates. Guaranteed to be on in this case. - reconsider_lights() - -/turf/Exited(var/atom/movable/Obj, var/atom/newloc) - . = ..() - - if(Obj && Obj.opacity) + if (Obj && Obj.opacity) recalc_atom_opacity() // Make sure to do this before reconsider_lights(), incase we're on instant updates. reconsider_lights() +/turf/proc/change_area(var/area/old_area, var/area/new_area) + if(SSlighting.initialized) + if (new_area.dynamic_lighting != old_area.dynamic_lighting) + if (new_area.dynamic_lighting) + lighting_build_overlay() + else + lighting_clear_overlay() + /turf/proc/get_corners() - if(has_opaque_atom) + if (!IS_DYNAMIC_LIGHTING(src) && !light_sources) + return null + if (!lighting_corners_initialised) + generate_missing_corners() + if (has_opaque_atom) return null // Since this proc gets used in a for loop, null won't be looped though. return corners /turf/proc/generate_missing_corners() + if (!IS_DYNAMIC_LIGHTING(src) && !light_sources) + return lighting_corners_initialised = TRUE - if(!corners) + if (!corners) corners = list(null, null, null, null) - for(var/i = 1 to 4) - if(corners[i]) // Already have a corner on this direction. + for (var/i = 1 to 4) + if (corners[i]) // Already have a corner on this direction. continue - corners[i] = new /datum/lighting_corner(src, LIGHTING_CORNER_DIAGONAL[i]) + corners[i] = new/datum/lighting_corner(src, GLOB.LIGHTING_CORNER_DIAGONAL[i]) + diff --git a/code/modules/lighting/~lighting_undefs.dm b/code/modules/lighting/~lighting_undefs.dm deleted file mode 100644 index 2de3f9dbe26..00000000000 --- a/code/modules/lighting/~lighting_undefs.dm +++ /dev/null @@ -1,7 +0,0 @@ -#undef LIGHTING_FALLOFF -#undef LIGHTING_LAMBERTIAN -#undef LIGHTING_HEIGHT - -#undef LIGHTING_ICON - -#undef LIGHTING_BASE_MATRIX diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 829377720c1..ad90272a4ce 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -104,7 +104,7 @@ return null // Check for darkness var/turf/T = get_turf(loc) - if(T && destination && T.lighting_overlay) + if(T && destination && T.lighting_object) if(T.get_lumcount() * 10 < 1 && destination.get_lumcount() * 10 < 1) // No one can see us in the darkness, right? return null if(T == destination) diff --git a/icons/effects/alphacolors.dmi b/icons/effects/alphacolors.dmi index f27dfb036deb9daf6c3a8192b4b5d70f629f31f0..c01d261fe31d1b4d969c900acd4ea4bc6450cdad 100644 GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRS%c?>mN?cNllZ!G7N;32F7#J$% zOzm^zI%FW?a{cFWiCei7qh1?HXHL|6Bdhe&tWoNzy4K#k-Ay|JR_&Io_&h^qciH`~ z8GN#LBNy#w$+)t5(v`!vpDft8(!=swvv+alNtHIYX%jcaDVbbb;+J&J=DB!*O#UCq zRi2S@XIXl8t>{`+5zTu@rmnEtr+dbRzyBM*p4^yo+O=9p_|a94_Ak9>FMi{lN?=-I@O1TaS?83{1OO+u@R9%k literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdshL$F5hX6E#mPmP1tppJc?=8{ zbArPPib}tK2`>2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv?<~*8o zWKxJiu%_m6lhDp?W7W+oBu~)y|R(_kb{WJLEDppvKQKg%^fc4u{a4iB^i}Wc~FpQc=^D;2X}i@*1fEn{@woR zU+>}?&U#-4CIWI|`H@;ypL)s^; s`yW=Ud%x4{x%;Ot%tYG_GehPFV<``>)WR393mJgG)78&qol`;+0MT-j3;+NC diff --git a/icons/effects/lighting_object.dmi b/icons/effects/lighting_object.dmi new file mode 100644 index 0000000000000000000000000000000000000000..51985c0c981c5bdb3dd57606b733474016ca5c5d GIT binary patch literal 1882 zcmb7_`#;l*AICqt$QWYCWUdbh6Pux}IHo2vw~X8`8A4h^n24EMN1|_$)%JDNBvS5< zaa1GQiR02a5_O7CE)_YuX~!)cjrYniW5&mU2aJ<^Et^}O+N7h4+S##Ry?+#2M++d%H1eVzAXMfH+!z- z5>XUFz47AKcIjE2I_q@Y9=m1s|oogTItkX(FuuZ#2(x|k~~hm7LL6V^m{F! zSpYp9yVoQF*o6ROodF`41O}>0M!``DLuxitXS*b~)Gona!H*M1`Re@9+7*;22&4kx zp#90O-qJv*v~44AqiwvoC-kRW!_Oaq66+5($AY2pT*A=aV|VKStb2akX28Yg!1#W^ z6H@UKC6W)5V&!F@y?}LCW*Mo5eHjs zSt7@|iG54I6RXj4=zS&gXtQD8LFS+a*2ugK>^Cjq90kNQC_RUVgKnZBy`%3R8~0g? z8DiSBrT8k{N^JT_LJ}t;YP}z*fco}oa)p<0sx7?{qMCe}F$9U3Uh1e7Qk$viM@oH) z>(F&*zh+O!oYFBlfzZfW5#eNriy7ut+t5utA=vAretuL& zp%oFykk7Pa9bh#(xofDelAyQ{bR~v?sl@w*Jl8x*IPF}*UEw%ZdC3&o9Ayd7Q5$7d zCeFv>snA=<`4LrVZn(R1h6_UxD9+r@R-f|p{3?`&~;Z->)+q;ut<+`AJ z%-HULw5EM?D8FEh1SL9<96V**0hoQHdD6-5oJJL{73)g{{I~MABHk{erL;HVb9Q<{UtR~Y0O~MgxbW_kC#T&08)TKbfq+8X2Uyq@}1$C zx9@E8g91bU6BXE}(B^S?)?IYn!<~jr8_Do*pq5(>HtX`R%j4fRLCp@9H za6WIeDG(hNz2(Q|Tjnk=&*M&hyD@-=C=e9n1ihw+Gw*zEh6~dF+r9rxmhwI5XvV!Z literal 0 HcmV?d00001 diff --git a/icons/effects/lighting_overlay.dmi b/icons/effects/lighting_overlay.dmi deleted file mode 100644 index daa43134b3ce314d1347fca38a7e2b227fad6249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5914 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 diff --git a/icons/effects/lighting_overlay.png b/icons/effects/lighting_overlay.png deleted file mode 100644 index b317268b702d50c33c0099a63d0a0ea94a607744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcmV;(1vmPMP);Uvh8NW&Hj9u{oJD8zyJ38|NQOa z|M-u;{hjmky?xmq8}>77#ec@IUtGUa@plf}ajk^;9)r~m<`{nLsNF2OdGx_rY3A96 zWwR9@KGZP&dj?k!_@MxP`89$47XoiqfPb^<8{l_T-46&HRgVq^@fTWi|u4@}5K=9BMP`7XFfwUSsJI_mEWW(PCeh02& zNn|@X0Zjqdt-wdi7E1uvIVX_Dg_zyjxLsR=04I?4)&vMoe@{5NZ|_WYuexV8bdMw_ z&@_QA0ZbqPZ4k(UySG5!=(=I=@@j&;6`0+l<|&{l_`4(sME8`S0Kk+83glVQJ(ocO zgw_Q7g1fb#04kw5DB*&Sq{JmqVAgR4YfH&VwI zYSle5C?OFFa1Vs-P4 zXaf5TCA8^OIRy$ZfTMH3Id(`;0M{oRQ6a0nnn6DWZw0pHIYOQO{TB!C=9 zTLKlqmF*74#$&b#?*-3-r*GJ505g{WM~@J`AxAr~0ShX4KLp0_3qGL>e&9&E;C;iX z-D50?+%U|ZnOjNN23#K{z)g7YNAQCZ*;xVZ5IMN!+HC9|Y74&Y60i*?vEU^!2%q4_ zD)=aPh21}FL*Lt+z;XWUgYXr~0IqNl3VK2`+F=;5gy-I3)xhkE$9y^Qd}G-~rq=C~%w;0NlD`C$y3P7zx59flY=S zvDRK|e!?$kRjfClT@`z|psa^u_)hdgOK@lp?6n~^f#y*H9t87rV-1~fTxZ_rA8US0 zXw`fKps}s4QM*4<0_eK48YZA!@W6iM1lakE;JctYTC>19WTNhEopcxcHuhB5wIn*O z0|HxnVpU6`Yy1HFhXA^7E0FL?@=R~*eDBIUV7Sxc-{H^D_=E6gPB5ncI7HBW<*6y0 z0@gHvJOyxc=6bLY>hpLVXZLBJYaTNh@x-Z(3B*$q=oEoKqk!_jbMR@r8QUdbf}1;^ zTodk9*F$BUa5`kV?(vqJI&U3aZzX{1fP}z+ati22*AyUpTmsyL=$zn!U&-}IJ)dfl z5SX_Zg7*M+FOlrp`2aDE-9KZ31z!_rl<=3PP!nMHt_h4w01ps=^XwkaaUHAce80dA zw^|FrYZ47(_bGv(``1_k?ypf3P`w1uJ>L@-9Ot#`Io<%z^+;V$HNo*JnsvXoz`OCr zO4x!wMpeNv%onEcLZ1|Q0d=2%Q-E(ulz>3JFb;J;_+m{c-}G2{u6K5>^W6gz2*8+{ z0Q?sm9V-()!|ov>3D+Jd@cFhnZf~$DfhEyZ0Ua3y_o_-e1g^AOZg6M!EA|C}FMX8o zCDkqouD8JEHvvn2a%}qk@#-F*A*>I48$GxTgVjpFX7`e?w%}hty};lUZUXohQ}<=U z?)l+>7YR!A`nCy4SbeJjr|xgm*~ z0>LZw1qdj!X#?W(6zLP(pGLUAt-yv`&ua6rd%;WKTOX!&&jPP++HrpG-lDE=>5qS= iJ#V4J*JlhL?0*5J6wAQ~73C2C0000 Date: Mon, 22 Apr 2019 19:57:47 +0200 Subject: [PATCH 013/196] Move some stray area defines to the proper location --- code/game/area/Space Station 13 areas.dm | 49 ++++++++++++++++-------- code/game/area/areas.dm | 21 ---------- 2 files changed, 33 insertions(+), 37 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 067223c0285..f0d8b780f0c 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -18,51 +18,68 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area var/fire = null var/atmosalm = ATMOS_ALARM_NONE - var/poweralm = 1 + var/poweralm = TRUE var/party = null - var/report_alerts = 1 // Should atmos alerts notify the AI/computers + var/report_alerts = TRUE // Should atmos alerts notify the AI/computers level = null name = "Space" icon = 'icons/turf/areas.dmi' icon_state = "unknown" layer = AREA_LAYER + plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. luminosity = 0 mouse_opacity = MOUSE_OPACITY_TRANSPARENT invisibility = INVISIBILITY_LIGHTING var/valid_territory = TRUE //used for cult summoning areas on station zlevel var/map_name // Set in New(); preserves the name set by the map maker, even if renamed by the Blueprints. - var/lightswitch = 1 + var/lightswitch = TRUE var/eject = null var/debug = 0 - var/requires_power = 1 + var/requires_power = TRUE var/always_unpowered = 0 //this gets overriden to 1 for space in area/New() - var/power_equip = 1 - var/power_light = 1 - var/power_environ = 1 + var/power_equip = TRUE + var/power_light = TRUE + var/power_environ = TRUE var/music = null - var/used_equip = 0 - var/used_light = 0 - var/used_environ = 0 + var/used_equip = FALSE + var/used_light = FALSE + var/used_environ = FALSE var/static_equip - var/static_light = 0 + var/static_light = FALSE var/static_environ - var/has_gravity = 1 + var/has_gravity = TRUE var/list/apc = list() var/no_air = null // var/list/lights // list of all lights on this area - var/air_doors_activated = 0 + var/air_doors_activated = FALSE - var/tele_proof = 0 - var/no_teleportlocs = 0 + var/tele_proof = FALSE + var/no_teleportlocs = FALSE - var/outdoors = 0 //For space, the asteroid, lavaland, etc. Used with blueprints to determine if we are adding a new area (vs editing a station room) + var/outdoors = FALSE //For space, the asteroid, lavaland, etc. Used with blueprints to determine if we are adding a new area (vs editing a station room) var/xenobiology_compatible = FALSE //Can the Xenobio management console transverse this area by default? var/nad_allowed = FALSE //is the station NAD allowed on this area? + // This var is used with the maploader (modules/awaymissions/maploader/reader.dm) + // if this is 1, when used in a map snippet, this will instantiate a unique + // area from any other instances already present (meaning you can have + // separate APCs, and so on) + var/there_can_be_many = 0 + + var/global/global_uid = 0 + var/uid + + var/list/ambientsounds = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ + 'sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg',\ + 'sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg',\ + 'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\ + 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ + 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') + /*Adding a wizard area teleport list because motherfucking lag -- Urist*/ /*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ var/list/teleportlocs = list() diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6f25d1b23aa..9d1867046a7 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -1,24 +1,3 @@ -// Areas.dm - -// === -/area - var/global/global_uid = 0 - var/uid - var/list/ambientsounds = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ - 'sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg',\ - 'sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg',\ - 'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\ - 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ - 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') - - // This var is used with the maploader (modules/awaymissions/maploader/reader.dm) - // if this is 1, when used in a map snippet, this will instantiate a unique - // area from any other instances already present (meaning you can have - // separate APCs, and so on) - var/there_can_be_many = 0 - plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. - - /area/New() ..() From fb4173177219024b1a5163a64b289235f6760e43 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 20:10:54 +0200 Subject: [PATCH 014/196] 0 --> FALSE --- code/game/area/Space Station 13 areas.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index f0d8b780f0c..ced4bf0eaf6 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -68,7 +68,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station // if this is 1, when used in a map snippet, this will instantiate a unique // area from any other instances already present (meaning you can have // separate APCs, and so on) - var/there_can_be_many = 0 + var/there_can_be_many = FALSE var/global/global_uid = 0 var/uid From 75b06fe82cc15a92a0154321d499cf3bb0ec73d5 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 21:47:08 +0200 Subject: [PATCH 015/196] Lighting fixes --- code/__DEFINES/lighting.dm | 10 ++ code/__DEFINES/misc.dm | 27 ----- code/game/area/Space Station 13 areas.dm | 132 +++++++---------------- code/game/area/areas.dm | 67 +++++++++++- code/game/turfs/turf.dm | 3 - code/modules/events/aurora_caelus.dm | 26 +++-- code/modules/lighting/lighting_object.dm | 2 +- code/modules/lighting/lighting_setup.dm | 1 - 8 files changed, 127 insertions(+), 141 deletions(-) diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index 37203792f76..7357c5f441e 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -47,6 +47,16 @@ #define LIGHT_COLOR_HOLY_MAGIC "#FFF743" //slightly desaturated bright yellow. #define LIGHT_COLOR_BLOOD_MAGIC "#D00000" //deep crimson +#define LIGHT_COLOR_PURE_CYAN "#00FFFF" +#define LIGHT_COLOR_DARKRED "#A91515" +#define LIGHT_COLOR_PURE_RED "#FF0000" +#define LIGHT_COLOR_DARKGREEN "#50AB00" +#define LIGHT_COLOR_PURE_GREEN "#00FF00" +#define LIGHT_COLOR_LIGHTBLUE "#0099FF" +#define LIGHT_COLOR_DARKBLUE "#315AB4" +#define LIGHT_COLOR_PURE_BLUE "#0000FF" +#define LIGHT_COLOR_FADEDPURPLE "#A97FAA" + //These ones aren't a direct colour like the ones above, because nothing would fit #define LIGHT_COLOR_FIRE "#FAA019" //Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25) #define LIGHT_COLOR_LAVA "#C48A18" //Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 106c1900a82..eae4478d0a1 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -114,33 +114,6 @@ #define CHRISTMAS "Christmas" #define FRIDAY_13TH "Friday the 13th" -//Light color defs, for light-emitting things -//Some defs may be pure color- this is for neatness, and configurability. Changing #define COLOR_ is a bad idea. -#define LIGHT_COLOR_CYAN "#7BF9FF" -#define LIGHT_COLOR_PURE_CYAN "#00FFFF" - -#define LIGHT_COLOR_RED "#B40000" -#define LIGHT_COLOR_ORANGE "#FF9933" -#define LIGHT_COLOR_DARKRED "#A91515" -#define LIGHT_COLOR_PURE_RED "#FF0000" - -#define LIGHT_COLOR_GREEN "#00CC00" -#define LIGHT_COLOR_DARKGREEN "#50AB00" -#define LIGHT_COLOR_PURE_GREEN "#00FF00" - -#define LIGHT_COLOR_BLUE "#6496FA" //Cold, diluted blue. rgb(100, 150, 250) -#define LIGHT_COLOR_LIGHTBLUE "#0099FF" -#define LIGHT_COLOR_DARKBLUE "#315AB4" -#define LIGHT_COLOR_PURE_BLUE "#0000FF" - -#define LIGHT_COLOR_FADEDPURPLE "#A97FAA" -#define LIGHT_COLOR_PURPLE "#CD00CD" -#define LIGHT_COLOR_PINK "#FF33CC" - -#define LIGHT_COLOR_YELLOW "#E1E17D" //Dimmed yellow, leaning kaki. rgb(225, 225, 125) - -#define LIGHT_COLOR_WHITE "#FFFFFF" - #define RESIZE_DEFAULT_SIZE 1 //transfer_ai() defines. Main proc in ai_core.dm diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 3fa1c169521..ca444b4abdc 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -13,73 +13,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station */ - - -/area - var/fire = null - var/atmosalm = ATMOS_ALARM_NONE - var/poweralm = TRUE - var/party = null - var/report_alerts = TRUE // Should atmos alerts notify the AI/computers - level = null - name = "Space" - icon = 'icons/turf/areas.dmi' - icon_state = "unknown" - layer = AREA_LAYER - plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. - luminosity = 0 - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - invisibility = INVISIBILITY_LIGHTING - var/valid_territory = TRUE //used for cult summoning areas on station zlevel - var/map_name // Set in New(); preserves the name set by the map maker, even if renamed by the Blueprints. - var/lightswitch = TRUE - - var/eject = null - - var/debug = 0 - var/requires_power = TRUE - var/always_unpowered = 0 //this gets overriden to 1 for space in area/New() - - var/power_equip = TRUE - var/power_light = TRUE - var/power_environ = TRUE - var/music = null - var/used_equip = FALSE - var/used_light = FALSE - var/used_environ = FALSE - var/static_equip - var/static_light = FALSE - var/static_environ - - var/has_gravity = TRUE - var/list/apc = list() - var/no_air = null - - var/air_doors_activated = FALSE - - var/tele_proof = FALSE - var/no_teleportlocs = FALSE - - var/outdoors = FALSE //For space, the asteroid, lavaland, etc. Used with blueprints to determine if we are adding a new area (vs editing a station room) - var/xenobiology_compatible = FALSE //Can the Xenobio management console transverse this area by default? - var/nad_allowed = FALSE //is the station NAD allowed on this area? - - // This var is used with the maploader (modules/awaymissions/maploader/reader.dm) - // if this is 1, when used in a map snippet, this will instantiate a unique - // area from any other instances already present (meaning you can have - // separate APCs, and so on) - var/there_can_be_many = FALSE - - var/global/global_uid = 0 - var/uid - - var/list/ambientsounds = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ - 'sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg',\ - 'sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg',\ - 'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\ - 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ - 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') - /*Adding a wizard area teleport list because motherfucking lag -- Urist*/ /*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ var/list/teleportlocs = list() @@ -137,14 +70,18 @@ var/list/ghostteleportlocs = list() /area/space icon_state = "space" - requires_power = 1 - always_unpowered = 1 - power_light = 0 - power_equip = 0 - power_environ = 0 + requires_power = TRUE + always_unpowered = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + power_light = FALSE + power_equip = FALSE + power_environ = FALSE valid_territory = FALSE outdoors = 1 ambientsounds = list('sound/ambience/ambispace.ogg','sound/music/title2.ogg','sound/music/space.ogg','sound/music/traitor.ogg') + +/area/space/nearstation + icon_state = "space_near" dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT /area/space/atmosalert() @@ -167,8 +104,9 @@ var/list/ghostteleportlocs = list() //All shuttles show now be under shuttle since we have smooth-wall code. /area/shuttle - no_teleportlocs = 1 - requires_power = 0 + no_teleportlocs = TRUE + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED valid_territory = FALSE /area/shuttle/arrival @@ -504,7 +442,7 @@ var/list/ghostteleportlocs = list() icon_state = "start" requires_power = 0 luminosity = 1 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED has_gravity = 1 // === end remove @@ -519,8 +457,8 @@ var/list/ghostteleportlocs = list() /area/centcom name = "\improper Centcom" icon_state = "centcom" - requires_power = 0 - dynamic_lighting = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED nad_allowed = TRUE /area/centcom/control @@ -573,6 +511,7 @@ var/list/ghostteleportlocs = list() /area/syndicate_mothership/control name = "\improper Syndicate Control Room" icon_state = "syndie-control" + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/syndicate_mothership/elite_squad name = "\improper Syndicate Elite Squad" @@ -587,14 +526,14 @@ var/list/ghostteleportlocs = list() /area/asteroid // -- TLE name = "\improper Asteroid" icon_state = "asteroid" - requires_power = 0 + requires_power = FALSE valid_territory = FALSE /area/asteroid/cave // -- TLE name = "\improper Asteroid - Underground" icon_state = "cave" - requires_power = 0 - outdoors = 1 + requires_power = FALSE + outdoors = TRUE /area/asteroid/artifactroom name = "\improper Asteroid - Artifact" @@ -603,17 +542,19 @@ var/list/ghostteleportlocs = list() /area/tdome name = "\improper Thunderdome" icon_state = "thunder" - requires_power = 0 - dynamic_lighting = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/tdome/arena_source name = "\improper Thunderdome Arena Template" icon_state = "thunder" + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/tdome/arena name = "\improper Thunderdome Arena" icon_state = "thunder" + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/tdome/tdome1 name = "\improper Thunderdome (Team 1)" @@ -687,20 +628,21 @@ var/list/ghostteleportlocs = list() /area/abductor_ship name = "\improper Abductor Ship" icon_state = "yellow" - requires_power = 0 - has_gravity = 1 - dynamic_lighting = 0 + requires_power = FALSE + has_gravity = TRUE + dynamic_lighting = FALSE /area/wizard_station name = "\improper Wizard's Den" icon_state = "yellow" - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ninja name = "\improper Ninja Area Parent" icon_state = "ninjabase" - requires_power = 0 - no_teleportlocs = 1 + requires_power = FALSE + no_teleportlocs = TRUE /area/ninja/outpost name = "\improper SpiderClan Outpost" @@ -711,9 +653,9 @@ var/list/ghostteleportlocs = list() /area/vox_station name = "\improper Vox Base" icon_state = "yellow" - requires_power = 0 - dynamic_lighting = 0 - no_teleportlocs = 1 + requires_power = FALSE + dynamic_lighting = FALSE + no_teleportlocs = TRUE /area/vox_station/transit name = "\improper Hyperspace" @@ -2554,9 +2496,9 @@ var/list/ghostteleportlocs = list() /area/awaymission/beach name = "Beach" icon_state = "beach" - luminosity = 1 - dynamic_lighting = 0 - requires_power = 0 + luminosity = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + requires_power = FALSE ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg') /area/awaymission/undersea @@ -2668,7 +2610,7 @@ var/list/ghostteleportlocs = list() /area/vr name = "VR" requires_power = 0 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED no_teleportlocs = 1 diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index eb1ef3c1458..672c3a0f18c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -1,9 +1,70 @@ -/area/New() - ..() +/area + var/fire = null + var/atmosalm = ATMOS_ALARM_NONE + var/poweralm = TRUE + var/party = null + var/report_alerts = TRUE // Should atmos alerts notify the AI/computers + level = null + name = "Space" + icon = 'icons/turf/areas.dmi' + icon_state = "unknown" + layer = AREA_LAYER + plane = BLACKNESS_PLANE //Keeping this on the default plane, GAME_PLANE, will make area overlays fail to render on FLOOR_PLANE. + luminosity = 0 + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + invisibility = INVISIBILITY_LIGHTING + var/valid_territory = TRUE //used for cult summoning areas on station zlevel + var/map_name // Set in New(); preserves the name set by the map maker, even if renamed by the Blueprints. + var/lightswitch = TRUE - GLOB.all_areas += src + var/eject = null + + var/debug = 0 + var/requires_power = TRUE + var/always_unpowered = 0 //this gets overriden to 1 for space in area/New() + + var/power_equip = TRUE + var/power_light = TRUE + var/power_environ = TRUE + var/music = null + var/used_equip = FALSE + var/used_light = FALSE + var/used_environ = FALSE + var/static_equip + var/static_light = FALSE + var/static_environ + + var/has_gravity = TRUE + var/list/apc = list() + var/no_air = null + + var/air_doors_activated = FALSE + + var/tele_proof = FALSE + var/no_teleportlocs = FALSE + + var/outdoors = FALSE //For space, the asteroid, lavaland, etc. Used with blueprints to determine if we are adding a new area (vs editing a station room) + var/xenobiology_compatible = FALSE //Can the Xenobio management console transverse this area by default? + var/nad_allowed = FALSE //is the station NAD allowed on this area? + + // This var is used with the maploader (modules/awaymissions/maploader/reader.dm) + // if this is 1, when used in a map snippet, this will instantiate a unique + // area from any other instances already present (meaning you can have + // separate APCs, and so on) + var/there_can_be_many = FALSE + + var/global/global_uid = 0 + var/uid + + var/list/ambientsounds = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ + 'sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg',\ + 'sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg',\ + 'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\ + 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ + 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') /area/Initialize(mapload) + GLOB.all_areas += src icon_state = "" layer = AREA_LAYER uid = ++global_uid diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 86f94ee37d2..f9f19d4d4c4 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -201,9 +201,6 @@ W.blueprint_data = old_blueprint_data - for(var/turf/space/S in range(W,1)) - S.update_starlight() - recalc_atom_opacity() if(SSlighting.initialized) diff --git a/code/modules/events/aurora_caelus.dm b/code/modules/events/aurora_caelus.dm index 58302950b5e..62de79a19cb 100644 --- a/code/modules/events/aurora_caelus.dm +++ b/code/modules/events/aurora_caelus.dm @@ -17,10 +17,11 @@ We hope you enjoy the lights.", "Harmless ions approaching", new_sound = 'sound/ M.playsound_local(null, 'sound/ambience/aurora_caelus.ogg', 20, FALSE, pressure_affected = FALSE) /datum/event/aurora_caelus/start() - for(var/s in GLOB.station_level_space_turfs) - var/turf/space/S = s - S.set_light(S.light_range * 3, S.light_power * 0.5, aurora_colors[1]) - CHECK_TICK + for(var/area in GLOB.all_areas) + var/area/A = area + if(initial(A.dynamic_lighting) == DYNAMIC_LIGHTING_IFSTARLIGHT) + for(var/turf/space/S in A) + S.set_light(S.light_range * 3, S.light_power * 0.5) /datum/event/aurora_caelus/tick() if(aurora_progress >= aurora_colors.len) @@ -28,15 +29,18 @@ We hope you enjoy the lights.", "Harmless ions approaching", new_sound = 'sound/ if(activeFor % 5 == 0) aurora_progress++ var/aurora_color = aurora_colors[aurora_progress] - for(var/s in GLOB.station_level_space_turfs) - var/turf/space/S = s - S.set_light(l_color = aurora_color) - CHECK_TICK + for(var/area in GLOB.all_areas) + var/area/A = area + if(initial(A.dynamic_lighting) == DYNAMIC_LIGHTING_IFSTARLIGHT) + for(var/turf/space/S in A) + S.set_light(l_color = aurora_color) /datum/event/aurora_caelus/end() - for(var/s in GLOB.station_level_space_turfs) - var/turf/space/S = s - fade_to_black(S) + for(var/area in GLOB.all_areas) + var/area/A = area + if(initial(A.dynamic_lighting) == DYNAMIC_LIGHTING_IFSTARLIGHT) + for(var/turf/space/S in A) + fade_to_black(S) event_announcement.Announce("The Aurora Caelus event is now ending. Starlight conditions will slowly return to normal. \ When this has concluded, please return to your workplace and continue work as normal. \ Have a pleasant shift, [station_name()], and thank you for watching with us.", diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index 6083c7af7f1..586668ec139 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -7,7 +7,7 @@ icon_state = "transparent" color = LIGHTING_BASE_MATRIX plane = LIGHTING_PLANE - mouse_opacity = MOUSE_OPACITY_TRANSPARENT + mouse_opacity = MOUSE_OPACITY_TRANSPARENT layer = LIGHTING_LAYER invisibility = INVISIBILITY_LIGHTING diff --git a/code/modules/lighting/lighting_setup.dm b/code/modules/lighting/lighting_setup.dm index 6c1dab13ec6..68119ba3921 100644 --- a/code/modules/lighting/lighting_setup.dm +++ b/code/modules/lighting/lighting_setup.dm @@ -4,7 +4,6 @@ continue for(var/turf/T in A) - if(!IS_DYNAMIC_LIGHTING(T)) continue From ab7fb176f67e455d594aeedb4c279bfb1370ea77 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 22:04:31 +0200 Subject: [PATCH 016/196] Opacity fix, re-add rotatium --- code/game/turfs/space/space.dm | 3 +++ code/game/turfs/turf.dm | 3 +++ code/modules/events/vent_clog.dm | 2 +- code/modules/reagents/chemistry/reagents/drugs.dm | 4 ++-- code/modules/reagents/chemistry/recipes/toxins.dm | 9 ++++++++- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 66a2db0f970..342c7f23ff1 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -27,6 +27,9 @@ if (light_power && light_range) update_light() + if (opacity) + has_opaque_atom = TRUE + return INITIALIZE_HINT_NORMAL /turf/space/Destroy(force) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index f9f19d4d4c4..dc7de45f695 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -51,6 +51,9 @@ if(light_power && light_range) update_light() + if (opacity) + has_opaque_atom = TRUE + /hook/startup/proc/smooth_world() var/watch = start_watch() log_startup_progress("Smoothing atoms...") diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 9b1588e1161..29b0b44e721 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -23,7 +23,7 @@ "atrazine","banana","charcoal","space_drugs","methamphetamine","holywater","ethanol","hot_coco","facid", "blood","morphine","ether","fluorine","mutadone","mutagen","hydrocodone","fuel", "haloperidol","lsd","syndicate_nanites","lipolicide","frostoil","salglu_solution","beepskysmash", - "omnizine", "amanitin", "neurotoxin", "synaptizine") + "omnizine", "amanitin", "neurotoxin", "synaptizine", "rotatium") var/datum/reagents/R = new/datum/reagents(50) R.my_atom = vent R.add_reagent(pick(gunk), 50) diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index 8a4d9b338ed..9e96ed5b56b 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -616,7 +616,7 @@ /datum/reagent/rotatium/on_mob_life(mob/living/carbon/M) if(M.hud_used) if(current_cycle >= 20 && current_cycle % 20 == 0) - var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"]) + var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) var/rotation = min(round(current_cycle / 20), 89) // By this point the player is probably puking and quitting anyway for(var/whole_screen in screens) animate(whole_screen, transform = matrix(rotation, MATRIX_ROTATE), time = 5, easing = QUAD_EASING, loop = -1) @@ -625,7 +625,7 @@ /datum/reagent/rotatium/on_mob_delete(mob/living/M) if(M && M.hud_used) - var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"]) + var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) for(var/whole_screen in screens) animate(whole_screen, transform = matrix(), time = 5, easing = QUAD_EASING) ..() diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm index cdc10bcbcc5..6d7fa9028a8 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -174,4 +174,11 @@ required_reagents = list("formaldehyde" = 1, "sodium" = 1, "chlorine" = 1, "lithium" = 1) result_amount = 4 mix_message = "The mixture thins and loses all color." - mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' \ No newline at end of file + mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' + +/datum/chemical_reaction/rotatium + name = "Rotatium" + id = "Rotatium" + results = "rotatium" + required_reagents = list("lsd" = 1, "teslium" = 1, "fentanyl" = 1) + mix_message = "After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight." \ No newline at end of file From 3285efd36c29da2fec6fe0e2dd08b5d5d40385d0 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 22:43:21 +0200 Subject: [PATCH 017/196] Final lighting updates --- code/game/area/Space Station 13 areas.dm | 54 +- .../mission_code/blackmarketpackers.dm | 11 +- .../awaymissions/mission_code/clownplanet.dm | 13 +- .../awaymissions/mission_code/wildwest.dm | 13 +- code/modules/awaymissions/zvis.dm | 633 +++++++++--------- code/modules/lighting/lighting_setup.dm | 2 +- .../reagents/chemistry/recipes/toxins.dm | 2 +- 7 files changed, 351 insertions(+), 377 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index ca444b4abdc..c9fc4a64e91 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -55,11 +55,11 @@ var/list/ghostteleportlocs = list() name = "\improper Arrival Area" icon_state = "start" -/area/admin/ +/area/admin name = "\improper Admin Room" icon_state = "start" requires_power = 0 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/adminconstruction @@ -106,7 +106,6 @@ var/list/ghostteleportlocs = list() /area/shuttle no_teleportlocs = TRUE requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED valid_territory = FALSE /area/shuttle/arrival @@ -423,7 +422,7 @@ var/list/ghostteleportlocs = list() /area/shuttle/trade name = "Trade Shuttle" icon_state = "shuttle" - requires_power = 0 + requires_power = FALSE /area/shuttle/trade/sol name = "Sol Freighter" @@ -440,17 +439,16 @@ var/list/ghostteleportlocs = list() /area/start // will be unused once kurper gets his login interface patch done name = "start area" icon_state = "start" - requires_power = 0 - luminosity = 1 + requires_power = FALSE dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - has_gravity = 1 + has_gravity = TRUE // === end remove /area/alien name = "\improper Alien base" icon_state = "yellow" - requires_power = 0 + requires_power = FALSE // CENTCOM @@ -458,7 +456,7 @@ var/list/ghostteleportlocs = list() name = "\improper Centcom" icon_state = "centcom" requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED nad_allowed = TRUE /area/centcom/control @@ -511,7 +509,6 @@ var/list/ghostteleportlocs = list() /area/syndicate_mothership/control name = "\improper Syndicate Control Room" icon_state = "syndie-control" - dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/syndicate_mothership/elite_squad name = "\improper Syndicate Elite Squad" @@ -543,18 +540,16 @@ var/list/ghostteleportlocs = list() name = "\improper Thunderdome" icon_state = "thunder" requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/tdome/arena_source name = "\improper Thunderdome Arena Template" icon_state = "thunder" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/tdome/arena name = "\improper Thunderdome Arena" icon_state = "thunder" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/tdome/tdome1 name = "\improper Thunderdome (Team 1)" @@ -630,13 +625,12 @@ var/list/ghostteleportlocs = list() icon_state = "yellow" requires_power = FALSE has_gravity = TRUE - dynamic_lighting = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/wizard_station name = "\improper Wizard's Den" icon_state = "yellow" requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ninja name = "\improper Ninja Area Parent" @@ -654,7 +648,7 @@ var/list/ghostteleportlocs = list() name = "\improper Vox Base" icon_state = "yellow" requires_power = FALSE - dynamic_lighting = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED no_teleportlocs = TRUE /area/vox_station/transit @@ -1237,7 +1231,7 @@ var/list/ghostteleportlocs = list() /area/holodeck name = "\improper Holodeck" icon_state = "Holodeck" - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/holodeck/alphadeck name = "\improper Holodeck Alpha" @@ -2306,26 +2300,22 @@ var/list/ghostteleportlocs = list() /area/turret_protected/AIsatextFP name = "\improper AI Sat Ext" icon_state = "storage" - luminosity = 1 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/turret_protected/AIsatextFS name = "\improper AI Sat Ext" icon_state = "storage" - luminosity = 1 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/turret_protected/AIsatextAS name = "\improper AI Sat Ext" icon_state = "storage" - luminosity = 1 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/turret_protected/AIsatextAP name = "\improper AI Sat Ext" icon_state = "storage" - luminosity = 1 - dynamic_lighting = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/turret_protected/NewAIMain name = "\improper AI Main New" @@ -2419,31 +2409,26 @@ var/list/ghostteleportlocs = list() /area/awaymission/wwmines name = "\improper Wild West Mines" icon_state = "away1" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/wwgov name = "\improper Wild West Mansion" icon_state = "away2" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/wwrefine name = "\improper Wild West Refinery" icon_state = "away3" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/wwvault name = "\improper Wild West Vault" icon_state = "away3" - luminosity = 0 /area/awaymission/wwvaultdoors name = "\improper Wild West Vault Doors" // this is to keep the vault area being entirely lit because of requires_power icon_state = "away2" - requires_power = 0 - luminosity = 0 + requires_power = FALSE /area/awaymission/desert name = "Mars" @@ -2496,7 +2481,6 @@ var/list/ghostteleportlocs = list() /area/awaymission/beach name = "Beach" icon_state = "beach" - luminosity = TRUE dynamic_lighting = DYNAMIC_LIGHTING_DISABLED requires_power = FALSE ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg') diff --git a/code/modules/awaymissions/mission_code/blackmarketpackers.dm b/code/modules/awaymissions/mission_code/blackmarketpackers.dm index c2d10d7c97d..73e288b56ed 100644 --- a/code/modules/awaymissions/mission_code/blackmarketpackers.dm +++ b/code/modules/awaymissions/mission_code/blackmarketpackers.dm @@ -3,25 +3,24 @@ /area/awaymission/BMPship name = "\improper BMP Asteroids" icon_state = "away" - luminosity = 0 - report_alerts = 0 + report_alerts = FALSE /area/awaymission/BMPship/Aft name = "\improper Aft Block" icon_state = "away1" - requires_power = 1 + requires_power = TRUE /area/awaymission/BMPship/Midship name = "\improper Midship Block" icon_state = "away2" - requires_power = 1 + requires_power = TRUE /area/awaymission/BMPship/Fore name = "\improper Fore Block" icon_state = "away3" - requires_power = 1 + requires_power = TRUE /area/awaymission/BMPship/Gate name = "\improper Gateway Block" icon_state = "away4" - requires_power = 1 \ No newline at end of file + requires_power = TRUE \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/clownplanet.dm b/code/modules/awaymissions/mission_code/clownplanet.dm index 8d64d3074d2..8ac9fd1fb4c 100644 --- a/code/modules/awaymissions/mission_code/clownplanet.dm +++ b/code/modules/awaymissions/mission_code/clownplanet.dm @@ -3,19 +3,16 @@ /area/planet/clown name = "\improper Clown Planet" icon_state = "honk" - luminosity = 1 - dynamic_lighting = 0 - requires_power = 0 - report_alerts = 0 + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + requires_power = FALSE + report_alerts = FALSE /area/awaymission/clownplanet/miningtown name = "\improper Clown Planet - Bananium-o-Rama" icon_state = "away1" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/clownplanet/mine name = "\improper Clown Planet - Bananium-o-Rama Mines" icon_state = "away2" - luminosity = 1 - requires_power = 0 \ No newline at end of file + requires_power = FALSE \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 91c09d15f30..a24da0d6df7 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -9,31 +9,26 @@ /area/awaymission/wwmines name = "\improper Wild West Mines" icon_state = "away1" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/wwgov name = "\improper Wild West Mansion" icon_state = "away2" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/wwrefine name = "\improper Wild West Refinery" icon_state = "away3" - luminosity = 1 - requires_power = 0 + requires_power = FALSE /area/awaymission/wwvault name = "\improper Wild West Vault" icon_state = "away3" - luminosity = 0 /area/awaymission/wwvaultdoors name = "\improper Wild West Vault Doors" // this is to keep the vault area being entirely lit because of requires_power icon_state = "away2" - requires_power = 0 - luminosity = 0 + requires_power = FALSE /* * Wish Granter diff --git a/code/modules/awaymissions/zvis.dm b/code/modules/awaymissions/zvis.dm index e6e8e610a4d..b8f635b6344 100644 --- a/code/modules/awaymissions/zvis.dm +++ b/code/modules/awaymissions/zvis.dm @@ -1,368 +1,367 @@ -// /area/awaymission/upperlevel -// name = "Open Space" -// color = "#888" -// dynamic_lighting = 0 -// requires_power = 0 +/area/awaymission/upperlevel + name = "Open Space" + color = "#888" + dynamic_lighting = 0 + requires_power = 0 -// // Used by /turf/unsimulated/floor/upperlevel as a reference for where the other floor is -// /obj/effect/levelref -// name = "level reference" -// icon = 'icons/mob/screen_gen.dmi' -// icon_state = "x2" -// invisibility = 101 +// Used by /turf/unsimulated/floor/upperlevel as a reference for where the other floor is +/obj/effect/levelref + name = "level reference" + icon = 'icons/mob/screen_gen.dmi' + icon_state = "x2" + invisibility = 101 -// var/id = null -// var/obj/effect/levelref/other = null -// var/offset_x -// var/offset_y -// var/offset_z -// var/global/list/levels[0] + var/id = null + var/obj/effect/levelref/other = null + var/offset_x + var/offset_y + var/offset_z + var/global/list/levels[0] -// /obj/effect/levelref/New() -// ..() -// levels += src +/obj/effect/levelref/New() + ..() + levels += src -// /obj/effect/levelref/Initialize() -// ..() -// for(var/obj/effect/levelref/O in levels) -// if(id == O.id && O != src) -// other = O -// update_offset() -// O.other = src -// O.update_offset() -// for(var/turf/unsimulated/floor/upperlevel/U in get_area(loc)) -// U.init(src) -// return +/obj/effect/levelref/Initialize() + ..() + for(var/obj/effect/levelref/O in levels) + if(id == O.id && O != src) + other = O + update_offset() + O.other = src + O.update_offset() + for(var/turf/unsimulated/floor/upperlevel/U in get_area(loc)) + U.init(src) + return -// /obj/effect/levelref/Destroy() -// levels -= src -// return ..() +/obj/effect/levelref/Destroy() + levels -= src + return ..() -// /obj/effect/levelref/proc/update_offset() -// offset_x = other.x - x -// offset_y = other.y - y -// offset_z = other.z - z +/obj/effect/levelref/proc/update_offset() + offset_x = other.x - x + offset_y = other.y - y + offset_z = other.z - z -// // Used by /turf/unsimulated/floor/upperlevel and /obj/effect/view_portal/visual -// // to know if the world changed on the remote side -// /obj/effect/portal_sensor -// invisibility = 101 -// var/light_hash = -1 -// var/triggered_this_tick = 0 -// var/datum/owner // owner that receive signals -// var/list/params[0] // what to send to the main object to indicate which sensor -// var/trigger_limit = 5 // number of time we're allowed to trigger per ptick +// Used by /turf/unsimulated/floor/upperlevel and /obj/effect/view_portal/visual +// to know if the world changed on the remote side +/obj/effect/portal_sensor + invisibility = 101 + var/required_color = -1 + var/triggered_this_tick = 0 + var/datum/owner // owner that receive signals + var/list/params[0] // what to send to the main object to indicate which sensor + var/trigger_limit = 5 // number of time we're allowed to trigger per ptick -// /obj/effect/portal_sensor/New(loc, o, ...) -// ..() -// owner = o -// if(args.len >= 3) -// params = args.Copy(3) -// processing_objects += src -// trigger() +/obj/effect/portal_sensor/New(loc, o, ...) + ..() + owner = o + if(args.len >= 3) + params = args.Copy(3) + processing_objects += src + trigger() -// /obj/effect/portal_sensor/Destroy() -// processing_objects -= src -// return ..() +/obj/effect/portal_sensor/Destroy() + processing_objects -= src + return ..() -// /obj/effect/portal_sensor/Crossed(A) -// trigger() +/obj/effect/portal_sensor/Crossed(A) + trigger() -// /obj/effect/portal_sensor/Uncrossed(A) -// trigger() +/obj/effect/portal_sensor/Uncrossed(A) + trigger() -// /obj/effect/portal_sensor/process() -// check_light() -// if(triggered_this_tick >= trigger_limit) -// call(owner, "trigger")(arglist(params)) -// triggered_this_tick = 0 +/obj/effect/portal_sensor/process() + check_light() + if(triggered_this_tick >= trigger_limit) + call(owner, "trigger")(arglist(params)) + triggered_this_tick = 0 -// /obj/effect/portal_sensor/proc/trigger() -// triggered_this_tick++ -// if(triggered_this_tick < trigger_limit) -// call(owner, "trigger")(arglist(params)) +/obj/effect/portal_sensor/proc/trigger() + triggered_this_tick++ + if(triggered_this_tick < trigger_limit) + call(owner, "trigger")(arglist(params)) -// /obj/effect/portal_sensor/proc/check_light() -// var/turf/T = loc -// if(istype(T) && T.lighting_object && !T.lighting_object.needs_update) -// var/atom/movable/lighting_object/O = T.lighting_object -// var/hash = O.lum_r + O.lum_g + O.lum_b -// if(hash != light_hash) -// light_hash = hash -// trigger() -// else -// if(light_hash != -1) -// light_hash = -1 -// trigger() +/obj/effect/portal_sensor/proc/check_light() + var/turf/T = loc + if(istype(T) && T.lighting_object && !T.lighting_object.needs_update) + var/atom/movable/lighting_object/O = T.lighting_object + if(O.color != required_color) + required_color = O.color + trigger() + else + if(required_color != -1) + required_color = -1 + trigger() -// // for second floor showing floor below -// /turf/unsimulated/floor/upperlevel -// icon = 'icons/turf/areas.dmi' -// icon_state = "dark128" -// layer = AREA_LAYER + 0.5 -// appearance_flags = TILE_BOUND | KEEP_TOGETHER -// var/turf/lower_turf -// var/obj/effect/portal_sensor/sensor +// for second floor showing floor below +/turf/unsimulated/floor/upperlevel + icon = 'icons/turf/areas.dmi' + icon_state = "dark128" + layer = AREA_LAYER + 0.5 + appearance_flags = TILE_BOUND | KEEP_TOGETHER + var/turf/lower_turf + var/obj/effect/portal_sensor/sensor -// /turf/unsimulated/floor/upperlevel/New() -// ..() -// var/obj/effect/levelref/R = locate() in get_area(src) -// if(R && R.other) -// init(R) +/turf/unsimulated/floor/upperlevel/New() + ..() + var/obj/effect/levelref/R = locate() in get_area(src) + if(R && R.other) + init(R) -// /turf/unsimulated/floor/upperlevel/Destroy() -// QDEL_NULL(sensor) -// return ..() +/turf/unsimulated/floor/upperlevel/Destroy() + QDEL_NULL(sensor) + return ..() -// /turf/unsimulated/floor/upperlevel/proc/init(var/obj/effect/levelref/R) -// lower_turf = locate(x + R.offset_x, y + R.offset_y, z + R.offset_z) -// if(lower_turf) -// sensor = new(lower_turf, src) +/turf/unsimulated/floor/upperlevel/proc/init(var/obj/effect/levelref/R) + lower_turf = locate(x + R.offset_x, y + R.offset_y, z + R.offset_z) + if(lower_turf) + sensor = new(lower_turf, src) -// /turf/unsimulated/floor/upperlevel/Entered(atom/movable/AM, atom/OL, ignoreRest = 0) -// if(isliving(AM) || istype(AM, /obj)) -// if(isliving(AM)) -// var/mob/living/M = AM -// M.emote("scream") -// M.SpinAnimation(5, 1) -// AM.forceMove(lower_turf) +/turf/unsimulated/floor/upperlevel/Entered(atom/movable/AM, atom/OL, ignoreRest = 0) + if(isliving(AM) || istype(AM, /obj)) + if(isliving(AM)) + var/mob/living/M = AM + M.emote("scream") + M.SpinAnimation(5, 1) + AM.forceMove(lower_turf) -// /turf/unsimulated/floor/upperlevel/attack_ghost(mob/user) -// user.forceMove(lower_turf) +/turf/unsimulated/floor/upperlevel/attack_ghost(mob/user) + user.forceMove(lower_turf) -// /turf/unsimulated/floor/upperlevel/proc/trigger() -// name = lower_turf.name -// desc = lower_turf.desc +/turf/unsimulated/floor/upperlevel/proc/trigger() + name = lower_turf.name + desc = lower_turf.desc -// // render each atom -// underlays.Cut() -// for(var/X in list(lower_turf) + lower_turf.contents) -// var/atom/A = X -// if(A && A.invisibility <= SEE_INVISIBLE_LIVING) -// var/image/I = image(A, layer = AREA_LAYER + A.layer * 0.01, dir = A.dir) -// I.pixel_x = A.pixel_x -// I.pixel_y = A.pixel_y -// underlays += I + // render each atom + underlays.Cut() + for(var/X in list(lower_turf) + lower_turf.contents) + var/atom/A = X + if(A && A.invisibility <= SEE_INVISIBLE_LIVING) + var/image/I = image(A, layer = AREA_LAYER + A.layer * 0.01, dir = A.dir) + I.pixel_x = A.pixel_x + I.pixel_y = A.pixel_y + underlays += I -// // remote end of narnia portal -// /obj/effect/view_portal -// name = "portal target" -// icon = 'icons/mob/screen_gen.dmi' -// icon_state = "x2" -// invisibility = 101 -// anchored = 1 +// remote end of narnia portal +/obj/effect/view_portal + name = "portal target" + icon = 'icons/mob/screen_gen.dmi' + icon_state = "x2" + invisibility = 101 + anchored = 1 -// var/id = null // id of other portal turf we connect to + var/id = null // id of other portal turf we connect to -// var/obj/effect/view_portal/other = null -// var/global/list/portals[0] + var/obj/effect/view_portal/other = null + var/global/list/portals[0] -// /obj/effect/view_portal/New() -// ..() -// GLOB.portals += src +/obj/effect/view_portal/New() + ..() + GLOB.portals += src -// /obj/effect/view_portal/Initialize() -// ..() -// if(id) -// for(var/obj/effect/view_portal/O in GLOB.portals) -// if(id == O.id && O != src && can_link(O)) -// other = O -// O.other = src -// linkup() -// O.linkup() -// if(other) -// return +/obj/effect/view_portal/Initialize() + ..() + if(id) + for(var/obj/effect/view_portal/O in GLOB.portals) + if(id == O.id && O != src && can_link(O)) + other = O + O.other = src + linkup() + O.linkup() + if(other) + return -// /obj/effect/view_portal/Destroy() -// GLOB.portals -= src -// return ..() +/obj/effect/view_portal/Destroy() + GLOB.portals -= src + return ..() -// /obj/effect/view_portal/proc/can_link(obj/effect/view_portal/P) -// return P.type == /obj/effect/view_portal/visual && !P.other +/obj/effect/view_portal/proc/can_link(obj/effect/view_portal/P) + return P.type == /obj/effect/view_portal/visual && !P.other -// /obj/effect/view_portal/proc/linkup() -// // allow it to link to multiple visual nodes -// other = null +/obj/effect/view_portal/proc/linkup() + // allow it to link to multiple visual nodes + other = null -// // near end of nania portal -// /obj/effect/view_portal/visual -// name = "???" -// desc = "You'll have to get closer to clearly see what this is." +// near end of nania portal +/obj/effect/view_portal/visual + name = "???" + desc = "You'll have to get closer to clearly see what this is." -// icon = 'icons/turf/floors.dmi' -// icon_state = "loadingarea" -// opacity = 1 -// density = 1 -// invisibility = 0 -// appearance_flags = TILE_BOUND | KEEP_TOGETHER -// var/dist = 6 // dist that we render out -// var/radius = 3 // dist we render on other axis, in each direction -// var/frustrum = 0 // if 1, get wider and wider at each step outward -// var/teleport = 1 // should teleport? + icon = 'icons/turf/floors.dmi' + icon_state = "loadingarea" + opacity = 1 + density = 1 + invisibility = 0 + appearance_flags = TILE_BOUND | KEEP_TOGETHER + var/dist = 6 // dist that we render out + var/radius = 3 // dist we render on other axis, in each direction + var/frustrum = 0 // if 1, get wider and wider at each step outward + var/teleport = 1 // should teleport? -// var/list/render_block -// var/list/sensors[0] -// var/list/tiles[0] + var/list/render_block + var/list/sensors[0] + var/list/tiles[0] -// var/list/near_render_block -// var/turf/near_viewpoint + var/list/near_render_block + var/turf/near_viewpoint -// /obj/effect/view_portal/visual/Destroy() -// for(var/T in sensors) -// qdel(sensors[T]) -// sensors.Cut() -// sensors = null -// for(var/T in tiles) -// qdel(tiles[T]) -// tiles.Cut() -// tiles = null -// render_block = null -// near_render_block = null -// near_viewpoint = null -// return ..() +/obj/effect/view_portal/visual/Destroy() + for(var/T in sensors) + qdel(sensors[T]) + sensors.Cut() + sensors = null + for(var/T in tiles) + qdel(tiles[T]) + tiles.Cut() + tiles = null + render_block = null + near_render_block = null + near_viewpoint = null + return ..() -// /obj/effect/view_portal/visual/can_link(obj/effect/view_portal/P) -// return P.type == /obj/effect/view_portal +/obj/effect/view_portal/visual/can_link(obj/effect/view_portal/P) + return P.type == /obj/effect/view_portal -// /obj/effect/view_portal/visual/linkup() -// icon = null -// icon_state = null -// var/turf/Tloc = get_turf(loc) -// if(Tloc) -// Tloc.icon = null -// Tloc.icon_state = null -// Tloc.dynamic_lighting = 0 -// layer = AREA_LAYER + 0.5 +/obj/effect/view_portal/visual/linkup() + icon = null + icon_state = null + var/turf/Tloc = get_turf(loc) + if(Tloc) + Tloc.icon = null + Tloc.icon_state = null + Tloc.dynamic_lighting = 0 + layer = AREA_LAYER + 0.5 -// // setup references -// var/crossdir = angle2dir((dir2angle(dir) + 90) % 360) -// near_viewpoint = get_step(get_turf(src), GetOppositeDir(dir)) + // setup references + var/crossdir = angle2dir((dir2angle(dir) + 90) % 360) + near_viewpoint = get_step(get_turf(src), GetOppositeDir(dir)) -// // setup far turfs -// var/turf/T1 = get_turf(other) -// var/turf/T2 = T1 + // setup far turfs + var/turf/T1 = get_turf(other) + var/turf/T2 = T1 -// for(var/i in 1 to radius) -// T1 = get_step(T1, crossdir) -// T2 = get_step(T2, GetOppositeDir(crossdir)) -// if(frustrum) -// // make a trapazoid, with length dist, short end radius*2 long, -// // and 45 degree angles -// render_block = block(T1, T2) -// for(var/i in 1 to dist) -// T1 = get_step(get_step(T1, dir), crossdir) -// T2 = get_step(get_step(T2, dir), GetOppositeDir(crossdir)) -// render_block += block(T1, T2) -// else -// // else make a box dist x radius*2 -// for(var/i in 1 to dist) -// T2 = get_step(T2, dir) -// render_block = block(T1, T2) -// for(var/turf/T in render_block) -// sensors[T] = new /obj/effect/portal_sensor(T, src, 0, T) + for(var/i in 1 to radius) + T1 = get_step(T1, crossdir) + T2 = get_step(T2, GetOppositeDir(crossdir)) + if(frustrum) + // make a trapazoid, with length dist, short end radius*2 long, + // and 45 degree angles + render_block = block(T1, T2) + for(var/i in 1 to dist) + T1 = get_step(get_step(T1, dir), crossdir) + T2 = get_step(get_step(T2, dir), GetOppositeDir(crossdir)) + render_block += block(T1, T2) + else + // else make a box dist x radius*2 + for(var/i in 1 to dist) + T2 = get_step(T2, dir) + render_block = block(T1, T2) + for(var/turf/T in render_block) + sensors[T] = new /obj/effect/portal_sensor(T, src, 0, T) -// // setup turfs on this side of the portal to cover the map streaming -// // has to be done later for view() to be correct (so it happens when the walls exist) -// /obj/effect/view_portal/visual/proc/setup_near() -// var/nvs = dir & (EAST|WEST) ? near_viewpoint.x - x : near_viewpoint.y - y -// if(nvs) -// nvs = SIGN(nvs) -// // need a mob for view() to work correctly -// var/mob/M = new(near_viewpoint) -// M.see_invisible = SEE_INVISIBLE_LIVING -// near_render_block = view(M, world.view) -// qdel(M) -// for(var/A in near_render_block) -// var/turf/T = A -// if(istype(T)) -// var/ts = dir & (EAST|WEST) ? T.x - x : T.y - y -// if(ts) -// ts = SIGN(ts) -// if(nvs == ts) -// sensors[T] = new /obj/effect/portal_sensor(T, src, 1, T) -// else -// near_render_block -= T -// else -// near_render_block -= T +// setup turfs on this side of the portal to cover the map streaming +// has to be done later for view() to be correct (so it happens when the walls exist) +/obj/effect/view_portal/visual/proc/setup_near() + var/nvs = dir & (EAST|WEST) ? near_viewpoint.x - x : near_viewpoint.y - y + if(nvs) + nvs = SIGN(nvs) + // need a mob for view() to work correctly + var/mob/M = new(near_viewpoint) + M.see_invisible = SEE_INVISIBLE_LIVING + near_render_block = view(M, world.view) + qdel(M) + for(var/A in near_render_block) + var/turf/T = A + if(istype(T)) + var/ts = dir & (EAST|WEST) ? T.x - x : T.y - y + if(ts) + ts = SIGN(ts) + if(nvs == ts) + sensors[T] = new /obj/effect/portal_sensor(T, src, 1, T) + else + near_render_block -= T + else + near_render_block -= T -// /obj/effect/view_portal/visual/Bumped(atom/movable/thing) -// if((istype(thing, /obj) || isliving(thing)) && other && teleport) -// if(!near_render_block) -// setup_near() +/obj/effect/view_portal/visual/Bumped(atom/movable/thing) + if((istype(thing, /obj) || isliving(thing)) && other && teleport) + if(!near_render_block) + setup_near() -// var/mob/living/M = thing -// // make the person glide onto the dest, giving a smooth transition -// var/ox = thing.x - x -// var/oy = thing.y - y -// if(istype(M) && M.client) -// M.notransform = 1 -// // cover up client-side map loading -// M.screen_loc = "CENTER" -// M.client.screen += M -// for(var/T in tiles) -// M.client.screen += tiles[T] + var/mob/living/M = thing + // make the person glide onto the dest, giving a smooth transition + var/ox = thing.x - x + var/oy = thing.y - y + if(istype(M) && M.client) + M.notransform = 1 + // cover up client-side map loading + M.screen_loc = "CENTER" + M.client.screen += M + for(var/T in tiles) + M.client.screen += tiles[T] -// // wait a tick for the screen to replicate across network -// // or this whole exercise of covering the transition is pointless -// spawn(1) -// thing.forceMove(locate(other.x + ox, other.y + oy, other.z)) -// sleep(1) -// if(istype(M) && M.client) -// for(var/T in tiles) -// M.client.screen -= tiles[T] -// M.client.screen -= M -// M.screen_loc = initial(M.screen_loc) -// thing.forceMove(get_turf(other.loc)) -// if(istype(M) && M.client) -// M.notransform = 0 + // wait a tick for the screen to replicate across network + // or this whole exercise of covering the transition is pointless + spawn(1) + thing.forceMove(locate(other.x + ox, other.y + oy, other.z)) + sleep(1) + if(istype(M) && M.client) + for(var/T in tiles) + M.client.screen -= tiles[T] + M.client.screen -= M + M.screen_loc = initial(M.screen_loc) + thing.forceMove(get_turf(other.loc)) + if(istype(M) && M.client) + M.notransform = 0 -// /obj/effect/view_portal/visual/attack_ghost(mob/user) -// user.forceMove(get_turf(other.loc)) +/obj/effect/view_portal/visual/attack_ghost(mob/user) + user.forceMove(get_turf(other.loc)) -// /obj/effect/view_portal/visual/proc/trigger(near, turf/T) -// var/obj/effect/view_portal_dummy/D = tiles[T] -// if(D) -// D.overlays.Cut() -// else -// D = new(src, near, T) -// tiles[T] = D +/obj/effect/view_portal/visual/proc/trigger(near, turf/T) + var/obj/effect/view_portal_dummy/D = tiles[T] + if(D) + D.overlays.Cut() + else + D = new(src, near, T) + tiles[T] = D -// // render atoms to overlays of a dummy object -// if(D.name != T.name) -// D.name = T.name -// D.desc = T.desc -// for(var/AX in list(T) + T.contents) -// var/atom/A = AX -// if(A && A.invisibility <= SEE_INVISIBLE_LIVING) -// var/image/I = image(A, layer = D.layer + A.layer * 0.01, dir = A.dir) -// I.pixel_x = A.pixel_x -// I.pixel_y = A.pixel_y -// D.overlays += I + // render atoms to overlays of a dummy object + if(D.name != T.name) + D.name = T.name + D.desc = T.desc + for(var/AX in list(T) + T.contents) + var/atom/A = AX + if(A && A.invisibility <= SEE_INVISIBLE_LIVING) + var/image/I = image(A, layer = D.layer + A.layer * 0.01, dir = A.dir) + I.pixel_x = A.pixel_x + I.pixel_y = A.pixel_y + D.overlays += I -// // tile of rendered other side for narnia portal -// /obj/effect/view_portal_dummy -// var/obj/effect/view_portal/visual/owner +// tile of rendered other side for narnia portal +/obj/effect/view_portal_dummy + var/obj/effect/view_portal/visual/owner -// /obj/effect/view_portal_dummy/New(obj/effect/view_portal/visual/V, near, turf/T) -// ..() -// if(!near) -// loc = V.loc -// owner = V +/obj/effect/view_portal_dummy/New(obj/effect/view_portal/visual/V, near, turf/T) + ..() + if(!near) + loc = V.loc + owner = V -// var/ox -// var/oy -// if(near) -// ox = (T.x - V.near_viewpoint.x) -// oy = (T.y - V.near_viewpoint.y) -// layer = AREA_LAYER + 0.4 -// else -// ox = T.x - V.other.x + V.x - V.near_viewpoint.x -// oy = T.y - V.other.y + V.y - V.near_viewpoint.y -// pixel_x = 32 * (T.x - V.other.x) -// pixel_y = 32 * (T.y - V.other.y) -// layer = AREA_LAYER + 0.5 -// if(abs(ox) <= world.view && abs(oy) <= world.view) -// screen_loc = "CENTER[ox >= 0 ? "+" : ""][ox],CENTER[oy >= 0 ? "+" : ""][oy]" + var/ox + var/oy + if(near) + ox = (T.x - V.near_viewpoint.x) + oy = (T.y - V.near_viewpoint.y) + layer = AREA_LAYER + 0.4 + else + ox = T.x - V.other.x + V.x - V.near_viewpoint.x + oy = T.y - V.other.y + V.y - V.near_viewpoint.y + pixel_x = 32 * (T.x - V.other.x) + pixel_y = 32 * (T.y - V.other.y) + layer = AREA_LAYER + 0.5 + if(abs(ox) <= world.view && abs(oy) <= world.view) + screen_loc = "CENTER[ox >= 0 ? "+" : ""][ox],CENTER[oy >= 0 ? "+" : ""][oy]" -// /obj/effect/view_portal_dummy/attack_ghost(mob/user) -// owner.attack_ghost(user) +/obj/effect/view_portal_dummy/attack_ghost(mob/user) + owner.attack_ghost(user) diff --git a/code/modules/lighting/lighting_setup.dm b/code/modules/lighting/lighting_setup.dm index 68119ba3921..ed8b7e71d6c 100644 --- a/code/modules/lighting/lighting_setup.dm +++ b/code/modules/lighting/lighting_setup.dm @@ -1,5 +1,5 @@ /proc/create_all_lighting_objects() - for(var/area/A in world) + for(var/area/A in GLOB.all_areas) if(!IS_DYNAMIC_LIGHTING(A)) continue diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm index 6d7fa9028a8..e8134c4ac5c 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -179,6 +179,6 @@ /datum/chemical_reaction/rotatium name = "Rotatium" id = "Rotatium" - results = "rotatium" + result = "rotatium" required_reagents = list("lsd" = 1, "teslium" = 1, "fentanyl" = 1) mix_message = "After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight." \ No newline at end of file From b79d3545e153867621850be731ef0e5323bd8392 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 23:28:48 +0200 Subject: [PATCH 018/196] Enable viewing own mob in darkness --- code/__DEFINES/misc.dm | 6 +++++- code/_onclick/hud/fullscreen.dm | 32 +++++++++++++++++++------------- code/_onclick/hud/human.dm | 1 + icons/mob/screen_full.dmi | Bin 1367919 -> 1371578 bytes 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index eae4478d0a1..9ecf8efb974 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -377,4 +377,8 @@ #define GHOST_ORBIT_PENTAGON "pentagon" // Filters -#define FILTER_AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") \ No newline at end of file +#define FILTER_AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") + +//Fullscreen overlay resolution in tiles. +#define FULLSCREEN_OVERLAY_RESOLUTION_X 15 +#define FULLSCREEN_OVERLAY_RESOLUTION_Y 15 \ No newline at end of file diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 82b56aaf1b7..0a9d0f6b4f0 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -2,23 +2,21 @@ var/list/screens = list() /mob/proc/overlay_fullscreen(category, type, severity) - var/obj/screen/fullscreen/screen - if(screens[category]) - screen = screens[category] - if(screen.type != type) - clear_fullscreen(category, FALSE) - return .() - else if(!severity || severity == screen.severity) - return null - else - screen = new type + var/obj/screen/fullscreen/screen = screens[category] + if (!screen || screen.type != type) + // needs to be recreated + clear_fullscreen(category, FALSE) + screens[category] = screen = new type() + else if ((!severity || severity == screen.severity) && (!client || screen.screen_loc != "CENTER-7,CENTER-7" || screen.view == client.view)) + // doesn't need to be updated + return screen screen.icon_state = "[initial(screen.icon_state)][severity]" screen.severity = severity - - screens[category] = screen - if(client && screen.should_show_to(src)) + if (client && screen.should_show_to(src)) + screen.update_for_view(client.view) client.screen += screen + return screen /mob/proc/clear_fullscreen(category, animated = 10) @@ -51,6 +49,7 @@ for(var/category in screens) screen = screens[category] if(screen.should_show_to(src)) + screen.update_for_view(mymob.client.view) mymob.client.screen |= screen else mymob.client.screen -= screen @@ -62,9 +61,16 @@ layer = FULLSCREEN_LAYER plane = FULLSCREEN_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT + var/view = 7 var/severity = 0 var/show_when_dead = FALSE +/obj/screen/fullscreen/proc/update_for_view(client_view) + if (screen_loc == "CENTER-7,CENTER-7" && view != client_view) + var/list/actualview = getviewsize(client_view) + view = client_view + transform = matrix(actualview[1]/FULLSCREEN_OVERLAY_RESOLUTION_X, 0, 0, 0, actualview[2]/FULLSCREEN_OVERLAY_RESOLUTION_Y, 0) + /obj/screen/fullscreen/proc/should_show_to(mob/mymob) if(!show_when_dead && mymob.stat == DEAD) return FALSE diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 6f5c8ee0548..811a7e89cdb 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -83,6 +83,7 @@ /datum/hud/human/New(mob/living/carbon/human/owner, var/ui_style = 'icons/mob/screen_white.dmi', var/ui_color = "#ffffff", var/ui_alpha = 255) ..() + owner.overlay_fullscreen("see_through_darkness", /obj/screen/fullscreen/see_through_darkness) var/obj/screen/using var/obj/screen/inventory/inv_box diff --git a/icons/mob/screen_full.dmi b/icons/mob/screen_full.dmi index e84b05469506dba025f5e6a0681e663318fb9368..595b870a17280aa7a15603ceb61108bbac5d85ad 100644 GIT binary patch delta 37450 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≠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 RJLuydytm@r^Gi4E`+r1-f(8Hp delta 33762 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 Date: Mon, 22 Apr 2019 23:43:05 +0200 Subject: [PATCH 019/196] fentanyl --> meth --- code/modules/reagents/chemistry/recipes/toxins.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm index e8134c4ac5c..01b94d1e519 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -180,5 +180,5 @@ name = "Rotatium" id = "Rotatium" result = "rotatium" - required_reagents = list("lsd" = 1, "teslium" = 1, "fentanyl" = 1) + required_reagents = list("lsd" = 1, "teslium" = 1, "meth" = 1) mix_message = "After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight." \ No newline at end of file From 7687bf85ca55bf251bd68c4cec757a858546f199 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 22 Apr 2019 23:43:47 +0200 Subject: [PATCH 020/196] Proper meth --- code/modules/reagents/chemistry/recipes/toxins.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm index 01b94d1e519..99f33d625a6 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -180,5 +180,5 @@ name = "Rotatium" id = "Rotatium" result = "rotatium" - required_reagents = list("lsd" = 1, "teslium" = 1, "meth" = 1) + required_reagents = list("lsd" = 1, "teslium" = 1, "methamphetamine" = 1) mix_message = "After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight." \ No newline at end of file From 1bb35a43efd7b7e39a855e5e42fd602edada8f2c Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 23 Apr 2019 15:13:33 +0200 Subject: [PATCH 021/196] SQL fix --- code/modules/client/preference/preferences_mysql.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index 3483a4c77d3..731bf06496e 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -18,7 +18,7 @@ ghost_anonsay, exp, clientfps, - atklog, + atklog FROM [format_table_name("player")] WHERE ckey='[C.ckey]'"} ) From 429dd20ded7791a5eab2784773d87d2b34fb8eb4 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 23 Apr 2019 20:08:04 +0200 Subject: [PATCH 022/196] Button plane fix --- code/datums/action.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index d316bd29b41..08c92a37bad 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -107,6 +107,7 @@ /datum/action/item_action check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_CONSCIOUS var/use_itemicon = TRUE + /datum/action/item_action/New(Target, custom_icon, custom_icon_state) ..() var/obj/item/I = target @@ -136,9 +137,10 @@ var/obj/item/I = target var/old_layer = I.layer var/old_plane = I.plane - I.layer = HUD_LAYER_SCREEN + 1 - I.plane = HUD_PLANE - current_button.overlays += I + I.layer = FLOAT_LAYER //AAAH + I.plane = FLOAT_PLANE //^ what that guy said + current_button.cut_overlays() + current_button.add_overlay(I) I.layer = old_layer I.plane = old_plane else From 9213b891797916aaf689ba8e3c55c9a4c52ef3a2 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 23 Apr 2019 20:27:12 +0200 Subject: [PATCH 023/196] Remove receive_signal from alarm --- code/game/machinery/alarm.dm | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 1faf99daec0..7680eb5f67b 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -375,38 +375,6 @@ if(ATMOS_ALARM_DANGER) icon_state = "alarm1" -/obj/machinery/alarm/receive_signal(datum/signal/signal) - if(stat & (NOPOWER|BROKEN) || !alarm_area) - return - if(alarm_area.master_air_alarm != src) - if(master_is_operating()) - return - elect_master() - if(alarm_area.master_air_alarm != src) - return - if(!signal || signal.encryption) - return - var/id_tag = signal.data["tag"] - if(!id_tag) - return - if(signal.data["area"] != area_uid) - return - if(signal.data["sigtype"] != "status") - return - - var/dev_type = signal.data["device"] - if(!(id_tag in alarm_area.air_scrub_names) && !(id_tag in alarm_area.air_vent_names)) - register_env_machine(id_tag, dev_type) - var/got_update=0 - if(dev_type == "AScr") - alarm_area.air_scrub_info[id_tag] = signal.data - got_update=1 - else if(dev_type == "AVP") - alarm_area.air_vent_info[id_tag] = signal.data - got_update=1 - if(got_update && waiting_on_device==id_tag) - waiting_on_device=null - /obj/machinery/alarm/proc/register_env_machine(var/m_id, var/device_type) var/new_name if(device_type=="AVP") From 0d883a5b886fb01534b58551a30baec4e31f401e Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 23 Apr 2019 22:59:00 +0200 Subject: [PATCH 024/196] Darkness handling update --- code/ATMOSPHERICS/atmospherics.dm | 1 + code/_onclick/hud/hud.dm | 1 + code/datums/vision_override.dm | 10 ++- code/game/atoms.dm | 1 + code/game/gamemodes/blob/blobs/blob_mobs.dm | 3 +- code/game/gamemodes/blob/overmind.dm | 13 +--- code/game/gamemodes/devil/imp/imp.dm | 2 +- .../gamemodes/devil/true_devil/_true_devil.dm | 16 ---- .../gamemodes/malfunction/Malf_Modules.dm | 2 +- .../miniantags/guardian/types/ranged.dm | 24 ++++-- code/game/gamemodes/miniantags/morph/morph.dm | 2 +- .../gamemodes/miniantags/revenant/revenant.dm | 15 +--- .../miniantags/revenant/revenant_abilities.dm | 2 - .../miniantags/slaughter/slaughter.dm | 2 +- .../shadowling/ascendant_shadowling.dm | 2 +- .../gamemodes/shadowling/shadowling_items.dm | 1 + code/game/gamemodes/wizard/rightandwrong.dm | 3 +- code/game/gamemodes/wizard/spellbook.dm | 2 +- code/game/machinery/camera/camera.dm | 11 ++- code/game/machinery/navbeacon.dm | 2 +- code/game/mecha/mecha.dm | 2 + code/game/objects/items/devices/flashlight.dm | 2 +- code/modules/clothing/clothing.dm | 7 +- code/modules/clothing/glasses/glasses.dm | 34 +++++---- code/modules/clothing/glasses/hud.dm | 9 ++- code/modules/clothing/head/helmet.dm | 3 +- .../clothing/spacesuits/miscellaneous.dm | 2 +- .../mining/lavaland/loot/tendril_loot.dm | 36 +++++---- code/modules/mining/minebot.dm | 34 +++------ code/modules/mob/dead/observer/observer.dm | 27 ++++++- code/modules/mob/living/carbon/alien/alien.dm | 46 ++++++++++-- code/modules/mob/living/carbon/alien/life.dm | 30 -------- code/modules/mob/living/carbon/carbon.dm | 39 +++++++++- code/modules/mob/living/carbon/human/human.dm | 7 +- .../mob/living/carbon/human/inventory.dm | 8 +- .../living/carbon/human/species/_species.dm | 74 ++++++++++--------- code/modules/mob/living/carbon/life.dm | 30 -------- code/modules/mob/living/life.dm | 17 +---- code/modules/mob/living/living.dm | 34 +++++++++ code/modules/mob/living/living_defines.dm | 1 - code/modules/mob/living/silicon/ai/ai.dm | 27 ++++++- code/modules/mob/living/silicon/ai/life.dm | 13 ---- code/modules/mob/living/silicon/robot/life.dm | 34 --------- .../modules/mob/living/silicon/robot/robot.dm | 40 ++++++++++ .../mob/living/simple_animal/hostile/alien.dm | 2 +- .../simple_animal/hostile/giant_spider.dm | 1 + .../simple_animal/hostile/mining_mobs.dm | 2 +- .../living/simple_animal/hostile/statue.dm | 29 ++++---- .../hostile/terror_spiders/terror_spiders.dm | 3 +- .../mob/living/simple_animal/simple_animal.dm | 16 ---- code/modules/mob/mob.dm | 9 +++ code/modules/mob/mob_defines.dm | 4 +- code/modules/shuttle/navigation_computer.dm | 2 + code/modules/surgery/organs/augments_eyes.dm | 10 ++- code/modules/surgery/organs/eyes.dm | 13 ++-- .../surgery/organs/subtypes/abductor.dm | 2 +- code/modules/surgery/organs/subtypes/drask.dm | 2 +- code/modules/surgery/organs/subtypes/grey.dm | 2 +- .../modules/surgery/organs/subtypes/shadow.dm | 2 +- .../surgery/organs/subtypes/tajaran.dm | 4 +- .../modules/surgery/organs/subtypes/unathi.dm | 2 +- .../surgery/organs/subtypes/vulpkanin.dm | 4 +- code/modules/surgery/organs/subtypes/wryn.dm | 2 +- 63 files changed, 412 insertions(+), 370 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index aa6d2f2625c..a6b346ee1c2 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -332,3 +332,4 @@ GLOBAL_DATUM_INIT(pipe_icon_manager, /datum/pipe_icon_manager, new()) /obj/machinery/atmospherics/update_remote_sight(mob/user) user.sight |= (SEE_TURFS|BLIND) + . = ..() diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 56d954313cc..0063feae9cf 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -43,6 +43,7 @@ /mob/proc/create_mob_hud() if(client && !hud_used) hud_used = new /datum/hud(src) + update_sight() /datum/hud/New(mob/owner) mymob = owner diff --git a/code/datums/vision_override.dm b/code/datums/vision_override.dm index 140ceb8d5fa..86aab6d65ec 100644 --- a/code/datums/vision_override.dm +++ b/code/datums/vision_override.dm @@ -1,13 +1,15 @@ /datum/vision_override var/name = "vision override" - var/see_in_dark = 0 - var/see_invisible = 0 - var/light_sensitive = 0 + var/sight_flags = 0 + var/see_in_dark = 0 + var/lighting_alpha + + var/light_sensitive = 0 /datum/vision_override/nightvision see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE /datum/vision_override/nightvision/thermals sight_flags = SEE_MOBS diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e46c1290637..f30fa412a8f 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -675,6 +675,7 @@ var/list/blood_splatter_icons = list() //the sight changes to give to the mob whose perspective is set to that atom (e.g. A mob with nightvision loses its nightvision while looking through a normal camera) /atom/proc/update_remote_sight(mob/living/user) + sync_lighting_plane_alpha() return /atom/proc/checkpass(passflag) diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index e6e9dfe4196..bf2143b9784 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -178,7 +178,8 @@ environment_smash = ENVIRONMENT_SMASH_RWALLS pressure_resistance = 100 //100 kPa difference required to push throw_pressure_limit = 120 //120 kPa difference required to throw - + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE /mob/living/simple_animal/hostile/blob/blobbernaut/blob_act() return diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index ca1dffbfa74..02af98f74c5 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -5,8 +5,8 @@ icon_state = "marker" see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM invisibility = INVISIBILITY_OBSERVER + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE pass_flags = PASSBLOB faction = list("blob") @@ -20,7 +20,6 @@ var/is_offspring = FALSE var/datum/reagent/blob/blob_reagent_datum = new/datum/reagent/blob() var/list/blob_mobs = list() - var/ghostimage = null /mob/camera/blob/New() var/new_name = "[initial(name)] ([rand(1, 999)])" @@ -35,9 +34,6 @@ blob_core.adjustcolors(blob_reagent_datum.color) color = blob_reagent_datum.complementary_color - ghostimage = image(src.icon,src,src.icon_state) - ghost_darkness_images |= ghostimage //so ghosts can see the blob cursor when they disable darkness - updateallghostimages() ..() /mob/camera/blob/Life(seconds, times_fired) @@ -45,13 +41,6 @@ qdel(src) ..() -/mob/camera/blob/Destroy() - if(ghostimage) - ghost_darkness_images -= ghostimage - QDEL_NULL(ghostimage) - updateallghostimages() - return ..() - /mob/camera/blob/Login() ..() sync_mind() diff --git a/code/game/gamemodes/devil/imp/imp.dm b/code/game/gamemodes/devil/imp/imp.dm index b012edc1930..e863eaf1f6a 100644 --- a/code/game/gamemodes/devil/imp/imp.dm +++ b/code/game/gamemodes/devil/imp/imp.dm @@ -29,7 +29,7 @@ melee_damage_lower = 10 melee_damage_upper = 15 see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE var/boost var/playstyle_string = "You are an imp, a mischevious creature from hell. You are the lowest rank on the hellish totem pole \ Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \ diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm index 18058b42279..a6c04c5dcc0 100644 --- a/code/game/gamemodes/devil/true_devil/_true_devil.dm +++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm @@ -30,22 +30,6 @@ E.insert() ..() - -/mob/living/carbon/true_devil/update_sight() - if(stat == DEAD) - sight |= SEE_TURFS - sight |= SEE_MOBS - sight |= SEE_OBJS - see_in_dark = 8 - see_invisible = SEE_INVISIBLE_LEVEL_TWO - else - sight = (SEE_TURFS | SEE_OBJS) - see_in_dark = 2 - see_invisible = SEE_INVISIBLE_LIVING - - if(see_override) - see_invisible = see_override - // inventory system could use some love /mob/living/carbon/true_devil/put_in_hands(obj/item/W) if(!W) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 830ae26f3c1..c44150a8450 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -496,7 +496,7 @@ return var/upgradedcams = 0 - see_override = SEE_INVISIBLE_MINIMUM //Night-vision, without which X-ray would be very limited in power. + see_override = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //Night-vision, without which X-ray would be very limited in power. update_sight() for(var/obj/machinery/camera/C in cameranet.cameras) diff --git a/code/game/gamemodes/miniantags/guardian/types/ranged.dm b/code/game/gamemodes/miniantags/guardian/types/ranged.dm index 0979ed45a6c..641d44dae2e 100644 --- a/code/game/gamemodes/miniantags/guardian/types/ranged.dm +++ b/code/game/gamemodes/miniantags/guardian/types/ranged.dm @@ -16,7 +16,7 @@ ranged = 1 rapid = 1 range = 13 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE see_in_dark = 8 playstyle_string = "As a Ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed. You can also deploy surveillance snares to monitor enemy movement. Finally, you can switch to scout mode, in which you can't attack, but can move without limit." magic_fluff_string = "..And draw the Sentinel, an alien master of ranged combat." @@ -53,12 +53,22 @@ to_chat(src, "You have to be recalled to toggle modes!") /mob/living/simple_animal/hostile/guardian/ranged/ToggleLight() - if(see_invisible == SEE_INVISIBLE_MINIMUM) - to_chat(src, "You deactivate your night vision.") - see_invisible = SEE_INVISIBLE_LIVING - else - to_chat(src, "You activate your night vision.") - see_invisible = SEE_INVISIBLE_MINIMUM + var/msg + switch(lighting_alpha) + if (LIGHTING_PLANE_ALPHA_VISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + msg = "You activate your night vision." + if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + msg = "You increase your night vision." + if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + msg = "You maximize your night vision." + else + lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + msg = "You deactivate your night vision." + + to_chat(src, "[msg]") /mob/living/simple_animal/hostile/guardian/ranged/verb/Snare() set name = "Set Surveillance Trap" diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm index 3bb36870d31..bcaecfb0eea 100644 --- a/code/game/gamemodes/miniantags/morph/morph.dm +++ b/code/game/gamemodes/miniantags/morph/morph.dm @@ -27,7 +27,7 @@ melee_damage_lower = 20 melee_damage_upper = 20 see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE idle_vision_range = 1 // Only attack when target is close wander = 0 attacktext = "glomps" diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index bde3f7ee8e9..2096522ba0b 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -18,7 +18,7 @@ health = INFINITY //Revenants don't use health, they use essence instead maxHealth = INFINITY see_in_dark = 8 - see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE universal_understand = 1 response_help = "passes through" response_disarm = "swings at" @@ -51,7 +51,6 @@ var/draining = 0 //If the revenant is draining someone. var/list/drained_mobs = list() //Cannot harvest the same mob twice var/perfectsouls = 0 //How many perfect, regen-cap increasing souls the revenant has. - var/image/ghostimage = null //Visible to ghost with darkness off /mob/living/simple_animal/revenant/Life(seconds, times_fired) @@ -91,13 +90,6 @@ if(essence == 0) to_chat(src, "You feel your essence fraying!") -/mob/living/simple_animal/revenant/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - /mob/living/simple_animal/revenant/say(message) if(!message) return @@ -120,9 +112,6 @@ /mob/living/simple_animal/revenant/New() ..() - ghostimage = image(src.icon,src,src.icon_state) - ghost_darkness_images |= ghostimage - updateallghostimages() remove_from_all_data_huds() addtimer(CALLBACK(src, .proc/firstSetupAttempt), 15 SECONDS) // Give admin 15 seconds to put in a ghost (Or wait 15 seconds before giving it objectives) @@ -196,8 +185,6 @@ . = ..() if(!.) return FALSE - ghost_darkness_images -= ghostimage - updateallghostimages() to_chat(src, "NO! No... it's too late, you can feel your essence breaking apart...") notransform = 1 diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index cdb55aa1b31..34bf06f07f7 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -110,8 +110,6 @@ message = "You toggle your night vision." action_icon_state = "r_nightvision" action_background_icon_state = "bg_revenant" - non_night_vision = INVISIBILITY_REVENANT - night_vision = SEE_INVISIBLE_OBSERVER_NOLIGHTING //Transmit: the revemant's only direct way to communicate. Sends a single message silently to a single mob /obj/effect/proc_holder/spell/targeted/revenant_transmit diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index 7e74de27267..68b886207e3 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -33,7 +33,7 @@ melee_damage_lower = 30 melee_damage_upper = 30 see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE var/boost = 0 bloodcrawl = BLOODCRAWL_EAT diff --git a/code/game/gamemodes/shadowling/ascendant_shadowling.dm b/code/game/gamemodes/shadowling/ascendant_shadowling.dm index 51f4d147bba..9eeadeaba0f 100644 --- a/code/game/gamemodes/shadowling/ascendant_shadowling.dm +++ b/code/game/gamemodes/shadowling/ascendant_shadowling.dm @@ -12,7 +12,7 @@ speed = 0 var/phasing = 0 see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE universal_speak = 1 diff --git a/code/game/gamemodes/shadowling/shadowling_items.dm b/code/game/gamemodes/shadowling/shadowling_items.dm index 500c3ee25c5..69f5688829c 100644 --- a/code/game/gamemodes/shadowling/shadowling_items.dm +++ b/code/game/gamemodes/shadowling/shadowling_items.dm @@ -81,4 +81,5 @@ unacidable = 1 flash_protect = -1 vision_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE flags = ABSTRACT | NODROP \ No newline at end of file diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index aff40200c6b..deb054f6d3e 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -146,7 +146,8 @@ H.mutations.Add(XRAY) H.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) H.see_in_dark = 8 - H.see_invisible = SEE_INVISIBLE_LEVEL_TWO + H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + H.update_sight() to_chat(H, "The walls suddenly disappear.") if("voodoo") new /obj/item/voodoo(get_turf(H)) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 66cdff69b3f..e33848b61c5 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -333,7 +333,7 @@ user.mutations.Add(XRAY) user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) user.see_in_dark = 8 - user.see_invisible = SEE_INVISIBLE_LEVEL_TWO + user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE to_chat(user, "The walls suddenly disappear.") return 1 diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 7535381197a..a21b399f5db 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -382,14 +382,17 @@ user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 2) /obj/machinery/camera/update_remote_sight(mob/living/user) - user.see_invisible = SEE_INVISIBLE_LIVING //can't see ghosts through cameras if(isXRay()) user.sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) user.see_in_dark = max(user.see_in_dark, 8) + user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE else - user.sight = 0 - user.see_in_dark = 2 - return 1 + user.sight = initial(user.sight) + user.see_in_dark = initial(user.see_in_dark) + user.lighting_alpha = initial(user.lighting_alpha) + + ..() + return TRUE /obj/machinery/camera/portable //Cameras which are placed inside of things, such as helmets. var/turf/prev_turf diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index f278ee2adda..d4175b10ae1 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -72,7 +72,7 @@ // called when turf state changes // hide the object if turf is intact /obj/machinery/navbeacon/hide(intact) - invisibility = intact ? INVISIBILITY_MAXIMUM : SEE_INVISIBLE_MINIMUM + invisibility = intact ? INVISIBILITY_MAXIMUM : 0 updateicon() // update the icon_state diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 6cfd1d63942..45e36d9a30c 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1518,6 +1518,8 @@ if(user == occupant) user.sight |= occupant_sight_flags + ..() + /obj/mecha/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect, end_pixel_y) if(!no_effect) if(selected) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 24c8cbcd3b7..0a44c439fc0 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -76,7 +76,7 @@ var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes) if(M.stat == DEAD || !eyes || M.disabilities & BLIND) //mob is dead or fully blind to_chat(user, "[M]'s pupils are unresponsive to the light!") - else if((XRAY in M.mutations) || eyes.get_dark_view() >= 8) //The mob's either got the X-RAY vision or has a tapetum lucidum (extreme nightvision, i.e. Vulp/Tajara with COLOURBLIND & their monkey forms). + else if((XRAY in M.mutations) || eyes.see_in_dark >= 8) //The mob's either got the X-RAY vision or has a tapetum lucidum (extreme nightvision, i.e. Vulp/Tajara with COLOURBLIND & their monkey forms). to_chat(user, "[M]'s pupils glow eerily!") else //they're okay! if(M.flash_eyes(visual = 1)) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 484151de797..5e103f14c72 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -154,6 +154,7 @@ var/darkness_view = 0 //Base human is 2 var/invis_view = SEE_INVISIBLE_LIVING var/invis_override = 0 + var/lighting_alpha var/emagged = 0 var/list/color_view = null//overrides client.color while worn @@ -281,9 +282,11 @@ BLIND // can't see anything slot_flags = SLOT_HEAD var/blockTracking // Do we block AI tracking? var/HUDType = null - var/darkness_view = 0 - var/helmet_goggles_invis_view = 0 + var/vision_flags = 0 + var/darkness_view = 0 + var/lighting_alpha + var/can_toggle = null //Mask diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index b527bb2717d..6a7da898b25 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -37,7 +37,7 @@ item_state = "glasses" origin_tech = "magnets=1;engineering=2" vision_flags = SEE_TURFS - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 1 species_fit = list("Vox") sprite_sheets = list( @@ -53,6 +53,7 @@ item_state = "glasses" origin_tech = "magnets=4;engineering=5;plasmatech=4" darkness_view = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE prescription_upgradable = 0 /obj/item/clothing/glasses/meson/prescription @@ -104,7 +105,7 @@ icon_state = "nvpurple" item_state = "glasses" darkness_view = 8 - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these /obj/item/clothing/glasses/janitor name = "Janitorial Goggles" @@ -123,7 +124,7 @@ item_state = "glasses" origin_tech = "materials=4;magnets=4;plasmatech=4;engineering=4" darkness_view = 8 - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi', @@ -382,6 +383,7 @@ item_state = "glasses" origin_tech = "magnets=3" vision_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE flash_protect = -1 species_fit = list("Vox") sprite_sheets = list( @@ -389,18 +391,18 @@ "Grey" = 'icons/mob/species/grey/eyes.dmi' ) - emp_act(severity) - if(istype(src.loc, /mob/living/carbon/human)) - var/mob/living/carbon/human/M = src.loc - to_chat(M, "The Optical Thermal Scanner overloads and blinds you!") - if(M.glasses == src) - M.EyeBlind(3) - M.EyeBlurry(5) - if(!(M.disabilities & NEARSIGHTED)) - M.BecomeNearsighted() - spawn(100) - M.CureNearsighted() - ..() +/obj/item/clothing/glasses/thermal/emp_act(severity) + if(istype(src.loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = src.loc + to_chat(M, "The Optical Thermal Scanner overloads and blinds you!") + if(M.glasses == src) + M.EyeBlind(3) + M.EyeBlurry(5) + if(!(M.disabilities & NEARSIGHTED)) + M.BecomeNearsighted() + spawn(100) + M.CureNearsighted() + ..() /obj/item/clothing/glasses/thermal/syndi //These are now a traitor item, concealed as mesons. -Pete name = "Optical Meson Scanner" @@ -507,7 +509,7 @@ scan_reagents = 1 flags = NODROP flags_cover = null - invis_view = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE /obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, src) && W != src && W.loc == user) diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index d778ea5e63a..ad775b04c14 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -51,7 +51,7 @@ item_state = "glasses" origin_tech = "magnets=4;biotech=4;plasmatech=4;engineering=5" darkness_view = 8 - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 0 /obj/item/clothing/glasses/hud/diagnostic @@ -73,7 +73,7 @@ item_state = "glasses" origin_tech = "magnets=4;powerstorage=4;plasmatech=4;engineering=5" darkness_view = 8 - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 0 /obj/item/clothing/glasses/hud/security @@ -105,6 +105,7 @@ icon_state = "jensenshades" item_state = "jensenshades" vision_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE /obj/item/clothing/glasses/hud/security/night name = "\improper Night Vision Security HUD" @@ -112,7 +113,7 @@ icon_state = "securityhudnight" origin_tech = "magnets=4;combat=4;plasmatech=4;engineering=5" darkness_view = 8 - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these prescription_upgradable = 0 /obj/item/clothing/glasses/hud/security/sunglasses/read_only @@ -154,7 +155,7 @@ icon_state = "hydroponichudnight" item_state = "glasses" darkness_view = 8 - invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 0 /obj/item/clothing/glasses/hud/security/tajblind diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 35b4b6a75e0..6e3a0302cbc 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -50,6 +50,7 @@ desc = "A helmet with a built-in thermal scanning visor." icon_state = "helmetthermals" vision_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE /obj/item/clothing/head/helmet/meson name = "meson visor helmet" @@ -67,7 +68,7 @@ name = "night-vision helmet" desc = "A helmet with a built-in pair of night vision goggles." icon_state = "helmetNVG" - helmet_goggles_invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these /obj/item/clothing/head/helmet/alt name = "bulletproof helmet" diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 8a79b192d0c..6b86d8f5d5c 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -47,7 +47,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT unacidable = 1 vision_flags = SEE_MOBS - helmet_goggles_invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these HUDType = MEDHUD strip_delay = 130 diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 878a3951202..5a39264e668 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -184,42 +184,46 @@ generic_pixel_x = 1 vehicle_move_delay = 1 -// Wisp Lantern +//Wisp Lantern /obj/item/wisp_lantern name = "spooky lantern" desc = "This lantern gives off no light, but is home to a friendly wisp." icon = 'icons/obj/lighting.dmi' icon_state = "lantern-blue" + item_state = "lantern" var/obj/effect/wisp/wisp /obj/item/wisp_lantern/attack_self(mob/user) if(!wisp) to_chat(user, "The wisp has gone missing!") + icon_state = "lantern" return + if(wisp.loc == src) to_chat(user, "You release the wisp. It begins to bob around your head.") - user.sight |= SEE_MOBS icon_state = "lantern" - wisp.orbit(user, 20, forceMove = TRUE) + wisp.orbit(user, 20) + user.update_sight() feedback_add_details("wisp_lantern","F") // freed else to_chat(user, "You return the wisp to the lantern.") + var/mob/target if(wisp.orbiting) - var/atom/A = wisp.orbiting - if(isliving(A)) - var/mob/living/M = A - M.sight &= ~SEE_MOBS - to_chat(M, "Your vision returns to normal.") - + target = wisp.orbiting wisp.stop_orbit() - wisp.loc = src + wisp.forceMove(src) + + if (istype(target)) + target.update_sight() + to_chat(target, "Your vision returns to normal.") + icon_state = "lantern-blue" feedback_add_details("wisp_lantern","R") // returned -/obj/item/wisp_lantern/New() - ..() +/obj/item/wisp_lantern/Initialize() + . = ..() wisp = new(src) /obj/item/wisp_lantern/Destroy() @@ -228,19 +232,19 @@ qdel(wisp) else wisp.visible_message("[wisp] has a sad feeling for a moment, then it passes.") - return ..() + ..() /obj/effect/wisp name = "friendly wisp" desc = "Happy to light your way." icon = 'icons/obj/lighting.dmi' icon_state = "orb" - layer = ABOVE_ALL_MOB_LAYER - light_power = 1 light_range = 7 + layer = ABOVE_ALL_MOB_LAYER + var/sight_flags = SEE_MOBS + var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE //Red/Blue Cubes - /obj/item/warp_cube name = "blue cube" desc = "A mysterious blue cube." diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index cf8b897104c..08e7bf305ca 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -184,28 +184,6 @@ mode = MINEDRONE_COLLECT SetCollectBehavior() - -/mob/living/simple_animal/hostile/mining_drone/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - - if(mesons_active) - sight |= SEE_TURFS - see_invisible = SEE_INVISIBLE_MINIMUM - else - sight &= ~SEE_TURFS - see_invisible = SEE_INVISIBLE_LIVING - - see_in_dark = initial(see_in_dark) - - if(client.eye != src) - var/atom/A = client.eye - if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. - return - //Actions for sentient minebots /datum/action/innate/minedrone @@ -232,10 +210,16 @@ /datum/action/innate/minedrone/toggle_meson_vision/Activate() var/mob/living/simple_animal/hostile/mining_drone/user = owner - user.mesons_active = !user.mesons_active - user.update_sight() + if(user.sight & SEE_TURFS) + user.sight &= ~SEE_TURFS + user.lighting_alpha = initial(user.lighting_alpha) + else + user.sight |= SEE_TURFS + user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - to_chat(user, "You toggle your meson vision [(user.mesons_active) ? "on" : "off"].") + user.sync_lighting_plane_alpha() + + to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].") /datum/action/innate/minedrone/toggle_mode name = "Toggle Mode" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index dfd4e1e3332..aaad280cc0d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -666,14 +666,32 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "Toggles your ability to see things only ghosts can see, like other ghosts" set category = "Ghost" ghostvision = !(ghostvision) - updateghostsight() + update_sight() to_chat(usr, "You [(ghostvision?"now":"no longer")] have ghost vision.") /mob/dead/observer/verb/toggle_darkness() set name = "Toggle Darkness" set category = "Ghost" - seedarkness = !(seedarkness) - updateghostsight() + switch(lighting_alpha) + if (LIGHTING_PLANE_ALPHA_VISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + else + lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + + update_sight() + +/mob/dead/observer/update_sight() + if (!ghostvision) + see_invisible = SEE_INVISIBLE_LIVING + else + see_invisible = SEE_INVISIBLE_OBSERVER + + updateghostimages() + ..() /mob/dead/observer/proc/updateghostsight() if(!seedarkness) @@ -681,7 +699,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else see_invisible = SEE_INVISIBLE_OBSERVER if(!ghostvision) - see_invisible = SEE_INVISIBLE_LIVING; + see_invisible = SEE_INVISIBLE_LIVING + updateghostimages() /proc/updateallghostimages() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 9c87b04b0e5..4d1d91696eb 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -6,7 +6,7 @@ gender = NEUTER dna = null alien_talk_understand = 1 - nightvision = 1 + var/nightvision = 1 var/obj/item/card/id/wear_id = null // Fix for station bounced radios -- Skie var/has_fine_manipulation = 0 var/move_delay_add = 0 // movement delay to add @@ -149,15 +149,17 @@ if(!nightvision) see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM - nightvision = 1 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + nightvision = TRUE usr.hud_used.nightvisionicon.icon_state = "nightvision1" - else if(nightvision == 1) + else if(nightvision) see_in_dark = 4 - see_invisible = 45 - nightvision = 0 + lighting_alpha = initial(lighting_alpha) + nightvision = FALSE usr.hud_used.nightvisionicon.icon_state = "nightvision0" + update_sight() + /mob/living/carbon/alien/assess_threat(var/mob/living/simple_animal/bot/secbot/judgebot, var/lasercolor) if(judgebot.emagged == 2) @@ -264,3 +266,35 @@ Des: Removes all infected images from the alien. return pick("xltrails_1", "xltrails_2") else return pick("xttrails_1", "xttrails_2") + +/mob/living/carbon/alien/update_sight() + if(!client) + return + if(stat == DEAD) + grant_death_vision() + return + + sight = SEE_MOBS + if(nightvision) + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + else + see_in_dark = initial(see_in_dark) + lighting_alpha = initial(lighting_alpha) + + if(client.eye != src) + var/atom/A = client.eye + if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. + return + + for(var/obj/item/organ/internal/cyberimp/eyes/E in internal_organs) + sight |= E.vision_flags + if(E.see_in_dark) + see_in_dark = max(see_in_dark, E.see_in_dark) + if(E.see_invisible) + see_invisible = min(see_invisible, E.see_invisible) + if(!isnull(E.lighting_alpha)) + lighting_alpha = min(lighting_alpha, E.lighting_alpha) + + if(see_override) + see_invisible = see_override diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index d3ecc9e3e1c..a584f66dc97 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -28,33 +28,3 @@ //BREATH TEMPERATURE handle_breath_temperature(breath) - -/mob/living/carbon/alien/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - - sight = SEE_MOBS - if(nightvision) - see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM - else - see_in_dark = 4 - see_invisible = SEE_INVISIBLE_LEVEL_TWO - - if(client.eye != src) - var/atom/A = client.eye - if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. - return - - for(var/obj/item/organ/internal/cyberimp/eyes/E in internal_organs) - sight |= E.vision_flags - if(E.dark_view) - see_in_dark = max(see_in_dark, E.dark_view) - if(E.see_invisible) - see_invisible = min(see_invisible, E.see_invisible) - - if(see_override) - see_invisible = see_override diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 277bbbd8789..c1941c39a6e 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -323,8 +323,8 @@ return var/extra_darkview = 0 - if(E.dark_view) - extra_darkview = max(E.dark_view - 2, 0) + if(E.see_in_dark) + extra_darkview = max(E.see_in_dark - 2, 0) extra_damage = extra_darkview var/light_amount = 10 // assume full brightness @@ -1129,4 +1129,37 @@ so that different stomachs can handle things in different ways VB*/ /mob/living/carbon/proc/shock_internal_organs(intensity) for(var/obj/item/organ/O in internal_organs) - O.shock_organ(intensity) \ No newline at end of file + O.shock_organ(intensity) + +/mob/living/carbon/update_sight() + if(!client) + return + + if(stat == DEAD) + grant_death_vision() + return + + sight = initial(sight) + lighting_alpha = initial(lighting_alpha) + + for(var/obj/item/organ/internal/cyberimp/eyes/E in internal_organs) + sight |= E.vision_flags + if(E.see_in_dark) + see_in_dark = max(see_in_dark, E.see_in_dark) + if(E.see_invisible) + see_invisible = min(see_invisible, E.see_invisible) + if(!isnull(E.lighting_alpha)) + lighting_alpha = min(lighting_alpha, E.lighting_alpha) + + if(client.eye != src) + var/atom/A = client.eye + if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. + return + + if(XRAY in mutations) + sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + + if(see_override) + see_invisible = see_override \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bd5817e8867..b20776419d2 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -545,6 +545,7 @@ /mob/living/carbon/human/update_sight() if(!client) return + if(stat == DEAD) grant_death_vision() return @@ -1427,11 +1428,7 @@ dna.species.on_species_gain(src) - see_in_dark = dna.species.get_resultant_darksight(src) - if(see_in_dark > 2) - see_invisible = SEE_INVISIBLE_LEVEL_ONE - else - see_invisible = SEE_INVISIBLE_LIVING + update_sight() dna.species.handle_dna(src) //Give them whatever special dna business they got. diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 69f898fb677..ba4f2fbbcf4 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -115,7 +115,7 @@ update_tint() if(G.prescription) update_nearsighted_effects() - if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view) + if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) update_sight() update_inv_glasses() update_client_colour() @@ -128,7 +128,7 @@ // Bandanas and paper hats go on the head but are not head clothing if(istype(I,/obj/item/clothing/head)) var/obj/item/clothing/head/hat = I - if(hat.vision_flags || hat.darkness_view || hat.helmet_goggles_invis_view) + if(hat.vision_flags || hat.darkness_view || !isnull(hat.lighting_alpha)) update_sight() head_update(I) update_inv_head() @@ -267,7 +267,7 @@ update_tint() if(G.prescription) update_nearsighted_effects() - if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view) + if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) update_sight() update_inv_glasses(redraw_mob) update_client_colour() @@ -283,7 +283,7 @@ // paper + bandanas if(istype(W, /obj/item/clothing/head)) var/obj/item/clothing/head/hat = W - if(hat.vision_flags || hat.darkness_view || hat.helmet_goggles_invis_view) + if(hat.vision_flags || hat.darkness_view || !isnull(hat.lighting_alpha)) update_sight() head_update(W) update_inv_head(redraw_mob) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index d9a501d2251..0b597c17a6f 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -39,8 +39,6 @@ var/siemens_coeff = 1 //base electrocution coefficient - var/invis_sight = SEE_INVISIBLE_LIVING - var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure. var/warning_high_pressure = WARNING_HIGH_PRESSURE // High pressure warning. var/warning_low_pressure = WARNING_LOW_PRESSURE // Low pressure warning. @@ -630,22 +628,21 @@ It'll return null if the organ doesn't correspond, so include null checks when u return null return has_organ[organ_slot] -/datum/species/proc/get_resultant_darksight(mob/living/carbon/human/H) //Returns default value of 2 if the mob doesn't have eyes, otherwise it grabs the eyes darksight. - var/resultant_darksight = 2 +/datum/species/proc/update_sight(mob/living/carbon/human/H) var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes) if(eyes) - resultant_darksight = eyes.get_dark_view() - return resultant_darksight - -/datum/species/proc/update_sight(mob/living/carbon/human/H) - H.sight = initial(H.sight) - H.see_in_dark = get_resultant_darksight(H) - H.see_invisible = invis_sight + H.sight |= eyes.vision_flags + H.see_in_dark = eyes.see_in_dark + H.see_invisible = eyes.see_invisible + H.lighting_alpha = eyes.lighting_alpha + else + H.sight = initial(H.sight) + H.see_in_dark = initial(H.see_in_dark) + H.see_invisible = initial(H.see_invisible) + H.lighting_alpha = initial(H.lighting_alpha) if(H.see_in_dark > 2) //Preliminary see_invisible handling as per set_species() in code\modules\mob\living\carbon\human\human.dm. - H.see_invisible = SEE_INVISIBLE_LEVEL_ONE - else - H.see_invisible = SEE_INVISIBLE_LIVING + H.lighting_alpha = min(H.lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) if(H.client && H.client.eye != H) var/atom/A = H.client.eye @@ -656,39 +653,43 @@ It'll return null if the organ doesn't correspond, so include null checks when u if(H.mind.vampire.get_ability(/datum/vampire_passive/full)) H.sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS H.see_in_dark = 8 - H.see_invisible = SEE_INVISIBLE_MINIMUM + H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE else if(H.mind.vampire.get_ability(/datum/vampire_passive/vision)) H.sight |= SEE_MOBS + H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE for(var/obj/item/organ/internal/cyberimp/eyes/E in H.internal_organs) H.sight |= E.vision_flags - if(E.dark_view) - H.see_in_dark = E.dark_view + if(E.see_in_dark) + H.see_in_dark = max(H.see_in_dark, E.see_in_dark) if(E.see_invisible) H.see_invisible = min(H.see_invisible, E.see_invisible) + if(E.lighting_alpha) + H.lighting_alpha = min(H.lighting_alpha, E.lighting_alpha) - var/lesser_darkview_bonus = INFINITY // my glasses, I can't see without my glasses if(H.glasses) var/obj/item/clothing/glasses/G = H.glasses H.sight |= G.vision_flags - lesser_darkview_bonus = G.darkness_view + H.see_in_dark = max(G.darkness_view, H.see_in_dark) + if(G.invis_override) H.see_invisible = G.invis_override else H.see_invisible = min(G.invis_view, H.see_invisible) + + if(!isnull(G.lighting_alpha)) + H.lighting_alpha = min(G.lighting_alpha, H.lighting_alpha) // better living through hat trading if(H.head) if(istype(H.head, /obj/item/clothing/head)) var/obj/item/clothing/head/hat = H.head H.sight |= hat.vision_flags + H.see_in_dark = max(hat.darkness_view, H.see_in_dark) - if(hat.darkness_view) // Pick the lowest of the two darkness_views between the glasses and helmet. - lesser_darkview_bonus = min(hat.darkness_view,lesser_darkview_bonus) - - if(hat.helmet_goggles_invis_view) - H.see_invisible = min(hat.helmet_goggles_invis_view, H.see_invisible) + if(!isnull(hat.lighting_alpha)) + H.lighting_alpha = min(hat.lighting_alpha, H.lighting_alpha) if(istype(H.back, /obj/item/rig)) ///aghhh so snowflakey var/obj/item/rig/rig = H.back @@ -697,28 +698,33 @@ It'll return null if the organ doesn't correspond, so include null checks when u if(rig.visor && rig.visor.vision && rig.visor.active && rig.visor.vision.glasses) var/obj/item/clothing/glasses/G = rig.visor.vision.glasses if(istype(G)) - H.see_in_dark = (G.darkness_view ? G.darkness_view : get_resultant_darksight(H)) // Otherwise we keep our darkness view with togglable nightvision. - if(G.vision_flags) // MESONS - H.sight |= G.vision_flags - + H.sight |= G.vision_flags + H.see_in_dark = max(G.darkness_view, H.see_in_dark) H.see_invisible = min(G.invis_view, H.see_invisible) - if(lesser_darkview_bonus != INFINITY) - H.see_in_dark = max(lesser_darkview_bonus, H.see_in_dark) + if(!isnull(G.lighting_alpha)) + H.lighting_alpha = min(G.lighting_alpha, H.lighting_alpha) if(H.vision_type) - H.see_in_dark = max(H.see_in_dark, H.vision_type.see_in_dark, get_resultant_darksight(H)) - H.see_invisible = H.vision_type.see_invisible - if(H.vision_type.light_sensitive) - H.weakeyes = 1 H.sight |= H.vision_type.sight_flags + H.see_in_dark = max(H.see_in_dark, H.vision_type.see_in_dark) + + if(!isnull(H.vision_type.lighting_alpha)) + H.lighting_alpha = min(H.vision_type.lighting_alpha, H.lighting_alpha) + + if(H.vision_type.light_sensitive) + H.weakeyes = TRUE if(XRAY in H.mutations) H.sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + H.see_in_dark = 8 + H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE if(H.see_override) //Override all H.see_invisible = H.see_override + H.sync_lighting_plane_alpha() + /datum/species/proc/water_act(mob/living/carbon/human/M, volume, temperature, source) if(abs(temperature - M.bodytemperature) > 10) //If our water and mob temperature varies by more than 10K, cool or/ heat them appropriately M.bodytemperature = (temperature + M.bodytemperature) * 0.5 //Approximation for gradual heating or cooling diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 48d8137092a..63f9f10dc71 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -343,36 +343,6 @@ Sleeping(2) return sleeping -/mob/living/carbon/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - - see_invisible = initial(see_invisible) - see_in_dark = initial(see_in_dark) - sight = initial(sight) - - if(XRAY in mutations) - grant_xray_vision() - - if(client.eye != src) - var/atom/A = client.eye - if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. - return - - for(var/obj/item/organ/internal/cyberimp/eyes/E in internal_organs) - sight |= E.vision_flags - if(E.dark_view) - see_in_dark = max(see_in_dark,E.dark_view) - if(E.see_invisible) - see_invisible = min(see_invisible, E.see_invisible) - - if(see_override) - see_invisible = see_override - - /mob/living/carbon/handle_hud_icons() return diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index d28e728c82c..35ab0402b0c 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -197,28 +197,15 @@ if(!remote_view && !client.adminobs) reset_perspective(null) -/mob/living/proc/update_sight() - if(stat == DEAD) - grant_death_vision() - return - // Gives a mob the vision of being dead /mob/living/proc/grant_death_vision() sight |= SEE_TURFS sight |= SEE_MOBS sight |= SEE_OBJS + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE see_in_dark = 8 see_invisible = SEE_INVISIBLE_OBSERVER - -// See through walls, dark, etc. -// basically the same as death vision except you can't -// see ghosts -/mob/living/proc/grant_xray_vision() - sight |= SEE_TURFS - sight |= SEE_MOBS - sight |= SEE_OBJS - see_in_dark = 8 - see_invisible = SEE_INVISIBLE_LEVEL_TWO + sync_lighting_plane_alpha() /mob/living/proc/handle_hud_icons() handle_hud_icons_health() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 52fde3d0d9e..10fc68d7363 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -992,3 +992,37 @@ for(var/atom/A in src) if(A.light_range > 0) A.extinguish_light() + +/mob/living/vv_edit_var(var_name, var_value) + switch(var_name) + if("stat") + if((stat == DEAD) && (var_value < DEAD))//Bringing the dead back to life + GLOB.dead_mob_list -= src + GLOB.living_mob_list += src + if((stat < DEAD) && (var_value == DEAD))//Kill he + GLOB.living_mob_list -= src + GLOB.dead_mob_list += src + . = ..() + switch(var_name) + if("weakened") + SetWeakened(var_value) + if("stunned") + SetStunned(var_value) + if("paralysis") + SetParalysis(var_value) + if("sleeping") + SetSleeping(var_value) + if("maxHealth") + updatehealth() + if("resize") + update_transform() + if("lighting_alpha") + sync_lighting_plane_alpha() + +/mob/living/update_sight() + if(!client) + return + + if(stat == DEAD) + grant_death_vision() + return diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 6e12748911b..ac89553865c 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -33,7 +33,6 @@ var/mob_size = MOB_SIZE_HUMAN var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. var/digestion_ratio = 1 //controls how quickly reagents metabolize; largely governered by species attributes. - var/nightvision = 0 var/bloodcrawl = 0 //0 No blood crawling, 1 blood crawling, 2 blood crawling+mob devour var/holder = null //The holder for blood crawling diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ccf319b0884..4d4bff42ae7 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1290,4 +1290,29 @@ var/list/ai_verbs_default = list( return FALSE /mob/living/silicon/ai/ExtinguishMob() - return \ No newline at end of file + return + + +/mob/living/silicon/ai/update_sight() + if(!client) + return + + if(stat == DEAD) + grant_death_vision() + return + + see_invisible = initial(see_invisible) + see_in_dark = initial(see_in_dark) + lighting_alpha = initial(lighting_alpha) + sight = initial(sight) + + if(aiRestorePowerRoutine) + sight = sight &~ SEE_TURFS + sight = sight &~ SEE_MOBS + sight = sight &~ SEE_OBJS + see_in_dark = 0 + + if(see_override) + see_invisible = see_override + + sync_lighting_plane_alpha() diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index eec1ec5b8b8..06043025f7c 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -152,16 +152,3 @@ /mob/living/silicon/ai/rejuvenate() ..() add_ai_verbs(src) - -/mob/living/silicon/ai/update_sight() - see_invisible = initial(see_invisible) - see_in_dark = initial(see_in_dark) - sight = initial(sight) - if(aiRestorePowerRoutine) - sight = sight&~SEE_TURFS - sight = sight&~SEE_MOBS - sight = sight&~SEE_OBJS - see_in_dark = 0 - - if(see_override) - see_invisible = see_override diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 5f37177f674..bf09191ecf2 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -88,40 +88,6 @@ return 1 -/mob/living/silicon/robot/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - - see_invisible = initial(see_invisible) - see_in_dark = initial(see_in_dark) - sight = initial(sight) - - if(client.eye != src) - var/atom/A = client.eye - if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. - return - - if(sight_mode & BORGMESON) - sight |= SEE_TURFS - see_invisible = min(see_invisible, SEE_INVISIBLE_MINIMUM) - see_in_dark = 1 - - if(sight_mode & BORGXRAY) - sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) - see_invisible = SEE_INVISIBLE_LIVING - see_in_dark = 8 - - if(sight_mode & BORGTHERM) - sight |= SEE_MOBS - see_invisible = min(see_invisible, SEE_INVISIBLE_LIVING) - see_in_dark = 8 - - if(see_override) - see_invisible = see_override - /mob/living/silicon/robot/handle_hud_icons() update_items() update_cell() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 18bfe6998c3..de66b7b737a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1385,3 +1385,43 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/check_ear_prot() return ear_protection + +/mob/living/silicon/robot/update_sight() + if(!client) + return + + if(stat == DEAD) + grant_death_vision() + return + + see_invisible = initial(see_invisible) + see_in_dark = initial(see_in_dark) + sight = initial(sight) + lighting_alpha = initial(lighting_alpha) + + if(client.eye != src) + var/atom/A = client.eye + if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. + return + + if(sight_mode & BORGMESON) + sight |= SEE_TURFS + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + see_in_dark = 1 + + if(sight_mode & BORGXRAY) + sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + see_invisible = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + see_invisible = SEE_INVISIBLE_LIVING + see_in_dark = 8 + + if(sight_mode & BORGTHERM) + sight |= SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + see_invisible = min(see_invisible, SEE_INVISIBLE_LIVING) + see_in_dark = 8 + + if(see_override) + see_invisible = see_override + + sync_lighting_plane_alpha() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 6ba407c8a90..d1982ac359d 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -30,7 +30,7 @@ status_flags = CANPUSH minbodytemp = 0 see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE death_sound = 'sound/voice/hiss6.ogg' deathmessage = "lets out a waning guttural screech, green blood bubbling from its maw..." diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 18219179d40..e45000ff34f 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -17,6 +17,7 @@ speak_chance = 5 turns_per_move = 5 see_in_dark = 10 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE butcher_results = list(/obj/item/reagent_containers/food/snacks/spidermeat = 2, /obj/item/reagent_containers/food/snacks/spiderleg = 8) response_help = "pets" response_disarm = "gently pushes aside" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index 81b384f56b7..f0160879e22 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -16,7 +16,7 @@ var/throw_message = "bounces off of" var/icon_aggro = null // for swapping to when we get aggressive see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE mob_size = MOB_SIZE_LARGE /mob/living/simple_animal/hostile/asteroid/Aggro() diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index ad90272a4ce..5b9d94341ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -40,7 +40,7 @@ search_objects = 1 // So that it can see through walls - see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS move_force = MOVE_FORCE_EXTREMELY_STRONG move_resist = MOVE_FORCE_EXTREMELY_STRONG @@ -189,13 +189,6 @@ L.EyeBlind(4) return -/mob/living/simple_animal/hostile/statue/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - //Toggle Night Vision /obj/effect/proc_holder/spell/targeted/night_vision name = "Toggle Nightvision" @@ -207,15 +200,23 @@ message = "You toggle your night vision!" range = -1 include_user = 1 - var/non_night_vision = SEE_INVISIBLE_LIVING - var/night_vision = SEE_INVISIBLE_OBSERVER_NOLIGHTING /obj/effect/proc_holder/spell/targeted/night_vision/cast(list/targets, mob/user = usr) for(var/mob/living/target in targets) - if(target.see_invisible == non_night_vision) - target.see_invisible = night_vision - else - target.see_invisible = non_night_vision + switch(target.lighting_alpha) + if (LIGHTING_PLANE_ALPHA_VISIBLE) + target.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + name = "Toggle Nightvision \[More]" + if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) + target.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + name = "Toggle Nightvision \[Full]" + if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) + target.lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + name = "Toggle Nightvision \[OFF]" + else + target.lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + name = "Toggle Nightvision \[ON]" + target.update_sight() /mob/living/simple_animal/hostile/statue/sentience_act() faction -= "neutral" diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index 39c03feb928..1503c2bffe6 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -95,8 +95,7 @@ var/global/list/ts_spiderling_list = list() idle_vision_range = 10 aggro_vision_range = 10 see_in_dark = 10 - nightvision = 1 - see_invisible = 5 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE sight = SEE_MOBS // AI aggression settings diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 66fb417733b..adc498873bb 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -564,21 +564,5 @@ /mob/living/simple_animal/proc/sentience_act() //Called when a simple animal gains sentience via gold slime potion return -/mob/living/simple_animal/update_sight() - if(!client) - return - if(stat == DEAD) - grant_death_vision() - return - - see_invisible = initial(see_invisible) - see_in_dark = initial(see_in_dark) - sight = initial(sight) - - if(client.eye != src) - var/atom/A = client.eye - if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. - return - /mob/living/simple_animal/can_hear() . = TRUE \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index ee04e624f02..9fe0e54f800 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1341,3 +1341,12 @@ var/list/slot_equipment_priority = list( \ /mob/proc/is_literate() return FALSE + +/mob/proc/update_sight() + sync_lighting_plane_alpha() + +/mob/proc/sync_lighting_plane_alpha() + if(hud_used) + var/obj/screen/plane_master/lighting/L = hud_used.plane_masters["[LIGHTING_PLANE]"] + if (L) + L.alpha = lighting_alpha \ No newline at end of file diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 3e9ff0b7ba6..e36e7e4a004 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -1,6 +1,6 @@ /mob density = 1 - layer = 4.0 + layer = MOB_LAYER animate_movement = 2 pressure_resistance = 8 dont_save = TRUE //to avoid it messing up in buildmode saving @@ -93,7 +93,7 @@ var/list/grabbed_by = list() var/list/requests = list() - + var/lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE var/list/mapobjs = list() var/in_throw_mode = 0 diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index feff384ed87..4ef9cfc55b0 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -291,6 +291,8 @@ /mob/camera/aiEye/remote/shuttle_docker/update_remote_sight(mob/living/user) user.sight = SEE_TURFS + + ..() return TRUE /datum/action/innate/shuttledocker_rotate diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index da559d38d5f..a8ee1beb2a6 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -8,8 +8,10 @@ w_class = WEIGHT_CLASS_TINY var/vision_flags = 0 - var/dark_view = 0 + var/see_in_dark = 0 var/see_invisible = 0 + var/lighting_alpha + var/eye_colour = "#000000" var/old_eye_colour = "#000000" var/flash_protect = 0 @@ -54,7 +56,7 @@ implant_color = "#AEFF00" origin_tech = "materials=4;engineering=4;biotech=4;magnets=4" vision_flags = SEE_TURFS - see_invisible = SEE_INVISIBLE_MINIMUM + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE aug_message = "Suddenly, you realize how much of a mess the station really is..." /obj/item/organ/internal/cyberimp/eyes/xray @@ -63,8 +65,8 @@ implant_color = "#000000" origin_tech = "materials=4;programming=4;biotech=6;magnets=4" vision_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS - dark_view = 8 - see_invisible = SEE_INVISIBLE_MINIMUM + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE /obj/item/organ/internal/cyberimp/eyes/thermals name = "Thermals implant" diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 51d73fc9873..fba2df57e8a 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -10,9 +10,13 @@ var/list/colourblind_matrix = MATRIX_GREYSCALE //Special colourblindness parameters. By default, it's black-and-white. var/list/replace_colours = LIST_GREYSCALE_REPLACE var/dependent_disabilities = null //Gets set by eye-dependent disabilities such as colourblindness so the eyes can transfer the disability during transplantation. - var/dark_view = 2 //Default dark_view for Humans. var/weld_proof = null //If set, the eyes will not take damage during welding. eg. IPC optical sensors do not take damage when they weld things while all other eyes will. + var/vision_flags = 0 + var/see_in_dark = 2 + var/see_invisible = SEE_INVISIBLE_LIVING + var/lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + /obj/item/organ/internal/eyes/proc/update_colour() dna.write_eyes_attributes(src) @@ -31,11 +35,8 @@ else return colourmatrix -/obj/item/organ/internal/eyes/proc/get_dark_view() //Returns dark_view (if the eyes are organic) for see_invisible handling in species.dm to be autoprocessed by life(). - return dark_view - /obj/item/organ/internal/eyes/proc/shine() - if(is_robotic() || (dark_view > EYE_SHINE_THRESHOLD)) + if(is_robotic() || (see_in_dark > EYE_SHINE_THRESHOLD)) return TRUE /obj/item/organ/internal/eyes/insert(mob/living/carbon/human/M, special = 0) @@ -70,7 +71,7 @@ colourmatrix = null ..() //Make sure the organ's got the robotic status indicators before updating the client colour. if(owner) - owner.update_client_colour(0) //Since mechanical eyes give dark_view of 2 and full colour vision atm, just having this here is fine. + owner.update_client_colour(0) //Since mechanical eyes give see_in_dark of 2 and full colour vision atm, just having this here is fine. /obj/item/organ/internal/eyes/cybernetic name = "cybernetic eyes" diff --git a/code/modules/surgery/organs/subtypes/abductor.dm b/code/modules/surgery/organs/subtypes/abductor.dm index fd57464381a..b499135417e 100644 --- a/code/modules/surgery/organs/subtypes/abductor.dm +++ b/code/modules/surgery/organs/subtypes/abductor.dm @@ -4,4 +4,4 @@ /obj/item/organ/internal/eyes/abductor name = "abductor eyeballs" - dark_view = 3 \ No newline at end of file + see_in_dark = 3 \ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/drask.dm b/code/modules/surgery/organs/subtypes/drask.dm index e457c4cddaa..49b11d096b6 100644 --- a/code/modules/surgery/organs/subtypes/drask.dm +++ b/code/modules/surgery/organs/subtypes/drask.dm @@ -26,4 +26,4 @@ name = "drask eyeballs" icon = 'icons/obj/species_organs/drask.dmi' desc = "Drask eyes. They look even stranger disembodied" - dark_view = 5 \ No newline at end of file + see_in_dark = 5 \ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/grey.dm b/code/modules/surgery/organs/subtypes/grey.dm index 3e7598fa06f..6e4a0e3eafd 100644 --- a/code/modules/surgery/organs/subtypes/grey.dm +++ b/code/modules/surgery/organs/subtypes/grey.dm @@ -23,7 +23,7 @@ name = "grey eyeballs" desc = "They still look creepy and emotionless" icon = 'icons/obj/species_organs/grey.dmi' - dark_view = 5 + see_in_dark = 5 /obj/item/organ/internal/heart/grey name = "grey heart" diff --git a/code/modules/surgery/organs/subtypes/shadow.dm b/code/modules/surgery/organs/subtypes/shadow.dm index 26a0bc50577..56bec1a4a7e 100644 --- a/code/modules/surgery/organs/subtypes/shadow.dm +++ b/code/modules/surgery/organs/subtypes/shadow.dm @@ -1,3 +1,3 @@ /obj/item/organ/internal/eyes/shadow name = "dark orbs" - dark_view = 8 \ No newline at end of file + see_in_dark = 8 \ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/tajaran.dm b/code/modules/surgery/organs/subtypes/tajaran.dm index d6202a377e6..99598a80fb1 100644 --- a/code/modules/surgery/organs/subtypes/tajaran.dm +++ b/code/modules/surgery/organs/subtypes/tajaran.dm @@ -8,12 +8,12 @@ name = "tajaran eyeballs" colourblind_matrix = MATRIX_TAJ_CBLIND //The colour matrix and darksight parameters that the mob will recieve when they get the disability. replace_colours = LIST_TAJ_REPLACE - dark_view = 8 + see_in_dark = 8 /obj/item/organ/internal/eyes/tajaran/farwa //Being the lesser form of Tajara, Farwas have an utterly incurable version of their colourblindness. name = "farwa eyeballs" colourmatrix = MATRIX_TAJ_CBLIND - dark_view = 8 + see_in_dark = 8 replace_colours = LIST_TAJ_REPLACE /obj/item/organ/internal/heart/tajaran diff --git a/code/modules/surgery/organs/subtypes/unathi.dm b/code/modules/surgery/organs/subtypes/unathi.dm index 26ad86d4700..a612bc7f253 100644 --- a/code/modules/surgery/organs/subtypes/unathi.dm +++ b/code/modules/surgery/organs/subtypes/unathi.dm @@ -7,7 +7,7 @@ /obj/item/organ/internal/eyes/unathi name = "unathi eyeballs" icon = 'icons/obj/species_organs/unathi.dmi' - dark_view = 3 + see_in_dark = 3 /obj/item/organ/internal/heart/unathi name = "unathi heart" diff --git a/code/modules/surgery/organs/subtypes/vulpkanin.dm b/code/modules/surgery/organs/subtypes/vulpkanin.dm index 2c583c8f84a..820b152c43f 100644 --- a/code/modules/surgery/organs/subtypes/vulpkanin.dm +++ b/code/modules/surgery/organs/subtypes/vulpkanin.dm @@ -8,12 +8,12 @@ icon = 'icons/obj/species_organs/vulpkanin.dmi' colourblind_matrix = MATRIX_VULP_CBLIND //The colour matrix and darksight parameters that the mob will recieve when they get the disability. replace_colours = LIST_VULP_REPLACE - dark_view = 8 + see_in_dark = 8 /obj/item/organ/internal/eyes/vulpkanin/wolpin //Being the lesser form of Vulpkanin, Wolpins have an utterly incurable version of their colourblindness. name = "wolpin eyeballs" colourmatrix = MATRIX_VULP_CBLIND - dark_view = 8 + see_in_dark = 8 replace_colours = LIST_VULP_REPLACE /obj/item/organ/internal/heart/vulpkanin diff --git a/code/modules/surgery/organs/subtypes/wryn.dm b/code/modules/surgery/organs/subtypes/wryn.dm index ab30c16f61f..8900bb8b37d 100644 --- a/code/modules/surgery/organs/subtypes/wryn.dm +++ b/code/modules/surgery/organs/subtypes/wryn.dm @@ -8,4 +8,4 @@ slot = "hivenode" /obj/item/organ/internal/eyes/wryn - dark_view = 3 \ No newline at end of file + see_in_dark = 3 \ No newline at end of file From 5387d0ee6718fff28f90c91489093b83020853bf Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 23 Apr 2019 22:59:58 +0200 Subject: [PATCH 025/196] TOGGLES_TOTAL fix --- code/__DEFINES/preferences.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 32433975e9e..22b4334e3be 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -32,7 +32,7 @@ #define TYPING_ONCE 1048576 #define AMBIENT_OCCLUSION 2097152 -#define TOGGLES_TOTAL 4194304 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. +#define TOGGLES_TOTAL 4194303 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. #define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC|AMBIENT_OCCLUSION) From 44347029db30d105c6daec4aab5cd3d947b334d5 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 23 Apr 2019 23:22:03 +0200 Subject: [PATCH 026/196] Compile fix --- code/game/atoms.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index f30fa412a8f..5410d5f66a0 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -675,7 +675,7 @@ var/list/blood_splatter_icons = list() //the sight changes to give to the mob whose perspective is set to that atom (e.g. A mob with nightvision loses its nightvision while looking through a normal camera) /atom/proc/update_remote_sight(mob/living/user) - sync_lighting_plane_alpha() + user.sync_lighting_plane_alpha() return /atom/proc/checkpass(passflag) From 9e9d72d2ae380e195cc00acda4ab769fa258f57f Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 24 Apr 2019 00:47:55 +0200 Subject: [PATCH 027/196] Darkness fixes --- code/_onclick/hud/fullscreen.dm | 2 +- .../mining/lavaland/loot/tendril_loot.dm | 31 +++++++++++-------- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 20 +++++++----- code/modules/mob/living/carbon/carbon.dm | 4 ++- code/modules/mob/living/carbon/human/human.dm | 1 + .../living/carbon/human/species/_species.dm | 3 -- code/modules/mob/living/living.dm | 2 ++ code/modules/mob/living/silicon/ai/ai.dm | 1 + .../modules/mob/living/silicon/robot/robot.dm | 4 ++- code/modules/mob/mob.dm | 1 + 11 files changed, 44 insertions(+), 27 deletions(-) diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 0a9d0f6b4f0..9d00f216eac 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -48,7 +48,7 @@ var/list/screens = mymob.screens for(var/category in screens) screen = screens[category] - if(screen.should_show_to(src)) + if(screen.should_show_to(mymob)) screen.update_for_view(mymob.client.view) mymob.client.screen |= screen else diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 5a39264e668..bf42a4af0b1 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -192,6 +192,8 @@ icon_state = "lantern-blue" item_state = "lantern" var/obj/effect/wisp/wisp + var/sight_flags = SEE_MOBS + var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE /obj/item/wisp_lantern/attack_self(mob/user) if(!wisp) @@ -203,26 +205,25 @@ to_chat(user, "You release the wisp. It begins to bob around your head.") icon_state = "lantern" wisp.orbit(user, 20) - user.update_sight() - feedback_add_details("wisp_lantern","F") // freed + RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + user.update_sight() + to_chat(user, "The wisp enhances your vision.") + + feedback_add_details("wisp_lantern","F") // freed else to_chat(user, "You return the wisp to the lantern.") - - var/mob/target - if(wisp.orbiting) - target = wisp.orbiting wisp.stop_orbit() wisp.forceMove(src) - if (istype(target)) - target.update_sight() - to_chat(target, "Your vision returns to normal.") + UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) + user.update_sight() + to_chat(user, "Your vision returns to normal.") icon_state = "lantern-blue" feedback_add_details("wisp_lantern","R") // returned -/obj/item/wisp_lantern/Initialize() +/obj/item/wisp_lantern/Initialize(mapload) . = ..() wisp = new(src) @@ -232,7 +233,13 @@ qdel(wisp) else wisp.visible_message("[wisp] has a sad feeling for a moment, then it passes.") - ..() + return ..() + +/obj/item/wisp_lantern/proc/update_user_sight(mob/user) + user.sight |= sight_flags + if(!isnull(lighting_alpha)) + user.lighting_alpha = min(user.lighting_alpha, lighting_alpha) + user.sync_lighting_plane_alpha() /obj/effect/wisp name = "friendly wisp" @@ -241,8 +248,6 @@ icon_state = "orb" light_range = 7 layer = ABOVE_ALL_MOB_LAYER - var/sight_flags = SEE_MOBS - var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE //Red/Blue Cubes /obj/item/warp_cube diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index aaad280cc0d..8d7285ceb4f 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -691,7 +691,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp see_invisible = SEE_INVISIBLE_OBSERVER updateghostimages() - ..() + . = ..() /mob/dead/observer/proc/updateghostsight() if(!seedarkness) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 4d1d91696eb..84bb5af399d 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -5,18 +5,21 @@ icon = 'icons/mob/alien.dmi' gender = NEUTER dna = null - alien_talk_understand = 1 - var/nightvision = 1 + alien_talk_understand = TRUE + + var/nightvision = FALSE + see_in_dark = 4 + var/obj/item/card/id/wear_id = null // Fix for station bounced radios -- Skie - var/has_fine_manipulation = 0 - var/move_delay_add = 0 // movement delay to add + var/has_fine_manipulation = FALSE + var/move_delay_add = FALSE // movement delay to add status_flags = CANPARALYSE|CANPUSH var/heal_rate = 5 - var/large = 0 + var/large = FALSE var/heat_protection = 0.5 - var/leaping = 0 + var/leaping = FALSE ventcrawler = 2 var/list/alien_organs = list() var/death_message = "lets out a waning guttural screech, green blood bubbling from its maw..." @@ -153,7 +156,7 @@ nightvision = TRUE usr.hud_used.nightvisionicon.icon_state = "nightvision1" else if(nightvision) - see_in_dark = 4 + see_in_dark = initial(see_in_dark) lighting_alpha = initial(lighting_alpha) nightvision = FALSE usr.hud_used.nightvisionicon.icon_state = "nightvision0" @@ -298,3 +301,6 @@ Des: Removes all infected images from the alien. if(see_override) see_invisible = see_override + + sync_lighting_plane_alpha() + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index c1941c39a6e..7feebe30766 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1162,4 +1162,6 @@ so that different stomachs can handle things in different ways VB*/ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE if(see_override) - see_invisible = see_override \ No newline at end of file + see_invisible = see_override + + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index b20776419d2..f094f5611a6 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -551,6 +551,7 @@ return dna.species.update_sight(src) + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) //Added a safety check in case you want to shock a human mob directly through electrocute_act. /mob/living/carbon/human/electrocute_act(shock_damage, obj/source, siemens_coeff = 1, safety = FALSE, override = FALSE, tesla_shock = FALSE, illusion = FALSE, stun = TRUE) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 0b597c17a6f..c24a066f073 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -641,9 +641,6 @@ It'll return null if the organ doesn't correspond, so include null checks when u H.see_invisible = initial(H.see_invisible) H.lighting_alpha = initial(H.lighting_alpha) - if(H.see_in_dark > 2) //Preliminary see_invisible handling as per set_species() in code\modules\mob\living\carbon\human\human.dm. - H.lighting_alpha = min(H.lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) - if(H.client && H.client.eye != H) var/atom/A = H.client.eye if(A.update_remote_sight(H)) //returns 1 if we override all other sight updates. diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 10fc68d7363..28089468d8c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1026,3 +1026,5 @@ if(stat == DEAD) grant_death_vision() return + + . = ..() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 4d4bff42ae7..d339ae12dc6 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1316,3 +1316,4 @@ var/list/ai_verbs_default = list( see_invisible = see_override sync_lighting_plane_alpha() + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index de66b7b737a..8084b358d96 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1424,4 +1424,6 @@ var/list/robot_verbs_default = list( if(see_override) see_invisible = see_override - sync_lighting_plane_alpha() \ No newline at end of file + sync_lighting_plane_alpha() + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 9fe0e54f800..68cb8703820 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1343,6 +1343,7 @@ var/list/slot_equipment_priority = list( \ return FALSE /mob/proc/update_sight() + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) sync_lighting_plane_alpha() /mob/proc/sync_lighting_plane_alpha() From 20b9285fc4f746c707491c09867345d792231880 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 24 Apr 2019 01:36:56 +0200 Subject: [PATCH 028/196] Wisp/meson implant fixes --- code/modules/mining/lavaland/loot/tendril_loot.dm | 9 +++++++-- code/modules/surgery/organs/augments_eyes.dm | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index bf42a4af0b1..ac3ec9d04c3 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -191,6 +191,7 @@ icon = 'icons/obj/lighting.dmi' icon_state = "lantern-blue" item_state = "lantern" + light_range = 7 var/obj/effect/wisp/wisp var/sight_flags = SEE_MOBS var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE @@ -202,21 +203,25 @@ return if(wisp.loc == src) + RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + to_chat(user, "You release the wisp. It begins to bob around your head.") icon_state = "lantern" wisp.orbit(user, 20) + set_light(0) - RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) user.update_sight() to_chat(user, "The wisp enhances your vision.") feedback_add_details("wisp_lantern","F") // freed else + UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) + to_chat(user, "You return the wisp to the lantern.") wisp.stop_orbit() wisp.forceMove(src) + set_light(initial(light_range)) - UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) user.update_sight() to_chat(user, "Your vision returns to normal.") diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index a8ee1beb2a6..0dc99e310cb 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -56,7 +56,7 @@ implant_color = "#AEFF00" origin_tech = "materials=4;engineering=4;biotech=4;magnets=4" vision_flags = SEE_TURFS - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE aug_message = "Suddenly, you realize how much of a mess the station really is..." /obj/item/organ/internal/cyberimp/eyes/xray From c8277bd282e2072df859615053614eeec2b2aea3 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 24 Apr 2019 02:35:53 +0200 Subject: [PATCH 029/196] More darkness fixes --- code/_onclick/hud/plane_master.dm | 11 ++++++++++- .../gamemodes/miniantags/guardian/types/ranged.dm | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index aebc194c97e..b43715ee598 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -12,6 +12,15 @@ /obj/screen/plane_master/proc/Hide(override) alpha = override || hide_alpha +/obj/screen/plane_master/proc/outline(_size, _color) + filters += filter(type = "outline", size = _size, color = _color) + +/obj/screen/plane_master/proc/shadow(_size, _border, _offset = 0, _x = 0, _y = 0, _color = "#04080FAA") + filters += filter(type = "drop_shadow", x = _x, y = _y, color = _color, size = _size, offset = _offset, border = _border) + +/obj/screen/plane_master/proc/clear_filters() + filters = list() + //Why do plane masters need a backdrop sometimes? Read http://www.byond.com/forum/?post=2141928 //Trust me, you need one. Period. If you don't think you do, you're doing something extremely wrong. /obj/screen/plane_master/proc/backdrop(mob/mymob) @@ -29,7 +38,7 @@ blend_mode = BLEND_OVERLAY /obj/screen/plane_master/game_world/backdrop(mob/mymob) - filters -= FILTER_AMBIENT_OCCLUSION + clear_filters() if(istype(mymob) && mymob.client && mymob.client.prefs && (mymob.client.prefs.toggles & AMBIENT_OCCLUSION)) filters += FILTER_AMBIENT_OCCLUSION diff --git a/code/game/gamemodes/miniantags/guardian/types/ranged.dm b/code/game/gamemodes/miniantags/guardian/types/ranged.dm index 641d44dae2e..3e57a059d10 100644 --- a/code/game/gamemodes/miniantags/guardian/types/ranged.dm +++ b/code/game/gamemodes/miniantags/guardian/types/ranged.dm @@ -68,6 +68,8 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE msg = "You deactivate your night vision." + update_sight() + to_chat(src, "[msg]") /mob/living/simple_animal/hostile/guardian/ranged/verb/Snare() From b410ee5a973d378a2406696ba6608be4cb8e0d9d Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Fri, 26 Apr 2019 23:13:13 +0200 Subject: [PATCH 030/196] zvis fix --- code/modules/awaymissions/zvis.dm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/code/modules/awaymissions/zvis.dm b/code/modules/awaymissions/zvis.dm index 7e7c65485c4..5561e5e90cd 100644 --- a/code/modules/awaymissions/zvis.dm +++ b/code/modules/awaymissions/zvis.dm @@ -47,7 +47,7 @@ // to know if the world changed on the remote side /obj/effect/portal_sensor invisibility = 101 - var/required_color = -1 + var/light_hash = -1 var/triggered_this_tick = 0 var/datum/owner // owner that receive signals var/list/params[0] // what to send to the main object to indicate which sensor @@ -86,12 +86,18 @@ var/turf/T = loc if(istype(T) && T.lighting_object && !T.lighting_object.needs_update) var/atom/movable/lighting_object/O = T.lighting_object - if(O.color != required_color) - required_color = O.color + var/hash = 0 + + for(var/lighting_corner in O) + var/datum/lighting_corner/C = lighting_corner + hash = hash + C.lum_r + C.lum_g + C.lum_b + + if(hash != light_hash) + light_hash = hash trigger() else - if(required_color != -1) - required_color = -1 + if(light_hash != -1) + light_hash = -1 trigger() // for second floor showing floor below @@ -364,4 +370,4 @@ screen_loc = "CENTER[ox >= 0 ? "+" : ""][ox],CENTER[oy >= 0 ? "+" : ""][oy]" /obj/effect/view_portal_dummy/attack_ghost(mob/user) - owner.attack_ghost(user) + owner.attack_ghost(user) \ No newline at end of file From 40c1a25eb5794e11c661801c387a208d8e42f2aa Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 27 Apr 2019 01:08:17 +0200 Subject: [PATCH 031/196] Lighting fixes --- code/controllers/subsystem/lighting.dm | 14 ++--- code/game/gamemodes/cult/cult_items.dm | 2 +- .../gamemodes/malfunction/Malf_Modules.dm | 10 +-- code/modules/clothing/clothing.dm | 4 +- code/modules/clothing/glasses/glasses.dm | 16 ++--- code/modules/clothing/glasses/hud.dm | 10 +-- .../clothing/spacesuits/miscellaneous.dm | 1 + code/modules/lighting/lighting_area.dm | 8 +-- code/modules/lighting/lighting_atom.dm | 32 +++++----- code/modules/lighting/lighting_corner.dm | 28 ++++----- code/modules/lighting/lighting_object.dm | 14 ++--- code/modules/lighting/lighting_source.dm | 62 +++++++++---------- code/modules/lighting/lighting_turf.dm | 36 +++++------ .../mining/lavaland/loot/tendril_loot.dm | 1 - code/modules/mob/camera/camera.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 9 +-- code/modules/mob/living/carbon/carbon.dm | 6 +- code/modules/mob/living/carbon/human/human.dm | 1 + .../mob/living/carbon/human/inventory.dm | 8 +-- .../living/carbon/human/species/_species.dm | 9 +-- code/modules/mob/living/life.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 5 +- .../mob/living/silicon/ai/freelook/chunk.dm | 8 ++- .../modules/mob/living/silicon/robot/robot.dm | 11 +--- .../mob/living/simple_animal/constructs.dm | 2 +- .../simple_animal/hostile/giant_spider.dm | 2 +- .../living/simple_animal/hostile/statue.dm | 2 +- .../hostile/terror_spiders/terror_spiders.dm | 2 +- code/modules/mob/mob_defines.dm | 1 - code/modules/surgery/organs/augments_eyes.dm | 1 + 30 files changed, 148 insertions(+), 161 deletions(-) diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 252f2dcb2c8..82bbd52471a 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -16,7 +16,7 @@ SUBSYSTEM_DEF(lighting) if(config.starlight) for(var/I in GLOB.all_areas) var/area/A = I - if (A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) + if(A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) A.luminosity = 0 create_all_lighting_objects() @@ -40,7 +40,7 @@ SUBSYSTEM_DEF(lighting) if(init_tick_checks) CHECK_TICK - else if (MC_TICK_CHECK) + else if(MC_TICK_CHECK) break if(i) GLOB.lighting_update_lights.Cut(1, i+1) @@ -56,9 +56,9 @@ SUBSYSTEM_DEF(lighting) C.needs_update = FALSE if(init_tick_checks) CHECK_TICK - else if (MC_TICK_CHECK) + else if(MC_TICK_CHECK) break - if (i) + if(i) GLOB.lighting_update_corners.Cut(1, i+1) i = 0 @@ -69,16 +69,16 @@ SUBSYSTEM_DEF(lighting) for (i in 1 to GLOB.lighting_update_objects.len) var/atom/movable/lighting_object/O = GLOB.lighting_update_objects[i] - if (QDELETED(O)) + if(QDELETED(O)) continue O.update() O.needs_update = FALSE if(init_tick_checks) CHECK_TICK - else if (MC_TICK_CHECK) + else if(MC_TICK_CHECK) break - if (i) + if(i) GLOB.lighting_update_objects.Cut(1, i+1) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index f38958e0c2b..e4274d18d49 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -218,7 +218,7 @@ name = "zealot's blindfold" icon_state = "blindfold" item_state = "blindfold" - darkness_view = 8 + see_in_dark = 8 flash_protect = 1 /obj/item/clothing/glasses/night/cultblind/equipped(mob/user, slot) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 5cf32951e11..13df41fe531 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -496,22 +496,22 @@ return var/upgradedcams = 0 - see_override = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //Night-vision, without which X-ray would be very limited in power. + RegisterSignal(src, COMSIG_MOB_UPDATE_SIGHT, .proc/update_upgraded_cameras_sight) //Makes sure the AI has night vision, without which X-ray would be very limited in power. update_sight() for(var/obj/machinery/camera/C in cameranet.cameras) if(C.assembly) - var/upgraded = 0 + var/upgraded = FALSE if(!C.isXRay()) C.upgradeXRay() //Update what it can see. cameranet.updateVisibility(C, 0) - upgraded = 1 + upgraded = TRUE if(!C.isEmpProof()) C.upgradeEmpProof() - upgraded = 1 + upgraded = TRUE if(upgraded) upgradedcams++ @@ -519,6 +519,8 @@ to_chat(src, "OTA firmware distribution complete! Cameras upgraded: [upgradedcams]. Light amplification system online.") verbs -= /mob/living/silicon/ai/proc/upgrade_cameras +/mob/living/silicon/ai/proc/update_upgraded_cameras_sight() + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE /datum/AI_Module/large/eavesdrop module_name = "Enhanced Surveillance" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 5e103f14c72..d339f767865 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -151,7 +151,7 @@ slot_flags = SLOT_EYES materials = list(MAT_GLASS = 250) var/vision_flags = 0 - var/darkness_view = 0 //Base human is 2 + var/see_in_dark = 0 //Base human is 2 var/invis_view = SEE_INVISIBLE_LIVING var/invis_override = 0 var/lighting_alpha @@ -284,7 +284,7 @@ BLIND // can't see anything var/HUDType = null var/vision_flags = 0 - var/darkness_view = 0 + var/see_in_dark = 0 var/lighting_alpha var/can_toggle = null diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 6a7da898b25..3a427d96bec 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -52,7 +52,7 @@ icon_state = "nvgmeson" item_state = "glasses" origin_tech = "magnets=4;engineering=5;plasmatech=4" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE prescription_upgradable = 0 @@ -104,7 +104,7 @@ desc = "Now you can science in darkness." icon_state = "nvpurple" item_state = "glasses" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these /obj/item/clothing/glasses/janitor @@ -123,7 +123,7 @@ icon_state = "night" item_state = "glasses" origin_tech = "materials=4;magnets=4;plasmatech=4;engineering=4" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these species_fit = list("Vox") sprite_sheets = list( @@ -224,7 +224,7 @@ name = "sunglasses" icon_state = "sun" item_state = "sunglasses" - darkness_view = 1 + see_in_dark = 1 flash_protect = 1 tint = 1 prescription_upgradable = 1 @@ -238,7 +238,7 @@ /obj/item/clothing/glasses/sunglasses/fake desc = "Cheap, plastic sunglasses. They don't even have UV protection." name = "cheap sunglasses" - darkness_view = 0 + see_in_dark = 0 flash_protect = 0 tint = 0 @@ -286,7 +286,7 @@ name = "sunglasses" icon_state = "sun" item_state = "sunglasses" - darkness_view = 1 + see_in_dark = 1 flash_protect = 1 tint = 1 species_fit = list("Vox") @@ -505,11 +505,11 @@ icon_state = "godeye" item_state = "godeye" vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS - darkness_view = 8 + see_in_dark = 8 scan_reagents = 1 flags = NODROP flags_cover = null - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE /obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, src) && W != src && W.loc == user) diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index ad775b04c14..7f5d73acb1d 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -50,7 +50,7 @@ icon_state = "healthhudnight" item_state = "glasses" origin_tech = "magnets=4;biotech=4;plasmatech=4;engineering=5" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 0 @@ -72,7 +72,7 @@ icon_state = "diagnostichudnight" item_state = "glasses" origin_tech = "magnets=4;powerstorage=4;plasmatech=4;engineering=5" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 0 @@ -112,7 +112,7 @@ desc = "An advanced heads-up display which provides id data and vision in complete darkness." icon_state = "securityhudnight" origin_tech = "magnets=4;combat=4;plasmatech=4;engineering=5" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these prescription_upgradable = 0 @@ -124,7 +124,7 @@ desc = "Sunglasses with a HUD." icon_state = "sunhud" origin_tech = "magnets=3;combat=3;engineering=3" - darkness_view = 1 + see_in_dark = 1 flash_protect = 1 tint = 1 prescription_upgradable = 1 @@ -154,7 +154,7 @@ desc = "A hydroponic HUD fitted with a light amplifier." icon_state = "hydroponichudnight" item_state = "glasses" - darkness_view = 8 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = 0 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 6b86d8f5d5c..91b28ad3206 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -48,6 +48,7 @@ unacidable = 1 vision_flags = SEE_MOBS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these + see_in_dark = 8 HUDType = MEDHUD strip_delay = 130 diff --git a/code/modules/lighting/lighting_area.dm b/code/modules/lighting/lighting_area.dm index 58e9a4337a5..77e955d10a6 100644 --- a/code/modules/lighting/lighting_area.dm +++ b/code/modules/lighting/lighting_area.dm @@ -3,21 +3,21 @@ var/dynamic_lighting = DYNAMIC_LIGHTING_ENABLED /area/proc/set_dynamic_lighting(var/new_dynamic_lighting = DYNAMIC_LIGHTING_ENABLED) - if (new_dynamic_lighting == dynamic_lighting) + if(new_dynamic_lighting == dynamic_lighting) return FALSE dynamic_lighting = new_dynamic_lighting - if (IS_DYNAMIC_LIGHTING(src)) + if(IS_DYNAMIC_LIGHTING(src)) cut_overlay(/obj/effect/fullbright) for (var/turf/T in src) - if (IS_DYNAMIC_LIGHTING(T)) + if(IS_DYNAMIC_LIGHTING(T)) T.lighting_build_overlay() else add_overlay(/obj/effect/fullbright) for (var/turf/T in src) - if (T.lighting_object) + if(T.lighting_object) T.lighting_clear_overlay() return TRUE diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 85c857ab804..ff4bc517979 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -13,13 +13,13 @@ /atom/proc/set_light(var/l_range, var/l_power, var/l_color = NONSENSICAL_VALUE) if(l_range > 0 && l_range < MINIMUM_USEFUL_LIGHT_RANGE) l_range = MINIMUM_USEFUL_LIGHT_RANGE //Brings the range up to 1.4, which is just barely brighter than the soft lighting that surrounds players. - if (l_power != null) + if(l_power != null) light_power = l_power - if (l_range != null) + if(l_range != null) light_range = l_range - if (l_color != NONSENSICAL_VALUE) + if(l_color != NONSENSICAL_VALUE) light_color = l_color SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT, l_range, l_power, l_color) @@ -32,18 +32,18 @@ // Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf... /atom/proc/update_light() set waitfor = FALSE - if (QDELETED(src)) + if(QDELETED(src)) return - if (!light_power || !light_range) // We won't emit light anyways, destroy the light source. + if(!light_power || !light_range) // We won't emit light anyways, destroy the light source. QDEL_NULL(light) else - if (!ismovableatom(loc)) // We choose what atom should be the top atom of the light here. + if(!ismovableatom(loc)) // We choose what atom should be the top atom of the light here. . = src else . = loc - if (light) // Update the light or create it if it does not exist. + if(light) // Update the light or create it if it does not exist. light.update(.) else light = new/datum/light_source(src, .) @@ -55,30 +55,30 @@ /atom/movable/Destroy() var/turf/T = loc . = ..() - if (opacity && istype(T)) + if(opacity && istype(T)) var/old_has_opaque_atom = T.has_opaque_atom T.recalc_atom_opacity() - if (old_has_opaque_atom != T.has_opaque_atom) + if(old_has_opaque_atom != T.has_opaque_atom) T.reconsider_lights() // Should always be used to change the opacity of an atom. // It notifies (potentially) affected light sources so they can update (if needed). /atom/proc/set_opacity(var/new_opacity) - if (new_opacity == opacity) + if(new_opacity == opacity) return opacity = new_opacity var/turf/T = loc - if (!isturf(T)) + if(!isturf(T)) return - if (new_opacity == TRUE) + if(new_opacity == TRUE) T.has_opaque_atom = TRUE T.reconsider_lights() else var/old_has_opaque_atom = T.has_opaque_atom T.recalc_atom_opacity() - if (old_has_opaque_atom != T.has_opaque_atom) + if(old_has_opaque_atom != T.has_opaque_atom) T.reconsider_lights() @@ -92,15 +92,15 @@ /atom/vv_edit_var(var_name, var_value) switch (var_name) - if ("light_range") + if("light_range") set_light(l_range=var_value) return TRUE - if ("light_power") + if("light_power") set_light(l_power=var_value) return TRUE - if ("light_color") + if("light_color") set_light(l_color=var_value) return TRUE diff --git a/code/modules/lighting/lighting_corner.dm b/code/modules/lighting/lighting_corner.dm index e12876dbcc2..d8b05d0c17f 100644 --- a/code/modules/lighting/lighting_corner.dm +++ b/code/modules/lighting/lighting_corner.dm @@ -45,8 +45,8 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, // Diagonal one is easy. T = get_step(new_turf, diagonal) - if (T) // In case we're on the map's border. - if (!T.corners) + if(T) // In case we're on the map's border. + if(!T.corners) T.corners = list(null, null, null, null) masters[T] = diagonal @@ -55,8 +55,8 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, // Now the horizontal one. T = get_step(new_turf, horizontal) - if (T) // Ditto. - if (!T.corners) + if(T) // Ditto. + if(!T.corners) T.corners = list(null, null, null, null) masters[T] = ((T.x > x) ? EAST : WEST) | ((T.y > y) ? NORTH : SOUTH) // Get the dir based on coordinates. @@ -65,8 +65,8 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, // And finally the vertical one. T = get_step(new_turf, vertical) - if (T) - if (!T.corners) + if(T) + if(!T.corners) T.corners = list(null, null, null, null) masters[T] = ((T.x > x) ? EAST : WEST) | ((T.y > y) ? NORTH : SOUTH) // Get the dir based on coordinates. @@ -81,20 +81,20 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, var/thing for (thing in masters) T = thing - if (T.lighting_object) + if(T.lighting_object) active = TRUE // God that was a mess, now to do the rest of the corner code! Hooray! /datum/lighting_corner/proc/update_lumcount(var/delta_r, var/delta_g, var/delta_b) - if ((abs(delta_r)+abs(delta_g)+abs(delta_b)) == 0) + if((abs(delta_r)+abs(delta_g)+abs(delta_b)) == 0) return lum_r += delta_r lum_g += delta_g lum_b += delta_b - if (!needs_update) + if(!needs_update) needs_update = TRUE GLOB.lighting_update_corners += src @@ -105,11 +105,11 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, var/lum_b = src.lum_b var/mx = max(lum_r, lum_g, lum_b) // Scale it so one of them is the strongest lum, if it is above 1. . = 1 // factor - if (mx > 1) + if(mx > 1) . = 1 / mx #if LIGHTING_SOFT_THRESHOLD != 0 - else if (mx < LIGHTING_SOFT_THRESHOLD) + else if(mx < LIGHTING_SOFT_THRESHOLD) . = 0 // 0 means soft lighting. cache_r = round(lum_r * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD @@ -124,8 +124,8 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, for (var/TT in masters) var/turf/T = TT - if (T.lighting_object) - if (!T.lighting_object.needs_update) + if(T.lighting_object) + if(!T.lighting_object.needs_update) T.lighting_object.needs_update = TRUE GLOB.lighting_update_objects += T.lighting_object @@ -135,7 +135,7 @@ GLOBAL_LIST_INIT(LIGHTING_CORNER_DIAGONAL, list(NORTHEAST, SOUTHEAST, SOUTHWEST, /datum/lighting_corner/Destroy(var/force) - if (!force) + if(!force) return QDEL_HINT_LETMELIVE stack_trace("Attempted qdel of a lighting corner.") diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index 586668ec139..c233c887c9a 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -19,7 +19,7 @@ verbs.Cut() myturf = loc - if (myturf.lighting_object) + if(myturf.lighting_object) qdel(myturf.lighting_object, force = TRUE) myturf.lighting_object = src myturf.luminosity = 0 @@ -31,13 +31,13 @@ GLOB.lighting_update_objects += src /atom/movable/lighting_object/Destroy(var/force) - if (force) + if(force) GLOB.lighting_update_objects -= src - if (loc != myturf) + if(loc != myturf) var/turf/oldturf = get_turf(myturf) var/turf/newturf = get_turf(loc) stack_trace("A lighting object was qdeleted with a different loc then it is suppose to have ([COORD(oldturf)] -> [COORD(newturf)])") - if (isturf(myturf)) + if(isturf(myturf)) myturf.lighting_object = null myturf.luminosity = 1 myturf = null @@ -48,8 +48,8 @@ return QDEL_HINT_LETMELIVE /atom/movable/lighting_object/proc/update() - if (loc != myturf) - if (loc) + if(loc != myturf) + if(loc) var/turf/oldturf = get_turf(myturf) var/turf/newturf = get_turf(loc) warning("A lighting object realised it's loc had changed in update() ([myturf]\[[myturf ? myturf.type : "null"]]([COORD(oldturf)]) -> [loc]\[[ loc ? loc.type : "null"]]([COORD(newturf)]))!") @@ -73,7 +73,7 @@ var/datum/lighting_corner/cg = dummy_lighting_corner var/datum/lighting_corner/cb = dummy_lighting_corner var/datum/lighting_corner/ca = dummy_lighting_corner - if (corners) //done this way for speed + if(corners) //done this way for speed cr = corners[3] || dummy_lighting_corner cg = corners[2] || dummy_lighting_corner cb = corners[4] || dummy_lighting_corner diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index b6dbd778371..207a91d58b4 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -33,7 +33,7 @@ source_atom = owner // Set our new owner. LAZYADD(source_atom.light_sources, src) top_atom = top - if (top_atom != source_atom) + if(top_atom != source_atom) LAZYADD(top_atom.light_sources, src) source_turf = top_atom @@ -51,13 +51,13 @@ /datum/light_source/Destroy(force) remove_lum() - if (source_atom) + if(source_atom) LAZYREMOVE(source_atom.light_sources, src) - if (top_atom) + if(top_atom) LAZYREMOVE(top_atom.light_sources, src) - if (needs_update) + if(needs_update) GLOB.lighting_update_lights -= src . = ..() @@ -66,22 +66,22 @@ // If you want it to go switch everybody to elastic tab stops. // Actually that'd be great if you could! #define EFFECT_UPDATE(level) \ - if (needs_update == LIGHTING_NO_UPDATE) \ + if(needs_update == LIGHTING_NO_UPDATE) \ GLOB.lighting_update_lights += src; \ - if (needs_update < level) \ + if(needs_update < level) \ needs_update = level; \ // This proc will cause the light source to update the top atom, and add itself to the update queue. /datum/light_source/proc/update(var/atom/new_top_atom) // This top atom is different. - if (new_top_atom && new_top_atom != top_atom) + if(new_top_atom && new_top_atom != top_atom) if(top_atom != source_atom && top_atom.light_sources) // Remove ourselves from the light sources of that top atom. LAZYREMOVE(top_atom.light_sources, src) top_atom = new_top_atom - if (top_atom != source_atom) + if(top_atom != source_atom) LAZYADD(top_atom.light_sources, src) // Add ourselves to the light sources of our new top atom. EFFECT_UPDATE(LIGHTING_CHECK_UPDATE) @@ -96,7 +96,7 @@ // Decompile the hexadecimal colour into lumcounts of each perspective. /datum/light_source/proc/parse_light_color() - if (light_color) + if(light_color) lum_r = GetRedPart (light_color) / 255 lum_g = GetGreenPart (light_color) / 255 lum_b = GetBluePart (light_color) / 255 @@ -156,7 +156,7 @@ /datum/light_source/proc/recalc_corner(var/datum/lighting_corner/C) LAZYINITLIST(effect_str) - if (effect_str[C]) // Already have one. + if(effect_str[C]) // Already have one. REMOVE_CORNER(C) effect_str[C] = 0 @@ -167,61 +167,61 @@ var/update = FALSE var/atom/source_atom = src.source_atom - if (QDELETED(source_atom)) + if(QDELETED(source_atom)) qdel(src) return - if (source_atom.light_power != light_power) + if(source_atom.light_power != light_power) light_power = source_atom.light_power update = TRUE - if (source_atom.light_range != light_range) + if(source_atom.light_range != light_range) light_range = source_atom.light_range update = TRUE - if (!top_atom) + if(!top_atom) top_atom = source_atom update = TRUE - if (!light_range || !light_power) + if(!light_range || !light_power) qdel(src) return - if (isturf(top_atom)) - if (source_turf != top_atom) + if(isturf(top_atom)) + if(source_turf != top_atom) source_turf = top_atom pixel_turf = source_turf update = TRUE - else if (top_atom.loc != source_turf) + else if(top_atom.loc != source_turf) source_turf = top_atom.loc pixel_turf = get_turf_pixel(top_atom) update = TRUE else var/P = get_turf_pixel(top_atom) - if (P != pixel_turf) + if(P != pixel_turf) pixel_turf = P update = TRUE - if (!isturf(source_turf)) - if (applied) + if(!isturf(source_turf)) + if(applied) remove_lum() return - if (light_range && light_power && !applied) + if(light_range && light_power && !applied) update = TRUE - if (source_atom.light_color != light_color) + if(source_atom.light_color != light_color) light_color = source_atom.light_color parse_light_color() update = TRUE - else if (applied_lum_r != lum_r || applied_lum_g != lum_g || applied_lum_b != lum_b) + else if(applied_lum_r != lum_r || applied_lum_g != lum_g || applied_lum_b != lum_b) update = TRUE - if (update) + if(update) needs_update = LIGHTING_CHECK_UPDATE applied = TRUE - else if (needs_update == LIGHTING_CHECK_UPDATE) + else if(needs_update == LIGHTING_CHECK_UPDATE) return //nothing's changed var/list/datum/lighting_corner/corners = list() @@ -229,7 +229,7 @@ var/thing var/datum/lighting_corner/C var/turf/T - if (source_turf) + if(source_turf) var/oldlum = source_turf.luminosity source_turf.luminosity = CEILING(light_range, 1) for(T in view(CEILING(light_range, 1), source_turf)) @@ -253,11 +253,11 @@ LAZYREMOVE(T.affecting_lights, src) LAZYINITLIST(effect_str) - if (needs_update == LIGHTING_VIS_UPDATE) + if(needs_update == LIGHTING_VIS_UPDATE) for (thing in corners - effect_str) // New corners C = thing LAZYADD(C.affecting, src) - if (!C.active) + if(!C.active) effect_str[C] = 0 continue APPLY_CORNER(C) @@ -266,14 +266,14 @@ for (thing in L) // New corners C = thing LAZYADD(C.affecting, src) - if (!C.active) + if(!C.active) effect_str[C] = 0 continue APPLY_CORNER(C) for (thing in corners - L) // Existing corners C = thing - if (!C.active) + if(!C.active) effect_str[C] = 0 continue APPLY_CORNER(C) diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 0fe3caec840..c2198cea650 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -18,7 +18,7 @@ L.vis_update() /turf/proc/lighting_clear_overlay() - if (lighting_object) + if(lighting_object) qdel(lighting_object, TRUE) var/datum/lighting_corner/C @@ -31,14 +31,14 @@ // Builds a lighting object for us, but only if our area is dynamic. /turf/proc/lighting_build_overlay() - if (lighting_object) + if(lighting_object) qdel(lighting_object,force=TRUE) //Shitty fix for lighting objects persisting after death var/area/A = loc - if (!IS_DYNAMIC_LIGHTING(A) && !light_sources) + if(!IS_DYNAMIC_LIGHTING(A) && !light_sources) return - if (!lighting_corners_initialised) + if(!lighting_corners_initialised) generate_missing_corners() new/atom/movable/lighting_object(src) @@ -50,7 +50,7 @@ if(!thing) continue C = thing - if (!C.active) // We would activate the corner, calculate the lighting for it. + if(!C.active) // We would activate the corner, calculate the lighting for it. for (thing in C.affecting) S = thing S.recalc_corner(C) @@ -58,7 +58,7 @@ // Used to get a scaled lumcount. /turf/proc/get_lumcount(var/minlum = 0, var/maxlum = 1) - if (!lighting_object) + if(!lighting_object) return 1 var/totallums = 0 @@ -81,7 +81,7 @@ // itself as too dark to allow sight and see_in_dark becomes useful. // So basically if this returns true the tile is unlit black. /turf/proc/is_softly_lit() - if (!lighting_object) + if(!lighting_object) return FALSE return !lighting_object.luminosity @@ -89,46 +89,46 @@ // Can't think of a good name, this proc will recalculate the has_opaque_atom variable. /turf/proc/recalc_atom_opacity() has_opaque_atom = opacity - if (!has_opaque_atom) + if(!has_opaque_atom) for (var/atom/A in src.contents) // Loop through every movable atom on our tile PLUS ourselves (we matter too...) - if (A.opacity) + if(A.opacity) has_opaque_atom = TRUE break /turf/Exited(atom/movable/Obj, atom/newloc) . = ..() - if (Obj && Obj.opacity) + if(Obj && Obj.opacity) recalc_atom_opacity() // Make sure to do this before reconsider_lights(), incase we're on instant updates. reconsider_lights() /turf/proc/change_area(var/area/old_area, var/area/new_area) if(SSlighting.initialized) - if (new_area.dynamic_lighting != old_area.dynamic_lighting) - if (new_area.dynamic_lighting) + if(new_area.dynamic_lighting != old_area.dynamic_lighting) + if(new_area.dynamic_lighting) lighting_build_overlay() else lighting_clear_overlay() /turf/proc/get_corners() - if (!IS_DYNAMIC_LIGHTING(src) && !light_sources) + if(!IS_DYNAMIC_LIGHTING(src) && !light_sources) return null - if (!lighting_corners_initialised) + if(!lighting_corners_initialised) generate_missing_corners() - if (has_opaque_atom) + if(has_opaque_atom) return null // Since this proc gets used in a for loop, null won't be looped though. return corners /turf/proc/generate_missing_corners() - if (!IS_DYNAMIC_LIGHTING(src) && !light_sources) + if(!IS_DYNAMIC_LIGHTING(src) && !light_sources) return lighting_corners_initialised = TRUE - if (!corners) + if(!corners) corners = list(null, null, null, null) for (var/i = 1 to 4) - if (corners[i]) // Already have a corner on this direction. + if(corners[i]) // Already have a corner on this direction. continue corners[i] = new/datum/lighting_corner(src, GLOB.LIGHTING_CORNER_DIAGONAL[i]) diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index ac3ec9d04c3..3c154e351c7 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -244,7 +244,6 @@ user.sight |= sight_flags if(!isnull(lighting_alpha)) user.lighting_alpha = min(user.lighting_alpha, lighting_alpha) - user.sync_lighting_plane_alpha() /obj/effect/wisp name = "friendly wisp" diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm index bfeecdef055..df6fd57423d 100644 --- a/code/modules/mob/camera/camera.dm +++ b/code/modules/mob/camera/camera.dm @@ -7,7 +7,7 @@ move_resist = INFINITY status_flags = GODMODE // You can't damage it. mouse_opacity = MOUSE_OPACITY_TRANSPARENT - see_in_dark = 7 + see_in_dark = 8 invisibility = 101 // No one can see us sight = SEE_SELF move_on_shuttle = 0 diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 84bb5af399d..e6dcaebf51c 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -297,10 +297,7 @@ Des: Removes all infected images from the alien. if(E.see_invisible) see_invisible = min(see_invisible, E.see_invisible) if(!isnull(E.lighting_alpha)) - lighting_alpha = min(lighting_alpha, E.lighting_alpha) + lighting_alpha = min(lighting_alpha, E.lighting_alpha) - if(see_override) - see_invisible = see_override - - sync_lighting_plane_alpha() - SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) \ No newline at end of file + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + sync_lighting_plane_alpha() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index c2a01eee4f7..44a333fbe44 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1160,8 +1160,6 @@ so that different stomachs can handle things in different ways VB*/ sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - - if(see_override) - see_invisible = see_override - + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + sync_lighting_plane_alpha() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f094f5611a6..01faa9d9422 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -552,6 +552,7 @@ dna.species.update_sight(src) SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + sync_lighting_plane_alpha() //Added a safety check in case you want to shock a human mob directly through electrocute_act. /mob/living/carbon/human/electrocute_act(shock_damage, obj/source, siemens_coeff = 1, safety = FALSE, override = FALSE, tesla_shock = FALSE, illusion = FALSE, stun = TRUE) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index ba4f2fbbcf4..9e6ab986395 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -115,7 +115,7 @@ update_tint() if(G.prescription) update_nearsighted_effects() - if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) + if(G.vision_flags || G.see_in_dark || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) update_sight() update_inv_glasses() update_client_colour() @@ -128,7 +128,7 @@ // Bandanas and paper hats go on the head but are not head clothing if(istype(I,/obj/item/clothing/head)) var/obj/item/clothing/head/hat = I - if(hat.vision_flags || hat.darkness_view || !isnull(hat.lighting_alpha)) + if(hat.vision_flags || hat.see_in_dark || !isnull(hat.lighting_alpha)) update_sight() head_update(I) update_inv_head() @@ -267,7 +267,7 @@ update_tint() if(G.prescription) update_nearsighted_effects() - if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) + if(G.vision_flags || G.see_in_dark || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) update_sight() update_inv_glasses(redraw_mob) update_client_colour() @@ -283,7 +283,7 @@ // paper + bandanas if(istype(W, /obj/item/clothing/head)) var/obj/item/clothing/head/hat = W - if(hat.vision_flags || hat.darkness_view || !isnull(hat.lighting_alpha)) + if(hat.vision_flags || hat.see_in_dark || !isnull(hat.lighting_alpha)) update_sight() head_update(W) update_inv_head(redraw_mob) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index c24a066f073..7990dbad915 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -668,7 +668,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u if(H.glasses) var/obj/item/clothing/glasses/G = H.glasses H.sight |= G.vision_flags - H.see_in_dark = max(G.darkness_view, H.see_in_dark) + H.see_in_dark = max(G.see_in_dark, H.see_in_dark) if(G.invis_override) H.see_invisible = G.invis_override @@ -683,7 +683,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u if(istype(H.head, /obj/item/clothing/head)) var/obj/item/clothing/head/hat = H.head H.sight |= hat.vision_flags - H.see_in_dark = max(hat.darkness_view, H.see_in_dark) + H.see_in_dark = max(hat.see_in_dark, H.see_in_dark) if(!isnull(hat.lighting_alpha)) H.lighting_alpha = min(hat.lighting_alpha, H.lighting_alpha) @@ -696,7 +696,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u var/obj/item/clothing/glasses/G = rig.visor.vision.glasses if(istype(G)) H.sight |= G.vision_flags - H.see_in_dark = max(G.darkness_view, H.see_in_dark) + H.see_in_dark = max(G.see_in_dark, H.see_in_dark) H.see_invisible = min(G.invis_view, H.see_invisible) if(!isnull(G.lighting_alpha)) @@ -717,9 +717,6 @@ It'll return null if the organ doesn't correspond, so include null checks when u H.see_in_dark = 8 H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - if(H.see_override) //Override all - H.see_invisible = H.see_override - H.sync_lighting_plane_alpha() /datum/species/proc/water_act(mob/living/carbon/human/M, volume, temperature, source) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 35ab0402b0c..4f17801111a 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -202,7 +202,7 @@ sight |= SEE_TURFS sight |= SEE_MOBS sight |= SEE_OBJS - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE see_in_dark = 8 see_invisible = SEE_INVISIBLE_OBSERVER sync_lighting_plane_alpha() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index d339ae12dc6..4389198fd10 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1312,8 +1312,5 @@ var/list/ai_verbs_default = list( sight = sight &~ SEE_OBJS see_in_dark = 0 - if(see_override) - see_invisible = see_override - - sync_lighting_plane_alpha() SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + sync_lighting_plane_alpha() diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index ec2fd378ed5..4b124c364c2 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -116,7 +116,8 @@ var/turf/t = turf if(obscuredTurfs[t]) if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, null, 15) + t.obscured = image('icons/effects/cameravis.dmi', t, null, BYOND_LIGHTING_LAYER + 0.1) + t.obscured.plane = BYOND_LIGHTING_PLANE + 1 obscured += t.obscured for(var/eye in seenby) @@ -169,7 +170,8 @@ for(var/turf in obscuredTurfs) var/turf/t = turf if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) + t.obscured = image('icons/effects/cameravis.dmi', t, "black", BYOND_LIGHTING_LAYER + 0.1) + t.obscured.plane = BYOND_LIGHTING_PLANE + 1 obscured += t.obscured -#undef UPDATE_BUFFER \ No newline at end of file +#undef UPDATE_BUFFER diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 8084b358d96..e6a65545646 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1406,24 +1406,17 @@ var/list/robot_verbs_default = list( if(sight_mode & BORGMESON) sight |= SEE_TURFS - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - see_in_dark = 1 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE if(sight_mode & BORGXRAY) sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_invisible = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - see_invisible = SEE_INVISIBLE_LIVING see_in_dark = 8 if(sight_mode & BORGTHERM) sight |= SEE_MOBS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - see_invisible = min(see_invisible, SEE_INVISIBLE_LIVING) - see_in_dark = 8 - if(see_override) - see_invisible = see_override - - sync_lighting_plane_alpha() SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + sync_lighting_plane_alpha() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 2b3d11357d1..91abb6b2696 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -168,7 +168,7 @@ melee_damage_lower = 25 melee_damage_upper = 25 attacktext = "slashes" - see_in_dark = 7 + see_in_dark = 8 attack_sound = 'sound/weapons/bladeslice.ogg' const_type = "wraith" construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index e45000ff34f..6795f4ccec2 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -16,7 +16,7 @@ emote_hear = list("chitters") speak_chance = 5 turns_per_move = 5 - see_in_dark = 10 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE butcher_results = list(/obj/item/reagent_containers/food/snacks/spidermeat = 2, /obj/item/reagent_containers/food/snacks/spiderleg = 8) response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 5b9d94341ef..2416781d78d 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -33,7 +33,7 @@ animate_movement = NO_STEPS // Do not animate movement, you jump around as you're a scary statue. - see_in_dark = 13 + see_in_dark = 8 vision_range = 12 aggro_vision_range = 12 idle_vision_range = 12 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index 1503c2bffe6..f73ee07441a 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -94,7 +94,7 @@ var/global/list/ts_spiderling_list = list() // Vision idle_vision_range = 10 aggro_vision_range = 10 - see_in_dark = 10 + see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE sight = SEE_MOBS diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index e36e7e4a004..7a67ce911b1 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -83,7 +83,6 @@ var/obj/item/clothing/mask/wear_mask = null//Carbon var/seer = 0 //for cult//Carbon, probably Human - var/see_override = 0 var/datum/hud/hud_used = null diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index 0dc99e310cb..463911861c2 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -74,6 +74,7 @@ eye_colour = "#FFCC00" implant_color = "#FFCC00" vision_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE flash_protect = -1 origin_tech = "materials=5;programming=4;biotech=4;magnets=4;syndicate=1" aug_message = "You see prey everywhere you look..." From 97fbfb279aff9604d289253a268619b86c5a0f55 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 27 Apr 2019 01:15:21 +0200 Subject: [PATCH 032/196] Fix default statue vision --- code/modules/mob/living/simple_animal/hostile/statue.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 2416781d78d..3f649eae984 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -40,7 +40,7 @@ search_objects = 1 // So that it can see through walls - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS move_force = MOVE_FORCE_EXTREMELY_STRONG move_resist = MOVE_FORCE_EXTREMELY_STRONG From adf53ecbed4880143f503b338499f5b70cde006e Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 27 Apr 2019 16:48:32 +0200 Subject: [PATCH 033/196] Fix lights not turning off on delete --- code/game/atoms.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 99a1db51ef2..f49cf05197a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -145,9 +145,12 @@ alternate_appearances = null QDEL_NULL(reagents) - invisibility = 101 + invisibility = INVISIBILITY_MAXIMUM LAZYCLEARLIST(overlays) LAZYCLEARLIST(priority_overlays) + + QDEL_NULL(light) + return ..() //Hook for running code when a dir change occurs From 78c67b9a1fa2b26a09fba859f324070c068810a3 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 28 Apr 2019 03:40:50 -0700 Subject: [PATCH 034/196] patreon perks, admins, custom events --- code/__DEFINES/misc.dm | 6 ++-- code/game/verbs/ooc.dm | 8 +++--- code/modules/client/client defines.dm | 2 +- code/modules/client/client procs.dm | 21 ++++++++------ .../client/preference/loadout/loadout.dm | 5 +--- .../preference/loadout/loadout_donor.dm | 28 ++++++++++++++++--- code/modules/client/preference/preferences.dm | 22 +++++++-------- 7 files changed, 54 insertions(+), 38 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index dff9426c641..b006666ffda 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -318,10 +318,8 @@ #define SHELTER_DEPLOY_BAD_AREA "bad area" #define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects" -// Client donator levels -#define DONATOR_LEVEL_NONE 0 -#define DONATOR_LEVEL_ONE 1 -#define DONATOR_LEVEL_TWO 2 +// Maximum donation level +#define DONATOR_LEVEL_MAX 4 // The cooldown on OOC messages such as OOC, LOOC, praying and adminhelps #define OOC_COOLDOWN 5 diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 9325d3a08b5..5a2807e8379 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -11,7 +11,7 @@ var/global/admin_ooc_colour = "#b82e00" /client/verb/ooc(msg = "" as text) set name = "OOC" set category = "OOC" - + if(!mob) return if(IsGuestKey(key)) @@ -28,10 +28,10 @@ var/global/admin_ooc_colour = "#b82e00" if(prefs.muted & MUTE_OOC) to_chat(src, "You cannot use OOC (muted).") return - + if(!msg) msg = typing_input(src.mob, "", "ooc \"text\"") - + msg = trim(sanitize(copytext(msg, 1, MAX_MESSAGE_LEN))) if(!msg) return @@ -76,7 +76,7 @@ var/global/admin_ooc_colour = "#b82e00" var/icon/byond = icon('icons/member_content.dmi', "blag") display_name = "[bicon(byond)][display_name]" - if(donator_level >= DONATOR_LEVEL_ONE) + if(donator_level > 0) if((prefs.toggles & DONATOR_PUBLIC)) var/icon/donator = icon('icons/ooc_tag_16x.dmi', "donator") display_name = "[bicon(donator)][display_name]" diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index 00900fe5fd1..9f21e4b042c 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -81,7 +81,7 @@ var/datum/chatOutput/chatOutput // Donator stuff. - var/donator_level = DONATOR_LEVEL_NONE + var/donator_level = 0 // If set to true, this client can interact with atoms such as buttons and doors on top of regular machinery interaction var/advanced_admin_interaction = FALSE diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index a6216c87b1a..10a799ebac3 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -326,8 +326,6 @@ GLOB.admins += src holder.owner = src - donator_check() - //preferences datum - also holds some persistant data for the client (because we may as well keep these datums to a minimum) prefs = preferences_datums[ckey] if(!prefs) @@ -341,12 +339,6 @@ spawn() // Goonchat does some non-instant checks in start() chatOutput.start() - if(custom_event_msg && custom_event_msg != "") - to_chat(src, "

Custom Event

") - to_chat(src, "

A custom event is taking place. OOC Info:

") - to_chat(src, "[html_encode(custom_event_msg)]") - to_chat(src, "
") - if( (world.address == address || !address) && !host ) host = key world.update_status() @@ -374,6 +366,7 @@ to_chat(src, message) clientmessages.Remove(ckey) + donator_check() send_resources() @@ -398,6 +391,12 @@ screen += void + if(custom_event_msg && custom_event_msg != "") + to_chat(src, "

Custom Event

") + to_chat(src, "

A custom event is taking place. OOC Info:

") + to_chat(src, "[html_encode(custom_event_msg)]") + to_chat(src, "
") + if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them. to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") @@ -429,13 +428,17 @@ if(!dbcon.IsConnected()) return + if(check_rights(R_ADMIN, 0, mob)) // Yes, the mob is required, regardless of other examples in this file, it won't work otherwise + donator_level = DONATOR_LEVEL_MAX + return + //Donator stuff. var/DBQuery/query_donor_select = dbcon.NewQuery("SELECT ckey, tier, active FROM `[format_table_name("donators")]` WHERE ckey = '[ckey]'") query_donor_select.Execute() while(query_donor_select.NextRow()) if(!text2num(query_donor_select.item[3])) // Inactive donator. - donator_level = DONATOR_LEVEL_NONE + donator_level = 0 return donator_level = text2num(query_donor_select.item[2]) break diff --git a/code/modules/client/preference/loadout/loadout.dm b/code/modules/client/preference/loadout/loadout.dm index b42c5d5abf1..63825cc1237 100644 --- a/code/modules/client/preference/loadout/loadout.dm +++ b/code/modules/client/preference/loadout/loadout.dm @@ -4,7 +4,6 @@ var/list/gear_datums = list() /datum/loadout_category var/category = "" var/list/gear = list() - var/donor_only = FALSE /datum/loadout_category/New(cat) category = cat @@ -34,8 +33,6 @@ var/list/gear_datums = list() if(!loadout_categories[use_category]) loadout_categories[use_category] = new /datum/loadout_category(use_category) var/datum/loadout_category/LC = loadout_categories[use_category] - if(initial(G.donor_only)) - LC.donor_only = TRUE gear_datums[use_name] = new geartype LC.gear[use_name] = gear_datums[use_name] @@ -57,7 +54,7 @@ var/list/gear_datums = list() var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned. var/subtype_path = /datum/gear //for skipping organizational subtypes (optional) var/subtype_cost_overlap = TRUE //if subtypes can take points at the same time - var/donor_only = FALSE // if it's only available to donors + var/donator_tier = 0 /datum/gear/New() ..() diff --git a/code/modules/client/preference/loadout/loadout_donor.dm b/code/modules/client/preference/loadout/loadout_donor.dm index 9e13662a7d8..5558a988209 100644 --- a/code/modules/client/preference/loadout/loadout_donor.dm +++ b/code/modules/client/preference/loadout/loadout_donor.dm @@ -1,5 +1,5 @@ /datum/gear/donor - donor_only = TRUE + donator_tier = 2 sort_category = "Donor" subtype_path = /datum/gear/donor @@ -77,6 +77,26 @@ display_name = "Guy Fawkes mask" path = /obj/item/clothing/mask/fawkes -/datum/gear/donor/noble_clothes - display_name = "Noble Clothes" - path = /obj/item/clothing/under/noble_clothes +/datum/gear/donor/id_decal_silver + display_name = "Silver ID Decal" + path = /obj/item/id_decal/silver + donator_tier = 3 + cost = 2 + +/datum/gear/donor/id_decal_prisoner + display_name = "Prisoner ID Decal" + path = /obj/item/id_decal/prisoner + donator_tier = 3 + cost = 2 + +/datum/gear/donor/id_decal_emag + display_name = "Emag ID Decal" + path = /obj/item/id_decal/emag + donator_tier = 3 + cost = 2 + +/datum/gear/donor/id_decal_gold + display_name = "Gold ID Decal" + path = /obj/item/id_decal/gold + donator_tier = 4 + cost = 4 \ No newline at end of file diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 22894aaa691..237da907a43 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -211,7 +211,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts unlock_content = C.IsByondMember() if(unlock_content) max_save_slots = MAX_SAVE_SLOTS_MEMBER - if(C.donator_level >= DONATOR_LEVEL_ONE) + if(C.donator_level > 0) max_gear_slots += 5 loaded_preferences_successfully = load_preferences(C) // Do not call this with no client/C, it generates a runtime / SQL error @@ -448,7 +448,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += " - Color: [UI_style_color]    
" dat += " - UI Style: [UI_style]
" dat += "Deadchat Anonymity: [ghost_anonsay ? "Anonymous" : "Not Anonymous"]
" - if(user.client.donator_level >= DONATOR_LEVEL_ONE) + if(user.client.donator_level > 0) dat += "Donator Publicity: [(toggles & DONATOR_PUBLIC) ? "Public" : "Hidden"]
" dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"]
" dat += "FPS: [clientfps]
" @@ -508,10 +508,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/firstcat = 1 for(var/category in loadout_categories) - var/datum/loadout_category/LC = loadout_categories[category] - if(LC.donor_only) - if(user.client.donator_level < DONATOR_LEVEL_TWO) // level two donators get the donator loadout, so don't show it to anyone with less than that - continue if(firstcat) firstcat = 0 else @@ -529,7 +525,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts for(var/gear_name in LC.gear) var/datum/gear/G = LC.gear[gear_name] var/ticked = (G.display_name in gear) - dat += "[G.display_name]" + if(G.donator_tier > user.client.donator_level) + dat += "[G.display_name]" + else + dat += "[G.display_name]" dat += "[G.cost]" if(G.allowed_roles) dat += "Restrictions: " @@ -1147,10 +1146,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(TG.display_name in gear) gear -= TG.display_name else - if(TG.donor_only) - if(user.client.donator_level < DONATOR_LEVEL_TWO) // donator items are locked to > tier 2 - //they normally can't even get this far- but just in case of href exploits, we check them here - return + if(TG.donator_tier && user.client.donator_level < TG.donator_tier) + to_chat(user, "That gear is only available at a higher donation tier than you are on.") + return var/total_cost = 0 var/list/type_blacklist = list() for(var/gear_name in gear) @@ -1944,7 +1942,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts toggles ^= MEMBER_PUBLIC if("donor_public") - if(user.client.donator_level >= DONATOR_LEVEL_ONE) + if(user.client.donator_level > 0) toggles ^= DONATOR_PUBLIC if("gender") From 4705c4e2fed93c211bb11bd2b6dfd4f0cbcb31e1 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 28 Apr 2019 20:15:30 +0200 Subject: [PATCH 035/196] Limit genetics XRay again --- code/modules/mob/living/carbon/human/species/_species.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 7990dbad915..18451ff31cf 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -714,8 +714,6 @@ It'll return null if the organ doesn't correspond, so include null checks when u if(XRAY in H.mutations) H.sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) - H.see_in_dark = 8 - H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE H.sync_lighting_plane_alpha() From ec790efeaaf7986b989fd1c0d9bda801bb4b0030 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Wed, 24 Apr 2019 14:07:34 +0100 Subject: [PATCH 036/196] SSticker --- code/__DEFINES/gamemode.dm | 12 +- code/__DEFINES/misc.dm | 2 +- code/__HELPERS/_logging.dm | 2 +- code/__HELPERS/time.dm | 4 +- code/controllers/Processes/ticker.dm | 36 -- code/controllers/configuration.dm | 2 +- code/controllers/master.dm | 4 +- code/controllers/subsystem/jobs.dm | 4 +- code/controllers/subsystem/nightshift.dm | 2 +- code/controllers/subsystem/shuttles.dm | 6 +- .../subsystem/ticker.dm} | 147 ++++--- code/controllers/subsystem/vote.dm | 14 +- code/controllers/verbs.dm | 2 +- code/datums/cache/air_alarm.dm | 2 +- code/datums/hud.dm | 4 +- code/datums/mind.dm | 410 +++++++++--------- code/datums/periodic_news.dm | 2 +- code/datums/spells/chaplain.dm | 4 +- code/datums/spells/lichdom.dm | 2 +- code/datums/uplink_item.dm | 4 +- code/game/data_huds.dm | 2 +- code/game/gamemodes/blob/powers.dm | 4 +- code/game/gamemodes/cult/cult.dm | 26 +- code/game/gamemodes/cult/cult_objectives.dm | 20 +- code/game/gamemodes/cult/ritual.dm | 32 +- code/game/gamemodes/cult/runes.dm | 34 +- code/game/gamemodes/cult/talisman.dm | 2 +- code/game/gamemodes/devil/devilinfo.dm | 4 +- code/game/gamemodes/devil/objectives.dm | 2 +- code/game/gamemodes/game_mode.dm | 4 +- code/game/gamemodes/heist/heist.dm | 2 +- code/game/gamemodes/intercept_report.dm | 4 +- .../gamemodes/malfunction/Malf_Modules.dm | 2 +- .../miniantags/abduction/abduction.dm | 4 +- .../abduction/machinery/experiment.dm | 4 +- .../gamemodes/miniantags/morph/morph_event.dm | 2 +- .../gamemodes/miniantags/revenant/revenant.dm | 4 +- .../revenant/revenant_spawn_event.dm | 2 +- .../miniantags/slaughter/slaughter.dm | 4 +- code/game/gamemodes/nuclear/nuclear.dm | 12 +- .../gamemodes/nuclear/nuclear_challenge.dm | 4 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 26 +- code/game/gamemodes/nuclear/pinpointer.dm | 4 +- code/game/gamemodes/objective.dm | 26 +- code/game/gamemodes/revolution/revolution.dm | 10 +- code/game/gamemodes/scoreboard.dm | 16 +- code/game/gamemodes/setupgame.dm | 8 +- code/game/gamemodes/shadowling/shadowling.dm | 6 +- .../shadowling/shadowling_abilities.dm | 22 +- .../special_shadowling_abilities.dm | 4 +- code/game/gamemodes/traitor/traitor.dm | 4 +- code/game/gamemodes/vampire/vampire.dm | 6 +- code/game/gamemodes/vampire/vampire_powers.dm | 20 +- code/game/gamemodes/wizard/artefact.dm | 8 +- code/game/gamemodes/wizard/soulstone.dm | 34 +- code/game/gamemodes/wizard/spellbook.dm | 10 +- code/game/gamemodes/wizard/wizard.dm | 6 +- code/game/jobs/job/support_chaplain.dm | 10 +- code/game/jobs/job_objective.dm | 2 +- code/game/machinery/cloning.dm | 32 +- code/game/machinery/computer/ai_core.dm | 4 +- .../game/machinery/computer/communications.dm | 6 +- code/game/machinery/cryopod.dm | 12 +- code/game/machinery/doors/windowdoor.dm | 2 +- code/game/machinery/syndicatebeacon.dm | 4 +- code/game/magic/Uristrunes.dm | 8 +- .../effects/decals/Cleanable/humans.dm | 4 +- .../effects/effect_system/effect_system.dm | 4 +- code/game/objects/items/devices/flash.dm | 6 +- code/game/objects/items/devices/flashlight.dm | 2 +- code/game/objects/items/devices/uplinks.dm | 4 +- code/game/objects/items/robot/robot_parts.dm | 2 +- .../objects/items/weapons/holy_weapons.dm | 20 +- .../weapons/implants/implant_mindshield.dm | 8 +- .../items/weapons/implants/implant_traitor.dm | 24 +- code/game/objects/items/weapons/staff.dm | 2 +- .../objects/items/weapons/storage/bible.dm | 2 +- code/game/objects/structures.dm | 6 +- code/game/sound.dm | 4 +- code/game/turfs/simulated/floor/plating.dm | 4 +- code/game/turfs/simulated/walls_misc.dm | 4 +- code/game/turfs/turf.dm | 6 +- code/game/verbs/suicide.dm | 4 +- code/game/world.dm | 17 +- code/modules/admin/admin.dm | 42 +- code/modules/admin/player_panel.dm | 98 ++--- code/modules/admin/topic.dm | 66 +-- code/modules/admin/verbs/cinematic.dm | 4 +- code/modules/admin/verbs/debug.dm | 14 +- code/modules/admin/verbs/gimmick_team.dm | 4 +- code/modules/admin/verbs/honksquad.dm | 4 +- .../admin/verbs/infiltratorteam_syndicate.dm | 4 +- code/modules/admin/verbs/one_click_antag.dm | 12 +- code/modules/admin/verbs/onlyone.dm | 8 +- code/modules/admin/verbs/onlyoneteam.dm | 2 +- code/modules/admin/verbs/pray.dm | 6 +- code/modules/admin/verbs/randomverbs.dm | 32 +- code/modules/admin/verbs/striketeam.dm | 10 +- .../admin/verbs/striketeam_syndicate.dm | 4 +- code/modules/admin/verbs/tripAI.dm | 10 +- .../antagonists/_common/antag_spawner.dm | 26 +- code/modules/awaymissions/corpse.dm | 2 +- code/modules/clothing/shoes/magboots.dm | 2 +- code/modules/events/abductor.dm | 12 +- code/modules/events/alien_infestation.dm | 4 +- code/modules/karma/karma.dm | 2 +- code/modules/library/computers/checkout.dm | 10 +- .../mining/lavaland/loot/colossus_loot.dm | 2 +- .../mob/living/carbon/alien/alien_defense.dm | 2 +- .../carbon/alien/special/alien_embryo.dm | 4 +- code/modules/mob/living/carbon/human/death.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/human_damage.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- .../carbon/human/interactive/interactive.dm | 6 +- .../living/carbon/human/species/_species.dm | 4 +- code/modules/mob/living/carbon/superheroes.dm | 8 +- code/modules/mob/living/death.dm | 4 +- code/modules/mob/living/living.dm | 2 +- code/modules/mob/living/living_defense.dm | 2 +- .../mob/living/silicon/ai/ai_defense.dm | 2 +- .../living/silicon/ai/freelook/cameranet.dm | 2 +- .../modules/mob/living/silicon/ai/latejoin.dm | 4 +- code/modules/mob/living/silicon/login.dm | 20 +- .../modules/mob/living/silicon/pai/recruit.dm | 4 +- .../mob/living/silicon/robot/drone/drone.dm | 2 +- .../silicon/robot/drone/drone_manufacturer.dm | 4 +- .../modules/mob/living/silicon/robot/robot.dm | 6 +- .../mob/living/simple_animal/constructs.dm | 12 +- .../mob/living/simple_animal/friendly/cat.dm | 4 +- .../simple_animal/friendly/cockroach.dm | 2 +- code/modules/mob/logout.dm | 2 +- code/modules/mob/mob.dm | 4 +- code/modules/mob/new_player/new_player.dm | 34 +- code/modules/power/singularity/narsie.dm | 10 +- code/modules/power/smes.dm | 2 +- .../reagents/chemistry/reagents/food.dm | 4 +- .../reagents/chemistry/reagents/water.dm | 4 +- code/modules/response_team/ert.dm | 10 +- .../security_levels/keycard authentication.dm | 2 +- code/modules/station_goals/dna_vault.dm | 6 +- code/modules/station_goals/shield.dm | 2 +- code/modules/station_goals/station_goal.dm | 2 +- code/modules/surgery/other.dm | 2 +- paradise.dme | 3 +- 145 files changed, 896 insertions(+), 925 deletions(-) delete mode 100644 code/controllers/Processes/ticker.dm rename code/{game/gamemodes/gameticker.dm => controllers/subsystem/ticker.dm} (87%) diff --git a/code/__DEFINES/gamemode.dm b/code/__DEFINES/gamemode.dm index a1e469e3c94..a3efbab50d9 100644 --- a/code/__DEFINES/gamemode.dm +++ b/code/__DEFINES/gamemode.dm @@ -8,12 +8,12 @@ #define TARGET_INVALID_EVENT 7 //gamemode istype helpers -#define GAMEMODE_IS_BLOB (ticker && istype(ticker.mode, /datum/game_mode/blob)) -#define GAMEMODE_IS_CULT (ticker && istype(ticker.mode, /datum/game_mode/cult)) -#define GAMEMODE_IS_HEIST (ticker && istype(ticker.mode, /datum/game_mode/heist)) -#define GAMEMODE_IS_NUCLEAR (ticker && istype(ticker.mode, /datum/game_mode/nuclear)) -#define GAMEMODE_IS_REVOLUTION (ticker && istype(ticker.mode, /datum/game_mode/revolution)) -#define GAMEMODE_IS_WIZARD (ticker && istype(ticker.mode, /datum/game_mode/wizard)) +#define GAMEMODE_IS_BLOB (SSticker && istype(SSticker.mode, /datum/game_mode/blob)) +#define GAMEMODE_IS_CULT (SSticker && istype(SSticker.mode, /datum/game_mode/cult)) +#define GAMEMODE_IS_HEIST (SSticker && istype(SSticker.mode, /datum/game_mode/heist)) +#define GAMEMODE_IS_NUCLEAR (SSticker && istype(SSticker.mode, /datum/game_mode/nuclear)) +#define GAMEMODE_IS_REVOLUTION (SSticker && istype(SSticker.mode, /datum/game_mode/revolution)) +#define GAMEMODE_IS_WIZARD (SSticker && istype(SSticker.mode, /datum/game_mode/wizard)) //special roles // Distinct from the ROLE_X defines because some antags have multiple special roles but only one ban type diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index dff9426c641..0bf7e3bcafe 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -303,7 +303,7 @@ #define TRIGGER_GUARD_NORMAL 1 // Macro to get the current elapsed round time, rather than total world runtime -#define ROUND_TIME (round_start_time ? (world.time - round_start_time) : 0) +#define ROUND_TIME (SSticker.round_start_time ? (world.time - SSticker.round_start_time) : 0) // Macro that returns true if it's too early in a round to freely ghost out #define TOO_EARLY_TO_GHOST (config && (ROUND_TIME < (config.round_abandon_penalty_period))) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index e7f5262db1f..65fc87c3b34 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -150,7 +150,7 @@ // A logging proc that only outputs after setup is done, to // help devs test initialization stuff that happens a lot /proc/log_after_setup(var/message) - if(ticker && ticker.current_state > GAME_STATE_SETTING_UP) + if(SSticker && SSticker.current_state > GAME_STATE_SETTING_UP) to_chat(world, "[message]") log_world(message) diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index 54fd47a220d..d13bf08c58b 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -35,7 +35,7 @@ * If you want to display the canonical station "time" (aka the in-character time of the station) use station_time_timestamp */ /proc/classic_worldtime2text(time = world.time) - time = (round_start_time ? (time - round_start_time) : (time - world.time)) + time = (SSticker.round_start_time ? (time - SSticker.round_start_time) : (time - world.time)) return "[round(time / 36000)+12]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]" //Returns the world time in english @@ -59,7 +59,7 @@ - You can use this, for example, to do "This will expire at [station_time_at(world.time + 500)]" to display a "station time" expiration date which is much more useful for a player)*/ /proc/station_time(time=world.time, display_only=FALSE) - return ((((time - round_start_time)) + GLOB.gametime_offset) % 864000) - (display_only ? GLOB.timezoneOffset : 0) + return ((((time - SSticker.round_start_time)) + GLOB.gametime_offset) % 864000) - (display_only ? GLOB.timezoneOffset : 0) /proc/station_time_timestamp(format = "hh:mm:ss", time=world.time) return time2text(station_time(time, TRUE), format) diff --git a/code/controllers/Processes/ticker.dm b/code/controllers/Processes/ticker.dm deleted file mode 100644 index 578c2725710..00000000000 --- a/code/controllers/Processes/ticker.dm +++ /dev/null @@ -1,36 +0,0 @@ -var/global/datum/controller/process/ticker/tickerProcess - -/datum/controller/process/ticker - var/lastTickerTimeDuration - var/lastTickerTime - -/datum/controller/process/ticker/setup() - name = "ticker" - schedule_interval = 20 // every 2 seconds - - lastTickerTime = world.timeofday - log_startup_progress("Time ticker starting up.") - - if(!ticker) - ticker = new - - spawn(0) - if(ticker) - ticker.pregame() - -DECLARE_GLOBAL_CONTROLLER(ticker, tickerProcess) - -/datum/controller/process/ticker/doWork() - var/currentTime = world.timeofday - - if(currentTime < lastTickerTime) // check for midnight rollover - lastTickerTimeDuration = (currentTime - (lastTickerTime - TICKS_IN_DAY)) / TICKS_IN_SECOND - else - lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND - - lastTickerTime = currentTime - - ticker.process_decrepit() - -/datum/controller/process/ticker/proc/getLastTickerTimeDuration() - return lastTickerTimeDuration diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 12b5b0fd1a5..bd76d0575cb 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -787,7 +787,7 @@ config.sql_enabled = 0 log_config("WARNING: DB_CONFIG DEFINITION MISMATCH!") spawn(60) - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) going = 0 spawn(600) to_chat(world, "DB_CONFIG MISMATCH, ROUND START DELAYED.
Please check database version for recent upstream changes!
") diff --git a/code/controllers/master.dm b/code/controllers/master.dm index a9c7e0dbb7b..fa2465854f3 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -194,8 +194,8 @@ GLOBAL_REAL(Master, /datum/controller/master) = new to_chat(world, "[msg]") log_world(msg) - if(config.developer_express_start & ticker.current_state == GAME_STATE_PREGAME) - ticker.current_state = GAME_STATE_SETTING_UP + if(config.developer_express_start & SSticker.current_state == GAME_STATE_PREGAME) + SSticker.current_state = GAME_STATE_SETTING_UP if(!current_runlevel) SetRunLevel(1) diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 02f2681b22d..48fdf269b89 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -270,9 +270,9 @@ SUBSYSTEM_DEF(jobs) SetupOccupations() //Holder for Triumvirate is stored in the ticker, this just processes it - if(ticker) + if(SSticker) for(var/datum/job/ai/A in occupations) - if(ticker.triai) + if(SSticker.triai) A.spawn_positions = 3 //Get the players who are ready diff --git a/code/controllers/subsystem/nightshift.dm b/code/controllers/subsystem/nightshift.dm index 358076c5652..4ebe1dceb0e 100644 --- a/code/controllers/subsystem/nightshift.dm +++ b/code/controllers/subsystem/nightshift.dm @@ -20,7 +20,7 @@ SUBSYSTEM_DEF(nightshift) return ..() /datum/controller/subsystem/nightshift/fire(resumed = FALSE) - if(world.time - round_start_time < nightshift_first_check) + if(world.time - SSticker.round_start_time < nightshift_first_check) return check_nightshift() diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm index 30021df4fb1..a1ca9b5fdad 100644 --- a/code/controllers/subsystem/shuttles.dm +++ b/code/controllers/subsystem/shuttles.dm @@ -106,8 +106,8 @@ SUBSYSTEM_DEF(shuttle) return emergency = backup_shuttle - if(world.time - round_start_time < config.shuttle_refuel_delay) - to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.") + if(world.time - SSticker.round_start_time < config.shuttle_refuel_delay) + to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - SSticker.round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.") return switch(emergency.mode) @@ -169,7 +169,7 @@ SUBSYSTEM_DEF(shuttle) return if(!emergency.canRecall) return - if(ticker.mode.name == "meteor") + if(SSticker.mode.name == "meteor") return if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) if(emergency.timeLeft(1) < emergencyCallTime * 0.25) diff --git a/code/game/gamemodes/gameticker.dm b/code/controllers/subsystem/ticker.dm similarity index 87% rename from code/game/gamemodes/gameticker.dm rename to code/controllers/subsystem/ticker.dm index 972075ceece..0e67479b531 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -1,55 +1,64 @@ -var/global/datum/controller/gameticker/ticker -var/round_start_time = 0 +SUBSYSTEM_DEF(ticker) + name = "Ticker" + init_order = INIT_ORDER_TICKER -/datum/controller/gameticker + priority = FIRE_PRIORITY_TICKER + flags = SS_KEEP_TIMING + runlevels = RUNLEVEL_LOBBY | RUNLEVEL_SETUP | RUNLEVEL_GAME + // Time ticker related vars + var/lastTickerTimeDuration + var/lastTickerTime + // Game ticker related vars + var/round_start_time = 0 var/const/restart_timeout = 600 var/current_state = GAME_STATE_PREGAME var/force_ending = 0 - var/hide_mode = 0 // leave here at 0 ! setup() will take care of it when needed for Secret mode -walter0o var/datum/game_mode/mode = null var/event_time = null var/event = 0 - var/login_music // music played in pregame lobby - var/list/datum/mind/minds = list()//The people in the game. Used for objective tracking. - var/Bible_icon_state // icon_state the chaplain has chosen for his bible var/Bible_item_state // item_state the chaplain has chosen for his bible var/Bible_name // name of the bible var/Bible_deity_name - var/datum/cult_info/cultdat = null //here instead of cult for adminbus purposes - var/random_players = 0 // if set to nonzero, ALL players who latejoin or declare-ready join will have random appearances/genders - var/list/syndicate_coalition = list() // list of traitor-compatible factions var/list/factions = list() // list of all factions var/list/availablefactions = list() // list of factions with openings - var/tipped = FALSE //Did we broadcast the tip of the day yet? var/selected_tip // What will be the tip of the day? - - var/pregame_timeleft = 0 + var/pregame_timeleft = "Initializing" var/delay_end = 0 //if set to nonzero, the round will not restart on it's own - var/triai = 0//Global holder for Triumvirate var/initialtpass = 0 //holder for inital autotransfer vote timer - var/obj/screen/cinematic = null //used for station explosion cinematic - var/round_end_announced = 0 // Spam Prevention. Announce round end only once.\ - -/datum/controller/gameticker/proc/pregame() +/datum/controller/subsystem/ticker/Initialize() + lastTickerTime = world.timeofday login_music = pick(\ 'sound/music/thunderdome.ogg',\ 'sound/music/space.ogg',\ 'sound/music/title1.ogg',\ 'sound/music/title2.ogg',\ 'sound/music/title3.ogg',) - do + ..() + + +/datum/controller/subsystem/ticker/fire() + // This code is EXTREMELY important shit for checking midnight time rollover. Dont fuck with it + var/currentTime = world.timeofday + if(currentTime < lastTickerTime) + lastTickerTimeDuration = (currentTime - (lastTickerTime - TICKS_IN_DAY)) / TICKS_IN_SECOND + else + lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND + lastTickerTime = currentTime + + // Startup loop + if(current_state == GAME_STATE_PREGAME) pregame_timeleft = config.pregame_timestart to_chat(world, "Welcome to the pre-game lobby!") to_chat(world, "Please, setup your character and select ready. Game will start in [pregame_timeleft] seconds") @@ -63,11 +72,43 @@ var/round_start_time = 0 tipped = TRUE if(pregame_timeleft <= 0) - current_state = GAME_STATE_SETTING_UP - Master.SetRunLevel(RUNLEVEL_SETUP) - while(!setup()) + if(setup()) // Try to start the round + current_state = GAME_STATE_SETTING_UP + Master.SetRunLevel(RUNLEVEL_SETUP) + else // It didnt work, lets loop again + break + + // This makes sure the game keeps going + if(current_state != GAME_STATE_PLAYING) + return 0 -/datum/controller/gameticker/proc/votetimer() + mode.process() + mode.process_job_tasks() + var/game_finished = SSshuttle.emergency.mode >= SHUTTLE_ENDGAME || mode.station_was_nuked + if(config.continuous_rounds) + mode.check_finished() // some modes contain var-changing code in here, so call even if we don't uses result + else + game_finished |= mode.check_finished() + + if((!mode.explosion_in_progress && game_finished) || force_ending) + current_state = GAME_STATE_FINISHED + Master.SetRunLevel(RUNLEVEL_POSTGAME) + auto_toggle_ooc(1) // Turn it on + spawn + declare_completion() + + spawn(50) + callHook("roundend") + + if(mode.station_was_nuked) + world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") + else + world.Reboot("Round ended.", "end_proper", "proper completion") + + return 1 + + +/datum/controller/subsystem/ticker/proc/votetimer() var/timerbuffer = 0 if(initialtpass == 0) timerbuffer = config.vote_autotransfer_initial @@ -78,7 +119,8 @@ var/round_start_time = 0 initialtpass = 1 votetimer() -/datum/controller/gameticker/proc/setup() + +/datum/controller/subsystem/ticker/proc/setup() cultdat = setupcult() //Create and announce mode if(master_mode=="secret") @@ -252,9 +294,7 @@ var/round_start_time = 0 return 1 - //Plus it provides an easy way to make cinematics for other events. Just use this as a template :) -//Plus it provides an easy way to make cinematics for other events. Just use this as a template -/datum/controller/gameticker/proc/station_explosion_cinematic(station_missed = 0, override = null) +/datum/controller/subsystem/ticker/proc/station_explosion_cinematic(station_missed = 0, override = null) if(cinematic) return //already a cinematic in progress! @@ -350,7 +390,7 @@ var/round_start_time = 0 -/datum/controller/gameticker/proc/create_characters() +/datum/controller/subsystem/ticker/proc/create_characters() for(var/mob/new_player/player in GLOB.player_list) if(player.ready && player.mind) if(player.mind.assigned_role == "AI") @@ -364,13 +404,13 @@ var/round_start_time = 0 qdel(player) -/datum/controller/gameticker/proc/collect_minds() +/datum/controller/subsystem/ticker/proc/collect_minds() for(var/mob/living/player in GLOB.player_list) if(player.mind) - ticker.minds += player.mind + SSticker.minds += player.mind -/datum/controller/gameticker/proc/equip_characters() +/datum/controller/subsystem/ticker/proc/equip_characters() var/captainless=1 for(var/mob/living/carbon/human/player in GLOB.player_list) if(player && player.mind && player.mind.assigned_role) @@ -385,7 +425,7 @@ var/round_start_time = 0 if(!istype(M,/mob/new_player)) to_chat(M, "Captainship not forced on anyone.") -/datum/controller/gameticker/proc/send_tip_of_the_round() +/datum/controller/subsystem/ticker/proc/send_tip_of_the_round() var/m if(selected_tip) m = selected_tip @@ -400,45 +440,13 @@ var/round_start_time = 0 if(m) to_chat(world, "Tip of the round: [html_encode(m)]") -/datum/controller/gameticker/proc/process_decrepit() - if(current_state != GAME_STATE_PLAYING) - return 0 - - mode.process() - mode.process_job_tasks() - - //emergency_shuttle.process() DONE THROUGH PROCESS SCHEDULER - - var/game_finished = SSshuttle.emergency.mode >= SHUTTLE_ENDGAME || mode.station_was_nuked - if(config.continuous_rounds) - mode.check_finished() // some modes contain var-changing code in here, so call even if we don't uses result - else - game_finished |= mode.check_finished() - - if((!mode.explosion_in_progress && game_finished) || force_ending) - current_state = GAME_STATE_FINISHED - Master.SetRunLevel(RUNLEVEL_POSTGAME) - auto_toggle_ooc(1) // Turn it on - spawn - declare_completion() - - spawn(50) - callHook("roundend") - - if(mode.station_was_nuked) - world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") - else - world.Reboot("Round ended.", "end_proper", "proper completion") - - return 1 - -/datum/controller/gameticker/proc/getfactionbyname(var/name) +/datum/controller/subsystem/ticker/proc/getfactionbyname(var/name) for(var/datum/faction/F in factions) if(F.name == name) return F -/datum/controller/gameticker/proc/declare_completion() +/datum/controller/subsystem/ticker/proc/declare_completion() nologevent = 1 //end of round murder and shenanigans are legal; there's no need to jam up attack logs past this point. //Round statistics report var/datum/station_state/end_state = new /datum/station_state() @@ -483,9 +491,9 @@ var/round_start_time = 0 if(dronecount) to_chat(world, "There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] this round.") - if(ticker.mode.eventmiscs.len) + if(mode.eventmiscs.len) var/emobtext = "" - for(var/datum/mind/eventmind in ticker.mode.eventmiscs) + for(var/datum/mind/eventmind in mode.eventmiscs) emobtext += printeventplayer(eventmind) emobtext += "
" emobtext += printobjectives(eventmind) @@ -516,5 +524,6 @@ var/round_start_time = 0 return 1 -/datum/controller/gameticker/proc/HasRoundStarted() +/datum/controller/subsystem/ticker/proc/HasRoundStarted() return current_state >= GAME_STATE_PLAYING + diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 4b267fe757f..27d499254a1 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -19,7 +19,7 @@ SUBSYSTEM_DEF(vote) /datum/controller/subsystem/vote/fire() if(mode) // No more change mode votes after the game has started. - if(mode == "gamemode" && ticker.current_state >= GAME_STATE_SETTING_UP) + if(mode == "gamemode" && SSticker.current_state >= GAME_STATE_SETTING_UP) to_chat(world, "Voting aborted due to game start.") reset() return @@ -125,7 +125,7 @@ SUBSYSTEM_DEF(vote) var/text if(winners.len > 0) if(winners.len > 1) - if(mode != "gamemode" || ticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes + if(mode != "gamemode" || SSticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes text = "Vote Tied Between:\n" for(var/option in winners) text += "\t[option]\n" @@ -134,7 +134,7 @@ SUBSYSTEM_DEF(vote) for(var/key in current_votes) if(choices[current_votes[key]] == .) round_voters += key // Keep track of who voted for the winning round. - if(mode == "gamemode" && (. == "extended" || ticker.hide_mode == 0)) // Announce Extended gamemode, but not other gamemodes + if(mode == "gamemode" && (. == "extended" || SSticker.hide_mode == 0)) // Announce Extended gamemode, but not other gamemodes text += "Vote Result: [.] ([choices[.]] vote\s)" else if(mode == "custom") @@ -166,7 +166,7 @@ SUBSYSTEM_DEF(vote) if("gamemode") if(master_mode != .) world.save_mode(.) - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) restart = 1 else master_mode = . @@ -208,17 +208,17 @@ SUBSYSTEM_DEF(vote) if("restart") choices.Add("Restart Round","Continue Playing") if("gamemode") - if(ticker.current_state >= 2) + if(SSticker.current_state >= 2) return 0 choices.Add(config.votable_modes) if("crew_transfer") if(check_rights(R_ADMIN|R_MOD)) - if(ticker.current_state <= 2) + if(SSticker.current_state <= 2) return 0 question = "End the shift?" choices.Add("Initiate Crew Transfer", "Continue The Round") else - if(ticker.current_state <= 2) + if(SSticker.current_state <= 2) return 0 question = "End the shift?" choices.Add("Initiate Crew Transfer", "Continue The Round") diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index eeef65bd2e2..5f009f2d6e4 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -36,7 +36,7 @@ debug_variables(Master) feedback_add_details("admin_verb","Dsmc") if("Ticker") - debug_variables(ticker) + debug_variables(SSticker) feedback_add_details("admin_verb","DTicker") if("Air") debug_variables(SSair) diff --git a/code/datums/cache/air_alarm.dm b/code/datums/cache/air_alarm.dm index a4b3ee21c56..a4d012df464 100644 --- a/code/datums/cache/air_alarm.dm +++ b/code/datums/cache/air_alarm.dm @@ -11,7 +11,7 @@ var/global/datum/repository/air_alarm/air_alarm_repository = new() if(!refresh) return cache_entry.data - if(ticker && ticker.current_state < GAME_STATE_PLAYING && istype(passed_alarm)) // Generating the list for the first time as the game hasn't started - no need to run through the machines list everything every time + if(SSticker && SSticker.current_state < GAME_STATE_PLAYING && istype(passed_alarm)) // Generating the list for the first time as the game hasn't started - no need to run through the machines list everything every time alarms = cache_entry.data // Don't deleate the list if(is_station_contact(passed_alarm.z)) // Still need sanity checks alarms[++alarms.len] = passed_alarm.get_nano_data_console() diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 2dd2d72a816..e5948a47e30 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -93,8 +93,8 @@ var/datum/atom_hud/huds = list( \ // gang_huds += G.ganghud var/serv_huds = list()//mindslaves and/or vampire thralls - if(ticker.mode) - for(var/datum/mindslaves/serv in (ticker.mode.vampires | ticker.mode.traitors)) + if(SSticker.mode) + for(var/datum/mindslaves/serv in (SSticker.mode.vampires | SSticker.mode.traitors)) serv_huds += serv.thrallhud diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 65b3940cde2..c20ded784a1 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -84,7 +84,7 @@ soulOwner = src /datum/mind/Destroy() - ticker.minds -= src + SSticker.minds -= src if(islist(antag_datums)) for(var/i in antag_datums) var/datum/antagonist/antag_datum = i @@ -163,7 +163,7 @@ /datum/mind/proc/_memory_edit_header(gamemode, list/alt) . = gamemode - if(ticker.mode.config_tag == gamemode || (LAZYLEN(alt) && (ticker.mode.config_tag in alt))) + if(SSticker.mode.config_tag == gamemode || (LAZYLEN(alt) && (SSticker.mode.config_tag in alt))) . = uppertext(.) . = "[.]: " @@ -183,7 +183,7 @@ . = _memory_edit_header("revolution") if(ismindshielded(H)) . += "NO|headrev|rev" - else if(src in ticker.mode.head_revolutionaries) + else if(src in SSticker.mode.head_revolutionaries) . += "no|HEADREV|rev" . += "
Flash: give" @@ -200,7 +200,7 @@ . += " Reequip (gives traitor uplink)." if(objectives.len==0) . += "
Objectives are empty! Set to kill all heads." - else if(src in ticker.mode.revolutionaries) + else if(src in SSticker.mode.revolutionaries) . += "no|headrev|REV" else . += "NO|headrev|rev" @@ -211,7 +211,7 @@ . = _memory_edit_header("cult") if(ismindshielded(H)) . += "NO|cultist" - else if(src in ticker.mode.cult) + else if(src in SSticker.mode.cult) . += "no|CULTIST" . += "
Give tome|equip." else @@ -221,7 +221,7 @@ /datum/mind/proc/memory_edit_wizard(mob/living/carbon/human/H) . = _memory_edit_header("wizard") - if(src in ticker.mode.wizards) + if(src in SSticker.mode.wizards) . += "WIZARD|no" . += "
To lair, undress, dress up, let choose name." if(objectives.len==0) @@ -233,7 +233,7 @@ /datum/mind/proc/memory_edit_changeling(mob/living/carbon/human/H) . = _memory_edit_header("changeling", list("traitorchan")) - if(src in ticker.mode.changelings) + if(src in SSticker.mode.changelings) . += "CHANGELING|no" if(objectives.len==0) . += "
Objectives are empty! Randomize!" @@ -246,7 +246,7 @@ /datum/mind/proc/memory_edit_vampire(mob/living/carbon/human/H) . = _memory_edit_header("vampire", list("traitorvamp")) - if(src in ticker.mode.vampires) + if(src in SSticker.mode.vampires) . += "VAMPIRE|no" if(objectives.len==0) . += "
Objectives are empty! Randomize!" @@ -256,14 +256,14 @@ . += _memory_edit_role_enabled(ROLE_VAMPIRE) /** Enthralled ***/ . += "
enthralled: " - if(src in ticker.mode.vampire_enthralled) + if(src in SSticker.mode.vampire_enthralled) . += "THRALL|no" else . += "thrall|NO" /datum/mind/proc/memory_edit_nuclear(mob/living/carbon/human/H) . = _memory_edit_header("nuclear") - if(src in ticker.mode.syndicates) + if(src in SSticker.mode.syndicates) . += "OPERATIVE|no" . += "
To shuttle, undress, dress up." var/code @@ -280,9 +280,9 @@ /datum/mind/proc/memory_edit_shadowling(mob/living/carbon/human/H) . = _memory_edit_header("shadowling") - if(src in ticker.mode.shadows) + if(src in SSticker.mode.shadows) . += "SHADOWLING|thrall|no" - else if(src in ticker.mode.shadowling_thralls) + else if(src in SSticker.mode.shadowling_thralls) . += "Shadowling|THRALL|no" else . += "shadowling|thrall|NO" @@ -291,7 +291,7 @@ /datum/mind/proc/memory_edit_abductor(mob/living/carbon/human/H) . = _memory_edit_header("abductor") - if(src in ticker.mode.abductors) + if(src in SSticker.mode.abductors) . += "ABDUCTOR|no" . += "|undress|equip" else @@ -301,14 +301,14 @@ /datum/mind/proc/memory_edit_devil(mob/living/H) . = _memory_edit_header("devil", list("devilagents")) - if(src in ticker.mode.devils) + if(src in SSticker.mode.devils) if(!devilinfo) . += "No devilinfo found! Yell at a coder!" else if(!devilinfo.ascendable) . += "DEVIL|Ascendable Devil|sintouched|no" else . += "DEVIL|ASCENDABLE DEVIL|sintouched|no" - else if(src in ticker.mode.sintouched) + else if(src in SSticker.mode.sintouched) . += "devil|Ascendable Devil|SINTOUCHED|no" else . += "devil|Ascendable Devil|sintouched|NO" @@ -317,14 +317,14 @@ /datum/mind/proc/memory_edit_eventmisc(mob/living/H) . = _memory_edit_header("event", list()) - if(src in ticker.mode.eventmiscs) + if(src in SSticker.mode.eventmiscs) . += "YES|no" else . += "Event Role|NO" /datum/mind/proc/memory_edit_traitor() . = _memory_edit_header("traitor", list("traitorchan", "traitorvamp")) - if(src in ticker.mode.traitors) + if(src in SSticker.mode.traitors) . += "TRAITOR|no" if(objectives.len==0) . += "
Objectives are empty! Randomize!" @@ -348,9 +348,9 @@ /datum/mind/proc/memory_edit_uplink() . = "" - if(ishuman(current) && ((src in ticker.mode.head_revolutionaries) || \ - (src in ticker.mode.traitors) || \ - (src in ticker.mode.syndicates))) + if(ishuman(current) && ((src in SSticker.mode.head_revolutionaries) || \ + (src in SSticker.mode.traitors) || \ + (src in SSticker.mode.syndicates))) . = "Uplink: give" var/obj/item/uplink/hidden/suplink = find_syndicate_uplink() var/crystals @@ -366,7 +366,7 @@ // ^ whoever left this comment is literally a grammar nazi. stalin better. in russia grammar correct you. /datum/mind/proc/edit_memory() - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) alert("Not before round-start!", "Alert") return @@ -419,7 +419,7 @@ This prioritizes antags relevant to the current round to make them appear at the top of the panel. Traitorchan and traitorvamp are snowflaked in because they have multiple sections. */ - if(ticker.mode.config_tag == "traitorchan") + if(SSticker.mode.config_tag == "traitorchan") if(sections["traitor"]) out += sections["traitor"] + "
" if(sections["changeling"]) @@ -427,7 +427,7 @@ sections -= "traitor" sections -= "changeling" // Elif technically unnecessary but it makes the following else look better - else if(ticker.mode.config_tag == "traitorvamp") + else if(SSticker.mode.config_tag == "traitorvamp") if(sections["traitor"]) out += sections["traitor"] + "
" if(sections["vampire"]) @@ -435,9 +435,9 @@ sections -= "traitor" sections -= "vampire" else - if(sections[ticker.mode.config_tag]) - out += sections[ticker.mode.config_tag] + "
" - sections -= ticker.mode.config_tag + if(sections[SSticker.mode.config_tag]) + out += sections[SSticker.mode.config_tag] + "
" + sections -= SSticker.mode.config_tag for(var/i in sections) if(sections[i]) @@ -512,7 +512,7 @@ var/objective_type = "[objective_type_capital][objective_type_text]"//Add them together into a text string. var/list/possible_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if((possible_target != src) && istype(possible_target.current, /mob/living/carbon/human)) possible_targets += possible_target.current @@ -612,7 +612,7 @@ if("identity theft") var/list/possible_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if((possible_target != src) && ishuman(possible_target.current)) possible_targets += possible_target possible_targets = sortAtom(possible_targets) @@ -687,19 +687,19 @@ message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield implant") to_chat(H, "You somehow have become the recepient of a mindshield transplant, and it just activated!") - if(src in ticker.mode.revolutionaries) + if(src in SSticker.mode.revolutionaries) special_role = null - ticker.mode.revolutionaries -= src + SSticker.mode.revolutionaries -= src to_chat(src, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") - if(src in ticker.mode.head_revolutionaries) + if(src in SSticker.mode.head_revolutionaries) special_role = null - ticker.mode.head_revolutionaries -=src + SSticker.mode.head_revolutionaries -=src to_chat(src, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") - if(src in ticker.mode.cult) - ticker.mode.cult -= src - ticker.mode.update_cult_icons_removed(src) + if(src in SSticker.mode.cult) + SSticker.mode.cult -= src + SSticker.mode.update_cult_icons_removed(src) special_role = null - var/datum/game_mode/cult/cult = ticker.mode + var/datum/game_mode/cult/cult = SSticker.mode if(istype(cult)) cult.memorize_cult_objectives(src) to_chat(current, "The nanobots in the mindshield implant remove all thoughts about being in a cult. Have a productive day!") @@ -709,46 +709,46 @@ switch(href_list["revolution"]) if("clear") - if(src in ticker.mode.revolutionaries) - ticker.mode.revolutionaries -= src + if(src in SSticker.mode.revolutionaries) + SSticker.mode.revolutionaries -= src to_chat(current, "You have been brainwashed! You are no longer a revolutionary!") - ticker.mode.update_rev_icons_removed(src) + SSticker.mode.update_rev_icons_removed(src) special_role = null - if(src in ticker.mode.head_revolutionaries) - ticker.mode.head_revolutionaries -= src + if(src in SSticker.mode.head_revolutionaries) + SSticker.mode.head_revolutionaries -= src to_chat(current, "You have been brainwashed! You are no longer a head revolutionary!") - ticker.mode.update_rev_icons_removed(src) + SSticker.mode.update_rev_icons_removed(src) special_role = null log_admin("[key_name(usr)] has de-rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has de-rev'd [key_name_admin(current)]") if("rev") - if(src in ticker.mode.head_revolutionaries) - ticker.mode.head_revolutionaries -= src - ticker.mode.update_rev_icons_removed(src) + if(src in SSticker.mode.head_revolutionaries) + SSticker.mode.head_revolutionaries -= src + SSticker.mode.update_rev_icons_removed(src) to_chat(current, "Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!") - else if(!(src in ticker.mode.revolutionaries)) + else if(!(src in SSticker.mode.revolutionaries)) to_chat(current, " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!") else return - ticker.mode.revolutionaries += src - ticker.mode.update_rev_icons_added(src) + SSticker.mode.revolutionaries += src + SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_REV log_admin("[key_name(usr)] has rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has rev'd [key_name_admin(current)]") if("headrev") - if(src in ticker.mode.revolutionaries) - ticker.mode.revolutionaries -= src - ticker.mode.update_rev_icons_removed(src) + if(src in SSticker.mode.revolutionaries) + SSticker.mode.revolutionaries -= src + SSticker.mode.update_rev_icons_removed(src) to_chat(current, "You have proven your devotion to revolution! You are a head revolutionary now!") - else if(!(src in ticker.mode.head_revolutionaries)) + else if(!(src in SSticker.mode.head_revolutionaries)) to_chat(current, "You are a member of the revolutionaries' leadership now!") else return - if(ticker.mode.head_revolutionaries.len>0) + if(SSticker.mode.head_revolutionaries.len>0) // copy targets - var/datum/mind/valid_head = locate() in ticker.mode.head_revolutionaries + var/datum/mind/valid_head = locate() in SSticker.mode.head_revolutionaries if(valid_head) for(var/datum/objective/mutiny/O in valid_head.objectives) var/datum/objective/mutiny/rev_obj = new @@ -756,21 +756,21 @@ rev_obj.target = O.target rev_obj.explanation_text = "Assassinate [O.target.name], the [O.target.assigned_role]." objectives += rev_obj - ticker.mode.greet_revolutionary(src,0) - ticker.mode.head_revolutionaries += src - ticker.mode.update_rev_icons_added(src) + SSticker.mode.greet_revolutionary(src,0) + SSticker.mode.head_revolutionaries += src + SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_HEAD_REV log_admin("[key_name(usr)] has head-rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has head-rev'd [key_name_admin(current)]") if("autoobjectives") - ticker.mode.forge_revolutionary_objectives(src) - ticker.mode.greet_revolutionary(src,0) + SSticker.mode.forge_revolutionary_objectives(src) + SSticker.mode.greet_revolutionary(src,0) log_admin("[key_name(usr)] has automatically forged revolutionary objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged revolutionary objectives for [key_name_admin(current)]") if("flash") - if(!ticker.mode.equip_revolutionary(current)) + if(!SSticker.mode.equip_revolutionary(current)) to_chat(usr, "Spawning flash failed!") log_admin("[key_name(usr)] has given [key_name(current)] a flash") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash") @@ -800,8 +800,8 @@ qdel(flash) take_uplink() var/fail = 0 - fail |= !ticker.mode.equip_traitor(current, 1) - fail |= !ticker.mode.equip_revolutionary(current) + fail |= !SSticker.mode.equip_traitor(current, 1) + fail |= !SSticker.mode.equip_revolutionary(current) if(fail) to_chat(usr, "Reequipping revolutionary goes wrong!") return @@ -811,17 +811,17 @@ else if(href_list["cult"]) switch(href_list["cult"]) if("clear") - if(src in ticker.mode.cult) - ticker.mode.remove_cultist(src) + if(src in SSticker.mode.cult) + SSticker.mode.remove_cultist(src) special_role = null log_admin("[key_name(usr)] has de-culted [key_name(current)]") message_admins("[key_name_admin(usr)] has de-culted [key_name_admin(current)]") if("cultist") - if(!(src in ticker.mode.cult)) - ticker.mode.add_cultist(src) + if(!(src in SSticker.mode.cult)) + SSticker.mode.add_cultist(src) special_role = SPECIAL_ROLE_CULTIST - to_chat(current, "You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].") - to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.cultdat.entity_title2] above all else. Bring It back.") + to_chat(current, "You catch a glimpse of the Realm of [SSticker.cultdat.entity_name], [SSticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [SSticker.cultdat.entity_name].") + to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [SSticker.cultdat.entity_title2] above all else. Bring It back.") log_admin("[key_name(usr)] has culted [key_name(current)]") message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]") if("tome") @@ -846,7 +846,7 @@ message_admins("[key_name_admin(usr)] has spawned a tome for [key_name_admin(current)]") if("equip") - if(!ticker.mode.equip_cultist(current)) + if(!SSticker.mode.equip_cultist(current)) to_chat(usr, "Spawning equipment failed!") log_admin("[key_name(usr)] has equipped [key_name(current)] as a cultist") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a cultist") @@ -855,21 +855,21 @@ switch(href_list["wizard"]) if("clear") - if(src in ticker.mode.wizards) - ticker.mode.wizards -= src + if(src in SSticker.mode.wizards) + SSticker.mode.wizards -= src special_role = null current.spellremove(current) current.faction = list("Station") - ticker.mode.update_wiz_icons_removed(src) + SSticker.mode.update_wiz_icons_removed(src) to_chat(current, "You have been brainwashed! You are no longer a wizard!") log_admin("[key_name(usr)] has de-wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has de-wizarded [key_name_admin(current)]") if("wizard") - if(!(src in ticker.mode.wizards)) - ticker.mode.wizards += src + if(!(src in SSticker.mode.wizards)) + SSticker.mode.wizards += src special_role = SPECIAL_ROLE_WIZARD //ticker.mode.learn_basic_spells(current) - ticker.mode.update_wiz_icons_added(src) + SSticker.mode.update_wiz_icons_added(src) SEND_SOUND(current, 'sound/ambience/antag/ragesmages.ogg') to_chat(current, "You are a Space Wizard!") current.faction = list("wizard") @@ -880,15 +880,15 @@ log_admin("[key_name(usr)] has moved [key_name(current)] to the wizard's lair") message_admins("[key_name_admin(usr)] has moved [key_name_admin(current)] to the wizard's lair") if("dressup") - ticker.mode.equip_wizard(current) + SSticker.mode.equip_wizard(current) log_admin("[key_name(usr)] has equipped [key_name(current)] as a wizard") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a wizard") if("name") - ticker.mode.name_wizard(current) + SSticker.mode.name_wizard(current) log_admin("[key_name(usr)] has allowed wizard [key_name(current)] to name themselves") message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves") if("autoobjectives") - ticker.mode.forge_wizard_objectives(src) + SSticker.mode.forge_wizard_objectives(src) to_chat(usr, "The objectives for wizard [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]") @@ -897,20 +897,20 @@ else if(href_list["changeling"]) switch(href_list["changeling"]) if("clear") - if(src in ticker.mode.changelings) - ticker.mode.changelings -= src + if(src in SSticker.mode.changelings) + SSticker.mode.changelings -= src special_role = null current.remove_changeling_powers() - ticker.mode.update_change_icons_removed(src) + SSticker.mode.update_change_icons_removed(src) if(changeling) qdel(changeling) to_chat(current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!") log_admin("[key_name(usr)] has de-changelinged [key_name(current)]") message_admins("[key_name_admin(usr)] has de-changelinged [key_name_admin(current)]") if("changeling") - if(!(src in ticker.mode.changelings)) - ticker.mode.changelings += src - ticker.mode.grant_changeling_powers(current) - ticker.mode.update_change_icons_added(src) + if(!(src in SSticker.mode.changelings)) + SSticker.mode.changelings += src + SSticker.mode.grant_changeling_powers(current) + SSticker.mode.update_change_icons_added(src) special_role = SPECIAL_ROLE_CHANGELING SEND_SOUND(current, 'sound/ambience/antag/ling_aler.ogg') to_chat(current, "Your powers have awoken. A flash of memory returns to us... we are a changeling!") @@ -918,7 +918,7 @@ message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]") if("autoobjectives") - ticker.mode.forge_changeling_objectives(src) + SSticker.mode.forge_changeling_objectives(src) to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -937,22 +937,22 @@ else if(href_list["vampire"]) switch(href_list["vampire"]) if("clear") - if(src in ticker.mode.vampires) - ticker.mode.vampires -= src + if(src in SSticker.mode.vampires) + SSticker.mode.vampires -= src special_role = null if(vampire) vampire.remove_vampire_powers() qdel(vampire) vampire = null - ticker.mode.update_vampire_icons_removed(src) + SSticker.mode.update_vampire_icons_removed(src) to_chat(current, "You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!") log_admin("[key_name(usr)] has de-vampired [key_name(current)]") message_admins("[key_name_admin(usr)] has de-vampired [key_name_admin(current)]") if("vampire") - if(!(src in ticker.mode.vampires)) - ticker.mode.vampires += src - ticker.mode.grant_vampire_powers(current) - ticker.mode.update_vampire_icons_added(src) + if(!(src in SSticker.mode.vampires)) + SSticker.mode.vampires += src + SSticker.mode.grant_vampire_powers(current) + SSticker.mode.update_vampire_icons_added(src) var/datum/mindslaves/slaved = new() slaved.masters += src som = slaved //we MIGT want to mindslave someone @@ -963,7 +963,7 @@ message_admins("[key_name_admin(usr)] has vampired [key_name_admin(current)]") if("autoobjectives") - ticker.mode.forge_vampire_objectives(src) + SSticker.mode.forge_vampire_objectives(src) to_chat(usr, "The objectives for vampire [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -971,8 +971,8 @@ else if(href_list["vampthrall"]) switch(href_list["vampthrall"]) if("clear") - if(src in ticker.mode.vampire_enthralled) - ticker.mode.remove_vampire_mind(src) + if(src in SSticker.mode.vampire_enthralled) + SSticker.mode.remove_vampire_mind(src) log_admin("[key_name(usr)] has de-vampthralled [key_name(current)]") message_admins("[key_name_admin(usr)] has de-vampthralled [key_name_admin(current)]") @@ -981,9 +981,9 @@ switch(href_list["nuclear"]) if("clear") - if(src in ticker.mode.syndicates) - ticker.mode.syndicates -= src - ticker.mode.update_synd_icons_removed(src) + if(src in SSticker.mode.syndicates) + SSticker.mode.syndicates -= src + SSticker.mode.update_synd_icons_removed(src) special_role = null for(var/datum/objective/nuclear/O in objectives) objectives-=O @@ -992,17 +992,17 @@ log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]") message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]") if("nuclear") - if(!(src in ticker.mode.syndicates)) - ticker.mode.syndicates += src - ticker.mode.update_synd_icons_added(src) - if(ticker.mode.syndicates.len==1) - ticker.mode.prepare_syndicate_leader(src) + if(!(src in SSticker.mode.syndicates)) + SSticker.mode.syndicates += src + SSticker.mode.update_synd_icons_added(src) + if(SSticker.mode.syndicates.len==1) + SSticker.mode.prepare_syndicate_leader(src) else - current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" + current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]" special_role = SPECIAL_ROLE_NUKEOPS to_chat(current, "You are a [syndicate_name()] agent!") - ticker.mode.forge_syndicate_objectives(src) - ticker.mode.greet_syndicate(src) + SSticker.mode.forge_syndicate_objectives(src) + SSticker.mode.greet_syndicate(src) log_admin("[key_name(usr)] has nuke op'd [key_name(current)]") message_admins("[key_name_admin(usr)] has nuke op'd [key_name_admin(current)]") if("lair") @@ -1022,10 +1022,10 @@ qdel(H.wear_suit) qdel(H.w_uniform) - if(!ticker.mode.equip_syndicate(current)) + if(!SSticker.mode.equip_syndicate(current)) to_chat(usr, "Equipping a syndicate failed!") return - ticker.mode.update_syndicate_id(current.mind, ticker.mode.syndicates.len == 1) + SSticker.mode.update_syndicate_id(current.mind, SSticker.mode.syndicates.len == 1) log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a nuclear operative") @@ -1046,27 +1046,27 @@ else if(href_list["eventmisc"]) switch(href_list["eventmisc"]) if("clear") - if(src in ticker.mode.eventmiscs) - ticker.mode.eventmiscs -= src - ticker.mode.update_eventmisc_icons_removed(src) + if(src in SSticker.mode.eventmiscs) + SSticker.mode.eventmiscs -= src + SSticker.mode.update_eventmisc_icons_removed(src) special_role = null message_admins("[key_name_admin(usr)] has de-eventantag'ed [current].") log_admin("[key_name(usr)] has de-eventantag'ed [current].") if("eventmisc") - ticker.mode.eventmiscs += src + SSticker.mode.eventmiscs += src special_role = SPECIAL_ROLE_EVENTMISC - ticker.mode.update_eventmisc_icons_added(src) + SSticker.mode.update_eventmisc_icons_added(src) message_admins("[key_name_admin(usr)] has eventantag'ed [current].") log_admin("[key_name(usr)] has eventantag'ed [current].") else if(href_list["devil"]) switch(href_list["devil"]) if("clear") - if(src in ticker.mode.devils) + if(src in SSticker.mode.devils) if(istype(current,/mob/living/carbon/true_devil/)) to_chat(usr,"This cannot be used on true or arch-devils.") else - ticker.mode.devils -= src - ticker.mode.update_devil_icons_removed(src) + SSticker.mode.devils -= src + SSticker.mode.update_devil_icons_removed(src) special_role = null to_chat(current,"Your infernal link has been severed! You are no longer a devil!") RemoveSpell(/obj/effect/proc_holder/spell/targeted/infernal_jaunt) @@ -1085,8 +1085,8 @@ S.laws.clear_sixsixsix_laws() devilinfo = null log_admin("[key_name(usr)] has de-devil'ed [current].") - else if(src in ticker.mode.sintouched) - ticker.mode.sintouched -= src + else if(src in SSticker.mode.sintouched) + SSticker.mode.sintouched -= src message_admins("[key_name_admin(usr)] has de-sintouch'ed [current].") log_admin("[key_name(usr)] has de-sintouch'ed [current].") if("devil") @@ -1098,12 +1098,12 @@ if(!ishuman(current) && !isrobot(current)) to_chat(usr, "This only works on humans and cyborgs!") return - ticker.mode.devils += src + SSticker.mode.devils += src special_role = "devil" - ticker.mode.update_devil_icons_added(src) - ticker.mode.finalize_devil(src, FALSE) - ticker.mode.forge_devil_objectives(src, 2) - ticker.mode.greet_devil(src) + SSticker.mode.update_devil_icons_added(src) + SSticker.mode.finalize_devil(src, FALSE) + SSticker.mode.forge_devil_objectives(src, 2) + SSticker.mode.greet_devil(src) message_admins("[key_name_admin(usr)] has devil'ed [current].") log_admin("[key_name(usr)] has devil'ed [current].") if("ascendable_devil") @@ -1115,12 +1115,12 @@ if(!ishuman(current) && !isrobot(current)) to_chat(usr, "This only works on humans and cyborgs!") return - ticker.mode.devils += src + SSticker.mode.devils += src special_role = "devil" - ticker.mode.update_devil_icons_added(src) - ticker.mode.finalize_devil(src, TRUE) - ticker.mode.forge_devil_objectives(src, 2) - ticker.mode.greet_devil(src) + SSticker.mode.update_devil_icons_added(src) + SSticker.mode.finalize_devil(src, TRUE) + SSticker.mode.forge_devil_objectives(src, 2) + SSticker.mode.greet_devil(src) message_admins("[key_name_admin(usr)] has devil'ed [current]. The devil has been marked as ascendable.") log_admin("[key_name(usr)] has devil'ed [current]. The devil has been marked as ascendable.") if("sintouched") @@ -1132,8 +1132,8 @@ else if(href_list["traitor"]) switch(href_list["traitor"]) if("clear") - if(src in ticker.mode.traitors) - ticker.mode.traitors -= src + if(src in SSticker.mode.traitors) + SSticker.mode.traitors -= src special_role = null to_chat(current, "You have been brainwashed! You are no longer a traitor!") log_admin("[key_name(usr)] has de-traitored [key_name(current)]") @@ -1145,12 +1145,12 @@ A.verbs -= /mob/living/silicon/ai/proc/choose_modules A.malf_picker.remove_verbs(A) qdel(A.malf_picker) - ticker.mode.update_traitor_icons_removed(src) + SSticker.mode.update_traitor_icons_removed(src) if("traitor") - if(!(src in ticker.mode.traitors)) - ticker.mode.traitors += src + if(!(src in SSticker.mode.traitors)) + SSticker.mode.traitors += src var/datum/mindslaves/slaved = new() slaved.masters += src som = slaved //we MIGT want to mindslave someone @@ -1160,14 +1160,14 @@ message_admins("[key_name_admin(usr)] has traitored [key_name_admin(current)]") if(isAI(current)) var/mob/living/silicon/ai/A = current - ticker.mode.add_law_zero(A) + SSticker.mode.add_law_zero(A) SEND_SOUND(current, 'sound/ambience/antag/malf.ogg') else SEND_SOUND(current, 'sound/ambience/antag/tatoralert.ogg') - ticker.mode.update_traitor_icons_added(src) + SSticker.mode.update_traitor_icons_added(src) if("autoobjectives") - ticker.mode.forge_traitor_objectives(src) + SSticker.mode.forge_traitor_objectives(src) to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -1175,17 +1175,17 @@ else if(href_list["shadowling"]) switch(href_list["shadowling"]) if("clear") - ticker.mode.update_shadow_icons_removed(src) - if(src in ticker.mode.shadows) - ticker.mode.shadows -= src + SSticker.mode.update_shadow_icons_removed(src) + if(src in SSticker.mode.shadows) + SSticker.mode.shadows -= src special_role = null to_chat(current, "Your powers have been quenched! You are no longer a shadowling!") message_admins("[key_name_admin(usr)] has de-shadowlinged [current].") log_admin("[key_name(usr)] has de-shadowlinged [current].") current.spellremove(current) current.remove_language("Shadowling Hivemind") - else if(src in ticker.mode.shadowling_thralls) - ticker.mode.remove_thrall(src,0) + else if(src in SSticker.mode.shadowling_thralls) + SSticker.mode.remove_thrall(src,0) message_admins("[key_name_admin(usr)] has de-thrall'ed [current].") log_admin("[key_name(usr)] has de-thralled [key_name(current)]") message_admins("[key_name_admin(usr)] has de-thralled [key_name_admin(current)]") @@ -1193,20 +1193,20 @@ if(!ishuman(current)) to_chat(usr, "This only works on humans!") return - ticker.mode.shadows += src + SSticker.mode.shadows += src special_role = SPECIAL_ROLE_SHADOWLING to_chat(current, "Something stirs deep in your mind. A red light floods your vision, and slowly you remember. Though your human disguise has served you well, the \ time is nigh to cast it off and enter your true form. You have disguised yourself amongst the humans, but you are not one of them. You are a shadowling, and you are to ascend at all costs.\ ") - ticker.mode.finalize_shadowling(src) - ticker.mode.update_shadow_icons_added(src) + SSticker.mode.finalize_shadowling(src) + SSticker.mode.update_shadow_icons_added(src) log_admin("[key_name(usr)] has shadowlinged [key_name(current)]") message_admins("[key_name_admin(usr)] has shadowlinged [key_name_admin(current)]") if("thrall") if(!ishuman(current)) to_chat(usr, "This only works on humans!") return - ticker.mode.add_thrall(src) + SSticker.mode.add_thrall(src) message_admins("[key_name_admin(usr)] has thralled [current].") log_admin("[key_name(usr)] has thralled [current].") @@ -1221,7 +1221,7 @@ return make_Abductor() log_admin("[key_name(usr)] turned [current] into abductor.") - ticker.mode.update_abductor_icons_added(src) + SSticker.mode.update_abductor_icons_added(src) if("equip") if(!ishuman(current)) to_chat(usr, "This only works on humans!") @@ -1306,7 +1306,7 @@ log_admin("[key_name(usr)] has set [key_name(current)]'s telecrystals to [crystals]") message_admins("[key_name_admin(usr)] has set [key_name_admin(current)]'s telecrystals to [crystals]") if("uplink") - if(!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors))) + if(!SSticker.mode.equip_traitor(current, !(src in SSticker.mode.traitors))) to_chat(usr, "Equipping a syndicate failed!") return log_admin("[key_name(usr)] has given [key_name(current)] an uplink") @@ -1392,27 +1392,27 @@ qdel(H) /datum/mind/proc/make_Traitor() - if(!(src in ticker.mode.traitors)) - ticker.mode.traitors += src + if(!(src in SSticker.mode.traitors)) + SSticker.mode.traitors += src special_role = SPECIAL_ROLE_TRAITOR - ticker.mode.forge_traitor_objectives(src) - ticker.mode.finalize_traitor(src) - ticker.mode.greet_traitor(src) - ticker.mode.update_traitor_icons_added(src) + SSticker.mode.forge_traitor_objectives(src) + SSticker.mode.finalize_traitor(src) + SSticker.mode.greet_traitor(src) + SSticker.mode.update_traitor_icons_added(src) /datum/mind/proc/make_Nuke() - if(!(src in ticker.mode.syndicates)) - ticker.mode.syndicates += src - ticker.mode.update_synd_icons_added(src) - if(ticker.mode.syndicates.len==1) - ticker.mode.prepare_syndicate_leader(src) + if(!(src in SSticker.mode.syndicates)) + SSticker.mode.syndicates += src + SSticker.mode.update_synd_icons_added(src) + if(SSticker.mode.syndicates.len==1) + SSticker.mode.prepare_syndicate_leader(src) else - current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" + current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]" special_role = SPECIAL_ROLE_NUKEOPS assigned_role = SPECIAL_ROLE_NUKEOPS to_chat(current, "You are a [syndicate_name()] agent!") - ticker.mode.forge_syndicate_objectives(src) - ticker.mode.greet_syndicate(src) + SSticker.mode.forge_syndicate_objectives(src) + SSticker.mode.greet_syndicate(src) current.loc = get_turf(locate("landmark*Syndicate-Spawn")) @@ -1429,34 +1429,34 @@ qdel(H.wear_suit) qdel(H.w_uniform) - ticker.mode.equip_syndicate(current) + SSticker.mode.equip_syndicate(current) /datum/mind/proc/make_Vampire() - if(!(src in ticker.mode.vampires)) - ticker.mode.vampires += src - ticker.mode.grant_vampire_powers(current) + if(!(src in SSticker.mode.vampires)) + SSticker.mode.vampires += src + SSticker.mode.grant_vampire_powers(current) special_role = SPECIAL_ROLE_VAMPIRE - ticker.mode.forge_vampire_objectives(src) - ticker.mode.greet_vampire(src) - ticker.mode.update_vampire_icons_added(src) + SSticker.mode.forge_vampire_objectives(src) + SSticker.mode.greet_vampire(src) + SSticker.mode.update_vampire_icons_added(src) /datum/mind/proc/make_Changeling() - if(!(src in ticker.mode.changelings)) - ticker.mode.changelings += src - ticker.mode.grant_changeling_powers(current) + if(!(src in SSticker.mode.changelings)) + SSticker.mode.changelings += src + SSticker.mode.grant_changeling_powers(current) special_role = SPECIAL_ROLE_CHANGELING - ticker.mode.forge_changeling_objectives(src) - ticker.mode.greet_changeling(src) - ticker.mode.update_change_icons_added(src) + SSticker.mode.forge_changeling_objectives(src) + SSticker.mode.greet_changeling(src) + SSticker.mode.update_change_icons_added(src) /datum/mind/proc/make_Overmind() - if(!(src in ticker.mode.blob_overminds)) - ticker.mode.blob_overminds += src + if(!(src in SSticker.mode.blob_overminds)) + SSticker.mode.blob_overminds += src special_role = SPECIAL_ROLE_BLOB_OVERMIND /datum/mind/proc/make_Wizard() - if(!(src in ticker.mode.wizards)) - ticker.mode.wizards += src + if(!(src in SSticker.mode.wizards)) + SSticker.mode.wizards += src special_role = SPECIAL_ROLE_WIZARD assigned_role = SPECIAL_ROLE_WIZARD //ticker.mode.learn_basic_spells(current) @@ -1466,18 +1466,18 @@ else current.loc = pick(wizardstart) - ticker.mode.equip_wizard(current) + SSticker.mode.equip_wizard(current) for(var/obj/item/spellbook/S in current.contents) S.op = 0 - ticker.mode.name_wizard(current) - ticker.mode.forge_wizard_objectives(src) - ticker.mode.greet_wizard(src) - ticker.mode.update_wiz_icons_added(src) + SSticker.mode.name_wizard(current) + SSticker.mode.forge_wizard_objectives(src) + SSticker.mode.greet_wizard(src) + SSticker.mode.update_wiz_icons_added(src) /datum/mind/proc/make_Rev() - if(ticker.mode.head_revolutionaries.len>0) + if(SSticker.mode.head_revolutionaries.len>0) // copy targets - var/datum/mind/valid_head = locate() in ticker.mode.head_revolutionaries + var/datum/mind/valid_head = locate() in SSticker.mode.head_revolutionaries if(valid_head) for(var/datum/objective/mutiny/O in valid_head.objectives) var/datum/objective/mutiny/rev_obj = new @@ -1485,13 +1485,13 @@ rev_obj.target = O.target rev_obj.explanation_text = "Assassinate [O.target.current.real_name], the [O.target.assigned_role]." objectives += rev_obj - ticker.mode.greet_revolutionary(src,0) - ticker.mode.head_revolutionaries += src - ticker.mode.update_rev_icons_added(src) + SSticker.mode.greet_revolutionary(src,0) + SSticker.mode.head_revolutionaries += src + SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_HEAD_REV - ticker.mode.forge_revolutionary_objectives(src) - ticker.mode.greet_revolutionary(src,0) + SSticker.mode.forge_revolutionary_objectives(src) + SSticker.mode.greet_revolutionary(src,0) var/list/L = current.get_contents() var/obj/item/flash/flash = locate() in L @@ -1499,7 +1499,7 @@ take_uplink() var/fail = 0 // fail |= !ticker.mode.equip_traitor(current, 1) - fail |= !ticker.mode.equip_revolutionary(current) + fail |= !SSticker.mode.equip_revolutionary(current) /datum/mind/proc/make_Abductor() var/role = alert("Abductor Role ?","Role","Agent","Scientist") @@ -1512,7 +1512,7 @@ if(!ishuman(current)) return - ticker.mode.abductors |= src + SSticker.mode.abductors |= src var/datum/objective/experiment/O = new O.owner = src @@ -1621,15 +1621,15 @@ var/list/implanters var/ref = "\ref[missionary.mind]" - if(!(missionary.mind in ticker.mode.implanter)) - ticker.mode.implanter[ref] = list() - implanters = ticker.mode.implanter[ref] + if(!(missionary.mind in SSticker.mode.implanter)) + SSticker.mode.implanter[ref] = list() + implanters = SSticker.mode.implanter[ref] implanters.Add(src) - ticker.mode.implanted.Add(src) - ticker.mode.implanted[src] = missionary.mind + SSticker.mode.implanted.Add(src) + SSticker.mode.implanted[src] = missionary.mind //ticker.mode.implanter[missionary.mind] += src - ticker.mode.implanter[ref] = implanters - ticker.mode.traitors += src + SSticker.mode.implanter[ref] = implanters + SSticker.mode.traitors += src special_role = "traitor" to_chat(current, "You're now a loyal zealot of [missionary.name]! You now must lay down your life to protect [missionary.p_them()] and assist in [missionary.p_their()] goals at any cost.") var/datum/objective/protect/mindslave/MS = new @@ -1640,8 +1640,8 @@ for(var/datum/objective/objective in objectives) to_chat(current, "Objective #1: [objective.explanation_text]") - ticker.mode.update_traitor_icons_added(missionary.mind) - ticker.mode.update_traitor_icons_added(src)//handles datahuds/observerhuds + SSticker.mode.update_traitor_icons_added(missionary.mind) + SSticker.mode.update_traitor_icons_added(src)//handles datahuds/observerhuds if(missionary.mind.som)//do not add if not a traitor..and you just picked up a robe and staff in the hall... var/datum/mindslaves/slaved = missionary.mind.som @@ -1665,7 +1665,7 @@ /datum/mind/proc/remove_zealot(obj/item/clothing/under/jumpsuit = null) if(!zealot_master) //if they aren't a zealot, we can't remove their zealot status, obviously. don't bother with the rest so we don't confuse them with the messages return - ticker.mode.remove_traitor_mind(src) + SSticker.mode.remove_traitor_mind(src) add_attack_logs(zealot_master, current, "Lost control of zealot") zealot_master = null @@ -1696,8 +1696,8 @@ mind.key = key else mind = new /datum/mind(key) - if(ticker) - ticker.minds += mind + if(SSticker) + SSticker.minds += mind else error("mind_initialize(): No ticker ready yet! Please inform Carn") if(!mind.name) diff --git a/code/datums/periodic_news.dm b/code/datums/periodic_news.dm index cdf2d5b9ad8..9a09ec4a7ec 100644 --- a/code/datums/periodic_news.dm +++ b/code/datums/periodic_news.dm @@ -118,7 +118,7 @@ var/global/list/newscaster_standard_feeds = list(/datum/news_announcement/bluespace_research, /datum/news_announcement/lotus_tree, /datum/news_announcement/random_junk, /datum/news_announcement/food_riots) proc/process_newscaster() - check_for_newscaster_updates(ticker.mode.newscaster_announcements) + check_for_newscaster_updates(SSticker.mode.newscaster_announcements) var/global/tmp/announced_news_types = list() proc/check_for_newscaster_updates(type) diff --git a/code/datums/spells/chaplain.dm b/code/datums/spells/chaplain.dm index f9c2641c50e..bdb7bb3f551 100644 --- a/code/datums/spells/chaplain.dm +++ b/code/datums/spells/chaplain.dm @@ -64,9 +64,9 @@ spawn(0) // allows cast to complete even if recipient ignores the prompt if(alert(target, "[user] wants to bless you, in the name of [user.p_their()] religion. Accept?", "Accept Blessing?", "Yes", "No") == "Yes") // prevents forced conversions - user.visible_message("[user] starts blessing [target] in the name of [ticker.Bible_deity_name].", "You start blessing [target] in the name of [ticker.Bible_deity_name].") + user.visible_message("[user] starts blessing [target] in the name of [SSticker.Bible_deity_name].", "You start blessing [target] in the name of [SSticker.Bible_deity_name].") if(do_after(user, 150, target = target)) - user.visible_message("[user] has blessed [target] in the name of [ticker.Bible_deity_name].", "You have blessed [target] in the name of [ticker.Bible_deity_name].") + user.visible_message("[user] has blessed [target] in the name of [SSticker.Bible_deity_name].", "You have blessed [target] in the name of [SSticker.Bible_deity_name].") if(!target.mind.isblessed) target.mind.isblessed = TRUE user.mind.num_blessed++ diff --git a/code/datums/spells/lichdom.dm b/code/datums/spells/lichdom.dm index f1744e22550..f37d48c0a10 100644 --- a/code/datums/spells/lichdom.dm +++ b/code/datums/spells/lichdom.dm @@ -20,7 +20,7 @@ action_icon_state = "skeleton" /obj/effect/proc_holder/spell/targeted/lichdom/Destroy() - for(var/datum/mind/M in ticker.mode.wizards) //Make sure no other bones are about + for(var/datum/mind/M in SSticker.mode.wizards) //Make sure no other bones are about for(var/obj/effect/proc_holder/spell/S in M.spell_list) if(istype(S,/obj/effect/proc_holder/spell/targeted/lichdom) && S != src) return ..() diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index a714e17d236..044276f9e41 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -12,9 +12,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) var/datum/uplink_item/I = new path if(!I.item) continue - if(I.gamemodes.len && ticker && !(ticker.mode.type in I.gamemodes)) + if(I.gamemodes.len && SSticker && !(SSticker.mode.type in I.gamemodes)) continue - if(I.excludefrom.len && ticker && (ticker.mode.type in I.excludefrom)) + if(I.excludefrom.len && SSticker && (SSticker.mode.type in I.excludefrom)) continue if(I.last) last += I diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 461de475b41..1370b64ecc7 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -218,7 +218,7 @@ /mob/living/carbon/human/proc/sec_hud_set_security_status() var/image/holder = hud_list[WANTED_HUD] var/perpname = get_visible_name(TRUE) //gets the name of the perp, works if they have an id or if their face is uncovered - if(!ticker) return //wait till the game starts or the monkeys runtime.... + if(!SSticker) return //wait till the game starts or the monkeys runtime.... if(perpname) var/datum/data/record/R = find_record("name", perpname, data_core.security) if(R) diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index 61196c9862f..5eb15759d99 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -378,8 +378,8 @@ new /obj/structure/blob/core/ (get_turf(N), 200, null, blob_core.point_rate, "offspring") qdel(N) - if(ticker && ticker.mode.name == "blob") - var/datum/game_mode/blob/BL = ticker.mode + if(SSticker && SSticker.mode.name == "blob") + var/datum/game_mode/blob/BL = SSticker.mode BL.blobwincount += initial(BL.blobwincount) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 9e45cab4292..2b860756b45 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -5,7 +5,7 @@ var/global/list/all_cults = list() var/list/datum/mind/cult = list() /proc/iscultist(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.cult) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.cult) /proc/is_convertable_to_cult(datum/mind/mind) @@ -30,8 +30,8 @@ var/global/list/all_cults = list() return 1 /proc/is_sacrifice_target(datum/mind/mind) - if(istype(ticker.mode.name, "cult")) - var/datum/game_mode/cult/cult_mode = ticker.mode + if(istype(SSticker.mode.name, "cult")) + var/datum/game_mode/cult/cult_mode = SSticker.mode if(mind == cult_mode.sacrifice_target) return 1 return 0 @@ -121,7 +121,7 @@ var/global/list/all_cults = list() var/datum/action/innate/cultcomm/C = new() C.Grant(cult_mind.current) update_cult_icons_added(cult_mind) - to_chat(cult_mind.current, "You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].") + to_chat(cult_mind.current, "You catch a glimpse of the Realm of [SSticker.cultdat.entity_name], [SSticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [SSticker.cultdat.entity_name].") first_phase() @@ -135,16 +135,16 @@ var/global/list/all_cults = list() if("survive") explanation = "Our knowledge must live on. Make sure at least [acolytes_needed] acolytes escape on the shuttle to spread their work on an another station." if("convert") - explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." + explanation = "We must increase our influence before we can summon [SSticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") - explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." + explanation = "We must prepare this place for [SSticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." if("sacrifice") if(sacrifice_target) explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. You will need the sacrifice rune and three acolytes to do so." else explanation = "Free objective." if("eldergod") - explanation = "Summon [ticker.cultdat.entity_name] by invoking the 'Tear Reality' rune.The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." + explanation = "Summon [SSticker.cultdat.entity_name] by invoking the 'Tear Reality' rune.The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." to_chat(cult_mind.current, "Objective #[obj_count]: [explanation]") cult_mind.memory += "Objective #[obj_count]: [explanation]
" @@ -179,7 +179,7 @@ var/global/list/all_cults = list() /datum/game_mode/proc/add_cultist(datum/mind/cult_mind) //BASE if(!istype(cult_mind)) return 0 - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind)) cult += cult_mind cult_mind.current.faction |= "cult" @@ -314,10 +314,10 @@ var/global/list/all_cults = list() feedback_add_details("cult_objective","cult_sacrifice|FAIL|GIBBED") if("eldergod") if(!eldergod) - explanation = "Summon [ticker.cultdat.entity_name]. Success!" + explanation = "Summon [SSticker.cultdat.entity_name]. Success!" feedback_add_details("cult_objective","cult_narsie|SUCCESS") else - explanation = "Summon [ticker.cultdat.entity_name]. Fail." + explanation = "Summon [SSticker.cultdat.entity_name]. Fail." feedback_add_details("cult_objective","cult_narsie|FAIL") if("slaughter") if(demons_summoned) @@ -345,10 +345,10 @@ var/global/list/all_cults = list() if("harvest") if(harvested > harvest_target) - explanation = "Offer [harvest_target] humans for [ticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Success!" + explanation = "Offer [harvest_target] humans for [SSticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Success!" feedback_add_details("cult_objective","cult_harvest|SUCCESS") else - explanation = "Offer [harvest_target] humans for [ticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Fail!" + explanation = "Offer [harvest_target] humans for [SSticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Fail!" feedback_add_details("cult_objective","cult_harvest|FAIL") if("hijack") @@ -375,7 +375,7 @@ var/global/list/all_cults = list() /datum/game_mode/proc/auto_declare_completion_cult() - if(cult.len || (ticker && GAMEMODE_IS_CULT)) + if(cult.len || (SSticker && GAMEMODE_IS_CULT)) var/text = "The cultists were:" for(var/datum/mind/cultist in cult) diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm index beef75e103b..da4e190cb7f 100644 --- a/code/game/gamemodes/cult/cult_objectives.dm +++ b/code/game/gamemodes/cult/cult_objectives.dm @@ -19,10 +19,10 @@ switch(new_objective) if("convert") - explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." + explanation = "We must increase our influence before we can summon [SSticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") spilltarget = 100 + rand(0,GLOB.player_list.len * 3) - explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." + explanation = "We must prepare this place for [SSticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." if("sacrifice") explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual." @@ -59,8 +59,8 @@ message_admins("The Cult has already completed [prenarsie_objectives] objectives! Nar-Sie objective unlocked.") log_admin("The Cult has already completed [prenarsie_objectives] objectives! Nar-Sie objective unlocked.") else - message_admins("There are less than 4 cultists! [ticker.cultdat.entity_name] objective unlocked.") - log_admin("There are less than 4 cultists! [ticker.cultdat.entity_name] objective unlocked.") + message_admins("There are less than 4 cultists! [SSticker.cultdat.entity_name] objective unlocked.") + log_admin("There are less than 4 cultists! [SSticker.cultdat.entity_name] objective unlocked.") gtfo_phase() if(!sacrificed.len && (new_objective != "sacrifice")) @@ -76,10 +76,10 @@ switch(new_objective) if("convert") - explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name]. Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." + explanation = "We must increase our influence before we can summon [SSticker.cultdat.entity_name]. Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") spilltarget = 100 + rand(0,GLOB.player_list.len * 3) - explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spread blood and gibs over [spilltarget] of the Station's floor tiles." + explanation = "We must prepare this place for [SSticker.cultdat.entity_title1]'s coming. Spread blood and gibs over [spilltarget] of the Station's floor tiles." if("sacrifice") explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual." @@ -111,7 +111,7 @@ if(prob(40))//split the chance of this objectives += "eldergod" - explanation = "Summon [ticker.cultdat.entity_name] on the Station via the use of the Tear Reality rune. The veil is weak enough in [english_list(summon_spots)] for the ritual to begin." + explanation = "Summon [SSticker.cultdat.entity_name] on the Station via the use of the Tear Reality rune. The veil is weak enough in [english_list(summon_spots)] for the ritual to begin." else objectives += "slaughter" explanation = "Bring the Slaughter via the rune 'Bring forth the slaughter'. The veil is weak enough in [english_list(summon_spots)] for the ritual to begin." @@ -135,11 +135,11 @@ switch(last_objective) if("harvest") - explanation = "[ticker.cultdat.entity_title1] hungers for their first meal of this never-ending day. Offer them [harvest_target] humans in sacrifice." + explanation = "[SSticker.cultdat.entity_title1] hungers for their first meal of this never-ending day. Offer them [harvest_target] humans in sacrifice." if("hijack") - explanation = "[ticker.cultdat.entity_name] wishes for their troops to start the assault on Centcom immediately. Hijack the escape shuttle and don't let a single non-cultist board it." + explanation = "[SSticker.cultdat.entity_name] wishes for their troops to start the assault on Centcom immediately. Hijack the escape shuttle and don't let a single non-cultist board it." if("massacre") - explanation = "[ticker.cultdat.entity_name] wants to watch you as you massacre the remaining humans on the station (until less than [massacre_target] humans are left alive)." + explanation = "[SSticker.cultdat.entity_name] wants to watch you as you massacre the remaining humans on the station (until less than [massacre_target] humans are left alive)." for(var/datum/mind/cult_mind in cult) if(cult_mind) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index d561291c19f..fb6bb95a4a8 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -11,7 +11,7 @@ return /obj/effect/rune/proc/check_icon() - if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way + if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way var/bits = make_bit_triplet() icon = get_rune(bits) else @@ -39,16 +39,16 @@ canbypass = 1 /obj/item/tome/New() - if(!ticker.mode) + if(!SSticker.mode) icon_state = "tome" else - icon_state = ticker.cultdat.tome_icon + icon_state = SSticker.cultdat.tome_icon ..() /obj/item/tome/examine(mob/user) ..() if(iscultist(user) || user.stat == DEAD) - to_chat(user, "The scriptures of [ticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [ticker.cultdat.entity_name].") + to_chat(user, "The scriptures of [SSticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [SSticker.cultdat.entity_name].") to_chat(user, "Striking another cultist with it will purge holy water from them.") to_chat(user, "Striking a noncultist, however, will sear their flesh.") @@ -91,7 +91,7 @@ /obj/item/tome/proc/read_tome(mob/user) var/text = list() - text += "
Archives of [ticker.cultdat.entity_title1]



" + text += "
Archives of [SSticker.cultdat.entity_title1]



" text += "A rune's name and effects can be revealed by examining the rune.<

" text += "Rite of Binding
This rune is one of the most important runes the cult has, being the only way to create new talismans. A blank sheet of paper must be on top of the rune. After \ @@ -102,7 +102,7 @@ text += "Rite of Enlightenment
This rune is critical to the success of the cult. It will allow you to convert normal crew members into cultists. \ To do this, simply place the crew member upon the rune and invoke it. This rune requires two invokers to use. If the target to be converted is mindshielded or a certain assignment, they will \ - be unable to be converted. People [ticker.cultdat.entity_title3] wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like the null rod will not be converted.
\ + be unable to be converted. People [SSticker.cultdat.entity_title3] wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like the null rod will not be converted.
\ Successful conversions will produce a tome for the new cultist.

" text += "Rite of Tribute
This rune is necessary to achieve your goals. Simply place any dead creature upon the rune and invoke it (this will not \ @@ -135,12 +135,12 @@ text += "Leeching
When invoked, this rune will transfer lifeforce from the victim to the invoker.

" - text += "Rite of Spectral Manifestation
This rune allows you to summon spirits as humanoid fighters. When invoked, a spirit above the rune will be brought to life as a human, wearing nothing, that seeks only to serve you and [ticker.cultdat.entity_title3]. \ + text += "Rite of Spectral Manifestation
This rune allows you to summon spirits as humanoid fighters. When invoked, a spirit above the rune will be brought to life as a human, wearing nothing, that seeks only to serve you and [SSticker.cultdat.entity_title3]. \ However, the spirit's link to reality is fragile - you must remain on top of the rune, and you will slowly take damage. Upon stepping off the rune, all summoned spirits will dissipate, dropping their items to the ground. You may manifest \ multiple spirits with one rune, but you will rapidly take damage in doing so.

" text += "Ritual of Dimensional Rending
This rune is necessary to achieve your goals. On attempting to scribe it, it will produce shields around you and alert everyone you are attempting to scribe it; it takes a very long time to scribe, \ - and does massive damage to the one attempting to scribe it.
Invoking it requires 9 invokers and the sacrifice of a specific crewmember, and once invoked, will summon [ticker.cultdat.entity_title3], [ticker.cultdat.entity_name]. \ + and does massive damage to the one attempting to scribe it.
Invoking it requires 9 invokers and the sacrifice of a specific crewmember, and once invoked, will summon [SSticker.cultdat.entity_title3], [SSticker.cultdat.entity_name]. \ This will complete your objectives.


" text += "Talisman of Teleportation
The talisman form of the Teleport rune will transport the invoker to a selected Teleport rune once.

" @@ -201,12 +201,12 @@ return 1 /obj/item/tome/proc/finale_runes_ok(mob/living/user, obj/effect/rune/rune_to_scribe) - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode var/area/A = get_area(src) if(GAMEMODE_IS_CULT) if(!canbypass)//not an admin-tome, check things if(!cult_mode.narsie_condition_cleared) - to_chat(user, "There is still more to do before unleashing [ticker.cultdat.entity_name] power!") + to_chat(user, "There is still more to do before unleashing [SSticker.cultdat.entity_name] power!") return 0 if(!cult_mode.eldergod) to_chat(user, "\"I am already here. There is no need to try to summon me now.\"") @@ -215,19 +215,19 @@ to_chat(user, "\"We are already here. There is no need to try to summon us now.\"") return 0 if(!((CULT_ELDERGOD in cult_mode.objectives) || (CULT_SLAUGHTER in cult_mode.objectives))) - to_chat(user, "[ticker.cultdat.entity_name]'s power does not wish to be unleashed!") + to_chat(user, "[SSticker.cultdat.entity_name]'s power does not wish to be unleashed!") return 0 if(!(A in summon_spots)) - to_chat(user, "[ticker.cultdat.entity_name] can only be summoned where the veil is weak - in [english_list(summon_spots)]!") + to_chat(user, "[SSticker.cultdat.entity_name] can only be summoned where the veil is weak - in [english_list(summon_spots)]!") return 0 - var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [ticker.cultdat.entity_name]!", "No") + var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [SSticker.cultdat.entity_name]!", "No") if(confirm_final == "No" || confirm_final == null) to_chat(user, "You decide to prepare further before scribing the rune.") return 0 else return 1 else//the game mode is not cult..but we ARE a cultist...ALL ON THE ADMINBUS - var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [ticker.cultdat.entity_name]!", "No") + var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [SSticker.cultdat.entity_name]!", "No") if(confirm_final == "No" || confirm_final == null) to_chat(user, "You decide to prepare further before scribing the rune.") return 0 @@ -296,7 +296,7 @@ var/mob/living/carbon/human/H = user var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") var/obj/item/organ/external/affecting = H.get_organ(ran_zone(dam_zone)) - user.visible_message("[user] cuts open [user.p_their()] [affecting] and begins writing in [user.p_their()] own blood!", "You slice open your [affecting] and begin drawing a sigil of [ticker.cultdat.entity_title3].") + user.visible_message("[user] cuts open [user.p_their()] [affecting] and begins writing in [user.p_their()] own blood!", "You slice open your [affecting] and begin drawing a sigil of [SSticker.cultdat.entity_title3].") user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE , affecting) if(!do_after(user, initial(rune_to_scribe.scribe_delay)-scribereduct, target = get_turf(user))) for(var/V in shields) @@ -308,7 +308,7 @@ to_chat(user, "There is already a rune here.") return user.visible_message("[user] creates a strange circle in [user.p_their()] own blood.", \ - "You finish drawing the arcane markings of [ticker.cultdat.entity_title3].") + "You finish drawing the arcane markings of [SSticker.cultdat.entity_title3].") for(var/V in shields) var/obj/machinery/shield/S = V if(S && !QDELETED(S)) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 1ed5e812989..ef2a970adb3 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -197,7 +197,7 @@ structure_check() searches for nearby cultist structures required for the invoca ..() for(var/M in invokers) var/mob/living/L = M - to_chat(L, "You feel your life force draining. [ticker.cultdat.entity_title3] is displeased.") + to_chat(L, "You feel your life force draining. [SSticker.cultdat.entity_title3] is displeased.") qdel(src) /mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes @@ -372,12 +372,12 @@ var/list/teleport_runes = list() new_cultist.visible_message("[new_cultist] writhes in pain as the markings below them glow a bloody red!", \ "AAAAAAAAAAAAAA-") - ticker.mode.add_cultist(new_cultist.mind, 1) + SSticker.mode.add_cultist(new_cultist.mind, 1) new /obj/item/tome(get_turf(src)) new_cultist.mind.special_role = "Cultist" to_chat(new_cultist, "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 something evil takes root.") - to_chat(new_cultist, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve [ticker.cultdat.entity_title3] above all else. Bring it back.\ + to_chat(new_cultist, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve [SSticker.cultdat.entity_title3] above all else. Bring it back.\ ") //Rite of Tribute: Sacrifices a crew member to Nar-Sie. Places them into a soul shard if they're in their body. @@ -391,7 +391,7 @@ var/list/teleport_runes = list() /obj/effect/rune/sacrifice/New() ..() - cultist_desc = "sacrifices a crew member to [ticker.cultdat.entity_title3]. May place them into a soul shard if their spirit remains in their body." + cultist_desc = "sacrifices a crew member to [SSticker.cultdat.entity_title3]. May place them into a soul shard if their spirit remains in their body." /obj/effect/rune/sacrifice/invoke(var/list/invokers) if(rune_in_use) @@ -432,7 +432,7 @@ var/list/teleport_runes = list() /obj/effect/rune/sacrifice/proc/sac(var/list/invokers, mob/living/T) var/sacrifice_fulfilled - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(T) if(istype(T, /mob/living/simple_animal/pet/corgi)) for(var/M in invokers) @@ -445,7 +445,7 @@ var/list/teleport_runes = list() if(is_sacrifice_target(T.mind)) sacrifice_fulfilled = 1 new /obj/effect/temp_visual/cult/sac(loc) - if(ticker && ticker.mode && ticker.mode.name == "cult") + if(SSticker && SSticker.mode && SSticker.mode.name == "cult") cult_mode.harvested++ for(var/M in invokers) @@ -494,8 +494,8 @@ var/list/teleport_runes = list() /obj/effect/rune/narsie/New() ..() - cultist_name = "Summon [ticker.cultdat.entity_name]" - cultist_desc = "tears apart dimensional barriers, calling forth [ticker.cultdat.entity_title3]. Requires 9 invokers." + cultist_name = "Summon [SSticker.cultdat.entity_name]" + cultist_desc = "tears apart dimensional barriers, calling forth [SSticker.cultdat.entity_title3]. Requires 9 invokers." /obj/effect/rune/narsie/check_icon() @@ -508,7 +508,7 @@ var/list/teleport_runes = list() if(used) return var/mob/living/user = invokers[1] - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(!(CULT_ELDERGOD in cult_mode.objectives)) message_admins("[key_name_admin(user)] tried to summonn an eldritch horror when the objective was wrong") burn_invokers(invokers) @@ -521,7 +521,7 @@ var/list/teleport_runes = list() return if(!cult_mode.eldergod) for(var/M in invokers) - to_chat(M, "[ticker.cultdat.entity_name] is already on this plane!") + to_chat(M, "[SSticker.cultdat.entity_name] is already on this plane!") log_game("Summon god rune failed - already summoned") return //BEGIN THE SUMMONING @@ -594,7 +594,7 @@ var/list/teleport_runes = list() if(used) return var/mob/living/user = invokers[1] - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(!(CULT_SLAUGHTER in cult_mode.objectives)) message_admins("[key_name_admin(user)] tried to summon demons when the objective was wrong") burn_invokers(invokers) @@ -856,10 +856,10 @@ var/list/teleport_runes = list() /obj/effect/rune/summon/invoke(var/list/invokers) var/mob/living/user = invokers[1] var/list/cultists = list() - for(var/datum/mind/M in ticker.mode.cult) + for(var/datum/mind/M in SSticker.mode.cult) if(!(M.current in invokers) && M.current && M.current.stat != DEAD) cultists |= M.current - var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of [ticker.cultdat.entity_title3]") as null|anything in cultists + var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of [SSticker.cultdat.entity_title3]") as null|anything in cultists if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) return if(!cultist_to_summon) @@ -868,7 +868,7 @@ var/list/teleport_runes = list() log_game("Summon Cultist rune failed - no target") return if(!iscultist(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of [ticker.cultdat.entity_title3]!") + to_chat(user, "[cultist_to_summon] is not a follower of [SSticker.cultdat.entity_title3]!") fail_invoke() log_game("Summon Cultist rune failed - no target") return @@ -977,7 +977,7 @@ var/list/teleport_runes = list() /obj/effect/rune/manifest/New(loc) ..() - cultist_desc = "manifests a spirit as a servant of [ticker.cultdat.entity_title3]. The invoker must not move from atop the rune, and will take damage for each summoned spirit." + cultist_desc = "manifests a spirit as a servant of [SSticker.cultdat.entity_title3]. The invoker must not move from atop the rune, and will take damage for each summoned spirit." notify_ghosts("Manifest rune created in [get_area(src)].", ghost_sound='sound/effects/ghost2.ogg', source = src) @@ -1033,10 +1033,10 @@ var/list/teleport_runes = list() N.health = 20 N.mouse_opacity = MOUSE_OPACITY_TRANSPARENT new_human.key = ghost_to_spawn.key - ticker.mode.add_cultist(new_human.mind, 0) + SSticker.mode.add_cultist(new_human.mind, 0) summoned_guys |= new_human ghosts++ - to_chat(new_human, "You are a servant of [ticker.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [ticker.cultdat.entity_name], and you are to serve them at all costs.") + to_chat(new_human, "You are a servant of [SSticker.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [SSticker.cultdat.entity_name], and you are to serve them at all costs.") while(user in get_turf(src)) if(user.stat) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 875e8a3d1e9..92fc09490ec 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -41,7 +41,7 @@ invocation = "Ra'sha yoka!" /obj/item/paper/talisman/malformed/invoke(mob/living/user, successfuluse = 1) - to_chat(user, "You feel a pain in your head. [ticker.cultdat.entity_title3] is displeased.") + to_chat(user, "You feel a pain in your head. [SSticker.cultdat.entity_title3] is displeased.") if(iscarbon(user)) var/mob/living/carbon/C = user C.apply_damage(10, BRUTE, "head") diff --git a/code/game/gamemodes/devil/devilinfo.dm b/code/game/gamemodes/devil/devilinfo.dm index e11d31f7d98..419034a9e1f 100644 --- a/code/game/gamemodes/devil/devilinfo.dm +++ b/code/game/gamemodes/devil/devilinfo.dm @@ -300,9 +300,9 @@ var/global/list/lawlorify = list ( to_chat(world, "SLOTH, WRATH, GLUTTONY, ACEDIA, ENVY, GREED, PRIDE! FIRES OF HELL AWAKEN!!") world << 'sound/hallucinations/veryfar_noise.ogg' sleep(50) - if(!ticker.mode.devil_ascended) + if(!SSticker.mode.devil_ascended) SSshuttle.emergency.request(null, 0.3) - ticker.mode.devil_ascended++ + SSticker.mode.devil_ascended++ /datum/devilinfo/proc/increase_arch_devil() if(!ascendable) diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm index 5214ab336ec..04d0217b599 100644 --- a/code/game/gamemodes/devil/objectives.dm +++ b/code/game/gamemodes/devil/objectives.dm @@ -68,7 +68,7 @@ explanation_text = "Ensure at least [target_amount] mortals are sintouched." /datum/objective/devil/sintouch/check_completion() - return target_amount <= ticker.mode.sintouched.len + return target_amount <= SSticker.mode.sintouched.len diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 5f3ed489107..4f583abdfed 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -75,8 +75,8 @@ display_roundstart_logout_report() feedback_set_details("round_start","[time2text(world.realtime)]") - if(ticker && ticker.mode) - feedback_set_details("game_mode","[ticker.mode]") + if(SSticker && SSticker.mode) + feedback_set_details("game_mode","[SSticker.mode]") // if(revdata) // feedback_set_details("revision","[revdata.revision]") feedback_set_details("server_ip","[world.internet_address]:[world.port]") diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index e8a3ff6c981..2b4d095b327 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -312,5 +312,5 @@ datum/game_mode/proc/auto_declare_completion_heist() message_admins("[key_name_admin(user)] has pressed the vox win button.") log_admin("[key_name(user)] pressed the vox win button during a vox round.") - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode H.win_button_triggered = 1 diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm index 5e8be8b1229..d1d176f797e 100644 --- a/code/game/gamemodes/intercept_report.dm +++ b/code/game/gamemodes/intercept_report.dm @@ -113,10 +113,10 @@ if(man.client && man.client.prefs.nanotrasen_relation == "Opposed") //don't include suspects who can't possibly be the antag based on their job (no suspecting the captain of being a damned dirty tator) if(man.mind && man.mind.assigned_role) - if((man.mind.assigned_role in ticker.mode.protected_jobs) || (man.mind.assigned_role in ticker.mode.restricted_jobs)) + if((man.mind.assigned_role in SSticker.mode.protected_jobs) || (man.mind.assigned_role in SSticker.mode.restricted_jobs)) return //don't include suspects who can't possibly be the antag based on their species (no suspecting the machines of being sneaky changelings) - if(man.dna.species.name in ticker.mode.protected_species) + if(man.dna.species.name in SSticker.mode.protected_species) return dudes += man for(var/i = 0, i < max(GLOB.player_list.len/10,2), i++) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index bfde102ca35..1c96c0e4329 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -111,7 +111,7 @@ to_chat(L, "The blast wave from [src] tears you atom from atom!") L.dust() to_chat(world, "The AI cleansed the station of life with the doomsday device!") - ticker.force_ending = 1 + SSticker.force_ending = 1 /datum/AI_Module/large/upgrade_turrets diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index 587c2b3d476..aab75687df4 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -251,14 +251,14 @@ /datum/game_mode/proc/remove_abductor(datum/mind/abductor_mind) if(abductor_mind in abductors) - ticker.mode.abductors -= abductor_mind + SSticker.mode.abductors -= abductor_mind abductor_mind.special_role = null abductor_mind.current.create_attack_log("No longer abductor") if(issilicon(abductor_mind.current)) to_chat(abductor_mind.current, "You have been turned into a robot! You are no longer an abductor.") else to_chat(abductor_mind.current, "You have been brainwashed! You are no longer an abductor.") - ticker.mode.update_abductor_icons_removed(abductor_mind) + SSticker.mode.update_abductor_icons_removed(abductor_mind) /datum/game_mode/proc/update_abductor_icons_added(datum/mind/alien_mind) var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_ABDUCTOR] diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index 53969aaf7d1..db6f07c1d24 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -140,14 +140,14 @@ to_chat(H, "You can't remember how you got here...") var/objtype = pick(subtypesof(/datum/objective/abductee/)) var/datum/objective/abductee/O = new objtype() - ticker.mode.abductees += H.mind + SSticker.mode.abductees += H.mind H.mind.objectives += O var/obj_count = 1 to_chat(H, "Your current objectives:") for(var/datum/objective/objective in H.mind.objectives) to_chat(H, "Objective #[obj_count]: [objective.explanation_text]") obj_count++ - ticker.mode.update_abductor_icons_added(H.mind) + SSticker.mode.update_abductor_icons_added(H.mind) for(var/obj/item/organ/internal/heart/gland/G in H.internal_organs) G.Start() diff --git a/code/game/gamemodes/miniantags/morph/morph_event.dm b/code/game/gamemodes/miniantags/morph/morph_event.dm index 4a1c8ebeb7e..e80374e2dca 100644 --- a/code/game/gamemodes/miniantags/morph/morph_event.dm +++ b/code/game/gamemodes/miniantags/morph/morph_event.dm @@ -21,7 +21,7 @@ player_mind.transfer_to(S) player_mind.assigned_role = SPECIAL_ROLE_MORPH player_mind.special_role = SPECIAL_ROLE_MORPH - ticker.mode.traitors |= player_mind + SSticker.mode.traitors |= player_mind to_chat(S, S.playstyle_string) S << 'sound/magic/mutate.ogg' message_admins("[key_of_morph] has been made into morph by an event.") diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index 54b01ff38ce..7d18c1796dd 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -182,7 +182,7 @@ objective2.owner = mind mind.objectives += objective2 to_chat(src, "Objective #2: [objective2.explanation_text]") - ticker.mode.traitors |= mind //Necessary for announcing + SSticker.mode.traitors |= mind //Necessary for announcing /mob/living/simple_animal/revenant/proc/giveSpells() mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision/revenant(null)) @@ -429,7 +429,7 @@ player_mind.transfer_to(R) player_mind.assigned_role = SPECIAL_ROLE_REVENANT player_mind.special_role = SPECIAL_ROLE_REVENANT - ticker.mode.traitors |= player_mind + SSticker.mode.traitors |= player_mind message_admins("[key_of_revenant] has been [client_to_revive ? "re":""]made into a revenant by reforming ectoplasm.") log_game("[key_of_revenant] was [client_to_revive ? "re":""]made as a revenant by reforming ectoplasm.") visible_message("[src] suddenly rises into the air before fading away.") diff --git a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm index 757fbe579a2..437e7637a77 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm @@ -45,7 +45,7 @@ player_mind.transfer_to(revvie) player_mind.assigned_role = SPECIAL_ROLE_REVENANT player_mind.special_role = SPECIAL_ROLE_REVENANT - ticker.mode.traitors |= player_mind + SSticker.mode.traitors |= player_mind message_admins("[key_of_revenant] has been made into a revenant by an event.") log_game("[key_of_revenant] was spawned as a revenant by an event.") return 1 diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index 7e74de27267..a43d03c153a 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -72,7 +72,7 @@ if(!(vialspawned)) var/datum/objective/slaughter/objective = new var/datum/objective/demonFluff/fluffObjective = new - ticker.mode.traitors |= mind + SSticker.mode.traitors |= mind objective.owner = mind fluffObjective.owner = mind //Paradise Port:I added the objective for one spawned like this @@ -174,7 +174,7 @@ S.mind.assigned_role = "Harbringer of the Slaughter" S.mind.special_role = "Harbringer of the Slaughter" to_chat(S, playstyle_string) - ticker.mode.add_cultist(S.mind) + SSticker.mode.add_cultist(S.mind) var/obj/effect/proc_holder/spell/targeted/sense_victims/SV = new AddSpell(SV) var/datum/objective/new_objective = new /datum/objective diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index d19d2dd7cc5..0c7f46306af 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -4,7 +4,7 @@ var/list/datum/mind/syndicates = list() proc/issyndicate(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.syndicates) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.syndicates) /datum/game_mode/nuclear name = "nuclear emergency" @@ -64,7 +64,7 @@ proc/issyndicate(mob/living/M as mob) /datum/game_mode/proc/remove_operative(datum/mind/operative_mind) if(operative_mind in syndicates) - ticker.mode.syndicates -= operative_mind + SSticker.mode.syndicates -= operative_mind operative_mind.special_role = null for(var/datum/objective/nuclear/O in operative_mind.objectives) operative_mind.objectives -= O @@ -73,7 +73,7 @@ proc/issyndicate(mob/living/M as mob) to_chat(operative_mind.current, "You have been turned into a robot! You are no longer a Syndicate operative.") else to_chat(operative_mind.current, "You have been brainwashed! You are no longer a Syndicate operative.") - ticker.mode.update_synd_icons_removed(operative_mind) + SSticker.mode.update_synd_icons_removed(operative_mind) //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// @@ -208,7 +208,7 @@ proc/issyndicate(mob/living/M as mob) P.stamp(stamp) qdel(stamp) - if(ticker.mode.config_tag=="nuclear") + if(SSticker.mode.config_tag=="nuclear") P.loc = synd_mind.current.loc else var/mob/living/carbon/human/H = synd_mind.current @@ -437,7 +437,7 @@ proc/issyndicate(mob/living/M as mob) /datum/game_mode/nuclear/set_scoreboard_gvars() var/foecount = 0 - for(var/datum/mind/M in ticker.mode.syndicates) + for(var/datum/mind/M in SSticker.mode.syndicates) foecount++ if(!M || !M.current) score_opkilled++ @@ -490,7 +490,7 @@ proc/issyndicate(mob/living/M as mob) var/diskdat = "" var/bombdat = null - for(var/datum/mind/M in ticker.mode.syndicates) + for(var/datum/mind/M in SSticker.mode.syndicates) foecount++ for(var/mob/living/C in world) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 45711bb52fc..35c26408c5b 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -21,7 +21,7 @@ return declaring_war = TRUE - var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]. Are you sure you want to alert the enemy crew? You have [-round((world.time-round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide.", "Declare war?", "Yes", "No") + var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]. Are you sure you want to alert the enemy crew? You have [-round((world.time-SSticker.round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide.", "Declare war?", "Yes", "No") declaring_war = FALSE if(!check_allowed(user)) @@ -88,7 +88,7 @@ if(!is_admin_level(user.z)) to_chat(user, "You have to be at your base to use this.") return FALSE - if((world.time - round_start_time) > CHALLENGE_TIME_LIMIT) // Only count after the round started + if((world.time - SSticker.round_start_time) > CHALLENGE_TIME_LIMIT) // Only count after the round started to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") return FALSE for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 2e36488cc8a..09de3f917bd 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -354,8 +354,8 @@ var/bomb_set if(!lighthack) icon_state = "nuclearbomb3" playsound(src,'sound/machines/alarm.ogg',100,0,5) - if(ticker && ticker.mode) - ticker.mode.explosion_in_progress = 1 + if(SSticker && SSticker.mode) + SSticker.mode.explosion_in_progress = 1 sleep(100) enter_allowed = 0 @@ -368,17 +368,17 @@ var/bomb_set else off_station = 2 - if(ticker) - if(ticker.mode && ticker.mode.name == "nuclear emergency") + if(SSticker) + if(SSticker.mode && SSticker.mode.name == "nuclear emergency") var/obj/docking_port/mobile/syndie_shuttle = SSshuttle.getShuttle("syndicate") if(syndie_shuttle) - ticker.mode:syndies_didnt_escape = is_station_level(syndie_shuttle.z) - ticker.mode:nuke_off_station = off_station - ticker.station_explosion_cinematic(off_station,null) - if(ticker.mode) - ticker.mode.explosion_in_progress = 0 - if(ticker.mode.name == "nuclear emergency") - ticker.mode:nukes_left -- + SSticker.mode:syndies_didnt_escape = is_station_level(syndie_shuttle.z) + SSticker.mode:nuke_off_station = off_station + SSticker.station_explosion_cinematic(off_station,null) + if(SSticker.mode) + SSticker.mode.explosion_in_progress = 0 + if(SSticker.mode.name == "nuclear emergency") + SSticker.mode:nukes_left -- else if(off_station == 1) to_chat(world, "A nuclear device was set off, but the explosion was out of reach of the station!") else if(off_station == 2) @@ -386,10 +386,10 @@ var/bomb_set else to_chat(world, "The station was destoyed by the nuclear blast!") - ticker.mode.station_was_nuked = (off_station<2) //offstation==1 is a draw. the station becomes irradiated and needs to be evacuated. + SSticker.mode.station_was_nuked = (off_station<2) //offstation==1 is a draw. the station becomes irradiated and needs to be evacuated. //kinda shit but I couldn't get permission to do what I wanted to do. - if(!ticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is + if(!SSticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is world.Reboot("Station destroyed by Nuclear Device.", "end_error", "nuke - unhandled ending") return return diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 61986b34f94..d221c94d39f 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -273,7 +273,7 @@ var/mob/living/carbon/nearest_op = null /obj/item/pinpointer/operative/attack_self() - if(!usr.mind || !(usr.mind in ticker.mode.syndicates)) + if(!usr.mind || !(usr.mind in SSticker.mode.syndicates)) to_chat(usr, "AUTHENTICATION FAILURE. ACCESS DENIED.") return 0 if(!active) @@ -290,7 +290,7 @@ nearest_op = null //Resets nearest_op every time it scans var/closest_distance = 1000 for(var/mob/living/carbon/M in GLOB.mob_list) - if(M.mind && (M.mind in ticker.mode.syndicates)) + if(M.mind && (M.mind in SSticker.mode.syndicates)) if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to nearest_op = M diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 210b1bb786e..7c358ba951d 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -43,7 +43,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu /datum/objective/proc/find_target() var/list/possible_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if(is_invalid_target(possible_target)) continue @@ -263,9 +263,9 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu return 0 if(!owner.current || owner.current.stat == DEAD) return 0 - if(ticker.force_ending) //This one isn't their fault, so lets just assume good faith + if(SSticker.force_ending) //This one isn't their fault, so lets just assume good faith return 1 - if(ticker.mode.station_was_nuked) //If they escaped the blast somehow, let them win + if(SSticker.mode.station_was_nuked) //If they escaped the blast somehow, let them win return 1 if(SSshuttle.emergency.mode < SHUTTLE_ENDGAME) return 0 @@ -287,7 +287,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu /datum/objective/escape/escape_with_identity/find_target() var/list/possible_targets = list() //Copypasta because NO_DNA races, yay for snowflakes. - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != DEAD) && possible_target.current.client) var/mob/living/carbon/human/H = possible_target.current if(!(NO_DNA in H.dna.species.species_traits)) @@ -452,19 +452,19 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu /datum/objective/absorb /datum/objective/absorb/proc/gen_amount_goal(var/lowbound = 4, var/highbound = 6) target_amount = rand (lowbound,highbound) - if(ticker) + if(SSticker) var/n_p = 1 //autowin - if(ticker.current_state == GAME_STATE_SETTING_UP) + if(SSticker.current_state == GAME_STATE_SETTING_UP) for(var/mob/new_player/P in GLOB.player_list) if(P.client && P.ready && P.mind != owner) if(P.client.prefs && (P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution. continue n_p++ - else if(ticker.current_state == GAME_STATE_PLAYING) + else if(SSticker.current_state == GAME_STATE_PLAYING) for(var/mob/living/carbon/human/P in GLOB.player_list) if(NO_DNA in P.dna.species.species_traits) continue - if(P.client && !(P.mind in ticker.mode.changelings) && P.mind!=owner) + if(P.client && !(P.mind in SSticker.mode.changelings) && P.mind!=owner) n_p++ target_amount = min(target_amount, n_p) @@ -531,7 +531,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu var/list/possible_targets = list() var/list/priority_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != DEAD) && (possible_target.assigned_role != possible_target.special_role)) possible_targets += possible_target for(var/role in roles) @@ -627,7 +627,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu if(total_amount >= target_amount) return 1 - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode for(var/datum/mind/raider in H.raiders) if(raider.current) for(var/obj/O in raider.current.get_contents()) @@ -697,7 +697,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu S = I total_amount += S.get_amount() - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode for(var/datum/mind/raider in H.raiders) if(raider.current) for(var/obj/item/O in raider.current.get_contents()) @@ -714,7 +714,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu explanation_text = "Do not leave any Vox behind, alive or dead." /datum/objective/heist/inviolate_crew/check_completion() - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode if(H.is_raider_crew_safe()) return 1 return 0 @@ -726,7 +726,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu var/vox_allowed_kills = 3 // The number of people the vox can accidently kill. Mostly a counter to people killing themselves if a raider touches them to force fail. var/vox_total_kills = 0 - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode for(var/datum/mind/raider in H.raiders) vox_total_kills += raider.kills.len // Kills are listed in the mind; uses this to calculate vox kills diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 7cab3de5aa1..9f7e14ccef2 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -87,7 +87,7 @@ if(check_counter >= 5) if(!finished) check_heads() - ticker.mode.check_win() + SSticker.mode.check_win() check_counter = 0 return FALSE @@ -369,7 +369,7 @@ /datum/game_mode/revolution/set_scoreboard_gvars() var/foecount = 0 - for(var/datum/mind/M in ticker.mode.head_revolutionaries) + for(var/datum/mind/M in SSticker.mode.head_revolutionaries) foecount++ if(!M || !M.current) score_opkilled++ @@ -408,10 +408,10 @@ var/comcount = 0 var/revcount = 0 var/loycount = 0 - for(var/datum/mind/M in ticker.mode:head_revolutionaries) + for(var/datum/mind/M in SSticker.mode:head_revolutionaries) if(M.current && M.current.stat != DEAD) foecount++ - for(var/datum/mind/M in ticker.mode:revolutionaries) + for(var/datum/mind/M in SSticker.mode:revolutionaries) if(M.current && M.current.stat != DEAD) revcount++ for(var/mob/living/carbon/human/player in world) @@ -421,7 +421,7 @@ if(player.stat != DEAD) comcount++ else - if(player.mind in ticker.mode.revolutionaries) continue + if(player.mind in SSticker.mode.revolutionaries) continue loycount++ for(var/mob/living/silicon/X in world) diff --git a/code/game/gamemodes/scoreboard.dm b/code/game/gamemodes/scoreboard.dm index bd17175eaa2..379b4fbdcd9 100644 --- a/code/game/gamemodes/scoreboard.dm +++ b/code/game/gamemodes/scoreboard.dm @@ -1,9 +1,9 @@ -/datum/controller/gameticker/proc/scoreboard() +/datum/controller/subsystem/ticker/proc/scoreboard() //Print a list of antagonists to the server log var/list/total_antagonists = list() //Look into all mobs in world, dead or alive - for(var/datum/mind/Mind in minds) + for(var/datum/mind/Mind in SSticker.minds) var/temprole = Mind.special_role if(temprole) //if they are an antagonist of some sort. if(temprole in total_antagonists) //If the role exists already, add the name to it @@ -66,8 +66,8 @@ score_dmgestjob = E.job score_dmgestkey = E.key - if(ticker && ticker.mode) - ticker.mode.set_scoreboard_gvars() + if(SSticker && SSticker.mode) + SSticker.mode.set_scoreboard_gvars() // Check station's power levels @@ -147,7 +147,7 @@ E.scorestats() // A recursive function to properly determine the wealthiest escapee -/datum/controller/gameticker/proc/get_score_container_worth(atom/C, level=0) +/datum/controller/subsystem/ticker/proc/get_score_container_worth(atom/C, level=0) if(level >= 5) // in case the containers recurse or something return 0 @@ -171,8 +171,8 @@ /mob/proc/scorestats() var/dat = "Round Statistics and Score

" - if(ticker && ticker.mode) - dat += ticker.mode.get_scoreboard_stats() + if(SSticker && SSticker.mode) + dat += SSticker.mode.get_scoreboard_stats() dat += {" General Statistics
@@ -208,7 +208,7 @@ else dat += "No-one escaped!
" - dat += ticker.mode.declare_job_completion() + dat += SSticker.mode.declare_job_completion() dat += {"

diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm index 0c16e88279b..78e6cea4987 100644 --- a/code/game/gamemodes/setupgame.dm +++ b/code/game/gamemodes/setupgame.dm @@ -142,12 +142,12 @@ qdel(F) continue else - ticker.factions.Add(F) - ticker.availablefactions.Add(F) + SSticker.factions.Add(F) + SSticker.availablefactions.Add(F) // Populate the syndicate coalition: - for(var/datum/faction/syndicate/S in ticker.factions) - ticker.syndicate_coalition.Add(S) + for(var/datum/faction/syndicate/S in SSticker.factions) + SSticker.syndicate_coalition.Add(S) /proc/setupcult() var/static/datum/cult_info/picked_cult // Only needs to get picked once diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index 230f797626d..b580f88c0b7 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -56,15 +56,15 @@ Made by Xhuis var/thrall_ratio = 1 /proc/is_thrall(var/mob/living/M) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.shadowling_thralls) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.shadowling_thralls) /proc/is_shadow_or_thrall(var/mob/living/M) - return istype(M) && M.mind && ticker && ticker.mode && ((M.mind in ticker.mode.shadowling_thralls) || (M.mind in ticker.mode.shadows)) + return istype(M) && M.mind && SSticker && SSticker.mode && ((M.mind in SSticker.mode.shadowling_thralls) || (M.mind in SSticker.mode.shadows)) /proc/is_shadow(var/mob/living/M) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.shadows) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.shadows) /datum/game_mode/shadowling diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index ea95f62af57..2515de135fa 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -216,11 +216,11 @@ /obj/effect/proc_holder/spell/targeted/enthrall/cast(list/targets, mob/user = usr) var/mob/living/carbon/human/ling = user - listclearnulls(ticker.mode.shadowling_thralls) - if(!(ling.mind in ticker.mode.shadows)) + listclearnulls(SSticker.mode.shadowling_thralls) + if(!(ling.mind in SSticker.mode.shadows)) return if(!isshadowling(ling)) - if(ticker.mode.shadowling_thralls.len >= 5) + if(SSticker.mode.shadowling_thralls.len >= 5) charge_counter = charge_max return for(var/mob/living/carbon/human/target in targets) @@ -291,7 +291,7 @@ target.visible_message("[target] looks to have experienced a revelation!", \ "False faces all dark not real not real not--") target.setOxyLoss(0) //In case the shadowling was choking them out - ticker.mode.add_thrall(target.mind) + SSticker.mode.add_thrall(target.mind) target.mind.special_role = SPECIAL_ROLE_SHADOWLING_THRALL /obj/effect/proc_holder/spell/targeted/shadowling_regenarmor //Resets a shadowling's species to normal, removes genetic defects, and re-equips their armor @@ -345,7 +345,7 @@ return for(var/mob/living/target in targets) var/thralls = 0 - var/victory_threshold = ticker.mode.required_thralls + var/victory_threshold = SSticker.mode.required_thralls var/mob/M to_chat(target, "You focus your telepathic energies abound, harnessing and drawing together the strength of your thralls.") @@ -359,24 +359,24 @@ to_chat(target, "Your concentration has been broken. The mental hooks you have sent out now retract into your mind.") return - if(thralls >= CEILING(3 * ticker.mode.thrall_ratio, 1) && !screech_acquired) + if(thralls >= CEILING(3 * SSticker.mode.thrall_ratio, 1) && !screech_acquired) screech_acquired = 1 to_chat(target, "The power of your thralls has granted you the Sonic Screech ability. This ability will shatter nearby windows and deafen enemies, plus stunning silicon lifeforms.") target.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/unearthly_screech(null)) - if(thralls >= CEILING(5 * ticker.mode.thrall_ratio, 1) && !blind_smoke_acquired) + if(thralls >= CEILING(5 * SSticker.mode.thrall_ratio, 1) && !blind_smoke_acquired) blind_smoke_acquired = 1 to_chat(target, "The power of your thralls has granted you the Blinding Smoke ability. \ It will create a choking cloud that will blind any non-thralls who enter.") target.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/blindness_smoke(null)) - if(thralls >= CEILING(7 * ticker.mode.thrall_ratio, 1) && !nullChargeAcquired) + if(thralls >= CEILING(7 * SSticker.mode.thrall_ratio, 1) && !nullChargeAcquired) nullChargeAcquired = 1 to_chat(user, "The power of your thralls has granted you the Null Charge ability. This ability will drain an APC's contents to the void, preventing it from recharging \ or sending power until repaired.") target.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/null_charge(null)) - if(thralls >= CEILING(9 * ticker.mode.thrall_ratio, 1) && !reviveThrallAcquired) + if(thralls >= CEILING(9 * SSticker.mode.thrall_ratio, 1) && !reviveThrallAcquired) reviveThrallAcquired = 1 to_chat(target, "The power of your thralls has granted you the Black Recuperation ability. \ This will, after a short time, bring a dead thrall completely back to life with no bodily defects.") @@ -578,7 +578,7 @@ charge_counter = charge_max return var/empowered_thralls = 0 - for(var/datum/mind/M in ticker.mode.shadowling_thralls) + for(var/datum/mind/M in SSticker.mode.shadowling_thralls) if(!ishuman(M.current)) return var/mob/living/carbon/human/H = M.current @@ -767,7 +767,7 @@ to_chat(user, "You instantly rearrange [target]'s memories, hyptonitizing [target.p_them()] into a thrall.") to_chat(target, "An agonizing spike of pain drives into your mind, and--") - ticker.mode.add_thrall(target.mind) + SSticker.mode.add_thrall(target.mind) target.mind.special_role = SPECIAL_ROLE_SHADOWLING_THRALL target.add_language("Shadowling Hivemind") diff --git a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm index 29a2c9aadca..772947f0618 100644 --- a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm @@ -179,9 +179,9 @@ var/list/possibleShadowlingNames = list("U'ruan", "Y`shej", "Nex", "Hel-uae", "N H.invisibility = 60 //This is pretty bad, but is also necessary for the shuttle call to function properly H.loc = A sleep(50) - if(!ticker.mode.shadowling_ascended) + if(!SSticker.mode.shadowling_ascended) SSshuttle.emergency.request(null, 0.3) SSshuttle.emergency.canRecall = FALSE - ticker.mode.shadowling_ascended = 1 + SSticker.mode.shadowling_ascended = 1 A.mind.RemoveSpell(src) qdel(H) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index de7ce59eaa2..d956e6d76b6 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -348,14 +348,14 @@ /datum/game_mode/proc/remove_traitor(datum/mind/traitor_mind) if(traitor_mind in traitors) - ticker.mode.traitors -= traitor_mind + SSticker.mode.traitors -= traitor_mind traitor_mind.special_role = null traitor_mind.current.create_attack_log("De-traitored") if(issilicon(traitor_mind.current)) to_chat(traitor_mind.current, "You have been turned into a robot! You are no longer a traitor.") else to_chat(traitor_mind.current, "You have been brainwashed! You are no longer a traitor.") - ticker.mode.update_traitor_icons_removed(traitor_mind) + SSticker.mode.update_traitor_icons_removed(traitor_mind) /datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind) var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR] diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 18d36ad57f3..9dec5b573e2 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -288,7 +288,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha else H.LAssailant = owner while(do_mob(owner, H, 50)) - if(!(owner.mind in ticker.mode.vampires)) + if(!(owner.mind in SSticker.mode.vampires)) to_chat(owner, "Your fangs have disappeared!") return old_bloodtotal = bloodtotal @@ -337,7 +337,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha /datum/game_mode/proc/remove_vampire(datum/mind/vampire_mind) if(vampire_mind in vampires) - ticker.mode.vampires -= vampire_mind + SSticker.mode.vampires -= vampire_mind vampire_mind.special_role = null vampire_mind.current.create_attack_log("De-vampired") if(vampire_mind.vampire) @@ -347,7 +347,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha to_chat(vampire_mind.current, "You have been turned into a robot! You can feel your powers fading away...") else to_chat(vampire_mind.current, "You have been brainwashed! You are no longer a vampire.") - ticker.mode.update_vampire_icons_removed(vampire_mind) + SSticker.mode.update_vampire_icons_removed(vampire_mind) //prepare for copypaste /datum/game_mode/proc/update_vampire_icons_added(datum/mind/vampire_mind) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 5e7b8f9a237..01885b21e14 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -276,7 +276,7 @@ /proc/isvampirethrall(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.vampire_enthralled) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.vampire_enthralled) /obj/effect/proc_holder/spell/vampire/targetted/enthrall name = "Enthrall (300)" @@ -315,11 +315,11 @@ if(!C.mind) to_chat(user, "[C.name]'s mind is not there for you to enthrall.") return 0 - if(enthrall_safe || ( C.mind in ticker.mode.vampires )||( C.mind.vampire )||( C.mind in ticker.mode.vampire_enthralled )) + if(enthrall_safe || ( C.mind in SSticker.mode.vampires )||( C.mind.vampire )||( C.mind in SSticker.mode.vampire_enthralled )) C.visible_message("[C] seems to resist the takeover!", "You feel a familiar sensation in your skull that quickly dissipates.") return 0 if(!affects(C)) - C.visible_message("[C] seems to resist the takeover!", "Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil.") + C.visible_message("[C] seems to resist the takeover!", "Your faith of [SSticker.Bible_deity_name] has kept your mind clear of all evil.") return 0 if(!ishuman(C)) to_chat(user, "You can only enthrall humans!") @@ -330,21 +330,21 @@ if(!istype(H)) return 0 var/ref = "\ref[user.mind]" - if(!(ref in ticker.mode.vampire_thralls)) - ticker.mode.vampire_thralls[ref] = list(H.mind) + if(!(ref in SSticker.mode.vampire_thralls)) + SSticker.mode.vampire_thralls[ref] = list(H.mind) else - ticker.mode.vampire_thralls[ref] += H.mind + SSticker.mode.vampire_thralls[ref] += H.mind - ticker.mode.update_vampire_icons_added(H.mind) - ticker.mode.update_vampire_icons_added(user.mind) + SSticker.mode.update_vampire_icons_added(H.mind) + SSticker.mode.update_vampire_icons_added(user.mind) var/datum/mindslaves/slaved = user.mind.som H.mind.som = slaved slaved.serv += H slaved.add_serv_hud(user.mind, "vampire")//handles master servent icons slaved.add_serv_hud(H.mind, "vampthrall") - ticker.mode.vampire_enthralled.Add(H.mind) - ticker.mode.vampire_enthralled[H.mind] = user.mind + SSticker.mode.vampire_enthralled.Add(H.mind) + SSticker.mode.vampire_enthralled[H.mind] = user.mind H.mind.special_role = SPECIAL_ROLE_VAMPIRE_THRALL to_chat(H, "You have been Enthralled by [user]. Follow [user.p_their()] every command.") to_chat(user, "You have successfully Enthralled [H]. If [H.p_they()] refuse[H.p_s()] to do as you say just adminhelp.") diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 243f4e3a3fa..cb891ea6b11 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -99,9 +99,9 @@ new_objective:target = H:mind new_objective.explanation_text = "Protect [H.real_name], the wizard." M.mind.objectives += new_objective - ticker.mode.traitors += M.mind + SSticker.mode.traitors += M.mind M.mind.special_role = SPECIAL_ROLE_WIZARD_APPRENTICE - ticker.mode.update_wiz_icons_added(M.mind) + SSticker.mode.update_wiz_icons_added(M.mind) M.faction = list("wizard") else used = 0 @@ -283,7 +283,7 @@ var/global/list/multiverse = list() usr.mind.objectives += hijack_objective hijack_objective.explanation_text = "Ensure only [usr.real_name] and [usr.p_their()] copies are on the shuttle!" to_chat(usr, "Objective #[1]: [hijack_objective.explanation_text]") - ticker.mode.traitors += usr.mind + SSticker.mode.traitors += usr.mind usr.mind.special_role = "[usr.real_name] Prime" evil = TRUE else @@ -293,7 +293,7 @@ var/global/list/multiverse = list() new_objective.explanation_text = "Survive, and help defend the innocent from the mobs of multiverse clones." to_chat(usr, "Objective #[1]: [new_objective.explanation_text]") usr.mind.objectives += new_objective - ticker.mode.traitors += usr.mind + SSticker.mode.traitors += usr.mind usr.mind.special_role = "[usr.real_name] Prime" evil = FALSE else diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 3e22f3f84df..a71b51c58f0 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -273,11 +273,11 @@ Z.key = A.key Z.faction |= "\ref[U]" if(iscultist(U)) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(Z.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(Z.mind) else - ticker.mode.cult+=Z.mind - ticker.mode.update_cult_icons_added(Z.mind) + SSticker.mode.cult+=Z.mind + SSticker.mode.update_cult_icons_added(Z.mind) qdel(T) to_chat(Z, "You are a Juggernaut. Though slow, your shell can withstand extreme punishment, create shield walls and even deflect energy weapons, and rip apart enemies and walls alike.") to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.") @@ -289,11 +289,11 @@ Z.key = A.key Z.faction |= "\ref[U]" if(iscultist(U)) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(Z.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(Z.mind) else - ticker.mode.cult+=Z.mind - ticker.mode.update_cult_icons_added(Z.mind) + SSticker.mode.cult+=Z.mind + SSticker.mode.update_cult_icons_added(Z.mind) qdel(T) to_chat(Z, "You are a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.") to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.") @@ -305,11 +305,11 @@ Z.key = A.key Z.faction |= "\ref[U]" if(iscultist(U)) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(Z.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(Z.mind) else - ticker.mode.cult+=Z.mind - ticker.mode.update_cult_icons_added(Z.mind) + SSticker.mode.cult+=Z.mind + SSticker.mode.update_cult_icons_added(Z.mind) qdel(T) to_chat(Z, "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, use magic missile, repair allied constructs (by clicking on them), and most important of all create new constructs (Use your Artificer spell to summon a new construct shell and Summon Soulstone to create a new soulstone).") to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.") @@ -326,11 +326,11 @@ newstruct.faction |= "\ref[stoner]" newstruct.key = target.key if(stoner && iscultist(stoner) || cultoverride) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(newstruct.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(newstruct.mind) else - ticker.mode.cult+=newstruct.mind - ticker.mode.update_cult_icons_added(newstruct.mind) + SSticker.mode.cult+=newstruct.mind + SSticker.mode.update_cult_icons_added(newstruct.mind) if(stoner && iswizard(stoner)) to_chat(newstruct, "You are still bound to serve your creator, follow [stoner.p_their()] orders and help [stoner.p_them()] complete [stoner.p_their()] goals at all costs.") else if(stoner && iscultist(stoner)) @@ -357,7 +357,7 @@ if(U) S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation if(U && iscultist(U)) - ticker.mode.add_cultist(S.mind, 0) + SSticker.mode.add_cultist(S.mind, 0) S.cancel_camera() name = "soulstone: Shade of [T.real_name]" icon_state = "soulstone2" diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 0a1340d885b..29be588fe68 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -475,7 +475,7 @@ cost = 0 /datum/spellbook_entry/summon/ghosts/IsAvailible() - if(!ticker.mode) + if(!SSticker.mode) return FALSE else return TRUE @@ -495,9 +495,9 @@ log_name = "SG" /datum/spellbook_entry/summon/guns/IsAvailible() - if(!ticker.mode) // In case spellbook is placed on map + if(!SSticker.mode) // In case spellbook is placed on map return 0 - if(ticker.mode.name == "ragin' mages") + if(SSticker.mode.name == "ragin' mages") return 0 else return 1 @@ -518,9 +518,9 @@ log_name = "SU" /datum/spellbook_entry/summon/magic/IsAvailible() - if(!ticker.mode) // In case spellbook is placed on map + if(!SSticker.mode) // In case spellbook is placed on map return 0 - if(ticker.mode.name == "ragin' mages") + if(SSticker.mode.name == "ragin' mages") return 0 else return 1 diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index b249ebe8520..4a5bf190e04 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -58,7 +58,7 @@ /datum/game_mode/proc/remove_wizard(datum/mind/wizard_mind) if(wizard_mind in wizards) - ticker.mode.wizards -= wizard_mind + SSticker.mode.wizards -= wizard_mind wizard_mind.special_role = null wizard_mind.current.create_attack_log("De-wizarded") wizard_mind.current.spellremove(wizard_mind.current) @@ -67,7 +67,7 @@ to_chat(wizard_mind.current, "You have been turned into a robot! You can feel your magical powers fading away...") else to_chat(wizard_mind.current, "You have been brainwashed! You are no longer a wizard.") - ticker.mode.update_wiz_icons_removed(wizard_mind) + SSticker.mode.update_wiz_icons_removed(wizard_mind) /datum/game_mode/proc/update_wiz_icons_added(datum/mind/wiz_mind) var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ] @@ -282,4 +282,4 @@ Made a proc so this is not repeated 14 (or more) times.*/ return 1 /proc/iswizard(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.wizards) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.wizards) diff --git a/code/game/jobs/job/support_chaplain.dm b/code/game/jobs/job/support_chaplain.dm index 73ec2483af1..ac393e277a8 100644 --- a/code/game/jobs/job/support_chaplain.dm +++ b/code/game/jobs/job/support_chaplain.dm @@ -158,11 +158,11 @@ to_chat(H, "Welp, out of time, buddy. You're stuck. Next time choose faster.") accepted = 1 - if(ticker) - ticker.Bible_icon_state = B.icon_state - ticker.Bible_item_state = B.item_state - ticker.Bible_name = B.name - ticker.Bible_deity_name = B.deity_name + if(SSticker) + SSticker.Bible_icon_state = B.icon_state + SSticker.Bible_item_state = B.item_state + SSticker.Bible_name = B.name + SSticker.Bible_deity_name = B.deity_name feedback_set_details("religion_deity", "[new_deity]") feedback_set_details("religion_book", "[new_book_style]") diff --git a/code/game/jobs/job_objective.dm b/code/game/jobs/job_objective.dm index 90bac6d8383..4456bb571e5 100644 --- a/code/game/jobs/job_objective.dm +++ b/code/game/jobs/job_objective.dm @@ -44,7 +44,7 @@ /datum/game_mode/proc/declare_job_completion() var/text = "
Job Completion" - for(var/datum/mind/employee in ticker.minds) + for(var/datum/mind/employee in SSticker.minds) if(!employee.job_objectives.len)//If the employee had no objectives, don't need to process this. continue diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 7ce515365ae..80fed112c7a 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -417,24 +417,24 @@ /obj/machinery/clonepod/proc/update_clone_antag(var/mob/living/carbon/human/H) // Check to see if the clone's mind is an antagonist of any kind and handle them accordingly to make sure they get their spells, HUD/whatever else back. callHook("clone", list(H)) - if((H.mind in ticker.mode:revolutionaries) || (H.mind in ticker.mode:head_revolutionaries)) - ticker.mode.update_rev_icons_added() //So the icon actually appears - if(H.mind in ticker.mode.syndicates) - ticker.mode.update_synd_icons_added() - if(H.mind in ticker.mode.cult) - ticker.mode.add_cultist(occupant.mind) - ticker.mode.update_cult_icons_added() //So the icon actually appears - ticker.mode.update_cult_comms_added(H.mind) //So the comms actually appears - if((H.mind in ticker.mode.implanter) || (H.mind in ticker.mode.implanted)) - ticker.mode.update_traitor_icons_added(H.mind) //So the icon actually appears + if((H.mind in SSticker.mode:revolutionaries) || (H.mind in SSticker.mode:head_revolutionaries)) + SSticker.mode.update_rev_icons_added() //So the icon actually appears + if(H.mind in SSticker.mode.syndicates) + SSticker.mode.update_synd_icons_added() + if(H.mind in SSticker.mode.cult) + SSticker.mode.add_cultist(occupant.mind) + SSticker.mode.update_cult_icons_added() //So the icon actually appears + SSticker.mode.update_cult_comms_added(H.mind) //So the comms actually appears + if((H.mind in SSticker.mode.implanter) || (H.mind in SSticker.mode.implanted)) + SSticker.mode.update_traitor_icons_added(H.mind) //So the icon actually appears if(H.mind.vampire) H.mind.vampire.update_owner(H) - if((H.mind in ticker.mode.vampire_thralls) || (H.mind in ticker.mode.vampire_enthralled)) - ticker.mode.update_vampire_icons_added(H.mind) - if(H.mind in ticker.mode.changelings) - ticker.mode.update_change_icons_added(H.mind) - if((H.mind in ticker.mode.shadowling_thralls) || (H.mind in ticker.mode.shadows)) - ticker.mode.update_shadow_icons_added(H.mind) + if((H.mind in SSticker.mode.vampire_thralls) || (H.mind in SSticker.mode.vampire_enthralled)) + SSticker.mode.update_vampire_icons_added(H.mind) + if(H.mind in SSticker.mode.changelings) + SSticker.mode.update_change_icons_added(H.mind) + if((H.mind in SSticker.mode.shadowling_thralls) || (H.mind in SSticker.mode.shadows)) + SSticker.mode.update_shadow_icons_added(H.mind) //Put messages in the connected computer's temp var for display. /obj/machinery/clonepod/proc/connected_message(message) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 67f1dba85f0..38cc0b56866 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -134,8 +134,8 @@ return if(P:brainmob.mind) - ticker.mode.remove_cultist(P:brainmob.mind, 1) - ticker.mode.remove_revolutionary(P:brainmob.mind, 1) + SSticker.mode.remove_cultist(P:brainmob.mind, 1) + SSticker.mode.remove_revolutionary(P:brainmob.mind, 1) user.drop_item() P.loc = src diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index e369b203759..d064dbda743 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -439,7 +439,7 @@ to_chat(user, "The emergency shuttle may not be called while returning to Central Command.") return - if(ticker.mode.name == "blob") + if(SSticker.mode.name == "blob") to_chat(user, "Under directive 7-10, [station_name()] is quarantined until further notice.") return @@ -464,7 +464,7 @@ to_chat(user, "The shuttle is refueling. Please wait another [round((54000-world.time)/600)] minutes before trying again.") return - if(ticker.mode.name == "epidemic") + if(SSticker.mode.name == "epidemic") to_chat(user, "Under directive 7-10, [station_name()] is quarantined until further notice.") return @@ -481,7 +481,7 @@ /proc/cancel_call_proc(var/mob/user) - if(ticker.mode.name == "meteor") + if(SSticker.mode.name == "meteor") return if(SSshuttle.cancelEvac(user)) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 9674a60c7d4..0ab3d01ddf1 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -53,7 +53,7 @@ var/dat - if(!( ticker )) + if(!( SSticker )) return dat += "

[storage_name]
" @@ -364,13 +364,13 @@ // Skip past any cult sacrifice objective using this person if(GAMEMODE_IS_CULT && is_sacrifice_target(occupant.mind)) - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode var/list/p_s_t = cult_mode.get_possible_sac_targets() if(p_s_t.len) cult_mode.sacrifice_target = pick(p_s_t) - for(var/datum/mind/H in ticker.mode.cult) + for(var/datum/mind/H in SSticker.mode.cult) if(H.current) - to_chat(H.current, "[ticker.cultdat.entity_name] murmurs, [occupant] is beyond your reach. Sacrifice [cult_mode.sacrifice_target.current] instead...
") + to_chat(H.current, "[SSticker.cultdat.entity_name] murmurs, [occupant] is beyond your reach. Sacrifice [cult_mode.sacrifice_target.current] instead...
") else cult_mode.bypass_phase() @@ -403,8 +403,8 @@ occupant.mind.objectives.Cut() occupant.mind.special_role = null else - if(ticker.mode.name == "AutoTraitor") - var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode + if(SSticker.mode.name == "AutoTraitor") + var/datum/game_mode/traitor/autotraitor/current_mode = SSticker.mode current_mode.possible_traitors.Remove(occupant) // Delete them from datacore. diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 21ff909796f..f382af5259a 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -77,7 +77,7 @@ else do_animate("deny") return - if(!ticker) + if(!SSticker) return var/mob/living/M = AM if(!M.restrained() && M.mob_size > MOB_SIZE_TINY && (!(isrobot(M) && M.stat))) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 6422e94dc74..1a63371915b 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -57,8 +57,8 @@ return if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/N = M - ticker.mode.equip_traitor(N) - ticker.mode.traitors += N.mind + SSticker.mode.equip_traitor(N) + SSticker.mode.traitors += N.mind N.mind.special_role = SPECIAL_ROLE_TRAITOR var/objective = "Free Objective" switch(rand(1,100)) diff --git a/code/game/magic/Uristrunes.dm b/code/game/magic/Uristrunes.dm index 1a242594bfe..e0621db3d9b 100644 --- a/code/game/magic/Uristrunes.dm +++ b/code/game/magic/Uristrunes.dm @@ -1,7 +1,7 @@ /proc/get_rune_cult(word) var/animated - if(word && !(ticker.cultdat.theme == "fire" || ticker.cultdat.theme == "death")) + if(word && !(SSticker.cultdat.theme == "fire" || SSticker.cultdat.theme == "death")) animated = 1 else animated = 0 @@ -18,11 +18,11 @@ var/runetype = "rune" var/lookup = "[symbol_bits]-[animated]" - if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way + if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way runetype = "rune" - else if(ticker.cultdat.theme == "fire") + else if(SSticker.cultdat.theme == "fire") runetype = "fire-rune" - else if(ticker.cultdat.theme == "death") + else if(SSticker.cultdat.theme == "death") runetype = "death-rune" diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 7cfd8bbec45..45bfb37f035 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -28,7 +28,7 @@ var/global/list/image/splatter_cache = list() . = ..() update_icon() if(GAMEMODE_IS_CULT) - var/datum/game_mode/cult/mode_ticker = ticker.mode + var/datum/game_mode/cult/mode_ticker = SSticker.mode var/turf/T = get_turf(src) if(T && (is_station_level(T.z)))//F I V E T I L E S if(!(T in mode_ticker.bloody_floors)) @@ -48,7 +48,7 @@ var/global/list/image/splatter_cache = list() /obj/effect/decal/cleanable/blood/Destroy() if(GAMEMODE_IS_CULT) - var/datum/game_mode/cult/mode_ticker = ticker.mode + var/datum/game_mode/cult/mode_ticker = SSticker.mode var/turf/T = get_turf(src) if(T && (is_station_level(T.z))) mode_ticker.bloody_floors -= T diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 1231c8136fa..04ea1dc0841 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -14,11 +14,11 @@ would spawn and follow the beaker, even if it is carried or thrown. /obj/effect/particle_effect/New() ..() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) /obj/effect/particle_effect/Destroy() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) return ..() diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 2fb1aae8ff0..a618383a819 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -155,14 +155,14 @@ /obj/item/flash/proc/terrible_conversion_proc(mob/M, mob/user) if(ishuman(M) && ishuman(user) && M.stat != DEAD) - if(user.mind && (user.mind in ticker.mode.head_revolutionaries)) + if(user.mind && (user.mind in SSticker.mode.head_revolutionaries)) if(M.client) if(M.stat == CONSCIOUS) M.mind_initialize() //give them a mind datum if they don't have one. var/resisted if(!ismindshielded(M)) - if(user.mind in ticker.mode.head_revolutionaries) - if(ticker.mode.add_revolutionary(M.mind)) + if(user.mind in SSticker.mode.head_revolutionaries) + if(SSticker.mode.add_revolutionary(M.mind)) times_used -- //Flashes less likely to burn out for headrevs when used for conversion else resisted = 1 diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e65c9a683a7..b051b2f732e 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -51,7 +51,7 @@ if(((CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly return ..() //just hit them in the head - if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") //don't have dexterity + if(!(istype(user, /mob/living/carbon/human) || SSticker) && SSticker.mode.name != "monkey") //don't have dexterity to_chat(user, "You don't have the dexterity to do this!") return diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index e5bbeef7686..c6cfe03a151 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -31,8 +31,8 @@ var/list/world_uplinks = list() /obj/item/uplink/New() ..() - welcome = ticker.mode.uplink_welcome - uses = ticker.mode.uplink_uses + welcome = SSticker.mode.uplink_welcome + uses = SSticker.mode.uplink_uses uplink_items = get_uplink_items() world_uplinks += src diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 65f504b4ae0..5892381a993 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -245,7 +245,7 @@ to_chat(user, "Sticking a dead [M] into the frame would sort of defeat the purpose.") return - if(M.brainmob.mind in ticker.mode.head_revolutionaries) + if(M.brainmob.mind in SSticker.mode.head_revolutionaries) to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [M].") return diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index a20dd86c897..68e731b8c44 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -443,15 +443,15 @@ return ..() if(!user.mind || !user.mind.isholy) - to_chat(user, "You are not close enough with [ticker.Bible_deity_name] to use [src].") + to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].") return if(praying) to_chat(user, "You are already using [src].") return - user.visible_message("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [ticker.Bible_deity_name].", \ - "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [ticker.Bible_deity_name].") + user.visible_message("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [SSticker.Bible_deity_name].", \ + "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [SSticker.Bible_deity_name].") praying = 1 if(do_after(user, 150, target = M)) @@ -460,18 +460,18 @@ if(target.mind) if(iscultist(target)) - ticker.mode.remove_cultist(target.mind) // This proc will handle message generation. + SSticker.mode.remove_cultist(target.mind) // This proc will handle message generation. praying = 0 return if(target.mind.vampire && !target.mind.vampire.get_ability(/datum/vampire_passive/full)) // Getting a full prayer off on a vampire will interrupt their powers for a large duration. target.mind.vampire.nullified = max(120, target.mind.vampire.nullified + 120) - to_chat(target, "[user]'s prayer to [ticker.Bible_deity_name] has interfered with your power!") + to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!") praying = 0 return if(prob(25)) - to_chat(target, "[user]'s prayer to [ticker.Bible_deity_name] has eased your pain!") + to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has eased your pain!") target.adjustToxLoss(-5) target.adjustOxyLoss(-5) target.adjustBruteLoss(-5) @@ -480,7 +480,7 @@ praying = 0 else - to_chat(user, "Your prayer to [ticker.Bible_deity_name] was interrupted.") + to_chat(user, "Your prayer to [SSticker.Bible_deity_name] was interrupted.") praying = 0 /obj/item/nullrod/rosary/process() @@ -506,13 +506,13 @@ /obj/item/nullrod/salt/attack_self(mob/user) if(!user.mind || !user.mind.isholy) - to_chat(user, "You are not close enough with [ticker.Bible_deity_name] to use [src].") + to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].") return if(!(ghostcall_CD > world.time)) ghostcall_CD = world.time + 3000 //deciseconds..5 minutes - user.visible_message("[user] kneels and begins to utter a prayer to [ticker.Bible_deity_name] while drawing a circle with salt!", \ - "You kneel and begin a prayer to [ticker.Bible_deity_name] while drawing a circle!") + user.visible_message("[user] kneels and begins to utter a prayer to [SSticker.Bible_deity_name] while drawing a circle with salt!", \ + "You kneel and begin a prayer to [SSticker.Bible_deity_name] while drawing a circle!") notify_ghosts("The Chaplain is calling ghosts to [get_area(src)] with [name]!", source = src) else to_chat(user, "You need to wait before using [src] again.") diff --git a/code/game/objects/items/weapons/implants/implant_mindshield.dm b/code/game/objects/items/weapons/implants/implant_mindshield.dm index 739fe2827e4..bc942b73d81 100644 --- a/code/game/objects/items/weapons/implants/implant_mindshield.dm +++ b/code/game/objects/items/weapons/implants/implant_mindshield.dm @@ -19,14 +19,14 @@ /obj/item/implant/mindshield/implant(mob/target) if(..()) - if(target.mind in ticker.mode.head_revolutionaries || is_shadow_or_thrall(target)) + if(target.mind in SSticker.mode.head_revolutionaries || is_shadow_or_thrall(target)) target.visible_message("[target] seems to resist the implant!", "You feel the corporate tendrils of Nanotrasen try to invade your mind!") removed(target, 1) qdel(src) return -1 - if(target.mind in ticker.mode.revolutionaries) - ticker.mode.remove_revolutionary(target.mind) - if(target.mind in ticker.mode.cult) + if(target.mind in SSticker.mode.revolutionaries) + SSticker.mode.remove_revolutionary(target.mind) + if(target.mind in SSticker.mode.cult) to_chat(target, "You feel the corporate tendrils of Nanotrasen try to invade your mind!") else to_chat(target, "Your mind feels hardened - more resistant to brainwashing.") diff --git a/code/game/objects/items/weapons/implants/implant_traitor.dm b/code/game/objects/items/weapons/implants/implant_traitor.dm index 58f78a7be4e..16d8943567d 100644 --- a/code/game/objects/items/weapons/implants/implant_traitor.dm +++ b/code/game/objects/items/weapons/implants/implant_traitor.dm @@ -45,15 +45,15 @@ return -1 H.implanting = 1 to_chat(H, "You feel completely loyal to [user.name].") - if(!(user.mind in ticker.mode.implanter)) - ticker.mode.implanter[ref] = list() - implanters = ticker.mode.implanter[ref] + if(!(user.mind in SSticker.mode.implanter)) + SSticker.mode.implanter[ref] = list() + implanters = SSticker.mode.implanter[ref] implanters.Add(H.mind) - ticker.mode.implanted.Add(H.mind) - ticker.mode.implanted[H.mind] = user.mind - //ticker.mode.implanter[user.mind] += H.mind - ticker.mode.implanter[ref] = implanters - ticker.mode.traitors += H.mind + SSticker.mode.implanted.Add(H.mind) + SSticker.mode.implanted[H.mind] = user.mind + //SSticker.mode.implanter[user.mind] += H.mind + SSticker.mode.implanter[ref] = implanters + SSticker.mode.traitors += H.mind H.mind.special_role = SPECIAL_ROLE_TRAITOR to_chat(H, "You're now completely loyal to [user.name]! You now must lay down your life to protect [user.p_them()] and assist in [user.p_their()] goals at any cost.") var/datum/objective/protect/mindslave/MS = new @@ -64,8 +64,8 @@ for(var/datum/objective/objective in H.mind.objectives) to_chat(H, "Objective #1: [objective.explanation_text]") - ticker.mode.update_traitor_icons_added(user.mind) - ticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds + SSticker.mode.update_traitor_icons_added(user.mind) + SSticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds if(user.mind.som)//do not add if not a traitor..and you just picked up an implanter in the hall... var/datum/mindslaves/slaved = user.mind.som @@ -77,12 +77,12 @@ log_admin("[key_name(user)] has mind-slaved [key_name(H)].") activated = 1 if(jobban_isbanned(M, ROLE_SYNDICATE)) - ticker.mode.replace_jobbanned_player(M, ROLE_SYNDICATE) + SSticker.mode.replace_jobbanned_player(M, ROLE_SYNDICATE) return 1 return 0 /obj/item/implant/traitor/removed(mob/target) if(..()) - ticker.mode.remove_traitor_mind(target.mind) + SSticker.mode.remove_traitor_mind(target.mind) return 1 return 0 \ No newline at end of file diff --git a/code/game/objects/items/weapons/staff.dm b/code/game/objects/items/weapons/staff.dm index 54ef5f06f85..15b0b914391 100644 --- a/code/game/objects/items/weapons/staff.dm +++ b/code/game/objects/items/weapons/staff.dm @@ -27,7 +27,7 @@ if(user) user.update_inv_l_hand() user.update_inv_r_hand() - if(user.mind in ticker.mode.wizards) + if(user.mind in SSticker.mode.wizards) user.flying = wielded ? 1 : 0 if(wielded) to_chat(user, "You hold \the [src] between your legs.") diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index dfa1bf97358..eb778b6a280 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -45,7 +45,7 @@ else M.LAssailant = user - if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") + if(!(istype(user, /mob/living/carbon/human) || SSticker) && SSticker.mode.name != "monkey") to_chat(user, "You don't have the dexterity to do this!") return if(!user.mind || !user.mind.isholy) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index faf86394dba..58a2d0464fc 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -31,17 +31,17 @@ /obj/structure/New() ..() if(smooth) - if(ticker && ticker.current_state == GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state == GAME_STATE_PLAYING) queue_smooth(src) queue_smooth_neighbors(src) icon_state = "" if(climbable) verbs += /obj/structure/proc/climb_on - if(ticker) + if(SSticker) cameranet.updateVisibility(src) /obj/structure/Destroy() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) if(smooth) var/turf/T = get_turf(src) diff --git a/code/game/sound.dm b/code/game/sound.dm index 3846e2edeaa..d27239ae4e7 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -108,10 +108,10 @@ SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = chan)) /client/proc/playtitlemusic() - if(!ticker || !ticker.login_music || config.disable_lobby_music) + if(!SSticker || !SSticker.login_music || config.disable_lobby_music) return if(prefs.sound & SOUND_LOBBY) - SEND_SOUND(src, sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS + SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS /proc/get_rand_frequency() return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index f1172435b1b..069fefe8103 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -144,8 +144,8 @@ /turf/simulated/floor/engine/cult/New() ..() - if(ticker.mode)//only do this if the round is going..otherwise..fucking asteroid.. - icon_state = ticker.cultdat.cult_floor_icon_state + if(SSticker.mode)//only do this if the round is going..otherwise..fucking asteroid.. + icon_state = SSticker.cultdat.cult_floor_icon_state /turf/simulated/floor/engine/cult/narsie_act() return diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index 18492da2d00..d738b13b07f 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -12,9 +12,9 @@ /turf/simulated/wall/cult/New() ..() - if(ticker.mode)//game hasn't started offically don't do shit.. + if(SSticker.mode)//game hasn't started offically don't do shit.. new /obj/effect/temp_visual/cult/turf(src) - icon_state = ticker.cultdat.cult_wall_icon_state + icon_state = SSticker.cultdat.cult_wall_icon_state /turf/simulated/wall/cult/artificer name = "runed stone wall" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 677357cf170..26a71991afd 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -38,7 +38,7 @@ ..() for(var/atom/movable/AM in src) Entered(AM) - if(smooth && ticker && ticker.current_state == GAME_STATE_PLAYING) + if(smooth && SSticker && SSticker.current_state == GAME_STATE_PLAYING) queue_smooth(src) /hook/startup/proc/smooth_world() @@ -403,7 +403,7 @@ return(2) /turf/proc/visibilityChanged() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) /turf/attackby(obj/item/I, mob/user, params) @@ -456,7 +456,7 @@ blueprint_data += I /turf/proc/add_blueprints_preround(atom/movable/AM) - if(!ticker || ticker.current_state != GAME_STATE_PLAYING) + if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) add_blueprints(AM) /turf/proc/empty(turf_type=/turf/space) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 46d5c4e36ba..8febe20e840 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -59,7 +59,7 @@ to_chat(src, "You're already dead!") return - if(!ticker) + if(!SSticker) to_chat(src, "You can't commit suicide before the game starts!") return @@ -116,7 +116,7 @@ to_chat(src, "You're already dead!") return - if(!ticker) + if(!SSticker) to_chat(src, "You can't commit suicide before the game starts!") return diff --git a/code/game/world.dm b/code/game/world.dm index 86ca6d883bd..8106aca31d3 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -32,7 +32,6 @@ var/global/list/map_transition_config = MAP_TRANSITION_CONFIG processScheduler = new spawn(1) - processScheduler.deferSetupFor(/datum/controller/process/ticker) processScheduler.setup() @@ -122,10 +121,10 @@ var/world_topic_spam_protect_time = world.timeofday s["map_name"] = map_name ? map_name : "Unknown" if(key_valid) - if(ticker && ticker.mode) - s["real_mode"] = ticker.mode.name + if(SSticker && SSticker.mode) + s["real_mode"] = SSticker.mode.name s["security_level"] = get_security_level() - s["ticker_state"] = ticker.current_state + s["ticker_state"] = SSticker.current_state if(SSshuttle && SSshuttle.emergency) // Shuttle status, see /__DEFINES/stat.dm @@ -301,8 +300,8 @@ var/world_topic_spam_protect_time = world.timeofday if(!isnull(time)) delay = max(0,time) else - delay = ticker.restart_timeout - if(ticker.delay_end) + delay = SSticker.restart_timeout + if(SSticker.delay_end) to_chat(world, "An admin has delayed the round end.") return to_chat(world, "Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason]") @@ -311,12 +310,12 @@ var/world_topic_spam_protect_time = world.timeofday var/sound_length = GLOB.round_end_sounds[round_end_sound] if(delay > sound_length) // If there's time, play the round-end sound before rebooting spawn(delay - sound_length) - if(!ticker.delay_end) + if(!SSticker.delay_end) world << round_end_sound sleep(delay) if(blackbox) blackbox.save_all_data_to_sql() - if(ticker.delay_end) + if(SSticker.delay_end) to_chat(world, "Reboot was cancelled by an admin.") return feedback_set_details("[feedback_c]","[feedback_r]") @@ -394,7 +393,7 @@ var/world_topic_spam_protect_time = world.timeofday s += "
" var/list/features = list() - if(ticker) + if(SSticker) if(master_mode && master_mode != "secret") features += master_mode else diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 4fcf95dbfd2..74b1aa00efd 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -572,7 +572,7 @@ var/global/nologevent = 0 delay = delay * 10 message_admins("[key_name_admin(usr)] has initiated a server restart with a delay of [delay/10] seconds") log_admin("[key_name(usr)] has initiated a server restart with a delay of [delay/10] seconds") - ticker.delay_end = 0 + SSticker.delay_end = 0 feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! world.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", delay) @@ -672,14 +672,14 @@ var/global/nologevent = 0 if(!check_rights(R_SERVER)) return - if(!ticker) + if(!SSticker) alert("Unable to start the game as it is not set up.") return - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) if(config.start_now_confirmation) if(alert(usr, "This is a live server. Are you sure you want to start now?", "Start game", "Yes", "No") != "Yes") return - ticker.current_state = GAME_STATE_SETTING_UP + SSticker.current_state = GAME_STATE_SETTING_UP log_admin("[key_name(usr)] has started the game.") message_admins("[key_name_admin(usr)] has started the game.") feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -763,10 +763,10 @@ var/global/nologevent = 0 if(!check_rights(R_SERVER)) return - if(!ticker || ticker.current_state != GAME_STATE_PREGAME) - ticker.delay_end = !ticker.delay_end - log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + if(!SSticker || SSticker.current_state != GAME_STATE_PREGAME) + SSticker.delay_end = !SSticker.delay_end + log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].") + message_admins("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) return //alert("Round end delayed", null, null, null, null, null) going = !( going ) if(!( going )) @@ -780,32 +780,32 @@ var/global/nologevent = 0 ////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS /proc/is_special_character(mob/M as mob) // returns 1 for specail characters and 2 for heroes of gamemode - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) return 0 if(!istype(M)) return 0 - if((M.mind in ticker.mode.head_revolutionaries) || (M.mind in ticker.mode.revolutionaries)) - if(ticker.mode.config_tag == "revolution") + if((M.mind in SSticker.mode.head_revolutionaries) || (M.mind in SSticker.mode.revolutionaries)) + if(SSticker.mode.config_tag == "revolution") return 2 return 1 - if(M.mind in ticker.mode.cult) - if(ticker.mode.config_tag == "cult") + if(M.mind in SSticker.mode.cult) + if(SSticker.mode.config_tag == "cult") return 2 return 1 - if(M.mind in ticker.mode.syndicates) - if(ticker.mode.config_tag == "nuclear") + if(M.mind in SSticker.mode.syndicates) + if(SSticker.mode.config_tag == "nuclear") return 2 return 1 - if(M.mind in ticker.mode.wizards) - if(ticker.mode.config_tag == "wizard") + if(M.mind in SSticker.mode.wizards) + if(SSticker.mode.config_tag == "wizard") return 2 return 1 - if(M.mind in ticker.mode.changelings) - if(ticker.mode.config_tag == "changeling") + if(M.mind in SSticker.mode.changelings) + if(SSticker.mode.config_tag == "changeling") return 2 return 1 - if(M.mind in ticker.mode.abductors) - if(ticker.mode.config_tag == "abduction") + if(M.mind in SSticker.mode.abductors) + if(SSticker.mode.config_tag == "abduction") return 2 return 1 if(isrobot(M)) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 36c0e5cf90d..c530af2401e 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -403,9 +403,9 @@ /datum/admins/proc/check_antagonists() if(!check_rights(R_ADMIN)) return - if(ticker && ticker.current_state >= GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state >= GAME_STATE_PLAYING) var/dat = "Round Status

Round Status

" - dat += "Current Game Mode: [ticker.mode.name]
" + dat += "Current Game Mode: [SSticker.mode.name]
" dat += "Round Duration: [round(ROUND_TIME / 36000)]:[add_zero(num2text(ROUND_TIME / 600 % 60), 2)]:[add_zero(num2text(ROUND_TIME / 10 % 60), 2)]
" dat += "Emergency shuttle
" if(SSshuttle.emergency.mode < SHUTTLE_CALL) @@ -418,10 +418,10 @@ else dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" - dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]
" - if(ticker.mode.syndicates.len) + dat += "[SSticker.delay_end ? "End Round Normally" : "Delay Round End"]
" + if(SSticker.mode.syndicates.len) dat += "
" - for(var/datum/mind/N in ticker.mode.syndicates) + for(var/datum/mind/N in SSticker.mode.syndicates) var/mob/M = N.current if(M) dat += check_antagonists_line(M) @@ -442,20 +442,20 @@ dat += "in [disk_loc.loc] at ([disk_loc.x], [disk_loc.y], [disk_loc.z])" dat += "
Syndicates
" - if(ticker.mode.head_revolutionaries.len || ticker.mode.revolutionaries.len) + if(SSticker.mode.head_revolutionaries.len || SSticker.mode.revolutionaries.len) dat += "
" - for(var/datum/mind/N in ticker.mode.head_revolutionaries) + for(var/datum/mind/N in SSticker.mode.head_revolutionaries) var/mob/M = N.current if(!M) dat += "" else dat += check_antagonists_line(M, "(leader)") - for(var/datum/mind/N in ticker.mode.revolutionaries) + for(var/datum/mind/N in SSticker.mode.revolutionaries) var/mob/M = N.current if(M) dat += check_antagonists_line(M) dat += "
Revolutionaries
Head Revolutionary not found!
" - for(var/datum/mind/N in ticker.mode.get_living_heads()) + for(var/datum/mind/N in SSticker.mode.get_living_heads()) var/mob/M = N.current if(M) dat += check_antagonists_line(M) @@ -466,7 +466,7 @@ dat += "
Target(s)Location
" if(GAMEMODE_IS_BLOB) - var/datum/game_mode/blob/mode = ticker.mode + var/datum/game_mode/blob/mode = SSticker.mode dat += "
" dat += "" @@ -479,67 +479,67 @@ dat += "" dat += "
Blob
Progress: [blobs.len]/[mode.blobwincount]
Blob not found!
" - if(ticker.mode.blob_overminds.len) - dat += check_role_table("Blob Overminds", ticker.mode.blob_overminds) + if(SSticker.mode.blob_overminds.len) + dat += check_role_table("Blob Overminds", SSticker.mode.blob_overminds) - if(ticker.mode.changelings.len) - dat += check_role_table("Changelings", ticker.mode.changelings) + if(SSticker.mode.changelings.len) + dat += check_role_table("Changelings", SSticker.mode.changelings) - if(ticker.mode.wizards.len) - dat += check_role_table("Wizards", ticker.mode.wizards) + if(SSticker.mode.wizards.len) + dat += check_role_table("Wizards", SSticker.mode.wizards) - if(ticker.mode.raiders.len) - dat += check_role_table("Raiders", ticker.mode.raiders) + if(SSticker.mode.raiders.len) + dat += check_role_table("Raiders", SSticker.mode.raiders) /*if(ticker.mode.ninjas.len) dat += check_role_table("Ninjas", ticker.mode.ninjas)*/ - if(ticker.mode.cult.len) - dat += check_role_table("Cultists", ticker.mode.cult, 0) + if(SSticker.mode.cult.len) + dat += check_role_table("Cultists", SSticker.mode.cult, 0) dat += "
use Cult Mindspeak" if(GAMEMODE_IS_CULT) - var/datum/game_mode/cult/cult_round = ticker.mode + var/datum/game_mode/cult/cult_round = SSticker.mode if(!cult_round.narsie_condition_cleared) dat += "
complete objective (debug)" - if(ticker.mode.traitors.len) - dat += check_role_table("Traitors", ticker.mode.traitors) + if(SSticker.mode.traitors.len) + dat += check_role_table("Traitors", SSticker.mode.traitors) - if(ticker.mode.shadows.len) - dat += check_role_table("Shadowlings", ticker.mode.shadows) + if(SSticker.mode.shadows.len) + dat += check_role_table("Shadowlings", SSticker.mode.shadows) - if(ticker.mode.shadowling_thralls.len) - dat += check_role_table("Shadowling Thralls", ticker.mode.shadowling_thralls) + if(SSticker.mode.shadowling_thralls.len) + dat += check_role_table("Shadowling Thralls", SSticker.mode.shadowling_thralls) - if(ticker.mode.abductors.len) - dat += check_role_table("Abductors", ticker.mode.abductors) + if(SSticker.mode.abductors.len) + dat += check_role_table("Abductors", SSticker.mode.abductors) - if(ticker.mode.abductees.len) - dat += check_role_table("Abductees", ticker.mode.abductees) + if(SSticker.mode.abductees.len) + dat += check_role_table("Abductees", SSticker.mode.abductees) - if(ticker.mode.vampires.len) - dat += check_role_table("Vampires", ticker.mode.vampires) + if(SSticker.mode.vampires.len) + dat += check_role_table("Vampires", SSticker.mode.vampires) - if(ticker.mode.vampire_enthralled.len) - dat += check_role_table("Vampire Thralls", ticker.mode.vampire_enthralled) + if(SSticker.mode.vampire_enthralled.len) + dat += check_role_table("Vampire Thralls", SSticker.mode.vampire_enthralled) - if(ticker.mode.devils.len) - dat += check_role_table("Devils", ticker.mode.devils) + if(SSticker.mode.devils.len) + dat += check_role_table("Devils", SSticker.mode.devils) - if(ticker.mode.xenos.len) - dat += check_role_table("Xenos", ticker.mode.xenos) + if(SSticker.mode.xenos.len) + dat += check_role_table("Xenos", SSticker.mode.xenos) - if(ticker.mode.superheroes.len) - dat += check_role_table("Superheroes", ticker.mode.superheroes) + if(SSticker.mode.superheroes.len) + dat += check_role_table("Superheroes", SSticker.mode.superheroes) - if(ticker.mode.supervillains.len) - dat += check_role_table("Supervillains", ticker.mode.supervillains) + if(SSticker.mode.supervillains.len) + dat += check_role_table("Supervillains", SSticker.mode.supervillains) - if(ticker.mode.greyshirts.len) - dat += check_role_table("Greyshirts", ticker.mode.greyshirts) + if(SSticker.mode.greyshirts.len) + dat += check_role_table("Greyshirts", SSticker.mode.greyshirts) - if(ticker.mode.eventmiscs.len) - dat += check_role_table("Event Roles", ticker.mode.eventmiscs) + if(SSticker.mode.eventmiscs.len) + dat += check_role_table("Event Roles", SSticker.mode.eventmiscs) if(ts_spiderlist.len) var/list/spider_minds = list() @@ -559,8 +559,8 @@ count_spiderlings += 1 dat += "
Growing TS on-station: [count_eggs] egg[count_eggs != 1 ? "s" : ""], [count_spiderlings] spiderling[count_spiderlings != 1 ? "s" : ""].
" - if(ticker.mode.ert.len) - dat += check_role_table("ERT", ticker.mode.ert) + if(SSticker.mode.ert.len) + dat += check_role_table("ERT", SSticker.mode.ert) dat += "" usr << browse(dat, "window=roundstatus;size=400x500") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 88d10abde98..f2be4898209 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -6,7 +6,7 @@ message_admins("[key_name_admin(usr)] has attempted to override the admin panel!") return - if(ticker.mode && ticker.mode.check_antagonists_topic(href, href_list)) + if(SSticker.mode && SSticker.mode.check_antagonists_topic(href, href_list)) check_antagonists() return @@ -315,9 +315,9 @@ else if(href_list["delay_round_end"]) if(!check_rights(R_SERVER)) return - ticker.delay_end = !ticker.delay_end - log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name_admin(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + SSticker.delay_end = !SSticker.delay_end + log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].") + message_admins("[key_name_admin(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) @@ -1085,7 +1085,7 @@ else if(href_list["c_mode"]) if(!check_rights(R_ADMIN)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) var/dat = {"What mode do you wish to play?
"} for(var/mode in config.modes) @@ -1098,7 +1098,7 @@ else if(href_list["f_secret"]) if(!check_rights(R_ADMIN)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) if(master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) @@ -1112,7 +1112,7 @@ else if(href_list["c_mode2"]) if(!check_rights(R_ADMIN|R_SERVER)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [master_mode].") @@ -1125,7 +1125,7 @@ else if(href_list["f_secret2"]) if(!check_rights(R_ADMIN|R_SERVER)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) if(master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) @@ -1559,25 +1559,25 @@ alert("Couldn't locate cult mode datum! This shouldn't ever happen, tell a coder!") return - var/datum/game_mode/cult/cult_round = ticker.mode + var/datum/game_mode/cult/cult_round = SSticker.mode cult_round.bypass_phase() message_admins("Admin [key_name_admin(usr)] has unlocked the Cult's next objective.") log_admin("Admin [key_name_admin(usr)] has unlocked the Cult's next objective.") else if(href_list["cult_mindspeak"]) - var/input = stripped_input(usr, "Communicate to all the cultists with the voice of [ticker.cultdat.entity_name]", "Voice of [ticker.cultdat.entity_name]", "") + var/input = stripped_input(usr, "Communicate to all the cultists with the voice of [SSticker.cultdat.entity_name]", "Voice of [SSticker.cultdat.entity_name]", "") if(!input) return - for(var/datum/mind/H in ticker.mode.cult) + for(var/datum/mind/H in SSticker.mode.cult) if (H.current) - to_chat(H.current, "[ticker.cultdat.entity_name] murmurs, [input]
") + to_chat(H.current, "[SSticker.cultdat.entity_name] murmurs, [input]
") for(var/mob/dead/observer/O in GLOB.player_list) - to_chat(O, "[ticker.cultdat.entity_name] murmurs, [input]
") + to_chat(O, "[SSticker.cultdat.entity_name] murmurs, [input]
") - message_admins("Admin [key_name_admin(usr)] has talked with the Voice of [ticker.cultdat.entity_name].") - log_admin("[key_name(usr)] Voice of [ticker.cultdat.entity_name]: [input]") + message_admins("Admin [key_name_admin(usr)] has talked with the Voice of [SSticker.cultdat.entity_name].") + log_admin("[key_name(usr)] Voice of [SSticker.cultdat.entity_name]: [input]") else if(href_list["adminplayerobservecoodjump"]) if(!check_rights(R_ADMIN)) return @@ -1958,8 +1958,8 @@ kill_objective.target = H.mind kill_objective.explanation_text = "Assassinate [H.real_name], the [H.mind.assigned_role]." newtraitormind.objectives += kill_objective - ticker.mode.equip_traitor(newtraitor) - ticker.mode.traitors |= newtraitor.mind + SSticker.mode.equip_traitor(newtraitor) + SSticker.mode.traitors |= newtraitor.mind to_chat(newtraitor, "ATTENTION: It is time to pay your debt to the Syndicate...") to_chat(newtraitor, "You are now a traitor.") to_chat(newtraitor, "Goal: KILL [H.real_name], currently in [get_area(H.loc)]"); @@ -2341,7 +2341,7 @@ else if(href_list["traitor"]) if(!check_rights(R_ADMIN|R_MOD)) return - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) alert("The game hasn't started yet!") return @@ -2484,7 +2484,7 @@ else if(href_list["kick_all_from_lobby"]) if(!check_rights(R_ADMIN)) return - if(ticker && ticker.current_state == GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state == GAME_STATE_PLAYING) var/afkonly = text2num(href_list["afkonly"]) if(alert("Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby?","Confirmation","Yes","Cancel") != "Yes") return @@ -2573,7 +2573,7 @@ feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","TriAI") if("gravity") - if(!(ticker && ticker.mode)) + if(!(SSticker && SSticker.mode)) to_chat(usr, "Please wait until the game starts! Not sure how it will work otherwise.") return gravity_is_on = !gravity_is_on @@ -2609,7 +2609,7 @@ message_admins("[key_name_admin(usr)] made all SMESs powered", 1) power_restore_quick() if("prisonwarp") - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!", null, null, null, null, null) return feedback_inc("admin_secrets_fun_used",1) @@ -2651,7 +2651,7 @@ H.loc = pick(prisonsecuritywarp) prisonwarped += H if("traitor_all") - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return var/objective = sanitize(copytext(input("Enter an objective"),1,MAX_MESSAGE_LEN)) @@ -2663,24 +2663,24 @@ if(H.stat == 2 || !H.client || !H.mind) continue if(is_special_character(H)) continue //traitorize(H, objective, 0) - ticker.mode.traitors += H.mind + SSticker.mode.traitors += H.mind H.mind.special_role = SPECIAL_ROLE_TRAITOR var/datum/objective/new_objective = new new_objective.owner = H new_objective.explanation_text = objective H.mind.objectives += new_objective - ticker.mode.greet_traitor(H.mind) + SSticker.mode.greet_traitor(H.mind) //ticker.mode.forge_traitor_objectives(H.mind) - ticker.mode.finalize_traitor(H.mind) + SSticker.mode.finalize_traitor(H.mind) for(var/mob/living/silicon/A in GLOB.player_list) - ticker.mode.traitors += A.mind + SSticker.mode.traitors += A.mind A.mind.special_role = SPECIAL_ROLE_TRAITOR var/datum/objective/new_objective = new new_objective.owner = A new_objective.explanation_text = objective A.mind.objectives += new_objective - ticker.mode.greet_traitor(A.mind) - ticker.mode.finalize_traitor(A.mind) + SSticker.mode.greet_traitor(A.mind) + SSticker.mode.finalize_traitor(A.mind) message_admins("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]", 1) log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]") @@ -2946,10 +2946,10 @@ if("showailaws") output_ai_laws() if("showgm") - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") - else if(ticker.mode) - alert("The game mode is [ticker.mode.name]") + else if(SSticker.mode) + alert("The game mode is [SSticker.mode.name]") else alert("For some reason there's a ticker, but not a game mode") if("manifest") var/dat = "Showing Crew Manifest.
" @@ -3284,7 +3284,7 @@ return G.report_message = description message_admins("[key_name_admin(usr)] created \"[G.name]\" station goal.") - ticker.mode.station_goals += G + SSticker.mode.station_goals += G modify_goals() else if(href_list["showdetails"]) @@ -3408,7 +3408,7 @@ protect_objective.target = H.mind protect_objective.explanation_text = "Protect [H.real_name], the [H.mind.assigned_role]." hunter_mind.objectives += protect_objective - ticker.mode.traitors |= hunter_mob.mind + SSticker.mode.traitors |= hunter_mob.mind to_chat(hunter_mob, "ATTENTION: You are now on a mission!") to_chat(hunter_mob, "Goal: [killthem ? "MURDER" : "PROTECT"] [H.real_name], currently in [get_area(H.loc)]. "); if(killthem) diff --git a/code/modules/admin/verbs/cinematic.dm b/code/modules/admin/verbs/cinematic.dm index 3449350e11f..63ebd52d09b 100644 --- a/code/modules/admin/verbs/cinematic.dm +++ b/code/modules/admin/verbs/cinematic.dm @@ -3,7 +3,7 @@ set category = "Debug" set desc = "Shows a cinematic." // Intended for testing but I thought it might be nice for events on the rare occasion Feel free to comment it out if it's not wanted. set hidden = 1 - if(!ticker) + if(!SSticker) return switch(cinematic) if("explosion") @@ -14,4 +14,4 @@ override = input(src, "mode = ?","Enter Parameter", null) as anything in list("nuclear emergency", "fake", "no override") if(0) override = input(src, "mode = ?","Enter Parameter", null) as anything in list("blob", "nuclear emergency", "AI malfunction", "no override") - ticker.station_explosion_cinematic(parameter, override) \ No newline at end of file + SSticker.station_explosion_cinematic(parameter, override) \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 3492061f1f6..2aabeba57e9 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -215,7 +215,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon/human)) @@ -233,7 +233,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return @@ -293,7 +293,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(ishuman(M)) @@ -313,7 +313,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(ishuman(M)) @@ -333,7 +333,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(ishuman(M)) @@ -405,7 +405,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_EVENT)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon/human)) @@ -818,7 +818,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon)) diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm index 081c820aaee..cad93e8b880 100644 --- a/code/modules/admin/verbs/gimmick_team.dm +++ b/code/modules/admin/verbs/gimmick_team.dm @@ -7,7 +7,7 @@ set desc = "Spawns a group of players in the specified outfit." if(!check_rights(R_EVENT)) return - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return if(alert("Do you want to spawn a Gimmick Team at YOUR CURRENT LOCATION?",,"Yes","No")=="No") @@ -82,7 +82,7 @@ H.mind.store_memory("[themission]

") if(is_syndicate) - ticker.mode.traitors |= H.mind //Adds them to extra antag list + SSticker.mode.traitors |= H.mind //Adds them to extra antag list players_spawned++ if(players_spawned >= teamsize) diff --git a/code/modules/admin/verbs/honksquad.dm b/code/modules/admin/verbs/honksquad.dm index b4c0e6a05eb..f4013edbe1e 100644 --- a/code/modules/admin/verbs/honksquad.dm +++ b/code/modules/admin/verbs/honksquad.dm @@ -4,7 +4,7 @@ var/const/honksquad_possible = 6 //if more Commandos are needed in the future var/global/sent_honksquad = 0 /client/proc/honksquad() - if(!ticker) + if(!SSticker) to_chat(usr, "The game hasn't started yet!") return if(world.time < 6000) @@ -95,7 +95,7 @@ var/global/sent_honksquad = 0 new_honksquad.mind.special_role = SPECIAL_ROLE_HONKSQUAD new_honksquad.mind.offstation_role = TRUE new_honksquad.add_language("Clownish") - ticker.mode.traitors |= new_honksquad.mind//Adds them to current traitor list. Which is really the extra antagonist list. + SSticker.mode.traitors |= new_honksquad.mind//Adds them to current traitor list. Which is really the extra antagonist list. new_honksquad.equip_honksquad(honk_leader_selected) return new_honksquad diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index 551076be62a..dad253eed3d 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -10,7 +10,7 @@ var/global/sent_syndicate_infiltration_team = 0 if(!check_rights(R_ADMIN)) to_chat(src, "Only administrators may use this command.") return - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return if(alert("Do you want to send in the Syndicate Infiltration Team?",,"Yes","No")=="No") @@ -132,7 +132,7 @@ var/global/sent_syndicate_infiltration_team = 0 new_syndicate_infiltrator.mind.assigned_role = "Syndicate Infiltrator" new_syndicate_infiltrator.mind.special_role = "Syndicate Infiltrator" new_syndicate_infiltrator.mind.offstation_role = TRUE //they can flee to z2 so make them inelligible as antag targets - ticker.mode.traitors |= new_syndicate_infiltrator.mind //Adds them to extra antag list + SSticker.mode.traitors |= new_syndicate_infiltrator.mind //Adds them to extra antag list new_syndicate_infiltrator.equip_syndicate_infiltrator(syndicate_leader_selected, uplink_tc, is_mgmt) return new_syndicate_infiltrator diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 4b3905f37e2..ab7a8ab75e8 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -175,7 +175,7 @@ client/proc/one_click_antag() for(var/i = 0, iYou are a Vox Primalis, fresh out of the Shoal. Your ship has arrived at the Tau Ceti system hosting the NSV Exodus... or was it the Luna? NSS? Utopia? Nobody is really sure, but everyong is raring to start pillaging! Your current goal is: [input]") to_chat(new_vox, "Don't forget to turn on your nitrogen internals!") diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index c2260a051eb..3db8f102320 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -1,5 +1,5 @@ /client/proc/only_one() - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return @@ -14,7 +14,7 @@ var/datum/preferences/A = new() // Randomize appearance A.copy_to(H) - ticker.mode.traitors += H.mind + SSticker.mode.traitors += H.mind H.mind.special_role = SPECIAL_ROLE_TRAITOR var/datum/objective/hijack/hijack_objective = new @@ -58,7 +58,7 @@ world << sound('sound/music/thunderdome.ogg') /client/proc/only_me() - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return @@ -66,7 +66,7 @@ if(H.stat == 2 || !(H.client)) continue if(is_special_character(H)) continue - ticker.mode.traitors += H.mind + SSticker.mode.traitors += H.mind H.mind.special_role = "[H.real_name] Prime" var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone diff --git a/code/modules/admin/verbs/onlyoneteam.dm b/code/modules/admin/verbs/onlyoneteam.dm index d2490cdf9c3..846a77c508a 100644 --- a/code/modules/admin/verbs/onlyoneteam.dm +++ b/code/modules/admin/verbs/onlyoneteam.dm @@ -1,5 +1,5 @@ /client/proc/only_one_team() - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 1c75421f4b7..b6986f4960f 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -18,8 +18,8 @@ var/prayer_type = "PRAYER" var/deity if(usr.job == "Chaplain") - if(ticker && ticker.Bible_deity_name) - deity = ticker.Bible_deity_name + if(SSticker && SSticker.Bible_deity_name) + deity = SSticker.Bible_deity_name cross = image('icons/obj/storage.dmi',"kingyellow") font_color = "blue" prayer_type = "CHAPLAIN PRAYER" @@ -27,7 +27,7 @@ cross = image('icons/obj/storage.dmi',"tome") font_color = "red" prayer_type = "CULTIST PRAYER" - deity = ticker.cultdat.entity_name + deity = SSticker.cultdat.entity_name log_say("(PRAYER) [msg]", usr) msg = "[bicon(cross)][prayer_type][deity ? " (to [deity])" : ""][mind && mind.isholy ? " (blessings: [mind.num_blessed])" : ""]: [key_name(src, 1)] ([ADMIN_QUE(src,"?")]) ([ADMIN_PP(src,"PP")]) ([ADMIN_VV(src,"VV")]) ([ADMIN_SM(src,"SM")]) ([admin_jump_link(src)]) (CA) ([ADMIN_SC(src,"SC")]) (BLESS) (SMITE): [msg]" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 15ee321656c..65ea0b17dbc 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -437,11 +437,11 @@ Traitors and the like can also be revived with the previous role mostly intact. if("traitor") SSjobs.AssignRank(new_character, new_character.mind.assigned_role, 0) SSjobs.EquipRank(new_character, new_character.mind.assigned_role, 1) - ticker.mode.equip_traitor(new_character) + SSticker.mode.equip_traitor(new_character) if("Wizard") new_character.loc = pick(wizardstart) //ticker.mode.learn_basic_spells(new_character) - ticker.mode.equip_wizard(new_character) + SSticker.mode.equip_wizard(new_character) if("Syndicate") var/obj/effect/landmark/synd_spawn = locate("landmark*Syndicate-Spawn") if(synd_spawn) @@ -858,7 +858,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Admin" set name = "Toggle Deny Shuttle" - if(!ticker) + if(!SSticker) return if(!check_rights(R_ADMIN)) @@ -891,12 +891,12 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_SERVER|R_EVENT)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) to_chat(usr, "Nope you can't do this, the game's already started. This only works before rounds!") return - if(ticker.random_players) - ticker.random_players = 0 + if(SSticker.random_players) + SSticker.random_players = 0 message_admins("Admin [key_name_admin(usr)] has disabled \"Everyone is Special\" mode.", 1) to_chat(usr, "Disabled.") return @@ -914,7 +914,7 @@ Traitors and the like can also be revived with the previous role mostly intact. to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") - ticker.random_players = 1 + SSticker.random_players = 1 feedback_add_details("admin_verb","MER") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_random_events() @@ -1009,13 +1009,13 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_EVENT)) return - if(ticker.mode.ert_disabled) - ticker.mode.ert_disabled = 0 + if(SSticker.mode.ert_disabled) + SSticker.mode.ert_disabled = 0 to_chat(usr, "ERT has been Enabled.") log_admin("Admin [key_name(src)] has enabled ERT calling.") message_admins("Admin [key_name_admin(usr)] has enabled ERT calling.", 1) else - ticker.mode.ert_disabled = 1 + SSticker.mode.ert_disabled = 1 to_chat(usr, "ERT has been Disabled.") log_admin("Admin [key_name(src)] has disabled ERT calling.") message_admins("Admin [key_name_admin(usr)] has disabled ERT calling.", 1) @@ -1033,14 +1033,14 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!input) return - if(!ticker) + if(!SSticker) return - ticker.selected_tip = input + SSticker.selected_tip = input // If we've already tipped, then send it straight away. - if(ticker.tipped) - ticker.send_tip_of_the_round() + if(SSticker.tipped) + SSticker.send_tip_of_the_round() message_admins("[key_name_admin(usr)] sent a Tip of the round.") log_admin("[key_name(usr)] sent \"[input]\" as the Tip of the Round.") @@ -1055,12 +1055,12 @@ Traitors and the like can also be revived with the previous role mostly intact. holder.modify_goals() /datum/admins/proc/modify_goals() - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) to_chat(usr, "This verb can only be used if the round has started.") return var/dat = "" - for(var/datum/station_goal/S in ticker.mode.station_goals) + for(var/datum/station_goal/S in SSticker.mode.station_goals) dat += "[S.name] - Announce | Remove
" dat += "
Add New Goal" usr << browse(dat, "window=goals;size=400x400") diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index a23e6eea69c..4b555bc724a 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -4,7 +4,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future var/global/sent_strike_team = 0 /client/proc/strike_team() - if(!ticker) + if(!SSticker) to_chat(usr, "The game hasn't started yet!") return if(sent_strike_team == 1) @@ -86,9 +86,9 @@ var/global/sent_strike_team = 0 R.mind.assigned_role = SPECIAL_ROLE_DEATHSQUAD R.mind.special_role = SPECIAL_ROLE_DEATHSQUAD R.mind.offstation_role = TRUE - if(!(R.mind in ticker.minds)) - ticker.minds += R.mind - ticker.mode.traitors += R.mind + if(!(R.mind in SSticker.minds)) + SSticker.minds += R.mind + SSticker.mode.traitors += R.mind R.key = ghost_mob.key if(nuke_code) R.mind.store_memory("Nuke Code: [nuke_code].") @@ -150,7 +150,7 @@ var/global/sent_strike_team = 0 new_commando.mind_initialize() new_commando.mind.assigned_role = SPECIAL_ROLE_DEATHSQUAD new_commando.mind.special_role = SPECIAL_ROLE_DEATHSQUAD - ticker.mode.traitors |= new_commando.mind//Adds them to current traitor list. Which is really the extra antagonist list. + SSticker.mode.traitors |= new_commando.mind//Adds them to current traitor list. Which is really the extra antagonist list. new_commando.equip_death_commando(is_leader) return new_commando diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index bf20d2b5503..7e77fe17df7 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -9,7 +9,7 @@ var/global/sent_syndicate_strike_team = 0 if(!src.holder) to_chat(src, "Only administrators may use this command.") return - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return if(sent_syndicate_strike_team == 1) @@ -117,7 +117,7 @@ var/global/sent_syndicate_strike_team = 0 new_syndicate_commando.mind.assigned_role = SPECIAL_ROLE_SYNDICATE_DEATHSQUAD new_syndicate_commando.mind.special_role = SPECIAL_ROLE_SYNDICATE_DEATHSQUAD new_syndicate_commando.mind.offstation_role = TRUE - ticker.mode.traitors |= new_syndicate_commando.mind //Adds them to current traitor list. Which is really the extra antagonist list. + SSticker.mode.traitors |= new_syndicate_commando.mind //Adds them to current traitor list. Which is really the extra antagonist list. new_syndicate_commando.equip_syndicate_commando(is_leader) qdel(spawn_location) return new_syndicate_commando diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index 10ad3f07020..98a4bf82e98 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -2,21 +2,21 @@ set category = "Event" set name = "Create AI Triumvirate" - if(ticker.current_state > GAME_STATE_PREGAME) + if(SSticker.current_state > GAME_STATE_PREGAME) to_chat(usr, "This option is currently only usable during pregame. This may change at a later date.") return - if(SSjobs && ticker) + if(SSjobs && SSticker) var/datum/job/job = SSjobs.GetJob("AI") if(!job) to_chat(usr, "Unable to locate the AI job") return - if(ticker.triai) - ticker.triai = 0 + if(SSticker.triai) + SSticker.triai = 0 to_chat(usr, "Only one AI will be spawned at round start.") message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.", 1) else - ticker.triai = 1 + SSticker.triai = 1 to_chat(usr, "There will be an AI Triumvirate at round start.") message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.", 1) return diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 5e434887ee0..6faef9a4df5 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -26,7 +26,7 @@ if(used) to_chat(user, "[src] is out of power!") return FALSE - if(!(user.mind in ticker.mode.syndicates)) + if(!(user.mind in SSticker.mode.syndicates)) to_chat(user, "AUTHENTICATION FAILURE. ACCESS DENIED.") return FALSE if(checking) @@ -62,27 +62,27 @@ /obj/item/antag_spawner/nuke_ops/spawn_antag(client/C, turf/T, kind, datum/mind/user) var/mob/living/carbon/human/M = new/mob/living/carbon/human(T) - var/agent_number = LAZYLEN(ticker.mode.syndicates) + var/agent_number = LAZYLEN(SSticker.mode.syndicates) M.real_name = "[syndicate_name()] Operative #[agent_number]" set_syndicate_values(C, M) - ticker.mode.create_syndicate(M.mind) - ticker.mode.equip_syndicate(M, 0) - ticker.mode.update_syndicate_id(M.mind, FALSE) + SSticker.mode.create_syndicate(M.mind) + SSticker.mode.equip_syndicate(M, 0) + SSticker.mode.update_syndicate_id(M.mind, FALSE) /obj/item/antag_spawner/nuke_ops/proc/set_syndicate_values(client/C, mob/living/M) M.key = C.key - ticker.mode.syndicates += M.mind - ticker.mode.update_synd_icons_added(M.mind) + SSticker.mode.syndicates += M.mind + SSticker.mode.update_synd_icons_added(M.mind) M.mind.assigned_role = SPECIAL_ROLE_NUKEOPS M.mind.special_role = SPECIAL_ROLE_NUKEOPS M.mind.offstation_role = TRUE M.faction = list("syndicate") - ticker.mode.forge_syndicate_objectives(M.mind) - ticker.mode.greet_syndicate(M.mind) + SSticker.mode.forge_syndicate_objectives(M.mind) + SSticker.mode.greet_syndicate(M.mind) //////SYNDICATE BORG /obj/item/antag_spawner/nuke_ops/borg_tele @@ -115,7 +115,7 @@ return TRUE /obj/item/antag_spawner/nuke_ops/borg_tele/spawn_antag(client/C, turf/T, datum/mind/user) - if(!(user in ticker.mode.syndicates)) + if(!(user in SSticker.mode.syndicates)) used = FALSE return @@ -147,7 +147,7 @@ set_syndicate_values(user.current.client, R) L.key = C.key - ticker.mode.greet_syndicate(L.mind) + SSticker.mode.greet_syndicate(L.mind) ///////////SLAUGHTER DEMON @@ -195,7 +195,7 @@ S.key = C.key S.mind.assigned_role = S.name S.mind.special_role = S.name - ticker.mode.traitors += S.mind + SSticker.mode.traitors += S.mind var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate KillDaWiz.owner = S.mind KillDaWiz.target = user.mind @@ -264,7 +264,7 @@ M.mind.assigned_role = SPECIAL_ROLE_MORPH M.mind.special_role = SPECIAL_ROLE_MORPH to_chat(M, M.playstyle_string) - ticker.mode.traitors += M.mind + SSticker.mode.traitors += M.mind var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate KillDaWiz.owner = M.mind KillDaWiz.target = user.mind diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 33e12abe788..e213843df8c 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -34,7 +34,7 @@ /obj/effect/mob_spawn/attack_ghost(mob/user) var/mob/dead/observer/O = user - if(ticker.current_state != GAME_STATE_PLAYING || !loc || !ghost_usable) + if(SSticker.current_state != GAME_STATE_PLAYING || !loc || !ghost_usable) return if(!uses) to_chat(user, "This spawner is out of charges!") diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index ed4471d7b7c..1805d911caa 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -83,7 +83,7 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team /obj/item/clothing/shoes/magboots/wizard/attack_self(mob/user) if(user) - if(user.mind in ticker.mode.wizards) + if(user.mind in SSticker.mode.wizards) if(magpulse) //faint blue light when shoes are turned on gives a reason to turn them off when not needed in maint set_light(0) else diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm index 18d75f3ef30..3c7dcc6496b 100644 --- a/code/modules/events/abductor.dm +++ b/code/modules/events/abductor.dm @@ -13,11 +13,11 @@ if(candidates.len >= 2) //Oh god why we can't have static functions - var/number = ticker.mode.abductor_teams + 1 + var/number = SSticker.mode.abductor_teams + 1 var/datum/game_mode/abduction/temp - if(ticker.mode.config_tag == "abduction") - temp = ticker.mode + if(SSticker.mode.config_tag == "abduction") + temp = SSticker.mode else temp = new @@ -42,10 +42,10 @@ temp.make_abductor_team(number,preset_scientist=scientist_mind,preset_agent=agent_mind) temp.post_setup_team(number) - ticker.mode.abductor_teams++ + SSticker.mode.abductor_teams++ - if(ticker.mode.config_tag != "abduction") - ticker.mode.abductors |= temp.abductors + if(SSticker.mode.config_tag != "abduction") + SSticker.mode.abductors |= temp.abductors processing = 1 //So it will get gc'd return 1 else diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm index 7e4473cb0d2..590ff374ad6 100644 --- a/code/modules/events/alien_infestation.dm +++ b/code/modules/events/alien_infestation.dm @@ -27,8 +27,8 @@ GLOB.respawnable_list -= C.client var/mob/living/carbon/alien/larva/new_xeno = new(vent.loc) new_xeno.key = C.key - if(ticker && ticker.mode) - ticker.mode.xenos += new_xeno.mind + if(SSticker && SSticker.mode) + SSticker.mode.xenos += new_xeno.mind spawncount-- successSpawn = 1 diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm index 107ec3c4f3f..57063b0d743 100644 --- a/code/modules/karma/karma.dm +++ b/code/modules/karma/karma.dm @@ -59,7 +59,7 @@ var/list/karma_spenders = list() if(config.disable_karma) to_chat(src, "Karma is disabled.") return FALSE - if(!ticker || !GLOB.player_list.len || (ticker.current_state == GAME_STATE_PREGAME)) + if(!SSticker || !GLOB.player_list.len || (SSticker.current_state == GAME_STATE_PREGAME)) to_chat(src, "You can't award karma until the game has started.") return FALSE if(client.karma_spent || (ckey in karma_spenders)) diff --git a/code/modules/library/computers/checkout.dm b/code/modules/library/computers/checkout.dm index 10e747b4e31..638aaeee7c3 100644 --- a/code/modules/library/computers/checkout.dm +++ b/code/modules/library/computers/checkout.dm @@ -320,11 +320,11 @@ if(!bibledelay) var/obj/item/storage/bible/B = new /obj/item/storage/bible(src.loc) - if(ticker && ( ticker.Bible_icon_state && ticker.Bible_item_state) ) - B.icon_state = ticker.Bible_icon_state - B.item_state = ticker.Bible_item_state - B.name = ticker.Bible_name - B.deity_name = ticker.Bible_deity_name + if(SSticker && ( SSticker.Bible_icon_state && SSticker.Bible_item_state) ) + B.icon_state = SSticker.Bible_icon_state + B.item_state = SSticker.Bible_item_state + B.name = SSticker.Bible_name + B.deity_name = SSticker.Bible_deity_name bibledelay = 1 spawn(60) diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm index d7c6232121f..5bfd1104fb6 100644 --- a/code/modules/mining/lavaland/loot/colossus_loot.dm +++ b/code/modules/mining/lavaland/loot/colossus_loot.dm @@ -38,7 +38,7 @@ /obj/machinery/smartfridge/black_box/process() ..() - if(!memory_saved && ticker.current_state == GAME_STATE_FINISHED) + if(!memory_saved && SSticker.current_state == GAME_STATE_FINISHED) WriteMemory() /obj/machinery/smartfridge/black_box/proc/WriteMemory() diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index ec2d96ed880..5eb8f5766e4 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -6,7 +6,7 @@ As such, they can either help or harm other aliens. Help works like the human he In all, this is a lot like the monkey code. /N */ /mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M) - if(!ticker) + if(!SSticker) to_chat(M, "You cannot attack people before the game has started.") return diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index 3a752e61619..0addea8d4b6 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -93,8 +93,8 @@ spawn(6) var/mob/living/carbon/alien/larva/new_xeno = new(owner.drop_location()) new_xeno.key = C.key - if(ticker && ticker.mode) - ticker.mode.xenos += new_xeno.mind + if(SSticker && SSticker.mode) + SSticker.mode.xenos += new_xeno.mind new_xeno.mind.name = new_xeno.name new_xeno.mind.assigned_role = SPECIAL_ROLE_XENOMORPH new_xeno.mind.special_role = SPECIAL_ROLE_XENOMORPH diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 6d245674fd1..64d06dac4db 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -112,7 +112,7 @@ if(H.mind) H.mind.kills += "[key_name(src)]" - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) // log_world("k") sql_report_death(src) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bd5817e8867..079f886d055 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1961,7 +1961,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(7) // Pride log_game("[src] was influenced by the sin of pride.") O = new /datum/objective/sintouched/pride - ticker.mode.sintouched += src.mind + SSticker.mode.sintouched += src.mind src.mind.objectives += O var/obj_count = 1 to_chat(src, "They have no blood!") return - if(target.mind && target.mind.vampire && (target.mind in ticker.mode.vampires)) + if(target.mind && target.mind.vampire && (target.mind in SSticker.mode.vampires)) to_chat(user, "Your fangs fail to pierce [target.name]'s cold flesh") return if(SKELETON in target.mutations) diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index 4e04090b649..62935713a80 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -50,11 +50,11 @@ if(class == "Superhero") W.assignment = "Superhero" W.rank = "Superhero" - ticker.mode.superheroes += H.mind + SSticker.mode.superheroes += H.mind else if(class == "Supervillain") W.assignment = "Supervillain" W.rank = "Supervillain" - ticker.mode.supervillains += H.mind + SSticker.mode.supervillains += H.mind W.icon_state = "lifetimeid" W.SetOwnerInfo(H) W.UpdateName() @@ -157,7 +157,7 @@ /obj/effect/proc_holder/spell/targeted/recruit/cast(list/targets,mob/living/user = usr) for(var/mob/living/carbon/human/target in targets) var/obj/item/organ/external/head/head_organ = target.get_organ("head") - if(ticker.mode.greyshirts.len >= 3) + if(SSticker.mode.greyshirts.len >= 3) to_chat(user, "You have already recruited the maximum number of henchmen.") if(!in_range(user, target)) to_chat(user, "You need to be closer to enthrall [target].") @@ -218,7 +218,7 @@ to_chat(target, "You have decided to enroll as a henchman for [user]. You are now part of the feared 'Greyshirts'.") to_chat(target, "You must follow the orders of [user], and help [user.p_them()] succeed in [user.p_their()] dastardly schemes.") to_chat(target, "You may not harm other Greyshirt or [user]. However, you do not need to obey other Greyshirts.") - ticker.mode.greyshirts += target.mind + SSticker.mode.greyshirts += target.mind target.set_species(/datum/species/human) head_organ.h_style = "Bald" head_organ.f_style = "Shaved" diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 37077881350..fe762e423fc 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -89,8 +89,8 @@ mind.store_memory("Time of death: [station_time_timestamp("hh:mm:ss", timeofdeath)]", 0) GLOB.respawnable_list += src - if(ticker && ticker.mode) - ticker.mode.check_win() + if(SSticker && SSticker.mode) + SSticker.mode.check_win() if(mind && mind.devilinfo) // Expand this into a general-purpose death-response system when appropriate mind.devilinfo.beginResurrectionCheck(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 52fde3d0d9e..77831689662 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -691,7 +691,7 @@ return name /mob/living/update_gravity(has_gravity) - if(!ticker) + if(!SSticker) return if(has_gravity) clear_alert("weightless") diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 88b17124451..e9df2f0edad 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -279,7 +279,7 @@ return G /mob/living/attack_slime(mob/living/carbon/slime/M) - if(!ticker) + if(!SSticker) to_chat(M, "You cannot attack people before the game has started.") return diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index 6d32c24bb0a..c8ffebc6647 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -1,5 +1,5 @@ /mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M) - if(!ticker) + if(!SSticker) to_chat(M, "You cannot attack people before the game has started.") return ..() diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 2771725a96d..6d12559ee9b 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -101,7 +101,7 @@ var/datum/cameranet/cameranet = new() /datum/cameranet/proc/updateVisibility(atom/A, opacity_check = 1) - if(!ticker || (opacity_check && !A.opacity)) + if(!SSticker || (opacity_check && !A.opacity)) return majorChunkChange(A, 2) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 69136e07a99..513b26ee558 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -33,8 +33,8 @@ var/global/list/empty_playable_ai_cores = list() mind.objectives.Cut() mind.special_role = null else - if(ticker.mode.name == "AutoTraitor") - var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode + if(SSticker.mode.name == "AutoTraitor") + var/datum/game_mode/traitor/autotraitor/current_mode = SSticker.mode current_mode.possible_traitors.Remove(src) // Ghost the current player and disallow them to return to the body diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm index 01240adf942..4892441b804 100644 --- a/code/modules/mob/living/silicon/login.dm +++ b/code/modules/mob/living/silicon/login.dm @@ -1,12 +1,12 @@ /mob/living/silicon/Login() SetSleeping(0) - if(mind && ticker && ticker.mode) - ticker.mode.remove_revolutionary(mind, 1) - ticker.mode.remove_cultist(mind, 1) - ticker.mode.remove_wizard(mind) - ticker.mode.remove_changeling(mind) - ticker.mode.remove_vampire(mind) - ticker.mode.remove_thrall(mind, 0) - ticker.mode.remove_shadowling(mind) - ticker.mode.remove_abductor(mind) - ..() + if(mind && SSticker && SSticker.mode) + SSticker.mode.remove_revolutionary(mind, 1) + SSticker.mode.remove_cultist(mind, 1) + SSticker.mode.remove_wizard(mind) + SSticker.mode.remove_changeling(mind) + SSticker.mode.remove_vampire(mind) + SSticker.mode.remove_thrall(mind, 0) + SSticker.mode.remove_shadowling(mind) + SSticker.mode.remove_abductor(mind) + ..() diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index ff859853ea5..b2828070ad3 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -50,8 +50,8 @@ var/datum/paiController/paiController // Global handler for pAI candidates card.setPersonality(pai) card.looking_for_personality = 0 - ticker.mode.update_cult_icons_removed(card.pai.mind) - ticker.mode.update_rev_icons_removed(card.pai.mind) + SSticker.mode.update_cult_icons_removed(card.pai.mind) + SSticker.mode.update_rev_icons_removed(card.pai.mind) pai_candidates -= candidate usr << browse(null, "window=findPai") diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index e94f9e072b4..3985bfce50e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -182,7 +182,7 @@ to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.") if(jobban_isbanned(src, ROLE_SYNDICATE)) - ticker.mode.replace_jobbanned_player(src, ROLE_SYNDICATE) + SSticker.mode.replace_jobbanned_player(src, ROLE_SYNDICATE) to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script. You sense you have five minutes before the drone server detects this and automatically shuts you down.") diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 9bf388fe5fe..35bbad68b6a 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -27,7 +27,7 @@ /obj/machinery/drone_fabricator/process() - if(ticker.current_state < GAME_STATE_PLAYING) + if(SSticker.current_state < GAME_STATE_PLAYING) return if(stat & NOPOWER || !produce_drones) @@ -98,7 +98,7 @@ to_chat(usr, "You are banned from playing drones and cannot spawn as a drone.") return - if(!ticker || ticker.current_state < 3) + if(!SSticker || SSticker.current_state < 3) to_chat(src, "You can't join as a drone before the game starts!") return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ae6a832f6ac..9fe06a3fe4a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1340,9 +1340,9 @@ var/list/robot_verbs_default = list( mind.special_role = SPECIAL_ROLE_ERT if(cyborg_unlock) crisis = 1 - if(!(mind in ticker.minds)) - ticker.minds += mind - ticker.mode.ert += mind + if(!(mind in SSticker.minds)) + SSticker.minds += mind + SSticker.mode.ert += mind /mob/living/silicon/robot/ert/gamma crisis = 1 diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 2b3d11357d1..c63856fcb0a 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -29,21 +29,21 @@ /mob/living/simple_animal/hostile/construct/New() ..() - if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way + if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way name = "[const_type] ([rand(1, 1000)])" real_name = const_type icon_living = const_type icon_state = const_type else - name = "[ticker.cultdat.get_name(const_type)] ([rand(1, 1000)])" - real_name = ticker.cultdat.get_name(const_type) - icon_living = ticker.cultdat.get_icon(const_type) - icon_state = ticker.cultdat.get_icon(const_type) + name = "[SSticker.cultdat.get_name(const_type)] ([rand(1, 1000)])" + real_name = SSticker.cultdat.get_name(const_type) + icon_living = SSticker.cultdat.get_icon(const_type) + icon_state = SSticker.cultdat.get_icon(const_type) for(var/spell in construct_spells) AddSpell(new spell(null)) - if(ticker.cultdat.theme == "blood") + if(SSticker.cultdat.theme == "blood") updateglow() /mob/living/simple_animal/hostile/construct/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 38787198a5f..b5ce4622052 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -48,9 +48,9 @@ ..() /mob/living/simple_animal/pet/cat/Runtime/Life(seconds, times_fired) - if(!cats_deployed && ticker.current_state >= GAME_STATE_SETTING_UP) + if(!cats_deployed && SSticker.current_state >= GAME_STATE_SETTING_UP) Deploy_The_Cats() - if(!stat && ticker.current_state == GAME_STATE_FINISHED && !memory_saved) + if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved) Write_Memory() ..() diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index e92174bd6c2..1e7b3a61d0c 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -22,7 +22,7 @@ del_on_death = 1 /mob/living/simple_animal/cockroach/can_die() - return ..() && !ticker.cinematic //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. + return ..() && !SSticker.cinematic //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. /mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM) if(isliving(AM)) diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index f409d184340..40eb94a9ef3 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -6,7 +6,7 @@ create_attack_log("Logged out at [atom_loc_line(get_turf(src))]") // `holder` is nil'd out by now, so we check the `admin_datums` array directly //Only report this stuff if we are currently playing. - if(admin_datums[ckey] && ticker && ticker.current_state == GAME_STATE_PLAYING) + if(admin_datums[ckey] && SSticker && SSticker.current_state == GAME_STATE_PLAYING) var/datum/admins/temp_admin = admin_datums[ckey] // Triggers on people with banhammer power only - no mentors tripping the alarm if(temp_admin.rights & R_BAN) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 482bf85491d..e83b60d402f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -745,7 +745,7 @@ var/list/slot_equipment_priority = list( \ to_chat(usr, "Respawning is disabled.") return - if(stat != DEAD || !ticker) + if(stat != DEAD || !SSticker) to_chat(usr, "You must be dead to use this!") return @@ -1100,7 +1100,7 @@ var/list/slot_equipment_priority = list( \ to_chat(usr, "You are banned from playing as sentient animals.") return - if(!ticker || ticker.current_state < 3) + if(!SSticker || SSticker.current_state < 3) to_chat(src, "You can't respawn as an NPC before the game starts!") return diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index a46b9a94fc7..faaf8631ec1 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -59,7 +59,7 @@ real_name = "Random Character Slot" var/output = "

Setup Character
[real_name]

" - if(!ticker || ticker.current_state <= GAME_STATE_PREGAME) + if(!SSticker || SSticker.current_state <= GAME_STATE_PREGAME) if(!ready) output += "

Declare Ready

" else output += "

You are ready (Cancel)

" else @@ -106,21 +106,21 @@ /mob/new_player/Stat() statpanel("Lobby") - if(client.statpanel=="Lobby" && ticker) - if(ticker.hide_mode) + if(client.statpanel=="Lobby" && SSticker) + if(SSticker.hide_mode) stat("Game Mode:", "Secret") else - if(ticker.hide_mode == 0) + if(SSticker.hide_mode == 0) stat("Game Mode:", "[master_mode]") // Old setting for showing the game mode else stat("Game Mode: ", "Secret") - if((ticker.current_state == GAME_STATE_PREGAME) && going) - stat("Time To Start:", ticker.pregame_timeleft) - if((ticker.current_state == GAME_STATE_PREGAME) && !going) + if((SSticker.current_state == GAME_STATE_PREGAME) && going) + stat("Time To Start:", SSticker.pregame_timeleft) + if((SSticker.current_state == GAME_STATE_PREGAME) && !going) stat("Time To Start:", "DELAYED") - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) stat("Players:", "[totalPlayers]") if(check_rights(R_ADMIN, 0, src)) stat("Players Ready:", "[totalPlayersReady]") @@ -136,7 +136,7 @@ ..() statpanel("Status") - if(client.statpanel == "Status" && ticker) + if(client.statpanel == "Status" && SSticker) show_stat_station_time() @@ -217,7 +217,7 @@ if(!tos_consent) to_chat(usr, "You must consent to the terms of service before you can join!") return 0 - if(!ticker || ticker.current_state != GAME_STATE_PLAYING) + if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) to_chat(usr, "The round is either not ready, or has already finished...") return @@ -303,7 +303,7 @@ /mob/new_player/proc/AttemptLateSpawn(rank,var/spawning_at) if(src != usr) return 0 - if(!ticker || ticker.current_state != GAME_STATE_PLAYING) + if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) to_chat(usr, "The round is either not ready, or has already finished...") return 0 if(!enter_allowed) @@ -330,7 +330,7 @@ ai_character.moveToEmptyCore() AnnounceCyborg(ai_character, rank, "has been downloaded to the empty core in \the [get_area(ai_character)]") - ticker.mode.latespawn(ai_character) + SSticker.mode.latespawn(ai_character) qdel(src) return @@ -370,7 +370,7 @@ character = SSjobs.EquipRank(character, rank, 1) //equips the human EquipCustomItems(character) - ticker.mode.latespawn(character) + SSticker.mode.latespawn(character) if(character.mind.assigned_role == "Cyborg") AnnounceCyborg(character, rank, join_message) @@ -379,7 +379,7 @@ callHook("latespawn", list(character)) else data_core.manifest_inject(character) - ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn + SSticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn AnnounceArrival(character, rank, join_message) callHook("latespawn", list(character)) AddEmploymentContract(character) @@ -390,7 +390,7 @@ /mob/new_player/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message) - if(ticker.current_state == GAME_STATE_PLAYING) + if(SSticker.current_state == GAME_STATE_PLAYING) var/ailist[] = list() for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) ailist += A @@ -422,7 +422,7 @@ employmentCabinet.addFile(employee) /mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message) - if(ticker.current_state == GAME_STATE_PLAYING) + if(SSticker.current_state == GAME_STATE_PLAYING) var/ailist[] = list() for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) ailist += A @@ -536,7 +536,7 @@ var/mob/living/carbon/human/new_character = new(loc) new_character.lastarea = get_area(loc) - if(ticker.random_players || appearance_isbanned(new_character)) + if(SSticker.random_players || appearance_isbanned(new_character)) client.prefs.random_character() client.prefs.real_name = random_name(client.prefs.gender) client.prefs.copy_to(new_character) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index e15c727accb..53ab45c58dc 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -25,8 +25,8 @@ /obj/singularity/narsie/large/New() ..() - icon_state = ticker.cultdat.entity_icon_state - name = ticker.cultdat.entity_name + icon_state = SSticker.cultdat.entity_icon_state + name = SSticker.cultdat.entity_name to_chat(world, " [name] HAS RISEN") world << pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg')) @@ -127,12 +127,12 @@ /obj/singularity/narsie/proc/acquire(var/mob/food) if(food == target) return - to_chat(target, "[uppertext(ticker.cultdat.entity_name)] HAS LOST INTEREST IN YOU") + to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HAS LOST INTEREST IN YOU") target = food if(ishuman(target)) - to_chat(target, "[uppertext(ticker.cultdat.entity_name)] HUNGERS FOR YOUR SOUL") + to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HUNGERS FOR YOUR SOUL") else - to_chat(target, "[uppertext(ticker.cultdat.entity_name)] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL") + to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL") //Wizard narsie /obj/singularity/narsie/wizard diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 6c9ecb55afc..7ebc4f4471a 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -198,7 +198,7 @@ return 0 /obj/machinery/power/smes/Destroy() - if(ticker && ticker.current_state == GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state == GAME_STATE_PLAYING) var/area/area = get_area(src) if(area) message_admins("SMES deleted at ([area.name])") diff --git a/code/modules/reagents/chemistry/reagents/food.dm b/code/modules/reagents/chemistry/reagents/food.dm index bf2417a192e..a67f681973d 100644 --- a/code/modules/reagents/chemistry/reagents/food.dm +++ b/code/modules/reagents/chemistry/reagents/food.dm @@ -9,7 +9,7 @@ var/diet_flags = DIET_OMNI | DIET_HERB | DIET_CARN /datum/reagent/consumable/on_mob_life(mob/living/M) - if(!(M.mind in ticker.mode.vampires)) + if(!(M.mind in SSticker.mode.vampires)) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients @@ -27,7 +27,7 @@ /datum/reagent/consumable/nutriment/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - if(!(M.mind in ticker.mode.vampires)) + if(!(M.mind in SSticker.mode.vampires)) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index dcd21f639d1..4816c1f3e50 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -326,14 +326,14 @@ if(current_cycle >= 75 && prob(33)) // 30 units, 150 seconds M.AdjustConfused(3) if(isvampirethrall(M)) - ticker.mode.remove_vampire_mind(M.mind) + SSticker.mode.remove_vampire_mind(M.mind) holder.remove_reagent(id, volume) M.SetJitter(0) M.SetStuttering(0) M.SetConfused(0) return if(iscultist(M)) - ticker.mode.remove_cultist(M.mind) + SSticker.mode.remove_cultist(M.mind) holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better?? M.SetJitter(0) M.SetStuttering(0) diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm index 0bac5824780..2a86d4a4a54 100644 --- a/code/modules/response_team/ert.dm +++ b/code/modules/response_team/ert.dm @@ -21,11 +21,11 @@ var/ert_request_answered = FALSE if(!check_rights(R_EVENT)) return - if(!ticker) + if(!SSticker) to_chat(usr, "The game hasn't started yet!") return - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) to_chat(usr, "The round hasn't started yet!") return @@ -164,9 +164,9 @@ var/ert_request_answered = FALSE M.mind.original = M M.mind.assigned_role = SPECIAL_ROLE_ERT M.mind.special_role = SPECIAL_ROLE_ERT - if(!(M.mind in ticker.minds)) - ticker.minds += M.mind //Adds them to regular mind list. - ticker.mode.ert += M.mind + if(!(M.mind in SSticker.minds)) + SSticker.minds += M.mind //Adds them to regular mind list. + SSticker.mode.ert += M.mind M.forceMove(spawn_location) SSjobs.CreateMoneyAccount(M, class, null) diff --git a/code/modules/security_levels/keycard authentication.dm b/code/modules/security_levels/keycard authentication.dm index 3f074c1246c..834d3ddc907 100644 --- a/code/modules/security_levels/keycard authentication.dm +++ b/code/modules/security_levels/keycard authentication.dm @@ -183,7 +183,7 @@ trigger_armed_response_team(new /datum/response_team/amber) // No admins? No problem. Automatically send a code amber ERT. /obj/machinery/keycard_auth/proc/is_ert_blocked() - return ticker.mode && ticker.mode.ert_disabled + return SSticker.mode && SSticker.mode.ert_disabled var/global/maint_all_access = 0 var/global/station_all_access = 0 diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 0efe2043ab0..4c945921389 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -13,7 +13,7 @@ /datum/station_goal/dna_vault/New() ..() animal_count = rand(15, 20) //might be too few given ~15 roundstart stationside ones - human_count = rand(round(0.75 * ticker.mode.num_players_started()), ticker.mode.num_players_started()) // 75%+ roundstart population. + human_count = rand(round(0.75 * SSticker.mode.num_players_started()), SSticker.mode.num_players_started()) // 75%+ roundstart population. var/non_standard_plants = non_standard_plants_count() plant_count = rand(round(0.5 * non_standard_plants),round(0.7 * non_standard_plants)) @@ -166,8 +166,8 @@ var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/human/monkey,/ F.parent = src fillers += F - if(ticker.mode) - for(var/datum/station_goal/dna_vault/G in ticker.mode.station_goals) + if(SSticker.mode) + for(var/datum/station_goal/dna_vault/G in SSticker.mode.station_goals) animals_max = G.animal_count plants_max = G.plant_count dna_max = G.human_count diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 09ccb3ce36b..68977b5e14d 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -83,7 +83,7 @@ )) data["notice"] = notice - var/datum/station_goal/station_shield/G = locate() in ticker.mode.station_goals + var/datum/station_goal/station_shield/G = locate() in SSticker.mode.station_goals if(G) data["meteor_shield"] = 1 data["meteor_shield_coverage"] = G.get_coverage() diff --git a/code/modules/station_goals/station_goal.dm b/code/modules/station_goals/station_goal.dm index 754e09b4185..90d4defa26c 100644 --- a/code/modules/station_goals/station_goal.dm +++ b/code/modules/station_goals/station_goal.dm @@ -33,7 +33,7 @@ to_chat(world, "Station Goal : [name] : Failed!") /datum/station_goal/Destroy() - ticker.mode.station_goals -= src + SSticker.mode.station_goals -= src . = ..() /datum/station_goal/Topic(href, href_list) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index f959732427a..ebe824f0bbc 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -328,7 +328,7 @@ if(target.vision_type) //Turns off their darksight if it's still active. to_chat(target, "Your eyes are suddenly wrought with immense pain as your darksight is forcibly dismissed!") target.vision_type = null - ticker.mode.remove_thrall(target.mind, 0) + SSticker.mode.remove_thrall(target.mind, 0) target.visible_message("A strange black mass falls from [target]'s [E]!") var/obj/item/organ/thing = new /obj/item/organ/internal/shadowtumor(get_turf(target)) thing.set_dna(target.dna) diff --git a/paradise.dme b/paradise.dme index 1b7a691c820..0d9cc3045fa 100644 --- a/paradise.dme +++ b/paradise.dme @@ -200,7 +200,6 @@ #include "code\controllers\verbs.dm" #include "code\controllers\Processes\lighting.dm" #include "code\controllers\Processes\npcai.dm" -#include "code\controllers\Processes\ticker.dm" #include "code\controllers\ProcessScheduler\core\process.dm" #include "code\controllers\ProcessScheduler\core\processScheduler.dm" #include "code\controllers\subsystem\air.dm" @@ -227,6 +226,7 @@ #include "code\controllers\subsystem\spacedrift.dm" #include "code\controllers\subsystem\sun.dm" #include "code\controllers\subsystem\throwing.dm" +#include "code\controllers\subsystem\ticker.dm" #include "code\controllers\subsystem\timer.dm" #include "code\controllers\subsystem\vote.dm" #include "code\controllers\subsystem\weather.dm" @@ -443,7 +443,6 @@ #include "code\game\dna\genes\vg_powers.dm" #include "code\game\gamemodes\factions.dm" #include "code\game\gamemodes\game_mode.dm" -#include "code\game\gamemodes\gameticker.dm" #include "code\game\gamemodes\intercept_report.dm" #include "code\game\gamemodes\objective.dm" #include "code\game\gamemodes\scoreboard.dm" From e2cf2782af4aad5cfb514ee7f0bd3b0182ff85db Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 30 Apr 2019 19:16:44 +0200 Subject: [PATCH 037/196] Re-add fast_despawn --- code/game/area/areas.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index f1402b235fe..6fd122261fb 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -63,6 +63,8 @@ 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') + var/fast_despawn = TRUE + /area/Initialize(mapload) GLOB.all_areas += src icon_state = "" From 4ad9fd4d1816f3b7af37cec7954d16d15f5ddc9c Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Tue, 30 Apr 2019 19:17:34 +0200 Subject: [PATCH 038/196] Correct value --- code/game/area/areas.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6fd122261fb..e5a7377b5b6 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -63,7 +63,7 @@ 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') - var/fast_despawn = TRUE + var/fast_despawn = FALSE /area/Initialize(mapload) GLOB.all_areas += src From acf43fac3ae0cc399eb8a15acc67087a553fac1a Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 30 Apr 2019 19:19:18 +0100 Subject: [PATCH 039/196] V2 --- code/__DEFINES/game.dm | 1 + code/controllers/subsystem/ticker.dm | 96 +++++++++++------------ code/modules/admin/admin.dm | 21 +++-- code/modules/mob/new_player/new_player.dm | 2 +- 4 files changed, 63 insertions(+), 57 deletions(-) diff --git a/code/__DEFINES/game.dm b/code/__DEFINES/game.dm index 68518e80d6c..5c262724a14 100644 --- a/code/__DEFINES/game.dm +++ b/code/__DEFINES/game.dm @@ -1,3 +1,4 @@ +#define GAME_STATE_STARTUP 0 #define GAME_STATE_PREGAME 1 #define GAME_STATE_SETTING_UP 2 #define GAME_STATE_PLAYING 3 diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 0e67479b531..42b36c882f4 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -11,7 +11,8 @@ SUBSYSTEM_DEF(ticker) // Game ticker related vars var/round_start_time = 0 var/const/restart_timeout = 600 - var/current_state = GAME_STATE_PREGAME + var/current_state = GAME_STATE_STARTUP + var/force_start = 0 // Do we want to force-start as soon as we can var/force_ending = 0 var/hide_mode = 0 // leave here at 0 ! setup() will take care of it when needed for Secret mode -walter0o var/datum/game_mode/mode = null @@ -30,7 +31,7 @@ SUBSYSTEM_DEF(ticker) var/list/availablefactions = list() // list of factions with openings var/tipped = FALSE //Did we broadcast the tip of the day yet? var/selected_tip // What will be the tip of the day? - var/pregame_timeleft = "Initializing" + var/pregame_timeleft // This is used for calculations var/delay_end = 0 //if set to nonzero, the round will not restart on it's own var/triai = 0//Global holder for Triumvirate var/initialtpass = 0 //holder for inital autotransfer vote timer @@ -56,56 +57,55 @@ SUBSYSTEM_DEF(ticker) else lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND lastTickerTime = currentTime - - // Startup loop - if(current_state == GAME_STATE_PREGAME) - pregame_timeleft = config.pregame_timestart - to_chat(world, "Welcome to the pre-game lobby!") - to_chat(world, "Please, setup your character and select ready. Game will start in [pregame_timeleft] seconds") - while(current_state == GAME_STATE_PREGAME) - sleep(10) - if(going) - pregame_timeleft-- - - if(pregame_timeleft <= 60 && !tipped) + // Main firing sequence + switch(current_state) + if(GAME_STATE_STARTUP) + // This is ran as soon as the MC starts firing, and should only run ONCE, unless startup fails + round_start_time = world.time + (config.pregame_timestart * 10) + to_chat(world, "Welcome to the pre-game lobby!") + to_chat(world, "Please, setup your character and select ready. Game will start in [config.pregame_timestart] seconds") + current_state = GAME_STATE_PREGAME + fire() // TG says this is a good idea + if(GAME_STATE_PREGAME) + // This is so we dont have sleeps in controllers, because that is a bad, bad thing + pregame_timeleft = max(0,round_start_time - world.time) + + if(pregame_timeleft <= 600 && !tipped) // 60 seconds send_tip_of_the_round() tipped = TRUE - - if(pregame_timeleft <= 0) - if(setup()) // Try to start the round - current_state = GAME_STATE_SETTING_UP - Master.SetRunLevel(RUNLEVEL_SETUP) - else // It didnt work, lets loop again - break - - // This makes sure the game keeps going - if(current_state != GAME_STATE_PLAYING) - return 0 - - mode.process() - mode.process_job_tasks() - var/game_finished = SSshuttle.emergency.mode >= SHUTTLE_ENDGAME || mode.station_was_nuked - if(config.continuous_rounds) - mode.check_finished() // some modes contain var-changing code in here, so call even if we don't uses result - else - game_finished |= mode.check_finished() - - if((!mode.explosion_in_progress && game_finished) || force_ending) - current_state = GAME_STATE_FINISHED - Master.SetRunLevel(RUNLEVEL_POSTGAME) - auto_toggle_ooc(1) // Turn it on - spawn - declare_completion() - - spawn(50) - callHook("roundend") - - if(mode.station_was_nuked) - world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") + + if(pregame_timeleft <= 0 || force_start) + current_state = GAME_STATE_SETTING_UP + Master.SetRunLevel(RUNLEVEL_SETUP) + if(GAME_STATE_SETTING_UP) + if(!setup()) // Setup failed + current_state = GAME_STATE_STARTUP + Master.SetRunLevel(RUNLEVEL_LOBBY) + if(GAME_STATE_PLAYING) + mode.process() + mode.process_job_tasks() + var/game_finished = SSshuttle.emergency.mode >= SHUTTLE_ENDGAME || mode.station_was_nuked + if(config.continuous_rounds) + mode.check_finished() // some modes contain var-changing code in here, so call even if we don't uses result else - world.Reboot("Round ended.", "end_proper", "proper completion") + game_finished |= mode.check_finished() + if(game_finished) + current_state = GAME_STATE_FINISHED + if(GAME_STATE_FINISHED) + current_state = GAME_STATE_FINISHED + Master.SetRunLevel(RUNLEVEL_POSTGAME) // This shouldnt process more than once, but you never know + auto_toggle_ooc(1) // Turn it on - return 1 + spawn(0) + declare_completion() + + spawn(50) + callHook("roundend") + + if(mode.station_was_nuked) + world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") + else + world.Reboot("Round ended.", "end_proper", "proper completion") /datum/controller/subsystem/ticker/proc/votetimer() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 74b1aa00efd..2a981e8b9c4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -675,18 +675,23 @@ var/global/nologevent = 0 if(!SSticker) alert("Unable to start the game as it is not set up.") return - if(SSticker.current_state == GAME_STATE_PREGAME) - if(config.start_now_confirmation) - if(alert(usr, "This is a live server. Are you sure you want to start now?", "Start game", "Yes", "No") != "Yes") - return - SSticker.current_state = GAME_STATE_SETTING_UP - log_admin("[key_name(usr)] has started the game.") - message_admins("[key_name_admin(usr)] has started the game.") + + if(config.start_now_confirmation) + if(alert(usr, "This is a live server. Are you sure you want to start now?", "Start game", "Yes", "No") != "Yes") + return + + if(SSticker.current_state == GAME_STATE_PREGAME || SSticker.current_state == GAME_STATE_STARTUP) + SSticker.force_start = TRUE + log_admin("[usr.key] has started the game.") + var/msg = "" + if(SSticker.current_state == GAME_STATE_STARTUP) + msg = " (The server is still setting up, but the round will be started as soon as possible.)" + message_admins("[usr.key] has started the game.[msg]") feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return 1 else to_chat(usr, "Error: Start Now: Game has already started.") - return 0 + return /datum/admins/proc/toggleenter() set category = "Server" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index faaf8631ec1..5cb96a7c532 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -116,7 +116,7 @@ stat("Game Mode: ", "Secret") if((SSticker.current_state == GAME_STATE_PREGAME) && going) - stat("Time To Start:", SSticker.pregame_timeleft) + stat("Time To Start:", round(SSticker.pregame_timeleft/10)) if((SSticker.current_state == GAME_STATE_PREGAME) && !going) stat("Time To Start:", "DELAYED") From bdc5452609c671690efa1f0d07dd7f95e3d34a8b Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 30 Apr 2019 21:12:09 +0100 Subject: [PATCH 040/196] Globalise this --- code/__HELPERS/names.dm | 4 +-- code/_globalvars/misc.dm | 5 +++- code/_globalvars/station.dm | 5 ++-- code/controllers/subsystem/ticker.dm | 34 +++++++++++++++----------- code/game/gamemodes/traitor/traitor.dm | 8 +++--- code/game/world.dm | 18 +------------- 6 files changed, 33 insertions(+), 41 deletions(-) diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 5b90cda376e..246377eba32 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -112,8 +112,8 @@ var/syndicate_name = null //Traitors and traitor silicons will get these. Revs will not. -var/syndicate_code_phrase//Code phrase for traitors. -var/syndicate_code_response//Code response for traitors. +GLOBAL_VAR(syndicate_code_phrase) //Code phrase for traitors. +GLOBAL_VAR(syndicate_code_response) //Code response for traitors. /* Should be expanded. diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index 77443fb4ab2..e5674a9b47b 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -83,4 +83,7 @@ GLOBAL_VAR_INIT(gametime_offset, 432000) // 12:00 in seconds //printers shutdown if too much shit printed var/copier_items_printed = 0 var/copier_max_items = 300 -var/copier_items_printed_logged = FALSE \ No newline at end of file +var/copier_items_printed_logged = FALSE + + +GLOBAL_VAR(map_name) // Self explanatory \ No newline at end of file diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm index e997a672e1f..ba8b70991c2 100644 --- a/code/_globalvars/station.dm +++ b/code/_globalvars/station.dm @@ -1,3 +1,2 @@ -var/global/datum/datacore/data_core = null - -var/map_name = "Unknown" //The name of the map that is loaded. Assigned in world/New() \ No newline at end of file +// TODO: Move this to be not in its own fucking file all alone on its own +var/global/datum/datacore/data_core = null \ No newline at end of file diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 42b36c882f4..e70374b2779 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -5,10 +5,7 @@ SUBSYSTEM_DEF(ticker) priority = FIRE_PRIORITY_TICKER flags = SS_KEEP_TIMING runlevels = RUNLEVEL_LOBBY | RUNLEVEL_SETUP | RUNLEVEL_GAME - // Time ticker related vars - var/lastTickerTimeDuration - var/lastTickerTime - // Game ticker related vars + var/round_start_time = 0 var/const/restart_timeout = 600 var/current_state = GAME_STATE_STARTUP @@ -39,25 +36,34 @@ SUBSYSTEM_DEF(ticker) var/round_end_announced = 0 // Spam Prevention. Announce round end only once.\ /datum/controller/subsystem/ticker/Initialize() - lastTickerTime = world.timeofday login_music = pick(\ 'sound/music/thunderdome.ogg',\ 'sound/music/space.ogg',\ 'sound/music/title1.ogg',\ 'sound/music/title2.ogg',\ 'sound/music/title3.ogg',) - ..() + // Setup codephrase + if(!GLOB.syndicate_code_phrase) + GLOB.syndicate_code_phrase = generate_code_phrase() + if(!GLOB.syndicate_code_response) + GLOB.syndicate_code_response = generate_code_phrase() + + // Map name + if(using_map && using_map.name) + GLOB.map_name = "[using_map.name]" + else + GLOB.map_name = "Unknown" + + // World name + if(config && config.server_name) + world.name = "[config.server_name]: [station_name()]" + else + world.name = station_name() + + return ..() /datum/controller/subsystem/ticker/fire() - // This code is EXTREMELY important shit for checking midnight time rollover. Dont fuck with it - var/currentTime = world.timeofday - if(currentTime < lastTickerTime) - lastTickerTimeDuration = (currentTime - (lastTickerTime - TICKS_IN_DAY)) / TICKS_IN_SECOND - else - lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND - lastTickerTime = currentTime - // Main firing sequence switch(current_state) if(GAME_STATE_STARTUP) // This is ran as soon as the MC starts firing, and should only run ONCE, unless startup fails diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index d956e6d76b6..c2855f5c338 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -208,11 +208,11 @@ /datum/game_mode/proc/give_codewords(mob/living/traitor_mob) to_chat(traitor_mob, "The Syndicate provided you with the following information on how to identify their agents:") - to_chat(traitor_mob, "Code Phrase: [syndicate_code_phrase]") - to_chat(traitor_mob, "Code Response: [syndicate_code_response]") + to_chat(traitor_mob, "Code Phrase: [GLOB.syndicate_code_phrase]") + to_chat(traitor_mob, "Code Response: [GLOB.syndicate_code_response]") - traitor_mob.mind.store_memory("Code Phrase: [syndicate_code_phrase]") - traitor_mob.mind.store_memory("Code Response: [syndicate_code_response]") + traitor_mob.mind.store_memory("Code Phrase: [GLOB.syndicate_code_phrase]") + traitor_mob.mind.store_memory("Code Response: [GLOB.syndicate_code_response]") to_chat(traitor_mob, "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.") diff --git a/code/game/world.dm b/code/game/world.dm index 8106aca31d3..0341699a254 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -35,22 +35,6 @@ var/global/list/map_transition_config = MAP_TRANSITION_CONFIG processScheduler.setup() - if(!syndicate_code_phrase) - syndicate_code_phrase = generate_code_phrase() - if(!syndicate_code_response) - syndicate_code_response = generate_code_phrase() - if(using_map && using_map.name) - map_name = "[using_map.name]" - else - map_name = "Unknown" - - - if(config && config.server_name) - name = "[config.server_name]: [station_name()]" - else - name = station_name() - - #undef RECOMMENDED_VERSION return @@ -118,7 +102,7 @@ var/world_topic_spam_protect_time = world.timeofday player_count++ s["players"] = player_count s["admins"] = admin_count - s["map_name"] = map_name ? map_name : "Unknown" + s["map_name"] = GLOB.map_name ? GLOB.map_name : "Unknown" if(key_valid) if(SSticker && SSticker.mode) From 9f87fbdd35dce5cae01de81bd16cab3f7c89c534 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Wed, 1 May 2019 18:54:14 +0200 Subject: [PATCH 041/196] Examine species colors --- code/Diona.png | Bin 0 -> 1614 bytes code/Grey.png | Bin 0 -> 1037 bytes code/Unathi.png | Bin 0 -> 915 bytes code/modules/mob/living/carbon/human/examine.dm | 7 ++++--- .../mob/living/carbon/human/species/grey.dm | 1 + .../mob/living/carbon/human/species/kidan.dm | 1 + .../mob/living/carbon/human/species/slime.dm | 1 + .../mob/living/carbon/human/species/tajaran.dm | 2 +- 8 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 code/Diona.png create mode 100644 code/Grey.png create mode 100644 code/Unathi.png diff --git a/code/Diona.png b/code/Diona.png new file mode 100644 index 0000000000000000000000000000000000000000..d311226d5f586660a74b7893e3c54baacf814848 GIT binary patch literal 1614 zcmV-U2C?~xP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1>;FXK~#8N?O8Ey zTQLmvy?ldSC5unc3v_AbKXhr=Y~2cvU7E#&R?8?skud zBTbLz^!M)7@ME(37i{S2?cw*=yN~bReSH7n2Tgx`PJg%Q|3cM^rvsJN8HcAxFY;?y z^HkQ^&);fyUeko)XMd5%{mP$dPb(?k7}x8Co6f34HpXQ-**mOyg9dE$W4Gv9O%W3AdmUlw&1R+c}Xj`cP=Zf-REGQ!4-PJlGJO~ zt+AC}AQi&lDp%Lyjp)U#ka{xeWD`PXgQ0!y_{jPXD7q2ze)1iOc32W^c zQf9QlkH^+?w28ppr9L}NQ!Zq&XIHa#ZfET?;9Vj_Ed4vk4JGUD!sR&MK~gTpt%=R6 z&YPw{{ED1hER9GYAr53gIi-JQ+8#Y z=qfuQLLARnVs>KD-g%z+zeiXvetx^B>1T?M2bJj1S+lDl+My&PQ8aTs!gaq#GVk03 z%{cdB<7EzO?HR6KK=~8GDzXPMrh~~<>00v1ZRdZG>a&H7JXH*&Y2t_PGvg#d3}94Z zF^WmYzCFm@UcOz47aDkrDRLMK16i=QYK&#Ft^jyv6Gi;cE?=^i9^LkO(XSMA$wE-O z3mn3I5**%^BD?YkK?#WU!b(6WA0i45-)V|qw-S^%@!CePp7WC~1 zHMZbz$wN7qYhT=^`*7<(A=#T6rCm&1YZmknN9o$GxRPBv$e~S^jj7j#96Krxy#a4I zeIEttAh{bVc-j|8R@&f#nkaH%B8uOCH;UU{9a>-U;AA^Xh+?ULUa}-OyoE4V^2p@h z4)vox(2M?`HX=3Y^`iSpqJHM2O#SCmu%%uUG-~wQu2^f&kkV?Kz8#^)9eDRVQN&U+ z>Y>wgEUwx?>CtjkXe=9--L~OBtqg9vsu%73d@s5 zg6DpZ3|6q?6-5?)P-CIX9l6vFwW?55=K*5*^rWd)VTNRxpY|_>6-W6+Q!x zu`rMYd#lC>aAmVwt`~7xV>Qut==?y?kSKfk_)3TrMfXE?<&k-t-y=3krx!0^L%m3g z?NlbzE#X>wh7=5KuxwC%7u;LA($Y_O5c{Lr;8Zb?riCBA!%Qx+Yuiq^WmoF?rIq5! z1U1RZZc8DrP>yiD%7BTeiW>(q=r62+u3UjIQ;A~Ur{#@S_|Dza&1ZqYwhK|rLF)&Z zdBK=3T&Eg2Xl1V)bjdUV5$Q!N5aIU=^dtX)QuTsL=2w%j<@XEq8t1rMZ_n`cB7^J7 zBSv`|HNG^&)?3OetZ#wa`ILiY8chy#`7YVI-+7M&P)F&Z9ct~SE zJ*5lyWY)(F!_|unG;Y65V!cR-)&FEoryh*kI1yhj1_lN~uy$0rN#X*k^lCBmVqjn` z?02s8-6!}=eoYv9F)*+I>NiChZ$uyrhF%N|3@pXai-CcGWq5x63(iT?!$6PL6aWAK M07*qoM6N<$f^umB`Tzg` literal 0 HcmV?d00001 diff --git a/code/Grey.png b/code/Grey.png new file mode 100644 index 0000000000000000000000000000000000000000..c79600304e5494aa0dec4955d8f011dc8967b1c6 GIT binary patch literal 1037 zcmV+o1oHcdP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1ENVpK~!i%?U}ny zD=`p;_r3O|Qt}+MX-`8zla7L|kPy;Af+iATyGU?ALZYJ0@ny!I8GF6!#3-A@zozl} z_x;=P2AXYE)r?gEt(vtepjES01+;3`8V0oQ+va)MLup>>)=l$Q#iD};RQ>YV)UIQd zvyt9jvV`P{&RLD!7a5C93Q)b9Iqc^8QQZRP)Ap?OAppg03%#`G1E^W)&g;SqsyB$A z=;1TyW?{}O7mK3=^pvH}araFd1=Lg0F2A6PnZK4T7?_7D*KdVMCE|oCvTSZPL6*a7 z9TOg9#D&%hjQ~0@gc3Hyu(yE#G+Ysxl8V$uG10f$+=PRAz5BDe=5e<+HS2p*ynTEJ z4?N#~KCZm^diC@{A3{+Hd+uIM@fQJAi^PZ8fWr{8zJ>iRY!>1!w#xMz!TsL$OStGm z;OKmOQDjit4;(PZ!lPrRAsPxL08I?xRsoGv?F2w!EZ8VuZW^O>OLfD6R>08B!>2C2 zKi!xj2h@jt4xalLV|nRJm4Wi(;nvuo3Z05?TmD5rX}@~4WH+r@r^E4$%k?Ya`Drs8 z9*(ZWjuTTda?dz}e%wNsSrW;*l^O&zHH4g-R|-%d(ydogK3RIs;n0Ifg&EWojetl< zio(MZEp+Y^>LCGj$Cli_T)(&3R&Zc`uVcsQxMyv_8AL%qlS2SoK5(oApjahiBA}vq ztQF0FTH}E7%iRZf2)^KiuCxvcsMQE|xqg>;WJF1t0%&}LiUJyMr4(m$0-!E~PM4je zYp9E50d*Nv2%4yrY_lomW~~_j3M%y+Pso1^XeW6BMLWGISA6`i%K$o^C)&Sg#fFxz z+;pjzfwmd~boVRXU)(}?%Xg;j5Xbr26HxWgw;I}xTtB89Iv+SQ@U!EToQY!Cn>$6} z6x|A;IZ``3gqpVZLl1TdDL^A*=_mXRjJ^+gCT>gZ5YZD6L{0$IdEj>yJn@+lp${6G zX^g+U1KKx(;@Q~XJvin0kwy2#X~fPfAc=QtgLDplA9f+wCpv>}snE>B9e;cXT#F00 zs3f3TXmEk4(cBn(bBM^-QQLQF&QU;>5I7nsK(&G|QJPR)ha$_C0krC9#IkZ30b3!F zISNy32~|LkO)A$8rq3NU_I)`?&$-~U*^>_00000NkvXX Hu0mjfz?P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D11L#EK~!i%?Up}M z>o5?;eFP3emzra62RAtY=LiKipry#9NDB>3W?2Lth)EjK)!{)u~-n#Cvqk*(`2XtQJEd}~~ zdbzoMzPa6RX+UZFV5X9@q!G$v4|f`i{+NRjicwRENCU^^Qo7uug80Y?BPHI)lkNe2s$O0bQ%6~r;HW#SJa?9uWBd*0bTwLmqRJtRN9p? z^X+>cSG9gnq^P@|N2t1-lZ!ouF1i0TkXbmOjN6?=piDUVxl^Fj+cO`iGU<;=vUhyE z-T^4jYa->a#-DdjU+`Di6wxlOg*llzMye%Hd>Q zW>@x5xI@~lry?j#V0#lrVN!|n_*_OhWxy!T&IzS^-B1s@2rGVD$$u3} zTSAW&ty({*49c*OE+{-}gV+tmDKN8wGV4^&@^uzUHn`snoGp84`8GJBC{KivM&3~IH0&>T=21yn)F!&Q!=P)42pvy?JWj{Yf7qEj+ErO}!IB|{da>Ysp;G}kz& z49cL83MnNQf?WA^hMW`kZ)T%VMs~}Y$?qHTFMun*q8EVD$8K&YW10&}GbpRz(iJhR zT0f`|${a&574)I;2p%6af@YmC=gdPHKo+z{Z3s?>8;;%&F0>Sm3++!OqLAsS=#&~G z&cjrNkX1qnSLff`Y@L#>l0s*&s`N7l5+h_$C_w}Vg)L8zN8bW7VM9=cpU&PAPJV6z zN)WvXHUf0CL0+LTc{;Om|MM%n+A3?jsS?NjB<;@~BqY+9J4A770clna;n p)@K^<|EUIL)8f>iY+9I3r#~T&E}+y~oR Date: Wed, 1 May 2019 18:55:30 +0200 Subject: [PATCH 042/196] Code cleanup --- code/Diona.png | Bin 1614 -> 0 bytes code/Grey.png | Bin 1037 -> 0 bytes code/Unathi.png | Bin 915 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 code/Diona.png delete mode 100644 code/Grey.png delete mode 100644 code/Unathi.png diff --git a/code/Diona.png b/code/Diona.png deleted file mode 100644 index d311226d5f586660a74b7893e3c54baacf814848..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1614 zcmV-U2C?~xP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1>;FXK~#8N?O8Ey zTQLmvy?ldSC5unc3v_AbKXhr=Y~2cvU7E#&R?8?skud zBTbLz^!M)7@ME(37i{S2?cw*=yN~bReSH7n2Tgx`PJg%Q|3cM^rvsJN8HcAxFY;?y z^HkQ^&);fyUeko)XMd5%{mP$dPb(?k7}x8Co6f34HpXQ-**mOyg9dE$W4Gv9O%W3AdmUlw&1R+c}Xj`cP=Zf-REGQ!4-PJlGJO~ zt+AC}AQi&lDp%Lyjp)U#ka{xeWD`PXgQ0!y_{jPXD7q2ze)1iOc32W^c zQf9QlkH^+?w28ppr9L}NQ!Zq&XIHa#ZfET?;9Vj_Ed4vk4JGUD!sR&MK~gTpt%=R6 z&YPw{{ED1hER9GYAr53gIi-JQ+8#Y z=qfuQLLARnVs>KD-g%z+zeiXvetx^B>1T?M2bJj1S+lDl+My&PQ8aTs!gaq#GVk03 z%{cdB<7EzO?HR6KK=~8GDzXPMrh~~<>00v1ZRdZG>a&H7JXH*&Y2t_PGvg#d3}94Z zF^WmYzCFm@UcOz47aDkrDRLMK16i=QYK&#Ft^jyv6Gi;cE?=^i9^LkO(XSMA$wE-O z3mn3I5**%^BD?YkK?#WU!b(6WA0i45-)V|qw-S^%@!CePp7WC~1 zHMZbz$wN7qYhT=^`*7<(A=#T6rCm&1YZmknN9o$GxRPBv$e~S^jj7j#96Krxy#a4I zeIEttAh{bVc-j|8R@&f#nkaH%B8uOCH;UU{9a>-U;AA^Xh+?ULUa}-OyoE4V^2p@h z4)vox(2M?`HX=3Y^`iSpqJHM2O#SCmu%%uUG-~wQu2^f&kkV?Kz8#^)9eDRVQN&U+ z>Y>wgEUwx?>CtjkXe=9--L~OBtqg9vsu%73d@s5 zg6DpZ3|6q?6-5?)P-CIX9l6vFwW?55=K*5*^rWd)VTNRxpY|_>6-W6+Q!x zu`rMYd#lC>aAmVwt`~7xV>Qut==?y?kSKfk_)3TrMfXE?<&k-t-y=3krx!0^L%m3g z?NlbzE#X>wh7=5KuxwC%7u;LA($Y_O5c{Lr;8Zb?riCBA!%Qx+Yuiq^WmoF?rIq5! z1U1RZZc8DrP>yiD%7BTeiW>(q=r62+u3UjIQ;A~Ur{#@S_|Dza&1ZqYwhK|rLF)&Z zdBK=3T&Eg2Xl1V)bjdUV5$Q!N5aIU=^dtX)QuTsL=2w%j<@XEq8t1rMZ_n`cB7^J7 zBSv`|HNG^&)?3OetZ#wa`ILiY8chy#`7YVI-+7M&P)F&Z9ct~SE zJ*5lyWY)(F!_|unG;Y65V!cR-)&FEoryh*kI1yhj1_lN~uy$0rN#X*k^lCBmVqjn` z?02s8-6!}=eoYv9F)*+I>NiChZ$uyrhF%N|3@pXai-CcGWq5x63(iT?!$6PL6aWAK M07*qoM6N<$f^umB`Tzg` diff --git a/code/Grey.png b/code/Grey.png deleted file mode 100644 index c79600304e5494aa0dec4955d8f011dc8967b1c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1037 zcmV+o1oHcdP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1ENVpK~!i%?U}ny zD=`p;_r3O|Qt}+MX-`8zla7L|kPy;Af+iATyGU?ALZYJ0@ny!I8GF6!#3-A@zozl} z_x;=P2AXYE)r?gEt(vtepjES01+;3`8V0oQ+va)MLup>>)=l$Q#iD};RQ>YV)UIQd zvyt9jvV`P{&RLD!7a5C93Q)b9Iqc^8QQZRP)Ap?OAppg03%#`G1E^W)&g;SqsyB$A z=;1TyW?{}O7mK3=^pvH}araFd1=Lg0F2A6PnZK4T7?_7D*KdVMCE|oCvTSZPL6*a7 z9TOg9#D&%hjQ~0@gc3Hyu(yE#G+Ysxl8V$uG10f$+=PRAz5BDe=5e<+HS2p*ynTEJ z4?N#~KCZm^diC@{A3{+Hd+uIM@fQJAi^PZ8fWr{8zJ>iRY!>1!w#xMz!TsL$OStGm z;OKmOQDjit4;(PZ!lPrRAsPxL08I?xRsoGv?F2w!EZ8VuZW^O>OLfD6R>08B!>2C2 zKi!xj2h@jt4xalLV|nRJm4Wi(;nvuo3Z05?TmD5rX}@~4WH+r@r^E4$%k?Ya`Drs8 z9*(ZWjuTTda?dz}e%wNsSrW;*l^O&zHH4g-R|-%d(ydogK3RIs;n0Ifg&EWojetl< zio(MZEp+Y^>LCGj$Cli_T)(&3R&Zc`uVcsQxMyv_8AL%qlS2SoK5(oApjahiBA}vq ztQF0FTH}E7%iRZf2)^KiuCxvcsMQE|xqg>;WJF1t0%&}LiUJyMr4(m$0-!E~PM4je zYp9E50d*Nv2%4yrY_lomW~~_j3M%y+Pso1^XeW6BMLWGISA6`i%K$o^C)&Sg#fFxz z+;pjzfwmd~boVRXU)(}?%Xg;j5Xbr26HxWgw;I}xTtB89Iv+SQ@U!EToQY!Cn>$6} z6x|A;IZ``3gqpVZLl1TdDL^A*=_mXRjJ^+gCT>gZ5YZD6L{0$IdEj>yJn@+lp${6G zX^g+U1KKx(;@Q~XJvin0kwy2#X~fPfAc=QtgLDplA9f+wCpv>}snE>B9e;cXT#F00 zs3f3TXmEk4(cBn(bBM^-QQLQF&QU;>5I7nsK(&G|QJPR)ha$_C0krC9#IkZ30b3!F zISNy32~|LkO)A$8rq3NU_I)`?&$-~U*^>_00000NkvXX Hu0mjfz?P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D11L#EK~!i%?Up}M z>o5?;eFP3emzra62RAtY=LiKipry#9NDB>3W?2Lth)EjK)!{)u~-n#Cvqk*(`2XtQJEd}~~ zdbzoMzPa6RX+UZFV5X9@q!G$v4|f`i{+NRjicwRENCU^^Qo7uug80Y?BPHI)lkNe2s$O0bQ%6~r;HW#SJa?9uWBd*0bTwLmqRJtRN9p? z^X+>cSG9gnq^P@|N2t1-lZ!ouF1i0TkXbmOjN6?=piDUVxl^Fj+cO`iGU<;=vUhyE z-T^4jYa->a#-DdjU+`Di6wxlOg*llzMye%Hd>Q zW>@x5xI@~lry?j#V0#lrVN!|n_*_OhWxy!T&IzS^-B1s@2rGVD$$u3} zTSAW&ty({*49c*OE+{-}gV+tmDKN8wGV4^&@^uzUHn`snoGp84`8GJBC{KivM&3~IH0&>T=21yn)F!&Q!=P)42pvy?JWj{Yf7qEj+ErO}!IB|{da>Ysp;G}kz& z49cL83MnNQf?WA^hMW`kZ)T%VMs~}Y$?qHTFMun*q8EVD$8K&YW10&}GbpRz(iJhR zT0f`|${a&574)I;2p%6af@YmC=gdPHKo+z{Z3s?>8;;%&F0>Sm3++!OqLAsS=#&~G z&cjrNkX1qnSLff`Y@L#>l0s*&s`N7l5+h_$C_w}Vg)L8zN8bW7VM9=cpU&PAPJV6z zN)WvXHUf0CL0+LTc{;Om|MM%n+A3?jsS?NjB<;@~BqY+9J4A770clna;n p)@K^<|EUIL)8f>iY+9I3r#~T&E}+y~oR Date: Thu, 2 May 2019 01:30:17 +0200 Subject: [PATCH 043/196] Initial commit --- code/game/gamemodes/changeling/changeling.dm | 4 +- .../gamemodes/changeling/changeling_power.dm | 35 ++++++++------- .../gamemodes/changeling/evolution_menu.dm | 32 +++++++------- .../gamemodes/changeling/powers/absorb.dm | 8 ++-- .../changeling/powers/augmented_eyesight.dm | 11 ++--- .../gamemodes/changeling/powers/biodegrade.dm | 12 ++--- .../changeling/powers/chameleon_skin.dm | 7 +-- .../changeling/powers/digitalcamo.dm | 4 +- .../changeling/powers/epinephrine.dm | 4 +- .../gamemodes/changeling/powers/fakedeath.dm | 11 ++--- .../gamemodes/changeling/powers/fleshmend.dm | 12 ++--- .../gamemodes/changeling/powers/headcrab.dm | 6 +-- .../gamemodes/changeling/powers/hivemind.dm | 20 +++++---- .../gamemodes/changeling/powers/humanform.dm | 6 +-- .../gamemodes/changeling/powers/lesserform.dm | 6 +-- .../gamemodes/changeling/powers/linglink.dm | 6 +-- .../changeling/powers/mimic_voice.dm | 4 +- .../gamemodes/changeling/powers/mutations.dm | 24 +++++----- .../gamemodes/changeling/powers/panacea.dm | 4 +- .../gamemodes/changeling/powers/revive.dm | 6 +-- .../gamemodes/changeling/powers/shriek.dm | 8 ++-- .../gamemodes/changeling/powers/spiders.dm | 4 +- .../changeling/powers/strained_muscles.dm | 4 +- .../gamemodes/changeling/powers/swap_form.dm | 6 +-- .../gamemodes/changeling/powers/tiny_prick.dm | 44 +++++++++---------- .../gamemodes/changeling/powers/transform.dm | 4 +- .../living/simple_animal/hostile/headcrab.dm | 2 +- code/modules/mob/mob.dm | 10 ----- 28 files changed, 150 insertions(+), 154 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index d0ac848d905..eed84738d1b 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -240,10 +240,10 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" var/geneticpoints = 10 var/purchasedpowers = list() var/mimicing = "" - var/canrespec = 0 + var/canrespec = FALSE //set to TRUE in absorb.dm var/changeling_speak = 0 var/datum/dna/chosen_dna - var/obj/effect/proc_holder/changeling/sting/chosen_sting + var/datum/action/changeling/sting/chosen_sting var/regenerating = FALSE /datum/changeling/New(gender=FEMALE) diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm index 387e7ce9d61..6eb0730b46a 100644 --- a/code/game/gamemodes/changeling/changeling_power.dm +++ b/code/game/gamemodes/changeling/changeling_power.dm @@ -3,8 +3,7 @@ * TODO: combine atleast some of the functionality with /proc_holder/spell */ -/obj/effect/proc_holder/changeling - panel = "Changeling" +/datum/action/changeling name = "Prototype Sting" desc = "" // Fluff var/helptext = "" // Details @@ -16,20 +15,26 @@ var/genetic_damage = 0 // genetic damage caused by using the sting. Nothing to do with cloneloss. var/max_genetic_damage = 100 // hard counter for spamming abilities. Not used/balanced much yet. var/always_keep = 0 // important for abilities like regenerate that screw you if you lose them. + var/needs_button = TRUE // for passive abilities like hivemind that dont need a button + var/active = FALSE // used by a few powers that toggle -/obj/effect/proc_holder/changeling/proc/on_purchase(var/mob/user) - return +/* +changeling code now relies on on_purchase to grant powers. +if you override it, MAKE SURE you call parent or it will not be usable +the same goes for Remove(). if you override Remove(), call parent or else your power wont be removed on respec +*/ -/obj/effect/proc_holder/changeling/proc/on_refund(mob/user) - return +/datum/action/changeling/proc/on_purchase(var/mob/user) + if(needs_button) + Grant(user) -/obj/effect/proc_holder/changeling/Click() +/datum/action/changeling/Trigger() var/mob/user = usr if(!user || !user.mind || !user.mind.changeling) return try_to_sting(user) -/obj/effect/proc_holder/changeling/proc/try_to_sting(var/mob/user, var/mob/target) +/datum/action/changeling/proc/try_to_sting(var/mob/user, var/mob/target) if(!user.mind || !user.mind.changeling) return if(!can_sting(user, target)) @@ -39,18 +44,18 @@ sting_feedback(user, target) take_chemical_cost(c) -/obj/effect/proc_holder/changeling/proc/sting_action(var/mob/user, var/mob/target) +/datum/action/changeling/proc/sting_action(var/mob/user, var/mob/target) return 0 -/obj/effect/proc_holder/changeling/proc/sting_feedback(var/mob/user, var/mob/target) +/datum/action/changeling/proc/sting_feedback(var/mob/user, var/mob/target) return 0 -/obj/effect/proc_holder/changeling/proc/take_chemical_cost(var/datum/changeling/changeling) +/datum/action/changeling/proc/take_chemical_cost(var/datum/changeling/changeling) changeling.chem_charges -= chemical_cost changeling.geneticdamage += genetic_damage //Fairly important to remember to return 1 on success >.< -/obj/effect/proc_holder/changeling/proc/can_sting(var/mob/user, var/mob/target) +/datum/action/changeling/proc/can_sting(var/mob/user, var/mob/target) if(!ishuman(user)) //typecast everything from mob to carbon from this point onwards return 0 if(req_human && (!ishuman(user) || issmall(user))) @@ -75,7 +80,7 @@ return 1 //used in /mob/Stat() -/obj/effect/proc_holder/changeling/proc/can_be_used_by(var/mob/user) +/datum/action/changeling/proc/can_be_used_by(var/mob/user) if(!ishuman(user)) return 0 if(req_human && !ishuman(user)) @@ -83,10 +88,10 @@ return 1 // Transform the target to the chosen dna. Used in transform.dm and tiny_prick.dm (handy for changes since it's the same thing done twice) -/obj/effect/proc_holder/changeling/proc/transform_dna(var/mob/living/carbon/human/H, var/datum/dna/D) +/datum/action/changeling/proc/transform_dna(var/mob/living/carbon/human/H, var/datum/dna/D) if(!D) return - + H.set_species(D.species.type, retain_damage = TRUE) H.dna = D.Clone() H.real_name = D.real_name diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm index befdf899253..49ba4e29ca7 100644 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ b/code/game/gamemodes/changeling/evolution_menu.dm @@ -1,24 +1,24 @@ var/list/sting_paths // totally stolen from the new player panel. YAYY -/obj/effect/proc_holder/changeling/evolution_menu +/datum/action/changeling/evolution_menu name = "-Evolution Menu-" //Dashes are so it's listed before all the other abilities. desc = "Choose our method of subjugation." dna_cost = 0 -/obj/effect/proc_holder/changeling/evolution_menu/Click() +/datum/action/changeling/evolution_menu/Trigger() if(!usr || !usr.mind || !usr.mind.changeling) return var/datum/changeling/changeling = usr.mind.changeling if(!sting_paths) - sting_paths = init_subtypes(/obj/effect/proc_holder/changeling) + sting_paths = init_subtypes(/datum/action/changeling) var/dat = create_menu(changeling) usr << browse(dat, "window=powers;size=600x700")//900x480 -/obj/effect/proc_holder/changeling/evolution_menu/proc/create_menu(var/datum/changeling/changeling) +/datum/action/changeling/evolution_menu/proc/create_menu(var/datum/changeling/changeling) var/dat dat +="Changeling Evolution Menu" @@ -230,7 +230,7 @@ var/list/sting_paths "} var/i = 1 - for(var/obj/effect/proc_holder/changeling/cling_power in sting_paths) + for(var/datum/action/changeling/cling_power in sting_paths) if(cling_power.dna_cost <= 0) //Let's skip the crap we start with. Keeps the evolution menu uncluttered. continue @@ -283,7 +283,7 @@ var/list/sting_paths return dat -/obj/effect/proc_holder/changeling/evolution_menu/Topic(href, href_list) +/datum/action/changeling/evolution_menu/Topic(href, href_list) ..() if(!(iscarbon(usr) && usr.mind && usr.mind.changeling)) return @@ -298,11 +298,11 @@ var/list/sting_paths /datum/changeling/proc/purchasePower(var/mob/living/carbon/user, var/sting_name) - var/obj/effect/proc_holder/changeling/thepower = null + var/datum/action/changeling/thepower = null if(!sting_paths) - sting_paths = init_subtypes(/obj/effect/proc_holder/changeling) - for(var/obj/effect/proc_holder/changeling/cling_sting in sting_paths) + sting_paths = init_subtypes(/datum/action/changeling) + for(var/datum/action/changeling/cling_sting in sting_paths) if(cling_sting.name == sting_name) thepower = cling_sting @@ -357,7 +357,7 @@ var/list/sting_paths if(!mind.changeling) mind.changeling = new /datum/changeling(gender) if(!sting_paths) - sting_paths = init_subtypes(/obj/effect/proc_holder/changeling) + sting_paths = init_subtypes(/datum/action/changeling) if(mind.changeling.purchasedpowers) remove_changeling_powers(1) @@ -367,8 +367,8 @@ var/list/sting_paths mind.changeling.absorbed_languages |= language // purchase free powers. - for(var/obj/effect/proc_holder/changeling/path in sting_paths) - //var/obj/effect/proc_holder/changeling/S = new path() + for(var/datum/action/changeling/path in sting_paths) + //var/datum/action/changeling/S = new path() if(!path.dna_cost) if(!mind.changeling.has_sting(path)) mind.changeling.purchasedpowers += path @@ -406,18 +406,18 @@ var/list/sting_paths digitalcamo = 0 mind.changeling.changeling_speak = 0 mind.changeling.reset() - for(var/obj/effect/proc_holder/changeling/p in mind.changeling.purchasedpowers) + for(var/datum/action/changeling/p in mind.changeling.purchasedpowers) if((p.dna_cost == 0 && keep_free_powers) || p.always_keep) continue mind.changeling.purchasedpowers -= p - p.on_refund(src) + p.Remove(src) remove_language("Changeling") if(hud_used) hud_used.lingstingdisplay.icon_state = null hud_used.lingstingdisplay.invisibility = 101 -/datum/changeling/proc/has_sting(obj/effect/proc_holder/changeling/power) - for(var/obj/effect/proc_holder/changeling/P in purchasedpowers) +/datum/changeling/proc/has_sting(datum/action/power) + for(var/datum/action/P in purchasedpowers) if(power.name == P.name) return 1 return 0 diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index b60cfee4718..1ebf739af72 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -1,12 +1,12 @@ -/obj/effect/proc_holder/changeling/absorbDNA +/datum/action/changeling/absorbDNA name = "Absorb DNA" - desc = "Absorb the DNA of our victim." + desc = "Absorb the DNA of our victim. Requires us to strangle them." chemical_cost = 0 dna_cost = 0 req_human = 1 max_genetic_damage = 100 -/obj/effect/proc_holder/changeling/absorbDNA/can_sting(var/mob/living/carbon/user) +/datum/action/changeling/absorbDNA/can_sting(mob/living/carbon/user) if(!..()) return @@ -26,7 +26,7 @@ var/mob/living/carbon/target = G.affecting return changeling.can_absorb_dna(user,target) -/obj/effect/proc_holder/changeling/absorbDNA/sting_action(var/mob/user) +/datum/action/changeling/absorbDNA/sting_action(var/mob/user) var/datum/changeling/changeling = user.mind.changeling var/obj/item/grab/G = user.get_active_hand() var/mob/living/carbon/human/target = G.affecting diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index bf16d90d55e..d8118f31291 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -1,14 +1,14 @@ //Augmented Eyesight: Gives you thermal and night vision - bye bye, flashlights. Also, high DNA cost because of how powerful it is. //Possible todo: make a custom message for directing a penlight/flashlight at the eyes - not sure what would display though. -/obj/effect/proc_holder/changeling/augmented_eyesight +/datum/action/changeling/augmented_eyesight name = "Augmented Eyesight" desc = "Creates heat receptors in our eyes and dramatically increases light sensing ability." helptext = "Grants us thermal vision or flash protection. We will become a lot more vulnerable to flash-based devices while thermal vision is active." chemical_cost = 0 dna_cost = 2 //Would be 1 without thermal vision -/obj/effect/proc_holder/changeling/augmented_eyesight/sting_action(mob/living/carbon/human/user) +/datum/action/changeling/augmented_eyesight/sting_action(mob/living/carbon/human/user) if(!istype(user)) return if(user.get_int_organ(/obj/item/organ/internal/cyberimp/eyes/thermals/ling)) @@ -22,15 +22,12 @@ return 1 -/obj/effect/proc_holder/changeling/augmented_eyesight/on_refund(mob/user) +/datum/action/changeling/augmented_eyesight/Remove(mob/user) var/obj/item/organ/internal/cyberimp/eyes/O = user.get_organ_slot("eye_ling") if(O) O.remove(user) qdel(O) - - - - + ..() /obj/item/organ/internal/cyberimp/eyes/shield/ling name = "protective membranes" diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm index 5142734183b..4a5c5e4013c 100644 --- a/code/game/gamemodes/changeling/powers/biodegrade.dm +++ b/code/game/gamemodes/changeling/powers/biodegrade.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/biodegrade +/datum/action/changeling/biodegrade name = "Biodegrade" desc = "Dissolves restraints or other objects preventing free movement." helptext = "This is obvious to nearby people, and can destroy standard restraints and closets." @@ -6,7 +6,7 @@ dna_cost = 2 req_human = 1 -/obj/effect/proc_holder/changeling/biodegrade/sting_action(mob/living/carbon/human/user) +/datum/action/changeling/biodegrade/sting_action(mob/living/carbon/human/user) var/used = FALSE // only one form of shackles removed per use if(!user.restrained() && !istype(user.loc, /obj/structure/closet) && !istype(user.loc, /obj/structure/spider/cocoon)) to_chat(user, "We are already free!") @@ -53,21 +53,21 @@ feedback_add_details("changeling_powers","BD") return TRUE -/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_handcuffs(mob/living/carbon/human/user, obj/O) +/datum/action/changeling/biodegrade/proc/dissolve_handcuffs(mob/living/carbon/human/user, obj/O) if(O && user.handcuffed == O) user.unEquip(O) O.visible_message("[O] dissolves into a puddle of sizzling goop.") O.forceMove(get_turf(user)) qdel(O) -/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_straightjacket(mob/living/carbon/human/user, obj/S) +/datum/action/changeling/biodegrade/proc/dissolve_straightjacket(mob/living/carbon/human/user, obj/S) if(S && user.wear_suit == S) user.unEquip(S) S.visible_message("[S] dissolves into a puddle of sizzling goop.") S.forceMove(get_turf(user)) qdel(S) -/obj/effect/proc_holder/changeling/biodegrade/proc/open_closet(mob/living/carbon/human/user, obj/structure/closet/C) +/datum/action/changeling/biodegrade/proc/open_closet(mob/living/carbon/human/user, obj/structure/closet/C) if(C && user.loc == C) C.visible_message("[C]'s door breaks and opens!") C.welded = FALSE @@ -76,7 +76,7 @@ C.open() to_chat(user, "We open the container restraining us!") -/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C) +/datum/action/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C) if(C && user.loc == C) qdel(C) //The cocoon's destroy will move the changeling outside of it without interference to_chat(user, "We dissolve the cocoon!") diff --git a/code/game/gamemodes/changeling/powers/chameleon_skin.dm b/code/game/gamemodes/changeling/powers/chameleon_skin.dm index 07340cf3e84..5bc4f9cff95 100644 --- a/code/game/gamemodes/changeling/powers/chameleon_skin.dm +++ b/code/game/gamemodes/changeling/powers/chameleon_skin.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/chameleon_skin +/datum/action/changeling/chameleon_skin name = "Chameleon Skin" desc = "Our skin pigmentation rapidly changes to suit our current environment." helptext = "Allows us to become invisible after a few seconds of standing still. Can be toggled on and off." @@ -6,7 +6,7 @@ chemical_cost = 25 req_human = 1 -/obj/effect/proc_holder/changeling/chameleon_skin/sting_action(mob/user) +/datum/action/changeling/chameleon_skin/sting_action(mob/user) var/mob/living/carbon/human/H = user //SHOULD always be human, because req_human = 1 if(!istype(H)) // req_human could be done in can_sting stuff. return @@ -20,8 +20,9 @@ feedback_add_details("changeling_powers","CS") return TRUE -/obj/effect/proc_holder/changeling/chameleon_skin/on_refund(mob/user) +/datum/action/changeling/chameleon_skin/Remove(mob/user) var/mob/living/carbon/C = user if(C.dna.GetSEState(CHAMELEONBLOCK)) C.dna.SetSEState(CHAMELEONBLOCK, 0) genemutcheck(C, CHAMELEONBLOCK, null, MUTCHK_FORCED) + ..() diff --git a/code/game/gamemodes/changeling/powers/digitalcamo.dm b/code/game/gamemodes/changeling/powers/digitalcamo.dm index bc5879f67be..2f3839ff29d 100644 --- a/code/game/gamemodes/changeling/powers/digitalcamo.dm +++ b/code/game/gamemodes/changeling/powers/digitalcamo.dm @@ -1,11 +1,11 @@ -/obj/effect/proc_holder/changeling/digitalcamo +/datum/action/changeling/digitalcamo name = "Digital Camouflage" desc = "By evolving the ability to distort our form and proprotions, we defeat common altgorithms used to detect lifeforms on cameras." helptext = "We cannot be tracked by camera while using this skill. However, humans looking at us will find us... uncanny." dna_cost = 1 //Prevents AIs tracking you but makes you easily detectable to the human-eye. -/obj/effect/proc_holder/changeling/digitalcamo/sting_action(var/mob/user) +/datum/action/changeling/digitalcamo/sting_action(var/mob/user) if(user.digitalcamo) to_chat(user, "We return to normal.") diff --git a/code/game/gamemodes/changeling/powers/epinephrine.dm b/code/game/gamemodes/changeling/powers/epinephrine.dm index 4e783f111cc..d6f8e1a11eb 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/epinephrine +/datum/action/changeling/epinephrine name = "Epinephrine Overdose" desc = "We evolve additional sacs of adrenaline throughout our body." helptext = "Removes all stuns instantly and adds a short-term reduction in further stuns. Can be used while unconscious. Continued use poisons the body." @@ -8,7 +8,7 @@ req_stat = UNCONSCIOUS //Recover from stuns. -/obj/effect/proc_holder/changeling/epinephrine/sting_action(var/mob/living/user) +/datum/action/changeling/epinephrine/sting_action(var/mob/living/user) if(user.lying) to_chat(user, "We arise.") diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm index 19cbbbdc3bd..7ab62f16361 100644 --- a/code/game/gamemodes/changeling/powers/fakedeath.dm +++ b/code/game/gamemodes/changeling/powers/fakedeath.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/fakedeath +/datum/action/changeling/fakedeath name = "Regenerative Stasis" desc = "We fall into a stasis, allowing us to regenerate." chemical_cost = 15 @@ -8,7 +8,7 @@ max_genetic_damage = 100 //Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay. -/obj/effect/proc_holder/changeling/fakedeath/sting_action(var/mob/living/user) +/datum/action/changeling/fakedeath/sting_action(var/mob/living/user) to_chat(user, "We begin our stasis, preparing energy to arise once more.") if(user.stat != DEAD) @@ -26,12 +26,13 @@ feedback_add_details("changeling_powers","FD") return 1 -/obj/effect/proc_holder/changeling/fakedeath/proc/ready_to_regenerate(mob/user) +/datum/action/changeling/fakedeath/proc/ready_to_regenerate(mob/user) if(user && user.mind && user.mind.changeling && user.mind.changeling.purchasedpowers) to_chat(user, "We are ready to regenerate.") - user.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/revive(null) + var/datum/action/changeling/revive/R = new + R.Grant(user) -/obj/effect/proc_holder/changeling/fakedeath/can_sting(var/mob/user) +/datum/action/changeling/fakedeath/can_sting(var/mob/user) if(user.status_flags & FAKEDEATH) to_chat(user, "We are already regenerating.") return diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm index f6f7c16fd21..3d0b16bedc6 100644 --- a/code/game/gamemodes/changeling/powers/fleshmend.dm +++ b/code/game/gamemodes/changeling/powers/fleshmend.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/fleshmend +/datum/action/changeling/fleshmend name = "Fleshmend" desc = "Our flesh rapidly regenerates, healing our wounds." helptext = "Heals a moderate amount of damage over a short period of time. Can be used while unconscious." @@ -11,20 +11,20 @@ // divided by healing_ticks to get heal/tick var/total_healing = 100 -/obj/effect/proc_holder/changeling/fleshmend/New() +/datum/action/changeling/fleshmend/New() ..() START_PROCESSING(SSobj, src) -/obj/effect/proc_holder/changeling/fleshmend/Destroy() +/datum/action/changeling/fleshmend/Destroy() STOP_PROCESSING(SSobj, src) return ..() -/obj/effect/proc_holder/changeling/fleshmend/process() +/datum/action/changeling/fleshmend/process() if(recent_uses > 1) recent_uses = max(1, recent_uses - (1 / healing_ticks)) //Starts healing you every second for 10 seconds. Can be used whilst unconscious. -/obj/effect/proc_holder/changeling/fleshmend/sting_action(var/mob/living/user) +/datum/action/changeling/fleshmend/sting_action(var/mob/living/user) to_chat(user, "We begin to heal rapidly.") if(recent_uses > 1) to_chat(user, "Our healing's effectiveness is reduced \ @@ -35,7 +35,7 @@ feedback_add_details("changeling_powers","RR") return TRUE -/obj/effect/proc_holder/changeling/fleshmend/proc/fleshmend(mob/living/user) +/datum/action/changeling/fleshmend/proc/fleshmend(mob/living/user) // The healing itself - doesn't heal toxin damage // (that's anatomic panacea) and the effectiveness decreases with diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index a950ec7a9c9..3825ad76ff4 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/headcrab +/datum/action/changeling/headcrab name = "Last Resort" desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." @@ -6,12 +6,12 @@ dna_cost = 1 req_human = 1 -/obj/effect/proc_holder/changeling/headcrab/try_to_sting(mob/user, mob/target) +/datum/action/changeling/headcrab/try_to_sting(mob/user, mob/target) if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No") return ..() -/obj/effect/proc_holder/changeling/headcrab/sting_action(mob/user) +/datum/action/changeling/headcrab/sting_action(mob/user) var/datum/mind/M = user.mind var/list/organs = user.get_organs_zone("head", 1) diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index 0976f0da36d..3ddf4ef1e08 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -1,34 +1,36 @@ //HIVEMIND COMMUNICATION (:g) -/obj/effect/proc_holder/changeling/hivemind_comms +/datum/action/changeling/hivemind_comms name = "Hivemind Communication" desc = "We tune our senses to the airwaves to allow us to discreetly communicate and exchange DNA with other changelings." helptext = "We will be able to talk with other changelings with :g. Exchanged DNA do not count towards absorb objectives." dna_cost = 0 chemical_cost = -1 + needs_button = FALSE -/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(var/mob/user) +/datum/action/changeling/hivemind_comms/on_purchase(var/mob/user) ..() var/datum/changeling/changeling=user.mind.changeling changeling.changeling_speak = 1 to_chat(user, "Use say \":g message\" to communicate with the other changelings.") - var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new + var/datum/action/changeling/hivemind_upload/S1 = new if(!changeling.has_sting(S1)) changeling.purchasedpowers+=S1 - var/obj/effect/proc_holder/changeling/hivemind_download/S2 = new + var/datum/action/changeling/hivemind_download/S2 = new if(!changeling.has_sting(S2)) + S2.Grant(user) changeling.purchasedpowers+=S2 return // HIVE MIND UPLOAD/DOWNLOAD DNA var/list/datum/dna/hivemind_bank = list() -/obj/effect/proc_holder/changeling/hivemind_upload +/datum/action/changeling/hivemind_upload name = "Hive Channel DNA" desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it." chemical_cost = 10 dna_cost = -1 -/obj/effect/proc_holder/changeling/hivemind_upload/sting_action(var/mob/user) +/datum/action/changeling/hivemind_upload/sting_action(var/mob/user) var/datum/changeling/changeling = user.mind.changeling var/list/names = list() for(var/datum/dna/DNA in (changeling.absorbed_dna+changeling.protected_dna)) @@ -52,13 +54,13 @@ var/list/datum/dna/hivemind_bank = list() feedback_add_details("changeling_powers","HU") return 1 -/obj/effect/proc_holder/changeling/hivemind_download +/datum/action/changeling/hivemind_download name = "Hive Absorb DNA" desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives." chemical_cost = 10 dna_cost = -1 -/obj/effect/proc_holder/changeling/hivemind_download/can_sting(var/mob/living/carbon/user) +/datum/action/changeling/hivemind_download/can_sting(var/mob/living/carbon/user) if(!..()) return var/datum/changeling/changeling = user.mind.changeling @@ -67,7 +69,7 @@ var/list/datum/dna/hivemind_bank = list() return return 1 -/obj/effect/proc_holder/changeling/hivemind_download/sting_action(var/mob/user) +/datum/action/changeling/hivemind_download/sting_action(var/mob/user) var/datum/changeling/changeling = user.mind.changeling var/list/names = list() for(var/datum/dna/DNA in hivemind_bank) diff --git a/code/game/gamemodes/changeling/powers/humanform.dm b/code/game/gamemodes/changeling/powers/humanform.dm index 72b0e821e66..64900697db9 100644 --- a/code/game/gamemodes/changeling/powers/humanform.dm +++ b/code/game/gamemodes/changeling/powers/humanform.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/humanform +/datum/action/changeling/humanform name = "Human form" desc = "We change into a human." chemical_cost = 5 @@ -8,7 +8,7 @@ //Transform into a human. -/obj/effect/proc_holder/changeling/humanform/sting_action(var/mob/living/carbon/human/user) +/datum/action/changeling/humanform/sting_action(var/mob/living/carbon/human/user) var/datum/changeling/changeling = user.mind.changeling var/list/names = list() for(var/datum/dna/DNA in (changeling.absorbed_dna+changeling.protected_dna)) @@ -38,7 +38,7 @@ user.UpdateAppearance() changeling.purchasedpowers -= src - //O.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/lesserform(null) + //O.mind.changeling.purchasedpowers += new /datum/action/changeling/lesserform(null) feedback_add_details("changeling_powers","LFT") return 1 diff --git a/code/game/gamemodes/changeling/powers/lesserform.dm b/code/game/gamemodes/changeling/powers/lesserform.dm index 2197163cbd5..2aa4912f9c6 100644 --- a/code/game/gamemodes/changeling/powers/lesserform.dm +++ b/code/game/gamemodes/changeling/powers/lesserform.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/lesserform +/datum/action/changeling/lesserform name = "Lesser form" desc = "We debase ourselves and become lesser. We become a monkey." chemical_cost = 5 @@ -7,7 +7,7 @@ req_human = 1 //Transform into a monkey. -/obj/effect/proc_holder/changeling/lesserform/sting_action(var/mob/living/carbon/human/user) +/datum/action/changeling/lesserform/sting_action(var/mob/living/carbon/human/user) var/datum/changeling/changeling = user.mind.changeling if(!user) return 0 @@ -25,6 +25,6 @@ changeling.geneticdamage = 30 to_chat(H, "Our genes cry out!") H.monkeyize() - changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) + changeling.purchasedpowers += new /datum/action/changeling/humanform(null) feedback_add_details("changeling_powers","LF") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm index b9f984b57c0..2b8024a91b7 100644 --- a/code/game/gamemodes/changeling/powers/linglink.dm +++ b/code/game/gamemodes/changeling/powers/linglink.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/linglink +/datum/action/changeling/linglink name = "Hivemind Link" desc = "Link your victim's mind into the hivemind for personal interrogation" chemical_cost = 0 @@ -6,7 +6,7 @@ req_human = 1 max_genetic_damage = 100 -/obj/effect/proc_holder/changeling/linglink/can_sting(mob/living/carbon/user) +/datum/action/changeling/linglink/can_sting(mob/living/carbon/user) if(!..()) return var/datum/changeling/changeling = user.mind.changeling @@ -34,7 +34,7 @@ return return changeling.can_absorb_dna(user,target) -/obj/effect/proc_holder/changeling/linglink/sting_action(mob/user) +/datum/action/changeling/linglink/sting_action(mob/user) var/datum/changeling/changeling = user.mind.changeling var/obj/item/grab/G = user.get_active_hand() var/mob/living/carbon/target = G.affecting diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm index 21693a84c3a..2b2512f83e3 100644 --- a/code/game/gamemodes/changeling/powers/mimic_voice.dm +++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/mimicvoice +/datum/action/changeling/mimicvoice name = "Mimic Voice" desc = "We shape our vocal glands to sound like a desired voice." helptext = "Will turn your voice into the name that you enter. We must constantly expend chemicals to maintain our form like this." @@ -8,7 +8,7 @@ // Fake Voice -/obj/effect/proc_holder/changeling/mimicvoice/sting_action(var/mob/user) +/datum/action/changeling/mimicvoice/sting_action(var/mob/user) var/datum/changeling/changeling=user.mind.changeling if(changeling.mimicing) changeling.mimicing = "" diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 4b5560fe333..5baa7b62051 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -9,7 +9,7 @@ //Parent to shields and blades because muh copypasted code. -/obj/effect/proc_holder/changeling/weapon +/datum/action/changeling/weapon name = "Organic Weapon" desc = "Go tell a coder if you see this" helptext = "Yell at coderbus" @@ -21,7 +21,7 @@ var/weapon_type var/weapon_name_simple -/obj/effect/proc_holder/changeling/weapon/try_to_sting(var/mob/user, var/mob/target) +/datum/action/changeling/weapon/try_to_sting(var/mob/user, var/mob/target) if(istype(user.l_hand, weapon_type)) //Not the nicest way to do it, but eh qdel(user.l_hand) if(!silent) @@ -36,7 +36,7 @@ return ..(user, target) -/obj/effect/proc_holder/changeling/weapon/sting_action(var/mob/user) +/datum/action/changeling/weapon/sting_action(var/mob/user) if(!user.drop_item()) to_chat(user, "The [user.get_active_hand()] is stuck to your hand, you cannot grow a [weapon_name_simple] over it!") return @@ -45,7 +45,7 @@ return W //Parent to space suits and armor. -/obj/effect/proc_holder/changeling/suit +/datum/action/changeling/suit name = "Organic Suit" desc = "Go tell a coder if you see this" helptext = "Yell at coderbus" @@ -60,7 +60,7 @@ var/recharge_slowdown = 0 var/blood_on_castoff = 0 -/obj/effect/proc_holder/changeling/suit/try_to_sting(var/mob/user, var/mob/target) +/datum/action/changeling/suit/try_to_sting(var/mob/user, var/mob/target) var/datum/changeling/changeling = user.mind.changeling if(!ishuman(user) || !changeling) return @@ -84,7 +84,7 @@ return ..(H, target) -/obj/effect/proc_holder/changeling/suit/sting_action(var/mob/living/carbon/human/user) +/datum/action/changeling/suit/sting_action(var/mob/living/carbon/human/user) if(!user.unEquip(user.wear_suit)) to_chat(user, "\the [user.wear_suit] is stuck to your body, you cannot grow a [suit_name_simple] over it!") return @@ -107,7 +107,7 @@ /***************************************\ |***************ARM BLADE***************| \***************************************/ -/obj/effect/proc_holder/changeling/weapon/arm_blade +/datum/action/changeling/weapon/arm_blade name = "Arm Blade" desc = "We reform one of our arms into a deadly blade." helptext = "Cannot be used while in lesser form." @@ -177,7 +177,7 @@ |***********COMBAT TENTACLES*************| \***************************************/ -/obj/effect/proc_holder/changeling/weapon/tentacle +/datum/action/changeling/weapon/tentacle name = "Tentacle" desc = "We ready a tentacle to grab items or victims with." helptext = "We can use it once to retrieve a distant item. If used on living creatures, the effect depends on the intent: \ @@ -350,7 +350,7 @@ /***************************************\ |****************SHIELD*****************| \***************************************/ -/obj/effect/proc_holder/changeling/weapon/shield +/datum/action/changeling/weapon/shield name = "Organic Shield" desc = "We reform one of our arms into a hard shield." helptext = "Organic tissue cannot resist damage forever, the shield will break after it is hit too much. The more genomes we absorb, the stronger it is. Cannot be used while in lesser form." @@ -363,7 +363,7 @@ weapon_type = /obj/item/shield/changeling weapon_name_simple = "shield" -/obj/effect/proc_holder/changeling/weapon/shield/sting_action(var/mob/user) +/datum/action/changeling/weapon/shield/sting_action(var/mob/user) var/datum/changeling/changeling = user.mind.changeling //So we can read the absorbedcount. if(!changeling) return @@ -404,7 +404,7 @@ /***************************************\ |*********SPACE SUIT + HELMET***********| \***************************************/ -/obj/effect/proc_holder/changeling/suit/organic_space_suit +/datum/action/changeling/suit/organic_space_suit name = "Organic Space Suit" desc = "We grow an organic suit to protect ourselves from space exposure." helptext = "We must constantly repair our form to make it space-proof, reducing chemical production while we are protected. Retreating the suit damages our genomes. Cannot be used in lesser form." @@ -451,7 +451,7 @@ /***************************************\ |*****************ARMOR*****************| \***************************************/ -/obj/effect/proc_holder/changeling/suit/armor +/datum/action/changeling/suit/armor name = "Chitinous Armor" desc = "We turn our skin into tough chitin to protect us from damage." helptext = "Upkeep of the armor requires a low expenditure of chemicals. The armor is strong against brute force, but does not provide much protection from lasers. Retreating the armor damages our genomes. Cannot be used in lesser form." diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm index 8f4fe0ac394..d00c56d0740 100644 --- a/code/game/gamemodes/changeling/powers/panacea.dm +++ b/code/game/gamemodes/changeling/powers/panacea.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/panacea +/datum/action/changeling/panacea name = "Anatomic Panacea" desc = "Expels impurifications from our form; curing diseases, removing parasites, sobering us, purging toxins and radiation, and resetting our genetic code completely." helptext = "Can be used while unconscious." @@ -7,7 +7,7 @@ req_stat = UNCONSCIOUS //Heals the things that the other regenerative abilities don't. -/obj/effect/proc_holder/changeling/panacea/sting_action(var/mob/user) +/datum/action/changeling/panacea/sting_action(var/mob/user) to_chat(user, "We cleanse impurities from our form.") diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 1fef93d0f13..e3c6c76ed7b 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -1,11 +1,11 @@ -/obj/effect/proc_holder/changeling/revive +/datum/action/changeling/revive name = "Regenerate" desc = "We regenerate, healing all damage from our form." req_stat = DEAD always_keep = 1 //Revive from regenerative stasis -/obj/effect/proc_holder/changeling/revive/sting_action(var/mob/living/carbon/user) +/datum/action/changeling/revive/sting_action(var/mob/living/carbon/user) user.setToxLoss(0, FALSE) user.setOxyLoss(0, FALSE) user.setCloneLoss(0, FALSE) @@ -62,7 +62,7 @@ user.regenerate_icons() user.update_revive() //Handle waking up the changeling after the regenerative stasis has completed. - user.mind.changeling.purchasedpowers -= src + src.Remove(user) user.med_hud_set_status() user.med_hud_set_health() feedback_add_details("changeling_powers","CR") diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 1c60013fbb8..85c1d89289c 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/resonant_shriek +/datum/action/changeling/resonant_shriek name = "Resonant Shriek" desc = "Our lungs and vocal chords shift, allowing us to briefly emit a noise that deafens and confuses the weak-minded." helptext = "Emits a high-frequency sound that confuses and deafens humans, blows out nearby lights and overloads cyborg sensors." @@ -7,7 +7,7 @@ req_human = 1 //A flashy ability, good for crowd control and sewing chaos. -/obj/effect/proc_holder/changeling/resonant_shriek/sting_action(var/mob/user) +/datum/action/changeling/resonant_shriek/sting_action(var/mob/user) for(var/mob/living/M in get_mobs_in_view(4, user)) if(iscarbon(M)) if(!M.mind || !M.mind.changeling) @@ -28,14 +28,14 @@ feedback_add_details("changeling_powers","RS") return 1 -/obj/effect/proc_holder/changeling/dissonant_shriek +/datum/action/changeling/dissonant_shriek name = "Dissonant Shriek" desc = "We shift our vocal cords to release a high-frequency sound that overloads nearby electronics." chemical_cost = 30 dna_cost = 1 //A flashy ability, good for crowd control and sewing chaos. -/obj/effect/proc_holder/changeling/dissonant_shriek/sting_action(var/mob/user) +/datum/action/changeling/dissonant_shriek/sting_action(var/mob/user) for(var/obj/machinery/light/L in range(5, usr)) L.on = 1 L.broken() diff --git a/code/game/gamemodes/changeling/powers/spiders.dm b/code/game/gamemodes/changeling/powers/spiders.dm index 348924c7d7b..133f4b8b30b 100644 --- a/code/game/gamemodes/changeling/powers/spiders.dm +++ b/code/game/gamemodes/changeling/powers/spiders.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/spiders +/datum/action/changeling/spiders name = "Spread Infestation" desc = "Our form divides, creating arachnids which will grow into deadly beasts." helptext = "The spiders are thoughtless creatures, and may attack their creators when fully grown. Requires at least 5 DNA absorptions." @@ -7,7 +7,7 @@ req_dna = 5 //Makes some spiderlings. Good for setting traps and causing general trouble. -/obj/effect/proc_holder/changeling/spiders/sting_action(var/mob/user) +/datum/action/changeling/spiders/sting_action(var/mob/user) for(var/i=0, i<2, i++) var/obj/structure/spider/spiderling/S = new(user.loc) S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/hunter diff --git a/code/game/gamemodes/changeling/powers/strained_muscles.dm b/code/game/gamemodes/changeling/powers/strained_muscles.dm index 28884c2653a..d0ca6599722 100644 --- a/code/game/gamemodes/changeling/powers/strained_muscles.dm +++ b/code/game/gamemodes/changeling/powers/strained_muscles.dm @@ -1,7 +1,7 @@ //Strained Muscles: Temporary speed boost at the cost of rapid damage //Limited because of hardsuits and such; ideally, used for a quick getaway -/obj/effect/proc_holder/changeling/strained_muscles +/datum/action/changeling/strained_muscles name = "Strained Muscles" desc = "We evolve the ability to reduce the acid buildup in our muscles, allowing us to move much faster." helptext = "The strain will make us tired, and we will rapidly become fatigued. Standard weight restrictions, like hardsuits, still apply. Cannot be used in lesser form." @@ -11,7 +11,7 @@ var/stacks = 0 //Increments every 5 seconds; damage increases over time var/enabled = 0 //Whether or not you are a hedgehog -/obj/effect/proc_holder/changeling/strained_muscles/sting_action(var/mob/living/carbon/user) +/datum/action/changeling/strained_muscles/sting_action(var/mob/living/carbon/user) enabled = !enabled if(enabled) to_chat(user, "Our muscles tense and strengthen.") diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index 7f0164535c2..3daf98d4a5e 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/swap_form +/datum/action/changeling/swap_form name = "Swap Forms" desc = "We force ourselves into the body of another form, pushing their consciousness into the form we left behind." helptext = "We will bring all our abilities with us, but we will lose our old form DNA in exchange for the new one. The process will seem suspicious to any observers." @@ -6,7 +6,7 @@ dna_cost = 1 req_human = 1 //Monkeys can't grab -/obj/effect/proc_holder/changeling/swap_form/can_sting(var/mob/living/carbon/user) +/datum/action/changeling/swap_form/can_sting(var/mob/living/carbon/user) if(!..()) return var/obj/item/grab/G = user.get_active_hand() @@ -23,7 +23,7 @@ return 1 -/obj/effect/proc_holder/changeling/swap_form/sting_action(var/mob/living/carbon/user) +/datum/action/changeling/swap_form/sting_action(var/mob/living/carbon/user) var/obj/item/grab/G = user.get_active_hand() var/mob/living/carbon/human/target = G.affecting var/datum/changeling/changeling = user.mind.changeling diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm index 58afbb73dfe..98b09a09653 100644 --- a/code/game/gamemodes/changeling/powers/tiny_prick.dm +++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm @@ -1,10 +1,10 @@ -/obj/effect/proc_holder/changeling/sting +/datum/action/changeling/sting name = "Tiny Prick" desc = "Stabby stabby" var/sting_icon = null -/obj/effect/proc_holder/changeling/sting/Click() - var/mob/user = usr +/datum/action/changeling/sting/Trigger() + var/mob/user = owner if(!user || !user.mind || !user.mind.changeling) return if(!(user.mind.changeling.chosen_sting)) @@ -13,13 +13,13 @@ unset_sting(user) return -/obj/effect/proc_holder/changeling/sting/proc/set_sting(var/mob/user) +/datum/action/changeling/sting/proc/set_sting(var/mob/user) to_chat(user, "We prepare our sting, use alt+click or middle mouse button on target to sting them.") user.mind.changeling.chosen_sting = src user.hud_used.lingstingdisplay.icon_state = sting_icon user.hud_used.lingstingdisplay.invisibility = 0 -/obj/effect/proc_holder/changeling/sting/proc/unset_sting(var/mob/user) +/datum/action/changeling/sting/proc/unset_sting(var/mob/user) to_chat(user, "We retract our sting, we can't sting anyone for now.") user.mind.changeling.chosen_sting = null user.hud_used.lingstingdisplay.icon_state = null @@ -29,7 +29,7 @@ if(mind && mind.changeling && mind.changeling.chosen_sting) mind.changeling.chosen_sting.unset_sting(src) -/obj/effect/proc_holder/changeling/sting/can_sting(var/mob/user, var/mob/target) +/datum/action/changeling/sting/can_sting(var/mob/user, var/mob/target) if(!..()) return if(!user.mind.changeling.chosen_sting) @@ -51,7 +51,7 @@ return return 1 -/obj/effect/proc_holder/changeling/sting/sting_feedback(var/mob/user, var/mob/target) +/datum/action/changeling/sting/sting_feedback(var/mob/user, var/mob/target) if(!target) return to_chat(user, "We stealthily sting [target.name].") @@ -61,7 +61,7 @@ return 1 -/obj/effect/proc_holder/changeling/sting/transformation +/datum/action/changeling/sting/transformation name = "Transformation Sting" desc = "We silently sting a human, injecting a retrovirus that forces them to transform." helptext = "The victim will transform much like a changeling would. The effects will be obvious to the victim, and the process will damage our genomes." @@ -71,7 +71,7 @@ genetic_damage = 100 var/datum/dna/selected_dna = null -/obj/effect/proc_holder/changeling/sting/transformation/Click() +/datum/action/changeling/sting/transformation/Trigger() var/mob/user = usr var/datum/changeling/changeling = user.mind.changeling if(changeling.chosen_sting) @@ -85,7 +85,7 @@ return ..() -/obj/effect/proc_holder/changeling/sting/transformation/can_sting(var/mob/user, var/mob/target) +/datum/action/changeling/sting/transformation/can_sting(var/mob/user, var/mob/target) if(!..()) return if((HUSK in target.mutations) || (!ishuman(target))) @@ -98,7 +98,7 @@ return FALSE return TRUE -/obj/effect/proc_holder/changeling/sting/transformation/sting_action(var/mob/user, var/mob/target) +/datum/action/changeling/sting/transformation/sting_action(var/mob/user, var/mob/target) add_attack_logs(user, target, "Transformation sting (changeling) (new identity is [selected_dna.real_name])") if(issmall(target)) to_chat(user, "Our genes cry out as we sting [target.name]!") @@ -114,7 +114,7 @@ feedback_add_details("changeling_powers","TS") return TRUE -obj/effect/proc_holder/changeling/sting/extract_dna +datum/action/changeling/sting/extract_dna name = "Extract DNA Sting" desc = "We stealthily sting a target and extract their DNA." helptext = "Will give you the DNA of your target, allowing you to transform into them." @@ -122,18 +122,18 @@ obj/effect/proc_holder/changeling/sting/extract_dna chemical_cost = 25 dna_cost = 0 -/obj/effect/proc_holder/changeling/sting/extract_dna/can_sting(var/mob/user, var/mob/target) +/datum/action/changeling/sting/extract_dna/can_sting(var/mob/user, var/mob/target) if(..()) return user.mind.changeling.can_absorb_dna(user, target) -/obj/effect/proc_holder/changeling/sting/extract_dna/sting_action(var/mob/user, var/mob/living/carbon/human/target) +/datum/action/changeling/sting/extract_dna/sting_action(var/mob/user, var/mob/living/carbon/human/target) add_attack_logs(user, target, "Extraction sting (changeling)") if(!(user.mind.changeling.has_dna(target.dna))) user.mind.changeling.absorb_dna(target, user) feedback_add_details("changeling_powers","ED") return 1 -obj/effect/proc_holder/changeling/sting/mute +datum/action/changeling/sting/mute name = "Mute Sting" desc = "We silently sting a human, completely silencing them for a short time." helptext = "Does not provide a warning to the victim that they have been stung, until they try to speak and cannot." @@ -141,13 +141,13 @@ obj/effect/proc_holder/changeling/sting/mute chemical_cost = 20 dna_cost = 2 -/obj/effect/proc_holder/changeling/sting/mute/sting_action(var/mob/user, var/mob/living/carbon/target) +/datum/action/changeling/sting/mute/sting_action(var/mob/user, var/mob/living/carbon/target) add_attack_logs(user, target, "Mute sting (changeling)") target.AdjustSilence(30) feedback_add_details("changeling_powers","MS") return 1 -obj/effect/proc_holder/changeling/sting/blind +datum/action/changeling/sting/blind name = "Blind Sting" desc = "Temporarily blinds the target." helptext = "This sting completely blinds a target for a short time." @@ -155,7 +155,7 @@ obj/effect/proc_holder/changeling/sting/blind chemical_cost = 25 dna_cost = 1 -/obj/effect/proc_holder/changeling/sting/blind/sting_action(var/mob/living/user, var/mob/living/target) +/datum/action/changeling/sting/blind/sting_action(var/mob/living/user, var/mob/living/target) add_attack_logs(user, target, "Blind sting (changeling)") to_chat(target, "Your eyes burn horrifically!") target.BecomeNearsighted() @@ -164,7 +164,7 @@ obj/effect/proc_holder/changeling/sting/blind feedback_add_details("changeling_powers","BS") return 1 -obj/effect/proc_holder/changeling/sting/LSD +datum/action/changeling/sting/LSD name = "Hallucination Sting" desc = "Causes terror in the target." helptext = "We evolve the ability to sting a target with a powerful hallucinogenic chemical. The target does not notice they have been stung, and the effect occurs after 30 to 60 seconds." @@ -172,7 +172,7 @@ obj/effect/proc_holder/changeling/sting/LSD chemical_cost = 10 dna_cost = 1 -/obj/effect/proc_holder/changeling/sting/LSD/sting_action(var/mob/user, var/mob/living/carbon/target) +/datum/action/changeling/sting/LSD/sting_action(var/mob/user, var/mob/living/carbon/target) add_attack_logs(user, target, "LSD sting (changeling)") spawn(rand(300,600)) if(target) @@ -180,7 +180,7 @@ obj/effect/proc_holder/changeling/sting/LSD feedback_add_details("changeling_powers","HS") return 1 -obj/effect/proc_holder/changeling/sting/cryo //Enable when mob cooling is fixed so that frostoil actually makes you cold, instead of mostly just hungry. +datum/action/changeling/sting/cryo //Enable when mob cooling is fixed so that frostoil actually makes you cold, instead of mostly just hungry. name = "Cryogenic Sting" desc = "We silently sting a human with a cocktail of chemicals that freeze them." helptext = "Does not provide a warning to the victim, though they will likely realize they are suddenly freezing." @@ -188,7 +188,7 @@ obj/effect/proc_holder/changeling/sting/cryo //Enable when mob cooling is fixed chemical_cost = 15 dna_cost = 2 -/obj/effect/proc_holder/changeling/sting/cryo/sting_action(var/mob/user, var/mob/target) +/datum/action/changeling/sting/cryo/sting_action(var/mob/user, var/mob/target) add_attack_logs(user, target, "Cryo sting (changeling)") if(target.reagents) target.reagents.add_reagent("frostoil", 30) diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm index eb50ae0b750..cee784ad718 100644 --- a/code/game/gamemodes/changeling/powers/transform.dm +++ b/code/game/gamemodes/changeling/powers/transform.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/changeling/transform +/datum/action/changeling/transform name = "Transform" desc = "We take on the appearance and voice of one we have absorbed." chemical_cost = 5 @@ -8,7 +8,7 @@ max_genetic_damage = 3 //Change our DNA to that of somebody we've absorbed. -/obj/effect/proc_holder/changeling/transform/sting_action(var/mob/living/carbon/human/user) +/datum/action/changeling/transform/sting_action(var/mob/living/carbon/human/user) var/datum/changeling/changeling = user.mind.changeling var/datum/dna/chosen_dna = changeling.select_dna("Select the target DNA: ", "Target DNA") diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 48c7a24f855..bbe1adedc2f 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -91,7 +91,7 @@ if(origin.changeling.can_absorb_dna(M, owner)) origin.changeling.absorb_dna(owner, M) - origin.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) + origin.changeling.purchasedpowers += new /datum/action/changeling/humanform(null) M.key = origin.key owner.gib() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 482bf85491d..f3f32313395 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -956,9 +956,6 @@ var/list/slot_equipment_priority = list( \ statpanel("Status") // We only want alt-clicked turfs to come before Status - if(mind && mind.changeling) - add_stings_to_statpanel(mind.changeling.purchasedpowers) - if(mob_spell_list && mob_spell_list.len) for(var/obj/effect/proc_holder/spell/S in mob_spell_list) add_spell_to_statpanel(S) @@ -1024,12 +1021,6 @@ var/list/slot_equipment_priority = list( \ statpanel_things += A statpanel(listed_turf.name, null, statpanel_things) - -/mob/proc/add_stings_to_statpanel(var/list/stings) - for(var/obj/effect/proc_holder/changeling/S in stings) - if(S.chemical_cost >=0 && S.can_be_used_by(src)) - statpanel("[S.panel]",((S.chemical_cost > 0) ? "[S.chemical_cost]" : ""),S) - /mob/proc/add_spell_to_statpanel(var/obj/effect/proc_holder/spell/S) switch(S.charge_type) if("recharge") @@ -1039,7 +1030,6 @@ var/list/slot_equipment_priority = list( \ if("holdervar") statpanel(S.panel,"[S.holder_var_type] [S.holder_var_amount]",S) - // facing verbs /mob/proc/canface() if(!canmove) return 0 From b27f084eb884fa20ed857029a283a1d184ddaf69 Mon Sep 17 00:00:00 2001 From: Eman Date: Thu, 2 May 2019 15:35:40 +0200 Subject: [PATCH 044/196] Admin created cultists can now properly summon their Gods Upon being made a cultist through admin means, the "summon spots" will now be generated, even if the game mode isn't cult. This allows admin created cultists to actually reach their goal of summoning their god, if it is what the admins told them to do. --- code/datums/mind.dm | 6 ++++++ code/modules/admin/verbs/one_click_antag.dm | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 6f589101f2f..fec05d725b8 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -18,6 +18,7 @@ However if you want that mind to have any special properties like being a traitor etc you will have to do that yourself. */ +#define SUMMON_POSSIBILITIES 3 /datum/mind var/key @@ -823,6 +824,11 @@ to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.cultdat.entity_title2] above all else. Bring It back.") log_admin("[key_name(usr)] has culted [key_name(current)]") message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]") + if(!summon_spots.len) + while(summon_spots.len < SUMMON_POSSIBILITIES) + var/area/summon = pick(return_sorted_areas() - summon_spots) + if(summon && is_station_level(summon.z) && summon.valid_territory) + summon_spots += summon if("tome") var/mob/living/carbon/human/H = current if(istype(H)) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 4b3905f37e2..76b5bf0e95b 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -177,6 +177,11 @@ client/proc/one_click_antag() H = pick(candidates) ticker.mode.add_cultist(H.mind) candidates.Remove(H) + if(!summon_spots.len) + while(summon_spots.len < SUMMON_POSSIBILITIES) + var/area/summon = pick(return_sorted_areas() - summon_spots) + if(summon && is_station_level(summon.z) && summon.valid_territory) + summon_spots += summon return 1 return 0 From fedb9c17706ad3fd292618db68847467f8e500b2 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Thu, 2 May 2019 18:28:39 +0200 Subject: [PATCH 045/196] Added icons, fixes, special cases resolved --- code/game/gamemodes/changeling/changeling.dm | 6 ++--- .../gamemodes/changeling/changeling_power.dm | 3 ++- .../gamemodes/changeling/evolution_menu.dm | 1 + .../gamemodes/changeling/powers/absorb.dm | 1 + .../changeling/powers/augmented_eyesight.dm | 3 ++- .../gamemodes/changeling/powers/biodegrade.dm | 3 ++- .../changeling/powers/chameleon_skin.dm | 3 ++- .../changeling/powers/digitalcamo.dm | 1 + .../changeling/powers/epinephrine.dm | 5 ++-- .../gamemodes/changeling/powers/fakedeath.dm | 3 ++- .../gamemodes/changeling/powers/fleshmend.dm | 5 ++-- .../gamemodes/changeling/powers/headcrab.dm | 5 ++-- .../gamemodes/changeling/powers/hivemind.dm | 9 ++++--- .../gamemodes/changeling/powers/humanform.dm | 6 ++--- .../gamemodes/changeling/powers/lesserform.dm | 10 ++++++-- .../gamemodes/changeling/powers/linglink.dm | 4 ++- .../changeling/powers/mimic_voice.dm | 3 ++- .../gamemodes/changeling/powers/mutations.dm | 23 +++++++++++------- .../gamemodes/changeling/powers/panacea.dm | 3 ++- .../gamemodes/changeling/powers/revive.dm | 1 + .../gamemodes/changeling/powers/shriek.dm | 10 +++++--- .../gamemodes/changeling/powers/spiders.dm | 1 + .../changeling/powers/strained_muscles.dm | 1 + .../gamemodes/changeling/powers/swap_form.dm | 14 +++++++++-- .../gamemodes/changeling/powers/tiny_prick.dm | 21 ++++++++++------ .../gamemodes/changeling/powers/transform.dm | 3 ++- .../living/simple_animal/hostile/headcrab.dm | 12 +++++---- icons/mob/actions/actions.dmi | Bin 93208 -> 110167 bytes 28 files changed, 106 insertions(+), 54 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index eed84738d1b..4df22f441e5 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -13,9 +13,9 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" restricted_jobs = list("AI", "Cyborg") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer") protected_species = list("Machine") - required_players = 15 + required_players = 1 required_enemies = 1 - recommended_enemies = 4 + recommended_enemies = 1 var/const/prob_int_murder_target = 50 // intercept names the assassination target half the time var/const/prob_right_murder_target_l = 25 // lower bound on probability of naming right assassination target @@ -329,4 +329,4 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" return 1 /proc/can_absorb_species(datum/species/S) - return !(NO_DNA in S.species_traits) \ No newline at end of file + return !(NO_DNA in S.species_traits) diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm index 6eb0730b46a..69142049280 100644 --- a/code/game/gamemodes/changeling/changeling_power.dm +++ b/code/game/gamemodes/changeling/changeling_power.dm @@ -6,6 +6,7 @@ /datum/action/changeling name = "Prototype Sting" desc = "" // Fluff + background_icon_state = "bg_changeling" var/helptext = "" // Details var/chemical_cost = 0 // negative chemical cost is for passive abilities (chemical glands) var/dna_cost = -1 //cost of the sting in dna points. 0 = auto-purchase, -1 = cannot be purchased @@ -29,7 +30,7 @@ the same goes for Remove(). if you override Remove(), call parent or else your p Grant(user) /datum/action/changeling/Trigger() - var/mob/user = usr + var/mob/user = owner if(!user || !user.mind || !user.mind.changeling) return try_to_sting(user) diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm index 49ba4e29ca7..e8d266d2dd5 100644 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ b/code/game/gamemodes/changeling/evolution_menu.dm @@ -4,6 +4,7 @@ var/list/sting_paths /datum/action/changeling/evolution_menu name = "-Evolution Menu-" //Dashes are so it's listed before all the other abilities. desc = "Choose our method of subjugation." + button_icon_state = "changelingsting" dna_cost = 0 /datum/action/changeling/evolution_menu/Trigger() diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index 1ebf739af72..b5ad5ab9f8a 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -1,6 +1,7 @@ /datum/action/changeling/absorbDNA name = "Absorb DNA" desc = "Absorb the DNA of our victim. Requires us to strangle them." + button_icon_state = "absorb_dna" chemical_cost = 0 dna_cost = 0 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index d8118f31291..ffa5267aad8 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -4,7 +4,8 @@ /datum/action/changeling/augmented_eyesight name = "Augmented Eyesight" desc = "Creates heat receptors in our eyes and dramatically increases light sensing ability." - helptext = "Grants us thermal vision or flash protection. We will become a lot more vulnerable to flash-based devices while thermal vision is active." + helptext = "Grants us thermal vision or flash protection. We will become a lot more vulnerable to flash based devices while thermal vision is active." + button_icon_state = "augmented_eyesight" chemical_cost = 0 dna_cost = 2 //Would be 1 without thermal vision diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm index 4a5c5e4013c..89739235530 100644 --- a/code/game/gamemodes/changeling/powers/biodegrade.dm +++ b/code/game/gamemodes/changeling/powers/biodegrade.dm @@ -1,7 +1,8 @@ /datum/action/changeling/biodegrade name = "Biodegrade" - desc = "Dissolves restraints or other objects preventing free movement." + desc = "Dissolves restraints or other objects preventing free movement. Costs 30 chemicals." helptext = "This is obvious to nearby people, and can destroy standard restraints and closets." + button_icon_state = "biodegrade" chemical_cost = 30 //High cost to prevent spam dna_cost = 2 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/chameleon_skin.dm b/code/game/gamemodes/changeling/powers/chameleon_skin.dm index 5bc4f9cff95..7de16801153 100644 --- a/code/game/gamemodes/changeling/powers/chameleon_skin.dm +++ b/code/game/gamemodes/changeling/powers/chameleon_skin.dm @@ -1,7 +1,8 @@ /datum/action/changeling/chameleon_skin name = "Chameleon Skin" - desc = "Our skin pigmentation rapidly changes to suit our current environment." + desc = "Our skin pigmentation rapidly changes to suit our current environment. Costs 25 chemicals." helptext = "Allows us to become invisible after a few seconds of standing still. Can be toggled on and off." + button_icon_state = "chameleon_skin" dna_cost = 2 chemical_cost = 25 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/digitalcamo.dm b/code/game/gamemodes/changeling/powers/digitalcamo.dm index 2f3839ff29d..dd309b55060 100644 --- a/code/game/gamemodes/changeling/powers/digitalcamo.dm +++ b/code/game/gamemodes/changeling/powers/digitalcamo.dm @@ -2,6 +2,7 @@ name = "Digital Camouflage" desc = "By evolving the ability to distort our form and proprotions, we defeat common altgorithms used to detect lifeforms on cameras." helptext = "We cannot be tracked by camera while using this skill. However, humans looking at us will find us... uncanny." + button_icon_state = "digital_camo" dna_cost = 1 //Prevents AIs tracking you but makes you easily detectable to the human-eye. diff --git a/code/game/gamemodes/changeling/powers/epinephrine.dm b/code/game/gamemodes/changeling/powers/epinephrine.dm index d6f8e1a11eb..55fdf5cf4e6 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine.dm @@ -1,7 +1,8 @@ /datum/action/changeling/epinephrine name = "Epinephrine Overdose" - desc = "We evolve additional sacs of adrenaline throughout our body." - helptext = "Removes all stuns instantly and adds a short-term reduction in further stuns. Can be used while unconscious. Continued use poisons the body." + desc = "We evolve additional sacs of adrenaline throughout our body. Costs 30 chemicals." + helptext = "Removes all stuns instantly and adds a short term reduction in further stuns. Can be used while unconscious. Continued use poisons the body." + button_icon_state = "adrenaline" chemical_cost = 30 dna_cost = 2 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm index 7ab62f16361..d403059b0c7 100644 --- a/code/game/gamemodes/changeling/powers/fakedeath.dm +++ b/code/game/gamemodes/changeling/powers/fakedeath.dm @@ -1,6 +1,7 @@ /datum/action/changeling/fakedeath name = "Regenerative Stasis" - desc = "We fall into a stasis, allowing us to regenerate." + desc = "We fall into a stasis, allowing us to regenerate and trick our enemies. Costs 15 chemicals." + button_icon_state = "fake_death" chemical_cost = 15 dna_cost = 0 req_dna = 1 diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm index 3d0b16bedc6..f7475090660 100644 --- a/code/game/gamemodes/changeling/powers/fleshmend.dm +++ b/code/game/gamemodes/changeling/powers/fleshmend.dm @@ -1,7 +1,8 @@ /datum/action/changeling/fleshmend name = "Fleshmend" - desc = "Our flesh rapidly regenerates, healing our wounds." - helptext = "Heals a moderate amount of damage over a short period of time. Can be used while unconscious." + desc = "Our flesh rapidly regenerates, healing our burns, bruises, and shortness of breath. Costs 20 chemicals." + helptext = "If we are on fire, the healing effect will not function. Does not regrow limbs or restore lost blood. Functions while unconscious." + button_icon_state = "fleshmend" chemical_cost = 20 dna_cost = 2 req_stat = UNCONSCIOUS diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 3825ad76ff4..b39a2bba0d5 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -1,7 +1,8 @@ /datum/action/changeling/headcrab name = "Last Resort" - desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." + desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel that can plant our likeness in a new host. Costs 20 chemicals." helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." + button_icon_state = "last_resort" chemical_cost = 20 dna_cost = 1 req_human = 1 @@ -42,4 +43,4 @@ to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") user.gib() feedback_add_details("changeling_powers","LR") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index 3ddf4ef1e08..af375cad368 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -15,6 +15,7 @@ var/datum/action/changeling/hivemind_upload/S1 = new if(!changeling.has_sting(S1)) changeling.purchasedpowers+=S1 + S1.Grant(user) var/datum/action/changeling/hivemind_download/S2 = new if(!changeling.has_sting(S2)) S2.Grant(user) @@ -26,7 +27,8 @@ var/list/datum/dna/hivemind_bank = list() /datum/action/changeling/hivemind_upload name = "Hive Channel DNA" - desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it." + desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it. Costs 10 chemicals." + button_icon_state = "hivemind_channel" chemical_cost = 10 dna_cost = -1 @@ -56,7 +58,8 @@ var/list/datum/dna/hivemind_bank = list() /datum/action/changeling/hivemind_download name = "Hive Absorb DNA" - desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives." + desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives. Costs 10 chemicals." + button_icon_state = "hive_absorb" chemical_cost = 10 dna_cost = -1 @@ -89,4 +92,4 @@ var/list/datum/dna/hivemind_bank = list() changeling.store_dna(chosen_dna, user) to_chat(user, "We absorb the DNA of [S] from the air.") feedback_add_details("changeling_powers","HD") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/humanform.dm b/code/game/gamemodes/changeling/powers/humanform.dm index 64900697db9..f9b214c513c 100644 --- a/code/game/gamemodes/changeling/powers/humanform.dm +++ b/code/game/gamemodes/changeling/powers/humanform.dm @@ -1,12 +1,12 @@ /datum/action/changeling/humanform name = "Human form" - desc = "We change into a human." + desc = "We change into a human. Costs 5 chemicals." + button_icon_state = "human_form" chemical_cost = 5 genetic_damage = 3 req_dna = 1 max_genetic_damage = 3 - //Transform into a human. /datum/action/changeling/humanform/sting_action(var/mob/living/carbon/human/user) var/datum/changeling/changeling = user.mind.changeling @@ -39,6 +39,6 @@ changeling.purchasedpowers -= src //O.mind.changeling.purchasedpowers += new /datum/action/changeling/lesserform(null) + src.Remove(user) feedback_add_details("changeling_powers","LFT") return 1 - diff --git a/code/game/gamemodes/changeling/powers/lesserform.dm b/code/game/gamemodes/changeling/powers/lesserform.dm index 2aa4912f9c6..0dd112b66dd 100644 --- a/code/game/gamemodes/changeling/powers/lesserform.dm +++ b/code/game/gamemodes/changeling/powers/lesserform.dm @@ -1,6 +1,8 @@ /datum/action/changeling/lesserform name = "Lesser form" - desc = "We debase ourselves and become lesser. We become a monkey." + desc = "We debase ourselves and become lesser. We become a monkey. Costs 5 chemicals." + helptext = "The transformation greatly reduces our size, allowing us to slip out of cuffs and climb through vents." + button_icon_state = "lesser_form" chemical_cost = 5 dna_cost = 1 genetic_damage = 3 @@ -25,6 +27,10 @@ changeling.geneticdamage = 30 to_chat(H, "Our genes cry out!") H.monkeyize() - changeling.purchasedpowers += new /datum/action/changeling/humanform(null) + + var/datum/action/changeling/humanform/HF = new + changeling.purchasedpowers += HF + HF.Grant(user) + feedback_add_details("changeling_powers","LF") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm index 2b8024a91b7..ba203a3e71f 100644 --- a/code/game/gamemodes/changeling/powers/linglink.dm +++ b/code/game/gamemodes/changeling/powers/linglink.dm @@ -1,6 +1,8 @@ /datum/action/changeling/linglink name = "Hivemind Link" - desc = "Link your victim's mind into the hivemind for personal interrogation" + desc = "We link our victim's mind into the hivemind for personal interrogation." + helptext = "If we find a human mad enough to support our cause, this can be a helpful tool to stay in touch." + button_icon_state = "hivemind_link" chemical_cost = 0 dna_cost = 0 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm index 2b2512f83e3..27211bd8a79 100644 --- a/code/game/gamemodes/changeling/powers/mimic_voice.dm +++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm @@ -1,7 +1,8 @@ /datum/action/changeling/mimicvoice name = "Mimic Voice" - desc = "We shape our vocal glands to sound like a desired voice." + desc = "We shape our vocal glands to sound like a desired voice. Maintaining this power slows chemical production." helptext = "Will turn your voice into the name that you enter. We must constantly expend chemicals to maintain our form like this." + button_icon_state = "mimic_voice" chemical_cost = 0 //constant chemical drain hardcoded dna_cost = 1 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 5baa7b62051..5629bc7085f 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -109,8 +109,9 @@ \***************************************/ /datum/action/changeling/weapon/arm_blade name = "Arm Blade" - desc = "We reform one of our arms into a deadly blade." - helptext = "Cannot be used while in lesser form." + desc = "We reform one of our arms into a deadly blade. Costs 25 chemicals." + helptext = "We may retract our armblade in the same manner as we form it. Cannot be used while in lesser form." + button_icon_state = "armblade" chemical_cost = 25 dna_cost = 2 genetic_damage = 10 @@ -179,10 +180,11 @@ /datum/action/changeling/weapon/tentacle name = "Tentacle" - desc = "We ready a tentacle to grab items or victims with." + desc = "We ready a tentacle to grab items or victims with. Costs 10 chemicals." helptext = "We can use it once to retrieve a distant item. If used on living creatures, the effect depends on the intent: \ Help will simply drag them closer, Disarm will grab whatever they are holding instead of them, Grab will put the victim in our hold after catching it, \ and Harm will stun it, and stab it if we are also holding a sharp weapon. Cannot be used while in lesser form." + button_icon_state = "tentacle" chemical_cost = 10 dna_cost = 2 genetic_damage = 5 @@ -352,8 +354,9 @@ \***************************************/ /datum/action/changeling/weapon/shield name = "Organic Shield" - desc = "We reform one of our arms into a hard shield." - helptext = "Organic tissue cannot resist damage forever, the shield will break after it is hit too much. The more genomes we absorb, the stronger it is. Cannot be used while in lesser form." + desc = "We reform one of our arms into a hard shield. Costs 20 chemicals." + helptext = "Organic tissue cannot resist damage forever. The shield will break after it is hit too much. The more genomes we absorb, the stronger it is. Cannot be used while in lesser form." + button_icon_state = "organic_shield" chemical_cost = 20 dna_cost = 1 genetic_damage = 12 @@ -406,8 +409,9 @@ \***************************************/ /datum/action/changeling/suit/organic_space_suit name = "Organic Space Suit" - desc = "We grow an organic suit to protect ourselves from space exposure." - helptext = "We must constantly repair our form to make it space-proof, reducing chemical production while we are protected. Retreating the suit damages our genomes. Cannot be used in lesser form." + desc = "We grow an organic suit to protect ourselves from space exposure. Costs 20 chemicals." + helptext = "We must constantly repair our form to make it space proof, reducing chemical production while we are protected. Cannot be used in lesser form." + button_icon_state = "organic_suit" chemical_cost = 20 dna_cost = 2 genetic_damage = 8 @@ -453,8 +457,9 @@ \***************************************/ /datum/action/changeling/suit/armor name = "Chitinous Armor" - desc = "We turn our skin into tough chitin to protect us from damage." - helptext = "Upkeep of the armor requires a low expenditure of chemicals. The armor is strong against brute force, but does not provide much protection from lasers. Retreating the armor damages our genomes. Cannot be used in lesser form." + desc = "We turn our skin into tough chitin to protect us from damage. Costs 25 chemicals." + helptext = "Upkeep of the armor requires a low expenditure of chemicals. The armor is strong against brute force, but does not provide much protection from lasers. Cannot be used in lesser form." + button_icon_state = "chitinous_armor" chemical_cost = 25 dna_cost = 2 genetic_damage = 11 diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm index d00c56d0740..6e6d69cc1dd 100644 --- a/code/game/gamemodes/changeling/powers/panacea.dm +++ b/code/game/gamemodes/changeling/powers/panacea.dm @@ -1,7 +1,8 @@ /datum/action/changeling/panacea name = "Anatomic Panacea" - desc = "Expels impurifications from our form; curing diseases, removing parasites, sobering us, purging toxins and radiation, and resetting our genetic code completely." + desc = "Expels impurifications from our form, curing diseases, removing parasites, sobering us, purging toxins and radiation, and resetting our genetic code completely. Costs 20 chemicals." helptext = "Can be used while unconscious." + button_icon_state = "panacea" chemical_cost = 20 dna_cost = 1 req_stat = UNCONSCIOUS diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index e3c6c76ed7b..740d9fb25dc 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -1,6 +1,7 @@ /datum/action/changeling/revive name = "Regenerate" desc = "We regenerate, healing all damage from our form." + button_icon_state = "revive" req_stat = DEAD always_keep = 1 diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 85c1d89289c..068092dde0d 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -1,12 +1,13 @@ /datum/action/changeling/resonant_shriek name = "Resonant Shriek" - desc = "Our lungs and vocal chords shift, allowing us to briefly emit a noise that deafens and confuses the weak-minded." - helptext = "Emits a high-frequency sound that confuses and deafens humans, blows out nearby lights and overloads cyborg sensors." + desc = "Our lungs and vocal cords shift, allowing us to briefly emit a noise that deafens and confuses the weak minded. Costs 30 chemicals." + helptext = "Emits a high frequency sound that confuses and deafens humans, blows out nearby lights and overloads cyborg sensors." + button_icon_state = "resonant_shriek" chemical_cost = 30 dna_cost = 1 req_human = 1 -//A flashy ability, good for crowd control and sewing chaos. +//A flashy ability, good for crowd control and sowing chaos. /datum/action/changeling/resonant_shriek/sting_action(var/mob/user) for(var/mob/living/M in get_mobs_in_view(4, user)) if(iscarbon(M)) @@ -30,7 +31,8 @@ /datum/action/changeling/dissonant_shriek name = "Dissonant Shriek" - desc = "We shift our vocal cords to release a high-frequency sound that overloads nearby electronics." + desc = "We shift our vocal cords to release a high frequency sound that overloads nearby electronics. Costs 30 chemicals." + button_icon_state = "dissonant_shriek" chemical_cost = 30 dna_cost = 1 diff --git a/code/game/gamemodes/changeling/powers/spiders.dm b/code/game/gamemodes/changeling/powers/spiders.dm index 133f4b8b30b..82b2db6ac7b 100644 --- a/code/game/gamemodes/changeling/powers/spiders.dm +++ b/code/game/gamemodes/changeling/powers/spiders.dm @@ -2,6 +2,7 @@ name = "Spread Infestation" desc = "Our form divides, creating arachnids which will grow into deadly beasts." helptext = "The spiders are thoughtless creatures, and may attack their creators when fully grown. Requires at least 5 DNA absorptions." + button_icon_state = "spread_infestation" chemical_cost = 45 dna_cost = 1 req_dna = 5 diff --git a/code/game/gamemodes/changeling/powers/strained_muscles.dm b/code/game/gamemodes/changeling/powers/strained_muscles.dm index d0ca6599722..10f8a5a5d77 100644 --- a/code/game/gamemodes/changeling/powers/strained_muscles.dm +++ b/code/game/gamemodes/changeling/powers/strained_muscles.dm @@ -5,6 +5,7 @@ name = "Strained Muscles" desc = "We evolve the ability to reduce the acid buildup in our muscles, allowing us to move much faster." helptext = "The strain will make us tired, and we will rapidly become fatigued. Standard weight restrictions, like hardsuits, still apply. Cannot be used in lesser form." + button_icon_state = "strained_muscles" chemical_cost = 0 dna_cost = 1 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index 3daf98d4a5e..18e7c85f1be 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -1,7 +1,8 @@ /datum/action/changeling/swap_form name = "Swap Forms" - desc = "We force ourselves into the body of another form, pushing their consciousness into the form we left behind." + desc = "We force ourselves into the body of another form, pushing their consciousness into the form we left behind. Costs 40 chemicals." helptext = "We will bring all our abilities with us, but we will lose our old form DNA in exchange for the new one. The process will seem suspicious to any observers." + button_icon_state = "mindswap" chemical_cost = 40 dna_cost = 1 req_human = 1 //Monkeys can't grab @@ -22,7 +23,6 @@ return return 1 - /datum/action/changeling/swap_form/sting_action(var/mob/living/carbon/user) var/obj/item/grab/G = user.get_active_hand() var/mob/living/carbon/human/target = G.affecting @@ -38,6 +38,10 @@ to_chat(target, "[user] tightens [user.p_their()] grip as a painful sensation invades your body.") + var/lingpowers = list() + for(var/power in changeling.purchasedpowers) + lingpowers += power + changeling.absorbed_dna -= changeling.find_dna(user.dna) changeling.protected_dna -= changeling.find_dna(user.dna) changeling.absorbedcount -= 1 @@ -55,6 +59,12 @@ user.Paralyse(2) target.add_language("Changeling") user.remove_language("Changeling") + user.regenerate_icons() + + for(var/power in lingpowers) + var/datum/action/changeling/S = power + if(istype(S) && S.needs_button) + S.Grant(target) to_chat(target, "Our genes cry out as we swap our [user] form for [target].") return 1 diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm index 98b09a09653..94bde26674b 100644 --- a/code/game/gamemodes/changeling/powers/tiny_prick.dm +++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm @@ -60,11 +60,11 @@ add_attack_logs(user, target, "Unsuccessful sting (changeling)") return 1 - /datum/action/changeling/sting/transformation name = "Transformation Sting" - desc = "We silently sting a human, injecting a retrovirus that forces them to transform." + desc = "We silently sting a human, injecting a retrovirus that forces them to transform. Costs 50 chemicals." helptext = "The victim will transform much like a changeling would. The effects will be obvious to the victim, and the process will damage our genomes." + button_icon_state = "sting_transform" sting_icon = "sting_transform" chemical_cost = 50 dna_cost = 3 @@ -116,8 +116,9 @@ datum/action/changeling/sting/extract_dna name = "Extract DNA Sting" - desc = "We stealthily sting a target and extract their DNA." + desc = "We stealthily sting a target and extract their DNA. Costs 25 chemicals." helptext = "Will give you the DNA of your target, allowing you to transform into them." + button_icon_state = "sting_extract" sting_icon = "sting_extract" chemical_cost = 25 dna_cost = 0 @@ -135,8 +136,9 @@ datum/action/changeling/sting/extract_dna datum/action/changeling/sting/mute name = "Mute Sting" - desc = "We silently sting a human, completely silencing them for a short time." + desc = "We silently sting a human, completely silencing them for a short time. Costs 20 chemicals." helptext = "Does not provide a warning to the victim that they have been stung, until they try to speak and cannot." + button_icon_state = "sting_mute" sting_icon = "sting_mute" chemical_cost = 20 dna_cost = 2 @@ -149,8 +151,9 @@ datum/action/changeling/sting/mute datum/action/changeling/sting/blind name = "Blind Sting" - desc = "Temporarily blinds the target." - helptext = "This sting completely blinds a target for a short time." + desc = "We temporarily blind our victim. Costs 25 chemicals." + helptext = "This sting completely blinds a target for a short time, and leaves them with blurred vision for a long time." + button_icon_state = "sting_blind" sting_icon = "sting_blind" chemical_cost = 25 dna_cost = 1 @@ -166,8 +169,9 @@ datum/action/changeling/sting/blind datum/action/changeling/sting/LSD name = "Hallucination Sting" - desc = "Causes terror in the target." + desc = "We cause mass terror to our victim. Costs 10 chemicals." helptext = "We evolve the ability to sting a target with a powerful hallucinogenic chemical. The target does not notice they have been stung, and the effect occurs after 30 to 60 seconds." + button_icon_state = "sting_lsd" sting_icon = "sting_lsd" chemical_cost = 10 dna_cost = 1 @@ -182,8 +186,9 @@ datum/action/changeling/sting/LSD datum/action/changeling/sting/cryo //Enable when mob cooling is fixed so that frostoil actually makes you cold, instead of mostly just hungry. name = "Cryogenic Sting" - desc = "We silently sting a human with a cocktail of chemicals that freeze them." + desc = "We silently sting our victim with a cocktail of chemicals that freezes them from the inside. Costs 15 chemicals." helptext = "Does not provide a warning to the victim, though they will likely realize they are suddenly freezing." + button_icon_state = "sting_cryo" sting_icon = "sting_cryo" chemical_cost = 15 dna_cost = 2 diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm index cee784ad718..417fbaa052d 100644 --- a/code/game/gamemodes/changeling/powers/transform.dm +++ b/code/game/gamemodes/changeling/powers/transform.dm @@ -1,6 +1,7 @@ /datum/action/changeling/transform name = "Transform" - desc = "We take on the appearance and voice of one we have absorbed." + desc = "We take on the appearance and voice of one we have absorbed. Costs 5 chemicals." + button_icon_state = "transform" chemical_cost = 5 dna_cost = 0 req_dna = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index bbe1adedc2f..be22b6a60fb 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -1,4 +1,4 @@ -#define EGG_INCUBATION_TIME 120 +#define EGG_INCUBATION_TIME 10 /mob/living/simple_animal/hostile/headcrab name = "headslug" @@ -59,9 +59,6 @@ return target.attack_animal(src) - - - /obj/item/organ/internal/body_egg/changeling_egg name = "changeling egg" desc = "Twitching and disgusting." @@ -91,7 +88,12 @@ if(origin.changeling.can_absorb_dna(M, owner)) origin.changeling.absorb_dna(owner, M) - origin.changeling.purchasedpowers += new /datum/action/changeling/humanform(null) + var/datum/action/changeling/humanform/HF = new + HF.Grant(M) + for(var/power in origin.changeling.purchasedpowers) + var/datum/action/changeling/S = power + if(istype(S) && S.needs_button) + S.Grant(M) M.key = origin.key owner.gib() diff --git a/icons/mob/actions/actions.dmi b/icons/mob/actions/actions.dmi index b4d8a34a6e0b807b6381a3c8b92e6418718498df..d5e82bcf01df8865014ff8c357e885caff368ce1 100644 GIT binary patch literal 110167 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ʰu6)tEyZSXmrX5^(A!7H7Oc{}o3c=}`} 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

&`c62NdNd1&n`fI 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 From 8b500228584a0ca36010e824e7f3a3688bf242f8 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Thu, 2 May 2019 18:31:31 +0200 Subject: [PATCH 046/196] Old code cleanup --- code/game/gamemodes/changeling/changeling.dm | 4 ++-- code/game/gamemodes/changeling/powers/augmented_eyesight.dm | 1 - code/game/gamemodes/changeling/powers/biodegrade.dm | 1 - code/modules/mob/living/simple_animal/hostile/headcrab.dm | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 4df22f441e5..038f331f924 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -13,9 +13,9 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" restricted_jobs = list("AI", "Cyborg") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer") protected_species = list("Machine") - required_players = 1 + required_players = 15 required_enemies = 1 - recommended_enemies = 1 + recommended_enemies = 4 var/const/prob_int_murder_target = 50 // intercept names the assassination target half the time var/const/prob_right_murder_target_l = 25 // lower bound on probability of naming right assassination target diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index ffa5267aad8..1caba8b59d5 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -22,7 +22,6 @@ return 1 - /datum/action/changeling/augmented_eyesight/Remove(mob/user) var/obj/item/organ/internal/cyberimp/eyes/O = user.get_organ_slot("eye_ling") if(O) diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm index 89739235530..c8a7721a5f5 100644 --- a/code/game/gamemodes/changeling/powers/biodegrade.dm +++ b/code/game/gamemodes/changeling/powers/biodegrade.dm @@ -31,7 +31,6 @@ addtimer(CALLBACK(src, .proc/dissolve_straightjacket, user, S), 30) used = TRUE - if(istype(user.loc, /obj/structure/closet) && !used) var/obj/structure/closet/C = user.loc if(!istype(C)) diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index be22b6a60fb..c82a0ee7806 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -1,4 +1,4 @@ -#define EGG_INCUBATION_TIME 10 +#define EGG_INCUBATION_TIME 120 /mob/living/simple_animal/hostile/headcrab name = "headslug" From b931c6669b75f1c8a24d7d867e8bc835245682a3 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Thu, 2 May 2019 18:50:28 +0200 Subject: [PATCH 047/196] Plasmamen addition --- code/modules/mob/living/carbon/human/species/plasmaman.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index 35d02f82509..bb900cdb5b6 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -41,6 +41,7 @@ ) speciesbox = /obj/item/storage/box/survival_plasmaman + flesh_color = "#8b3fba" /datum/species/plasmaman/say_filter(mob/M, message, datum/language/speaking) if(copytext(message, 1, 2) != "*") From 86cdeb3fa1a160979753cf812976d4347f293645 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Thu, 2 May 2019 20:12:24 +0200 Subject: [PATCH 048/196] Force move for regurgitate and devour now --- code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm | 2 +- code/modules/mob/mob_grab.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index a6454111397..982c606b629 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -159,7 +159,7 @@ Doesn't work on other aliens/AI.*/ for(var/mob/M in src) if(M in stomach_contents) stomach_contents.Remove(M) - M.loc = loc + M.forceMove(loc) //Paralyse(10) src.visible_message("[src] hurls out the contents of [p_their()] stomach!") return diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 93941d6e7d2..cac5581b3ef 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -395,7 +395,7 @@ if(affecting.mind) add_attack_logs(attacker, affecting, "Devoured") - affecting.loc = user + affecting.forceMove(user) attacker.stomach_contents.Add(affecting) qdel(src) From 05cad803bbcee8c595e1b3df7115bdccc3b30b32 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 2 May 2019 22:29:46 +0200 Subject: [PATCH 049/196] Allow admin access to airlock buttons --- code/game/machinery/doors/airlock_control.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 5a53381ef07..3b12c6f554a 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -255,10 +255,15 @@ return ..() +/obj/machinery/access_button/attack_ghost(mob/user) + if(user.can_advanced_admin_interact()) + return attack_hand(user) + /obj/machinery/access_button/attack_hand(mob/user) add_fingerprint(usr) - if(!allowed(user)) - to_chat(user, "Access Denied") + + if(!allowed(user) && !user.can_advanced_admin_interact()) + to_chat(user, "Access denied.") else if(radio_connection) var/datum/signal/signal = new From 32e36f06dd00fae40115db26a861f576ac5528b5 Mon Sep 17 00:00:00 2001 From: Couls Date: Thu, 2 May 2019 22:07:36 -0400 Subject: [PATCH 050/196] remove rerolling for ghosts --- code/game/gamemodes/wizard/artefact.dm | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index a35f990845c..58d4d814c62 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -650,7 +650,6 @@ var/global/list/multiverse = list() M.visible_message(" A massive amount of flesh sloughs off [M] and a skeleton rises up!") M.grab_ghost() // yoinks the ghost if its not in the body M.revive() - M.verbs += /mob/living/carbon/human/proc/skeleton_reset equip_skeleton(M) spooky_scaries |= M to_chat(M, "You have been revived by [user.real_name]!") @@ -732,7 +731,6 @@ var/global/list/multiverse = list() H.update_body() H.grab_ghost() H.revive() - H.verbs += /mob/living/carbon/human/proc/skeleton_reset H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/kitty(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/under/schoolgirl(H), slot_w_uniform) @@ -882,22 +880,3 @@ var/global/list/multiverse = list() heal_brute = 25 heal_burn = 25 heal_oxy = 25 - -/mob/living/carbon/human/proc/skeleton_reset() - set name = "Offer skeleton to ghosts" - set category = "Skeleton" - set desc = "Give up your skeleton to ghosts so you can observe the round." - src.verbs -= /mob/living/carbon/human/proc/skeleton_reset - if (src.stat != DEAD) - var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as Skeleton?", ROLE_WIZARD, 0, 100) - var/mob/dead/observer/new_stand = null - if(candidates.len && src.stat != DEAD) // make sure they haven't died since - new_stand = pick(candidates) - to_chat(src,"Your body has been given up and taken over by someone else.") - message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(src)])") - src.ghostize() - src.key = new_stand.key - else - to_chat(src, "There were no ghosts willing to take control. Looks like you're stuck as a skeleton for now.") - spawn(600) - src.verbs += /mob/living/carbon/human/proc/skeleton_reset From 5c4303c2f6e37c2cf7bd7f56353c7232705734ea Mon Sep 17 00:00:00 2001 From: Ionward Date: Thu, 2 May 2019 20:00:48 -0700 Subject: [PATCH 051/196] updates cautery sprite --- icons/obj/surgery.dmi | Bin 37846 -> 38854 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index bc36cdaaa8f92619109fb449da5c79f47d1d5a76..01a625e6988427e0d5e1115389267d28c1754962 100644 GIT binary patch literal 38854 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

4NUvbF8sAeL@iEAfM`e*y%$l;L& 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'sMgP*hIvX5u)DXwqMn<@ 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 Date: Thu, 2 May 2019 20:39:42 -0700 Subject: [PATCH 052/196] removed a few pixels off the back, reducing size --- icons/obj/surgery.dmi | Bin 38854 -> 38800 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 01a625e6988427e0d5e1115389267d28c1754962..6a6cf1694a9e9cc7e8e3f849d77497cc0d16dd3a 100644 GIT binary patch literal 38800 zcma&O1yodD^fo+{pdcWifRvzwq*Bs@2+}3pAOh0eF*G6qA|=w&Al*5XbaxLS9YYO0 zGvDP`-~0b!y)Wy+%({8bKKtzbJkQyea1|x#`}ZE-1A##IWo0Dafj}6oz;6cL9bk{> zXzgrrGty5y&VYTk&>g;R+214Y`|<}QmvCAMO654!&co{3 zst&mu+tYUu@FhaVGT)sA^DQU8^+;|2c9$8}C9&R@w_qZH19v{%y3esaW}MEK-|06W zJXFxmy&L*Wvx6e0L_ei=yWO%O6pz0M?~7^H(P#R*CA~8)qS^&RDrOm3I^$ZG$C-v` zcx`q`kNfwQR37!Dg8e?qh}j23Vbb>?VtFUY?qK>X1!%zMEdNIV3=!xk{S_{B3v7D* zVa?1nF+J1WFV5nwx`e3(G=}2>)=Z(UGoyUl`oV3&4lf%aSiSNrgvTuX$f(2j`pEC> zBwJhKVNaC}KPp?A-gj6r?&FmSqM=ao>VA%o@mz}I4$r|A<*O)OcmY~TK~^+(@m zsd;6RwNaffJ~F7cNqnS~!JK}gH*)#9rDx6gwRAqadD{;$jtRW@-!AAcDmv^a%j-%` zgT8kO$Lnt{8t8_FAD%50JPObhvGT*0x9eQwm!?sky&%@0M|A zaRu)`4$&ege%;k$8fmR=6LZBkuQ$=yW9Fz&z`OJkOq5|5+%ZcBO!mC25Y0&C{tBMzie(0ptU>qSslrE@v`q(JU+Tm53&KVmu|244wR?Ib zmWaMe!EG(ZaBH%xCAxTd_Mbn#&yWAWt%#R|7xi<015k=kDQgNMZD={yB(|D9x6IGY!L| zT|%EJCTA;-Nu;0ePHLGm#d?B=c~h0sEz*)yD=I3!$~+?p&(3==HHq{0SGKPhEHN_A zzR}7`YLRCMo0flouKz&=Q&(Iz@$jgduJ+0>MZ}ZD zAAGYy^cqbg51GDVv>@aLHD`=(BT)*GlRp*F-xGU#Mq@E`vfXs*opPo}(nP&$lySo; zdCY@{lV6p}s**|J(I>F$kR&A~S?>BgR|cmLHPkLRMbs?3FR%M`K4)EOxr=jb%#JkJ zHF7;^#$3*gUQ(H`w6MF{isTXU7@oLdb0Sul*JfubciSfyE7mjRdq7^g86|9&)nzrR z>px%X+r8zu8J3Nc9||)#U+j3J3c+6f-KC|Ui?MXMnJgA!{Pt~V9jals>T)vOw+o-E zi8vuXelj!RXuGGI4#FOKpQ>x7+*DRZW+b5q*RXPSucAdMZ#)-zv5K#hCNf)q1$Ocyr5YD?v5MpfW!VI{xX z_!$wIIYt}GfbB*vF8%@gRA~!G+}1!;jk(s2L#bu?9lNG{(Rx7F^kIMR;E`vt1fI95 zqa#IYD+U&^#7swfJA;3&|DzVFpR^ua^?$x;!gbgaG;t066_fev2aH@NHT<7S+BY4& zg%aWwf;l)i{`hscyxCc^7cm@b%ymz^$h6)qt=QS{{#|4}jirLxmQ&cRJ)WR(Kbb~1 zQ~A$dM~Z`B>bhng9 zjVx!>_(iaVnc1wcN~Avz1ob8ng^Y)q8F~LkG()d;iu`Z#ViFUXyP|0DTLIr`Dk-J) zU{*@O6SuM|l($|lEGjwPebVFzd;8L=orQ#ojBA5ePSwe`x#94$)p;%YGQHQtXsH{!s${#@fL zH>&fzFB_BN&#)J^Wf6%OTg(yyN&(O1>ZV<<&*j_S7aUZb0Nv}XD)O5=5PCyIo7MF5 z%i~znWySg>*M`H7^q}11Lbux3m>Bw8g(Qi&)&P(qo$u-B#OmtmK9T6DiZd{r+VY9{ zgT^mhB1%R!jXeC;M;@5!RQkE{DY{%mb8vAfXDi9%(3b?XDEd+gyRn;BCjDfPCf;%p zDn_jME#rKOjKrZXCOZ#0v@UICYI5ziU8q$(6|LoREqCSRHkQmMPs5+hVZOAvDLyaw^f zL#hUME&}H&$z-=b7%Ft5_)*j$CT}uJvwVe4n7aiV;WJ$dxW%fBYy^WPbMSBko>sFg6JZ$xMxHvR1801HG%^ibz_^ zmgTadAqpiR+x!iWS!C;WO0d3I{*WH)R)AOd76i&G=juyyn?Z9oKndy zEr37vhbkmX0bdTK;@8r9X0}N$FN4f@?+Kex)nI1uC~O!{<$-wb3jeJ8!IT^+h3MlN*TZV9;ro54Sip-~LSbbOvg*z`y0?a3`6YITB8=Q-1RYM8x@BvF zu?5`7{IAMb1e`j{+hd;Uf-u!nM0$H(nhMmpbIBsF8*Td44MTojpbWg018}V@27lyG z5Zp0C-CX)lJ+$JXAXotz%+kzB=k4mLk$(pb^!JlyF?|W7AvIYQZM`m@aF4Xibid?Fb?g>j|Utn=#i~_$xe|FSID365s5k*S0k`9U=#A1%RIh#WZ&(=N;e55zy4-6g z21E#B6wXc&`NScWpgDoY`Z_1v(;8#w2cLXzPY-c@ef<`~i!=FU5D>AMHipxqmGVe| zouB9KrGOzVig@(q1K%GU_djJY_0n<03hSEWNHJ?VI zzrUZ7--aSQJbbR9prGLUpm{VF_vg=_Sy)*an7bW~Jr3J&n;X2RPninn!)r|;%KPWl z&-k7_@Z%PFhWfR~zV>$a?bX!j`cbx#8g$ob%xdftd&J%YggevqQJAWKu;u3X?oVe* z?_Km0x#GjiP2M@%I5S)K6jH3mHiNvgwx?ho!v_cA?uC&3 zN$2=_t&a3`ueUdd@K*PbJ`e#(EX*rnA9_u5-oh7N?+gocMfn=iOkSQ-+5Lflku$qj zwStOT@rkh$P)N}s*2iDgrwzsAMm{eYczDJWfCH3A@eN_-7 z|EAg6i$~!73w42wr~M4uYOuWS2_wd*XzXW2VUTw1HZAA%H5l}f%x#rRhzO_5 z2O4oFInt0k?M?HbBWAd$w)yzvjR#H z6J1)rQFg20%l2I`*gx+&g9+;TId8W7hIhhe{NV-}Ly5fpPqCY0pcY&pSjq_{Xm|%5 zEv*;=aljq3~Cue8DjA>`2>vZ{5<*;_M7lPmk4|(0e zoV9O>){_^%beJey`76Z?@2uQA{p^24`tb{1&_yR+#||X?*Dksn4i6MMcAl@XoomH+ zp!OjpA<-vnNh7RdWmZo6)5lgiu`wBh*j|NIS}I5Xg7P2+6(tpEaQ)48IaQW3z3p=C zCAl64M}~5MpXe$DOxs^#1kcfuu-xP2eKpFm7iW(OSRzl^t%ZvEp}O%IxZA6{O}Cmt zFhtK>r?1e6@b0)&sd!9dAKmxjJA3XRrF2>@ZAjo#Y5sSfYl(Z`>w+rnFQ10yCIzxl zZ)OHkzBSlKBj)&gJO``itjE$HsUFp$pKdEh2;4NnEO%)H)mtm@ncD4U%m>frd0ej; zb@MMJ3f^x?iAK_v#UUGS*-WN{+%zc!N7bWMg#5hcfhZ0n|6T4= zF?#xdsw&?73_Ts4ZKu`{waqM6Hn!@7u#iY7zz@*9DapS&vLW%Z4-TThp{;10M#kmC#q z2mU8mTe{`2YlJfAo;`X$IV>t;bn4GIi;8mo=ABpO<_+xAyNHRYDXX@;>0LpG<<_A_ zc#H7Y#x*jNd#1LkO=?9dv`PLXu`-feZ8VSYDI=MLcwT7O`qmlw7^tiNaT?K(W|*3q zs;TFwUjOMw3m`PkuPD1cElV;t?2)gP_yH2xgO1N_{sg^oWIp1J-sSyY{4Vg4x3R4|=_n!LyaPq~1wH2Zjt@nI;d)d8}%h)1y65?5y$YbBEb4lxtd$vm|1PPu3;% zOs&e)svj#}y@|w;!ut_I)84LX!(TQl>}nF~z1uPVx|RcQq~6}%(FWK=0=|Im6YsM< zOIMiOHr&upz_qkr)=_pq=Ln-OB4Eb&V-o z?W9BOJ@Xe619S6MUGTKNU|M?+&NG&Hu z43NIxGgWr&+0{qa-8BV$v~l}lueNKHbWK`LIu=e1{yax_7MhJ><>`)AZ<+N}@y}w+ zkBC@_38N)bZT1?CISKNs2Hg)8Zu5WS(;aOz#UL`d?`oy9{PL#QpXT8%UO!HUz4^E1 zi#v=|6h6;*QKNiZSJi%%pBN;L#I`zkM>G)DxD7Xc~;}@E~Ka zNz+Cel9|1h#ecS3FPZ5`>-mGYnhqsqZZ1!%9S50W!*TE*DHt?)I7an;z|6?6qY&R` z)etjip1b2P$Txi<=2IiO=O$^xKB%ht{fvw_IYG|ZiSC7z_?t~mdG*HSi4)}^jt86g zWs}=8GuqL`UroECV$#xvx@IeN`t=8R-442PVKPKXsWMc$709=7e^!c=y}SfZNW_ zYMLD`M`G%RDZF^o{Ttnd^M17rHwo{9^l!@{<12XG+QdblqV0KI)vsM4x=h}&59eZA zlIs8|kc8gdR4W&Y_#xD7pubS+Py}}ThU(2L*%$U)eTIm{6j-S+9DB&~(Fq^CrH@~> zKE(C8%~%EC<&w8#bTiG{3CKE*4VohdKB+7Br;X^&ws$6f88l8k`bzu-kNIaycp=~J zjLz3#VrLGlbO?2(r2l=PIqVc(%WoC7^ZYN}_Oug&I8ubdvN>NR56*c$cU1|Uy8`Hf zE#I6&e*#BvSgn!kHe46VW5p(8BRW*5QADg4&EvT9!R?QYg}d#;q5dMjg)mIsSsMV< z=F*-21YPe8U|1uyIn2+fXMzUpm~A^}hn`60m*5KR01FYAjQ0A03hqH{O$6HO;7y{ZlY;T#muJ#Z`I24~V zPBy>?-f1rQ3>}a4LbSbk`D;&WrQg<5W3R5Qfn;PAEfGm`b3(r!;U6hMF8bPnf~O}l zcZ=V+9|#PA*-}#$Qk1Ge8WV@(K-`?3PR2-W&~Fy-1E4WKA6}kPsvN+;OwvmL{7FoJ z-?5~v{GmP^1--(VOm?Es)_tA*v+B#+UFy4c?`pF@N(?IVYIQX{5F;rUZSUx~tEI?Fpz7MA5?OC{-VF8d)((-WRu&JWt#F04Y|hN4;TVkMK;#-@@r&D}Am5xe5Ac zR}%vT(*j~7HYK%^crpa?0pdu)`%*!sWG=Ij$$g9e4ptqVZUcrOlM$EGkO31O#$Q0 zlNXzy$wMrG^95&Dj%mElI+f^?5Z@F{lH$d-wQjpY2$DsrM2hn@diFdyG?RCQ6jAk&GAxgC(l`J%h1-&@fOA=sx`%81{q&bx1}8mHiqKo9cReVsCU*e;S* z3Z83YxloB2eMcP^ajqLd;EV5Vycm}8pie`j1)QqV*p@tmKblO$BkUuFf-?wO?LO7+ zCbV}v^=YW-6}`a>_livS3ffDE_!Dwn4bjojaSLk8z@rDCHKOSy*wW4}SJ{K>EdlN4 zz~yU>c>!Icd(G{4JCXIwia)YJHuE)#`L$!1bt|D%{!_2s-w0jKGC{71jqo;G*#+i|i95)hD?)gxjG>H-N4KpH@!IpX zC^}t^{^9xA?fon7fJPyY-0}Ay6J}0^&wj`|Bg0dmmr$EndBhiFG$`DlCR+2}N#RSfJPF4i5te>HcbvZDvj2#J0HIywL=) zOBzv4rSK$-@_aP20{@hEwVMX~;^S6EhS0=evZ%LPYfIG*&hdUVCYGEewx=d(qU~_! z)Pkh8wm`Y#=pVWzBAn~qt3iX;&P5!t-@jAXH62atZ;PQWO!uQpwyUSL`}8*?ii8tn z(A)d)l3<2YC35p9I?9y(C(kl}f8gf17V4(E>>Cy{cWg&v93~!G7)%M4bt4|VP~%M7 zarAD(16u%LRJQS;!PsUlKDs4E|L#0b@?>LGHTCt6YLCXE!;*3 zj=!Ct0Ak2#BY^T!(6yVkRX7`bWncp}G zfP~#^`MS1&7w7I+U4@=Qv}JCvksh0Gl9;;ZS2Kc=q2|x+|z&5zGVP6abRAsi=v%ZHNJJ@~z2cPWR?XJPLOs$}5?# zH;)!{%{GobB;-z=Hbm|w{Y$gx@N|61TeC=mZ1Dy*7ky$eq+UU!6~5}k^Z94h&GP9E zYE4^Apq@z4n>)wo3fK&`+%`d4i$0~=R@NUZF?9R6_8`p1!|0Zz*vP2vg>I$vo?$xn zEY+F%86a&+Kz_WamXXp zcPkgi_@I@GpWYI_=+*L$i}P;lvZ<+2>D#vEz{2gw{g*#B7t5kBke-$*vps3|i|S4j z(Z89~Awz9<@FQ!ODxjAMN9EzCEgvv9ZLcuotdb-}8m-vqGr?w?9m`^}ym4fAs%)$- zaD?!PXoRp^QON7+Cu*DXrV(YY)oApB@B8*Qn3a@i?n9BhIgr`I*Cl_FIGI^A@yfkXo5`;Y+<=fXe_|@m2!HcdvvHUxfLPoPz02 za14Q`4YS#L^@5|lQQ?5EhcC+gJ3BMRcPs1MUc0RGs=NNi0~>TS+eRM(81N&-OHHt_ z47<|L_;{FJ5ZM_6k~!zeQ068oO;}JPeuOzDrBE(6E*?WgMWuBhiRYnzI4SeklC`vs z9BtOt4f#CjouIZHDtF%lyB5@Y4#uu`3_pK{!(*{W4(_)@D}H#GY{EV;kI9d1*B*16z$0##VcAqxhv&*XDhOS)A ze&DbKa5SO$MC4A;>pJvbGX*kya86& zxrTrbtjzO>?K?r*asEb4BZ%r{Zl$8=&erWyy!FLpaGLJ#tmZ23SB>N_K%du!5(l~kg ziAT%QXt!YFl;dnr{sZMZ?8MN^4XT$`6D+nmuV23|ItVCv&l&ZgUjDx4d-Vj3Bw9Ky zP(?8fz9eAhjRgcAC8c#0SIbq{h6J=0X){*-$1UAE`uXM3}AHR+yLCSFqABPvFlwNT|_5GxV+g?_2{ zwNxa|RSv_BRe^}U`0Al*mGq079hBDj8*ekbA5a{7GrSGB(IR?3o}R)_{2E!bRMSVy z3mtEuEYD!qP62wHYzz8QU=tjS z>eQUgx3|l6`vdA>TeY`#o!P0eA|DRx*6(SQ7BfTj=mq-GH)Y|U%8ruwVXXDUJpBnl zqq1{zG0Uu{If13dT=9A4=tfLw@{di+33{OK*(~g5Ya90f*KfLNSd&D2eh9bhw{P56 z0wr)6bsZ*6k1>0K&OS3JY&_m6Ht)NqcMfkPeURs#qy@cERUMt9^9Q5)I&ijJ9lsCo z#XY1YtcQrR|Jl4Y3^l%JJLkrpvoB>~uvPgnY=$=lhfM=Jh%PjMV^mhw86{JB+}Qm_ z_IzrdGv1UwNA9ekd8?Ix&E@&gxJsk2Mn$ov*;Nz`rm-V#yC4@=BJ%p&GONLSpf2Sh+Y*pFTtItn$^BO` zqvfYmywv^`?H#sCVIg5yfEn%fD}kOrV`4HXC^?=lo&H@P*P%x_VD2oAlnRmZyB%W4 z*_(`W$Xo_5w2ye}>RK;U{F(+!+=uISZ+!XJD_#8NIEVB;;xAXz)4CK6Qv!e+d2j@A z`9Tk`)ri3c0%(QK2VSHBdP~%8v-U!qGnyUtxQ8bFyM)wjoAMWnxAaiCS_7cYitS2& z1fM1eOgav>9q3B8B?qTwZ)v~P;&rgIp_>wMCX7a}R)@I%TMID#KzjYU>$sgO;;y<@ zHV?VNM7T3klMFC%V)GP65~e>f$BT!i_xWRBy?7kCq($&xJWrWiAq5YYP~0%BMr7Vf zL&ys?oMb9}tjA$(RikRj-ua=V?Gfd++C{M!$!GX zy3*5)mbEA`_i=An-((=&OyDk*Lc7tQKA+VSv>oO}QDkwPYu+)s5vvAGCZx@^s|6|9 zt_b4Nwninaw*(vL)rp+3STxow#4SO7tZ^iG425=)*ELn&My>T}ooDJ8%;W3-z)w9Cn z@;NRX&$W_oMYecMZp#=zHRpG}7#*NFm(c4ur`CedNyck1Qv%=vbAmNr;phZsv{^`) z?;KIf9;6f_zvfgurI8}~HbaF{4@Iqq~Ug&EjqsMC#uNrUc_+!Ff3RcLX_> z!)oVU9Ah$OA$FoiR%|M%2Rp~ufq-21(qUQra|F%ii^V)|ZkSJXVMluE$vm#XM&eCN znxNF*_o3DG$A83bywVuMt@R8`Oq)Y)5A4?tXJ%&yulFZfp7>9DT1;?3hNkZO z!8HB?hr{fU+9paj<($0GltsJq1|_d6isNIa*;;!pa@vKVshHU6%M>>Lm##=g+Raqu zjAR8S(0>2lNqQbW9dfuB$+LcAq@0(#F`;65F6QmvbD64h>^&U=Ju!^7a~ES}l}jGF zMD=Udev1WCBr0t?kpn1)QG4gKLv3Ncai{f2T;4U`$+BSgGSKLcVI*a&+xS8=X(_03 z(=)3)7$CVoC!--ge|6FsDVIR^iZekbFaW%X(cb=)*iEldImixQ`M(pmL4Q*!!Qx?z zTMi{TruqT&7u}L(z*1oVDt1IkDE)!`4BIh1pg4dM$wo`w$pGk-jMuY&FWx>(HRewx z{#n-$&=KDP{(3fAaOJ<)pzs%*1`sur2SsRr2i?w>C5um*Pz3#4pQOobhIE$LR}%j{ zh``^>v+G5iAHH>RWQobDWI5}&d0OXm-N$Xcz8~jew@c;zy&3qU9~9HUI#Vi6{X2$q zO^v%SKLQ!iMevk|hsxSE70i0;vbP&5+u8rXebX?#G1;tW>fL*GMh4a&7h{JCah+6s`Yw$v^y%?)4Gjc;GL)bMFIb6z&)rusL)A6#Cob4v}d~w=1Zj9jura! zc{S@9A;nmUK3-e-x7ax!ZP}L*k3{7F$O?!mm?G`Ko!l?KoXP|I4%mQIP+ibtf;%ra zOQeD4WQ9)#o~FK_bWS>&=mM4{$fAq2$nW7t@OlD%tB4vHC#u!e`p>X&C_D|+KVWEt zmIE#$_cs(80U*FKg-Ok7B4&7pw5n$v$iH(X3zT2LPpbKDU~jgv+7^6r+Hv|h zDl-!`k)INErIEfvPz}wShAqOIxIQ4g4Uqu+SAGQv2CP)tf_e#J(`?GKJ*=5Oz&5@- zHX}&)EM~ILFV0-D$~|`Am^K(sY^2-oKjt&n^i%aWBoFJ=f1|Tv(%rRoDv;He_48*n zrb`!)d}H`o?)%@|j9hzrAybhSk@+KMzpv3T2)HEzZ~`z5@&U-xvmPLV%2XOWrd{j5 zw2x@Br1P+hYv)1v+>hQFS(~)#tmTX7w+@GWtMgt_+Of$R+11y-P5YIzj)Pq#294G0 z|0Vpf1lNglewN6e3Fak+tk z2BsehEO>cTRRAf%Ux}vabvKe!tBjO0rFS!7cI~9F_4M<@=<4GI0M>r@BT8B5>kd8J zH;gY|hMP(gaetT*h=yP9y1TiD+?sOM_Lo8|0#1)e_fx`QGur7NkY{ZeL?t5Nx@dwo z1h;!2=rO0c30NNf%C6O~&h6N(hot!8fZ?vHPb(81(oO{*jK?(i6|>DKt>2Pe^y#4m zPl|1_+q(~xZ=ov{sLV5WSET4A_;TmPJU>n5YsjUg8YCUFjC-?DvtRCWq+woiN-l=t zuj$6K!M{X>?XBoLUn)?dHK^jeXyW@e+uTqn;{37y_O_{vtSlm{t|Ttuv80awE>tD4yI&EW^mXJoT}3Jg!y^sel%Ui9{kFmf*RKj+Rs zis3B3GAiD2z}UDsd!2a62racxih<03{d>j(grW*&4e~pgWKE0>1*XZ476u^D>Eo-r z5WO|Mn_KuUUF`4aemmm{pu^E`Fzb+Kf^l(iWj>eOwzP*r@Gq>xvkd_NXZXGBwrT%g zEK#}W01#oL*6qXr0=`a*4I3O)0WjQVggKWRM6u(&X zZ9DTmN!>=kx1kVwgnK%8d>3dgq~YqJxW2%?RWLCp5rsM#PO4IO3Ee9mzxJHDve%HBM!&15(9X3@Ex#**<1nZJVq^fYXt^n;n%iZa+n+XK7Z&idT4$##WPE9O75 zRU7s8^&NY^xefF&DF;;zlr^^@{+TGo|2FvlE5?Nri2tRs$=m=J^CTDbuJn1q z*=i5B)SJ8U>2Lk*FPA%V=L;x=gmDJLTqd4_K4((#|-e74%ppD{{|36X_QbYEiAo%J8oNP)0Xl!gdM0KHym4Zx}LqtTc zctkZ;3f#db=p{4T3oIST|4|x&=lb#eNgI3_zOqu%4+;%QrhH`XcGOt=Sa^*{9r=Hp zU>0X!^V(e{J2FF26;(}CU9&5XYL$aiA0f^?2uF|y3%kzll{S;Qa$j;JC8bDV%y%;u zg`LiqWhh1OIeSMyfLR3*eTrivm85Hx;hbI8E%#=cCXRJLVjra{ag0)=09pimF%DhskO#M7gMV3mfE9^~(q@E@p1-$Nt~G zk@zQM2NyHUn$hv8SbNLk7eFBD;A)n#kl-r-`iVQ4BSSmef@C#up5?Yc7^^RDf%R_l)Q zryJY&*Q4k7NkD_n$TUJHZd-FGoJb!Bg(#chA>go7l^bN(oKdVus9~=uOaJximwX7e zxS=8E^*Ma}?c~6BM?oOvc5jVtgJ$;mL4{vJCjKLzU;j>NxrXGp;u0x1YNiaxJNLV7 z-1IBU0m55M{J-QsoUu|81;_^%cHoS2-O#eb!;DGjufwuisz>C(@umzAJ^(H!k9P(E z#E%FWyk3-j5kcFr_Z&K{&-mpXI2;x`-As^qg{tMF*;|VSXiWo(uh*2q!5IJf^Macf z+pJb6Eg7(kl^@eczVF?T%`3Mq*p9>nKsp!6M<;Bu#TK!Q5awn5>6YTYpFIL-rXXUMQG>bl|WC7a7X>D z)e1Gf!~keG0rUiDa;Whnv^Xfrn=)|S{k-N@q?o^LGBE+f`x@2^^q_VVp&6>Ohd%2Y zQH45RU=RqDh0MrmRZ~f{w3#AIi(GHT0o8`O#pNt5rlH;yGKM?usdy~ zx3AGs>36;@eqGcrZ(v~9_atuW)!eoXQm=mQc~C(E0?dFhj~0ugXKzK=SEHNb=qV8P z=NW67pUg`_EoPa}6k{ z8Qt7`wR-*>#OB;$UHuDSmX23=qyDBAe1aUfyyb@QxmQ#&&=Z#zH!U9W3rzv1?zsd` z=zb(j2fBc6@g9yt+8bU!+DO<2D)DL*_FNsS5s&czb3iNoN-@5tiM_Qxa|<4O_q4b7 zd5VB)VXvARt}$=I#i{3idDHm9*9s#c!3!1LPX6xQyWYOJ9>4*C>dLW`Dbt24C1?%( zKNvbM8Zs+9%mV<|24AG_y;l1c-N_Zqfy@0M&J%e*qu~?=^nd4Oo^yF`dV2h|b75ximd=rt&5scZTCmyT9r(%GSCAdlmynT>k=>|8AsM%6NI0v{ zxyJ4Z8=L&gy2VSqe~@!yG?>vMA! zSWjAMYQwo?rgH+3=#k>`*Zwbj?WOErh;o*$9e#{Ud2oE8-~LH{M)p@82=LnB-%uiJ+I^0dKw(_AjHyTJ?@ z55Oqst7o^beWV3=i(gVn*y0$ui~ma>i{S~Zz%de8qW^aN%P9X}pyFRrx;i~rmOASq z@o9DE4x!eRw^4nFblwh@n`qC|QorT%_^-n-h;?l3BM-QYXmm4OEJE%e ze{HkWMCl-kOJQ?nL4Fu#Nv>Q)9SqS$h|3U#0uS?3rWSI+)7AB>xURHt$gKj2-pRNg zRG!{E*x2RzpA4KpLzS%S3q?Cr>_%J99EeGwQbtyE$B2XFSO||+@)Yy4Cq8>-jzld$ zUQe`jKV>R*-W+;}b%$WNM48smI9VXZovWE_d{lq=Aj)RQUZnbh-)@0L!j-dZc#Kbk z?_9UU=v*n0dM_J%iURENoMRJI4PW~FkgfCLXpQpadu)SIR_f#TQDyjT!^!w~jqD+# zF-QTQVQk9Q*Y9saZA|!+1)Y%WQnna`da3j-LNvl$>9mJPKUB}}ED;X$(Q;tm(63#E zB2JaRSESkj9pJn3^wWX*-3R~ox>P~S)b#ORIzdu{!Q^@bj57B3Y9)+x>82%vPACNC zcTNMp*`SN);6e|s^1*z={I=qh;`@yzrqZunSSV04SPFaK@20h)lZ*zAi*4v&RMXdM zBS@*fOAchA&hhgVmczVlt*h)zr|4mhfE%pwXUjw%(4QV#*1&~(Q4q-Y&s0l~t`ATa z;^*=Tz0(Xi8{X+P+rtfcq-(D}Si3$>ACm^&4e81|9ZgUio~IlUDhimAKR@-`q}x0f zswffW#K;d-2BZmY?x`1mjxq4Vm1DB{KInV@ms439NvR{%(&%<#35Q>Q{ybOxUv-Qz z)|t7J#_0^aT1ZEUAkW=szyn0xgpR9dPOYC>umb(7 z%k=ns2&{1L6;(O2)KSE9waY^-pzhPCucrBVtK(3=UK!tkUO_Y69x*l0R{=EkWHr4W z&}Hdb<|yA70|#|$oE;aTk!?)cK*9M}aC^I($D8R`VeHqU#oo(bb0!=7yIoU98^i$^ zemlInhoBE1eqm(5gL?rR%!ReLw=cd8@X9SK>nZn>eF@};szc9>?J&LK`7~(d#p*fv zcxmjTE$FY2Aq?)bKu}!OwX<_uH30;HkwLU9fQO#ILK;a5E`W>{&f+L4R>L!DL&Y9f zhcdr=^zx=$4FSJP;LE2>4OWpnDf9c)zu23Tj@F^vHffHrM&*M(7+!y_dp0`$m}V33 z>eI&MG&e}M>UL%P+WZn(5H8VFI|IcjiuVn5*8|B-@D&IwcFir6ssy~W5C>bL9f4;) z_N$t(I9zU{hCuG?gYlP))^vvxhzHVm#f;5vixEUNBp7~{sJ|J^L)g0N`Of)a3$$T7y`r=e|Ox-QV@)t?43%NRL2t z$}eD0C0&q8ZK=ykXuaF(JbsTKhee1|j6*5)hgy7RE6>L{OW*;1o7{T>o+<6e-mH6p1uQlAzX0aEp)b;u;c1pm`Ksu?v>Bjx z&BWtz+&un^8$1Vi03xrv%{4p!vDodR8n@9++6%p3hLDA$KX4W_%5^MIxaF6&KG6Fk zU_yv8+=Tw}keGEmuH#2bsehCXaD4^U4OO}S_DCIF^7s?!y)o3c=YBot7>nrAwJWal z$(4+zLryd z%Da~m|8b6?-NFA~&H)0j@VNcRA-~b2(Fh>1@tLTr^8&bCyHJ^?sp(QU;uS<%Wf%j~ zhivuHGEm(?Ddh4o--RBtW;s#VW~>0qxeJ{D><=osFY~(hl`vQ7k!eV zl2?fzRdY`~RY}^dP1Ow8?Q{qpz6-cOj}a%q#d$^XA(k{bhxijci0;L<%LqxCP%2?{ zg!AV5_(RtZ`6Xtl;x(9gN@@H;Kt)bo+5Esn@A%ubm4&6*rzCIT{YJGg-=tU4Mg32r zXnMma6C2t8UOkh<6E1k#1zPGT{dM?4wK-PzE-7iOfZOSlH=&VP6CS@NuhVW&Bl6|r zPv%-$V97A8hAZl2^v#(Q3ULssIiC5mNRQTFpRQu{ZVp>VUePYxMMrYv;%tl7Tp9Y6 zB+u-D<7i5i`U4tDDM#CflQmvLv-YO$m8M@L)DTi%kUL+s6QSwO+#9$b=<36gPWT+w z)UNROd_;<=WTNQ6OFIjz(ZekRhv0?Y7$NW0=I&@Z_h38uvTfajmzGU6QIGuc9$|MP z*V=G!fHEwRLdL_n5A$6`)$okG))P0%U}f_5=}GPIapqArrbmYyH&^!`M*-}H5#Q

4NUvbF8sAeL@iEAfM`e*y%$l;L& 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 Date: Fri, 3 May 2019 19:32:53 +0200 Subject: [PATCH 053/196] Add onTransitZ --- code/modules/lighting/lighting_object.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index c233c887c9a..2e549a3b68d 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -138,6 +138,9 @@ /atom/movable/lighting_object/blob_act() return +/atom/movable/lighting_object/onTransitZ() + return + // Override here to prevent things accidentally moving around overlays. /atom/movable/lighting_object/forceMove(atom/destination, var/no_tp=FALSE, var/harderforce = FALSE) if(harderforce) From 358e4a4b48a11fddd9332eb938412d4b582bb169 Mon Sep 17 00:00:00 2001 From: Ionward Date: Fri, 3 May 2019 15:19:17 -0700 Subject: [PATCH 054/196] made to look less like a grill lighter, hopefully? --- icons/obj/surgery.dmi | Bin 38800 -> 38790 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 6a6cf1694a9e9cc7e8e3f849d77497cc0d16dd3a..e212d9c5882c0a020f82a4708f2affc0154eb710 100644 GIT binary patch literal 38790 zcma&O1yq!6+b%qSNQWX_(nt#kNR0x5gdl=|G$P&I3NvG�b62o%Gk3LdcDHeI1OU9#3v|0G(_!B?>!wd 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®@52HmDI^bw>2@M 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 literal 110167 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 Date: Sat, 4 May 2019 15:10:26 +0200 Subject: [PATCH 067/196] Revert "Fixed merge conflict" This reverts commit 5d0bbd70319fb613c4e3e11e9cd74c510286a29b. --- icons/mob/actions/actions.dmi | Bin 113401 -> 110167 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/actions/actions.dmi b/icons/mob/actions/actions.dmi index 662142846c9dd7339deb62adab54727c74352f78..d5e82bcf01df8865014ff8c357e885caff368ce1 100644 GIT binary patch literal 110167 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 From 5b50be08407287537020dded6a71b98c423c9e89 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 4 May 2019 19:54:11 +0200 Subject: [PATCH 068/196] Fix propulsion (and shutters) on admin shuttles --- _maps/map_files/shuttles/admin_admin.dmm | 8 +- _maps/map_files/shuttles/admin_hospital.dmm | 88 +++++++++++++++++++-- 2 files changed, 83 insertions(+), 13 deletions(-) diff --git a/_maps/map_files/shuttles/admin_admin.dmm b/_maps/map_files/shuttles/admin_admin.dmm index 36badb71d1b..fda5ff55056 100644 --- a/_maps/map_files/shuttles/admin_admin.dmm +++ b/_maps/map_files/shuttles/admin_admin.dmm @@ -249,7 +249,7 @@ icon_state = "propulsion_l"; tag = "icon-propulsion_l (EAST)" }, -/turf/space, +/turf/simulated/shuttle/plating, /area/shuttle/administration) "aD" = ( /obj/structure/shuttle/engine/heater{ @@ -261,9 +261,7 @@ color = "#FF0000"; dir = 4 }, -/turf/simulated/shuttle/wall{ - icon_state = "wall3" - }, +/turf/simulated/shuttle/plating, /area/shuttle/administration) "aE" = ( /obj/structure/chair/stool/bar, @@ -309,7 +307,7 @@ icon_state = "propulsion_r"; tag = "icon-propulsion_r (EAST)" }, -/turf/space, +/turf/simulated/shuttle/plating, /area/shuttle/administration) "aL" = ( /obj/machinery/door/airlock/public/glass, diff --git a/_maps/map_files/shuttles/admin_hospital.dmm b/_maps/map_files/shuttles/admin_hospital.dmm index 2c2d31a0bb4..de3cacaf413 100644 --- a/_maps/map_files/shuttles/admin_hospital.dmm +++ b/_maps/map_files/shuttles/admin_hospital.dmm @@ -371,14 +371,14 @@ /obj/structure/window/plasmareinforced{ dir = 8 }, -/turf/unsimulated/floor, +/turf/simulated/shuttle/plating, /area/shuttle/administration) "aM" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4; icon_state = "propulsion" }, -/turf/space, +/turf/simulated/shuttle/plating, /area/shuttle/administration) "aN" = ( /obj/structure/table/reinforced, @@ -1206,6 +1206,78 @@ icon_state = "floor3" }, /area/shuttle/administration) +"hL" = ( +/obj/structure/shuttle/window{ + tag = "icon-window5_mid"; + icon = 'icons/turf/shuttle.dmi'; + icon_state = "window5_mid"; + dir = 2 + }, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + density = 0; + dir = 2; + icon_state = "open"; + id_tag = "Asclshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/space, +/area/shuttle/administration) +"qa" = ( +/obj/structure/shuttle/window{ + tag = "icon-window5_end"; + icon = 'icons/turf/shuttle.dmi'; + icon_state = "window5_end"; + dir = 2 + }, +/obj/machinery/door/poddoor/shutters{ + density = 0; + dir = 2; + icon_state = "open"; + id_tag = "Asclshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/turf/space, +/area/shuttle/administration) +"Kq" = ( +/obj/structure/shuttle/window{ + tag = "icon-window5_end"; + icon = 'icons/turf/shuttle.dmi'; + icon_state = "window5_end"; + dir = 2 + }, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + density = 0; + dir = 2; + icon_state = "open"; + id_tag = "Asclshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/space, +/area/shuttle/administration) +"Vi" = ( +/obj/structure/shuttle/window{ + tag = "icon-window5_end (NORTH)"; + icon = 'icons/turf/shuttle.dmi'; + icon_state = "window5_end"; + dir = 1 + }, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + density = 0; + dir = 2; + icon_state = "open"; + id_tag = "Asclshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/space, +/area/shuttle/administration) (1,1,1) = {" ab @@ -1265,7 +1337,7 @@ aC cv aw cm -ad +qa "} (4,1,1) = {" ae @@ -1285,7 +1357,7 @@ cf cw aw cn -ae +hL "} (5,1,1) = {" af @@ -1305,7 +1377,7 @@ aC cv aw co -af +Vi "} (6,1,1) = {" ac @@ -1485,7 +1557,7 @@ bx aw aw bS -ad +Kq "} (15,1,1) = {" al @@ -1505,7 +1577,7 @@ by aw aw bT -ae +hL "} (16,1,1) = {" am @@ -1525,7 +1597,7 @@ bz aw aw bU -af +Vi "} (17,1,1) = {" ac From 0e72598f235d838c2e85186dac63c981a9026a22 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 4 May 2019 16:01:16 -0400 Subject: [PATCH 069/196] Automatic changelog generation for PR #11457 [ci skip] --- html/changelogs/AutoChangeLog-pr-11457.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11457.yml diff --git a/html/changelogs/AutoChangeLog-pr-11457.yml b/html/changelogs/AutoChangeLog-pr-11457.yml new file mode 100644 index 00000000000..d7b6c6c7de2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11457.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "The propulsion on the admin shuttles has been fixed. The shutters on the south side of the hospital shuttle now point the right way." From df56a7d273985aef11f703ae23bbde12fdb4fcde Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sat, 4 May 2019 23:37:26 +0200 Subject: [PATCH 070/196] Added movement animation for mouses, chickens and killer tomatoes --- icons/mob/animal.dmi | Bin 302856 -> 304016 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 1e321d400585bb6f24ae10580068df8f39806a32..2b1bf3caddb7d75fbe013315a41b0309cf9c1a06 100644 GIT binary patch literal 304016 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 z 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

Hd79)y8hW3B$tefjhcOSI<@uIo_Y>{qsDJ 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 WljUYV2g(n?9zRgMUwF^t&Hn?*g#nQO literal 302856 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

|iI40X>(?P~qaO|B?d~dm|JIK! zxf~^E@yXFdyCnj%p_p@ECH06VR`C+UjQg6!L03$if3?cg@xlUzh$S-NuTRFK<`ny@ z7_t@h{GFbCVoh#Pcn=MR-rBGWh=_Rl5?~h4BIh(NCWn-FgADFn&PE{`yQ`4Y~`@ren|i> z4H9sQeMlv9s<6ZAoi%GSNkJl@rDfHZr_0n$@Q-3M%}A~g$25pKQR8FaY0w%zT?Nkz zAB+-|Llye6iSgskoBn^QHN&3R>8Yrg>c#L^A8>r?|9r6AlTIyp{%a~l@h(@9hR#ST z-2afr4{`=9s#a z!s^>n#F3V9&`V3<_?tg0N+8)lRL0-;?g)^JMJ+c=5lv8WpK^wn&;deoR9xk3yc);t zi+SPYZ$%@@o+2U4irOU}Od@lnOm`!tqH=?%fpr9BnwyTn7AU6bgu4E*I=MLo-wNZS zs9g<+v~#@!?MJ`ujqEa`IwVw+mhEq2kF(d6=rIj` zgEQ?CT`gUoCE=uSKOP_KBZBibcJ40a@YH+FW02Tn+$qweUp|f}?iH!0LaZ_R0|Oc; zf-2w$%nUd8DYJJk@{FrZiJ@}9iexT}X2WBjQZqM2KqtQZef^jMDT>S=%lE;~zhJT{8KVk)FWBF71}~xoF~7^) zKIY~=#bnwFE{ax8t52JV7NPMED^6l}uw}num1DS@fA=DiS-B&x zuKyaET>;Bt>GZy$k0~@gjFqIUG4(f2I{W^xnmB+VmLF~X2hCj>b9$JBYW5bRB;7V( z4x*;TIA0kdIE7u;vUNCb`mLTj`yYUsBrocz7&fI9hrLzl-k(}`pdjfUIK}o#ESGP) z!j=Y>1VI(lB7J6zC<4qlQm)8sMbtOR)|PG5zCWSHch5=589>WS;-gTBRim z|Em9DZR46+iTSam+}ga4bU(wflkebQJ+ALky`NyeOi%*u%{5=#6;H(S*g|RWjLApQ z6lQrPPcg-}bq~XH6TilVA|@?}mY&CIPKAVs-+7B(gDFRxEBoVBZ4S9?zjl+@w0N>~ zH>x@w*OLsZnRQhi)%}7fX|5iHQo-o^uUVSxJk7Lsj{Ha!-uBqBs9WI;7{MCKYmP%L`_K z`8%OlC^brT9(>pRNaf%1S`s{aokn&6X$vfcSlk8i&W~#C=|Te;{Of};M%688PX%dE z$d_K~)So2sYMF{=VF5v)B{AjOgERDlsPeJx`KS=s1aHtYT5~!)FyHQrJZakCg>%wR zt<2W0T>ZuL-J|^3SphI#ty`Pt1ZT+dK2d4`nhhCJYz9+sK@~VZF_$q!O2+lso{S3< zQ-=FN<<5lC<<$`zTE4ian2@UZXs?r|7n(v08pCN|#K8DvT3e*jKARixDk+_m@*QMZ2G`OxVN}Wnf zJoT~VX)BQj2X7>>cZbQ8f(9OfR^~bLWBVTSa$oGBz1fppF#<+i#a{hm+pBN^+{+z`(4n$<%5%+@XLdQXS=(NcvQ86~`cJyE)HpRe?A z#Nvv0Fi_8(ENq10FscVn89=QKKvYY*NS#J@8L6Yw0-Uqa!cjNh|EI44^@ zMtDNw-W42<`uSYYL~J$9btxS$eL!6&OIY4k3Z3i<5m?#G$@g=tr5hAkx@*hfm3?r^ zwq#DOMiLlBP$;>5bm7-6@K=2tfE79^#Y%X@#jviNKor+RSS#)kSy)e`5Mhxt#Ei3L zmfVJ88GB}a>HqbuK{<3pppk>r+ccgcF84!WJ+s*6=v8VhjU|=?)vw2Exo! zyI8w({|5nZhrgbA6Q)8)Y=t4xDEoPE=`shXE3Dk+#6C_+QN6xT2rc&>_$#0|I3p-W zLY$=9v6Z0uq#6VC{I-@Y+DuvoXG>%YJ+##Vq*5RYl8(D&5T596K|ez@)zZbr%)T!h zwjT8*$=2uoT3qI6{jP=vUC9&Wj#daBa}Sll+OG=<_vk(|axgDMVKE#@3c3@nb_!w2 z)PLvaYHImUfsdRNvW&KRV8>b>9{%JA?D zMX$o0B!l;_5b+(LGBmpQs35!E*fV}^P~WK^@vIze5u=!?CmV#E;Jm{yWBk=S*h5F> zefj&6iQhwGXdMMU`yjZ|FDZ9m21S!sR|RL;GRYq~smYlSD3jgwDUPElh0{WBf&e?Y zoirs*lNXf?Xu}A{a2rnYwqdo_^IwJ69XA7$;KtrSfaN`k?qIh!E8?UK^dg`ft>CAF zBg*0Jo75|nzj|YE-zfAaN@o;ZzS7-eOD&sC`uDF}@rq4(*4dU`GtvTLh6nnBLi3jf z#~;!U`VA)gnhP(MOv8QO7yk+@EYo4^RqP~+O+}YHikRE+exNKnbi@D(F7S7LKAyv$ zJcnULE%?c&1C{tsnP$w4iU>i9I~eo|3DqOWJ4IEKu6zk%8Ghlsio?z6_mjI>Z<>A? zDF}mq0tG*o)#CO?R7^?XWsQvOUv|#Xt3#Jejb9hsPkjp zfhNUc1W~;yXkJf&V-Ozsb#DJj%5obopKUh9 zwKrBq6^L5vB|Nx9mugpqp3HCg*QYh!v@znK>5~@NHpMilc5n5q_xTXpbKp;F)%~ zJgq_Pm$NOZg0C4xe|h0lRx8d$$OV?$)6(4%KUJ?ZLeJXMgPT(W+DcG zuc%yde^Cu(n@y~~_~(-3#4H;G#U4m7N%B2b`hK*lcGAkl{RL%aSs0-^s8~3S5RCvU zfxPnQKiPaP{9gjh=39yW~;$46`6;iil0XknDRlsq#ZMq zYzOEhb+Fv;CP7qmQY`b4XL%-2s^o- z9OPm#m`E@I(G>PGI8`}HOzwe8fj~K1-#1eJtY@ao)Zdu9;?H7dK(aWcoaClvn=NJ; zeCF8>t*^h;)`VQm_*V#ds->#_UT!y-uZnZqV|4hAiHI^M#RL^9iEYgP;%P^;VtZ@p zjB0cV%;p?j3)(*U@?+YTsBf(PgCO3pY<8 z+M(UC3+|Wv?g!DwoQ}|y=m=8sqv7%RAgMvZ>p#69>N&7>_%BXW{|)-0pXa^GlQ@4w z^N=*0yFK_WyhB;l={mR~3J)~hGc!Dud&t$2xKWh@@<7Tg)B#I7(B}twEVATk-*|_Q z4;eZlCD~_ahe<)XLyIZG(zBD-=-#$DpNx`7uDbz zyk>hoin_NC^Q*x&6B(b|(bP*aEd-voG7=(;<>i#26Y}b}FRnFg_Rk?p#l++>&{SA% zs<#XQN`i@LT+E!vq}Ai;`1rW^r8%FI`{}$Vl9Wy~i6d?JF>%+|LX;=AXmCY+yx%)L;*&_@|CVh=QVP2l1dhA(24dfj}w+zH*qQWwZ$Ta@8{29gBTq+a-&IE*&>U+I%$J*#1todA%2okp50~w1B&C zf*OQPGA6kgU6Of8JTD)WIxuVR@c@*97h&0&MWG2t@Q`rrw4i3pD>p_q8 z9h5n4Td2!yQW{i?aY0N&ItW{ z4BkqTrMN^fW`8+Prt*J7L?8!jh{lI*Irfn<98uT=wHj7HCsZ-j?AcbFAX=j>d4Naz z4xg{{^7i2TKSdi|)PDEw1d4&-I*wrpw5&hmq%va{jS-$EXevHqbHnFYJ;s;L6{Mn| z!^I|2&C+IP>F|e8T+LD!PT|L|OJ@w;q^f#RT;M*?4kT-!nI)upnCFFkhQh*gW5gQV zip&-7x=gI*^bT5o-6J})|FFM1U+-c*bqb~prJ%hTkiARBs<>gZ_u}dm$Fumd>>D?E z$9O-u`4}utV}}L9z@zH1yLcb$ib2AM4Z1>iM>I9_fHNg!+5?4IlD6P6(4T#zLNC%gJ4=a99>oCt_HU1B zn9EVl6=-~$(<(~Sqk)8aEqI99eZc6)d7Jf~9xZZB&55!HD*SYNbhITta&_O(Uy8A9 zj#TY%8(-lad$x@koAck!U`Pvs9^89<^KArr8hJ$Mk`riff}tv`8mQuNfv@u&!fel? zWJ{6OF#>!J+ueQim*bMM-ZXuaeEV;op7=G|lFBHWE%@^EYdf#6Jp4I`$*lhevg2vs z6QHh&dA|Fl7~{v|`jEa%^zA|4Z=18m*GA{x;ATd3#H&G)r7R8vX zkq4h$(g?JBdNG3Ugbm+=&le^phx-CUdXZY zHWK5_1%}zyszRvvPx9L?0zI$TywHaW*}OzuF~QP1wHS9ydCwy5I-fW5B1q^yfP`l+ zrXoa=o)-$i8O=f!`f`Q+_VaBORoUX-F-U_ucpba8IiPX!c4?as~NtY zqMx8KN}UaY&ygXz^CEI7Y9}1-HRD$s1BvW{f`UZI?P_-dbb>8kbui0E=9d}zU5Z!M zV_k+=njX&YdJmg@v+6=>5;kv2(Xp)LE`NTzLE)&Kb1rArZt)x5m)0cj`zjt4?eC0e z%*HkeHY>}p2!D}JYI6uTA4tA88N~`06e5s_W`=?Bg<;k4SjYvwWi&KIKCaH4zd(mg z-~y6F_ZUsvGkmGL&ealwdGsKTHYq&pv_pXJB?cb9msPbwxn@#NWx*^}E@ROHuw_E6 z0hti7;D-}1%aO7k(LWYjt|qar*N5!16P?jb*wo<~HV~)s2NjM2Rc4rU{3~6B7~P`O zP{Oz$1Ph_p3f0WRr0PzU=t|0h6X#U;L-d*PDC`73=2%f$7v+5#{cI7&+kN!^vGvta zaRkr0i@Uon5+uPTXkdW^N$@~$Cj^2!1a}J>2<{|EaCcZd!5xD8;x3EsoBZy*=e+yQ z`-5d>cDA>7x~jVRtLpl+u*(Rmz{iOj2(E48O<{5GOEqnil1q!O+ni6U8WC>zulAN? z&LAVOfcPs_45?O9njzVc+Q~`W!HLTYMGEeKWQrGP?SLP!~J+o33w%6jMtlu@ok z$s|d%)ve=}XRUAGlR)&8&n2V-6(1=q7)=lr2SJVkt1W>(rLu|b+hNOk7=NmQggHrO zM1}f){X8zz_g47d=u1kX+gV6*bdU%rM>&9UnG7r;KvTc+!<7J#Q>jD`FYSbkbVUT~ zJrzc?VuqOhug}b&Rdh+n738_6F-(6I0o;na{auI4cKqz(tWLIFDNwE_q?g|;G&Pm- zUk}a9%u+3WNY`Rvqwm}Nv(_@aWYJ~3eS z{g<)WJOlG%t1NhOGs|&46)F3mY|Ptk-@S0E6$^BFB>wk_2YH~tjlUH#?aOMsePkw7 zNZkjqr|`meq)%iPRKpMWIZ}WBD*s+iM;jcqPhDLnk?tEy+(Nj`+CnbfX0!9*{<6C0 zi7UTGH1@m!6hQb#qxBRMauZ8)=!Sp#7*gJT4vnwDPZ>lYO7m`mwp2hDMlsPU3P#N~ zGgG=CT8boutmsmM0={hp_>DedB}Xv|mX>Ypf9-7EZ@D#W{~Vcmyr3c7b!b_czE&n) zZF}4;Izn;7JjGI}%&p-kk8{@IQ%;ln(QZusYnlcLMErhvegyH2XU(}B1-ZBX@5wN=W=aPrNXKeeyw#J7e<*LJKwtCIthq!AVZWb1{Jc+^#83B1o+rY7g( z#tk&<2DcAS?m|3AygGP0T-T8~QUwI0livMXoI43SFdgqG&zI>B{QJ8Ne=0h-ciZcZ zIvZBvwjTK_FG_8e`0l3wFF<)$C)5Cxy8?Fy5?cA87_{%icb8?wNTwx~6q%ZLq7UjD zuU`bxR5v6nBFK!P<>d$|Q!V;U(kD7T*0v1nqhRHK!Ge5W-mhm^-qoYz&zonFzR#>m z6W5gdZ5v$SK0;-QN?BdIG)irU3;|hgZQf>UnbxZ=$$aPM& zLqz-6Jipy?RjpMb`(cX(coi&(9c-U}xvZ59n#fnEGWAN^pYavI~GFTYRJaHVt8H3*5st-ds)a5^TBme;Zc zGe&;j?s%w^wyL%zTK(^DANQ$qMSrJwp>NV^I$tg;Iiac-Ft%_UCbqXf-K3Cz;z3+owRP`O0=fE~N5|#>7iXEYTPGdAenH zg{hE_=(KxYSIP8{v%guNH`Q`GhWd5^8Hck9`hUIbV(Mx5*0?1LtAh@Dc4@aXZ6_ty zUZOxFMJYt-7-A68der#j6H&CN?=g(}Sb@}1m9;X$QZ)c_$;p1{5s*bUq9|M>wp!(XK*CU7Bl zUVMB+D4rUxH4K!LLOe2rOfs`%_Xw2v1%TKHD?eCL&~UdKO~|6{`Nc<+V!ifs-j$Um zQW~88E+h;b96qNLqs;+6%UJt5{oG>ztoR|McFe{rZDXo>9mAM5LVQ?T9J4d76GcVNbAn_7Fi*Zcw#5GLdwKTwa~ zKhG~xd6}*y=?GH^tAIJM$x(~Z`NYU|78I$l0Pmt73ud#Z%q4y!K5d-hv2^|ad>j5F zDK6DIEP!N><#+L(^y&_KEiiUb{0Oq43NBQI~L)Xfe zvEhu>11le@xZCe$f^vE86VlQuflQ8ib_3{i8}>WW@J(huzJv*$8_RW= z`R;h$+64zGHmHn2CAxjeX*}s;n$FHR)VcdYxQ^DakXu>) zESR#JVqNto2)r1`=$x^D`1N9KT;f8Of$fg>N2&f1;s-LrUBxYYz}-ZFr(K$m5sX2%51O6}fB!mlwz}>yy?~gow*jo! zeD+Hsw30rQU0q!vLhmAC*49imj*nxTU0@q)UBT$rx*<(y{zCA(J7g2I9ASq5s(QT< zE->&reSCdoi2{B6z+f;aK&y0S9V}=SZ}kB16T)J7goP=vLy_aakp443*qyf&*h#S` z3f5f_nm%BNA1w+xuGGP7c|u0U(2P1jw)O|$O_r@T)#{Z>d>-6t#uMSUYV+AoL+CK7 z9SSf-eY2gflGdbQ4}VV6yVU>~6+Luf44&ZM{9onqIOp1kHk6O%ESKy+dB3CLDkDR} zyDe#P2d}Y^D|-9Qr@vWj$U~XE1<-{D(pGpJJ2M2tz`(YUHYap`%|mAw%<)J`+_as6 zr|TqSQ46VflGY_!CLddju(mCNroSj?Wc5SAnZp_wNjU_<-e+*CFh+WM`b_B0jVaPs zuU<9Tg%Ac6!jBFQn;hFeA%$V`pN}H0yM+C*bVKDuGK8Rx+Z~!NjojOZ?Cfl{ z(wT89K{1P^rKLBUFlJ`vU=nD#e&Y_RBe1I;*hqJ}onjm%8?&|bvF&`20~C;yL>fzD za-s;(M&>)Al%3ixx=Cdn^pOVEGNBVUPj~deuk5NC>!oEa$Qs)!TKH1%$cgL&(Uime zLK=Qv8$K|Efo!KK$748YDCUbB4UWs>BJ-ze)IO4Vpxa@ax?o3eb~f;SJ6%n5fG)UF;oQj8Ex{F1OJ!wQ9t+(4kje>;NU} z9q-2w3N_7wM(4r#6Q-BE-CqrPggOhj;@_8XbUa_dByYs;cQ^S>(-k&^^Fk+s)~>Gv z<;5%QGM&H*!&W9HCKxn zHKsJ*c(aS8j&60FO}Q3MScz{Opi;zmGV!H4Lvgs`*BW_Hw z-~CbJ-2n(BA4hM|ocL|+_*msW0%tNx9@ErnuwD`Z*45R`KSi;9_E(ecbp4q7>1%Fl ztN8hajcQ9&)Iv%npf$-ho>gx;x!|>olkKSLxA<_MO}WcDMVZE1b%iDRNSpl%oo0JF zrey%({w-uBNS*23z!COrb)0B@2fh3&pb3`;a|8!-l^6`iAS*!<5NPEKjP4m5TLHj2 zm&s)oB#A;>AuVtFG7BMk0OCCSNhki0?#cb=+Z!(#;E7U& z1R@bAPr|jZ-=OIHP?gfSu9dX?Oghm8?_A;QX~WuBWU&v1txh|&#L>6$`$k!XrO_4t zitG6(yi#rR?H0FB)#j%sZ^s=DW~}S;ohK`}sAK+VA|MjKM@IU(!2Z2Wds7p3HZMo3 zZoum5m$C%778ND~Ep#IA&A8N7E28||HQUX_7wB6OFq7A+j($a}P+A6N4M8Kx;&I!z z6T0fUeUT^i%ywr6clV#p5Um|Wd`Zng#t&MiT<8qqdrY8IE*xOgLwey|NX6Xmg6kCn z0x8i0z96Uxpm30p%!M|^&ppg7J{P%{U;n9}dP?B|?cA=3qroh9e`u-XymQO*r83In zWvKJ0GT$nDF(&Nw#u{2Bqb~0ujvtK>_fx6}IUoxlXm5275@-`+ZhlDzg_@%c#b$Es zHuv+c@*a-g)-uvA{5>{5usq{-kPY2u1UasnZG?N=t@T}LoAiM0f~!6dxwnf-^?68( z-a`yGA~Wj*QBhH=m|mXOurn!;k;$mor3PcqfabyW!P4gBdASDgVh_V&HHnb+Hax#G zbA8Zmqv!(xh?=*mLW{=Gp4-Z~A`f@%jYv6x_ZOOpN1hW=jLzcjm?#GvPI&Fc)8oAo zFnPa)4Q>Wxtv?pIY&!wk^}4L9lbD1g?Vr!4s;a7DHOVak%D~eEcrhFHpw2EX2~85j zQpCrI8@l5T+lKow|3#33%*M5XYX+D_Z@*Jg@BFq$^(tBMNS_lelcz&i$&98zf8(~+ zl(>p`?M)LJ`76745l^SpO^jM(Ri3C)=D|g;LssQ1l~PGRa$8pl5Ma;38t6wU>p!-2 zx%-&fzxy$8v>bEz>gVWFnIUqtBlU5HJs9vBK_(kIJb)hK?pnr7bV;eacgVVQsbpjU zS~msWd9z9Suce7Ds6+GUE)~(jVOU5uQC<@{O`N3ku~>r=t$60#oPmdw$O1Sk%JD8E zP7cd)p|iE5xS_^ci@N32Ilq7p+|k+c#>YzWBB1W|_@H<$vee9xIpIP77z}~LxCIQH zV`q}Gymp;gpGUfHK=A{KFC|kwlFC7hbIt*2z+pNr=m#D0Cwj6G^eLve&Prl~leve&qD%m1| zc|Bo~ql#0VJv}|mXKZk*KlcRC*{_-}`l`(bdX6HSw464{0we~ z=XG@mU^e}XO7^j(J36N3TqF6GXtN-v>hoV2OsCgRg2@!1JKX}+c<}*w(a#?{DQ1Lq)QwoPYzs&aLQp2dOu3h>Ke}nQYO#1+nWSbY{Gib@`yOM=eDgg z83e7L_XM4R+!Fx>Fwmu*i7WZ6HXcJh7h_X>hIzE8QS|CD%WYPg?e0imbi%5cFe3zZs2_ut>}4?sdG?ee4Ez)_~uT})O{Ew4Qc6@XWpy+1C7bkuG%X%SL3*$WuMD4}uVg3Z^~AF8H9$4_D~>>C^hX z=s+^*^Zt|inXPNT9f7QNaXRG?V&X*-Um8>U6KV0ZVEmG?>Gn#(vv_uGNMW{L8au41 z-g*h(P`fd*R51I6x{Ul%LFu~*PQ{vXHfZ^q4_agiG3fB_;190uMVg}@Z@>Tb!Gd4d zYjlgK!OFO)Cgd#xBmgr-+cuBD~r=;lUd5ONWh zGm5n0@PU@Nv6f2Y^66qJ#rl~XcAquvm~TlxPi2+5)!jqhM#jQyfjoiw8~B0z(E7>A z*r;0t%>O_&`1i49kNV%f4Gh0=U4T(UN;|}o%@CFKOXKcEc#fYv01CabYigfTOHGTa zq8{ctdcVkat7rSlOHRRAEq^YaxFV4~~oML%N*9#p#WPX8Wgn0F?ek2HM z`@q}*8ANu!cpm^6L0&mGgCt5&GKFET9*)IJzQ1m4W#i}|E1y4!k(TmPv1=BS^<)m^ zi}5Qc?7ZQyv-lB1M{}kld}a4a)28b7Am#K=n7)p(v0v&6syYt!z)Xal|b zw$TEzwIYo;meFSpX5&vOK$xkXh#R|ON1*%i)P?P5C_f0=_Z1p-R{zxLIT5a(ZEO&= zi`d55_xF9Oh1Iib%@mquOPt`*M1Hq=@YxkcH&8VSAt_p1cWS2YjC?p(-Z#fFR|7Z`c7LBQMWhF={g#09EfY;>+^-FO=KzI}tqY!) zYnA>R?_qxjoZ|{z?0}d6#b?A>b*^EiZ-~}OA3A2S7;P7P)s!4w-Tb5m){N!@u`J>E zbi~{AyzYlO`D*N^ODW9}-Vg$;9`nCshIn=))L2Rm=OY}xd^3NrNahe@(!ogYqnUpxX(&TN|Ir5R7C!JyiP8az7!n4$6i|@`10YuzQ7&G zfaf58Xvc0T_q*2wp~S!hT?>Y&2-liQLq_w4HmwDdtcXlof^9jhY z+4Mby2!etlC8(lk+h37F1@+)!QK4+@S&H+4-80)c>}r5gc7EQoyQH3u*x$TaC6haJ zI+hMeh&77QtgusqMz66ZczP6_O{Fn7ycRdI6X~agHLYkxKT<;MG5~jATfY?FH3JY6 zbpwOw9-D!Uf%@=q|69|C)Z+-?G+%^=fIkiQ=g*%(7up{_I2B~B8rG5mr}2M2Ry8!B zGltv~fB?&a{@9y=;)fC#H+2Y~D@S$eZ+eB8R zZ~~en5`JuYQqnicZ@7?%Ne+O-glBKKpo-Gc&sbPwtGsh1Az2QFh(?_U(!jt#RFg-^ z3GF$Ax7c@NkZ$d#nBtqKn-%Z4e{AjMvx6cC4gD(rPTe=2ia1@#J4Hf3)+_#9P6f#z ztBZ3zsgmrwE5K36W#ZkTr9lJJmGuJhKUJ(F{<4|&W?{))ItH`#+-1&&_fRXvW~G8us7&^(v&=s+O97cG9Br#l-D z)#j9!72>1*p2H@Zu9rb?&xHR5GeSa<(rfG2+hL$KV`L?IU-A=gq{sX)DUuJZtzST_ z2!Z$U3h+<3J5r|73sZe&#^NGVY&b`CEt`*@(&J${{AoG?V6N%#*QE)5*+pqMk1`uq$6 zK6p&v!Z+ioQ?H6>J%7cn?mZ`ULOAX+D0WaE<}@#o-xG{&UA<0Y@F{XwlBX zB9unh9y&EeVrps%XXPO%$jm%d?lfzoBo71o!I1z~_tSH;sk)GepbL44xtt6A(ixfe zQ#Ul@bVP=`>`fi;QDDiHFZ;F1Vu&0UEJ;fyZq$1-)*hRd^-eYmIXdd(#Nm(H*^njW zQxCy>r#~c_+b{~isrDoM&GFEcr2()?x8@_3v$M0~1KcT^R&??QLN!MckAQ%HQ?~|H z8adL$`~hTQV>9Hdt)+z=!2WQT%4d%LN^ zQ`6D?1ozbqRmoLnj(DRHYkjbib@+qXIUX zBCoX97AMhKp=Lf6UICz?zt+~)mZNWlYWAx?vh-P*nU3dMZ!0p#)lD96+Z7cR8Na_X z?V}mjWKER*`96{uZER#jwn!yQq}su9zzC-4BQ7e+C?rHqmrtJS+=Fi4u2WoA_C{tJ zdFg9RXksEs7y&qzOTPg+I*RY^?w)x%Yb6-;5*_$T1|FVD>8G)wA%PYG#@mA+%7=cF zL4;XP5&}T=U%YU59hys+U(5J#X#m91ZT+IA*lws%cN+YfG5-Gj3qK9E5JRN2Jqb&T ztUkg9tQH%%$lLjQcKti-R5LJ({v#4!*VOE3e8-8V$_Z-BmCaQZXuU+K3_}Mil7PS&`)41n6nm?Rnlo3|Z>a+B>w!Q$^%d+Y#W=JjJ zcl^9U;Jn#JKkv|v^7jYyghkvpO#s}&xvL)YhaNW;AwZm?N`*Y~HTusOOe1U!4q@i| z8{8E{KcglaD##I~dMkV{!2XvslH($LEd>d8l8LgokXMc8GTa*b9syja7zPJ@Q%;ya z9NU}&1cj{sm4R_9sRf3yT;JYIs&vEVXw>uH5vR5t@Iu~o48Me&Ptjpp^?~tiLWERA z*-f=(*q`E$ibdL~fsgcG)ptu^n&(q)9QSr;egZ7YP$k>zffJu`XJGoX-#XtpANt|` z`#1OWTXA7@wq{MWr+z7G%ix1QJDWAoAPDnpnQo6^tq&6H=qTpW^?I9ulQUZJmW!KP zPDh6l#2_I-x3aRr+u*AapE+zaZaJ2{oxjMRrX=s9p>|e2W9@W(sGD_k6<5kv{Ogz5 zXbxly%d1`w&%wdr;cNhGkQR|1Eu^onPdB=AO1&r~Dw_87LGH9>_X)m9Fz$B_;^-L5 zfvg_x{RZIi-clY(&|E@D91()^&9%sH|CPb8h3_$aO_0MP>u zJSu>ox!UO?k5KgOYNqE+4%qx4#e3h7Rp?h~sawYg*5j^+ySvc!@v_ZnP7c*L>9|~Y zyY~%~xOj$s1!6T-SrrEeN-;W}1_5EH<4rQ^L0>q4zRGL)ygH`$3Hg=3`112wPr~XL z_3cZS_lmS_O?!jXJr0{2#))D_m;eZIdgxWJLIdyu=Pr7?w_^iW3|d5T5()mTfu9(h z`C#*+f0j3Yi3Zx?^1&w8=(S_MAjC>ER3<)CF}tD~_0!qC0RtzEZB8x`8fT`gt=OZ*9Q)&0KE);%V&8J6I|Soit}J7=eI>hEpN z&IgNf-tH#!pc@7GJWlV5tT)r?942_M`{ zuZQ(hd0Rk$A3m;YUx6tC29BU16KJUt7s-D`YG)Uzr%S3W{I&dWdeMyGS)wlJAdXi6 zmQf8jas@==fb9)bnd)1uXclqV!9~ZTMg^gN-ldM|XOO`Mp2})2nJo$%>$L zaz}mrN<>3bs-eYh^yqtfLq|jNbz{RU*b9Rp0$%ugXs8DWbako1Dmaj{zkTb@l=P*J zjEs~S2Lgc;0Xabn(D3nxE9q6l4)Rr}C^SxzhQ$BDVuUQ~E>+lpe*I!`p@xd}0aL_Z zbQ=h=Wv`7D0JduX&HB*be4v$frC!iK<{WazKnhEcigT4_KfV!)J41hYxvK zpRDEd&;m9Q(WqZ~JV`U#_)vu#D#&Kq0E^>!dQMneSViP`&+@c%g27We;egM$ipdd; z6uf)B#yEru1F02Zc6PWw_rrFUl?!3x4)fkDqAED3t1fZedr9f7in_4Oj&lc2-uR=BeTy+#oIZEgUYDr?wm62z5nG;^`p6M)UFUNjF2r z079NX42Vid$hIGg5%qlu>GkzBXnt?t88Ox;-wv#R3aOK&W&z-45hTU9(vsboQlKt| zsJR+Nz?sz#!Zsh{-O5du^Ml9XG=bfjBqW6xXq4$ccPMz`{#(I{g0{_gB*&X}21F7^1E z8{^p>l@Gj&zj#K^N{|?Mr3+*ibU&Ooy?p%Hf!S1Yl#czPYCYv=43fNk?kJ{^?7!G`9B&+$7Al)OKp;dn1BQrzZXe64H;;I;oSPdZ zS?g4rIk`I~g4GVXB0?ECKSH!Z4K@XInked>B~jEI37ij_mef;_|NTS5P1dT}m?cqyn~7mgO1>(M`yxJL;_c}cP$Bz*4(R>~+6Gu(jfCa0=Eam0j9zRJ?*SGJ@ zM$%t?Y&Zmg)>hiRfz*&U1_rcI9lJ;=+PdCeSNmuf7#P8V@IsUA!S6rHGVRnJA8Qw2 zs`mC3>Ie;@vM6lENH9V8bZx206VFhzjiZMcAPsMq2(e2%AVAQp7l3U3gyGSkHXCtp za1e=);oFH_1y9#<_!QOPK>$c*qaU-0dHNoMV49+%qoa3pRAm66oh-83<{#qw;rX+A zq^KxtQ%kn+`j_5qWrQD7F8WI5$4^kWSudGaNsku2*Gnt?p~+nOjvH_!PCq-A_Zk{b zz#$ytl8h7k7(7nF77La#QFA~=N8h+WECvuUvzhEo{?vh=3kIKShTu$q+kRpMZpQIe zK-$Uf=?3veKZ&sGZ5FQczsybTzdQeDr=+_K}`_ z=q+)#EhwOHjhtRFQ@w_dn4l~W1H?U7);i3g{T}a?5g&2U&U2!NTUb-IXSJjHXAo>B zx<|1RUe%@#V}PI3(^3`CuK~;I)F)kS#$uh_+w~1=QLT;+QYwsD27R00x(#e4Z_E6^ zm|y|=w0YB>YVXaLAZXp^DHE1jv{&B9zt?7Sj=D}CPWri0Jg-B(52O6k9aflL?NP+j z8X~u)fh3M)RP3SfRA(c47Ok<$d%{O)DLrtRrqXm*Fz3^vbhYTA?(t2zpcZE1g%gq- z@~wB`+Rl_7FSn$-LtB^%64LHU0Y*hu8QI!Hf5nLDnAs$FXRpKTW`is#scKKz9UuQi z7DdhfwKsRZN*&+tGuC##mb#i#9FS27Q1__D?Rclh@iNn66tj=+Evt{3I_b$9sQ zukG|p2KRYBsTn`>+lq|;AdCJaOwn<7$EIQ%ODT#3z!FXV2)`JHOxyQ_LKqi2Bg}}@ z8=1rg8(Y#>JDsbPZ3jc!{K4w0xBqm3)8`9ye{4p~^t2|RDQ3ODv4VI~{iph%oDra3{ zCD?Cn8_%cF-BR(m7fjaF8cFC9@Kpj?3?xJ+k$lGlz6-8J>Myb_s5%ygfk+x%koms* z(Yt-;l^H=>fiUI!oheIK@G~+pZVg)UK!IS}uf>7*%~i0mrp)^i6K=BCRUzhXU%+NuY%F-hSvfu3#k(;&W^eLV zbI5)Al;2MvY`s{M+zDw|+p&Q#m8Z)eGZ3^;RdS#i%SIHj2{ATNQEtg+g;iNS`I~M$gS%OMt;}!e z2@@vtst+?U-SYXdIwWT^^73CltG>h5x3|&!A&|`5=XAcRS1g@RccmsU8KA#6$h{P| zXdYkydfz7i?(m_yCN%Gqz+4<$Aew*a^(2fDF^#hSC|%`Z5~tY?p?zbB34OJZqkw0u zFmJ)d>mEiluPlas_2f7%c-Su&_-uAiLnO&za<(vILp_eyQ8lTUuy@Myj zglRmBJ`?c)zT2lSiv?Rp$_33Z0w_N6m928fRRQiAmvO_xNtXEQ(wV692hqnd!g+F* zjb@&|-1I>9)$c#1{vPk%b(dEdt^=eygM;r3{9ecM{}ph&yp*3gDu};tW1E)<&)GKs zbV_;jWd%2=L9*_?C4V!c+X=ahXT|$OVmO(OK}*Bl$qgTro;k~oLX$VwSY6_|lV%yA zRoXY2C4M&89lCUZVMT?Qf)Ri&i>WZjDeY0w^W8@7!wZH{-f}EYxV@Il{<1@LJ^=O? zTx5HYo*i`l=D54|<#4H)#ARm~D8i1UlGPF%o$UYtKRG8}#7Q)Lg3@ z>fB5VQq%i|3>~eKYK4O8V~9(hYd1g51AgxlQoED*k@oK`WeCk~!xNHk%&~E2S3!P$ zP^|`QV$aAjiu-jrC_uarXsh?(hGvqGNTp!4lZ{Sh@!D|hushrH4)J(>9C}XXFCs3E zK<@dIMvdmTUsHYilcohotspgY>(Z>7CB;~6*g1|P@cXE1yn8{z0H*@oZKp55$0rxUfg`e|yD%r00Wj+H|j% zJ{Y{ud9g&yXm|OmvhRY+CDH5vX~e?*#i*w+zd5P+ zcj!zA|I%n__aYHpf^mNTUC)i$FIG6;lX{}vE}(8s6>lwv2M1*y4i0xafDYhhC5m@8 zk>beDHrV>P8KAd3G+z3sKR|$h)5rJMpX|9zao>;cf$RV>PC#6orlYenaA{hDP@I2AHh9MCap}-t zq}#Yi*-I^M9tZHSe*E|$s25TMtetXm8IqEcpvS$M!B;!4w0zI-#I>{TV3y$1IRT3= zo~aqjoZ@>|kdGPYKxSlBP0dE(!u!%0vCeuuuJ`ZXzwv$o2z7{niNw>(i;0IvHQcyh zBDbc77?3ebimI_^c{vavA)#kLHY;Ro9J<_vA6)QDT~{{}$nXOMM?;!vUzCWFQbDiL z9`EOStP)LZpsCESb#i`@)QL9=K!R_~Cp_qEy^VJM`;z#CgsxYM%>wHXe*hR#P`qCy zg@BS$QkYp-LTkk@Yu`U)XAT1iuf)v;vA_@f^p^x^`N#W`Si}q&8GB_hh!IuB@igz` z>uO?R8WbwEvAY}b@ZeMM#KXZsa!A|edPax@!oZLR(hO-LluI-ReKF8yu)6_=5by{R zTEehR%-iVcv5Pg!ay7M+043=$Ar#7O0DD^eq(-~_lDV5Sv<(0XcJXu&pU&^DyU@`! zwdP`N{bNPd=p4UhaL_GS8?A_5&$b#}g2crQ{ z{3|6~UVZ1*|HT#q##=GQ5YRe)h*URYJV;JWjZGw=JBXiNp!Jm)e=GgkXwb2k_~vlX z@dIicm6KcA6}38*Bb4YBRGRl$2&Mu<$TMPwXN;B}G8LmAIw8M0XB<9gyJ>r9vk>iH zy!tX}c%|jL>eXrZ;RN<*WGgNv2_;GgD(1Zm3B|cN|EZXAmUxfQ6+psZ*#B#PB5h(q z*wP|KL`)noJFE5M@yG!LI^cPdSTw5!8O1vuOpLq&VeM%-uNLAi21xA;639krIYza! zR>1}(+>wtJim!G*WpiQ4UH$q~ufM``S2itN-*E2oEfXmrvTE2@uiD|hv0}?oIm+ev zheFpQ%>~7kV|cS(e`JKxYn@85>f5BqP?5bHSL8f_L4jb^ z?U=A=Ef-jPGW1dj7Q7qdarn*rGT_0WuWz}@E^p2LM%JA|?iu#n`AnC}A=lg2M%f*S z^yJ_zA?I4lv7ITIuhqxCCMzN1Ml7qKs?Vx)^3QyBlue84B(!gpwmAq?WrQt3a|2taJ%!uHsOD&EJXZ`noeYb z(AUZlK&{pcUnQodm4L_VI9^;rfiZj3@T8ds^W@plgo zx4tDN-u5jbL1O_m;?!@z70STFAfOk_^g)qQS0_rz%pA6~uwWDuqxQZ&>?$i)p(%!J z-GdQl;9DYQIg`~6Us_Nm7pJSJw()^~R}fmNnA-~w`+m;Rjjp`PJYXB_&o=tndcLp1 zIwt0UUC#H}-fte`DEW||1{sR?x)YzS;CMBtspBgv+WhjVzjm2->5+||}OCh&`1Hz32atbyljTAOrg9chT zI8Z=p-%tj81joEqR(@%1{pv>A?y&y1ne+e&k!9r=MbpaR;vqxLt|vyG|E^7Oc?{(4$MYj-eYp#SF_lTC$}x5U!; zJ+bbAyR+tECg;`+%y>&T%cz6HWhI)ENSN5Pi`Lz5 zDbOYswwxom3(X~DaB>7Cv+mK{6os_4y*loQW`7!;t}>ii@8Z?|=v zqN*y44WA|~4)UaPNV3k?ljlDJvw0it&M z)@h#(94|oJDJh$aqfBKAldG~Kbw9#Om4LQXG9!StQioCnr$b%U{q?*fBf@=}-!ZJ? z<9NCV5N2#z|9n}2QhnTcfXnwc6L}&TYD5sy+wFHRUtCQ1Zu)lLPi5d6&7C9DIzH9$ zT>)uMIY+7_p}}ualL(`TQ^LQ<0r$tPs!R5QPq#S;D*uN~@IU4zr^WN_AwIW#&9~*& z1yZP1>)oLdv9ZS=&daAUBq%_2gaaM3i0Kjyr@cv*!8J!OSuAtRzI#Rs zYGc_jL_#9wXzGMll+n*XI~E5_2YCpVHqq%t&v5>^pi zsBV+~n{gE8?gheZ5j>n17=auYkiAUeOLv%ss>oX13azs!s6n1t*tPIvmLG5Mo9yk%RfQ7>#^DRynwf?xSK_ulsPgE|FjwRgUh=GAGLi^Z41)>Gwt4+ogoHSx%Zer62k9 zTL20&7Dh;uBUFHhr{#gKiolH46WA=f19u=fR`+Bf!i%XOSX_~LZ7zN{VP20XCjQW3F%HKC$+)--EQu6)1i1Tw@&M2)ia^Fs-4hWb`(K|#-v zN5RD0xr6KF75t|D;ehDf)|mDrRxydRYO)nnLYGzXuF90T*Y5jw8Dtsbjggrx#A=S; z7#j;qUPT2t3kyr`nBJWNeCN0EZDwYH!n=1enwo;n&aoR{#9oR$1vqKT`a2rP&8Ng*K(e?f)+9LUzQ}X5DTVaM?W9=OO3F$&Z3(tM|*%pgf9ml*_c=`xNl}8t{ zPn6Ws_v91j$4H#PYS@8U@3yPyUf%2Zr%R@#@78^hzRkIzp&ellcfQw)*U1qX<6yj) zBN69~wr7kw4ta?L&;$}#f~YwYx|jX2uuAf*GtVo*c>k?D!tncMm(`tn{e*0)2;r4# z^B(b|uw^Tb$;$PdV;s4PVH75drZuFqBBRp)HRkoY6R#8=`O0q&qFdE#a(_(5P87KN zhZ?SC^Fbg>VnI39IX&iHgQ5FvjQR8xGh8tjzj`m2Zvy6toUEUpU(TRWor3;D9+tUd z`>wI-B-XAXDw6h%=WO4SzOVG6VQF>8YfeyZNlE0_=;$q^fCk~0 zFR6rX_ib)%AquPkMu{9JC>-E`b>H2Cvy=b2=(xGt>7&655%fz{3p*UZkUj7KW*~2? zJZ{}ei9c)Q_QFCvVHPdf-@%Yi>C-JXpxaN|crh4j49(i5f6G?BQ&RINK|P^_=XfIKRpFH{2o*#! zf9NlOrB<|!2ZC#=01JMJbFRGmpNDhvQ%Q9AM)hRqL@~|zGW6*ld5eB^TrDm&Rp$%> z>O0a~T2gN6PN8&dU5*thRGu#~F4*5GnH&$sNMUZPAYW^8fL_oG6x3e*j5`^Um21&U zc6iQC13zbh+SB%47g3nrehd8#EECFrnGIF*d3EZ_k7Tz$MWGSfiXowx)Hp1{54~v0 z+(-PAflI#4-?l6t(Zb-|2vy0kKM4E3?fMTF+nGSQjr{H*Ix4^K9koZ7s9D;3rm8%$ z%-gkq$B=B`0w9ZiH%l(<$+$ZnV-f?kZtO!GF9=7TVe%mtK4mo#U8ySg6b85I8Ddq` zqmRT^Ayybx%O3V?G`JV9SXV=mw~Hn^enEc{Tzb^E5DU_ST-jDbfW1l;`T594rP#e^ zg?vSj2H*Q%$aS1Il`q~nJM;hZgNbhObOrBK`*f)^>SEe@r)yHi|RtY~ov#Vxobd57=2 zzjw!Yq`vqu(T}RCfe*NOvp$?0X?7iJuuK2Ye8_ltx6XC_0Owm z>&V65mrSFFK40pdD-xOx5}W@Rz|h1aKK^?t1S8np4RK@v94KzSvzSX!Q&DLdbNB1k z@aUbLokd0w>lCY~s7y{y<}H~G_4l7PuljOoK(1*IT4sAcM6qM)QCGCrDQGlZHtT$$m11sk@Q4qFtq@q)GinSmaz z*E!_rd(n4gTd{8uI*0JZQ&E~HpL06DWgdvVdf>a{9f`M|KbQO{!+m#EF`4x3Mi&1uqks zRl+YZ0=9h}B_ZEirgFgly%bKHgK`QQ;}h?_>OL57=3gawkLBCL9a8+6@oG5loS68z zwYsb5uP(0*@q`B`v={;v?(oxt->b;I^!=1#(Y|cSo}w$&@>TrCU*n+~WDs0%uAt^i z_j^ZB1b)R;;@u^jq?p?o_KGzBsc+@!3g$##d; z;f)}Am;>J*qWSxh-C`8keZ1fNsOElz7PCqhN)P(A6OTj6rk3$CpZBg3L)`a;j_z`|S0FkGieA00O=gfy#_q_$74g}Rv%H4; zl%(9Nde;taDJOLOA7QwwR|8?B-vaxd++5rXO+ZXXT$mK zkDN<=$a+tB!!ovNge!Q9mU*Oguuw{C>BMuCI#NLOSlIj3_1b*;L$2jknXi`6Ypr{b zObY*lq3C1}@g?s5c#a}_VGV5!kk(QoNecY;kaJQ0^)F!>sfG-s26Qjo8_)&OXByve zQ*pf?tCudVDw~>^J($Hf{TvAhhb6^dzk67no{Q-1?KQbKz7o3aT=|S(>#iOG#Z0aEUa1%uJlqE^UCE)6<} z%XHHySeG@3irvo@uf=MW$7s0*JLnIp#$>2}^0uBv*Y*|zQj&IH_;y#~m;PmtZkjz% z*+RQ{p_xZQ+04L=)(AXa#q_}{ndSOEfMp99DgNcs<0L6}Vx<0v)0R0pwK4;(Ln`zF z!$9k7ZM7MMIwHY24Zj|m+$FZ&R`NV3Qs}7p*Aj-5PyVEQj**6`{>Jtx^J~R=L@L)L zuIv5&V%|knQUrY``=2d89y%@CohgpoD#N2&=Fjb(hwYubc~&%c?dduyD!APMLla<( zL@xnrlO_OkpX)*N6eyaMtt|(zq5r7!MQ-ZvV}O)+cu88q+xcQ`rn?jpQVQAWqW^{< zcp=M%r3#Hi=WMJ8CIC)OM?=67pUHL2+e-$uWbqs#pbVnaD*fOhri-9t{~@5N{QVDY z0X`x<^5cyN zmQqDnHZTbW{x|N**B_Z`AqOgm{w||Q`gNAEE;XfH3Q;US$3_azLMi>HIIuMau_<(P za^&i9A=N?`z0W^48sIS!(9@PlAJC=cf{Z1Cw8Hn~AL?#N`%jK@Uad+Ymh=Q6Axak> zp-BU?wXwg0M)ytQ#v@1`zeoEGo--n{Q>4}hb5@Tpxo+Jx5U<$*lgX*crom6VnF8jt{;`5{Zh z&8&Gzeh~!xbpce#)NIHo_MCO)u7^8)@v8;Ph&XBBmLeA{<6G@@r%^8Too;_1)Zv+T z-GLWQEf_|U!M96>_q4et?+@3FOUE<*NeJj1rdA4~53sz@kQ(8yXgK-MI3R&y&dum( zMD&@U7DQCBG%R?xZvwGkwyCko< zZxtS5B58+HEN+7q*3_D38!-6m;6BM6pT;z_$vzUs_^<24;A^Y6-oeDs^U<2UPUvd*%Ay<(a~7z`}B2_wcvD#m1j zKeK#w@90pAi9s}8m>%Da|AxA3>-V#t5M7D61ADH{C0JGq?A{XBr~6h%r!{V^m(`NT zh1Dr!jWb*04-2udLIYjl%-?=OsR2^bp>YkU-DT3HyY-*xZ38HBY_E4(_HzvoQ=0*c zx@k^Vh+>RDv+jN9?httFt#}idLHza8otCFPi2x(2)^fAU%?Ot*oQ#SCaxt7(QdZKl zTWiU>Br7AM_5OYM6tf}~Q*&7vZjdt^Xg4zg9F(A!fce)4b8z4x1+*&PmkHP# z20gAqt58PSiSXkeu7|g63xGmf3~}gW`TJk7oT}JJ5yEzl6Qm5;2HJToT)(U;dC{~m zK{X%omY{gCDGVe;!>zWxN~{(~abe{bBka$u#CFa_L|i`N_{_Bdl_leW}#U2xFg)3ZP?eG+z!zYPOMQbXzjKQGf>vX$J z1LNM8VP5qq7kDwCR{~A-Hc6Ipmjpn5|3D{$hkBS53h(&LxC=(;r&X~S#UD@$pLxz$ zRVchyl=$(^!1-gwGn}8b6d8tCPbtMv*o``ze_9y|O<01ge;LSIS{9B8e)CWNg2dqZ zQ=m1wh^=bQp2q85nO;Hu5!^=5PM8xUz>19{{iY_z7G0y0jS=Jct^x}kzV?~J57_;{ zx|$3ciHrr`%VtExEaYP5xzSPG&$kP+s&|C_lRY*IU9T=RUtXSMBH&ExD$uxq#YBN6 zKE4Rc?i-R1?D&V)X;NIKNzWa%nbx3p1WGtK1A)nnJ>0iCUui-zN31_oOP#m+)qb2l zU+7A_Yan9xvA*T&`3iqn&1Ku@Yc?fcic0SFI37w0PudR6cDDPCkhFW7HLpYDnMC@ADK>R{DYpHbv_nU#MnO3_tU-pnN*71PjK||%Cz6kHR zS|PLeqP4*qMzRs7(7W=YY8ax;__<3$-NLWZpIX zc~_xO;qc7Q+sKEkV0$6A#hGw%cH2_wnu?a$AZ9*2SQ78(`(3ehZXE(r-ZhzrxyTfD zG+JMi3rU*0ciB06B&Z5U-(%Lue(7c9M-7jbTeY0?PbFal&eNNOZ+U}ymt`HsHy*gM%dv-e zwP~0&VT*`^Gc|`#cCzn|owVrTG?*}&id=ATuonVTXFPggc`Z*~5NC#(oY$0$TaDYn zVe{&AQmY@I?n_KMFEvN*hiPbgQ6)j`Z6@<WB@#pMw;J7xEI@l zW)X&{-zFUTJL}GYidtW(D=jg2N^Qvxa`zlG#1ixMwJ%zJ_sNToLFDUgy#;9jbGdfb z%HDHw4nrlg4!WWKn*(ie$xrlS@*iH|-FlB$5}|D4kRCXSTh=;vQtoLS@H412r9yr7 z>A6`xR4(mZ%6%cI6u$Fk{O719?WHXeCu#b;jpYPL;ch}dK)@{Ul~CztOK%y-b6IwF zA>X|P-JAQRQvn(&2EX23I%2`AMKlv{w(0uD`h0XhO8(VFEmRsY#w;~vAD!9m5bFev zr^8*97KDU4>~hXlQJc^Sd@3{`C_emNVvRu9%yk=7x^R08(mL4d=3p@FcDLCyZr%PX zgNRftzDme7LfU|(-(hs*TOwz~Fd2P!t|CA3nVPN;)zUM1OBi4t#PW;?h zJMv!NDcR~gd;sEkoZkfc_u#KJokJjWCNBw?(IGdfz`F$hVt3`PQi=KluQ)+H0PpX# z7Y~Ue<&2gsRPd+z+%B2dU$Px;?s5+ma4NWZ@L85*RN7WTYMJne>jDHuk?2}{LV|&? zNQI}&xV2b;Xi^mMUTXpK36ex%e2^zWFaMD;QN5X>jn2xVsg1YKy$l0>6Wmt=GZ3de zWHU$&PO1jKuYzCT;=lg% zIADLxJf4~9{&FGbE|eOh!|$ZhPh5K7$U$EHCTM0Qa?lQ_LbR?Id0B>R!+0wtUjMV@CCV7UfCz~k=~~Hb=PQVNKtK1kLN;TRANdl7L9K;o3fi36@#R@M%>~E z4E-XLdMw>=fi~c(z=t7sm>adMT>Lp}VgvH@qUwQPL zd!_ez49W3^SkjF?vIZrYT~k3r@%qx9Y+#NzXxs{~q=Wx{lXk~a*1pT{k;V%+ZEbijEC z0W>e>7X2S`duOX2sIIcso;k|rWf_gfH|C*-&?~24 z;7$Z)FZlX)?4YQDF<qvk;j zf*R>ozWh@6iVjFO#cKRxfudU%*sdzIUz**lQ;Nf%`7W%}sF9bMsr-PI^`+936)uFe}T)4@wA| zf$Z__`{d99|G)pv(ZiyA8h$OYY9#G~)!p^IE7}jR7NXEo8Bw!H1LyA8)~Yk0%FK0h zM^M-J>;$z)0Q$@G@gz6kF_HWHo9))F)q5)3->xxG+lSVRl($WCY`J)9GGYFP}R6U3`_C$YQk~*r7!l z(GiwM_V_{AvUwEs9z9VG__e}^XIObr{(dvvNz}~`U`vM|eC0d_1kSH+Z=kf%chu1=dcC)##RkEtg1#Vn@JYk&zJ5bHcm z2Pd;Qpq=*5aBbgW8;2d7M+(X!OC{IB`E=_wj~+u?O#R7|Td}ZzG*FTCJU10v-Kn$JYX;v-ITTSa)bafBzZ)0mul@ z8rD+qEVWEc;{gGj3p%*Qm~@oC6&)QxE8x?X=8@A zHgAB(a?|@i$WxK>$(g^g3maRLgM|H&jBm;W;^lu7~DD(kgd-C$DMpcGtyd1qj@sj*%NCTkNv}SnYi}cbo$ZsLqz-wc# zTri)3pOB(huZ+)*hSid)v-VbEiY&7AX1CIIbk6Eft?V%;%m-4J2ZPZ9pi z^(^RRYtaZPt7&1^NL2Hi#`JVLQD~Z;&)*ZgNGTu{I(9RoW(#IQCju42@NTaLaSNVy zqMp8 zdzH}GrB(p(!Xt+HWd&fi&vp;mlA8Q<=>mqvRBtpJA3@wpO@NYS*I)KAWnQAhKUdjeWPxG)Uu(u*%DZNHG|&@7w}1lxVrL8Nx|-x7?OK4uY8)o zDC-?Fz%(cj0mKs{BMKf-cvu)Z5L_rkn{?b{F^;gPi=m+*G$OXu%F0S?e0(`OJI)_! zUs2<>P65(S$d1p<{Cwe$9}2oKbzxU1wyw5z=-r*~sd&7uX}~j@A@k9c7fF&+a^jMb zCa)L+imIOM{r;`R{KNLH`Uz!x-H9qOl^Fhf6%Jk%KoathUo2nT>SQ&40-IGBqFrk9 zZKS({i1Wm0Iynwv7uDBt}%%)NTRg6HFB`@adN z1xt7wa(2KSYFMEQYY{?PzQ-$9`jt>HgI@TnI$Z|rs-n>bsnTC*K*?p*+K(2Mm2@Dq zRdDo{P3?;7!y2J7IP*n>PDywk6oA-SosiKXf?Hb`K<+3lz@$s|<+9c&@kHl81h>!cz^c%5oaVg8V% zW53mMIap%w^2VP9ZvUgeA62zw5y8&moHLN=LdpLDJ2xdIOihPnP% zU}?Yqi=XGa9E2DsIBYiknHew+cb<&XeqD~!hZTKBMES3+t;T@~X-a(Tu?;T3{9@FI zVJ)||SqvMK0@tJpJn38i;;KzSuu3%GmSWcZTgd8Il0dU;U20i`g%$o=Wjd~ocP z1?I&bFOAgg19rM601#WoW`!NR+)J)Lte@ZElJzM5(C+@wF%iOvm1&j9y1@kn05}S# zjfO~hR2z4etmM%I6Yxw_X&iQRTpE$F59LcAWY_^w6-tomDymn4VLnS5ur3HC4Q*_m zxGqUfVpZ%esc$-H*en9co7u>3G*rWJ-KByhWJEG-QT69slR`t z2L~1U`}-pU@bU2azP_@S^D_4GE^10+R;{GMNk8azU1!0s4P$1~5QbdN+Onv1;4}&} zW>B~g09=0?!o8qpJv9x0O+(o40BDgtC_U2u#mKch(iIlK#e{lz=@UW*9~)_I=AX&? zPXEEWP?$%99FEolcW}s3(s-tHLuiZ)`rb(IFfPqfKxgHHA&?f*Y zZz1Rg%$Os6+{vcF!aT>CKmY=LlQ7_iLIk$10tdkjC;jfMxi_9Xg4|qZRM0>7!CWz} z&-akn_1GKJSejM?%K`Ja`mxTS;RmTncB?AuOI}4_3ZwMSS)B}Lu`AUdK#enO>`y{4 z7Ggu=YIt=~JO0ZKiZU^i5sUeO@k-zp!~(m{qp&?&9ECMU9I6!{~?zOm}zpNWKJ+^Lh`;7b*ca5Kt&CGLJWeS8Da!_%G=x9ZKK6?vMw$z1$OLsIXiC*45EQ> ztff~7{lEgO(cIARj{gZ4AO+JhF?qtRTsot4gGGbI3O|>~w%L1v2|1!NFf=fyd_f^P zjp@Z8_!=7p4V8$5G<hK@aA4Qn*Gnz&T9H9G3#@2oAi8FU{X(c0;oo^DM zLa9nf3v0zsCDAkHBvuzOQa!zK3htiDBMbdn#n;E32{a@)OU|rz{asSKO!5@8^x?o5 zi2Yhvg{sOc$;sD59SfcFrBHG%q8BA-VyCX1mI1Hchv$Xp3Oon=YyQ?u6s0#QS^ zcsdAR(3@OXcy7=#jPaC+3;cohkG3R3zxFhGM`fkDcypFB76zsE=Y?$ieOX!A(A^(+ zO7|5Q(P?v$*oQjP5HE66QL3rcsmLiIICgAotP=HdRNgqz!$TLn*u?D|&o8>ghzZ`$ z7J7dxpP#C!7(`|j@%R~a@FbnYATDcE+W!EYS(DS*0otpve7cp&#{Z0rxow9oT;7Kp zw4WWRk7RnUBR->@nj(WZafb4wN3W5DN=SrW7f#MG5+dsR&f*p^pXkt2H{>yk%w}FX zMe3>EOcmZ#^I1N0A>mbMRadUb>^5gsN$NW2(MO&h)oCFgYDgvHweSqI!O*H?Sz0L)J<7lCxCRzb+tseo_Wih3 zC3zM=5LBSo7|SEp+`@-~PVAP47D+k)>WosRU0MEYrib5Mg@3!dmYyW#n4nq9hevDf zgi^j7MX^qxnP={a%r`$ZQ{Kpm%k~-w-qTA>^oG8Vvj4DH9o zMNH8hNij+9m$Ur^y<(H>+e|dKNN8yAK`ov~R7}j_lc8m093UBfwmDRdrBXP+ckkZ{ z2se_{|MrPwT%)V7AS_G`sHCRUCD*e)G&eOx*HKYtD^r&e0^ELp$$w#(!|v|s`B;n9 z*49SG#>$(R(1F(XXUi?9_sg5feB=RI`BB`HD1@P^$|SDY=>@&mur8Jb=G8hoCpzr% z*Q*J$KR?vHAFMgG^oG!Ee(t2pqO|ZTdR)Y^pP*!ov|UVgcSD!55$R10&kefBy*cHW zXSg;_Wa!~&Z%Lkjs4XmwkCF5Rhyd2L$ME6hB(<`q5+hUKwQ~ZVTAZaPA^Mbv72<=V zazp^zI*dFf?Xbi^+HqU1<3-bwHn(vT57*Cfme;>nGWHwas%wcrl^2fTdxbJgO}S;c zq(Pd=vUUDrTfzFn$xhr77vFxc*yQwRv_VN<`t4%Pdx9I@pl>Dy=sBs^d-6)M3(d=tmFzxgx%#>EsH$C1|F3_m z`(V4ydPffhSsYgvRQ-eat>FOW;fFlA2jp!0W`CG7S?rt>Yt2aiE~4Nh`cBswYaYKc zCg1U|I%EU%SbAlX^KLdx*qR4ikqva!&lh1@!!L|n-nib9T)TWIJ1Vo=Ah=B%EA|@~ zn96u<+372G1WVl?tj}}fkkBqVTN=egv3{O86Qe<(a+GQ`vt73x;DN=x#UJ?Kec|rK z%p^`zd301#St+lq9AyK?%t~{v3jt&z=!J@La&D@4s5CB_T{1inz>hsc!cVYGRBQ^! zS!^HnU5VBt{I1L{cBk4#*a0Y1$Gw|Y!nfhOCJ=?vGBT)DCY`uBJGB5212LH|8*x*> zt5*}W<3k6OXcWNe1i%s!FMTg;!U$-do16^9kQ0-Wv!AJ)Vydu+3kkgE^5_SQhF=l^ zby;Neeov#_JO~>agK+xWpsXDBaW@|co}a&`jj#NU1jqz?7#Jk500y2XveC#k-{~55 zFA%quN5d6~SDby{ck>Nw9>l>uni>Umd2TQxW7{r$LgMM2Z^r}Le0Mc8Gw%nIodW(C zgyIv-3uf?habDJq*;(&JLb#uCgj(spVv-X7+0RbhaR85F#ZFgyqo`|=wO!QEwy3?- z=q;Xz-HJvWE9W=#Qaz217hAGAW&hl$Sp|GqcT(nmU!r!tiBKV^z`I+g@5BU9HhD_e zT9DQ8pCq_}iklSxuhD{a58fWDePWUo2uWp7n+zxUMEiv`I`8&6Z@Nh~*ld)s8g1MJ zt-Kp(8V`I~x4+Hb+Od^~(Spxj#If1uj0U0fLU{nz$uht|e&k1 zKov#;w-%9ch;;W7y)f%$micu<&~qtLg5nAv8%nx>ELk^>-#B5W1RI~%>u~y{vpZVG ziL{z0mO%EI{f^Rn+Fu{gJCnSUuywxI4ovJkL78B*RLO-`isz%>zM3^Ya%ki)IJ-v)$7!a9bu~Y&o4ICr)=-6|`E?a|pOqzJW5*zFW9Vu1Kjg8L= z6=HiA>#YNr=&EPtT!)yLPIrRQ&Hxja3}N#SMK~d?=u?o~^fvD;(@i;qb{N2b*flbO z3L<;o{SOylXDFV0lKzOe76+RBi&n# z20xJMlGum*S*T6AU$cS7Qwu%G9E_WlM+Ua%m77a_C}4@Zm+h$X!7%t8qS7B8p4ETz z%~`#{6+k(;Bu)7+lROeV=brrr(G)>|St}OGc+1$O)pT2fi9wHFJ$@>?w=34wka5N` zTjSiHkIC*YQkC#{JPmC989!Duwieb-4K#jZo3%$3<Uh*5L3@=?U%Moq zu&a7M^cM@KdHY!6V0_`0-N8}J5tNlJ@RQ?za=o;)_#BrfPa3-0D-u zqNy?YNLNf&L{~LQF=}0OfRZS0H@y6rYUT+v6c<-V+WU+vtwn#7=ToqkbMtgtGA$np zGOZzI&Wqe?%qdrS-cssEXduK~etRU8WCFcKa5uqzJs<*g5oekIl`sU*!GbQWdXXMt ztwf)n1k6HSqaTRWgtE&JdQWyAe*FM68~t`5JS?Q4mcdh@2$T(>`ip~)A5eNkF9Sz& znPH-*_EmUuf0QDX>CqAZa5e@2TQN=z>HH*2HJFyLqQQ14i3)Efhm$hWRNqM4!V|-G|V0s+gm#AtE_MZK=*3Y zPCv;NC-Q4*w1jS50W%Ip$p*AaqKe?el}4LSpQPV*yxcgcHSW!KQjPseFVm7^=tMO! z^!Y8sfN0S;=7*;_SBsr4z>TWT>;P1LE?j^pn(xyzOT#Q#e$~&2(_KAKPiseL&6g~E zLuaCh2CTfAxHXrD;ow;i5ufAu6DHHtV&s!i=OZ>ePw&Hw8M~RlP2TRmE{N;q${%*~ z1;8Sj);{uu7pC)6K)dUuoag*zdy?@N$@T%S=MUV@vEqPkM{WM`H#W5_4_DL z{|h=TV>|)8NdF|wH4M(L<*84d=U%dTyKWS%WpuW_<0@uNKWgw-CAEJsKtJtOd>w(| zrX!K}9L!=Ne)zkH>C;C`=FZ9;)!aRb+t$wDM62B_JVy;7pDW=`0AlqAAl423>4Rrg zB6c}{T&dsIer7KhTJJ_UFuiz21dMzYF>Oo>317J_&3>B%tAR3_@z&3$eB56F!{8f3 zkOth4#v#()fObApen&^o+5NW_HbK)+Iz<8U&plrW759up0pTh2DYq4Z|f+On_dnzLS z8sEnhNzfx`%-#ia3;&F1{=pv|WIec+ct(s(NYML5nfYn_6rN6bYP}xULql!vH8c4> zpMyQu4|U3LZEK#56U-#1-nDM-ZO6_};$Vl-=lO)z9DEKHv>@kw8Hoy=@~Qx{A=j(J z#fQjYhSwMv`JD*sPQ)>xn#Xv{i;sqHyp_pUCa zZGo@U*nPR*G_Vm3Q`bKFmchGm97o7{smBaPQzZRh8Dmt7xY+_Nzc(9{*Y6ksY6pVxV z2xW8A^n4gP)7p3vSCwNzm)Uq37LkPi*FNJWvZsUuC4OoE9m4W>@TolK3s7yu8NSj= z>#S4^Sf#N-|KQ(p>H{=knbqbrHBMIYo4{Vt;$V*xC@vc(@~f7o3$;b*_45vNU0 zl$51$d&KM?1M2(OHl5LlKOIE@B#^S_H#F)?d5-1_{qM5mK*jSIN6b%F41f_aOwSYd zkxkz6RYoZ;RM@(b*NsPpL;QN?@jhzr+iypCqqb!p;=2E}A(%a(TT&c5YNaBofj%nRGQJ;A%x z>1_^A)eF3TeTaZPCHWkd|6`mjke-J2M+`nU3}yYTJb?lMJu0Y^ZOyjPwJ>4;W=YDG z0a(D2mxaM0+Rl9V%|sLp&YU?U@qFF)DIL6gr8ESOP#iZ7DBjNhEFZU)do-)%N$|PNoN7Ufzj9 z1h|_fIz*zn<@ZhHGsQJ;7`q$2&t8D=sB0n@E8Mi~^_7qfzy|%(&B(WI>(RTt{c~9z zcOd{i08?ij5wG-gTBC>+uqR;>lzfvjIn)|V@G zyFm39nAoZZ@B-nF#|LsX`AB*7He4ksP#_F6pjdG)|_wO9VvGYb+` z2N5Yt3-f&wZSnRwesi9f)HpW~$mUD)7vjpbB&|$t)R9y}#EQ(`ofVzRcT!R72+LrU zpj}sSPulQn*Y-IFxFUI8ET*kTn-sVXRfIen-7t#Q1|{P?QTzMB$e_I&zvWOJI! zl}Ku%Bc%;v8iz;?oJh4ndY@zbU%WZFBuX)RHq}BFWzhL;9}l`Vz25wl)j50QeM*P% zf=E30+9SL2*_cyq#JSab3L4r7)l@zLbsULd)HphU9@#`3zNOO|T0+!dZ>zbd@IGDx~p{&gR`#nBAIP zcD=_d^~9RP?E0lAs-`H2U<(Yg|#V$lF}8eo%xkw$uk*LKxAPCz&)KPP&U zoLt5#4E>Ch10nstcgaM$B= z;EZuWGa=IRJh>?-<1Wm2?0Zs#uG^)9M}#QfRXI?G2F*#IBT`qKSULcO$xB!>N>8(} zmBjiutQ^Ew%Q9d-c2Ta3v|Suc&3ni6Wv|`{2{iS?`0WgXC@s{z zUT%&-Y`01-xZReTrmYjBTC&+V=^puUwJg(Sr6wmRtj)&H_a)0Naz-fI=p21HNL!0n zxqZ1Ty~+km#*OCWcD(9F%P)V{u+%=(EC2JonkZzkgE!LTqfQI-HS+2vNCVk1^u1F_-0VVWVWCIQV(o+8vrd3p{Y~$GJ6h)C0yltWdn7E$ ztbnsk;e?rW_>y;YvH-&BL&afMsSIER^YbTZW{Xo|SWlpWzJ2@F0?hj8KsJ8b+R5et zyZ;Bt@p>8ZKZF^&vu-Zv&TAkqnG!zEy=;|#E+=aFw6A7_-J^q(3U1xu72;p*oABR1 zPNto7PxOc5Q*)Ox&$V#cdNOdL&)_g9_?>Mzn7e5bHOv48_Uy%@&^tcH!oEfQGJTR+ z0aaP$>-0eSO#@+i(L6;?<{W#rU~kB&J@MDr)20X>&0-WA)<#W85K{z_L#>MPwxfW^ z!|kRrr|VZ^FtBy1rs2gG2y^nD?HGn*l7!Nc^flRiAIdDPI++7Fo!P{v{@eS^hs?Jm zw@IA6Awpt{shZKr3UV7uy{;?w)AKO>VXLb&BUCXmsgs2G|A@sVdVxY8c_5EOX}kIr zX3BsUo>bIJE%dPwScVhgH2w-OL=e_@kOm|_0OgCdC>6Q}Bs+)hSafyVEq2L)QdV%` zNU3s{v2?$I2l2kvchmeAzCFot0RtY_O9_UF5)DP@mMV8xK}pT9H!z*9{lI2ez+&;V z^&27Evm?hi4=mvH^k2VWT87DGQEiv4KwMkwb_j0SZeb3O_yv&6f<(&cq#nf%(_Y*= zXXF9d-y55^(~TX7!Rfm1l&)&m7CjY)(>483exl0FF%&}ow;=eq^~Ahyo8<8c9aFSW zXbeyU(>hd8ca%cd)gF~ZCKuHrcx`j`3;RcEAT2ddx!riH5-3jag6Ik?L$=KAw?^+B z9tu`NV(~$U86~LEPp_0Fd(JX8DDkenDv+9PxPq)DjXA6UD`7}d3*6v~YBN$$HK!1I z-@N4J=T{-7+T9*FI+?rL?b}(bW+SVnhM$|lvaC%&KmhnerX4mf+DFF6E2^n|S?J2o zmlg^DI?n$ivCS4f)!i zAD<1~77oR2%o#e#|G%PIhvz7-E>Cc^ks29y$c=r|S17v8jsmv!JAO?C7 zi<3!v6s(|u=HDCF0jYf`Jryp>Om1LA01o?_6Z+lTu5b2aGlYd3%3W`^%=VFkbKOzY z)c@d4tH?(=>f?@(8_!VKe^I6P$4Aje|0Lchv2*+h?8M(mUGmNV0la#saM{w*F$|T? z-)Nbe3*mE-1>XJPgl7owMA6fTD5Z>C#B%L_ z|EKE$D5j(o!F{zi zihm1&*g>>C8B1j5S~e~D$qb&Gr8A%Po4I=*4|lobr$QtaaEc1^kpDliBPI&VEhypJ zx9E@%R2M&|QERLE`!C06esJ`CRi|O06D0LLLg;^8*c-y?(F9f+$vAwz>^~Iu0r2mh~x>qP+2Y$j3${&N3wlI>ANvUC~%B=^*4?zaX@1e)PtBs!5mUq;xtbyOK_I2OnvZ8IH4qQbr}R<$WQWI_0oFG;@@!X<#KXk}bbiEiRMEf%lqFRG z9NbO;XT;zYM{+B)pcTg8~0F&~A3mhlq*>Wr1KW~?R5 zSCK+jaHs#Md(|=~u}lnmx}Wp(4p&(d*X2{O$2~Pu_{ednNWKvR%~rV33<>KSsJ5V zt~ihVllSr%3h}g@i*$hU1ZdxVp%a-VY6Ti{ps)kYOhE#GrUydbgnS$6^?6v}8#eB{ zl=HTEj=1PXaxN;s0qjZoZ^I`GNXdk6UkB1@`F`zD%M64v<3NsIfiXVam}HaBMcDbb zp!9SyMm`^QjefnC!b~*4*)y=-)(A85QTgOY>G5l4c!w=FVFNek@#J9kv7j$UXkuqf zV_51zAW(2OhC(b~17SKEgfo!G`tFU1LD*4|{H9moe||&Ao~Y(R9!r5T(S5$6>5x}_ z6-wA~13k;4dBb|B8ZF)%A!ALBIYXdvijxC?;*jnj*QGj$L{0njrexnftf+=`jC}m% zcS6w1`zeQofK&8}7t%`D(IJ=bn4R|pMhb%3B@a-}5#6;XNCfCuAPx(JAn%|&2}Ijy zha>y08ycC+^4t^ai#rKW^35~8UAmoLoAri8NlFK3r{9PO@)P+TNBxsXbgnjvr4|#{8@;iiM3egk_ST%g z>BGmiT}S|ZlgFU(N%Kd0%YXdDM879y=NF2rE0L?>ll^ZPUfraMxG!(w@M_Y@aPA4v zM+iG1l$fbAX3k+mNOE5!e+tqkJ|CtTPlYDT=BxTqAh@6)wQXucYmm!0ezI1wOBLm8jKFp$t0j%h?xo})ijd>qt$7wGFm1wzV zCwBL>T-Cd-)7!(V&jUxv^Bqxt&v#tz!x&_tY3b=`Al(0`cb@#;sdsK4fPjL?nCj&z zv&|Er&%3UJF_^xg`XI=~6!+)K5h#-YzvVujJdvLR1=;yevSP6YBYw>b%NrpO_%|Lh#d}de z9v5&b7APe}lYLY!^7M?&#eea@7K4DDuad#_&6!)b- zad$87?(R^axU;ys`~G>}f4-TlBst01nazD}zpk3k4t~ZyNJPLNR1MLAT*}F3f5YeH zCmZm|W=nkWlGe{6qqMABdIwfFgkUK9lqA#tB6w zh!&(2^U1}^Tg&3h7#Ne%PZRTPWc- z#(EVe8OOk^w*r30=UXfBqP4)HK4#Ypkhz7$wd-U<1IMoKJv`L+#}b|al1W&o#L0}% zQ=7P4!Jk==pn|TGX#_ys0SLn1&sG|JjE%{uLF)M>cCYbM^aE&&P*BZEh@vX1%1~&-!S5%f{!gvYWW2ZZ zU0-oJK1)Usd}-Upyd^?*fABvm_JQ$gawa z2!1$dYghsMFYP?Zpg@Ecs$3iNn8~eYz1)ZO$Ucc=^s4J|l$xiD60*Pt>6O7KQW9Hf_k zXwEa9u-<8^`X|r($$5rfp{7TdgNNaS5dka6sfJlGVR4lIe4aik4ozV-UsNuI8elV) zC9o(hj!`(CTW3#Z;5%bCHa6mM+Y{MxWi0J49D9v=d}{OjQgrH#scUWtefRWtJJjin zkR0~>w|@)qnfK?Ni>q3bb^sE{2lDn120TCLFUn5xZPDkK<)n)V@123w&&|!Ny;5J! zFU_Y#kp34WuB!EM8|jG^oE9RBy#Tn=O|N%HX&D*+>kf1JufjZy4IXHr=m*wT6;;(B zJ^R){G>rcUfq-Tm7$|_jDh61yc5wOKw;Pif{^O$x$E1Nl)2|*d(8Bn?T7WyMY`_}z z(bvy>G*EQ*%pQKeJNXa8a$so41So$mDJ^9kfRR0@s;(Yxb36HuhtIKYz~#E@m=)*z z+#f1;Wl6(*El{OE@<_375$?maP~waKZUcwdo&Qr}&Ew4KgV4VR9Lv=e4IlSivN@xc z$jN8wueNWWMX-rZ-S0N*n*%Y=h%L82Kn1W;b;MK)y{EBs6+c1h-8ZgOl9nOE33{_hk^Fzdc~!dF^Pdbw3&btI$0A{L2Gnv*L^bT4o_icEEeW2`Gzk)0@ewk+#1p2*SjSJ~e^T8wB5^^Yc$5_1 zO?Z8Gn5tu@zz*<5FSUyXj)!+}$|JM@bI9AhSq4@){Lp z^TFR62mOf(n3Y2fH`@?Z24mc{O>yd}aEbJLnj%f?AEvVzy%#-3&2#++g4K;K2V?i4 z6=GZOm#z@^DsPnX!4=8m;ZrbtUw?lHhTFvC|PZpD8JJ5xN2YNuC;$AnHTH z=zo}N@l;pWs)Y8Heb1Juy z24Sc^wxHzK#TBk%F6FC)+-Y_dzjn7DRze<{-`35u=pb5T=V&v}H?!J#IlqrVpa&Js zXGVfg!yF!Gs#m+?nj}6e3(ULq=dZPW`49Q#eaf!~Q=;s&>D>6ySkz0I?9sYLMnl$( z1Epm8JRTy2R~}+j^}K!o4?iP~J*TlcewMNj&E|shdtXWj=8?kv{Q$x`RxulK0~jan z$Fn(;N6Fv^P3#qYq+!I~U)69TetrY^x8EKcqJI0Q{}D{Mm`VmP(sZfdq+)PQ8~C(4 zX;1@pON8IA|4Mc}njkP1ynpIB7VyNYRE#EJmJG?w&rj~OF}fY`v4tF}#AT_C6;xO4 zrAge#L`DeDo9qArm4JsUVxkW>^)-D8IQNCWcur!$JA!ze1QS10R{OaJ=C*HgrP?pI zp)5OSh5(S;nI{5EUd9%QY`3 zpWEtg$MIn1*wza&V90_))MJzXZOPK*iqYVG3<>t{s3ZvZ^4Lhi=xhW1XO)LO8C>)G zn;nVwy>D{$hWyYl*&U#JBs?m$m1IW|6Rk>u@8cwT$Y$Z!Rc~Y!epu9Ea3Z=d zeTTL6`rs2LBpU_(pK;80LsB?D7xuWgsEhh{axOMTlMa;Z*guE(7}?a;{2e}UrFW%g z=*}k!(9#f@y8ui7Qj8v{)NPG37>;Hwtj+EkIs9~fpEjdCRb@J?kDl_$favap`?^fl z?{ch~_QKV$t<6u0>NUm0KX%mJf5jhIE!JAk8~y4bSto|3z#d66=<>G5ia8$}= zhg92hwHcld=ea;`KtArbbC8#y^XKluhP4Ef)gDz{zo9oU@twOqBejw&wMfC%lO10s z&NMmF4F|d{0T#JDohg|e*2Ga7hn+w`L4LBa7ikv>AMwe(yy%;c={0_@oSvY~UW?QAJr43{x!bA6|_Bq=tIn!xeA^+N5BN_ls1_ z??LA3t?%~e2a&Ryze2$#-iG)EG(D$c>uaX15*!@*8-0toGJ?2tVkv&Iua5*ZMg_-FaLf@4*({elGf=9gb-Tzo( zec=c2ZsHmlEXOPm%3R2CkNvYtXNHDZfJwDDv%i;3r@8IfYhOv$MBJ8VyxHP^Q=GZC zAD)?=zPw^P-M})(cJXH{V`4m=O+-AMOVbsa&%=3GAx6aPG;=fW2VM0`gR>?kP`^!e zO&MLapwiy^JPQ$eoZrn?ynErU3VEr2dw90a_V(pe>Tb@P@XYRs-t)&D{#d4cd+NNQ z{fZ!o8ZBwse6>`6;VBCmz63t=YFF_Dc+$CXAb}E7Ob6N`*!;}%gS%d_X* zS>ZcXjiiRz?>vl1)oF1<+`P`ki)(B8g5wYUwzgCpUMv$h?7)_u>jC9cIgHOb6O*V+ z2qi#ntmdHiOsQO+dB6nOprbi?7t|*m?o`XCW1>5{^q7cj-~u}+b-5FKGAIgd?zVT5 zL4vw5@u3^z7yZQ)4QMXF;DX5%?P{ki;6EG@R3q5K8UdjDxuig`c@YJ)7l=0|yYngA z@fg5u7q_(e`Wh|jUHLHHU7Cd&zJM3gCk$2!i|=!|A)=ECkPUN)R<-|eBH!c2_WVhX zZr;+t+U-ReaI(kc{^H}^-QCjJwJab;SWp0u05vOX9AGFm^BU^tEK^G?VmhYeWM;|( znD_uZzH29zs-WFUgI}Eg<)+ByF2D;B^$X~QEK@0!6`}c0^J;`f^F(l5%cq0`>KZ#Zb*zI+c9JfP%-z0Dn1hPLM@#u3E zqxjZcd>9Q$nM^&V_e}+U=c0+Ye}3Dt$Iu(8Vw7->%U}f;`r$j7F%+Z7d%m$Y2TI7^ zT=hB>^gB=aNw4kD@|v`oA@m(RO%gn|`U2OinajWYX%o?4AjR+ctq6pcfgIEd=z0~*E^0y#RbCmqyM7*OZ3hl1Faj5hZAvb5=`oNBt0)5Jva z(FrGi-v;Zu@5zJe9pHRcLu0~-5k7ispYwVk^XK@cDcT#uBg7;%hKpZpbj7UoeH46Q zBX%%82yZ{A*%2109$AVuj|rz{m*yFrWXzqOo1wn$zRb6R>gc}LGxTY`(Uv^^9u5kS zJomE_+D=$pGSFLO#OM;bqo{3f`g}ENv-URQhXF$%L%jC1GZS&abnw>bZ1>z3Q4~k? z1tOr|NfRTfhP>PgFU@1cHoHUn*yY9?p>X8wc~I)j^8H7D(V6-jhpMX1MLOh-|3O7% zb|eLS-V>1Jp4}D-3|nqKH;;MhNt+A^Sik`NNWR(G5YuPz!*jWK;|7y3<>l581?vt@ zxG=qrqOE2e=+l0(#)c2s^YLy0wLZLOAP=GL40ndMJf!WNYB%lD6qM6!l01=|pRChh zR6(ch(*1eSjew7pv2m1!Bd^q}Fl!Q=1J-d0(YLFs-~HCjJC)NISVA9@s+moL7(vfc zI|e$)!r!-kAhT~*>!S<@AJf@MQevku}9n9lN1c-`Cx8N*>_*2Q=gyJ$~Y0cH^ojszSfz4_Oxga;_1;& z29rN+2pky4px3OskQnx+)8O{Wyg*?k@4@P_6}%yh25Wqg9EzV(%;ILacm%bG1k>_O z_i)O|d3GV=1JV{B@#oleTen_EmyJT_b?vNscSNMLc$d)2!atxTWy56|C{5q_xX?96 z%(_0bkTit-_rbuUa1w-O|#+1vJKJc7Xv1$d=uBxuqK8 zV5wb()o6ej!3|G?iIx`VAPuyd-3`sZzgv2PmXHL59pE6&ihr-EsS#Z4XL#>sqD34U zK|dcD5TC>+QP}F*QRgN^x_f}_;U_1_n2?-^<;~$MJPt_Bs2UGvHpBjiLicuKzqjC@P-Mg@ z{z&*;w9npUQ@oF^)ahfO2+uRcdqoVyc1%;*{axFbSO|yu)1ZH!^5hl!<$m4{#~${- z3TG4Ml3W5#9A-vF0>(ZjW3>COBQiMmub!BVx)WvVt#B`dsYzIaVM~`>1J~y%_n0T( zk+3C4u7gCC)g^gX4>VwC@M6kq>69rr(2!oXNrEJ^gIi z$G;@@a#MH`KjYtxF>FTD*$*FE7HpNk#8q`fa_v@z(5Hm>lChLg4`U5t&o9_;AK=2C zfBjP1=b<^EosAE5xvf-cu^J?td7q0ISXd!YZHw)0Z2E=YOa7qet6(=wTc=T zTuN7<#LLY>CXA;*-O;hz1}S^}w)hHA25s-04U%;W4-J2)w_5ev*Z-Gv`_qLy)2GW5 z_o8a$@EF>$?Fj-#)$vKv5Y~2t!p&S|*U1tY4ZvfkT1kRN$H$QejRg{v)Rp0pkoKXV zb`Nsa&+??|4g9WlzlICjxQB_ALzC43OlM91ra_IM@AiT6g-^Lsk_Y&-Ul7kxFc$sp zU~zN!7c_!^wz&b`#rHQF9n30MHX(z`rWeoEvB*ykcRz`>q#viHs^J{p$}?TsDo6BN zzYt64+St&y?8P&L6LJM*I`ft#W@N}oSi!>&qZ*epN|0uO=IwukxuZ;rY`ngYMWni~ zitevB#gauuMQrcQO#`ND$>RS{egH)mW0X%dWug#IfSrh*L^k>ayAczXk`*Q zyz?t+Gg+?c5AB6?PX5eUHS*1X>X8+mMByOQOSjLKf0ULl^ z0fZi!1+Z?pa$-mX2!eZi4yWxPEDTgS z&Tt8%ySiw~(Eth7z2}`qDKrA_;JUBv?~Wt}t^E1>DZ$-yOJ*_hT_849#o=pN?&1Js zPU*W?9!GWwFFz+xmdV2TEY_NW2z*NIZS&h|N3o%&=&Bud{C!2-U;Q%`l27dY-Jg7G z{oP-UY9Zl6&+H`77fKK<$2PdK;O1_Bnv zA1UeOrI&0!m*M0DtErkwtrriXlEblM6r^F0{zeO;P6%O5F%;?I46qu71_`+0$N1dP z8KW8uHS9tS>3hKkV@Q&LzRUX10$02w26dhFONp!Kz>+PcB}wU2*3L>dU_cvoN(nmr z&?F(Fr7yp5;!ua#*N^SHu0&7_f34m~7#=g=g_2jm4>znf^--ldh$f^4(#)$PPj4D7 zg%!T|kG?n9P;~9x$>)My?c)bI?J*b0sz3c1q5nIf^TPHBj9c|#rlnQR=wbHPTxZ>N$c-J$^T3YNR8cps$s z&3oprgk6{Go+H1A1b@v6v4;(Z{BKtb;@t_ilu^_p$OYt02mLelG^ zCcUgFk)*{ri@50PeKE6BF3Uo-n|LC}I58_=;*YI7kk=bJMn-r?^y|}8+w_c#(aA}B z7b1XC0jZ~vZ9|V1tW|}JjV&Q89KbNa$IFY~Gyl|DQ-cNw0PB-u{ARj5wXot96LZRm z5B5y)p_;0ysI_(3CESq%>RuZFY7Ph(K>7v1?FoB&w#uPOEOtrm^4AHC94+L%`&A*f zV8Cl_p8NYsxW9IHz6sD7iAcSJH{LT`V#tDEzSSMhl8kXCAwFuild-RK8v#bBWNst0 zVIue^`F;nnwso{g)#R|c!A3PzMZ>bVNXkg`ncv5S~e!<<`93p*%^;mg&NtIn+ zAP62CCJ^%pdSP5HWJOLvIn^O&*l5;FoNzOwUc`6hDrM)-VID{3=WlF&53TN8C3IaZ zRpYH%X2?m+!}*XbMkv|{(h2(r(kHpDVGwbII2cC=lrZ%$5@7>*90s@S#Vpp@&*Ly< z@FzG3`sc(MUoXT^_ES6^uKTwNdY{&I$2&ji3xX3O4tGrb_oqbxQqN4)U_lD54h5>V znzH{~%aysjn8@27;J8_C*%LgB2Z45&DBVFoRoYI{xuDk!q$c27A~@f$X8hH*V_eEo zq^6c|9{kH%1?{ljCHE&XCqPU0BLgP&od<;`wLFHQ6&-M_XW^_}AKY!SkH^YNhtWP8 zKEDvOY_>0K-*w_0&T7mA)5KdGsnPB-U81q}aQg8O8eYf%HQ@dR>~}7(4Ex<>i2U69 zC%jG54|iFRT5;wM!405t{~O8mgXlP^VDqO> zeoo74X%%{nA^aB|GXD*Nd2R+Isz3nAh@S?Ca=`>gc(nIp-`V@#;S{@S9fpCJ!|@b7 zJX%gNH5j;6*Ox%el2P;a!z<3JydgexkbCU3JCq9gBc8e%X7>92opRYovxRX~iR`lB zjg&N*qtx08dRA3HRw|G%0a@7#zlJsTo>|rcG=PO!!z-CeHqSN|MmDE0jD)9@wuZ?c z*S|}O2Zim9G+RS&-v0OZ7Yt9DW{u4djn#+NQ^<5!Tot0W|4Mh;@`x0rWZS9#{Jk$p zvp?`~TPk&ZMBWPx2fR_q7?O2r7(t-tR11#d+qX=YVtM0{&E8LhTop=Qzn~U41@c;RFQrA))57{!!~&GFVfnkyLV5yKzd=QTYDqr*||s1k05d4 zBL%c8hO_*6=KPyt@3Eba)7wdwWbR8aD5-I&R$I>!`gdH31BZ&5UET)$ zv~93;J7}5Q7$!3S8yn^+Z^*=Dd#6C+xWiw)dDy58!XuI6dage?I5Mu1a7$PUM)+rLkNP`DXgyS1H2cdTGqzToZ|enJHch14*E*)&U0>3uSOw^QH!PuP z?HYx9*_>$tQ4*LQllmR3pfNAZFB%gi^YoF)I54oV63WW4+7D?R0=ka|+_U)_4=qS~ z5t<6X4s6YN{X7s=4hQT5!P|1kQ(AwuBRu5_diq(Khq*B){?{$MuX6T zfZ2*@Bt%egKuU|SxxUm;n^%A)Vu0=Igv%=r35^sRM*M_`cK)6hovC#EPOxvto-vom zadjXBUbCTjyvcFEDW$VAIp?gGSvLyia~5=|PE#0)ST#7Npy!> z4T8@sVEWMW{cqp*zb4|QI9^%N=utX$(K!W7LrvcUPsmG~ciTI^bt(>PX?<|CUEvtB zn6mIt#ZW>e+@}DqzQJ0t5l$c8MSe`ep$Cm(;^Ci-mnd81Nmdt++M2cdlbxNZad~qM z7b)zNGr;~kab@aUAD+RarFuQEhit@OWG_M5FY(F>XQ9jnNKq zft)t|zEqSGY}X4D19|TsMRZN9Q3G3UZ&R~RNS#b0!9rMNs}NoN<5-fKKSXIp;VV;? z;L;N)8;j-RU`tZ9o)aSRw~$xB9w7Dqg`C`E!rJzYwj#)YFvx3-xdJXPA zjJMW;dq*g!T-?#xe@7|b{rx_i#G$N4sf^r4{PqyIUm@=emh<|8CUA_po<_EN z^#Chl58wm0_-x4A`@MFrx%G2)UiaIP3Q~~xnxj~2tV(kT+gg&v1^R)WkC3=M+6~WD zj2dMJDVeL!H3+T`+V=)efmkXNDK}m~W7_alO!SYvDx&yMR7$=9+(zA~<>T+C|5$z! zGnr0JJDZ52z`Z4#`Wz@1Hj30@0!bTT}N0>+0?eoBZZvAPkSc|p zQ;P1vUmf9IzcqdOFED%XUhHvsHviT00D&mjfA*lL1h6FYxxXNWx?gN+8-Ff*U(B~9 zcJCcTZn-<>Pi@S5K)$NyGIKducXtF1DmOJS+;u0LhVT+?bOyhF6*>GUi$72y(=Q<$ z(0wQy%KPwbY8O7D9XrH5#>2gNG~IipmA~z|s;C~-u&gW|D31`=cVyw5pHKaYQ{^me z_6XPaIBNFd5x5M)NBnY}`S^&e+1VK6+05t~SB<)0yX#mQSB>mebwck}OI%2<)MKW{l_UBvON_a_c};TF;{v{5j0!t&aFi)3X{Q5%89R8d<~a%5zr z;qqJPt*h0_?U86})x!79?I{8lgpn76MRhGq42-@AKH}*QC|K&FD#n}2joMBvb1ruQ zp>k0~WjGA>Z#PD`^wULstl_7YO_=$M<2!bPgE^evkv@?XZYnk*jI=@ijaSAQ60!fP zw}P0?7Uex$9W}lw*rS|y{myB7v-$Pw#zeek_>2?>hZ>+0Dk(3g6co(v>l2lXA(Ba$ z2AD<>3Ayce`;eJ!Z-|+hnHQ>!lvGtQBnAiTCcYu=y~6_Sg1{oJqVE&0PW2&k&AqFv z?DsU~9_h}j4=*PZHT5r`nN?+e{A(%-A(ymphCm~B*4X&CO8GofeA%hY`KWY>XxNt7 z4QIg6(2&}`UiIQbx<~)fnZJkzF}`46st*BAo(lP2$v-91@>~pzZDfAkfzEIK)Y z&!nzk$a>yVx9zTU9qRb>$i`AP|GPt-c1y!@pSR=C>BTu@r>mE;^8ac9WC@qIZEgIO z-rrLI#jB&I3?1*N47Tix{Ebl&DXDyxh!%jNPbD8N{Nm*~Yl{tf2n021S88W{hQojf zgyo$%gA0laFRbOfW{4#<#CGcPLirpjTsRNK*qPwqzFDJND@#v6rQ9414gzt*FgV|K z>SBl^mQFk}a?#*QJUyg?=w19f(Xc4V2^8Q8@;B(mtHeS+2P#ZA0tH^QJqR-JT+{sU ze}hfMee1&uIGuI+2Ze7`*hO?}5Hu=!n8$-|fdf^zvhR$?-ctrYzp5J*>0;KTzD z{lP&L##McRz{-i|>TWu}Y5r=ZJK1sKU-+l$!{r-kLwzz*hz*i;5~w-`C!sL}r#(22 zRb-AM^=hFkjg2q;_A8B77H+G=HMrN#`*X{YxAP~l9ZGL?jKW(e+PP949hDOx7IfG> z?(~sS#7~f?BPiAX4hG5se9!#>1%J{#4F!wi5mT>*u!$(hQ-GieS*;op3KtVbh}+G` z4Tg=z(o&@x#YcnM`rtsHp~UnT^?s3!Li0SZ-r|K^(Brx(`-d=@6S#id0Eh}rAk>c$ z^5{~zKe;lCI5upUjFa%DnD+n$v9P8ejn^KL)SHsY{xUDkQwsdgSvZKKF@J@-$1WR* zpV9VP=U6=WS&V7y@>4sAg<92+N-dpYNaBMFxSm1#SvWMQSU}X)EG(6WB0XFtjw8)Z zV8-}*NxVq^frp>dkm4*o)ZiwML;7V3{@3TM`7DsTcpbl}`;^dGwTq_kRmlFef4Fr>r_raw8!8jLGKl z>8v@`8o_8Ua|Sl!iqy0BcfhiLuUYMX-w=o9O*{=84 zM!3g3`ql$Sr0soZw2xT}8Nd*6LXN**Q%K>;ZEVcf2{KB`%B%~#9rm*AUQoLs?byFx zHX(*ECO{s;mFPy*w}-~jCxc` z6aFtYN0uh1u~2|TuUx8LwHRFqc3PjfCf$B~^r%B6rGB|I27=3ffW716l4zvsRQwVYmtoRSxD-3uXM9RQmj8d558wT zb?49iy|xA-@!>Hs2h>?c-K#>tvMbv@u?GPR7bXa|&Q}u1n-;~tai0#_#6MiG!=0if_$<_(WzR+0gwz`wW z7|?`s)ge2l=eD{>pq?+I#>lex%u3!bq=p-`2bvXQ4jVkoQ1ONvx^i>rh8ehWPf=c7 zMliFWggceg=)PzMzZ{FD)F1m30_o^ag!ujA%w2mF$(~NmW}M7SXpNPhjYt^>LnI=J zGJqC>AM+5dI&Xi{YzWn36KDJhNqF=pd;o%n&~WjZd%Z~Hqf!c?b~XvQw4VFzSaNRy`{40NG=y-wZml1R--Lcaemgi8={thtt;TGy+hsw;LP; zl{}e2{1uFd(Kw#bU4}hoS)1m8^OOle= z(?U-EhxDu4QG#d3ueP=}!wGNqQzKR7!Obvf*^gymGKemnYcXPwWr*whg@LO4(Z)Iu z*zktL$RPG>tIrHUpu12KD2?Cj`~#w2!P@Gg@}j9y{t&$i&990Gx>3o^U$Ak{WQz@* z9X*F0v}-VH53|*z@wAbic8EK^l%gq4(_m=QP|YdU*Z_?&qC176%p#nhT}!S+Cdgbc zW%j9MT|ZDMVmKDa_>tA~dJDnBqu>yn);;NR5ZK0pFbk6sUyYc_)Jy(ZH&pbE&Oy55 zl2o#Tuj@YO?!VS*)d4?)9^yj^gY@G2umd&o{=!u5m_KicWQV(~3C$?FFsfDEJ7fFB zD-~RddrtjZuYzM$Put?s{3DD1HOB_l=b}FfTlkyNg;O^{jw29?7Mr8)%OrJ65S;yd zcBjEB)Z>lXNow<^C{U>rNsu)6OPl_Wv(7>^7ZocP7lDuv>F6Drth4wvMB{WNageuoba^+es$ydXcqiAtPw2|5Ma$!Cdf#ph4?8)jhCZmxSZ*h+ zn4B|=9?#$d@9~DEj75K@#Z7Ekyc|&cyqJLiMFRo0goeT{_G0~kB`pdIp&K7l z*Wou{mfHG?v>g;KU}o6M{q2m>l8UVumtt1W-tBBq5C18&k#Mp zd5OO5hG4k&r4a284;Y#W3s1?R@dX#lqVb7!CzG|1o3DAG^R!N8rBE3$Oo@_i(u4`F|3dk@^sAEQ zmA<9@948yO1vVS`(_x;hU1o>dOQknJvL@VM*!jin6!t#lO0E$SiO)W;P^rh?IW(Z+ zl;5^7u!cNb>t#xfDJ4;Vpj>+5YnhuZ5c>Ps?tOg^7AsLb9*weE)?La^Yv+UsBVTMF zc44l6$K35x_(v09_4!ZiVRp|Cp#X9aaq>oiq!Yz3)aD}97(8-rPkCT@uuveP##;VO z0$<4aX6^3|ak%h@+_PS-Rdx8?3GHQHR6@MR0KE-KYk;IZzCi?4X^zV(us))^eCZXT zk_~}{UV?s*5^BBH%9RjhmXVhl)P|0W^ZLnY={dR7ejPK9&bP%OTf)edu1)~b?X$uy zA*RXEJC21KO$s}QbN%2+ytrgr)aSTkd?o!!`QJWJthy zvS4dIcZt^ZiB&@;Kr_l5??O-tkETRi@6hL6vd z=rFQn88!Twsg*Q@XTKg#5Rv{(o46}$+U#;4C~W_mCSb~8hs{{;)yjcLAA|DrohNy& zk)6}xDH5a~8o*V#OOUd1ror*?h?yDZ>zjy?Cnsii_+d86OEb0aHyKmcyYUFA-#ov? zQ{`!v*Dl-oJRjk9Hba0q8t?4aSn~G`BDyLwphgS`m&Sgh`kb&Vs%V8>uuVD2m{2f< z?zfS+$jNGI7IgBuqo8T{?!Wjj^3JdIjj8Hw^@NDwt5iG{2+dCQdET1St226_1?_iv zda58bPN-UJn$~g=oX8iM)C$G{DY*YUs@JMUIFV(ODt1~pA72nNDe0=1u>`D_1EV7O zzcLLF!i(zccZ;J}1O(}vFE?i%U?Z3|@TZh@rqTM@NT zxhA>s$8cnXU*b}%t&@@#qIeQ}5(5%LtU%J4d|E|0elcU~7LOIlcE7L ztuIqj4x`*70|N4eIQ_Z@Ue$2jPH_&63}+;|qs>&^?CGbE$DB)<7#0W}xSI_2)-3nZ zsP3yqrv+OVdd+pt$F7raQwX*lTOX*uJyG$KcqXzwFquFin4QPnxWB)gs#WAv4y)q&w*!V4B+O5ay>7{E#fEZ<0Z#9m7)ax$vKfFA9{oBF!X zcV6dOJ{jYE5o%A*p`EWUUGQu71MN^t#Ghe08*P_-!}3&&Ewh{@Ro!MsbvFwk&9Og( z9y5z^CrqD;h>8rs?8_fnM|d7-t}Yo!GwTrJ*q8z<_57&lxDX2pLk`hkqa+!E3t(iz zE`Jyq!oPbl`}lT@&{auPs^-nR3cazNY1C$BLv6J+b%$)ede=e<+Ul9F17&#-40V`g`a>DQk zB7myp!|&kN)Hw0Ra=dnwh=rBUYZ$emC#D^n-NNGEMEsTf-zH@WS?bTt1MI+cTbe@T zD{xX${098)@4Nh2wiA#IoW%BG9F zP^e-StAS{ne>~Oa2Q$*kDn~M7mSMR) zg8tY_{L@F*(m(cfGuj5C^~<8ZG+8l84LemMDM5A)jL#@&$Jx;p!g2ozz3eVyS8 zHmUgf> zlGH&*^ChbW62ZH_TZ4sX3C2BMf*)G>zJ-aSp7vG>r=2tld4S#i8Z?P^Rf@uxBJ;^1 z&nMxOF)*fvfHV*OyAvRjt7opm3=Hz|bORa2`S6X)W6@UZVHz^0kbVWwN9>RYQc7Lv zIY!?&7V_!aY3InwyM4w9oNFS%U0$D-VXKqb{?qd}{Fz)4r$1Tz>GPxx`M_guC?mi- z*a)b?I5mAaU}ql10tV)_#dXs269Lv@^Rt5)3@vE$jmExU*~IjWP>KD=JCUyLsTmQ& z-Zm2D)q_Bqq0zE!VcqiB3U_wVsO?TCjlG2M1rnL#qR>WchlVp>=j_q$wP*cOJ2!H7 zF4;cho&N8kvJ8DR&b;cPSzi9+$a{yZ=$o55cWS8}2Ro1=&uacPbAA3IV&$3i=VpP0 zl`eiok{$S6z@XEq@;~{L(gq131rm)VRM-}-e<5!gkMQud?hZI9QyC$%M`jyA$XA;9 zEhnT7w_dMVcTkTkx#4%{*Yy_NcTmDCzT4783V26lg9!gh=C!9;EG)kb(;xGs8uj(Q zVptz57U7-Tc@-()joyYAczwNd{en2v1>s%qB>iR(^v}Rs=;i%@giZvHgoyf^#s^~# zg8xkUETwKi%3Zx)mv+$Z`|)8WiByl#XOgka8pm{#-K2@l6cj3{@yRH;h+x|sNxkIA4{vb^15c$}^{`WG1@_Y|UA{4;eEwm5 zdiK^$XZO(v&u6r{3^eq9*9|L#2@%5NQG2fz&&}dGa=Q zqKsj)n5M8c^oet?YESMkAD8L)2^~es2z%%Tw?f=qT`!#jIu?%@4Nv*gw@ImD=Y;m* zG-<9RfYyarwj!@Z!$N8FL5`jjS{J4>(x~zTN}wHMpJ&oVO5T=J$*w$U{IXq_4iyt3>a~A2m!O{`c0y#&8p^5s1*5wY$GmoyhNlD7@A!-EXQl9~V$@9WLMrw=>Tg!guCybvfcno&# zIY&ATe-jBhPj*%vAd?pNZx1TTK*b2X2WU5cq%TLtBf*sy@r1=ppy1V2A18I_4s+dkwgBUzPzze0)R6zt!8JmTek@%qZNb;r`dcL25mQ9DSv&({xZ0y zt*cwJbowa1b)ZYU~uFe}3 zE;34B87C*YP*f}y|1F1+zkjKzspFX!PLJvt6G@;n%cE2Z;(30uBm`YcYN0|2RU;;A zXnw~~)BfPX%rPF9Ge2R66m#>)Z{W9ORJyP!Nff}!BpsISx@X02H&HY?}42X0~6Mv0M zaKQqMgOd$#PurB{%~j}yi93(M7aWD66}2%kTMNn)O@DCd=VFFn<>Pt*nXdK-lKB9J zMu&j%{fYw9xBMd|VLxvH>I}OIhuRt2TE~`Mv$LbQ)nujz^*4tfi$wUCG(b2D2rc^# zS@%rczvkFIo!vb)E`z~fqey&#^a@)~hfx6FVieeiq8%nABz#c_t!D%qph{3X4(&EA z_8JKOyWq>TgYd6jubxb&L2{5XWgtc*yObR#l{}q$bK71Sma}&H@Tqz((`Nw$G}dtN zZNf1awfB#6!%}lAaGrb+!OwF913ECVlBtC`tH zcR{i{ZQp+&GrUPNe0v z%(J-B-OZC1Fmr6Ry{%=vv~WdIZXIguh*vyE$Rn@1Oxn1%D-=y@EBV|1y7aUOy{s6oHFk$T0_R}LNW6_BHl|9=y8bbBWfepEpd@O0_e1PhT|Fud? z9J8ZFN~&_^X!4WCdp+~qc4w$`2gJW@59#VQ?@u#;@_4;M0C`ig6)rEOD|PM7@E%+Z zreD+|6_nq1c8^GY&+SN3_3`;+7+)=SpIOc-iWOZ{$IO~-H7uNHrm&Np zjZH?5FlP2>;Qw*;m0@iKP20h}K%uzPBE{XcSaB&(q(E`^;*cPP;_eQ`wK&CsQ;HOK zg1fu(9iCUN?|Ofca5m>8J2Usp-ZQ(iun-QkNUYK0%=X~=5E1=G-)mRkWgAEzrT%vq zpW$j^k|a<8bRM$5J#N~7OKzOgFcvU%1YLD}eNfe%a}Mu-(A3JrX&m)+wC(n5o9CaB@6WO|zQ-2`2~^2nm_+C} zcGT9uHd?wj)_WH|$et;U;PxRQJK7(Ha?xn}5AJnq8RCf{hr|PQpbl{|j{Cp5A6Z?X zPn>>{SEFoVspfj0)W^5DuCI@_FGC)#dI&dAtDRdrHd<)e*{g?Bcu25Z2o~p$o!<=U zI5M#@e+gS+#S6%bdkv3p&xhp)eO6hU*?HD(ETnx-SV23(YWh*^9n>fyNL%-ar4qkE zlm2L-(E0|`dgkQUUJTKeBaW(czoueZ06 z?O1f>;-tNdYhRDQH6FfZB{$b+k7d-LtGQcOibyx5cF}$X2;Duk<=R3{Mff!4ujp^R2{;C^2@ci(OWVIL9R9y%p{SObJ^i;neHShy6{w}iWB zhf6`xTlf!XQ7q7<+2+tNPn(Kx^?W&}GZc{XKeYg2{QRGReL9@Z8*(%>Gypm{oO}BE zis0hnMvw`_0eeOQ0s}<^u{%3Eji<|Xq=G`+<#^vnlHpQ}las>U+I7aqN8DvQ2S%dv`gM#uI)%B2@Lk+k*t*2}aPt`}|yzH%%u@V)iUn^hJ;y z?YVg!DN*KO@y~VKZO7q1(M@a#AP??aK@Gf%G2D541OK>mV1i`hr5 zp`+RkU;o5yzb&wUvPp|V&qq60H_2H$cU@^b>;KI?8vUEDwVks*Qy>L)N<`dCs;R_k ztI}abW7Boi`J4UKGWj<>k=pjIiXcOo-ZMnOf@j;ykF|25w8 z!_>ghZ*&LP2@h90wnJPNBOAbT547(M!H<{5K(4un4AA49M*Iu7 zXNPdZ^ylY<)51Z$#iP2Xy}n1A9zbSq=;i-W06~ewxh*GBIJ$X( z9`HAqJkI`v^t?bha7Cxl`mYY7gsSOi^Bp{e-z-=7t9uQ$*LpTKP4_qUjO^^HfN_Bb z1ssY=fF$zn^=TH`MKRg}2$>xMhiL>tAcFqy%N=sBR;)P{ayGttR~zY7dojCo&G==% zQ4RiuGm-CxgZ%&ZGth~fUMXmc!oy;247A;62JdB{zhM{A{~eekb{bB#aFZ3%3(vKWf_g z?iq^RJN@UYi@S5I|Gw{?j?Oaa`*w{`eVM^&FIA4ytSN-b#|hb2 zVi5|-Lk);Ch2V%c;7~Dt<@$=IKtN^l_{3i_F;%4E?j?}<>Zj<;l(u`eXi-*CsbHqd z%=xFpHZ^Ap3>oc(nJ|zVJ^!0dr<_3Kh+h79zaAI2C(0!aFDnnwXw+ zc9Pj#VAz_TbBpq zHn2Wx8J$vAv~`WnBhA}hZu|YJN^HAV^I!^%2!*2#ns?^<6VB_sN?Qf_wPUj8z3|5+ zMd-;cUaqOYrk>_#sYHg?+5`vshS&3R_WYeM4(gG`=M7Q_b5mj!A#V1RD<_$xcwqrwrg5lYJ zu$o-}j}P$m_4#!P785sB#FUi$5bJ(b{-Gh8h)c%LPDxNmD5T?P=5n9>tWzJ|O?O=K zV6gdZc7M+=E-4PCbcgG9prV|TrFcw5HaFq5pZH5{D|K$JWDv$4k`tS9zM?)?XWL`Y zs>_v^5z6{Lr@blx&&-3v+n;t3YEoI}nl>8$nPf}lOoA2p)BgB&Qv|OL0TMo!>911w zpjPbb8M=wHH{qyMXk6Y6ed>XPo<~(mg@1#w`+pP*G^HYN+wy5$Nq+=p!~~d`;(VG} z&8sg{PfYP~8~cN=3qK2MGx;0hwW1!!Tb?k^!br8zj|Y!EPY)U7SNo-SsDnmsIItF! zvk*YGLY}Xj+GGQ8B<1GVYyIa5dZg_EI zCs?hGY=v@|1fdd6k`gc{_8iR?t${%61OZcm#VoIaH-8<|(tahbGd zv8%uf0?}mu4jCwdqzmkWKup^=dAq1aI{S1o+bU-+^uU}XA9jh`KO8~vP?R-!)J1I)5w7b*}fHvto*tu@P0C-*w1)~Xoz$gh09Md zUM!uj96O7Mt8ev(w^A{hlO(EiJt_*O@mws@&TPF;5IOs67+u$bPEVUq;?ZDp5TGzA zvtGarl8bsV5J&R9*pgvckp>>p|3tk8CJj>}45{wY(`TO#+-68dg;l zB94yN_EO)=d0xi>vuGr@`IrAmt$l94D1s!~zs)Q4!QG9NeYVgSnoN+W(Fhl)6oq{- z6|PLovwZNaUu>{HW-!?-7hTSn|Gg>8tE1&e0}-zQ<0jU5_iy)1hqX5Jx6OE0?Cup> zbFaQ($up|SxSo$>B}#i(dxhzoR%l-6?S7E6WB_JICJI!$&P+4P?^FPyuf$IolC46M zL^Yc^JK4mOG^MoikFIPvaD*q>Palhuqe9Xb`mEgHk=lE??tT#C@JA%HydYTA})Se_z zbFJ-G8DbHF0qst_;^s4@{q~0t(7mQ?M_ojp2`>M-oN9P?_aqQI>Z#Hw;y5l0#(7)x z89{dhIesT&OMhjTJTm(O13=Y9K@h%$8`(n$*N2?%iVT=%GF=x zmc5*aR#71z{;Z`NVhfk3vF*_Uq_yUvf*EF-VJX|$f?NJ2V-j5gvC#31Uz4>n(oOjrtmF*05KPlHMO3%0m%80OeBKlp?35kM*}?u(YK}#Aj{~7fqH7d* zQX32+D;^tZU%*}tX==!z4i~Ir1-rvG`^u+9f^Tcr%Bshxp3CuDz8ZVu$9`W<{MC|u z#^5a``*(3q!l2?F*Vocx67IFzCrmccKhkJNS=v);U+tnSRy#+rX^ounG}~{I8P+w| zj%|26skEm>_mw8jZH>s(`c-7ChhHGrJBz&FA#EOJfKGE-6VqYK@5iYFJ(3*9slmOD zO2g=;W!lK7QyN^*npd=|$5?IJ%EU@4dnTYifcY*kUVTPyaK_24`^Lq%w&4Bt?ya%} zpqsHOkX&E4P5n}i*UG55%$xd3K1GE^IVx-TJ(m=r&Fe53VAf@3EX+)ev`5~>Cpdbq z(830Lw-O$H`?Y1nLT56id(fySrZ!Sdm}DJlr)-_ns+6}DUb%R@)j=8=PQW~NUrl_c4FIc;cDmo z+JT&_(xt_*G`GGgtQf<%mh}ee7|cdJ>izq|{oQf8dR{%Ya_E0B6CS#h`Hr6uPRi_N zO@CkSM}QZ;zJP_mZUO$#yoMx6#&4O^=G7Zn*;gc)+H<#r9x~s06N)QArL@&kLs52; z7KhF9bRAse*1L<->;Q14)EVQN_w(lB!T885tX8~0E$YbSkD zI>F7o!}?!gQ-@Xd;KW{=I(<_Ww2l;FJkKmQDZN{pdfn=9LKw54%>@NC5;jiG@inL! z-&RyeJj{a>Takfw6=dpEPJnAplPzXwm5k+A?d%Co*iNrC!D2pJYW#vhHReHa7eP6} z?(mrs6pR^4-xt9_;<~#3N?f^s5TgO@h+g?vDV|V-i@tDbykhQ`()nxL^F;;zHooBv zGQE#_ji5lhEt7k+mE_Gnm$tbFR|*zF2yM_mQIn!lbo)L4VsWNxvC&zxJ`B0AQPcex z=(_y?Ewmd0e1$_;-77^!90}k;?#h}#(B(nkFO}Y}ODZLFGpF$Uc1!TXoS^a&vEy#w zEp?u#5KE(ZIt%7KTT&yeV9XqX^DJ>59YJbM(lEYBx}q730o}Q=^yk z^8NV@EpOx=ejAQqS|N>mA&3q*sPkOZW>gbiu4`;3@T8L}=wEV{Co<@y_ZpV((@XP_ zp^HjUHX|!A^jM+fSZ_(RA8(YU?=9&Qu@d0;9EACTp3-m-jbinaoS(iqd6-Cweo=hh zmajaBZU%eRUg^IZ9AL*QsjR~Wy=o8xG{Sr%o8{1<K%3}yX0O640DX6D?E#}bi!5Ope4f*4Gr`L!1;{V0 z-?wgfwHp}2{jTk1B$bEVrGgxUJV)p{>XmytC{<;COYQ9jV(7WD0Lre(F+ypwEr_Q8 z?`_T&(A-kO?e1Ig=p9#E{)X;nB5&%B1$?uWN6^?dhXi7RdMlrqpx02Qfr-4}wZPR< z!d5dLP3Aneuq3P4^Q054f7OKz0QS)F+gB_BRtk@|%t3YEFxZV{)GK^Y5aBJlWkt^0 z8Q+nAc-Rfer{oZ%f7*jXEcBcX13E3FY@rokgHD!%O_YB*M6Pg$)Y7a@W6FKr&u0OK ztZ8MdzvbICcWpKKAvQe1^tRy@CjVRLvq+Br$AY;G2at!`X*39Oyi5^%5^1(^$PY!z>T*Rw8f;^dZ*KsT+(LgUt}@niK8ReQ9I-?{(~0VBAFxDe`d z(R=8)&XJ^mJ{gx$Y2D>Dz_&QBa+%>T8sOS1pz}tn|In_|Vl}Lyi%7gLeUV9f6x#$z z3Mx#CoTX7VsOTLF;%k42!^lQajV?~OS);!V@!Jq7MorPmYdKBa5%tqU3j7j;yyWzK zM#=?ujUhPS7(geRTNur+IDaS*#6CLa-hN?RPUj>~;UuSIeISa|6^)2+=zuOReX8}R zr>mUX2TTo~ogjo`v@IyL?SRir+2g5Zk$>rtQ0{z$%U)F{h-;QZ@@;PGapBu?H0m9J z9me183o0_NuE;L%MSwsjLETeX=>G9l~$7pL!P z2b!i`R*(XIgYYx}XjFGm+nTF#PmoUG^4$?rR2e&r+7qB&I?8!w7g@SB`ED*+jK$yD zxSA5X!lP|b(Zgr>>RFfZccP#566K4E9Lxx<4R?nqindG@O;+B`zk|-f+eE~_E3iD? z4{Z@r00Jv*KheumLmbgZ8!4X6Eo`Q`VL+fb_^*Ftfe$(p)YfrZJY6EMvOoLf>w1uk z1Nye1;2BFokQ6>~+$b^dPblZ_K}mrry+e3(=#7Z)Z>+Qc)0HUfMZ1w3WaE!$Z82!0DJ zZduMY>~0xsqXZi)?K$mJNd-H6Mzh!p6sLA}=)8ImMaF+9^0{sgf&gv@)cV_{MoFTfKvl()70nwJKfbnZ{HX$ zSKLM?h_2Ek%NxziOxsND>F=49oL-~2JX{q8cQxM|uOoX6|1w2y6ihWE-p`#L`FBKM z*3!}8*{9l25x0n8I}0;-C@G#HueE}kj}gj%ak@&U1+EocOk%rEUc?y1Me zkgkOuLw2oXK~;TjA0Ac_oDsPJgJ<5IB!;*kR>$#edl>z>H)Fsq3G&WL_h}XW`FbEx zbS5l{`sqT-FLuvD@!-rjLmHBqNH8+E^_}lHBo6OZIxY0%sr!Qar{GT8PYsKyV`!20 ztJ%e8FDSc(p4~TR3b*B>*4K5{JU{j8t}lE3#HmxsV1E*8)YkX*IAQm=P7Z1k5W?W| z3ud(8o!a5Xqhk{}$29PgnHRcS*B;8&Gw~-lNYPV0*i_5kQ5Y2tWP7U1xErpu7^btz za;-Ap$=rK=|Ef-`&Jt{MSeA7mMGwv>pyg7l zWS&T}jA581ram zhT7^a->{JTmi4wzm)r=K*lfoGLGzd))e`1$i`5UwnP40X40gB}4b#LbxNi8*BUj(S zqYI^xzA0ZaLsdzyz@M3=zr2W-80P1H=%9cRa8fdbDf-3h9xc#v^yUhqnN0R;An2>e zeU6&K?s0_5z4=-T;9PHAymJy>PjA~+US8o9GR^{#CtbLHK{QBl|M6o9*5THI-qvazmg`74exv2281_?| z9d&PyA=r|ow4>2k*iyo;R>sc##chl(xAa>%TO)n4YIlg%RP-9o5J(79L@aL0{N!3! znszp5VVl&6GT$(F-B1)s6?XaWEf+{OD495#E$8DgdiFIWni<69ztM_OR`4YA1c zY~c46cfE3(idhu>`KN}94j$a2#E&0c7k6suFj^9~6l2;H3~MAbW6p6cpxk>yQkl)g ztl8ETL532G)8NS@sh@4xI$hKFwoq3l)_00I+C|BvQ(~9-NI?~lO1h0y-v*d~gQ4du zBQhQpC6(B{^D+3cJ$p3X>e!^Z>OPmlkG)lB1aR57Hm%Pbcx%j9i^Rqep~r{xRI+C& zc30&QVFKMKS6+Yzui1(Ac1qKCXn-V6yQt1tPYZafhjJoit8`R}9wm^f+U!+*CznKB zsWVTK>hD`BqxE&HM5>3}cRSJYT0j+*4|kZ`uvBAU)>2Z?a>Pk8IEvs8x% z;fsLqZN)89Jq3VQ8boXr_%%fE&IIO3kZA#*O1Ku0+J*`gm0V{(!}8r&3|aS4=<14; z)98+;SQkqD%+2P0qh_#NZWl40%nG6`6C~te7mKU{0y=&${p}xo}JR$WVc>g<-rZQ=UWBorcPeVHMk=8K(kN1n>Zz0-S^__de%^u%8_=W^y z4nI*E0L8Rr!*4_Ps(8AXx)+S5Is1K9danUx@-XvAw{Ahkt&FH+^XwR+`j=U)>p5_q z<@&K`M4WzQLIkPw3U0kK=1r=_iLR@j5C0vml2jAd9gG3#3u9Me$(FG5WV$yth|u@~ znZrOmU^AxYy0}d}n~Xk4hT(}wk3ftOjX$Cnb*S@TR$43ET%J)UH9-pQ5+COJ+FXf) z*KonL$Ml~_sFr&%cXA8ji>iGn?;R$y8r}bG1jPQwKYZWO=54K*M{&!=wwng-S)aGT z$Rf$B`0}=-_`QdpVj1#Rtl`x>BhX~TU&F2*5Y`AKG!(cj`aN=oz3AA=S#@p=BY3pxWXEaaQyZfVTkYU{ZZ;-%@jIe{$xo)ZM9F55g(koYt17LBT|# z4yqZTFa(S4?L=HP7C!0DM@B||e}`L1X8LtZuK)+xNIk0UWQ`P}0u>9x0yG7p{$0Td`&F0BY67jYHL3sG+Lel~l@oHsJ4 z*~O;H12E=2h`2>k(25c<(hEyMQd#m6p@IZe`A~tehwimxB?9An$JKswjbUKh&?e{M zWoT#K@54~t2Eylz4_$D*t_TI8#95sQ3?k|A7U4G4bK>(d$evy;yjs$4F`QY+{c(w>Are^ z-U91TKpLJeIdBu1`n7Wp!M-Pd&p?`|mTbvU>IdPhNic_t_g!Egd(zDK$1fk^y{^Nr zeja?SvU4%J2*2XSg*~4(M@AY1-*zeb2zB+0x~9~QVs$WM$4HCd-9jc|*>rc-^UGT& zKiF*}(=J=zrUTe!d12t0#pP4{abs9F>987m&hxve^cHb#_UM8qjwgx_dx;XZqV)vA zolPVNZRI`VAwqIWJireG43``d_ue`EP|5@DEZp*%W~G98DM%pOyI`< z;$#eckEHA1rMtXVy8Gk0;9^tk3aWqZ0Bc(~3Wl|N^PS!u5l*qGjf!1?+Pqe&K)fp6 z00|ZUlxE{Bb|#p~hB^v_iB+ z5KtD0Z)>1mBgY<|as4qPAT^ssM#(PbZVdi4z<18mJB2Y{O^uIFNmVu{ZdZIiwlQ#J zT1bCB2pMKPJD=#5C3%VDPAk6dz3rwLP{hxgt0l2BDUc=tQYK^EcSA*4OxK1{Xq-Ra zo?|FuDaS}PC8-fNyyxpyPrDy7P~Wo=iX8u^v89Yc9V~b@;P+`10pR^$jJS+8``PYv z2)YF;wdDy#uqXWnciQXU!ZRf7Ki)U&=w|=Y*lb?4Wo^p0!yV^EK2}PN`Ze`UJl?UPr%ebA)M7uP2t$QW5A5xta{4OPt7jB@P5vf+!mw8q0 zkvtW_5HAQv@RTc44L@bOEAhRnM@3f&?&_jgfoCC;1vj+k6!~kbvkXH1DEarx+n!Oy zeNQ3mCP$SvEYKk*+zlslqUWmo8+-4P|5UlGAr~xHjKx?xsdxb@Mv+|EUFlY1+cv->5xa^2Ztmsr|jCD(#@?j3F?!zvE+j za5|F?IxvWQcmCU$$C>;a0*L*qfp)9s4bGWYTLA0fOh9NP*wkWeK>1^tjPwqN!?pz3 zoHq6S;EXheSjHHzuBc{6n{P0NNCY(w7PG&eez4g@-+4HVJo7fh!>w!(yX-|4Lx@3q zBNLfS@T$yQYLe`hhppY?^G3aMKO3|*kcC%V>C@2-l05=)`cSuMlQ-Y*tG#!(s*gg# zr;o3>ML6|EEdT|cMX<^`2X2*5Jx!7*ViWB(_?czF-RjDjj0f4jL(T==@~;?8_T z(DZSmAT4bqp8(C=B_BZO*oj|rr7OV~+xU2^w$Z5cL8^2=C*lYO7pyrF%4(Tt>uv9= znVoxE(YvDSLSmN6B=BBStlS0+*tlfw+$Qi@ ztd{e0={-R4^48NU___z*m|)~{P}{PUzp@oCeBrCSkRiO6+k{I9w%G^{Og?Yxcm>W= z>Tom`p6>?o^lnqRh`)`h_zgF9Rz8}^Yzqh)&Z}?u%sg@GH?7%Cv#~gug1U&wmep7r z4Rz!>(dX|?fTaq)>!k$n?w?f4RKLwxX9ntw7X~+-z7UpU(SnW=xS^>#|23aPobr2F9%2EatDH$K>Y`~gSAcUMmK&JIA> zJjv<7weZYtjdtVM?#L=F96uSYY~UVR5c_ zz8y%}$?L$QEIM*oWG)iOCrG*i*)m6t#uE@ofkHGr2!vAS1eGv05vfaG|KGb=TZ zNUz+#xin;Qp0DVBvl#(EI)lo(3twl0v6mj3@^P!`{;Nw^#(O)AhC-wB>WT(i-oXV= z_tMZCbGJM?#n^q4BBG4yjTRECj~JVu+^=#Vp>oSW;>0%m5)N-8M4Kf6*+^6uG8s)U z@My~M1{O6bz`K18Y|GZMl$XYxu#4sn==f@GRs|&DUU&?kFRWq|*PXr%Wx^HQM~@nO z?JPi%*V*WSM4G9)fb8;(iaXT7eYEO><-yyS1e6FFDaI&VMv|$d= zDZ(IC$5S$ZwVtporr=f%E}GlgCJ&hjtnG;@_@^!=S6DgM-WE zHjoJqJAC+X$Ty{%VAV(Y)XzVqaci(&XR5V)D7>4CzhFVpLJQu)yyxjuhoMnlOh_3v zDKYjOr;a~fAEy@dBzhI2Fs%){fgzTLKBF$( zRO?C^x36e|cj+?Sa7GSbLk7Iu8-^W;-oZuhmY%i7Jy)AeNy9h@r@?^Y-yObgef+dr zsCo;rqVUn-Yo>xQmrHBncbO(i7cC73Ep?A*xwW8;?*0K4??V-UeEZ*o$HENQ-m>Ku z6xL0e{+Pc?NMUjkz{+Bk8(S<=BOk_FCY{GJoXOh{cw^(Ef6FO4kBVBUg}$}LHvBJqU{ zFxY1>fbxh=*aiLnBFZW0qQ=$XB#?}#D)lxRzxnn~@nrZw8nV}%$b2c}^0%L^WJNc= z!5$8oekl1G&pg)6Z)7L!j}wpqQ8Fl32$v%af8uOWbbPO&gQ68K{-p1%-MRH=@$6TI z!Ehr>EeBpO(!kBSu5_neh1j`78U6#%yvca{=f}^#T^Xkf&5d`*3qbf~ZYaceX_?o? z`gJ~;`9ML)JL`a8H0Mq9MMeDiH1v^h6)hP+)re*#N@*9&!*6>k*C#FxKYBJ2B!yKa z&5t7Mb$MNN0+@N`?mW>d)f_oHiRc0*w7z`)diwXq|2`wO+l+{veilFI6V{9$2-Bqs zgKe;tbF>lD$o?l_q zyz8b#>$?Y8drCSQXdM1igB0}EW!rr3)I)DYsM5#fikP%543a;sJAv$XUQ2M=Q>E+ttc?pbpZCKR8uX>+l3AGyEmO^w;G*F>HtMbPPP1_JJ zsjb|jrT>?2$cpz=Ky6NqQu~q5o*0!G@kv=B)1$>F+0v=UF)HUy^oCL@CWn6sE)clx zu!)fNd-%+3Uo;@WK1g$#yg9*bh#65(dgdaL9xQ7Fh&ui;xjqf0Og}ZXiZ-yotX8wh z(}`%hHhO7+qCPw_pE)r#@lO?~GQ#7W2~wM2DBGxCQ}pzpWuzn2FnictWA=Avzp5k3 z>~E4km`=*qu|U@`CByKsd>3dUlAxJ-WV`PkZP(J<-f`g7-f=5|%mbeF)S$O|cJE)A zF{$Q;_G;~EKZ%@x^8p&jUqymX8_YZKb+=J*IFv+-ufD`L0sdwEo$)!h9{@Q1U(~4N zGB9yqr4EFjk_3Mad@2z6pAA@8(sK1Pl)~Zo%^fyx-s>P@D>t#+kFBW%hF*IUjY`aP zi9Y*{h<1mK+s5*^_z4I;>!k)5On?wS2(Tjvr+CL>9Dx-HzLtG_JJVBVDOro5067BT zOSTs}hj)|WUH9UZEI?RgVhwmvQluT=0(Xr0HGuYwf;@PgiaV#GC&r&ySbnb!NVGn6 zOC?mXzwY=p2;_e{ntbt^I_`MMei{D0p-lk450&zH76Gle6i`bRSMb4M(t(DTAoCi9 z0vmQ#S}Z>mRZG#peX*Jto1=5*tBDw>TDnnkKi{!PkwpB}TzDN)UT|#K3xl%%B+(qlv*-D+HutJ(b%z@t}(hqM#u*`Tn~p z|Mt2&Nul;Y<|*&RyifU-$DYb5zg#jTrlVM1z$glG&RAi)TxkUjTx_h_AfxWUjw zlD6D}@+GzE_RA?vD$8Sao|QL>bAhXD;@R`_d(rcFEM-d$l%=FQgkXH194{)UKdhzA z`?^%r=3BeS$y!Ww0Kyg4Lp7@R=TT9*nR8qtg$H15Y#J;(n{Z~&Lf=Zz!Z@hgqZ@))J4$n@I}eoi+&oew%3OiEjZpAb z51R5t8Mgh;c|CHm?GtaVy+6?aOpYAGXm=E$@EF^?hH@t%jlSv(dl*FMeS3Z1WBng| z(C3XAvP2<2xSZh(2b=0{Hie?O0~fows>G|tlj!kBO~%Vv>w85Hy}<9_SIlwUvR*fq zb*{~xaFr2)Wr;;dwz&;^3@sDw_k*M$g@(^xQco&(AJS~k=1_R%>ZfG^`ce6Pd}KQZ zbyB@aI2qdT{I6cQAdYDuf)VT=LoFBBxG+(^0g=>u^Dy82&HD%N^F##$?=`w~-q&#L z4TrC$*`7baU&(eJR*3zTi&+RLz*x9-AFvO)wWt_rBy>@8l;vbgXeW_|*c8|DY+L!~ zi|XuQm)#F$!KASW-&M6Q@<1pXugu;*9bbdt0Y+3+W!7G z5P`&u@??`~f3zF>#|bf9M_VDh}!6dD2PR1(N4X8G5>#sbZr#@EK}=+s6MXPxhwu+qmfU zl8yEkpcMbQ@K1gz@I!%IE`a_6u1TN5aPss6t6&LvLhRS4HZCL& zrA?u36oqdMu2D(wv+8prM<~t0M6%&GY}o=IGEA^19kN$CA*!V6ACTaSRMX-0A8;_p zdXf0D0=&YKIwG-W-Qx&XAmJ#xdqNM_pDqHS#IyH$4DHbYf?+r-0lx#ef|_nl-=HF1 zbLl>?isp0#e&axpqr%}Q-gL;j!NOS#L4{+*LH$py=gS`n79&3~q?dxs|NUPYHDc5M z|GplAv+|#6!v7vI2`>r3_}?1<1(X>7_m(;C^$7p#h zRT!d^7Wb8vE#g#;WWTUd|Laj@9|z!;63skdd^K+0#eEx&_kPbHQSR0HYR_a|2euJh z^@1XxZb2YIR9mVbocRV{?~TXQa3Se}vr}RD-sqehgVnus2=IW!hCjA{+)U|>jP#7| ziK+IhFNiZYeGEPBbwaR4>#f9U;!l4?;uih$^KF_qjGxP)@6YHeUSE~zuYEP6yp)O! z*#T$WO+G{RQQ-db^e;K&G)P~JxTu4OBIhRyZ$8aeDv3#==K4imqW)+K?%m%u-V8~1 ziYDkDZAALrVEeJ^OABTjp@gR9o58S*?P#Wj>>^PND(wZ}l*Vlb_}8GlL0}?Gfr+rd zw8d!M@> z$U2q1C9G&^$?e8_vZOfl&p}(5WS>zc7cy)Le}+Wtxd5%G{eY{gf@)3oFxa7=FiuS+Dq9ih_XT8+z_^W?oD}j(k~LmetprY*SL;)MoII5|ND!T z7XzABAg%Z)#2E{B3>f6-`&0hoa&Cp z|L_!@?Xi%x+N{XO3RpZzZd}J%;scI%djpADb33(Dl|Q{XkA`-<^B<{2H)yx_VE73~ zQt#SbaYl9{vf*zon7QPakd&m(vpSrQzcxa!E(w`Zfh&|+giK|VRug0g5G2Y~B|Ai^ zY)KP=jK0*kl8LK@y87A8COg&mW^JagD_R{Z6Agg-tZjt;<0LNpVCI7JXMw_wz$v<8BvN{rZ0&2(4n24XQgt8=;(qinI7c1 zS`vgR{A7y{%25-im2$Pkeio-B6Y<0MoH_ef(w*Pr$b!OW50gpWM)+qXMRoV6;vMp6 zxg}${u@daza_R_zR5h~ce&>}~J(SdMb9#e~#49=d%T`|$OrDsid2;3^8wgTCsMUA0P>>Ts--6m16%0~;gMV@MX61|~5K9O3 zlbFY;lcyRdtKpb3V)MM{dThepF=dSHh~KR4zv}vV@biuH@T{`3sQ+g4PfLddAX#L6 zA8|MT3?YK7mQ*3IW8y-_SV1N;G`2wD#(1lP{Qiayg2jzi^8P+^iigeo1XW!KCWjo9 zFt`;`)!_HNLa*_q{ies)0Suz+Y5olU1P52YwE-TGZFUh^9_?f|p5;@D5QROA$ZnxQ zdZA(5(A(9NyAt+0>JsJ`0vt~YY$74kOw{CeUnM(QVwCM4c*VfT7*JKkrYkl{QEPa+ zXih2VD!6xqQMZ2_*hh_ZvJtNW54!ty9FlqOW(;fh^>|9%miWu?RR5lsaCBK*)x?k+ z^(1I{2}_V1?%w5KxlPE;*Y|aZx{Fgu>*9OLo2%p28KA#Ob^V=AxaS)AGq$TbcN|_Y zeZNWhMd0%^!vwfXfeSbLQTuS4wq%a4>(3SOTjA8SS{0REA@^4);kLD;Y1enu#302x zNDJKUiF*$Mv_QLlA3=Lz`=cma8oMyD_0_r%RVOj8z{20*N%B+j3=Kn0(gX(>Pd~00 zD?A-v`h(L}KEe6xFLsnMJ%pehclP?f@$A9^?T63uzAkstcD7ur-?jqN9M0lZ`C;sm6;jbc>Kk+T!nl?|gBl=s=4$l?h!8ulj8i2rdeS&1;3`}@26yc+nT(agT@F1P$( zI_wZ^a@o!bcq#X2nTMOuo!3)nz%DZe1_p5>Jhq39WAi!vXY(Zn5)nx_`LTK%?c4Lg zQu&>w3x4nS*e&DktE$t~J4@eAFirxZtN2=5TURzW(I_b$Zf?A~mp)))tGHwO-Eq|I z{~NcySMrvRwUzDRQ+1hK)a^lS^1tJSKiWf0C_5}O;)T~DO$mnxbSIsen+!YkSoozf zc5G#HbqpmKrnfx#)nXTiS8d?^7`VWg40Ed?NdI2#NS3Rnj2gc3iBoh)p_x-vuXcrJo6-np^AUm1x z-CwiC=qu09-ZEMw?FgrOYq%Zn3<#jHi81#Ef0)|LEBNFnsyYoCP~9BN2(3 za|P2aVKyDkA{m6Oc;53;KIiF*d0M2{YE8`3@b>DZu1*)j)O)bbTzt*XKiaEy8?aR> z@Q7>&+{YkcZlY3z4%1t8*IbR!CC!J zVpsX)53GaoOlrEiaPo{ti){$*D()WM-rY+}1XQk9`BZ-@JRW;DCK>R_L6WrN4F zFw%6IS1Z25JOGaha(t`txIv5jRZ687&+YKhHaqrGnR88u%AZh3e%1mIkHEP^4ISU= zR~v~@AEN>Ll0SYvC~r;M@|R{}v%=^_cmu9xQPXbC=u&QYP=rFhtXpbDl^t^JnLM|6 zfqDS5dH`XPI;zz$DUjf-q8QcffuZc6_|0GsvpX)@zgVZbub?MCKoM{(2<*HV|5cc@ zKt44p`FlyCUnsE#QeSV&BN%+6QSi^A-!u0whIs{|r_v^auPSMb<0MK!=KSmH55brm zA4M!^9?B{V|7@S0LmTavtS^X#l3D(lSJ<_slV%akQrdNq<~ptSp*m1TolLJXgJ$G)yzsnSreq`9Tv%h|dEb!cSPycp_szPa zgC@+9`1`~hh{eH^z~EBaxVb1|XjFXOuY`2aE~omQ$f56qbdc^PvkRw6cdS{k4M#*D zue2VEM@QzQ%K8sUookTqlz7CYrbG?-C}6HQJ?=vp(`XN zbT8vy-63%Ig*z7}jkgJ#d$Gf8xN+E8yV^XaU(y1Dwj=8SX0U=ZkA1JVuQ z3utM1<*qQOs-qK{vO}au!iV;S@(`UblT=F8HE!6|LXL7KwMUFJJZRO)} z+dTdwKE_HjIyH2!2vl|~90#8U7#+c3^73(u{f+I__|T2?J?^uC*os!W%iT&W{y)82 zsP`j8`o7@FJe$K17->IJ*D%_{94>{xek){hth15Yapc!9dY3t8#LESN>?Up z7%=9VKV&KeDu5x6-FZX97br+2xbWhCIpE6yW_&=31Sp8@4*k*M{Zji5cm^BNG$;zl z@kO+kV)v{dbubqk84M1seE60bRRG&LmnSnDCh(`ndgpFZhBu zpvvzCUF_iwLATL95@@wf%MCPa@Wz%|&*_s}$PBJ6V$E%;#t)Ly#6&#{Hq0SJ$G`wo zfEom0vB7#p%!$}`C-(jMXf^S_Vb;ngu_~E3x$-R**@r~xd z@NjRi9;sv7^)~?V0|WBv>hKd2$FFlUlGdT8zMs#>Sjz}LaLqh@Q14s4-jhBomyXH- zr#ak8`AeI^X|+M4)FHRMGV5)A(2x#=ZR<9iFm=eALk=l;4>-52KvUrWkKw}!jnlWc zh)EU{(%(uQ>UKZMa>m|Ta`#EgZQC@zFDW~Oso$QjM!z}y(-YD=HqP*9de{%K-&CNz zr=+3Sl;w(yTF*`M{f1aiIyaObjO6fw_e03N41Z?;zZxBh*eO>ccAKu_^*$@+#FPYZ zu20?;{j*rL1iPa?#6ELCq}1mSDtq?Nbjl^8o{AQ)WAIF8$(t%mkn2o;;Y#{h`@R#) zlHs1J9pUv&!;IHSujW)QoQRE`fe_CZ3=H+{vcDeUBTC6@;LJ)!0G`N3H)50y?iC17qrj>3 zVSKj=+?T4e+9b0D-E!R48-rL+WZ;^H-3(P%V(its<78sQ-*|Z|FQNInOhJT9h{`p7 z@jQyr#`;TH8q4pBj41nXRCia9WNMV*M23&(9lG48$URo4Ug$c%za7qG_S=fs?@jn6 zi6eht7@!6i+}YLAqU#A-X_uh^MKqjBpAonZ_mid?(0=|E(6*T0Wld$V$(huydx46X z857_fS1$g9H+^x$*5>k`j)rrWA5_)+sHUUyz4U!poK2$Eg2g5H;ZN+%vjLc*KRUDP zG+)4ybQztHRbL#o9KC)z+kSIB^DHw`!u6tNjgA-#?)I`kkDi=~UB~@t7DPnE9NB1! z**0%Jd3kx;hN}6eset*v5jo4~>%HfWa_KEj|A`5zM&Tm}1<{HHy2X{dCoP{U$_^WE zK9Lx+mo)!REx`9}hw3>FP*aU?8X~>vxI$GxjP%H`c+md*zxd`%Kn+Ff@U_K)aE}Pzc-otXxbG**dA6#W5803EMV8{Ta{a z-(mPu6&Qit=TvtCcdpaJD9FdilfB0r&LBM@fi$TV4Bc7OHfbSl17G;$nEMHP ziQ>rW!D{}9o;Q;vI*z*3{>e&0z`2rwVqsL;@puh45a|K&oWQ%s_@6wWx19{3vUFW< zB>x{NJ&epbPk=;4bm}m!_Y9y zFmpG*@B997?>*0>!<^YO=bXLQUh7?Jy?ZaJ@7BSUtFo7_x-;FS9l`kI27#Ep$;O$>2WF|Tg)*r!B+59Z+MDk396{-S*LOpXmJWc8 z$d-~!v49lRXR3hm^2ccOnD$(~{^xp5bM5K%J$+j&n{m&`fkLXIgID+Ana=V@oYjvg zd4Gm>Oy)hG$cuhO>%K(a>_5tjHm3Xk~ii(MGItM$YQjgUnukK{eXg99wDPuZsL>` zC);~(Dk#5W8CZw%?&+Gf-^bafcA^8bF58^Pp<<)|T>^RZm-=d28+kV)HU?T6HP4X& zA;1TTV?M{>e}%I+(Eh6K5RjzGwo?M>!N)Lj1E*g!gdO-}e!M6_S9ji~msm^5xOwI>e&o*vBqD2WWr5MMeCBCJ zz+ez7O~9@$#>kcWS7r0zWTeN^Z@N-mN2Z3xhLJySRpXQrms^_5rW)N@)0stXHU_>g zbJk(>LrF2a?>zoEB?8?i=D4LxQp{2tn8J)u;YQF7 zzr_Z>ox?fV-`5_8&zwP*(&N(ohFZ^Hx7b?Lq9^Haw8wsiRGcrl1Yd!f)p}XMH|LTR zcpiB^&0S5qXTXFinczf4tnC>jnlHYX#U&ZR23-382v|(zCKgq00ZX#NYJ)reo91&( z{%IG3UMH;q35^y~ji|qI=9Ak>4swZ>*$D`_H&CenYJ7;*|39}U^PSJesTYCaObG$S zi!N+TS{R1}4+Qd(+6!&IE{$Yd7b*znJ*%Ym_rQb=D&bMBzZ&*D%r_8@l&bLTR>Q~r zc7A2i5dUOwlaXY_K=(e`wEPFpxSJv<8HX!|Tk*Fpz^=mKgwo^(x`|x?CF|)u{WP?; z46B46Sam5cfn5j>x^LHfLvej|c$-z8h0BueB`N7IpU?52w?Ogm^u^{J&Jg5z5WJ|y z-{@tLwI`dLg?;fKU-PSsEi9Sn{?r#E-@29PK;^}?m8g6o=}55!`shfRoW<2c11el$ zlJkJ3R>L`Q0)NOpIpiJ5n>hlPeSe3YPjijh&Q~@SSMl)BWGY-W5GV=}@ij_;hu5t~ zUq^^peE!nn+YOpc#Ru4H1XVmhEHSSo3%689@Z^j^++T2WUh`3YVZ2V5cfz1ojXzu% z7d0pm54arA^*HlY`ys;ojXYX_zao6t0;tmOY9O*NxRiIc%k%%kit)VbuO0qF3^Oll zA8jXbuNk&iDsyRX4|$JjD)_QpQsM-`P0RVzjU&G$Ho=ST;Qy0%AJ_9Dc;P(JOMm=4)7-CxL4?dV@eN;DIxj^cY5*4E&r3Nt?r?rE(dQvg+2>j z>PE)9iGIw9L!H&4Yc2s|>?t(f8x7UU*AA3qpR z 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�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 G@c#fTqZvs6 From 5bc4a5b5a8fafd16e08db8567409e24f3686360c Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sun, 5 May 2019 00:23:32 +0200 Subject: [PATCH 071/196] Fix for some movement states --- icons/mob/animal.dmi | Bin 304016 -> 304065 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 2b1bf3caddb7d75fbe013315a41b0309cf9c1a06..8c6f02979b5e9bb90e7bc9c47cf37ec83d3664f7 100644 GIT binary patch delta 9551 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 P_ Date: Sun, 5 May 2019 00:40:51 +0200 Subject: [PATCH 072/196] Consistent sprites --- icons/mob/animal.dmi | Bin 304065 -> 304020 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 8c6f02979b5e9bb90e7bc9c47cf37ec83d3664f7..241af99e4605f387eb701b6d8fa0138c821ec7ef 100644 GIT binary patch delta 8161 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 KtW>vu{eJ+QEn#W^ From d5df7456b133da4183f75f7ed44239f42373f8ce Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sun, 5 May 2019 01:26:08 +0200 Subject: [PATCH 073/196] Reinforcement number fix --- code/modules/antagonists/_common/antag_spawner.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 5e434887ee0..4e66c7b1797 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -62,7 +62,7 @@ /obj/item/antag_spawner/nuke_ops/spawn_antag(client/C, turf/T, kind, datum/mind/user) var/mob/living/carbon/human/M = new/mob/living/carbon/human(T) - var/agent_number = LAZYLEN(ticker.mode.syndicates) + var/agent_number = LAZYLEN(ticker.mode.syndicates) - 1 M.real_name = "[syndicate_name()] Operative #[agent_number]" set_syndicate_values(C, M) From 49202640346d5febac3fe9f038efa0e5873eea35 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 4 May 2019 22:42:22 -0400 Subject: [PATCH 074/196] Automatic changelog generation for PR #11461 [ci skip] --- html/changelogs/AutoChangeLog-pr-11461.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11461.yml diff --git a/html/changelogs/AutoChangeLog-pr-11461.yml b/html/changelogs/AutoChangeLog-pr-11461.yml new file mode 100644 index 00000000000..d65e90c7079 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11461.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Nuclear Operative reinforcements now spawn with a properly counted agent designation." From 7da1ca12f32b80f07e2040df5ca8466a7caeab69 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sun, 5 May 2019 10:06:02 +0100 Subject: [PATCH 075/196] This is why you dont bedcode --- code/controllers/subsystem/jobs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index f887d19087f..f7021c88b5c 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(jobs) name = "Jobs" init_order = INIT_ORDER_JOBS // 12 - wait = 30000 // 5 minutes (Deciseconds) + wait = 3000 // 5 minutes (Deciseconds) runlevels = RUNLEVEL_GAME //List of all jobs From 96edeacec5a430948b51876a70f4020810b4e849 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sun, 5 May 2019 10:27:59 +0100 Subject: [PATCH 076/196] Removes unused hooks --- code/controllers/hooks-defs.dm | 90 ------------------- code/game/area/areas.dm | 3 - code/game/gamemodes/gameticker.dm | 1 - code/game/machinery/cloning.dm | 1 - code/game/machinery/computer/card.dm | 4 - code/game/objects/items/robot/robot_parts.dm | 1 - code/modules/economy/Accounts_DB.dm | 1 - .../mob/living/carbon/brain/brain_item.dm | 1 - code/modules/mob/living/death.dm | 1 - code/modules/mob/new_player/new_player.dm | 4 - code/modules/mob/transform_procs.dm | 2 - .../file_system/programs/command/card.dm | 3 - 12 files changed, 112 deletions(-) diff --git a/code/controllers/hooks-defs.dm b/code/controllers/hooks-defs.dm index 49919279242..b080c279d93 100644 --- a/code/controllers/hooks-defs.dm +++ b/code/controllers/hooks-defs.dm @@ -10,89 +10,6 @@ */ /hook/roundstart -/** - * Roundend hook. - * Called in gameticker.dm when a round ends. - */ -/hook/roundend - -/** - * LateSpawn hook. - * Called in newplayer.dm when a humanoid character joins the round after it started. - * Parameters: var/mob/living/carbon/human - */ -/hook/latespawn - -/** - * Death hook. - * Called in death.dm when someone dies. - * Parameters: var/mob/living/carbon/human, var/gibbed - */ -/hook/death - -/** - * Cloning hook. - * Called in cloning.dm when someone is brought back by the wonders of modern science. - * Parameters: var/mob/living/carbon/human - */ -/hook/clone - -/** - * Debrained hook. - * Called in brain_item.dm when someone gets debrained. - * Parameters: var/obj/item/brain - */ -/hook/debrain - -/** - * Borged hook. - * Called in robot_parts.dm when someone gets turned into a cyborg. - * Parameters: var/mob/living/silicon/robot - */ -/hook/borgify - -/** - * Podman hook. - * Called in podmen.dm when someone is brought back as a Diona. - * Parameters: var/mob/living/carbon/primitive/diona - */ -/hook/harvest_podman - -/** - * Payroll revoked hook. - * Called in Accounts_DB.dm when someone's payroll is stolen at the Accounts terminal. - * Parameters: var/datum/money_account - */ -/hook/revoke_payroll - -/** - * Account suspension hook. - * Called in Accounts_DB.dm when someone's account is suspended or unsuspended at the Accounts terminal. - * Parameters: var/datum/money_account - */ -/hook/change_account_status - -/** - * Employee reassignment hook. - * Called in card.dm when someone's card is reassigned at the HoP's desk. - * Parameters: var/obj/item/card/id - */ -/hook/reassign_employee - -/** - * Employee terminated hook. - * Called in card.dm when someone's card is terminated at the HoP's desk. - * Parameters: var/obj/item/card/id - */ -/hook/terminate_employee - -/** - * Crate sold hook. - * Called in supplyshuttle.dm when a crate is sold on the shuttle. - * Parameters: var/obj/structure/closet/crate/sold, var/area/shuttle - */ -/hook/sell_crate - /** * Captain spawned hook. * Called in supervisor.dm when a captain spawns @@ -113,10 +30,3 @@ * Parameters: var/client/client, var/mob/mob */ /hook/mob_logout - -/** - * Mob area change hook. - * Called in area.dm when a mob moves from one area to another. - * Parameters: var/mob/mob, var/area/newarea, var/area/oldarea - */ -/hook/mob_area_change diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index fcd2e912c44..560fbf26b09 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -317,9 +317,6 @@ M.lastarea = src - // /vg/ - EVENTS! - callHook("mob_area_change", list("mob" = M, "newarea" = newarea, "oldarea" = oldarea)) - if(!istype(A,/mob/living)) return var/mob/living/L = A diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 972075ceece..4f539409185 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -423,7 +423,6 @@ var/round_start_time = 0 declare_completion() spawn(50) - callHook("roundend") if(mode.station_was_nuked) world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 7ce515365ae..8136881e6e1 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -416,7 +416,6 @@ /obj/machinery/clonepod/proc/update_clone_antag(var/mob/living/carbon/human/H) // Check to see if the clone's mind is an antagonist of any kind and handle them accordingly to make sure they get their spells, HUD/whatever else back. - callHook("clone", list(H)) if((H.mind in ticker.mode:revolutionaries) || (H.mind in ticker.mode:head_revolutionaries)) ticker.mode.update_rev_icons_added() //So the icon actually appears if(H.mind in ticker.mode.syndicates) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index f4d21cbd125..86515e5ddea 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -431,9 +431,6 @@ var/time_last_changed_position = 0 modify.rank = t1 modify.assignment = t1 - - callHook("reassign_employee", list(modify)) - if("reg") if(is_authenticated(usr) && !target_dept) var/t2 = modify @@ -511,7 +508,6 @@ var/time_last_changed_position = 0 SSjobs.log_job_transfer(modify.registered_name, jobnamedata, "Terminated", scan.registered_name) modify.assignment = "Terminated" modify.access = list() - callHook("terminate_employee", list(modify)) if("demote") if(is_authenticated(usr)) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 65f504b4ae0..f17f4ff54db 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -306,7 +306,6 @@ O.Namepick() feedback_inc("cyborg_birth",1) - callHook("borgify", list(O)) forceMove(O) O.robot_suit = src diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index e99367cb8fd..16b1162e074 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -154,7 +154,6 @@ var/global/current_date_string if("toggle_suspension") if(detailed_account_view) detailed_account_view.suspended = !detailed_account_view.suspended - callHook("change_account_status", list(detailed_account_view)) if("finalise_create_account") var/account_name = href_list["holder_name"] diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 04f5cd53d00..af1d7680aca 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -48,7 +48,6 @@ H.mind.transfer_to(brainmob) to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a [initial(src.name)].") - callHook("debrain", list(brainmob)) /obj/item/organ/internal/brain/examine(mob/user) // -- TLE ..(user) diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 37077881350..d0a0619be2b 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -69,7 +69,6 @@ med_hud_set_status() if(!gibbed && !QDELETED(src)) addtimer(CALLBACK(src, .proc/med_hud_set_status), (DEFIB_TIME_LIMIT * 10) + 1) - callHook("death", list(src, gibbed)) for(var/s in ownedSoullinks) var/datum/soullink/S = s diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 427bcfcb659..b942b551313 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -374,14 +374,10 @@ if(character.mind.assigned_role == "Cyborg") AnnounceCyborg(character, rank, join_message) - callHook("latespawn", list(character)) - else if(IsAdminJob(rank)) - callHook("latespawn", list(character)) else data_core.manifest_inject(character) ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn AnnounceArrival(character, rank, join_message) - callHook("latespawn", list(character)) AddEmploymentContract(character) if(!thisjob.is_position_available() && thisjob in SSjobs.prioritized_jobs) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index d3a8765cf86..00e5c1550d9 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -94,8 +94,6 @@ if(O.mmi) O.mmi.transfer_identity(src) //Does not transfer key/client. - callHook("borgify", list(O)) - O.update_pipe_vision() O.Namepick() diff --git a/code/modules/modular_computers/file_system/programs/command/card.dm b/code/modules/modular_computers/file_system/programs/command/card.dm index 81d5fb03823..31bb8733463 100644 --- a/code/modules/modular_computers/file_system/programs/command/card.dm +++ b/code/modules/modular_computers/file_system/programs/command/card.dm @@ -263,8 +263,6 @@ modify.assignment = t1 modify.rank = t1 - callHook("reassign_employee", list(modify)) - if("PRG_reg") if(is_authenticated(usr)) var/temp_name = reject_bad_name(href_list["reg"]) @@ -337,7 +335,6 @@ SSjobs.log_job_transfer(modify.registered_name, jobnamedata, "Terminated", scan.registered_name) modify.assignment = "Terminated" modify.access = list() - callHook("terminate_employee", list(modify)) if("PRG_make_job_available") // MAKE ANOTHER JOB POSITION AVAILABLE FOR LATE JOINERS From 7a55bca0544a6f983bc381f39210f92be9213810 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Sun, 5 May 2019 13:23:31 +0200 Subject: [PATCH 077/196] can't eat while buckled --- code/modules/mob/mob_grab.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index cac5581b3ef..a4a52d4ef1e 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -387,10 +387,19 @@ if(M == assailant && state >= GRAB_AGGRESSIVE) //no eatin unless you have an agressive grab if(checkvalid(user, affecting)) //wut var/mob/living/carbon/attacker = user + + if(affecting.buckled) + to_chat(user, "[affecting] is buckled!") + return + user.visible_message("[user] is attempting to devour \the [affecting]!") if(!do_after(user, checktime(user, affecting), target = affecting)) return + if(affecting.buckled) + to_chat(user, "[affecting] is buckled!") + return + user.visible_message("[user] devours \the [affecting]!") if(affecting.mind) add_attack_logs(attacker, affecting, "Devoured") From 2f7c2abe94b45b6e5e89a60b9732e9f817ff68b8 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 5 May 2019 16:37:55 -0400 Subject: [PATCH 078/196] Automatic changelog generation for PR #11463 [ci skip] --- html/changelogs/AutoChangeLog-pr-11463.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11463.yml diff --git a/html/changelogs/AutoChangeLog-pr-11463.yml b/html/changelogs/AutoChangeLog-pr-11463.yml new file mode 100644 index 00000000000..dad85167b1a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11463.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - rscdel: "Removes unused code" From b403cd3c58b98451f9a3d8f661ebdc50c6fd1a79 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 5 May 2019 16:43:52 -0400 Subject: [PATCH 079/196] Automatic changelog generation for PR #11440 [ci skip] --- html/changelogs/AutoChangeLog-pr-11440.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11440.yml diff --git a/html/changelogs/AutoChangeLog-pr-11440.yml b/html/changelogs/AutoChangeLog-pr-11440.yml new file mode 100644 index 00000000000..1ddb3e68464 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11440.yml @@ -0,0 +1,4 @@ +author: "farie82" +delete-after: True +changes: + - bugfix: "Devour and regurgitate use forcemove now. So no being buckled inside an alien" From f2bcd204bcd141f6bcff8f910b10476a0db3496f Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sun, 5 May 2019 22:31:24 +0100 Subject: [PATCH 080/196] Fixes captains displaycase [Hooks P3] --- code/controllers/hooks-defs.dm | 7 ------- code/game/jobs/job/supervisor.dm | 2 +- code/game/objects/structures/displaycase.dm | 10 ++++++---- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/code/controllers/hooks-defs.dm b/code/controllers/hooks-defs.dm index b080c279d93..aa38a133cae 100644 --- a/code/controllers/hooks-defs.dm +++ b/code/controllers/hooks-defs.dm @@ -10,13 +10,6 @@ */ /hook/roundstart -/** - * Captain spawned hook. - * Called in supervisor.dm when a captain spawns - * Parameters: var/mob/living/carbon/human/captain - */ -/hook/captain_spawned - /** * Mob login hook. * Called in login.dm when a player logs in to a mob. diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 710835ca873..3208e9d3533 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -24,7 +24,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /datum/job/captain/announce(mob/living/carbon/human/H) . = ..() captain_announcement.Announce("All hands, Captain [H.real_name] on deck!") - callHook("captain_spawned", list("captain" = H)) + updateDisplaycase(H) /datum/outfit/job/captain name = "Captain" diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 543ebd7af91..8d9d81c41b5 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -4,16 +4,14 @@ // List and hook used to set up the captain's print on their display case var/global/list/captain_display_cases = list() -/hook/captain_spawned/proc/displaycase(mob/living/carbon/human/captain) +/proc/updateDisplaycase(mob/living/carbon/human/captain) if(!captain_display_cases.len) - return 1 + return var/fingerprint = captain.get_full_print() for(var/obj/structure/displaycase/D in captain_display_cases) if(istype(D)) D.ue = fingerprint - return 1 - /obj/structure/displaycase_frame name = "display case frame" icon = 'icons/obj/stock_parts.dmi' @@ -123,6 +121,10 @@ var/global/list/captain_display_cases = list() req_access = list(access_captain) start_showpiece_type = /obj/item/gun/energy/laser/captain +/obj/structure/displaycase/captains_laser/New() + captain_display_cases += src + return ..() + /obj/structure/displaycase/stechkin name = "officer's display case" desc = "A display case containing a humble stechkin pistol. Never forget your roots." From d8dcd762a8f6876c83b0379aaa03614efc4d329b Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Mon, 6 May 2019 00:09:27 +0200 Subject: [PATCH 081/196] Gold color --- code/modules/mob/living/carbon/human/species/_species.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index d9a501d2251..4c69da6fb22 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -80,7 +80,7 @@ var/dietflags = 0 // Make sure you set this, otherwise it won't be able to digest a lot of foods var/blood_color = "#A10808" //Red. - var/flesh_color = "#FFC896" //Pink. + var/flesh_color = "#d1aa2e" //Gold. var/single_gib_type = /obj/effect/decal/cleanable/blood/gibs var/remains_type = /obj/effect/decal/remains/human //What sort of remains is left behind when the species dusts var/base_color //Used when setting species. From 4c277b0cabc06ef79ced822a59cbd9f9ad034d61 Mon Sep 17 00:00:00 2001 From: Fel Date: Sun, 5 May 2019 21:11:28 -0400 Subject: [PATCH 082/196] Reverse the polarity! --- code/game/dna/genes/vg_powers.dm | 89 ++++++++++++++++++++++++++++++- icons/mob/actions/actions.dmi | Bin 96413 -> 97125 bytes 2 files changed, 88 insertions(+), 1 deletion(-) diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 9ab851e86bf..f340ff413aa 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -188,9 +188,19 @@ ..() block=REMOTETALKBLOCK +/datum/dna/gene/basic/grant_spell/remotetalk/activate(var/mob/user) + ..() + user.AddSpell(new /obj/effect/proc_holder/spell/targeted/mindscan(null)) + +/datum/dna/gene/basic/grant_spell/remotetalk/deactivate(var/mob/user) + ..() + for(var/obj/effect/proc_holder/spell/S in user.mob_spell_list) + if(istype(S, /obj/effect/proc_holder/spell/targeted/mindscan)) + user.RemoveSpell(S) + /obj/effect/proc_holder/spell/targeted/remotetalk name = "Project Mind" - desc = "Make people understand your thoughts at any range!" + desc = "Make people understand your thoughts!" charge_max = 0 clothes_req = 0 @@ -242,6 +252,83 @@ for(var/mob/dead/observer/G in GLOB.player_list) G.show_message("Telepathic message from [user] ([ghost_follow_link(user, ghost=G)]) to [target] ([ghost_follow_link(target, ghost=G)]): [say]") +/obj/effect/proc_holder/spell/targeted/mindscan + name = "Scan Mind" + desc = "Offer people a chance to share their thoughts!" + charge_max = 0 + clothes_req = 0 + stat_allowed = 0 + invocation_type = "none" + range = -2 + selection_type = "range" + action_icon_state = "genetic_mindscan" + var/list/available_targets = list() + +/obj/effect/proc_holder/spell/targeted/mindscan/choose_targets(mob/user = usr) + var/list/targets = new /list() + var/list/validtargets = new /list() + var/turf/T = get_turf(user) + for(var/mob/living/M in range(14, T)) + if(M && M.mind) + if(M == user) + continue + validtargets += M + + if(!validtargets.len) + to_chat(user, "There are no valid targets!") + start_recharge() + return + + targets += input("Choose the target to listen to.", "Targeting") as null|mob in validtargets + + if(!targets.len || !targets[1]) //doesn't waste the spell + revert_cast(user) + return + + perform(targets, user = user) + +/obj/effect/proc_holder/spell/targeted/mindscan/cast(list/targets, mob/user = usr) + if(!ishuman(user)) return + for(var/mob/living/target in targets) + var/message = "You feel your mind expand briefly... (Click to send a message.)" + if(REMOTE_TALK in target.mutations) + message = "You feel [user.real_name] request a response from you... (Click here to project mind.)" + user.show_message("You offer your mind to [target.name].") + target.show_message("[message]") + available_targets += target + addtimer(CALLBACK(src, .proc/removeAvailability, target), 100) + +/obj/effect/proc_holder/spell/targeted/mindscan/proc/removeAvailability(var/mob/living/target) + if(target in available_targets) + available_targets -= target + return + +/obj/effect/proc_holder/spell/targeted/mindscan/Topic(href, href_list) + var/mob/living/user + if(href_list["user"]) + user = locate(href_list["user"]) + if(href_list["target"]) + if(!user) + return + var/mob/living/target = locate(href_list["target"]) + if(!(target in available_targets)) + return + available_targets -= target + var/say = input("What do you wish to say") as text|null + if(!say) + return + say = strip_html(say) + say = pencode_to_html(say, target, format = 0, fields = 0) + + log_say("(TPATH to [key_name(target)]) [say]", user) + if(REMOTE_TALK in target.mutations) + target.show_message("You project your mind into [user.name]: [say]") + else + target.show_message("You fill the space in your thoughts: [say]") + user.show_message("You hear [target.name]'s voice: [say]") + for(var/mob/dead/observer/G in GLOB.player_list) + G.show_message("Telepathic response from [target] ([ghost_follow_link(target, ghost=G)]) to [user] ([ghost_follow_link(user, ghost=G)]): [say]") + /datum/dna/gene/basic/grant_spell/remoteview name="Remote Viewing" activation_messages=list("Your mind can see things from afar.") diff --git a/icons/mob/actions/actions.dmi b/icons/mob/actions/actions.dmi index 7bc556c628c06f6152ba38303a766e421d6cc105..44fd328e6a208446b7a08d4688fe25e6e62232c2 100644 GIT binary patch literal 97125 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

n2~VWcgrfehoQI~V3~eW=Ev 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 z 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%0Aa{V3RU$W*(MU?yP}s)#;>Eks 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

>>yUc?{`fVL!Riy6r*zbsT*hA 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

dTGGL7AJlJntO@gCkNl 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 B4=Vrw From 7fb7cdc57ff1a18738473339c0363149a7913b60 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 6 May 2019 03:52:01 +0200 Subject: [PATCH 083/196] Chair plane fix (and maybe fixes the disappearing humans, too) --- code/datums/mutable_appearance.dm | 3 ++- code/game/objects/structures/stool_bed_chair_nest/chairs.dm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index d8b893caaf9..2b0c3e1a44c 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -5,11 +5,12 @@ // Mutable appearances are children of images, just so you know. // Helper similar to image() -/proc/mutable_appearance(icon, icon_state = "", layer = FLOAT_LAYER) +/proc/mutable_appearance(icon, icon_state = "", layer = FLOAT_LAYER, plane = FLOAT_PLANE) var/mutable_appearance/MA = new() MA.icon = icon MA.icon_state = icon_state MA.layer = layer + MA.plane = plane return MA /mutable_appearance/clean diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 98da892a00f..903ee22c683 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -80,7 +80,7 @@ /obj/structure/chair/proc/handle_layer() if(buckled_mob && dir == NORTH) - layer = FLY_LAYER + layer = ABOVE_MOB_LAYER else layer = OBJ_LAYER From 79d761063aa71ce3c35dbeb6bf10b866f981f05f Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 6 May 2019 04:06:54 +0200 Subject: [PATCH 084/196] Rename ghost darkness images --- code/modules/mob/dead/observer/logout.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/dead/observer/logout.dm b/code/modules/mob/dead/observer/logout.dm index aa72e364aa0..93094d5ff30 100644 --- a/code/modules/mob/dead/observer/logout.dm +++ b/code/modules/mob/dead/observer/logout.dm @@ -1,6 +1,6 @@ /mob/dead/observer/Logout() if(client) - client.images -= ghost_darkness_images + client.images -= ghost_images ..() spawn(0) if(src && !key) //we've transferred to another mob. This ghost should be deleted. diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index dc5972085f0..3bc9d279eb9 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -1,7 +1,7 @@ #define GHOST_CAN_REENTER 1 #define GHOST_IS_OBSERVER 2 -var/list/image/ghost_darkness_images = list() //this is a list of images for things ghosts should still be able to see when they toggle darkness +var/list/image/ghost_images = list() GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) @@ -74,7 +74,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) ghostimage.appearance_flags |= KEEP_TOGETHER ghostimage.alpha = alpha appearance_flags |= KEEP_TOGETHER - ghost_darkness_images |= ghostimage + ghost_images |= ghostimage updateallghostimages() if(!T) T = pick(latejoin) //Safety in case we cannot find the body's position forceMove(T) @@ -90,7 +90,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) M.following_mobs -= src following = null if(ghostimage) - ghost_darkness_images -= ghostimage + ghost_images -= ghostimage QDEL_NULL(ghostimage) updateallghostimages() return ..() @@ -720,11 +720,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/proc/updateghostimages() if(!client) return - if(seedarkness || !ghostvision) - client.images -= ghost_darkness_images + if(!ghostvision) + client.images -= ghost_images else //add images for the 60inv things ghosts can normally see when darkness is enabled so they can see them now - client.images |= ghost_darkness_images + client.images |= ghost_images if(ghostimage) client.images -= ghostimage //remove ourself From 88fd88e25bce4a37fa98b9b389667495c148a910 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 6 May 2019 05:29:04 +0200 Subject: [PATCH 085/196] Add custom glasses for Reyblood --- code/modules/customitems/item_defines.dm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index d2b32f720cf..021146e84dd 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1785,4 +1785,18 @@ item_state = "voxbodysuit" item_color = "voxbodysuit" body_parts_covered = HEAD|UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - species_fit = list("Vox") \ No newline at end of file + species_fit = list("Vox") + +/obj/item/clothing/glasses/night/fluff/reyblood //Reyblood: All characters + name = "Custom Night Vision Goggles" + desc = "These customized night vision goggles completely remove all darkness." + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + + var/limited_to_ckey = "reyblood" + +/obj/item/clothing/glasses/night/fluff/reyblood/mob_can_equip(mob/user, slot) + . = ..() + + if(. && user.ckey != limited_to_ckey) + to_chat(user, "These glasses can only be used by [limited_to_ckey], as they are not able to play the game with lighting enabled due to hardware limitations.") + . = FALSE From 6c14ac302c3d376d1100eef293dad1ef7248acf1 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Mon, 6 May 2019 05:47:49 +0200 Subject: [PATCH 086/196] Switch to material glasses --- code/modules/clothing/glasses/glasses.dm | 9 +++++++++ code/modules/customitems/item_defines.dm | 14 -------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index b527bb2717d..aa123156775 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -177,6 +177,15 @@ flags = NODROP flags_cover = null +/obj/item/clothing/glasses/material/lighting + name = "Neutron Goggles" + desc = "These odd glasses use a form of neutron-based imaging to completely negate the effects of light and darkness." + origin_tech = null + vision_flags = 0 + + flags = NODROP + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + /obj/item/clothing/glasses/regular name = "prescription glasses" desc = "Made by Nerd. Co." diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 021146e84dd..6181644ffc8 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1786,17 +1786,3 @@ item_color = "voxbodysuit" body_parts_covered = HEAD|UPPER_TORSO|LOWER_TORSO|LEGS|ARMS species_fit = list("Vox") - -/obj/item/clothing/glasses/night/fluff/reyblood //Reyblood: All characters - name = "Custom Night Vision Goggles" - desc = "These customized night vision goggles completely remove all darkness." - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - - var/limited_to_ckey = "reyblood" - -/obj/item/clothing/glasses/night/fluff/reyblood/mob_can_equip(mob/user, slot) - . = ..() - - if(. && user.ckey != limited_to_ckey) - to_chat(user, "These glasses can only be used by [limited_to_ckey], as they are not able to play the game with lighting enabled due to hardware limitations.") - . = FALSE From 087869ab5c5a8ee272b2d0995821bcdae2988269 Mon Sep 17 00:00:00 2001 From: Couls Date: Mon, 6 May 2019 00:33:24 -0400 Subject: [PATCH 087/196] Remove non-manifest names from the code phrases --- code/__HELPERS/names.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 5b90cda376e..77d14eb19a2 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -161,12 +161,8 @@ var/syndicate_code_response//Code response for traitors. if(1)//1 and 2 can only be selected once each to prevent more than two specific names/places/etc. switch(rand(1,2))//Mainly to add more options later. if(1) - if(names.len&&prob(70)) + if(names.len) code_phrase += pick(names) - else - code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female)) - code_phrase += " " - code_phrase += pick(GLOB.last_names) if(2) code_phrase += pick(GLOB.joblist)//Returns a job. safety -= 1 From 130b5ef6947ee893fa725c1520eb4de42c4abcbc Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Mon, 6 May 2019 08:51:44 +0100 Subject: [PATCH 088/196] Fox fixes. Foxes? --- code/game/objects/structures/displaycase.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 8d9d81c41b5..2de1b32d38c 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -2,15 +2,14 @@ #define DISPLAYCASE_FRAME_SCREWDRIVER 1 // List and hook used to set up the captain's print on their display case -var/global/list/captain_display_cases = list() +GLOBAL_LIST_INIT(captain_display_cases, list()) /proc/updateDisplaycase(mob/living/carbon/human/captain) - if(!captain_display_cases.len) + if(!GLOB.captain_display_cases.len) return var/fingerprint = captain.get_full_print() - for(var/obj/structure/displaycase/D in captain_display_cases) - if(istype(D)) - D.ue = fingerprint + for(var/obj/structure/displaycase/D in GLOB.captain_display_cases) + D.ue = fingerprint /obj/structure/displaycase_frame name = "display case frame" @@ -121,9 +120,9 @@ var/global/list/captain_display_cases = list() req_access = list(access_captain) start_showpiece_type = /obj/item/gun/energy/laser/captain -/obj/structure/displaycase/captains_laser/New() - captain_display_cases += src - return ..() +/obj/structure/displaycase/captains_laser/Initialize(mapload) + . = ..() + GLOB.captain_display_cases += src /obj/structure/displaycase/stechkin name = "officer's display case" @@ -138,7 +137,7 @@ var/global/list/captain_display_cases = list() return ..() /obj/structure/displaycase/captains_laser/Destroy() - captain_display_cases -= src + GLOB.captain_display_cases -= src return ..() /obj/structure/displaycase/examine(mob/user) From 19d8efef6806b27bc10b625362c4c7cb5fe3d1d6 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Mon, 6 May 2019 10:08:28 +0100 Subject: [PATCH 089/196] Morgue Updating [Hooks P4] --- code/controllers/hooks-defs.dm | 16 +--------------- code/game/objects/structures/morgue.dm | 12 +----------- code/modules/mob/login.dm | 3 +-- code/modules/mob/logout.dm | 2 +- code/modules/mob/new_player/login.dm | 2 +- 5 files changed, 5 insertions(+), 30 deletions(-) diff --git a/code/controllers/hooks-defs.dm b/code/controllers/hooks-defs.dm index b080c279d93..433e2647d32 100644 --- a/code/controllers/hooks-defs.dm +++ b/code/controllers/hooks-defs.dm @@ -15,18 +15,4 @@ * Called in supervisor.dm when a captain spawns * Parameters: var/mob/living/carbon/human/captain */ -/hook/captain_spawned - -/** - * Mob login hook. - * Called in login.dm when a player logs in to a mob. - * Parameters: var/client/client, var/mob/mob - */ -/hook/mob_login - - /** - * Mob logout hook. - * Called in logout.dm when a player logs out of a mob. - * Parameters: var/client/client, var/mob/mob - */ -/hook/mob_logout +/hook/captain_spawned \ No newline at end of file diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 3001b52f399..2953744a824 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -484,14 +484,4 @@ if(istype(C)) //We found our corpse, is it inside a morgue? morgue = get(C.loc, /obj/structure/morgue) if(morgue) - morgue.update() - -/hook/mob_login/proc/update_morgue(var/client/client, var/mob/mob) - //Update morgues on login - mob.update_morgue() - return 1 - -/hook/mob_logout/proc/update_morgue(var/client/client, var/mob/mob) - //Update morgues on logout - mob.update_morgue() - return 1 + morgue.update() \ No newline at end of file diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 0a1346fd0ed..f5f1924e395 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -70,5 +70,4 @@ AA.display_to(list(src)) update_client_colour(0) - - callHook("mob_login", list("client" = client, "mob" = src)) + update_morgue() diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index f409d184340..cb92665e2fc 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -16,5 +16,5 @@ send2irc(config.admin_notify_irc, "[key_name(src)] logged out - No active admins, [admincounter[2]] non-admin staff, [admincounter[3]] inactive staff.") ..() - callHook("mob_logout", list("client" = client, "mob" = src)) + update_morgue() return 1 diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 1c7b06b1ce1..45f64f3acb1 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -27,7 +27,7 @@ loc = pick(watch_locations) */ - callHook("mob_login", list("client" = client, "mob" = src)) + update_morgue() // Why is this called for new players that dont even have a morgue new_player_panel() From 5e14406441512e3768af27223299afcfdc6b3c96 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 6 May 2019 06:43:28 -0400 Subject: [PATCH 090/196] Automatic changelog generation for PR #11427 [ci skip] --- html/changelogs/AutoChangeLog-pr-11427.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11427.yml diff --git a/html/changelogs/AutoChangeLog-pr-11427.yml b/html/changelogs/AutoChangeLog-pr-11427.yml new file mode 100644 index 00000000000..32e770e594f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11427.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - tweak: "Species name now shows in a species theme color on examine" From 74c6b5b98a4df8ec2f639f1433978d1810952515 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 6 May 2019 06:52:52 -0400 Subject: [PATCH 091/196] Automatic changelog generation for PR #11399 [ci skip] --- html/changelogs/AutoChangeLog-pr-11399.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11399.yml diff --git a/html/changelogs/AutoChangeLog-pr-11399.yml b/html/changelogs/AutoChangeLog-pr-11399.yml new file mode 100644 index 00000000000..44c51779cbf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11399.yml @@ -0,0 +1,4 @@ +author: "Kyep" +delete-after: True +changes: + - rscadd: "Added new bonus loadout items for higher-tier patrons. Also gave admins access to patron items, and ensured that during custom events, you see the custom event announcement when you connect." From bdf00d78bdf0f1b607daa02a0bcfb04c1b20b18c Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 6 May 2019 08:29:41 -0400 Subject: [PATCH 092/196] Automatic changelog generation for PR #11261 [ci skip] --- html/changelogs/AutoChangeLog-pr-11261.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11261.yml diff --git a/html/changelogs/AutoChangeLog-pr-11261.yml b/html/changelogs/AutoChangeLog-pr-11261.yml new file mode 100644 index 00000000000..15595372438 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11261.yml @@ -0,0 +1,5 @@ +author: "Couls" +delete-after: True +changes: + - tweak: "necromantic stone now forces the ghost back into the body as a skeleton" + - rscadd: "allow skeletons to give up their bodies and offer control to ghosts" From b0a7f11bc94f80b3188ed373135aa79522c74fc8 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Mon, 6 May 2019 14:23:35 +0100 Subject: [PATCH 093/196] URGENT --- code/game/machinery/telecomms/ntsl2.dm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/telecomms/ntsl2.dm b/code/game/machinery/telecomms/ntsl2.dm index 604fcdfbe7e..27f1c55d55f 100644 --- a/code/game/machinery/telecomms/ntsl2.dm +++ b/code/game/machinery/telecomms/ntsl2.dm @@ -9,6 +9,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) * as well as allowing users to save and load configurations. */ /datum/nttc_configuration + var/regex/word_blacklist = new("(EXPLOIT WARNING: [ckey] attempted to upload an NTTC configuration containing JS abusable tags!") + log_admin("EXPLOIT WARNING: [ckey] attempted to upload an NTTC configuration containing JS abusable tags") + return FALSE var/list/var_list = json_decode(text) for(var/variable in var_list) if(variable in to_serialize) // Don't just accept any random vars jesus christ! @@ -236,6 +241,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) variable_value = nttc_sanitize(variable_value, sanitize_method) if(variable_value != null) vars[variable] = variable_value + return TRUE // Sanitizing user input. Don't blindly trust the JSON. /datum/nttc_configuration/proc/nttc_sanitize(variable, sanitize_method) @@ -408,6 +414,11 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) var/new_value = input(user, "Provide a new value for the key [new_key]", "New Row") as text|null if(new_value == null) return + if(word_blacklist.Find(new_value)) //uh oh, they tried to be naughty + message_admins("EXPLOIT WARNING: [user.ckey] attempted to add a NTTC regex row containing JS abusable tags!") + log_admin("EXPLOIT WARNING: [user.ckey] attempted to add a NTTC regex row containing JS abusable tags") + to_chat(user, "ERROR: Regex contained bad strings. Upload cancelled.") + return var/list/table = vars[href_list["table"]] table[new_key] = new_value to_chat(user, "Added row [new_key] -> [new_value].") @@ -450,8 +461,8 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) if(href_list["load_config"]) var/json = input(user, "Provide configuration JSON below.", "Load Config", nttc_serialize()) as message - nttc_deserialize(json, source) - log_action(user, "has uploaded a NTTC JSON configuration: [ADMIN_SHOWDETAILS("Show", json)]", TRUE) + if(nttc_deserialize(json, source, user.ckey)) + log_action(user, "has uploaded a NTTC JSON configuration: [ADMIN_SHOWDETAILS("Show", json)]", TRUE) user << output(list2params(list(nttc_serialize())), "[window_id].browser:updateConfig") From 67e3e992bca41cf72cb156bdab8cc25d60904ebb Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Mon, 6 May 2019 15:05:40 +0100 Subject: [PATCH 094/196] Case Sensitivity --- code/game/machinery/telecomms/ntsl2.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/telecomms/ntsl2.dm b/code/game/machinery/telecomms/ntsl2.dm index 27f1c55d55f..32e9913e129 100644 --- a/code/game/machinery/telecomms/ntsl2.dm +++ b/code/game/machinery/telecomms/ntsl2.dm @@ -9,7 +9,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) * as well as allowing users to save and load configurations. */ /datum/nttc_configuration - var/regex/word_blacklist = new("( Date: Mon, 6 May 2019 16:08:38 +0200 Subject: [PATCH 095/196] Adds new inhand sprites --- code/game/objects/items/weapons/soap.dm | 2 ++ .../objects/items/weapons/storage/backpack.dm | 1 + .../objects/items/weapons/storage/fancy.dm | 1 + code/modules/clothing/masks/gasmask.dm | 1 + code/modules/recycling/sortingmachinery.dm | 12 +----------- icons/mob/inhands/clothing_lefthand.dmi | Bin 89934 -> 91106 bytes icons/mob/inhands/clothing_righthand.dmi | Bin 88599 -> 88379 bytes .../inhands/equipment/custodial_lefthand.dmi | Bin 0 -> 560 bytes .../inhands/equipment/custodial_righthand.dmi | Bin 0 -> 558 bytes icons/mob/inhands/items_lefthand.dmi | Bin 149965 -> 150389 bytes icons/mob/inhands/items_righthand.dmi | Bin 146549 -> 146999 bytes 11 files changed, 6 insertions(+), 11 deletions(-) create mode 100644 icons/mob/inhands/equipment/custodial_lefthand.dmi create mode 100644 icons/mob/inhands/equipment/custodial_righthand.dmi diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm index 742f5b3d0c0..912212d19c7 100644 --- a/code/game/objects/items/weapons/soap.dm +++ b/code/game/objects/items/weapons/soap.dm @@ -4,6 +4,8 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "soap" + lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' w_class = WEIGHT_CLASS_TINY throwforce = 0 throw_speed = 4 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 56ae2864071..e7f1c404180 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -52,6 +52,7 @@ desc = "A backpack that opens into a localized pocket of Blue Space." origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5" icon_state = "holdingpack" + item_state = "holdingpack" max_w_class = WEIGHT_CLASS_HUGE max_combined_w_class = 35 burn_state = FIRE_PROOF diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 03b5ac86870..603a86b072b 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -62,6 +62,7 @@ /obj/item/storage/fancy/egg_box icon_state = "eggbox" icon_type = "egg" + item_state = "eggbox" name = "egg box" storage_slots = 12 can_hold = list(/obj/item/reagent_containers/food/snacks/egg) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 1bd53217770..757af55d4a3 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -194,6 +194,7 @@ name = "security gas mask" desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device, plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you taze them. Do not tamper with the device." icon_state = "sechailer" + item_state = "sechailer" var/phrase = 1 var/aggressiveness = 1 var/safety = 1 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 239cb71328e..ae2d3da87ae 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -10,7 +10,6 @@ var/giftwrapped = 0 var/sortTag = 0 - /obj/structure/bigDelivery/attack_hand(mob/user as mob) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) if(wrapped) @@ -24,7 +23,6 @@ qdel(src) - /obj/structure/bigDelivery/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/destTagger)) var/obj/item/destTagger/O = W @@ -67,17 +65,16 @@ else to_chat(user, "You need more paper.") - /obj/item/smallDelivery name = "small parcel" desc = "A small wrapped package." icon = 'icons/obj/storage.dmi' icon_state = "deliverycrateSmall" + item_state = "deliverypackage" var/obj/item/wrapped = null var/giftwrapped = 0 var/sortTag = 0 - /obj/item/smallDelivery/attack_self(mob/user as mob) if(wrapped && wrapped.loc) //sometimes items can disappear. For example, bombs. --rastaf0 wrapped.loc = user.loc @@ -88,7 +85,6 @@ playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) qdel(src) - /obj/item/smallDelivery/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/destTagger)) var/obj/item/destTagger/O = W @@ -128,8 +124,6 @@ else to_chat(user, "You need more paper.") - - /obj/item/stack/packageWrap name = "package wrapper" icon = 'icons/obj/items.dmi' @@ -140,7 +134,6 @@ max_amount = 25 burn_state = FLAMMABLE - /obj/item/stack/packageWrap/afterattack(var/obj/target as obj, mob/user as mob, proximity) if(!proximity) return if(!istype(target)) //this really shouldn't be necessary (but it is). -Pete @@ -153,8 +146,6 @@ if(target in user) return - - if(istype(target, /obj/item) && !(istype(target, /obj/item/storage) && !istype(target,/obj/item/storage/box) && !istype(target, /obj/item/shippingPackage))) var/obj/item/O = target if(use(1)) @@ -364,7 +355,6 @@ to_chat(user, "You need more welding fuel to complete this task.") return - /obj/item/shippingPackage name = "Shipping package" desc = "A pre-labeled package for shipping an item to coworkers." diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index 06b2934ebde96a153a36d86c5f086609349bf5d4..11a962c579dba06657fc95acb08e7a69048adcaa 100644 GIT binary patch literal 91106 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 F{{SgQw(tM| diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 3a558b90140396edd6bf9938a03a01c13661d2f6..bda8c4a8e00be9eb41c6c6526cda75898db8dbd2 100644 GIT binary patch literal 88379 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

_cUJit9_6x+`$U((BPpmBPKxqCTHk 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 pMNfbZ^(%%7!Rcq*T|Cu;n~%mW zKrQ{7Cuvm|p-rD*?q#M_xq0Hk?~8If$awjf`QNd@!4hG~L&R4f*#?$;e|^vn5W)r8 zGohV3{a=5*Vdmt1n0~!;i#Swk6gLG-T%%*d<6rpsvRW}P`@D@Sl3a-o$x#X zIwt1*$k#hJeGEiirKf!Ww7A4^_vT2MxwY=x=PBtB-f9a3K*Osch*LqG>_5?x0wvE2 zceMB0Qx9?=u62qF6`!JrJ{Ca5$yblZTP^~4t8a%|6&M(e=L zUhIots|&7-5lJ)?Wc=z~0feZAy8A_Dzpx;&+8}l%zJ8|&YVvXzcVWxYzI(E8v|0+_ z{TDA?qG4kCNPl;Bb1?r&ij?1Vemqu@E6QhBx#Gh$FRfw~t?tHU`m!=r<*t)yG9jz+ zk-F19{Hfq>o0P&ES7q%oiCFX3drvY&=-og7TdDu@jMc>q86oDN7GsF~ zc^HX%gV5d$w@1gs$}Avbo~LQ;&i=8fqh6|@5d~*HD=2>{rUW#Ez$s;v38K)nx9k3E zoPY6lv32)Ht-8n%Z_R#-K!2gJ>}&uK=N~RkIWSrJcjAl(SUmvO*iJz-xaCm(l!6J_ z_~!H`WwiDZ!G&*M5nXdH(SxBQna-jsaClwK-vtT{`jhyOj%fGj7r+UNgbLtE`JRm%Uq21@*@*t4EDKQLgHLUe69gQ)lb_;>of2Htus*&SVmfjU(j zTEf%E1ZyznG8}ds7|^iOlvUleIIBIF69P$i=hci|k@^kTj1+F&1~y7}&njN~9okq; z8duw#IR|(h^b|qt6qwB<|G>}Rpb0EKq8!U~|1hV%3}C33%qJ;jVzD0Pv*BnW*|vhh z{h9xc$_GNm|08SLG!9O7dIM3{!cFI$�<}JfcDsQ90cN62ej=z(lYxkITPDoR>G* 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 UbmaJ282G3>&`>D4Z~pRs0Ao#QX8-^I literal 88599 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�?^dSp*iFUAYhT;Wdr9-ZcK zsV0w3rRb8AJh6e!30e$TN|Xj8mN+D2!z0ZtwRg3a)ZBlF&^(ah#Q9_PKt$VQeq0PV0FGf54~ZY-q<+#VI5tn zh3ZI2DcWj_LB-M1F+;`B)Zp>|5W)#81kQCWt$Q3!{i5_c)Y!XPsCp~5;;pt9ZWrLQ zFt~it!-`wUtrRq!bsWUgsp>7Yn-yaF6rIE^A;In`;|F!-+ zDB+#r)Cd*(Rpf#87pp&}nOkkW7;H-g^;N}Zlrws(fANqNzPRaW?IBR@Uz27omu`CWk(lE0Y;1E{V!HjxT~X#0$=nWMfd5XUcZ-1P`CdnI3E|NR@` z?z1)_2x+|U23uYi>DJZJ>F+$`g}+LM-vqRct>s=T3IM%PeP_Zt=B9QNYP?7TB

x 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 literal 0 HcmV?d00001 diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 35bd70efd2878ab174e1e6d671d96fd3b0f9a6f6..0fb5935dc0e8fc0e7acbdc6099993da12cb2c3c2 100644 GIT binary patch delta 6242 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 delta 5815 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 WiO>1;^8!Udprx*_R;_CN=6?X2RY80J diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 0f2b8b0996dae61eed88a237ce762be0d76684d9..614ddfd6e5a78cd7a9ef0ee442bb11bd2dde814f 100644 GIT binary patch delta 20080 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 Date: Mon, 6 May 2019 10:20:02 -0400 Subject: [PATCH 096/196] Automatic changelog generation for PR #11475 [ci skip] --- html/changelogs/AutoChangeLog-pr-11475.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11475.yml diff --git a/html/changelogs/AutoChangeLog-pr-11475.yml b/html/changelogs/AutoChangeLog-pr-11475.yml new file mode 100644 index 00000000000..9f7c02a26eb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11475.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - bugfix: "Fixes a minor NTTC issue" From 7ce4a99516bd627fa75689412a8dd362472e5432 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Mon, 6 May 2019 16:52:13 +0200 Subject: [PATCH 097/196] better output system for smartfridges --- code/game/machinery/machinery.dm | 8 ++++++++ .../food_and_drinks/kitchen_machinery/smartfridge.dm | 1 + 2 files changed, 9 insertions(+) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 91dcb43ab57..072281cb188 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -595,3 +595,11 @@ Class Procs: emp_act(EMP_LIGHT) else ex_act(EXPLODE_HEAVY) + +/obj/machinery/proc/adjust_item_drop_location(atom/movable/AM) // Adjust item drop location to a 3x3 grid inside the tile, returns slot id from 0 to 8 + var/md5 = md5(AM.name) // Oh, and it's deterministic too. A specific item will always drop from the same slot. + for (var/i in 1 to 32) + . += hex2num(md5[i]) + . = . % 9 + AM.pixel_x = -8 + ((.%3)*8) + AM.pixel_y = -8 + (round( . / 3)*8) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 8283bbdad62..d70db0658e8 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -373,6 +373,7 @@ for(var/obj/O in contents) if(O.name == K) O.forceMove(loc) + adjust_item_drop_location(O) update_icon() i-- if(i <= 0) From f9de27a67d7933860ccc8c9d1e25aa34028ddfc8 Mon Sep 17 00:00:00 2001 From: TDSSS <32099540+TDSSS@users.noreply.github.com> Date: Mon, 6 May 2019 17:39:14 +0200 Subject: [PATCH 098/196] Initial commit --- code/game/gamemodes/vampire/vampire_powers.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 5e7b8f9a237..665d615c56e 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -156,6 +156,7 @@ user.SetWeakened(0) user.SetStunned(0) user.SetParalysis(0) + user.SetSleeping(0) U.adjustStaminaLoss(-75) to_chat(user, "You flush your system with clean blood and remove any incapacitating effects.") spawn(1) From 27e49e6576ac1d5b30abe252de4f8e7c5dc469b2 Mon Sep 17 00:00:00 2001 From: TDSSS <32099540+TDSSS@users.noreply.github.com> Date: Mon, 6 May 2019 19:59:37 +0200 Subject: [PATCH 099/196] Let's do the same thing for clings too --- code/game/gamemodes/changeling/powers/epinephrine.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/changeling/powers/epinephrine.dm b/code/game/gamemodes/changeling/powers/epinephrine.dm index 4e783f111cc..182d96fabe9 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine.dm @@ -14,6 +14,7 @@ to_chat(user, "We arise.") else to_chat(user, "Adrenaline rushes through us.") + user.SetSleeping(0) user.stat = 0 user.SetParalysis(0) user.SetStunned(0) From 5b5e0a86a1f2963e1b726da0a7090b6a5710feda Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Mon, 6 May 2019 12:13:58 -0700 Subject: [PATCH 100/196] Add messages window --- code/modules/admin/verbs/adminpm.dm | 72 +++++++++++++++++++++++++++ code/modules/client/client defines.dm | 1 + 2 files changed, 73 insertions(+) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index e9d813c1439..68a2155da69 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -130,6 +130,9 @@ var/recieve_message = "" + pm_tracker.add_message(C, src, msg, mob) + C.pm_tracker.add_message(src, src, msg, C.mob) + if(holder && !C.holder) recieve_message = "-- Click the [recieve_pm_type]'s name to reply --\n" if(C.adminhelped) @@ -233,3 +236,72 @@ continue if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, X.mob)) to_chat(X, "PM: [key_name(src, TRUE, 0)]->IRC-Admins: [msg]") + +/client/verb/open_pms_ui() + set name = "My PMs" + set category = "OOC" + pm_tracker.show_ui(usr) + +/datum/pm_tracker + var/list/pms = list() + var/current_title = "" + var/open = FALSE + var/window_id = "pms_window" + +/datum/pm_tracker/proc/add_message(var/client/title, var/client/sender, var/message, mob/user) + if(!pms[title.key]) + pms[title.key] = list() + pms[title.key].Add("[sender]: [message]") + + if(!open) + // The next time the window's opened, it'll be open to the most recent message + current_title = title.key + return + + // If it's already opened, it'll refresh + show_ui(user) + +/datum/pm_tracker/proc/show_ui(mob/user) + var/dat = "" + + dat += "Refresh" + dat += "
    " + for(var/title in pms) + var/label = "[title]" + if(title == current_title) + label = "[label]" + dat += "[label]" + + dat += "

    [current_title]

    " + + dat += "

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 Date: Sat, 4 May 2019 00:27:15 +0200 Subject: [PATCH 055/196] Update cryo plane --- code/game/machinery/cryo.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 3dad2e66f7d..b45a8331188 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -5,7 +5,8 @@ icon_state = "pod0" density = 1 anchored = 1.0 - layer = 2.8 + layer = ABOVE_WINDOW_LAYER + plane = GAME_PLANE interact_offline = 1 armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100) var/on = 0 @@ -324,7 +325,6 @@ overlays += "lid[on]" //if no occupant, just put the lid overlay on, and ignore the rest return - if(occupant) var/image/pickle = image(occupant.icon, occupant.icon_state) pickle.overlays = occupant.overlays From 9009cd443ee64f1f7876aaf5f34403402091acc5 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 4 May 2019 00:47:16 +0200 Subject: [PATCH 056/196] Fix pipe layering --- .../components/binary_devices/binary_atmos_base.dm | 2 ++ code/ATMOSPHERICS/components/binary_devices/circulator.dm | 2 -- code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm | 1 + code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm | 2 +- .../components/unary_devices/portables_connector.dm | 2 +- code/ATMOSPHERICS/components/unary_devices/vent_pump.dm | 2 ++ code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm | 1 + code/ATMOSPHERICS/pipes/cap.dm | 1 - code/ATMOSPHERICS/pipes/manifold.dm | 1 - code/ATMOSPHERICS/pipes/manifold4w.dm | 1 - code/ATMOSPHERICS/pipes/pipe.dm | 1 - code/game/machinery/atmoalter/meter.dm | 3 +++ code/modules/power/cable.dm | 2 +- 13 files changed, 12 insertions(+), 9 deletions(-) diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm index 5b09cc250c5..68a1033a266 100644 --- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm +++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm @@ -3,6 +3,8 @@ initialize_directions = SOUTH|NORTH use_power = IDLE_POWER_USE + layer = GAS_PUMP_LAYER + var/datum/gas_mixture/air1 var/datum/gas_mixture/air2 diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index c1019236425..6bb16cb36c9 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -15,8 +15,6 @@ var/obj/machinery/power/generator/generator - layer = 2.45 // Just above wires - anchored = 1 density = 1 diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index c0787a95612..8087db9966e 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -4,6 +4,7 @@ use_power = IDLE_POWER_USE var/on = 0 + layer = GAS_FILTER_LAYER var/datum/gas_mixture/air1 var/datum/gas_mixture/air2 diff --git a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm index 009b2531745..5302a99caa1 100644 --- a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm @@ -2,7 +2,7 @@ icon = 'icons/atmos/injector.dmi' icon_state = "map_injector" use_power = IDLE_POWER_USE - layer = 3 + layer = GAS_SCRUBBER_LAYER can_unwrench = 1 diff --git a/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm b/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm index a9e4e2a282b..7b4ba08af77 100644 --- a/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm @@ -6,7 +6,7 @@ desc = "For connecting portables devices related to atmospherics control." can_unwrench = 1 - layer = 2.4 + layer = GAS_FILTER_LAYER var/obj/machinery/portable_atmospherics/connected_device diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index 25ee6417184..2a22052c7dc 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -10,6 +10,8 @@ desc = "Has a valve and pump attached to it" use_power = IDLE_POWER_USE + layer = GAS_SCRUBBER_LAYER + can_unwrench = 1 var/open = 0 diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 5a8fb02ec7d..86f2d3b9973 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -6,6 +6,7 @@ name = "air scrubber" desc = "Has a valve and pump attached to it" + layer = GAS_SCRUBBER_LAYER use_power = IDLE_POWER_USE idle_power_usage = 10 diff --git a/code/ATMOSPHERICS/pipes/cap.dm b/code/ATMOSPHERICS/pipes/cap.dm index 71630aef1c2..8421685d44c 100644 --- a/code/ATMOSPHERICS/pipes/cap.dm +++ b/code/ATMOSPHERICS/pipes/cap.dm @@ -4,7 +4,6 @@ icon = 'icons/atmos/pipes.dmi' icon_state = "cap" level = 2 - layer = 2.4 //under wires with their 2.44 volume = 35 diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm index bddc0281472..13e35d10c7b 100644 --- a/code/ATMOSPHERICS/pipes/manifold.dm +++ b/code/ATMOSPHERICS/pipes/manifold.dm @@ -14,7 +14,6 @@ var/obj/machinery/atmospherics/node3 level = 1 - layer = 2.4 //under wires with their 2.44 /obj/machinery/atmospherics/pipe/manifold/New() diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm index a948b22fd19..d2cee29c0ba 100644 --- a/code/ATMOSPHERICS/pipes/manifold4w.dm +++ b/code/ATMOSPHERICS/pipes/manifold4w.dm @@ -15,7 +15,6 @@ var/obj/machinery/atmospherics/node4 level = 1 - layer = 2.4 //under wires with their 2.44 /obj/machinery/atmospherics/pipe/manifold4w/New() ..() diff --git a/code/ATMOSPHERICS/pipes/pipe.dm b/code/ATMOSPHERICS/pipes/pipe.dm index 4cd51e66b67..ec4f6bfd7ec 100644 --- a/code/ATMOSPHERICS/pipes/pipe.dm +++ b/code/ATMOSPHERICS/pipes/pipe.dm @@ -3,7 +3,6 @@ var/datum/pipeline/parent var/volume = 0 force = 20 - layer = 2.4 //under wires with their 2.44 use_power = NO_POWER_USE can_unwrench = 1 var/alert_pressure = 80*ONE_ATMOSPHERE //minimum pressure before check_pressure(...) should be called diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 453d5cdee1e..4777cdcc5f2 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -3,6 +3,9 @@ desc = "It measures something." icon = 'icons/obj/meter.dmi' icon_state = "meterX" + + layer = GAS_PUMP_LAYER + var/obj/machinery/atmospherics/pipe/target = null anchored = TRUE armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 5cf1d5efbe3..a1f4c3b8e89 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -35,7 +35,7 @@ By design, d1 is the smallest direction and d2 is the highest icon_state = "0-1" var/d1 = 0 var/d2 = 1 - layer = 2.44 //Just below unary stuff, which is at 2.45 and above pipes, which are at 2.4 + layer = WIRE_LAYER //Just below unary stuff, which is at 2.45 and above pipes, which are at 2.4 color = COLOR_RED /obj/structure/cable/yellow From bbeb07abd24f6cfce84b255125745bf8def52909 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 4 May 2019 03:06:10 +0200 Subject: [PATCH 057/196] More lighting fixes --- _maps/map_files/MetaStation/z2.dmm | 4 +- _maps/map_files/generic/z5.dmm | 46 +-- code/game/area/Dynamic areas.dm | 9 +- code/game/area/Space Station 13 areas.dm | 375 +----------------- code/game/asteroid.dm | 2 + code/game/gamemodes/nuclear/nuclear.dm | 2 +- code/game/gamemodes/vampire/vampire_powers.dm | 3 - code/game/objects/items/blueprints.dm | 30 +- .../weapons/implants/implant_death_alarm.dm | 2 +- code/game/objects/structures/window.dm | 2 +- code/modules/admin/verbs/one_click_antag.dm | 11 - .../mission_code/UO71-terrorspiders.dm | 51 +-- .../awaymissions/mission_code/challenge.dm | 8 +- .../awaymissions/mission_code/clownplanet.dm | 18 - .../mission_code/ruins/oldstation.dm | 1 + .../awaymissions/mission_code/spacebattle.dm | 5 +- .../awaymissions/mission_code/spacehotel.dm | 3 +- .../mission_code/stationCollision.dm | 2 +- .../awaymissions/mission_code/wildwest.dm | 4 + code/modules/awaymissions/zvis.dm | 4 +- .../clothing/under/accessories/accessory.dm | 2 +- code/modules/mining/mine_items.dm | 5 +- code/modules/mob/mob.dm | 2 +- code/modules/mob/mob_defines.dm | 2 +- .../reagents/chemistry/reagents/water.dm | 2 +- code/modules/ruins/ruin_areas.dm | 12 +- code/modules/shuttle/on_move.dm | 6 +- code/modules/shuttle/shuttle.dm | 5 +- code/modules/shuttle/supply.dm | 14 +- code/modules/tram/tram.dm | 2 +- paradise.dme | 1 - 31 files changed, 127 insertions(+), 508 deletions(-) delete mode 100644 code/modules/awaymissions/mission_code/clownplanet.dm diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index 50a81f6e6e8..e306ba87c95 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -12,7 +12,7 @@ /area/space) "ad" = ( /turf/space/transit, -/area/syndicate_station/transit) +/area/space) "ae" = ( /turf/unsimulated/wall{ tag = "icon-iron6"; @@ -1284,7 +1284,7 @@ width = 18 }, /turf/space/transit, -/area/syndicate_station/transit) +/area/space) "dy" = ( /obj/docking_port/stationary/transit{ dir = 8; diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index af8d04699dc..a679318ca71 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -104,7 +104,7 @@ icon_state = "pwall"; dir = 1 }, -/area/space) +/area/mine/abandoned) "ar" = ( /turf/simulated/floor/plating/airless, /turf/simulated/shuttle/wall{ @@ -143,7 +143,7 @@ tag = "icon-floor2"; icon_state = "floor2" }, -/area/space) +/area/mine/abandoned) "aw" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8; @@ -156,7 +156,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/mine/abandoned) "ax" = ( /obj/machinery/door/airlock/hatch, /turf/simulated/shuttle/floor{ @@ -172,7 +172,7 @@ tag = "icon-floor2"; icon_state = "floor2" }, -/area/space) +/area/mine/abandoned) "az" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -223,7 +223,7 @@ icon_state = "pwall"; dir = 5 }, -/area/space) +/area/mine/abandoned) "aH" = ( /obj/structure/alien/weeds, /turf/simulated/floor/plating/airless{ @@ -252,7 +252,7 @@ icon_state = "pwall"; dir = 6 }, -/area/space) +/area/mine/abandoned) "aL" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -260,7 +260,7 @@ icon_state = "pwall"; dir = 9 }, -/area/space) +/area/mine/abandoned) "aM" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -4315,12 +4315,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/mine/eva) -"kh" = ( -/turf/simulated/floor/plating/airless{ - icon_state = "asteroidwarning"; - dir = 5 - }, -/area/space) "ki" = ( /obj/machinery/light, /turf/simulated/floor/plating/airless/asteroid, @@ -4598,7 +4592,7 @@ icon_state = "asteroidwarning"; dir = 4 }, -/area/space) +/area/mine/dangerous/explored) "kR" = ( /obj/machinery/door/airlock/external{ frequency = 1379; @@ -5368,12 +5362,6 @@ }, /turf/simulated/floor/plasteel, /area/mine/eva) -"mx" = ( -/turf/simulated/floor/plating/airless{ - icon_state = "asteroidwarning"; - dir = 6 - }, -/area/space) "my" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden, @@ -52246,11 +52234,11 @@ bV bV bV bV -ll -kh +bV +dP kQ -mx -ll +dK +bV mQ nj nj @@ -52503,11 +52491,11 @@ bV bV bV bV -ll -ll -ll -ll -ll +bV +bV +bV +bV +bV bV bV bV diff --git a/code/game/area/Dynamic areas.dm b/code/game/area/Dynamic areas.dm index 1cb24e23512..c6d1154847b 100644 --- a/code/game/area/Dynamic areas.dm +++ b/code/game/area/Dynamic areas.dm @@ -24,18 +24,21 @@ match_tag = "arrivals" match_width = 5 match_height = 4 - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/dynamic/source/lobby_russian name = "\improper Russian Lounge" match_tag = "arrivals" match_width = 5 match_height = 4 - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/dynamic/source/lobby_disco name = "\improper Disco Lounge" match_tag = "arrivals" match_width = 5 match_height = 4 - requires_power = 0 \ No newline at end of file + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED \ No newline at end of file diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index f7f768e8dfb..82fe75b3cf7 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -6,7 +6,7 @@ name = "NICE NAME" (not required but makes things really nice) icon = "ICON FILENAME" (defaults to areas.dmi) icon_state = "NAME OF ICON" (defaults to "unknown" (blank)) - requires_power = 0 (defaults to 1) + requires_power = FALSE (defaults to TRUE) music = "music/music.ogg" (defaults to "music/music.ogg") NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0 @@ -44,29 +44,19 @@ var/list/ghostteleportlocs = list() /*-----------------------------------------------------------------------------*/ -/area/engine/ - -/area/turret_protected/ - -/area/arrival - requires_power = 0 - -/area/arrival/start - name = "\improper Arrival Area" - icon_state = "start" /area/admin name = "\improper Admin Room" icon_state = "start" - requires_power = 0 + requires_power = FALSE dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/adminconstruction name = "\improper Admin Testing Area" icon_state = "start" - requires_power = 0 - dynamic_lighting = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/space icon_state = "space" @@ -77,7 +67,7 @@ var/list/ghostteleportlocs = list() power_equip = FALSE power_environ = FALSE valid_territory = FALSE - outdoors = 1 + outdoors = TRUE ambientsounds = list('sound/ambience/ambispace.ogg','sound/music/title2.ogg','sound/music/space.ogg','sound/music/traitor.ogg') /area/space/nearstation @@ -107,6 +97,7 @@ var/list/ghostteleportlocs = list() no_teleportlocs = TRUE requires_power = FALSE valid_territory = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/shuttle/arrival name = "\improper Arrival Shuttle" @@ -232,12 +223,10 @@ var/list/ghostteleportlocs = list() /area/shuttle/gamma/space icon_state = "shuttle" name = "\improper Gamma Armory" - requires_power = 0 /area/shuttle/gamma/station icon_state = "shuttle" name = "\improper Gamma Armory Station" - requires_power = 0 /area/shuttle/prison/ name = "\improper Prison Shuttle" @@ -341,17 +330,14 @@ var/list/ghostteleportlocs = list() /area/shuttle/vox name = "\improper Vox Skipjack" icon_state = "shuttle" - requires_power = 0 /area/shuttle/vox/station name = "\improper Vox Skipjack" icon_state = "yellow" - requires_power = 0 /area/shuttle/salvage name = "\improper Salvage Ship" icon_state = "yellow" - requires_power = 0 /area/shuttle/salvage/start name = "\improper Middle of Nowhere" @@ -408,7 +394,6 @@ var/list/ghostteleportlocs = list() /area/shuttle/supply name = "Supply Shuttle" icon_state = "shuttle3" - requires_power = 0 /area/shuttle/abandoned name = "Abandoned Ship" @@ -422,7 +407,6 @@ var/list/ghostteleportlocs = list() /area/shuttle/trade name = "Trade Shuttle" icon_state = "shuttle" - requires_power = FALSE /area/shuttle/trade/sol name = "Sol Freighter" @@ -445,11 +429,6 @@ var/list/ghostteleportlocs = list() // === end remove -/area/alien - name = "\improper Alien base" - icon_state = "yellow" - requires_power = FALSE - // CENTCOM /area/centcom @@ -503,7 +482,8 @@ var/list/ghostteleportlocs = list() /area/syndicate_mothership name = "\improper Syndicate Forward Base" icon_state = "syndie-ship" - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED nad_allowed = TRUE /area/syndicate_mothership/control @@ -525,6 +505,7 @@ var/list/ghostteleportlocs = list() icon_state = "asteroid" requires_power = FALSE valid_territory = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/asteroid/cave // -- TLE name = "\improper Asteroid - Underground" @@ -571,72 +552,25 @@ var/list/ghostteleportlocs = list() name = "\improper Abandoned Drug Lab" icon_state = "green" -//ENEMY - -//names are used -/area/syndicate_station - name = "\improper Syndicate Station" - icon_state = "yellow" - requires_power = 0 - -/area/syndicate_station/start - name = "\improper Syndicate Forward Operating Base" - icon_state = "yellow" - -/area/syndicate_station/southwest - name = "\improper South-West of SS13" - icon_state = "southwest" - -/area/syndicate_station/northwest - name = "\improper North-West of SS13" - icon_state = "northwest" - -/area/syndicate_station/northeast - name = "\improper North-East of SS13" - icon_state = "northeast" - -/area/syndicate_station/southeast - name = "\improper South-East of SS13" - icon_state = "southeast" - -/area/syndicate_station/north - name = "\improper North of SS13" - icon_state = "north" - -/area/syndicate_station/south - name = "\improper South of SS13" - icon_state = "south" - -/area/syndicate_station/commssat - name = "\improper South of the Communication Satellite" - icon_state = "south" - -/area/syndicate_station/mining - name = "\improper North-East of the Mining Asteroid" - icon_state = "north" - -/area/syndicate_station/transit - name = "\improper Hyperspace" - icon_state = "shuttle" - //Abductors /area/abductor_ship name = "\improper Abductor Ship" icon_state = "yellow" requires_power = FALSE has_gravity = TRUE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/wizard_station name = "\improper Wizard's Den" icon_state = "yellow" requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ninja name = "\improper Ninja Area Parent" icon_state = "ninjabase" requires_power = FALSE no_teleportlocs = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ninja/outpost name = "\improper SpiderClan Outpost" @@ -651,183 +585,15 @@ var/list/ghostteleportlocs = list() dynamic_lighting = DYNAMIC_LIGHTING_DISABLED no_teleportlocs = TRUE -/area/vox_station/transit - name = "\improper Hyperspace" - icon_state = "shuttle" - requires_power = 0 - -/area/vox_station/southwest_solars - name = "\improper Aft Port Solars" - icon_state = "southwest" - requires_power = 0 - -/area/vox_station/northwest_solars - name = "\improper Fore Port Solars" - icon_state = "northwest" - requires_power = 0 - -/area/vox_station/northeast_solars - name = "\improper Fore Starboard Solars" - icon_state = "northeast" - requires_power = 0 - -/area/vox_station/southeast_solars - name = "\improper Aft Starboard Solars" - icon_state = "southeast" - requires_power = 0 - /area/trader_station name = "Trade Base" icon_state = "yellow" - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/trader_station/sol name = "Jupiter Station 6" -/area/vox_station/mining - name = "\improper Nearby Mining Asteroid" - icon_state = "north" - requires_power = 0 - -/area/xenos_station/start - name = "\improper Alien Shuttle" - icon_state = "north" - requires_power = 0 - -/area/xenos_station/transit - name = "\improper Hyperspace" - icon_state = "shuttle" - requires_power = 0 - -/area/xenos_station/southwest - name = "\improper Aft Port Solars Landing Area" - icon_state = "southwest" - requires_power = 0 - -/area/xenos_station/northwest - name = "\improper Fore Port Solars Landing Area" - icon_state = "northwest" - requires_power = 0 - -/area/xenos_station/northeast - name = "\improper Fore Starboard Solars Landing Area" - icon_state = "northeast" - requires_power = 0 - -/area/xenos_station/southeast - name = "\improper Aft Starboard Solars Landing Area" - icon_state = "southeast" - requires_power = 0 - -/area/xenos_station/east - name = "\improper East Landing Area" - icon_state = "east" - requires_power = 0 - -/area/xenos_station/west - name = "\improper West Landing Area" - icon_state = "west" - requires_power = 0 - -/area/xenos_station/researchoutpost - name = "\improper Research Outpost Landing Area" - icon_state = "north" - requires_power = 0 - -/area/xenos_station/miningoutpost - name = "\improper Mining Outpost Landing Area" - icon_state = "south" - requires_power = 0 - -//PRISON -/area/prison - name = "\improper Prison Station" - icon_state = "brig" - -/area/prison/arrival_airlock - name = "\improper Prison Station Airlock" - icon_state = "green" - requires_power = 0 - -/area/prison/control - name = "\improper Prison Security Checkpoint" - icon_state = "security" - -/area/prison/crew_quarters - name = "\improper Prison Security Quarters" - icon_state = "security" - -/area/prison/rec_room - name = "\improper Prison Rec Room" - icon_state = "green" - -/area/prison/closet - name = "\improper Prison Supply Closet" - icon_state = "dk_yellow" - -/area/prison/hallway/fore - name = "\improper Prison Fore Hallway" - icon_state = "yellow" - -/area/prison/hallway/aft - name = "\improper Prison Aft Hallway" - icon_state = "yellow" - -/area/prison/hallway/port - name = "\improper Prison Port Hallway" - icon_state = "yellow" - -/area/prison/hallway/starboard - name = "\improper Prison Starboard Hallway" - icon_state = "yellow" - -/area/prison/morgue - name = "\improper Prison Morgue" - icon_state = "morgue" - -/area/prison/medical_research - name = "\improper Prison Genetic Research" - icon_state = "medresearch" - -/area/prison/medical - name = "\improper Prison Medbay" - icon_state = "medbay" - -/area/prison/solar - name = "\improper Prison Solar Array" - icon_state = "storage" - requires_power = 0 - -/area/prison/podbay - name = "\improper Prison Podbay" - icon_state = "dk_yellow" - -/area/prison/solar_control - name = "\improper Prison Solar Array Control" - icon_state = "dk_yellow" - -/area/prison/solitary - name = "\improper Solitary Confinement" - icon_state = "brig" - fast_despawn = TRUE - -/area/prison/cell_block - name = "\improper Prison Cell Block" - icon_state = "brig" - fast_despawn = TRUE - -/area/prison/cell_block/A - name = "\improper Prison Cell Block A" - icon_state = "brig" - -/area/prison/cell_block/B - name = "\improper Prison Cell Block B" - icon_state = "brig" - -/area/prison/cell_block/C - name = "\improper Prison Cell Block C" - icon_state = "brig" - //Labor camp /area/mine/laborcamp name = "Labor Camp" @@ -1332,7 +1098,8 @@ var/list/ghostteleportlocs = list() /area/engine/engine_smes name = "\improper Engineering SMES" icon_state = "engine_smes" - requires_power = 0//This area only covers the batteries and they deal with their own power + requires_power = FALSE //This area only covers the batteries and they deal with their own power + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/engine/engineering name = "Engineering" @@ -1377,8 +1144,7 @@ var/list/ghostteleportlocs = list() //Solars /area/solar - requires_power = 0 - dynamic_lighting = 0 + requires_power = FALSE valid_territory = FALSE dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT @@ -1719,11 +1485,6 @@ var/list/ghostteleportlocs = list() name = "\improper Secure Armory" icon_state = "secarmory" -/area/security/armoury/gamma - name = "\improper Gamma Armory" - icon_state = "Warden" - requires_power = 0 - /area/security/securehallway name = "\improper Security Secure Hallway" icon_state = "securehall" @@ -1946,11 +1707,6 @@ var/list/ghostteleportlocs = list() name = "Technical Storage" icon_state = "auxstorage" -/area/storage/testroom - requires_power = 0 - name = "\improper Test Room" - icon_state = "storage" - /area/storage/office name = "\improper Office Supplies" icon_state = "office_supplies" @@ -2300,31 +2056,6 @@ var/list/ghostteleportlocs = list() name = "\improper AI Satellite Antechamber" icon_state = "ai" -/area/turret_protected/AIsatextFP - name = "\improper AI Sat Ext" - icon_state = "storage" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/turret_protected/AIsatextFS - name = "\improper AI Sat Ext" - icon_state = "storage" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/turret_protected/AIsatextAS - name = "\improper AI Sat Ext" - icon_state = "storage" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/turret_protected/AIsatextAP - name = "\improper AI Sat Ext" - icon_state = "storage" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/turret_protected/NewAIMain - name = "\improper AI Main New" - icon_state = "storage" - - //Misc @@ -2409,78 +2140,10 @@ var/list/ghostteleportlocs = list() name = "\improper Strange Station" icon_state = "away" -/area/awaymission/wwmines - name = "\improper Wild West Mines" - icon_state = "away1" - requires_power = FALSE - -/area/awaymission/wwgov - name = "\improper Wild West Mansion" - icon_state = "away2" - requires_power = FALSE - -/area/awaymission/wwrefine - name = "\improper Wild West Refinery" - icon_state = "away3" - requires_power = FALSE - -/area/awaymission/wwvault - name = "\improper Wild West Vault" - icon_state = "away3" - -/area/awaymission/wwvaultdoors - name = "\improper Wild West Vault Doors" // this is to keep the vault area being entirely lit because of requires_power - icon_state = "away2" - requires_power = FALSE - /area/awaymission/desert name = "Mars" icon_state = "away" -/area/awaymission/BMPship1 - name = "\improper Aft Block" - icon_state = "away1" - -/area/awaymission/BMPship2 - name = "\improper Midship Block" - icon_state = "away2" - -/area/awaymission/BMPship3 - name = "\improper Fore Block" - icon_state = "away3" - -/area/awaymission/spacebattle - name = "\improper Space Battle" - icon_state = "away" - requires_power = 0 - -/area/awaymission/spacebattle/cruiser - name = "\improper Nanotrasen Cruiser" - -/area/awaymission/spacebattle/syndicate1 - name = "\improper Syndicate Assault Ship 1" - -/area/awaymission/spacebattle/syndicate2 - name = "\improper Syndicate Assault Ship 2" - -/area/awaymission/spacebattle/syndicate3 - name = "\improper Syndicate Assault Ship 3" - -/area/awaymission/spacebattle/syndicate4 - name = "\improper Syndicate War Sphere 1" - -/area/awaymission/spacebattle/syndicate5 - name = "\improper Syndicate War Sphere 2" - -/area/awaymission/spacebattle/syndicate6 - name = "\improper Syndicate War Sphere 3" - -/area/awaymission/spacebattle/syndicate7 - name = "\improper Syndicate Fighter" - -/area/awaymission/spacebattle/secret - name = "\improper Hidden Chamber" - /area/awaymission/beach name = "Beach" icon_state = "beach" @@ -2596,10 +2259,9 @@ var/list/ghostteleportlocs = list() /area/vr name = "VR" - requires_power = 0 + requires_power = FALSE dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - no_teleportlocs = 1 - + no_teleportlocs = TRUE /area/vr/lobby name = "VR Lobby" @@ -2662,7 +2324,6 @@ var/list/the_station_areas = list ( /area/teleporter, /area/medical, /area/security, - /area/prison, /area/quartermaster, /area/janitor, /area/hydroponics, diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm index 66124a9582e..83a4db07f8d 100644 --- a/code/game/asteroid.dm +++ b/code/game/asteroid.dm @@ -30,7 +30,9 @@ var/global/max_secret_rooms = 6 T.ChangeTurf(floor) room_turfs["floors"] += T + var/old_area = T.loc A.contents += T + T.change_area(old_area, A) return room_turfs diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index d19d2dd7cc5..8271a3c860d 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -457,7 +457,7 @@ proc/issyndicate(mob/living/M as mob) var/turf/T = get_turf(nuke) var/area/A = T.loc - var/list/thousand_penalty = list(/area/syndicate_station, /area/wizard_station, /area/solar, /area) + var/list/thousand_penalty = list(/area/wizard_station, /area/solar, /area) var/list/fiftythousand_penalty = list(/area/security/main, /area/security/brig, /area/security/armoury, /area/security/checkpoint2) if(is_type_in_list(A, thousand_penalty)) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 5e7b8f9a237..6a664fbe75c 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -438,9 +438,6 @@ steam.start() sleep(jaunt_duration) var/mobloc = get_turf(user.loc) - if(get_area(mobloc) == /area/security/armoury/gamma) - to_chat(user, "A strange energy repels you!") - mobloc = originalloc animation.loc = mobloc steam.location = mobloc steam.start() diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 3ce114bde9b..0c7e4a509f3 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -174,14 +174,10 @@ var/list/SPECIALS = list( /area/shuttle, /area/admin, - /area/arrival, /area/centcom, /area/asteroid, /area/tdome, - /area/syndicate_station, - /area/wizard_station, - /area/prison - // /area/derelict //commented out, all hail derelict-rebuilders! + /area/wizard_station ) for(var/type in SPECIALS) if( istype(A,type) ) @@ -211,23 +207,21 @@ return var/area/A = new A.name = str - //var/ma - //ma = A.master ? "[A.master]" : "(null)" -// to_chat(world, "DEBUG: create_area:
A.name=[A.name]
A.tag=[A.tag]
A.master=[ma]") - A.power_equip = 0 - A.power_light = 0 - A.power_environ = 0 - A.always_unpowered = 0 - move_turfs_to_area(turfs, A) + A.power_equip = FALSE + A.power_light = FALSE + A.power_environ = FALSE + A.always_unpowered = FALSE + A.set_dynamic_lighting() + + for(var/i in 1 to turfs.len) + var/turf/thing = turfs[i] + var/area/old_area = thing.loc + A.contents += thing + thing.change_area(old_area, A) interact() return - -/obj/item/areaeditor/proc/move_turfs_to_area(var/list/turf/turfs, var/area/A) - A.contents.Add(turfs) - - /obj/item/areaeditor/proc/edit_area() var/area/A = get_area() var/prevname = "[sanitize(A.name)]" diff --git a/code/game/objects/items/weapons/implants/implant_death_alarm.dm b/code/game/objects/items/weapons/implants/implant_death_alarm.dm index 68c8e111520..d27d6dd5f7e 100644 --- a/code/game/objects/items/weapons/implants/implant_death_alarm.dm +++ b/code/game/objects/items/weapons/implants/implant_death_alarm.dm @@ -3,7 +3,7 @@ desc = "An alarm which monitors host vital signs and transmits a radio message upon death." var/mobname = "Will Robinson" activated = 0 - var/static/list/stealth_areas = typecacheof(list(/area/syndicate_station, /area/syndicate_mothership, /area/shuttle/syndicate_elite)) + var/static/list/stealth_areas = typecacheof(list(/area/syndicate_mothership, /area/shuttle/syndicate_elite)) /obj/item/implant/death_alarm/get_data() var/dat = {"Implant Specifications:
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index ad655a39b64..e63451de8b6 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -4,7 +4,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f /obj/proc/color_windows(obj/W) var/list/wcBarAreas = list(/area/crew_quarters/bar) - var/list/wcBrigAreas = list(/area/security,/area/prison,/area/shuttle/gamma) + var/list/wcBrigAreas = list(/area/security, /area/shuttle/gamma) var/newcolor var/turf/T = get_turf(W) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 4b3905f37e2..8b172630d7b 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -247,17 +247,6 @@ client/proc/one_click_antag() if(closet_spawn) new /obj/structure/closet/syndicate/nuclear(closet_spawn.loc) - for(var/obj/effect/landmark/A in /area/syndicate_station/start)//Because that's the only place it can BE -Sieve - if(A.name == "Syndicate-Gear-Closet") - new /obj/structure/closet/syndicate/personal(A.loc) - qdel(A) - continue - - if(A.name == "Syndicate-Bomb") - new /obj/effect/spawner/newbomb/timer/syndicate(A.loc) - qdel(A) - continue - for(var/datum/mind/synd_mind in ticker.mode.syndicates) if(synd_mind.current) if(synd_mind.current.client) diff --git a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm index 6da42a682fa..7d045f0afcb 100644 --- a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm +++ b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm @@ -1,44 +1,44 @@ /area/awaymission/UO71 name = "UO71" icon_state = "away" - report_alerts = 0 - tele_proof = 1 + report_alerts = FALSE + tele_proof = TRUE /area/awaymission/UO71/plaza name = "UO71 Plaza" icon_state = "awaycontent1" - fire = 1 + fire = TRUE /area/awaymission/UO71/centralhall name = "UO71 Central" icon_state = "awaycontent2" - fire = 1 + fire = TRUE /area/awaymission/UO71/eng name = "UO71 Engineering" icon_state = "awaycontent3" - fire = 1 + fire = TRUE /area/awaymission/UO71/mining name = "UO71 Mining" icon_state = "awaycontent4" - fire = 1 + fire = TRUE /area/awaymission/UO71/science name = "UO71 Science" icon_state = "awaycontent5" - fire = 1 + fire = TRUE /area/awaymission/UO71/medical name = "UO71 Medical" icon_state = "awaycontent6" - fire = 1 + fire = TRUE /area/awaymission/UO71/gateway name = "UO71 Gateway" icon_state = "awaycontent7" - fire = 1 + fire = TRUE /area/awaymission/UO71/outside name = "UO71 Outside" @@ -47,36 +47,41 @@ /area/awaymission/UO71/bridge name = "UO71 Bridge" icon_state = "awaycontent21" - fire = 1 - requires_power = 0 - tele_proof = 1 + fire = TRUE + requires_power = FALSE + tele_proof = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/UO71/queen name = "UO71 Queen Lair" icon_state = "awaycontent9" - fire = 1 - requires_power = 0 - tele_proof = 1 + fire = TRUE + requires_power = FALSE + tele_proof = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/UO71/prince name = "UO71 Prince Containment" icon_state = "awaycontent10" - fire = 1 - requires_power = 0 - tele_proof = 1 + fire = TRUE + requires_power = FALSE + tele_proof = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/UO71/mother name = "UO71 Mother Containment" icon_state = "awaycontent10" - fire = 1 - requires_power = 0 - tele_proof = 1 + fire = TRUE + requires_power = FALSE + tele_proof = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/UO71/loot name = "UO71 Loot Vault" icon_state = "awaycontent11" - requires_power = 0 - tele_proof = 1 + requires_power = FALSE + tele_proof = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /obj/item/paper/terrorspiders1 name = "paper - 'Sealed Facility'" diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index b0a092b7e7d..15dac122c54 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -3,7 +3,7 @@ /area/awaymission/challenge name = "Challenge" icon_state = "away" - report_alerts = 0 + report_alerts = FALSE /area/awaymission/challenge/start name = "Where Am I?" @@ -12,12 +12,14 @@ /area/awaymission/challenge/main name = "\improper Danger Room" icon_state = "away1" - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/awaymission/challenge/end name = "Administration" icon_state = "away2" - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /obj/machinery/power/emitter/energycannon diff --git a/code/modules/awaymissions/mission_code/clownplanet.dm b/code/modules/awaymissions/mission_code/clownplanet.dm deleted file mode 100644 index 8ac9fd1fb4c..00000000000 --- a/code/modules/awaymissions/mission_code/clownplanet.dm +++ /dev/null @@ -1,18 +0,0 @@ -//Clown Planet Areas - -/area/planet/clown - name = "\improper Clown Planet" - icon_state = "honk" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - requires_power = FALSE - report_alerts = FALSE - -/area/awaymission/clownplanet/miningtown - name = "\improper Clown Planet - Bananium-o-Rama" - icon_state = "away1" - requires_power = FALSE - -/area/awaymission/clownplanet/mine - name = "\improper Clown Planet - Bananium-o-Rama Mines" - icon_state = "away2" - requires_power = FALSE \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm index 1886aba02ab..7150d0c74c4 100644 --- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm +++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm @@ -307,6 +307,7 @@ name = "Powered Tile" icon_state = "teleporter" requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ruin/space/ancientstation/space name = "Exposed To Space" diff --git a/code/modules/awaymissions/mission_code/spacebattle.dm b/code/modules/awaymissions/mission_code/spacebattle.dm index 3f9c9925772..146597fe457 100644 --- a/code/modules/awaymissions/mission_code/spacebattle.dm +++ b/code/modules/awaymissions/mission_code/spacebattle.dm @@ -3,8 +3,9 @@ /area/awaymission/spacebattle name = "\improper Space Battle" icon_state = "away" - requires_power = 0 - report_alerts = 0 + requires_power = FALSE + report_alerts = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/awaymission/spacebattle/cruiser name = "\improper Nanotrasen Cruiser" diff --git a/code/modules/awaymissions/mission_code/spacehotel.dm b/code/modules/awaymissions/mission_code/spacehotel.dm index fc8b4f4d260..d2fda046d7e 100644 --- a/code/modules/awaymissions/mission_code/spacehotel.dm +++ b/code/modules/awaymissions/mission_code/spacehotel.dm @@ -2,7 +2,8 @@ /area/awaymission/spacehotel name = "Deep Space Hotel 419" - requires_power = 0 + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/spacehotel/kitchen name = "Hotel Kitchen" diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm index 17ece10d71a..8e7b267f2d3 100644 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ b/code/modules/awaymissions/mission_code/stationCollision.dm @@ -161,7 +161,7 @@ var/sc_safecode5 = "[rand(0,9)]" desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible." move_self = 0 //Contianed narsie does not move! grav_pull = 0 //Contained narsie does not pull stuff in! - var/uneatable = list(/turf/space, /obj/effect/overlay, /atom/movable/lighting_overlay, /mob/living/simple_animal/hostile/construct) + var/uneatable = list(/turf/space, /obj/effect/overlay, /atom/movable/lighting_object, /mob/living/simple_animal/hostile/construct) //Override this to prevent no adminlog runtimes and admin warnings about a singularity without containment /obj/singularity/narsie/sc_Narsie/admin_investigate_setup() diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index a24da0d6df7..ef576760ada 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -10,16 +10,19 @@ name = "\improper Wild West Mines" icon_state = "away1" requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/wwgov name = "\improper Wild West Mansion" icon_state = "away2" requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/wwrefine name = "\improper Wild West Refinery" icon_state = "away3" requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/awaymission/wwvault name = "\improper Wild West Vault" @@ -29,6 +32,7 @@ name = "\improper Wild West Vault Doors" // this is to keep the vault area being entirely lit because of requires_power icon_state = "away2" requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /* * Wish Granter diff --git a/code/modules/awaymissions/zvis.dm b/code/modules/awaymissions/zvis.dm index 5561e5e90cd..de60531e590 100644 --- a/code/modules/awaymissions/zvis.dm +++ b/code/modules/awaymissions/zvis.dm @@ -1,8 +1,8 @@ /area/awaymission/upperlevel name = "Open Space" color = "#888" - dynamic_lighting = 0 - requires_power = 0 + dynamic_lighting = DYNAMIC_LIGHTING_FORCED + requires_power = FALSE // Used by /turf/unsimulated/floor/upperlevel as a reference for where the other floor is /obj/effect/levelref diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index b1da17677de..9d2c29e2679 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -630,7 +630,7 @@ var/area/t = get_area(M) var/obj/item/radio/headset/a = new /obj/item/radio/headset(src) - if(istype(t, /area/syndicate_station) || istype(t, /area/syndicate_mothership) || istype(t, /area/shuttle/syndicate_elite) ) + if(istype(t, /area/syndicate_mothership) || istype(t, /area/shuttle/syndicate_elite)) //give the syndicats a bit of stealth a.autosay("[M] has been vandalized in Space!", "[M]'s Death Alarm") else diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index c3c276a5766..e21a3ab2db6 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -273,8 +273,9 @@ /area/survivalpod name = "\improper Emergency Shelter" icon_state = "away" - requires_power = 0 - has_gravity = 1 + requires_power = FALSE + has_gravity = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /obj/item/survivalcapsule name = "bluespace shelter capsule" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index f2ee5b62707..d386720a428 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -930,7 +930,7 @@ var/list/slot_equipment_priority = list( \ // They should be in a cell or the Brig portion of the shuttle. var/area/A = loc.loc - if(!istype(A, /area/security/prison) && !istype(A, /area/prison)) + if(!istype(A, /area/security/prison)) if(!istype(A, /area/shuttle/escape) || loc.name != "Brig floor") return 0 diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index d15d1dc6d5a..35851ba30d0 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -176,7 +176,7 @@ var/player_ghosted = 0 var/turf/listed_turf = null //the current turf being examined in the stat panel - var/list/shouldnt_see = list(/atom/movable/lighting_overlay) //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes + var/list/shouldnt_see = list(/atom/movable/lighting_object) //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes var/kills = 0 diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index dcd21f639d1..6e6c4dce1a7 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -109,7 +109,7 @@ if(!(istype(B) && B.off_floor)) qdel(O) else - if(!istype(O, /atom/movable/lighting_overlay)) + if(!istype(O, /atom/movable/lighting_object)) O.color = initial(O.color) O.clean_blood() diff --git a/code/modules/ruins/ruin_areas.dm b/code/modules/ruins/ruin_areas.dm index fc51dcc0155..0304f36156e 100644 --- a/code/modules/ruins/ruin_areas.dm +++ b/code/modules/ruins/ruin_areas.dm @@ -3,18 +3,18 @@ /area/ruin/ name = "\improper Unexplored Location" icon_state = "away" - has_gravity = 1 - there_can_be_many = 1 - + has_gravity = TRUE + there_can_be_many = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ruin/unpowered - always_unpowered = 0 + always_unpowered = FALSE /area/ruin/unpowered/no_grav - has_gravity = 0 + has_gravity = FALSE /area/ruin/powered - requires_power = 0 + requires_power = FALSE diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index c130ea1d447..67765ef8ac5 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -8,9 +8,6 @@ forceMove(T1) return 1 -/atom/movable/lighting_overlay/onShuttleMove() - return 0 - /obj/effect/landmark/shuttle_import/onShuttleMove() // Used for marking where to preview/load shuttles return 0 @@ -60,4 +57,5 @@ /obj/machinery/door/airlock/postDock(obj/docking_port/stationary/S1) . = ..() if(!S1.lock_shuttle_doors && id_tag == "s_docking_airlock") - INVOKE_ASYNC(src, .proc/unlock) \ No newline at end of file + INVOKE_ASYNC(src, .proc/unlock) + diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 5c6445b2927..5f96f90d027 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -382,8 +382,9 @@ var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) //remove area surrounding docking port + var/area/A0 if(areaInstance.contents.len) - var/area/A0 = locate("[area_type]") + A0 = locate("[area_type]") if(!A0) A0 = new area_type(null) for(var/turf/T0 in L0) @@ -393,6 +394,8 @@ var/turf/T0 = i if(!T0) continue + if(A0) + T0.change_area(T0.loc, A0) T0.empty(turf_type) qdel(src, force=TRUE) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index f48906fd1f3..28cb96b128b 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -58,7 +58,7 @@ var/contcount for(var/atom/A in T.contents) - if(istype(A,/atom/movable/lighting_overlay)) + if(istype(A,/atom/movable/lighting_object)) continue if(istype(A,/obj/machinery/light)) continue //hacky but whatever, shuttles need three spots each for this shit @@ -750,18 +750,6 @@ frequency.post_signal(src, status_signal) -/********** - MISC - **********/ -/area/supply/station - name = "Supply Shuttle" - icon_state = "shuttle3" - requires_power = 0 - -/area/supply/dock - name = "Supply Shuttle" - icon_state = "shuttle3" - requires_power = 0 #undef ORDER_SCREEN_WIDTH #undef ORDER_SCREEN_HEIGHT diff --git a/code/modules/tram/tram.dm b/code/modules/tram/tram.dm index 04a026141a5..fed50355dde 100644 --- a/code/modules/tram/tram.dm +++ b/code/modules/tram/tram.dm @@ -22,7 +22,7 @@ var/delay_timer = null - var/list/blacklist = list(/obj/tram/rail,/atom/movable/lighting_overlay) + var/list/blacklist = list(/obj/tram/rail,/atom/movable/lighting_object) var/list/ancwhitelist = list(/obj/tram, /obj/vehicle, /obj/structure/chair, /obj/structure/grille, /obj/structure/window) /obj/tram/tram_controller/New() diff --git a/paradise.dme b/paradise.dme index 92e9ebe1a3f..b1562c00706 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1247,7 +1247,6 @@ #include "code\modules\awaymissions\mission_code\blackmarketpackers.dm" #include "code\modules\awaymissions\mission_code\centcomAway.dm" #include "code\modules\awaymissions\mission_code\challenge.dm" -#include "code\modules\awaymissions\mission_code\clownplanet.dm" #include "code\modules\awaymissions\mission_code\evil_santa.dm" #include "code\modules\awaymissions\mission_code\spacebattle.dm" #include "code\modules\awaymissions\mission_code\spacehotel.dm" From bdfb4af5c20957a7e9a84bae1bfe96890d41e51c Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 4 May 2019 03:38:21 +0200 Subject: [PATCH 058/196] Starlight fixes --- code/controllers/configuration.dm | 3 +-- code/game/area/Space Station 13 areas.dm | 2 +- code/game/turfs/space/space.dm | 2 +- config/example/config.txt | 5 +++-- icons/turf/areas.dmi | Bin 34810 -> 34945 bytes 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 12b5b0fd1a5..90fa1a0ceac 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -605,8 +605,7 @@ config.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) if("starlight") - var/vvalue = text2num(value) - config.starlight = vvalue >= 0 ? vvalue : 0 + config.starlight = 1 if("player_reroute_cap") var/vvalue = text2num(value) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 82fe75b3cf7..c0456b67778 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -97,7 +97,7 @@ var/list/ghostteleportlocs = list() no_teleportlocs = TRUE requires_power = FALSE valid_territory = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED /area/shuttle/arrival name = "\improper Arrival Shuttle" diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 342c7f23ff1..cd1e0995b20 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -57,7 +57,7 @@ if(isspaceturf(t)) //let's NOT update this that much pls continue - set_light(config.starlight) + set_light(2) return set_light(0) diff --git a/config/example/config.txt b/config/example/config.txt index a0d733eacd1..6e54e2af1f6 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -317,8 +317,9 @@ EVENT_DELAY_UPPER 15;45;70 #EVENT_CUSTOM_START_MODERATE 30;45 EVENT_CUSTOM_START_MAJOR 80;100 -## Strength of ambient star light. Set to 0 or less to turn off. -STARLIGHT 2 +## Starlight for exterior walls and breaches. Uncomment for starlight! +## This is disabled by default to make testing quicker, should be enabled on production servers or testing servers messing with lighting +#STARLIGHT ## Player rerouting stuff ## If not 0, players can be rerouted to an overflow server after a certain cap is reached diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index cfce55cf6fbf4add4208415eaf15cdb1c194046f..87e919f1f0943dfa3daed5ed9561e7c3e861e91e 100755 GIT binary patch delta 6201 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 Date: Sat, 4 May 2019 04:22:45 +0200 Subject: [PATCH 059/196] Re-add starlight --- _maps/map_files/Delta/delta.dmm | 290 +++++----- .../MetaStation/MetaStation.v41A.II.dmm | 294 +++++----- _maps/map_files/MetaStation/z2.dmm | 547 +++++++++--------- _maps/map_files/MetaStation/z3.dmm | 70 +-- _maps/map_files/MetaStation/z4.dmm | 200 +++---- .../RandomRuins/SpaceRuins/abandonedzoo.dmm | 14 +- .../RandomRuins/SpaceRuins/derelict2.dmm | 8 +- .../RandomRuins/SpaceRuins/derelict3.dmm | 4 +- .../RandomRuins/SpaceRuins/derelict5.dmm | 4 +- .../RandomRuins/SpaceRuins/mechtransport.dmm | 8 +- .../RandomRuins/SpaceRuins/onehalf.dmm | 44 +- .../RandomRuins/SpaceRuins/spacebar.dmm | 4 +- .../SpaceRuins/turretedoutpost.dmm | 2 +- .../RandomRuins/SpaceRuins/wizardcrash.dmm | 2 +- _maps/map_files/RandomZLevels/academy.dmm | 27 +- .../RandomZLevels/blackmarketpackers.dmm | 98 ++-- _maps/map_files/RandomZLevels/centcomAway.dmm | 42 +- _maps/map_files/RandomZLevels/spacebattle.dmm | 34 +- _maps/map_files/RandomZLevels/spacehotel.dmm | 75 +-- .../RandomZLevels/stationCollision.dmm | 6 +- .../RandomZLevels/undergroundoutpost45.dmm | 27 +- _maps/map_files/RandomZLevels/wildwest.dmm | 44 +- _maps/map_files/cyberiad/cyberiad.dmm | 238 ++++---- _maps/map_files/cyberiad/z3.dmm | 128 ++-- _maps/map_files/cyberiad/z4.dmm | 36 +- _maps/map_files/cyberiad/z6.dmm | 146 ++--- _maps/map_files/generic/z5.dmm | 26 +- 27 files changed, 1177 insertions(+), 1241 deletions(-) diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index b7199a51f12..50a89115cac 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -451,11 +451,11 @@ "abi" = ( /obj/structure/grille, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "abj" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "abk" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -1083,11 +1083,11 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "acF" = ( /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "acG" = ( /obj/structure/cable{ icon_state = "0-4"; @@ -1095,7 +1095,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "acH" = ( /obj/structure/chair/stool, /turf/simulated/shuttle/floor{ @@ -5619,7 +5619,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "alX" = ( /obj/structure/cable{ d1 = 1; @@ -5694,7 +5694,7 @@ /area/maintenance/fsmaint) "ami" = ( /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "amj" = ( /obj/machinery/door/poddoor/shutters{ density = 0; @@ -12161,7 +12161,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "ayH" = ( /obj/machinery/conveyor{ dir = 4; @@ -12728,7 +12728,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "azS" = ( /obj/effect/decal/warning_stripes/southeast, /obj/effect/decal/warning_stripes/northwestcorner, @@ -12860,7 +12860,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aAf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/unary/heat_reservoir/heater{ @@ -12909,7 +12909,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aAj" = ( /obj/structure/cable{ d1 = 1; @@ -13824,7 +13824,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aBW" = ( /obj/structure/cable{ d1 = 1; @@ -14710,7 +14710,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aDD" = ( /obj/structure/cable{ d1 = 2; @@ -14991,7 +14991,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aEb" = ( /obj/structure/cable{ icon_state = "0-2"; @@ -15123,7 +15123,7 @@ /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/space, -/area/space) +/area/space/nearstation) "aEq" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, @@ -15774,7 +15774,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aFA" = ( /turf/simulated/wall, /area/crew_quarters/bar) @@ -16598,7 +16598,7 @@ icon_state = "brokengrille" }, /turf/space, -/area/space) +/area/space/nearstation) "aGX" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -17778,7 +17778,7 @@ dir = 6 }, /turf/space, -/area/space) +/area/space/nearstation) "aIU" = ( /obj/structure/cable{ d1 = 1; @@ -18105,12 +18105,12 @@ /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aJz" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aJA" = ( /obj/structure/cable{ d1 = 4; @@ -19496,7 +19496,7 @@ /obj/item/wrench, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aLU" = ( /turf/simulated/wall, /area/crew_quarters/bar/atrium) @@ -20753,7 +20753,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aOp" = ( /obj/structure/table/wood, /obj/item/clothing/glasses/sunglasses, @@ -21053,7 +21053,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aOV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4; @@ -21067,7 +21067,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aOX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4; @@ -23876,7 +23876,7 @@ icon_state = "pipe-c" }, /turf/space, -/area/space) +/area/space/nearstation) "aTT" = ( /obj/structure/cable{ d1 = 1; @@ -23899,7 +23899,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aTV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5; @@ -27687,7 +27687,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aZZ" = ( /obj/item/radio/intercom{ dir = 4; @@ -27709,7 +27709,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bab" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -28097,7 +28097,7 @@ req_access_txt = "67" }, /turf/space, -/area/space) +/area/space/nearstation) "baP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -33395,12 +33395,12 @@ "bkt" = ( /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "bku" = ( /obj/structure/lattice, /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "bkv" = ( /obj/machinery/light/small{ dir = 8 @@ -34368,7 +34368,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bmp" = ( /obj/structure/window/reinforced{ dir = 1; @@ -34409,7 +34409,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bmt" = ( /obj/machinery/atmospherics/unary/outlet_injector/on{ dir = 4; @@ -35184,7 +35184,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bnN" = ( /obj/structure/window/reinforced{ dir = 8 @@ -35229,7 +35229,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bnS" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ @@ -36084,7 +36084,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bpn" = ( /obj/structure/window/reinforced{ dir = 1; @@ -36156,7 +36156,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bpv" = ( /turf/simulated/floor/engine/insulated/vacuum, /area/atmos) @@ -36944,7 +36944,7 @@ pixel_y = 0 }, /turf/space, -/area/space) +/area/space/nearstation) "bqJ" = ( /obj/machinery/hologram/holopad, /obj/effect/decal/warning_stripes/yellow/hollow, @@ -37321,7 +37321,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "brr" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ @@ -37329,14 +37329,14 @@ layer = 2.9 }, /turf/space, -/area/space) +/area/space/nearstation) "brs" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 }, /turf/space, -/area/space) +/area/space/nearstation) "brt" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ @@ -37345,7 +37345,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/space, -/area/space) +/area/space/nearstation) "bru" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 4; @@ -37362,7 +37362,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, -/area/space) +/area/space/nearstation) "brw" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ @@ -37373,7 +37373,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "brx" = ( /obj/machinery/light/small{ dir = 8 @@ -38788,12 +38788,12 @@ /obj/structure/closet/emcloset, /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel, -/area/space) +/area/space/nearstation) "btJ" = ( /obj/structure/closet/firecloset, /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel, -/area/space) +/area/space/nearstation) "btK" = ( /obj/structure/cable{ d1 = 1; @@ -39582,7 +39582,7 @@ /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "bvi" = ( /obj/machinery/door/airlock/external{ name = "Labor Shuttle Airlock"; @@ -44212,7 +44212,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bCJ" = ( /turf/simulated/wall, /area/security/prisonershuttle) @@ -49717,7 +49717,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bLN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5; @@ -49769,7 +49769,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bLS" = ( /obj/structure/window/reinforced{ dir = 1; @@ -49779,7 +49779,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bLT" = ( /obj/structure/window/reinforced{ dir = 8 @@ -49810,7 +49810,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/space) +/area/space/nearstation) "bLV" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -49836,7 +49836,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/space) +/area/space/nearstation) "bLW" = ( /obj/structure/cable{ d1 = 4; @@ -51873,7 +51873,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bPD" = ( /obj/structure/cable{ d1 = 4; @@ -52078,10 +52078,10 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bPS" = ( /turf/simulated/wall, -/area/space) +/area/space/nearstation) "bPT" = ( /obj/structure/lattice, /obj/structure/window/reinforced, @@ -52090,7 +52090,7 @@ icon_state = "D-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bPU" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -52098,12 +52098,12 @@ icon_state = "E-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bPV" = ( /obj/structure/lattice, /obj/structure/transit_tube, /turf/space, -/area/space) +/area/space/nearstation) "bPW" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -52111,7 +52111,7 @@ icon_state = "W-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bPX" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -52119,7 +52119,7 @@ icon_state = "D-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bPY" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, @@ -52899,7 +52899,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bRn" = ( /obj/structure/rack, /obj/item/ammo_box/shotgun/rubbershot, @@ -53136,7 +53136,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bRH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4; @@ -53241,28 +53241,28 @@ icon_state = "D-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bRP" = ( /obj/structure/transit_tube{ tag = "icon-D-NE"; icon_state = "D-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "bRQ" = ( /obj/structure/lattice, /obj/structure/transit_tube{ icon_state = "NW-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bRR" = ( /obj/structure/transit_tube{ tag = "icon-D-SW"; icon_state = "D-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bRS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/small{ @@ -54806,7 +54806,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bUc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -55200,7 +55200,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bUK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/navbeacon{ @@ -55458,7 +55458,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bVg" = ( /obj/structure/cable{ d1 = 4; @@ -55675,7 +55675,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bVt" = ( /obj/structure/sign/vacuum{ pixel_x = -32; @@ -56126,28 +56126,28 @@ icon_state = "D-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bWa" = ( /obj/structure/transit_tube{ tag = "icon-D-SE"; icon_state = "D-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bWb" = ( /obj/structure/lattice, /obj/structure/transit_tube{ icon_state = "NE-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bWc" = ( /obj/structure/transit_tube{ tag = "icon-D-NW"; icon_state = "D-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bWd" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -56155,7 +56155,7 @@ icon_state = "D-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "bWe" = ( /obj/structure/cable{ d1 = 4; @@ -56502,7 +56502,7 @@ pixel_y = -22 }, /turf/space, -/area/space) +/area/space/nearstation) "bWD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -57190,7 +57190,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bXG" = ( /obj/structure/cable{ d1 = 1; @@ -57200,7 +57200,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bXH" = ( /obj/item/twohanded/required/kirbyplants, /obj/machinery/light, @@ -57308,7 +57308,7 @@ icon_state = "D-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "bXR" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -57316,7 +57316,7 @@ icon_state = "E-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bXS" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -57324,7 +57324,7 @@ icon_state = "W-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "bXT" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -57332,7 +57332,7 @@ icon_state = "D-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bXU" = ( /turf/simulated/wall/r_wall, /area/engine/engineering) @@ -57393,7 +57393,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bYb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/sign/securearea{ @@ -57476,7 +57476,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bYm" = ( /obj/structure/cable{ d1 = 4; @@ -57490,7 +57490,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bYn" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 @@ -57699,7 +57699,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bYK" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -57920,7 +57920,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bZg" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/peppertank{ @@ -58095,7 +58095,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bZx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58980,7 +58980,7 @@ /obj/effect/decal/warning_stripes/west, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cbb" = ( /turf/simulated/floor/plating/airless, /area/engine/engineering) @@ -62781,7 +62781,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "chx" = ( /obj/structure/cable{ d1 = 4; @@ -63157,10 +63157,10 @@ /obj/effect/decal/warning_stripes/east, /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cif" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cig" = ( /obj/structure/table/reinforced, /obj/item/book/manual/engineering_guide{ @@ -63832,7 +63832,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cjm" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ @@ -64010,11 +64010,11 @@ "cjH" = ( /obj/effect/decal/warning_stripes/northwestcorner, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cjI" = ( /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cjJ" = ( /obj/machinery/power/tesla_coil{ anchored = 1 @@ -64022,7 +64022,7 @@ /obj/structure/cable/yellow, /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cjK" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -64031,7 +64031,7 @@ }, /obj/effect/decal/warning_stripes/northeastcorner, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cjL" = ( /obj/machinery/door/poddoor{ density = 0; @@ -65079,7 +65079,7 @@ "clp" = ( /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "clq" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'RADIOACTIVE AREA'"; @@ -66345,7 +66345,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cnI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/item/twohanded/required/kirbyplants, @@ -66468,7 +66468,7 @@ /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, -/area/space) +/area/space/nearstation) "cnW" = ( /obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel, @@ -66478,7 +66478,7 @@ /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/space, -/area/space) +/area/space/nearstation) "cnY" = ( /obj/structure/lattice, /obj/structure/window/reinforced, @@ -66486,7 +66486,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "cnZ" = ( /obj/machinery/field/generator{ anchored = 1; @@ -66494,7 +66494,7 @@ }, /obj/effect/decal/warning_stripes/northwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "coa" = ( /obj/machinery/field/generator{ anchored = 1; @@ -66502,7 +66502,7 @@ }, /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cob" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -66511,7 +66511,7 @@ }, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "coc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/yellow{ @@ -66568,7 +66568,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "coj" = ( /obj/structure/cable/yellow{ d1 = 2; @@ -67042,7 +67042,7 @@ "cpg" = ( /obj/item/wrench, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cph" = ( /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel, @@ -68035,11 +68035,11 @@ }, /obj/effect/decal/warning_stripes/northeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cqO" = ( /obj/effect/decal/warning_stripes/northeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cqP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -68051,7 +68051,7 @@ "cqQ" = ( /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cqR" = ( /obj/structure/particle_accelerator/particle_emitter/right{ dir = 8 @@ -69035,7 +69035,7 @@ /obj/structure/transit_tube, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "css" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, @@ -69096,7 +69096,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "csz" = ( /obj/structure/closet/crate{ name = "solar pack crate" @@ -69743,7 +69743,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ctJ" = ( /obj/structure/transit_tube{ tag = "icon-E-NW"; @@ -69754,7 +69754,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ctK" = ( /obj/structure/table/wood, /obj/item/storage/fancy/crayons, @@ -69903,7 +69903,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ctZ" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -70407,7 +70407,7 @@ }, /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cuP" = ( /obj/structure/cable/yellow{ d1 = 2; @@ -70421,7 +70421,7 @@ }, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cuQ" = ( /obj/machinery/field/generator{ anchored = 1; @@ -70429,7 +70429,7 @@ }, /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cuR" = ( /obj/machinery/pipedispenser, /obj/effect/decal/warning_stripes/yellow/hollow, @@ -71280,15 +71280,15 @@ "cwt" = ( /obj/effect/decal/warning_stripes/northwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cwu" = ( /obj/effect/decal/warning_stripes/southeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cwv" = ( /obj/effect/decal/warning_stripes/southwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cww" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -72854,7 +72854,7 @@ }, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "czj" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/machinery/light_switch{ @@ -73002,7 +73002,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "czx" = ( /obj/structure/cable{ d1 = 1; @@ -74444,7 +74444,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cBV" = ( /obj/structure/chair/office/dark, /obj/machinery/newscaster{ @@ -77537,7 +77537,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cHu" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, @@ -78384,7 +78384,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cJf" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 @@ -78831,7 +78831,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cKk" = ( /obj/structure/cable{ d1 = 4; @@ -78846,7 +78846,7 @@ /obj/structure/window/reinforced, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cKm" = ( /obj/structure/cable{ d1 = 2; @@ -80282,7 +80282,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cNo" = ( /obj/structure/cable{ d1 = 1; @@ -80751,7 +80751,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cOa" = ( /obj/structure/table/reinforced, /obj/item/book/manual/security_space_law, @@ -80927,7 +80927,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cOn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9; @@ -81686,7 +81686,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cPL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -81854,7 +81854,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cPY" = ( /obj/machinery/access_button{ command = "cycle_exterior"; @@ -81867,7 +81867,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cPZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/wall, @@ -99561,7 +99561,7 @@ "dvU" = ( /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dvV" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -104257,7 +104257,7 @@ }, /obj/effect/decal/warning_stripes/southwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dEy" = ( /obj/structure/cable{ d1 = 1; @@ -110940,7 +110940,7 @@ }, /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dQD" = ( /obj/machinery/field/generator{ anchored = 1; @@ -110948,11 +110948,11 @@ }, /obj/effect/decal/warning_stripes/southeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dQE" = ( /obj/effect/decal/warning_stripes/southwestcorner, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dQF" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, @@ -112707,7 +112707,7 @@ width = 11 }, /turf/space, -/area/space) +/area/space/nearstation) "dTV" = ( /obj/machinery/power/solar{ name = "Aft Starboard Solar Panel" @@ -113083,7 +113083,7 @@ }, /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dUF" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -113092,7 +113092,7 @@ }, /obj/effect/decal/warning_stripes/southeastcorner, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dUG" = ( /obj/structure/grille, /obj/structure/cable/yellow{ @@ -115003,7 +115003,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "dXY" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/iv_bag/blood/random, @@ -115461,7 +115461,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "dYR" = ( /obj/structure/cable{ d2 = 2; diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 0e64cefc7aa..fd4abd040cc 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -13,7 +13,7 @@ width = 18 }, /turf/space, -/area/space) +/area/space/nearstation) "aac" = ( /obj/machinery/porta_turret/syndicate, /turf/space, @@ -549,17 +549,17 @@ "abd" = ( /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "abe" = ( /obj/structure/grille/broken, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "abf" = ( /obj/structure/grille, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "abg" = ( /obj/machinery/recharge_station/upgraded, /turf/simulated/shuttle/floor{ @@ -654,7 +654,7 @@ "abq" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "abr" = ( /obj/machinery/door/window{ dir = 4; @@ -1324,7 +1324,7 @@ dir = 8; icon_state = "diagonalWall3" }, -/area/space) +/area/space/nearstation) "acH" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall3"; @@ -1352,7 +1352,7 @@ dir = 1; icon_state = "diagonalWall3" }, -/area/space) +/area/space/nearstation) "acK" = ( /obj/item/beach_ball/holoball, /obj/structure/holohoop{ @@ -2123,7 +2123,7 @@ "aef" = ( /turf/simulated/floor/plating/airless/catwalk, /turf/space, -/area/space) +/area/space/nearstation) "aeg" = ( /obj/structure/cable{ d1 = 1; @@ -9928,12 +9928,12 @@ /area/shuttle/vox) "arA" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "arB" = ( /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "arC" = ( /obj/structure/cable{ d1 = 1; @@ -10885,7 +10885,7 @@ "ata" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "atb" = ( /obj/item/flashlight/lamp, /obj/structure/extinguisher_cabinet{ @@ -11587,7 +11587,7 @@ /obj/structure/lattice, /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "auq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13911,7 +13911,7 @@ opened = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ayz" = ( /obj/structure/cable{ d1 = 1; @@ -14600,7 +14600,7 @@ pixel_y = 2 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "azJ" = ( /obj/machinery/door/airlock/external, /turf/simulated/floor/plating, @@ -16074,7 +16074,7 @@ }, /obj/item/stack/rods, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aCo" = ( /turf/simulated/shuttle/wall{ icon_state = "swall3"; @@ -16673,11 +16673,11 @@ "aDo" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aDp" = ( /obj/item/stack/cable_coil, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aDq" = ( /turf/simulated/shuttle/floor, /area/shuttle/mining) @@ -18331,7 +18331,7 @@ network = list("Singulo") }, /turf/space, -/area/space) +/area/space/nearstation) "aGa" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable/yellow{ @@ -20306,7 +20306,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aJu" = ( /obj/machinery/door/airlock/maintenance{ name = "Law Office Maintenance"; @@ -20345,7 +20345,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aJy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -20493,7 +20493,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aJK" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; @@ -20632,7 +20632,7 @@ state = 2 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aJX" = ( /turf/simulated/floor/wood, /area/lawoffice) @@ -20663,7 +20663,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aKb" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -21569,7 +21569,7 @@ /obj/item/wirecutters, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aLy" = ( /obj/machinery/computer/guestpass{ pixel_x = 30 @@ -21688,7 +21688,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aLO" = ( /obj/machinery/power/grounding_rod{ anchored = 1 @@ -22185,7 +22185,7 @@ anchored = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aMJ" = ( /obj/machinery/door/window{ dir = 1; @@ -23083,7 +23083,7 @@ "aOj" = ( /obj/item/crowbar, /turf/space, -/area/space) +/area/space/nearstation) "aOk" = ( /obj/machinery/alarm{ dir = 4; @@ -23102,7 +23102,7 @@ "aOm" = ( /obj/effect/decal/warning_stripes/northwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aOn" = ( /obj/machinery/light/spot{ tag = "icon-tube1 (WEST)"; @@ -23131,7 +23131,7 @@ "aOq" = ( /obj/effect/decal/warning_stripes/northeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aOr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -23518,7 +23518,7 @@ }, /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aPe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/decal/warning_stripes/west, @@ -23545,7 +23545,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aPh" = ( /obj/structure/table, /obj/item/hatchet, @@ -23712,7 +23712,7 @@ }, /obj/structure/cable, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aPz" = ( /obj/item/seeds/apple, /obj/item/seeds/banana, @@ -24085,7 +24085,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aQg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24167,7 +24167,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aQo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -24580,7 +24580,7 @@ "aRe" = ( /obj/item/weldingtool, /turf/space, -/area/space) +/area/space/nearstation) "aRf" = ( /obj/item/wirecutters, /obj/structure/cable{ @@ -24608,7 +24608,7 @@ "aRh" = ( /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aRi" = ( /obj/machinery/pipedispenser, /turf/simulated/floor/plating, @@ -25199,7 +25199,7 @@ "aSk" = ( /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aSl" = ( /obj/machinery/navbeacon{ codes_txt = "delivery"; @@ -25233,7 +25233,7 @@ "aSp" = ( /obj/effect/decal/warning_stripes/southwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aSq" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -25990,7 +25990,7 @@ "aTG" = ( /obj/effect/decal/warning_stripes/southeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aTH" = ( /obj/machinery/power/apc{ dir = 4; @@ -26024,7 +26024,7 @@ }, /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aTJ" = ( /obj/structure/cable{ d1 = 1; @@ -26059,7 +26059,7 @@ d2 = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aTN" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall3"; @@ -26646,7 +26646,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aUN" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -26724,12 +26724,12 @@ "aUU" = ( /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "aUV" = ( /obj/structure/window/reinforced, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aUW" = ( /obj/structure/chair{ dir = 1 @@ -27657,7 +27657,7 @@ "aWw" = ( /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aWx" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room"; @@ -27712,7 +27712,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aWD" = ( /turf/simulated/wall, /area/hallway/secondary/entry{ @@ -28311,7 +28311,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aXI" = ( /obj/structure/window/reinforced{ dir = 1; @@ -28369,13 +28369,13 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aXO" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "aXP" = ( /obj/item/crowbar, /turf/simulated/floor/plating, @@ -29805,7 +29805,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "baq" = ( /obj/structure/cable/yellow{ d1 = 4; @@ -32575,7 +32575,7 @@ anchored = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bfa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5; @@ -33702,7 +33702,7 @@ }, /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "bgN" = ( /obj/structure/lattice, /turf/space, @@ -33807,7 +33807,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bgV" = ( /obj/machinery/conveyor_switch/oneway{ id = "packageSort2"; @@ -38279,7 +38279,7 @@ name = "EXTERNAL AIRLOCK" }, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bop" = ( /obj/machinery/computer/med_data, /turf/simulated/floor/plasteel{ @@ -38945,7 +38945,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bps" = ( /obj/structure/window/reinforced{ dir = 1 @@ -39972,7 +39972,7 @@ icon_state = "D-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bqZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -40029,10 +40029,10 @@ }, /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "bre" = ( /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "brf" = ( /obj/structure/window/reinforced{ dir = 8 @@ -40618,7 +40618,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "bse" = ( /obj/structure/window/reinforced{ dir = 1 @@ -40627,7 +40627,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bsf" = ( /obj/structure/window/reinforced{ dir = 4 @@ -40971,12 +40971,12 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bsJ" = ( /obj/structure/transit_tube, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bsK" = ( /obj/structure/transit_tube{ tag = "icon-W-SE"; @@ -40984,14 +40984,14 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bsL" = ( /obj/structure/transit_tube{ tag = "icon-D-SW"; icon_state = "D-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bsM" = ( /turf/simulated/wall/r_wall, /area/turret_protected/tcomfoyer{ @@ -41003,7 +41003,7 @@ icon_state = "D-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bsO" = ( /obj/structure/table/reinforced, /obj/structure/cable/yellow{ @@ -41041,7 +41041,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bsQ" = ( /obj/structure/transit_tube{ icon_state = "E-W-Pass" @@ -41049,7 +41049,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bsR" = ( /obj/structure/transit_tube{ icon_state = "E-SW"; @@ -41057,13 +41057,13 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bsS" = ( /obj/structure/transit_tube{ icon_state = "W-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bsT" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -41842,7 +41842,7 @@ icon_state = "NE-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "bue" = ( /obj/structure/sign/double/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -42205,14 +42205,14 @@ tag = "icon-D-SW" }, /turf/space, -/area/space) +/area/space/nearstation) "buM" = ( /obj/structure/transit_tube{ icon_state = "D-NW"; tag = "icon-D-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "buN" = ( /obj/structure/transit_tube{ icon_state = "S-NW" @@ -42239,7 +42239,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "buP" = ( /obj/structure/window/reinforced{ dir = 1 @@ -42760,7 +42760,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/space) +/area/space/nearstation) "bvw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -43601,7 +43601,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bwM" = ( /obj/structure/transit_tube{ tag = "icon-S-NE"; @@ -43622,7 +43622,7 @@ icon_state = "vault"; dir = 8 }, -/area/space) +/area/space/nearstation) "bwN" = ( /obj/item/assembly/prox_sensor, /obj/structure/cable/yellow{ @@ -43729,7 +43729,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bwV" = ( /obj/machinery/vending/coffee, /turf/simulated/floor/plasteel{ @@ -43752,7 +43752,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bwX" = ( /obj/structure/transit_tube{ tag = "icon-D-SE"; @@ -43771,7 +43771,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bwY" = ( /obj/structure/transit_tube, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -43783,7 +43783,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bwZ" = ( /obj/structure/cable/yellow{ d1 = 4; @@ -43909,7 +43909,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bxj" = ( /obj/structure/transit_tube{ tag = "icon-S-NE"; @@ -43917,14 +43917,14 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bxk" = ( /obj/structure/transit_tube{ tag = "icon-D-NE"; icon_state = "D-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "bxl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -43936,7 +43936,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bxm" = ( /obj/structure/transit_tube{ icon_state = "W-NE-SE" @@ -43952,7 +43952,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bxn" = ( /obj/structure/transit_tube{ tag = "icon-D-SW"; @@ -43973,7 +43973,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bxo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4; @@ -43986,7 +43986,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bxp" = ( /obj/structure/transit_tube/station{ icon_state = "closed"; @@ -44027,7 +44027,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "bxr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ req_access_txt = 1 @@ -45168,7 +45168,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bzd" = ( /obj/structure/transit_tube{ tag = "icon-N-SW"; @@ -45176,7 +45176,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bze" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/ai_slipper{ @@ -45403,7 +45403,7 @@ icon_state = "NW-SE" }, /turf/space, -/area/space) +/area/space/nearstation) "bzu" = ( /obj/structure/transit_tube{ icon_state = "N-SW" @@ -45963,7 +45963,7 @@ icon_state = "vault"; dir = 8 }, -/area/space) +/area/space/nearstation) "bAu" = ( /obj/machinery/vending/boozeomat, /turf/simulated/wall, @@ -46292,7 +46292,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bAY" = ( /obj/structure/transit_tube{ tag = "icon-W-NE"; @@ -46300,7 +46300,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bAZ" = ( /obj/structure/lattice, /obj/structure/transit_tube{ @@ -46308,14 +46308,14 @@ icon_state = "D-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bBa" = ( /obj/structure/transit_tube{ tag = "icon-E-NW"; icon_state = "E-NW" }, /turf/space, -/area/space) +/area/space/nearstation) "bBb" = ( /obj/structure/transit_tube{ icon_state = "D-SE"; @@ -46325,7 +46325,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bBc" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -47212,7 +47212,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/space) +/area/space/nearstation) "bCx" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; @@ -47502,7 +47502,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/space) +/area/space/nearstation) "bCZ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -48824,12 +48824,12 @@ /obj/structure/lattice, /obj/structure/grille, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bFc" = ( /obj/structure/grille, /obj/structure/lattice, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bFd" = ( /obj/machinery/computer/security/telescreen{ dir = 8; @@ -48932,7 +48932,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bFl" = ( /turf/simulated/floor/plasteel{ icon_state = "grimy" @@ -49802,13 +49802,13 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "bGN" = ( /obj/structure/transit_tube{ icon_state = "W-NE" }, /turf/space, -/area/space) +/area/space/nearstation) "bGO" = ( /obj/structure/window/reinforced{ dir = 1 @@ -50623,7 +50623,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bIv" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -51768,7 +51768,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/insulated, /turf/space, -/area/space) +/area/space/nearstation) "bKy" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 1 @@ -53038,7 +53038,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bMk" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/visible/green{ @@ -53087,7 +53087,7 @@ }, /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "bMo" = ( /obj/machinery/telecomms/processor/preset_one, /turf/simulated/floor/bluegrid{ @@ -54076,7 +54076,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "bNZ" = ( /obj/machinery/telecomms/bus/preset_one, /turf/simulated/floor/bluegrid{ @@ -54973,20 +54973,20 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bPG" = ( /obj/structure/lattice, /obj/structure/grille, /obj/structure/lattice, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bPH" = ( /obj/structure/window/reinforced{ dir = 1 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bPI" = ( /obj/machinery/light/small{ dir = 8 @@ -55794,7 +55794,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bRn" = ( /obj/machinery/message_server, /turf/simulated/floor/bluegrid{ @@ -55829,7 +55829,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "bRq" = ( /obj/machinery/door/airlock/hatch{ name = "Telecoms Server Room" @@ -59662,7 +59662,7 @@ dir = 5 }, /turf/space, -/area/space) +/area/space/nearstation) "bXP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/extinguisher_cabinet{ @@ -63185,7 +63185,7 @@ }, /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/engine/vacuum, -/area/space) +/area/space/nearstation) "cdS" = ( /obj/machinery/camera{ c_tag = "Atmospherics Tank - CO2"; @@ -67010,7 +67010,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ckp" = ( /obj/structure/window/reinforced{ dir = 4 @@ -67020,7 +67020,7 @@ layer = 2.9 }, /turf/space, -/area/space) +/area/space/nearstation) "ckq" = ( /obj/structure/window/reinforced{ dir = 1; @@ -67030,7 +67030,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "ckr" = ( /obj/structure/cable{ icon_state = "0-2"; @@ -67942,7 +67942,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "clI" = ( /obj/machinery/requests_console{ announcementConsole = 0; @@ -68501,31 +68501,31 @@ /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/green, /turf/space, -/area/space) +/area/space/nearstation) "cmL" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/space, -/area/space) +/area/space/nearstation) "cmM" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "cmN" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 9 }, /turf/space, -/area/space) +/area/space/nearstation) "cmO" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/cyan, /turf/space, -/area/space) +/area/space/nearstation) "cmP" = ( /obj/structure/window/reinforced{ dir = 1 @@ -71960,11 +71960,11 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/binary/pump/on, /turf/space, -/area/space) +/area/space/nearstation) "csp" = ( /obj/item/wrench, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "csq" = ( /obj/machinery/light/small, /turf/simulated/floor/engine{ @@ -72780,7 +72780,7 @@ icon_state = "pipe-c" }, /turf/space, -/area/space) +/area/space/nearstation) "ctt" = ( /obj/structure/disposaloutlet{ dir = 2 @@ -72789,7 +72789,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ctu" = ( /turf/simulated/wall/r_wall/coated, /area/maintenance/incinerator) @@ -75747,7 +75747,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cyo" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters{ @@ -76392,7 +76392,7 @@ "czm" = ( /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "czn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4; @@ -78499,7 +78499,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cCA" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -78816,7 +78816,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cDa" = ( /obj/machinery/door/airlock/maintenance{ name = "airlock access"; @@ -78950,7 +78950,7 @@ "cDn" = ( /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/engine/vacuum, -/area/space) +/area/space/nearstation) "cDo" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -81330,7 +81330,7 @@ "cHf" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "cHg" = ( /obj/structure/cable/yellow{ d1 = 4; @@ -83393,7 +83393,7 @@ /area/medical/surgery2) "cKI" = ( /turf/simulated/wall, -/area/space) +/area/space/nearstation) "cKJ" = ( /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, @@ -86874,7 +86874,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cPV" = ( /obj/structure/closet/wardrobe/robotics_black{ pixel_x = 2 @@ -88571,13 +88571,13 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cSA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cSB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ @@ -89153,7 +89153,7 @@ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cTy" = ( /obj/structure/morgue, /turf/simulated/floor/plasteel{ @@ -95292,14 +95292,14 @@ "ddO" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ddP" = ( /obj/structure/disposalpipe/trunk{ dir = 1 }, /obj/structure/disposaloutlet, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ddQ" = ( /obj/docking_port/stationary{ dheight = 9; @@ -95445,7 +95445,7 @@ d2 = 2 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dea" = ( /obj/structure/cable{ d1 = 1; @@ -95453,7 +95453,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "deb" = ( /obj/machinery/vending/wallmed1{ name = "Emergency NanoMed"; @@ -95472,7 +95472,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ded" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -95673,7 +95673,7 @@ dir = 6 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dex" = ( /obj/structure/rack{ dir = 1 @@ -95692,7 +95692,7 @@ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dez" = ( /obj/structure/disposalpipe/segment{ dir = 8; diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index e306ba87c95..199577ece74 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -10,9 +10,6 @@ dir = 8 }, /area/space) -"ad" = ( -/turf/space/transit, -/area/space) "ae" = ( /turf/unsimulated/wall{ tag = "icon-iron6"; @@ -14886,15 +14883,15 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15137,21 +15134,21 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15394,21 +15391,21 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15651,21 +15648,21 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15901,28 +15898,28 @@ aa aa aa aa -ad -ad -ad -ad -ad aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16158,25 +16155,25 @@ aa aa aa aa -ad -ad -ad -ad -ad aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16415,27 +16412,27 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16672,27 +16669,27 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16929,27 +16926,27 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17186,27 +17183,27 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17443,27 +17440,27 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17700,25 +17697,25 @@ aa aa aa aa -ad -ad -ad -ad -ad aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17957,28 +17954,28 @@ aa aa aa aa -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa aa aa aa aa dx -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18223,19 +18220,19 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18480,19 +18477,19 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18741,15 +18738,15 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18998,15 +18995,15 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa diff --git a/_maps/map_files/MetaStation/z3.dmm b/_maps/map_files/MetaStation/z3.dmm index c1e20ddacaa..3773dcf937e 100644 --- a/_maps/map_files/MetaStation/z3.dmm +++ b/_maps/map_files/MetaStation/z3.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/space, -/area/space) +/area/space/nearstation) "ab" = ( /obj/docking_port/stationary{ dheight = 9; @@ -145,7 +145,7 @@ "ay" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "az" = ( /obj/effect/landmark/damageturf, /turf/simulated/floor/plating/airless{ @@ -156,31 +156,31 @@ "be" = ( /obj/item/trash/cheesie, /turf/space, -/area/space) +/area/space/nearstation) "bj" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bk" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "bl" = ( /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "bm" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bn" = ( /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "bo" = ( /obj/structure/girder, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bp" = ( /turf/simulated/wall/r_wall, /area/tcommsat/chamber) @@ -198,7 +198,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bt" = ( /obj/structure/window/reinforced{ dir = 8 @@ -258,7 +258,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bE" = ( /obj/structure/cable{ d1 = 1; @@ -285,7 +285,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bI" = ( /turf/simulated/floor/plating/airless, /area/tcommsat/chamber) @@ -355,7 +355,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "bV" = ( /obj/item/folder/yellow, /turf/simulated/floor/plating/airless, @@ -372,7 +372,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bY" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -383,7 +383,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bZ" = ( /obj/structure/window/reinforced{ dir = 8 @@ -399,18 +399,18 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "cb" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "cc" = ( /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "cd" = ( /obj/structure/sign/securearea, /turf/simulated/wall/r_wall, @@ -520,20 +520,20 @@ dir = 4 }, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "cv" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/grille/broken, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cx" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -542,7 +542,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cy" = ( /obj/structure/window/reinforced{ dir = 8 @@ -562,20 +562,20 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "cA" = ( /obj/structure/window/reinforced{ dir = 1 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "cB" = ( /obj/structure/window/reinforced{ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "cC" = ( /obj/structure/table, /obj/item/radio/off, @@ -606,14 +606,14 @@ /turf/simulated/floor/plasteel{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "cI" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "cJ" = ( /obj/structure/window/reinforced{ dir = 8 @@ -679,7 +679,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "cQ" = ( /obj/structure/window/reinforced{ dir = 4 @@ -846,19 +846,19 @@ }, /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "du" = ( /obj/structure/window/reinforced, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dz" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "dA" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -886,7 +886,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "dJ" = ( /obj/structure/lattice, /obj/item/stack/rods, @@ -894,7 +894,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "dK" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -906,7 +906,7 @@ "dM" = ( /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "dO" = ( /obj/machinery/door/airlock/hatch, /turf/simulated/floor/plasteel, @@ -943,7 +943,7 @@ "ed" = ( /obj/item/crowbar, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ej" = ( /obj/structure/computerframe, /turf/simulated/floor/plating, diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm index 95277b92bf9..65848fd6092 100644 --- a/_maps/map_files/MetaStation/z4.dmm +++ b/_maps/map_files/MetaStation/z4.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/space, -/area/space) +/area/space/nearstation) "ab" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ac" = ( /obj/machinery/power/solar/fake, /turf/simulated/floor/plating/airless{ @@ -18,7 +18,7 @@ "ae" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "af" = ( /turf/simulated/wall, /area/djstation) @@ -350,7 +350,7 @@ "aY" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aZ" = ( /turf/simulated/floor/plasteel{ icon_state = "freezerfloor" @@ -460,7 +460,7 @@ }, /obj/structure/disposaloutlet, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bl" = ( /turf/simulated/floor/plating/airless{ tag = "icon-platingdmg2"; @@ -646,7 +646,7 @@ /area/derelict/bridge/ai_upload) "bE" = ( /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "bF" = ( /turf/simulated/floor/plasteel, /area/derelict/solar_control) @@ -843,7 +843,7 @@ /area/derelict/solar_control) "ce" = ( /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "cf" = ( /obj/machinery/porta_turret, /turf/simulated/floor/plasteel, @@ -877,7 +877,7 @@ "cj" = ( /obj/structure/grille/broken, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ck" = ( /obj/machinery/light/small, /turf/simulated/floor/plasteel, @@ -908,7 +908,7 @@ "co" = ( /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "cp" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, @@ -1019,7 +1019,7 @@ "cH" = ( /obj/structure/closet/crate, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cI" = ( /turf/simulated/floor/plating/airless{ icon_state = "damaged4" @@ -1115,7 +1115,7 @@ /turf/simulated/floor/plating/airless{ icon_state = "damaged4" }, -/area/space) +/area/space/nearstation) "cZ" = ( /obj/structure/cable{ d1 = 1; @@ -1167,7 +1167,7 @@ /area/derelict/bridge/ai_upload) "df" = ( /turf/simulated/wall, -/area/space) +/area/space/nearstation) "dg" = ( /obj/structure/cable{ d1 = 1; @@ -1197,7 +1197,7 @@ /obj/item/stack/ore/iron, /obj/item/stack/ore/iron, /turf/space, -/area/space) +/area/space/nearstation) "dl" = ( /turf/simulated/floor/plating/airless{ icon_state = "damaged2" @@ -1309,7 +1309,7 @@ "dE" = ( /obj/item/stack/ore/slag, /turf/space, -/area/space) +/area/space/nearstation) "dF" = ( /obj/structure/cable{ d1 = 1; @@ -1490,7 +1490,7 @@ /turf/simulated/floor/plating/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "eb" = ( /obj/structure/cable{ d1 = 4; @@ -1536,7 +1536,7 @@ "ef" = ( /obj/item/stack/cable_coil/cut, /turf/space, -/area/space) +/area/space/nearstation) "eg" = ( /obj/machinery/light/small{ dir = 8 @@ -1893,7 +1893,7 @@ "fk" = ( /obj/item/stack/rods, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "fl" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -2088,7 +2088,7 @@ "fK" = ( /obj/item/stack/rods, /turf/space, -/area/space) +/area/space/nearstation) "fL" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -2283,7 +2283,7 @@ /area/derelict/bridge/access) "gp" = ( /turf/simulated/wall/mineral/bananium, -/area/space) +/area/space/nearstation) "gq" = ( /obj/structure/window/reinforced{ dir = 4 @@ -2460,7 +2460,7 @@ "gO" = ( /obj/machinery/door/airlock/bananium, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "gP" = ( /obj/structure/cable{ d1 = 2; @@ -2513,28 +2513,28 @@ "gX" = ( /obj/item/flag/clown, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "gY" = ( /obj/effect/landmark/damageturf, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "gZ" = ( /obj/effect/landmark/burnturf, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ha" = ( /obj/effect/mob_spawn/human/corpse/clownmili{ name = "Clown Pilot" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hb" = ( /obj/effect/mob_spawn/human/corpse/clownmili, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hc" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hd" = ( /obj/machinery/light/small{ dir = 4 @@ -2627,7 +2627,7 @@ /turf/simulated/floor/plating/airless{ icon_state = "floorscorched2" }, -/area/space) +/area/space/nearstation) "hp" = ( /obj/structure/computerframe, /obj/effect/landmark/damageturf, @@ -2648,7 +2648,7 @@ name = "Clown Pilot" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hs" = ( /obj/structure/closet, /obj/structure/window/reinforced{ @@ -2707,7 +2707,7 @@ "hB" = ( /obj/item/shard, /turf/space, -/area/space) +/area/space/nearstation) "hC" = ( /obj/structure/window/reinforced, /turf/simulated/floor/plating/airless, @@ -2738,7 +2738,7 @@ dir = 5 }, /turf/space, -/area/space) +/area/space/nearstation) "hG" = ( /turf/simulated/wall/r_wall, /area/derelict/arrival) @@ -2769,7 +2769,7 @@ /obj/structure/lattice, /obj/structure/window/basic, /turf/space, -/area/space) +/area/space/nearstation) "hN" = ( /obj/structure/table, /turf/simulated/floor/plasteel, @@ -2901,7 +2901,7 @@ name = "External Engineering" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "il" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -2970,7 +2970,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "iv" = ( /obj/structure/table, /turf/simulated/floor/plasteel{ @@ -2996,7 +2996,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "iz" = ( /obj/structure/lattice, /obj/structure/lattice, @@ -3004,7 +3004,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "iA" = ( /turf/simulated/floor/plating, /area/derelict/arrival) @@ -3014,7 +3014,7 @@ }, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "iC" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -3106,7 +3106,7 @@ "iN" = ( /obj/item/stack/cable_coil/cut, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iO" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -3204,7 +3204,7 @@ "jb" = ( /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "jc" = ( /obj/structure/window/reinforced{ dir = 4 @@ -3212,7 +3212,7 @@ /obj/structure/window/reinforced, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "jd" = ( /obj/structure/window/reinforced{ dir = 1 @@ -3283,13 +3283,13 @@ "jl" = ( /obj/item/shard, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jm" = ( /obj/structure/window/reinforced, /turf/simulated/floor/plating/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "jn" = ( /obj/structure/cable{ d1 = 4; @@ -3337,7 +3337,7 @@ icon_state = "medium" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jt" = ( /obj/structure/cable{ d1 = 4; @@ -3380,13 +3380,13 @@ "jw" = ( /obj/structure/closet/l3closet, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jx" = ( /obj/structure/window/reinforced{ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jy" = ( /obj/item/pen, /turf/simulated/floor/plasteel, @@ -3396,7 +3396,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "jA" = ( /obj/structure/window/reinforced{ dir = 4 @@ -3406,7 +3406,7 @@ }, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "jB" = ( /obj/structure/cable{ d1 = 2; @@ -3453,7 +3453,7 @@ "jG" = ( /obj/item/cigbutt, /turf/space, -/area/space) +/area/space/nearstation) "jH" = ( /obj/structure/table, /obj/item/stock_parts/cell, @@ -3496,7 +3496,7 @@ /turf/simulated/floor/plating/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "jN" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -3554,7 +3554,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jT" = ( /obj/structure/cable{ d1 = 2; @@ -3562,7 +3562,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jU" = ( /obj/structure/closet/wardrobe/genetics_white, /turf/simulated/floor/plating/airless{ @@ -3577,7 +3577,7 @@ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jW" = ( /obj/machinery/light/small{ dir = 4 @@ -3593,12 +3593,12 @@ icon_state = "medium" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "jY" = ( /turf/simulated/floor/plating/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "jZ" = ( /obj/structure/cable{ d1 = 1; @@ -3606,7 +3606,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ka" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -3615,7 +3615,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "kb" = ( /obj/machinery/light/small{ dir = 4 @@ -3629,7 +3629,7 @@ icon_state = "medium" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "kd" = ( /obj/structure/window/basic{ dir = 1 @@ -3640,7 +3640,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ke" = ( /obj/machinery/door/window{ dir = 8 @@ -3652,7 +3652,7 @@ icon_state = "small" }, /turf/space, -/area/space) +/area/space/nearstation) "kg" = ( /obj/machinery/light/small{ dir = 1 @@ -3667,7 +3667,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ki" = ( /obj/structure/cable{ d1 = 4; @@ -3728,13 +3728,13 @@ "kp" = ( /obj/structure/window/basic, /turf/space, -/area/space) +/area/space/nearstation) "kq" = ( /obj/structure/window/basic{ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "kr" = ( /obj/structure/cable{ d1 = 4; @@ -3827,12 +3827,12 @@ }, /obj/structure/window/basic, /turf/space, -/area/space) +/area/space/nearstation) "kE" = ( /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "kF" = ( /obj/machinery/door/airlock/external{ name = "Arrivals Docking Bay 1" @@ -3972,7 +3972,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "kV" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Access"; @@ -4017,7 +4017,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ld" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ tag = "icon-manifold-b-f (EAST)"; @@ -4038,26 +4038,26 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "lg" = ( /obj/structure/window/basic{ dir = 5 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lh" = ( /obj/structure/grille, /obj/structure/window/basic{ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "li" = ( /obj/structure/window/basic{ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lj" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Access"; @@ -4114,7 +4114,7 @@ icon_state = "4-8" }, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "lt" = ( /obj/structure/cable{ d1 = 4; @@ -4130,14 +4130,14 @@ "lv" = ( /obj/structure/girder, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lw" = ( /obj/structure/lattice, /obj/structure/window/basic{ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "lx" = ( /obj/structure/girder, /obj/structure/window/basic, @@ -4191,13 +4191,13 @@ "lD" = ( /obj/machinery/door/window, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lE" = ( /obj/item/shard{ icon_state = "small" }, /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "lF" = ( /obj/structure/window/basic{ dir = 1 @@ -4223,7 +4223,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "lJ" = ( /obj/machinery/vending/sovietsoda, /turf/simulated/floor/plating/airless, @@ -4235,24 +4235,24 @@ "lL" = ( /obj/structure/table, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lM" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lN" = ( /obj/item/paper{ info = "The call has gone out! Our ancestral home has been rediscovered! Not a small patch of land, but a true clown nation, a true Clown Planet! We're on our way home at last!" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lO" = ( /obj/structure/lattice, /obj/item/stack/cable_coil/cut, /turf/space, -/area/space) +/area/space/nearstation) "lP" = ( /obj/structure/girder, /turf/simulated/floor/plating, @@ -4273,13 +4273,13 @@ "lS" = ( /obj/structure/closet/wardrobe/orange, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "lT" = ( /obj/structure/window/basic{ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "lU" = ( /obj/structure/grille, /turf/simulated/floor/plating, @@ -4328,7 +4328,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "me" = ( /turf/simulated/wall/r_wall, /area/derelict/atmospherics) @@ -4343,7 +4343,7 @@ "mg" = ( /obj/structure/window/reinforced, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mh" = ( /obj/structure/grille, /obj/structure/grille, @@ -4354,11 +4354,11 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mi" = ( /obj/structure/bed, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mj" = ( /turf/simulated/floor/plating/airless{ icon_state = "floorgrime" @@ -4403,7 +4403,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mr" = ( /obj/structure/closet/wardrobe/mixed, /turf/simulated/floor/plasteel, @@ -4411,7 +4411,7 @@ "ms" = ( /obj/item/pickaxe, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mt" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 4 @@ -4458,7 +4458,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "my" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -4515,7 +4515,7 @@ dir = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mH" = ( /obj/machinery/light/small{ dir = 1 @@ -4601,7 +4601,7 @@ dir = 5 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "mP" = ( /obj/structure/window/reinforced, /turf/simulated/floor/plasteel, @@ -4782,7 +4782,7 @@ icon_state = "right" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "nl" = ( /obj/machinery/door/window{ base_state = "right"; @@ -5039,7 +5039,7 @@ /obj/item/stack/cable_coil/cut, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "nM" = ( /turf/simulated/floor/plating/airless{ icon_state = "derelict1" @@ -5173,7 +5173,7 @@ "oi" = ( /obj/structure/girder/reinforced, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "oj" = ( /obj/structure/cable{ d1 = 1; @@ -5238,7 +5238,7 @@ req_access_txt = "46" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "os" = ( /obj/structure/table, /obj/item/stack/sheet/metal{ @@ -5264,7 +5264,7 @@ opened = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ou" = ( /obj/structure/shuttle/engine/propulsion{ color = "#FFFF00"; @@ -5272,7 +5272,7 @@ icon_state = "propulsion_l" }, /turf/space, -/area/space) +/area/space/nearstation) "ov" = ( /obj/machinery/atmospherics/unary/vent_pump{ on = 1 @@ -5292,7 +5292,7 @@ /turf/simulated/floor/plating/airless{ color = "#FFFF00" }, -/area/space) +/area/space/nearstation) "ox" = ( /turf/simulated/floor/plating/airless, /area/derelict/se_solar) @@ -5314,7 +5314,7 @@ /turf/simulated/floor/plating/airless{ color = "#FFFF00" }, -/area/space) +/area/space/nearstation) "oB" = ( /obj/machinery/light/small{ dir = 4 @@ -5373,10 +5373,10 @@ /area/derelict/teleporter) "pr" = ( /turf/simulated/mineral/random, -/area/space) +/area/space/nearstation) "ps" = ( /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) (1,1,1) = {" aa diff --git a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm index 7411218a3f0..5d578d212b5 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm @@ -315,7 +315,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "aL" = ( /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -356,7 +356,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "aR" = ( /obj/machinery/light/small{ dir = 4 @@ -754,7 +754,7 @@ "bK" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "bL" = ( /obj/machinery/light/small{ dir = 8 @@ -781,7 +781,7 @@ "bP" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bQ" = ( /obj/machinery/shieldwallgen{ active = 2; @@ -803,7 +803,7 @@ }, /obj/structure/disposaloutlet, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "bS" = ( /obj/structure/cable{ d1 = 1; @@ -828,11 +828,11 @@ "bV" = ( /obj/machinery/shieldwallgen, /turf/space, -/area/space) +/area/space/nearstation) "bW" = ( /obj/item/shard, /turf/space, -/area/space) +/area/space/nearstation) (1,1,1) = {" aa diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict2.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict2.dmm index dbe0bc5d16c..95ad761e62c 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict2.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict2.dmm @@ -9,7 +9,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "c" = ( /obj/machinery/door/airlock/external, /turf/simulated/floor/plating, @@ -21,7 +21,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "e" = ( /obj/structure/window/reinforced{ tag = "icon-rwindow (EAST)"; @@ -65,7 +65,7 @@ "k" = ( /obj/structure/window/reinforced, /turf/space, -/area/space) +/area/space/nearstation) "l" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -113,7 +113,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "q" = ( /obj/machinery/light/small{ tag = "icon-bulb1 (WEST)"; diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict3.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict3.dmm index 78054b180c1..be313cd7770 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict3.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict3.dmm @@ -11,12 +11,12 @@ "d" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "e" = ( /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) (1,1,1) = {" a diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm index c7fc01bccd8..adbb913421a 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm @@ -7,7 +7,7 @@ /area/ruin/unpowered) "c" = ( /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "d" = ( /turf/simulated/floor/plating/airless/asteroid, /area/ruin/unpowered) @@ -66,7 +66,7 @@ /area/ruin/unpowered) "r" = ( /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) (1,1,1) = {" a diff --git a/_maps/map_files/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/map_files/RandomRuins/SpaceRuins/mechtransport.dmm index bd53ea5a0f1..02ee81bf42d 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/mechtransport.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/mechtransport.dmm @@ -171,7 +171,7 @@ "D" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "E" = ( /obj/item/stack/rods, /turf/simulated/floor/plating/airless, @@ -205,7 +205,7 @@ "K" = ( /obj/item/stack/sheet/metal, /turf/space, -/area/space) +/area/space/nearstation) "L" = ( /obj/effect/decal/mecha_wreckage/gygax, /turf/simulated/shuttle/floor{ @@ -215,7 +215,7 @@ /area/ruin/powered) "M" = ( /turf/unsimulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "N" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall14"; @@ -231,7 +231,7 @@ "P" = ( /obj/item/stack/rods, /turf/space, -/area/space) +/area/space/nearstation) "Q" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall15"; diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm index 9a43faaf8ed..8f19d1cc390 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm @@ -11,7 +11,7 @@ tag = "" }, /turf/space, -/area/space) +/area/space/nearstation) "ac" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -21,7 +21,7 @@ tag = "" }, /turf/space, -/area/space) +/area/space/nearstation) "ad" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -30,7 +30,7 @@ icon_state = "2-8" }, /turf/space, -/area/space) +/area/space/nearstation) "ae" = ( /obj/structure/lattice, /obj/item/stack/cable_coil/cut{ @@ -39,7 +39,7 @@ icon_state = "coil_red2" }, /turf/space, -/area/space) +/area/space/nearstation) "af" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -49,7 +49,7 @@ tag = "" }, /turf/space, -/area/space) +/area/space/nearstation) "ag" = ( /turf/simulated/wall, /area/ruin/onehalf/dorms_med) @@ -66,7 +66,7 @@ icon_state = "1-2" }, /turf/space, -/area/space) +/area/space/nearstation) "aj" = ( /turf/unsimulated/floor/plating/airless, /area/ruin/onehalf/hallway) @@ -155,7 +155,7 @@ "aw" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ax" = ( /obj/structure/lattice, /turf/space, @@ -806,7 +806,7 @@ "bU" = ( /obj/item/stack/sheet/metal, /turf/space, -/area/space) +/area/space/nearstation) "bV" = ( /obj/structure/disposalpipe/segment, /obj/item/stack/rods, @@ -903,11 +903,11 @@ "ck" = ( /obj/structure/girder/reinforced, /turf/unsimulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cl" = ( /obj/effect/landmark/damageturf, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "cm" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ @@ -926,7 +926,7 @@ icon_state = "small" }, /turf/space, -/area/space) +/area/space/nearstation) "co" = ( /obj/structure/grille, /obj/structure/window/full/reinforced, @@ -1009,15 +1009,15 @@ "cv" = ( /obj/item/stack/rods, /turf/space, -/area/space) +/area/space/nearstation) "cw" = ( /turf/unsimulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cx" = ( /obj/structure/lattice, /obj/item/stack/sheet/plasteel, /turf/space, -/area/space) +/area/space/nearstation) "cy" = ( /obj/structure/lattice, /obj/item/shard{ @@ -1072,7 +1072,7 @@ "cE" = ( /obj/item/stack/tile/wood, /turf/space, -/area/space) +/area/space/nearstation) "cF" = ( /turf/space, /area/ruin/onehalf/hallway) @@ -1162,7 +1162,7 @@ "cR" = ( /obj/item/stack/sheet/plasteel, /turf/space, -/area/space) +/area/space/nearstation) "cS" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -1223,7 +1223,7 @@ icon_state = "2-8" }, /turf/space, -/area/space) +/area/space/nearstation) "db" = ( /obj/structure/table, /obj/item/flashlight, @@ -1258,12 +1258,12 @@ icon_state = "1-2" }, /turf/space, -/area/space) +/area/space/nearstation) "dg" = ( /obj/structure/girder/reinforced, /obj/item/stack/sheet/plasteel, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dj" = ( /obj/structure/grille, /obj/item/shard, @@ -1352,7 +1352,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "dp" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -1368,7 +1368,7 @@ }, /obj/item/stack/rods, /turf/space, -/area/space) +/area/space/nearstation) "dq" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -1384,7 +1384,7 @@ tag = "" }, /turf/space, -/area/space) +/area/space/nearstation) (1,1,1) = {" aa diff --git a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm index 54e511a4373..c376fc59361 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm @@ -4,10 +4,10 @@ /area/space) "ab" = ( /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "ac" = ( /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "ad" = ( /obj/structure/grille, /obj/structure/window/full/reinforced, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/turretedoutpost.dmm b/_maps/map_files/RandomRuins/SpaceRuins/turretedoutpost.dmm index dd00d8bd38d..96e43773146 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/turretedoutpost.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/turretedoutpost.dmm @@ -5,7 +5,7 @@ "b" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "c" = ( /obj/structure/grille, /turf/simulated/floor/plating, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm b/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm index 28df12718e6..016c4cbf447 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm @@ -502,7 +502,7 @@ /area/ruin/unpowered) "bH" = ( /turf/simulated/wall/mineral/titanium, -/area/space) +/area/space/nearstation) "bI" = ( /obj/structure/window/reinforced, /turf/simulated/floor/mineral/plasma, diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm index 37406781007..5dd4050d567 100644 --- a/_maps/map_files/RandomZLevels/academy.dmm +++ b/_maps/map_files/RandomZLevels/academy.dmm @@ -264,7 +264,7 @@ "aP" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aQ" = ( /obj/machinery/door/airlock/gold{ locked = 1 @@ -1517,7 +1517,7 @@ "et" = ( /obj/singularity/academy, /turf/space, -/area/space) +/area/space/nearstation) "eu" = ( /obj/structure/window/reinforced{ dir = 8 @@ -3716,7 +3716,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "jz" = ( /obj/machinery/igniter, /turf/simulated/floor/plating, @@ -4490,12 +4490,7 @@ /turf/simulated/floor/plasteel{ icon_state = "hydrofloor" }, -/area/space) -"lu" = ( -/turf/simulated/floor/plasteel{ - icon_state = "hydrofloor" - }, -/area/space) +/area/awaymission/academy/academyaft) "lv" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5; @@ -4504,7 +4499,7 @@ /turf/simulated/floor/plasteel{ icon_state = "hydrofloor" }, -/area/space) +/area/awaymission/academy/academyaft) "lw" = ( /obj/machinery/door/poddoor/shutters{ dir = 2; @@ -15432,10 +15427,10 @@ hM lp hp hp -lu -lu -lu -lu +hp +hp +hp +hp hp hp gZ @@ -15564,8 +15559,8 @@ lq lr lt lv -lu -lu +hp +hp hp hp gZ diff --git a/_maps/map_files/RandomZLevels/blackmarketpackers.dmm b/_maps/map_files/RandomZLevels/blackmarketpackers.dmm index 8f9d8ce8133..2a6fedbbdc7 100644 --- a/_maps/map_files/RandomZLevels/blackmarketpackers.dmm +++ b/_maps/map_files/RandomZLevels/blackmarketpackers.dmm @@ -16,7 +16,7 @@ /obj/item/circular_saw, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "af" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall12"; @@ -46,7 +46,7 @@ "aj" = ( /mob/living/simple_animal/hostile/carp, /turf/space, -/area/space) +/area/space/nearstation) "ak" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall12"; @@ -97,7 +97,7 @@ "as" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "at" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -2626,14 +2626,6 @@ }, /turf/simulated/floor/engine, /area/awaymission/BMPship/Aft) -"gy" = ( -/turf/space, -/turf/simulated/shuttle/wall{ - tag = "icon-swall_f5"; - icon_state = "swall_f5"; - dir = 2 - }, -/area/space) "gz" = ( /obj/item/shard, /obj/effect/landmark/damageturf, @@ -3273,7 +3265,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "ip" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall13"; @@ -3522,12 +3514,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, /area/awaymission) -"jf" = ( -/turf/space, -/area/crew_quarters/bar) -"jg" = ( -/turf/space, -/area/exploration/methlab) "jh" = ( /obj/machinery/door_control{ id = "packerMed"; @@ -9820,7 +9806,7 @@ eW fF ee aW -gy +gg aa aa gP @@ -13998,7 +13984,7 @@ aa aa aa aa -jf +aa aa aa aa @@ -14389,11 +14375,11 @@ aa aa aa aa -jg -jg -jg -jg -jg +aa +aa +aa +aa +aa aa aa aa @@ -14518,12 +14504,12 @@ aa aa aa aa -jg -jg -jg -jg -jg -jg +aa +aa +aa +aa +aa +aa aa aa aa @@ -14648,13 +14634,13 @@ aa aa aa aa -jg -jg -jg -jg -jg -jg -jg +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -14779,9 +14765,9 @@ aa aa aa aa -jg -jg -jg +aa +aa +aa aa aa aa @@ -14908,8 +14894,8 @@ aa aa aa aa -jg -jg +aa +aa aa aa aa @@ -15038,12 +15024,12 @@ aa aa aa aa -jg -jg -jg -jg -jg -jg +aa +aa +aa +aa +aa +aa aa aa aa @@ -15168,12 +15154,12 @@ aa aa aa aa -jg -jg -jg -jg -jg -jg +aa +aa +aa +aa +aa +aa aa aa aa @@ -15300,7 +15286,7 @@ aa aa aa aa -jg +aa aa aa aa diff --git a/_maps/map_files/RandomZLevels/centcomAway.dmm b/_maps/map_files/RandomZLevels/centcomAway.dmm index bd6b40c51de..3fa3d569c09 100644 --- a/_maps/map_files/RandomZLevels/centcomAway.dmm +++ b/_maps/map_files/RandomZLevels/centcomAway.dmm @@ -483,7 +483,7 @@ "bm" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bn" = ( /turf/simulated/floor/plasteel{ icon_state = "vault"; @@ -1264,7 +1264,7 @@ pixel_y = 0 }, /turf/simulated/floor/plating, -/area/space) +/area/awaymission/centcomAway/maint) "dl" = ( /turf/simulated/shuttle/wall{ icon_state = "swallc1"; @@ -1887,12 +1887,6 @@ icon_state = "floor" }, /area/awaymission/centcomAway/general) -"eP" = ( -/turf/space, -/area/awaycontent/a2{ - has_gravity = 1; - name = "MO19 Research" - }) "eQ" = ( /turf/simulated/shuttle/wall{ icon_state = "swall2"; @@ -3595,20 +3589,6 @@ dir = 4 }, /area/awaymission/centcomAway/general) -"iZ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/space) "ja" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -5805,8 +5785,8 @@ icon_state = "propulsion_r"; dir = 1 }, -/turf/space, -/area/space) +/turf/simulated/shuttle/plating, +/area/awaymission/centcomAway/thunderdome) "nV" = ( /obj/machinery/light, /turf/simulated/floor/plasteel{ @@ -5818,15 +5798,15 @@ icon_state = "propulsion_l"; dir = 1 }, -/turf/space, -/area/space) +/turf/simulated/shuttle/plating, +/area/awaymission/centcomAway/thunderdome) "nX" = ( /obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion"; dir = 1 }, -/turf/space, -/area/space) +/turf/simulated/shuttle/plating, +/area/awaymission/centcomAway/thunderdome) "nY" = ( /obj/structure/computerframe, /turf/simulated/floor/plasteel{ @@ -16520,7 +16500,7 @@ eO oa lb eF -iZ +fg eF lV mc @@ -20660,7 +20640,7 @@ cc aa aa aa -eP +aa aa aa aa @@ -20790,7 +20770,7 @@ cc aa aa aa -eP +aa aa aa aa diff --git a/_maps/map_files/RandomZLevels/spacebattle.dmm b/_maps/map_files/RandomZLevels/spacebattle.dmm index 674c8099882..85763845c2b 100644 --- a/_maps/map_files/RandomZLevels/spacebattle.dmm +++ b/_maps/map_files/RandomZLevels/spacebattle.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/simulated/mineral/random, -/area/space) +/area/space/nearstation) "ab" = ( /turf/space, /area/space) @@ -2617,23 +2617,23 @@ "iq" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ir" = ( /obj/effect/mob_spawn/human/corpse/syndicatesoldier, /turf/space, -/area/space) +/area/space/nearstation) "is" = ( /turf/simulated/shuttle/wall{ icon_state = "wall3" }, -/area/space) +/area/space/nearstation) "it" = ( /turf/space, /turf/simulated/shuttle/wall{ dir = 1; icon_state = "diagonalWall3" }, -/area/space) +/area/space/nearstation) "iu" = ( /obj/machinery/sleeper, /turf/simulated/floor/plasteel/airless{ @@ -2641,14 +2641,14 @@ icon_state = "floor4"; dir = 10 }, -/area/space) +/area/space/nearstation) "iv" = ( /turf/simulated/floor/plasteel/airless{ tag = "icon-floor4 (SOUTHWEST)"; icon_state = "floor4"; dir = 10 }, -/area/space) +/area/space/nearstation) "iw" = ( /obj/effect/mob_spawn/human/corpse/syndicatesoldier, /turf/simulated/floor/plasteel/airless{ @@ -2656,7 +2656,7 @@ icon_state = "floor4"; dir = 10 }, -/area/space) +/area/space/nearstation) "ix" = ( /obj/machinery/door/airlock/external, /turf/simulated/floor/plasteel/airless{ @@ -2664,7 +2664,7 @@ icon_state = "floor4"; dir = 10 }, -/area/space) +/area/space/nearstation) "iy" = ( /obj/item/stack/rods, /turf/simulated/floor/plasteel/airless{ @@ -2672,7 +2672,7 @@ icon_state = "floor4"; dir = 10 }, -/area/space) +/area/space/nearstation) "iz" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -2695,7 +2695,7 @@ "iC" = ( /obj/machinery/sleeper, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "iD" = ( /turf/simulated/shuttle/floor{ icon_state = "floor4" @@ -2712,14 +2712,14 @@ /turf/simulated/shuttle/wall{ icon_state = "diagonalWall3" }, -/area/space) +/area/space/nearstation) "iG" = ( /turf/space, /turf/simulated/shuttle/wall{ dir = 4; icon_state = "diagonalWall3" }, -/area/space) +/area/space/nearstation) "iH" = ( /obj/machinery/sleeper, /turf/simulated/shuttle/floor{ @@ -2741,11 +2741,11 @@ dir = 1 }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "iK" = ( /obj/structure/shuttle/engine/propulsion, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "iL" = ( /obj/machinery/door/airlock/external, /turf/simulated/shuttle/floor{ @@ -2853,7 +2853,7 @@ /area/awaymission/spacebattle/syndicate6) "jc" = ( /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "jd" = ( /turf/simulated/wall/mineral/plasma, /area/awaymission/spacebattle/secret) @@ -2898,7 +2898,7 @@ tag = "icon-propulsion_l (WEST)" }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "Jj" = ( /obj/structure/shuttle/engine/propulsion{ tag = "icon-propulsion_l (NORTH)"; diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm index 56df786fab5..add5efa4d1c 100644 --- a/_maps/map_files/RandomZLevels/spacehotel.dmm +++ b/_maps/map_files/RandomZLevels/spacehotel.dmm @@ -2113,30 +2113,30 @@ id = "turbinespace" }, /turf/space, -/area/space) +/area/space/nearstation) "dQ" = ( /turf/unsimulated/wall, -/area/space) +/area/space/nearstation) "dR" = ( /turf/unsimulated/wall/fakeglass{ dir = 8; icon_state = "fakewindows"; opacity = 0 }, -/area/space) +/area/space/nearstation) "dS" = ( /turf/unsimulated/wall/fakeglass{ icon_state = "fakewindows2"; dir = 8 }, -/area/space) +/area/space/nearstation) "dT" = ( /turf/unsimulated/wall/fakeglass{ dir = 4; icon_state = "fakewindows"; opacity = 0 }, -/area/space) +/area/space/nearstation) "dU" = ( /turf/unsimulated/wall/fakeglass{ dir = 8; @@ -2409,7 +2409,7 @@ icon_state = "fakewindows"; dir = 1 }, -/area/space) +/area/space/nearstation) "eC" = ( /obj/machinery/light{ dir = 1 @@ -2425,7 +2425,7 @@ icon_state = "fakewindows2"; dir = 1 }, -/area/space) +/area/space/nearstation) "eF" = ( /obj/structure/closet/crate/can, /turf/unsimulated/floor/carpet, @@ -2463,7 +2463,7 @@ /area/awaymission/spacehotel) "eL" = ( /turf/unsimulated/wall/fakeglass, -/area/space) +/area/space/nearstation) "eM" = ( /turf/unsimulated/floor{ dir = 2; @@ -2684,7 +2684,7 @@ /turf/unsimulated/wall/fakeglass{ icon_state = "fakewindows3" }, -/area/space) +/area/space/nearstation) "fv" = ( /obj/effect/landmark/map_loader/hotel_room{ dir = 1 @@ -3124,11 +3124,6 @@ icon_state = "cafeteria" }, /area/awaymission/spacehotel/kitchen) -"gE" = ( -/turf/unsimulated/floor{ - icon_state = "cafeteria" - }, -/area/awaymission/spacehotel/kitchen) "gF" = ( /obj/machinery/camera{ c_tag = "Room 201"; @@ -3276,11 +3271,6 @@ icon_state = "whiteyellowfull" }, /area/awaymission/spacehotel) -"ha" = ( -/turf/unsimulated/floor{ - icon_state = "whiteyellowfull" - }, -/area/awaymission/spacehotel) "hb" = ( /turf/unsimulated/wall/fakeglass, /area/awaymission/spacehotel) @@ -3683,7 +3673,7 @@ dir = 1; icon_state = "fakewindows2" }, -/area/space) +/area/space/nearstation) "if" = ( /obj/effect/view_portal{ id = "hotel_13" @@ -4132,9 +4122,6 @@ }, /turf/unsimulated/floor/carpet, /area/awaymission/spacehotel) -"jm" = ( -/turf/unsimulated/floor/carpet, -/area/awaymission/spacehotel) "jn" = ( /obj/structure{ desc = "It appears to be similar to a SMES."; @@ -4506,12 +4493,6 @@ /obj/structure/table/reinforced, /turf/unsimulated/floor/carpet, /area/awaymission/spacehotel/reception) -"kn" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/unsimulated/floor/carpet, -/area/awaymission/spacehotel/reception) "ko" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/light{ @@ -4571,14 +4552,14 @@ dir = 10; icon_state = "fakewindows" }, -/area/space) +/area/space/nearstation) "ky" = ( /turf/unsimulated/wall/fakeglass{ dir = 4; icon_state = "fakewindows"; opacity = 1 }, -/area/space) +/area/space/nearstation) "kz" = ( /obj/machinery/door/airlock/external{ name = "Arrival Airlock" @@ -4590,13 +4571,13 @@ icon_state = "fakewindows"; dir = 8 }, -/area/space) +/area/space/nearstation) "kB" = ( /turf/unsimulated/wall/fakeglass{ icon_state = "fakewindows"; dir = 6 }, -/area/space) +/area/space/nearstation) "kC" = ( /turf/simulated/shuttle/wall{ icon_state = "swall_s6"; @@ -4650,19 +4631,19 @@ icon_state = "swall_s6"; dir = 2 }, -/area/space) +/area/space/nearstation) "kL" = ( /turf/simulated/shuttle/wall{ icon_state = "swall12"; dir = 2 }, -/area/space) +/area/space/nearstation) "kM" = ( /turf/simulated/shuttle/wall{ icon_state = "swall_s10"; dir = 2 }, -/area/space) +/area/space/nearstation) "kN" = ( /turf/unsimulated/wall/fakeglass{ icon_state = "fakewindows3" @@ -4720,22 +4701,22 @@ icon_state = "swallc4"; dir = 2 }, -/area/space) +/area/space/nearstation) "kX" = ( /turf/simulated/shuttle/wall/interior, -/area/space) +/area/space/nearstation) "kY" = ( /turf/simulated/shuttle/wall{ icon_state = "swall3" }, -/area/space) +/area/space/nearstation) "kZ" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4; icon_state = "propulsion" }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "la" = ( /obj/structure/chair{ dir = 8 @@ -4787,13 +4768,13 @@ icon_state = "swall_s5"; dir = 2 }, -/area/space) +/area/space/nearstation) "li" = ( /turf/simulated/shuttle/wall{ icon_state = "swallc1"; dir = 2 }, -/area/space) +/area/space/nearstation) "lj" = ( /turf/simulated/shuttle/wall{ icon_state = "swall_s9"; @@ -4805,7 +4786,7 @@ icon_state = "swall_s9"; dir = 2 }, -/area/space) +/area/space/nearstation) "ll" = ( /obj/machinery/shower{ dir = 8 @@ -9756,7 +9737,7 @@ cl jF jT kj -kn +kj jT kv dS @@ -10649,7 +10630,7 @@ gh eb gp gw -gE +gD gN gT gD @@ -11052,7 +11033,7 @@ cl iw iI eG -jm +eb jH jV cl @@ -18972,7 +18953,7 @@ dX gI gP gX -ha +gX hq cl hB diff --git a/_maps/map_files/RandomZLevels/stationCollision.dmm b/_maps/map_files/RandomZLevels/stationCollision.dmm index cc1767248cf..2f225fea612 100644 --- a/_maps/map_files/RandomZLevels/stationCollision.dmm +++ b/_maps/map_files/RandomZLevels/stationCollision.dmm @@ -41,7 +41,7 @@ "ak" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "al" = ( /obj/machinery/door/window/westright, /turf/simulated/floor/plasteel/airless, @@ -256,10 +256,10 @@ /turf/simulated/shuttle/wall{ icon_state = "wall3" }, -/area/space) +/area/space/nearstation) "ba" = ( /turf/simulated/wall, -/area/space) +/area/space/nearstation) "bb" = ( /obj/machinery/door/airlock/engineering, /turf/simulated/floor/plasteel/airless, diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm index 9a7b73800c2..6a59267ed05 100644 --- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm @@ -13,12 +13,6 @@ power_light = 0; poweralm = 0 }) -"ab" = ( -/turf/unsimulated/wall{ - icon_state = "rock"; - name = "rock" - }, -/area/space) "ac" = ( /turf/simulated/mineral/random/labormineral, /area/awaycontent/a7{ @@ -6998,7 +6992,10 @@ dir = 9; icon_state = "warnwhite" }, -/area/space) +/area/awaycontent/a5{ + has_gravity = 1; + name = "UO45 Research" + }) "lc" = ( /obj/structure/sink{ pixel_y = 25 @@ -27794,10 +27791,10 @@ aa aa "} (72,1,1) = {" -ab -ab -ab -ab +aa +aa +aa +aa aa aa aa @@ -27944,10 +27941,10 @@ aa aa "} (73,1,1) = {" -ab -ab -ab -ab +aa +aa +aa +aa aa aa aa diff --git a/_maps/map_files/RandomZLevels/wildwest.dmm b/_maps/map_files/RandomZLevels/wildwest.dmm index a60988466a1..f5f7d96e4ea 100644 --- a/_maps/map_files/RandomZLevels/wildwest.dmm +++ b/_maps/map_files/RandomZLevels/wildwest.dmm @@ -204,7 +204,7 @@ /area/awaymission/wwvaultdoors) "aG" = ( /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "aH" = ( /obj/structure/cable{ d2 = 8; @@ -268,7 +268,7 @@ name = "Blocker" }, /turf/space, -/area/space) +/area/space/nearstation) "aQ" = ( /obj/effect/forcefield{ desc = "You can't get in. Heh."; @@ -276,7 +276,7 @@ name = "Blocker" }, /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "aR" = ( /obj/effect/forcefield{ desc = "You can't get in. Heh."; @@ -349,7 +349,7 @@ /area/awaymission/wwmines) "be" = ( /turf/simulated/wall/mineral/sandstone, -/area/space) +/area/space/nearstation) "bf" = ( /obj/structure/largecrate, /turf/simulated/floor/plating, @@ -393,7 +393,7 @@ "bp" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bq" = ( /obj/effect/mine/dnascramble, /obj/item/ammo_box/c10mm, @@ -431,14 +431,14 @@ icon_state = "fwindow" }, /turf/space, -/area/space) +/area/space/nearstation) "bx" = ( /obj/structure/window/reinforced{ tag = "icon-fwindow"; icon_state = "fwindow" }, /turf/space, -/area/space) +/area/space/nearstation) "by" = ( /obj/structure/closet/secure_closet/freezer/fridge, /turf/simulated/floor/plasteel{ @@ -605,7 +605,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bV" = ( /obj/structure/window/reinforced{ tag = "icon-fwindow (NORTH)"; @@ -668,7 +668,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "cb" = ( /obj/machinery/light/small{ tag = "icon-bulb1 (WEST)"; @@ -736,7 +736,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "ck" = ( /turf/simulated/floor/wood, /area/awaymission/wwgov) @@ -810,7 +810,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "cs" = ( /obj/effect/decal/cleanable/blood/splatter, /turf/simulated/floor/carpet, @@ -981,7 +981,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "cT" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -1075,7 +1075,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "dg" = ( /obj/machinery/light/small{ tag = "icon-bulb1 (WEST)"; @@ -1701,7 +1701,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "eM" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ @@ -1710,7 +1710,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "eN" = ( /obj/structure/window/reinforced{ tag = "icon-fwindow (EAST)"; @@ -1739,7 +1739,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "eP" = ( /obj/structure/window/reinforced{ tag = "icon-fwindow (NORTH)"; @@ -1752,7 +1752,7 @@ dir = 8 }, /turf/space, -/area/space) +/area/space/nearstation) "eQ" = ( /obj/structure/window/reinforced{ tag = "icon-fwindow (EAST)"; @@ -2080,7 +2080,7 @@ /area/awaymission/wwrefine) "fI" = ( /turf/simulated/floor/plasteel, -/area/space) +/area/space/nearstation) "fJ" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/chair/office/dark{ @@ -2329,7 +2329,7 @@ icon_state = "fwindow" }, /turf/space, -/area/space) +/area/space/nearstation) "gp" = ( /obj/structure/window/reinforced{ tag = "icon-fwindow (WEST)"; @@ -2341,7 +2341,7 @@ icon_state = "fwindow" }, /turf/space, -/area/space) +/area/space/nearstation) "gq" = ( /obj/item/paper{ info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside."; @@ -2422,7 +2422,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "gC" = ( /obj/item/gun/projectile/shotgun, /turf/simulated/floor/wood, @@ -2473,7 +2473,7 @@ dir = 8 }, /turf/simulated/floor/plasteel, -/area/space) +/area/space/nearstation) "gK" = ( /obj/item/gun/projectile/revolver/russian, /turf/simulated/floor/wood, diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 7d2cc96b6fe..7596727d426 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5,7 +5,7 @@ "aab" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aac" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall12"; @@ -696,7 +696,7 @@ "abM" = ( /obj/structure/lattice, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "abN" = ( /turf/simulated/wall/r_wall, /area/security/permabrig) @@ -714,7 +714,7 @@ }, /obj/structure/lattice, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "abQ" = ( /turf/simulated/shuttle/wall{ dir = 4; @@ -2670,7 +2670,7 @@ pixel_x = -30 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "afn" = ( /obj/structure/chair{ dir = 8 @@ -2937,7 +2937,7 @@ /area/security/podbay) "afO" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "afP" = ( /obj/machinery/door/window{ dir = 4; @@ -3037,7 +3037,7 @@ "afX" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "afY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass{ @@ -6541,11 +6541,11 @@ /obj/structure/grille, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "alw" = ( /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "alx" = ( /obj/item/broken_bottle, /turf/simulated/shuttle/floor4/vox, @@ -6955,7 +6955,7 @@ /obj/structure/grille/broken, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ami" = ( /obj/structure/chair{ dir = 4 @@ -7402,7 +7402,7 @@ /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "amX" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/glass/bucket, @@ -8851,7 +8851,7 @@ "apo" = ( /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "app" = ( /obj/structure/cable{ icon_state = "0-4"; @@ -9371,7 +9371,7 @@ icon_state = "brokengrille" }, /turf/space, -/area/space) +/area/space/nearstation) "aqq" = ( /obj/item/soap, /turf/simulated/floor/plating, @@ -13088,7 +13088,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "avN" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -13973,7 +13973,7 @@ /obj/structure/lattice, /obj/item/stack/cable_coil, /turf/space, -/area/space) +/area/space/nearstation) "axo" = ( /obj/structure/chair{ dir = 4 @@ -14544,7 +14544,7 @@ /obj/structure/lattice, /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "ayj" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ @@ -15172,7 +15172,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "azc" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable, @@ -15296,7 +15296,7 @@ "azo" = ( /obj/item/clothing/mask/gas/clown_hat, /turf/space, -/area/space) +/area/space/nearstation) "azp" = ( /obj/machinery/door/airlock{ name = "Bathroom"; @@ -16451,7 +16451,7 @@ "aBm" = ( /obj/item/stack/rods, /turf/space, -/area/space) +/area/space/nearstation) "aBn" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -16538,11 +16538,11 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aBy" = ( /obj/effect/landmark/damageturf, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "aBz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -16741,7 +16741,7 @@ /obj/item/paper/crumpled, /obj/effect/landmark/damageturf, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "aBU" = ( /obj/machinery/light_construct/small{ dir = 8 @@ -16788,7 +16788,7 @@ "aBZ" = ( /obj/effect/landmark/damageturf, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "aCa" = ( /obj/machinery/ai_status_display{ pixel_x = 32 @@ -18256,7 +18256,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "aEN" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, @@ -21774,7 +21774,7 @@ /area/maintenance/electrical) "aMr" = ( /turf/simulated/wall, -/area/space) +/area/space/nearstation) "aMs" = ( /turf/simulated/wall, /area/hallway/secondary/entry) @@ -22951,7 +22951,7 @@ /obj/structure/lattice, /obj/structure/closet, /turf/space, -/area/space) +/area/space/nearstation) "aOY" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -29941,7 +29941,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bco" = ( /obj/structure/filingcabinet, /turf/simulated/floor/wood, @@ -32674,7 +32674,7 @@ amount = 10 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bho" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -34583,7 +34583,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "bkJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9; @@ -58222,7 +58222,7 @@ pixel_y = 32 }, /turf/space, -/area/space) +/area/space/nearstation) "cbH" = ( /obj/machinery/power/apc{ dir = 1; @@ -68333,7 +68333,7 @@ "csj" = ( /obj/structure/girder, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "csk" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance, @@ -71808,7 +71808,7 @@ dir = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cxZ" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/cobweb, @@ -72715,7 +72715,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "czF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -74205,7 +74205,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cCt" = ( /obj/machinery/atmospherics/pipe/simple/visible, /turf/simulated/floor/plasteel{ @@ -80476,7 +80476,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cNF" = ( /obj/structure/cable{ icon_state = "0-4"; @@ -81482,7 +81482,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cPx" = ( /obj/structure/cable, /turf/space, @@ -81908,7 +81908,7 @@ level = 2 }, /turf/space, -/area/space) +/area/space/nearstation) "cQq" = ( /obj/structure/cable{ icon_state = "0-2"; @@ -83363,7 +83363,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cSF" = ( /obj/structure/cable/yellow{ d1 = 4; @@ -83371,7 +83371,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cSG" = ( /obj/structure/table/reinforced, /obj/machinery/photocopier/faxmachine{ @@ -83402,7 +83402,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cSJ" = ( /obj/structure/cable{ d1 = 1; @@ -83431,7 +83431,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cSN" = ( /obj/structure/chair/stool, /obj/structure/cable/yellow{ @@ -83854,7 +83854,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cTy" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -83925,7 +83925,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cTE" = ( /obj/machinery/power/tesla_coil{ anchored = 1 @@ -83936,7 +83936,7 @@ icon_state = "0-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cTF" = ( /obj/structure/cable/yellow{ d1 = 2; @@ -83949,7 +83949,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cTG" = ( /obj/machinery/door/airlock/maintenance{ name = "Engineering Shuttle"; @@ -84100,7 +84100,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cTS" = ( /obj/effect/landmark/burnturf, /turf/simulated/floor/plating, @@ -84369,7 +84369,7 @@ icon_state = "0-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cUm" = ( /obj/structure/reagent_dispensers/fueltank, /obj/structure/cable{ @@ -84660,7 +84660,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cUN" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4; @@ -84685,7 +84685,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cUP" = ( /obj/structure/window/reinforced{ dir = 8 @@ -84714,7 +84714,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cUR" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -84753,7 +84753,7 @@ level = 2 }, /turf/space, -/area/space) +/area/space/nearstation) "cUW" = ( /obj/machinery/atmospherics/unary/outlet_injector{ dir = 8; @@ -86757,7 +86757,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "cYA" = ( /obj/structure/cable{ icon_state = "0-4"; @@ -87133,7 +87133,7 @@ level = 2 }, /turf/space, -/area/space) +/area/space/nearstation) "cZi" = ( /obj/machinery/atmospherics/unary/outlet_injector{ dir = 8; @@ -87624,7 +87624,7 @@ dir = 10 }, /turf/space, -/area/space) +/area/space/nearstation) "dae" = ( /obj/structure/door_assembly/door_assembly_mai, /turf/simulated/floor/plating, @@ -88087,7 +88087,7 @@ }, /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction, /turf/space, -/area/space) +/area/space/nearstation) "dbb" = ( /turf/simulated/floor/engine{ carbon_dioxide = 0; @@ -88434,7 +88434,7 @@ /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, -/area/space) +/area/space/nearstation) "dbJ" = ( /obj/structure/cable{ d1 = 1; @@ -88509,7 +88509,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dbQ" = ( /obj/machinery/power/emitter{ anchored = 1; @@ -88554,7 +88554,7 @@ /obj/structure/grille, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dbU" = ( /obj/structure/rack, /obj/item/clothing/suit/fire/firefighter, @@ -88588,7 +88588,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "dbY" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -88611,13 +88611,13 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dca" = ( /obj/machinery/atmospherics/unary/passive_vent{ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dcb" = ( /turf/simulated/floor/plasteel{ icon_state = "blue"; @@ -88667,7 +88667,7 @@ d2 = 2 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dcg" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -89007,7 +89007,7 @@ }, /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, -/area/space) +/area/space/nearstation) "dcT" = ( /obj/machinery/atmospherics/unary/outlet_injector{ dir = 8; @@ -89342,12 +89342,12 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ddD" = ( /obj/item/wrench, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ddE" = ( /obj/structure/cable{ d1 = 1; @@ -89364,7 +89364,7 @@ pixel_y = 32 }, /turf/space, -/area/space) +/area/space/nearstation) "ddG" = ( /obj/machinery/field/generator, /turf/simulated/floor/plating, @@ -89421,7 +89421,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ddN" = ( /obj/structure/cable, /turf/space, @@ -89434,7 +89434,7 @@ }, /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ddP" = ( /obj/structure/cable{ d1 = 2; @@ -89559,7 +89559,7 @@ tag = "icon-catwalk0"; icon_state = "catwalk0" }, -/area/space) +/area/space/nearstation) "ddY" = ( /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 @@ -89705,7 +89705,7 @@ }, /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, -/area/space) +/area/space/nearstation) "dem" = ( /turf/simulated/floor/engine{ carbon_dioxide = 50000; @@ -90803,7 +90803,7 @@ anchored = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dgF" = ( /turf/simulated/shuttle/wall{ icon_state = "swall1"; @@ -90848,7 +90848,7 @@ pixel_y = 32 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dgK" = ( /obj/effect/spawner/lootdrop/trade_sol/sec, /obj/structure/closet, @@ -90992,7 +90992,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dhd" = ( /obj/machinery/computer/shuttle/engineering, /turf/simulated/shuttle/floor{ @@ -91661,7 +91661,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "div" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -91961,21 +91961,21 @@ level = 2 }, /turf/space, -/area/space) +/area/space/nearstation) "diV" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ level = 2 }, /turf/space, -/area/space) +/area/space/nearstation) "diW" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible{ dir = 5 }, /turf/space, -/area/space) +/area/space/nearstation) "diX" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/green{ @@ -91985,14 +91985,14 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "diY" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "diZ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -92002,7 +92002,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "dja" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/cyan{ @@ -92012,26 +92012,26 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "djb" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 4 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "djc" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 9 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "djd" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dje" = ( /obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel{ @@ -92170,7 +92170,7 @@ state = 2 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "djr" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, @@ -92237,7 +92237,7 @@ /obj/structure/lattice, /obj/item/wirecutters, /turf/space, -/area/space) +/area/space/nearstation) "djz" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -92304,7 +92304,7 @@ /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/space, -/area/space) +/area/space/nearstation) "djF" = ( /obj/structure/cable{ d1 = 1; @@ -92463,7 +92463,7 @@ /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "djU" = ( /obj/machinery/atmospherics/pipe/simple/visible, /obj/structure/grille, @@ -92843,19 +92843,19 @@ "dkz" = ( /obj/effect/decal/warning_stripes/northwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dkA" = ( /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dkB" = ( /obj/effect/decal/warning_stripes/northeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dkC" = ( /obj/item/crowbar, /turf/space, -/area/space) +/area/space/nearstation) "dkD" = ( /obj/machinery/newscaster{ pixel_y = 32 @@ -93262,18 +93262,18 @@ }, /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dlf" = ( /obj/item/wrench, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dlg" = ( /obj/machinery/the_singularitygen/tesla{ anchored = 1 }, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dlh" = ( /obj/machinery/door/airlock/external{ frequency = 1450; @@ -93504,19 +93504,19 @@ "dlE" = ( /obj/item/weldingtool, /turf/space, -/area/space) +/area/space/nearstation) "dlF" = ( /obj/effect/decal/warning_stripes/southwest, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dlG" = ( /obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dlH" = ( /obj/effect/decal/warning_stripes/southeast, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dlI" = ( /obj/structure/lattice, /obj/machinery/atmospherics/binary/pump/on, @@ -93676,7 +93676,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/purple, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dlZ" = ( /obj/structure/chair{ dir = 8 @@ -93821,7 +93821,7 @@ "dmo" = ( /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "dmp" = ( /obj/structure/table, /obj/item/weldingtool, @@ -93960,7 +93960,7 @@ /area/turret_protected/aisat_interior) "dmD" = ( /turf/simulated/wall/r_wall/coated, -/area/space) +/area/space/nearstation) "dmE" = ( /obj/machinery/door/poddoor{ id_tag = "auxiliaryturbinevent"; @@ -93972,7 +93972,7 @@ /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/purple, /turf/space, -/area/space) +/area/space/nearstation) "dmG" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -94054,7 +94054,7 @@ "dmN" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dmO" = ( /obj/structure/cable{ d2 = 2; @@ -94193,14 +94193,14 @@ "dmW" = ( /obj/structure/transit_tube, /turf/space, -/area/space) +/area/space/nearstation) "dmX" = ( /obj/structure/transit_tube{ icon_state = "E-W-Pass" }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "dmY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -94246,7 +94246,7 @@ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dne" = ( /obj/structure/cable, /obj/machinery/power/turbine, @@ -94384,7 +94384,7 @@ }, /obj/structure/disposaloutlet, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dnq" = ( /obj/structure/cable{ d1 = 1; @@ -95152,7 +95152,7 @@ tag = "icon-catwalk0"; icon_state = "catwalk0" }, -/area/space) +/area/space/nearstation) "doF" = ( /turf/simulated/floor/plating, /area/toxins/launch{ @@ -96444,7 +96444,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "gMZ" = ( /obj/machinery/atmospherics/pipe/simple/insulated{ dir = 6 @@ -96495,7 +96495,7 @@ dir = 1 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iJf" = ( /obj/machinery/atmospherics/pipe/simple/insulated, /obj/machinery/door/poddoor{ @@ -96558,13 +96558,13 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "nMi" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 9 }, /turf/space, -/area/space) +/area/space/nearstation) "oZV" = ( /obj/machinery/door/airlock/centcom{ id_tag = "adminshuttle"; @@ -96592,7 +96592,7 @@ dir = 10 }, /turf/space, -/area/space) +/area/space/nearstation) "qgG" = ( /obj/machinery/door/airlock/external{ id_tag = "s_docking_airlock"; @@ -96607,7 +96607,7 @@ "qUv" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, -/area/space) +/area/space/nearstation) "rEw" = ( /obj/machinery/computer/shuttle/admin{ name = "NTV Argos shuttle console" @@ -96640,7 +96640,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "uBM" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8; @@ -96656,21 +96656,21 @@ dir = 5 }, /turf/space, -/area/space) +/area/space/nearstation) "vup" = ( /obj/machinery/atmospherics/pipe/simple/insulated{ dir = 10 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "xAw" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "xWg" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ tag = "icon-intact (SOUTHEAST)"; @@ -96678,7 +96678,7 @@ dir = 6 }, /turf/space, -/area/space) +/area/space/nearstation) "yeP" = ( /obj/machinery/door_control{ id = "adminshuttleblast"; diff --git a/_maps/map_files/cyberiad/z3.dmm b/_maps/map_files/cyberiad/z3.dmm index 3d298fc02eb..4dd47bcb4be 100644 --- a/_maps/map_files/cyberiad/z3.dmm +++ b/_maps/map_files/cyberiad/z3.dmm @@ -5,7 +5,7 @@ "ab" = ( /obj/item/trash/cheesie, /turf/space, -/area/space) +/area/space/nearstation) "ac" = ( /obj/docking_port/stationary{ dir = 8; @@ -412,7 +412,7 @@ "aT" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aU" = ( /obj/structure/reagent_dispensers/watertank/high, /turf/simulated/floor/plating, @@ -457,28 +457,28 @@ icon_state = "swall_s6"; dir = 2 }, -/area/space) +/area/space/nearstation) "bb" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall14"; icon_state = "swall14"; dir = 2 }, -/area/space) +/area/space/nearstation) "bc" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall12"; icon_state = "swall12"; dir = 2 }, -/area/space) +/area/space/nearstation) "bd" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2 }, -/area/space) +/area/space/nearstation) "be" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall14"; @@ -503,7 +503,7 @@ icon_state = "swall7"; dir = 2 }, -/area/space) +/area/space/nearstation) "bj" = ( /turf/simulated/shuttle/floor{ icon_state = "floor3" @@ -513,12 +513,12 @@ icon_state = "swall_f9"; dir = 2 }, -/area/space) +/area/space/nearstation) "bk" = ( /turf/simulated/shuttle/floor{ icon_state = "floor3" }, -/area/space) +/area/space/nearstation) "bl" = ( /turf/simulated/shuttle/floor{ icon_state = "floor3" @@ -528,14 +528,14 @@ icon_state = "swall_f5"; dir = 2 }, -/area/space) +/area/space/nearstation) "bm" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall11"; icon_state = "swall11"; dir = 2 }, -/area/space) +/area/space/nearstation) "bn" = ( /obj/machinery/vending/hydroseeds, /turf/simulated/floor/mineral/titanium/purple, @@ -549,7 +549,7 @@ /turf/simulated/shuttle/floor{ icon_state = "floor3" }, -/area/space) +/area/space/nearstation) "bq" = ( /turf/simulated/floor/mineral/titanium/purple, /area/shuttle/freegolem) @@ -572,7 +572,7 @@ icon_state = "swall_f10"; dir = 2 }, -/area/space) +/area/space/nearstation) "bt" = ( /obj/machinery/light{ dir = 1; @@ -589,7 +589,7 @@ icon_state = "swall_f6"; dir = 2 }, -/area/space) +/area/space/nearstation) "bv" = ( /obj/machinery/light{ dir = 1; @@ -608,21 +608,21 @@ icon_state = "swall_s5"; dir = 2 }, -/area/space) +/area/space/nearstation) "by" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall13"; icon_state = "swall13"; dir = 2 }, -/area/space) +/area/space/nearstation) "bz" = ( /turf/simulated/shuttle/wall{ tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2 }, -/area/space) +/area/space/nearstation) "bA" = ( /obj/machinery/vending/coffee/free, /turf/simulated/floor/mineral/titanium/purple, @@ -793,7 +793,7 @@ /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "bX" = ( /obj/machinery/power/solar, /obj/structure/cable{ @@ -803,7 +803,7 @@ /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "bY" = ( /obj/structure/cable{ d1 = 2; @@ -817,7 +817,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bZ" = ( /obj/machinery/power/solar, /obj/structure/cable{ @@ -827,7 +827,7 @@ /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "ca" = ( /obj/structure/cable{ d1 = 2; @@ -846,12 +846,12 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cb" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/space, -/area/space) +/area/space/nearstation) "cc" = ( /obj/machinery/camera{ c_tag = "Telecomms North Solars"; @@ -859,7 +859,7 @@ network = list("Telecomms") }, /turf/space, -/area/space) +/area/space/nearstation) "cd" = ( /obj/structure/cable{ d1 = 1; @@ -868,7 +868,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ce" = ( /obj/structure/cable{ d1 = 4; @@ -878,7 +878,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cf" = ( /obj/structure/cable{ d1 = 2; @@ -892,7 +892,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cg" = ( /obj/structure/cable{ d1 = 1; @@ -901,7 +901,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ch" = ( /obj/structure/cable{ d1 = 1; @@ -909,7 +909,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ci" = ( /obj/structure/lattice, /obj/structure/grille, @@ -919,7 +919,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cj" = ( /obj/structure/lattice, /obj/structure/grille, @@ -931,7 +931,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ck" = ( /obj/structure/grille, /obj/structure/cable{ @@ -954,7 +954,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cl" = ( /obj/structure/lattice, /obj/structure/grille, @@ -965,7 +965,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cm" = ( /obj/structure/lattice, /obj/structure/grille, @@ -976,10 +976,10 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cn" = ( /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "co" = ( /obj/structure/lattice, /obj/structure/grille, @@ -990,7 +990,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cp" = ( /turf/simulated/wall/r_wall, /area/turret_protected/tcomsat) @@ -1006,7 +1006,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "cs" = ( /obj/structure/lattice, /turf/space, @@ -1619,7 +1619,7 @@ dir = 4 }, /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "dP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1631,13 +1631,13 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dR" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -1646,7 +1646,7 @@ dir = 8 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "dS" = ( /obj/structure/window/reinforced{ dir = 8 @@ -1704,7 +1704,7 @@ /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "dY" = ( /obj/structure/cable{ d1 = 1; @@ -1720,7 +1720,7 @@ /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "ea" = ( /obj/machinery/door/window/brigdoor{ dir = 8; @@ -2043,7 +2043,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "eE" = ( /obj/structure/cable{ d1 = 1; @@ -2064,7 +2064,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "eF" = ( /obj/structure/cable{ d1 = 2; @@ -2073,7 +2073,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "eG" = ( /obj/structure/window/reinforced{ dir = 8 @@ -2151,7 +2151,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "eO" = ( /obj/structure/cable{ d1 = 2; @@ -2173,7 +2173,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "eP" = ( /obj/structure/cable{ d1 = 1; @@ -2188,7 +2188,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "eQ" = ( /obj/structure/table/wood, /obj/item/storage/firstaid/brute, @@ -2334,7 +2334,7 @@ network = list("Telecomms") }, /turf/space, -/area/space) +/area/space/nearstation) "fd" = ( /obj/structure/window/reinforced{ dir = 4 @@ -2450,7 +2450,7 @@ network = list("Telecomms") }, /turf/space, -/area/space) +/area/space/nearstation) "fo" = ( /obj/structure/cable{ d1 = 2; @@ -2464,7 +2464,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "fp" = ( /obj/structure/table/wood, /obj/item/storage/firstaid/adv, @@ -2491,7 +2491,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "fr" = ( /obj/structure/window/reinforced{ dir = 8 @@ -2717,7 +2717,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "fJ" = ( /obj/machinery/telecomms/bus/preset_one, /turf/simulated/floor/plasteel{ @@ -3481,7 +3481,7 @@ }, /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hC" = ( /obj/structure/cable{ d1 = 1; @@ -3790,7 +3790,7 @@ /area/tcommsat/entrance) "ii" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "ij" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -3845,7 +3845,7 @@ }, /obj/machinery/power/tracker, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iu" = ( /obj/structure/cable{ d1 = 1; @@ -3860,7 +3860,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iv" = ( /obj/structure/cable{ d1 = 4; @@ -3871,7 +3871,7 @@ }, /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iw" = ( /obj/machinery/computer/teleporter, /turf/simulated/floor/plating, @@ -3895,7 +3895,7 @@ }, /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iA" = ( /obj/structure/grille, /obj/structure/cable{ @@ -3917,7 +3917,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iB" = ( /obj/structure/cable{ d1 = 1; @@ -3932,7 +3932,7 @@ tag = "" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iC" = ( /obj/structure/cable{ d1 = 1; @@ -3952,7 +3952,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "iD" = ( /obj/machinery/camera{ c_tag = "Telecomms South Solars"; @@ -3960,7 +3960,7 @@ network = list("Telecomms") }, /turf/space, -/area/space) +/area/space/nearstation) "iF" = ( /turf/simulated/wall/r_wall, /area/AIsattele) diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm index e533422b39a..7e2b21f0e3a 100644 --- a/_maps/map_files/cyberiad/z4.dmm +++ b/_maps/map_files/cyberiad/z4.dmm @@ -5,7 +5,7 @@ "ab" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ac" = ( /turf/simulated/wall, /area/constructionsite/hallway/port) @@ -554,10 +554,10 @@ /area/constructionsite/hallway/starboard) "bC" = ( /turf/simulated/wall, -/area/space) +/area/space/nearstation) "bD" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "bE" = ( /obj/machinery/light{ dir = 1; @@ -850,14 +850,14 @@ tag = "icon-catwalk6"; icon_state = "catwalk6" }, -/area/space) +/area/space/nearstation) "cm" = ( /turf/simulated/floor/plating/airless, /turf/simulated/floor/plating/airless/catwalk{ tag = "icon-catwalk12"; icon_state = "catwalk12" }, -/area/space) +/area/space/nearstation) "cn" = ( /turf/simulated/floor/plating/airless, /turf/simulated/floor/plating/airless/catwalk{ @@ -878,7 +878,7 @@ tag = "icon-catwalk10"; icon_state = "catwalk10" }, -/area/space) +/area/space/nearstation) "cq" = ( /obj/structure/inflatable/door, /turf/simulated/floor/plasteel/airless, @@ -889,7 +889,7 @@ tag = "icon-catwalk3"; icon_state = "catwalk3" }, -/area/space) +/area/space/nearstation) "cs" = ( /turf/simulated/floor/plating/airless, /turf/simulated/floor/plating/airless/catwalk{ @@ -1164,7 +1164,7 @@ tag = "icon-catwalk1"; icon_state = "catwalk1" }, -/area/space) +/area/space/nearstation) "cU" = ( /obj/structure/lattice, /turf/space, @@ -1208,7 +1208,7 @@ /area/engiestation) "dc" = ( /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "dd" = ( /obj/machinery/power/solar, /obj/structure/cable{ @@ -2024,7 +2024,7 @@ tag = "icon-catwalk9"; icon_state = "catwalk9" }, -/area/space) +/area/space/nearstation) "et" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "0"; @@ -2336,7 +2336,7 @@ tag = "icon-catwalk2"; icon_state = "catwalk2" }, -/area/space) +/area/space/nearstation) "fj" = ( /obj/machinery/vending/cola, /turf/simulated/floor/plasteel{ @@ -2640,7 +2640,7 @@ tag = "icon-catwalk5"; icon_state = "catwalk5" }, -/area/space) +/area/space/nearstation) "fR" = ( /obj/item/lighter/zippo, /turf/simulated/floor/plating/airless, @@ -2648,7 +2648,7 @@ tag = "icon-catwalk8"; icon_state = "catwalk8" }, -/area/space) +/area/space/nearstation) "fS" = ( /obj/machinery/shower{ dir = 4; @@ -2746,7 +2746,7 @@ tag = "icon-catwalk4"; icon_state = "catwalk4" }, -/area/space) +/area/space/nearstation) "gd" = ( /obj/structure/lattice, /obj/structure/disposaloutlet{ @@ -2756,18 +2756,18 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "ge" = ( /obj/structure/disposalpipe/segment{ dir = 8; icon_state = "pipe-c" }, /turf/space, -/area/space) +/area/space/nearstation) "gf" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "gg" = ( /obj/item/radio/intercom{ dir = 1; @@ -4077,7 +4077,7 @@ /area/constructionsite/engineering) "jh" = ( /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "ji" = ( /obj/structure/cable{ d1 = 1; diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm index a75ca9403e0..59389f18e75 100644 --- a/_maps/map_files/cyberiad/z6.dmm +++ b/_maps/map_files/cyberiad/z6.dmm @@ -7,7 +7,7 @@ amount = 2 }, /turf/space, -/area/space) +/area/space/nearstation) "ac" = ( /obj/machinery/power/solar/fake, /turf/simulated/floor/plasteel/airless{ @@ -17,17 +17,17 @@ "ad" = ( /turf/space, /turf/simulated/floor/plating/airless/catwalk, -/area/space) +/area/space/nearstation) "ae" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "af" = ( /obj/machinery/power/solar/fake, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "ag" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -41,7 +41,7 @@ icon_state = "brokengrille" }, /turf/space, -/area/space) +/area/space/nearstation) "aj" = ( /obj/machinery/power/terminal, /turf/simulated/floor/plating, @@ -55,7 +55,7 @@ amount = 1 }, /turf/space, -/area/space) +/area/space/nearstation) "am" = ( /obj/item/extinguisher, /turf/simulated/floor/plating, @@ -86,7 +86,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ap" = ( /obj/structure/cable{ d1 = 1; @@ -135,12 +135,12 @@ icon_state = "brokengrille" }, /turf/space, -/area/space) +/area/space/nearstation) "au" = ( /obj/structure/lattice, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "av" = ( /obj/structure/grille, /obj/structure/window/full/shuttle, @@ -174,7 +174,7 @@ /area/djstation) "az" = ( /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "aA" = ( /obj/structure/grille, /obj/structure/window/full/shuttle, @@ -511,7 +511,7 @@ "bj" = ( /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "bk" = ( /obj/structure/table/reinforced, /obj/item/ashtray/bronze, @@ -577,7 +577,7 @@ /obj/structure/lattice, /obj/structure/grille, /turf/space, -/area/space) +/area/space/nearstation) "bt" = ( /turf/simulated/wall/mineral/titanium/nodecon, /area/derelict/arrival) @@ -1257,7 +1257,7 @@ /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, -/area/space) +/area/space/nearstation) "cJ" = ( /obj/structure/sign/securearea, /turf/simulated/wall/mineral/titanium/nodecon/nodiagonal, @@ -1836,7 +1836,7 @@ "ed" = ( /obj/item/stack/rods, /turf/space, -/area/space) +/area/space/nearstation) "ee" = ( /obj/structure/grille, /obj/structure/window/full/shuttle, @@ -2282,7 +2282,7 @@ "fa" = ( /mob/living/simple_animal/hostile/carp, /turf/space, -/area/space) +/area/space/nearstation) "fb" = ( /obj/structure/grille, /obj/structure/window/full/shuttle, @@ -2510,7 +2510,7 @@ /area/derelict/crew_quarters) "fC" = ( /turf/simulated/wall/mineral/titanium/nodecon, -/area/space) +/area/space/nearstation) "fD" = ( /obj/machinery/light_switch{ pixel_x = 32; @@ -2708,7 +2708,7 @@ "fZ" = ( /obj/item/shard, /turf/space, -/area/space) +/area/space/nearstation) "ga" = ( /obj/structure/toilet{ dir = 8 @@ -3086,7 +3086,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "gV" = ( /obj/structure/coatrack, /turf/simulated/floor/plasteel{ @@ -3382,7 +3382,7 @@ "hw" = ( /obj/machinery/atmospherics/unary/passive_vent, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hx" = ( /obj/structure/chair/wood/normal, /turf/simulated/floor/wood{ @@ -4417,7 +4417,7 @@ icon_state = "small" }, /turf/space, -/area/space) +/area/space/nearstation) "ju" = ( /obj/structure/chair{ dir = 4 @@ -4876,7 +4876,7 @@ "kp" = ( /obj/item/stack/ore/uranium, /turf/space, -/area/space) +/area/space/nearstation) "kq" = ( /obj/structure/table/reinforced, /obj/item/paper/djstation{ @@ -5221,7 +5221,7 @@ "kZ" = ( /obj/item/stack/ore/iron, /turf/space, -/area/space) +/area/space/nearstation) "la" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -5392,7 +5392,7 @@ dir = 1 }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "lu" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -5400,7 +5400,7 @@ icon_state = "swall_f6"; tag = "icon-swall_f6" }, -/area/space) +/area/space/nearstation) "lv" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance, @@ -5415,7 +5415,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "lx" = ( /turf/space, /turf/simulated/shuttle/wall{ @@ -5423,11 +5423,11 @@ icon_state = "swall_f10"; dir = 2 }, -/area/space) +/area/space/nearstation) "ly" = ( /obj/item/stack/tile, /turf/space, -/area/space) +/area/space/nearstation) "lz" = ( /obj/machinery/light{ dir = 1; @@ -5454,13 +5454,13 @@ icon_state = "swall11"; dir = 2 }, -/area/space) +/area/space/nearstation) "lC" = ( /turf/simulated/shuttle/wall{ icon_state = "swall7"; dir = 2 }, -/area/space) +/area/space/nearstation) "lD" = ( /turf/space, /area/derelict/eva{ @@ -5472,7 +5472,7 @@ icon_state = "swall_f5"; dir = 2 }, -/area/space) +/area/space/nearstation) "lF" = ( /turf/space, /area/syndicate_depot/perimeter) @@ -5533,13 +5533,13 @@ icon_state = "swall_f9"; dir = 2 }, -/area/space) +/area/space/nearstation) "lP" = ( /turf/simulated/shuttle/wall{ icon_state = "swall3"; dir = 2 }, -/area/space) +/area/space/nearstation) "lQ" = ( /obj/structure/cable{ d1 = 1; @@ -5710,19 +5710,19 @@ /obj/item/shard, /obj/effect/mob_spawn/human/mime/corpse, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mp" = ( /obj/item/broken_bottle, /obj/effect/mob_spawn/human/mime/corpse, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mq" = ( /obj/item/shard{ icon_state = "medium" }, /obj/effect/mob_spawn/human/mime/corpse, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mr" = ( /obj/structure/falsewall, /turf/simulated/floor/plasteel{ @@ -5774,7 +5774,7 @@ icon_state = "swall12"; dir = 2 }, -/area/space) +/area/space/nearstation) "my" = ( /turf/simulated/floor/plating/airless/asteroid, /turf/simulated/shuttle/wall{ @@ -5782,7 +5782,7 @@ icon_state = "swall_f9"; dir = 2 }, -/area/space) +/area/space/nearstation) "mz" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -5791,7 +5791,7 @@ /obj/item/stack/ore/bananium, /obj/item/grenade/bananade, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mA" = ( /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -5814,7 +5814,7 @@ icon_state = "medium" }, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mE" = ( /obj/structure/cable{ d1 = 1; @@ -5840,7 +5840,7 @@ tag = "icon-burst_r (WEST)" }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "mG" = ( /obj/structure/shuttle/engine/heater{ tag = "icon-heater (EAST)"; @@ -5851,13 +5851,13 @@ dir = 8 }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "mH" = ( /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "mI" = ( /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "mJ" = ( /obj/effect/decal/cleanable/blood, /turf/simulated/floor/plasteel{ @@ -5871,7 +5871,7 @@ "mL" = ( /obj/machinery/door/unpowered/shuttle, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mM" = ( /obj/effect/spawner/random_spawners/syndicate/loot, /turf/simulated/floor/plasteel{ @@ -5900,7 +5900,7 @@ /obj/item/stack/ore/tranquillite, /obj/item/stack/ore/tranquillite, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mQ" = ( /obj/structure/closet/crate, /obj/item/stack/ore/tranquillite, @@ -5911,7 +5911,7 @@ /obj/item/stack/ore/tranquillite, /obj/item/stack/ore/tranquillite, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mR" = ( /obj/machinery/light{ dir = 1; @@ -5935,7 +5935,7 @@ "mT" = ( /obj/item/shard, /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "mU" = ( /obj/structure/closet/crate, /obj/item/stack/ore/bananium, @@ -5944,25 +5944,25 @@ /obj/item/stack/ore/bananium, /obj/item/stack/ore/bananium, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mV" = ( /obj/effect/mob_spawn/human/mime/corpse{ name = "Mime Pilot" }, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mW" = ( /obj/structure/computerframe/HONKputer, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mX" = ( /obj/effect/mob_spawn/human/corpse/clownmili, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mY" = ( /obj/effect/mob_spawn/human/corpse/clownoff, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "mZ" = ( /obj/effect/spawner/random_spawners/syndicate/turret/external, /turf/simulated/floor/plasteel{ @@ -5979,17 +5979,17 @@ dir = 4 }, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "nb" = ( /obj/item/shard{ icon_state = "small" }, /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "nc" = ( /obj/item/stack/ore/bananium, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "nd" = ( /obj/item/stack/sheet/metal{ layer = 4.1 @@ -6005,7 +6005,7 @@ tag = "icon-propulsion_l (WEST)" }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "nf" = ( /obj/effect/spawner/random_spawners/syndicate/trap/mine, /obj/item/stack/sheet/metal{ @@ -6018,14 +6018,14 @@ "ng" = ( /obj/item/paper/clownship, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "nh" = ( /obj/item/shard, /obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "ni" = ( /obj/machinery/light{ dir = 4; @@ -6039,7 +6039,7 @@ "nj" = ( /obj/effect/mob_spawn/human/clown/corpse, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "nk" = ( /obj/machinery/computer/syndicate_depot/teleporter, /turf/simulated/floor/plasteel{ @@ -6049,7 +6049,7 @@ "nl" = ( /obj/item/pickaxe, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "nm" = ( /obj/structure/closet/crate, /obj/item/stack/ore/bananium, @@ -6057,7 +6057,7 @@ /obj/item/stack/ore/bananium, /obj/item/stack/ore/bananium, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "nn" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -6080,7 +6080,7 @@ icon_state = "swall_f10"; dir = 2 }, -/area/space) +/area/space/nearstation) "nq" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4; @@ -6093,7 +6093,7 @@ tag = "icon-propulsion_l (WEST)" }, /turf/simulated/shuttle/plating, -/area/space) +/area/space/nearstation) "nr" = ( /obj/effect/decal/warning_stripes/red, /obj/structure/window/plasmareinforced{ @@ -6267,13 +6267,13 @@ dir = 8 }, /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "nO" = ( /obj/effect/mob_spawn/human/clown/corpse{ name = "Clown Pilot" }, /turf/simulated/floor/plasteel/airless, -/area/space) +/area/space/nearstation) "nP" = ( /obj/structure/dispenser, /turf/simulated/floor/plasteel{ @@ -7454,7 +7454,7 @@ /obj/effect/landmark/burnturf, /obj/structure/grille/broken, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "qI" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -8047,7 +8047,7 @@ /turf/simulated/wall/mineral/titanium/nodecon/nosmooth{ icon_state = "swall_f10" }, -/area/space) +/area/space/nearstation) "rM" = ( /turf/simulated/floor/plasteel/airless{ dir = 5; @@ -8965,7 +8965,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "tA" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -10583,7 +10583,7 @@ "wz" = ( /obj/item/stack/sheet/metal, /turf/space, -/area/space) +/area/space/nearstation) "wC" = ( /obj/effect/landmark/burnturf, /obj/machinery/light/small{ @@ -11119,7 +11119,7 @@ name = "I PISS ON YOU!" }, /turf/space, -/area/space) +/area/space/nearstation) "yo" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -11325,7 +11325,7 @@ max_amount = 30 }, /turf/space, -/area/space) +/area/space/nearstation) "yS" = ( /obj/machinery/door/airlock/external{ frequency = 1501; @@ -11489,7 +11489,7 @@ icon_state = "small" }, /turf/space, -/area/space) +/area/space/nearstation) "zt" = ( /turf/simulated/wall, /area/derelict/teleporter) @@ -11647,7 +11647,7 @@ icon_state = "swall_f5"; dir = 2 }, -/area/space) +/area/space/nearstation) "zR" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/machinery/light/small{ diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index a679318ca71..1ee940615a5 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -39,7 +39,7 @@ "ag" = ( /obj/spacepod/random, /turf/space, -/area/space) +/area/space/nearstation) "ah" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -57,7 +57,7 @@ "aj" = ( /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "ak" = ( /turf/simulated/mineral/random/high_chance, /area/mine/dangerous/unexplored) @@ -236,7 +236,7 @@ icon_state = "medium" }, /turf/space, -/area/space) +/area/space/nearstation) "aJ" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -305,7 +305,7 @@ /obj/item/stack/rods, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "aS" = ( /obj/item/shard, /obj/item/stack/rods, @@ -411,7 +411,7 @@ /obj/item/shard, /obj/structure/lattice, /turf/space, -/area/space) +/area/space/nearstation) "bj" = ( /obj/machinery/power/terminal{ dir = 4 @@ -1564,13 +1564,13 @@ /area/mine/abandoned) "eg" = ( /turf/simulated/mineral/random/labormineral, -/area/space) +/area/space/nearstation) "eh" = ( /turf/simulated/wall/r_wall, /area/mine/dangerous/explored) "ei" = ( /turf/simulated/mineral/random, -/area/space) +/area/space/nearstation) "ej" = ( /obj/structure/girder/displaced, /turf/simulated/floor/plating/airless{ @@ -2494,7 +2494,7 @@ d2 = 4 }, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "gb" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -2526,7 +2526,7 @@ icon_state = "0-8" }, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "ge" = ( /obj/machinery/computer/shuttle/labor/one_way, /obj/structure/cable{ @@ -3099,10 +3099,10 @@ /area/mine/west_outpost) "hu" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "hv" = ( /turf/simulated/mineral, -/area/space) +/area/space/nearstation) "hw" = ( /obj/machinery/computer/mech_bay_power_console, /obj/structure/window/reinforced{ @@ -4768,7 +4768,7 @@ /area/mine/living_quarters) "ll" = ( /turf/simulated/floor/plating/airless/asteroid, -/area/space) +/area/space/nearstation) "lm" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/firedoor, @@ -6690,7 +6690,7 @@ dir = 4 }, /turf/space, -/area/space) +/area/space/nearstation) "pj" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/warning_stripes/blue/hollow, From b5c322e00a2449b441ffb573f4c50135d0842e60 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 4 May 2019 04:30:13 +0200 Subject: [PATCH 060/196] Starlight/shuttle lighting fix --- _maps/map_files/MetaStation/z3.dmm | 2 +- _maps/map_files/MetaStation/z4.dmm | 2 +- code/modules/shuttle/shuttle.dm | 5 +---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/_maps/map_files/MetaStation/z3.dmm b/_maps/map_files/MetaStation/z3.dmm index 3773dcf937e..6784ca8ceca 100644 --- a/_maps/map_files/MetaStation/z3.dmm +++ b/_maps/map_files/MetaStation/z3.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/space, -/area/space/nearstation) +/area/space) "ab" = ( /obj/docking_port/stationary{ dheight = 9; diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm index 65848fd6092..526fd945efd 100644 --- a/_maps/map_files/MetaStation/z4.dmm +++ b/_maps/map_files/MetaStation/z4.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/space, -/area/space/nearstation) +/area/space) "ab" = ( /obj/structure/grille, /turf/simulated/floor/plating/airless, diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index f38c724ae41..9a4f948307d 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -382,9 +382,8 @@ var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) //remove area surrounding docking port - var/area/A0 if(areaInstance.contents.len) - A0 = locate("[area_type]") + var/area/A0 = locate("[area_type]") if(!A0) A0 = new area_type(null) for(var/turf/T0 in L0) @@ -394,8 +393,6 @@ var/turf/T0 = i if(!T0) continue - if(A0) - T0.change_area(T0.loc, A0) T0.empty(turf_type) qdel(src, force=TRUE) From 9b00e11628efc60e4d43bd6536fcda568b498acb Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 3 May 2019 23:08:36 -0400 Subject: [PATCH 061/196] Fixes Warning Spam for Mob Transitions and Roundstart Spawning --- code/controllers/subsystem/jobs.dm | 4 ++-- code/game/turfs/space/space.dm | 10 +++++----- .../mob/living/simple_animal/hostile/hostile.dm | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 02f2681b22d..a84aab47c0b 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -473,10 +473,10 @@ SUBSYSTEM_DEF(jobs) T = S.loc if(T) - H.loc = T + H.forceMove(T) // Moving wheelchair if they have one if(H.buckled && istype(H.buckled, /obj/structure/chair/wheelchair)) - H.buckled.loc = H.loc + H.buckled.forceMove(H.loc) H.buckled.dir = H.dir if(job) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index f007aebfff1..68c0cba83ff 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -91,17 +91,17 @@ /turf/space/Entered(atom/movable/A as mob|obj, atom/OL, ignoreRest = 0) ..() + if((!(A) || !(src in A.locs))) + return - if(destination_z && A && (src in A.locs)) - A.x = destination_x - A.y = destination_y - A.z = destination_z + if(destination_z && destination_x && destination_y) + A.forceMove(locate(destination_x, destination_y, destination_z)) if(isliving(A)) var/mob/living/L = A if(L.pulling) var/turf/T = get_step(L.loc,turn(A.dir, 180)) - L.pulling.loc = T + L.pulling.forceMove(T) //now we're on the new z_level, proceed the space drifting sleep(0)//Let a diagonal move finish, if necessary diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 852d7c406d1..1914ef476cf 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -412,7 +412,7 @@ toggle_ai(AI_Z_OFF) return - var/cheap_search = isturf(T) && !(T.z == 1) // The original check for SSmapping's station z level trait, unfortunately it isn't here. + var/cheap_search = isturf(T) && !is_station_level(T.z) if(cheap_search) tlist = ListTargetsLazy(T.z) else From 6d8ec8273338b03d10c1bf9e5d5007f8f67c5f30 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 4 May 2019 05:51:13 +0200 Subject: [PATCH 062/196] Fix dynamic lighting on shuttles --- code/game/area/Space Station 13 areas.dm | 2 +- code/game/jobs/access.dm | 2 +- code/game/turfs/turf.dm | 10 +++++++--- code/modules/lighting/lighting_object.dm | 1 + code/modules/shuttle/shuttle.dm | 11 +++-------- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index c0456b67778..82fe75b3cf7 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -97,7 +97,7 @@ var/list/ghostteleportlocs = list() no_teleportlocs = TRUE requires_power = FALSE valid_territory = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/shuttle/arrival name = "\improper Arrival Shuttle" diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 7e3013658c8..394fe3d0908 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -126,7 +126,7 @@ var/const/access_free_golems = 300 var/acc = M.get_access() //see mob.dm - if(acc == IGNORE_ACCESS) + if(acc == IGNORE_ACCESS || M.can_admin_interact()) return 1 //Mob ignores access else diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index dc7de45f695..44b4c1fa9cf 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -186,6 +186,7 @@ return if(!use_preloader && path == type) // Don't no-op if the map loader requires it to be reconstructed return src + set_light(0) var/old_opacity = opacity var/old_dynamic_lighting = dynamic_lighting @@ -209,13 +210,14 @@ if(SSlighting.initialized) recalc_atom_opacity() lighting_object = old_lighting_object + affecting_lights = old_affecting_lights corners = old_corners - if (old_opacity != opacity || dynamic_lighting != old_dynamic_lighting) + if(old_opacity != opacity || dynamic_lighting != old_dynamic_lighting) reconsider_lights() - if (dynamic_lighting != old_dynamic_lighting) - if (IS_DYNAMIC_LIGHTING(src)) + if(dynamic_lighting != old_dynamic_lighting) + if(IS_DYNAMIC_LIGHTING(src)) lighting_build_overlay() else lighting_clear_overlay() @@ -485,6 +487,8 @@ continue if(istype(A, /obj/docking_port)) continue + if(istype(A, /atom/movable/lighting_object)) + continue if(!A.simulated) continue qdel(A, force=TRUE) diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index 2e549a3b68d..930e953d5eb 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -10,6 +10,7 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT layer = LIGHTING_LAYER invisibility = INVISIBILITY_LIGHTING + simulated = FALSE var/needs_update = FALSE var/turf/myturf diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 9a4f948307d..c72b0896893 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -442,11 +442,6 @@ if(canMove()) return -1 - -// //rotate transit docking ports, so we don't need zillions of variants -// if(istype(S1, /obj/docking_port/stationary/transit)) -// S1.dir = turn(NORTH, -travelDir) - var/obj/docking_port/stationary/S0 = get_docked() var/turf_type = /turf/space var/area_type = /area/space @@ -467,8 +462,6 @@ rotation += (rotation % 90) //diagonal rotations not allowed, round up rotation = SimplifyDegrees(rotation) - - //remove area surrounding docking port if(areaInstance.contents.len) var/area/A0 = locate("[area_type]") @@ -506,10 +499,12 @@ if(rotation) T1.shuttleRotate(rotation) - //lighting stuff + //atmos and lighting stuff SSair.remove_from_active(T1) T1.CalculateAdjacentTurfs() SSair.add_to_active(T1,1) + + T1.lighting_build_overlay() T0.ChangeTurf(turf_type) From 1aef02cabd7f9b41c48993883d4ba58b2150b9f6 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 4 May 2019 00:18:00 -0400 Subject: [PATCH 063/196] Automatic changelog generation for PR #11453 [ci skip] --- html/changelogs/AutoChangeLog-pr-11453.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11453.yml diff --git a/html/changelogs/AutoChangeLog-pr-11453.yml b/html/changelogs/AutoChangeLog-pr-11453.yml new file mode 100644 index 00000000000..be5b75e4bfa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11453.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - bugfix: "Fixes a few instances generating log spam relating to z-level tracking" From 096d72f7f36416120f4aaaf3f03ec249141d667e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 4 May 2019 01:39:28 -0400 Subject: [PATCH 064/196] Automatic changelog generation for PR #11441 [ci skip] --- html/changelogs/AutoChangeLog-pr-11441.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11441.yml diff --git a/html/changelogs/AutoChangeLog-pr-11441.yml b/html/changelogs/AutoChangeLog-pr-11441.yml new file mode 100644 index 00000000000..083b619ed6d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11441.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - tweak: "Admins with advanced admin interaction toggled on can now interact with the small airlock buttons." From f37cfe498dcc69124c9712b6dda08c4d9ca5e209 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sat, 4 May 2019 09:31:39 +0100 Subject: [PATCH 065/196] Removes something god awful --- code/controllers/subsystem/jobs.dm | 9 ++++++++- code/game/jobs/job_exp.dm | 9 --------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index a84aab47c0b..f887d19087f 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -1,7 +1,8 @@ SUBSYSTEM_DEF(jobs) name = "Jobs" init_order = INIT_ORDER_JOBS // 12 - flags = SS_NO_FIRE + wait = 30000 // 5 minutes (Deciseconds) + runlevels = RUNLEVEL_GAME //List of all jobs var/list/occupations = list() @@ -21,6 +22,12 @@ SUBSYSTEM_DEF(jobs) LoadJobs("config/jobs.txt") return ..() +// Only fires every 5 minutes +/datum/controller/subsystem/jobs/fire() + if(!config.sql_enabled || !config.use_exp_tracking) + return + update_exp(5,0) + /datum/controller/subsystem/jobs/proc/SetupOccupations(var/list/faction = list("Station")) occupations = list() var/list/all_jobs = subtypesof(/datum/job) diff --git a/code/game/jobs/job_exp.dm b/code/game/jobs/job_exp.dm index 2a7927d09bf..359981ded4f 100644 --- a/code/game/jobs/job_exp.dm +++ b/code/game/jobs/job_exp.dm @@ -292,12 +292,3 @@ var/global/list/role_playtime_requirements = list( log_game("SQL ERROR during exp_update_client write. Error : \[[err]\]\n") message_admins("SQL ERROR during exp_update_client write. Error : \[[err]\]\n") return - -/hook/roundstart/proc/exptimer() - if(!config.sql_enabled || !config.use_exp_tracking) - return 1 - spawn(0) - while(TRUE) - sleep(5 MINUTES) - update_exp(5,0) - return 1 From 5d0bbd70319fb613c4e3e11e9cd74c510286a29b Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sat, 4 May 2019 15:07:08 +0200 Subject: [PATCH 066/196] Fixed merge conflict --- icons/mob/actions/actions.dmi | Bin 110167 -> 113401 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/actions/actions.dmi b/icons/mob/actions/actions.dmi index d5e82bcf01df8865014ff8c357e885caff368ce1..662142846c9dd7339deb62adab54727c74352f78 100644 GIT binary patch literal 113401 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

" + + for(var/message in pms[current_title]) + dat += "" + + dat += "
[message]


" + dat += "Reply" + + var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src) + popup.set_content(dat) + popup.open() + open = TRUE + +/datum/pm_tracker/Topic(href, href_list) + if(href_list["refresh"]) + show_ui(usr) + return + + if(href_list["newtitle"]) + current_title = href_list["newtitle"] + show_ui(usr) + return + + if(href_list["reply"]) + usr.client.cmd_admin_pm(ckey(href_list["reply"]), null) + show_ui(usr) + return + + if(href_list["close"]) + open = FALSE + return diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index 00900fe5fd1..1ab6ae5d9b8 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -7,6 +7,7 @@ var/last_message = "" //contains the last message sent by this client - used to protect against copy-paste spamming. var/last_message_count = 0 //contains a number of how many times a message identical to last_message was sent. var/last_message_time = 0 //holds the last time (based on world.time) a message was sent + var/datum/pm_tracker/pm_tracker = new() ///////// //OTHER// From a127f00b5a7036ce0d76ed9915d4d99b13794316 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Mon, 6 May 2019 18:12:32 -0700 Subject: [PATCH 101/196] Add h4 tag to make things blue --- code/modules/admin/verbs/adminpm.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 68a2155da69..0fdd3d356f5 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -273,13 +273,15 @@ dat += "[label]" dat += "

[current_title]

" - + dat += "

" dat += "" for(var/message in pms[current_title]) dat += "" - dat += "
[message]


" + dat += "" + dat += "
" + dat += "

" dat += "Reply" var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src) From 4e094990d7332124e28b21c96b39e01748b6f8f5 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 6 May 2019 21:47:34 -0400 Subject: [PATCH 102/196] Automatic changelog generation for PR #11446 [ci skip] --- html/changelogs/AutoChangeLog-pr-11446.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11446.yml diff --git a/html/changelogs/AutoChangeLog-pr-11446.yml b/html/changelogs/AutoChangeLog-pr-11446.yml new file mode 100644 index 00000000000..ac51997fc92 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11446.yml @@ -0,0 +1,4 @@ +author: "Ionward" +delete-after: True +changes: + - imageadd: "Updated the cautery sprite!" From c669d642d4cbbfb077d5cc59fc3008330a922a13 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Mon, 6 May 2019 19:32:17 -0700 Subject: [PATCH 103/196] Add archiving and admin buttons --- code/modules/admin/verbs/adminpm.dm | 55 ++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 0fdd3d356f5..baed06dafc7 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -243,15 +243,25 @@ pm_tracker.show_ui(usr) /datum/pm_tracker - var/list/pms = list() var/current_title = "" var/open = FALSE + var/list/pms = list() + var/show_archived = FALSE var/window_id = "pms_window" +/datum/pm_convo + var/list/messages = list() + var/archived = FALSE + var/client/client + +/datum/pm_convo/New(var/client/C) + client = C + /datum/pm_tracker/proc/add_message(var/client/title, var/client/sender, var/message, mob/user) if(!pms[title.key]) - pms[title.key] = list() - pms[title.key].Add("[sender]: [message]") + pms[title.key] = new /datum/pm_convo(title) + pms[title.key].messages.Add("[sender]: [message]") + pms[title.key].archived = FALSE if(!open) // The next time the window's opened, it'll be open to the most recent message @@ -265,31 +275,47 @@ var/dat = "" dat += "Refresh" + dat += "[show_archived ? "Hide" : "Show"] Archived" dat += "
" for(var/title in pms) + if(pms[title].archived && !show_archived) + continue var/label = "[title]" if(title == current_title) label = "[label]" dat += "[label]" - dat += "

[current_title]

" - dat += "

" - dat += "" + if(pms[current_title]) + dat += "

[check_rights(R_ADMIN, FALSE, user) ? fancy_title(current_title) : current_title]

" + dat += "

" + dat += "

" - for(var/message in pms[current_title]) - dat += "" + for(var/message in pms[current_title].messages) + dat += "" - dat += "
[message]
[message]
" - dat += "
" - dat += "

" - dat += "Reply" + dat += "" + dat += "
" + dat += "" + dat += "Reply" + dat += "[pms[current_title].archived ? "Unarchive" : "Archive"]" var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src) popup.set_content(dat) popup.open() open = TRUE +/datum/pm_tracker/proc/fancy_title(var/title) + var/client/C = pms[title].client + if(!C) + return "[title] (Disconnected)" + return "[key_name(C, FALSE)] ([ADMIN_QUE(C.mob,"?")]) ([ADMIN_PP(C.mob,"PP")]) ([ADMIN_VV(C.mob,"VV")]) ([ADMIN_SM(C.mob,"SM")]) ([admin_jump_link(C.mob)]) (CA)" + /datum/pm_tracker/Topic(href, href_list) + if(href_list["archive"]) + pms[href_list["archive"]].archived = !pms[href_list["archive"]].archived + show_ui(usr) + return + if(href_list["refresh"]) show_ui(usr) return @@ -304,6 +330,11 @@ show_ui(usr) return + if(href_list["showarchived"]) + show_archived = !show_archived + show_ui(usr) + return + if(href_list["close"]) open = FALSE return From fcc4216ccd65cdfa60b70fa6494ccc0cd6c43b47 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Mon, 6 May 2019 20:36:42 -0700 Subject: [PATCH 104/196] Add unread indicator --- code/modules/admin/verbs/adminpm.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index baed06dafc7..e41791a2695 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -253,15 +253,20 @@ var/list/messages = list() var/archived = FALSE var/client/client + var/read = FALSE /datum/pm_convo/New(var/client/C) client = C +/datum/pm_convo/proc/add(var/client/sender, var/message) + messages.Add("[sender]: [message]") + archived = FALSE + read = FALSE + /datum/pm_tracker/proc/add_message(var/client/title, var/client/sender, var/message, mob/user) if(!pms[title.key]) pms[title.key] = new /datum/pm_convo(title) - pms[title.key].messages.Add("[sender]: [message]") - pms[title.key].archived = FALSE + pms[title.key].add(sender, message) if(!open) // The next time the window's opened, it'll be open to the most recent message @@ -283,9 +288,12 @@ var/label = "[title]" if(title == current_title) label = "[label]" + else if(!pms[title].read) + label = "*[label]" dat += "[label]" if(pms[current_title]) + pms[current_title].read = TRUE dat += "

[check_rights(R_ADMIN, FALSE, user) ? fancy_title(current_title) : current_title]

" dat += "

" dat += "" From 4c9ecbb71908b87c3b1a8856a1c983c4f5718603 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 7 May 2019 04:56:23 -0400 Subject: [PATCH 105/196] Automatic changelog generation for PR #11315 [ci skip] --- html/changelogs/AutoChangeLog-pr-11315.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11315.yml diff --git a/html/changelogs/AutoChangeLog-pr-11315.yml b/html/changelogs/AutoChangeLog-pr-11315.yml new file mode 100644 index 00000000000..e8d1dacb7dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11315.yml @@ -0,0 +1,4 @@ +author: "farie82" +delete-after: True +changes: + - bugfix: "Transforming into another species will now retain the items correctly. Example clings will keep their armblades and they won't get stuck with a non existing armblade they can't put back" From 1d1efe2852091208cef3a9629f2e523d6ea93b07 Mon Sep 17 00:00:00 2001 From: datlo Date: Tue, 7 May 2019 14:29:03 +0100 Subject: [PATCH 106/196] Fix golem getting selected as auto traitors --- code/game/gamemodes/autotraitor/autotraitor.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index 97371f6d35b..d305cc566a5 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -96,7 +96,8 @@ for(var/obj/item/implant/mindshield/I in H.contents) if(I && I.implanted) possible_traitors -= player - + if(isgolem(H)) + possible_traitors -= player //message_admins("Live Players: [playercount]") //message_admins("Live Traitors: [traitorcount]") // message_admins("Potential Traitors:") From 51998efe5666ca01316b8a37d5952c3f2a1781b0 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 7 May 2019 18:01:11 +0100 Subject: [PATCH 107/196] Fixes #2 --- code/game/objects/structures/displaycase.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 2de1b32d38c..6b54f61537e 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -8,8 +8,9 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) if(!GLOB.captain_display_cases.len) return var/fingerprint = captain.get_full_print() - for(var/obj/structure/displaycase/D in GLOB.captain_display_cases) - D.ue = fingerprint + for(var/item in GLOB.captain_display_cases) + var/obj/structure/displaycase/CASE = item + CASE.ue = fingerprint /obj/structure/displaycase_frame name = "display case frame" From 2177c1162dd11db7ca170a35d3e9778cf25d92bb Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 7 May 2019 14:29:27 -0400 Subject: [PATCH 108/196] Automatic changelog generation for PR #11467 [ci skip] --- html/changelogs/AutoChangeLog-pr-11467.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11467.yml diff --git a/html/changelogs/AutoChangeLog-pr-11467.yml b/html/changelogs/AutoChangeLog-pr-11467.yml new file mode 100644 index 00000000000..ff6e7c5f739 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11467.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - tweak: "Captains display case now actually has captains thumbprint lock on it" From 05ce94c29b2cc0bbcf7a0efb1c79258b40d6809e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 7 May 2019 16:12:57 -0400 Subject: [PATCH 109/196] Automatic changelog generation for PR #11455 [ci skip] --- html/changelogs/AutoChangeLog-pr-11455.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11455.yml diff --git a/html/changelogs/AutoChangeLog-pr-11455.yml b/html/changelogs/AutoChangeLog-pr-11455.yml new file mode 100644 index 00000000000..a571ffc3c0b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11455.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - tweak: "Removes an infinite loop in the code" From 29f95173fcfbc7bd2d21b2f114153b79a94f5029 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 7 May 2019 22:08:38 +0100 Subject: [PATCH 110/196] This wont cause a problem *server dies* --- code/modules/mob/new_player/login.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 45f64f3acb1..090a661deab 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -27,8 +27,6 @@ loc = pick(watch_locations) */ - update_morgue() // Why is this called for new players that dont even have a morgue - new_player_panel() spawn(30) From a6045d14ad554777fc9f9d7232fa940cf891f3e9 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Tue, 7 May 2019 16:43:11 -0700 Subject: [PATCH 111/196] Highlight active tab --- code/modules/admin/verbs/adminpm.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index e41791a2695..3f0bc9a14be 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -286,11 +286,13 @@ if(pms[title].archived && !show_archived) continue var/label = "[title]" + var/class = "" if(title == current_title) label = "[label]" + class = "linkOn" else if(!pms[title].read) label = "*[label]" - dat += "[label]" + dat += "[label]" if(pms[current_title]) pms[current_title].read = TRUE From 5049c66af0dbc8d7019740296b16356fba5d790a Mon Sep 17 00:00:00 2001 From: Fel Date: Tue, 7 May 2019 21:31:04 -0400 Subject: [PATCH 112/196] When you imply, you make an imp out of l and y. That doesn't make any sense. --- code/game/dna/genes/vg_powers.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index f340ff413aa..0bc2d14acf3 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -188,7 +188,7 @@ ..() block=REMOTETALKBLOCK -/datum/dna/gene/basic/grant_spell/remotetalk/activate(var/mob/user) +/datum/dna/gene/basic/grant_spell/remotetalk/activate(mob/user) ..() user.AddSpell(new /obj/effect/proc_holder/spell/targeted/mindscan(null)) @@ -288,7 +288,8 @@ perform(targets, user = user) /obj/effect/proc_holder/spell/targeted/mindscan/cast(list/targets, mob/user = usr) - if(!ishuman(user)) return + if(!ishuman(user)) + return for(var/mob/living/target in targets) var/message = "You feel your mind expand briefly... (Click to send a message.)" if(REMOTE_TALK in target.mutations) @@ -301,7 +302,6 @@ /obj/effect/proc_holder/spell/targeted/mindscan/proc/removeAvailability(var/mob/living/target) if(target in available_targets) available_targets -= target - return /obj/effect/proc_holder/spell/targeted/mindscan/Topic(href, href_list) var/mob/living/user @@ -329,6 +329,10 @@ for(var/mob/dead/observer/G in GLOB.player_list) G.show_message("Telepathic response from [target] ([ghost_follow_link(target, ghost=G)]) to [user] ([ghost_follow_link(user, ghost=G)]): [say]") +/obj/effect/proc_holder/spell/targeted/mindscan/Destroy() + available_targets.Cut() + ..() + /datum/dna/gene/basic/grant_spell/remoteview name="Remote Viewing" activation_messages=list("Your mind can see things from afar.") From 936bde2da4315a0b3c71ef149b1ad53b81c0e9f2 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 8 May 2019 00:27:18 -0400 Subject: [PATCH 113/196] Automatic changelog generation for PR #11357 [ci skip] --- html/changelogs/AutoChangeLog-pr-11357.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11357.yml diff --git a/html/changelogs/AutoChangeLog-pr-11357.yml b/html/changelogs/AutoChangeLog-pr-11357.yml new file mode 100644 index 00000000000..61304092a00 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11357.yml @@ -0,0 +1,7 @@ +author: "Markolie" +delete-after: True +changes: + - rscadd: "Ambient occlusion had been added to the game. This represents a shadowy effect on most objects. It can be turned off through the game preferences menu." + - tweak: "Our lighting system has been updated to /tg/'s latest version. Hopefully this means we'll have less lag later in the round." + - tweak: "Night vision has been modified. There are now three levels of night vision. Certain creatures that were previously able to toggle night vision can now switch between all levels. Thermals now give some night vision." + - tweak: "Mesons now no longer fully light up non-visible turfs. It uses slight darkness instead." From 345664fafcd3aa0ad588ffd09dfac21d6b60cc94 Mon Sep 17 00:00:00 2001 From: Fel Date: Wed, 8 May 2019 05:07:12 -0400 Subject: [PATCH 114/196] Breakfast --- code/game/dna/genes/vg_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 0bc2d14acf3..fb56aa0e2ea 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -331,7 +331,7 @@ /obj/effect/proc_holder/spell/targeted/mindscan/Destroy() available_targets.Cut() - ..() + return ..() /datum/dna/gene/basic/grant_spell/remoteview name="Remote Viewing" From 71e3d5187fdb332c6ee23cefceb7b9ef45ad3462 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 8 May 2019 17:18:27 +0200 Subject: [PATCH 115/196] Lighting fixes: makes sure new_players have a HUD and that sight flags are reset properly --- .../mob/living/carbon/human/species/_species.dm | 3 ++- code/modules/mob/living/life.dm | 2 +- code/modules/mob/new_player/login.dm | 15 +++++---------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 18451ff31cf..7b545cd7aa7 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -629,6 +629,8 @@ It'll return null if the organ doesn't correspond, so include null checks when u return has_organ[organ_slot] /datum/species/proc/update_sight(mob/living/carbon/human/H) + H.sight = initial(H.sight) + var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes) if(eyes) H.sight |= eyes.vision_flags @@ -636,7 +638,6 @@ It'll return null if the organ doesn't correspond, so include null checks when u H.see_invisible = eyes.see_invisible H.lighting_alpha = eyes.lighting_alpha else - H.sight = initial(H.sight) H.see_in_dark = initial(H.see_in_dark) H.see_invisible = initial(H.see_invisible) H.lighting_alpha = initial(H.lighting_alpha) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 03182a07ba8..e0c58c484d8 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -211,7 +211,7 @@ sight |= SEE_TURFS sight |= SEE_MOBS sight |= SEE_OBJS - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE see_in_dark = 8 see_invisible = SEE_INVISIBLE_OBSERVER sync_lighting_plane_alpha() diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 1c7b06b1ce1..2803df9d5c4 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -14,19 +14,14 @@ loc = locate(1,1,1) lastarea = loc + if(!hud_used) + create_mob_hud() + if(hud_used) + hud_used.show_hud(hud_used.hud_version) + sight |= SEE_TURFS GLOB.player_list |= src -/* - var/list/watch_locations = list() - for(var/obj/effect/landmark/landmark in GLOB.landmarks_list) - if(landmark.tag == "landmark*new_player") - watch_locations += landmark.loc - - if(watch_locations.len>0) - loc = pick(watch_locations) -*/ - callHook("mob_login", list("client" = client, "mob" = src)) new_player_panel() From 9b60ea5d9535847c9ef2f50093408cc4654111b9 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 8 May 2019 17:22:24 +0200 Subject: [PATCH 116/196] Make sure the screen is reset, just in case --- code/modules/mob/new_player/login.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 2803df9d5c4..c67ccb3f60b 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -14,6 +14,8 @@ loc = locate(1,1,1) lastarea = loc + client.screen = list() // Remove HUD items just in case. + client.images = list() if(!hud_used) create_mob_hud() if(hud_used) From f8486ced385c49ac689f3fcc1ad0dd48e93c6626 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 8 May 2019 17:38:25 +0200 Subject: [PATCH 117/196] Fix windowdoor click opening --- code/game/machinery/doors/windowdoor.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 3838a52325f..755c70d393b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -214,7 +214,7 @@ return attack_hand(user) /obj/machinery/door/window/attack_hand(mob/user) - return bumpopen(user) + return try_to_activate_door(user) /obj/machinery/door/window/emag_act(mob/user, obj/weapon) if(!operating && density && !emagged) @@ -228,7 +228,6 @@ return 1 /obj/machinery/door/window/attackby(obj/item/I, mob/living/user, params) - //If it's in the process of opening/closing, ignore the click if(operating) return From 81611966278249ff5c061ab501451264deef62ee Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Wed, 8 May 2019 09:43:22 -0700 Subject: [PATCH 118/196] Allow admins to force open conversation --- code/modules/admin/verbs/adminpm.dm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 3f0bc9a14be..db30bed37b3 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -308,6 +308,8 @@ dat += "" dat += "Reply" dat += "[pms[current_title].archived ? "Unarchive" : "Archive"]" + if(check_rights(R_ADMIN, FALSE, user)) + dat += "Ping" var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src) popup.set_content(dat) @@ -335,6 +337,16 @@ show_ui(usr) return + if(href_list["ping"]) + var/client/C = pms[href_list["ping"]].client + if(C) + C.pm_tracker.current_title = usr.key + window_flash(C) + C.pm_tracker.show_ui(C.mob) + to_chat(usr, "Forced open [C]'s messages window.") + show_ui(usr) + return + if(href_list["reply"]) usr.client.cmd_admin_pm(ckey(href_list["reply"]), null) show_ui(usr) From a83c36179bb1994aa412db755765a3840e4d34c8 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 8 May 2019 20:13:21 +0200 Subject: [PATCH 119/196] Clarify switch message --- code/modules/antagonists/_common/antag_spawner.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 4e66c7b1797..d92e5ffa86f 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -18,6 +18,7 @@ icon_state = "locator" var/borg_to_spawn var/checking = FALSE + var/rolename = "Syndicate Operative" /obj/item/antag_spawner/nuke_ops/proc/before_candidate_search(user) return TRUE @@ -45,7 +46,7 @@ checking = TRUE to_chat(user, "You activate [src] and wait for confirmation.") - var/list/nuke_candidates = pollCandidates("Do you want to play as a syndicate [borg_to_spawn ? "[lowertext(borg_to_spawn)] cyborg" : "operative"]?", ROLE_OPERATIVE, TRUE, 150) + var/list/nuke_candidates = pollCandidates("Do you want to play as a [rolename]?", ROLE_OPERATIVE, TRUE, 150) if(LAZYLEN(nuke_candidates)) checking = FALSE if(QDELETED(src) || !check_usability(user)) @@ -109,8 +110,10 @@ if(switch_roles_choice == "Syndicate Cyborg") switch_roles = TRUE + rolename = "Syndicate [borg_to_spawn]" else switch_roles = FALSE + rolename = initial(rolename) return TRUE From e5c2dfe535049459af88d71f189ad76541092f1e Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Wed, 8 May 2019 11:37:55 -0700 Subject: [PATCH 120/196] Add typing indicator --- code/modules/admin/verbs/adminpm.dm | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index db30bed37b3..a13ba9fd276 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -88,7 +88,9 @@ //get message text, limit it's length.and clean/escape html if(!msg) + set_typing(C, TRUE) msg = input(src,"Message:", "Private message to [holder ? key_name(C, FALSE) : key_name_hidden(C, FALSE)]") as text|null + set_typing(C, FALSE) if(!msg) return @@ -242,6 +244,16 @@ set category = "OOC" pm_tracker.show_ui(usr) +/client/proc/set_typing(client/target, var/value) + if(!target) + return + var/datum/pm_convo/convo = target.pm_tracker.pms[key] + if(!convo) + return + convo.typing = value + if(target.pm_tracker.open && target.pm_tracker.current_title == key) + target.pm_tracker.show_ui(target.mob) + /datum/pm_tracker var/current_title = "" var/open = FALSE @@ -254,16 +266,17 @@ var/archived = FALSE var/client/client var/read = FALSE + var/typing = FALSE /datum/pm_convo/New(var/client/C) client = C -/datum/pm_convo/proc/add(var/client/sender, var/message) +/datum/pm_convo/proc/add(client/sender, var/message) messages.Add("[sender]: [message]") archived = FALSE read = FALSE -/datum/pm_tracker/proc/add_message(var/client/title, var/client/sender, var/message, mob/user) +/datum/pm_tracker/proc/add_message(client/title, client/sender, var/message, mob/user) if(!pms[title.key]) pms[title.key] = new /datum/pm_convo(title) pms[title.key].add(sender, message) @@ -294,20 +307,23 @@ label = "*[label]" dat += "[label]" - if(pms[current_title]) - pms[current_title].read = TRUE + var/datum/pm_convo/convo = pms[current_title] + if(convo) + convo.read = TRUE dat += "

[check_rights(R_ADMIN, FALSE, user) ? fancy_title(current_title) : current_title]

" dat += "

" dat += "

" - for(var/message in pms[current_title].messages) + for(var/message in convo.messages) dat += "" dat += "
[message]
" + if(convo.typing) + dat += "[current_title] is typing..." dat += "
" dat += "

" dat += "Reply" - dat += "[pms[current_title].archived ? "Unarchive" : "Archive"]" + dat += "[convo.archived ? "Unarchive" : "Archive"]" if(check_rights(R_ADMIN, FALSE, user)) dat += "Ping" From 27e4ca3d1975a7a7baca4f5cfc59918896d76680 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Wed, 8 May 2019 12:47:37 -0700 Subject: [PATCH 121/196] Animate typing indicator --- code/modules/admin/verbs/adminpm.dm | 2 +- html/browser/common.css | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index a13ba9fd276..f0c1d6316cf 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -319,7 +319,7 @@ dat += "" if(convo.typing) - dat += "[current_title] is typing..." + dat += "[current_title] is typing" dat += "
" dat += "" dat += "Reply" diff --git a/html/browser/common.css b/html/browser/common.css index 23b675f7fa2..ac093b87c61 100644 --- a/html/browser/common.css +++ b/html/browser/common.css @@ -345,4 +345,20 @@ div.notice -ms-interpolation-mode: nearest-neighbor; width: 64px; height:64px; -} \ No newline at end of file +} + +.typing:after +{ + overflow: hidden; + display: inline-block; + vertical-align: bottom; + animation: ellipsis steps(4,end) 900ms infinite; + content: "\2026"; + width: 0px; +} + +@keyframes ellipsis { + to { + width: 1.25em; + } +} From 04f1e79b330cacb6e5622501ac6f05f2cc757381 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 8 May 2019 16:17:14 -0400 Subject: [PATCH 122/196] Automatic changelog generation for PR #11489 [ci skip] --- html/changelogs/AutoChangeLog-pr-11489.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11489.yml diff --git a/html/changelogs/AutoChangeLog-pr-11489.yml b/html/changelogs/AutoChangeLog-pr-11489.yml new file mode 100644 index 00000000000..ce83f855daf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11489.yml @@ -0,0 +1,6 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Fixed an issue where a mob's sight wouldn't update properly in certain cases, such as being revived." + - bugfix: "Resolved an issue where the lobby would be bright white when being sent back." + - bugfix: "Resolved an issue where the ambient occlusion preference wouldn't update properly in the lobby." From c213e968a2bafada5d6278489cf1e5426f07cb9e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 8 May 2019 16:17:43 -0400 Subject: [PATCH 123/196] Automatic changelog generation for PR #11490 [ci skip] --- html/changelogs/AutoChangeLog-pr-11490.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11490.yml diff --git a/html/changelogs/AutoChangeLog-pr-11490.yml b/html/changelogs/AutoChangeLog-pr-11490.yml new file mode 100644 index 00000000000..ae1ed2eae11 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11490.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Resolved an issue where clicking on a windoor would no longer prevent it from auto-closing." From 61b337578b97aa8715e1b8abd3cff0f5eefb221b Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 8 May 2019 17:25:35 -0400 Subject: [PATCH 124/196] Potentially Solves Disappearing Human Mob Issue? --- code/datums/mutable_appearance.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index 2b0c3e1a44c..31c20315508 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -4,6 +4,11 @@ // Mutable appearances are children of images, just so you know. +/mutable_appearance/New() + ..() + plane = FLOAT_PLANE // No clue why this is 0 by default yet images are on FLOAT_PLANE + // And yes this does have to be in the constructor, BYOND ignores it if you set it as a normal var + // Helper similar to image() /proc/mutable_appearance(icon, icon_state = "", layer = FLOAT_LAYER, plane = FLOAT_PLANE) var/mutable_appearance/MA = new() @@ -13,7 +18,7 @@ MA.plane = plane return MA -/mutable_appearance/clean + /mutable_appearance/clean/New() . = ..() alpha = 255 From 443fa06c3169a8c8a7b283a9fe51a58cbd491a0b Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 02:01:26 +0200 Subject: [PATCH 125/196] Update our getFlatIcon() code to /tg/'s latest --- code/__HELPERS/icons.dm | 326 +++++++++++++++++++++++----------------- 1 file changed, 185 insertions(+), 141 deletions(-) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index dad2ecd7630..ed4f3242c4d 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -634,170 +634,214 @@ The _flatIcons list is a cache for generated icon files. */ // Creates a single icon from a given /atom or /image. Only the first argument is required. -/proc/getFlatIcon(image/A, defdir=2, deficon=null, defstate="", defblend=BLEND_DEFAULT) - // We start with a blank canvas, otherwise some icon procs crash silently - var/icon/flat = icon('icons/effects/effects.dmi', "icon_state"="nothing") // Final flattened icon - if(!A) - return flat - if(A.alpha <= 0) - return flat +/proc/getFlatIcon(image/A, defdir, deficon, defstate, defblend, start = TRUE, no_anim = FALSE) + //Define... defines. + var/static/icon/flat_template = icon('icons/effects/effects.dmi', "nothing") + + #define BLANK icon(flat_template) + #define SET_SELF(SETVAR) do { \ + var/icon/SELF_ICON=icon(icon(curicon, curstate, base_icon_dir),"",SOUTH,no_anim?1:null); \ + if(A.alpha<255) { \ + SELF_ICON.Blend(rgb(255,255,255,A.alpha),ICON_MULTIPLY);\ + } \ + if(A.color) { \ + if(islist(A.color)){ \ + SELF_ICON.MapColors(arglist(A.color))} \ + else{ \ + SELF_ICON.Blend(A.color,ICON_MULTIPLY)} \ + } \ + ##SETVAR=SELF_ICON;\ + } while (0) + #define INDEX_X_LOW 1 + #define INDEX_X_HIGH 2 + #define INDEX_Y_LOW 3 + #define INDEX_Y_HIGH 4 + + #define flatX1 flat_size[INDEX_X_LOW] + #define flatX2 flat_size[INDEX_X_HIGH] + #define flatY1 flat_size[INDEX_Y_LOW] + #define flatY2 flat_size[INDEX_Y_HIGH] + #define addX1 add_size[INDEX_X_LOW] + #define addX2 add_size[INDEX_X_HIGH] + #define addY1 add_size[INDEX_Y_LOW] + #define addY2 add_size[INDEX_Y_HIGH] + + if(!A || A.alpha <= 0) + return BLANK + var/noIcon = FALSE + if(start) + if(!defdir) + defdir = A.dir + if(!deficon) + deficon = A.icon + if(!defstate) + defstate = A.icon_state + if(!defblend) + defblend = A.blend_mode - var/curicon - if(A.icon) - curicon = A.icon - else - curicon = deficon + var/curicon = A.icon || deficon + var/curstate = A.icon_state || defstate - if(!curicon) - noIcon = TRUE // Do not render this object. - - var/curstate - if(A.icon_state) - curstate = A.icon_state - else - curstate = defstate - - if(!noIcon && !(curstate in icon_states(curicon))) - if("" in icon_states(curicon)) - curstate = "" - else - noIcon = TRUE // Do not render this object. + if(!((noIcon = (!curicon)))) + var/curstates = icon_states(curicon) + if(!(curstate in curstates)) + if("" in curstates) + curstate = "" + else + noIcon = TRUE // Do not render this object. var/curdir - if(A.dir != 2) - curdir = A.dir - else + var/base_icon_dir //We'll use this to get the icon state to display if not null BUT NOT pass it to overlays as the dir we have + + //These should use the parent's direction (most likely) + if(!A.dir || A.dir == SOUTH) curdir = defdir - - var/curblend - if(A.blend_mode == BLEND_DEFAULT) - curblend = defblend else - curblend = A.blend_mode + curdir = A.dir - // Layers will be a sorted list of icons/overlays, based on the order in which they are displayed - var/list/layers = list() - var/image/copy - // Add the atom's icon itself, without pixel_x/y offsets. - if(!noIcon) - copy = image(icon=curicon, icon_state=curstate, layer=A.layer, dir=curdir) - copy.color = A.color - copy.alpha = A.alpha - copy.blend_mode = curblend - layers[copy] = A.layer - - // Loop through the underlays, then overlays, sorting them into the layers list - var/list/process = A.underlays // Current list being processed - var/pSet=0 // Which list is being processed: 0 = underlays, 1 = overlays - var/curIndex=1 // index of 'current' in list being processed - var/current // Current overlay being sorted - var/currentLayer // Calculated layer that overlay appears on (special case for FLOAT_LAYER) - var/compare // The overlay 'add' is being compared against - var/cmpIndex // The index in the layers list of 'compare' - while(TRUE) - if(curIndex<=process.len) - current = process[curIndex] - if(!current) - curIndex++ //Skip this bad layer item - continue - currentLayer = current:layer - if(currentLayer<0) // Special case for FLY_LAYER - if(currentLayer <= -1000) return flat - if(pSet == 0) // Underlay - currentLayer = A.layer+currentLayer/1000 - else // Overlay - currentLayer = A.layer+(1000+currentLayer)/1000 - - // Sort add into layers list - for(cmpIndex=1,cmpIndex<=layers.len,cmpIndex++) - compare = layers[cmpIndex] - if(currentLayer < layers[compare]) // Associated value is the calculated layer - layers.Insert(cmpIndex,current) - layers[current] = currentLayer - break - if(cmpIndex>layers.len) // Reached end of list without inserting - layers[current]=currentLayer // Place at end - - curIndex++ - - if(curIndex>process.len) - if(pSet == 0) // Switch to overlays - curIndex = 1 - pSet = 1 - process = A.overlays - else // All done + //Try to remove/optimize this section ASAP, CPU hog. + //Determines if there's directionals. + if(!noIcon && curdir != SOUTH) + var/exist = FALSE + var/static/list/checkdirs = list(NORTH, EAST, WEST) + for(var/i in checkdirs) //Not using GLOB for a reason. + if(length(icon_states(icon(curicon, curstate, i)))) + exist = TRUE break + if(!exist) + base_icon_dir = SOUTH + // - var/icon/add // Icon of overlay being added + if(!base_icon_dir) + base_icon_dir = curdir - // Current dimensions of flattened icon - var/flatX1 = 1 - var/flatX2 = flat.Width() - var/flatY1 = 1 - var/flatY2 = flat.Height() - // Dimensions of overlay being added - var/addX1 - var/addX2 - var/addY1 - var/addY2 + ASSERT(!BLEND_DEFAULT) //I might just be stupid but lets make sure this define is 0. - for(var/I in layers) + var/curblend = A.blend_mode || defblend - if(I:alpha == 0) - continue + if(A.overlays.len || A.underlays.len) + var/icon/flat = BLANK + // Layers will be a sorted list of icons/overlays, based on the order in which they are displayed + var/list/layers = list() + var/image/copy + // Add the atom's icon itself, without pixel_x/y offsets. + if(!noIcon) + copy = image(icon=curicon, icon_state=curstate, layer=A.layer, dir=base_icon_dir) + copy.color = A.color + copy.alpha = A.alpha + copy.blend_mode = curblend + layers[copy] = A.layer - if(I == copy) // 'I' is an /image based on the object being flattened. - curblend = BLEND_OVERLAY - add = icon(I:icon, I:icon_state, I:dir) - // This checks for a silent failure mode of the icon routine. If the requested dir - // doesn't exist in this icon state it returns a 32x32 icon with 0 alpha. - if(I:dir != SOUTH && add.Width() == 32 && add.Height() == 32) - // Check every pixel for blank (computationally expensive, but the process is limited - // by the amount of film on the station, only happens when we hit something that's - // turned, and bails at the very first pixel it sees. - var/blankpixel; - for(var/y;y<=32;y++) - for(var/x;x<32;x++) - blankpixel = isnull(add.GetPixel(x,y)) - if(!blankpixel) - break - if(!blankpixel) + // Loop through the underlays, then overlays, sorting them into the layers list + for(var/process_set in 0 to 1) + var/list/process = process_set? A.overlays : A.underlays + for(var/i in 1 to process.len) + var/image/current = process[i] + if(!current) + continue + if(current.plane != FLOAT_PLANE && current.plane != A.plane) + continue + var/current_layer = current.layer + if(current_layer < 0) + if(current_layer <= -1000) + return flat + current_layer = process_set + A.layer + current_layer / 1000 + + for(var/p in 1 to layers.len) + var/image/cmp = layers[p] + if(current_layer < layers[cmp]) + layers.Insert(p, current) break - // If we ALWAYS returned a null (which happens when GetPixel encounters something with alpha 0) - if(blankpixel) - // Pull the default direction. - add = icon(I:icon, I:icon_state) - else // 'I' is an appearance object. - add = getFlatIcon(new/image(I), curdir, curicon, curstate, curblend) + layers[current] = current_layer - // Find the new dimensions of the flat icon to fit the added overlay - addX1 = min(flatX1, I:pixel_x+1) - addX2 = max(flatX2, I:pixel_x+add.Width()) - addY1 = min(flatY1, I:pixel_y+1) - addY2 = max(flatY2, I:pixel_y+add.Height()) + //sortTim(layers, /proc/cmp_image_layer_asc) - if(addX1!=flatX1 || addX2!=flatX2 || addY1!=flatY1 || addY2!=flatY2) - // Resize the flattened icon so the new icon fits - flat.Crop(addX1-flatX1+1, addY1-flatY1+1, addX2-flatX1+1, addY2-flatY1+1) - flatX1=addX1;flatX2=addX2 - flatY1=addY1;flatY2=addY2 + var/icon/add // Icon of overlay being added - // Blend the overlay into the flattened icon - flat.Blend(add, blendMode2iconMode(curblend), I:pixel_x + 2 - flatX1, I:pixel_y + 2 - flatY1) + // Current dimensions of flattened icon + var/list/flat_size = list(1, flat.Width(), 1, flat.Height()) + // Dimensions of overlay being added + var/list/add_size[4] - if(A.color) - flat.Blend(A.color, ICON_MULTIPLY) - if(A.alpha < 255) - flat.Blend(rgb(255, 255, 255, A.alpha), ICON_MULTIPLY) + for(var/V in layers) + var/image/I = V + if(I.alpha == 0) + continue - return icon(flat, "", SOUTH) + if(I == copy) // 'I' is an /image based on the object being flattened. + curblend = BLEND_OVERLAY + add = icon(I.icon, I.icon_state, base_icon_dir) + else // 'I' is an appearance object. + add = getFlatIcon(image(I), curdir, curicon, curstate, curblend, FALSE, no_anim) + if(!add) + continue + // Find the new dimensions of the flat icon to fit the added overlay + add_size = list( + min(flatX1, I.pixel_x+1), + max(flatX2, I.pixel_x+add.Width()), + min(flatY1, I.pixel_y+1), + max(flatY2, I.pixel_y+add.Height()) + ) + + if(flat_size ~! add_size) + // Resize the flattened icon so the new icon fits + flat.Crop( + addX1 - flatX1 + 1, + addY1 - flatY1 + 1, + addX2 - flatX1 + 1, + addY2 - flatY1 + 1 + ) + flat_size = add_size.Copy() + + // Blend the overlay into the flattened icon + flat.Blend(add, blendMode2iconMode(curblend), I.pixel_x + 2 - flatX1, I.pixel_y + 2 - flatY1) + + if(A.color) + if(islist(A.color)) + flat.MapColors(arglist(A.color)) + else + flat.Blend(A.color, ICON_MULTIPLY) + + if(A.alpha < 255) + flat.Blend(rgb(255, 255, 255, A.alpha), ICON_MULTIPLY) + + if(no_anim) + //Clean up repeated frames + var/icon/cleaned = new /icon() + cleaned.Insert(flat, "", SOUTH, 1, 0) + . = cleaned + else + . = icon(flat, "", SOUTH) + else //There's no overlays. + if(!noIcon) + SET_SELF(.) + + //Clear defines + #undef flatX1 + #undef flatX2 + #undef flatY1 + #undef flatY2 + #undef addX1 + #undef addX2 + #undef addY1 + #undef addY2 + + #undef INDEX_X_LOW + #undef INDEX_X_HIGH + #undef INDEX_Y_LOW + #undef INDEX_Y_HIGH + + #undef BLANK + #undef SET_SELF /proc/getIconMask(atom/A)//By yours truly. Creates a dynamic mask for a mob/whatever. /N var/icon/alpha_mask = new(A.icon,A.icon_state)//So we want the default icon and icon state of A. - for(var/I in A.overlays)//For every image in overlays. var/image/I will not work, don't try it. - if(I:layer>A.layer) continue//If layer is greater than what we need, skip it. - var/icon/image_overlay = new(I:icon,I:icon_state)//Blend only works with icon objects. + for(var/V in A.overlays)//For every image in overlays. var/image/I will not work, don't try it. + var/image/I = V + if(I.layer>A.layer) + continue//If layer is greater than what we need, skip it. + var/icon/image_overlay = new(I.icon,I.icon_state)//Blend only works with icon objects. //Also, icons cannot directly set icon_state. Slower than changing variables but whatever. alpha_mask.Blend(image_overlay,ICON_OR)//OR so they are lumped together in a nice overlay. return alpha_mask//And now return the mask. From 9833f4c7f0168fb132ae01e1086e170937e78eb3 Mon Sep 17 00:00:00 2001 From: TDSSS <32099540+TDSSS@users.noreply.github.com> Date: Thu, 9 May 2019 02:10:39 +0200 Subject: [PATCH 126/196] Initial commit --- code/game/machinery/portable_turret.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index e3ba1e642a9..8f542a2ea3c 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -977,6 +977,7 @@ var/list/turret_icons /atom/movable/porta_turret_cover icon = 'icons/obj/turrets.dmi' + anchored = TRUE // Syndicate turrets /obj/machinery/porta_turret/syndicate From 3d90ccbfb78a2723ac47ff4c8b5673c1ca513a26 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 8 May 2019 20:15:24 -0400 Subject: [PATCH 127/196] nevermind, just generic fixes --- code/__DEFINES/layers.dm | 36 +++++--- code/_onclick/hud/blob_overmind.dm | 3 + code/_onclick/hud/picture_in_picture.dm | 2 +- code/_onclick/hud/screen_objects.dm | 19 ++-- code/datums/components/squeak.dm | 28 +++--- code/game/atoms_movable.dm | 7 +- code/modules/mob/dead/dead.dm | 23 +---- code/modules/mob/dead/observer/observer.dm | 40 ++++---- .../mob/living/carbon/alien/larva/powers.dm | 4 +- code/modules/mob/living/carbon/brain/MMI.dm | 4 +- code/modules/mob/living/carbon/brain/brain.dm | 4 +- code/modules/mob/living/carbon/carbon.dm | 14 +-- .../mob/living/carbon/human/inventory.dm | 92 ++++++++++--------- .../mob/living/carbon/human/update_icons.dm | 2 +- .../modules/mob/living/carbon/slime/powers.dm | 6 +- code/modules/mob/living/living.dm | 3 +- .../living/simple_animal/friendly/mouse.dm | 6 +- code/modules/mob/living/update_status.dm | 4 +- code/modules/mob/mob_grab.dm | 6 +- 19 files changed, 141 insertions(+), 162 deletions(-) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 26894d3e6ea..db88f46a676 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -85,23 +85,29 @@ #define ABOVE_LIGHTING_PLANE 16 #define ABOVE_LIGHTING_LAYER 16 -#define BYOND_LIGHTING_PLANE 17 -#define BYOND_LIGHTING_LAYER 17 +#define FLOOR_OPENSPACE_PLANE 17 +#define OPENSPACE_LAYER 17 + +#define BYOND_LIGHTING_PLANE 18 +#define BYOND_LIGHTING_LAYER 18 + +#define CAMERA_STATIC_PLANE 19 +#define CAMERA_STATIC_LAYER 19 //HUD layer defines -#define FULLSCREEN_PLANE 18 -#define FLASH_LAYER 18 -#define FULLSCREEN_LAYER 18.1 -#define UI_DAMAGE_LAYER 18.2 -#define BLIND_LAYER 18.3 -#define CRIT_LAYER 18.4 -#define CURSE_LAYER 18.5 +#define FULLSCREEN_PLANE 20 +#define FLASH_LAYER 20 +#define FULLSCREEN_LAYER 20.1 +#define UI_DAMAGE_LAYER 20.2 +#define BLIND_LAYER 20.3 +#define CRIT_LAYER 20.4 +#define CURSE_LAYER 20.5 -#define HUD_PLANE 19 -#define HUD_LAYER 19 -#define ABOVE_HUD_PLANE 20 -#define ABOVE_HUD_LAYER 20 +#define HUD_PLANE 21 +#define HUD_LAYER 21 +#define ABOVE_HUD_PLANE 22 +#define ABOVE_HUD_LAYER 22 -#define SPLASHSCREEN_LAYER 21 -#define SPLASHSCREEN_PLANE 21 \ No newline at end of file +#define SPLASHSCREEN_LAYER 23 +#define SPLASHSCREEN_PLANE 23 \ No newline at end of file diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm index feb57d83c05..6fe3a781642 100644 --- a/code/_onclick/hud/blob_overmind.dm +++ b/code/_onclick/hud/blob_overmind.dm @@ -141,6 +141,9 @@ blobpwrdisplay.name = "blob power" blobpwrdisplay.icon_state = "block" blobpwrdisplay.screen_loc = ui_health + blobpwrdisplay.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + blobpwrdisplay.layer = ABOVE_HUD_LAYER + blobpwrdisplay.plane = ABOVE_HUD_PLANE static_inventory += blobpwrdisplay blobhealthdisplay = new /obj/screen() diff --git a/code/_onclick/hud/picture_in_picture.dm b/code/_onclick/hud/picture_in_picture.dm index bbac6e36df3..e011aea037c 100644 --- a/code/_onclick/hud/picture_in_picture.dm +++ b/code/_onclick/hud/picture_in_picture.dm @@ -1,7 +1,7 @@ /obj/screen/movable/pic_in_pic name = "Picture-in-picture" screen_loc = "CENTER" - plane = GAME_PLANE + plane = FLOOR_PLANE var/atom/center var/width = 0 var/height = 0 diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index aeda1e5baa6..c583617ac23 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -9,9 +9,10 @@ /obj/screen name = "" icon = 'icons/mob/screen_gen.dmi' - layer = HUD_LAYER_SCREEN - plane = ABOVE_HUD_PLANE - unacidable = 1 + layer = HUD_LAYER + plane = HUD_PLANE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF + unacidable = TRUE var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/datum/hud/hud = null appearance_flags = NO_CLIENT_COLOR @@ -36,6 +37,8 @@ /obj/screen/close name = "close" + layer = ABOVE_HUD_LAYER + plane = ABOVE_HUD_PLANE /obj/screen/close/Click() if(master) @@ -47,8 +50,6 @@ /obj/screen/drop name = "drop" icon_state = "act_drop" - layer = HUD_LAYER - plane = HUD_PLANE /obj/screen/drop/Click() usr.drop_item_v() @@ -144,9 +145,7 @@ name = "resist" icon = 'icons/mob/screen_midnight.dmi' icon_state = "act_resist" - layer = HUD_LAYER - plane = HUD_PLANE - + /obj/screen/resist/Click() if(isliving(usr)) var/mob/living/L = usr @@ -329,8 +328,6 @@ /obj/screen/inventory var/slot_id //The indentifier for the slot. It has nothing to do with ID cards. var/list/object_overlays = list() - layer = HUD_LAYER - plane = HUD_PLANE /obj/screen/inventory/MouseEntered() ..() @@ -420,8 +417,6 @@ return 1 /obj/screen/swap_hand - layer = HUD_LAYER - plane = HUD_PLANE name = "swap hand" /obj/screen/swap_hand/Click() diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index 3fe88f7d0e9..e5b948f4f26 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -1,5 +1,3 @@ -// Squeak component ported over from tg - /datum/component/squeak var/static/list/default_squeak_sounds = list('sound/items/toysqueak1.ogg'=1, 'sound/items/toysqueak2.ogg'=1, 'sound/items/toysqueak3.ogg'=1) var/list/override_squeak_sounds @@ -49,21 +47,12 @@ else playsound(parent, pickweight(override_squeak_sounds), volume, 1, -1) -/datum/component/squeak/proc/step_squeak(datum/source, mob/living/carbon/human/H) - if(H.m_intent == MOVE_INTENT_RUN) - if(steps > step_delay) - play_squeak() - steps = 0 - else - steps++ - else +/datum/component/squeak/proc/step_squeak() + if(steps > step_delay) play_squeak() - -/datum/component/squeak/proc/on_equip(datum/source, mob/equipper, slot) - RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react, TRUE) - -/datum/component/squeak/proc/on_drop(datum/source, mob/user) - UnregisterSignal(user, COMSIG_MOVABLE_DISPOSING) + steps = 0 + else + steps++ /datum/component/squeak/proc/play_squeak_crossed(atom/movable/AM) if(isitem(AM)) @@ -83,6 +72,13 @@ last_use = world.time play_squeak() +/datum/component/squeak/proc/on_equip(datum/source, mob/equipper, slot) + RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react, TRUE) + +/datum/component/squeak/proc/on_drop(datum/source, mob/user) + UnregisterSignal(user, COMSIG_MOVABLE_DISPOSING) + +// Disposal pipes related shit /datum/component/squeak/proc/disposing_react(datum/source, obj/structure/disposalholder/holder, obj/machinery/disposal/source) //We don't need to worry about unregistering this signal as it will happen for us automaticaly when the holder is qdeleted RegisterSignal(holder, COMSIG_ATOM_DIR_CHANGE, .proc/holder_dir_change) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index e962365451e..d1bee2bb62e 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -185,11 +185,12 @@ . = 0 // Called after a successful Move(). By this point, we've already moved -/atom/movable/proc/Moved(atom/OldLoc, Dir) - if(!inertia_moving) +/atom/movable/proc/Moved(atom/OldLoc, Dir, Forced = FALSE) + SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED, OldLoc, Dir, Forced) + if (!inertia_moving) inertia_next_move = world.time + inertia_move_delay newtonian_move(Dir) - return 1 + return TRUE // Previously known as HasEntered() // This is automatically called when something enters your square diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index ca868b5e88f..f34aa75cd5e 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -1,23 +1,4 @@ /mob/dead/forceMove(atom/destination) - // Overriden from code/game/atoms_movable.dm#141 to prevent things like mice squeaking when ghosts walk on them. - // Same as parent, except that it does not include Uncrossed or Crossed calls. - var/turf/old_loc = loc + var/oldloc = loc loc = destination - - if(old_loc) - old_loc.Exited(src, destination) - - if(destination) - destination.Entered(src) - - if(isturf(destination) && opacity) - var/turf/new_loc = destination - new_loc.reconsider_lights() - - if(isturf(old_loc) && opacity) - old_loc.reconsider_lights() - - for(var/datum/light_source/L in light_sources) - L.source_atom.update_light() - - return 1 \ No newline at end of file + Moved(oldloc, NONE, TRUE) \ No newline at end of file diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3bc9d279eb9..57cf90ddd9a 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -10,7 +10,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) desc = "It's a g-g-g-g-ghooooost!" //jinkies! icon = 'icons/mob/mob.dmi' icon_state = "ghost" - layer = 4 + layer = GHOST_LAYER stat = DEAD density = 0 canmove = 0 @@ -228,29 +228,25 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/Move(NewLoc, direct) following = null - dir = direct - ghostimage.dir = dir + setDir(direct) + ghostimage.setDir(dir) + + var/oldloc = loc + if(NewLoc) forceMove(NewLoc) - return - forceMove(get_turf(src)) //Get out of closets and such as a ghost - if((direct & NORTH) && y < world.maxy) - y++ - else if((direct & SOUTH) && y > 1) - y-- - if((direct & EAST) && x < world.maxx) - x++ - else if((direct & WEST) && x > 1) - x-- + else + forceMove(get_turf(src)) //Get out of closets and such as a ghost + if((direct & NORTH) && y < world.maxy) + y++ + else if((direct & SOUTH) && y > 1) + y-- + if((direct & EAST) && x < world.maxx) + x++ + else if((direct & WEST) && x > 1) + x-- - for(var/obj/effect/step_trigger/S in locate(x, y, z)) //<-- this is dumb - S.Crossed(src) - - var/area/A = get_area(src) - if(A) - A.Entered(src) - - ..() + Moved(oldloc, direct) /mob/dead/observer/can_use_hands() return 0 @@ -399,7 +395,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/area/A = input("Area to jump to", "BOOYEA") as null|anything in ghostteleportlocs var/area/thearea = ghostteleportlocs[A] - + if(!thearea) return diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index f1076721cf1..27837dc7cf5 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -7,8 +7,8 @@ if(stat != CONSCIOUS) return - if(layer != TURF_LAYER+0.2) - layer = TURF_LAYER+0.2 + if(layer != ABOVE_NORMAL_TURF_LAYER) + layer = ABOVE_NORMAL_TURF_LAYER visible_message("[src] scurries to the ground!", "You are now hiding.") else layer = MOB_LAYER diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 2e4d3e8efd6..6b194315f1d 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -44,7 +44,7 @@ visible_message("[user] sticks \a [O] into \the [src].") brainmob = B.brainmob B.brainmob = null - brainmob.loc = src + brainmob.forceMove(src) brainmob.container = src brainmob.stat = CONSCIOUS GLOB.respawnable_list -= brainmob @@ -152,7 +152,7 @@ held_brain.name = "\the [brainmob.name]'s [initial(held_brain.name)]" brainmob.container = null//Reset brainmob mmi var. - brainmob.loc = held_brain//Throw mob into brain. + brainmob.forceMove(held_brain) //Throw mob into brain. GLOB.respawnable_list += brainmob GLOB.living_mob_list -= brainmob//Get outta here held_brain.brainmob = brainmob//Set the brain to use the brainmob diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index 0f7d4230587..df0afa62f49 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -67,10 +67,10 @@ /mob/living/carbon/brain/on_forcemove(atom/newloc) if(container) - container.loc = newloc + container.forceMove(newloc) else //something went very wrong. CRASH("Brainmob without container.") - loc = container + forceMove(container) /* This will return true if the brain has a container that leaves it less helpless than a naked brain diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 44a333fbe44..1433b9c3358 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -72,7 +72,7 @@ if(prob(src.getBruteLoss() - 50)) for(var/atom/movable/A in stomach_contents) - A.loc = loc + A.forceMove(drop_location()) stomach_contents.Remove(A) src.gib() @@ -833,7 +833,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, to_chat(src, "You successfully remove [I].") if(I == handcuffed) - handcuffed.loc = loc + handcuffed.forceMove(drop_location()) handcuffed.dropped(src) handcuffed = null if(buckled && buckled.buckle_requires_restraints) @@ -841,7 +841,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, update_handcuffed() return if(I == legcuffed) - legcuffed.loc = loc + legcuffed.forceMove(drop_location()) legcuffed.dropped() legcuffed = null update_inv_legcuffed() @@ -935,7 +935,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, if(client) client.screen -= W if(W) - W.loc = loc + W.forceMove(drop_location()) W.dropped(src) if(W) W.layer = initial(W.layer) @@ -947,7 +947,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, if(client) client.screen -= W if(W) - W.loc = loc + W.forceMove(drop_location()) W.dropped(src) if(W) W.layer = initial(W.layer) @@ -1141,7 +1141,7 @@ so that different stomachs can handle things in different ways VB*/ sight = initial(sight) lighting_alpha = initial(lighting_alpha) - + for(var/obj/item/organ/internal/cyberimp/eyes/E in internal_organs) sight |= E.vision_flags if(E.see_in_dark) @@ -1160,6 +1160,6 @@ so that different stomachs can handle things in different ways VB*/ sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) sync_lighting_plane_alpha() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 9e6ab986395..e68f5652b01 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -187,82 +187,85 @@ //This is an UNSAFE proc. Use mob_can_equip() before calling this one! Or rather use equip_to_slot_if_possible() or advanced_equip_to_slot_if_possible() //set redraw_mob to 0 if you don't wish the hud to be updated - if you're doing it manually in your own proc. -/mob/living/carbon/human/equip_to_slot(obj/item/W as obj, slot, redraw_mob = 1) - if(!slot) return - if(!istype(W)) return - if(!has_organ_for_slot(slot)) return +/mob/living/carbon/human/equip_to_slot(obj/item/I, slot, redraw_mob = 1) + if(!slot) + return + if(!istype(I)) + return + if(!has_organ_for_slot(slot)) + return - if(W == src.l_hand) + if(I == src.l_hand) src.l_hand = null update_inv_l_hand() //So items actually disappear from hands. - else if(W == src.r_hand) + else if(I == src.r_hand) src.r_hand = null update_inv_r_hand() - W.screen_loc = null - W.loc = src - W.equipped(src, slot) - W.layer = ABOVE_HUD_LAYER - W.plane = ABOVE_HUD_PLANE + I.screen_loc = null + I.forceMove(src) + I.equipped(src, slot) + I.layer = ABOVE_HUD_LAYER + I.plane = ABOVE_HUD_PLANE switch(slot) if(slot_back) - back = W + back = I update_inv_back(redraw_mob) if(slot_wear_mask) - wear_mask = W + wear_mask = I if((wear_mask.flags & BLOCKHAIR) || (wear_mask.flags & BLOCKHEADHAIR)) update_hair(redraw_mob) //rebuild hair update_fhair(redraw_mob) update_head_accessory(redraw_mob) if(hud_list.len) sec_hud_set_ID() - wear_mask_update(W, toggle_off = TRUE) + wear_mask_update(I, toggle_off = TRUE) update_inv_wear_mask(redraw_mob) if(slot_handcuffed) - handcuffed = W + handcuffed = I update_inv_handcuffed(redraw_mob) if(slot_legcuffed) - legcuffed = W + legcuffed = I update_inv_legcuffed(redraw_mob) if(slot_l_hand) - l_hand = W + l_hand = I update_inv_l_hand(redraw_mob) if(slot_r_hand) - r_hand = W + r_hand = I update_inv_r_hand(redraw_mob) if(slot_belt) - belt = W + belt = I update_inv_belt(redraw_mob) if(slot_wear_id) - wear_id = W + wear_id = I if(hud_list.len) sec_hud_set_ID() update_inv_wear_id(redraw_mob) if(slot_wear_pda) - wear_pda = W + wear_pda = I update_inv_wear_pda(redraw_mob) if(slot_l_ear) - l_ear = W + l_ear = I if(l_ear.slot_flags & SLOT_TWOEARS) - var/obj/item/clothing/ears/offear/O = new(W) - O.loc = src + var/obj/item/clothing/ears/offear/O = new(I) + O.forceMove(src) r_ear = O O.layer = ABOVE_HUD_LAYER O.plane = ABOVE_HUD_PLANE update_inv_ears(redraw_mob) if(slot_r_ear) - r_ear = W + r_ear = I if(r_ear.slot_flags & SLOT_TWOEARS) - var/obj/item/clothing/ears/offear/O = new(W) - O.loc = src + var/obj/item/clothing/ears/offear/O = new(I) + O.forceMove(src) l_ear = O O.layer = ABOVE_HUD_LAYER O.plane = ABOVE_HUD_PLANE update_inv_ears(redraw_mob) if(slot_glasses) - glasses = W - var/obj/item/clothing/glasses/G = W + glasses = I + var/obj/item/clothing/glasses/G = I if(G.tint) update_tint() if(G.prescription) @@ -272,49 +275,48 @@ update_inv_glasses(redraw_mob) update_client_colour() if(slot_gloves) - gloves = W + gloves = I update_inv_gloves(redraw_mob) if(slot_head) - head = W + head = I if((head.flags & BLOCKHAIR) || (head.flags & BLOCKHEADHAIR)) update_hair(redraw_mob) //rebuild hair update_fhair(redraw_mob) update_head_accessory(redraw_mob) // paper + bandanas - if(istype(W, /obj/item/clothing/head)) - var/obj/item/clothing/head/hat = W + if(istype(I, /obj/item/clothing/head)) + var/obj/item/clothing/head/hat = I if(hat.vision_flags || hat.see_in_dark || !isnull(hat.lighting_alpha)) update_sight() - head_update(W) + head_update(I) update_inv_head(redraw_mob) if(slot_shoes) - shoes = W + shoes = I update_inv_shoes(redraw_mob) if(slot_wear_suit) - wear_suit = W + wear_suit = I update_inv_wear_suit(redraw_mob) if(slot_w_uniform) - w_uniform = W + w_uniform = I update_inv_w_uniform(redraw_mob) if(slot_l_store) - l_store = W + l_store = I update_inv_pockets(redraw_mob) if(slot_r_store) - r_store = W + r_store = I update_inv_pockets(redraw_mob) if(slot_s_store) - s_store = W + s_store = I update_inv_s_store(redraw_mob) if(slot_in_backpack) - if(get_active_hand() == W) - unEquip(W) - W.loc = back + if(get_active_hand() == I) + unEquip(I) + I.forceMove(back) if(slot_tie) var/obj/item/clothing/under/uniform = src.w_uniform - uniform.attackby(W,src) + uniform.attackby(I, src) else to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") - return /mob/living/carbon/human/put_in_hands(obj/item/W) if(!W) return 0 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 6e540c4cf5a..6133c5150e1 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -597,7 +597,7 @@ var/global/list/damage_icon_parts = list() client.screen -= thing // WHAT THE FUCKING FUCK BAY GODDAMNIT // **I FUCKING HATE YOU AAAAAAAAAA** if(thing) // - thing.loc = loc // + thing.forceMove(drop_location()) // thing.dropped(src) // thing.layer = initial(thing.layer) thing.plane = initial(thing.plane) diff --git a/code/modules/mob/living/carbon/slime/powers.dm b/code/modules/mob/living/carbon/slime/powers.dm index 23918680197..40f9060ee63 100644 --- a/code/modules/mob/living/carbon/slime/powers.dm +++ b/code/modules/mob/living/carbon/slime/powers.dm @@ -47,7 +47,7 @@ /mob/living/carbon/slime/proc/Feedon(var/mob/living/M) Victim = M - src.loc = M.loc + forceMove(M.loc) canmove = 0 anchored = 1 var/lastnut = nutrition @@ -64,7 +64,7 @@ canmove = 0 if(Adjacent(Victim)) - loc = M.loc + forceMove(M.loc) if(iscarbon(Victim)) Victim.adjustCloneLoss(rand(5,6)) @@ -163,7 +163,7 @@ /mob/living/carbon/slime/proc/UpdateFeed(var/mob/M) if(Victim) if(Victim == M) - loc = M.loc // simple "attach to head" effect! + forceMove(M.loc) // simple "attach to head" effect! /mob/living/carbon/slime/verb/Evolve() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9af52718ab3..dbf2cda075d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -519,7 +519,6 @@ var/turf/T = loc . = ..() if(.) - SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED) handle_footstep(loc) step_count++ @@ -972,7 +971,7 @@ /mob/living/onTransitZ(old_z,new_z) ..() - update_z(new_z) + update_z(new_z) /mob/living/proc/owns_soul() if(mind) diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 869c663e312..3b9b2d720ca 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -35,8 +35,9 @@ can_collar = 1 gold_core_spawnable = CHEM_MOB_SPAWN_FRIENDLY -/mob/living/simple_animal/mouse/Initialize() +/mob/living/simple_animal/mouse/Initialize(mapload) . = ..() + AddComponent(/datum/component/squeak, list('sound/creatures/mousesqueak.ogg' = 1), 100) /mob/living/simple_animal/mouse/handle_automated_speech() ..() @@ -92,10 +93,9 @@ /mob/living/simple_animal/mouse/Crossed(AM as mob|obj) if(ishuman(AM)) - if(stat == CONSCIOUS) + if(!stat) var/mob/M = AM to_chat(M, "[bicon(src)] Squeek!") - SEND_SOUND(M, squeak_sound) ..() /mob/living/simple_animal/mouse/death(gibbed) diff --git a/code/modules/mob/living/update_status.dm b/code/modules/mob/living/update_status.dm index bec41f68698..39357533abb 100644 --- a/code/modules/mob/living/update_status.dm +++ b/code/modules/mob/living/update_status.dm @@ -93,9 +93,9 @@ density = !lying if(lying) if(layer == initial(layer)) - layer = MOB_LAYER - 0.2 + layer = LYING_MOB_LAYER //so mob lying always appear behind standing mobs else - if(layer == MOB_LAYER - 0.2) + if(layer == LYING_MOB_LAYER) layer = initial(layer) update_transform() diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index a4a52d4ef1e..077164be6b7 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -214,12 +214,12 @@ shift = -10 adir = assailant.dir affecting.setDir(assailant.dir) - affecting.loc = assailant.loc + affecting.forceMove(assailant.loc) if(GRAB_KILL) shift = 0 adir = 1 affecting.setDir(SOUTH)//face up - affecting.loc = assailant.loc + affecting.forceMove(assailant.loc) switch(adir) if(NORTH) @@ -387,7 +387,7 @@ if(M == assailant && state >= GRAB_AGGRESSIVE) //no eatin unless you have an agressive grab if(checkvalid(user, affecting)) //wut var/mob/living/carbon/attacker = user - + if(affecting.buckled) to_chat(user, "[affecting] is buckled!") return From 967ebb6805231d34e5481c05d1da93de8edf6898 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 02:21:38 +0200 Subject: [PATCH 128/196] Update water plane --- code/game/turfs/simulated/floor/misc_floor.dm | 4 +++- code/game/turfs/unsimulated/beach.dm | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 6cfea0cb8f6..06fdcdca18f 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -60,7 +60,9 @@ /turf/simulated/floor/beach/water/New() ..() - overlays += image("icon"='icons/misc/beach.dmi',"icon_state"="water5","layer"=MOB_LAYER+0.1) + var/image/overlay_image = image('icons/misc/beach.dmi', icon_state = "water5", layer = ABOVE_MOB_LAYER) + overlay_image.plane = GAME_PLANE + overlays += overlay_image /turf/simulated/floor/beach/water/Entered(atom/movable/AM, atom/OldLoc) . = ..() diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm index b7c76359c46..15650c1f00e 100644 --- a/code/game/turfs/unsimulated/beach.dm +++ b/code/game/turfs/unsimulated/beach.dm @@ -7,7 +7,9 @@ /turf/unsimulated/beach/New() ..() if(water_overlay_image) - overlays += image("icon"='icons/misc/beach.dmi',"icon_state"= water_overlay_image,"layer"=MOB_LAYER+0.1) + var/image/overlay_image = image('icons/misc/beach.dmi', icon_state = water_overlay_image, layer = ABOVE_MOB_LAYER) + overlay_image.plane = GAME_PLANE + overlays += overlay_image /turf/unsimulated/beach/sand name = "Sand" From 70cc1de3436d1e1e19f3a70471289787e596903d Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 8 May 2019 21:01:41 -0400 Subject: [PATCH 129/196] abductor stuff --- code/game/gamemodes/miniantags/abduction/machinery/pad.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index f7ff2864608..697d173716a 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -7,7 +7,8 @@ var/turf/teleport_target /obj/machinery/abductor/pad/proc/Warp(mob/living/target) - target.Move(src.loc) + if(!target.buckled) + target.forceMove(get_turf(src)) /obj/machinery/abductor/pad/proc/Send() if(teleport_target == null) From 0ed3a09f547f4f83fcef09f587e9cd7ac467cb60 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 8 May 2019 21:19:39 -0400 Subject: [PATCH 130/196] Automatic changelog generation for PR #11474 [ci skip] --- html/changelogs/AutoChangeLog-pr-11474.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11474.yml diff --git a/html/changelogs/AutoChangeLog-pr-11474.yml b/html/changelogs/AutoChangeLog-pr-11474.yml new file mode 100644 index 00000000000..7e793d7bc20 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11474.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - tweak: "Morgue updates happen slightly better now" From 75bfb770070e32387e42c43a0b8399fda7316422 Mon Sep 17 00:00:00 2001 From: Kyep Date: Wed, 8 May 2019 19:12:53 -0700 Subject: [PATCH 131/196] fix for $5+ donors not getting more loadout points --- code/modules/client/client procs.dm | 8 +++++++- code/modules/client/preference/preferences.dm | 2 -- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 61e9dec627a..00a9137fe05 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -74,7 +74,7 @@ //Admin PM if(href_list["priv_msg"]) var/client/C = locate(href_list["priv_msg"]) - + if(!C) // Might be a stealthmin ID, so pass it in straight C = href_list["priv_msg"] else if(C.UID() != href_list["priv_msg"]) @@ -432,6 +432,7 @@ if(check_rights(R_ADMIN, 0, mob)) // Yes, the mob is required, regardless of other examples in this file, it won't work otherwise donator_level = DONATOR_LEVEL_MAX + donor_loadout_points() return //Donator stuff. @@ -443,8 +444,13 @@ donator_level = 0 return donator_level = text2num(query_donor_select.item[2]) + donor_loadout_points() break +/client/proc/donor_loadout_points() + if(donator_level > 0 && prefs) + prefs.max_gear_slots = config.max_loadout_points + 5 + /client/proc/log_client_to_db(connectiontopic) if(IsGuestKey(key)) return diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 849898238b2..632c5053b48 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -211,8 +211,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts unlock_content = C.IsByondMember() if(unlock_content) max_save_slots = MAX_SAVE_SLOTS_MEMBER - if(C.donator_level > 0) - max_gear_slots += 5 loaded_preferences_successfully = load_preferences(C) // Do not call this with no client/C, it generates a runtime / SQL error if(loaded_preferences_successfully) From 502b8aebc51a6644474f7e31485d142c6f228ae7 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 05:09:54 +0200 Subject: [PATCH 132/196] Weather lighting fix --- code/datums/weather/weather.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 2f3a4c4bcba..f1773e9210d 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -135,6 +135,6 @@ N.color = null N.icon_state = "" N.icon = 'icons/turf/areas.dmi' - N.layer = AREA_LAYER //Just default back to normal area stuff since I assume setting a var is faster than initial - N.invisibility = INVISIBILITY_MAXIMUM + N.layer = initial(N.layer) + N.plane = initial(N.plane) N.set_opacity(FALSE) From b66ac0559ee72213b0c56915c9ce665b8e401ace Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 05:23:14 +0200 Subject: [PATCH 133/196] Add initial plane to weather --- code/datums/weather/weather.dm | 1 + code/datums/weather/weather_types/floor_is_lava.dm | 1 + 2 files changed, 2 insertions(+) diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index f1773e9210d..c6608a88a29 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -28,6 +28,7 @@ var/impacted_z_levels // The list of z-levels that this weather is actively affecting var/overlay_layer = AREA_LAYER //Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that. + var/overlay_plane = BLACKNESS_PLANE var/aesthetic = FALSE //If the weather has no purpose other than looks var/immunity_type = "storm" //Used by mobs to prevent them from being affected by the weather diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm index 6d06e3ca1ef..72f49ad5057 100644 --- a/code/datums/weather/weather_types/floor_is_lava.dm +++ b/code/datums/weather/weather_types/floor_is_lava.dm @@ -19,6 +19,7 @@ target_trait = STATION_LEVEL overlay_layer = ABOVE_OPEN_TURF_LAYER //Covers floors only + overlay_plane = FLOOR_PLANE immunity_type = "lava" From 458e59a191e72a91662247d84841292e26ab7667 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 05:53:53 +0200 Subject: [PATCH 134/196] Final weather fix --- code/datums/weather/weather.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index c6608a88a29..42700f2725f 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -122,6 +122,7 @@ for(var/V in impacted_areas) var/area/N = V N.layer = overlay_layer + N.plane = overlay_plane N.icon = 'icons/effects/weather_effects.dmi' N.invisibility = 0 N.color = weather_color From e7e1c92942b1c3b58141f4819248acc71f242d8b Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 00:06:49 -0400 Subject: [PATCH 135/196] Automatic changelog generation for PR #11493 [ci skip] --- html/changelogs/AutoChangeLog-pr-11493.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11493.yml diff --git a/html/changelogs/AutoChangeLog-pr-11493.yml b/html/changelogs/AutoChangeLog-pr-11493.yml new file mode 100644 index 00000000000..fa96ce24f35 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11493.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - bugfix: "Fixes weird behavior with ghosts being able to trigger a few things by crossing over them" From c3c8609d204c207c153e3dafd2f86d092eb7e3b0 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 00:09:17 -0400 Subject: [PATCH 136/196] Automatic changelog generation for PR #11494 [ci skip] --- html/changelogs/AutoChangeLog-pr-11494.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11494.yml diff --git a/html/changelogs/AutoChangeLog-pr-11494.yml b/html/changelogs/AutoChangeLog-pr-11494.yml new file mode 100644 index 00000000000..fee8563113e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11494.yml @@ -0,0 +1,6 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Resolved an issue where cameras couldn't take pictures of non-dynamic lighting areas, such as the holodeck or space." + - bugfix: "Resolved an issue where mobs would appear above water." + - bugfix: "Resolved an issue where radiation storms would make lighting invisible in space." From bc0749c99d60b079f2f58ba07ee9ac76ecbb89ff Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 9 May 2019 02:37:13 -0400 Subject: [PATCH 137/196] Fixes Toggles Not Saving Properly --- code/modules/client/preference/preferences_mysql.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index 731bf06496e..6b72d71bc9b 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -87,7 +87,7 @@ UI_style_alpha='[UI_style_alpha]', be_role='[sanitizeSQL(list2params(be_special))]', default_slot='[default_slot]', - toggles='[toggles]', + toggles='[num2text(toggles, 7)]', atklog='[atklog]', sound='[sound]', randomslot='[randomslot]', From a7131407f325654e5e43fdd0bc4cf2207bda4f70 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 02:50:51 -0400 Subject: [PATCH 138/196] Automatic changelog generation for PR #11498 [ci skip] --- html/changelogs/AutoChangeLog-pr-11498.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11498.yml diff --git a/html/changelogs/AutoChangeLog-pr-11498.yml b/html/changelogs/AutoChangeLog-pr-11498.yml new file mode 100644 index 00000000000..17e881fdab0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11498.yml @@ -0,0 +1,4 @@ +author: "Crazylemon and Fox McCloud" +delete-after: True +changes: + - bugfix: "Fixes toggles not properly saving" From eb95a42672b6a068a831340dead7ea74690436a2 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 9 May 2019 02:51:44 -0400 Subject: [PATCH 139/196] Fixes Ghosts Drifting --- code/modules/mob/dead/observer/observer.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 57cf90ddd9a..12b9421423a 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -226,6 +226,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp P.despawn_occupant() return +// Ghosts have no momentum, being massless ectoplasm +/mob/dead/observer/Process_Spacemove(movement_dir) + return 1 + /mob/dead/observer/Move(NewLoc, direct) following = null setDir(direct) From 461539a74373cac0e4d2360e6ec6532c5f5d6719 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 02:55:56 -0400 Subject: [PATCH 140/196] Automatic changelog generation for PR #11497 [ci skip] --- html/changelogs/AutoChangeLog-pr-11497.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11497.yml diff --git a/html/changelogs/AutoChangeLog-pr-11497.yml b/html/changelogs/AutoChangeLog-pr-11497.yml new file mode 100644 index 00000000000..d619ca03d3d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11497.yml @@ -0,0 +1,4 @@ +author: "Kyep" +delete-after: True +changes: + - bugfix: "fixed $5+ donors not getting extra loadout points." From 1b1221acd94383e6258c1affaecd1718d236d907 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 02:56:50 -0400 Subject: [PATCH 141/196] Automatic changelog generation for PR #11495 [ci skip] --- html/changelogs/AutoChangeLog-pr-11495.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11495.yml diff --git a/html/changelogs/AutoChangeLog-pr-11495.yml b/html/changelogs/AutoChangeLog-pr-11495.yml new file mode 100644 index 00000000000..aad9355db64 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11495.yml @@ -0,0 +1,4 @@ +author: "TDSSS" +delete-after: True +changes: + - bugfix: "opening turret covers now stay on top of their turret." From 0a16f72b456bba9797b98a0a366c47644f161810 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 03:08:32 -0400 Subject: [PATCH 142/196] Automatic changelog generation for PR #11499 [ci skip] --- html/changelogs/AutoChangeLog-pr-11499.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11499.yml diff --git a/html/changelogs/AutoChangeLog-pr-11499.yml b/html/changelogs/AutoChangeLog-pr-11499.yml new file mode 100644 index 00000000000..d96b64ce5fc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11499.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - bugfix: "Fixes drifting ghosts" From ab60f5418374c6f551cce4e9199d902ca19788cd Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 03:11:49 -0400 Subject: [PATCH 143/196] Automatic changelog generation for PR #11492 [ci skip] --- html/changelogs/AutoChangeLog-pr-11492.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11492.yml diff --git a/html/changelogs/AutoChangeLog-pr-11492.yml b/html/changelogs/AutoChangeLog-pr-11492.yml new file mode 100644 index 00000000000..eb870579c13 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11492.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "When a nuclear operative chooses to play as the borg instead of operative using the cyborg teleporter, ghosts will now be informed of this in their acceptance message." From 8131b3976c32c42cec91881247d5c65cfe24bd1a Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Thu, 9 May 2019 10:29:32 -0700 Subject: [PATCH 144/196] Fix style --- code/modules/admin/verbs/adminpm.dm | 10 +++++----- html/browser/common.css | 6 ++++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index f0c1d6316cf..caa051f8748 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -244,7 +244,7 @@ set category = "OOC" pm_tracker.show_ui(usr) -/client/proc/set_typing(client/target, var/value) +/client/proc/set_typing(client/target, value) if(!target) return var/datum/pm_convo/convo = target.pm_tracker.pms[key] @@ -268,15 +268,15 @@ var/read = FALSE var/typing = FALSE -/datum/pm_convo/New(var/client/C) +/datum/pm_convo/New(client/C) client = C -/datum/pm_convo/proc/add(client/sender, var/message) +/datum/pm_convo/proc/add(client/sender, message) messages.Add("[sender]: [message]") archived = FALSE read = FALSE -/datum/pm_tracker/proc/add_message(client/title, client/sender, var/message, mob/user) +/datum/pm_tracker/proc/add_message(client/title, client/sender, message, mob/user) if(!pms[title.key]) pms[title.key] = new /datum/pm_convo(title) pms[title.key].add(sender, message) @@ -332,7 +332,7 @@ popup.open() open = TRUE -/datum/pm_tracker/proc/fancy_title(var/title) +/datum/pm_tracker/proc/fancy_title(title) var/client/C = pms[title].client if(!C) return "[title] (Disconnected)" diff --git a/html/browser/common.css b/html/browser/common.css index ac093b87c61..3480183d129 100644 --- a/html/browser/common.css +++ b/html/browser/common.css @@ -357,8 +357,10 @@ div.notice width: 0px; } -@keyframes ellipsis { - to { +@keyframes ellipsis +{ + to + { width: 1.25em; } } From afc22b03edf85ac1e15cb3d5284168f5bba330d6 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 19:52:29 +0200 Subject: [PATCH 145/196] Fix X-Ray on death for simple_mobs, fix view variables damage for non-humans --- code/datums/datumvars.dm | 29 ++++++++++++----- code/modules/mob/living/carbon/alien/alien.dm | 1 + code/modules/mob/living/carbon/carbon.dm | 2 ++ code/modules/mob/living/living.dm | 10 ------ code/modules/mob/living/silicon/ai/ai.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 31 ++++++++++++++++++- 6 files changed, 56 insertions(+), 19 deletions(-) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 6fdb8a359c2..13c3fb64f33 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -1242,13 +1242,28 @@ return switch(Text) - if("brute") L.adjustBruteLoss(amount, robotic=1) - if("fire") L.adjustFireLoss(amount, robotic=1) - if("toxin") L.adjustToxLoss(amount) - if("oxygen")L.adjustOxyLoss(amount) - if("brain") L.adjustBrainLoss(amount) - if("clone") L.adjustCloneLoss(amount) - if("stamina") L.adjustStaminaLoss(amount) + if("brute") + if(ishuman(L)) + var/mob/living/carbon/human/H = L + H.adjustBruteLoss(amount, robotic = TRUE) + else + L.adjustBruteLoss(amount) + if("fire") + if(ishuman(L)) + var/mob/living/carbon/human/H = L + H.adjustFireLoss(amount, robotic = TRUE) + else + L.adjustFireLoss(amount) + if("toxin") + L.adjustToxLoss(amount) + if("oxygen") + L.adjustOxyLoss(amount) + if("brain") + L.adjustBrainLoss(amount) + if("clone") + L.adjustCloneLoss(amount) + if("stamina") + L.adjustStaminaLoss(amount) else to_chat(usr, "You caused an error. DEBUG: Text:[Text] Mob:[L]") return diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index e6dcaebf51c..ee858138f70 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -277,6 +277,7 @@ Des: Removes all infected images from the alien. grant_death_vision() return + see_invisible = initial(see_invisible) sight = SEE_MOBS if(nightvision) see_in_dark = 8 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 44a333fbe44..d748d7a5171 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1139,6 +1139,8 @@ so that different stomachs can handle things in different ways VB*/ grant_death_vision() return + see_invisible = initial(see_invisible) + see_in_dark = initial(see_in_dark) sight = initial(sight) lighting_alpha = initial(lighting_alpha) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9af52718ab3..8a53aa3c81e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1039,13 +1039,3 @@ update_transform() if("lighting_alpha") sync_lighting_plane_alpha() - -/mob/living/update_sight() - if(!client) - return - - if(stat == DEAD) - grant_death_vision() - return - - . = ..() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 54750e6afc1..80d644152f4 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1303,8 +1303,8 @@ var/list/ai_verbs_default = list( see_invisible = initial(see_invisible) see_in_dark = initial(see_in_dark) - lighting_alpha = initial(lighting_alpha) sight = initial(sight) + lighting_alpha = initial(lighting_alpha) if(aiRestorePowerRoutine) sight = sight &~ SEE_TURFS diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 365889344d2..3799daacb63 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -609,4 +609,33 @@ ..() if(AIStatus == AI_Z_OFF) SSidlenpcpool.idle_mobs_by_zlevel[old_z] -= src - toggle_ai(initial(AIStatus)) \ No newline at end of file + toggle_ai(initial(AIStatus)) + +// Simple animals will not be given night vision upon death, as that would result in issues when they are revived. +/mob/living/simple_animal/grant_death_vision() + sight |= SEE_TURFS + sight |= SEE_MOBS + sight |= SEE_OBJS + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_OBSERVER + sync_lighting_plane_alpha() + +/mob/living/simple_animal/update_sight() + if(!client) + return + + if(stat == DEAD) + grant_death_vision() + return + + see_invisible = initial(see_invisible) + see_in_dark = initial(see_in_dark) + sight = initial(sight) + + if(client.eye != src) + var/atom/A = client.eye + if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. + return + + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) + sync_lighting_plane_alpha() \ No newline at end of file From 665659bd88eefdbda3dc57ffb1d7c679d8dd5757 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Wed, 8 May 2019 00:23:56 -0700 Subject: [PATCH 146/196] Asynchronously spawn ERT --- code/datums/helper_datums/input.dm | 115 +++++++++++++++++++++ code/modules/response_team/ert.dm | 161 +++++++++++++---------------- paradise.dme | 1 + 3 files changed, 189 insertions(+), 88 deletions(-) create mode 100644 code/datums/helper_datums/input.dm diff --git a/code/datums/helper_datums/input.dm b/code/datums/helper_datums/input.dm new file mode 100644 index 00000000000..3bcf9509e37 --- /dev/null +++ b/code/datums/helper_datums/input.dm @@ -0,0 +1,115 @@ +/proc/input_async(mob/user=usr, prompt, list/choices) + var/datum/async_input/A = new(choices, prompt) + A.show(user) + return A + +/proc/input_ranked_async(mob/user=usr, prompt="Order by greatest to least preference", list/choices) + var/datum/async_input/ranked/A = new(choices, prompt) + A.show(user) + return A + +/datum/async_input + var/datum/browser/popup + var/list/choices + var/flash = TRUE + var/immediate_submit = FALSE + var/prompt + var/result = null + var/style = "text-align: center;" + var/window_id + var/height = 200 + var/width = 400 + +/datum/async_input/New(list/new_choices, new_prompt="Pick an option:", new_window_id="async_input") + choices = new_choices + prompt = new_prompt + window_id = new_window_id + +/datum/async_input/proc/close() + if(popup) + popup.close() + return result + +/datum/async_input/proc/show(mob/user) + var/dat = create_ui(user) + popup = new(user, window_id, , width, height, src) + popup.set_content(dat) + if(flash && result == null) + window_flash(user.client) + popup.open() + +/datum/async_input/proc/create_ui(mob/user) + var/dat = "
" + dat += render_prompt(user) + dat += render_choices(user) + dat += "
" + dat += "
" + dat += button("Submit", "submit=1", , result == null && !immediate_submit) + dat += "
" + return dat + +/datum/async_input/proc/render_prompt(mob/user) + return "

[prompt]

" + +/datum/async_input/proc/render_choices(mob/user) + var/dat = " " + for(var/choice in choices) + dat += button(choice, "choice=[choice]", choice == result) + dat += " " + return dat + +/datum/async_input/proc/button(label, topic, on=FALSE, disabled=FALSE) + var/class = "" + if(on) + class = "linkOn" + if(disabled) + class = "linkOff" + topic = "" + return "[label]" + +/datum/async_input/Topic(href, href_list) + if(href_list["submit"] || href_list["close"]) + close() + return + + if(href_list["choice"]) + result = href_list["choice"] + show(usr) + return + +/datum/async_input/ranked + height = 400 + immediate_submit = TRUE + +/datum/async_input/ranked/render_choices(mob/user) + var/dat = "
" + dat += "" + for(var/i = 1, i <= choices.len, i++) + var/choice = choices[i] + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "
[button("+", i != 1 ? "upvote=[i]" : "", , i == 1)][button("-", i != choices.len ? "downvote=[i]" : "", , i == choices.len)][i]. [choice]
" + dat += "
" + return dat + +/datum/async_input/ranked/Topic(href, href_list) + if(!href_list["close"]) + // Mark that user interacted with interface + result = choices + + if(href_list["upvote"]) + var/index = text2num(href_list["upvote"]) + choices.Swap(index, index - 1) + show(usr) + return + + if(href_list["downvote"]) + var/index = text2num(href_list["downvote"]) + choices.Swap(index, index + 1) + show(usr) + return + + ..() diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm index 0bac5824780..8fc1ef6d592 100644 --- a/code/modules/response_team/ert.dm +++ b/code/modules/response_team/ert.dm @@ -55,13 +55,9 @@ var/ert_request_answered = FALSE to_chat(src, "Upon using the antagHUD you forfeited the ability to join the round.") return 0 - if(response_team_members.len > 6) - to_chat(src, "The emergency response team is already full!") - return 0 - return 1 -/proc/trigger_armed_response_team(var/datum/response_team/response_team_type, commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots) +/proc/trigger_armed_response_team(datum/response_team/response_team_type, commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots) response_team_members = list() active_team = response_team_type active_team.setSlots(commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots) @@ -71,7 +67,7 @@ var/ert_request_answered = FALSE if(!ert_candidates.len) active_team.cannot_send_team() send_emergency_team = FALSE - return 0 + return // Respawnable players get first dibs for(var/mob/dead/observer/M in ert_candidates) @@ -87,38 +83,58 @@ var/ert_request_answered = FALSE if(!response_team_members.len) active_team.cannot_send_team() send_emergency_team = FALSE - return 0 + return - var/index = 1 + var/list/ert_gender_prefs = list() for(var/mob/M in response_team_members) - if(index > emergencyresponseteamspawn.len) - index = 1 + ert_gender_prefs.Add(input_async(M, "Please select a gender (10 seconds):", list("Male", "Female"))) + addtimer(CALLBACK(GLOBAL_PROC, .proc/get_ert_role_prefs, response_team_members, ert_gender_prefs), 100) +/proc/get_ert_role_prefs(list/response_team_members, list/ert_gender_prefs) + var/list/ert_role_prefs = list() + for(var/datum/async_input/A in ert_gender_prefs) + A.close() + for(var/mob/M in response_team_members) + ert_role_prefs.Add(input_ranked_async(M, "Please order ERT roles from most to least preferred (15 seconds):", active_team.get_slot_list())) + addtimer(CALLBACK(GLOBAL_PROC, .proc/dispatch_response_team, response_team_members, ert_gender_prefs, ert_role_prefs), 150) + +/proc/dispatch_response_team(list/response_team_members, list/ert_gender_prefs, list/ert_role_prefs) + var/spawn_index = 1 + + for(var/i = 1, i <= response_team_members.len, i++) + if(spawn_index > emergencyresponseteamspawn.len) + break + if(!active_team.get_slot_list().len) + break + var/gender_pref = ert_gender_prefs[i].result + var/role_pref = ert_role_prefs[i].close() + var/mob/M = response_team_members[i] if(!M || !M.client) continue - log_debug("Spawning as ERT: [M.ckey] ([M])") - var/client/C = M.client - var/mob/living/new_commando = C.create_response_team(emergencyresponseteamspawn[index]) - if(!M || !new_commando) + if(!gender_pref || !role_pref) + // Player was afk and did not select continue - new_commando.mind.key = M.key - new_commando.key = M.key - new_commando.update_icons() - index++ - + for(var/role in role_pref) + if(active_team.check_slot_available(role)) + var/mob/living/new_commando = M.client.create_response_team(gender_pref, role, emergencyresponseteamspawn[spawn_index]) + active_team.reduceSlots(role) + spawn_index++ + if(!M || !new_commando) + break + new_commando.mind.key = M.key + new_commando.key = M.key + new_commando.update_icons() + break send_emergency_team = FALSE - active_team.announce_team() - return 1 -/client/proc/create_response_team(var/turf/spawn_location) - var/class = 0 - while(!class) - class = input(src, "Which loadout would you like to choose?") in active_team.get_slot_list() - if(!active_team.check_slot_available(class)) // Because the prompt does not update automatically when a slot gets filled. - class = 0 + if(active_team.count) + active_team.announce_team() + return + // Everyone who said yes was afk + active_team.cannot_send_team() - if(class == "Cyborg") - active_team.reduceCyborgSlots() +/client/proc/create_response_team(new_gender, role, turf/spawn_location) + if(role == "Cyborg") var/cyborg_unlock = active_team.getCyborgUnlock() var/mob/living/silicon/robot/ert/R = new /mob/living/silicon/robot/ert(spawn_location, cyborg_unlock) return R @@ -126,8 +142,6 @@ var/ert_request_answered = FALSE var/mob/living/carbon/human/M = new(null) var/obj/item/organ/external/head/head_organ = M.get_organ("head") - var/new_gender = alert(src, "Please select your gender.", "ERT Character Generation", "Male", "Female") - if(new_gender) if(new_gender == "Male") M.change_gender(MALE) @@ -169,21 +183,24 @@ var/ert_request_answered = FALSE ticker.mode.ert += M.mind M.forceMove(spawn_location) - SSjobs.CreateMoneyAccount(M, class, null) + SSjobs.CreateMoneyAccount(M, role, null) - active_team.equip_officer(class, M) + active_team.equip_officer(role, M) return M /datum/response_team - var/command_slots = 1 - var/engineer_slots = 3 - var/medical_slots = 3 - var/security_slots = 3 - var/janitor_slots = 0 - var/paranormal_slots = 0 - var/cyborg_slots = 0 + var/list/slots = list( + Commander = 0, + Security = 0, + Engineer = 0, + Medic = 0, + Janitor = 0, + Paranormal = 0, + Cyborg = 0 + ) + var/count = 0 var/command_outfit var/engineering_outfit @@ -193,88 +210,56 @@ var/ert_request_answered = FALSE var/paranormal_outfit var/cyborg_unlock = 0 -/datum/response_team/proc/setSlots(com, sec, med, eng, jan, par, cyb) - command_slots = com == null ? command_slots : com - security_slots = sec == null ? security_slots : sec - medical_slots = med == null ? medical_slots : med - engineer_slots = eng == null ? engineer_slots : eng - janitor_slots = jan == null ? janitor_slots : jan - paranormal_slots = par == null ? paranormal_slots : par - cyborg_slots = cyb == null ? cyborg_slots : cyb +/datum/response_team/proc/setSlots(com=1, sec=3, med=3, eng=3, jan=0, par=0, cyb=0) + slots["Commander"] = com + slots["Security"] = sec + slots["Medic"] = med + slots["Engineer"] = eng + slots["Janitor"] = jan + slots["Paranormal"] = par + slots["Cyborg"] = cyb -/datum/response_team/proc/reduceCyborgSlots() - cyborg_slots-- +/datum/response_team/proc/reduceSlots(role) + slots[role]-- + count++ /datum/response_team/proc/getCyborgUnlock() return cyborg_unlock /datum/response_team/proc/get_slot_list() var/list/slots_available = list() - if(command_slots) - slots_available |= "Commander" - if(security_slots) - slots_available |= "Security" - if(engineer_slots) - slots_available |= "Engineer" - if(medical_slots) - slots_available |= "Medic" - if(janitor_slots) - slots_available |= "Janitor" - if(paranormal_slots) - slots_available |= "Paranormal" - if(cyborg_slots) - slots_available |= "Cyborg" + for(var/role in slots) + if(slots[role]) + slots_available.Add(role) return slots_available -/datum/response_team/proc/check_slot_available(var/slot) - switch(slot) - if("Commander") - return command_slots - if("Security") - return security_slots - if("Engineer") - return engineer_slots - if("Medic") - return medical_slots - if("Janitor") - return janitor_slots - if("Paranormal") - return paranormal_slots - if("Cyborg") - return cyborg_slots - return 0 +/datum/response_team/proc/check_slot_available(role) + return slots[role] /datum/response_team/proc/equip_officer(var/officer_type, var/mob/living/carbon/human/M) switch(officer_type) if("Engineer") - engineer_slots -= 1 M.equipOutfit(engineering_outfit) M.job = "ERT Engineering" if("Security") - security_slots -= 1 M.equipOutfit(security_outfit) M.job = "ERT Security" if("Medic") - medical_slots -= 1 M.equipOutfit(medical_outfit) M.job = "ERT Medical" if("Janitor") - janitor_slots -= 1 M.equipOutfit(janitor_outfit) M.job = "ERT Janitor" if("Paranormal") - paranormal_slots -= 1 M.equipOutfit(paranormal_outfit) M.job = "ERT Paranormal" M.mind.isholy = TRUE if("Commander") - command_slots = 0 - // Override name and age for the commander M.rename_character(null, "[pick("Lieutenant", "Captain", "Major")] [pick(GLOB.last_names)]") M.age = rand(35,45) diff --git a/paradise.dme b/paradise.dme index f86c7c479c6..792e90013fb 100644 --- a/paradise.dme +++ b/paradise.dme @@ -337,6 +337,7 @@ #include "code\datums\helper_datums\global_iterator.dm" #include "code\datums\helper_datums\hotkey_modes.dm" #include "code\datums\helper_datums\icon_snapshot.dm" +#include "code\datums\helper_datums\input.dm" #include "code\datums\helper_datums\map_template.dm" #include "code\datums\helper_datums\teleport.dm" #include "code\datums\helper_datums\topic_input.dm" From 2a1f26ff8c4733a74aab45c0c315d1b02710121d Mon Sep 17 00:00:00 2001 From: Fel Date: Thu, 9 May 2019 15:19:05 -0400 Subject: [PATCH 147/196] You should've gone for the \ref *snap --- code/game/dna/genes/vg_powers.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index fb56aa0e2ea..41120751d21 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -192,7 +192,7 @@ ..() user.AddSpell(new /obj/effect/proc_holder/spell/targeted/mindscan(null)) -/datum/dna/gene/basic/grant_spell/remotetalk/deactivate(var/mob/user) +/datum/dna/gene/basic/grant_spell/remotetalk/deactivate(mob/user) ..() for(var/obj/effect/proc_holder/spell/S in user.mob_spell_list) if(istype(S, /obj/effect/proc_holder/spell/targeted/mindscan)) @@ -295,22 +295,22 @@ if(REMOTE_TALK in target.mutations) message = "You feel [user.real_name] request a response from you... (Click here to project mind.)" user.show_message("You offer your mind to [target.name].") - target.show_message("[message]") + target.show_message("[message]") available_targets += target addtimer(CALLBACK(src, .proc/removeAvailability, target), 100) -/obj/effect/proc_holder/spell/targeted/mindscan/proc/removeAvailability(var/mob/living/target) +/obj/effect/proc_holder/spell/targeted/mindscan/proc/removeAvailability(mob/living/target) if(target in available_targets) available_targets -= target /obj/effect/proc_holder/spell/targeted/mindscan/Topic(href, href_list) var/mob/living/user if(href_list["user"]) - user = locate(href_list["user"]) + user = locateUID(href_list["user"]) if(href_list["target"]) if(!user) return - var/mob/living/target = locate(href_list["target"]) + var/mob/living/target = locateUID(href_list["target"]) if(!(target in available_targets)) return available_targets -= target From 2ed9e5d3d76f309f3be76e2bcf7f9f75fa92e095 Mon Sep 17 00:00:00 2001 From: Fel Date: Thu, 9 May 2019 15:32:57 -0400 Subject: [PATCH 148/196] Sensation: *fades* --- code/game/dna/genes/vg_powers.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 41120751d21..506ef5714f8 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -302,6 +302,8 @@ /obj/effect/proc_holder/spell/targeted/mindscan/proc/removeAvailability(mob/living/target) if(target in available_targets) available_targets -= target + if(!(target in available_targets)) + target.show_message("You feel the sensation fade...") /obj/effect/proc_holder/spell/targeted/mindscan/Topic(href, href_list) var/mob/living/user From a5d6f5692710533cc4fdf1d3f4b626db2632bd89 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 22:26:02 +0200 Subject: [PATCH 149/196] Disable NTTC regex --- code/game/machinery/telecomms/ntsl2.dm | 73 +++++++++++++------------- html/nttc/dist/index.html | 2 +- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/code/game/machinery/telecomms/ntsl2.dm b/code/game/machinery/telecomms/ntsl2.dm index 604fcdfbe7e..72388c7a7cc 100644 --- a/code/game/machinery/telecomms/ntsl2.dm +++ b/code/game/machinery/telecomms/ntsl2.dm @@ -130,7 +130,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) var/job_indicator_type = null /* Tables */ - var/list/regex = list() + // var/list/regex = list() /* Arrays */ var/list/firewall = list() @@ -144,7 +144,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) ) // This is used to sanitize topic data - var/list/tables = list("regex") + // var/list/tables = list("regex") var/list/arrays = list("firewall") // This tells the datum what is safe to serialize and what's not. It also applies to deserialization. @@ -175,7 +175,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) "toggle_gibberish" = "bool", "toggle_honk" = "bool", "setting_language" = "string", - "regex" = "table", + // "regex" = "table", "firewall" = "array" ) @@ -203,7 +203,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) job_indicator_type = initial(job_indicator_type) /* Tables */ - regex = list() + // regex = list() /* Arrays */ firewall = list() @@ -245,7 +245,8 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) switch(sanitize_method) if("bool") return variable ? TRUE : FALSE - if("table", "array") + // if("table", "array") + if("array") if(!islist(variable)) return list() // Insert html filtering for the regexes here if you're boring @@ -350,14 +351,14 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) S.speaking = GLOB.all_languages[setting_language] // Regex replacements - if(islist(regex) && regex.len > 0) - for(var/datum/multilingual_say_piece/S in message_pieces) - var/new_message = S.message - for(var/reg in regex) - var/replacePattern = pencode_to_html(regex[reg]) - var/regex/start = regex("[reg]", "gi") - new_message = start.Replace(new_message, replacePattern) - S.message = new_message + // if(islist(regex) && regex.len > 0) + // for(var/datum/multilingual_say_piece/S in message_pieces) + // var/new_message = S.message + // for(var/reg in regex) + // var/replacePattern = pencode_to_html(regex[reg]) + // var/regex/start = regex("[reg]", "gi") + // new_message = start.Replace(new_message, replacePattern) + // S.message = new_message // Make sure the message is valid after we tinkered with it, otherwise reject it if(signal.data["message"] == "" || !signal.data["message"]) @@ -398,29 +399,29 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) log_action(user, new_language == "--DISABLE--" ? "disabled NTTC language conversion" : "set NTTC language conversion to [new_language]", TRUE) // Tables - if(href_list["create_row"]) - if(href_list["table"] && href_list["table"] in tables) - if(requires_unlock[href_list["table"]] && !source.unlocked) - return - var/new_key = input(user, "Provide a key for the new row.", "New Row") as text|null - if(!new_key) - return - var/new_value = input(user, "Provide a new value for the key [new_key]", "New Row") as text|null - if(new_value == null) - return - var/list/table = vars[href_list["table"]] - table[new_key] = new_value - to_chat(user, "Added row [new_key] -> [new_value].") - log_action(user, "updated [href_list["table"]] - new row [new_key] -> [new_value]") + // if(href_list["create_row"]) + // if(href_list["table"] && href_list["table"] in tables) + // if(requires_unlock[href_list["table"]] && !source.unlocked) + // return + // var/new_key = input(user, "Provide a key for the new row.", "New Row") as text|null + // if(!new_key) + // return + // var/new_value = input(user, "Provide a new value for the key [new_key]", "New Row") as text|null + // if(new_value == null) + // return + // var/list/table = vars[href_list["table"]] + // table[new_key] = new_value + // to_chat(user, "Added row [new_key] -> [new_value].") + // log_action(user, "updated [href_list["table"]] - new row [new_key] -> [new_value]") - if(href_list["delete_row"]) - if(href_list["table"] && href_list["table"] in tables) - if(requires_unlock[href_list["table"]] && !source.unlocked) - return - var/list/table = vars[href_list["table"]] - table.Remove(href_list["delete_row"]) - to_chat(user, "Removed row [href_list["delete_row"]] from [href_list["table"]]") - log_action(user, "updated [href_list["table"]] - removed row [href_list["delete_row"]]") + // if(href_list["delete_row"]) + // if(href_list["table"] && href_list["table"] in tables) + // if(requires_unlock[href_list["table"]] && !source.unlocked) + // return + // var/list/table = vars[href_list["table"]] + // table.Remove(href_list["delete_row"]) + // to_chat(user, "Removed row [href_list["delete_row"]] from [href_list["table"]]") + // log_action(user, "updated [href_list["table"]] - removed row [href_list["delete_row"]]") // Arrays if(href_list["create_item"]) @@ -470,7 +471,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) "tab_hack.html" = 'html/nttc/dist/tab_hack.html', "tab_filtering.html" = 'html/nttc/dist/tab_filtering.html', "tab_firewall.html" = 'html/nttc/dist/tab_firewall.html', - "tab_regex.html" = 'html/nttc/dist/tab_regex.html', + // "tab_regex.html" = 'html/nttc/dist/tab_regex.html', "uiTitleFluff.png" = 'html/nttc/dist/uiTitleFluff.png' ) diff --git a/html/nttc/dist/index.html b/html/nttc/dist/index.html index a8a7a17f1e3..ef7d917b471 100644 --- a/html/nttc/dist/index.html +++ b/html/nttc/dist/index.html @@ -13,7 +13,7 @@ - +
NTTC
From aad23a771c1874b473929a7115ed05450a5549d1 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 9 May 2019 22:30:07 +0200 Subject: [PATCH 150/196] Fix serialize --- code/game/machinery/telecomms/ntsl2.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/telecomms/ntsl2.dm b/code/game/machinery/telecomms/ntsl2.dm index 090a2102893..f6cab1ef208 100644 --- a/code/game/machinery/telecomms/ntsl2.dm +++ b/code/game/machinery/telecomms/ntsl2.dm @@ -9,7 +9,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) * as well as allowing users to save and load configurations. */ /datum/nttc_configuration - var/regex/word_blacklist = new("( Date: Thu, 9 May 2019 22:33:47 +0200 Subject: [PATCH 151/196] Regex fix after merge conflict --- code/game/machinery/telecomms/ntsl2.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/telecomms/ntsl2.dm b/code/game/machinery/telecomms/ntsl2.dm index f6cab1ef208..04f85750516 100644 --- a/code/game/machinery/telecomms/ntsl2.dm +++ b/code/game/machinery/telecomms/ntsl2.dm @@ -9,7 +9,7 @@ GLOBAL_DATUM_INIT(nttc_config, /datum/nttc_configuration, new()) * as well as allowing users to save and load configurations. */ /datum/nttc_configuration - // var/regex/word_blacklist = new("( Date: Thu, 9 May 2019 16:50:18 -0400 Subject: [PATCH 152/196] Automatic changelog generation for PR #11502 [ci skip] --- html/changelogs/AutoChangeLog-pr-11502.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11502.yml diff --git a/html/changelogs/AutoChangeLog-pr-11502.yml b/html/changelogs/AutoChangeLog-pr-11502.yml new file mode 100644 index 00000000000..775d368b7ba --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11502.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - rscdel: "NTTC regex has been disabled due to an urgent security issue." From 5ed836ff614a7e8cbc19a8de6f8705543f9eb2d3 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 16:53:51 -0400 Subject: [PATCH 153/196] Automatic changelog generation for PR #11501 [ci skip] --- html/changelogs/AutoChangeLog-pr-11501.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11501.yml diff --git a/html/changelogs/AutoChangeLog-pr-11501.yml b/html/changelogs/AutoChangeLog-pr-11501.yml new file mode 100644 index 00000000000..94a9eb83fcc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11501.yml @@ -0,0 +1,5 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Simple mobs no longer retain their X-Ray upon being revived." + - bugfix: "Applying brute/fire damage through the View Variables menu for non-humans has been fixed." From 6ca7ad4cc418ef28adb2f54fefba1f1bd125529f Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 9 May 2019 19:38:42 -0400 Subject: [PATCH 154/196] Automatic changelog generation for PR #11470 [ci skip] --- html/changelogs/AutoChangeLog-pr-11470.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11470.yml diff --git a/html/changelogs/AutoChangeLog-pr-11470.yml b/html/changelogs/AutoChangeLog-pr-11470.yml new file mode 100644 index 00000000000..8ede62b29e1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11470.yml @@ -0,0 +1,4 @@ +author: "fludd12" +delete-after: True +changes: + - rscadd: "Project Mind now has a corollary ability, Scan Mind. Now communication can be two-way!" From edee2cfceabc4e2ffeac22bffb1d53a4e1efca12 Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 10 May 2019 13:36:35 +0100 Subject: [PATCH 155/196] Replace by job check --- code/game/gamemodes/autotraitor/autotraitor.dm | 2 +- code/modules/mob/living/carbon/human/species/golem.dm | 2 -- code/modules/reagents/chemistry/reagents/drinks.dm | 6 +++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index d305cc566a5..63f9d5fbaff 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -96,7 +96,7 @@ for(var/obj/item/implant/mindshield/I in H.contents) if(I && I.implanted) possible_traitors -= player - if(isgolem(H)) + if(!H.job) //Golems, special events stuff, etc. possible_traitors -= player //message_admins("Live Players: [playercount]") //message_admins("Live Traitors: [traitorcount]") diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index e790181188e..c1e416a8a48 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -607,7 +607,6 @@ ..() last_banana = world.time last_honk = world.time - H.job = "Clown" H.mutations.Add(COMIC) H.equip_to_slot_or_del(new /obj/item/reagent_containers/food/drinks/bottle/bottleofbanana(H), slot_r_store) H.equip_to_slot_or_del(new /obj/item/bikehorn(H), slot_l_store) @@ -682,7 +681,6 @@ /datum/species/golem/tranquillite/on_species_gain(mob/living/carbon/human/H) ..() - H.job = "Mime" H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head) H.equip_to_slot_or_del(new /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_r_store) H.equip_to_slot_or_del(new /obj/item/cane(H), slot_l_hand) diff --git a/code/modules/reagents/chemistry/reagents/drinks.dm b/code/modules/reagents/chemistry/reagents/drinks.dm index b50ed09a27c..850df4f2382 100644 --- a/code/modules/reagents/chemistry/reagents/drinks.dm +++ b/code/modules/reagents/chemistry/reagents/drinks.dm @@ -178,7 +178,7 @@ /datum/reagent/consumable/drink/banana/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - if((ishuman(M) && M.job in list("Clown") ) || issmall(M)) + if((ishuman(M) && COMIC in M.mutations) || issmall(M)) update_flags |= M.adjustBruteLoss(-1, FALSE) update_flags |= M.adjustFireLoss(-1, FALSE) return ..() | update_flags @@ -194,7 +194,7 @@ /datum/reagent/consumable/drink/nothing/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - if(ishuman(M) && M.job in list("Mime")) + if(ishuman(M) && M.mind && M.mind.miming) update_flags |= M.adjustBruteLoss(-1, FALSE) update_flags |= M.adjustFireLoss(-1, FALSE) return ..() | update_flags @@ -402,7 +402,7 @@ /datum/reagent/consumable/drink/bananahonk/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - if((ishuman(M) && M.job in list("Clown") ) || issmall(M)) + if((ishuman(M) && COMIC in M.mutations) || issmall(M)) update_flags |= M.adjustBruteLoss(-1, FALSE) update_flags |= M.adjustFireLoss(-1, FALSE) return ..() | update_flags From 7042d4fb777376c9d366c272b8165b1b9c14d4e0 Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 10 May 2019 14:42:26 +0100 Subject: [PATCH 156/196] Fix ghosts being asked the wrong nukie role MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #11492 mixed up which players gets which role. The role being selected is the role that the player using the spawner will play, so the role that the ghost gets is the other one. 🆑 fix: Ghosts will no longer get the wrong role offered when a nukie spawns a borg and will properly be informed whether they will spawn as a nuke ops or a syndi cyborg. /🆑 --- code/modules/antagonists/_common/antag_spawner.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index d92e5ffa86f..fa605cb627b 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -32,7 +32,7 @@ return FALSE if(checking) to_chat(user, "The device is already connecting to Syndicate command. Please wait.") - return FALSE + return FALSE return TRUE /obj/item/antag_spawner/nuke_ops/attack_self(mob/user) @@ -110,10 +110,10 @@ if(switch_roles_choice == "Syndicate Cyborg") switch_roles = TRUE - rolename = "Syndicate [borg_to_spawn]" + rolename = initial(rolename) else switch_roles = FALSE - rolename = initial(rolename) + rolename = "Syndicate [borg_to_spawn]" return TRUE From 5dbc319fa90cb772c204f9039fb843dd7404dc59 Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 10 May 2019 15:07:46 +0100 Subject: [PATCH 157/196] add cyborg to the role name --- code/modules/antagonists/_common/antag_spawner.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index fa605cb627b..c0fc8f66fb5 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -113,7 +113,7 @@ rolename = initial(rolename) else switch_roles = FALSE - rolename = "Syndicate [borg_to_spawn]" + rolename = "Syndicate [borg_to_spawn] Cyborg" return TRUE From e138db0c7cc834ad2e42cfa63dc83a18d9c7700b Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Fri, 10 May 2019 19:18:40 +0100 Subject: [PATCH 158/196] Non-automatic changelog compile [ci run] --- html/changelog.html | 116 ++++++++++++++++++++ html/changelogs/.all_changelog.yml | 119 +++++++++++++++++++++ html/changelogs/AutoChangeLog-pr-11261.yml | 5 - html/changelogs/AutoChangeLog-pr-11315.yml | 4 - html/changelogs/AutoChangeLog-pr-11357.yml | 7 -- html/changelogs/AutoChangeLog-pr-11384.yml | 4 - html/changelogs/AutoChangeLog-pr-11399.yml | 4 - html/changelogs/AutoChangeLog-pr-11403.yml | 4 - html/changelogs/AutoChangeLog-pr-11415.yml | 4 - html/changelogs/AutoChangeLog-pr-11416.yml | 4 - html/changelogs/AutoChangeLog-pr-11418.yml | 4 - html/changelogs/AutoChangeLog-pr-11425.yml | 5 - html/changelogs/AutoChangeLog-pr-11426.yml | 5 - html/changelogs/AutoChangeLog-pr-11427.yml | 4 - html/changelogs/AutoChangeLog-pr-11428.yml | 5 - html/changelogs/AutoChangeLog-pr-11429.yml | 4 - html/changelogs/AutoChangeLog-pr-11431.yml | 4 - html/changelogs/AutoChangeLog-pr-11434.yml | 4 - html/changelogs/AutoChangeLog-pr-11440.yml | 4 - html/changelogs/AutoChangeLog-pr-11441.yml | 4 - html/changelogs/AutoChangeLog-pr-11442.yml | 6 -- html/changelogs/AutoChangeLog-pr-11443.yml | 4 - html/changelogs/AutoChangeLog-pr-11445.yml | 4 - html/changelogs/AutoChangeLog-pr-11446.yml | 4 - html/changelogs/AutoChangeLog-pr-11450.yml | 12 --- html/changelogs/AutoChangeLog-pr-11451.yml | 4 - html/changelogs/AutoChangeLog-pr-11453.yml | 4 - html/changelogs/AutoChangeLog-pr-11455.yml | 4 - html/changelogs/AutoChangeLog-pr-11457.yml | 4 - html/changelogs/AutoChangeLog-pr-11461.yml | 4 - html/changelogs/AutoChangeLog-pr-11463.yml | 4 - html/changelogs/AutoChangeLog-pr-11467.yml | 4 - html/changelogs/AutoChangeLog-pr-11470.yml | 4 - html/changelogs/AutoChangeLog-pr-11474.yml | 4 - html/changelogs/AutoChangeLog-pr-11475.yml | 4 - html/changelogs/AutoChangeLog-pr-11489.yml | 6 -- html/changelogs/AutoChangeLog-pr-11490.yml | 4 - html/changelogs/AutoChangeLog-pr-11492.yml | 4 - html/changelogs/AutoChangeLog-pr-11493.yml | 4 - html/changelogs/AutoChangeLog-pr-11494.yml | 6 -- html/changelogs/AutoChangeLog-pr-11495.yml | 4 - html/changelogs/AutoChangeLog-pr-11497.yml | 4 - html/changelogs/AutoChangeLog-pr-11498.yml | 4 - html/changelogs/AutoChangeLog-pr-11499.yml | 4 - html/changelogs/AutoChangeLog-pr-11501.yml | 5 - html/changelogs/AutoChangeLog-pr-11502.yml | 4 - 46 files changed, 235 insertions(+), 198 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-11261.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11315.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11357.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11384.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11399.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11403.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11415.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11416.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11418.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11425.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11426.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11427.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11428.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11429.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11431.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11434.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11440.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11441.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11442.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11443.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11445.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11446.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11450.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11451.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11453.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11455.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11457.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11461.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11463.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11467.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11470.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11474.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11475.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11489.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11490.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11492.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11493.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11494.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11495.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11497.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11498.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11499.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11501.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11502.yml diff --git a/html/changelog.html b/html/changelog.html index 6ce02bc19c8..1d3eb4038b5 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,122 @@ -->
+

10 May 2019

+

AffectedArc07 updated:

+
    +
  • Removes an infinite loop in the code
  • +
  • Removes unused code
  • +
  • Captains display case now actually has captains thumbprint lock on it
  • +
  • Morgue updates happen slightly better now
  • +
  • Fixes a minor NTTC issue
  • +
+

Arkatos updated:

+
    +
  • Patch Pack is now craftable with a cardboard, costs 2 cardboard sheets.
  • +
  • Examine tooltip delay increased slightly
  • +
  • Examine tooltips now work properly on items in storage
  • +
  • Full toolbelts now spawn with randomly a colored cable coil
  • +
  • Added inhand sprites for belts
  • +
  • Species name now shows in a species theme color on examine
  • +
  • Added 4 new plushies
  • +
+

Couls updated:

+
    +
  • necromantic stone now forces the ghost back into the body as a skeleton
  • +
  • allow skeletons to give up their bodies and offer control to ghosts
  • +
+

Crazylemon and Fox McCloud updated:

+
    +
  • Fixes toggles not properly saving
  • +
+

EvadableMoxie updated:

+
    +
  • Added the Nanotrasen Hospital Vessel Asclepius, able to be deployed by admins.
  • +
  • Admin shuttle now requires ERT clearance instead of admin clearance.
  • +
  • Admin shuttle now has a navigation computer and tiny fans at the airlock.
  • +
+

Fox McCloud updated:

+
    +
  • Fixes a few instances generating log spam relating to z-level tracking
  • +
  • Fixes weird behavior with ghosts being able to trigger a few things by crossing over them
  • +
  • Fixes drifting ghosts
  • +
+

Ionward updated:

+
    +
  • Updated the cautery sprite!
  • +
+

KasparoVy updated:

+
    +
  • Adds a verb to eyewear you can use to adjust them so they appear above or below masks. Discover interesting combinations and enjoy a cool look.
  • +
+

Kyep updated:

+
    +
  • Trying to latejoin a round with no open job slots now results in an informative error message, rather than broken-looking blank window.
  • +
  • Added new bonus loadout items for higher-tier patrons. Also gave admins access to patron items, and ensured that during custom events, you see the custom event announcement when you connect.
  • +
  • You can now identify when someone is using internals from a tank in their pocket, without having to remove the tank.
  • +
  • punching a windoor no longer generates a runtime error.
  • +
  • cryogenic_liquid/envenomed_filaments blobs no longer generate runtimes when their blob special attack hits mobs that do not process reagents
  • +
  • fixed $5+ donors not getting extra loadout points.
  • +
+

Markolie updated:

+
    +
  • Ambient occlusion had been added to the game. This represents a shadowy effect on most objects. It can be turned off through the game preferences menu.
  • +
  • Our lighting system has been updated to /tg/'s latest version. Hopefully this means we'll have less lag later in the round.
  • +
  • Night vision has been modified. There are now three levels of night vision. Certain creatures that were previously able to toggle night vision can now switch between all levels. Thermals now give some night vision.
  • +
  • Mesons now no longer fully light up non-visible turfs. It uses slight darkness instead.
  • +
  • Syndicate operatives may now purchase a chameleon bundles (2TC), which allows them to disguise not just their jumpsuit, but all of their equipment. They can change individual clothing as well as the outfit as a whole.
  • +
  • When using a voice changer, NTTC will no longer default to an "Unknown" job: it'll still use the assignment on your card to prevent meta-gaming. Always combine a voice changer and a Syndicate ID.
  • +
  • Admins with advanced admin interaction toggled on can now interact with the small airlock buttons.
  • +
  • The steel_rain runtime fix has been re-applied.
  • +
  • The propulsion on the admin shuttles has been fixed. The shutters on the south side of the hospital shuttle now point the right way.
  • +
  • Nuclear Operative reinforcements now spawn with a properly counted agent designation.
  • +
  • Fixed an issue where a mob's sight wouldn't update properly in certain cases, such as being revived.
  • +
  • Resolved an issue where the lobby would be bright white when being sent back.
  • +
  • Resolved an issue where the ambient occlusion preference wouldn't update properly in the lobby.
  • +
  • Resolved an issue where clicking on a windoor would no longer prevent it from auto-closing.
  • +
  • When a nuclear operative chooses to play as the borg instead of operative using the cyborg teleporter, ghosts will now be informed of this in their acceptance message.
  • +
  • Resolved an issue where cameras couldn't take pictures of non-dynamic lighting areas, such as the holodeck or space.
  • +
  • Resolved an issue where mobs would appear above water.
  • +
  • Resolved an issue where radiation storms would make lighting invisible in space.
  • +
  • Simple mobs no longer retain their X-Ray upon being revived.
  • +
  • Applying brute/fire damage through the View Variables menu for non-humans has been fixed.
  • +
  • NTTC regex has been disabled due to an urgent security issue.
  • +
+

Mitchs98 updated:

+
    +
  • You can now order a Pig Crate from Cargo for 25 points.
  • +
+

TDSSS updated:

+
    +
  • typo on sst shuttle console
  • +
  • opening turret covers now stay on top of their turret.
  • +
+

Twinmold93 updated:

+
    +
  • Adds Server Time to the Status Tab for Admins.
  • +
+

farie82 updated:

+
    +
  • Transforming into another species will now retain the items correctly. Example clings will keep their armblades and they won't get stuck with a non existing armblade they can't put back
  • +
  • Devour and regurgitate use forcemove now. So no being buckled inside an alien
  • +
+

fludd12 updated:

+
    +
  • Project Mind now has a corollary ability, Scan Mind. Now communication can be two-way!
  • +
+

variableundefined updated:

+
    +
  • Simple animals actually use the new subsystem now
  • +
  • What was NPCAI is now renamed to NPCPool - Its the functional equivalent of what it is in tg
  • +
  • Simple animals actually run on subsystem instead of a process now.
  • +
  • idleNPCpool has been added reducing performance impact of hostile simple animals
  • +
  • NPCAI Process (That run both SNPC and SimpleAnimals) that was somehow left out by me
  • +
  • SNPC & assocaited NPCAI Subsystem
  • +
  • Some of space hotel's functions.
  • +
  • Bodysnatch gland.
  • +
  • process_ai has been deprecated
  • +
+

02 May 2019

AffectedArc07 updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 5ad4bdbcd9e..d0e51aa9571 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -10043,3 +10043,122 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Adds Lumi's vox suit fluff uc_guy: - bugfix: Players in the lobby no longer see cult speak. +2019-05-10: + AffectedArc07: + - tweak: Removes an infinite loop in the code + - rscdel: Removes unused code + - tweak: Captains display case now actually has captains thumbprint lock on it + - tweak: Morgue updates happen slightly better now + - bugfix: Fixes a minor NTTC issue + Arkatos: + - rscadd: Patch Pack is now craftable with a cardboard, costs 2 cardboard sheets. + - tweak: Examine tooltip delay increased slightly + - bugfix: Examine tooltips now work properly on items in storage + - tweak: Full toolbelts now spawn with randomly a colored cable coil + - imageadd: Added inhand sprites for belts + - tweak: Species name now shows in a species theme color on examine + - imageadd: Added 4 new plushies + Couls: + - tweak: necromantic stone now forces the ghost back into the body as a skeleton + - rscadd: allow skeletons to give up their bodies and offer control to ghosts + Crazylemon and Fox McCloud: + - bugfix: Fixes toggles not properly saving + EvadableMoxie: + - rscadd: Added the Nanotrasen Hospital Vessel Asclepius, able to be deployed by + admins. + - tweak: Admin shuttle now requires ERT clearance instead of admin clearance. + - tweak: Admin shuttle now has a navigation computer and tiny fans at the airlock. + Fox McCloud: + - bugfix: Fixes a few instances generating log spam relating to z-level tracking + - bugfix: Fixes weird behavior with ghosts being able to trigger a few things by + crossing over them + - bugfix: Fixes drifting ghosts + Ionward: + - imageadd: Updated the cautery sprite! + KasparoVy: + - rscadd: Adds a verb to eyewear you can use to adjust them so they appear above + or below masks. Discover interesting combinations and enjoy a cool look. + Kyep: + - rscadd: Trying to latejoin a round with no open job slots now results in an informative + error message, rather than broken-looking blank window. + - rscadd: Added new bonus loadout items for higher-tier patrons. Also gave admins + access to patron items, and ensured that during custom events, you see the custom + event announcement when you connect. + - tweak: You can now identify when someone is using internals from a tank in their + pocket, without having to remove the tank. + - bugfix: punching a windoor no longer generates a runtime error. + - bugfix: cryogenic_liquid/envenomed_filaments blobs no longer generate runtimes + when their blob special attack hits mobs that do not process reagents + - bugfix: fixed $5+ donors not getting extra loadout points. + Markolie: + - rscadd: Ambient occlusion had been added to the game. This represents a shadowy + effect on most objects. It can be turned off through the game preferences menu. + - tweak: Our lighting system has been updated to /tg/'s latest version. Hopefully + this means we'll have less lag later in the round. + - tweak: Night vision has been modified. There are now three levels of night vision. + Certain creatures that were previously able to toggle night vision can now switch + between all levels. Thermals now give some night vision. + - tweak: Mesons now no longer fully light up non-visible turfs. It uses slight darkness + instead. + - rscadd: Syndicate operatives may now purchase a chameleon bundles (2TC), which + allows them to disguise not just their jumpsuit, but all of their equipment. + They can change individual clothing as well as the outfit as a whole. + - tweak: 'When using a voice changer, NTTC will no longer default to an "Unknown" + job: it''ll still use the assignment on your card to prevent meta-gaming. Always + combine a voice changer and a Syndicate ID.' + - tweak: Admins with advanced admin interaction toggled on can now interact with + the small airlock buttons. + - bugfix: The steel_rain runtime fix has been re-applied. + - bugfix: The propulsion on the admin shuttles has been fixed. The shutters on the + south side of the hospital shuttle now point the right way. + - bugfix: Nuclear Operative reinforcements now spawn with a properly counted agent + designation. + - bugfix: Fixed an issue where a mob's sight wouldn't update properly in certain + cases, such as being revived. + - bugfix: Resolved an issue where the lobby would be bright white when being sent + back. + - bugfix: Resolved an issue where the ambient occlusion preference wouldn't update + properly in the lobby. + - bugfix: Resolved an issue where clicking on a windoor would no longer prevent + it from auto-closing. + - bugfix: When a nuclear operative chooses to play as the borg instead of operative + using the cyborg teleporter, ghosts will now be informed of this in their acceptance + message. + - bugfix: Resolved an issue where cameras couldn't take pictures of non-dynamic + lighting areas, such as the holodeck or space. + - bugfix: Resolved an issue where mobs would appear above water. + - bugfix: Resolved an issue where radiation storms would make lighting invisible + in space. + - bugfix: Simple mobs no longer retain their X-Ray upon being revived. + - bugfix: Applying brute/fire damage through the View Variables menu for non-humans + has been fixed. + - rscdel: NTTC regex has been disabled due to an urgent security issue. + Mitchs98: + - rscadd: You can now order a Pig Crate from Cargo for 25 points. + TDSSS: + - bugfix: typo on sst shuttle console + - bugfix: opening turret covers now stay on top of their turret. + Twinmold93: + - rscadd: Adds Server Time to the Status Tab for Admins. + farie82: + - bugfix: Transforming into another species will now retain the items correctly. + Example clings will keep their armblades and they won't get stuck with a non + existing armblade they can't put back + - bugfix: Devour and regurgitate use forcemove now. So no being buckled inside an + alien + fludd12: + - rscadd: Project Mind now has a corollary ability, Scan Mind. Now communication + can be two-way! + variableundefined: + - tweak: Simple animals actually use the new subsystem now + - tweak: What was NPCAI is now renamed to NPCPool - Its the functional equivalent + of what it is in tg + - tweak: Simple animals actually run on subsystem instead of a process now. + - rscadd: idleNPCpool has been added reducing performance impact of hostile simple + animals + - rscdel: NPCAI Process (That run both SNPC and SimpleAnimals) that was somehow + left out by me + - rscdel: SNPC & assocaited NPCAI Subsystem + - rscdel: Some of space hotel's functions. + - rscdel: Bodysnatch gland. + - tweak: process_ai has been deprecated diff --git a/html/changelogs/AutoChangeLog-pr-11261.yml b/html/changelogs/AutoChangeLog-pr-11261.yml deleted file mode 100644 index 15595372438..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11261.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Couls" -delete-after: True -changes: - - tweak: "necromantic stone now forces the ghost back into the body as a skeleton" - - rscadd: "allow skeletons to give up their bodies and offer control to ghosts" diff --git a/html/changelogs/AutoChangeLog-pr-11315.yml b/html/changelogs/AutoChangeLog-pr-11315.yml deleted file mode 100644 index e8d1dacb7dd..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11315.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "farie82" -delete-after: True -changes: - - bugfix: "Transforming into another species will now retain the items correctly. Example clings will keep their armblades and they won't get stuck with a non existing armblade they can't put back" diff --git a/html/changelogs/AutoChangeLog-pr-11357.yml b/html/changelogs/AutoChangeLog-pr-11357.yml deleted file mode 100644 index 61304092a00..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11357.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - rscadd: "Ambient occlusion had been added to the game. This represents a shadowy effect on most objects. It can be turned off through the game preferences menu." - - tweak: "Our lighting system has been updated to /tg/'s latest version. Hopefully this means we'll have less lag later in the round." - - tweak: "Night vision has been modified. There are now three levels of night vision. Certain creatures that were previously able to toggle night vision can now switch between all levels. Thermals now give some night vision." - - tweak: "Mesons now no longer fully light up non-visible turfs. It uses slight darkness instead." diff --git a/html/changelogs/AutoChangeLog-pr-11384.yml b/html/changelogs/AutoChangeLog-pr-11384.yml deleted file mode 100644 index 1dee1b49d8e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11384.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - rscadd: "Trying to latejoin a round with no open job slots now results in an informative error message, rather than broken-looking blank window." diff --git a/html/changelogs/AutoChangeLog-pr-11399.yml b/html/changelogs/AutoChangeLog-pr-11399.yml deleted file mode 100644 index 44c51779cbf..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11399.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - rscadd: "Added new bonus loadout items for higher-tier patrons. Also gave admins access to patron items, and ensured that during custom events, you see the custom event announcement when you connect." diff --git a/html/changelogs/AutoChangeLog-pr-11403.yml b/html/changelogs/AutoChangeLog-pr-11403.yml deleted file mode 100644 index 2ffea4e8a9d..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11403.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - tweak: "You can now identify when someone is using internals from a tank in their pocket, without having to remove the tank." diff --git a/html/changelogs/AutoChangeLog-pr-11415.yml b/html/changelogs/AutoChangeLog-pr-11415.yml deleted file mode 100644 index 8a197f8f6f4..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11415.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Twinmold93" -delete-after: True -changes: - - rscadd: "Adds Server Time to the Status Tab for Admins." diff --git a/html/changelogs/AutoChangeLog-pr-11416.yml b/html/changelogs/AutoChangeLog-pr-11416.yml deleted file mode 100644 index c3c444d9879..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11416.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "KasparoVy" -delete-after: True -changes: - - rscadd: "Adds a verb to eyewear you can use to adjust them so they appear above or below masks. Discover interesting combinations and enjoy a cool look." diff --git a/html/changelogs/AutoChangeLog-pr-11418.yml b/html/changelogs/AutoChangeLog-pr-11418.yml deleted file mode 100644 index 8e9f296ca97..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11418.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arkatos" -delete-after: True -changes: - - rscadd: "Patch Pack is now craftable with a cardboard, costs 2 cardboard sheets." diff --git a/html/changelogs/AutoChangeLog-pr-11425.yml b/html/changelogs/AutoChangeLog-pr-11425.yml deleted file mode 100644 index f3ed1d5bd9e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11425.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Arkatos" -delete-after: True -changes: - - tweak: "Examine tooltip delay increased slightly" - - bugfix: "Examine tooltips now work properly on items in storage" diff --git a/html/changelogs/AutoChangeLog-pr-11426.yml b/html/changelogs/AutoChangeLog-pr-11426.yml deleted file mode 100644 index 49414869223..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11426.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Arkatos" -delete-after: True -changes: - - tweak: "Full toolbelts now spawn with randomly a colored cable coil" - - imageadd: "Added inhand sprites for belts" diff --git a/html/changelogs/AutoChangeLog-pr-11427.yml b/html/changelogs/AutoChangeLog-pr-11427.yml deleted file mode 100644 index 32e770e594f..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11427.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arkatos" -delete-after: True -changes: - - tweak: "Species name now shows in a species theme color on examine" diff --git a/html/changelogs/AutoChangeLog-pr-11428.yml b/html/changelogs/AutoChangeLog-pr-11428.yml deleted file mode 100644 index fe0d3f99aac..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11428.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - rscadd: "Syndicate operatives may now purchase a chameleon bundles (2TC), which allows them to disguise not just their jumpsuit, but all of their equipment. They can change individual clothing as well as the outfit as a whole." - - tweak: "When using a voice changer, NTTC will no longer default to an \"Unknown\" job: it'll still use the assignment on your card to prevent meta-gaming. Always combine a voice changer and a Syndicate ID." diff --git a/html/changelogs/AutoChangeLog-pr-11429.yml b/html/changelogs/AutoChangeLog-pr-11429.yml deleted file mode 100644 index 86509436332..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11429.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Mitchs98" -delete-after: True -changes: - - rscadd: "You can now order a Pig Crate from Cargo for 25 points." diff --git a/html/changelogs/AutoChangeLog-pr-11431.yml b/html/changelogs/AutoChangeLog-pr-11431.yml deleted file mode 100644 index d9f93831773..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11431.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arkatos" -delete-after: True -changes: - - imageadd: "Added 4 new plushies" diff --git a/html/changelogs/AutoChangeLog-pr-11434.yml b/html/changelogs/AutoChangeLog-pr-11434.yml deleted file mode 100644 index f07ba09cf41..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11434.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "TDSSS" -delete-after: True -changes: - - bugfix: "typo on sst shuttle console" diff --git a/html/changelogs/AutoChangeLog-pr-11440.yml b/html/changelogs/AutoChangeLog-pr-11440.yml deleted file mode 100644 index 1ddb3e68464..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11440.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "farie82" -delete-after: True -changes: - - bugfix: "Devour and regurgitate use forcemove now. So no being buckled inside an alien" diff --git a/html/changelogs/AutoChangeLog-pr-11441.yml b/html/changelogs/AutoChangeLog-pr-11441.yml deleted file mode 100644 index 083b619ed6d..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11441.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - tweak: "Admins with advanced admin interaction toggled on can now interact with the small airlock buttons." diff --git a/html/changelogs/AutoChangeLog-pr-11442.yml b/html/changelogs/AutoChangeLog-pr-11442.yml deleted file mode 100644 index 2cdaf2355fe..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11442.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "EvadableMoxie" -delete-after: True -changes: - - rscadd: "Added the Nanotrasen Hospital Vessel Asclepius, able to be deployed by admins." - - tweak: "Admin shuttle now requires ERT clearance instead of admin clearance." - - tweak: "Admin shuttle now has a navigation computer and tiny fans at the airlock." diff --git a/html/changelogs/AutoChangeLog-pr-11443.yml b/html/changelogs/AutoChangeLog-pr-11443.yml deleted file mode 100644 index 5c3a9a1b8e2..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11443.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: "punching a windoor no longer generates a runtime error." diff --git a/html/changelogs/AutoChangeLog-pr-11445.yml b/html/changelogs/AutoChangeLog-pr-11445.yml deleted file mode 100644 index 30b9ae088e8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11445.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: "cryogenic_liquid/envenomed_filaments blobs no longer generate runtimes when their blob special attack hits mobs that do not process reagents" diff --git a/html/changelogs/AutoChangeLog-pr-11446.yml b/html/changelogs/AutoChangeLog-pr-11446.yml deleted file mode 100644 index ac51997fc92..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11446.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ionward" -delete-after: True -changes: - - imageadd: "Updated the cautery sprite!" diff --git a/html/changelogs/AutoChangeLog-pr-11450.yml b/html/changelogs/AutoChangeLog-pr-11450.yml deleted file mode 100644 index efa7b8c358e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11450.yml +++ /dev/null @@ -1,12 +0,0 @@ -author: "variableundefined" -delete-after: True -changes: - - tweak: "Simple animals actually use the new subsystem now" - - tweak: "What was NPCAI is now renamed to NPCPool - Its the functional equivalent of what it is in tg" - - tweak: "Simple animals actually run on subsystem instead of a process now." - - rscadd: "idleNPCpool has been added reducing performance impact of hostile simple animals" - - rscdel: "NPCAI Process (That run both SNPC and SimpleAnimals) that was somehow left out by me" - - rscdel: "SNPC & assocaited NPCAI Subsystem" - - rscdel: "Some of space hotel's functions." - - rscdel: "Bodysnatch gland." - - tweak: "process_ai has been deprecated" diff --git a/html/changelogs/AutoChangeLog-pr-11451.yml b/html/changelogs/AutoChangeLog-pr-11451.yml deleted file mode 100644 index 347ccdf9b19..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11451.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "The steel_rain runtime fix has been re-applied." diff --git a/html/changelogs/AutoChangeLog-pr-11453.yml b/html/changelogs/AutoChangeLog-pr-11453.yml deleted file mode 100644 index be5b75e4bfa..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11453.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - bugfix: "Fixes a few instances generating log spam relating to z-level tracking" diff --git a/html/changelogs/AutoChangeLog-pr-11455.yml b/html/changelogs/AutoChangeLog-pr-11455.yml deleted file mode 100644 index a571ffc3c0b..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11455.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AffectedArc07" -delete-after: True -changes: - - tweak: "Removes an infinite loop in the code" diff --git a/html/changelogs/AutoChangeLog-pr-11457.yml b/html/changelogs/AutoChangeLog-pr-11457.yml deleted file mode 100644 index d7b6c6c7de2..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11457.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "The propulsion on the admin shuttles has been fixed. The shutters on the south side of the hospital shuttle now point the right way." diff --git a/html/changelogs/AutoChangeLog-pr-11461.yml b/html/changelogs/AutoChangeLog-pr-11461.yml deleted file mode 100644 index d65e90c7079..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11461.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "Nuclear Operative reinforcements now spawn with a properly counted agent designation." diff --git a/html/changelogs/AutoChangeLog-pr-11463.yml b/html/changelogs/AutoChangeLog-pr-11463.yml deleted file mode 100644 index dad85167b1a..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11463.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AffectedArc07" -delete-after: True -changes: - - rscdel: "Removes unused code" diff --git a/html/changelogs/AutoChangeLog-pr-11467.yml b/html/changelogs/AutoChangeLog-pr-11467.yml deleted file mode 100644 index ff6e7c5f739..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11467.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AffectedArc07" -delete-after: True -changes: - - tweak: "Captains display case now actually has captains thumbprint lock on it" diff --git a/html/changelogs/AutoChangeLog-pr-11470.yml b/html/changelogs/AutoChangeLog-pr-11470.yml deleted file mode 100644 index 8ede62b29e1..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11470.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "fludd12" -delete-after: True -changes: - - rscadd: "Project Mind now has a corollary ability, Scan Mind. Now communication can be two-way!" diff --git a/html/changelogs/AutoChangeLog-pr-11474.yml b/html/changelogs/AutoChangeLog-pr-11474.yml deleted file mode 100644 index 7e793d7bc20..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11474.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AffectedArc07" -delete-after: True -changes: - - tweak: "Morgue updates happen slightly better now" diff --git a/html/changelogs/AutoChangeLog-pr-11475.yml b/html/changelogs/AutoChangeLog-pr-11475.yml deleted file mode 100644 index 9f7c02a26eb..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11475.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AffectedArc07" -delete-after: True -changes: - - bugfix: "Fixes a minor NTTC issue" diff --git a/html/changelogs/AutoChangeLog-pr-11489.yml b/html/changelogs/AutoChangeLog-pr-11489.yml deleted file mode 100644 index ce83f855daf..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11489.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "Fixed an issue where a mob's sight wouldn't update properly in certain cases, such as being revived." - - bugfix: "Resolved an issue where the lobby would be bright white when being sent back." - - bugfix: "Resolved an issue where the ambient occlusion preference wouldn't update properly in the lobby." diff --git a/html/changelogs/AutoChangeLog-pr-11490.yml b/html/changelogs/AutoChangeLog-pr-11490.yml deleted file mode 100644 index ae1ed2eae11..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11490.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "Resolved an issue where clicking on a windoor would no longer prevent it from auto-closing." diff --git a/html/changelogs/AutoChangeLog-pr-11492.yml b/html/changelogs/AutoChangeLog-pr-11492.yml deleted file mode 100644 index eb870579c13..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11492.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "When a nuclear operative chooses to play as the borg instead of operative using the cyborg teleporter, ghosts will now be informed of this in their acceptance message." diff --git a/html/changelogs/AutoChangeLog-pr-11493.yml b/html/changelogs/AutoChangeLog-pr-11493.yml deleted file mode 100644 index fa96ce24f35..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11493.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - bugfix: "Fixes weird behavior with ghosts being able to trigger a few things by crossing over them" diff --git a/html/changelogs/AutoChangeLog-pr-11494.yml b/html/changelogs/AutoChangeLog-pr-11494.yml deleted file mode 100644 index fee8563113e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11494.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "Resolved an issue where cameras couldn't take pictures of non-dynamic lighting areas, such as the holodeck or space." - - bugfix: "Resolved an issue where mobs would appear above water." - - bugfix: "Resolved an issue where radiation storms would make lighting invisible in space." diff --git a/html/changelogs/AutoChangeLog-pr-11495.yml b/html/changelogs/AutoChangeLog-pr-11495.yml deleted file mode 100644 index aad9355db64..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11495.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "TDSSS" -delete-after: True -changes: - - bugfix: "opening turret covers now stay on top of their turret." diff --git a/html/changelogs/AutoChangeLog-pr-11497.yml b/html/changelogs/AutoChangeLog-pr-11497.yml deleted file mode 100644 index d619ca03d3d..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11497.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: "fixed $5+ donors not getting extra loadout points." diff --git a/html/changelogs/AutoChangeLog-pr-11498.yml b/html/changelogs/AutoChangeLog-pr-11498.yml deleted file mode 100644 index 17e881fdab0..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11498.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Crazylemon and Fox McCloud" -delete-after: True -changes: - - bugfix: "Fixes toggles not properly saving" diff --git a/html/changelogs/AutoChangeLog-pr-11499.yml b/html/changelogs/AutoChangeLog-pr-11499.yml deleted file mode 100644 index d96b64ce5fc..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11499.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - bugfix: "Fixes drifting ghosts" diff --git a/html/changelogs/AutoChangeLog-pr-11501.yml b/html/changelogs/AutoChangeLog-pr-11501.yml deleted file mode 100644 index 94a9eb83fcc..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11501.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "Simple mobs no longer retain their X-Ray upon being revived." - - bugfix: "Applying brute/fire damage through the View Variables menu for non-humans has been fixed." diff --git a/html/changelogs/AutoChangeLog-pr-11502.yml b/html/changelogs/AutoChangeLog-pr-11502.yml deleted file mode 100644 index 775d368b7ba..00000000000 --- a/html/changelogs/AutoChangeLog-pr-11502.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - rscdel: "NTTC regex has been disabled due to an urgent security issue." From 5b14cf120dea6b654341b773ce2767e576f891e8 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Fri, 10 May 2019 20:34:11 +0200 Subject: [PATCH 159/196] Make lighting plane master respect client color --- code/_onclick/hud/plane_master.dm | 3 ++- code/game/objects/effects/decals/Cleanable/humans.dm | 2 -- code/modules/client/client procs.dm | 4 ++-- code/modules/clothing/glasses/glasses.dm | 8 ++++---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index b43715ee598..a5586578b3f 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -34,7 +34,7 @@ /obj/screen/plane_master/game_world name = "game world plane master" plane = GAME_PLANE - appearance_flags = PLANE_MASTER //should use client color + appearance_flags = PLANE_MASTER blend_mode = BLEND_OVERLAY /obj/screen/plane_master/game_world/backdrop(mob/mymob) @@ -45,6 +45,7 @@ /obj/screen/plane_master/lighting name = "lighting plane master" plane = LIGHTING_PLANE + appearance_flags = PLANE_MASTER blend_mode = BLEND_MULTIPLY mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 7cfd8bbec45..97cce9923c4 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -14,7 +14,6 @@ var/global/list/image/splatter_cache = list() icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") - appearance_flags = NO_CLIENT_COLOR blood_DNA = list() var/base_icon = 'icons/effects/blood.dmi' var/blood_state = BLOOD_STATE_HUMAN @@ -155,7 +154,6 @@ var/global/list/image/splatter_cache = list() layer = TURF_LAYER random_icon_states = null blood_DNA = list() - appearance_flags = NO_CLIENT_COLOR var/list/existing_dirs = list() /obj/effect/decal/cleanable/trail_holder/can_bloodcrawl_in() diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 3abb884c499..e76e20fe5db 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -679,8 +679,8 @@ message += " (RESTRICTED)" to_chat(world, "[message]") -/client/proc/colour_transition(var/list/colour_to = null, var/time = 10) //Call this with no parameters to reset to default. - animate(src, color=colour_to, time=time, easing=SINE_EASING) +/client/proc/colour_transition(list/colour_to = null, time = 10) //Call this with no parameters to reset to default. + animate(src, color = colour_to, time = time, easing = SINE_EASING) /client/proc/on_varedit() var_edited = TRUE diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 3a427d96bec..a335c855708 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -247,16 +247,16 @@ desc = "Somehow these seem even more out-of-date than normal sunglasses." actions_types = list(/datum/action/item_action/noir) -/obj/item/clothing/glasses/sunglasses/noir/attack_self() - toggle_noir() +/obj/item/clothing/glasses/sunglasses/noir/attack_self(mob/user) + toggle_noir(user) /obj/item/clothing/glasses/sunglasses/noir/item_action_slot_check(slot) if(slot == slot_glasses) return 1 -/obj/item/clothing/glasses/sunglasses/noir/proc/toggle_noir() +/obj/item/clothing/glasses/sunglasses/noir/proc/toggle_noir(mob/user) color_view = color_view ? null : MATRIX_GREYSCALE //Toggles between null and grayscale, with null being the default option. - usr.update_client_colour() + user.update_client_colour() /obj/item/clothing/glasses/sunglasses/yeah name = "agreeable glasses" From d45c8a64424580dbdbdf5356cf64a6a2af135b5b Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 10 May 2019 18:04:20 -0400 Subject: [PATCH 160/196] Automatic changelog generation for PR #11508 [ci skip] --- html/changelogs/AutoChangeLog-pr-11508.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11508.yml diff --git a/html/changelogs/AutoChangeLog-pr-11508.yml b/html/changelogs/AutoChangeLog-pr-11508.yml new file mode 100644 index 00000000000..ebe3ed56455 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11508.yml @@ -0,0 +1,6 @@ +author: "datlo" +delete-after: True +changes: + - bugfix: "Ghosts will no longer get the wrong role offered when a nukie +spawns a borg and will properly be informed whether they will spawn as a +nuke ops or a syndi cyborg." From 0033dbd7d9a0bf78229a7f93f8e6258fc2e92e9e Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Sat, 11 May 2019 19:22:56 +0200 Subject: [PATCH 161/196] Fix pAI flashlight --- .../modules/mob/living/silicon/pai/software_modules.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 90af0fba3c4..84c467b1549 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -619,12 +619,14 @@ /datum/pai_software/flashlight/toggle(mob/living/silicon/pai/user) var/atom/movable/actual_location = istype(user.loc, /obj/item/paicard) ? user.loc : user - if(user.flashlight_on) + if(!user.flashlight_on) actual_location.set_light(2) user.card.set_light(2) - return - actual_location.set_light(2) - user.card.set_light(0) + else + actual_location.set_light(0) + user.card.set_light(0) + + user.flashlight_on = !user.flashlight_on /datum/pai_software/flashlight/is_active(mob/living/silicon/pai/user) return user.flashlight_on From 7c2600daa7fbc0262210e990fa5e8e98d736b2db Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 11 May 2019 19:39:29 -0400 Subject: [PATCH 162/196] Automatic changelog generation for PR #11483 [ci skip] --- html/changelogs/AutoChangeLog-pr-11483.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11483.yml diff --git a/html/changelogs/AutoChangeLog-pr-11483.yml b/html/changelogs/AutoChangeLog-pr-11483.yml new file mode 100644 index 00000000000..635f5efede9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11483.yml @@ -0,0 +1,6 @@ +author: "datlo" +delete-after: True +changes: + - bugfix: "The Syndicate will no longer hire golems as agents." + - tweak: "Banana juice and Banana honk will now heal everyone with the Comic Sans mutation instead of checking for the clown job" + - tweak: "Nothing will now check if the player has an active vow of silence instead of checking for the mime job" From c2df74312e65cce6c252575077a921f203ffc05f Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Mon, 13 May 2019 03:18:34 -0400 Subject: [PATCH 163/196] Prevents Future SSTicker from Runtiming --- code/datums/cache/cache.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/cache/cache.dm b/code/datums/cache/cache.dm index 2502bb871b2..f401e54517a 100644 --- a/code/datums/cache/cache.dm +++ b/code/datums/cache/cache.dm @@ -1,6 +1,6 @@ /datum/cache_entry var/timestamp - var/data - + var/list/data = list() + /datum/repository var/cache_data \ No newline at end of file From c910cb4009f2e358836a7ab09cfc0b96dd111b02 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 May 2019 03:57:06 -0400 Subject: [PATCH 164/196] Automatic changelog generation for PR #11523 [ci skip] --- html/changelogs/AutoChangeLog-pr-11523.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11523.yml diff --git a/html/changelogs/AutoChangeLog-pr-11523.yml b/html/changelogs/AutoChangeLog-pr-11523.yml new file mode 100644 index 00000000000..654203e359b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11523.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - bugfix: "Future proofs the coming Ticker subsystem" From c639b5d0f6230f4c699c9267758fbe9dba322470 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 May 2019 15:54:19 -0400 Subject: [PATCH 165/196] Automatic changelog generation for PR #11368 [ci skip] --- html/changelogs/AutoChangeLog-pr-11368.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11368.yml diff --git a/html/changelogs/AutoChangeLog-pr-11368.yml b/html/changelogs/AutoChangeLog-pr-11368.yml new file mode 100644 index 00000000000..f2d543bae3a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11368.yml @@ -0,0 +1,5 @@ +author: "AffectedArc07" +delete-after: True +changes: + - rscadd: "SSticker" + - tweak: "You can no longer force-start a round unless its fully initialised." From 330708a578caeebccf70e4817fa52de937827485 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 15 May 2019 23:08:24 +0200 Subject: [PATCH 166/196] Fix mining bot mesons --- code/modules/mining/minebot.dm | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 4f0196473c7..5b20aad5047 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -207,19 +207,26 @@ /datum/action/innate/minedrone/toggle_meson_vision name = "Toggle Meson Vision" button_icon_state = "meson" + var/sight_flags = SEE_TURFS + var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE /datum/action/innate/minedrone/toggle_meson_vision/Activate() - var/mob/living/simple_animal/hostile/mining_drone/user = owner - if(user.sight & SEE_TURFS) - user.sight &= ~SEE_TURFS - user.lighting_alpha = initial(user.lighting_alpha) + var/mob/living/user = owner + var/is_active = user.sight & SEE_TURFS + + if(is_active) + UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) + user.update_sight() else - user.sight |= SEE_TURFS - user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + user.update_sight() - user.sync_lighting_plane_alpha() + to_chat(user, "You toggle your meson vision [!is_active ? "on" : "off"].") - to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].") +/datum/action/innate/minedrone/toggle_meson_vision/proc/update_user_sight(mob/living/user) + user.sight |= sight_flags + if(!isnull(lighting_alpha)) + user.lighting_alpha = min(user.lighting_alpha, lighting_alpha) /datum/action/innate/minedrone/toggle_mode name = "Toggle Mode" From 9aa6a8c2b5dfbd443b5606336905f338cb00bae0 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 15 May 2019 20:42:51 -0400 Subject: [PATCH 167/196] Automatic changelog generation for PR #11511 [ci skip] --- html/changelogs/AutoChangeLog-pr-11511.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11511.yml diff --git a/html/changelogs/AutoChangeLog-pr-11511.yml b/html/changelogs/AutoChangeLog-pr-11511.yml new file mode 100644 index 00000000000..c32d89bc2fc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11511.yml @@ -0,0 +1,5 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Lighting now respects color blindness again." + - bugfix: "pAI flashlights now work properly." From 4ccf04124c02cf5ff9e66873ea129d00f6296409 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 16 May 2019 18:50:18 +0200 Subject: [PATCH 168/196] Rotatium fix --- code/modules/reagents/chemistry/recipes/toxins.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm index 99f33d625a6..6d93a575240 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -181,4 +181,5 @@ id = "Rotatium" result = "rotatium" required_reagents = list("lsd" = 1, "teslium" = 1, "methamphetamine" = 1) + result_amount = 3 mix_message = "After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight." \ No newline at end of file From 024cb2d4aa4cddc937fcd71c5bd6995426e86041 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:15:23 -0400 Subject: [PATCH 169/196] Automatic changelog generation for PR #11439 [ci skip] --- html/changelogs/AutoChangeLog-pr-11439.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11439.yml diff --git a/html/changelogs/AutoChangeLog-pr-11439.yml b/html/changelogs/AutoChangeLog-pr-11439.yml new file mode 100644 index 00000000000..c5352502c88 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11439.yml @@ -0,0 +1,6 @@ +author: "Arkatos" +delete-after: True +changes: + - rscadd: "Changeling verbs replaced with action buttons" + - tweak: "Changeling ability descriptions updated" + - imageadd: "Added custom icons for changeling action buttons" From ea569c0a77ad6e4f5183e186949cb27ab69e94d8 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:15:41 -0400 Subject: [PATCH 170/196] Automatic changelog generation for PR #11438 [ci skip] --- html/changelogs/AutoChangeLog-pr-11438.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11438.yml diff --git a/html/changelogs/AutoChangeLog-pr-11438.yml b/html/changelogs/AutoChangeLog-pr-11438.yml new file mode 100644 index 00000000000..a276198bfa9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11438.yml @@ -0,0 +1,4 @@ +author: "EmanTheAlmighty" +delete-after: True +changes: + - tweak: "Admin made cultists can now properly summon their Gods if the gamemode wasn't initially Cult." From ea7b598afe6be0b67a976594183e60ed0510482f Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:16:39 -0400 Subject: [PATCH 171/196] Automatic changelog generation for PR #11460 [ci skip] --- html/changelogs/AutoChangeLog-pr-11460.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11460.yml diff --git a/html/changelogs/AutoChangeLog-pr-11460.yml b/html/changelogs/AutoChangeLog-pr-11460.yml new file mode 100644 index 00000000000..b4fd18328dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11460.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - imageadd: "Added movement animation for mice, chickens and killer tomatoes" From af17220fb852b3f78bafe9ec4745c855d0c6f68a Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:17:03 -0400 Subject: [PATCH 172/196] Automatic changelog generation for PR #11472 [ci skip] --- html/changelogs/AutoChangeLog-pr-11472.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11472.yml diff --git a/html/changelogs/AutoChangeLog-pr-11472.yml b/html/changelogs/AutoChangeLog-pr-11472.yml new file mode 100644 index 00000000000..acfaebf6e7f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11472.yml @@ -0,0 +1,5 @@ +author: "Couls" +delete-after: True +changes: + - rscadd: "Only names from the manifest will be used for syndicate code phrases" + - rscdel: "randomly generated people names from syndicate code phrases" From 0b6df91269abd0c8091301f1834877543ba06627 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:17:33 -0400 Subject: [PATCH 173/196] Automatic changelog generation for PR #11476 [ci skip] --- html/changelogs/AutoChangeLog-pr-11476.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11476.yml diff --git a/html/changelogs/AutoChangeLog-pr-11476.yml b/html/changelogs/AutoChangeLog-pr-11476.yml new file mode 100644 index 00000000000..540d77e7bf3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11476.yml @@ -0,0 +1,8 @@ +author: "Arkatos" +delete-after: True +changes: + - imageadd: "Added inhand sprite for eggbox" + - imageadd: "Added inhand sprites for all types of soaps" + - imageadd: "Added inhand sprite for small parcel" + - imageadd: "Added inhand sprite for sechailer" + - imageadd: "Added inhand sprite for bag of holding" From 9198553ea176350c3ee229b3790921e42f279852 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:18:03 -0400 Subject: [PATCH 174/196] Automatic changelog generation for PR #11477 [ci skip] --- html/changelogs/AutoChangeLog-pr-11477.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11477.yml diff --git a/html/changelogs/AutoChangeLog-pr-11477.yml b/html/changelogs/AutoChangeLog-pr-11477.yml new file mode 100644 index 00000000000..756b6c1e4e4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11477.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - tweak: "Added new system for outputting contents of smartfridges" From 35b25e3dfcdab0a8a88a4866b8f6bb29085cff72 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:18:37 -0400 Subject: [PATCH 175/196] Automatic changelog generation for PR #11479 [ci skip] --- html/changelogs/AutoChangeLog-pr-11479.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11479.yml diff --git a/html/changelogs/AutoChangeLog-pr-11479.yml b/html/changelogs/AutoChangeLog-pr-11479.yml new file mode 100644 index 00000000000..efa34ac077d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11479.yml @@ -0,0 +1,5 @@ +author: "TDSSS" +delete-after: True +changes: + - tweak: "Vampire rejuv wakes you up if you're asleep now" + - tweak: "Cling epinephrine wakes you up if you're asleep now" From 02d36ff52d67c86ef064cb3bfa7479b5ec377324 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 07:20:24 -0400 Subject: [PATCH 176/196] Automatic changelog generation for PR #11480 [ci skip] --- html/changelogs/AutoChangeLog-pr-11480.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11480.yml diff --git a/html/changelogs/AutoChangeLog-pr-11480.yml b/html/changelogs/AutoChangeLog-pr-11480.yml new file mode 100644 index 00000000000..a4fcc50ceaa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11480.yml @@ -0,0 +1,4 @@ +author: "Tayyyyyyy" +delete-after: True +changes: + - rscadd: "Messages window (My PMs in OOC tab)" From ff32f5fbe24431d8f4d0b41531e25ebc61e10c51 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 17 May 2019 11:07:32 -0400 Subject: [PATCH 177/196] Automatic changelog generation for PR #11486 [ci skip] --- html/changelogs/AutoChangeLog-pr-11486.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11486.yml diff --git a/html/changelogs/AutoChangeLog-pr-11486.yml b/html/changelogs/AutoChangeLog-pr-11486.yml new file mode 100644 index 00000000000..c854e1f9c4c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11486.yml @@ -0,0 +1,4 @@ +author: "Tayyyyyyy" +delete-after: True +changes: + - tweak: "You no longer have to wait on others for ERT spawning" From e288355182f57e4b013942d8178a1574674c9c84 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Sat, 18 May 2019 02:01:32 -0700 Subject: [PATCH 178/196] Avoid announcing admin jobs --- code/modules/mob/new_player/new_player.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index f0b6c0a5d7a..436911d30fa 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -377,8 +377,9 @@ else data_core.manifest_inject(character) SSticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn - AnnounceArrival(character, rank, join_message) - AddEmploymentContract(character) + if(!IsAdminJob(rank)) + AnnounceArrival(character, rank, join_message) + AddEmploymentContract(character) if(!thisjob.is_position_available() && thisjob in SSjobs.prioritized_jobs) SSjobs.prioritized_jobs -= thisjob From 6e43fb5400549bb54bd307cf4f9ce9b4731f0647 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 18 May 2019 06:05:06 -0400 Subject: [PATCH 179/196] Automatic changelog generation for PR #11541 [ci skip] --- html/changelogs/AutoChangeLog-pr-11541.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11541.yml diff --git a/html/changelogs/AutoChangeLog-pr-11541.yml b/html/changelogs/AutoChangeLog-pr-11541.yml new file mode 100644 index 00000000000..a317a29455f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11541.yml @@ -0,0 +1,4 @@ +author: "Tayyyyyyy" +delete-after: True +changes: + - bugfix: "Admin jobs no longer announced" From 69e50ae70b9c8f06c1561678061075d0fd641e95 Mon Sep 17 00:00:00 2001 From: Shadeykins Date: Sat, 18 May 2019 13:21:38 -0600 Subject: [PATCH 180/196] Fixes potential paper exploit. --- code/modules/paperwork/paper.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 36af97b0972..bb0b85af7ed 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -403,8 +403,8 @@ /obj/item/paper/fire_act() ..() - if(burn_state >= FLAMMABLE) //Only render paper that's burnable to be hard to read. - info = "[stars(info)]" + if(burn_state >= FLAMMABLE) //Renders paper that has been lit on fire to be illegible. + info = "Heat-curled corners and sooty words reveal little insight. Whatever was once written on this page has been rendered illegible through fire." /obj/item/paper/proc/stamp(var/obj/item/stamp/S) stamps += (!stamps || stamps == "" ? "
    " : "") + "" From 7249cd84b5f852c31be005d9f8bb2f4aa836e80c Mon Sep 17 00:00:00 2001 From: Shadeykins Date: Sat, 18 May 2019 13:24:35 -0600 Subject: [PATCH 181/196] Word choice. --- code/modules/paperwork/paper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index bb0b85af7ed..012cefd4ef6 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -404,7 +404,7 @@ /obj/item/paper/fire_act() ..() if(burn_state >= FLAMMABLE) //Renders paper that has been lit on fire to be illegible. - info = "Heat-curled corners and sooty words reveal little insight. Whatever was once written on this page has been rendered illegible through fire." + info = "Heat-curled corners and sooty words offer little insight. Whatever was once written on this page has been rendered illegible through fire." /obj/item/paper/proc/stamp(var/obj/item/stamp/S) stamps += (!stamps || stamps == "" ? "
    " : "") + "" From 8ba089e05b49db1ce5a108215bd29da578b60d9e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 18 May 2019 15:44:09 -0400 Subject: [PATCH 182/196] Automatic changelog generation for PR #11533 [ci skip] --- html/changelogs/AutoChangeLog-pr-11533.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11533.yml diff --git a/html/changelogs/AutoChangeLog-pr-11533.yml b/html/changelogs/AutoChangeLog-pr-11533.yml new file mode 100644 index 00000000000..e1708e5901c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11533.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Rotatium can now be created properly." From 6259fc201f0cc01ba3d9fefd086d5238c8b1f8fd Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 18 May 2019 16:26:58 -0400 Subject: [PATCH 183/196] Automatic changelog generation for PR #11546 [ci skip] --- html/changelogs/AutoChangeLog-pr-11546.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11546.yml diff --git a/html/changelogs/AutoChangeLog-pr-11546.yml b/html/changelogs/AutoChangeLog-pr-11546.yml new file mode 100644 index 00000000000..33a522e1d19 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11546.yml @@ -0,0 +1,4 @@ +author: "Shadeykins" +delete-after: True +changes: + - bugfix: "Fixes a paper exploit." From 322182757694ff4cb56cb22c7d9cd1affd488b16 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sun, 19 May 2019 08:11:37 +0100 Subject: [PATCH 184/196] Re-alphabetises prefs --- code/modules/client/preference/preferences.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 632c5053b48..4b24d267f29 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -436,9 +436,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts // LEFT SIDE OF THE PAGE dat += "
    " dat += "

    General Settings

    " - dat += "Attack Animations: [(show_ghostitem_attack) ? "Yes" : "No"]
    " if(user.client.holder) dat += "Adminhelp sound: [(sound & SOUND_ADMINHELP)?"On":"Off"]
    " + dat += "Ambient Occlusion: [toggles & AMBIENT_OCCLUSION ? "Enabled" : "Disabled"]
    " + dat += "Attack Animations: [(show_ghostitem_attack) ? "Yes" : "No"]
    " if(unlock_content) dat += "BYOND Membership Publicity: [(toggles & MEMBER_PUBLIC) ? "Public" : "Hidden"]
    " dat += "Custom UI settings:
    " @@ -449,11 +450,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(user.client.donator_level > 0) dat += "Donator Publicity: [(toggles & DONATOR_PUBLIC) ? "Public" : "Hidden"]
    " dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"]
    " - dat += "FPS: [clientfps]
    " - dat += "Ambient Occlusion: [toggles & AMBIENT_OCCLUSION ? "Enabled" : "Disabled"]
    " + dat += "FPS: [clientfps]
    " dat += "Ghost Ears: [(toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
    " - dat += "Ghost Sight: [(toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
    " dat += "Ghost Radio: [(toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]
    " + dat += "Ghost Sight: [(toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
    " if(check_rights(R_ADMIN,0)) dat += "OOC Color:     Change
    " if(config.allow_Metadata) From d2f50269d7f1924824df018ae578cd3c434ece3a Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sun, 19 May 2019 19:47:46 +0200 Subject: [PATCH 185/196] fixed ghost vision --- code/modules/mob/dead/observer/observer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 12b9421423a..9be4f92a0b8 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -720,7 +720,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/proc/updateghostimages() if(!client) return - if(!ghostvision) + if(seedarkness || !ghostvision) client.images -= ghost_images else //add images for the 60inv things ghosts can normally see when darkness is enabled so they can see them now From bb4ac3d14bd1b7af0ff6762227b70f69156d316a Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sun, 19 May 2019 20:46:27 +0200 Subject: [PATCH 186/196] swap forms fix --- code/game/gamemodes/changeling/powers/swap_form.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index 18e7c85f1be..23e0b8e17f9 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -21,6 +21,9 @@ if(!istype(target) || issmall(target) || NO_DNA in target.dna.species.species_traits) to_chat(user, "[target] is not compatible with this ability.") return + if(target.mind.changeling) + to_chat(user, "We are unable to swap forms with another changeling!") + return return 1 /datum/action/changeling/swap_form/sting_action(var/mob/living/carbon/user) From 69cb37bf22f259b75cbe599b84559fbfb526ea42 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sun, 19 May 2019 21:26:47 +0200 Subject: [PATCH 187/196] fixed a case where you could hiss while muzzled --- code/modules/mob/living/carbon/human/emote.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 416fd911777..52636efb896 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -206,9 +206,13 @@ if("hiss", "hisses") var/M = handle_emote_param(param) - message = "[src] hisses[M ? " at [M]" : ""]." - playsound(loc, 'sound/effects/unathihiss.ogg', 50, 0) //Credit to Jamius (freesound.org) for the sound. - m_type = 2 + if(!muzzled) + message = "[src] hisses[M ? " at [M]" : ""]." + playsound(loc, 'sound/effects/unathihiss.ogg', 50, 0) //Credit to Jamius (freesound.org) for the sound. + m_type = 2 + else + message = "[src] makes a weak hissing noise." + m_type = 2 if("quill", "quills") var/M = handle_emote_param(param) From 513c926cb1065482f388be2473c8dd31ec852558 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sun, 19 May 2019 20:36:58 +0100 Subject: [PATCH 188/196] Come on you need friends --- code/_globalvars/misc.dm | 4 +++- code/_globalvars/station.dm | 2 -- paradise.dme | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 code/_globalvars/station.dm diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index e5674a9b47b..f933105e13b 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -86,4 +86,6 @@ var/copier_max_items = 300 var/copier_items_printed_logged = FALSE -GLOBAL_VAR(map_name) // Self explanatory \ No newline at end of file +GLOBAL_VAR(map_name) // Self explanatory + +var/global/datum/datacore/data_core = null // Station datacore, manifest, etc \ No newline at end of file diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm deleted file mode 100644 index ba8b70991c2..00000000000 --- a/code/_globalvars/station.dm +++ /dev/null @@ -1,2 +0,0 @@ -// TODO: Move this to be not in its own fucking file all alone on its own -var/global/datum/datacore/data_core = null \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 183cc319b30..d4df8c4cd43 100644 --- a/paradise.dme +++ b/paradise.dme @@ -103,7 +103,6 @@ #include "code\_globalvars\logging.dm" #include "code\_globalvars\mapping.dm" #include "code\_globalvars\misc.dm" -#include "code\_globalvars\station.dm" #include "code\_globalvars\unused.dm" #include "code\_globalvars\lists\flavor_misc.dm" #include "code\_globalvars\lists\fortunes.dm" From a12f8a2ecbc84c527d2408dc82b5e70ceec99d91 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 19 May 2019 16:43:36 -0400 Subject: [PATCH 189/196] Automatic changelog generation for PR #11551 [ci skip] --- html/changelogs/AutoChangeLog-pr-11551.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11551.yml diff --git a/html/changelogs/AutoChangeLog-pr-11551.yml b/html/changelogs/AutoChangeLog-pr-11551.yml new file mode 100644 index 00000000000..5770e7a1488 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11551.yml @@ -0,0 +1,5 @@ +author: "Arkatos" +delete-after: True +changes: + - bugfix: "Fixed a case where ghosts had an extra ghost icon visible on them" + - bugfix: "Fixed a case where some ghosts were too bright" From efa8d729418015f8005361fc633fc78182a540bc Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 19 May 2019 16:45:31 -0400 Subject: [PATCH 190/196] Automatic changelog generation for PR #11554 [ci skip] --- html/changelogs/AutoChangeLog-pr-11554.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11554.yml diff --git a/html/changelogs/AutoChangeLog-pr-11554.yml b/html/changelogs/AutoChangeLog-pr-11554.yml new file mode 100644 index 00000000000..4923c690400 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11554.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - bugfix: "You are now unable to swap forms with another changeling" From 47eb3a4b09bacb3f85cf2cbb3efcc9bb4e1a56a4 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 19 May 2019 16:45:56 -0400 Subject: [PATCH 191/196] Automatic changelog generation for PR #11555 [ci skip] --- html/changelogs/AutoChangeLog-pr-11555.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11555.yml diff --git a/html/changelogs/AutoChangeLog-pr-11555.yml b/html/changelogs/AutoChangeLog-pr-11555.yml new file mode 100644 index 00000000000..63ff2434d6e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11555.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - bugfix: "You can no longer hiss while muzzled" From 3af9b1856052ab56c91ff33eaf73778450f77915 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 19 May 2019 16:46:20 -0400 Subject: [PATCH 192/196] Automatic changelog generation for PR #11556 [ci skip] --- html/changelogs/AutoChangeLog-pr-11556.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11556.yml diff --git a/html/changelogs/AutoChangeLog-pr-11556.yml b/html/changelogs/AutoChangeLog-pr-11556.yml new file mode 100644 index 00000000000..246cc070f24 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11556.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - tweak: "Moved a global define" From c6777cbceb52191d9cb150552ca97982c390c092 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 20 May 2019 04:00:08 -0400 Subject: [PATCH 193/196] Automatic changelog generation for PR #11547 [ci skip] --- html/changelogs/AutoChangeLog-pr-11547.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11547.yml diff --git a/html/changelogs/AutoChangeLog-pr-11547.yml b/html/changelogs/AutoChangeLog-pr-11547.yml new file mode 100644 index 00000000000..d3cd23d8632 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11547.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - tweak: "Tweaks some preference orders" From 72abc2665ecedf9c1e543978dbe8a036750497dc Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Mon, 20 May 2019 15:42:20 +0200 Subject: [PATCH 194/196] fixes for cling aug vision and general action buttons --- code/datums/spell.dm | 8 +++++-- .../changeling/powers/augmented_eyesight.dm | 22 ++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/code/datums/spell.dm b/code/datums/spell.dm index 813604a1431..3d00394d278 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -167,6 +167,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin if("holdervar") adjust_var(user, holder_var_type, holder_var_amount) + if(action) + action.UpdateButtonIcon() return 1 /obj/effect/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount @@ -235,6 +237,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin else cast(targets, user = user) after_cast(targets) + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/before_cast(list/targets) if(overlay) @@ -291,8 +295,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin charge_counter++ if("holdervar") adjust_var(user, holder_var_type, -holder_var_amount) - - return + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/updateButtonIcon() if(action) diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index 1caba8b59d5..b0b77a456d5 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -8,18 +8,25 @@ button_icon_state = "augmented_eyesight" chemical_cost = 0 dna_cost = 2 //Would be 1 without thermal vision + active = FALSE -/datum/action/changeling/augmented_eyesight/sting_action(mob/living/carbon/human/user) +/datum/action/changeling/augmented_eyesight/on_purchase(mob/user) //The ability starts inactive, so we should be protected from flashes. + ..() + var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() + O.insert(user) + active = FALSE + +/datum/action/changeling/augmented_eyesight/sting_action(mob/living/carbon/user) if(!istype(user)) return - if(user.get_int_organ(/obj/item/organ/internal/cyberimp/eyes/thermals/ling)) - var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() - O.insert(user) - - else + if(!active) var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/thermals/ling() O.insert(user) - + active = TRUE + else + var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() + O.insert(user) + active = FALSE return 1 /datum/action/changeling/augmented_eyesight/Remove(mob/user) @@ -50,7 +57,6 @@ S.reagents.add_reagent("oculine", 15) return S - /obj/item/organ/internal/cyberimp/eyes/thermals/ling name = "heat receptors" desc = "These heat receptors dramatically increases eyes light sensing ability." From ca708563e54abd716540dfd14d27ebe5b756a040 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Mon, 20 May 2019 21:02:53 +0200 Subject: [PATCH 195/196] more fixes --- code/datums/mind.dm | 6 ++++-- code/game/gamemodes/changeling/powers/swap_form.dm | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 5652830d752..08c538c0462 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -906,9 +906,11 @@ if(src in SSticker.mode.changelings) SSticker.mode.changelings -= src special_role = null - current.remove_changeling_powers() + if(changeling) + current.remove_changeling_powers() + qdel(changeling) + changeling = null SSticker.mode.update_change_icons_removed(src) - if(changeling) qdel(changeling) to_chat(current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!") log_admin("[key_name(usr)] has de-changelinged [key_name(current)]") message_admins("[key_name_admin(usr)] has de-changelinged [key_name_admin(current)]") diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index 23e0b8e17f9..e0fc1107729 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -44,7 +44,7 @@ var/lingpowers = list() for(var/power in changeling.purchasedpowers) lingpowers += power - + changeling.absorbed_dna -= changeling.find_dna(user.dna) changeling.protected_dna -= changeling.find_dna(user.dna) changeling.absorbedcount -= 1 @@ -66,6 +66,7 @@ for(var/power in lingpowers) var/datum/action/changeling/S = power + target.mind.changeling.purchasedpowers += S if(istype(S) && S.needs_button) S.Grant(target) From 4846a17bcf28c262ad38c5b9a5161e92cf5c2c13 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 21 May 2019 07:18:23 -0400 Subject: [PATCH 196/196] Automatic changelog generation for PR #11559 [ci skip] --- html/changelogs/AutoChangeLog-pr-11559.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11559.yml diff --git a/html/changelogs/AutoChangeLog-pr-11559.yml b/html/changelogs/AutoChangeLog-pr-11559.yml new file mode 100644 index 00000000000..5bb8465ec94 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11559.yml @@ -0,0 +1,8 @@ +author: "Arkatos" +delete-after: True +changes: + - tweak: "Upon purchasing Augmented Eyesight changeling ability, changeling immediately receives passive version of the ability" + - tweak: "Changelings in the lesser form can now toggle Augmented Eyesight ability" + - bugfix: "Changelings are now removed properly via Traitor Panel" + - bugfix: "Changelings do not get their action buttons bugged when using Swap Forms ability now" + - bugfix: "Action buttons should update their cooldown statuses more reliably"