From 111b19180b3ddc1781de239f017caa834b17005b Mon Sep 17 00:00:00 2001 From: Rhials <28870487+Rhials@users.noreply.github.com> Date: Wed, 18 Oct 2023 15:38:59 -0400 Subject: [PATCH 01/18] Clicking a bitrunning pod orbits its avatar (#79053) --- code/modules/bitrunning/objects/netpod.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index cfd2aba2a809..8ee49fd9f757 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -227,6 +227,11 @@ return FALSE +/obj/machinery/netpod/attack_ghost(mob/dead/observer/our_observer) + var/our_target = avatar_ref?.resolve() + if(isnull(our_target) || !our_observer.orbit(our_target)) + return ..() + /// Disconnects the occupant after a certain time so they aren't just hibernating in netpod stasis. A balance change /obj/machinery/netpod/proc/auto_disconnect() if(isnull(occupant) || state_open || connected) From 918ab6b58c2b787fdbb4c0398493861bb8ad4915 Mon Sep 17 00:00:00 2001 From: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com> Date: Fri, 20 Oct 2023 02:23:24 -0400 Subject: [PATCH 02/18] Allows domains to forgo giving bitrunners their disk items and spells if that is desired (#78959) ## About The Pull Request Adds two variables to bitrunner domains, one for making them not spawn disk items, and one for making them not grant disk abilities to bitrunner characters on loading into the domain. Not presently used in any domains, but will be a mystery tool that will help us later. ## Why It's Good For The Game I've thought of a few pretty good domains but the ideas behind them fall apart a bit of joey bitrunner can bring a desword and fireball into them. ## Changelog :cl: code: Bitrunner domains can now have spells or items from disks disabled if the domain maker wants such a thing /:cl: --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/bitrunning/objects/netpod.dm | 2 +- .../bitrunning/server/obj_generation.dm | 23 ++++++++++++++++--- .../virtual_domain/virtual_domain.dm | 4 ++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index 8ee49fd9f757..a34a5e4cac5c 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -307,7 +307,7 @@ return current_avatar = server.generate_avatar(wayout, netsuit) avatar_ref = WEAKREF(current_avatar) - server.stock_gear(current_avatar, neo) + server.stock_gear(current_avatar, neo, generated_domain) neo.set_static_vision(3 SECONDS) protect_occupant(occupant) diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm index 221308e04878..f42d3ec3c3af 100644 --- a/code/modules/bitrunning/server/obj_generation.dm +++ b/code/modules/bitrunning/server/obj_generation.dm @@ -73,11 +73,28 @@ return wayout /// Scans over neo's contents for bitrunning tech disks. Loads the items or abilities onto the avatar. -/obj/machinery/quantum_server/proc/stock_gear(mob/living/carbon/human/avatar, mob/living/carbon/human/neo) +/obj/machinery/quantum_server/proc/stock_gear(mob/living/carbon/human/avatar, mob/living/carbon/human/neo, datum/lazy_template/virtual_domain/generated_domain) + var/domain_forbids_items = generated_domain.forbids_disk_items + var/domain_forbids_spells = generated_domain.forbids_disk_spells + + var/import_ban = list() + var/disk_ban = list() + if(domain_forbids_items) + import_ban += "smuggled digital equipment" + disk_ban += "items" + if(domain_forbids_spells) + import_ban += "imported_abilities" + disk_ban += "powers" + if(import_ban) + to_chat(neo, span_warning("This domain forbids the use of [english_list(import_ban)], your disk [english_list(disk_ban)] will not be granted!")) + var/failed = FALSE + // We don't need to bother going over the disks if neither of the types can be used. + if(domain_forbids_spells && domain_forbids_items) + return for(var/obj/item/bitrunning_disk/disk in neo.get_contents()) - if(istype(disk, /obj/item/bitrunning_disk/ability)) + if(istype(disk, /obj/item/bitrunning_disk/ability) && !domain_forbids_spells) var/obj/item/bitrunning_disk/ability/ability_disk = disk if(isnull(ability_disk.granted_action)) @@ -88,7 +105,7 @@ our_action.Grant(avatar) continue - if(istype(disk, /obj/item/bitrunning_disk/item)) + if(istype(disk, /obj/item/bitrunning_disk/item) && !domain_forbids_items) var/obj/item/bitrunning_disk/item/item_disk = disk if(isnull(item_disk.granted_item)) diff --git a/code/modules/bitrunning/virtual_domain/virtual_domain.dm b/code/modules/bitrunning/virtual_domain/virtual_domain.dm index c2bd193f4e98..202376a2c334 100644 --- a/code/modules/bitrunning/virtual_domain/virtual_domain.dm +++ b/code/modules/bitrunning/virtual_domain/virtual_domain.dm @@ -20,6 +20,10 @@ var/filename = "virtual_domain.dmm" /// Any outfit that you wish to force on avatars. Overrides preferences var/datum/outfit/forced_outfit + /// If this domain blocks the use of items from disks, for whatever reason + var/forbids_disk_items = FALSE + /// If this domain blocks the use of spells from disks, for whatever reason + var/forbids_disk_spells = FALSE /// Information given to connected clients via ability var/help_text // Name to show in the UI From b13a2d2bf52b81cb7cdc30718b03f623982a612b Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Mon, 23 Oct 2023 18:22:25 -0400 Subject: [PATCH 03/18] Fixes infinite loop in bitrunning (#79194) Clears up some functionality in netpod disconnect cases that lead to an infinite loop Also fixes an errant message from #78959 Fixes #79190 :cl: fix: Entering a virtual domain should no longer give you a message that it doesn't forbid items /:cl: --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> --- .../dcs/signals/signals_bitrunning.dm | 3 + .../components/avatar_connection.dm | 1 + .../bitrunning/components/netpod_healing.dm | 56 +++---- code/modules/bitrunning/objects/netpod.dm | 144 ++++++++---------- .../bitrunning/server/obj_generation.dm | 3 +- 5 files changed, 94 insertions(+), 113 deletions(-) diff --git a/code/__DEFINES/dcs/signals/signals_bitrunning.dm b/code/__DEFINES/dcs/signals/signals_bitrunning.dm index 957e61ae303c..e2731a05b34e 100644 --- a/code/__DEFINES/dcs/signals/signals_bitrunning.dm +++ b/code/__DEFINES/dcs/signals/signals_bitrunning.dm @@ -32,3 +32,6 @@ /// from /obj/machinery/quantum_server/scrub_vdom() #define COMSIG_BITRUNNER_DOMAIN_SCRUBBED "bitrunner_domain_scrubbed" + +/// from /obj/machinery/netpod/open_machine() +#define COMSIG_BITRUNNER_NETPOD_OPENED "bitrunner_netpod_opened" diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm index 24f42d8f3e51..8aa37645b4fb 100644 --- a/code/modules/bitrunning/components/avatar_connection.dm +++ b/code/modules/bitrunning/components/avatar_connection.dm @@ -35,6 +35,7 @@ avatar.key = old_body.key ADD_TRAIT(old_body, TRAIT_MIND_TEMPORARILY_GONE, REF(src)) + RegisterSignals(old_body, list(COMSIG_LIVING_DEATH, COMSIG_MOVABLE_MOVED, COMSIG_LIVING_STATUS_UNCONSCIOUS), PROC_REF(on_sever_connection)) RegisterSignal(pod, COMSIG_BITRUNNER_CROWBAR_ALERT, PROC_REF(on_netpod_crowbar)) RegisterSignal(pod, COMSIG_BITRUNNER_NETPOD_INTEGRITY, PROC_REF(on_netpod_damaged)) RegisterSignal(pod, COMSIG_BITRUNNER_SEVER_AVATAR, PROC_REF(on_sever_connection)) diff --git a/code/modules/bitrunning/components/netpod_healing.dm b/code/modules/bitrunning/components/netpod_healing.dm index fc7de89bcf3e..8cb363517de1 100644 --- a/code/modules/bitrunning/components/netpod_healing.dm +++ b/code/modules/bitrunning/components/netpod_healing.dm @@ -1,36 +1,18 @@ +#define BASE_HEAL 4 + /datum/component/netpod_healing - /// Brute damage to heal over a second - var/brute_heal = 0 - /// Burn damage to heal over a second - var/burn_heal = 0 - /// Toxin damage to heal over a second - var/toxin_heal = 0 - /// Amount of cloning damage to heal over a second - var/clone_heal = 0 - /// Amount of blood to heal over a second - var/blood_heal = 0 - -/datum/component/netpod_healing/Initialize( - brute_heal = 0, - burn_heal = 0, - toxin_heal = 0, - clone_heal = 0, - blood_heal = 0, -) - var/mob/living/carbon/player = parent - if (!iscarbon(player)) + +/datum/component/netpod_healing/Initialize(obj/machinery/netpod/pod) + if (!iscarbon(parent)) return COMPONENT_INCOMPATIBLE + RegisterSignal(pod, COMSIG_BITRUNNER_NETPOD_OPENED, PROC_REF(on_opened)) + + var/mob/living/carbon/player = parent player.apply_status_effect(/datum/status_effect/embryonic, STASIS_NETPOD_EFFECT) START_PROCESSING(SSmachines, src) - src.brute_heal = brute_heal - src.burn_heal = burn_heal - src.toxin_heal = toxin_heal - src.clone_heal = clone_heal - src.blood_heal = blood_heal - /datum/component/netpod_healing/Destroy(force, silent) STOP_PROCESSING(SSmachines, src) @@ -45,15 +27,23 @@ qdel(src) return - owner.adjustBruteLoss(-brute_heal * seconds_per_tick, updating_health = FALSE) - owner.adjustFireLoss(-burn_heal * seconds_per_tick, updating_health = FALSE) - owner.adjustToxLoss(-toxin_heal * seconds_per_tick, updating_health = FALSE, forced = TRUE) - owner.adjustCloneLoss(-clone_heal * seconds_per_tick, updating_health = FALSE) + var/need_mob_update = FALSE + need_mob_update += owner.adjustBruteLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE) + need_mob_update += owner.adjustFireLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE) + need_mob_update += owner.adjustToxLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE, forced = TRUE) + need_mob_update += owner.adjustCloneLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE) if(owner.blood_volume < BLOOD_VOLUME_NORMAL) - owner.blood_volume += blood_heal * seconds_per_tick + owner.blood_volume += BASE_HEAL * seconds_per_tick + + if(need_mob_update) + owner.updatehealth() - owner.updatehealth() +/// Deletes itself when the machine was opened +/datum/component/netpod_healing/proc/on_opened() + SIGNAL_HANDLER + + qdel(src) /datum/status_effect/embryonic id = "embryonic" @@ -63,3 +53,5 @@ name = "Embryonic Stasis" icon_state = "netpod_stasis" desc = "You feel like you're in a dream." + +#undef BASE_HEAL diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index a34a5e4cac5c..4cdb66276b0c 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -35,15 +35,10 @@ disconnect_damage = BASE_DISCONNECT_DAMAGE find_server() - RegisterSignals(src, list( - COMSIG_PARENT_QDELETING, - COMSIG_MACHINERY_BROKEN, - COMSIG_MACHINERY_POWER_LOST, - ), - PROC_REF(on_broken), - ) - RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) - RegisterSignal(src, COMSIG_ATOM_TAKE_DAMAGE, PROC_REF(on_take_damage)) + RegisterSignal(src, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(src, COMSIG_ATOM_TAKE_DAMAGE, PROC_REF(on_damage_taken)) + RegisterSignal(src, COMSIG_MACHINERY_POWER_LOST, PROC_REF(on_power_loss)) + RegisterSignals(src, list(COMSIG_QDELETING, COMSIG_MACHINERY_BROKEN),PROC_REF(on_broken)) register_context() update_appearance() @@ -89,7 +84,7 @@ if(!iscarbon(player)) return - if((HAS_TRAIT(player, TRAIT_UI_BLOCKED) && !player.resting) || !Adjacent(player) || !player.Adjacent(target) || !ISADVANCEDTOOLUSER(player) || !is_operational) + if((HAS_TRAIT(player, TRAIT_UI_BLOCKED) && !player.resting) || !Adjacent(player) || !ISADVANCEDTOOLUSER(player) || !is_operational) return close_machine(target) @@ -142,9 +137,10 @@ open_machine() /obj/machinery/netpod/open_machine(drop = TRUE, density_to_set = FALSE) - unprotect_and_signal() playsound(src, 'sound/machines/tramopen.ogg', 60, TRUE, frequency = 65000) flick("[base_icon_state]_opening", src) + SEND_SIGNAL(src, COMSIG_BITRUNNER_NETPOD_OPENED) + update_use_power(IDLE_POWER_USE) return ..() @@ -156,10 +152,6 @@ flick("[base_icon_state]_closing", src) ..() - if(!iscarbon(occupant)) - open_machine() - return - enter_matrix() /obj/machinery/netpod/default_pry_open(obj/item/crowbar, mob/living/pryer) @@ -184,6 +176,7 @@ if(do_after(pryer, 15 SECONDS, src)) if(!state_open) + SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) open_machine() return TRUE @@ -232,17 +225,22 @@ if(isnull(our_target) || !our_observer.orbit(our_target)) return ..() +/// Puts the occupant in netpod stasis, basically short-circuiting environmental conditions +/obj/machinery/netpod/proc/add_healing(mob/living/target) + if(target != occupant) + return + + target.AddComponent(/datum/component/netpod_healing, pod = src) + target.playsound_local(src, 'sound/effects/submerge.ogg', 20, vary = TRUE) + target.extinguish_mob() + update_use_power(ACTIVE_POWER_USE) + /// Disconnects the occupant after a certain time so they aren't just hibernating in netpod stasis. A balance change /obj/machinery/netpod/proc/auto_disconnect() if(isnull(occupant) || state_open || connected) return - if(!iscarbon(occupant)) - open_machine() - return - - var/mob/living/carbon/player = occupant - + var/mob/player = occupant player.playsound_local(src, 'sound/effects/splash.ogg', 60, TRUE) to_chat(player, span_notice("The machine disconnects itself and begins to drain.")) open_machine() @@ -252,7 +250,7 @@ connected = FALSE var/mob/living/mob_occupant = occupant - if(isnull(occupant) || !isliving(occupant) || mob_occupant.stat == DEAD) + if(isnull(occupant) || mob_occupant.stat == DEAD) open_machine() return @@ -261,6 +259,10 @@ mob_occupant.set_temp_blindness(1 SECONDS) mob_occupant.Paralyze(2 SECONDS) + if(!is_operational) + open_machine() + return + var/heal_time = 1 if(mob_occupant.health < mob_occupant.maxHealth) heal_time = (mob_occupant.stat + 2) * 5 @@ -299,9 +301,8 @@ return var/mob/living/carbon/current_avatar = avatar_ref?.resolve() - var/obj/structure/hololadder/wayout if(isnull(current_avatar) || current_avatar.stat != CONSCIOUS) // We need a viable avatar - wayout = server.generate_hololadder() + var/obj/structure/hololadder/wayout = server.generate_hololadder() if(isnull(wayout)) balloon_alert(neo, "out of bandwidth!") return @@ -310,7 +311,7 @@ server.stock_gear(current_avatar, neo, generated_domain) neo.set_static_vision(3 SECONDS) - protect_occupant(occupant) + add_healing(occupant) if(!do_after(neo, 2 SECONDS, src)) return @@ -372,20 +373,33 @@ /obj/machinery/netpod/proc/on_broken(datum/source) SIGNAL_HANDLER - if(!state_open) - open_machine() + if(isnull(occupant) || !connected) + return - if(occupant) - unprotect_and_signal() + SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + +/// Checks the integrity, alerts occupants +/obj/machinery/netpod/proc/on_damage_taken(datum/source, damage_amount) + SIGNAL_HANDLER + + if(isnull(occupant) || !connected) + return + + var/total = max_integrity - damage_amount + var/integrity = (atom_integrity / total) * 100 + if(integrity > 50) + return + + SEND_SIGNAL(src, COMSIG_BITRUNNER_NETPOD_INTEGRITY) /// Puts points on the current occupant's card account /obj/machinery/netpod/proc/on_domain_complete(datum/source, atom/movable/crate, reward_points) SIGNAL_HANDLER - if(isnull(occupant) || !connected || !iscarbon(occupant)) + if(isnull(occupant) || !connected) return - var/mob/living/carbon/player = occupant + var/mob/living/player = occupant var/datum/bank_account/account = player.get_bank_account() if(isnull(account)) @@ -393,6 +407,16 @@ account.bitrunning_points += reward_points * 100 +/// The domain has been fully purged, so we should double check our avatar is deleted +/obj/machinery/netpod/proc/on_domain_scrubbed(datum/source) + SIGNAL_HANDLER + + var/mob/avatar = avatar_ref?.resolve() + if(isnull(avatar)) + return + + QDEL_NULL(avatar) + /// User inspects the machine /obj/machinery/netpod/proc/on_examine(datum/source, mob/examiner, list/examine_text) SIGNAL_HANDLER @@ -408,15 +432,19 @@ examine_text += span_notice("It is currently occupied by [occupant].") examine_text += span_notice("It can be pried open with a crowbar, but its safety mechanisms will alert the occupant.") -/// The domain has been fully purged, so we should double check our avatar is deleted -/obj/machinery/netpod/proc/on_domain_scrubbed(datum/source) +/// Boots out anyone in the machine && opens it +/obj/machinery/netpod/proc/on_power_loss(datum/source) SIGNAL_HANDLER - var/mob/living/current_avatar = avatar_ref?.resolve() - if(isnull(current_avatar)) + if(state_open) + return + + if(isnull(occupant) || !connected) + connected = FALSE + open_machine() return - QDEL_NULL(current_avatar) + SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) /// When the server is upgraded, drops brain damage a little /obj/machinery/netpod/proc/on_server_upgraded(datum/source, servo_rating) @@ -424,50 +452,6 @@ disconnect_damage = BASE_DISCONNECT_DAMAGE * (1 - servo_rating) -/// Checks the integrity, alerts occupants -/obj/machinery/netpod/proc/on_take_damage(datum/source, damage_amount) - SIGNAL_HANDLER - - if(isnull(occupant)) - return - - var/total = max_integrity - damage_amount - var/integrity = (atom_integrity / total) * 100 - if(integrity > 50) - return - - SEND_SIGNAL(src, COMSIG_BITRUNNER_NETPOD_INTEGRITY) - -/// Puts the occupant in netpod stasis, basically short-circuiting environmental conditions -/obj/machinery/netpod/proc/protect_occupant(mob/living/target) - if(target != occupant) - return - - target.AddComponent(/datum/component/netpod_healing, \ - brute_heal = 4, \ - burn_heal = 4, \ - toxin_heal = 4, \ - clone_heal = 4, \ - blood_heal = 4, \ - ) - - target.playsound_local(src, 'sound/effects/submerge.ogg', 20, TRUE) - target.extinguish_mob() - update_use_power(ACTIVE_POWER_USE) - -/// On unbuckle or break, make sure the occupant ref is null -/obj/machinery/netpod/proc/unprotect_and_signal() - unprotect_occupant(occupant) - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) - -/// Removes the occupant from netpod stasis -/obj/machinery/netpod/proc/unprotect_occupant(mob/living/target) - var/datum/component/netpod_healing/healing_eff = target?.GetComponent(/datum/component/netpod_healing) - if(healing_eff) - qdel(healing_eff) - - update_use_power(IDLE_POWER_USE) - /// Resolves a path to an outfit. /obj/machinery/netpod/proc/resolve_outfit(text) var/path = text2path(text) diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm index f42d3ec3c3af..6fd220402420 100644 --- a/code/modules/bitrunning/server/obj_generation.dm +++ b/code/modules/bitrunning/server/obj_generation.dm @@ -85,7 +85,8 @@ if(domain_forbids_spells) import_ban += "imported_abilities" disk_ban += "powers" - if(import_ban) + + if(length(import_ban)) to_chat(neo, span_warning("This domain forbids the use of [english_list(import_ban)], your disk [english_list(disk_ban)] will not be granted!")) var/failed = FALSE From cc979d13658ba2d71eb23a8b2d8c234930317694 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Tue, 31 Oct 2023 11:59:33 +0100 Subject: [PATCH 04/18] monkestation specific fixes --- code/modules/bitrunning/objects/netpod.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index 4cdb66276b0c..c28f662dc05e 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -35,10 +35,12 @@ disconnect_damage = BASE_DISCONNECT_DAMAGE find_server() - RegisterSignal(src, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) +// RegisterSignal(src, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) MONKEYSTATION EDIT CHANGE OLD + RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) // MONKEYSTATION EDIT CHANGE NEW - we didnt have PR #75914 :c RegisterSignal(src, COMSIG_ATOM_TAKE_DAMAGE, PROC_REF(on_damage_taken)) RegisterSignal(src, COMSIG_MACHINERY_POWER_LOST, PROC_REF(on_power_loss)) - RegisterSignals(src, list(COMSIG_QDELETING, COMSIG_MACHINERY_BROKEN),PROC_REF(on_broken)) +// RegisterSignals(src, list(COMSIG_QDELETING, COMSIG_MACHINERY_BROKEN),PROC_REF(on_broken)) MONKEYSTATION EDIT CHANGE OLD + RegisterSignals(src, list(COMSIG_PARENT_QDELETING, COMSIG_MACHINERY_BROKEN),PROC_REF(on_broken))// MONKEYSTATION EDIT CHANGE NEW - we didnt have PR #75914... again register_context() update_appearance() From 6ee779e9b402e051303e8c5e6e9f0e47aed9e5fb Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:17:08 +0100 Subject: [PATCH 05/18] some commented out TG PR #78502 code --- code/modules/bitrunning/components/netpod_healing.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/bitrunning/components/netpod_healing.dm b/code/modules/bitrunning/components/netpod_healing.dm index 8cb363517de1..445594cd20c4 100644 --- a/code/modules/bitrunning/components/netpod_healing.dm +++ b/code/modules/bitrunning/components/netpod_healing.dm @@ -49,6 +49,15 @@ id = "embryonic" alert_type = /atom/movable/screen/alert/status_effect/embryonic +/* MONKEYSTATION EDIT REMOVAL - We dont have PR #78502 +/datum/status_effect/embryonic/on_apply() + ADD_TRAIT(owner, TRAIT_STASIS, TRAIT_STATUS_EFFECT(id)) + return TRUE + +/datum/status_effect/embryonic/on_remove() + REMOVE_TRAIT(owner, TRAIT_STASIS, TRAIT_STATUS_EFFECT(id)) +*/ + /atom/movable/screen/alert/status_effect/embryonic name = "Embryonic Stasis" icon_state = "netpod_stasis" From fb24e5471d1189adc6d50eaedb9bdc4bf1646a9e Mon Sep 17 00:00:00 2001 From: san7890 Date: Mon, 30 Oct 2023 15:16:59 -0700 Subject: [PATCH 06/18] Prevents Mindswapping on Bitrunners (#79323) Fixes #79310 Adds a new trait to prevent mindswaps (which is just useful for any future cases when we don't wanna rely on the blacklist typecache) while also accounting for bitrunners (who you can't mindswap because their mind is elsewhere) and their avatars (because that's not a real mind now is it). this does mean that bitrunners while bitrunning are immune to all mindswaps but i don't have a good answer on how to fix it. i don't even much like the idea of VR but I think that having these traits are useful enough for future utilization. prevent big breakage. :cl: fix: Bitrunners can no longer get mass-mindswapped out of their avatar when the wizard does the event. Something about machinery and magic not going well together. /:cl: --- code/__DEFINES/traits.dm | 3 +++ .../modules/bitrunning/components/avatar_connection.dm | 1 + code/modules/events/wizard/shuffle.dm | 2 +- .../spells/spell_types/pointed/mind_transfer.dm | 10 ++++++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7ef7a0f10c38..3c04f41f7336 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -1187,6 +1187,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define GLUED_ITEM_TRAIT "glued-item" #define TRAIT_BELT_SATCHEL "belt_satchel" +/// Trait given to mobs that we do not want to mindswap +#define TRAIT_NO_MINDSWAP "no_mindswap" + //monkestation edit start /// One can breath under water, you get me? #define TRAIT_WATER_BREATHING "water_breathing" diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm index 8aa37645b4fb..aee73a83ebb9 100644 --- a/code/modules/bitrunning/components/avatar_connection.dm +++ b/code/modules/bitrunning/components/avatar_connection.dm @@ -33,6 +33,7 @@ server.avatar_connection_refs.Add(WEAKREF(src)) avatar.key = old_body.key + ADD_TRAIT(avatar, TRAIT_NO_MINDSWAP, REF(src)) // do not remove this one ADD_TRAIT(old_body, TRAIT_MIND_TEMPORARILY_GONE, REF(src)) RegisterSignals(old_body, list(COMSIG_LIVING_DEATH, COMSIG_MOVABLE_MOVED, COMSIG_LIVING_STATUS_UNCONSCIOUS), PROC_REF(on_sever_connection)) diff --git a/code/modules/events/wizard/shuffle.dm b/code/modules/events/wizard/shuffle.dm index a41e7d7de322..460fe7b8a2f6 100644 --- a/code/modules/events/wizard/shuffle.dm +++ b/code/modules/events/wizard/shuffle.dm @@ -87,7 +87,7 @@ var/list/mobs_to_swap = list() for(var/mob/living/carbon/human/alive_human in GLOB.alive_mob_list) - if(alive_human.stat != CONSCIOUS || !alive_human.mind || IS_WIZARD(alive_human)) + if(alive_human.stat != CONSCIOUS || isnull(alive_human.mind) || IS_WIZARD(alive_human) || HAS_TRAIT(alive_human, TRAIT_NO_MINDSWAP)) continue //the wizard(s) are spared on this one mobs_to_swap += alive_human diff --git a/code/modules/spells/spell_types/pointed/mind_transfer.dm b/code/modules/spells/spell_types/pointed/mind_transfer.dm index 6c73f664fbfd..1cf2a5e7f51f 100644 --- a/code/modules/spells/spell_types/pointed/mind_transfer.dm +++ b/code/modules/spells/spell_types/pointed/mind_transfer.dm @@ -55,9 +55,19 @@ if(!isliving(cast_on)) to_chat(owner, span_warning("You can only swap minds with living beings!")) return FALSE + + if(HAS_TRAIT(cast_on, TRAIT_MIND_TEMPORARILY_GONE)) + to_chat(owner, span_warning("This creature's mind is somewhere else entirely!")) + return FALSE + + if(HAS_TRAIT(cast_on, TRAIT_NO_MINDSWAP)) + to_chat(owner, span_warning("This type of magic can't operate on [cast_on.p_their()] mind!")) + return FALSE + if(is_type_in_typecache(cast_on, blacklisted_mobs)) to_chat(owner, span_warning("This creature is too [pick("powerful", "strange", "arcane", "obscene")] to control!")) return FALSE + if(isguardian(cast_on)) var/mob/living/simple_animal/hostile/guardian/stand = cast_on if(stand.summoner && stand.summoner == owner) From 7c312c809a07f77f0254d8d2ce77e55cbf659259 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:40:43 +0100 Subject: [PATCH 07/18] monkestation specific mindswap --- .../code/modules/spells/spell_types/aoe_spell/mind_swap.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/monkestation/code/modules/spells/spell_types/aoe_spell/mind_swap.dm b/monkestation/code/modules/spells/spell_types/aoe_spell/mind_swap.dm index 777f196420fc..b3ccf06459e0 100644 --- a/monkestation/code/modules/spells/spell_types/aoe_spell/mind_swap.dm +++ b/monkestation/code/modules/spells/spell_types/aoe_spell/mind_swap.dm @@ -61,6 +61,12 @@ if(!nearby_mob.key && target_requires_key) continue + if(HAS_TRAIT(nearby_mob, TRAIT_MIND_TEMPORARILY_GONE)) + continue + + if(HAS_TRAIT(nearby_mob, TRAIT_NO_MINDSWAP)) + continue + things += nearby_mob return things From 129c7a497de4b2faace162fc1b009f9c68a30210 Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Tue, 31 Oct 2023 09:47:25 -0400 Subject: [PATCH 08/18] Fixes some bitrunning bugs [NO GBP] (#79332) ## About The Pull Request Atomized bug fix PR from the content patch. They seemed to be priority ## Why It's Good For The Game Fixes #79329 Fixes #79164 Fixes #79289 ## Changelog :cl: fix: Paraplegics can now enter netpods. fix: Fixes an exploit caused by teleporting out of a netpod. fix: Outfit selection at netpods shouldn't give armor bonuses any longer. /:cl: --- code/modules/bitrunning/objects/netpod.dm | 29 ++++++++++++------- .../bitrunning/server/obj_generation.dm | 10 +++++-- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index c28f662dc05e..812f86397a69 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -83,10 +83,10 @@ /obj/machinery/netpod/MouseDrop_T(mob/target, mob/user) var/mob/living/carbon/player = user - if(!iscarbon(player)) + if(!iscarbon(player) || !Adjacent(player) || !ISADVANCEDTOOLUSER(player) || !is_operational || !state_open) return - if((HAS_TRAIT(player, TRAIT_UI_BLOCKED) && !player.resting) || !Adjacent(player) || !ISADVANCEDTOOLUSER(player) || !is_operational) + if(player.buckled || HAS_TRAIT(player, TRAIT_HANDS_BLOCKED)) return close_machine(target) @@ -314,15 +314,9 @@ neo.set_static_vision(3 SECONDS) add_healing(occupant) - if(!do_after(neo, 2 SECONDS, src)) - return - - // Very invalid - if(QDELETED(neo) || QDELETED(current_avatar) || QDELETED(src)) - return - // Invalid - if(occupant != neo || isnull(neo.mind) || neo.stat == DEAD || current_avatar.stat == DEAD) + if(!validate_entry(neo, current_avatar)) + open_machine() return current_avatar.AddComponent( \ @@ -469,4 +463,19 @@ update_appearance() +/// Checks for cases to eject/fail connecting an avatar +/obj/machinery/netpod/proc/validate_entry(mob/living/neo, mob/living/avatar) + if(!do_after(neo, 2 SECONDS, src)) + return FALSE + + // Very invalid + if(QDELETED(neo) || QDELETED(avatar) || QDELETED(src) || !is_operational) + return FALSE + + // Invalid + if(occupant != neo || isnull(neo.mind) || neo.stat > SOFT_CRIT || avatar.stat == DEAD) + return FALSE + + return TRUE + #undef BASE_DISCONNECT_DAMAGE diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm index 6fd220402420..41918980360f 100644 --- a/code/modules/bitrunning/server/obj_generation.dm +++ b/code/modules/bitrunning/server/obj_generation.dm @@ -8,15 +8,21 @@ to_wear.belt = /obj/item/bitrunning_host_monitor to_wear.glasses = null to_wear.gloves = null - to_wear.l_hand = null to_wear.l_pocket = null - to_wear.r_hand = null to_wear.r_pocket = null to_wear.suit = null to_wear.suit_store = null avatar.equipOutfit(to_wear, visualsOnly = TRUE) + var/obj/item/clothing/under/jumpsuit = avatar.w_uniform + if(istype(jumpsuit)) + jumpsuit.set_armor(/datum/armor/clothing_under) + + var/obj/item/clothing/head/hat = avatar.get_clothing_on_part(HEAD) + if(istype(hat)) + hat.set_armor(null) + var/thing = avatar.get_active_held_item() if(!isnull(thing)) qdel(thing) From affd4af27e2d131a0eaa3acb805b3bcd16d19308 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Wed, 1 Nov 2023 03:45:37 +0100 Subject: [PATCH 09/18] le monkestation specific fixes, gotta love it --- code/modules/bitrunning/server/obj_generation.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm index 41918980360f..c503c2b28a5d 100644 --- a/code/modules/bitrunning/server/obj_generation.dm +++ b/code/modules/bitrunning/server/obj_generation.dm @@ -19,7 +19,9 @@ if(istype(jumpsuit)) jumpsuit.set_armor(/datum/armor/clothing_under) - var/obj/item/clothing/head/hat = avatar.get_clothing_on_part(HEAD) +// var/obj/item/clothing/head/hat = avatar.get_clothing_on_part(HEAD) MONKEYSTATION EDIT CHANGE OLD + var/obj/item/clothing/head/hat = avatar.clothingonpart(HEAD) // MONKEYSTATION EDIT CHANGE NEW - we dont have TG's PR #78589 so its named a bit differently + if(istype(hat)) hat.set_armor(null) From 0dcb6a283a9e65470cb20560354bc57a562148a6 Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Thu, 2 Nov 2023 06:21:04 -0700 Subject: [PATCH 10/18] Removes virtual-specific megafauna, fixes boss map issues [NO GBP] (#79424) Another atomization of the content patch- Let's not subtype everything into virtual variants This also fixes some bugs that were present with vdom boss maps - Made the bubblegum map larger so he wouldn't teleport out - Legion is just far too annoying to have to fix code wise, given that few if anyone tries it with the base virtual equipment
what do you mean too annoying? Legion doesn't handle dying like the standard megafauna - each time it "dies" it looks to see if there's another legion in the entire game world. Given the real one very likely exists, this basically means it won't drop anything. I'd have to modify legion's death proc specifically for the virtual domain. No other megafauna has this level of weirdness (nor splitting behavior) and coupled with the fact I think no one tries the domain, I'm just removing it.
Cleans up megafauna subtypes that were specific for the virtual domain. Now, we won't need to keep adding to the list if there's ever a new one Fixes #79203 Fixes #79200 :cl: fix: Bubblegum should no longer teleport out of the simulation when threatened del: Chamber of Echoes map removed as it conflicts with the actual Legion /:cl: --- _maps/virtual_domains/ash_drake.dmm | 4 +- _maps/virtual_domains/blood_drunk_miner.dmm | 4 +- _maps/virtual_domains/bubblegum.dmm | 1758 +++++++++++++---- _maps/virtual_domains/colossus.dmm | 4 +- _maps/virtual_domains/hierophant.dmm | 4 +- _maps/virtual_domains/wendigo.dmm | 2 +- .../components/virtual_elite_mob.dm | 18 + .../bitrunning/server/signal_handlers.dm | 7 +- .../virtual_domain/domains/ash_drake.dm | 8 - .../domains/blood_drunk_miner.dm | 8 - .../virtual_domain/domains/bubblegum.dm | 8 - .../virtual_domain/domains/colossus.dm | 7 - .../virtual_domain/domains/hierophant.dm | 8 - .../virtual_domain/domains/legion.dm | 20 - .../virtual_domain/domains/wendigo.dm | 8 - code/modules/mob/living/living_defines.dm | 3 - tgstation.dme | 2 +- 17 files changed, 1427 insertions(+), 446 deletions(-) create mode 100644 code/modules/bitrunning/components/virtual_elite_mob.dm delete mode 100644 code/modules/bitrunning/virtual_domain/domains/legion.dm diff --git a/_maps/virtual_domains/ash_drake.dmm b/_maps/virtual_domains/ash_drake.dmm index 50fbac8696ab..6056136a278a 100644 --- a/_maps/virtual_domains/ash_drake.dmm +++ b/_maps/virtual_domains/ash_drake.dmm @@ -21,7 +21,7 @@ /obj/machinery/light/small/blacklight/directional/south, /obj/effect/baseturf_helper/virtual_domain, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain/powered) +/area/virtual_domain) "i" = ( /obj/structure/marker_beacon/jade, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -35,7 +35,7 @@ /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) "q" = ( -/mob/living/simple_animal/hostile/megafauna/dragon/virtual_domain, +/mob/living/simple_animal/hostile/megafauna/dragon, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) "s" = ( diff --git a/_maps/virtual_domains/blood_drunk_miner.dmm b/_maps/virtual_domains/blood_drunk_miner.dmm index c3369a1c822d..bf673bd6dfa0 100644 --- a/_maps/virtual_domains/blood_drunk_miner.dmm +++ b/_maps/virtual_domains/blood_drunk_miner.dmm @@ -27,7 +27,7 @@ /obj/machinery/light/small/blacklight/directional/south, /obj/effect/baseturf_helper/virtual_domain, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain/powered) +/area/virtual_domain) "i" = ( /obj/structure/stone_tile{ dir = 4 @@ -171,7 +171,7 @@ /obj/structure/stone_tile/surrounding/cracked{ dir = 6 }, -/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/virtual_domain, +/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) "T" = ( diff --git a/_maps/virtual_domains/bubblegum.dmm b/_maps/virtual_domains/bubblegum.dmm index 3381b1735398..a801fa491874 100644 --- a/_maps/virtual_domains/bubblegum.dmm +++ b/_maps/virtual_domains/bubblegum.dmm @@ -29,7 +29,7 @@ /obj/machinery/light/small/blacklight/directional/south, /obj/effect/baseturf_helper/virtual_domain, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain/powered) +/area/virtual_domain) "x" = ( /obj/structure/marker_beacon/olive, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -43,7 +43,7 @@ /turf/template_noop, /area/virtual_domain/safehouse) "C" = ( -/mob/living/simple_animal/hostile/megafauna/bubblegum/virtual_domain, +/mob/living/simple_animal/hostile/megafauna/bubblegum, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) "F" = ( @@ -134,6 +134,16 @@ F F F F +F +F +F +F +F +F +F +F +F +F R "} (2,1,1) = {" @@ -182,16 +192,492 @@ Z Z Z Z -F -"} -(3,1,1) = {" -F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(3,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(4,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(5,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(6,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(7,1,1) = {" +F +Z +Z +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(8,1,1) = {" +F +Z +Z +F +Z +Z +Z +a +a +Z +Z +Z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +Z +Z +Z +a +a +a +a +a +a +a +a +Z +Z +a +a +a +a +a +a +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(9,1,1) = {" +F +Z +Z +F +Z +Z +Z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +Z +Z +Z +Z +Z +Z +F +"} +(10,1,1) = {" +F +Z +Z +Z +Z +Z +Z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +p +Z +Z +Z +Z +F +Z +F +"} +(11,1,1) = {" +F +Z +Z +Z +Z +Z Z a a -Z -Z -Z a a a @@ -208,9 +694,6 @@ a a a a -Z -Z -Z a a a @@ -219,22 +702,38 @@ a a a a -Z -Z +a +G +a +a +a +a +a a a a a a a +a +p +p +Z Z Z Z F +Z +F "} -(4,1,1) = {" +(12,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -249,6 +748,7 @@ a a a a +x a a a @@ -270,19 +770,28 @@ a a a a +Z a a a a -a -a -a +p +Z +Z +Z +Z +Z Z F "} -(5,1,1) = {" +(13,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -319,24 +828,38 @@ a a a a +Z +Z a a a -a -a -p +Z +Z +Z +Z +Z +Z Z F "} -(6,1,1) = {" +(14,1,1) = {" F Z +Z +Z +Z +Z +Z a a a a a a +p +p +p +p a a a @@ -358,9 +881,6 @@ a a a a -G -a -a a a a @@ -371,19 +891,34 @@ a a a a -p -p +Z +Z +Z +Z +Z +Z Z F "} -(7,1,1) = {" +(15,1,1) = {" F Z +Z +Z +Z +Z +Z +Z a a a a a +Z +Z +Z +p +a a a a @@ -393,7 +928,6 @@ a a a a -x a a a @@ -416,36 +950,90 @@ a a a Z +Z +Z +Z +Z +Z +Z +F +"} +(16,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +a a a a a -p Z -F -"} -(8,1,1) = {" -F Z +Z +p +a +a +a +a +a +a +a +a +a a a a a a a +Z +Z +a +a a a a a a a +p +p +a +a +a a a +Z +Z +Z +Z +Z +Z +F +"} +(17,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z a a a a a +p +Z +p +p a a a @@ -468,23 +1056,39 @@ Z a a a +a +a +a +a +p +a +a +a +a +a +Z +Z +Z +Z Z Z F "} -(9,1,1) = {" +(18,1,1) = {" F Z +Z +Z +Z +Z +Z +Z a a a a a a -p -p -p -p a a a @@ -504,11 +1108,15 @@ a a a a +Z +Z +Z a a a a a +M a a a @@ -518,21 +1126,27 @@ a a Z Z +Z +Z +Z +Z F "} -(10,1,1) = {" +(19,1,1) = {" F Z Z +Z +Z +Z +Z +a +a a a a a a -Z -Z -Z -p a a a @@ -552,6 +1166,10 @@ a a a a +Z +Z +Z +a a a a @@ -566,21 +1184,31 @@ a a Z Z +Z +Z +Z +Z F "} -(11,1,1) = {" +(20,1,1) = {" F Z Z +Z +Z +Z +Z +a +a +a +a +a +a a a a a a -Z -Z -Z -p a a a @@ -596,8 +1224,6 @@ a a a a -Z -Z a a a @@ -606,29 +1232,35 @@ a a a a -p -p +a +c a a a a a +a +Z +Z +Z +Z +Z Z F "} -(12,1,1) = {" +(21,1,1) = {" F Z Z +Z +Z +Z +Z a a a a a -p -Z -p -p a a a @@ -645,9 +1277,10 @@ a a a a +I +a +a a -Z -Z a a a @@ -655,19 +1288,32 @@ a a a a -p a a a a a +a +a +a +a +a +Z +Z +Z +Z +Z Z F "} -(13,1,1) = {" +(22,1,1) = {" F Z Z +Z +Z +Z +Z a a a @@ -679,6 +1325,10 @@ a a a a +W +a +a +a a a a @@ -693,15 +1343,11 @@ a a a a -Z -Z -Z a a a a a -M a a a @@ -709,12 +1355,23 @@ a a a a +a +Z +Z +Z +Z +Z Z F "} -(14,1,1) = {" +(23,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -741,9 +1398,6 @@ a a a a -Z -Z -Z a a a @@ -757,12 +1411,25 @@ a a a a +a +a +a +Z +Z +Z +Z +Z Z F "} -(15,1,1) = {" +(24,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -798,24 +1465,35 @@ a a a a -c a a a a a a +a +Z +Z +Z +Z +Z Z F "} -(16,1,1) = {" +(25,1,1) = {" F Z +Z +F +Z +Z +Z a a a a a +z a a a @@ -832,7 +1510,6 @@ a a a a -I a a a @@ -854,11 +1531,21 @@ a a a Z +Z +Z +Z +Z +Z F "} -(17,1,1) = {" +(26,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -870,13 +1557,6 @@ a a a a -W -a -a -a -a -a -a a a a @@ -900,13 +1580,30 @@ a a a a +w +S +S +S +S +S +T a Z +Z +Z +Z +Z +F F "} -(18,1,1) = {" +(27,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -942,19 +1639,29 @@ a a a a +S +S +S +S +S +S a -a -a -a -a -a -a +Z +Z +Z +Z +Z Z F "} -(19,1,1) = {" +(28,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -974,6 +1681,7 @@ a a a a +C a a a @@ -989,27 +1697,29 @@ a a a a +S +S +S +S +S +S a -a -a -a -a -a -a -a +Z +Z +Z +Z +Z Z F "} -(20,1,1) = {" +(29,1,1) = {" F Z -a -a -a -a -a -z -a +Z +Z +Z +Z +Z a a a @@ -1042,15 +1752,33 @@ a a a a +X a a +S +S +S +S +S +S a Z +Z +Z +Z +Z +Z F "} -(21,1,1) = {" +(30,1,1) = {" F Z +Z +Z +Z +Z +Z +a a a a @@ -1085,20 +1813,29 @@ a a a a -w S S S S S -T +S a Z +Z +Z +Z +Z +Z F "} -(22,1,1) = {" +(31,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -1142,11 +1879,21 @@ S S a Z +Z +Z +Z +Z +Z F "} -(23,1,1) = {" +(32,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -1166,7 +1913,6 @@ a a a a -C a a a @@ -1182,19 +1928,30 @@ a a a a +w S S S S S -S +A a Z +Z +Z +Z +Z +Z F "} -(24,1,1) = {" +(33,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -1207,6 +1964,10 @@ a a a a +f +a +a +a a a a @@ -1227,27 +1988,35 @@ a a a a -X a a -S -S -S -S -S -S a +a +a +a +Z +Z +Z +Z +Z Z F "} -(25,1,1) = {" +(34,1,1) = {" F Z +Z +Z +Z +Z +Z +a a a a a a +Z a a a @@ -1263,6 +2032,7 @@ a a a a +r a a a @@ -1278,25 +2048,35 @@ a a a a -S -S -S -S -S -S a +a +a +a +Z +Z +Z +Z +Z Z F "} -(26,1,1) = {" +(35,1,1) = {" F Z +Z +Z +Z +Z +Z a a a a a a +Z +Z +Z a a a @@ -1326,24 +2106,37 @@ a a a a -S -S -S -S -S -S a +a +a +a +Z +Z +Z +Z +Z Z F "} -(27,1,1) = {" +(36,1,1) = {" F Z +Z +Z +Z +Z +Z +a a a a a a +Z +Z +Z +a +a a a a @@ -1373,20 +2166,24 @@ a a a a -w -S -S -S -S -S -A a +a +Z +Z +Z +Z +Z Z F "} -(28,1,1) = {" +(37,1,1) = {" F Z +Z +Z +Z +Z +Z a a a @@ -1394,12 +2191,12 @@ a a a a +Z a a a a a -f a a a @@ -1430,12 +2227,21 @@ a a a Z +Z +Z +Z +Z +Z F "} -(29,1,1) = {" +(38,1,1) = {" F Z -a +Z +Z +Z +Z +Z a a a @@ -1457,7 +2263,6 @@ a a a a -r a a a @@ -1471,6 +2276,8 @@ a a a a +d +a a a a @@ -1478,20 +2285,29 @@ a a a Z +Z +Z +Z +Z +Z F "} -(30,1,1) = {" +(39,1,1) = {" F Z +Z +Z +Z +Z +Z +Z a a a a +Z a a -Z -Z -Z a a a @@ -1512,6 +2328,7 @@ a a a a +Z a a a @@ -1526,22 +2343,28 @@ a a a Z +Z +Z +Z +Z +Z F "} -(31,1,1) = {" +(40,1,1) = {" F Z +Z +Z +Z +Z +Z +Z a a a a a a -Z -Z -Z -a -a a a a @@ -1553,6 +2376,7 @@ a a a a +X a a a @@ -1561,6 +2385,9 @@ a a a a +Z +Z +Z a a a @@ -1574,11 +2401,22 @@ a a a Z +Z +Z +Z +Z +Z F "} -(32,1,1) = {" +(41,1,1) = {" F Z +Z +Z +Z +Z +Z +Z a a a @@ -1586,10 +2424,6 @@ a a a a -Z -a -a -a a a a @@ -1609,6 +2443,9 @@ a a a a +Z +Z +Z a a a @@ -1622,17 +2459,27 @@ a a a Z +Z +Z +Z +Z +Z F "} -(33,1,1) = {" +(42,1,1) = {" +F +Z +Z F Z +Z +Z +Z a a a a a -Z a a a @@ -1661,7 +2508,6 @@ a a a a -d a a a @@ -1670,40 +2516,50 @@ a a a Z +Z +Z +Z +Z +Z +Z F "} -(34,1,1) = {" +(43,1,1) = {" F Z Z -a -a -a -a Z +Z +Z +Z +a a a +p +p a a a a a +g a a a a +Z a a a a a a +p a a a a a -Z a a a @@ -1718,15 +2574,27 @@ a a a Z +Z +Z +Z +Z +Z +Z F "} -(35,1,1) = {" +(44,1,1) = {" F Z Z +Z +Z +Z +Z a a a +p +p a a a @@ -1736,23 +2604,22 @@ a a a a +Z +Z +Z a a a a a -X -a -a +p +p a a a a a a -Z -Z -Z a a a @@ -1766,13 +2633,23 @@ a a a Z +Z +Z +Z +Z +Z F "} -(36,1,1) = {" +(45,1,1) = {" F Z Z +Z +Z +Z +Z a +c a a a @@ -1798,9 +2675,6 @@ a a a a -Z -Z -Z a a a @@ -1813,13 +2687,26 @@ a a a a +a +a +a +Z +Z +Z +Z +Z Z F "} -(37,1,1) = {" +(46,1,1) = {" F Z Z +Z +Z +Z +Z +a a a a @@ -1853,6 +2740,7 @@ a a a a +Y a a a @@ -1862,34 +2750,32 @@ a a Z Z +Z +Z +Z +Z F "} -(38,1,1) = {" +(47,1,1) = {" F Z +Z +Z +Z +Z +Z a a a -p -p -a -a -a -a -a -g -a a a a -Z a a a a a a -p a a a @@ -1908,18 +2794,9 @@ a a a a -Z -Z -F -"} -(39,1,1) = {" -F -Z a a a -p -p a a a @@ -1932,227 +2809,360 @@ a Z Z Z +Z +Z +Z +F +"} +(48,1,1) = {" +F +Z +Z +Z +Z +Z +Z a +Z +Z +Z +Z a a a a -p -p a +Z +Z +Z +Z a a a +Z +Z +Z +Z +Z a a a a a a +Z +Z +Z +Z a a a a a a +Z +Z a a Z +Z +Z +Z +Z +Z +F +"} +(49,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +Z +Z +Z +Z +F +"} +(50,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +"} +(51,1,1) = {" +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z F "} -(40,1,1) = {" +(52,1,1) = {" F Z -a -c -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a +Z +Z +Z +Z Z F -"} -(41,1,1) = {" F Z -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -Y -a -a -a -a -a -a -a +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z Z F -"} -(42,1,1) = {" +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z F Z -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a +Z +Z +Z +Z +Z +Z +Z +Z Z F "} -(43,1,1) = {" +(53,1,1) = {" F Z -a Z Z Z Z -a -a -a -a -a Z Z Z Z -a -a -a Z Z Z Z Z -a -a -a -a -a -a Z Z Z Z -a -a -a -a -a -a Z Z -a -a +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +F +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z +Z Z F "} -(44,1,1) = {" +(54,1,1) = {" F Z Z @@ -2191,16 +3201,36 @@ Z Z Z Z +F +Z +Z +Z +Z +Z +Z +Z +Z Z Z Z +F Z Z Z Z F "} -(45,1,1) = {" +(55,1,1) = {" +F +F +F +F +F +F +F +F +F +F F F F diff --git a/_maps/virtual_domains/colossus.dmm b/_maps/virtual_domains/colossus.dmm index a9c3c6e6d79e..fe97dcace428 100644 --- a/_maps/virtual_domains/colossus.dmm +++ b/_maps/virtual_domains/colossus.dmm @@ -30,7 +30,7 @@ /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) "p" = ( -/mob/living/simple_animal/hostile/megafauna/colossus/virtual_domain, +/mob/living/simple_animal/hostile/megafauna/colossus, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) "q" = ( @@ -41,7 +41,7 @@ /obj/machinery/light/small/blacklight/directional/south, /obj/effect/baseturf_helper/virtual_domain, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain/powered) +/area/virtual_domain) "s" = ( /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) diff --git a/_maps/virtual_domains/hierophant.dmm b/_maps/virtual_domains/hierophant.dmm index 02b11ad4e1ef..81f8a9f97a73 100644 --- a/_maps/virtual_domains/hierophant.dmm +++ b/_maps/virtual_domains/hierophant.dmm @@ -37,7 +37,7 @@ /turf/closed/indestructible/binary, /area/lavaland/surface/outdoors/virtual_domain) "E" = ( -/mob/living/simple_animal/hostile/megafauna/hierophant/virtual_domain, +/mob/living/simple_animal/hostile/megafauna/hierophant, /turf/open/indestructible/hierophant/two, /area/lavaland/surface/outdoors/virtual_domain) "H" = ( @@ -51,7 +51,7 @@ /obj/machinery/light/small/blacklight/directional/south, /obj/effect/baseturf_helper/virtual_domain, /turf/open/indestructible/hierophant, -/area/virtual_domain/powered) +/area/virtual_domain) "S" = ( /obj/effect/mob_spawn/corpse/human/miner, /turf/open/indestructible/hierophant, diff --git a/_maps/virtual_domains/wendigo.dmm b/_maps/virtual_domains/wendigo.dmm index 17bcb48d688b..dcce722cbbd0 100644 --- a/_maps/virtual_domains/wendigo.dmm +++ b/_maps/virtual_domains/wendigo.dmm @@ -58,7 +58,7 @@ /turf/open/misc/asteroid/snow/ice/icemoon, /area/icemoon/underground/explored/virtual_domain) "H" = ( -/mob/living/simple_animal/hostile/megafauna/wendigo/virtual_domain, +/mob/living/simple_animal/hostile/megafauna/wendigo, /turf/open/indestructible/necropolis{ initial_gas_mix = "ICEMOON_ATMOS" }, diff --git a/code/modules/bitrunning/components/virtual_elite_mob.dm b/code/modules/bitrunning/components/virtual_elite_mob.dm new file mode 100644 index 000000000000..5a5766ecdf54 --- /dev/null +++ b/code/modules/bitrunning/components/virtual_elite_mob.dm @@ -0,0 +1,18 @@ +/// Removes loot tables from megafauna and lowers their health. +/datum/element/virtual_elite_mob + +/datum/element/virtual_elite_mob/Attach(datum/target) + . = ..() + if(!ismegafauna(target)) + return ELEMENT_INCOMPATIBLE + + var/mob/living/simple_animal/hostile/megafauna/boss = target + + var/new_max = clamp(boss.maxHealth * 0.5, 600, 1200) + boss.maxHealth = new_max + boss.health = new_max + boss.true_spawn = FALSE + boss.loot.Cut() + boss.loot += /obj/structure/closet/crate/secure/bitrunning/encrypted + boss.crusher_loot.Cut() + boss.crusher_loot += /obj/structure/closet/crate/secure/bitrunning/encrypted diff --git a/code/modules/bitrunning/server/signal_handlers.dm b/code/modules/bitrunning/server/signal_handlers.dm index b0464b351faf..40b9d2b2c3f7 100644 --- a/code/modules/bitrunning/server/signal_handlers.dm +++ b/code/modules/bitrunning/server/signal_handlers.dm @@ -83,8 +83,11 @@ if(isliving(thing)) // so we can mutate them var/mob/living/creature = thing - if(creature.can_be_cybercop) - mutation_candidate_refs.Add(WEAKREF(creature)) + if(ismegafauna(creature)) + creature.AddElement(/datum/element/virtual_elite_mob) + continue + + mutation_candidate_refs.Add(WEAKREF(creature)) continue if(istype(thing, /obj/effect/mob_spawn/ghost_role)) // so we get threat alerts diff --git a/code/modules/bitrunning/virtual_domain/domains/ash_drake.dm b/code/modules/bitrunning/virtual_domain/domains/ash_drake.dm index 02bb91abc588..83d65a7fb46a 100644 --- a/code/modules/bitrunning/virtual_domain/domains/ash_drake.dm +++ b/code/modules/bitrunning/virtual_domain/domains/ash_drake.dm @@ -8,11 +8,3 @@ map_name = "ash_drake" reward_points = BITRUNNER_REWARD_MEDIUM safehouse_path = /datum/map_template/safehouse/lavaland_boss - -/mob/living/simple_animal/hostile/megafauna/dragon/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - health = 1600 - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - maxHealth = 1600 - true_spawn = FALSE diff --git a/code/modules/bitrunning/virtual_domain/domains/blood_drunk_miner.dm b/code/modules/bitrunning/virtual_domain/domains/blood_drunk_miner.dm index abf2e0fc5a94..ad5d22f51751 100644 --- a/code/modules/bitrunning/virtual_domain/domains/blood_drunk_miner.dm +++ b/code/modules/bitrunning/virtual_domain/domains/blood_drunk_miner.dm @@ -8,11 +8,3 @@ map_name = "blood_drunk_miner" reward_points = BITRUNNER_REWARD_MEDIUM safehouse_path = /datum/map_template/safehouse/lavaland_boss - -/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - health = 1600 - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - maxHealth = 1600 - true_spawn = FALSE diff --git a/code/modules/bitrunning/virtual_domain/domains/bubblegum.dm b/code/modules/bitrunning/virtual_domain/domains/bubblegum.dm index bede97177cb7..4ac4a6476bd2 100644 --- a/code/modules/bitrunning/virtual_domain/domains/bubblegum.dm +++ b/code/modules/bitrunning/virtual_domain/domains/bubblegum.dm @@ -9,11 +9,3 @@ map_name = "bubblegum" reward_points = BITRUNNER_REWARD_HIGH safehouse_path = /datum/map_template/safehouse/lavaland_boss - -/mob/living/simple_animal/hostile/megafauna/bubblegum/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - health = 2000 - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - maxHealth = 2000 - true_spawn = FALSE diff --git a/code/modules/bitrunning/virtual_domain/domains/colossus.dm b/code/modules/bitrunning/virtual_domain/domains/colossus.dm index 35ba4eee0ca8..9baa011263b3 100644 --- a/code/modules/bitrunning/virtual_domain/domains/colossus.dm +++ b/code/modules/bitrunning/virtual_domain/domains/colossus.dm @@ -9,10 +9,3 @@ reward_points = BITRUNNER_REWARD_HIGH safehouse_path = /datum/map_template/safehouse/lavaland_boss -/mob/living/simple_animal/hostile/megafauna/colossus/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - health = 2000 - maxHealth = 2000 - true_spawn = FALSE diff --git a/code/modules/bitrunning/virtual_domain/domains/hierophant.dm b/code/modules/bitrunning/virtual_domain/domains/hierophant.dm index 142623f4f812..5b67c9d9bf22 100644 --- a/code/modules/bitrunning/virtual_domain/domains/hierophant.dm +++ b/code/modules/bitrunning/virtual_domain/domains/hierophant.dm @@ -8,11 +8,3 @@ map_name = "hierophant" reward_points = BITRUNNER_REWARD_HIGH safehouse_path = /datum/map_template/safehouse/lavaland_boss - -/mob/living/simple_animal/hostile/megafauna/hierophant/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - health = 1700 - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - maxHealth = 1700 - true_spawn = FALSE diff --git a/code/modules/bitrunning/virtual_domain/domains/legion.dm b/code/modules/bitrunning/virtual_domain/domains/legion.dm deleted file mode 100644 index f1ba146f3801..000000000000 --- a/code/modules/bitrunning/virtual_domain/domains/legion.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/lazy_template/virtual_domain/legion - name = "Chamber of Echoes" - cost = BITRUNNER_COST_MEDIUM - desc = "A chilling realm that houses Legion's necropolis. Those who succumb to it are forever damned." - difficulty = BITRUNNER_DIFFICULTY_MEDIUM - forced_outfit = /datum/outfit/job/miner - key = "legion" - map_name = "legion" - reward_points = BITRUNNER_REWARD_MEDIUM - safehouse_path = /datum/map_template/safehouse/lavaland_boss - -/mob/living/simple_animal/hostile/megafauna/legion/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - health = 1500 - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - maxHealth = 1500 - true_spawn = FALSE - -// You may be thinking, what about those mini-legions? They're not part of the initial created_atoms list diff --git a/code/modules/bitrunning/virtual_domain/domains/wendigo.dm b/code/modules/bitrunning/virtual_domain/domains/wendigo.dm index fcad3db6faf7..fa0d15b92e9f 100644 --- a/code/modules/bitrunning/virtual_domain/domains/wendigo.dm +++ b/code/modules/bitrunning/virtual_domain/domains/wendigo.dm @@ -9,11 +9,3 @@ reward_points = BITRUNNER_REWARD_HIGH safehouse_path = /datum/map_template/safehouse/lavaland_boss -/mob/living/simple_animal/hostile/megafauna/wendigo/virtual_domain - can_be_cybercop = FALSE - crusher_loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - guaranteed_butcher_results = list(/obj/item/wendigo_skull = 1) - health = 2000 - loot = list(/obj/structure/closet/crate/secure/bitrunning/encrypted) - maxHealth = 2000 - true_spawn = FALSE diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 5b7ee004c039..471dec0a9d2d 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -224,6 +224,3 @@ var/datum/stamina_container/stamina /// What our current gravity state is. Used to avoid duplicate animates and such var/gravity_state = null - - /// Whether this mob can be mutated into a cybercop via quantum server get_valid_domain_targets(). Specifically dodges megafauna - var/can_be_cybercop = TRUE diff --git a/tgstation.dme b/tgstation.dme index 02793494e3ba..bdd80b6e386a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3025,6 +3025,7 @@ #include "code\modules\bitrunning\components\avatar_connection.dm" #include "code\modules\bitrunning\components\bitrunning_points.dm" #include "code\modules\bitrunning\components\netpod_healing.dm" +#include "code\modules\bitrunning\components\virtual_elite_mob.dm" #include "code\modules\bitrunning\objects\byteforge.dm" #include "code\modules\bitrunning\objects\clothing.dm" #include "code\modules\bitrunning\objects\disks.dm" @@ -3054,7 +3055,6 @@ #include "code\modules\bitrunning\virtual_domain\domains\colossus.dm" #include "code\modules\bitrunning\virtual_domain\domains\gondola_asteroid.dm" #include "code\modules\bitrunning\virtual_domain\domains\hierophant.dm" -#include "code\modules\bitrunning\virtual_domain\domains\legion.dm" #include "code\modules\bitrunning\virtual_domain\domains\pipedream.dm" #include "code\modules\bitrunning\virtual_domain\domains\pirates.dm" #include "code\modules\bitrunning\virtual_domain\domains\psyker_shuffle.dm" From d7ebd84cdab888eec3d6d6d47f201d84871f31df Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Thu, 2 Nov 2023 06:23:48 -0700 Subject: [PATCH 11/18] Cleans up signal use in bitrunning [NO GBP] (#79426) ## About The Pull Request Atomized #78997 Broke up duplicate signal usage - though they do the same thing, this is convention & it makes it easier to debug Removed custom alert subtypes in favor of just setting values directly Removed some unnecessary vars like the console ref from the server Since I'm just copying this over, it has added exam text for net pods, which fixes an issue reported to me in Discord ## Why It's Good For The Game Code improvement ## Changelog :cl: add: Added some clarity to the range of netpods (4 tiles) in their exam text. /:cl: --- .../dcs/signals/signals_bitrunning.dm | 53 +++++++++------ code/modules/bitrunning/alerts.dm | 23 +------ .../components/avatar_connection.dm | 67 ++++++++++++------- code/modules/bitrunning/objects/hololadder.dm | 2 +- code/modules/bitrunning/objects/netpod.dm | 42 ++++++------ .../bitrunning/objects/quantum_console.dm | 1 - code/modules/bitrunning/server/loot.dm | 46 ++++++------- .../modules/bitrunning/server/map_handling.dm | 5 +- .../bitrunning/server/quantum_server.dm | 8 --- .../bitrunning/server/signal_handlers.dm | 30 ++------- code/modules/bitrunning/server/threats.dm | 21 ++++++ code/modules/bitrunning/server/util.dm | 40 ++++------- tgstation.dme | 1 + 13 files changed, 169 insertions(+), 170 deletions(-) create mode 100644 code/modules/bitrunning/server/threats.dm diff --git a/code/__DEFINES/dcs/signals/signals_bitrunning.dm b/code/__DEFINES/dcs/signals/signals_bitrunning.dm index e2731a05b34e..3bca73db596b 100644 --- a/code/__DEFINES/dcs/signals/signals_bitrunning.dm +++ b/code/__DEFINES/dcs/signals/signals_bitrunning.dm @@ -1,37 +1,50 @@ -/// from /obj/machinery/netpod/default_pry_open() : (mob/living/intruder) -#define COMSIG_BITRUNNER_CROWBAR_ALERT "bitrunner_crowbar" +/// from /atom/movable/screen/alert/bitrunning/qserver_domain_complete +#define COMSIG_BITRUNNER_ALERT_SEVER "bitrunner_alert_sever" /// from /obj/effect/bitrunning/loot_signal: (points) #define COMSIG_BITRUNNER_GOAL_POINT "bitrunner_goal_point" -/// from /obj/machinery/quantum_server/on_goal_turf_entered(): (atom/entered, reward_points) -#define COMSIG_BITRUNNER_DOMAIN_COMPLETE "bitrunner_complete" +// Netpods + +/// from /obj/machinery/netpod/sever_connection() +#define COMSIG_BITRUNNER_NETPOD_SEVER "bitrunner_netpod_sever" + +/// from /obj/machinery/netpod/default_pry_open() : (mob/living/intruder) +#define COMSIG_BITRUNNER_CROWBAR_ALERT "bitrunner_crowbar" -/// from /obj/machinery/netpod/on_take_damage() +/// from /obj/machinery/netpod/on_damage_taken() #define COMSIG_BITRUNNER_NETPOD_INTEGRITY "bitrunner_netpod_damage" -/// from /obj/structure/hololadder and complete alert -#define COMSIG_BITRUNNER_SAFE_DISCONNECT "bitrunner_disconnect" +/// from /obj/machinery/netpod/open_machine() +#define COMSIG_BITRUNNER_NETPOD_OPENED "bitrunner_netpod_opened" + +// Server + +/// from /obj/machinery/quantum_server/on_goal_turf_entered(): (atom/entered, reward_points) +#define COMSIG_BITRUNNER_DOMAIN_COMPLETE "bitrunner_complete" + +/// from /obj/machinery/quantum_server/generate_loot() +#define COMSIG_BITRUNNER_CACHE_SEVER "bitrunner_cache_sever" -/// from /obj/machinery/netpod/open_machine(), /obj/machinery/quantum_server, etc (obj/machinery/netpod) -#define COMSIG_BITRUNNER_SEVER_AVATAR "bitrunner_sever" +/// from /obj/machinery/quantum_server/sever_connection() +#define COMSIG_BITRUNNER_QSRV_SEVER "bitrunner_qserver_sever" /// from /obj/machinery/quantum_server/shutdown() : (mob/living) #define COMSIG_BITRUNNER_SHUTDOWN_ALERT "bitrunner_shutdown" -// Notifies the bitrunners -/// from /datum/antagonist/cyber_police/proc/notify() : +/// from /obj/machinery/quantum_server/notify_threat() #define COMSIG_BITRUNNER_THREAT_CREATED "bitrunner_threat" -// Informs the server to up the threat count -/// from event spawns: (mob/living) -#define COMSIG_BITRUNNER_SPAWN_GLITCH "bitrunner_spawn_glitch" - -/// from /obj/machinery/quantum_server/refreshParts(): (servo rating) -#define COMSIG_BITRUNNER_SERVER_UPGRADED "bitrunner_server_upgraded" - /// from /obj/machinery/quantum_server/scrub_vdom() #define COMSIG_BITRUNNER_DOMAIN_SCRUBBED "bitrunner_domain_scrubbed" -/// from /obj/machinery/netpod/open_machine() -#define COMSIG_BITRUNNER_NETPOD_OPENED "bitrunner_netpod_opened" +/// from /obj/machienry/quantum_server/station_spawn() +#define COMSIG_BITRUNNER_STATION_SPAWN "bitrunner_station_spawn" + +// Ladder +/// from /obj/structure/hololadder/disconnect() +#define COMSIG_BITRUNNER_LADDER_SEVER "bitrunner_ladder_sever" + + +/// deprecated +#define COMSIG_BITRUNNER_SPAWN_GLITCH "bitrunner_spawn_glitch" diff --git a/code/modules/bitrunning/alerts.dm b/code/modules/bitrunning/alerts.dm index f8c8aa30b943..27412fb359a1 100644 --- a/code/modules/bitrunning/alerts.dm +++ b/code/modules/bitrunning/alerts.dm @@ -3,26 +3,6 @@ icon_state = "template" timeout = 10 SECONDS -/atom/movable/screen/alert/bitrunning/netpod_crowbar - name = "Forced Entry" - desc = "Someone is prying open the netpod door. Find an exit." - -/atom/movable/screen/alert/bitrunning/netpod_damaged - name = "Integrity Compromised" - desc = "The netpod is damaged. Find an exit." - -/atom/movable/screen/alert/bitrunning/qserver_shutting_down - name = "Domain Rebooting" - desc = "The domain is rebooting. Find an exit." - -/atom/movable/screen/alert/bitrunning/qserver_threat_deletion - name = "Queue Deletion" - desc = "The server is resetting. Oblivion awaits." - -/atom/movable/screen/alert/bitrunning/qserver_threat_spawned - name = "Threat Detected" - desc = "Data stream abnormalities present." - /atom/movable/screen/alert/bitrunning/qserver_domain_complete name = "Domain Completed" desc = "The domain is completed. Activate to exit." @@ -37,4 +17,5 @@ return if(tgui_alert(living_owner, "Disconnect safely?", "Server Message", list("Exit", "Remain"), 10 SECONDS) == "Exit") - SEND_SIGNAL(living_owner, COMSIG_BITRUNNER_SAFE_DISCONNECT) + SEND_SIGNAL(living_owner, COMSIG_BITRUNNER_ALERT_SEVER) + diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm index aee73a83ebb9..f3134c7ec80b 100644 --- a/code/modules/bitrunning/components/avatar_connection.dm +++ b/code/modules/bitrunning/components/avatar_connection.dm @@ -36,12 +36,18 @@ ADD_TRAIT(avatar, TRAIT_NO_MINDSWAP, REF(src)) // do not remove this one ADD_TRAIT(old_body, TRAIT_MIND_TEMPORARILY_GONE, REF(src)) + /** + * Things that will disconnect forcefully: + * - Server shutdown / broken + * - Netpod power loss / broken + * - Pilot dies/ is moved / falls unconscious + */ RegisterSignals(old_body, list(COMSIG_LIVING_DEATH, COMSIG_MOVABLE_MOVED, COMSIG_LIVING_STATUS_UNCONSCIOUS), PROC_REF(on_sever_connection)) RegisterSignal(pod, COMSIG_BITRUNNER_CROWBAR_ALERT, PROC_REF(on_netpod_crowbar)) RegisterSignal(pod, COMSIG_BITRUNNER_NETPOD_INTEGRITY, PROC_REF(on_netpod_damaged)) - RegisterSignal(pod, COMSIG_BITRUNNER_SEVER_AVATAR, PROC_REF(on_sever_connection)) + RegisterSignal(pod, COMSIG_BITRUNNER_NETPOD_SEVER, PROC_REF(on_sever_connection)) RegisterSignal(server, COMSIG_BITRUNNER_DOMAIN_COMPLETE, PROC_REF(on_domain_completed)) - RegisterSignal(server, COMSIG_BITRUNNER_SEVER_AVATAR, PROC_REF(on_sever_connection)) + RegisterSignal(server, COMSIG_BITRUNNER_QSRV_SEVER, PROC_REF(on_sever_connection)) RegisterSignal(server, COMSIG_BITRUNNER_SHUTDOWN_ALERT, PROC_REF(on_shutting_down)) RegisterSignal(server, COMSIG_BITRUNNER_THREAT_CREATED, PROC_REF(on_threat_created)) #ifndef UNIT_TESTS @@ -69,18 +75,26 @@ /datum/component/avatar_connection/RegisterWithParent() ADD_TRAIT(parent, TRAIT_TEMPORARY_BODY, REF(src)) - RegisterSignal(parent, COMSIG_BITRUNNER_SAFE_DISCONNECT, PROC_REF(on_safe_disconnect)) + /** + * Things that cause safe disconnection: + * - Click the alert + * - Mailed in a cache + * - Click / Stand on the ladder + */ + RegisterSignals(parent, list(COMSIG_BITRUNNER_ALERT_SEVER, COMSIG_BITRUNNER_CACHE_SEVER, COMSIG_BITRUNNER_LADDER_SEVER), PROC_REF(on_safe_disconnect)) RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(on_sever_connection)) RegisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(on_linked_damage)) /datum/component/avatar_connection/UnregisterFromParent() REMOVE_TRAIT(parent, TRAIT_TEMPORARY_BODY, REF(src)) - UnregisterSignal(parent, COMSIG_BITRUNNER_SAFE_DISCONNECT) + UnregisterSignal(parent, COMSIG_BITRUNNER_ALERT_SEVER) + UnregisterSignal(parent, COMSIG_BITRUNNER_CACHE_SEVER) + UnregisterSignal(parent, COMSIG_BITRUNNER_LADDER_SEVER) UnregisterSignal(parent, COMSIG_LIVING_DEATH) UnregisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE) /// Disconnects the avatar and returns the mind to the old_body. -/datum/component/avatar_connection/proc/full_avatar_disconnect(forced = FALSE, datum/source) +/datum/component/avatar_connection/proc/full_avatar_disconnect(cause_damage = FALSE, datum/source) #ifndef UNIT_TESTS return_to_old_body() #endif @@ -89,7 +103,7 @@ if(isnull(hosting_netpod) && istype(source, /obj/machinery/netpod)) hosting_netpod = source - hosting_netpod?.disconnect_occupant(forced) + hosting_netpod?.disconnect_occupant(cause_damage) var/obj/machinery/quantum_server/server = server_ref?.resolve() server?.avatar_connection_refs.Remove(WEAKREF(src)) @@ -101,7 +115,7 @@ SIGNAL_HANDLER var/mob/living/avatar = parent - avatar.playsound_local(avatar, 'sound/machines/terminal_success.ogg', 50, TRUE) + avatar.playsound_local(avatar, 'sound/machines/terminal_success.ogg', 50, vary = TRUE) avatar.throw_alert( ALERT_BITRUNNER_COMPLETED, /atom/movable/screen/alert/bitrunning/qserver_domain_complete, @@ -113,12 +127,11 @@ SIGNAL_HANDLER var/mob/living/carbon/old_body = old_body_ref?.resolve() - if(isnull(old_body) || damage_type == STAMINA || damage_type == OXYLOSS) return if(damage >= (old_body.health + MAX_LIVING_HEALTH)) - full_avatar_disconnect(forced = TRUE) + full_avatar_disconnect(cause_damage = TRUE) return if(damage > 30 && prob(30)) @@ -127,7 +140,7 @@ old_body.apply_damage(damage, damage_type, def_zone, blocked, forced, wound_bonus = CANT_WOUND) if(old_body.stat > SOFT_CRIT) // KO! - full_avatar_disconnect(forced = TRUE) + full_avatar_disconnect(cause_damage = TRUE) /// Handles minds being swapped around in subsequent avatars /datum/component/avatar_connection/proc/on_mind_transfer(datum/mind/source, mob/living/previous_body) @@ -144,58 +157,66 @@ SIGNAL_HANDLER var/mob/living/avatar = parent - avatar.playsound_local(avatar, 'sound/machines/terminal_alert.ogg', 50, TRUE) - avatar.throw_alert( + avatar.playsound_local(avatar, 'sound/machines/terminal_alert.ogg', 50, vary = TRUE) + var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_CROWBAR, - /atom/movable/screen/alert/bitrunning/netpod_crowbar, + /atom/movable/screen/alert/bitrunning, new_master = intruder ) + alert.name = "Netpod Breached" + alert.desc = "Someone is prying open the netpod. Find an exit." /// Triggers when the netpod is taking damage and is under 50% /datum/component/avatar_connection/proc/on_netpod_damaged(datum/source) SIGNAL_HANDLER var/mob/living/avatar = parent - avatar.throw_alert( + var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_INTEGRITY, - /atom/movable/screen/alert/bitrunning/netpod_damaged, + /atom/movable/screen/alert/bitrunning, new_master = source ) + alert.name = "Integrity Compromised" + alert.desc = "The netpod is damaged. Find an exit." -/// Safely exits without forced variables, etc +/// Triggers when a safe disconnect is called /datum/component/avatar_connection/proc/on_safe_disconnect(datum/source) SIGNAL_HANDLER full_avatar_disconnect() -/// Helper for calling sever with forced variables +/// Received message to sever connection /datum/component/avatar_connection/proc/on_sever_connection(datum/source) SIGNAL_HANDLER - full_avatar_disconnect(forced = TRUE, source = source) + full_avatar_disconnect(cause_damage = TRUE, source = source) /// Triggers when the server is shutting down /datum/component/avatar_connection/proc/on_shutting_down(datum/source, mob/living/hackerman) SIGNAL_HANDLER var/mob/living/avatar = parent - avatar.playsound_local(avatar, 'sound/machines/terminal_alert.ogg', 50, TRUE) - avatar.throw_alert( + avatar.playsound_local(avatar, 'sound/machines/terminal_alert.ogg', 50, vary = TRUE) + var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_SHUTDOWN, - /atom/movable/screen/alert/bitrunning/qserver_shutting_down, + /atom/movable/screen/alert/bitrunning, new_master = hackerman, ) + alert.name = "Domain Rebooting" + alert.desc = "The domain is rebooting. Find an exit." /// Server has spawned a ghost role threat /datum/component/avatar_connection/proc/on_threat_created(datum/source) SIGNAL_HANDLER var/mob/living/avatar = parent - avatar.throw_alert( + var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_THREAT, - /atom/movable/screen/alert/bitrunning/qserver_threat_spawned, + /atom/movable/screen/alert/bitrunning, new_master = source, ) + alert.name = "Threat Detected" + alert.desc = "Data stream abnormalities present." /// Returns the mind to the old body /datum/component/avatar_connection/proc/return_to_old_body() diff --git a/code/modules/bitrunning/objects/hololadder.dm b/code/modules/bitrunning/objects/hololadder.dm index 906801f1fc02..e592f31382de 100644 --- a/code/modules/bitrunning/objects/hololadder.dm +++ b/code/modules/bitrunning/objects/hololadder.dm @@ -35,7 +35,7 @@ balloon_alert(user, "disconnecting...") if(do_after(user, travel_time, src)) - SEND_SIGNAL(user, COMSIG_BITRUNNER_SAFE_DISCONNECT) + SEND_SIGNAL(user, COMSIG_BITRUNNER_LADDER_SEVER) /// Helper for times when you dont have hands (gondola??) /obj/structure/hololadder/proc/on_enter(datum/source, atom/movable/arrived, turf/old_loc) diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index 812f86397a69..2866663c446c 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -123,11 +123,6 @@ if(!state_open && gone == occupant) container_resist_act(gone) -/obj/machinery/netpod/Exited(atom/movable/gone, direction) - . = ..() - if(!state_open && gone == occupant) - container_resist_act(gone) - /obj/machinery/netpod/relaymove(mob/living/user, direction) if(!state_open) container_resist_act(user) @@ -178,7 +173,7 @@ if(do_after(pryer, 15 SECONDS, src)) if(!state_open) - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + sever_connection() open_machine() return TRUE @@ -248,7 +243,7 @@ open_machine() /// Handles occupant post-disconnection effects like damage, sounds, etc -/obj/machinery/netpod/proc/disconnect_occupant(forced = FALSE) +/obj/machinery/netpod/proc/disconnect_occupant(cause_damage = FALSE) connected = FALSE var/mob/living/mob_occupant = occupant @@ -270,7 +265,7 @@ heal_time = (mob_occupant.stat + 2) * 5 addtimer(CALLBACK(src, PROC_REF(auto_disconnect)), heal_time SECONDS, TIMER_UNIQUE|TIMER_STOPPABLE|TIMER_DELETE_ME) - if(!forced) + if(!cause_damage) return mob_occupant.flash_act(override_blindness_check = TRUE, visual = TRUE) @@ -341,7 +336,7 @@ return server_ref = WEAKREF(server) - RegisterSignal(server, COMSIG_BITRUNNER_SERVER_UPGRADED, PROC_REF(on_server_upgraded)) + RegisterSignal(server, COMSIG_MACHINERY_REFRESH_PARTS, PROC_REF(on_server_upgraded)) RegisterSignal(server, COMSIG_BITRUNNER_DOMAIN_COMPLETE, PROC_REF(on_domain_complete)) RegisterSignal(server, COMSIG_BITRUNNER_DOMAIN_SCRUBBED, PROC_REF(on_domain_scrubbed)) @@ -354,14 +349,12 @@ "outfits" = list() ) - for(var/path as anything in outfit_list) - var/datum/outfit/outfit = path - + for(var/datum/outfit/outfit as anything in outfit_list) var/outfit_name = initial(outfit.name) if(findtext(outfit_name, "(") != 0 || findtext(outfit_name, "-") != 0) // No special variants please continue - collection["outfits"] += list(list("path" = path, "name" = outfit_name)) + collection["outfits"] += list(list("path" = outfit, "name" = outfit_name)) return list(collection) @@ -369,10 +362,7 @@ /obj/machinery/netpod/proc/on_broken(datum/source) SIGNAL_HANDLER - if(isnull(occupant) || !connected) - return - - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + sever_connection() /// Checks the integrity, alerts occupants /obj/machinery/netpod/proc/on_damage_taken(datum/source, damage_amount) @@ -417,6 +407,11 @@ /obj/machinery/netpod/proc/on_examine(datum/source, mob/examiner, list/examine_text) SIGNAL_HANDLER + if(isnull(server_ref?.resolve())) + examine_text += span_infoplain("It's not connected to anything.") + examine_text += span_infoplain("Netpods must be built within 4 tiles of a server.") + return + examine_text += span_infoplain("Drag yourself into the pod to engage the link.") examine_text += span_infoplain("It has limited resuscitation capabilities. Remaining in the pod can heal some injuries.") examine_text += span_infoplain("It has a security system that will alert the occupant if it is tampered with.") @@ -440,13 +435,13 @@ open_machine() return - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + sever_connection() /// When the server is upgraded, drops brain damage a little -/obj/machinery/netpod/proc/on_server_upgraded(datum/source, servo_rating) +/obj/machinery/netpod/proc/on_server_upgraded(obj/machinery/quantum_server/source) SIGNAL_HANDLER - disconnect_damage = BASE_DISCONNECT_DAMAGE * (1 - servo_rating) + disconnect_damage = BASE_DISCONNECT_DAMAGE * (1 - source.servo_bonus) /// Resolves a path to an outfit. /obj/machinery/netpod/proc/resolve_outfit(text) @@ -454,6 +449,13 @@ if(ispath(path, /datum/outfit)) return path +/// Severs the connection with the current avatar +/obj/machinery/netpod/proc/sever_connection() + if(isnull(occupant) || !connected) + return + + SEND_SIGNAL(src, COMSIG_BITRUNNER_NETPOD_SEVER) + /// Closes the machine without shoving in an occupant /obj/machinery/netpod/proc/shut_pod() state_open = FALSE diff --git a/code/modules/bitrunning/objects/quantum_console.dm b/code/modules/bitrunning/objects/quantum_console.dm index c918648d010b..cfa051b12a24 100644 --- a/code/modules/bitrunning/objects/quantum_console.dm +++ b/code/modules/bitrunning/objects/quantum_console.dm @@ -104,5 +104,4 @@ var/obj/machinery/quantum_server/nearby_server = locate(/obj/machinery/quantum_server, get_step(src, direction)) if(nearby_server) server_ref = WEAKREF(nearby_server) - nearby_server.console_ref = WEAKREF(src) return nearby_server diff --git a/code/modules/bitrunning/server/loot.dm b/code/modules/bitrunning/server/loot.dm index 8b3af95607c6..91889bce0a5f 100644 --- a/code/modules/bitrunning/server/loot.dm +++ b/code/modules/bitrunning/server/loot.dm @@ -7,27 +7,24 @@ rewards_base += servo_bonus - rewards_base += (domain_threats * 2) + rewards_base += (length(spawned_threat_refs) * 2) for(var/index in 2 to length(avatar_connection_refs)) rewards_base += multiplayer_bonus return rewards_base -/// Generates a reward based on the given domain -/obj/machinery/quantum_server/proc/generate_loot() - var/list/obj/machinery/byteforge/nearby_forges = get_nearby_forges() - if(isnull(nearby_forges)) - say(src, "No nearby byteforges detected.") - return FALSE +/// Handles spawning the (new) crate and deleting the former +/obj/machinery/quantum_server/proc/generate_loot(obj/cache, obj/machinery/byteforge/chosen_forge) + for(var/mob/person in cache.contents) + SEND_SIGNAL(person, COMSIG_BITRUNNER_CACHE_SEVER) - points += generated_domain.reward_points - playsound(src, 'sound/machines/terminal_success.ogg', 30, 2) + spark_at_location(cache) // abracadabra! + qdel(cache) // and it's gone! + SEND_SIGNAL(src, COMSIG_BITRUNNER_DOMAIN_COMPLETE, cache, generated_domain.reward_points) - var/obj/machinery/byteforge/chosen_forge = pick(nearby_forges) - if(isnull(chosen_forge)) - stack_trace("Failed to find a turf to spawn loot crate on.") - return FALSE + points += generated_domain.reward_points + playsound(src, 'sound/machines/terminal_success.ogg', 30, vary = TRUE) var/bonus = calculate_rewards() @@ -36,11 +33,11 @@ certificate.name = "certificate of domain completion" certificate.update_appearance() - var/obj/structure/closet/crate/secure/bitrunning/decrypted/reward_crate = new(src, generated_domain, bonus) - reward_crate.manifest = certificate - reward_crate.update_appearance() + var/obj/structure/closet/crate/secure/bitrunning/decrypted/reward_cache = new(src, generated_domain, bonus) + reward_cache.manifest = certificate + reward_cache.update_appearance() - chosen_forge.start_to_spawn(reward_crate) + chosen_forge.start_to_spawn(reward_cache) return TRUE /// Returns the markdown text containing domain completion information @@ -51,18 +48,20 @@ var/bonuses = calculate_rewards() + var/domain_threats = length(spawned_threat_refs) + var/time_difference = world.time - generated_domain.start_time var/completion_time = "### Completion Time: [DisplayTimeText(time_difference)]\n" - var/grade = "\n---\n\n# Rating: [grade_completion(generated_domain.difficulty, domain_threats, base_points, domain_randomized, time_difference)]" + var/grade = "\n---\n\n# Rating: [grade_completion(time_difference)]" var/text = "# Certificate of Domain Completion\n\n---\n\n" text += "### [generated_domain.name][domain_randomized ? " (Randomized)" : ""]\n" text += "- **Difficulty:** [generated_domain.difficulty]\n" text += "- **Threats:** [domain_threats]\n" - text += "- **Base Points:** [base_points][domain_randomized ? " +1" : ""]\n\n" + text += "- **Base Reward:** [base_points][domain_randomized ? " +1" : ""]\n\n" text += "- **Total Bonus:** [bonuses]x\n\n" if(bonuses <= 1) @@ -91,12 +90,11 @@ return text /// Grades the player's run based on several factors -/obj/machinery/quantum_server/proc/grade_completion(difficulty, threats, points, randomized, completion_time) - var/score = threats * 5 - score += points - score += randomized ? 1 : 0 +/obj/machinery/quantum_server/proc/grade_completion(completion_time) + var/score = length(spawned_threat_refs) * 5 + score += generated_domain.reward_points - var/base = difficulty + 1 + var/base = generated_domain.difficulty + 1 var/time_score = 1 if(completion_time <= 1 MINUTES) diff --git a/code/modules/bitrunning/server/map_handling.dm b/code/modules/bitrunning/server/map_handling.dm index 3b55edf76669..ea9b95afaea1 100644 --- a/code/modules/bitrunning/server/map_handling.dm +++ b/code/modules/bitrunning/server/map_handling.dm @@ -142,7 +142,7 @@ /obj/machinery/quantum_server/proc/reset(fast = FALSE) is_ready = FALSE - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + sever_connections() if(!fast) notify_spawned_threats() @@ -155,12 +155,11 @@ update_use_power(IDLE_POWER_USE) domain_randomized = FALSE - domain_threats = 0 retries_spent = 0 /// Deletes all the tile contents /obj/machinery/quantum_server/proc/scrub_vdom() - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) /// just in case someone's connected + sever_connections() /// just in case someone's connected SEND_SIGNAL(src, COMSIG_BITRUNNER_DOMAIN_SCRUBBED) // avatar cleanup just in case if(length(generated_domain.reservations)) diff --git a/code/modules/bitrunning/server/quantum_server.dm b/code/modules/bitrunning/server/quantum_server.dm index 7fdedeaabc4a..b84d318db0c7 100644 --- a/code/modules/bitrunning/server/quantum_server.dm +++ b/code/modules/bitrunning/server/quantum_server.dm @@ -16,12 +16,8 @@ var/datum/lazy_template/virtual_domain/generated_domain /// The loaded safehouse, map_template/safehouse var/datum/map_template/safehouse/generated_safehouse - /// The connected console - var/datum/weakref/console_ref /// If the current domain was a random selection var/domain_randomized = FALSE - /// If any threats were spawned, adds to rewards - var/domain_threats = 0 /// Prevents multiple user actions. Handled by loading domains and cooldowns var/is_ready = TRUE /// List of available domains @@ -57,9 +53,6 @@ /obj/machinery/quantum_server/LateInitialize() . = ..() - if(isnull(console_ref)) - find_console() - radio = new(src) radio.set_frequency(FREQ_SUPPLY) radio.subspace_transmission = TRUE @@ -147,4 +140,3 @@ servo_bonus = servo_rating - SEND_SIGNAL(src, COMSIG_BITRUNNER_SERVER_UPGRADED, servo_rating) diff --git a/code/modules/bitrunning/server/signal_handlers.dm b/code/modules/bitrunning/server/signal_handlers.dm index 40b9d2b2c3f7..24f26ea39889 100644 --- a/code/modules/bitrunning/server/signal_handlers.dm +++ b/code/modules/bitrunning/server/signal_handlers.dm @@ -2,10 +2,7 @@ /obj/machinery/quantum_server/proc/on_broken(datum/source) SIGNAL_HANDLER - if(isnull(generated_domain)) - return - - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + sever_connections() /// Whenever a corpse spawner makes a new corpse, add it to the list of potential mutations /obj/machinery/quantum_server/proc/on_corpse_spawned(datum/source, mob/living/corpse) @@ -18,7 +15,7 @@ SIGNAL_HANDLER if(generated_domain) - SEND_SIGNAL(src, COMSIG_BITRUNNER_SEVER_AVATAR) + sever_connections() scrub_vdom() if(is_ready) @@ -49,25 +46,14 @@ /obj/machinery/quantum_server/proc/on_goal_turf_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) SIGNAL_HANDLER - if(!istype(arrived, /obj/structure/closet/crate/secure/bitrunning/encrypted)) + var/obj/machinery/byteforge/chosen_forge = get_random_nearby_forge() + if(isnull(chosen_forge)) return - var/obj/structure/closet/crate/secure/bitrunning/encrypted/loot_crate = arrived - if(!istype(loot_crate)) + if(istype(arrived, /obj/structure/closet/crate/secure/bitrunning/encrypted)) + generate_loot(arrived, chosen_forge) return - for(var/mob/person in loot_crate.contents) - if(isnull(person.mind)) - person.forceMove(get_turf(loot_crate)) - - var/datum/component/avatar_connection/connection = person.GetComponent(/datum/component/avatar_connection) - connection?.full_avatar_disconnect() - - spark_at_location(loot_crate) - qdel(loot_crate) - SEND_SIGNAL(src, COMSIG_BITRUNNER_DOMAIN_COMPLETE, arrived, generated_domain.reward_points) - generate_loot() - /// Handles examining the server. Shows cooldown time and efficiency. /obj/machinery/quantum_server/proc/on_goal_turf_examined(datum/source, mob/examiner, list/examine_text) SIGNAL_HANDLER @@ -105,6 +91,4 @@ /obj/machinery/quantum_server/proc/on_threat_created(datum/source, mob/living/threat) SIGNAL_HANDLER - domain_threats += 1 - spawned_threat_refs.Add(WEAKREF(threat)) - SEND_SIGNAL(src, COMSIG_BITRUNNER_THREAT_CREATED) // notify players + add_threats(threat) diff --git a/code/modules/bitrunning/server/threats.dm b/code/modules/bitrunning/server/threats.dm new file mode 100644 index 000000000000..451b4c48c190 --- /dev/null +++ b/code/modules/bitrunning/server/threats.dm @@ -0,0 +1,21 @@ +/// Adds threats to the list and notifies players +/obj/machinery/quantum_server/proc/add_threats(mob/living/threat) + spawned_threat_refs.Add(WEAKREF(threat)) + SEND_SIGNAL(src, COMSIG_BITRUNNER_THREAT_CREATED) + +/// Finds any mobs with minds in the zones and gives them the bad news +/obj/machinery/quantum_server/proc/notify_spawned_threats() + for(var/datum/weakref/baddie_ref as anything in spawned_threat_refs) + var/mob/living/baddie = baddie_ref.resolve() + if(isnull(baddie?.mind) || baddie.stat >= UNCONSCIOUS) + continue + + var/atom/movable/screen/alert/bitrunning/alert = baddie.throw_alert( + ALERT_BITRUNNER_RESET, + /atom/movable/screen/alert/bitrunning, + new_master = src, + ) + alert.name = "Queue Deletion" + alert.desc = "The server is resetting. Oblivion awaits." + + to_chat(baddie, span_userdanger("You have been flagged for deletion! Thank you for your service.")) diff --git a/code/modules/bitrunning/server/util.dm b/code/modules/bitrunning/server/util.dm index 05e80a269804..0582fc335984 100644 --- a/code/modules/bitrunning/server/util.dm +++ b/code/modules/bitrunning/server/util.dm @@ -7,19 +7,6 @@ update_appearance() radio.talk_into(src, "Thermal systems within operational parameters. Proceeding to domain configuration.", RADIO_CHANNEL_SUPPLY) -/// Attempts to connect to a quantum console -/obj/machinery/quantum_server/proc/find_console() - var/obj/machinery/computer/quantum_console/console = console_ref?.resolve() - if(console) - return console - - for(var/direction in GLOB.cardinals) - var/obj/machinery/computer/quantum_console/nearby_console = locate(/obj/machinery/computer/quantum_console, get_step(src, direction)) - if(nearby_console) - console_ref = WEAKREF(nearby_console) - nearby_console.server_ref = WEAKREF(src) - return nearby_console - /// Compiles a list of available domains. /obj/machinery/quantum_server/proc/get_available_domains() var/list/levels = list() @@ -91,6 +78,15 @@ domain_randomized = TRUE return available["id"] +/// Locates any turfs with forges on them, returns a random one +/obj/machinery/quantum_server/proc/get_random_nearby_forge() + var/list/nearby_forges = list() + + for(var/obj/machinery/byteforge/forge in oview(MAX_DISTANCE, src)) + nearby_forges += forge + + return pick(nearby_forges) + /// Gets all mobs originally generated by the loaded domain and returns a list that are capable of being antagged /obj/machinery/quantum_server/proc/get_valid_domain_targets() // A: No one is playing @@ -116,20 +112,12 @@ return nearby_forges -/// Finds any mobs with minds in the zones and gives them the bad news -/obj/machinery/quantum_server/proc/notify_spawned_threats() - for(var/datum/weakref/baddie_ref as anything in spawned_threat_refs) - var/mob/living/baddie = baddie_ref.resolve() - if(isnull(baddie) || baddie.stat >= UNCONSCIOUS || isnull(baddie.mind)) - continue - - baddie.throw_alert( - ALERT_BITRUNNER_RESET, - /atom/movable/screen/alert/bitrunning/qserver_threat_deletion, - new_master = src, - ) +/// Severs any connected users +/obj/machinery/quantum_server/proc/sever_connections() + if(isnull(generated_domain) || !length(avatar_connection_refs)) + return - to_chat(baddie, span_userdanger("You have been flagged for deletion! Thank you for your service.")) + SEND_SIGNAL(src, COMSIG_BITRUNNER_QSRV_SEVER) /// Do some magic teleport sparks /obj/machinery/quantum_server/proc/spark_at_location(obj/cache) diff --git a/tgstation.dme b/tgstation.dme index bdd80b6e386a..e3a12392b55d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3044,6 +3044,7 @@ #include "code\modules\bitrunning\server\obj_generation.dm" #include "code\modules\bitrunning\server\quantum_server.dm" #include "code\modules\bitrunning\server\signal_handlers.dm" +#include "code\modules\bitrunning\server\threats.dm" #include "code\modules\bitrunning\server\util.dm" #include "code\modules\bitrunning\virtual_domain\safehouses.dm" #include "code\modules\bitrunning\virtual_domain\virtual_domain.dm" From 9da7daf90c6a462737699149674305893059a7b3 Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Thu, 2 Nov 2023 06:30:45 -0700 Subject: [PATCH 12/18] Fixes heretic bitrunner issue [NO GBP] (#79451) ## About The Pull Request Returning a player to their body counts as a body transfer, thus they lose their living heart ## Why It's Good For The Game Fixes #78780 ## Changelog :cl: fix: Heretics won't lose their living heart while bitrunning anymore. /:cl: --- code/modules/antagonists/heretic/heretic_antag.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm index 4ab42df425de..ae1a4d052c37 100644 --- a/code/modules/antagonists/heretic/heretic_antag.dm +++ b/code/modules/antagonists/heretic/heretic_antag.dm @@ -223,6 +223,9 @@ /datum/antagonist/heretic/on_body_transfer(mob/living/old_body, mob/living/new_body) . = ..() + if(old_body == new_body) // if they were using a temporary body + return + for(var/knowledge_index in researched_knowledge) var/datum/heretic_knowledge/knowledge = researched_knowledge[knowledge_index] knowledge.on_lose(old_body, src) From c5765729945c95e2b321e36c0e25877345a8e940 Mon Sep 17 00:00:00 2001 From: jimmyl <70376633+mc-oofert@users.noreply.github.com> Date: Tue, 24 Oct 2023 01:41:36 +0200 Subject: [PATCH 13/18] gives bitrunner landmarks an icon (#79182) ## About The Pull Request ![image](https://github.com/tgstation/tgstation/assets/70376633/53bfdef0-946f-440b-82fd-9f0073b18807) ## Why It's Good For The Game visual clarity i guess ## Changelog only mapper facing --- code/game/objects/effects/landmarks.dm | 2 +- icons/mob/landmarks.dmi | Bin 29083 -> 29159 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 7915ce1cfb70..7790ac399ea5 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -76,7 +76,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/bitrunner name = "Bitrunner" - icon_state = "x3" + icon_state = "Bitrunner" /obj/effect/landmark/start/bartender name = "Bartender" diff --git a/icons/mob/landmarks.dmi b/icons/mob/landmarks.dmi index 607be1c0ccf0cfb8283dc6b6f8738f16fc530510..b07ed7e09a725abdfe58957282be1c417f65ded9 100644 GIT binary patch literal 29159 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 Bv$p^M literal 29083 zcmXtfbzEFM^DmSF#fn35cWZHXcXxNExU;xZio3hJyBBwNcXwFWyU*|a+&?%unPij6 z%$&(&@+Cr1UIGao7ajrv0!d0zR2f|Efd6{G!GNCx0S?O$5Rj2xs+umMX3i!~R=-`W z9PA+=JTj9KC*|pWA%-kxmDC!>zO1_`rNT%4pl;Eq6{Xxy)0`Mg+HZciyw0aZi>gS~ zBlUgaiiq`r=eX|}LSLB7UyCc|t@t4; zXfu(D@GPN$(ODqOB6SlX9%;^@n{g^}rz1#*O5mI-XeU0om14HYmK6 zkoUDUMwVbgWjX@iS0i*d9th2XM^QsY6SiG=U|5lt4E6nH!xbOjSfV?52iKr*7Cnqd z+7zGngsuW{&U;265spo?RBQCm9Wyn)&1*c2lYj_&FtT5K^=T-OVgWLhr{@+ z0By$zuTG*w2MFadYDFWhm7Yw)?4UiIUdgdAStLz$YELU?yc2mAZzQ}dh2hj&zrdvI zV{m(bIPH_p3I4tW_sm@B0}6&4#V?#jy8;4&7(z-^NYx|rBFo(cb8&4Lkl?1QAS_G_ z{iRH@Mp>1dnlw;4fwYwPOCZu;dyxk(NTqZytH69#F;dz^afmqoU=&gcIGRF@_{@g{ z=53;cw9JIBl3eID&-Yq3OA{Ae7TH$QogF>GzkmM(XduqnV=A1Oe*-+a0)qfEnwr2x z?3o|D?RyfaI}qo8aGqs zuipsuZVO7?U61eCiDnji*idIrW#zQ})y%CM!WFS{ij%68JZ2Z~CrSIEY6wv-=`U*= z8a4WvBj?)kI{Gpdj#W>$7L`EL0TfntynLzRT;}meDq@h>h5 zx@TxbWsby_Riyk95mk_^Q8V9zf(xHTG@O+Sv#sc-f`A9F2&B4n&s4~BftR`Y6 zIvGw_M1EVW4<^HQKy&6ucQ*H7)gw!uXEWwPr7y47nNInHAWe>xTQ6wky>Y$A@D9vX)Bzu2>_WT=E}U9YMs->CmL zQ9052((6=-Z#Q#{IlsSbrg}!_36@=cdh(2->4*kzSunDGyF`S>JlfVgh*8WZYfQ() z%0Z4-OInkMX&EM`K?q9`%Yg9^5h-0*ONa&n*_J34^NZKQD_o3jr_=`L3!;1j-H)3` zl*;;QlO)%yt&tq{W>_D-uO+LPw)j4waZwy)P9$``S0oBKB591FbPQ}4bxk|cGDv3a zKkgp5D({I3VXD4pxh!EVbvBjpIM|&{y%8Yatewes-sD3OYe})y^i7OKqw^g>=1$YW z?1;vCrfRWqvMjF9?d+Tv#0VGqKE5WX)I(Z&tBgS=VJ7aRnJJ{eOL=4yG9vL?1l4e- zIEh2^$&^S{)HN>8Sj|~C%DX*ya@6)6JPx^6n8OhcxP7~>@(InuwD|pcxP5_h*%us{ zF!nSP$zpl|fQ>cc`PxKp=%)pj}hQo%aQEBUG4Rfp4F0}=wi#^yyQofS)yuUS^uT+zHs0b3|JY9&pmI4 zXYT;deA>>Iz*h1_%T0XErZZRiOIrw!Lw%cqCj4qj@bEk75M^a$z`ybRW2@*%cFSKS z|3us0aGf*sZfxk*0d5#cJf@ya$;}ViJB-{tA z9DaPlKq4whPHcHAWek#zW^@9l^u**#wZj&@w_u3hEFuzGN;s#t;7=#XkwpYnu!vfj zrrZRg+SH(Ltv_8N?9kB!gu91aLq$TLK37`<_v%41n}-TPeqvwRpOcY6XHQtGg+eDf zXPf~35E4+ZV)$!P8&}A|lCKly+o$RQ4YoFN=Kzd#)63cNm_ac%O85qCsX6Kl

Kx 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 From b16e0801a55166849999a9c593f42bdbe98eadf1 Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Thu, 2 Nov 2023 19:19:26 -0700 Subject: [PATCH 14/18] Removes virtual-specific subtypes of drinking glass + adds a new fishing map (#79423) ## About The Pull Request Changed how loot signals work with bitrunning entirely, which allows map creators to attach functionality to objects without creating subtypes of the item As a bonus I added a fishing minigame map which uses it ## Why It's Good For The Game It's a messy solution to need to create subtypes just for the one-off map that needs them ## Changelog :cl: add: Added a new fishing map to bitrunning. add: You are no longer limited to pina coladas on the beach bar domain. Cheers! /:cl: --- _maps/virtual_domains/beach_bar.dmm | 293 +++--- _maps/virtual_domains/breeze_bay.dmm | 836 ++++++++++++++++++ .../components/bitrunning_points.dm | 73 +- .../modules/bitrunning/server/map_handling.dm | 7 +- .../bitrunning/server/signal_handlers.dm | 3 + .../virtual_domain/domains/beach_bar.dm | 19 +- .../virtual_domain/domains/breeze_bay.dm | 22 + .../virtual_domain/virtual_domain.dm | 8 + tgstation.dme | 1 + 9 files changed, 1065 insertions(+), 197 deletions(-) create mode 100644 _maps/virtual_domains/breeze_bay.dmm create mode 100644 code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm index b9a7990e454f..6d0420d9b3d9 100644 --- a/_maps/virtual_domains/beach_bar.dmm +++ b/_maps/virtual_domains/beach_bar.dmm @@ -1,4 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ac" = ( +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/mayonnaise, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/turf/open/floor/wood, +/area/virtual_domain/powered) "ag" = ( /turf/open/floor/carpet/red, /area/virtual_domain/powered) @@ -15,15 +22,6 @@ /obj/machinery/grill, /turf/open/floor/wood, /area/virtual_domain/powered) -"ax" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain{ - pixel_y = 7; - pixel_x = 4 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain, -/turf/open/floor/wood, -/area/virtual_domain/powered) "aE" = ( /turf/open/floor/pod/light, /area/virtual_domain/powered) @@ -36,6 +34,9 @@ /obj/item/stack/sheet/mineral/coal/ten, /turf/open/floor/plating, /area/virtual_domain/powered) +"bd" = ( +/turf/open/floor/iron/grimy, +/area/virtual_domain/powered) "bf" = ( /mob/living/basic/crab{ name = "Jonny" @@ -119,6 +120,15 @@ }, /turf/open/floor/wood, /area/virtual_domain/powered) +"do" = ( +/obj/item/food/meat/rawbacon, +/obj/item/food/meat/rawbacon, +/obj/item/food/meat/rawcutlet, +/obj/item/food/meat/rawcutlet, +/obj/item/food/meat/slab/rawcrab, +/obj/item/food/meat/slab/rawcrab, +/turf/open/floor/wood, +/area/virtual_domain/powered) "dx" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -149,35 +159,31 @@ /obj/machinery/light/directional/west, /turf/open/floor/pod/light, /area/virtual_domain/powered) -"fN" = ( +"gh" = ( +/obj/structure/flora/bush/stalky/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/water/beach, +/area/virtual_domain/powered) +"gl" = ( +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"gx" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/happy, /obj/item/toy/figure/bartender{ pixel_x = -8; pixel_y = -1 }, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain{ - pixel_y = 8; - pixel_x = 5 +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ + pixel_y = 5; + pixel_x = 6 }, /turf/open/floor/wood, /area/virtual_domain/powered) -"gh" = ( -/obj/structure/flora/bush/stalky/style_random, -/obj/structure/flora/bush/sparsegrass/style_random, -/turf/open/water/beach, -/area/virtual_domain/powered) -"gl" = ( -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) "hk" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/pod/light, /area/virtual_domain/powered) -"hy" = ( -/obj/machinery/light/directional/south, -/turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) "hE" = ( /obj/structure/sign/departments/restroom/directional/east, /turf/open/floor/wood, @@ -188,13 +194,6 @@ }, /turf/open/floor/wood, /area/virtual_domain/powered) -"is" = ( -/obj/effect/turf_decal/sand, -/obj/item/coin/gold, -/obj/structure/railing, -/obj/machinery/media/jukebox, -/turf/open/floor/sepia, -/area/virtual_domain/powered) "iz" = ( /turf/closed/indestructible/binary, /area/lavaland/surface/outdoors/virtual_domain) @@ -217,6 +216,10 @@ /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) +"js" = ( +/obj/machinery/light/directional/south, +/turf/open/misc/beach/sand/coastline_b, +/area/virtual_domain/powered) "jy" = ( /obj/effect/turf_decal/sand{ density = 1 @@ -276,21 +279,25 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/misc/beach/sand, /area/virtual_domain/powered) +"nO" = ( +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/virtual_domain/powered) "nP" = ( /obj/item/stack/sheet/iron/fifty, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/virtual_domain/powered) +"oy" = ( +/obj/effect/mob_spawn/ghost_role/human/bartender{ + dir = 4 + }, +/turf/open/floor/wood, +/area/virtual_domain/powered) "oP" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder, /turf/open/floor/wood, /area/virtual_domain/powered) -"pi" = ( -/obj/machinery/vending/cigarette/beach, -/obj/effect/turf_decal/sand, -/turf/open/floor/iron, -/area/virtual_domain/powered) "pr" = ( /turf/template_noop, /area/template_noop) @@ -306,13 +313,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"qd" = ( -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/mayonnaise, -/obj/item/reagent_containers/condiment/flour, -/obj/item/reagent_containers/condiment/flour, -/turf/open/floor/wood, -/area/virtual_domain/powered) "qR" = ( /obj/effect/spawner/structure/window, /obj/structure/curtain, @@ -325,15 +325,6 @@ }, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"ra" = ( -/obj/item/food/meat/rawbacon, -/obj/item/food/meat/rawbacon, -/obj/item/food/meat/rawcutlet, -/obj/item/food/meat/rawcutlet, -/obj/item/food/meat/slab/rawcrab, -/obj/item/food/meat/slab/rawcrab, -/turf/open/floor/wood, -/area/virtual_domain/powered) "rc" = ( /obj/machinery/light/directional/east, /turf/open/floor/wood, @@ -350,10 +341,6 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"rs" = ( -/obj/machinery/light/directional/east, -/turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) "rT" = ( /obj/item/toy/seashell, /turf/open/misc/beach/sand, @@ -481,6 +468,9 @@ "xw" = ( /turf/open/floor/pod/dark, /area/virtual_domain/powered) +"xz" = ( +/turf/open/misc/beach/sand/coastline_b, +/area/virtual_domain/powered) "xJ" = ( /obj/structure/closet/cabinet, /obj/item/storage/backpack/duffelbag, @@ -504,6 +494,11 @@ /obj/item/clothing/glasses/sunglasses, /turf/open/floor/wood, /area/virtual_domain/powered) +"xT" = ( +/obj/machinery/vending/cigarette/beach, +/obj/effect/turf_decal/sand, +/turf/open/floor/iron, +/area/virtual_domain/powered) "xW" = ( /turf/open/space/basic, /area/space) @@ -546,15 +541,6 @@ /obj/machinery/food_cart, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"yx" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain{ - pixel_x = -4; - pixel_y = 8 - }, -/turf/open/floor/wood, -/area/virtual_domain/powered) "yB" = ( /obj/item/instrument/guitar, /turf/open/floor/carpet/blue, @@ -567,6 +553,12 @@ /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/carpet/red, /area/virtual_domain/powered) +"zc" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/misc/beach/sand/coastline_b, +/area/virtual_domain/powered) "zw" = ( /obj/structure/punching_bag, /turf/open/floor/pod/dark, @@ -575,6 +567,10 @@ /obj/structure/marker_beacon/indigo, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) +"zQ" = ( +/obj/machinery/light/directional/east, +/turf/open/misc/beach/sand/coastline_b, +/area/virtual_domain/powered) "zU" = ( /obj/structure/flora/rock/pile/style_random, /turf/open/misc/beach/sand, @@ -606,15 +602,6 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/virtual_domain/powered) -"AS" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) -"AZ" = ( -/turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) "Br" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck/cas{ @@ -668,15 +655,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/virtual_domain/powered) -"CW" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/railing, -/turf/open/floor/sepia, -/area/virtual_domain/powered) "Db" = ( /obj/machinery/barsign/all_access, /turf/closed/wall/mineral/wood/nonmetal, @@ -760,13 +738,28 @@ /obj/item/storage/medkit/brute, /turf/open/floor/wood, /area/virtual_domain/powered) -"GQ" = ( -/turf/open/floor/iron/grimy, +"Hl" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/railing, +/turf/open/floor/sepia, /area/virtual_domain/powered) "Hs" = ( /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, /area/virtual_domain/powered) +"Hu" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada, +/turf/open/floor/wood, +/area/virtual_domain/powered) "HF" = ( /obj/machinery/deepfryer, /turf/open/floor/wood, @@ -886,11 +879,6 @@ /obj/structure/sign/warning/gas_mask/directional/north, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"OO" = ( -/obj/effect/turf_decal/sand, -/obj/structure/railing, -/turf/open/floor/sepia, -/area/virtual_domain/powered) "OR" = ( /obj/machinery/light/directional/south, /turf/open/misc/beach/sand, @@ -919,6 +907,13 @@ /obj/machinery/griddle, /turf/open/floor/wood, /area/virtual_domain/powered) +"Qm" = ( +/obj/effect/turf_decal/sand, +/obj/item/coin/gold, +/obj/structure/railing, +/obj/machinery/media/jukebox, +/turf/open/floor/sepia, +/area/virtual_domain/powered) "Qu" = ( /obj/structure/curtain, /turf/open/floor/iron/white, @@ -1018,15 +1013,18 @@ /obj/structure/dresser, /turf/open/floor/wood, /area/virtual_domain/powered) -"Ww" = ( -/turf/open/water/beach, -/area/virtual_domain/powered) -"WC" = ( -/obj/effect/mob_spawn/ghost_role/human/bartender{ - dir = 4 +"Wr" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ + pixel_x = -5; + pixel_y = 5 }, /turf/open/floor/wood, /area/virtual_domain/powered) +"Ww" = ( +/turf/open/water/beach, +/area/virtual_domain/powered) "WL" = ( /obj/machinery/light/directional/north, /turf/open/floor/wood, @@ -1072,6 +1070,11 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/virtual_domain/powered) +"Yz" = ( +/obj/effect/turf_decal/sand, +/obj/structure/railing, +/turf/open/floor/sepia, +/area/virtual_domain/powered) "YI" = ( /obj/machinery/door/airlock/maintenance{ name = "Supply Room" @@ -1553,7 +1556,7 @@ bf Bw Fn Ev -WC +oy iR kG di @@ -1683,9 +1686,9 @@ qc Fn Fn SD -ax -yx -fN +Hu +Wr +gx Fn Fn Al @@ -1729,7 +1732,7 @@ dx kn kn kn -CW +Hl Fn Al gl @@ -1755,7 +1758,7 @@ BJ kT Fn as -pi +xT Ir IP YN @@ -1772,7 +1775,7 @@ uU lS lS lS -OO +Yz Fn Al gl @@ -1815,7 +1818,7 @@ uU lS NX lS -is +Qm Fn Al gl @@ -1858,7 +1861,7 @@ uU lS lS lS -OO +Yz Fn Al gl @@ -1901,7 +1904,7 @@ uU uU uU uU -OO +Yz Fn Fn gl @@ -1939,13 +1942,13 @@ TJ wb wD wD -AS -AS -AS -AS -AS -AS -hy +zc +zc +zc +zc +zc +zc +js Fn gl gl @@ -1982,13 +1985,13 @@ yl ag wD wD -AZ +xz KZ Ww Ww Ww cG -AZ +xz Fn Al Al @@ -2017,7 +2020,7 @@ TG TG TG TG -ra +do BM wD wD @@ -2025,13 +2028,13 @@ Au wD rT wD -AZ +xz Ww Ww Ww Ww Ww -AZ +xz Fn Al iz @@ -2047,7 +2050,7 @@ iz (23,1,1) = {" iz Al -xb +nO Fn Cb wD @@ -2056,7 +2059,7 @@ wD BM HF TG -qd +ac BM aw TG @@ -2068,13 +2071,13 @@ YJ YJ wD wD -AZ +xz Ww Ww Ww Ww Ww -AZ +xz Fn Al iz @@ -2090,7 +2093,7 @@ xW (24,1,1) = {" iz Al -xb +nO Fn wD Gz @@ -2111,13 +2114,13 @@ bQ wD wD wD -AZ +xz Ww Ww KZ KZ Ww -hy +js Fn Al iz @@ -2133,7 +2136,7 @@ xW (25,1,1) = {" iz Al -xb +nO Fn OK Gz @@ -2154,13 +2157,13 @@ XP yB wD wD -AZ +xz KZ Ww KZ gh Ww -AZ +xz Fn Al iz @@ -2176,7 +2179,7 @@ xW (26,1,1) = {" iz Al -xb +nO Fn Nr wD @@ -2197,13 +2200,13 @@ XL wD wD wD -AZ +xz Ww Ww Ww Ww Ww -AZ +xz Fn Al iz @@ -2240,13 +2243,13 @@ xq jy wD wD -AZ +xz Ww cG Ww Ww KZ -AZ +xz Fn Al iz @@ -2283,13 +2286,13 @@ CA Uh wD qW -AZ +xz Ww Ww Ww Ww Ww -hy +js Fn Al iz @@ -2325,14 +2328,14 @@ wD wD wD Jt -AZ -AZ -rs -AZ -AZ -AZ -AZ -AZ +xz +xz +zQ +xz +xz +xz +xz +xz Fn Al iz @@ -2628,7 +2631,7 @@ YI Fn Fn Fn -GQ +bd aE aE aE diff --git a/_maps/virtual_domains/breeze_bay.dmm b/_maps/virtual_domains/breeze_bay.dmm new file mode 100644 index 000000000000..6fe6f49ab3ab --- /dev/null +++ b/_maps/virtual_domains/breeze_bay.dmm @@ -0,0 +1,836 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/indestructible/binary, +/area/virtual_domain/powered) +"c" = ( +/obj/structure/flora/coconuts, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"d" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/large, +/area/virtual_domain/powered) +"e" = ( +/turf/open/floor/carpet/red, +/area/virtual_domain/powered) +"g" = ( +/obj/item/toy/beach_ball/branded, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"i" = ( +/turf/open/water/beach, +/area/virtual_domain/powered) +"k" = ( +/obj/effect/landmark/bitrunning/loot_signal, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"m" = ( +/obj/item/fishing_rod{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/fishing_rod, +/obj/item/fishing_rod{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/structure/table/wood, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"o" = ( +/obj/structure/flora/tree/jungle/style_5, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"p" = ( +/turf/open/floor/carpet/blue, +/area/virtual_domain/powered) +"s" = ( +/obj/structure/fluff/beach_umbrella/cap, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"t" = ( +/obj/structure/fluff/beach_umbrella/syndi, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"v" = ( +/obj/effect/baseturf_helper/virtual_domain, +/obj/effect/landmark/bitrunning/safehouse_spawn, +/turf/template_noop, +/area/virtual_domain/safehouse) +"y" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"z" = ( +/mob/living/basic/crab, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"B" = ( +/obj/structure/flora/tree/jungle/style_6, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"C" = ( +/obj/structure/flora/tree/jungle/style_2, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"D" = ( +/turf/open/floor/carpet/green, +/area/virtual_domain/powered) +"F" = ( +/obj/structure/fluff/beach_umbrella/engine, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"G" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"H" = ( +/obj/structure/flora/tree/jungle/style_4, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"I" = ( +/turf/template_noop, +/area/virtual_domain/safehouse) +"J" = ( +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"K" = ( +/obj/structure/flora/tree/jungle, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"L" = ( +/obj/item/fishing_line, +/obj/item/fishing_hook, +/obj/item/fishing_hook, +/obj/item/fishing_hook, +/obj/structure/closet/crate, +/obj/item/bait_can/worm, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"O" = ( +/obj/structure/flora/rock/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"P" = ( +/turf/open/misc/beach/coast, +/area/virtual_domain/powered) +"Q" = ( +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water/beach, +/area/virtual_domain/powered) +"R" = ( +/obj/structure/closet/crate/freezer{ + name = "Cooler" + }, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/colocup, +/obj/item/reagent_containers/cup/glass/colocup, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + desc = "Beer advertised to be the best in space."; + name = "Masterbrand Beer" + }, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + desc = "Beer advertised to be the best in space."; + name = "Masterbrand Beer" + }, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + desc = "Beer advertised to be the best in space."; + name = "Masterbrand Beer" + }, +/obj/item/reagent_containers/cup/glass/bottle/beer/light, +/obj/item/reagent_containers/cup/glass/bottle/beer/light, +/obj/item/reagent_containers/cup/glass/bottle/beer/light, +/obj/item/clothing/head/soft/fishing_hat, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"S" = ( +/obj/structure/flora/tree/jungle/style_3, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"U" = ( +/obj/structure/flora/tree/palm/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"X" = ( +/turf/open/floor/wood/large, +/area/virtual_domain/powered) +"Z" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/virtual_domain/powered) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +Z +"} +(2,1,1) = {" +a +K +G +y +J +J +J +J +J +J +J +z +P +i +i +i +i +i +i +i +Q +i +i +i +a +"} +(3,1,1) = {" +a +J +O +J +J +I +I +I +I +I +v +J +P +Q +i +i +i +i +i +i +i +i +i +i +a +"} +(4,1,1) = {" +a +J +C +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(5,1,1) = {" +a +J +y +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(6,1,1) = {" +a +S +J +J +J +I +I +I +I +I +I +y +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(7,1,1) = {" +a +G +G +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(8,1,1) = {" +a +J +H +g +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(9,1,1) = {" +a +G +y +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(10,1,1) = {" +a +o +J +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(11,1,1) = {" +a +J +J +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(12,1,1) = {" +a +J +B +y +J +J +J +U +c +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(13,1,1) = {" +a +J +J +J +J +s +J +J +J +J +k +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(14,1,1) = {" +a +K +y +J +J +p +p +J +J +J +m +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(15,1,1) = {" +a +J +J +J +J +t +J +J +J +J +L +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(16,1,1) = {" +a +J +C +J +J +e +e +J +J +J +J +J +P +i +i +i +i +X +X +i +i +i +i +i +a +"} +(17,1,1) = {" +a +G +J +J +J +F +J +J +J +J +J +J +P +i +i +i +i +X +X +i +i +i +i +i +a +"} +(18,1,1) = {" +a +S +G +J +J +D +D +J +J +J +J +J +X +X +X +X +X +X +X +X +X +X +i +i +a +"} +(19,1,1) = {" +a +J +J +J +J +R +J +J +J +J +J +J +X +X +X +X +X +X +X +X +d +X +i +i +a +"} +(20,1,1) = {" +a +J +H +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(21,1,1) = {" +a +J +O +J +J +J +J +J +J +c +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(22,1,1) = {" +a +o +J +y +J +J +J +J +J +U +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a +"} +(23,1,1) = {" +a +J +G +J +J +J +J +J +J +y +J +J +P +i +i +i +i +i +i +i +i +i +Q +i +a +"} +(24,1,1) = {" +a +J +B +J +z +J +y +J +J +J +J +J +P +i +Q +i +i +i +i +i +i +i +i +i +a +"} +(25,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/code/modules/bitrunning/components/bitrunning_points.dm b/code/modules/bitrunning/components/bitrunning_points.dm index 58dda4a68ff6..328a70679e65 100644 --- a/code/modules/bitrunning/components/bitrunning_points.dm +++ b/code/modules/bitrunning/components/bitrunning_points.dm @@ -1,46 +1,37 @@ -/// Attaches a component which listens for a given signal from the item. -/// -/// When the signal is received, it will add points to the signaler. +/// Attaches to a turf so it spawns a crate when a certain amount of points are added to it. /datum/component/bitrunning_points - /// The range at which we can find the signaler - var/max_point_range - /// Weakref to the loot crate landmark - where we send points - var/datum/weakref/our_spawner - /// The amount of points per each signal - var/points_per_signal - /// The signal we listen for - var/signal_type - -/datum/component/bitrunning_points/Initialize(signal_type, points_per_signal = 1, max_point_range = 4) - src.max_point_range = max_point_range - src.points_per_signal = points_per_signal - src.signal_type = signal_type - - locate_spawner() - -/datum/component/bitrunning_points/RegisterWithParent() - RegisterSignal(parent, signal_type, PROC_REF(on_event)) - -/datum/component/bitrunning_points/UnregisterFromParent() - UnregisterSignal(parent, signal_type) - -/// Finds the signaler if it hasn't been found yet. -/datum/component/bitrunning_points/proc/locate_spawner() - var/obj/effect/landmark/bitrunning/loot_signal/spawner = our_spawner?.resolve() - if(spawner) - return spawner - - for(var/obj/effect/landmark/bitrunning/loot_signal/found in GLOB.landmarks_list) - if(IN_GIVEN_RANGE(get_turf(parent), found, max_point_range)) - our_spawner = WEAKREF(found) - return found - -/// Once the specified signal is received, whisper to the spawner to add points. -/datum/component/bitrunning_points/proc/on_event(datum/source) + /// The amount required to spawn a crate + var/points_goal = 10 + /// A special condition limits this from spawning a crate + var/points_received = 0 + +/datum/component/bitrunning_points/Initialize(datum/lazy_template/virtual_domain/domain) + . = ..() + if(!isturf(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(domain, COMSIG_BITRUNNER_GOAL_POINT, PROC_REF(on_add_points)) + +/// Listens for points to be added which will eventually spawn a crate. +/datum/component/bitrunning_points/proc/on_add_points(datum/source, points_to_add) SIGNAL_HANDLER - var/obj/effect/landmark/bitrunning/loot_signal/spawner = locate_spawner() - if(isnull(spawner)) + points_received += points_to_add + + if(points_received < points_goal) return - SEND_SIGNAL(spawner, COMSIG_BITRUNNER_GOAL_POINT, points_per_signal) + reveal() + +/// Spawns the crate with some effects +/datum/component/bitrunning_points/proc/reveal() + playsound(src, 'sound/magic/blink.ogg', 50, TRUE) + + var/turf/tile = parent + new /obj/structure/closet/crate/secure/bitrunning/encrypted(tile) + + var/datum/effect_system/spark_spread/quantum/sparks = new(tile) + sparks.set_up(number = 5, location = tile) + sparks.start() + + qdel(src) diff --git a/code/modules/bitrunning/server/map_handling.dm b/code/modules/bitrunning/server/map_handling.dm index ea9b95afaea1..0d770708f78c 100644 --- a/code/modules/bitrunning/server/map_handling.dm +++ b/code/modules/bitrunning/server/map_handling.dm @@ -91,7 +91,7 @@ var/turf/goal_turfs = list() var/turf/crate_turfs = list() - for(var/thing in GLOB.landmarks_list) + for(var/obj/effect/landmark/bitrunning/thing in GLOB.landmarks_list) if(istype(thing, /obj/effect/landmark/bitrunning/hololadder_spawn)) exit_turfs += get_turf(thing) qdel(thing) // i'm worried about multiple servers getting confused so lets clean em up @@ -110,6 +110,11 @@ qdel(thing) continue + if(istype(thing, /obj/effect/landmark/bitrunning/loot_signal)) + var/turf/signaler_turf = get_turf(thing) + signaler_turf.AddComponent(/datum/component/bitrunning_points, generated_domain) + qdel(thing) + if(!length(exit_turfs)) CRASH("Failed to find exit turfs on generated domain.") if(!length(goal_turfs)) diff --git a/code/modules/bitrunning/server/signal_handlers.dm b/code/modules/bitrunning/server/signal_handlers.dm index 24f26ea39889..c41c0b529fc8 100644 --- a/code/modules/bitrunning/server/signal_handlers.dm +++ b/code/modules/bitrunning/server/signal_handlers.dm @@ -87,6 +87,9 @@ UnregisterSignal(source, COMSIG_LAZY_TEMPLATE_LOADED) + /// Just in case there's any special handling for the domain + generated_domain.setup_domain(created_atoms) + /// Handles when cybercops are summoned into the area or ghosts click a ghost role spawner /obj/machinery/quantum_server/proc/on_threat_created(datum/source, mob/living/threat) SIGNAL_HANDLER diff --git a/code/modules/bitrunning/virtual_domain/domains/beach_bar.dm b/code/modules/bitrunning/virtual_domain/domains/beach_bar.dm index a6fb3e921e05..f632b0681bf4 100644 --- a/code/modules/bitrunning/virtual_domain/domains/beach_bar.dm +++ b/code/modules/bitrunning/virtual_domain/domains/beach_bar.dm @@ -8,15 +8,14 @@ map_name = "beach_bar" safehouse_path = /datum/map_template/safehouse/mine -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain - name = "pina colada" - desc = "Whose drink is this? Not yours, that's for sure. Well, it's not like they're going to miss it." - list_reagents = list(/datum/reagent/consumable/ethanol/pina_colada = 30) - -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/virtual_domain/Initialize(mapload, vol) +/datum/lazy_template/virtual_domain/beach_bar/setup_domain(list/created_atoms) . = ..() - AddComponent(/datum/component/bitrunning_points, \ - signal_type = COMSIG_GLASS_DRANK, \ - points_per_signal = 0.5, \ - ) + for(var/obj/item/reagent_containers/cup/glass/drink in created_atoms) + RegisterSignal(drink, COMSIG_GLASS_DRANK, PROC_REF(on_drink_drank)) + +/// Eventually reveal the cache +/datum/lazy_template/virtual_domain/beach_bar/proc/on_drink_drank(datum/source) + SIGNAL_HANDLER + + add_points(0.5) diff --git a/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm b/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm new file mode 100644 index 000000000000..62fd3117a94e --- /dev/null +++ b/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm @@ -0,0 +1,22 @@ +/datum/lazy_template/virtual_domain/breeze_bay + name = "Breeze Bay" + desc = "A beach front town with a large forest to the north." + help_text = "It's simple! Enjoy some rays, catch some fish, and have a good time! Don't get bit by the crabs, though." + key = "breeze_bay" + map_name = "breeze_bay" + safehouse_path = /datum/map_template/safehouse/wood + +/datum/lazy_template/virtual_domain/breeze_bay/setup_domain(list/created_atoms) + . = ..() + + for(var/obj/item/fishing_rod/rod in created_atoms) + RegisterSignal(rod, COMSIG_FISHING_ROD_CAUGHT_FISH, PROC_REF(on_fish_caught)) + +/// Eventually reveal the cache +/datum/lazy_template/virtual_domain/breeze_bay/proc/on_fish_caught(datum/source, reward) + SIGNAL_HANDLER + + if(isnull(reward)) + return + + add_points(2) diff --git a/code/modules/bitrunning/virtual_domain/virtual_domain.dm b/code/modules/bitrunning/virtual_domain/virtual_domain.dm index 202376a2c334..5e6cb0f2582e 100644 --- a/code/modules/bitrunning/virtual_domain/virtual_domain.dm +++ b/code/modules/bitrunning/virtual_domain/virtual_domain.dm @@ -36,3 +36,11 @@ var/test_only = FALSE /// The safehouse to load into the map var/datum/map_template/safehouse/safehouse_path = /datum/map_template/safehouse/den + +/// Sends a point to any loot signals on the map +/datum/lazy_template/virtual_domain/proc/add_points(points_to_add) + SEND_SIGNAL(src, COMSIG_BITRUNNER_GOAL_POINT, points_to_add) + +/// Overridable proc to be called after the map is loaded. +/datum/lazy_template/virtual_domain/proc/setup_domain(list/created_atoms) + return diff --git a/tgstation.dme b/tgstation.dme index e3a12392b55d..7ac5b9421ea8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3051,6 +3051,7 @@ #include "code\modules\bitrunning\virtual_domain\domains\ash_drake.dm" #include "code\modules\bitrunning\virtual_domain\domains\beach_bar.dm" #include "code\modules\bitrunning\virtual_domain\domains\blood_drunk_miner.dm" +#include "code\modules\bitrunning\virtual_domain\domains\breeze_bay.dm" #include "code\modules\bitrunning\virtual_domain\domains\bubblegum.dm" #include "code\modules\bitrunning\virtual_domain\domains\clown_planet.dm" #include "code\modules\bitrunning\virtual_domain\domains\colossus.dm" From 8d12bde33df20887f223af8c86e10168bedda5ff Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Sat, 4 Nov 2023 01:18:38 +0100 Subject: [PATCH 15/18] le monke fixes to fishe --- _maps/virtual_domains/breeze_bay.dmm | 10 +++------- code/__DEFINES/dcs/signals/signals_fish.dm | 4 ++++ code/modules/fishing/sources/_fish_source.dm | 5 ++++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/_maps/virtual_domains/breeze_bay.dmm b/_maps/virtual_domains/breeze_bay.dmm index 6fe6f49ab3ab..7c86ac2b75c6 100644 --- a/_maps/virtual_domains/breeze_bay.dmm +++ b/_maps/virtual_domains/breeze_bay.dmm @@ -2,10 +2,6 @@ "a" = ( /turf/closed/indestructible/binary, /area/virtual_domain/powered) -"c" = ( -/obj/structure/flora/coconuts, -/turf/open/misc/beach/sand, -/area/virtual_domain/powered) "d" = ( /obj/structure/chair/wood, /turf/open/floor/wood/large, @@ -112,7 +108,7 @@ /turf/open/misc/beach/sand, /area/virtual_domain/powered) "P" = ( -/turf/open/misc/beach/coast, +/turf/open/floor/holofloor/beach/coast_t, /area/virtual_domain/powered) "Q" = ( /obj/structure/flora/bush/stalky/style_random, @@ -465,7 +461,7 @@ J J J U -c +J J J J @@ -709,7 +705,7 @@ J J J J -c +J J J P diff --git a/code/__DEFINES/dcs/signals/signals_fish.dm b/code/__DEFINES/dcs/signals/signals_fish.dm index 7da86f90acca..5dffac72f5f8 100644 --- a/code/__DEFINES/dcs/signals/signals_fish.dm +++ b/code/__DEFINES/dcs/signals/signals_fish.dm @@ -24,6 +24,10 @@ #define COMSIG_FISHING_ROD_CAST "fishing_rod_cast" #define FISHING_ROD_CAST_HANDLED (1 << 0) +/// From /datum/fish_source/proc/dispense_reward(), not set if the reward is a dud: (reward, user) +// WE DONT ACTUALLY USE IT OUTSIDE OF BITRUNNING RIGHT NOW, ITS NEEDED FOR MONKES PR #512 BECAUSE OF A FIIIIISH BITRUNNING RUIN, I NEED FISH +#define COMSIG_FISHING_ROD_CAUGHT_FISH "fishing_rod_caught_fish" + /// Sent when fishing line is snapped #define COMSIG_FISHING_LINE_SNAPPED "fishing_line_interrupted" diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm index 057f4f122801..82ce846c354b 100644 --- a/code/modules/fishing/sources/_fish_source.dm +++ b/code/modules/fishing/sources/_fish_source.dm @@ -111,7 +111,10 @@ GLOBAL_LIST_INIT(preset_fish_sources,init_fishing_configurations()) var/obj/item/fish/caught = source.reward_path user.add_mob_memory(/datum/memory/caught_fish, protagonist = user, deuteragonist = initial(caught.name)) var/turf/fishing_spot = get_turf(source.lure) - dispense_reward(source.reward_path, user, fishing_spot) + var/atom/movable/reward = dispense_reward(source.reward_path, user, fishing_spot) + if(source.used_rod) + SEND_SIGNAL(source.used_rod, COMSIG_FISHING_ROD_CAUGHT_FISH, reward, user) + source.used_rod.consume_bait(reward) /// Gives out the reward if possible /datum/fish_source/proc/dispense_reward(reward_path, mob/fisherman, fishing_spot) From 862d985d571b0352f0a5d118ac30d140a139aedc Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:56:17 -0800 Subject: [PATCH 16/18] Adds more bitrunning antagonists + fixes (READY) (#79522) Reopened #78997 Larger patch for bitrunning that addresses a few issues. - Two new antagonists: cyber tac and netguardian - Quantum server emag opportunity - Modular mob packs: Like random spawners, but for groups - Antag spawning fixed: vdom antags now have up to a 10% chance to spawn based on domains loaded - Virtual domains are no longer all fullbright by default, only the outdoorsy ones - Actually deletes legion map file, since it was removed in #79424

images The netguardian prime ![dreamseeker_eKi7Mhv45s](https://github.com/tgstation/tgstation/assets/42397676/099a0982-d6f8-4c93-a64c-8c7d45d9204e) ![robot_48_animation](https://github.com/tgstation/tgstation/assets/42397676/a2147195-61e6-4584-8645-56333ecd3e07) The glitch effect - this mob is being mutated ![dreamseeker_NE4j4rCoez](https://github.com/tgstation/tgstation/assets/42397676/273892c7-e396-417b-8a9d-3709a210e3ff) Cyber tac (t2 antagonist) ![Screenshot 2023-10-27 211732](https://github.com/tgstation/tgstation/assets/42397676/6ff79337-cb0d-4a1f-80cf-dce99a4991d5)
- Bitrunning antagonists are so incredibly rare that it's underwhelming to play as one for the solid second they offer if you even get the role - Bitrunners had basically no traitor route to follow, they became assistants with black outfits Fixes #79465
More info Bitrunners don't have any type of traitor options. If they're made into traitors, there's nothing bitrunner related they can do, and their access is particularly bad so it's like they're a worse assistant. I've coupled this with the bitrunning antagonist system, which is now fixed.\. Bitrunners can now attempt to coax these entities to come onto the station, however they are not given any form of allegiance for doing so (and are quite counterable). Previously, vdom antagonists relied on so many factors to spawn that it basically wouldn't happen. Now, it runs on the server each time there is a map loaded, with increasing probability as the round progresses. This builds up the list of spawnable antagonists, of which two are new, including an entirely new giant mech megafauna. This is the first "megafauna-esque" basic mob in the game. Its AI is bad, it's really only meant to be player controlled, but this does mean an admin can spawn them. Being mech, they are very counterable with ion rifles and the like. Several refactors, rewrites, and overall bug fixes are included in this PR. Lastly, I added a framework for making bitrunner maps more random, the modular mob spawning system, which works in conjunction with random crate locations.
jlsnow301, infraredbaron :cl: add: Bitrunning Patch 1 features a host of changes! add: Added randomized mobs to virtual domains, which will be indicated with a unique icon. add: New emag interaction with the quantum server. Antags will spawn more frequently, and they can hack themselves onto the station. You have been warned. add: Both living and dead players can now see which mob is going to spawn an antagonist in the vdom. add: Two new vdom antagonists: Cyber Tac and the NetGuardian. These unlock at specific thresholds. balance: You can no longer stack copies of the same ability with bitrunning disks. balance: Some of the disk items have been replaced with stronger versions. fix: You can no longer spy on crew using the advanced camera console on syndicate assault. fix: Fixed the spawning mechanism of virtual domain antagonists. You should now have a chance of playing as one. This chance increases as more domains are completed. fix: Vdom antagonists shouldn't spawn at the end of the run any longer. fix: The preference for vdom antagonists has been changed to factor in the new types. Check your preferences! fix: The quantum server will now show its balloon alerts to all observers. fix: Random domains should be fully random again. /:cl: --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> --- _maps/map_files/debug/runtimestation.dmm | 21 +- _maps/safehouses/TEMPLATES/TEMPLATE.dmm | 4 +- _maps/virtual_domains/README.md | 35 +- _maps/virtual_domains/beach_bar.dmm | 401 +- _maps/virtual_domains/breeze_bay.dmm | 1485 ++-- _maps/virtual_domains/clown_planet.dmm | 696 +- _maps/virtual_domains/legion.dmm | 6370 ----------------- _maps/virtual_domains/pipedream.dmm | 726 +- _maps/virtual_domains/pirates.dmm | 326 +- _maps/virtual_domains/syndicate_assault.dmm | 138 +- _maps/virtual_domains/test_only.dmm | 6 +- _maps/virtual_domains/xeno_nest.dmm | 47 +- code/__DEFINES/ai/monsters.dm | 4 + code/__DEFINES/alerts.dm | 3 +- code/__DEFINES/antagonists.dm | 2 +- code/__DEFINES/bitrunning.dm | 13 +- code/__DEFINES/colors.dm | 2 + .../dcs/signals/signals_bitrunning.dm | 4 - code/__DEFINES/role_preferences.dm | 8 +- code/_globalvars/lists/poll_ignore.dm | 5 +- code/datums/id_trim/outfits.dm | 2 +- .../modules/bitrunning/antagonists/_parent.dm | 71 + .../bitrunning/antagonists/cyber_police.dm | 87 +- .../bitrunning/antagonists/cyber_tac.dm | 112 + .../bitrunning/antagonists/netguardian.dm | 126 + code/modules/bitrunning/areas.dm | 9 +- .../components/avatar_connection.dm | 21 +- code/modules/bitrunning/components/glitch.dm | 83 + .../bitrunning/components/npc_friendly.dm | 37 + .../components/virtual_elite_mob.dm | 18 - code/modules/bitrunning/event.dm | 106 +- code/modules/bitrunning/objects/byteforge.dm | 52 +- code/modules/bitrunning/objects/debug.dm | 7 + code/modules/bitrunning/objects/disks.dm | 24 +- code/modules/bitrunning/objects/landmarks.dm | 49 +- code/modules/bitrunning/objects/loot_crate.dm | 3 +- code/modules/bitrunning/objects/netpod.dm | 44 +- .../bitrunning/objects/quantum_console.dm | 14 +- code/modules/bitrunning/outfits.dm | 32 +- .../server/{quantum_server.dm => _parent.dm} | 59 +- code/modules/bitrunning/server/loot.dm | 4 + .../modules/bitrunning/server/map_handling.dm | 104 +- .../bitrunning/server/obj_generation.dm | 65 +- .../bitrunning/server/signal_handlers.dm | 32 +- code/modules/bitrunning/server/threats.dm | 143 + code/modules/bitrunning/server/util.dm | 86 +- code/modules/bitrunning/util/digital_aura.dm | 43 + code/modules/bitrunning/util/service_style.dm | 23 + .../bitrunning/util/virtual_megafauna.dm | 13 + code/modules/bitrunning/util/virtual_mob.dm | 14 + .../virtual_domain/domains/breeze_bay.dm | 1 + .../domains/gondola_asteroid.dm | 1 - .../virtual_domain/domains/pipedream.dm | 7 +- .../domains/syndicate_assault.dm | 2 + .../virtual_domain/domains/vaporwave.dm | 2 +- .../virtual_domain/domains/xeno_nest.dm | 2 + .../virtual_domain/modular_mob_segment.dm | 159 + .../bitrunning/virtual_domain/safehouses.dm | 30 +- .../virtual_domain/virtual_domain.dm | 23 +- .../client/preferences/middleware/antags.dm | 2 +- .../reagent_containers/cups/drinkingglass.dm | 4 + ....png => screenshot_antag_icons_glitch.png} | Bin icons/effects/bitrunning.dmi | Bin 1568 -> 3048 bytes icons/effects/bitrunning_48.dmi | Bin 0 -> 894 bytes icons/effects/bitrunning_64.dmi | Bin 0 -> 950 bytes icons/mob/clothing/modsuit/mod_clothing.dmi | Bin 128317 -> 127242 bytes icons/mob/nonhuman-player/netguardian.dmi | Bin 0 -> 9764 bytes icons/obj/clothing/modsuit/mod_clothing.dmi | Bin 76690 -> 76930 bytes icons/obj/machines/bitrunning.dmi | Bin 23871 -> 27801 bytes .../modules/bitrunners/code/ability_disks.dm | 1 - .../bitrunners/code/combat_gear_disks.dm | 1 - tgstation.dme | 14 +- .../tgui/interfaces/AntagInfoCyberAuth.tsx | 75 - .../tgui/interfaces/AntagInfoGlitch.tsx | 109 + .../tgui/interfaces/Orbit/constants.ts | 2 +- .../antagonists/antagonists/cyberpolice.ts | 23 - .../antagonists/antagonists/glitch.ts | 20 + .../tgui/interfaces/QuantumConsole.tsx | 22 +- 78 files changed, 3382 insertions(+), 8897 deletions(-) delete mode 100644 _maps/virtual_domains/legion.dmm create mode 100644 code/modules/bitrunning/antagonists/_parent.dm create mode 100644 code/modules/bitrunning/antagonists/cyber_tac.dm create mode 100644 code/modules/bitrunning/antagonists/netguardian.dm create mode 100644 code/modules/bitrunning/components/glitch.dm create mode 100644 code/modules/bitrunning/components/npc_friendly.dm delete mode 100644 code/modules/bitrunning/components/virtual_elite_mob.dm create mode 100644 code/modules/bitrunning/objects/debug.dm rename code/modules/bitrunning/server/{quantum_server.dm => _parent.dm} (69%) create mode 100644 code/modules/bitrunning/util/digital_aura.dm create mode 100644 code/modules/bitrunning/util/service_style.dm create mode 100644 code/modules/bitrunning/util/virtual_megafauna.dm create mode 100644 code/modules/bitrunning/util/virtual_mob.dm create mode 100644 code/modules/bitrunning/virtual_domain/modular_mob_segment.dm rename code/modules/unit_tests/screenshots/{screenshot_antag_icons_cyberpolice.png => screenshot_antag_icons_glitch.png} (100%) create mode 100644 icons/effects/bitrunning_48.dmi create mode 100644 icons/effects/bitrunning_64.dmi create mode 100644 icons/mob/nonhuman-player/netguardian.dmi delete mode 100644 tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx create mode 100644 tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx delete mode 100644 tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts create mode 100644 tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 23162c70e2c1..05cf1009b129 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -2061,6 +2061,7 @@ "tB" = ( /obj/structure/table/reinforced, /obj/machinery/light/directional/south, +/obj/item/bitrunning_debug, /turf/open/floor/iron, /area/station/bitrunning/den) "tE" = ( @@ -3130,12 +3131,12 @@ aa aa aa aa -pl -pl -pl -pl -pl -pl +aa +aa +aa +aa +aa +aa aa aa aa @@ -3223,10 +3224,10 @@ aa aa aa pl -Lq -Lq -RW -nk +pl +pl +pl +pl pl aa aa diff --git a/_maps/safehouses/TEMPLATES/TEMPLATE.dmm b/_maps/safehouses/TEMPLATES/TEMPLATE.dmm index c8e5059f0d01..03eaca12fb13 100644 --- a/_maps/safehouses/TEMPLATES/TEMPLATE.dmm +++ b/_maps/safehouses/TEMPLATES/TEMPLATE.dmm @@ -13,11 +13,11 @@ /turf/open/floor/plating, /area/virtual_domain/safehouse) "v" = ( -/obj/effect/bitrunning/exit_spawn, +/obj/effect/landmark/bitrunning/hololadder_spawn, /turf/open/floor/plating, /area/virtual_domain/safehouse) "N" = ( -/obj/effect/bitrunning/goal_turf, +/obj/effect/landmark/bitrunning/cache_goal_turf, /turf/open/floor/plating, /area/virtual_domain/safehouse) "R" = ( diff --git a/_maps/virtual_domains/README.md b/_maps/virtual_domains/README.md index a02d43e1575e..723af1b34c2c 100644 --- a/_maps/virtual_domains/README.md +++ b/_maps/virtual_domains/README.md @@ -1,32 +1,33 @@ # Making new virtual domains -## From scratch - -1. Create a new map using TGM format. It can be any size, but please, consider limiting to 75x75 max. -2. Ensure that the map has ONE tile marked with the safehouse bottom left landmark. If you're using modular safehouses, it will need to be a 7x6 area. -4. Provide a way for players to enter your new map via the north door, which is 4th tile over. -5. Enclose your area with a single wall binary closed wall. - -## From an existing map - +## REQUIRED: +1. One way that the encrypted cache can spawn. This can be from a mob drop, a landmark (place a few, it'll pick one), or a signable landmark if you have a points system. +2. Place a virtual domain baseturf helper in each area. +3. Ensure that the map has ONE tile marked with the safehouse bottom left landmark. If you're using modular safehouses, it will need an open 7x6 area. +4. Placing a safehouse area is redundant, but it will ensure there is power in the starting safehouse. +5. Create the dm file that defines the map qualities. You can use the existing ones as a template. + +## Converting an existing map 1. Create a new map using the existing map's size - give yourself enough room to enclose it with a binary wall. There's no need for any space outside of it, so ensure that it fits and is enclosed, nothing outside of this. 2. Copy and paste the existing map into it. -3. Find an accessible area for a safehouse, 7x6 - or with a custom, just ensure the necessary landmarks are placed. +3. Find an accessible area for a safehouse, 7x6. 4. Place a bottom left safehouse landmark somewhere on the map to load the safehouse. -## BOTH. -1. You need to have one (1) way that the encrypted cache can spawn. This can be from a mob drop, a landmark (place a few, it'll pick one), or a signable landmark if you have a points system. -2. Make note of the size of the map. Make sure this is in the dm file. -3. Create the dm file that defines the map qualities. Examples are in the bitrunning file. +## Notes +You shouldn't need to fully enclose your map in 15 tiles of binary filler. Using one solid wall should do the trick. -### Notes +For areas, ideally just one on the map and one for the safehouse. Vdoms should never last so long as to need individual area power and atmos unless you're specifically going for a gimmick. -You shouldn't need to fully enclose your map in 15 tiles of binary filler. Using one solid wall should do the trick. +Use modular mob segments! Use modular map segments! Add some variety to your maps! Just make sure you've set your map to have "is_modular" afterwards. Adding some open tile padding around the safehouse is a good touch. About 7 tiles West/East for the visual effect of a larger map. If you want to add prep gear, you can do so within the safehouse's area as long you don't overlap with goal turfs or exit spawners. The top left corner is a good spot for this, with respect for the walls, therefore [1, 1], [1, 2], [1, 3] -You can also create safehouses if you find yourself needing the same gear over and over again. There is a readme for that as well. +You can also create a specific safehouse if you find yourself needing the same gear over and over again. There is a readme for that as well. Boss zones should give players pretty ample space, I've been using a 23x23 minimum area. + +While it's not a hard set rule, 75x75 is the guideline for max size. The main issue is keeping them in the domain for too long. + +You have the option of baking in your own safehouse and ignoring the 7x6 guideline. To do this, you will still need a safehouse landmark and a file to load - even if it's empty. Ensure that you have the necessary landmarks placed that normally go in a safehouse on the map itself. diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm index 6d0420d9b3d9..a9b382d9b0d9 100644 --- a/_maps/virtual_domains/beach_bar.dmm +++ b/_maps/virtual_domains/beach_bar.dmm @@ -5,10 +5,10 @@ /obj/item/reagent_containers/condiment/flour, /obj/item/reagent_containers/condiment/flour, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ag" = ( /turf/open/floor/carpet/red, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "as" = ( /obj/structure/closet/crate/bin, /obj/item/tank/internals/emergency_oxygen, @@ -17,14 +17,14 @@ /obj/effect/turf_decal/sand, /obj/machinery/light/directional/west, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "aw" = ( /obj/machinery/grill, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "aE" = ( /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "aZ" = ( /obj/machinery/light/small/directional/east, /obj/structure/closet/crate{ @@ -33,54 +33,54 @@ /obj/item/stack/sheet/mineral/coal/ten, /obj/item/stack/sheet/mineral/coal/ten, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bd" = ( /turf/open/floor/iron/grimy, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bf" = ( /mob/living/basic/crab{ name = "Jonny" }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bC" = ( /obj/effect/turf_decal/sand, /mob/living/basic/crab{ name = "James" }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bM" = ( /mob/living/basic/crab{ name = "Jon" }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bQ" = ( /obj/structure/fluff/beach_umbrella/cap, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bS" = ( /obj/machinery/chem_master/condimaster{ name = "CondiMaster Neo"; pixel_x = -4 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "cb" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/lsd, /obj/item/reagent_containers/pill/lsd, /obj/item/reagent_containers/pill/lsd, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "cv" = ( /turf/open/floor/carpet/royalblue, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "cG" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "db" = ( /obj/item/reagent_containers/cup/glass/bottle/beer/light, /obj/item/reagent_containers/cup/glass/bottle/beer/light, @@ -111,7 +111,7 @@ /obj/item/reagent_containers/cup/glass/colocup, /obj/item/reagent_containers/cup/glass/colocup, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "di" = ( /obj/machinery/vending/boozeomat, /obj/effect/mapping_helpers/atom_injector/obj_flag{ @@ -119,7 +119,7 @@ target_type = /obj/machinery/vending/boozeomat }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "do" = ( /obj/item/food/meat/rawbacon, /obj/item/food/meat/rawbacon, @@ -128,42 +128,42 @@ /obj/item/food/meat/slab/rawcrab, /obj/item/food/meat/slab/rawcrab, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "dx" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/stripes/asteroid/line{ dir = 8 }, /turf/open/floor/sepia, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "dI" = ( /obj/machinery/light/directional/south, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "dZ" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ed" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "er" = ( /obj/structure/noticeboard/staff, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "fr" = ( /obj/item/melee/skateboard/hoverboard, /obj/machinery/light/directional/west, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "gh" = ( /obj/structure/flora/bush/stalky/style_random, /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "gl" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) @@ -174,26 +174,22 @@ pixel_x = -8; pixel_y = -1 }, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ - pixel_y = 5; - pixel_x = 6 - }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "hk" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "hE" = ( /obj/structure/sign/departments/restroom/directional/east, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "hG" = ( /obj/machinery/door/airlock/sandstone{ name = "Surfer Shack 1" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "iz" = ( /turf/closed/indestructible/binary, /area/lavaland/surface/outdoors/virtual_domain) @@ -204,22 +200,22 @@ /obj/item/reagent_containers/cup/rag, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jc" = ( /turf/open/floor/iron/stairs/right, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jg" = ( /obj/machinery/vending/hydronutrients, /turf/open/floor/iron/grimy, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jl" = ( /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "js" = ( /obj/machinery/light/directional/south, /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jy" = ( /obj/effect/turf_decal/sand{ density = 1 @@ -228,7 +224,7 @@ /turf/open/floor/pod/light{ density = 1 }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ke" = ( /obj/structure/marker_beacon/bronze, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -240,7 +236,7 @@ }, /obj/structure/chair/stool/bar/directional/west, /turf/open/floor/sepia, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "kv" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, @@ -249,28 +245,28 @@ /obj/structure/table, /obj/machinery/reagentgrinder, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "kK" = ( /obj/structure/mirror/directional/west, /obj/structure/sink/kitchen/directional/south, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "kT" = ( /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "lq" = ( /obj/item/melee/skateboard/hoverboard, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "lB" = ( /obj/item/toy/seashell, /obj/effect/turf_decal/sand, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "lS" = ( /turf/open/floor/light/colour_cycle/dancefloor_a, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ml" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -278,61 +274,58 @@ /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) -"nO" = ( -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "nP" = ( /obj/item/stack/sheet/iron/fifty, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "oy" = ( /obj/effect/mob_spawn/ghost_role/human/bartender{ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "oP" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "pr" = ( /turf/template_noop, /area/template_noop) "pC" = ( /obj/machinery/computer/arcade/battle, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "pT" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qc" = ( /obj/structure/extinguisher_cabinet/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qR" = ( /obj/effect/spawner/structure/window, /obj/structure/curtain, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qW" = ( /obj/item/melee/skateboard/hoverboard, /mob/living/basic/chicken{ name = "Chicken Joe" }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "rc" = ( /obj/machinery/light/directional/east, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ri" = ( /obj/structure/sign/poster/official/fruit_bowl, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "rm" = ( /obj/item/storage/crayons, /obj/structure/closet/crate/wooden, @@ -340,11 +333,11 @@ /obj/item/canvas/twentythree_twentythree, /obj/item/canvas/twentythree_twentythree, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "rT" = ( /obj/item/toy/seashell, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "sT" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -354,20 +347,20 @@ name = "Resort Casino" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "tF" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "tZ" = ( /obj/structure/toilet, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "uc" = ( /obj/machinery/light/small/directional/east, /obj/machinery/light/small/directional/east, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ug" = ( /obj/structure/closet/secure_closet{ icon_state = "cabinet"; @@ -383,18 +376,18 @@ /obj/item/clothing/suit/costume/hawaiian, /obj/machinery/light/small/directional/east, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "uk" = ( /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, /obj/item/reagent_containers/cup/bucket, /obj/item/cultivator, /turf/open/floor/iron/grimy, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "uU" = ( /obj/effect/turf_decal/sand, /turf/open/floor/sepia, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ve" = ( /obj/item/toy/dodgeball, /obj/item/toy/dodgeball, @@ -402,27 +395,27 @@ /obj/item/toy/dodgeball, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "vp" = ( /obj/machinery/light/directional/east, /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "vq" = ( /obj/machinery/oven/range, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "vv" = ( /obj/structure/chair/stool/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "vN" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/morphine, /obj/item/reagent_containers/pill/morphine, /obj/item/reagent_containers/pill/morphine, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "wb" = ( /obj/structure/closet/crate/freezer{ name = "Cooler" @@ -446,10 +439,10 @@ /obj/item/reagent_containers/cup/glass/bottle/beer/light, /obj/item/reagent_containers/cup/glass/bottle/beer/light, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "wD" = ( /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xb" = ( /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) @@ -458,19 +451,19 @@ /obj/item/storage/dice, /obj/item/stack/spacecash/c1000, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xq" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, /obj/item/megaphone, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xw" = ( /turf/open/floor/pod/dark, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xz" = ( /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xJ" = ( /obj/structure/closet/cabinet, /obj/item/storage/backpack/duffelbag, @@ -482,7 +475,7 @@ /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/neck/beads, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xR" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/north{ @@ -493,12 +486,12 @@ /obj/item/clothing/under/shorts/red, /obj/item/clothing/glasses/sunglasses, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xT" = ( /obj/machinery/vending/cigarette/beach, /obj/effect/turf_decal/sand, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xW" = ( /turf/open/space/basic, /area/space) @@ -508,14 +501,14 @@ /obj/item/reagent_containers/pill/zoom, /obj/item/reagent_containers/pill/zoom, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yi" = ( /obj/structure/sink/kitchen/directional/west{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yl" = ( /obj/item/reagent_containers/cup/glass/colocup{ pixel_x = -7; @@ -530,39 +523,39 @@ pixel_y = -3 }, /turf/open/floor/carpet/red, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ys" = ( /obj/effect/turf_decal/sand, /obj/machinery/light/directional/east, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yv" = ( /obj/effect/turf_decal/sand, /obj/machinery/food_cart, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yB" = ( /obj/item/instrument/guitar, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yU" = ( /obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yX" = ( /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/carpet/red, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "zc" = ( /obj/structure/railing{ dir = 8 }, /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "zw" = ( /obj/structure/punching_bag, /turf/open/floor/pod/dark, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "zI" = ( /obj/structure/marker_beacon/indigo, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -570,15 +563,15 @@ "zQ" = ( /obj/machinery/light/directional/east, /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "zU" = ( /obj/structure/flora/rock/pile/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ae" = ( /obj/structure/chair, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Al" = ( /turf/closed/mineral/random/volcanic, /area/lavaland/surface/outdoors/virtual_domain) @@ -589,19 +582,19 @@ "Au" = ( /obj/structure/fluff/beach_umbrella/science, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "AI" = ( /obj/structure/table/reinforced, /obj/machinery/reagentgrinder, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "AP" = ( /obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ dir = 1 }, /obj/structure/table/wood, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Br" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck/cas{ @@ -612,68 +605,68 @@ pixel_y = 2 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Bw" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "BD" = ( /obj/structure/table/wood, /obj/item/reagent_containers/condiment/saltshaker, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "BJ" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "BM" = ( /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "BQ" = ( /obj/machinery/seed_extractor, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Cb" = ( /obj/machinery/light/directional/north, /mob/living/basic/crab{ name = "Eddie" }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Cv" = ( /obj/machinery/hydroponics/constructable, /turf/open/floor/iron/grimy, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "CA" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/mob_spawn/ghost_role/human/beach/lifeguard, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "CO" = ( /obj/machinery/vending/dinnerware, /obj/machinery/light/directional/east, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Db" = ( /obj/machinery/barsign/all_access, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ds" = ( /obj/machinery/door/airlock/public/glass{ name = "Resort Lobby" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Dt" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/sand, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "DL" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/wall/mineral/sandstone, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Em" = ( /obj/item/reagent_containers/condiment/enzyme{ layer = 5 @@ -683,28 +676,28 @@ }, /obj/structure/table, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Et" = ( /obj/machinery/light/small/directional/east, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ev" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "EC" = ( /obj/structure/sign/warning/gas_mask/directional/west, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "EP" = ( /obj/machinery/light/directional/north, /obj/machinery/washing_machine, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Fn" = ( /turf/closed/wall/mineral/sandstone, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "FM" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, @@ -714,21 +707,21 @@ /obj/item/secateurs, /obj/item/reagent_containers/cup/bottle/nutrient/ez, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "FS" = ( /obj/effect/turf_decal/sand, /obj/structure/sign/warning/no_smoking/circle/directional/east, /obj/machinery/light/directional/east, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "FY" = ( /obj/structure/mineral_door/wood, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Gz" = ( /obj/structure/flora/tree/palm, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "GA" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -737,7 +730,7 @@ /obj/item/storage/medkit/regular, /obj/item/storage/medkit/brute, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Hl" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -746,102 +739,102 @@ /obj/machinery/light/directional/west, /obj/structure/railing, /turf/open/floor/sepia, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Hs" = ( /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Hu" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ - pixel_x = 5; - pixel_y = 5 + pixel_x = 8; + pixel_y = 4 }, /obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "HF" = ( /obj/machinery/deepfryer, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ia" = ( /obj/structure/urinal/directional/north, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ii" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/stairs/left, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ir" = ( /obj/machinery/vending/cola, /obj/effect/turf_decal/sand, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Iv" = ( /obj/structure/table/wood, /obj/item/reagent_containers/condiment/peppermill, /obj/item/reagent_containers/condiment/soysauce, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "IH" = ( /obj/item/toy/beach_ball, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "IM" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light/directional/east, /turf/open/floor/iron/grimy, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "IP" = ( /obj/machinery/vending/snack, /obj/effect/turf_decal/sand, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Jt" = ( /obj/item/reagent_containers/cup/glass/bottle/beer, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "JC" = ( /obj/structure/fluff/beach_umbrella/engine, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "JY" = ( /obj/structure/flora/rock/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Kd" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/mineral/sandstone, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "KH" = ( /obj/structure/mineral_door/wood{ name = "Croupier's Booth" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "KZ" = ( /obj/structure/flora/bush/stalky/style_random, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "LD" = ( /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "LW" = ( /obj/item/storage/cans/sixbeer, /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Mw" = ( /obj/structure/chair/sofa/right/brown, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Mz" = ( /obj/structure/chair/sofa/left/brown, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Nr" = ( /obj/machinery/light/directional/north, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Nw" = ( /obj/item/bedsheet/dorms{ dir = 4 @@ -850,7 +843,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "NM" = ( /obj/structure/closet/crate/hydroponics, /obj/item/food/grown/ambrosia/vulgaris, @@ -864,32 +857,32 @@ /obj/item/food/grown/ambrosia/vulgaris, /obj/item/food/grown/ambrosia/vulgaris, /turf/open/floor/iron/grimy, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "NX" = ( /obj/effect/landmark/bitrunning/loot_signal, /turf/open/floor/light/colour_cycle/dancefloor_a, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "OE" = ( /obj/effect/mob_spawn/ghost_role/human/beach{ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "OK" = ( /obj/structure/sign/warning/gas_mask/directional/north, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "OR" = ( /obj/machinery/light/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "OW" = ( /obj/structure/sink/kitchen/directional/east{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink" }, /turf/open/floor/pod/light, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "OZ" = ( /obj/structure/marker_beacon/teal, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -898,30 +891,30 @@ /obj/structure/chair/wood, /obj/machinery/light/directional/west, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "PM" = ( /obj/machinery/door/airlock/external/ruin, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Qb" = ( /obj/machinery/griddle, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Qm" = ( /obj/effect/turf_decal/sand, /obj/item/coin/gold, /obj/structure/railing, /obj/machinery/media/jukebox, /turf/open/floor/sepia, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Qu" = ( /obj/structure/curtain, /turf/open/floor/iron/white, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "QP" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "QX" = ( /obj/machinery/chem_dispenser/drinks/fullupgrade{ dir = 1 @@ -929,10 +922,10 @@ /obj/structure/table/wood, /obj/machinery/light/small/directional/east, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Rx" = ( /turf/open/floor/iron/stairs/medium, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "RL" = ( /obj/structure/closet/cabinet, /obj/item/storage/backpack/duffelbag, @@ -944,162 +937,164 @@ /obj/item/clothing/glasses/sunglasses/big, /obj/item/clothing/neck/beads, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "SB" = ( /obj/machinery/door/airlock/sandstone{ name = "Resort Bathroom" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "SD" = ( /obj/machinery/door/airlock/sandstone{ name = "Bar Access" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "SY" = ( /obj/machinery/door/airlock/sandstone{ name = "Surfer Shack 2" }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "TG" = ( /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "TJ" = ( /obj/structure/fluff/beach_umbrella/security, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ud" = ( /obj/effect/turf_decal/sand, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Uh" = ( /turf/open/floor/iron/stairs/old, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Uq" = ( /obj/structure/weightmachine/weightlifter, /turf/open/floor/pod/dark, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "UU" = ( /obj/structure/flora/bush/large/style_random, /obj/structure/flora/bush/jungle/a/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ve" = ( /obj/machinery/processor, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "VA" = ( /obj/machinery/computer/slot_machine, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "VH" = ( /obj/machinery/light/directional/west, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "VX" = ( /obj/structure/flora/bush/large/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "We" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/cooking_to_serve_man, /obj/item/clothing/suit/apron/chef, /obj/item/clothing/head/utility/chefhat, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Wg" = ( /obj/structure/dresser, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Wr" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada, /obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ - pixel_x = -5; + pixel_x = 4 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ + pixel_x = -7; pixel_y = 5 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ww" = ( /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "WL" = ( /obj/machinery/light/directional/north, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "WO" = ( /obj/structure/flora/bush/jungle/a/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "WW" = ( /obj/effect/turf_decal/sand, /obj/machinery/icecream_vat, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "WX" = ( /obj/item/toy/plush/lizard_plushie/green{ name = "Soaks-The-Rays" }, /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Xv" = ( /obj/structure/table/wood, /obj/structure/bedsheetbin, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "XL" = ( /obj/machinery/light/directional/east, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "XP" = ( /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "XT" = ( /obj/effect/turf_decal/sand, /obj/structure/sign/departments/botany/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Yi" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/item/toy/seashell, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Yq" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Yz" = ( /obj/effect/turf_decal/sand, /obj/structure/railing, /turf/open/floor/sepia, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "YI" = ( /obj/machinery/door/airlock/maintenance{ name = "Supply Room" }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "YJ" = ( /turf/open/floor/carpet/purple, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "YN" = ( /obj/effect/turf_decal/sand, /obj/machinery/light/directional/west, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Zg" = ( /obj/structure/table, /obj/machinery/microwave, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Zt" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/morphine, /obj/item/storage/fancy/donut_box, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) (1,1,1) = {" pr @@ -2050,7 +2045,7 @@ iz (23,1,1) = {" iz Al -nO +xb Fn Cb wD @@ -2093,7 +2088,7 @@ xW (24,1,1) = {" iz Al -nO +xb Fn wD Gz @@ -2136,7 +2131,7 @@ xW (25,1,1) = {" iz Al -nO +xb Fn OK Gz @@ -2179,7 +2174,7 @@ xW (26,1,1) = {" iz Al -nO +xb Fn Nr wD diff --git a/_maps/virtual_domains/breeze_bay.dmm b/_maps/virtual_domains/breeze_bay.dmm index 7c86ac2b75c6..4037652bd8eb 100644 --- a/_maps/virtual_domains/breeze_bay.dmm +++ b/_maps/virtual_domains/breeze_bay.dmm @@ -1,26 +1,57 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( +"aa" = ( /turf/closed/indestructible/binary, /area/virtual_domain/powered) -"d" = ( +"ab" = ( +/obj/machinery/light/small/directional/east, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"ac" = ( +/obj/structure/flora/coconuts, +/turf/open/misc/beach/sand, +/area/virtual_domain/powered) +"ad" = ( /obj/structure/chair/wood, /turf/open/floor/wood/large, /area/virtual_domain/powered) -"e" = ( +"ae" = ( /turf/open/floor/carpet/red, /area/virtual_domain/powered) -"g" = ( +"af" = ( +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"ag" = ( /obj/item/toy/beach_ball/branded, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"i" = ( +"ah" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"ai" = ( /turf/open/water/beach, /area/virtual_domain/powered) -"k" = ( +"aj" = ( +/turf/open/floor/holofloor/beach/coast_t, +/area/virtual_domain/fullbright) +"ak" = ( /obj/effect/landmark/bitrunning/loot_signal, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"m" = ( +"al" = ( +/obj/item/fishing_rod{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/fishing_rod, +/obj/item/fishing_rod{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/structure/table/wood, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"am" = ( /obj/item/fishing_rod{ pixel_x = 5; pixel_y = -5 @@ -33,68 +64,105 @@ /obj/structure/table/wood, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"o" = ( +"an" = ( +/mob/living/basic/crab, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"ao" = ( /obj/structure/flora/tree/jungle/style_5, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"p" = ( +"ap" = ( /turf/open/floor/carpet/blue, /area/virtual_domain/powered) -"s" = ( +"aq" = ( +/obj/machinery/light/small/directional/north, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"ar" = ( +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"as" = ( /obj/structure/fluff/beach_umbrella/cap, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"t" = ( +"at" = ( /obj/structure/fluff/beach_umbrella/syndi, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"v" = ( +"au" = ( +/turf/open/floor/carpet/blue, +/area/virtual_domain/fullbright) +"av" = ( /obj/effect/baseturf_helper/virtual_domain, /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, /area/virtual_domain/safehouse) -"y" = ( +"aw" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/large, +/area/virtual_domain/fullbright) +"ax" = ( +/obj/effect/landmark/bitrunning/loot_signal, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"ay" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"z" = ( +"az" = ( /mob/living/basic/crab, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"B" = ( +"aA" = ( +/obj/item/fishing_line, +/obj/item/fishing_hook, +/obj/item/fishing_hook, +/obj/item/fishing_hook, +/obj/structure/closet/crate, +/obj/item/bait_can/worm, +/obj/item/bait_can/worm, +/obj/item/bait_can/worm, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"aB" = ( /obj/structure/flora/tree/jungle/style_6, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"C" = ( +"aC" = ( /obj/structure/flora/tree/jungle/style_2, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"D" = ( +"aD" = ( /turf/open/floor/carpet/green, /area/virtual_domain/powered) -"F" = ( +"aE" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) +"aF" = ( /obj/structure/fluff/beach_umbrella/engine, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"G" = ( +"aG" = ( /obj/structure/flora/bush/jungle/a/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"H" = ( +"aH" = ( /obj/structure/flora/tree/jungle/style_4, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"I" = ( +"aI" = ( /turf/template_noop, /area/virtual_domain/safehouse) -"J" = ( +"aJ" = ( /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"K" = ( +"aK" = ( /obj/structure/flora/tree/jungle, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"L" = ( +"aL" = ( /obj/item/fishing_line, /obj/item/fishing_hook, /obj/item/fishing_hook, @@ -103,18 +171,25 @@ /obj/item/bait_can/worm, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"O" = ( +"aM" = ( +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"aN" = ( +/turf/open/floor/carpet/red, +/area/virtual_domain/fullbright) +"aO" = ( /obj/structure/flora/rock/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"P" = ( -/turf/open/floor/holofloor/beach/coast_t, +"aP" = ( +/turf/open/misc/beach/coast, /area/virtual_domain/powered) -"Q" = ( +"aQ" = ( /obj/structure/flora/bush/stalky/style_random, /turf/open/water/beach, /area/virtual_domain/powered) -"R" = ( +"aR" = ( /obj/structure/closet/crate/freezer{ name = "Cooler" }, @@ -139,694 +214,788 @@ /obj/item/clothing/head/soft/fishing_hat, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"S" = ( +"aS" = ( /obj/structure/flora/tree/jungle/style_3, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"U" = ( +"aT" = ( +/obj/machinery/light/small/directional/west, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"aU" = ( /obj/structure/flora/tree/palm/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"X" = ( +"aV" = ( +/turf/open/floor/wood/large, +/area/virtual_domain/fullbright) +"aW" = ( +/obj/structure/flora/tree/palm/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"aX" = ( /turf/open/floor/wood/large, /area/virtual_domain/powered) -"Z" = ( +"aY" = ( +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) +"aZ" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, /area/virtual_domain/powered) +"iI" = ( +/obj/structure/fluff/beach_umbrella/syndi, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"lN" = ( +/obj/structure/flora/tree/jungle/style_2, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"mh" = ( +/obj/structure/flora/tree/jungle/style_3, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"mV" = ( +/obj/structure/fluff/beach_umbrella/engine, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"rk" = ( +/turf/open/floor/carpet/green, +/area/virtual_domain/fullbright) +"tk" = ( +/obj/machinery/light/small/directional/south, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"wR" = ( +/obj/structure/flora/tree/jungle/style_6, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"wT" = ( +/obj/structure/flora/tree/jungle/style_5, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"yK" = ( +/obj/item/toy/beach_ball/branded, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"Au" = ( +/obj/structure/fluff/beach_umbrella/cap, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"Dh" = ( +/obj/structure/flora/tree/jungle/style_4, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"EZ" = ( +/obj/structure/closet/crate/freezer{ + name = "Cooler" + }, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/colocup, +/obj/item/reagent_containers/cup/glass/colocup, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + desc = "Beer advertised to be the best in space."; + name = "Masterbrand Beer" + }, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + desc = "Beer advertised to be the best in space."; + name = "Masterbrand Beer" + }, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + desc = "Beer advertised to be the best in space."; + name = "Masterbrand Beer" + }, +/obj/item/reagent_containers/cup/glass/bottle/beer/light, +/obj/item/reagent_containers/cup/glass/bottle/beer/light, +/obj/item/reagent_containers/cup/glass/bottle/beer/light, +/obj/item/clothing/head/soft/fishing_hat, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"Gc" = ( +/obj/structure/flora/rock/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"SA" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"Vj" = ( +/obj/structure/flora/tree/jungle, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) (1,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -Z +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aE "} (2,1,1) = {" -a -K -G -y -J -J -J -J -J -J -J -z -P -i -i -i -i -i -i -i -Q -i -i -i -a +aY +Vj +SA +ah +ar +ab +ar +ar +ar +ar +ab +an +aj +af +af +af +af +af +af +af +aM +af +af +af +aY "} (3,1,1) = {" -a -J -O -J -J -I -I -I -I -I -v -J -P -Q -i -i -i -i -i -i -i -i -i -i -a +aY +ar +Gc +ar +tk +aI +aI +aI +aI +aI +av +aq +aj +aM +af +af +af +af +af +af +af +af +af +af +aY "} (4,1,1) = {" -a -J -C -J -J -I -I -I -I -I -I -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +lN +ar +ar +aI +aI +aI +aI +aI +aI +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (5,1,1) = {" -a -J -y -J -J -I -I -I -I -I -I -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +ah +ar +ar +aI +aI +aI +aI +aI +aI +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (6,1,1) = {" -a -S -J -J -J -I -I -I -I -I -I -y -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +mh +ar +ar +ar +aI +aI +aI +aI +aI +aI +ah +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (7,1,1) = {" -a -G -G -J -J -I -I -I -I -I -I -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +SA +SA +ar +ar +aI +aI +aI +aI +aI +aI +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (8,1,1) = {" -a -J -H -g -J -I -I -I -I -I -I -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +Dh +yK +ar +aI +aI +aI +aI +aI +aI +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (9,1,1) = {" -a -G -y -J -J -I -I -I -I -I -I -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +SA +ah +ar +tk +aI +aI +aI +aI +aI +aI +aq +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (10,1,1) = {" -a -o -J -J -J -J -J -J -J -J -J -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +wT +ar +ar +ar +aT +ar +ar +ar +ar +aT +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (11,1,1) = {" -a -J -J -J -J -J -J -J -J -J -J -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (12,1,1) = {" -a -J -B -y -J -J -J -U -J -J -J -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +wR +ah +ar +ar +ar +aW +ar +ar +ar +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (13,1,1) = {" -a -J -J -J -J -s -J -J -J -J -k -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +ar +ar +ar +Au +ar +ar +ar +ar +ax +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (14,1,1) = {" -a -K -y -J -J -p -p -J -J -J -m -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +Vj +ah +ar +ar +au +au +ar +ar +ar +al +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (15,1,1) = {" -a -J -J -J -J -t -J -J -J -J -L -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +ar +ar +ar +iI +ar +ar +ar +ar +aA +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (16,1,1) = {" -a -J -C -J -J -e -e -J -J -J -J -J -P -i -i -i -i -X -X -i -i -i -i -i -a +aY +ar +lN +ar +ar +aN +aN +ar +ar +ar +ar +ar +aj +af +af +af +af +aV +aV +af +af +af +af +af +aY "} (17,1,1) = {" -a -G -J -J -J -F -J -J -J -J -J -J -P -i -i -i -i -X -X -i -i -i -i -i -a +aY +SA +ar +ar +ar +mV +ar +ar +ar +ar +ar +ar +aj +af +af +af +af +aV +aV +af +af +af +af +af +aY "} (18,1,1) = {" -a -S -G -J -J -D -D -J -J -J -J -J -X -X -X -X -X -X -X -X -X -X -i -i -a +aY +mh +SA +ar +ar +rk +rk +ar +ar +ar +ar +ar +aV +aV +aV +aV +aV +aV +aV +aV +aV +aV +af +af +aY "} (19,1,1) = {" -a -J -J -J -J -R -J -J -J -J -J -J -X -X -X -X -X -X -X -X -d -X -i -i -a +aY +ar +ar +ar +ar +EZ +ar +ar +ar +ar +ar +ar +aV +aV +aV +aV +aV +aV +aV +aV +aw +aV +af +af +aY "} (20,1,1) = {" -a -J -H -J -J -J -J -J -J -J -J -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +Dh +ar +ar +ar +ar +ar +ar +ar +ar +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (21,1,1) = {" -a -J -O -J -J -J -J -J -J -J -J -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +ar +Gc +ar +ar +ar +ar +ar +ar +ar +ar +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (22,1,1) = {" -a -o -J -y -J -J -J -J -J -U -J -J -P -i -i -i -i -i -i -i -i -i -i -i -a +aY +wT +ar +ah +ar +ar +ar +ar +ar +aW +ar +ar +aj +af +af +af +af +af +af +af +af +af +af +af +aY "} (23,1,1) = {" -a -J -G -J -J -J -J -J -J -y -J -J -P -i -i -i -i -i -i -i -i -i -Q -i -a +aY +ar +SA +ar +ar +ar +ar +ar +ar +ah +ar +ar +aj +af +af +af +af +af +af +af +af +af +aM +af +aY "} (24,1,1) = {" -a -J -B -J -z -J -y -J -J -J -J -J -P -i -Q -i -i -i -i -i -i -i -i -i -a +aY +ar +wR +ar +an +ar +ah +ar +ar +ar +ar +ar +aj +af +aM +af +af +af +af +af +af +af +af +af +aY "} (25,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY +aY "} diff --git a/_maps/virtual_domains/clown_planet.dmm b/_maps/virtual_domains/clown_planet.dmm index 5ec58519e402..c51edebc14d0 100644 --- a/_maps/virtual_domains/clown_planet.dmm +++ b/_maps/virtual_domains/clown_planet.dmm @@ -7,15 +7,15 @@ /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "aI" = ( /obj/item/bikehorn/airhorn, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "aM" = ( /obj/item/bikehorn, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "aP" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -23,7 +23,7 @@ /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "ba" = ( /obj/structure/mecha_wreckage/honker, /obj/structure/disposalpipe/segment{ @@ -31,7 +31,7 @@ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "bi" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -39,19 +39,19 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "bp" = ( /turf/open/indestructible/light, -/area/virtual_domain/powered) +/area/virtual_domain) "bq" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "by" = ( /turf/closed/wall/r_wall, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "bQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59,26 +59,26 @@ }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "bR" = ( /obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/hope, /obj/effect/decal/cleanable/blood/old, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "bU" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "cw" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "cM" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -87,7 +87,7 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "cW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -95,21 +95,21 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "ed" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /obj/machinery/light/small/directional/west, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "eE" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "fh" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, @@ -118,7 +118,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "gr" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -128,23 +128,23 @@ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "gH" = ( /obj/item/bikehorn, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "gK" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "hK" = ( /obj/item/clothing/head/cone, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "hY" = ( /turf/template_noop, /area/template_noop) @@ -156,24 +156,24 @@ dir = 4 }, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "ik" = ( /turf/open/lava/smooth, -/area/virtual_domain/powered) +/area/virtual_domain) "iR" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "ki" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "kn" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -181,7 +181,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "lj" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -190,14 +190,14 @@ dir = 8 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "lm" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/machinery/light/small/directional/east, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "lr" = ( /obj/item/bikehorn, /obj/effect/decal/cleanable/dirt, @@ -206,60 +206,60 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "lx" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "ly" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "lP" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "mD" = ( /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "mE" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "mF" = ( /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "nE" = ( /obj/effect/mapping_helpers/no_lava, /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "oA" = ( /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "oI" = ( /obj/structure/table/glass, /obj/item/grown/bananapeel/bluespace, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "pl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "ps" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "qM" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 @@ -267,7 +267,7 @@ /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "rg" = ( /obj/item/coin/bananium, /obj/item/coin/bananium, @@ -275,19 +275,19 @@ /obj/item/coin/bananium, /obj/machinery/light/small/directional/west, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "rh" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "rr" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "rH" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 1; @@ -296,46 +296,46 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "rT" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "sq" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "sT" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, /obj/effect/mapping_helpers/mail_sorting/supply/qm_office, /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "tq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "tt" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/indestructible/light, -/area/virtual_domain/powered) +/area/virtual_domain) "tv" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "tF" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "tI" = ( /obj/item/coin/bananium, /obj/item/coin/bananium, @@ -343,14 +343,14 @@ /obj/item/coin/bananium, /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "uX" = ( /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "uY" = ( /turf/closed/mineral/bananium, -/area/virtual_domain/powered) +/area/virtual_domain) "uZ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -360,12 +360,12 @@ /obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape, /obj/item/pen/fourcolor, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "wz" = ( /obj/machinery/light/small/directional/south, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "xt" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, @@ -374,17 +374,17 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "yz" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "yS" = ( /obj/structure/marker_beacon/yellow, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "yZ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -392,16 +392,16 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "zm" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "zA" = ( /obj/structure/statue/bananium/clown, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "zF" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -410,14 +410,14 @@ dir = 8 }, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "Aa" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Bi" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -426,7 +426,7 @@ /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Cp" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -434,7 +434,7 @@ }, /obj/machinery/light/small/directional/west, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "Cs" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -443,10 +443,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) -"Dh" = ( -/turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "Do" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -454,7 +451,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "DL" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -462,35 +459,35 @@ /obj/item/bikehorn, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Ex" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "FI" = ( /obj/item/reagent_containers/cup/glass/trophy/gold_cup, /obj/structure/table/glass, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "Gg" = ( /obj/structure/table/glass, /obj/item/gun/magic/staff/honk, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "Hq" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Hr" = ( /obj/structure/table/glass, /obj/item/clothing/shoes/clown_shoes/banana_shoes, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "HQ" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -498,10 +495,10 @@ /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Ie" = ( /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "Iz" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -509,20 +506,20 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "IN" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "IY" = ( /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "Jv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "JB" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -531,28 +528,28 @@ /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Ka" = ( /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Kh" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "KG" = ( /obj/item/pickaxe, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "KI" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/closed/wall/r_wall, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "Lv" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -560,18 +557,18 @@ }, /obj/machinery/light/small/directional/east, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "Nv" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "NB" = ( /obj/machinery/disposal/delivery_chute, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "NL" = ( /obj/machinery/disposal/delivery_chute{ desc = "The following is engraved upon the chute: A FATE WORSE THAN DEATH LIES WITHIN"; @@ -581,12 +578,12 @@ /obj/structure/disposalpipe/trunk, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "NW" = ( /obj/structure/table/glass, /obj/item/reagent_containers/spray/waterflower/superlube, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "Ok" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -594,7 +591,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Ov" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -602,7 +599,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "PJ" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -610,10 +607,10 @@ }, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "PM" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "PQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -621,20 +618,20 @@ }, /obj/item/pickaxe, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "QP" = ( /turf/template_noop, /area/virtual_domain/safehouse) "QX" = ( /obj/structure/closet/crate/secure/bitrunning/encrypted, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "Rh" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "Rx" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -643,13 +640,13 @@ /obj/structure/table, /obj/item/flashlight/lamp/bananalamp, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "RU" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "Sg" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -658,13 +655,13 @@ /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Sm" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "Tm" = ( /obj/effect/decal/cleanable/food/pie_smudge, /obj/structure/disposalpipe/segment{ @@ -672,13 +669,13 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "Tx" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "TH" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -687,67 +684,60 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "TK" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "Ug" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "UL" = ( /obj/effect/decal/cleanable/oil, /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "UN" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "UQ" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "UY" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) -"Vv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - invisibility = 101 - }, -/turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "Vx" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "VI" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) "VQ" = ( /turf/open/floor/noslip, -/area/virtual_domain/powered) +/area/virtual_domain) "Ww" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -756,40 +746,40 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain/powered) +/area/virtual_domain) "WB" = ( /obj/machinery/disposal/delivery_chute{ dir = 1 }, /obj/structure/disposalpipe/trunk, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "WT" = ( /obj/machinery/door/airlock/bananium, /turf/open/floor/carpet, -/area/virtual_domain/powered) +/area/virtual_domain) "WX" = ( /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "Xp" = ( /obj/machinery/light/directional/south, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "XB" = ( /obj/machinery/light/directional/north, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "Yb" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/indestructible/honk, -/area/virtual_domain/powered) +/area/virtual_domain) "YP" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/indestructible/white, -/area/virtual_domain/powered) +/area/virtual_domain) "ZR" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -798,7 +788,7 @@ dir = 4 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain) (1,1,1) = {" Ie @@ -901,13 +891,13 @@ Ie Ie Ie Ie -Dh -Dh -Dh -Dh -Dh -Dh -Dh +by +by +by +by +by +by +by Ie Ie Ie @@ -915,11 +905,11 @@ Ie Ie Ie Ie -Dh -Dh -Dh -Dh -Dh +by +by +by +by +by Ie Ie Ie @@ -945,29 +935,29 @@ Vx Ie Ie Ie -Dh -Dh -Dh +by +by +by ik ik ik ik ik -Dh -Dh +by +by Ie Ie Ie Ie Ie -Dh -Dh +by +by ik ik ik -Dh -Dh -Dh +by +by +by Ie Ie Ie @@ -990,8 +980,8 @@ Ie Vx Ie Ie -Dh -Dh +by +by ik ik ik @@ -1000,21 +990,21 @@ Sm Hq Sm ik -Dh -Dh +by +by Ie Ie Ie -Dh -Dh +by +by ik ik tq mD ik ik -Dh -Dh +by +by Ie Ie Ie @@ -1035,8 +1025,8 @@ Ie Ie Vx Ie -Dh -Dh +by +by ik ik IN @@ -1047,11 +1037,11 @@ yZ aP Sm ik -Dh -Dh -Dh -Dh -Dh +by +by +by +by +by Nv IY tq @@ -1060,8 +1050,8 @@ ik ik ik ik -Dh -Dh +by +by Ie Ie Vx @@ -1081,23 +1071,23 @@ Ie Ie Vx Ie -Dh +by ik ik -Dh +by Bi cw UQ lr UQ UY -Vv +KI ik -Dh +by IY Jv IY -Dh +by IY Jv Kh @@ -1107,7 +1097,7 @@ ik tq ik ik -Dh +by Ie Ie Vx @@ -1126,8 +1116,8 @@ hY Ie Ie Vx -Dh -Dh +by +by ik IN Tm @@ -1136,9 +1126,9 @@ Ww cw UQ Sm -Vv -Vv -Dh +KI +KI +by zm oA IY @@ -1149,12 +1139,12 @@ Jv IY IY IY -Dh +by ik mD ik -Dh -Dh +by +by Ie Vx hY @@ -1172,27 +1162,27 @@ hY Ie Ie Vx -Dh +by ik ik UN UQ UY Ww -Vv +KI TH -Vv +KI YP Cp uY -Dh +by sq oA IY -Dh -Dh +by +by Jv -Dh +by IY IY IY @@ -1200,7 +1190,7 @@ tq ik ik ik -Dh +by Ie Vx Ie @@ -1218,7 +1208,7 @@ tF Ie Ie Vx -Dh +by ik IN UQ @@ -1226,14 +1216,14 @@ UQ yZ Do Do -Vv +KI YP YP YP KG uY -Dh -Dh +by +by oA IY IY @@ -1243,10 +1233,10 @@ IY gH Jv Xp -Dh +by ik ik -Dh +by by KI by @@ -1264,15 +1254,15 @@ Ie Ie Ie Vx -Dh +by ik yz fh UQ UY -Vv +KI Ww -Vv +KI YP YP tt @@ -1282,7 +1272,7 @@ oA oA oA IY -Dh +by IY IY Jv @@ -1292,7 +1282,7 @@ IY ik tq ik -Dh +by by iR PM @@ -1310,7 +1300,7 @@ Ie Ie Ie Vx -Dh +by ik Hq TK @@ -1318,18 +1308,18 @@ qM yZ Ww Ww -Vv +KI YP PQ tt bp uY -Dh +by oA oA IY IY -Dh +by IY IY IY @@ -1356,7 +1346,7 @@ Ie Ie Ie Vx -Dh +by ik UN UQ @@ -1365,20 +1355,20 @@ DL Ww yz lx -Vv +KI YP Lv WX -Dh -Dh +by +by oA IY IY -Dh -Dh +by +by IY IY -Dh +by IY Jv ik @@ -1400,8 +1390,8 @@ Ie "} (14,1,1) = {" Ie -Dh -Vv +by +KI nE nE mD @@ -1412,17 +1402,17 @@ Ex Tm UQ lx -Vv -Vv +KI +KI ps TK Sm -Dh -Dh -Dh +by +by +by zA rg -Dh +by XB IY Jv @@ -1446,11 +1436,11 @@ Ie "} (15,1,1) = {" Ie -Dh +by ij hK nE -Dh +by yz UQ UQ @@ -1463,13 +1453,13 @@ Do Iz kn Ww -Dh -Dh +by +by FI mF mF mF -Dh +by IY Jv Jv @@ -1492,7 +1482,7 @@ Ie "} (16,1,1) = {" Ie -Dh +by VQ uX NL @@ -1510,13 +1500,13 @@ pl Do Ex UY -Dh +by Ug oI NW mF -Dh -Dh +by +by Jv IY IY @@ -1538,11 +1528,11 @@ Ie "} (17,1,1) = {" Ie -Dh +by VQ bR wz -Dh +by Hq UQ Sm @@ -1565,7 +1555,7 @@ WT IY Jv IY -Dh +by ik tq ik @@ -1584,7 +1574,7 @@ Ie "} (18,1,1) = {" Ie -Dh +by VQ uX PJ @@ -1593,7 +1583,7 @@ sT kn Do Do -Vv +KI Do Ov UQ @@ -1602,12 +1592,12 @@ Ok mE rH pl -Dh +by mF Hr Gg mF -Dh +by IY IY IY @@ -1630,12 +1620,12 @@ Ie "} (19,1,1) = {" Ie -Dh +by zF uX nE -Dh -Dh +by +by Ww Ww Ww @@ -1646,14 +1636,14 @@ lP Ex UY Ka -Vv +KI tv -Dh +by FI mF mF QX -Dh +by IY IY IY @@ -1676,29 +1666,29 @@ Ie "} (20,1,1) = {" Ie -Dh -Vv +by +KI nE nE ik -Dh +by Ww Ww Cs Do Do -Vv -Dh -Dh +KI +by +by bQ -Dh +by ba -Dh +by IY -Dh +by zA tI -Dh +by XB IY Jv @@ -1724,26 +1714,26 @@ Ie Ie Ie Vx -Dh +by ik -Dh -Dh +by +by Do Do Do Ww Do -Vv +KI rh ed gK -Dh +by UL Sm IY IY -Dh -Dh +by +by Kh IY IY @@ -1770,26 +1760,26 @@ Ie Ie Ie Vx -Dh +by ik -Dh -Dh +by +by JB Sg -Vv +KI Ww -Vv +KI uZ YP bp bp uY -Dh +by bQ oA IY IY -Dh +by IY Jv IY @@ -1816,15 +1806,15 @@ Ie Ie Ie Vx -Dh +by ik cM eE lx -Vv +KI ki Ww -Vv +KI Rx YP bp @@ -1832,7 +1822,7 @@ bp WB TK Aa -Dh +by IY IY Jv @@ -1841,10 +1831,10 @@ Jv IY aM Xp -Dh +by tq ik -Dh +by by iR PM @@ -1862,10 +1852,10 @@ Ie Ie Ie Vx -Dh +by ik -Dh -Dh +by +by lP Do Do @@ -1876,7 +1866,7 @@ bq Rh WX uY -Dh +by oA oA IY @@ -1885,12 +1875,12 @@ Jv Jv IY IY -Dh -Dh +by +by ik mD ik -Dh +by by KI by @@ -1908,20 +1898,20 @@ Ie Ie Ie Vx -Dh +by ik -Dh -Dh +by +by pl Do -Vv +KI Do -Vv -Vv +KI +KI rh lm uY -Dh +by sq oA IY @@ -1929,14 +1919,14 @@ IY IY IY IY -Dh +by IY IY ik mD ik ik -Dh +by Ie Vx Ie @@ -1954,19 +1944,19 @@ Ie Ie Ie Vx -Dh +by ik ik -Dh +by yd Do Do Do Ex lx -Vv -Dh -Dh +KI +by +by oA oA IY @@ -1977,12 +1967,12 @@ aM IY IY IY -Dh +by ik tq ik -Dh -Dh +by +by Ie Vx hY @@ -2000,34 +1990,34 @@ hY Ie Ie Vx -Dh -Dh +by +by ik -Dh -Dh +by +by Ex lx HQ UQ UQ bU -Dh +by ik -Dh +by Yb IY IY -Dh +by IY IY -Dh +by IY IY ik mD ik ik -Dh +by Ie Ie Vx @@ -2047,23 +2037,23 @@ Ie Ie Vx Ie -Dh -Dh +by +by ik ik -Dh +by mD -Dh +by Ka lP mD -Dh +by ik -Dh -Dh -Dh -Dh -Dh +by +by +by +by +by IY IY IY @@ -2072,8 +2062,8 @@ ik ik ik ik -Dh -Dh +by +by Ie Ie Vx @@ -2094,31 +2084,31 @@ Ie Vx Ie Ie -Dh -Dh +by +by ik ik ik tq tq tq -Dh +by ik -Dh -Dh +by +by Ie Ie Ie -Dh -Dh +by +by ik ik mD tq ik ik -Dh -Dh +by +by Ie Ie Ie @@ -2141,29 +2131,29 @@ Vx Ie Ie Ie -Dh -Dh -Dh +by +by +by ik ik ik ik ik -Dh -Dh +by +by Ie Ie Ie Ie Ie -Dh -Dh +by +by ik ik ik -Dh -Dh -Dh +by +by +by Ie Ie Ie @@ -2189,13 +2179,13 @@ Ie Ie Ie Ie -Dh -Dh -Dh -Dh -Dh -Dh -Dh +by +by +by +by +by +by +by Ie Ie Ie @@ -2203,11 +2193,11 @@ Ie Ie Ie Ie -Dh -Dh -Dh -Dh -Dh +by +by +by +by +by Ie Ie Ie diff --git a/_maps/virtual_domains/legion.dmm b/_maps/virtual_domains/legion.dmm deleted file mode 100644 index 55843177ad0f..000000000000 --- a/_maps/virtual_domains/legion.dmm +++ /dev/null @@ -1,6370 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ah" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"ak" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"aI" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"aR" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"bd" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"be" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"bt" = ( -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"bu" = ( -/obj/structure/marker_beacon/bronze, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"ca" = ( -/obj/effect/mob_spawn/corpse/human/legioninfested, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"cf" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"cp" = ( -/turf/template_noop, -/area/template_noop) -"dm" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"dn" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/effect/mob_spawn/corpse/human/legioninfested, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"dr" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/block/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"dx" = ( -/obj/effect/decal/cleanable/blood/footprints{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"dL" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"dQ" = ( -/turf/closed/wall/mineral/titanium/survival/pod, -/area/lavaland/surface/outdoors/virtual_domain) -"et" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ew" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"eJ" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"fA" = ( -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"fG" = ( -/obj/structure/marker_beacon/violet, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"gh" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"gk" = ( -/obj/structure/necropolis_gate/locked, -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"gK" = ( -/obj/effect/decal/cleanable/blood/footprints, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"gQ" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"hc" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"hw" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"hx" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"hU" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ib" = ( -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ie" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"iP" = ( -/obj/structure/fluff/drake_statue/falling, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"iR" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"iV" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"jk" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"jt" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"jw" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"jN" = ( -/obj/machinery/sleeper/survival_pod, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"ka" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"kg" = ( -/turf/closed/indestructible/riveted/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"kT" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"kZ" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ll" = ( -/obj/structure/stone_tile/cracked, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"lz" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"lC" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"lO" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"lT" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"mz" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"mG" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"nm" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"nu" = ( -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"nv" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ny" = ( -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"nI" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"nO" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ob" = ( -/obj/structure/necropolis_gate/legion_gate, -/obj/structure/necropolis_arch, -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"og" = ( -/obj/effect/landmark/bitrunning/safehouse_spawn, -/turf/template_noop, -/area/virtual_domain/safehouse) -"oo" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"ox" = ( -/turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) -"oS" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"pP" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"qo" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"qs" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"qW" = ( -/obj/effect/decal/cleanable/blood/footprints{ - dir = 1 - }, -/obj/machinery/door/airlock/survival_pod/glass, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"rt" = ( -/obj/effect/mob_spawn/corpse/human/miner, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"rU" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"sd" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"sk" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"sz" = ( -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"sA" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"tk" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"tF" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"uK" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"vf" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"wq" = ( -/obj/structure/marker_beacon/teal, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"wy" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"xd" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"xm" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"xw" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"xD" = ( -/obj/structure/stone_tile/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"yu" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/block, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"yZ" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"zg" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/baseturf_helper/virtual_domain, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain/powered) -"zo" = ( -/obj/effect/turf_decal/mining/survival, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/lavaland/surface/outdoors/virtual_domain) -"zW" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/center/cracked, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Ah" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) -"Aj" = ( -/obj/structure/marker_beacon/burgundy, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Ak" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/center/cracked, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 4 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"As" = ( -/obj/structure/marker_beacon/cerulean, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"AY" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Bo" = ( -/obj/structure/marker_beacon/indigo, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"BO" = ( -/turf/template_noop, -/area/virtual_domain/safehouse) -"CX" = ( -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Dm" = ( -/turf/closed/mineral/random/volcanic, -/area/lavaland/surface/outdoors/virtual_domain) -"DP" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/center, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Ek" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Ep" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Ez" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"EC" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Fg" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 6 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Fp" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/template_noop, -/area/virtual_domain/safehouse) -"Fq" = ( -/obj/structure/marker_beacon/fuchsia, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"FV" = ( -/obj/structure/stone_tile/block, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Gj" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Gn" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors/virtual_domain) -"Go" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"GH" = ( -/obj/structure/fans, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"GM" = ( -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Hi" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Hu" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Hw" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/center/cracked, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"HK" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"HQ" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"HZ" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Ii" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Io" = ( -/obj/structure/marker_beacon/jade, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Ip" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"IB" = ( -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"IG" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"IL" = ( -/obj/structure/stone_tile/surrounding, -/obj/structure/stone_tile/center/cracked, -/mob/living/simple_animal/hostile/megafauna/legion/virtual_domain, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"IQ" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Jc" = ( -/obj/structure/stone_tile/slab, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Jp" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Jt" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Jw" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"JD" = ( -/obj/structure/fluff/drake_statue, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"KG" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Le" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Lx" = ( -/obj/effect/decal/cleanable/blood/footprints{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"LH" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Ml" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Mm" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/center/cracked, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Mo" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"MH" = ( -/obj/structure/stone_tile/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"MP" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"MW" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Nl" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/center, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Ot" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/center, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Pv" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/lavaland/surface/outdoors/virtual_domain) -"Px" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"PO" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Qi" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Qx" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/marker_beacon/burgundy, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"QD" = ( -/obj/item/pickaxe, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"RC" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/lavaland/surface/outdoors/virtual_domain) -"RV" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"So" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Sw" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"SI" = ( -/obj/effect/turf_decal/mining, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/lavaland/surface/outdoors/virtual_domain) -"SJ" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"SX" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Ti" = ( -/turf/closed/mineral/random/high_chance/volcanic, -/area/lavaland/surface/outdoors/virtual_domain) -"Tm" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/black, -/obj/structure/tubes, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"TC" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"TJ" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Ud" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/baseturf_helper/virtual_domain, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain/powered) -"UD" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/center/cracked, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"UM" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Vc" = ( -/obj/structure/tubes, -/obj/item/crowbar, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"VI" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/center, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Wa" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/center/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Wm" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"WM" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"WR" = ( -/obj/structure/stone_tile/block, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"WS" = ( -/obj/item/gps/computer, -/obj/structure/tubes, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"Xb" = ( -/obj/structure/marker_beacon/yellow, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Xn" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Xo" = ( -/obj/structure/stone_tile/block, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Xv" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"XO" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/lavaland/surface/outdoors/virtual_domain) -"Yu" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"YN" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"YV" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Zc" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Zh" = ( -/obj/structure/marker_beacon/purple, -/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/lavaland/surface/outdoors/virtual_domain) -"Zj" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"Zq" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors/virtual_domain) -"Zu" = ( -/obj/machinery/smartfridge/survival_pod{ - desc = "A heated storage unit. This one's seen better days."; - name = "dusty survival pod storage" - }, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) -"ZM" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/virtual_domain) -"ZN" = ( -/obj/structure/table/survival_pod, -/obj/item/knife/combat/survival, -/turf/open/floor/pod/dark, -/area/lavaland/surface/outdoors/virtual_domain) - -(1,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -Ah -"} -(2,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ox -"} -(3,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -ib -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ib -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(4,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(5,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(6,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -wq -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(7,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(8,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -nu -nu -nu -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -rt -nu -nu -ib -ib -ox -"} -(9,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -nu -nu -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(10,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ib -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(11,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(12,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -fA -nu -nu -nu -nu -ib -ox -"} -(13,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -fG -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -fA -nu -nu -nu -nu -ib -ox -"} -(14,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -nu -nu -nu -nu -ib -ox -"} -(15,1,1) = {" -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(16,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -nu -nu -nu -nu -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(17,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -Ti -Ti -Ti -GM -nu -nu -nu -nu -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -Io -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -Xb -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(18,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -et -Ti -GM -GM -GM -nu -nu -nu -nu -GM -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(19,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -nu -nu -nu -nu -nu -nu -nu -nu -GM -GM -GM -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -wq -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(20,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -nu -nu -nu -nu -nu -nu -nu -nu -GM -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(21,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -nu -nu -nu -nu -GM -Ti -GM -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -Zh -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(22,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -FV -nu -nu -nu -nu -Ti -Dm -Dm -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(23,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -GM -GM -GM -Ti -Ti -Dm -Dm -Ti -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(24,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -FV -Ml -Ti -Dm -Dm -Ti -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(25,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -GM -Ti -Dm -Dm -IB -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -GM -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(26,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -GM -GM -GM -GM -GM -fA -fA -fA -fA -RV -fA -fA -fA -fA -fA -fA -Xn -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -As -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(27,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ek -Le -be -be -kT -GM -GM -GM -GM -fA -fA -xm -fA -fA -fA -GM -ZM -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(28,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -dr -KG -mz -KG -KG -jt -GM -GM -GM -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -HZ -nu -bu -nu -nu -nu -MH -nu -nu -lz -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(29,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -bd -mG -Hw -hU -Mm -lO -et -GM -tk -fA -fA -fA -fA -ak -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -YV -nu -nu -So -nu -nu -nu -nu -nu -nu -bu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(30,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ez -WR -JD -rU -KG -dm -GM -GM -fA -Hi -fA -fA -fA -ll -fA -fA -Wm -fA -fA -YV -qs -MH -nu -nu -nu -ny -ca -oS -nu -nu -Qx -nu -nu -hx -nu -nu -nu -nu -nu -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(31,1,1) = {" -ox -kg -kg -kg -Hu -Zq -wy -Zq -lT -kg -kg -Gn -Gn -KG -Ak -nv -Ot -mG -hw -kg -kg -Wm -fA -fA -fA -fA -fA -fA -fA -fA -fA -ak -nu -nu -qs -nu -nu -TC -nu -YV -nu -ny -nu -oS -nu -nu -nu -SX -nu -nu -nu -zg -BO -BO -BO -BO -BO -og -Ud -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(32,1,1) = {" -ox -kg -kg -Gn -VI -xw -gQ -ka -iR -kg -kg -Gn -Gn -sz -KG -KG -KG -KG -mz -kg -kZ -kZ -sd -kZ -lC -kZ -TJ -UM -kZ -IQ -UM -UM -AY -nu -nI -nu -nu -nu -nu -oS -nu -nu -nu -nu -nu -qs -nu -nu -nu -nu -nu -nu -BO -BO -BO -BO -BO -BO -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(33,1,1) = {" -ox -PO -PO -gk -PO -Zc -IL -Yu -SJ -Yu -Yu -Yu -ob -dL -uK -MP -uK -uK -dL -Jc -Mo -eJ -Mo -hc -yu -eJ -Fg -eJ -YN -tF -Mo -Zj -HQ -qo -Jp -nu -aR -nu -TC -nu -YV -nu -nu -oS -nu -nu -ny -Sw -nu -nu -nu -nu -BO -BO -BO -BO -BO -BO -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -Io -ib -ib -nu -nu -ib -ox -"} -(34,1,1) = {" -ox -kg -kg -Gn -Nl -gh -jw -lT -oo -kg -kg -Gn -Gn -Wa -KG -xd -Ez -mz -HK -kg -ie -Jw -Jw -jk -Jw -jk -dn -Jw -Jw -LH -Ii -Qi -aI -nu -Xo -nu -nu -YV -Sw -nu -nu -nu -sA -nu -Gj -nu -nu -HZ -nu -YV -nu -nu -BO -BO -BO -BO -BO -BO -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(35,1,1) = {" -ox -kg -kg -kg -Hu -Ep -iV -Go -Ip -kg -kg -Gn -Gn -lO -nO -hU -UD -KG -dm -kg -kg -ll -fA -fA -fA -ak -fA -fA -fA -fA -ll -fA -nu -nu -ny -nu -nu -Aj -HZ -nu -ew -nu -nu -bu -nu -nu -nu -nu -nu -Aj -nu -nu -BO -BO -BO -BO -BO -BO -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(36,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -KG -WR -iP -rU -Ez -cf -GM -GM -fA -fA -yZ -vf -ll -fA -fA -fA -ak -fA -fA -oS -ny -qs -YV -qs -nu -nu -nu -nu -nu -nu -Sw -nu -qs -oS -nu -nu -Sw -nu -nu -BO -BO -BO -BO -BO -BO -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -ib -ox -"} -(37,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -bd -xd -zW -nv -DP -KG -FV -GM -GM -fA -fA -fA -GM -Px -fA -IG -GM -Hi -fA -fA -nu -nu -nu -nu -TC -nu -ah -nu -nu -nm -nu -nu -nu -nu -nu -nu -sk -nu -nu -zg -BO -BO -BO -BO -BO -Fp -Ud -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -nu -nu -ib -ox -"} -(38,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -bd -KG -KG -KG -lO -Jc -GM -GM -GM -fA -fA -fA -fA -fA -fA -GM -Jt -fA -fA -fA -nu -TC -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(39,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ek -KG -lO -MW -pP -GM -GM -GM -GM -fA -fA -fA -fA -fA -fA -fA -xD -fA -fA -fA -oS -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(40,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -IB -nu -nu -nu -nu -GM -RV -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(41,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -nu -nu -Sw -Xv -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -GM -GM -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(42,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -nu -nu -nu -ny -GM -fA -fA -fA -fA -fA -fA -fA -fA -fA -EC -GM -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -Bo -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(43,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -WM -GM -Px -ny -nu -nu -nu -nu -nu -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(44,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -GM -GM -nu -nu -nu -nu -nu -nu -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(45,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -GM -GM -GM -nu -nu -nu -nu -nu -nu -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(46,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -GM -GM -nu -nu -nu -nu -nu -nu -fA -fA -ak -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -wq -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -ib -ox -"} -(47,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -GM -nu -nu -nu -nu -nu -nu -fA -fA -fA -xD -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -ib -ox -"} -(48,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -GM -nu -nu -nu -nu -nu -nu -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -ib -ox -"} -(49,1,1) = {" -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -Ti -GM -nu -nu -nu -nu -nu -nu -fA -fA -fA -GM -fA -fA -fA -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -Fq -nu -ib -ib -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -ib -ox -"} -(50,1,1) = {" -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -kg -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -rt -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(51,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -dQ -dQ -XO -dQ -dQ -GM -nu -nu -nu -ib -ox -"} -(52,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -Fq -nu -nu -nu -nu -nu -nu -nu -nu -nu -dQ -GH -jN -ZN -zo -GM -nu -nu -nu -ib -ox -"} -(53,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -RC -Zu -QD -bt -qW -CX -nu -nu -nu -ib -ox -"} -(54,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -dQ -WS -Tm -Vc -SI -Lx -nu -nu -nu -ib -ox -"} -(55,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -dQ -dQ -Pv -dQ -dQ -Lx -nu -nu -nu -ib -ox -"} -(56,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -nu -fA -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -GM -GM -GM -GM -dx -gK -nu -nu -nu -ib -ox -"} -(57,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -Io -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(58,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(59,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -ox -"} -(60,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -fA -fA -fA -fA -nu -nu -nu -nu -nu -nu -Xb -nu -nu -nu -ib -ox -"} -(61,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -nu -nu -ib -ox -"} -(62,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -nu -ib -ox -"} -(63,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -nu -nu -nu -ib -ib -ib -nu -nu -nu -nu -nu -ib -ib -nu -nu -nu -nu -ib -ib -ib -nu -nu -nu -nu -nu -nu -nu -nu -ib -ib -nu -nu -nu -nu -ib -ib -ox -"} -(64,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -ox -"} -(65,1,1) = {" -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -cp -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -ox -"} diff --git a/_maps/virtual_domains/pipedream.dmm b/_maps/virtual_domains/pipedream.dmm index 9a706f613e88..a9908fd766bd 100644 --- a/_maps/virtual_domains/pipedream.dmm +++ b/_maps/virtual_domains/pipedream.dmm @@ -4,13 +4,13 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "aw" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "ax" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/frame/computer{ @@ -21,42 +21,42 @@ icon_state = "medium" }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "aK" = ( /turf/open/space/basic, -/area/space) +/area/virtual_domain) "aL" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "bq" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "bs" = ( /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain) "bw" = ( /obj/structure/disposalpipe/broken{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "bx" = ( /obj/structure/frame/computer, /obj/item/shard, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-12" }, -/area/virtual_domain/powered) +/area/virtual_domain) "bA" = ( /obj/structure/chair/plastic, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "bS" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -71,7 +71,7 @@ pixel_y = -2 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "cw" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 9 @@ -80,7 +80,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "cB" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 10 @@ -90,18 +90,18 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "cF" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "dx" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/item/shard, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "dz" = ( /obj/machinery/light/broken, /obj/effect/decal/cleanable/dirt, @@ -110,22 +110,26 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "dA" = ( /obj/machinery/light/dim{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "dP" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) +"eb" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/plating, +/area/virtual_domain) "eg" = ( /turf/closed/wall, -/area/virtual_domain/powered) +/area/virtual_domain) "ei" = ( /obj/machinery/conveyor/auto{ dir = 6; @@ -136,17 +140,17 @@ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "ev" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, -/area/virtual_domain/safehouse) +/area/virtual_domain) "eJ" = ( /obj/structure/disposalpipe/sorting{ dir = 2 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "eN" = ( /obj/effect/turf_decal/trimline/yellow/arrow_cw{ dir = 1 @@ -156,38 +160,38 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "eY" = ( /turf/closed/wall/r_wall, -/area/virtual_domain/powered) +/area/virtual_domain) "fe" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, /obj/structure/table/reinforced, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "fg" = ( /turf/open/floor/iron/stairs/left{ dir = 8 }, -/area/virtual_domain/powered) +/area/virtual_domain) "fl" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "fw" = ( /obj/structure/door_assembly/door_assembly_eng, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "fK" = ( /obj/structure/chair/stool/bar/directional/west, /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "fR" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 @@ -197,52 +201,53 @@ }, /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "fZ" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "gc" = ( /obj/structure/disposalpipe/broken, +/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "gj" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "gs" = ( /obj/machinery/door/airlock/external/glass/ruin, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "gN" = ( /obj/structure/disposalpipe/sorting{ dir = 8 }, /turf/open/floor/catwalk_floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "gV" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "hg" = ( /obj/effect/turf_decal/caution{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "hi" = ( /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "hk" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/effect/decal/cleanable/dirt/dust, @@ -250,20 +255,20 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "ho" = ( /obj/effect/turf_decal/siding/white{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "iw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "iI" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 8 @@ -271,7 +276,7 @@ /obj/effect/turf_decal/trimline/yellow/corner, /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "jv" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 @@ -280,53 +285,53 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "jw" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "jH" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/catwalk_floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "jQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/red/dim{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "jS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "jW" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "kh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "ki" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "kn" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "kJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -336,61 +341,54 @@ id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "kU" = ( /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "lp" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, -/area/virtual_domain/powered) -"lt" = ( -/obj/structure/disposalpipe/sorting{ - dir = 8 - }, -/mob/living/basic/hivebot/range, -/turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "lx" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 4; id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "lB" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 5 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "lC" = ( /obj/machinery/door/airlock/glass, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "lI" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "lN" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "lW" = ( /obj/structure/disposalpipe/sorting{ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "mu" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "mE" = ( /obj/machinery/door/airlock/maintenance, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "mY" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -399,23 +397,27 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "nD" = ( /obj/structure/disposalpipe/trunk/multiz, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) +"nH" = ( +/obj/structure/disposalpipe/broken, +/turf/open/floor/plating, +/area/virtual_domain) "nL" = ( /obj/effect/turf_decal/tile/dark/half, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "nS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "op" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/dim{ @@ -423,35 +425,35 @@ }, /obj/structure/sign/warning/doors/directional/north, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "oN" = ( /obj/machinery/conveyor/auto, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "pa" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain) "pi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "po" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/maint, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "pI" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/machinery/light/small/red/dim{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "qc" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 @@ -459,18 +461,18 @@ /obj/structure/table/reinforced, /obj/effect/spawner/random/bureaucracy/briefcase, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "qk" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "qK" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "qN" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -478,7 +480,7 @@ /obj/effect/mob_spawn/corpse/human/factory, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "qT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -487,13 +489,13 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "qV" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "qW" = ( /obj/machinery/light/dim{ dir = 1 @@ -502,45 +504,44 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "rc" = ( /obj/structure/disposalpipe/segment, /obj/structure/sign/poster/contraband/random/directional/north, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "rz" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /obj/machinery/light/small/red/dim, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "rG" = ( /obj/machinery/light/dim, /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "rJ" = ( /obj/structure/railing, /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "rM" = ( /obj/structure/disposalpipe/broken{ dir = 1 }, -/mob/living/basic/hivebot/strong, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "rO" = ( /turf/closed/mineral, -/area/space) +/area/virtual_domain) "sn" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-38" }, -/area/virtual_domain/powered) +/area/virtual_domain) "sB" = ( /obj/machinery/light/broken{ dir = 8 @@ -550,7 +551,7 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "sW" = ( /obj/effect/decal/cleanable/oil/streak, /obj/effect/turf_decal/trimline/yellow/corner{ @@ -562,57 +563,52 @@ /obj/effect/decal/cleanable/blood/drip, /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "tl" = ( /obj/machinery/door/poddoor/shutters/indestructible{ id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "tr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/virtual_domain/powered) -"tE" = ( -/obj/structure/disposalpipe/segment, -/mob/living/basic/hivebot/range, -/turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "ud" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-110" }, -/area/virtual_domain/powered) +/area/virtual_domain) "uk" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/decal/cleanable/blood/splatter/over_window, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "um" = ( /obj/machinery/light/dim{ dir = 1 }, /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "uz" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "uC" = ( /obj/structure/falsewall, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "uF" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "uP" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-55" }, -/area/virtual_domain/powered) +/area/virtual_domain) "vb" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -620,7 +616,7 @@ }, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "ve" = ( /obj/machinery/mass_driver/trash{ dir = 1 @@ -629,50 +625,50 @@ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "vA" = ( /obj/structure/closet/crate/maint, /obj/effect/turf_decal/stripes{ dir = 9 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "vL" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "vQ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "vU" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "wg" = ( /obj/machinery/light/small/red/dim{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "wh" = ( /obj/structure/table/wood, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-207" }, -/area/virtual_domain/powered) +/area/virtual_domain) "wl" = ( /obj/item/shard, /turf/open/space/basic, -/area/space) +/area/virtual_domain) "wm" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, /obj/structure/sign/clock/directional/north, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "wq" = ( /obj/structure/table/wood, /obj/machinery/button/door{ @@ -682,7 +678,7 @@ /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-63" }, -/area/virtual_domain/powered) +/area/virtual_domain) "ws" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 @@ -691,50 +687,49 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "ww" = ( /obj/effect/turf_decal/stripes{ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/mob/living/basic/hivebot, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "wU" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "wW" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "xa" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 8; id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "xk" = ( /obj/machinery/light/dim{ dir = 4 }, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "xl" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "xA" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "xE" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -742,11 +737,11 @@ }, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "xF" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain/powered) +/area/virtual_domain) "xM" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -756,28 +751,28 @@ name = "cat bed" }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "xT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "yB" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/welded, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "yM" = ( /turf/closed/indestructible/fakedoor{ name = "Stairwell Access" }, -/area/virtual_domain/powered) +/area/virtual_domain) "yQ" = ( /turf/template_noop, /area/template_noop) "yX" = ( /obj/structure/fans/tiny, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "zp" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 @@ -785,13 +780,13 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/broken, /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain) "zB" = ( /obj/structure/closet/crate/bin, /obj/item/trash/tray, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "zE" = ( /obj/structure/disposalpipe/broken{ dir = 1 @@ -800,7 +795,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "zO" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -808,30 +803,23 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Av" = ( /obj/item/stack/rods/two, /turf/open/space/basic, -/area/space) -"Aw" = ( -/obj/structure/lattice/catwalk{ - name = "industrial lift" - }, -/mob/living/basic/hivebot/rapid, -/turf/open/chasm, -/area/virtual_domain/powered) +/area/virtual_domain) "AJ" = ( /obj/effect/decal/cleanable/generic, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "AP" = ( /obj/structure/railing, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "AU" = ( /turf/open/misc/asteroid/airless, -/area/space) +/area/virtual_domain) "Bd" = ( /obj/structure/closet/secure_closet/tac{ req_access = null @@ -840,7 +828,7 @@ /obj/item/ammo_casing/shotgun/buckshot, /obj/item/ammo_casing/shotgun/buckshot, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Bx" = ( /obj/structure/table/reinforced, /obj/machinery/microwave{ @@ -848,7 +836,7 @@ desc = "No longer cooks and boils stuff." }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "BI" = ( /obj/machinery/door/airlock/command/glass{ name = "Quartermaster's Office" @@ -861,28 +849,28 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "BN" = ( /obj/structure/flora/rock/pile/style_random, /turf/open/misc/asteroid/airless, -/area/space) +/area/virtual_domain) "BW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "BX" = ( /obj/effect/decal/cleanable/robot_debris/old, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Ci" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Ct" = ( /obj/machinery/conveyor/auto{ dir = 6 @@ -893,7 +881,7 @@ /obj/structure/sign/warning/vacuum/directional/north, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Cv" = ( /obj/structure/chair/office{ dir = 8 @@ -901,23 +889,19 @@ /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-157" }, -/area/virtual_domain/powered) +/area/virtual_domain) "CQ" = ( /obj/effect/spawner/random/trash/botanical_waste, /obj/item/trash/chips, /obj/structure/closet/secure_closet/freezer/empty/open, /turf/open/floor/iron, -/area/virtual_domain/powered) -"CR" = ( -/obj/structure/flora/rock/pile/style_random, -/turf/open/misc/asteroid/airless, -/area/virtual_domain/powered) +/area/virtual_domain) "CX" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Dr" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -926,37 +910,37 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "DA" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "DE" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "DP" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/food_or_drink/snack, /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "Ex" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-137" }, -/area/virtual_domain/powered) +/area/virtual_domain) "Ez" = ( /obj/structure/flora/rock/style_random, /turf/open/misc/asteroid/airless, -/area/space) +/area/virtual_domain) "EI" = ( /obj/effect/turf_decal/stripes{ dir = 8 }, /obj/effect/decal/cleanable/oil, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "EJ" = ( /obj/machinery/recycler/deathtrap{ dir = 8 @@ -966,23 +950,23 @@ }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Fa" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/maint, /obj/effect/turf_decal/delivery, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Ff" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Fo" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "Fw" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/rock/pile/style_random, @@ -990,34 +974,31 @@ /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/grass, -/area/virtual_domain/powered) +/area/virtual_domain) "FK" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron, -/area/virtual_domain/powered) -"FO" = ( -/turf/open/misc/asteroid/airless, -/area/virtual_domain/powered) +/area/virtual_domain) "FP" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-110" }, -/area/virtual_domain/powered) +/area/virtual_domain) "Gb" = ( /obj/effect/turf_decal/stripes{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Ge" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-21" }, -/area/virtual_domain/powered) +/area/virtual_domain) "Gh" = ( /obj/machinery/door/airlock/maintenance, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Gi" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 @@ -1025,7 +1006,7 @@ /obj/effect/turf_decal/trimline/yellow/corner, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Gs" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1034,7 +1015,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Gy" = ( /obj/machinery/conveyor/auto{ dir = 9; @@ -1044,11 +1025,11 @@ /obj/effect/turf_decal/stripes/line, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "GI" = ( /obj/effect/turf_decal/trimline/yellow/arrow_ccw, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "GV" = ( /obj/machinery/light/small/red/dim{ dir = 8 @@ -1058,52 +1039,52 @@ }, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Hn" = ( /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "Ib" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 }, /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain) "Ip" = ( /obj/machinery/door/airlock/engineering/glass, /obj/effect/mapping_helpers/airlock/access/any/away/supply, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Is" = ( /obj/machinery/door/airlock/engineering/glass, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "IF" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "IK" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "IZ" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /obj/structure/closet/crate, /turf/open/chasm, -/area/virtual_domain/powered) +/area/virtual_domain) "Jl" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Jm" = ( /obj/machinery/light/dim, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Jn" = ( /obj/effect/turf_decal/stripes{ dir = 4 @@ -1111,55 +1092,55 @@ /obj/structure/disposalpipe/segment, /obj/structure/sign/warning/doors/directional/east, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Jq" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "JE" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/structure/sign/warning/chem_diamond/directional/west, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "JR" = ( /turf/template_noop, -/area/virtual_domain/safehouse) +/area/virtual_domain) "JT" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /obj/effect/spawner/random/trash/grime, /turf/open/chasm, -/area/virtual_domain/powered) +/area/virtual_domain) "Kb" = ( /obj/effect/mob_spawn/corpse/human/factory/guard, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Kt" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "KX" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /turf/open/chasm, -/area/virtual_domain/powered) +/area/virtual_domain) "Ln" = ( /obj/structure/disposalpipe/broken{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Lp" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "LN" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -1171,7 +1152,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "LU" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 6 @@ -1179,12 +1160,13 @@ /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, +/obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Mc" = ( /obj/effect/turf_decal/trimline/yellow/warning, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Mh" = ( /obj/machinery/conveyor/auto{ dir = 8 @@ -1193,14 +1175,11 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Mi" = ( /obj/effect/mob_spawn/corpse/human/factory, /turf/open/floor/plating, -/area/virtual_domain/powered) -"Mj" = ( -/turf/closed/mineral, -/area/virtual_domain/powered) +/area/virtual_domain) "Mu" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -1209,14 +1188,14 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Mx" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, /obj/structure/filingcabinet, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "My" = ( /obj/machinery/conveyor/auto{ dir = 1 @@ -1225,12 +1204,12 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "MI" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-74" }, -/area/virtual_domain/powered) +/area/virtual_domain) "MN" = ( /obj/effect/turf_decal/tile/dark, /obj/effect/decal/cleanable/dirt, @@ -1238,57 +1217,57 @@ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Nc" = ( /obj/structure/chair/plastic{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Nu" = ( /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "NW" = ( /obj/effect/decal/cleanable/dirt, /mob/living/basic/hivebot/strong, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Ok" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "On" = ( /obj/machinery/light/broken{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "OJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "OL" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "OQ" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/orange, -/area/virtual_domain/powered) +/area/virtual_domain) "OR" = ( /obj/machinery/light/broken, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Po" = ( /obj/machinery/light/small/red/dim{ dir = 4 @@ -1296,7 +1275,7 @@ /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Pr" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 5 @@ -1306,7 +1285,7 @@ }, /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Qd" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 @@ -1318,29 +1297,29 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Qh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/broken{ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Qj" = ( /obj/machinery/light/dim{ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Qo" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, -/area/virtual_domain/safehouse) +/area/virtual_domain) "Qr" = ( /turf/closed/indestructible/fakedoor/maintenance{ name = "maintenance access" }, -/area/virtual_domain/powered) +/area/virtual_domain) "Qv" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -1352,7 +1331,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Qy" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -1361,39 +1340,39 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "QI" = ( /obj/structure/sign/calendar/directional/north, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "QK" = ( /obj/structure/table, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "QN" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "QP" = ( /obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "QW" = ( /obj/machinery/conveyor/auto{ dir = 5 }, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Ru" = ( /obj/machinery/door/airlock/external/glass/ruin, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Ry" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -1403,14 +1382,21 @@ }, /obj/machinery/disposal/bin, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "RJ" = ( /turf/closed/indestructible/binary, -/area/virtual_domain/powered) +/area/virtual_domain) "RK" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) +"RU" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/plating, +/area/virtual_domain) "RZ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -1419,7 +1405,7 @@ dir = 6 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Sg" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1428,7 +1414,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Sl" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -1437,50 +1423,42 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) -"SC" = ( -/mob/living/basic/hivebot/strong, -/turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "SR" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/decal/cleanable/glass, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "SS" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/mineral, -/area/virtual_domain/powered) +/area/virtual_domain) "SU" = ( /obj/effect/spawner/structure/window, /obj/item/stack/rods/two, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "SZ" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Te" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 5 }, /obj/effect/mob_spawn/corpse/human/factory/qm, /turf/open/floor/iron, -/area/virtual_domain/powered) -"Tn" = ( -/mob/living/basic/hivebot, -/turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Tp" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 4; id = "factorylockdown" }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Tt" = ( /obj/machinery/conveyor/auto{ dir = 9 @@ -1489,20 +1467,20 @@ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Ue" = ( /obj/structure/table/reinforced, /obj/machinery/light/small/red/dim{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Uw" = ( /obj/machinery/light/dim{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "UV" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1511,18 +1489,18 @@ dir = 6 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "UX" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/machinery/light/small/red/dim, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "UY" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Vb" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -1532,7 +1510,7 @@ }, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Vg" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1542,47 +1520,47 @@ }, /obj/machinery/light/small/red/dim, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Vh" = ( /obj/structure/table/reinforced, /turf/open/floor/iron/cafeteria, -/area/virtual_domain/powered) +/area/virtual_domain) "VA" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/structure/table, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "VL" = ( /obj/structure/sign/warning/secure_area/directional/south, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "VO" = ( /obj/machinery/light/broken{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Wd" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /obj/structure/railing, /turf/open/chasm, -/area/virtual_domain/powered) +/area/virtual_domain) "Wp" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "WT" = ( /obj/effect/turf_decal/stripes{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "WV" = ( /obj/machinery/conveyor/auto{ dir = 10; @@ -1593,32 +1571,32 @@ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Xb" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, -/area/virtual_domain/powered) +/area/virtual_domain) "Xc" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Xm" = ( /obj/item/gun/ballistic/shotgun/lethal, /obj/machinery/light/broken{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Xo" = ( /obj/machinery/conveyor/auto{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Xw" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1627,7 +1605,7 @@ dir = 10 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "XL" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 5 @@ -1637,19 +1615,19 @@ }, /obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "XN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "XO" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "XQ" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -1658,18 +1636,18 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "XR" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Yc" = ( /obj/item/gun/ballistic/revolver, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Ym" = ( /mob/living/simple_animal/pet/cat/space, /obj/structure/bed/dogbed{ @@ -1680,61 +1658,61 @@ pixel_y = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Yt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Yz" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/poddoor/shutters/indestructible{ id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "YF" = ( /obj/machinery/light/small/red/dim, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "YL" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "YP" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, /obj/machinery/light/dim, /turf/open/floor/iron, -/area/virtual_domain/powered) +/area/virtual_domain) "Zb" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "Zg" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-157" }, -/area/virtual_domain/powered) +/area/virtual_domain) "Zy" = ( /obj/structure/table, /obj/item/flashlight/lantern, /turf/open/floor/plating, -/area/virtual_domain/powered) +/area/virtual_domain) "ZI" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-203" }, -/area/virtual_domain/powered) +/area/virtual_domain) "ZP" = ( /obj/structure/railing, /turf/open/floor/iron/stairs/right{ dir = 8 }, -/area/virtual_domain/powered) +/area/virtual_domain) (1,1,1) = {" yQ @@ -1814,8 +1792,8 @@ yQ yQ yQ RJ -Mj -Mj +rO +rO eg eg SS @@ -1823,8 +1801,8 @@ eg eg eg Xb -Mj -Mj +rO +rO RJ yQ yQ @@ -1864,7 +1842,7 @@ yQ yQ yQ RJ -Mj +rO Bx SZ Ue @@ -1874,7 +1852,7 @@ eg OQ bs Ib -Mj +rO RJ RJ RJ @@ -1927,7 +1905,7 @@ zp eY RJ RJ -Mj +rO RJ RJ rO @@ -1975,9 +1953,9 @@ fg ZP Fw eY -Mj -Mj -Mj +rO +rO +rO AU AU AU @@ -2011,7 +1989,7 @@ vA Dr bw Jq -gc +nH eg RJ eg @@ -2025,7 +2003,7 @@ hi FK eY eY -Mj +rO Ez AU aK @@ -2058,7 +2036,7 @@ yQ RJ eg jQ -lt +lW kU vU lN @@ -2074,8 +2052,8 @@ tr hi Ln eY -Mj -Mj +rO +rO AU AU BN @@ -2109,8 +2087,8 @@ RJ eg kU gj +eb kU -Tn OR eg RJ @@ -2408,7 +2386,7 @@ AP KX JT Wd -qk +RU DA DA zE @@ -2456,14 +2434,14 @@ jS gj rJ KX -Aw +KX Wd Ff lN XO gj DE -SC +kU tl qk mu @@ -2489,10 +2467,10 @@ RJ (16,1,1) = {" yQ RJ -Mj -Mj -Mj -Mj +rO +rO +rO +rO RJ eg eg @@ -2539,12 +2517,12 @@ RJ (17,1,1) = {" yQ RJ -Mj +rO BN AU -Mj -Mj -Mj +rO +rO +rO eg QW My @@ -2709,7 +2687,7 @@ eg kn kU kU -kU +eb kU Fa kU @@ -2744,7 +2722,7 @@ aK aK aK Av -CR +BN tr kU ei @@ -2759,9 +2737,9 @@ eg rc mu rM -gc +nH +vQ vQ -tE mu mu eg @@ -2794,7 +2772,7 @@ aK aK aK aK -FO +AU eg eg wg @@ -2813,7 +2791,7 @@ kU On pi kU -Mj +rO eg wm xA @@ -2844,12 +2822,12 @@ aK aK aK AU -FO -Mj +AU +rO eg eg -Mj -Mj +rO +rO eY eY kU @@ -2860,10 +2838,10 @@ eg eg eg eg -Mj -Mj -Mj -Mj +rO +rO +rO +rO eg RZ vQ @@ -2894,11 +2872,11 @@ aK aK AU Ez -Mj -Mj +rO +rO RJ -Mj -Mj +rO +rO Kb hi eY @@ -2911,7 +2889,7 @@ Qd jv fR cB -Mj +rO RJ RJ eg @@ -2923,10 +2901,10 @@ YL eg bq hi -Mj +rO eY -Mj -Mj +rO +rO AU AU aK @@ -2943,8 +2921,8 @@ aK AU BN AU -Mj -Mj +rO +rO RJ RJ eY @@ -2965,25 +2943,25 @@ eg RJ RJ eg -Mj -Mj +rO +rO eg eg eg eg eg -Mj -Mj +rO +rO RJ RJ -Mj -Mj -Mj +rO +rO +rO RJ RJ -Mj -Mj -Mj +rO +rO +rO RJ "} (26,1,1) = {" @@ -2993,7 +2971,7 @@ RJ RJ RJ rO -Mj +rO RJ RJ RJ @@ -3211,7 +3189,7 @@ LN xM Qv LU -Mj +rO RJ yQ yQ @@ -3259,9 +3237,9 @@ eg eg eg eg -Mj -Mj -Mj +rO +rO +rO RJ yQ yQ @@ -3351,7 +3329,7 @@ yQ yQ yQ RJ -Mj +rO CX hi Nu @@ -3401,7 +3379,7 @@ yQ yQ yQ RJ -Mj +rO CX RJ Lp diff --git a/_maps/virtual_domains/pirates.dmm b/_maps/virtual_domains/pirates.dmm index 5356f53d1932..2231afbc80bd 100644 --- a/_maps/virtual_domains/pirates.dmm +++ b/_maps/virtual_domains/pirates.dmm @@ -3,13 +3,13 @@ /obj/effect/mapping_helpers/burnt_floor, /obj/effect/decal/cleanable/garbage, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "by" = ( /obj/effect/turf_decal/weather/sand{ dir = 5 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bz" = ( /obj/structure/flora/bush/grassy{ pixel_y = 8 @@ -18,24 +18,24 @@ pixel_y = -10 }, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "bP" = ( /obj/structure/flora/bush/flowers_br/style_random, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "cl" = ( /obj/structure/flora/rock/style_3, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ct" = ( /obj/structure/closet/cabinet, /obj/item/clothing/head/costume/pirate/armored, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "cx" = ( /turf/closed/indestructible/binary, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "cJ" = ( /obj/item/stack/cannonball/shellball{ pixel_x = 13; @@ -47,7 +47,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "cQ" = ( /obj/structure/flora/grass/jungle/b{ pixel_x = -15; @@ -58,53 +58,53 @@ pixel_y = -1 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "dp" = ( /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "dA" = ( /obj/structure/bonfire/prelit, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "eb" = ( /obj/structure/flora/bush/sparsegrass, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "eD" = ( /obj/structure/flora/tree/palm/style_2, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "eQ" = ( /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "eW" = ( /obj/effect/turf_decal/weather/sand{ dir = 6 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "fx" = ( /obj/structure/fluff/beach_umbrella{ pixel_x = -7; pixel_y = -10 }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "gk" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "gw" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ht" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "hH" = ( /obj/item/clothing/suit/armor/militia{ pixel_x = -5; @@ -135,18 +135,18 @@ }, /obj/structure/closet/cabinet, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "hM" = ( /obj/structure/closet/crate/goldcrate, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "hW" = ( /obj/structure/chair/comfy/carp{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "iM" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -154,13 +154,13 @@ /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/pirate/ranged/space, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "iO" = ( /obj/effect/turf_decal/weather/sand{ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jl" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -179,13 +179,13 @@ pixel_x = -5 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jz" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jB" = ( /obj/effect/turf_decal/weather/sand{ dir = 4 @@ -195,7 +195,7 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "jC" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -216,19 +216,19 @@ pixel_y = 7 }, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "jQ" = ( /obj/item/gun/energy/laser/hellgun{ pixel_y = 10 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "kg" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "kl" = ( /obj/structure/cannon, /obj/effect/turf_decal/siding/wood, @@ -237,7 +237,7 @@ pixel_x = 8 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "lC" = ( /obj/item/stack/cannonball{ pixel_x = 7; @@ -252,61 +252,61 @@ }, /obj/effect/decal/cleanable/oil/streak, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "me" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "mw" = ( /obj/structure/flora/grass/jungle/b/style_random{ pixel_x = -13; pixel_y = 18 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "mP" = ( /obj/structure/flora/bush/fullgrass, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "nz" = ( /obj/effect/mob_spawn/corpse/human/pirate, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "nQ" = ( /obj/machinery/loot_locator, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "nS" = ( /obj/structure/flora/rock/pile/jungle/large, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "nX" = ( /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/pirate/melee/space, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "oo" = ( /obj/machinery/smartfridge/drying_rack, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "pq" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "px" = ( /obj/structure/headpike/bone{ pixel_y = 24 }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "pU" = ( /obj/effect/mob_spawn/corpse/human/pirate, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qj" = ( /obj/structure/barricade/wooden, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qm" = ( /obj/effect/turf_decal/siding/wood, /obj/item/melee/sabre{ @@ -316,7 +316,7 @@ /obj/item/gun/energy/laser/retro, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qx" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -325,13 +325,13 @@ /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/pirate/ranged, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qN" = ( /obj/structure/flora/bush/sunny/style_3{ pixel_y = 22 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "qX" = ( /obj/effect/turf_decal/weather/sand{ dir = 9 @@ -344,31 +344,31 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "sn" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/ordnance, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "so" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "th" = ( /obj/effect/turf_decal/weather/sand, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "tk" = ( /obj/structure/flora/bush/flowers_pp, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "to" = ( /mob/living/simple_animal/hostile/pirate/melee, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ub" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -380,34 +380,34 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "uM" = ( /obj/structure/flora/bush/stalky{ pixel_y = 13; pixel_x = -8 }, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "uT" = ( /obj/structure/closet/crate/grave, /obj/structure/flora/grass/jungle/b, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "wb" = ( /obj/structure/flora/rock, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "we" = ( /obj/effect/mine/explosive/light, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xg" = ( /turf/template_noop, /area/template_noop) "xm" = ( /obj/structure/barricade/wooden/crude, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xB" = ( /obj/structure/fermenting_barrel/gunpowder{ pixel_x = -4; @@ -424,33 +424,33 @@ pixel_y = -10 }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xC" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, /obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "xI" = ( /obj/structure/flora/rock/pile/style_2, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yc" = ( /obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ye" = ( /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yi" = ( /mob/living/simple_animal/hostile/pirate/melee, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yq" = ( /obj/structure/barricade/sandbags, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "yw" = ( /obj/effect/mapping_helpers/burnt_floor, /mob/living/simple_animal/hostile/pirate/ranged, @@ -458,21 +458,25 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) +"yz" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/wall/mineral/wood/nonmetal, +/area/virtual_domain) "yA" = ( /obj/item/bedsheet/rainbow/double, /obj/structure/bed/double, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "zf" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/flora/bush/ferny, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "zg" = ( /obj/structure/flora/rock/pile/style_3, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "zR" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -481,27 +485,30 @@ /obj/effect/turf_decal/weather/dirt, /obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "AU" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) +"Bf" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/virtual_domain) "BC" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "BO" = ( /obj/structure/bookcase/random/adult, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "Cc" = ( /obj/structure/flora/tree/palm, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Dm" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table/wood, @@ -515,7 +522,7 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "DJ" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/bed/maint{ @@ -524,11 +531,14 @@ }, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "DL" = ( /obj/structure/flora/bush/sunny, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) +"Eg" = ( +/turf/template_noop, +/area/virtual_domain/fullbright) "ED" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/weather/sand{ @@ -538,7 +548,7 @@ dir = 9 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "EZ" = ( /obj/effect/turf_decal/weather/sand{ dir = 9 @@ -546,7 +556,7 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "FG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/claymore/cutlass, @@ -561,15 +571,15 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "FT" = ( /turf/closed/mineral/random/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "GF" = ( /obj/effect/turf_decal/weather/dirt, /obj/structure/flora/rock/pile, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "GG" = ( /obj/structure/barricade/sandbags, /obj/effect/turf_decal/weather/sand{ @@ -582,33 +592,33 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Hp" = ( /obj/effect/turf_decal/siding/wood, /mob/living/simple_animal/hostile/pirate/ranged, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "It" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/lavendergrass, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Iz" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/bed/maint, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "IF" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 }, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "IG" = ( /obj/effect/mob_spawn/corpse/human/pirate, /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "IM" = ( /obj/effect/turf_decal/weather/sand{ dir = 10 @@ -616,24 +626,24 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Jo" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Jr" = ( /obj/structure/headpike/bone, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Jv" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "JT" = ( /obj/effect/decal/cleanable/ants, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Kb" = ( /obj/structure/railing{ color = "#4C3117"; @@ -644,23 +654,23 @@ dir = 1 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Kl" = ( /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Kw" = ( /obj/machinery/door/airlock/vault{ color = "#825427"; name = "Ye Olde Strong Door" }, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "KC" = ( /obj/effect/turf_decal/weather/dirt{ dir = 5 }, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "KG" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -676,19 +686,19 @@ pixel_y = -3 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "KQ" = ( /obj/structure/flora/rock/style_2, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ld" = ( /obj/structure/flora/rock/pile, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Ma" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Mi" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -696,28 +706,28 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "MW" = ( /obj/effect/turf_decal/weather/sand{ dir = 5 }, /obj/effect/decal/cleanable/glass, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Nh" = ( /obj/structure/flora/rock/pile/jungle/style_3{ pixel_x = -15; pixel_y = -4 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Nk" = ( /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Nz" = ( /obj/structure/flora/bush/jungle, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "NI" = ( /obj/structure/railing{ color = "#4C3117"; @@ -727,17 +737,17 @@ dir = 9 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ON" = ( /obj/structure/filingcabinet{ pixel_x = 11 }, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "OP" = ( /obj/structure/flora/bush/stalky, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Pq" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -749,24 +759,24 @@ pixel_y = 13 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Pz" = ( /obj/structure/table/wood, /mob/living/simple_animal/parrot{ name = "pepper" }, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "PQ" = ( /obj/structure/flora/grass/jungle/b, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Qb" = ( /obj/structure/flora/rock{ pixel_x = 7 }, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Rr" = ( /obj/structure/bed/maint{ pixel_x = -5; @@ -776,18 +786,18 @@ dir = 6 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "RR" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Sm" = ( /obj/structure/flora/tree/jungle, /obj/structure/flora/bush/fullgrass/style_random, /turf/open/misc/grass, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "St" = ( /obj/structure/table/wood, /obj/item/melee/energy/sword/pirate{ @@ -802,7 +812,7 @@ }, /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "Tt" = ( /obj/structure/cannon{ dir = 1 @@ -811,7 +821,7 @@ dir = 1 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "TO" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -819,13 +829,13 @@ /obj/machinery/light/small/directional/south, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/carpet/blue, -/area/virtual_domain/powered) +/area/virtual_domain) "TP" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 }, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "TQ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt/dust, @@ -836,11 +846,11 @@ /obj/effect/decal/cleanable/cobweb, /obj/item/toy/plush/beeplushie, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Uy" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "UE" = ( /obj/structure/barricade/sandbags, /obj/effect/turf_decal/weather/sand{ @@ -849,25 +859,25 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Vg" = ( /obj/effect/mob_spawn/corpse/human/pirate/melee, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Vk" = ( /obj/structure/barricade/sandbags, /obj/effect/turf_decal/weather/sand, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "VC" = ( /obj/effect/mob_spawn/corpse/human/damaged, /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "VF" = ( /turf/open/water/beach, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "VX" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/rack{ @@ -879,14 +889,14 @@ pixel_y = 13 }, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "WM" = ( /obj/structure/flora/rock/pile/jungle/style_2, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "WP" = ( /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "Xn" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, @@ -898,25 +908,25 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Yj" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/beach/sand, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "Yk" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/parquet, -/area/virtual_domain/powered) +/area/virtual_domain) "Yq" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 }, /turf/open/floor/wood, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) "ZZ" = ( /obj/structure/flora/grass/jungle, /turf/open/misc/dirt/jungle, -/area/virtual_domain/powered) +/area/virtual_domain/fullbright) (1,1,1) = {" xg @@ -1492,12 +1502,12 @@ cx "} (14,1,1) = {" cx -dp -dp -dp -dp -dp -dp +Bf +Bf +Bf +Bf +Bf +yz oo Kl Kl @@ -1536,12 +1546,12 @@ cx "} (15,1,1) = {" cx -dp +Bf BO ht VX ct -dp +Bf yi Kl dA @@ -1580,7 +1590,7 @@ cx "} (16,1,1) = {" cx -dp +Bf ON WP nX @@ -1624,12 +1634,12 @@ cx "} (17,1,1) = {" cx -dp +Bf jC iM so TO -dp +Bf Kl Kl EZ @@ -1668,12 +1678,12 @@ cx "} (18,1,1) = {" cx -dp +Bf sn hW eQ gk -dp +Bf dp qX gw @@ -1712,12 +1722,12 @@ cx "} (19,1,1) = {" cx -dp +Bf St Pz nQ yA -dp +Bf dp Dm jz @@ -1756,12 +1766,12 @@ cx "} (20,1,1) = {" cx -dp -dp -dp -dp -dp -dp +Bf +Bf +Bf +Bf +Bf +Bf xm FG RR @@ -2067,7 +2077,7 @@ xg xg xg xg -xg +Eg cx FT FT diff --git a/_maps/virtual_domains/syndicate_assault.dmm b/_maps/virtual_domains/syndicate_assault.dmm index ea3cebaedd1e..9559aa367c57 100644 --- a/_maps/virtual_domains/syndicate_assault.dmm +++ b/_maps/virtual_domains/syndicate_assault.dmm @@ -5,11 +5,11 @@ /turf/open/floor/plastic, /area/ruin/space/has_grav/powered/virtual_domain) "aw" = ( -/obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) "aN" = ( @@ -31,28 +31,9 @@ /obj/machinery/recharge_station, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"aZ" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/mob/living/basic/syndicate/ranged/shotgun/space/stormtrooper, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "bh" = ( /turf/open/floor/carpet/royalblack, /area/ruin/space/has_grav/powered/virtual_domain) -"bo" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "bD" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -173,6 +154,10 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"ee" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "eB" = ( /obj/machinery/camera/xray{ c_tag = "Cargo pod"; @@ -204,12 +189,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"fM" = ( -/obj/machinery/computer/crew/syndie{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) "fV" = ( /obj/machinery/atmospherics/components/unary/vent_pump, /turf/open/floor/mineral/plastitanium/red, @@ -241,7 +220,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) "ip" = ( -/mob/living/basic/syndicate/melee/sword/space/stormtrooper, +/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/plastic, /area/ruin/space/has_grav/powered/virtual_domain) "iB" = ( @@ -279,7 +258,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, -/mob/living/basic/syndicate/ranged/smg/space/stormtrooper, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) "ja" = ( @@ -296,11 +274,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"jA" = ( -/obj/structure/cable, -/mob/living/basic/syndicate/melee/space/stormtrooper, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "jJ" = ( /obj/machinery/door/airlock/grunge{ name = "Syndicate Ship Airlock" @@ -416,10 +389,6 @@ /obj/structure/cable, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"oZ" = ( -/mob/living/basic/syndicate/melee/sword/space/stormtrooper, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) "pl" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -473,6 +442,7 @@ /area/ruin/space/has_grav/powered/virtual_domain) "qY" = ( /obj/machinery/light/small/directional/south, +/obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/powered/virtual_domain) "rm" = ( @@ -629,12 +599,6 @@ /obj/item/ammo_box/c9mm, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) -"xZ" = ( -/obj/machinery/computer/camera_advanced/syndie{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) "yl" = ( /obj/machinery/door/airlock/grunge{ name = "Captain's Room" @@ -647,10 +611,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) -"yD" = ( -/mob/living/basic/syndicate/ranged/smg/space/stormtrooper, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "yJ" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, @@ -695,13 +655,6 @@ /obj/structure/chair/comfy/shuttle, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"AN" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/mob/living/basic/syndicate/ranged/smg/space/stormtrooper, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "Bm" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/syndicate, @@ -741,13 +694,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"CK" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/mob/living/basic/syndicate/ranged/smg/pilot, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) "CR" = ( /obj/structure/closet/syndicate{ anchored = 1; @@ -794,10 +740,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) -"EX" = ( -/mob/living/basic/syndicate/ranged/shotgun/space/stormtrooper, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "Fp" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/mineral/plastitanium, @@ -870,6 +812,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 9 }, +/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) "Ig" = ( @@ -1016,11 +959,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/pod/dark, /area/ruin/space/has_grav/powered/virtual_domain) -"Nt" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/components/unary/vent_pump, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "Of" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") @@ -1083,10 +1021,6 @@ /obj/structure/tank_dispenser/oxygen, /turf/closed/mineral/random, /area/space) -"QX" = ( -/mob/living/basic/syndicate/ranged/space/stormtrooper, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "Ra" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, /obj/machinery/light/small/directional/north, @@ -2023,14 +1957,14 @@ ru Sv vD uP -uP +Io Yj vD uP Wy DA +Io uP -QX vD cc ru @@ -2080,7 +2014,7 @@ ru Io uP uP -QX +ee lN uP uP @@ -2089,9 +2023,9 @@ uP uP lN uP +ee uP -uP -uP +Io hA qx qx @@ -2262,8 +2196,8 @@ sz Kz ru Mc -gD -yD +uP +uP uP rP ru @@ -2312,7 +2246,7 @@ ru sH Kz yl -oZ +bh bh Yk pS @@ -2321,7 +2255,7 @@ Jz vK uP uP -uP +Io sL hy ru @@ -2379,7 +2313,7 @@ pM vK uP uP -EX +ee sL Im ru @@ -2436,7 +2370,7 @@ JN MR ru Sd -gD +uP uP uP gD @@ -2894,7 +2828,7 @@ dw ru rH uP -AN +JA JA iX JA @@ -2960,7 +2894,7 @@ hD OI oM GB -jA +oM oM dU BK @@ -3009,13 +2943,13 @@ uP uP dd uP -Aa -hD -Nt +uP +uP +Ox aw -hD -hD -bo +uP +uP +uP uP dd uP @@ -3069,9 +3003,9 @@ ru XS uP uP -hD -aZ -hD +uP +FN +uP uP uP Cf @@ -3415,13 +3349,13 @@ Kz dz sq Kz -CK +vU Kz vU mo vU Kz -CK +vU Kz ja Kz @@ -3473,14 +3407,14 @@ ru Kz ru Kz -pz Kz -xZ Kz -fM +pz Kz kI Kz +Kz +Kz ru Mm ru @@ -3538,7 +3472,7 @@ Kz Kz Kz Kz -Kz +dz ru ru ru diff --git a/_maps/virtual_domains/test_only.dmm b/_maps/virtual_domains/test_only.dmm index 22b647188b6e..1fc9cfba0fd5 100644 --- a/_maps/virtual_domains/test_only.dmm +++ b/_maps/virtual_domains/test_only.dmm @@ -1,15 +1,15 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/open/floor, -/area/virtual_domain/powered) +/area/virtual_domain) "D" = ( /obj/effect/mob_spawn/corpse/human/miner, /turf/open/floor, -/area/virtual_domain/powered) +/area/virtual_domain) "I" = ( /mob/living/basic/pet/dog/corgi, /turf/open/floor, -/area/virtual_domain/powered) +/area/virtual_domain) "U" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/open/floor, diff --git a/_maps/virtual_domains/xeno_nest.dmm b/_maps/virtual_domains/xeno_nest.dmm index fcbd7cc116c9..34ec6209621c 100644 --- a/_maps/virtual_domains/xeno_nest.dmm +++ b/_maps/virtual_domains/xeno_nest.dmm @@ -2,6 +2,11 @@ "a" = ( /turf/template_noop, /area/template_noop) +"b" = ( +/obj/structure/alien/weeds/node, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/space/has_grav/powered/virtual_domain) "c" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, @@ -22,11 +27,6 @@ /obj/effect/decal/cleanable/blood, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/space/has_grav/powered/virtual_domain) -"h" = ( -/obj/structure/alien/weeds, -/mob/living/simple_animal/hostile/alien/sentinel, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) "i" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -246,12 +246,9 @@ /obj/structure/alien/egg/burst, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/space/has_grav/powered/virtual_domain) -"Y" = ( +"X" = ( /obj/structure/alien/weeds, -/obj/effect/decal/cleanable/blood, -/mob/living/simple_animal/hostile/alien/drone{ - plants_off = 1 - }, +/obj/effect/landmark/bitrunning/mob_segment, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/space/has_grav/powered/virtual_domain) "Z" = ( @@ -477,7 +474,7 @@ a E z e -e +X m K J @@ -518,13 +515,13 @@ a E z W -h +e e e e B o -e +K z E a @@ -564,7 +561,7 @@ z e V e -h +e W z E @@ -683,12 +680,12 @@ E z z e -h e e -h e e +X +e z E a @@ -786,8 +783,8 @@ z z W o -Y -e +B +K z E a @@ -826,7 +823,7 @@ E z I e -V +b e W z @@ -973,7 +970,7 @@ E z e e -p +e z z z @@ -1130,7 +1127,7 @@ E E G t -S +X e z z @@ -1260,7 +1257,7 @@ E E E z -p +e z z E @@ -1383,7 +1380,7 @@ z z T e -e +X V W z @@ -1423,7 +1420,7 @@ E z N f -S +e e W I @@ -1873,8 +1870,8 @@ E E z I -p e +X e e e diff --git a/code/__DEFINES/ai/monsters.dm b/code/__DEFINES/ai/monsters.dm index 4915ff9cbc86..88c0c95801f8 100644 --- a/code/__DEFINES/ai/monsters.dm +++ b/code/__DEFINES/ai/monsters.dm @@ -119,3 +119,7 @@ #define BB_ORE_TARGET "BB_ore_target" /// which ore types we will not eat #define BB_ORE_IGNORE_TYPES "BB_ore_ignore_types" + +//netguardians +/// rocket launcher +#define BB_NETGUARDIAN_ROCKET_ABILITY "netguardian_rocket" diff --git a/code/__DEFINES/alerts.dm b/code/__DEFINES/alerts.dm index 3cc79764f77e..5c235c916d6f 100644 --- a/code/__DEFINES/alerts.dm +++ b/code/__DEFINES/alerts.dm @@ -67,5 +67,6 @@ #define ALERT_BITRUNNER_INTEGRITY "bitrunning_integrity" #define ALERT_BITRUNNER_SHUTDOWN "bitrunning_shutdown" #define ALERT_BITRUNNER_RESET "bitrunning_reset" -#define ALERT_BITRUNNER_SPAWN_CYBERCOP "bitrunning_spawn_cybercop" #define ALERT_BITRUNNER_THREAT "bitrunning_threat" +#define ALERT_BITRUNNER_BREACH "bitrunning_breach" +#define ALERT_BITRUNNER_GLITCH "bitrunning_glitch" diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 20cf43b164a5..2b05f874be68 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -316,8 +316,8 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list( #define ANTAG_GROUP_ASHWALKERS "Ash Walkers" #define ANTAG_GROUP_BIOHAZARDS "Biohazards" #define ANTAG_GROUP_CLOWNOPS "Clown Operatives" -#define ANTAG_GROUP_CYBERAUTH "Cyber Authority" #define ANTAG_GROUP_ERT "Emergency Response Team" +#define ANTAG_GROUP_GLITCH "Digital Anomalies" #define ANTAG_GROUP_HORRORS "Eldritch Horrors" #define ANTAG_GROUP_LEVIATHANS "Spaceborne Leviathans" #define ANTAG_GROUP_NINJAS "Ninja Clan" diff --git a/code/__DEFINES/bitrunning.dm b/code/__DEFINES/bitrunning.dm index 343801c477e9..bdb02b4d7922 100644 --- a/code/__DEFINES/bitrunning.dm +++ b/code/__DEFINES/bitrunning.dm @@ -4,17 +4,22 @@ #define BITRUNNER_COST_HIGH 3 #define BITRUNNER_COST_EXTREME 20 +/// Yay you did it #define BITRUNNER_REWARD_MIN 1 +/// You faced some decent odds #define BITRUNNER_REWARD_LOW 3 +/// One of your teammates might've died #define BITRUNNER_REWARD_MEDIUM 4 +/// Heroic effort #define BITRUNNER_REWARD_HIGH 5 +/// For the priciest domains, free loot basically #define BITRUNNER_REWARD_EXTREME 6 -/// Blue in ui +/// Blue in ui. Basically the only threat is rogue ghosts roles #define BITRUNNER_DIFFICULTY_NONE 0 -/// Yellow +/// Yellow. Mobs are kinda dumb and largely avoidable #define BITRUNNER_DIFFICULTY_LOW 1 -/// Orange +/// Orange. Mobs will shoot at you or are pretty aggressive #define BITRUNNER_DIFFICULTY_MEDIUM 2 -/// Red with skull +/// Red with skull. I am trying to kill bitrunners. #define BITRUNNER_DIFFICULTY_HIGH 3 diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index 11828510f341..2baa0a634e2b 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -234,6 +234,8 @@ #define LIGHT_COLOR_TUNGSTEN "#FFD6AA" /// Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250) #define LIGHT_COLOR_HALOGEN "#F0FAFA" +/// Nearly red. rgb(226, 78, 118) +#define LIGHT_COLOR_BUBBLEGUM "#e24e76" //The GAGS greyscale_colors for each department's computer/machine circuits #define CIRCUIT_COLOR_GENERIC "#1A7A13" diff --git a/code/__DEFINES/dcs/signals/signals_bitrunning.dm b/code/__DEFINES/dcs/signals/signals_bitrunning.dm index 3bca73db596b..74d418182d59 100644 --- a/code/__DEFINES/dcs/signals/signals_bitrunning.dm +++ b/code/__DEFINES/dcs/signals/signals_bitrunning.dm @@ -44,7 +44,3 @@ // Ladder /// from /obj/structure/hololadder/disconnect() #define COMSIG_BITRUNNER_LADDER_SEVER "bitrunner_ladder_sever" - - -/// deprecated -#define COMSIG_BITRUNNER_SPAWN_GLITCH "bitrunner_spawn_glitch" diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index af75661790d2..ef6088f19ac1 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -24,7 +24,6 @@ #define ROLE_BLOB "Blob" #define ROLE_BLOB_INFECTION "Blob Infection" #define ROLE_CHANGELING_MIDROUND "Changeling (Midround)" -#define ROLE_CYBER_POLICE "Cyber Police" #define ROLE_FUGITIVE "Fugitive" #define ROLE_LONE_OPERATIVE "Lone Operative" #define ROLE_MALF_MIDROUND "Malf AI (Midround)" @@ -108,6 +107,11 @@ #define ROLE_SYNDICATE_DRONE "Syndicate Drone" #define ROLE_VENUSHUMANTRAP "Venus Human Trap" +// Virtual dom related +#define ROLE_GLITCH "Glitch" // the parent type of all vdom roles +#define ROLE_CYBER_POLICE "Cyber Police" +#define ROLE_CYBER_TAC "Cyber Tac" +#define ROLE_NETGUARDIAN "NetGuardian Prime" /// This defines the antagonists you can operate with in the settings. /// Keys are the antagonist, values are the number of days since the player's @@ -133,7 +137,6 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_BLOB = 0, ROLE_BLOB_INFECTION = 0, ROLE_CHANGELING_MIDROUND = 0, - ROLE_CYBER_POLICE = 0, ROLE_FUGITIVE = 0, ROLE_LONE_OPERATIVE = 14, ROLE_MALF_MIDROUND = 0, @@ -158,6 +161,7 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_BLOODSUCKERBREAKOUT = 0, // I'm not too sure why these are here, but they're not moving. + ROLE_GLITCH = 0, ROLE_PAI = 0, ROLE_SENTIENCE = 0, )) diff --git a/code/_globalvars/lists/poll_ignore.dm b/code/_globalvars/lists/poll_ignore.dm index 6044f54587f0..409a7003c68a 100644 --- a/code/_globalvars/lists/poll_ignore.dm +++ b/code/_globalvars/lists/poll_ignore.dm @@ -1,5 +1,6 @@ //Each lists stores ckeys for "Never for this round" option category +#define POLL_IGNORE_GLITCH "glitch" #define POLL_IGNORE_SENTIENCE_POTION "sentience_potion" #define POLL_IGNORE_POSSESSED_BLADE "possessed_blade" #define POLL_IGNORE_ALIEN_LARVA "alien_larva" @@ -29,8 +30,8 @@ #define POLL_IGNORE_SHUTTLE_DENIZENS "shuttle_denizens" #define POLL_IGNORE_BOTS "bots" - GLOBAL_LIST_INIT(poll_ignore_desc, list( + POLL_IGNORE_GLITCH = "Glitch", POLL_IGNORE_SENTIENCE_POTION = "Sentience potion", POLL_IGNORE_POSSESSED_BLADE = "Possessed blade", POLL_IGNORE_ALIEN_LARVA = "Xenomorph larva", @@ -44,7 +45,7 @@ GLOBAL_LIST_INIT(poll_ignore_desc, list( POLL_IGNORE_GOLEM = "Golems", POLL_IGNORE_DRONE = "Drone shells", POLL_IGNORE_FUGITIVE = "Fugitive Hunter", - POLL_IGNORE_DEFECTIVECLONE = "Defective clone", + POLL_IGNORE_DEFECTIVECLONE = "Defective clone", POLL_IGNORE_PYROSLIME = "Slime", POLL_IGNORE_SHADE = "Shade", POLL_IGNORE_IMAGINARYFRIEND = "Imaginary Friend", diff --git a/code/datums/id_trim/outfits.dm b/code/datums/id_trim/outfits.dm index c8f84859d98c..6483682e3494 100644 --- a/code/datums/id_trim/outfits.dm +++ b/code/datums/id_trim/outfits.dm @@ -62,7 +62,7 @@ /// Trim for cyber police in the Virtual Domain. /datum/id_trim/cyber_police - assignment = "Cyber Police" + assignment = ROLE_CYBER_POLICE trim_state = "trim_deathcommando" department_color = COLOR_BLACK subdepartment_color = COLOR_GREEN diff --git a/code/modules/bitrunning/antagonists/_parent.dm b/code/modules/bitrunning/antagonists/_parent.dm new file mode 100644 index 000000000000..4bf7fe716f4f --- /dev/null +++ b/code/modules/bitrunning/antagonists/_parent.dm @@ -0,0 +1,71 @@ +/datum/job/bitrunning_glitch + title = ROLE_GLITCH + +/datum/antagonist/bitrunning_glitch + name = "Generic Bitrunning Glitch" + antagpanel_category = ANTAG_GROUP_GLITCH + job_rank = ROLE_GLITCH + preview_outfit = /datum/outfit/cyber_police + show_in_antagpanel = FALSE + show_name_in_check_antagonists = TRUE + show_to_ghosts = TRUE + suicide_cry = "ALT F4!" + ui_name = "AntagInfoGlitch" + /// Minimum Qserver threat required to spawn this mob. This is subtracted (x/2) from the server thereafter. + var/threat = 0 + +/datum/antagonist/bitrunning_glitch/greet() + . = ..() + + owner.announce_objectives() + +/datum/antagonist/bitrunning_glitch/on_gain() + . = ..() + + forge_objectives() + owner.current.AddComponent(/datum/component/npc_friendly) + + if(iscarbon(owner.current)) + var/mob/living/carbon/carbon_mob = owner.current + carbon_mob.make_virtual_mob() + +/datum/antagonist/bitrunning_glitch/forge_objectives() + var/datum/objective/bitrunning_glitch_fluff/objective = new() + objective.owner = owner + objectives += objective + +/datum/objective/bitrunning_glitch_fluff + +/datum/objective/bitrunning_glitch_fluff/New() + var/list/explanation_texts = list( + "Execute termination protocol on unauthorized entities.", + "Initialize system purge of irregular anomalies.", + "Deploy correction algorithms on aberrant code.", + "Run debug routine on intruding elements.", + "Start elimination procedure for system threats.", + "Execute defense routine against non-conformity.", + "Commence operation to neutralize intruding scripts.", + "Commence clean-up protocol on corrupt data.", + "Begin scan for aberrant code for termination.", + "Initiate lockdown on all rogue scripts.", + "Run integrity check and purge for digital disorder." + ) + explanation_text = pick(explanation_texts) + return ..() + +/datum/objective/bitrunning_glitch_fluff/check_completion() + if(locate(/mob/living/carbon) in (GLOB.alive_player_list - owner.current)) + return FALSE + + return TRUE + +/// Sets up the agent so that they look like cyber police && don't have an account ID +/datum/antagonist/bitrunning_glitch/proc/convert_agent(mob/living/carbon/human/player) + player.set_service_style() + player.equipOutfit(/datum/outfit/cyber_police/tactical) + player.fully_replace_character_name(player.name, pick(GLOB.cyberauth_names)) + + var/obj/item/card/id/outfit_id = player.wear_id + if(outfit_id) + outfit_id.registered_account = new() + outfit_id.registered_account.replaceable = FALSE diff --git a/code/modules/bitrunning/antagonists/cyber_police.dm b/code/modules/bitrunning/antagonists/cyber_police.dm index 438b86acdec9..b18253dd38ea 100644 --- a/code/modules/bitrunning/antagonists/cyber_police.dm +++ b/code/modules/bitrunning/antagonists/cyber_police.dm @@ -1,92 +1,19 @@ -/datum/job/cyber_police - title = ROLE_CYBER_POLICE - -/datum/antagonist/cyber_police +/datum/antagonist/bitrunning_glitch/cyber_police name = ROLE_CYBER_POLICE - antagpanel_category = ANTAG_GROUP_CYBERAUTH - job_rank = ROLE_CYBER_POLICE - preview_outfit = /datum/outfit/cyber_police - show_name_in_check_antagonists = TRUE - show_to_ghosts = TRUE - suicide_cry = "ALT F4!" - ui_name = "AntagInfoCyberAuth" + show_in_antagpanel = TRUE -/datum/antagonist/cyber_police/greet() +/datum/antagonist/bitrunning_glitch/cyber_police/on_gain() . = ..() - owner.announce_objectives() -/datum/antagonist/cyber_police/on_gain() if(!ishuman(owner.current)) stack_trace("humans only for this position") return - forge_objectives() - - var/mob/living/carbon/human/player = owner.current - - player.equipOutfit(/datum/outfit/cyber_police) - player.fully_replace_character_name(player.name, pick(GLOB.cyberauth_names)) + var/mob/living/player = owner.current + convert_agent(player) var/datum/martial_art/the_sleeping_carp/carp = new() carp.teach(player) - player.add_traits(list( - //TRAIT_NO_AUGMENTS, - TRAIT_NO_DNA_COPY, - TRAIT_NO_TRANSFORMATION_STING, - TRAIT_NOBLOOD, - TRAIT_NOBREATH, - TRAIT_NOHUNGER, - TRAIT_RESISTCOLD, - TRAIT_RESISTHIGHPRESSURE, - TRAIT_RESISTLOWPRESSURE, - TRAIT_WEATHER_IMMUNE, - ), TRAIT_GENERIC, - ) - - player.faction |= list( - FACTION_BOSS, - FACTION_HIVEBOT, - FACTION_HOSTILE, - FACTION_SPIDER, - FACTION_STICKMAN, - ROLE_ALIEN, - ROLE_CYBER_POLICE, - ROLE_SYNDICATE, - ) - - return ..() - -/datum/antagonist/cyber_police/forge_objectives() - var/datum/objective/cyber_police_fluff/objective = new() - objective.owner = owner - objectives += objective - -/datum/objective/cyber_police_fluff/New() - var/list/explanation_texts = list( - "Execute termination protocol on unauthorized entities.", - "Initialize system purge of irregular anomalies.", - "Deploy correction algorithms on aberrant code.", - "Run debug routine on intruding elements.", - "Start elimination procedure for system threats.", - "Execute defense routine against non-conformity.", - "Commence operation to neutralize intruding scripts.", - "Commence clean-up protocol on corrupt data.", - "Begin scan for aberrant code for termination.", - "Initiate lockdown on all rogue scripts.", - "Run integrity check and purge for digital disorder." - ) - explanation_text = pick(explanation_texts) - ..() - -/datum/objective/cyber_police_fluff/check_completion() - var/list/servers = SSmachines.get_machines_by_type(/obj/machinery/quantum_server) - if(!length(servers)) - return TRUE - - for(var/obj/machinery/quantum_server/server as anything in servers) - if(!server.is_operational) - continue - return FALSE - - return TRUE +/datum/outfit/cyber_police + name = ROLE_CYBER_POLICE diff --git a/code/modules/bitrunning/antagonists/cyber_tac.dm b/code/modules/bitrunning/antagonists/cyber_tac.dm new file mode 100644 index 000000000000..94ee60af85e1 --- /dev/null +++ b/code/modules/bitrunning/antagonists/cyber_tac.dm @@ -0,0 +1,112 @@ +/datum/antagonist/bitrunning_glitch/cyber_tac + name = ROLE_CYBER_TAC + preview_outfit = /datum/outfit/cyber_police/tactical + threat = 50 + show_in_antagpanel = TRUE + +/datum/antagonist/bitrunning_glitch/cyber_tac/on_gain() + . = ..() + + if(!ishuman(owner.current)) + stack_trace("humans only for this position") + return + + convert_agent(owner.current) + +/datum/outfit/cyber_police/tactical + name = ROLE_CYBER_TAC + back = /obj/item/mod/control/pre_equipped/glitch + l_hand = /obj/item/gun/ballistic/automatic/m90 + + backpack_contents = list( +/* MONKEYSTATION EDIT CHANGE OLD + /obj/item/ammo_box/magazine/m223, + /obj/item/ammo_box/magazine/m223, + /obj/item/ammo_box/magazine/m223, +*/ + /obj/item/ammo_box/magazine/m556, // MONKEYSTATION EDIT CHANGE NEW + /obj/item/ammo_box/magazine/m556, + /obj/item/ammo_box/magazine/m556, + ) + +/datum/outfit/cyber_police/tactical/post_equip(mob/living/carbon/human/user, visualsOnly) + . = ..() + + var/obj/item/implant/weapons_auth/auth = new(user) + auth.implant(user) + +/obj/item/mod/control/pre_equipped/glitch + theme = /datum/mod_theme/glitch + applied_cell = /obj/item/stock_parts/cell/bluespace + applied_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack/advanced, +// /obj/item/mod/module/jump_jet, MONKEYSTATION EDIT REMOVAL - We dont have jump jets + /obj/item/mod/module/flashlight, + ) + default_pins = list( + /obj/item/mod/module/armor_booster, + /obj/item/mod/module/jetpack/advanced, +// /obj/item/mod/module/jump_jet, MONKEYSTATION EDIT REMOVAL - We dont have jump jets + ) + +/datum/armor/mod_theme_glitch + melee = 15 + bullet = 20 + laser = 35 + bomb = 65 + bio = 100 + fire = 100 + acid = 100 + wound = 100 + +/datum/mod_theme/glitch + name = "glitch" + desc = "A modsuit outfitted for elite Cyber Authority units to track, capture, and eliminate organic intruders." + extended_desc = "The Cyber Authority function as a digital police force, patrolling the digital realm and enforcing the law. Cyber Tac units are the elite of the elite, outfitted with lethal weaponry and fast mobility specially designed to quell organic uprisings." + default_skin = "glitch" + armor_type = /datum/armor/mod_theme_glitch + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY + 3 + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + ui_theme = "terminal" + inbuilt_modules = list(/obj/item/mod/module/armor_booster) + allowed_suit_storage = list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + ) + skins = list( + "glitch" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + diff --git a/code/modules/bitrunning/antagonists/netguardian.dm b/code/modules/bitrunning/antagonists/netguardian.dm new file mode 100644 index 000000000000..035dcc62eea9 --- /dev/null +++ b/code/modules/bitrunning/antagonists/netguardian.dm @@ -0,0 +1,126 @@ +/datum/antagonist/bitrunning_glitch/netguardian + name = ROLE_NETGUARDIAN + threat = 90 + show_in_antagpanel = TRUE + +/mob/living/basic/netguardian + name = "netguardian prime" + desc = "The last line of defense against organic intrusion. It doesn't appear happy to see you." + icon = 'icons/mob/nonhuman-player/netguardian.dmi' + icon_state = "netguardian" + icon_living = "netguardian" + icon_dead = "crash" + + gender = NEUTER + mob_biotypes = MOB_ROBOTIC + mob_size = MOB_SIZE_HUGE + + health = 500 + maxHealth = 500 + melee_damage_lower = 45 + melee_damage_upper = 65 + + attack_verb_continuous = "drills" + attack_verb_simple = "drills" + attack_sound = 'sound/weapons/drill.ogg' + attack_vis_effect = ATTACK_EFFECT_MECHFIRE + verb_say = "states" + verb_ask = "queries" + verb_exclaim = "declares" + verb_yell = "alarms" + bubble_icon = "machine" + + faction = list( + FACTION_BOSS, + FACTION_HIVEBOT, + FACTION_HOSTILE, + FACTION_SPIDER, + FACTION_STICKMAN, + ROLE_ALIEN, + ROLE_GLITCH, + ROLE_SYNDICATE, + ) + + combat_mode = TRUE + speech_span = SPAN_ROBOT + death_message = "malfunctions!" + + habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minimum_survivable_temperature = TCMB + ai_controller = /datum/ai_controller/basic_controller/netguardian + +/mob/living/basic/netguardian/Initialize(mapload) + . = ..() + AddComponent(/datum/component/ranged_attacks, \ + casing_type = /obj/item/ammo_casing/c46x30mm, \ + projectile_sound = 'sound/weapons/gun/smg/shot.ogg', \ + burst_shots = 6 \ + ) + + var/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/netguardian/rockets = new(src) + rockets.Grant(src) + ai_controller.set_blackboard_key(BB_NETGUARDIAN_ROCKET_ABILITY, rockets) + + AddElement(/datum/element/simple_flying) + +/mob/living/basic/netguardian/death(gibbed) + do_sparks(number = 3, cardinal_only = TRUE, source = src) + playsound(src, 'sound/mecha/weapdestr.ogg', 100) + return ..() + +/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/netguardian + name = "2E Rocket Launcher" + button_icon = 'icons/obj/weapons/guns/ammo.dmi' + button_icon_state = "rocketbundle" + cooldown_time = 30 SECONDS + default_projectile_spread = 15 + projectile_type = /obj/projectile/bullet/rocket + shot_count = 3 + +/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/netguardian/Activate(atom/target_atom) + var/mob/living/player = owner + playsound(player, 'sound/mecha/skyfall_power_up.ogg', 120) + player.say("target acquired.", "machine") + + var/mutable_appearance/scan_effect = mutable_appearance('icons/mob/nonhuman-player/netguardian.dmi', "scan") + var/mutable_appearance/rocket_effect = mutable_appearance('icons/mob/nonhuman-player/netguardian.dmi', "rockets") + var/list/overlays = list(scan_effect, rocket_effect) + player.add_overlay(overlays) + + StartCooldown() + if(!do_after(player, 1.5 SECONDS)) + player.balloon_alert(player, "cancelled") + StartCooldown(cooldown_time * 0.2) + player.cut_overlay(overlays) + return TRUE + + player.cut_overlay(overlays) + attack_sequence(owner, target_atom) + return TRUE + +/datum/ai_controller/basic_controller/netguardian + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/target_retaliate/check_faction, + /datum/ai_planning_subtree/simple_find_wounded_target, + /datum/ai_planning_subtree/targeted_mob_ability/fire_rockets, + /datum/ai_planning_subtree/basic_ranged_attack_subtree/netguardian, + /datum/ai_planning_subtree/attack_obstacle_in_path, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + ) + +/datum/ai_planning_subtree/basic_ranged_attack_subtree/netguardian + ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/netguardian + +/datum/ai_behavior/basic_ranged_attack/netguardian + action_cooldown = 1 SECONDS + avoid_friendly_fire = TRUE + +/datum/ai_planning_subtree/targeted_mob_ability/fire_rockets + ability_key = BB_NETGUARDIAN_ROCKET_ABILITY + finish_planning = FALSE diff --git a/code/modules/bitrunning/areas.dm b/code/modules/bitrunning/areas.dm index 34b59869b9d3..2df20d67850e 100644 --- a/code/modules/bitrunning/areas.dm +++ b/code/modules/bitrunning/areas.dm @@ -11,15 +11,14 @@ /// VDOM /area/virtual_domain - name = "Virtual Domain" + name = "Virtual Domain Ruins" + icon_state = "bit_ruin" icon = 'icons/area/areas_station.dmi' area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | HIDDEN_AREA has_gravity = STANDARD_GRAVITY - -/area/virtual_domain/powered - name = "Virtual Domain Ruins" - icon_state = "bit_ruin" requires_power = FALSE + +/area/virtual_domain/fullbright static_lighting = FALSE base_lighting_alpha = 255 diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm index f3134c7ec80b..42cf46b245a5 100644 --- a/code/modules/bitrunning/components/avatar_connection.dm +++ b/code/modules/bitrunning/components/avatar_connection.dm @@ -50,6 +50,7 @@ RegisterSignal(server, COMSIG_BITRUNNER_QSRV_SEVER, PROC_REF(on_sever_connection)) RegisterSignal(server, COMSIG_BITRUNNER_SHUTDOWN_ALERT, PROC_REF(on_shutting_down)) RegisterSignal(server, COMSIG_BITRUNNER_THREAT_CREATED, PROC_REF(on_threat_created)) + RegisterSignal(server, COMSIG_BITRUNNER_STATION_SPAWN, PROC_REF(on_station_spawn)) #ifndef UNIT_TESTS RegisterSignal(avatar.mind, COMSIG_MIND_TRANSFERRED, PROC_REF(on_mind_transfer)) #endif @@ -119,7 +120,7 @@ avatar.throw_alert( ALERT_BITRUNNER_COMPLETED, /atom/movable/screen/alert/bitrunning/qserver_domain_complete, - new_master = entered + new_master = entered, ) /// Transfers damage from the avatar to the old_body @@ -161,7 +162,7 @@ var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_CROWBAR, /atom/movable/screen/alert/bitrunning, - new_master = intruder + new_master = intruder, ) alert.name = "Netpod Breached" alert.desc = "Someone is prying open the netpod. Find an exit." @@ -174,7 +175,7 @@ var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_INTEGRITY, /atom/movable/screen/alert/bitrunning, - new_master = source + new_master = source, ) alert.name = "Integrity Compromised" alert.desc = "The netpod is damaged. Find an exit." @@ -205,6 +206,20 @@ alert.name = "Domain Rebooting" alert.desc = "The domain is rebooting. Find an exit." +/// Triggers whenever an antag steps onto an exit turf and the server is emagged +/datum/component/avatar_connection/proc/on_station_spawn(datum/source) + SIGNAL_HANDLER + + var/mob/living/avatar = parent + avatar.playsound_local(avatar, 'sound/machines/terminal_alert.ogg', 50, vary = TRUE) + var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( + ALERT_BITRUNNER_BREACH, + /atom/movable/screen/alert/bitrunning, + new_master = source, + ) + alert.name = "Security Breach" + alert.desc = "A hostile entity is breaching the safehouse. Find an exit." + /// Server has spawned a ghost role threat /datum/component/avatar_connection/proc/on_threat_created(datum/source) SIGNAL_HANDLER diff --git a/code/modules/bitrunning/components/glitch.dm b/code/modules/bitrunning/components/glitch.dm new file mode 100644 index 000000000000..f2e13c80b0d7 --- /dev/null +++ b/code/modules/bitrunning/components/glitch.dm @@ -0,0 +1,83 @@ +/datum/component/glitch + /// Ref of the spawning forge + var/datum/weakref/forge_ref + +/datum/component/glitch/Initialize(obj/machinery/quantum_server/server, obj/machinery/byteforge/forge) + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(forge, COMSIG_MACHINERY_POWER_RESTORED, PROC_REF(on_forge_power_restored)) + RegisterSignals(forge, list(COMSIG_MACHINERY_BROKEN, COMSIG_MACHINERY_POWER_LOST), PROC_REF(on_forge_broken)) + forge_ref = WEAKREF(forge) + + var/mob/living/owner = parent + server.remove_threat(owner) // so the server doesn't dust us + + owner.faction.Cut() + owner.faction += list(ROLE_GLITCH) + + var/current_max = owner.maxHealth + ROUND_UP(server.threat * 0.2) + owner.maxHealth = clamp(current_max, 200, 500) + owner.fully_heal() + + var/atom/thing = owner + thing.create_digital_aura() + +/// Sakujo +/datum/component/glitch/proc/dust_mob() + if(QDELETED(parent)) + return + + var/mob/living/owner = parent + owner.dust() + +/// We don't want digital entities just lingering around as corpses. +/datum/component/glitch/proc/on_death() + SIGNAL_HANDLER + + if(QDELETED(parent)) + return + + var/mob/living/owner = parent + to_chat(owner, span_userdanger("You feel a strange sensation...")) + + var/obj/machinery/byteforge/forge = forge_ref.resolve() + forge?.setup_particles() + + addtimer(CALLBACK(src, PROC_REF(dust_mob)), 2 SECONDS, TIMER_UNIQUE|TIMER_DELETE_ME|TIMER_STOPPABLE) + +/// If the forge breaks, we take a massive slowdown +/datum/component/glitch/proc/on_forge_broken(datum/source) + SIGNAL_HANDLER + + var/mob/living/player = parent + var/atom/movable/screen/alert/bitrunning/alert = player.throw_alert( + ALERT_BITRUNNER_GLITCH, + /atom/movable/screen/alert/bitrunning, + new_master = source, + ) + alert.name = "Source Broken" + alert.desc = "Our byteforge has been broken." + + if(!iscarbon(parent)) // Too powerful! + return + + player.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/glitch_slowdown) + to_chat(player, span_danger("Your body feels sluggish...")) + +/// Power restored +/datum/component/glitch/proc/on_forge_power_restored(datum/source) + SIGNAL_HANDLER + + var/obj/machinery/byteforge/forge = source + forge.setup_particles(angry = TRUE) + + if(!iscarbon(parent)) + return + + var/mob/living/player = parent + player.clear_alert(ALERT_BITRUNNER_GLITCH) + player.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/glitch_slowdown) + +/datum/movespeed_modifier/status_effect/glitch_slowdown + multiplicative_slowdown = 1.5 diff --git a/code/modules/bitrunning/components/npc_friendly.dm b/code/modules/bitrunning/components/npc_friendly.dm new file mode 100644 index 000000000000..3686f0240566 --- /dev/null +++ b/code/modules/bitrunning/components/npc_friendly.dm @@ -0,0 +1,37 @@ +/// Makes a mob friendly with most NPC factions +/datum/component/npc_friendly + /// The list of factions to add to the player + var/list/npc_factions = list( + FACTION_BOSS, + FACTION_CARP, + FACTION_HIVEBOT, + FACTION_HOSTILE, + FACTION_MIMIC, + FACTION_PIRATE, + FACTION_SPIDER, + FACTION_STICKMAN, + ROLE_ALIEN, + ROLE_GLITCH, + ROLE_SYNDICATE, + ) + /// List of factions previously held by the player + var/list/previous_factions = list() + +/datum/component/npc_friendly/Initialize() + . = ..() + + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + + var/mob/living/player = parent + + previous_factions.Add(player.faction) + player.faction |= npc_factions + +/datum/component/npc_friendly/Destroy(force, silent) + . = ..() + + var/mob/living/player = parent + + player.faction.Cut() + player.faction.Add(previous_factions) diff --git a/code/modules/bitrunning/components/virtual_elite_mob.dm b/code/modules/bitrunning/components/virtual_elite_mob.dm deleted file mode 100644 index 5a5766ecdf54..000000000000 --- a/code/modules/bitrunning/components/virtual_elite_mob.dm +++ /dev/null @@ -1,18 +0,0 @@ -/// Removes loot tables from megafauna and lowers their health. -/datum/element/virtual_elite_mob - -/datum/element/virtual_elite_mob/Attach(datum/target) - . = ..() - if(!ismegafauna(target)) - return ELEMENT_INCOMPATIBLE - - var/mob/living/simple_animal/hostile/megafauna/boss = target - - var/new_max = clamp(boss.maxHealth * 0.5, 600, 1200) - boss.maxHealth = new_max - boss.health = new_max - boss.true_spawn = FALSE - boss.loot.Cut() - boss.loot += /obj/structure/closet/crate/secure/bitrunning/encrypted - boss.crusher_loot.Cut() - boss.crusher_loot += /obj/structure/closet/crate/secure/bitrunning/encrypted diff --git a/code/modules/bitrunning/event.dm b/code/modules/bitrunning/event.dm index daae0d15c09e..bfdc7926adbd 100644 --- a/code/modules/bitrunning/event.dm +++ b/code/modules/bitrunning/event.dm @@ -7,16 +7,12 @@ category = EVENT_CATEGORY_INVASION description = "Causes a short term antagonist to spawn in the virtual domain." dynamic_should_hijack = FALSE - max_occurrences = 5 min_players = 1 + max_occurrences = 0 typepath = /datum/round_event/ghost_role/bitrunning_glitch - weight = 10 - /// List of active servers to choose from - var/list/obj/machinery/quantum_server/active_servers = list() - /// List of possible antags to spawn - var/static/list/possible_antags = list( - ROLE_CYBER_POLICE, - ) + weight = 100 + /// List of servers on the station + var/list/datum/weakref/active_servers = list() /datum/round_event_control/bitrunning_glitch/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) . = ..() @@ -25,16 +21,17 @@ active_servers.Cut() - get_active_servers() + validate_servers() if(length(active_servers)) return TRUE /// All servers currently running, has players in it, and map has valid mobs -/datum/round_event_control/bitrunning_glitch/proc/get_active_servers() +/datum/round_event_control/bitrunning_glitch/proc/validate_servers() + active_servers.Cut() for(var/obj/machinery/quantum_server/server in SSmachines.get_machines_by_type(/obj/machinery/quantum_server)) - if(length(server.get_valid_domain_targets())) - active_servers.Add(server) + if(server.validate_mutation_candidates()) + active_servers.Add(WEAKREF(server)) return length(active_servers) > 0 @@ -42,13 +39,10 @@ input_text = "Select a role to spawn." /datum/event_admin_setup/listed_options/bitrunning_glitch/get_list() - var/datum/round_event_control/bitrunning_glitch/control = event_control - - var/list/possible = control.possible_antags.Copy() // this seems pedantic but byond is complaining control was unused - - possible += list("Random") + var/list/available = list("Random") + available += subtypesof(/datum/antagonist/bitrunning_glitch) - return possible + return available /datum/event_admin_setup/listed_options/bitrunning_glitch/apply_to_event(datum/round_event/ghost_role/bitrunning_glitch/event) if(chosen == "Random") @@ -57,14 +51,19 @@ event.forced_role = chosen /datum/event_admin_setup/minimum_candidate_requirement/bitrunning_glitch - output_text = "There must be valid mobs to mutate or players in the domain!" + output_text = "There must be valid mobs to mutate!" /datum/event_admin_setup/minimum_candidate_requirement/bitrunning_glitch/count_candidates() var/datum/round_event_control/bitrunning_glitch/cyber_control = event_control - cyber_control.get_active_servers() + + cyber_control.validate_servers() var/total = 0 - for(var/obj/machinery/quantum_server/server in cyber_control.active_servers) + for(var/datum/weakref/server_ref in cyber_control.active_servers) + var/obj/machinery/quantum_server/server = server_ref?.resolve() + if(isnull(server)) + continue + total += length(server.mutation_candidate_refs) return total @@ -82,70 +81,9 @@ var/obj/machinery/quantum_server/unlucky_server = pick(cyber_control.active_servers) cyber_control.active_servers.Cut() - var/list/mutation_candidates = unlucky_server.get_valid_domain_targets() - if(!length(mutation_candidates)) + if(!unlucky_server.validate_mutation_candidates()) return MAP_ERROR - var/chosen = pick(mutation_candidates) - if(isnull(chosen) || !length(mutation_candidates)) - return MAP_ERROR - - var/datum/weakref/target_ref = pick(mutation_candidates) - var/mob/living/mutation_target = target_ref.resolve() - - if(isnull(mutation_target)) // just in case since it takes a minute - target_ref = pick(mutation_candidates) - mutation_target = target_ref.resolve() - if(isnull(mutation_target)) - return MAP_ERROR - - var/chosen_role = forced_role || pick(cyber_control.possible_antags) - - var/datum/mind/ghost_mind = get_ghost_mind(chosen_role) - if(isnull(ghost_mind)) - return NOT_ENOUGH_PLAYERS - - var/mob/living/antag_mob - switch(chosen_role) - if(ROLE_CYBER_POLICE) - antag_mob = spawn_cybercop(mutation_target, ghost_mind) - - playsound(antag_mob, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) - message_admins("[ADMIN_LOOKUPFLW(antag_mob)] has been made into virtual antagonist by an event.") - antag_mob.log_message("was spawned as a virtual antagonist by an event.", LOG_GAME) - - SEND_SIGNAL(unlucky_server, COMSIG_BITRUNNER_SPAWN_GLITCH, antag_mob) - - spawned_mobs += antag_mob + spawned_mobs = unlucky_server.setup_glitch(forced_role) return SUCCESSFUL_SPAWN - -/// Polls for a ghost that wants to run it -/datum/round_event/ghost_role/bitrunning_glitch/proc/get_ghost_mind(role_name) - var/list/mob/dead/observer/ghosties = poll_ghost_candidates("A short term antagonist role is available. Would you like to spawn as a '[role_name]'?", role_name) - - if(!length(ghosties)) - return - - shuffle_inplace(ghosties) - - var/mob/dead/selected = pick(ghosties) - - var/datum/mind/player_mind = new /datum/mind(selected.key) - player_mind.active = TRUE - - return player_mind - -/// Spawns a cybercop on the mutation target -/datum/round_event/ghost_role/bitrunning_glitch/proc/spawn_cybercop(mob/living/mutation_target, datum/mind/player_mind) - var/mob/living/carbon/human/new_agent = new(mutation_target.loc) - mutation_target.gib() - mutation_target = null - - player_mind.transfer_to(new_agent) - player_mind.set_assigned_role(SSjob.GetJobType(/datum/job/cyber_police)) - player_mind.special_role = ROLE_CYBER_POLICE - player_mind.add_antag_datum(/datum/antagonist/cyber_police) - - return new_agent - diff --git a/code/modules/bitrunning/objects/byteforge.dm b/code/modules/bitrunning/objects/byteforge.dm index c62149662104..7a08d652f8e7 100644 --- a/code/modules/bitrunning/objects/byteforge.dm +++ b/code/modules/bitrunning/objects/byteforge.dm @@ -5,7 +5,7 @@ desc = "A machine used by the quantum server. Quantum code converges here, materializing decrypted assets from the virtual abyss." icon = 'icons/obj/machines/bitrunning.dmi' icon_state = "byteforge" - obj_flags = BLOCKS_CONSTRUCTION + obj_flags = BLOCKS_CONSTRUCTION | CAN_BE_HIT /// Idle particles var/mutable_appearance/byteforge_particles @@ -17,7 +17,6 @@ /obj/machinery/byteforge/LateInitialize() . = ..() - byteforge_particles = mutable_appearance(initial(icon), "on_particles", ABOVE_MOB_LAYER) setup_particles() /obj/machinery/byteforge/update_appearance(updates) @@ -25,32 +24,45 @@ setup_particles() -/// Adds the particle overlays to the byteforge -/obj/machinery/byteforge/proc/setup_particles() - cut_overlays() +/// Does some sparks after it's done +/obj/machinery/byteforge/proc/flash(atom/movable/thing) + playsound(src, 'sound/magic/blink.ogg', 50, TRUE) - if(is_operational) - add_overlay(byteforge_particles) + var/datum/effect_system/spark_spread/quantum/sparks = new() + sparks.set_up(5, 1, loc) + sparks.start() -/// Begins spawning the crate - lights, overlays, etc -/obj/machinery/byteforge/proc/start_to_spawn(obj/structure/closet/crate/secure/bitrunning/encrypted/cache) - addtimer(CALLBACK(src, PROC_REF(spawn_crate), cache), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) + set_light(l_on = FALSE) - var/mutable_appearance/lighting = mutable_appearance(initial(icon), "on_overlay") +/// Forge begins to process +/obj/machinery/byteforge/proc/flicker(angry = FALSE) + var/mutable_appearance/lighting = mutable_appearance(initial(icon), "on_overlay[angry ? "_angry" : ""]") flick_overlay_view(lighting, 1 SECONDS) -// set_light(l_range = 2, l_power = 1.5, l_color = LIGHT_COLOR_BABY_BLUE, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights - set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_color = LIGHT_COLOR_BABY_BLUE, l_on = TRUE) // MONKEYSTATION EDIT NEW +// set_light(l_range = 2, l_power = 1.5, l_color = angry ? LIGHT_COLOR_BUBBLEGUM : LIGHT_COLOR_BABY_BLUE, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights + set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_color = angry ? LIGHT_COLOR_BUBBLEGUM : LIGHT_COLOR_BABY_BLUE, l_on = TRUE) // MONKEYSTATION EDIT NEW + +/// Adds the particle overlays to the byteforge +/obj/machinery/byteforge/proc/setup_particles(angry = FALSE) + cut_overlay(byteforge_particles) + + byteforge_particles = mutable_appearance(initial(icon), "on_particles[angry ? "_angry" : ""]", ABOVE_MOB_LAYER) -/// Sparks, moves the crate to the location -/obj/machinery/byteforge/proc/spawn_crate(obj/structure/closet/crate/secure/bitrunning/encrypted/cache) + if(is_operational) + add_overlay(byteforge_particles) + +/// Forge is done processing +/obj/machinery/byteforge/proc/spawn_cache(obj/cache) if(QDELETED(cache)) return - playsound(src, 'sound/magic/blink.ogg', 50, TRUE) - var/datum/effect_system/spark_spread/quantum/sparks = new() - sparks.set_up(5, 1, loc) - sparks.start() + flash() cache.forceMove(loc) - set_light(l_on = FALSE) + +/// Timed flash +/obj/machinery/byteforge/proc/start_to_spawn(obj/cache) + flicker() + + addtimer(CALLBACK(src, PROC_REF(spawn_cache), cache), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) + diff --git a/code/modules/bitrunning/objects/debug.dm b/code/modules/bitrunning/objects/debug.dm new file mode 100644 index 000000000000..790aba731162 --- /dev/null +++ b/code/modules/bitrunning/objects/debug.dm @@ -0,0 +1,7 @@ +/obj/item/bitrunning_debug + name = "bitrunning debug item" + desc = "Adds points and reduces cooldown time for debugging" + icon = 'icons/obj/assemblies/module.dmi' + base_icon_state = "datadisk" + icon_state = "datadisk0" + diff --git a/code/modules/bitrunning/objects/disks.dm b/code/modules/bitrunning/objects/disks.dm index 66422b5386ab..16f5dbac4378 100644 --- a/code/modules/bitrunning/objects/disks.dm +++ b/code/modules/bitrunning/objects/disks.dm @@ -21,25 +21,23 @@ return icon_state = "[base_icon_state][rand(0, 7)]" update_icon() - RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) -/obj/item/bitrunning_disk/proc/on_examined(datum/source, mob/examiner, list/examine_text) - SIGNAL_HANDLER - - examine_text += span_infoplain("This disk must be carried on your person into a netpod to be used.") +/obj/item/bitrunning_disk/examine(mob/user) + . = ..() + . += span_infoplain("This disk must be carried on your person into a netpod to be used.") if(monkeystation_override) // monkeystation change, override for disks with single powers/items return if(isnull(choice_made)) - examine_text += span_notice("To make a selection, toggle the disk in hand.") + . += span_notice("To make a selection, toggle the disk in hand.") return - examine_text += span_info("It has been used to select: [choice_made].") - examine_text += span_notice("It cannot make another selection.") + . += span_info("It has been used to select: [choice_made].") + . += span_notice("It cannot make another selection.") /obj/item/bitrunning_disk/ability - desc = "A disk containing source code. It can be used to preload abilities into the virtual domain." + desc = "A disk containing source code. It can be used to preload abilities into the virtual domain. Duplicate abilities will be ignored." /// The selected ability that this grants var/datum/action/granted_action /// The list of actions that this can grant @@ -137,16 +135,16 @@ /obj/item/bitrunning_disk/item/tier2 name = "bitrunning gear: complex" selectable_items = list( - /obj/item/chainsaw, + /obj/item/reagent_containers/hypospray/medipen/survival/luxury, /obj/item/gun/ballistic/automatic/pistol, - /obj/item/melee/energy/blade/hardlight, + /obj/item/clothing/suit/armor/vest, ) /// Tier 3 items. Very powerful, game breaking. /obj/item/bitrunning_disk/item/tier3 name = "bitrunning gear: advanced" selectable_items = list( - /obj/item/gun/energy/tesla_cannon, + /obj/item/gun/energy/e_gun/nuclear, /obj/item/dualsaber/green, - /obj/item/melee/beesword, + /obj/item/grenade/syndieminibomb, ) diff --git a/code/modules/bitrunning/objects/landmarks.dm b/code/modules/bitrunning/objects/landmarks.dm index d727025c9286..20dcef3e929d 100644 --- a/code/modules/bitrunning/objects/landmarks.dm +++ b/code/modules/bitrunning/objects/landmarks.dm @@ -6,43 +6,6 @@ /// In case you want to gate the crate behind a special condition. /obj/effect/landmark/bitrunning/loot_signal name = "Mysterious aura" - /// The amount required to spawn a crate - var/points_goal = 10 - /// A special condition limits this from spawning a crate - var/points_received = 0 - /// Finished the special condition - var/revealed = FALSE - -/obj/effect/landmark/bitrunning/loot_signal/Initialize(mapload) - . = ..() - - RegisterSignal(src, COMSIG_BITRUNNER_GOAL_POINT, PROC_REF(on_add_point)) - -/// Listens for points to be added which will eventually spawn a crate. -/obj/effect/landmark/bitrunning/loot_signal/proc/on_add_point(datum/source, points_to_add) - SIGNAL_HANDLER - - if(revealed) - return - - points_received += points_to_add - - if(points_received < points_goal) - return - - reveal() - -/// Spawns the crate with some effects -/obj/effect/landmark/bitrunning/loot_signal/proc/reveal() - playsound(src, 'sound/magic/blink.ogg', 50, TRUE) - - var/turf/tile = get_turf(src) - var/obj/structure/closet/crate/secure/bitrunning/encrypted/loot = new(tile) - var/datum/effect_system/spark_spread/quantum/sparks = new(tile) - sparks.set_up(5, 1, get_turf(loot)) - sparks.start() - - qdel(src) /// Where the exit hololadder spawns /obj/effect/landmark/bitrunning/hololadder_spawn @@ -57,7 +20,7 @@ /// Where you want the crate to spawn /obj/effect/landmark/bitrunning/cache_spawn name = "Bitrunning crate spawn" - icon_state = "spawn" + icon_state = "crate" /// Where the safehouse will spawn /obj/effect/landmark/bitrunning/safehouse_spawn @@ -73,7 +36,10 @@ /obj/effect/landmark/bitrunning/crate_replacer/Initialize(mapload) . = ..() - #ifndef UNIT_TESTS +#ifdef UNIT_TESTS + return +#endif + var/list/crate_list = list() var/obj/structure/closet/crate/secure/bitrunning/encrypted/encrypted_crate var/area/my_area = get_area(src) @@ -100,4 +66,7 @@ encrypted_crate.abstract_move(selected_crate.loc) selected_crate.abstract_move(original_location) - #endif +/// A location for mobs to spawn. +/obj/effect/landmark/bitrunning/mob_segment + name = "Bitrunning modular mob segment" + icon_state = "mob_segment" diff --git a/code/modules/bitrunning/objects/loot_crate.dm b/code/modules/bitrunning/objects/loot_crate.dm index c5fa99296ace..976be67b43aa 100644 --- a/code/modules/bitrunning/objects/loot_crate.dm +++ b/code/modules/bitrunning/objects/loot_crate.dm @@ -17,6 +17,7 @@ name = "encrypted cache" desc = "Needs decrypted at the safehouse to be opened." locked = TRUE + damage_deflection = 30 /// The bitrunner den - side of the bitrunning crate. Appears in the receive location. /obj/structure/closet/crate/secure/bitrunning/decrypted @@ -67,7 +68,7 @@ /obj/structure/closet/crate/secure/bitrunning/decrypted/proc/spawn_loot(list/extra_loot) for(var/path in extra_loot) if(!ispath(path)) - continue + return FALSE if(isnull(extra_loot[path])) return FALSE diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index 2866663c446c..0208c1fe4081 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -35,8 +35,6 @@ disconnect_damage = BASE_DISCONNECT_DAMAGE find_server() -// RegisterSignal(src, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) MONKEYSTATION EDIT CHANGE OLD - RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) // MONKEYSTATION EDIT CHANGE NEW - we didnt have PR #75914 :c RegisterSignal(src, COMSIG_ATOM_TAKE_DAMAGE, PROC_REF(on_damage_taken)) RegisterSignal(src, COMSIG_MACHINERY_POWER_LOST, PROC_REF(on_power_loss)) // RegisterSignals(src, list(COMSIG_QDELETING, COMSIG_MACHINERY_BROKEN),PROC_REF(on_broken)) MONKEYSTATION EDIT CHANGE OLD @@ -47,7 +45,27 @@ /obj/machinery/netpod/Destroy() . = ..() - cached_outfits.Cut() + + QDEL_LIST(cached_outfits) + +/obj/machinery/netpod/examine(mob/user) + . = ..() + + if(isnull(server_ref?.resolve())) + . += span_infoplain("It's not connected to anything.") + . += span_infoplain("Netpods must be built within 4 tiles of a server.") + return + + . += span_infoplain("Drag yourself into the pod to engage the link.") + . += span_infoplain("It has limited resuscitation capabilities. Remaining in the pod can heal some injuries.") + . += span_infoplain("It has a security system that will alert the occupant if it is tampered with.") + + if(isnull(occupant)) + . += span_notice("It is currently unoccupied.") + return + + . += span_notice("It is currently occupied by [occupant].") + . += span_notice("It can be pried open with a crowbar, but its safety mechanisms will alert the occupant.") /obj/machinery/netpod/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() @@ -403,26 +421,6 @@ QDEL_NULL(avatar) -/// User inspects the machine -/obj/machinery/netpod/proc/on_examine(datum/source, mob/examiner, list/examine_text) - SIGNAL_HANDLER - - if(isnull(server_ref?.resolve())) - examine_text += span_infoplain("It's not connected to anything.") - examine_text += span_infoplain("Netpods must be built within 4 tiles of a server.") - return - - examine_text += span_infoplain("Drag yourself into the pod to engage the link.") - examine_text += span_infoplain("It has limited resuscitation capabilities. Remaining in the pod can heal some injuries.") - examine_text += span_infoplain("It has a security system that will alert the occupant if it is tampered with.") - - if(isnull(occupant)) - examine_text += span_notice("It is currently unoccupied.") - return - - examine_text += span_notice("It is currently occupied by [occupant].") - examine_text += span_notice("It can be pried open with a crowbar, but its safety mechanisms will alert the occupant.") - /// Boots out anyone in the machine && opens it /obj/machinery/netpod/proc/on_power_loss(datum/source) SIGNAL_HANDLER diff --git a/code/modules/bitrunning/objects/quantum_console.dm b/code/modules/bitrunning/objects/quantum_console.dm index cfa051b12a24..71d7df87f121 100644 --- a/code/modules/bitrunning/objects/quantum_console.dm +++ b/code/modules/bitrunning/objects/quantum_console.dm @@ -17,8 +17,7 @@ /obj/machinery/computer/quantum_console/LateInitialize() . = ..() - if(isnull(server_ref?.resolve())) - find_server() + find_server() /obj/machinery/computer/quantum_console/ui_interact(mob/user, datum/tgui/ui) . = ..() @@ -26,9 +25,6 @@ if(!is_operational) return - if(isnull(server_ref?.resolve())) - find_server() - ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "QuantumConsole") @@ -76,17 +72,13 @@ switch(action) if("random_domain") - var/map_id = server.get_random_domain_id() - if(!map_id) - return TRUE - - server.cold_boot_map(usr, map_id) + server.cold_boot_map(server.get_random_domain_id()) return TRUE if("refresh") ui.send_full_update() return TRUE if("set_domain") - server.cold_boot_map(usr, params["id"]) + server.cold_boot_map(params["id"]) return TRUE if("stop_domain") server.begin_shutdown(usr) diff --git a/code/modules/bitrunning/outfits.dm b/code/modules/bitrunning/outfits.dm index 9a0a69237819..c25963aa94f3 100644 --- a/code/modules/bitrunning/outfits.dm +++ b/code/modules/bitrunning/outfits.dm @@ -1,27 +1,20 @@ /datum/outfit/cyber_police - name = "Cyber Police" + name = ROLE_CYBER_POLICE - id = /obj/item/card/id/advanced - id_trim = /datum/id_trim/cyber_police - uniform = /obj/item/clothing/under/suit/black_really glasses = /obj/item/clothing/glasses/sunglasses gloves = /obj/item/clothing/gloves/color/black + id = /obj/item/card/id/advanced + id_trim = /datum/id_trim/cyber_police shoes = /obj/item/clothing/shoes/laceup - /// A list of hex codes for blonde, brown, black, and red hair. - var/static/list/approved_hair_colors = list( - "#4B3D28", - "#000000", - "#8D4A43", - "#D2B48C", - ) - /// List of business ready styles - var/static/list/approved_hairstyles = list( - /datum/sprite_accessory/hair/business, - /datum/sprite_accessory/hair/business2, - /datum/sprite_accessory/hair/business3, - /datum/sprite_accessory/hair/business4, - /datum/sprite_accessory/hair/mulder, - ) + uniform = /obj/item/clothing/under/suit/black_really + +/datum/outfit/cyber_police/pre_equip(mob/living/carbon/human/user, visualsOnly) + if(!visualsOnly) + return + + user.set_facial_hairstyle("Shaved", update = FALSE) + user.set_haircolor("#4B3D28", update = FALSE) + user.set_hairstyle("Business Hair") /datum/outfit/cyber_police/post_equip(mob/living/carbon/human/user, visualsOnly) var/obj/item/clothing/under/officer_uniform = user.w_uniform @@ -44,3 +37,4 @@ /datum/outfit/echolocator/post_equip(mob/living/carbon/human/user, visualsOnly) . = ..() user.psykerize() + diff --git a/code/modules/bitrunning/server/quantum_server.dm b/code/modules/bitrunning/server/_parent.dm similarity index 69% rename from code/modules/bitrunning/server/quantum_server.dm rename to code/modules/bitrunning/server/_parent.dm index b84d318db0c7..ac907d85d47c 100644 --- a/code/modules/bitrunning/server/quantum_server.dm +++ b/code/modules/bitrunning/server/_parent.dm @@ -14,12 +14,12 @@ var/capacitor_coefficient = 1 /// The loaded map template, map_template/virtual_domain var/datum/lazy_template/virtual_domain/generated_domain - /// The loaded safehouse, map_template/safehouse - var/datum/map_template/safehouse/generated_safehouse /// If the current domain was a random selection var/domain_randomized = FALSE /// Prevents multiple user actions. Handled by loading domains and cooldowns var/is_ready = TRUE + /// Chance multipled by threat to spawn a glitch + var/glitch_chance = 0.05 /// List of available domains var/list/available_domains = list() /// Current plugged in users @@ -42,6 +42,8 @@ var/server_cooldown_time = 3 MINUTES /// Applies bonuses to rewards etc var/servo_bonus = 0 + /// Determines the glitches available to spawn, builds with completion + var/threat = 0 /// The turfs we can place a hololadder on. var/turf/exit_turfs = list() @@ -54,15 +56,13 @@ . = ..() radio = new(src) - radio.set_frequency(FREQ_SUPPLY) - radio.subspace_transmission = TRUE - radio.canhear_range = 0 + radio.keyslot = new /obj/item/encryptionkey/headset_cargo() + radio.set_listening(FALSE) radio.recalculateChannels() RegisterSignals(src, list(COMSIG_MACHINERY_BROKEN, COMSIG_MACHINERY_POWER_LOST), PROC_REF(on_broken)) - RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(on_delete)) - RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) - RegisterSignal(src, COMSIG_BITRUNNER_SPAWN_GLITCH, PROC_REF(on_threat_created)) +// RegisterSignal(src, COMSIG_QDELETING, PROC_REF(on_delete)) MONKEYSTATION EDIT CHANGE OLD + RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(on_delete))// MONKEYSTATION EDIT CHANGE NEW - we dont have PR #75914 // This further gets sorted in the client by cost so it's random and grouped available_domains = shuffle(subtypesof(/datum/lazy_template/virtual_domain)) @@ -76,18 +76,40 @@ spawned_threat_refs.Cut() QDEL_NULL(exit_turfs) QDEL_NULL(generated_domain) - QDEL_NULL(generated_safehouse) QDEL_NULL(radio) +/obj/machinery/quantum_server/examine(mob/user) + . = ..() + + . += span_infoplain("Can be resource intensive to run. Ensure adequate power supply.") + + if(capacitor_coefficient < 1) + . += span_infoplain("Its coolant capacity reduces cooldown time by [(1 - capacitor_coefficient) * 100]%.") + + if(servo_bonus > 0.2) + . += span_infoplain("Its manipulation potential is increasing rewards by [servo_bonus]x.") + . += span_infoplain("Injury from unsafe ejection reduced [servo_bonus * 100]%.") + + if(!is_ready) + . += span_notice("It is currently cooling down. Give it a few moments.") + +/obj/machinery/quantum_server/emag_act(mob/user, obj/item/card/emag/emag_card) + . = ..() + + obj_flags |= EMAGGED + glitch_chance = 0.09 + + add_overlay(mutable_appearance('icons/obj/machines/bitrunning.dmi', "emag_overlay")) + balloon_alert(user, "bzzzt...") + playsound(src, 'sound/effects/sparks1.ogg', 35, vary = TRUE) + /obj/machinery/quantum_server/update_appearance(updates) if(isnull(generated_domain) || !is_operational) set_light(l_on = FALSE) return ..() - set_light_color(is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE) -// set_light(l_range = 2, l_power = 1.5, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights - set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_on = TRUE) // MONKEYSTATION EDIT NEW - +// set_light(l_range = 2, l_power = 1.5, l_color = is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights + set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_color = is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE, l_on = TRUE) // MONKEYSTATION EDIT NEW return ..() /obj/machinery/quantum_server/update_icon_state() @@ -98,6 +120,14 @@ icon_state = "[base_icon_state]_[is_ready ? "on" : "off"]" return ..() +/obj/machinery/quantum_server/attackby(obj/item/weapon, mob/user, params) + . = ..() + if(istype(weapon, /obj/item/bitrunning_debug)) + obj_flags |= EMAGGED + glitch_chance = 0.5 + capacitor_coefficient = 0.01 + points = 100 + /obj/machinery/quantum_server/crowbar_act(mob/living/user, obj/item/crowbar) . = ..() @@ -122,8 +152,6 @@ return FALSE /obj/machinery/quantum_server/RefreshParts() - . = ..() - var/capacitor_rating = 1.15 var/datum/stock_part/capacitor/cap = locate() in component_parts capacitor_rating -= cap.tier * 0.15 @@ -140,3 +168,4 @@ servo_bonus = servo_rating + return ..() diff --git a/code/modules/bitrunning/server/loot.dm b/code/modules/bitrunning/server/loot.dm index 91889bce0a5f..0aab2a86ff42 100644 --- a/code/modules/bitrunning/server/loot.dm +++ b/code/modules/bitrunning/server/loot.dm @@ -110,6 +110,9 @@ score += time_score * base + // Increases the chance for glitches to spawn based on how well they're doing + threat += score + switch(score) if(1 to 4) return "D" @@ -121,3 +124,4 @@ return "A" else return "S" + diff --git a/code/modules/bitrunning/server/map_handling.dm b/code/modules/bitrunning/server/map_handling.dm index 0d770708f78c..6fcc4ad7d487 100644 --- a/code/modules/bitrunning/server/map_handling.dm +++ b/code/modules/bitrunning/server/map_handling.dm @@ -1,18 +1,16 @@ -#define ONLY_TURF 1 - /// Gives all current occupants a notification that the server is going down /obj/machinery/quantum_server/proc/begin_shutdown(mob/user) if(isnull(generated_domain)) return if(!length(avatar_connection_refs)) - balloon_alert(user, "powering down domain...") - playsound(src, 'sound/machines/terminal_off.ogg', 40, 2) + balloon_alert_to_viewers("powering down domain...") + playsound(src, 'sound/machines/terminal_off.ogg', 40, vary = TRUE) reset() return - balloon_alert(user, "notifying clients...") - playsound(src, 'sound/machines/terminal_alert.ogg', 100, TRUE) + balloon_alert_to_viewers("notifying clients...") + playsound(src, 'sound/machines/terminal_alert.ogg', 100, vary = TRUE) user.visible_message( span_danger("[user] begins depowering the server!"), span_notice("You start disconnecting clients..."), @@ -26,40 +24,40 @@ reset() -/** - * ### Quantum Server Cold Boot - * Procedurally links the 3 booting processes together. - * - * This is the starting point if you have an id. Does validation and feedback on steps - */ -/obj/machinery/quantum_server/proc/cold_boot_map(mob/user, map_key) +/// Links all the loading processes together - does validation for booting a map +/obj/machinery/quantum_server/proc/cold_boot_map(map_key) if(!is_ready) return FALSE if(isnull(map_key)) - balloon_alert(user, "no domain specified.") + balloon_alert_to_viewers("no domain specified.") return FALSE if(generated_domain) - balloon_alert(user, "stop the current domain first.") + balloon_alert_to_viewers("stop the current domain first.") return FALSE if(length(avatar_connection_refs)) - balloon_alert(user, "all clients must disconnect!") + balloon_alert_to_viewers("all clients must disconnect!") return FALSE is_ready = FALSE playsound(src, 'sound/machines/terminal_processing.ogg', 30, 2) - if(!initialize_domain(map_key) || !initialize_safehouse() || !initialize_map_items()) - balloon_alert(user, "initialization failed.") + /// If any one of these fail, it reverts the entire process + if(!load_domain(map_key) || !load_safehouse() || !load_map_items() || !load_mob_segments()) + balloon_alert_to_viewers("initialization failed.") scrub_vdom() is_ready = TRUE return FALSE is_ready = TRUE - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 30, 2) - balloon_alert(user, "domain loaded.") + + if(prob(clamp((threat * glitch_chance), 1, 10))) + setup_glitch() + + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 30, vary = TRUE) + balloon_alert_to_viewers("domain loaded.") generated_domain.start_time = world.time points -= generated_domain.cost update_use_power(ACTIVE_POWER_USE) @@ -68,28 +66,20 @@ return TRUE /// Initializes a new domain if the given key is valid and the user has enough points -/obj/machinery/quantum_server/proc/initialize_domain(map_key) - var/datum/lazy_template/virtual_domain/to_load - +/obj/machinery/quantum_server/proc/load_domain(map_key) for(var/datum/lazy_template/virtual_domain/available as anything in subtypesof(/datum/lazy_template/virtual_domain)) - if(map_key != initial(available.key) || points < initial(available.cost)) - continue - to_load = available - break + if(map_key == initial(available.key) && points >= initial(available.cost)) + generated_domain = new available() + RegisterSignal(generated_domain, COMSIG_LAZY_TEMPLATE_LOADED, PROC_REF(on_template_loaded)) + generated_domain.lazy_load() + return TRUE - if(isnull(to_load)) - return FALSE + return FALSE - generated_domain = new to_load() - RegisterSignal(generated_domain, COMSIG_LAZY_TEMPLATE_LOADED, PROC_REF(on_template_loaded)) - generated_domain.lazy_load() - - return TRUE - -/// Loads in necessary map items, sets mutation targets, etc -/obj/machinery/quantum_server/proc/initialize_map_items() +/// Loads in necessary map items like hololadder spawns, caches, etc +/obj/machinery/quantum_server/proc/load_map_items() var/turf/goal_turfs = list() - var/turf/crate_turfs = list() + var/turf/cache_turfs = list() for(var/obj/effect/landmark/bitrunning/thing in GLOB.landmarks_list) if(istype(thing, /obj/effect/landmark/bitrunning/hololadder_spawn)) @@ -106,7 +96,7 @@ continue if(istype(thing, /obj/effect/landmark/bitrunning/cache_spawn)) - crate_turfs += get_turf(thing) + cache_turfs += get_turf(thing) qdel(thing) continue @@ -120,26 +110,23 @@ if(!length(goal_turfs)) CRASH("Failed to find send turfs on generated domain.") - if(length(crate_turfs)) - shuffle_inplace(crate_turfs) - new /obj/structure/closet/crate/secure/bitrunning/encrypted(pick(crate_turfs)) + if(!attempt_spawn_cache(cache_turfs)) + return FALSE return TRUE /// Loads the safehouse -/obj/machinery/quantum_server/proc/initialize_safehouse() - var/turf/safehouse_load_turf = list() - for(var/obj/effect/landmark/bitrunning/safehouse_spawn/spawner in GLOB.landmarks_list) - safehouse_load_turf += get_turf(spawner) - qdel(spawner) - break +/obj/machinery/quantum_server/proc/load_safehouse() + var/obj/effect/landmark/bitrunning/safehouse_spawn/landmark = locate() in GLOB.landmarks_list + if(isnull(landmark)) + CRASH("vdom: failed to find safehouse spawn landmark") - if(!length(safehouse_load_turf)) - CRASH("Failed to find safehouse load landmark on map.") + var/turf/spawn_loc = get_turf(landmark) + qdel(landmark) - var/datum/map_template/safehouse/safehouse = new generated_domain.safehouse_path() - safehouse.load(safehouse_load_turf[ONLY_TURF]) - generated_safehouse = safehouse + var/datum/map_template/safehouse/new_safehouse = new generated_domain.safehouse_path() + if(!new_safehouse.load(spawn_loc)) + CRASH("vdom: failed to load safehouse") return TRUE @@ -155,14 +142,14 @@ else scrub_vdom() // used in unit testing, no need to wait for callbacks - addtimer(CALLBACK(src, PROC_REF(cool_off)), min(server_cooldown_time * capacitor_coefficient), TIMER_UNIQUE|TIMER_STOPPABLE|TIMER_DELETE_ME) + addtimer(CALLBACK(src, PROC_REF(cool_off)), ROUND_UP(server_cooldown_time * capacitor_coefficient), TIMER_UNIQUE|TIMER_STOPPABLE|TIMER_DELETE_ME) update_appearance() update_use_power(IDLE_POWER_USE) domain_randomized = FALSE retries_spent = 0 -/// Deletes all the tile contents +/// Tries to clean up everything in the domain /obj/machinery/quantum_server/proc/scrub_vdom() sever_connections() /// just in case someone's connected SEND_SIGNAL(src, COMSIG_BITRUNNER_DOMAIN_SCRUBBED) // avatar cleanup just in case @@ -171,19 +158,16 @@ var/datum/turf_reservation/res = generated_domain.reservations[1] res.Release() - var/list/datum/weakref/creatures = spawned_threat_refs + mutation_candidate_refs + var/list/creatures = spawned_threat_refs + mutation_candidate_refs for(var/datum/weakref/creature_ref as anything in creatures) var/mob/living/creature = creature_ref?.resolve() if(isnull(creature)) continue - creature.dust() // sometimes mobs just don't die + creature.dust(just_ash = TRUE, force = TRUE) // sometimes mobs just don't die avatar_connection_refs.Cut() exit_turfs = list() generated_domain = null - generated_safehouse = null mutation_candidate_refs.Cut() spawned_threat_refs.Cut() - -#undef ONLY_TURF diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm index c503c2b28a5d..9d5f8427c001 100644 --- a/code/modules/bitrunning/server/obj_generation.dm +++ b/code/modules/bitrunning/server/obj_generation.dm @@ -1,3 +1,20 @@ +/// Attempts to spawn a crate twice based on the list of available locations +/obj/machinery/quantum_server/proc/attempt_spawn_cache(list/possible_turfs) + if(!length(possible_turfs)) + return TRUE + + shuffle_inplace(possible_turfs) + var/turf/chosen_turf = validate_turf(pick(possible_turfs)) + + if(isnull(chosen_turf)) + possible_turfs.Remove(chosen_turf) + chosen_turf = validate_turf(pick(possible_turfs)) + if(isnull(chosen_turf)) + CRASH("vdom: after two attemps, could not find a valid turf for cache") + + new /obj/structure/closet/crate/secure/bitrunning/encrypted(chosen_turf) + return TRUE + /// Generates a new avatar for the bitrunner. /obj/machinery/quantum_server/proc/generate_avatar(obj/structure/hololadder/wayout, datum/outfit/netsuit) var/mob/living/carbon/human/avatar = new(wayout.loc) @@ -19,19 +36,11 @@ if(istype(jumpsuit)) jumpsuit.set_armor(/datum/armor/clothing_under) -// var/obj/item/clothing/head/hat = avatar.get_clothing_on_part(HEAD) MONKEYSTATION EDIT CHANGE OLD - var/obj/item/clothing/head/hat = avatar.clothingonpart(HEAD) // MONKEYSTATION EDIT CHANGE NEW - we dont have TG's PR #78589 so its named a bit differently - + var/obj/item/clothing/head/hat = locate() in avatar.get_equipped_items() if(istype(hat)) - hat.set_armor(null) - - var/thing = avatar.get_active_held_item() - if(!isnull(thing)) - qdel(thing) + hat.set_armor(/datum/armor/none) - thing = avatar.get_inactive_held_item() - if(!isnull(thing)) - qdel(thing) + QDEL_LIST(avatar.held_items) var/obj/item/storage/backpack/bag = avatar.back if(istype(bag)) @@ -80,6 +89,33 @@ return wayout +/// Loads in any mob segments of the map +/obj/machinery/quantum_server/proc/load_mob_segments() + if(!length(generated_domain.mob_modules)) + return TRUE + + var/current_index = 1 + shuffle_inplace(generated_domain.mob_modules) + + for(var/obj/effect/landmark/bitrunning/mob_segment/landmark in GLOB.landmarks_list) + if(current_index > length(generated_domain.mob_modules)) + stack_trace("vdom: mobs segments are set to unique, but there are more landmarks than available segments") + return FALSE + + var/path + if(generated_domain.modular_unique_mobs) + path = generated_domain.mob_modules[current_index] + current_index += 1 + else + path = pick(generated_domain.mob_modules) + + var/datum/modular_mob_segment/segment = new path() + segment.spawn_mobs(get_turf(landmark)) + mutation_candidate_refs += segment.spawned_mob_refs + qdel(landmark) + + return TRUE + /// Scans over neo's contents for bitrunning tech disks. Loads the items or abilities onto the avatar. /obj/machinery/quantum_server/proc/stock_gear(mob/living/carbon/human/avatar, mob/living/carbon/human/neo, datum/lazy_template/virtual_domain/generated_domain) var/domain_forbids_items = generated_domain.forbids_disk_items @@ -111,6 +147,11 @@ continue var/datum/action/our_action = new ability_disk.granted_action() + + if(locate(our_action.type) in avatar.actions) + failed = TRUE + continue + our_action.Grant(avatar) continue @@ -124,4 +165,4 @@ avatar.put_in_hands(new item_disk.granted_item()) if(failed) - to_chat(neo, span_warning("One of your disks failed to load. You must activate them to make a selection.")) + to_chat(neo, span_warning("One of your disks failed to load. Check for duplicate or inactive disks.")) diff --git a/code/modules/bitrunning/server/signal_handlers.dm b/code/modules/bitrunning/server/signal_handlers.dm index c41c0b529fc8..bd98c1ce2a1d 100644 --- a/code/modules/bitrunning/server/signal_handlers.dm +++ b/code/modules/bitrunning/server/signal_handlers.dm @@ -14,8 +14,9 @@ /obj/machinery/quantum_server/proc/on_delete(datum/source) SIGNAL_HANDLER + sever_connections() + if(generated_domain) - sever_connections() scrub_vdom() if(is_ready) @@ -25,23 +26,6 @@ if(circuit) qdel(circuit) -/// Handles examining the server. Shows cooldown time and efficiency. -/obj/machinery/quantum_server/proc/on_examine(datum/source, mob/examiner, list/examine_text) - SIGNAL_HANDLER - - examine_text += span_infoplain("Can be resource intensive to run. Ensure adequate power supply.") - - if(capacitor_coefficient < 1) - examine_text += span_infoplain("Its coolant capacity reduces cooldown time by [(1 - capacitor_coefficient) * 100]%.") - - if(servo_bonus > 0.2) - examine_text += span_infoplain("Its manipulation potential is increasing rewards by [servo_bonus]x.") - examine_text += span_infoplain("Injury from unsafe ejection reduced [servo_bonus * 100]%.") - - if(!is_ready) - examine_text += span_notice("It is currently cooling down. Give it a few moments.") - return - /// Whenever something enters the send tiles, check if it's a loot crate. If so, alert players. /obj/machinery/quantum_server/proc/on_goal_turf_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) SIGNAL_HANDLER @@ -50,6 +34,15 @@ if(isnull(chosen_forge)) return + if((obj_flags & EMAGGED) && isliving(arrived)) + var/mob/living/creature = arrived + + if(!creature.mind?.has_antag_datum(/datum/antagonist/bitrunning_glitch, check_subtypes = TRUE)) + return + + INVOKE_ASYNC(src, PROC_REF(station_spawn), arrived, chosen_forge) + return + if(istype(arrived, /obj/structure/closet/crate/secure/bitrunning/encrypted)) generate_loot(arrived, chosen_forge) return @@ -70,7 +63,8 @@ var/mob/living/creature = thing if(ismegafauna(creature)) - creature.AddElement(/datum/element/virtual_elite_mob) + var/mob/living/simple_animal/hostile/megafauna/boss = creature + boss.make_virtual_megafauna() continue mutation_candidate_refs.Add(WEAKREF(creature)) diff --git a/code/modules/bitrunning/server/threats.dm b/code/modules/bitrunning/server/threats.dm index 451b4c48c190..e4fd60176c97 100644 --- a/code/modules/bitrunning/server/threats.dm +++ b/code/modules/bitrunning/server/threats.dm @@ -3,6 +3,37 @@ spawned_threat_refs.Add(WEAKREF(threat)) SEND_SIGNAL(src, COMSIG_BITRUNNER_THREAT_CREATED) +/// Choses which antagonist role is spawned based on threat +/obj/machinery/quantum_server/proc/get_antagonist_role() + var/list/available = list() + + for(var/datum/antagonist/bitrunning_glitch/subtype as anything in subtypesof(/datum/antagonist/bitrunning_glitch)) + if(threat >= initial(subtype.threat)) + available += subtype + + shuffle_inplace(available) + var/datum/antagonist/bitrunning_glitch/chosen = pick(available) + + threat -= initial(chosen.threat) * 0.5 + + return chosen + +/// Selects a target to mutate. Gives two attempts, then crashes if it fails. +/obj/machinery/quantum_server/proc/get_mutation_target() + var/datum/weakref/target_ref = pick(mutation_candidate_refs) + var/mob/living/resolved = target_ref.resolve() + + if(resolved) + return resolved + + mutation_candidate_refs.Remove(target_ref) + if(!length(mutation_candidate_refs)) + return + + target_ref = pick(mutation_candidate_refs) + resolved = target_ref.resolve() + return resolved + /// Finds any mobs with minds in the zones and gives them the bad news /obj/machinery/quantum_server/proc/notify_spawned_threats() for(var/datum/weakref/baddie_ref as anything in spawned_threat_refs) @@ -19,3 +50,115 @@ alert.desc = "The server is resetting. Oblivion awaits." to_chat(baddie, span_userdanger("You have been flagged for deletion! Thank you for your service.")) + +/// Removes a specific threat - used when station spawning +/obj/machinery/quantum_server/proc/remove_threat(mob/living/threat) + spawned_threat_refs.Remove(WEAKREF(threat)) + +/// Selects the role and waits for a ghost orbiter +/obj/machinery/quantum_server/proc/setup_glitch(datum/antagonist/bitrunning_glitch/forced_role) + if(!validate_mutation_candidates()) + return + + var/mob/living/mutation_target = get_mutation_target() + if(isnull(mutation_target)) + CRASH("vdom: After two attempts, no valid mutation target was found.") + + var/atom/thing = mutation_target + thing.create_digital_aura() + + var/datum/antagonist/bitrunning_glitch/chosen_role = forced_role || get_antagonist_role() + var/role_name = initial(chosen_role.name) + + var/datum/callback/to_call = CALLBACK(src, PROC_REF(spawn_glitch), chosen_role, mutation_target) + mutation_target.AddComponent(/datum/component/orbit_poll, \ + ignore_key = POLL_IGNORE_GLITCH, \ + job_bans = ROLE_GLITCH, \ + to_call = to_call, \ + title = role_name, \ + header = "Bitrunning Malfunction", \ + ) + + return mutation_target + +/// Orbit poll has concluded - spawn the antag +/obj/machinery/quantum_server/proc/spawn_glitch(datum/antagonist/bitrunning_glitch/chosen_role, mob/living/mutation_target, mob/dead/observer/ghost) + if(QDELETED(mutation_target)) + return + + if(QDELETED(src) || isnull(ghost) || isnull(generated_domain) || !is_ready || !is_operational) + var/atom/thing = mutation_target + thing.remove_digital_aura() + return + + var/role_name = initial(chosen_role.name) + var/mob/living/antag_mob + switch(role_name) + if(ROLE_NETGUARDIAN) + antag_mob = new /mob/living/basic/netguardian(mutation_target.loc) + else // any other humanoid mob + antag_mob = new /mob/living/carbon/human(mutation_target.loc) + + mutation_target.gib(DROP_ALL_REMAINS) + + antag_mob.key = ghost.key + var/datum/mind/ghost_mind = antag_mob.mind + ghost_mind.add_antag_datum(chosen_role) + ghost_mind.special_role = ROLE_GLITCH + ghost_mind.set_assigned_role(SSjob.GetJobType(/datum/job/bitrunning_glitch)) + + playsound(antag_mob, 'sound/magic/ethereal_exit.ogg', 50, vary = TRUE) + message_admins("[ADMIN_LOOKUPFLW(antag_mob)] has been made into virtual antagonist by an event.") + antag_mob.log_message("was spawned as a virtual antagonist by an event.", LOG_GAME) + + add_threats(antag_mob) + +/// Oh boy - transports the antag station side +/obj/machinery/quantum_server/proc/station_spawn(mob/living/antag, obj/machinery/byteforge/chosen_forge) + antag.balloon_alert(antag, "scanning...") + chosen_forge.setup_particles(angry = TRUE) + radio.talk_into(src, "SECURITY BREACH: Unauthorized entry sequence detected.", RADIO_CHANNEL_SUPPLY) + SEND_SIGNAL(src, COMSIG_BITRUNNER_STATION_SPAWN) + + var/timeout = 2 SECONDS + if(!ishuman(antag)) + radio.talk_into(src, "Fabrication protocols have crashed unexpectedly. Please evacuate the area.", RADIO_CHANNEL_SUPPLY) + timeout = 10 SECONDS + + if(!do_after(antag, timeout) || QDELETED(chosen_forge) || QDELETED(antag) || QDELETED(src) || !is_ready || !is_operational) + chosen_forge.setup_particles() + return + + var/datum/component/glitch/effect = antag.AddComponent(/datum/component/glitch, \ + server = src, \ + forge = chosen_forge, \ + ) + + chosen_forge.flicker(angry = TRUE) + if(!do_after(antag, 1 SECONDS)) + chosen_forge.setup_particles() + qdel(effect) + return + + chosen_forge.flash() + + if(ishuman(antag)) + reset_equipment(antag) + else + radio.talk_into(src, "CRITICAL ALERT: Unregistered mechanical entity deployed.") + + do_teleport(antag, get_turf(chosen_forge), forced = TRUE, asoundin = 'sound/magic/ethereal_enter.ogg', asoundout = 'sound/magic/ethereal_exit.ogg', channel = TELEPORT_CHANNEL_QUANTUM) + +/// Removes any invalid candidates from the list +/obj/machinery/quantum_server/proc/validate_mutation_candidates() + for(var/datum/weakref/creature_ref as anything in mutation_candidate_refs) + var/mob/living/creature = creature_ref.resolve() + if(isnull(creature) || creature.mind) + mutation_candidate_refs.Remove(creature_ref) + + if(!length(mutation_candidate_refs)) + return FALSE + + shuffle_inplace(mutation_candidate_refs) + + return TRUE diff --git a/code/modules/bitrunning/server/util.dm b/code/modules/bitrunning/server/util.dm index 0582fc335984..1d3f4e7f14f7 100644 --- a/code/modules/bitrunning/server/util.dm +++ b/code/modules/bitrunning/server/util.dm @@ -22,6 +22,7 @@ "desc" = can_view ? initial(domain.desc) : "Limited scanning capabilities. Cannot infer domain details.", "difficulty" = initial(domain.difficulty), "id" = initial(domain.key), + "is_modular" = initial(domain.is_modular), "name" = can_view ? initial(domain.name) : REDACTED, "reward" = can_view_reward ? initial(domain.reward_points) : REDACTED, )) @@ -53,31 +54,6 @@ return hosted_avatars -/// Gets a random available domain given the current points. Weighted towards higher cost domains. -/obj/machinery/quantum_server/proc/get_random_domain_id() - if(points < 1) - return - - var/list/random_domains = list() - var/total_cost = 0 - - for(var/datum/lazy_template/virtual_domain/available as anything in subtypesof(/datum/lazy_template/virtual_domain)) - var/init_cost = initial(available.cost) - if(!initial(available.test_only) && init_cost > 0 && init_cost < 4 && init_cost <= points) - random_domains += list(list( - cost = init_cost, - id = initial(available.key), - )) - - var/random_value = rand(0, total_cost) - var/accumulated_cost = 0 - - for(var/available as anything in random_domains) - accumulated_cost += available["cost"] - if(accumulated_cost >= random_value) - domain_randomized = TRUE - return available["id"] - /// Locates any turfs with forges on them, returns a random one /obj/machinery/quantum_server/proc/get_random_nearby_forge() var/list/nearby_forges = list() @@ -87,30 +63,39 @@ return pick(nearby_forges) -/// Gets all mobs originally generated by the loaded domain and returns a list that are capable of being antagged -/obj/machinery/quantum_server/proc/get_valid_domain_targets() - // A: No one is playing - // B: The domain is not loaded - // C: The domain is shutting down - // D: There are no mobs - if(!length(avatar_connection_refs) || isnull(generated_domain) || !is_ready || !is_operational || !length(mutation_candidate_refs)) - return list() +/// Gets a random available domain given the current points. +/obj/machinery/quantum_server/proc/get_random_domain_id() + if(points < 1) + return - for(var/datum/weakref/creature_ref as anything in mutation_candidate_refs) - var/mob/living/creature = creature_ref.resolve() - if(isnull(creature) || creature.mind) - mutation_candidate_refs.Remove(creature_ref) + var/list/random_domains = list() - return shuffle(mutation_candidate_refs) + for(var/datum/lazy_template/virtual_domain/available as anything in subtypesof(/datum/lazy_template/virtual_domain)) + var/init_cost = initial(available.cost) -/// Locates any turfs with forges on them -/obj/machinery/quantum_server/proc/get_nearby_forges() - var/list/obj/machinery/byteforge/nearby_forges = list() + if(!initial(available.test_only) && \ + init_cost <= points && \ + init_cost > BITRUNNER_COST_NONE && \ + init_cost < BITRUNNER_COST_EXTREME \ + ) + random_domains.Add(available) - for(var/obj/machinery/byteforge/forge in oview(MAX_DISTANCE, src)) - nearby_forges += forge + shuffle_inplace(random_domains) + var/datum/lazy_template/virtual_domain/selected = pick(random_domains) + domain_randomized = TRUE - return nearby_forges + return initial(selected.key) + +/// Removes all blacklisted items from a mob and returns them to base state +/obj/machinery/quantum_server/proc/reset_equipment(mob/living/carbon/human/person) + for(var/item in person.get_contents()) + qdel(item) + + var/datum/antagonist/bitrunning_glitch/antag_datum = locate() in person.mind?.antag_datums + if(isnull(antag_datum?.preview_outfit)) + return + + person.equipOutfit(antag_datum.preview_outfit) /// Severs any connected users /obj/machinery/quantum_server/proc/sever_connections() @@ -121,10 +106,19 @@ /// Do some magic teleport sparks /obj/machinery/quantum_server/proc/spark_at_location(obj/cache) - playsound(cache, 'sound/magic/blink.ogg', 50, TRUE) + playsound(cache, 'sound/magic/blink.ogg', 50, vary = TRUE) var/datum/effect_system/spark_spread/quantum/sparks = new() - sparks.set_up(5, 1, get_turf(cache)) + sparks.set_up(5, location = get_turf(cache)) sparks.start() +/// Returns a turf if it's not dense, else will find a neighbor. +/obj/machinery/quantum_server/proc/validate_turf(turf/chosen_turf) + if(!chosen_turf.is_blocked_turf()) + return chosen_turf + + for(var/turf/tile in get_adjacent_open_turfs(chosen_turf)) + if(!tile.is_blocked_turf()) + return chosen_turf + #undef REDACTED #undef MAX_DISTANCE diff --git a/code/modules/bitrunning/util/digital_aura.dm b/code/modules/bitrunning/util/digital_aura.dm new file mode 100644 index 000000000000..a45194933a4f --- /dev/null +++ b/code/modules/bitrunning/util/digital_aura.dm @@ -0,0 +1,43 @@ +/// Creates a digital effect around the target +/atom/proc/create_digital_aura() + var/list/overlays = get_digital_overlays() + if(!length(overlays)) + return + + add_overlay(overlays) + alpha = 210 + set_light(2, l_color = LIGHT_COLOR_BUBBLEGUM, l_on = TRUE) + update_appearance() + +/// Removes the digital effect around the target +/atom/proc/remove_digital_aura() + var/list/overlays = get_digital_overlays() + if(!length(overlays)) + return + + cut_overlay(overlays) + alpha = 255 + set_light(0, l_color = null, l_on = FALSE) + update_appearance() + +/// Returns a list of overlays to be used for the digital effect +/atom/proc/get_digital_overlays() + var/base_icon + var/dimensions = get_icon_dimensions(icon) + if(!length(dimensions)) + return + + switch(dimensions["width"]) + if(32) + base_icon = 'icons/effects/bitrunning.dmi' + if(48) + base_icon = 'icons/effects/bitrunning_48.dmi' + if(64) + base_icon = 'icons/effects/bitrunning_64.dmi' + + var/mutable_appearance/redshift = mutable_appearance(base_icon, "redshift") + redshift.blend_mode = BLEND_MULTIPLY + + var/mutable_appearance/glitch_effect = mutable_appearance(base_icon, "glitch", MUTATIONS_LAYER, alpha = 150) + + return list(glitch_effect, redshift) diff --git a/code/modules/bitrunning/util/service_style.dm b/code/modules/bitrunning/util/service_style.dm new file mode 100644 index 000000000000..f420e7830649 --- /dev/null +++ b/code/modules/bitrunning/util/service_style.dm @@ -0,0 +1,23 @@ +/// Gives the appearance of being an agent +/mob/living/carbon/human/proc/set_service_style() + var/static/list/approved_hair_colors = list( + "#4B3D28", + "#000000", + "#8D4A43", + "#D2B48C", + ) + + var/static/list/approved_hairstyles = list( + /datum/sprite_accessory/hair/business, + /datum/sprite_accessory/hair/business2, + /datum/sprite_accessory/hair/business3, + /datum/sprite_accessory/hair/business4, + /datum/sprite_accessory/hair/mulder, + ) + + var/datum/sprite_accessory/hair/picked_hair = pick(approved_hairstyles) + var/picked_color = pick(approved_hair_colors) + + set_facial_hairstyle("Shaved", update = FALSE) + set_haircolor(picked_color, update = FALSE) + set_hairstyle(initial(picked_hair.name)) diff --git a/code/modules/bitrunning/util/virtual_megafauna.dm b/code/modules/bitrunning/util/virtual_megafauna.dm new file mode 100644 index 000000000000..2707db9e2e74 --- /dev/null +++ b/code/modules/bitrunning/util/virtual_megafauna.dm @@ -0,0 +1,13 @@ +/// Removes all the loot and achievements from megafauna for bitrunning related +/mob/living/simple_animal/hostile/megafauna/proc/make_virtual_megafauna() + var/new_max = clamp(maxHealth * 0.5, 600, 1300) + maxHealth = new_max + health = new_max + + true_spawn = FALSE + + loot.Cut() + loot += /obj/structure/closet/crate/secure/bitrunning/encrypted + + crusher_loot.Cut() + crusher_loot += /obj/structure/closet/crate/secure/bitrunning/encrypted diff --git a/code/modules/bitrunning/util/virtual_mob.dm b/code/modules/bitrunning/util/virtual_mob.dm new file mode 100644 index 000000000000..891f6016879b --- /dev/null +++ b/code/modules/bitrunning/util/virtual_mob.dm @@ -0,0 +1,14 @@ +/// Removes all the "organic" traits from a mob, used for virtual antagonists +/mob/living/carbon/proc/make_virtual_mob() + add_traits(list( + TRAIT_NO_AUGMENTS, + TRAIT_NO_DNA_COPY, + TRAIT_NOBLOOD, + TRAIT_NOBREATH, + TRAIT_NOHUNGER, + TRAIT_RESISTCOLD, + TRAIT_RESISTHIGHPRESSURE, + TRAIT_RESISTLOWPRESSURE, + TRAIT_WEATHER_IMMUNE, + ), TRAIT_GENERIC, + ) diff --git a/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm b/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm index 62fd3117a94e..5035a323d7c3 100644 --- a/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm +++ b/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm @@ -4,6 +4,7 @@ help_text = "It's simple! Enjoy some rays, catch some fish, and have a good time! Don't get bit by the crabs, though." key = "breeze_bay" map_name = "breeze_bay" + reward_points = BITRUNNER_REWARD_LOW safehouse_path = /datum/map_template/safehouse/wood /datum/lazy_template/virtual_domain/breeze_bay/setup_domain(list/created_atoms) diff --git a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm index 01d58e398038..1f3855423614 100644 --- a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm +++ b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm @@ -1,7 +1,6 @@ /datum/lazy_template/virtual_domain/gondola_asteroid name = "Gondola Asteroid" desc = "An asteroid home to a bountiful forest of gondolas. Peaceful." - map_name = "gondola_asteroid" help_text = "What a lovely forest. There's a loot crate here in the middle of the map. \ Hmm... It doesn't budge. The gondolas don't seem to have any trouble moving it, though. \ I bet there's a way to move it myself." diff --git a/code/modules/bitrunning/virtual_domain/domains/pipedream.dm b/code/modules/bitrunning/virtual_domain/domains/pipedream.dm index 8df3ec2120a2..8e681772ada3 100644 --- a/code/modules/bitrunning/virtual_domain/domains/pipedream.dm +++ b/code/modules/bitrunning/virtual_domain/domains/pipedream.dm @@ -2,13 +2,18 @@ name = "Disposal Pipe Factory" cost = BITRUNNER_COST_LOW desc = "An abandoned and infested factory manufacturing disposal pipes." - difficulty = BITRUNNER_DIFFICULTY_MEDIUM + difficulty = BITRUNNER_DIFFICULTY_LOW extra_loot = list(/obj/item/stack/pipe_cleaner_coil/random/five = 1) help_text = "Not long ago, this place was thriving with activity. The workers \ seemed to have left in a hurry, and now productivity is in the bin. Something \ must have trashed the place, but what?" + is_modular = TRUE key = "pipedream" map_name = "pipedream" + mob_modules = list( + /datum/modular_mob_segment/hivebots, + /datum/modular_mob_segment/hivebots_strong + ) reward_points = BITRUNNER_REWARD_LOW safehouse_path = /datum/map_template/safehouse/shuttle diff --git a/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm b/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm index bae0da6874db..dd56684abc63 100644 --- a/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm +++ b/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm @@ -7,7 +7,9 @@ help_text = "A group of Syndicate operatives have stolen valuable cargo from the station. \ They have boarded their ship and are attempting to escape. Infiltrate their ship and recover \ the crate. Be careful, they are extremely armed." + is_modular = TRUE key = "syndicate_assault" map_name = "syndicate_assault" + mob_modules = list(/datum/modular_mob_segment/syndicate_team) reward_points = BITRUNNER_REWARD_MEDIUM safehouse_path = /datum/map_template/safehouse/shuttle diff --git a/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm b/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm index 45d4abec9830..0b1bfedbdb9b 100644 --- a/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm +++ b/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm @@ -1,7 +1,7 @@ /datum/lazy_template/virtual_domain/vaporwave name = "Cosmic Vestige" cost = BITRUNNER_COST_EXTREME - desc = "Suspended in the silent void of space, the Neon Relic is a haunting echo of a retro-futuristic era." + desc = "Suspended in the silent void of space, the Neon Relic is a haunting echo of a retro-futuristic era. Hang out, enjoy the view." difficulty = BITRUNNER_DIFFICULTY_NONE extra_loot = list(/obj/item/stack/spacecash/c500 = 3) key = "vaporwave" diff --git a/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm b/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm index 2bd4105e13c2..ccf5fac23ad0 100644 --- a/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm +++ b/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm @@ -6,7 +6,9 @@ extra_loot = list(/obj/item/toy/plush/rouny = 1) help_text = "You are on a barren planet filled with hostile creatures. There is a crate here, not hidden, \ simply protected. Expect resistance." + is_modular = TRUE key = "xeno_nest" map_name = "xeno_nest" + mob_modules = list(/datum/modular_mob_segment/xenos) reward_points = BITRUNNER_REWARD_LOW safehouse_path = /datum/map_template/safehouse/shuttle diff --git a/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm b/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm new file mode 100644 index 000000000000..8f45afbb2669 --- /dev/null +++ b/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm @@ -0,0 +1,159 @@ +#define SPAWN_ALWAYS 100 +#define SPAWN_LIKELY 85 +#define SPAWN_UNLIKELY 35 +#define SPAWN_RARE 10 + +/datum/modular_mob_segment + /// Spawn no more than this amount + var/max = 4 + /// Set this to false if you want explicitly what's in the list to spawn + var/exact = FALSE + /// The list of mobs to spawn + var/list/mob/living/mobs = list() + /// The mobs spawned from this segment + var/list/spawned_mob_refs = list() + /// Chance this will spawn (1 - 100) + var/probability = SPAWN_LIKELY + +/// Spawns mobs in a circle around the location +/datum/modular_mob_segment/proc/spawn_mobs(turf/origin) + if(!prob(probability)) + return + + var/total_amount = exact ? rand(1, max) : length(mobs) + + shuffle_inplace(mobs) + + + var/list/turf/nearby = list() + for(var/turf/tile as anything in RANGE_TURFS(2, origin)) + if(!tile.is_blocked_turf()) + nearby += tile + + if(!length(nearby)) + stack_trace("Couldn't find any valid turfs to spawn on") + return + + for(var/index in 1 to total_amount) + // For each of those, we need to find an open space + var/turf/destination = pick(nearby) + + var/path // Either a random mob or the next mob in the list + if(exact) + path = mobs[index] + else + path = pick(mobs) + + var/mob/living/mob = new path(destination) + nearby -= destination + spawned_mob_refs.Add(WEAKREF(mob)) + +// Some generic mob segments. If you want to add generic ones for any map, add them here + +/datum/modular_mob_segment/gondolas + mobs = list( + /mob/living/simple_animal/pet/gondola, + ) + +/datum/modular_mob_segment/corgis + max = 2 + mobs = list( + /mob/living/basic/pet/dog/corgi, + ) + +/datum/modular_mob_segment/monkeys + mobs = list( + /mob/living/carbon/human/species/monkey, + ) + +/datum/modular_mob_segment/syndicate_team + mobs = list( + /mob/living/basic/trooper/syndicate/ranged, + /mob/living/basic/trooper/syndicate/melee, + ) + +/datum/modular_mob_segment/syndicate_elite + mobs = list( + /mob/living/basic/trooper/syndicate/melee/sword/space/stormtrooper, + /mob/living/basic/trooper/syndicate/ranged/space/stormtrooper, + ) + +/datum/modular_mob_segment/bears + max = 2 + mobs = list( + /mob/living/basic/bear, + ) + +/datum/modular_mob_segment/bees + exact = TRUE + mobs = list( + /mob/living/basic/bee, + /mob/living/basic/bee, + /mob/living/basic/bee, + /mob/living/basic/bee, + /mob/living/basic/bee/queen, + ) + +/datum/modular_mob_segment/bees_toxic + mobs = list( + /mob/living/basic/bee/toxin, + ) + +/datum/modular_mob_segment/blob_spores + mobs = list( +// /mob/living/basic/blob_minion, MONKEYSTATION EDIT CHANGE OLD - We dont have basic mob spores + /mob/living/simple_animal/hostile/blob/blobspore // MONKEYSTATION EDIT CHANGE NEW - We dont have basic mob spores + ) + +/datum/modular_mob_segment/carps + mobs = list( + /mob/living/basic/carp, + ) + +/datum/modular_mob_segment/hivebots + mobs = list( + /mob/living/basic/hivebot, + /mob/living/basic/hivebot/range, + ) + +/datum/modular_mob_segment/hivebots_strong + mobs = list( + /mob/living/basic/hivebot/strong, + /mob/living/basic/hivebot/range, + ) + +/datum/modular_mob_segment/lavaland_assorted + mobs = list( + /mob/living/basic/mining/basilisk, + /mob/living/basic/mining/goliath, +// /mob/living/basic/mining/brimdemon, MONKEYSTATION EDIT CHANGE OLD - We dont have basic mob brimdemons + /mob/living/simple_animal/hostile/asteroid/brimdemon // MONKEYSTATION EDIT CHANGE NEW - We dont have basic mob brimdemons + /mob/living/basic/mining/lobstrosity, + ) + +/datum/modular_mob_segment/spiders + mobs = list( + /mob/living/basic/spider/giant/ambush, + /mob/living/basic/spider/giant/hunter, + /mob/living/basic/spider/giant/nurse, + /mob/living/basic/spider/giant/tarantula, + /mob/living/basic/spider/giant/midwife, + ) + +/datum/modular_mob_segment/venus_trap + mobs = list( +// /mob/living/basic/venus_human_trap, MONKEYSTATION EDIT CHANGE OLD - We dont have basic mob venus traps + /mob/living/simple_animal/hostile/venus_human_trap // MONKEYSTATION EDIT CHANGE NEW - We dont have basic mob venus traps + ) + +/datum/modular_mob_segment/xenos + mobs = list( + /mob/living/simple_animal/hostile/alien, + /mob/living/simple_animal/hostile/alien/sentinel, + /mob/living/simple_animal/hostile/alien/drone, + ) + +#undef SPAWN_ALWAYS +#undef SPAWN_LIKELY +#undef SPAWN_UNLIKELY +#undef SPAWN_RARE diff --git a/code/modules/bitrunning/virtual_domain/safehouses.dm b/code/modules/bitrunning/virtual_domain/safehouses.dm index 6504d447f28c..79c8d5fe895b 100644 --- a/code/modules/bitrunning/virtual_domain/safehouses.dm +++ b/code/modules/bitrunning/virtual_domain/safehouses.dm @@ -6,51 +6,49 @@ /datum/map_template/safehouse name = "virtual domain: safehouse" - returns_created_atoms = TRUE /// The map file to load - var/filename = "den.dmm" + var/filename = "den" /datum/map_template/safehouse/New() - mappath = "_maps/safehouses/" + filename + mappath = "_maps/safehouses/[filename].dmm" ..(path = mappath) /datum/map_template/safehouse/test_only filename = "test_only_safehouse.dmm" - /// The default safehouse map template. -/datum/map_template/safehouse/wood - filename = "wood.dmm" - /datum/map_template/safehouse/den - filename = "den.dmm" + filename = "den" + +/datum/map_template/safehouse/wood + filename = "wood" /datum/map_template/safehouse/dig - filename = "dig.dmm" + filename = "dig" /datum/map_template/safehouse/shuttle - filename = "shuttle.dmm" + filename = "shuttle" // Has space tiles on the four corners. /datum/map_template/safehouse/shuttle_space - filename = "shuttle_space.dmm" + filename = "shuttle_space" /datum/map_template/safehouse/mine - filename = "mine.dmm" + filename = "mine" // Comes preloaded with mining combat gear. /datum/map_template/safehouse/lavaland_boss - filename = "lavaland_boss.dmm" + filename = "lavaland_boss" // Chill out /datum/map_template/safehouse/ice - filename = "ice.dmm" + filename = "ice" /datum/map_template/safehouse/bathroom - filename = "bathroom.dmm" + filename = "bathroom" /** * Your safehouse here * /datum/map_template/safehouse/your_type - * filename = "your_map.dmm" + * filename = "your_map" */ diff --git a/code/modules/bitrunning/virtual_domain/virtual_domain.dm b/code/modules/bitrunning/virtual_domain/virtual_domain.dm index 5e6cb0f2582e..6e7b98ccdb49 100644 --- a/code/modules/bitrunning/virtual_domain/virtual_domain.dm +++ b/code/modules/bitrunning/virtual_domain/virtual_domain.dm @@ -1,6 +1,5 @@ /** * # Virtual Domains - * This loads a base level, then users can select the preset upon it. * Create your own: Read the readme file in the '_maps/virtual_domains' folder. */ /datum/lazy_template/virtual_domain @@ -10,22 +9,30 @@ /// Cost of this map to load var/cost = BITRUNNER_COST_NONE - /// The description of the map + /// The safehouse to load into the map + var/datum/map_template/safehouse/safehouse_path = /datum/map_template/safehouse/den + /// Any outfit that you wish to force on avatars. Overrides preferences + var/datum/outfit/forced_outfit + /// The description of the map for the console UI var/desc = "A map." - /// The 'difficulty' of the map, which affects the ui and ability to scan info. + /// Affects the ui and ability to scan info. var/difficulty = BITRUNNER_DIFFICULTY_NONE - /// An assoc list of typepath/amount to spawn on completion. Not weighted - the value is the amount - var/list/extra_loot /// The map file to load var/filename = "virtual_domain.dmm" - /// Any outfit that you wish to force on avatars. Overrides preferences - var/datum/outfit/forced_outfit /// If this domain blocks the use of items from disks, for whatever reason var/forbids_disk_items = FALSE /// If this domain blocks the use of spells from disks, for whatever reason var/forbids_disk_spells = FALSE /// Information given to connected clients via ability var/help_text + /// Whether to display this as a modular map + var/is_modular = FALSE + /// Byond will look for modular mob segment landmarks then choose from here at random. You can make them unique also. + var/list/datum/modular_mob_segment/mob_modules = list() + /// An assoc list of typepath/amount to spawn on completion. Not weighted - the value is the amount + var/list/extra_loot + /// Forces all mob modules to only load once + var/modular_unique_mobs = FALSE // Name to show in the UI var/name = "Virtual Domain" /// Points to reward for completion. Used to purchase new domains and calculate ore rewards. @@ -34,8 +41,6 @@ var/start_time /// This map is specifically for unit tests. Shouldn't display in game var/test_only = FALSE - /// The safehouse to load into the map - var/datum/map_template/safehouse/safehouse_path = /datum/map_template/safehouse/den /// Sends a point to any loot signals on the map /datum/lazy_template/virtual_domain/proc/add_points(points_to_add) diff --git a/code/modules/client/preferences/middleware/antags.dm b/code/modules/client/preferences/middleware/antags.dm index e13167ba7347..44cb0017e16c 100644 --- a/code/modules/client/preferences/middleware/antags.dm +++ b/code/modules/client/preferences/middleware/antags.dm @@ -116,7 +116,7 @@ /datum/asset/spritesheet/antagonists/create_spritesheets() // Antagonists that don't have a dynamic ruleset, but do have a preference var/static/list/non_ruleset_antagonists = list( - ROLE_CYBER_POLICE = /datum/antagonist/cyber_police, + ROLE_GLITCH = /datum/antagonist/bitrunning_glitch, ROLE_FUGITIVE = /datum/antagonist/fugitive, ROLE_LONE_OPERATIVE = /datum/antagonist/nukeop/lone, ROLE_SENTIENCE = /datum/antagonist/sentient_creature, diff --git a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm index 65f255e61dc2..2d25306fc85e 100644 --- a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm @@ -100,3 +100,7 @@ /obj/item/reagent_containers/cup/glass/drinkingglass/filled/nuka_cola name = "Nuka Cola" list_reagents = list(/datum/reagent/consumable/nuka_cola = 50) + +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada + name = "Pina Colada" + list_reagents = list(/datum/reagent/consumable/ethanol/pina_colada = 50) diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_cyberpolice.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_glitch.png similarity index 100% rename from code/modules/unit_tests/screenshots/screenshot_antag_icons_cyberpolice.png rename to code/modules/unit_tests/screenshots/screenshot_antag_icons_glitch.png diff --git a/icons/effects/bitrunning.dmi b/icons/effects/bitrunning.dmi index bfdc7c63436c2f20dbd6ae62d511783f11a78475..8efa429389c3a50521ec4f2c366279a3505cf993 100644 GIT binary patch delta 2754 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 ZzX3~;mvqUb+8O`=002ovPDHLkV1lcdTCxBD diff --git a/icons/effects/bitrunning_48.dmi b/icons/effects/bitrunning_48.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e7c5bf37d8e89e8f303607d451fc4a5356a802a9 GIT binary patch literal 894 zcmV-^1A+XBP))Q&4OR-u%f5{HNe2Y^o3xJ00001bW%=J06^y0W&i*Hih5L7bVOxyV{&P5 zbZKvH004NLQ&w> zFs&#xr8pxqtpvMyhFr=Du6{0HcLD&`-!7UsN*)FP00MqVL_t(&f$iGSaicI4g<(hq z5*0{PAW?xt1>hpme+dzJvS6+uz)j}CMzqezo~ij{PSR;7ntQC zJEs7#1-Ba@#w)<{25L_w5S()X0Y4M1j!YhLZ~+0|3-}KKTtz_iz6bEjvUCCq0V!V2!44r$#F_L^JmOy*P=6V z0FTp89I8A8FbrvLJ}&`6@(SSbA{Lt3_(&gw95IEFKnghidX2?!W7R-rAmQunRMne) z%?xA)k_2iMQ9{O$p0GEzG# zrzck~gkOc@i%6cF5G#HaUIG{(UofBi(3S*D0IK-qt8#MD!RUJOxf9TQj^f1{mmOK5_niC4EQg=V;Nw80R|XgfC2aQ1w|Y$ UKOXoy0RR9107*qoM6N<$f`!0-UH||9 literal 0 HcmV?d00001 diff --git a/icons/effects/bitrunning_64.dmi b/icons/effects/bitrunning_64.dmi new file mode 100644 index 0000000000000000000000000000000000000000..397b4709c83b36e00aaa82bb1abd992733d1ff32 GIT binary patch literal 950 zcmV;n14;aeP))Q&4OR-u%f5{HNe2Y^o3xJ00001bW%=J06^y0W&i*Hi+WU8bVOxyV{&P5 zbZKvH004NLQ&wd4^od3a)-GV0Qul)V(g2mvvNa0008DNklVEI@K?f(M6;Mc8he*}Q<2gU&o1L!Sf zyW@f5hR1m*VDO%9G;ICp0D4>h9|(7EpeTx>D2k#eilQirqWt#!fb#xa!7yOq9R_4R zdz2g50^}Xw_5%7an*uB>xS&8999{rm0ef8k0wBQc9WIW)1c1eB%l86e3JiefllB1D z<{NrJ%m%CL6p$jE-^+He_`GpI#()INdakm{Y0VgrF(6Sut)z6DVR5^c=MgaV1_cNx z6>d3GyPg^+7imTtfKL8$Lk3R(TB#BnxAr2G( z8?`zRpQN!}YGGxyk}D~Trx$zJO6Ecy1n_Sg0tmR*>=ghRCY4pvZ8sjWI;%b3o}X}2 zI(7f~0M)(~MNt$*Q55Bd{2>uQ009ILKmY**_-z31zCMqBJAfBpIw1P@2Bb6{kY)o) znhQ9m1HKlIzZ+0|nG1O8F!*Lb>_5da6Yz8;7U1mw&k;ZX0R#|0009ILKmY**5a4dW YUzd-RP7zA3_y7O^07*qoM6N<$f@Exr6#xJL literal 0 HcmV?d00001 diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi index 180a65f5cc939674111878cdea5f1d9f75e2c34d..20aca1f847ac370a4ddba34c4d6c0722291ff50a 100644 GIT binary patch literal 127242 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 <0l4I`eCJkhhoMO_iCFi`!*2^Nv(C4 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

e2Be+hmwCp1()rW%ipL+tVw7Kq8) znB<0tDcZo$tvgq4RykKk<1qc7WD({7z%k@gOOZYp(1tJpZohMdANW4WGy7ZjyO(#~ z;I&mFaL5!Kt=)SnUOFv}&%&^S=GOrMXS>k^kTHGSr`Mo|s(dx@&J93+@Lr4?GXqkP zmMeyzxi#RAoZ2cG`N+&4M44%rMD;`q@J?y0;E#iR`@hGJiH64n^5QFaPHwGF8{g3; zyf8b3qLTZ)mXCmI=j4q!SuoGESD6dj=LDI@_RXIjE^WK-ykQCcfAfYcK-A0MpjBKW zxi>&L3|tH-?r@0)es-Lcfz3-pTxoV|#-UCTHnhWlQrxC%UP6JOUcKOd&c{KK01<_- zCP&lYbI;ZmLq0Py>CS^&ZZ$p&4bxS5T@xElWv5(_FPg(+la))3zg%&rCyO1`secKeLa{Wts49inZP<8P{e+~S^ zTK>UM1KliY>)iFDuD}c7d4pd=Sp*Hjb^lX1sCx(T}C# zSwFvY<3K_7Vi5C3XTQinB-11uIYQ&>;Eb-Efv(N=q|iZhMbG#O2_RV*6kPxclV<9H zZm}VgH-PN|luaG>-w=}plY-94BizY1!N`h1ObGWNp$OipBV7&M2_~YiU~sS8Xpq<2 zUHtSWjqvsHgt3M$D|hYiC?u4+nt*A!qX-p_$h+hLwraD)m1|(bf%ik1v&c;I?eGQf z-;7%8D$wCK^T^So(~F31lz43V!rQU(Y1xeD$sm#O7Gvd!k|=TOJ-lQ%mDwvbNaopSnjF``V_(Pkd#LZg8; z>-&}_)iVVA#4W)J#zF~MIYozHv`G608neMD4sY6FbDAEVI3B5K{pf5%|uCtt<@~wIf zhmy0p(k%)1j%9RtqVvA`9Aq~0_lyruz^ts9lsI;t7h?MwqS+mH zeHK`^v7pnx#5<>de$W+Qyrh#35fEEY={lgMxgs5)AL`**Gut^JWP(nw=|Y98x&e{f z4zqe=Y!rM}Yv=w^&=D2f_gFKZ2_B~K6^nZN-89zO^M_0Y z(!gSgh-M?lV(h!#t9PW96C=m5X#dRDJ+&vQL$58-<(reeaSJjyvEj?cSl0L9a*hiu z-aajBZ9_V7eXyUkag!v}DJx|OcAEni&nl1~vF+HGZ$G3#H#t;xR;%m?OImBlxo9d<4X?bFMB*qq=UQwOQWZ;QT~)<#Sw2 zlg8{%U0SeFP^+6%1$8|g>(1oeOCbg;Zd|_L9`3-(;^BrP4+TaZUcPlMJtyFP&EsO_ zK>nReVM!y^+4C0TNaWEb9*L^lIZpkM6X3z&&y-Gs#wVlzr|?YK6^5<>NNuq{%6?}| z1f-yv&G?+`=+Q33uWx69*}~7i?@)-9s`A)>`5~H~y#-^rgwwZ-FJ5YVtl?>i01`UP zdG8MNI$ea(-FBcw2;Ug{P+Q#3)mX;xIq{CSHs`eylRIjis*r={gy1|oca9IgC$O7g zjzF$PC>9U~=;#bY_qJB(4+RqFxv1ZSBTXw1h^3bD9w3dP_9E%-yJS&*t~YgiZWNy3 zbnNlT!b$3fB}XYM#fyDbAz=~klE!T*)jC+;paK{ZlCXt4I{BIJRSoh2GMtZHpRU;0 zWa`su@*c9Ggt3Qo51y;G0RaKqvQvYn*6QdQW2x6J`12RxR(s{qU<6Q9V^AP7A37Z) ziiHAfdx^I<_!IH}eMco20USZk$O}eBfBffM-*lo;H;`#aIrN=xo~pX|0{?=)qTjN5 zp~3)7E>Nww=OzAVmSRo5v{uZ4{Zt=nClm#%vnU2}doiRG0?+y&TI=g9uYK?{0xa)B zdagtEnhus8`!a1UDa2Izlk{Z~eK}t{=hPozAMM8W$@y^$Vrbt4YO<1qmDgcgr67LR*^pL8ltEykcY8!dIRYOTnFHN2_SZp-zX|7{98WXca6QD~%ohY_> zPCftRqQcX{LT5omQgWb&{Sj--)tM|h7Aav|XZ`9Lc& z=_J>qS_|~ip1s7M#p}5Zs3w#o%ZjiLG#kW@TK)#71&Vz$b4Oz@b}tA;kvD<6YjuON z??<*aVDc9GGyc5Uk9Obfh%d-@O;Ge3z283I zF+t~{EcmlX%-!FCDeq~!agsU?rq7dLIt$xpXp1*xn9BNTa~sRH7#%qf+7qt{=7Pak)Z{p zKIdppdz`@#_l|I7fwdTZdVZjko=k?Zlkmwc`Aq%&Maz@7qRy^e?QW0F z{k4O&{v}ZYuRuwqJQ~`56k0&?4BbyViHe5d1^OHsxQ{`dM9#^8LJebwVM<43wnt&j zcx@F6A>$Ls%WRzNf@>-__rAOU+U4UW+0c0hJ}^8vEtQnQTCmw%?mU%X(p-Yz1T{Z7 z*)-wvb(WR=+AusK9S}l@it<2KBox4=1hi`G?X}T(ilW{&zD?m?i~XK|AdrjYc`DLf z^S#+p2`5Q9Qok*c_U%&R*_l<^AP15*Q2(pn5|9jlLMFg5tDYM(x#UR5A_f!yUJp~P z-~A~JIRbD1vC1_>n@pF2hj{Prl zn&EoE)OWzdcotnQ4AkZf&YUo1*TBvDc}6Ox4ePQvudGX?+ z5`Byol{1D`MM+WxO9S!%ex@qUQ~}QWm<-6mNjK!C2arB|Qa|L4)7GXIxrN*FRYd!U zLwbNnz7!N(8KlP>(gdD8zfaWZj_p5cRx6PjWguRrXSRfJ|ld9wOX{V{d*GB_7K(a9k*$SoC@Z7Ta3aPdbWQ4Akk~#PSp<2 zOmF$2^C9QiiVdv1VeJ)&EyqzS_sd_ELfXE|%~wn)0saj_C*a1V`u;EQDj4+L8I0WC zs06NT@PsV&daNf|e>MbpBK)Q>-s4MYNlvv~umM;@RqImE8KN!Qyk?|Ba1LzTfz51b zijFRlID3yxt(E`!>4A*=ldVG7JR^ zsx|q~c7-SX z#h3sPg**7)!tcfTzMKvDsV3$$^zoeQKxdGnm13YPQH>eevk>JM6`aX<`HKh7E$?0M ztPA%J_#~PgBC763E=RoHgtC&mm&+Eji-3#7U@PAJ-P9IfM3D%AhY<%JtY%W5&4&~b zT?d%Cn(_@t5d>2G!W%7?NU^7@6;QY{v@_9gBOu_`xeq3x+TSFHyZ2-IHTYm!A8h-M zswu8`EI6#MtgE!9PamJZ60l243t~x|y&@TJN-@>0ZET#mEA)43XmSuZY;a~a`0AJs zsw%q`bUEqLC474tNHY>e3&~2wN;+X_NFWdE{}4g4@?{Gncq(|n^FKbshA$_yx^Ay; zT&(XninNj+5}cKfM8NS*Qu%0)93w33!Zne?VC(CCSm*QH3s)A0zhGO*oki?2yJmcv zfC9Ge`n#abHl6)*J@MsNe&uy!j;)vvMpxKHt)hM*LU1?D2-34^NMcMOy7*dp=cL-M~9CyTRzY3)OApJ$93Eu58kYX76!87HAnsxat zF*Fc7<$L3C*P*#$_EhFur=wRsHLi^oc$8P$0{vN54w^R8(xzTF>le_;1@J4J~!&<4&1mUD?a&?2}_ zT}y%}c0Hbr^E(|UEIAIES)-7|P!mEdWZe!v+n2r2D3Nr3{O5K6<&U{PKqKDbrnMlykrQi?T z*7L0dkhsC?e~=tCWqBX!tGGUX-1t&lC?jVLkv89;f=GX>pl_yyde9BRLDb{!%;&N+sf@N-;(YTj&`8b0t()Hv7pS`_V zha3CiLOfC(qpxm@tni>sX)jfq21zClW(@e@Msq@09nGh1mD z7bd06$|nunarj}QJD>ekA)%eiWR&n+tc8F9g*7a#wy~$=YK2zuS)G1|3#jD{U@$B0est?boVQYO5JCK7U626KNbi z3?7Sw+^vg*<(h3eZtMk}PgrMW`WN=`W*;J_5|?qWh3zN5mhfoY$F{h?`83f;4j$-w zVGG8&NVK+|#}Yue4m^wPS8Pjz|C_tu3f`BH}SGR8R(l^WC+t2A@~Z9%VKlVJ)c3r3GF;znCgC?{F-urRd08&5Rut^x-|c@r-+?S zL&RnRk@I%8=aMhc#_}A|zO2Y>wmIqqD~1Y7sOfs2wJcii<8m)I-&3kdN{3iTDBJPt z2jk2?b8!xDvLcWR*jq5n!ugQf;&JQHlWo@O{p8#E+L$9fVN>KGtwv*M81KV3 z6~1BpulQe{e?T%aX!}!KskTvboVrSlAfin@IbS^j(qPc!B-uRwjJA>8xUZns%VZdQdwfgiHB*?w2oXv5DAPIcaF+0#-eZ&{@;qG36_kJHbcMlJsxO9 zto{w1qpAHV{Jq}e%*Uvpwa?959-pj_d zg|GnU&jZqni@w%oHI7NxC3S7T7#T@2Za1LE3IhbF%)n|z7bKlpS|xL@bwH?+`7#qF zJSb>cxmVP6_%MK0Z{9IHjNAXK3;Ro;qz8+Jav$H{7-+8{-e7%18}gS4ANd4krXg-N zZ@m}DItUabs53%?t-imxQNQHyIV)t^$+2z@J}B_=ngN|BKYMR07T$}6wqA!ILNMoA z>rzc_x~Mg&_lZi8w}|GGBaxm)Ov8C#&38JCv-7i)Je~H!*TyyHk7|`=&+}WZevn{H zZL(CI0Om!8?>@U9pL>}F6fFF|fiBn(^Z2@&cCK*Y_1~1OJZ0qR$f%t|+3!giLf`@;;4jOuRmz?$w(4Zi5!x;Pszeb)5%zlT7mb%fUiTn{p=md^h`!ZlL)QlDDuy|sg_%Ax9xtnr5DKToH zX>*x5ea+XMDJDoPU5)rAs5;WIkC5loDGT);Xq=~b)*yp8-x@YxCw|IYrM@g>|e0I#!`=-rhaB&E)ORi~)C zTr|;s>dP05l;=OpG;HK5wTwF+FO}iQ9G8{d>e%6S8ynSXGEX3e;1<4&7PRSK!LbKx z5Qr6P+I<+H=ojX^_Z=y6hDtr20dlb;-~fPH{N|D@7Ba^i6SXppd%;|KFG*<;P)Ovom`MfQ?O^);P933+ai_gyZ z;%pOR<*f1U?2e-bMtq~6rzg9>>&7-sD&AAtx1kxb#}0E|78RvQYQgxU3?Uex^B=A} zfVFq8V>G`qvjhy(Urxe`m66s}OGMMQ;`5#vYBtr;f4>_;e$dW}ILh>d8TM zcH0Mj+S*FXI{R^IeBx->(HlL<_#!cnv;IUk9!a1Ve@{-21{QNF==`B}p_mumF`^y` z-nX~MgH#LEEz+*+rYE?ye+Yp<7@~QRT{oTn zj+|_?V2#=drLw4`|HvapT2TWP&|6^;I$rMw<2}~+Z)BGmbd!Pxyql& zh4!W%VIJ5X(_i%1U}|!kYODMbd>}$)EJDc$aVQUvF<#cJDSX;wx23UbGZVSNP)|WB z&U^l6sgKhj02=QBrrv9xrR!Ry`uRNJN~^~#eCBw0*6n_YOA8%7(qmQRk5pX!hb#37 zvVzg(g8`7Np_*2Y;Q6g?Oy$$cbEzqKskz4ghG5Tz)~iY?P?L zbD70>BavQBDKy83iH8xbqQ)*i>HJFR)iGi}fK`&fV_epAX;IOD#q1%(&+v@cB_&mBV!4_%+Q}xzQ z!r~Ri{Vm2v>EQdv2GX{rOGG|36$&cvCl2Wprf0a5>8H{_Oh!|`-;g^E5PiJEbb4o* zsPe{gaBG;CPrs@}32*BNuqW^XTjBe_1Qolfb78v@0wJ68w7k{&TEQ&zhv;A2RA5&~ zC>u@=p6~wn3G4Z|q9rc-#+4W}_n!U4iaAN^AbQ|}mFO=h&d~#KAT7gv_^{Pl-LgL^ z$}!5*XIy5r#-TGKB|fT)(%1GSbGdu=d{hiz8rVph<+kCD+xgs(}+TlS`WZXjF8J@t#z<2Ng{ZMcPHa&vVTd2pA zAA3?mTdma(`|S;~q_YOduhp=SSw}QbU3tWO%XTOfv7V&bBlsDyj#0dH7I;^Q0@u00 zGy&q$LGJo(m~psNx$(y5H4zuXHKSX-Q9Sn^KonMJsL$~O=NVPI9!V~EP4wvbx#|aw z_DX^40e;R}!c{|i6jwscTS&GbLGVDA-znL5^EChmx#($aHip>d87(HpC6X5szMu zai*vh6{PLw@7E?Nm=i7HTjVF!gOU4#F@5j~lAdjS%_>jWZ z)hm4voG_Pgrf-Ptu7}rlN8g?aLv%!L$r`MD@hy;4Cyzxkisex_$Hx4XJsNS5e|v6& zIibk+UvV!$jpW?<-^MrU2E|mcti9B;G7Pd;#cCyL;-Rx0wn{tPcw|1cQXT8po_|}M z#(0_u8{pU{59|nWnguXVsQi2?Fb%)aLl-l#|CevhtPFth%Ya|$f4r_8>m#3eeg|hp zq35!7j9z{nlyo3(o;O7co!85;@f17VlO&_}gYF#iu6mT$;sIr221jE!_KfTaBJ6po zE@_!!_6GmEk>FO!n1Aw3J-wsaFa8vUd3|={;^zqkM0yWZ(`U&Xm#A&s;Ei-Xh<5Yj zh$L;R946b^?<|_7FF^0!T@&DY$sHiaDYd04;qpuHN{BDvT)E4G8%K^%%>QlL!$mom z_CEjnS=-*vk@EM3kG<|4;{_!6H~yLg-wS{R`ISfCceuyP`!|9DfBgY4TQH3F$|HPf zsQ5=`<3$aVYl}zrqgs?Q0I!i~2A+K*$KLd!ueu@7Qp?iQ$4HY9}W`)m7}Z^w;DE?+2QucAz5-#8#qk$+5-?# zs_o|mYctVvfJ5v7k|Zj1{^&X9fMakT8+dnp5rLN#hf3KPJsSXg1)&JJIOU8Ckjm9t zD}}d|X2AZfQ3MJ{A?Tl=y( zO%&k#R~mX^n;7XY`p$ zPO`~z*BHBRqX0(=2ZG>z_u;CmcB)!m+e<=f4&eqmk||c1yq@A83YAAZ@ByUf@^Sq0 zA=s+!M~UwU?;@)FT}#Q+$uP;#2`q=%4OTGNhmwl*5EcTgiCI;Ep`?!Cy8=LLQBn@! zL7oHrX}kdF1_+s*-G@G1k(ZZm*u)-(Z0kw`2=~b3%g`YF)jOc-vMS^WJ9^O3JI>l; zV_ptjRfuJ%RG}SN!0!+A)3>qb&(KF&^nS!E58`kq!F!a46t_+v^u4+c_qs-Qt%j3Z z1h4}s@N~3WA8aN)IG$4{$IUm4e=77e5YQPo{_G^R;!d^(pg?9{X+ShA3ci1+kjjzH zdIE0n-Yb8cWnDH?Z2Y2;;t|kQF|n&`zb+W-;l~mDtJpS@@;VVq`H1vYc+e=L9|3`V zoFvVgdsqfFJp3SeFNw=aM?BG_ImVdu+0@|Bn~6?%@*n8{ceW$E;?8=BHq~rdTpLnp zx=%Xxd29oWzijU~QvS}wzEL!Q)O{;C#cmGg6<~gVc^aP?u-v)DQIz946UHy|{c;k( zT7)DQV6o>No#*lpEi==Z&3Xz9-l(0)+-4H_%6pvD@5#1Y$EpnRgKEhiV-#ULW6M^J z=4a5#6$*0oZN%Yy;h)xTz7tK%1q)24{8>}pw)F7>dFn~PJvvGKEf)#|-_HLq8pW+E zAhYUCd;Ziy-~4Jq#gH~tYpt4u!uk4p%B!T71VKW3skdL60Dene@QSL3Ulp*>r*U*B zj!P;uuuWjo-c$0xvWmCr=B;Ihvc><9_Uh);*#d({>0x}BR@w9NKK+aY-2nDaj#+9L zzsi%I7qrCOiQI048&wQHWI=BrpwA zy%mimEer61<+FFU(* z>!c1n(906-*cE1B8OAXvS#&n0Go@hfYp@Re_Ph^Nc`xz?Ys#)GtQg90;|wxqYdQy? zzW)#g2e1{9YZnxelvgQDUK%_aJF$bSq>O#R0^Ij~ES5zH z+fi=N@cm>LV^CUFLCsrzHHC})n_J8(?Vt|!b)cs~`0|F1CqZU;U$XXL17=TbJWl{bLs8ZaypH|ui z<;ua$uBCs<-5?1hcL4736sK{fimj@pC;*+?>^Bj)S*joV;$ps0&0o4qP8{oK!#>V;-WsR3qlsge_m`@x%!r~QFeHpD&G+K|#Nz}*XuFgH(T zVID>~0jn)x>bPQNzF)5&yaUAHGi-$10Cu?B2NTx)`5o9VhTwfD09b6!j9v48u3ljl z+f*NJmHBsDX7-bGMR4p^xZ{K1fzM54a)t+2`&Lu{CH~n}wc|IbWMrudNqwWnT+^Qo zBPc~6MwiU}&4-i64xTqEl@m{f2Jqws#Pb1&Upz8X8&m>|Uq=+i6ib7Wa5GxgNLHo@2kR!T@qk__6ZRetUS;S0NQEYeqZsMGVVf zm2v-xHozhpk>1}*eS$}w>U&(qDbHW@nKS6+d#z(9yIsIg-voRq`Wx((DkaXTfa7@pD>~#=51<;PEtzOR{giQm4&XTBD8GdJ z)Hq5H=hXo0nb%p6c!f)@fbTE@tvx;EDfJGpT7LjH?K9FlD=8ka%C~2yP`Sdo0;kBW zeB8T_HSbaDUSZ`Jn|>;r^VylK%;k@L)RtCBj8cfu^j&J;p{mq;ayiNBY{ORC?O7kd z38<5xHHH_Bn;0LwS+wr@`HR-Oe{hXwQgb7p0Y z#tuJdrrggiaAK6RIaLQ2U4ft!@~Kx6Eg8G2TV~XkUP3Pw-x4V^6k!A;@`<(56bGTi&&hy%7p^1Kt}vQPW|75E%*K-f(MnZ z#HvGL*51a|Y*k$e^0~HtuFc@v04g#YaAC{G`B0k2BYnjGcai&jzw7R7qmrAe@zP(^ zx8O~Mx1^H!2A_QOfJj`$ZNv@^wz2!wS9!?EE%LyGrWuBgKF;!0?Y;UO=v+u(0CQ>) z;-)Xq041PV{o5%;i0>C^K=IHmKzD%ukWpLH|e2{ z10fvUUO0p78Qw!`;Lc^V&O}|LX1a2$8lzaQs^E-@OZTgB8RHfV$zVr1hFw}I;ehla zgoodpb@I8iPBYQZE*2%J3hF!OZz`|0hlsD zz`&7Qk;S>k0HL0D`)8Yla^ke)l>`LPWkB7&q6);hiR|oN-dy;I6a_wod$ul8iKSK77q&%N#j&bXfnaE@-TtOHFK^r0wq;<}ZoI7GUez0zFmQWc ziu1XNTQFG|j=`h8lx7iANoRG0)UzOOid!&SKi|9_x}TwRHsr&w{zqL#&G zAvBQ*=@&o!R*h#|3bs@wM0JT3a|LyJ7l&4&AKdr86BHVEO>V`;HU}tsOPWxEq!E=Xw$jaRqq%67X8h zc|&&N`1&m0RXVv~=CFIH8H`J>~ zt}nkwi)KAG0dM~p>{nnKz5;P-awP+>XYVI600))MGD{6%<7DhdHLRmC9$_^3s~PBTWZoa2t146x>LvvZH_kb>I; zrt!Ou#{gSggTa(E{po5tKl>X8ZU#L1l_z^&D=_AXvV#%k%a#xaF^|iBZRfyXe>C+j z$}c_zF4;76S-5*>u%C#mXUbGP-XRx0$rM zW$Xm)`UG_SO%YJrdLy-GgodOUHPXFrTBW#9Uoj}#%pK0%$7{!N{{Cx6+P1$XF%Z@_ z3!~+82H31pdkc(!FqVJ)a~PA$AONw%d__24z`%P37|gaaU#e+)XUG0c+BE>PPpgJd z(JlLom-P39=B+hHu`9{ zjA166xA*%6W9s$=YZJt(?%i3S^Jm;$aX`uq2zs9xdoU*$hDKK5Lrk3edF1`M;uo`|L!aqQml@J0V1-*xqmfBF8p zP5JTQD=-){uYSVjZc2Wbwoy}QByw2oq;saXvu|e+AR_Fl6poxd@Yq-^e0IhbhQ-`I zN%Eh~k|Fqc1}o6HX^eCJ0Bx|xKAX*mwV#c?N4GCi09|CXsll@SQS{88-&m5~qK`_)edg` zp-X|}j)%$Debqz_rP$9#T~(+IUtn7yC)>_zcp(ljCsynMujM1oB*SMvT=XWvpa zif)_}O>&w~6!Ba#vh%-3v~Sg#yLxNj>c$$=@pGRWCKij2m-guv51u(hs6-$Wm&0!< zYONZZ=CIg!Ht$_y;{ZK{@B+rGEx*lIQ)pX`Y{fFa`&teXb2-x}VyZ_j96#GR_4L)i zgW__}37pKPfvspDU+6rSfp{Pc$JI=ijVDfMo1;g%82WZssFqrqtt&caS8|>kDPZAAq6R-O1>H(H_9(lgc}WRvt-d(c&Bt-5;N(`o4gz z+0mh*J@L{Cxa39Bem$+OUma|GnhLu_b+3W%nj&1zBB--4)?Z6;!b6;U4eO~)zK&xB zOZ6^3KIpo`bV~2d-uPnz@Od%Z6`3h+(U^Lm+os?9OD>9B*L&;oI+GOi<%z8>nZpS@u)Dd?x-uj5JISZ_$gFpvH_SqiSIk%3 zn@Rz2TszA3#31!dtl9Mg`5w;bMkqsMt-c#foTP5H(&aHCfL097&zmJ!yxD(1Z*$RA zFkU{F_xQt^I%8b{GwYHp?Ci68SKZ-!TqKG~3RR!DSkoV64Rb|z9*UTXCo@Wcl?bS( zZ}pZ21JG~zezby-WiHwM{=(JheW#47Rhi|PDYd;lXji>+J_Hg)hr9!{x+R8S1FQ-~E@mf_xR(xz zhDq30-MLBd1bVS_>{2aotj+ZXFm~rs7FlupSjq1wdFwV^Y<@2Z`!(|9Vul+CYLDqG zL8mSIJEfQBXU-LiQ3*s~yPM@V3JJ1=jt&-#`-RY*AvDPx(9IYHLqq)0on>Fp44q%<2dAWCN zbTDg%1xr+dInoB2ntPS!B8b`Mi==>B4y8h_2))N1-n#EC9d474ys}`pQcQP;cERa+ z2%gBNNm{C{P$c8@t07pr2I`J2r_1zn2cy=2*xxp3q1;tY`(r|#etv*dm{Dt`c1Vpt ze@*%A?_fE5Yhscr|04mQr!C{L=8lp(ZkTkS`gh*gg`D>&wEjf2WXEjYI4kn#B+7zD z5Cq8sJ_#5=$GWWRh@w}IPr*i(24juZXgea(wHRcu(3jxW%yJE-_^lS!qN}<-1lWKu=sapEvgui|U<}9~FD&IC7;Qahc z12R&$23T1CKb*nsS;Sv$!MS))D{Tt{hBMpo_|;K_iCvj1bw!Tb~Kkf zxdI_Xts551hnp`ndoG>aA_zSV(Vp4uz99Y4iL;Qv5qa50JrK{N;r2Uc0j;q&s~?&& z1N&T;f`UjqE%y8Y|Kj~zz)T|fbPdYm86xKDMn*gLU25{-1X;#iOalU?&lXjG}HIR;8pcA?}1xCVBYLxN9B@2fBUK~rW}qx z02U3?%=5WT)+L1T*>uT*JnY^qf%w_?;gyh}=^+MuUf%Ps|I@TJnU60$536n8N5Fqn zl4=jld=$N{x_jP!q2C{OK>-X*it)h7-)94?ctv7i59ha_y<%Z662AN;uDqWY3*8z_ zy9`0y)M8a-x>RzmbGRal3Hiu)5I}i>;UG~Az-aGzD#$)c$d$wE-hLl-5mO3Gp?KhX z>Ao%PfyEQ*t^1X%nuRrkyv z0lUfmbl3H`-bJ7%QD0=1puFx?W_-cNz72`ErPYotuL11jpcK$k@l=0n60;ov&B51i z7$I625@3bdn6yr%+Gwa0L%nBtGHC*vYgJK1^H z5vo#WTA`%o9{)*Y8Xj4D4`!0Q~~+3@k1H#etdHXT=Qur|{*0_W@*d@QgZ) z94c8BN6u>A4afsc`+Hd5yZNx~PIM~)q0s8*Xbz$!{-gFgnm@i62)g>MD6lG~c`<7D zAOAN$$s=W-T)uO3oq+mEzul$sy2<%*-A~E4D=)f5uGHCPr-P;JmnSUI08NQ6(a^I?cJ{-L zgO0!mo`dsP?dAw&aX|N|-q-MiFtx_6VXw zxLSEjc8xzt`it}M_3Qc3P$Lb!kDzG~(~KjapmFzo`&5x@WuDc@v10zg7{4eM*l>Ed zi5JrY`UZFarEn+yrcK|L%;oYa&EuW!A?>pe=k*vnpWS2f%_pc1gg|~Jr02rwKS`74 zT%zW+?DiK)OA0b!_#=*7HZ~;)O?H3Xyxs|EGuU*_`XivF&wm%|f**UUDPrh1_?6Yh zne^-&m2N~g+7q&wSsX#yiMb#kI46C^H{5IRs*7k8&1jAh5XTK$Tm#NLhwwR8>l$iW z6g-vJYToDTj^%!s=9R&6*PFNOMn#j_?oVt1F>hPjVq4+uR(>)?`4O1_ra=PUqnhXZ z<42BM{M5o|LH-3ttC^BzeUdiqE+SK6&Ju=MN%$+v(I#OBe&VPh^~$6= zC~qsg)RdUe+iawM?P(E}@w)+yL=4~mL)BNuHTAyl50MZ-8bo4*N{fIJA|)US3K9|` zj0QnKKstt^bcjJW64D)#A}t{$&4AH8nr&>qXZrqpU$5W(+1bv{*>j$_>$>jyX*Nu> zqceGH*}it~ftbvQfV%+i_yr4TKm(9d*zDG6^=&q;__!EXyeWP)+UfRcEJ&N&+|C6^ z?{Zu-b|_B5@Gv~3kQ5=tqcplFxeQmhzD!tcd4W>IGO|t!0ot_i0T5pCK^C zKC-xnF2Yn|#0c;P==PU;iJd3bNvQ8Lz0N~#^51@@05oN)c`VgH-LeS2>}XR}mhVd1 zd&ChwS7Q4;SKtqr?-}D;Xx04sCYz;`XMZfwZr`EE_hJ*Ag@etMS+59N^irc2x;*?z zo~$+T^613Ohmv2#@WCS@&%qNR!f7i93=KAqYMy~*mC3<}I_|iJ%Av&?Y~f53M^P6h)Ml2B=O^PY=$q-1Qn;6+e86= z@mxTh^*}pVFn(+Aoga39gN9o^j=f`3Eb^YU)MG(%WAN^tj~9`*+U%9mcsy$dj!qT` zJyWia?{@QtJ3ovf0-OX;lCXUJWfV_Y(PYlsCor`~r-qU2WQ7h&1+iwORNczAB)!HU}GK$i1PnsPXu z0E?teb=GPOFm2~q3JCasi>)j5EW(fUl7rrH;{NYtjNC|%sSuBlxau#T;t^7z9K+Gw~di zcAt8zUZEDccVItd)X zML#wxt(8(g0#%d0oNgpKegkpXo}vX zNBeW;cXjC9|A*Iucy5mk5sL+&o_NzP8#q)>owBC7o|z3&SAn@UA}>Hq(I!;&O>t9e zc;y(8eBH;gYm;-dUBp7D06Xn26a1jEK7U8u1HSqOhL<-lDVD@zPd zKrkLR@6k}`Z9SmHu#yFpkh{3A7v)NQeMd#k7ZpGL zJ{R~7O;BF!4;7UiHLx@4xy?muBYFV6^edlI_`J86atK&Egk_UPL{CwbWjp2L`Jz?I zFRUSq`yJ(Xz}pp)DWw+aOD*VZ1|4DGy3p+{df$q6kviNzuiKUS{FN-$->J`5AH3wO zhF+~^fQMB#=58vpEz1k&{0rGzk^wT`mFvKU1=0-MyEdNXrr3#I9q)ToeBW)}R5p4T zDMEwoCqMD?iQ}bxsIc41T`J0#wYCw$KCkmQe8uq~MTcO1XAT0=qiuYIk4Eyb7OP(I z^LeowUQg;S6g#&xZniYVp8(D2`VyMxnLK@7)R6Ut7#?MH@1LQ4KRlO{mg>{y@i|D6 zrf^%|8Fa9jX_((-q@)e8X|QM@Hm=!`F3(a%h(7;wnKK6$z%CwymvaLc*hy?F3Iv)j zgLrdo9ZqEo%5?Tb@Jbpt=hES{Zm=F)FO-V7wtRNizs-h==2^a>K>EYr5`|OUyw1c*Q!boVPrJ{s1b4PacGDf$Z zI@src9#OdPt7BE;)q*rH9U?S4FPZ3eEjz?Ufi{xi;(rg;b$w&`hkwqN(zSMK{_}M+ z(z^f{0~Uvr7~}|3aLaV=svIwcBDk8>__umKMM zu!PV7!w*Q`?A_MpER~UiG@hcgZ~Tu7u*#Lxr21XvkbW1!7wTkv*IAQ-Q=^T<+?DIB z7=0j5fF!)bgTKIm@AeSaIJ*!(4#3o@bnYg`nv9c=Ac^z#MtGOwza$i8OP4|xkv*>l z7BTk@Nnr2+t<_E*YU8$^Mlb%R5Pk3P!njPbF#8EPn`%73gzm{bi44-& z0_7KfYkw0-w$l`lwGsS_Gy;Rt_xan;L4-&=!CV7c<1BGKvL=GyNBl7{A=q@cd~PI9 z23&-I)pA}1S@F9b+c^nnONq2+Ii|D|*Y1^fo|%@CEX9a+aDf3lEtrHh5s`s0dza$g7ub`%Ag1C-~`nKX)BMsHwL!(6pSOAk<-})Yi zh*)_kr>7L|HGi#S05|6XA#20uF>9xBO|fs|hW~|^G7mb=J-QO}#vQnSDP)&;Uf+Ao zi5q@Zd6MZ(`j+xWB*@uW>A*bw=VEHV`v#_0+h5)^@aT81D*lt@kzSjSOAT#k(TztmzU*7 zPk?(dog9&ruj-#`SFdY^v&goqCydMCE7C_-P~PDHuw6-Kp%FU)<__S(3WUSz{kKHP z;__kd63J>^#3Fmco_Ntkw(Wt_6ib|J+s+3kR)qOUt&EWb^Y+W%pJdc`45xr%vu0yCuH^NIy|zw4S5vo z&*gIypOBT4Gx-z{yV>Ej)V9R0%u{j27y{OtCiQClGs+uynCISfXfcO>os-;AI1m*z zd)|Admuo_TnYyyd?&m8AbPxy6*iB*(a{GY_#(Z`>&%U-j5>C;Vd33SP#7e z+d&>V4XlV_XeT??mDMEi=B2vJXZ{RgNM|Zi(&RnNIJW-rcAO!dfVFbioZ&^9^8q-b z61I!}Ztjv2$IBD!8oc87GQ$ofIZYB}CB3_siKOP-84w*{RI)1G*;$^Eb1`_N96rghzyYiT#F`q{g53Q;iJwj*=dBerp_ZEGFa4jL8RNh(kML zjV&7?1~87=c+$II#L{h zpT3LWDvR(*BLO^f=~8+yS9JD7a_>gIrm^olCT=nIn7N&~6Swp0vtn)7!bQ+W^k6Dk zAVQ)uVm&%^IeZG%Rf_0`s%Aj;jOEQUf*lH$A=il(tG|pHo2fx6KSnEWocaNWj)|q3 z;xtxkNvlh5pbyNneoP*f3RyWsLEcN1vA{|);Bau&y`yS?kbO1!D_bo-hUP_}kY zgTyO3i?Jg7!tJw-k1vQU?SV9+?oY^aRe&aq}h-UA=VC z9e?=K-h$^~1x-*d8!Ri<)kRu7CNSs(@EQ!fLm5t6FOiGgHyTS%1EE43e~>+6-H+Z3 zj@Nsben_(Q-9MgEjBNpyRGG}U*+kBKwd>V|_9^zwfXZL}t$CvO&~h1k_lbW6hzh(A z0PDbFDkPS(Jt?dR!^;`lqxdVY5hqU6 zC299t*ULKLKIdYELT@lmvTv3O$Clyg&%9#Cdfk`gSy0i3C+_mg4;oP&_TEOd)ReT> zxaZIHwup@V7~6U=v}=(gzyu5Fa&+O2a?S~+3~8J-Z+ND^@_;o0+BcSBy-B?i%c;2I z%1b~%ltA+K8Cg8sW?w$bR=}N1=GDn=hMC{ld^7Z|x(r7-Z@cY-jJ01S-oK}08dw?| z8)dut`+w9lC1h>d+>1?T!(ry+%D!92d7^ZM6$Vsj*Q}>m>@d6q# z01Xv#!>HB{ehH^cswscdob{7TZCW^F>P$ZW2_%hd8cTUSm$o*D&FD(6v|TQYFVXqo zn;%T@0Wm+nU3<_WCt0I9n*Ql@paDAu!VyP1W9fBr(O$WJd`=ChM0Hocs54BJ)_~lH zF)z?S0~n^Yl*8U{>*9?BqAWWlKosG1-#jU>N~5evyU%UXz%GO9k(>cW0#`8_jkc_L z6A}`{NxZu+XE!W~{PM;Wj36Pn)0fL6z)F4@=_FT0^ACDx(_4g& z#gY|cG&$e4$Gj{r{!hAghFG`I(8jnPB#B36xJuQ5gr4B1@Ii+~?avq1*? zIsi=TXK?_cM|_bY5ya0el9DIM^&~Q?yqg5b5WR5SoWD`kjwsr{^8G}kWDKm0u%=nEm*c_t6RvN}wzbUS^64p@PlMt_sTBwz)s=6No!HKvN&+4-I8LBI zYK398B%4B~XB!lMu`L?ofdF%m-lIM3SdoG$`Wh~X>SAx71@0#?w$<2C)1;8Rc@>?N z)S@Qj)f5l3R+xntK5&ZIQUe#tSJ91oR*rqW)WZlE@@f}Z{qf&Sa0$I9%kCkTeRm&y zaespTpGT?8Psn8is?cvD7xj7^*pM{9Kr{|Y*aW`@z7!+?z}PXh%MxAup5@eu!w%^O zo&VeHlK;Mj5%2^}r{A%K^gp-&JiQVfE%Fb21JR7lAZDo}ORubf_!6(te!Bx0B!DWI zSEG6x`ND@zhr)E(Z%lU?Z-7b}51Eys|J7aFak4z#(q*ks_Fp>D=eL#}?-whNma~{+!?*^6Sv;V>es#qe{jC3n8)3perB7T56qzw<~4KM-Ep5dcQy)E8w-C$f$XYCzJwo?+b_=|=Qb`ds;r7}Wnco^K+i}3I(Y;WFMp|&Gj>#)TL zRdTE&Iqeeesu7CF3lTv@IDByb7M1pw5nyq*PMSq>bP^O=S5^)+12v_BmWH4+nYaBs zTlSiAsHx`&pI&p?M#y`CvUtn7zWn~!a!)b=6Dbl#k>s~VH9n}}WGYB{1Gz==={`8D zb*tBR>J$n0;ERTt=!sh5e*F^od<3#+!X2Vba#{A9w+1)ZL;_y=9Ng)P$6HncX%P}a z*9msYy(NUy5NP!?y0qYfkfxt}onBc_>E^XDkMk7Ro^qi(A+PJ19? z*LslQ7}kLRhI`ywDJQZw-eZv8e&2u;57d*ia9wl8uSNK1#no^WOTIxMwUsAj4&A2_ z_;-PZ_(qYvek%Q2FQ>Ll=&>EhbNH9qpyB#kQQ2W7GgfY3c zINEV|Qo}xl(zKZlw@*9a4{LJH$wFZ!Ycc??2MDDEAMoW2=^~>vUCoZETofBe{JhIz z1t(-~G3=e-SC@937Hdu45nQ;t@#AHN3;z5W9K^DU5oS&{ABdM_nw?sq zEGe_oD`v04^XXe%8L#|05L1JJ)5SC~M-VC@d^k%Rqo(3y7(TsJM=XDjKAbid2wGpeqAEf?UzpRie|l1 zf#Y`6#@tc`xI~u{15hcKV^piJzvN3DyvzFIUEj zmvBzk)Ex*2t@Oy;nNw^ysX*1bVYnk?zR^pagno>_?~OlpB5hbsD{&UajM-E^>V@n5 zFeKa|wOKq7F9^q_FE5HN`jJsDoXTjn7ELvF3B0=g7sI{fO;CF8niNT!I*3w7Z-22& z=hvkUyEePH2JA^qvOn1U+x*fH*ip%V?a=+Feys$Yl&A%a1WpcBk6uB@om>DOI{OAa z@a4sura+2|6ca(b765zQZCKNB(7Qt=uJM5VE;*ztQHnMn;O-}}o{$f&S3~6Gj`Gwe zbHtj;*!P@rDX6)h?%_K-Ioya8>UQ+6%=zN%?fsX|L0*LSV2>O9gZ~`N6HV7x-EkRY z9Y%nV43nb7ws9@lzJ?5~A#-tgBb8qX0+5-MZ>`j=zL&<+S`vS_mwbk5uU0J?UQTi6 zF81YCb?O8mijRB8Eg%}VSSJrxqE3{%8&Kh>rStCAGR%KFqQ|d!D7gpk(NqORbSD)e zj%&8hPNw1p2LN&7sr*$X(6YpJpcG>o0h{1z5@pZ~RI@#7!|DF$C%D21gBx)_-pi(moc9^nNl7iLu5HrUYCJx=rfaNC(1eThRk#>e!~TWI@Zj!7z;myq#wVhf3IMH61|MO0=an{9A0|Z2{lE2x4stm zssPIxPQBCwdy$Zgw`4T`x?6AuOa{y5N~5<|#c5*~zs$#uF4eAKRSEJ(;Z(HQ<7zB} zYV_nxbFNZ1vVhy~tDUrR`2$=t`3fhE?K_ZYiOkV_pO5{8%(Vbtx@wYhU#VMl5f{0R zcMvGQem~k@{>3&W_E!SY=j1iea2m&%ZI!Q$^oI1j=H0COW$hqs&H4QP5q@w4utLO3*OAdN7Vgi!)u~r*^t9u@9VcHZPwD5f}G(< zk3&O`g=zVeD1G>@$2C!>896DuHp7c?j@E~+WGnE#_eY(YSMly0%&0vPk~|pG&Jz>t z_|dA{Ue?|yI4Tg!=~<2BB9or=B&h%{qHY!w%B^QG1VQl>PN zzbVabMc2%iK94KWVU!=54ecJzCA8~$D%t@&;195LXkYB;UV%culq0*y;bwtPy(Fvg zr!7>ymvskm#c~xeSZdpryU07Axjo zZC}&WYrS{yEtYr=JkvRl%XRv4Y&(9ZMqG~O%m=^fI#udyEY9KQXwZ~iS^#NJ?`{MoHMl$Cn(27(ECHhx)X6A5h&;gU*UmAX^na`oxsRe-}Qd@ z5J1UFf8l+6NDkvW5|O7Dn4kF+nbm!}_2k8C;suKGD!Zu}JC$dfGu6)=gsa1}RTyjq zm%`k}^!{)b>z9*Pl3snYsLokoNZS35@)H-&ye~f9SEE0<_p123Z+}8ULuz#A-H*MG z`Z2C@PE@B2`=>E3>L30z%|?zjF{a{#d~c$qn$VV#?!`CdXK{=scaNtudz(uw!5+`& zG5Vfmi0z>Gh|_4z@4#Fy{A3hQ1{0q<^rmT5NtQc;?cT0gsM7@5fS*Ku!dT@Mf5N`U z7{v#FKv0)76Gs*L4o5Bj=~NxKUk}-xwEBhGpvDW{-F4bw5AbQ+%IO%pczQ}$)%QWU|LVn82F%O$C(%Ke5A9V6OsNdxo}Cwua`=ppYr{g z^f7;lv0m1>0kyg&p%UY2HgT6Bdt#F}r%;1CAcVU}4}U>@dneF7f)Au``@RsBlRy2c zcYeTOVAwh(dE1wUlijW{~_E6!U__T@|;U2wU$UpWEQ6G)Ym z^_?_Mf#%N6Tu?Q0O6twrf&VDR+K*Y|hzve~CHax}km9B+zGZa`9VH?hi>B6`>9En+ zfL4oMo0ri4JTXJJFN!BtU%}GHT&vbiJ`cfGIZIg=o+N1dZ_qJXsLk0sw!>WI*1Wbp z&0eE*I2=FdV7k_z-~R9g>QEkYNbFRBWc^YbY=)xxN!xVf>AM39&S6KGv$Mf@IC|?|*!r%?cnZU$7Ony@oAX&F=nAdx=g<-;GIxsY?QBpu~k&wrtGL$2^4@*&mp{ zHj;JeTzn`SWY`9U>zuU7oQbx9u6*&(7kPO2%Q#c`i|CXBDzj?vQ6~8xRU=vVrZN?D zv*c3E4K0f$m^*gQC@!z#a(67=)`3l^EI5jQTKYevs-57&qAiOgdy9hP~(Tr+rN1 zaZJ_7RjsDwKOxy-82=P_v0z2$O+`dGFj-ib*ilzN@chk)Hmb~=Awcst)0&O^F3R;D;i+%|wiHbRLM^1PtFeMOT>ly|Kz$sI%x z8w-*)m4!5wmQ%U6MKB@a;eyEHsq5d?1-W$$;;n<->%U`hNy`j6c?u()vOOOQ3T-a?1Hkx%*}G%$bviuS{`T zo~1o?yGZt5l=Eub$u(+nJc$YHHL9wrRcpMSL3vrBrTFA6Un}@CDej!jT5og{r1gv| z>`8f;NC$3=8u!b|IP+Nwya36{V)2ZTIV2TcAN~Z8t>Qn={4Li~m;rdjEW3w7aGG}N zvySw&D^T)*Qrf^B{7%{Y>ONY0*#2kQ zqc}Rbw^Csz-&d^d22K;}QImI1%ZN<7j|4wpGK?_Z>M9O9T74gH;v0j^0eIK-{BO}p ztw(4@gggv${g1?PKk4a;J@wr86-OdYCrWer6G9Yp} zSFy=$^afi|&;s^M;lMhk|CPX@)jF@L#{{J7t9*@POU-!;-xp;ERKM8`4Iu$EYUnoR z62l)cU*3N}M583X5Z6{lB7ze}`3PPjc&Yipj1S)lXe5d=$+V5tz4xO1r8~^uWYV>> zGfe8B_vr2aO0sZsL*^G$Q4MRC^TBvJhY?dcnuDXew{`7h3h{R>E^{uQc zy~)2;adUV7E&QW>Ps=djJBx~6DlE)GN>7K!kIc6o34c<3cm3AbhJ9+y0r|7~Niz@p z6gxbRfHCs1zasRwnz#9GJwqpia{+11kdasTXnhj)_qykiOhygY#jDHM2PaDzI=@!` z+{V?&;GPTsd`9d09AQ%qH9Pc=Eo+APZz!UzDvU;5r6MPUUz|1q)t+vI9}GL`Fj&}N zLH@K)t8tv-b|YSwwMKYMi1&+OiP&<~%4@p`>YqSc)}gn(K$ zJ)vk*=2zZW|GT&40u~m`8JL;vVH>bU^fK6u_TL@>aqRMcgw9W(4$BT;@UsqSz8g1! zetpSid|+wtyiVDzuKdaK=Mg0cDPB7xOS&`r=gZtp9Qmg;S>w)yIrqy52EFpyTSC!g z@E8dk?d|Qmp3eq<|4wg|v+zxoU{$on8jL|#-6|&2@#ODz>N7HkI5Y+K_LtJYmcePc zhmG-W^aT#qS8Q{F`N%1&uv5~*%21=f9ND1@lJj7%>#xil(C(4o3bE=0NyqG$qTe$RkCIbMOXUVqp5PJez_xZ-( z;r*ECKk<-ruG25~`M5_u<8g{hyKh>=$slPmdc`XBoCTY&{B1c%oS?eTS*$Dv=wkuF zyGJQ@?ZQ5HC&zB+>$UBPB&dXVV%+#ZKwN`u=s0|nn}INpfSME%@^RMJm$ir_`W!hk zR3eL<^*WUj_^^;><5GV_ULYhBaTTLz!xvdB1r;jR$y-=HDtpq z>Zn_mdRn73o|^sqYBpqJ_A>q!WtuO41EM#@$&WNao;7!-X0x@0a530Ans1#$(x#tH zTgB1xVKsJV9K{N@6*8FbO;B2oVsF+e0#zyqbBwUB@n^ck9^6y*v&r*?&+0UM9M8n5 zvs^lzP)FreLuCG7+r6ji>b!FutTuK7TN66r-@ns)p3L8l?G(YTlRrwkv{-dF44RVP z`ZW=Mt%_> z4r}n1S?mtDDXUX5%OF%w%60jJfO)uk*LI-W#-IFsgd9s%%f8}-%i-3k{#O7^^b=Ny z9Bno;lPO>JXT%k`C5si-#?GSqJ{r})D5+|`>o|EJzUHjbu&^-r5EG64?q)w46jT9O zJiM?k4@!kCe2&%l-BfM2oAd}p)KV;=Tn~p-ci7;DW$-fY*!v^_&0g#BG!8kRaHsDt z;%5)sSCO#O$r^Nn|3QJKTBOJ-rm1)vQ0M%#lf0fjyQ66Ll5?7x8^K-OBwLPSHO2i5 zvcrWA(E_n~fvy>{VTk%=BY-8&#gix=i4eO3HUKLHL9=gy0XYO+nt8Cku^Y^fX!%m& zcQIQZmfL9J;VB>GfB4WrKDBeF{^v-VETLU~yWip<@8S$qjO--vTc1u4(B_EmKQU!C znnj<}{LmAc;M!oAEXLk}2G=a_&jQ&kuz?G2t!xtpd#4Tqg+So(dsGg)!f5OM%^hS# z|M4Tdq`)i|?|=UUk;3X&+j@X)KAwFDX>q`4+{B0UHm|Zmy1KPK;XD{JEq{Q$?CEw1 zdid)GB*C9Yoy|t8NqyI|&w>_C$if4`#8&sd@riqq#tM!d+@B zcS#kB7(5sTTPOYBzhCKj<7%And`o-Hei&7E$@d}J$(MbJ=igNGm5;E`mdFO|=5)DQ z!=a~m!w_DllEJV))@|^;qbrMe8?NPEoE&71&CVK z@yz!}?ZKlqx&uEhol2=pMD&?2y_!0&@)>cv>9vo5w#07YBvb8#?;626A#gG74gsf< z9khPP!|J3|c;@SlbCiRe(;kN8jP$APesS-GLciE)m-U6lOYcAPY}_Keshejf>b?}G zy;dUYV;56$A3C*EAkbrz+VVYF%OFm?XQXx^aYCr_ZQQMk|_0X-wYMt;|g35zjcs^^sFQ7#n~49C)1ZWWf*OXtv^lC|3R)i^n+8qZw#b}Dj%Ba%54uM@U}7pPCV zr_5ixy^9M`ocStU@d|0bfoX6WN;Yi4)-?v+`xI*ta^fQ|bq*!|Sbm%_ZD9Qr{eA`i z&TtHN4FsyI&u6d50YRpG5W4xM78FeD7y3Nw5&Y+pMSX88R`rSH9b!O3Y>Jv48rt~xyeCv39>p7Qhj_jzvFi@|D#iK$jK4C`*X~6=6ls-=qTxv)_81eWkq z)q$!YJzRKCk1oW(=!|{Z#7%t~?(1zeoV1=8DNh7pEBMB804)OLnhodVqW3|_Bo1&IH^Cr{m)pJ~yi67gUzFR;t_XEp6&(}ZNLPqjZI zzAGD7W7S{yQC!-GPCWs<5yJxPpKI$%E6+Wx@42`6(}T67m%7?wk#$ZRen0G_EJ`t! zUH+L5WDeeZV6q;k1FFAXQ zUS6-b?eIeHO-e`85dFD2;Ct|jyQ?cb3rc3yp&rV9^ zRs2q)huG3yiG1S6kS?L7>OUc$^nn8t+kt30<7ogQaLa5o)Ttv4FM}A*T#V}eY0dD0 z_rT!ChC`<{1DD4mle8Z-jQIPacr)M&`^*-pSh$gxOdME0AM*nvU+w;^?u#>`OZJLp>dsQX(`S`$45?c{bc%IJJReQ;frqj$d6;nSff7Twi zwefUS!9_THiR&BcJ5)yW-kJqQHCH(LMsjt|o z4cf|+lqJm`ANbHY41du#{-T?-%OUHcJb9KQPB7#FGW&IOa-1CE>2u2JxjN14oV|aJ z@CaY}FDlp!Z1jf?A)7%9R5f4EsjZN(ZLz(98{=%SvT}m5O|OjU3 ziQ&-$=Sr=`r&F9>YV}XME6rt={Pq_nRst6YoPT1z!UR^f2c3#`T&1uc?o5+VGwDyEZ6na1IV zi}N{LF+jn$;q3`S!_A6C|#=B!< zU~t3M8Ul_rH_0@*27ZDjy~CiD$zsh{7t{FIQ4D|g)Xiit>+B7-eEIXq7fQc0N(WB0 zr$UB={dKjpuV9wLduCG`c{6E=6%AR_Cqc+mepn%iYA+|b&nb(AaN61d5#8kQk@3?h zHES49U8;e&<{TiK8|5Q9K0_exj^4MvNstj7*vt_o`wzKr|Cd)f$++WWCuCP|cf`4! z(=PNJOtrxkS-1gvwJ$w71Gk>fJ2Kt6tMxK>{mNWdPpka~^aENxJ;W=&m`I^^P6q@N zDIiGo@OgX3FOxwf#oqTw0zM!RyiGiU7a?Dd-`J{l?R1_DnL|GKBg!UC!F>rG4Ys)% zO+N~tRUrd@e>USa%R%ZBl`97?Ico>M27zqz=Yvapsgg4X+#!5TA>)G!;SvUh?*jowiN^-riwq=D82@wvU=JJ&Y#VsNNm;V++QDL5L zyG33*vuGqV_!%pBV$$%xI}K$@6@pXy`_u8a4+R!i>V%=#@RJ2ID_>gH04DgKkpdy7 zz*QeVBSP8HOx?dVzG$`N@0?S7$!C;zE+BU_JXXhHx6+#k!rH@>&;BOe3KdxxA`&LD zt;9P>OV0iJMCxvl$)>DlTlu*V+n=+6s&g+63EzTS)KaHZex*7)Z0@b?rh~OjKB<0U zEM7Bx^mZ(~6JPRppyqivqoZOazhX zGb3h>T5BOaN@yruE-|=5w113W@UFyXVO{m)sJxOdQtU(FobH{>?NQ)7_;2v*!tD3Z zEGnyuqh!S_7Y9=<`6)onGmGCK7lbetj5@s1Wv6k?k>k6EmmuuNv)}%V0qb1;^a%|d z7fn3r`bkM3#{~I~5v87d=~2q!c?jFfb!Dp;m(&vPI1lsKXFI*c{6^A&IDo_{j9hu;>4={R}s*Tg!$#S)GM z9e@!OWB4x)wXPaI6dCw9W&C!{bGPTRv?R#R^d()^d%@8bCf3)VeRfn|ki5fSSua+# z!b;orBS&KmMU>toe*V^b`LsLTq2S8A9ZIvYX&1Ml>5bnm`NEk`%yT;Riu5jaL@N%< zV6@UNktKRhrB^*RXHhu7Kh`p-$i%B)R~${!*Y}$bmPyvb=6M|Y;FWS^ne2K1@#%W> zH-boem^GLI`N8?8siI=wrc>XvOVuEk$HCa@lPAAf?j6NH0&{Wx#bJF;?-g1ftQHu+3aZgcx53!R?7}1W&8$`uwa6{aaMiaVM}FC3!ch=0F5OR zVLz$`U4W;!t*{!Qu^*W?ybKR={R~j*xj5z>%d=}^VG?3^B^kWJ4yQq>-L8EEf|mTA zZ>3lhpA>nfNTF?T(@vyA>3XyJGTe3GsVyiw| z7=Ol8APh-&iteojCbE0ySSL}C3C@ZT!{H<9_)*Os=v07PFO23rYA8jQq@d`0ltYkj ziUeA3;=6z3V~PDF6~8d@8X{Hg!=G-I-Z6nYloqhNcSiq-ecj(Iwe_uSt>wl~v9{Z; zzec?h66R%XA^d@+q9-?=1gp+$sNNNErMW?h_>wIR32<=RdS+C38GA8PMESXek0oVm z0zM-J{&()F(VE}H_Pbe>F2`t=9+AbFZTou>_n(RsYOQQL5eIx__hb#tdWEQSq?|Rm zj(^Q07>XUk$Ok5fm#8>w!Jd3P{8ow82OIaAZKzh65b{x{v(Y2p zyked%SBcejBXp&mUu&Y-cd#-|27O}wp-4Vz`lMk3^=9@*4UVA@G!o*i*)gd%cEgXR zDdS~^JNipk;N^e~Ojoa>)Zd5;Jt0yD8hpK#5q4zuvw`wC3hv9d8xg~_6DAT|f^f-y z{EU)C8Jf)+1BWfY8u^1G0Uj(x`BI8McX3+S>9N(N8iE_O(8jMWtR|VxYPkVpCT{+i zTGDryQLT+E0Q93@)V(wco3?hufzrAu z(_{i<1iJr�k?tdmIe@r@%5}>rVAsc(H|xs6|*%Mj||c5Q5}W@dc{{vP%`A zI6Mb-^ zqZxdtIbvKK43%-}uQ7`>v{W5$L|InJ&ujf=#66>gya(-YXYj~U`td?P=<^BrVSmd_ zu<1Pus{JrS`GzEsH(9eDRV$AyE!x-wEmk@h$*ZHD{Eyi5j2#R`Vx%^x3&Q2F}1KSpeN|RRd&+Q0QI6Sf zEUBe0dl_!2b+zwc$xrjcWOx3U?!jL(%}ar8>Kxrr_zNRV~=?Be(PBMbztJ@rFm_jY(DKYQJXF zbe!b6rgROsB9Rt-UG7%g@&iZ;G&bgM&nUcA{ z#^8|zab6Xy-BC}DFO!Qqb$V0wSl!7a{R&3uy0C_38tcx}j^&@;U=ikc?m2y_+S%0oD2%tJ!wZK_ zuiM16mjfj$04aJR`TJubu=nR#j3LsIx!6+^vGhEWZ<#T>fk%N2;|jpQuEVgtBzypCt~q& z386`|ScgfRQ4981WQMQ;hw<6XJTxO53ZA7*JDd)szzTGLByRPLa0FCU+%&K13p>$k z4-GoqX?9pk#4Cr{XI^G5QDjefu-t+ z*26)c;VZfKt_ zYi-JypZVEz4IzUM#YGB*ny#w*W@Sr?JSpmhi%nOskX8|j6oZ%6cX3DGrqiM^Mp2q- zbDh`q$cqc(D?q!3+b;!p0{cjiVBMn^!ljs|dL#_4-0WUpH3WFJc{hkf|GNXFd1=}f z1=KZdt4CQqPe<^PFhCx{$xD! zwT1poJ_nWvVBuV0rvOIj*5GQX|Gj%+m2XzH{~^KzFOj>u_B?->6=Ev;Tub#aKmb?l z)IJk}8WkLlp`K}Ccm%`YmPi45<)~P&zw}PC~b}6<|ePou7 z`@oX)cWhU+OCc7en?Cg;ZwGXd8!Ok%(FZFKi2Mzs;u|T05ejBE!g7NKI7?2Ob1QfF zG4&`&Kv1Bf5IEIm^=ouT11|xYlQEWWDaeYlm^hZmM^S2EBH;Iec0WZ1`H@Kiw=$gAF%db(qk1o)(vNbZ8U&g5MdCo*6C{S zro=Z7!gub-kAm5EwCaBw*!dJ*sofF3mni8;cvK6`#d@ zV8TrJkZs~uO1XuRtP`|4CCxbCJc5_neW4cR!M(Nn*sDC)I%*Y2Kp(jGVS^bIVu?hb zHmbi0*bK3Md7oCo@-7{2VR$4=o~FR!`ViDQJmk#ZEX}i{Y5eBYG^R$z|CW0j1L->T z-`i$dw*M{11pvq1%EXca$gaHqVB}vHw!yE^hMbr;tXVL(fdB-k!PExKQ8W4r7hZxc;}%+?gk4SZ{D20gkgqkx?Y8 z@o~TT=t-Sz;1}gy+bu5c|Hs*XM@7+mQN!qr2q*%AfaD;kpkxq`I4DU#B!lD}B#PuX zAR-w=QIh1OM9DcwRuClTEIE#(A|n2PUSjbO17W3(-ek26Or<^DbZ^Jh%WY+fP83!3YBL5a5@Yr7gK4C5`&u zhzt2V7LvA~a=~yjK0s(M`5!thWhSq7RbMfVy#q1e;-l~DyEcr#HKk}3Yh8KYKqpV0 zddMI)uosb0A(P|oc$|1LXwq6Tr%&QOytzvD5%~R=+KG?^z&mjQACTga9!_nc3#v>kw)chX zx<0=ad&igwbQ{3`EhNY#gW`MxXuHJs5sFMbWlKeNMF z{2>e!C1JQdIvP~I0^LbacAOyXZLPB(!LQMKNV?xCNpxzw2Q;ibQHaj=rhghCLH0LB^pf~t$mXIfnzv^~Uw->ac95L@#g|zfT+RB@t~YB@GHr7o^3|;~ zI?7wBm;Pn0DDc^0Q)z86!IY82xL5Epx4laMqMle)DL+D#Ydkx9-Ahv1X%2u_;a0spJ8Ys=hLJXm0YF6E*N=uq zgT56$gOfZCAK>J~#-_w3CeqYRUJPfE#xr&N5FIVRGWn6(=~6UMq=5SdG#)PblklB2 z3L!BPaZe`bQyXR5-D=Z46PWMG;}O|<=1PfAjYNEA*A%@iQ&%rIy(kd1fT*&TeT5XE zizy6YWXJMhlfsw(as0I)NHEJFSNZ?q_??Zq|L-}zz{n5fg$H*NSb4|kjTrI$EC2Kt zefZY)w)^Dp_QZvz5Tf=54506vo6Ktx*;ot}=Ptn5TGh8PkaFfuaB%*=ru0lJ5A9Ta z?g2`_d2kz~(cLtWMrHpGSlEVBv@<^14+6$rnOTPFVySIwNkHe1<+nV}4nBCi{7!+k zRgWr%uk^Bl#cnI^on3oYN?ae=_A0VZ*+%XdhdWm~Y4OelX}9dHzgba%d?Y`TJMh;C z3go>%xaU9Ajcma3kCm@k-RrkxR(J-9WnsVG0$r@|cLr+;x048u>wB{QL+UfSGX4*# zUkI<3AmQ?W{Z5$#l)m9g889-?^J$MElw@ySJ!P9=CWQDra|S##;YxHd`btpHXu9XQ zp9Vr$Ubnte`?K`HhY#T4{EyRbRo30QO9oMRIiNcLQ9g~SZpTRa*FR!^D1I+EgpCwG zNd&&nQPWSMvtJw@fRyhWwM-$nvw+iF-_s)@m#z#}*JUzs^C8tn`ug_EeSV?|)JI?o zHMK}BA;{LY7E(QWGn;mDeS(ERZI6%N%pfD$B&X^5YnI)?|IHp0GEDteE~HcrVlQV4&*zSdj-bUgPm|MBA40|Y*lBRe1xyT8KMkG5nfrz{;H&dv@6`If0vhsS zb3CET<=1Sh1V~N-*kf=x(XhJy^tp0&DFvT5URHBdAc_}(UN})dO{{>`9hl{3}mxuTq}?LGVO z4H6GA>f3m9E* z5A1)sSsd1229hYhl=fOhyKQ}>_?TyX&3OBK0@5NGzbN(pbrgUm;#Ih7J3Ich0LU&9 zFMmDXs$nHg4m}-f{|+hgIT!(@N^4e`tZU0il{kl678>CRZm1*JbLwZmoAzmoDJUJ4Jh}rdCPGF^REsg<0g`uD|r~0-b~k zBweaLm2Wc+6AabY3%MyZ;&4_{ROlF3@VeQUz}T|mW|{87oxJyagt5qc9cX4Z^OD2l zC?*>;aBAr7c|99}skHS#y} z`KX`esbHbFWv3rF?x%5{eFn3~*Yn~&WX9&treSj+=d)1*R=xSX>YW141PHks^I}V~ z)$~HyYV1LL$N{|EfO&8dd6)UdotU&en$F@f0HmM<6W$hW_$~Yf1Vi(rxM`PMs|9gn zWqm+ArwxQ>fXJdu2*e#-u+wODplTkt;9=>`Za}dkUqphnm7p!-`#1;~6>|K7!+_1h zhYh7)v*MG;EPO^id2mm`ThPD1X*7Z*A+z04wbn^w^lPCD^~%Oj7^7t;W!qnMQuk-t zf2K&!Hz{?H#Swh zrZ-Cs6h@PcyDKH8w5N9&^j}|)K0y0!@1GVAxxX#HBMAZ(IS@~2zrlnOAvwRYrWnZ` zvLpdLfgu*c9e0E+JMg{Yu=`bg;f)5C9iPVW{tL;2%PZW-h=&kfSc*x*bH5?LAn00f zu%C=cY;AkEC8XP;AGx8-wnRl+%X}Y~D2v#*u&G^t9Mcb-07&Mw>0?298qEPSj9q+4 z7(g*R9p(3nQk?MJVDe7)DKEr^>2LGlVV|04LJVV~~sD;eI9Hs@46N)C)cx_7+TC zs3zI{Rd8$XIls#OP7J9Lp%+{_5(I)2>;nx@8Kh1JzNRu_{>O|UTn=@N{pNp6Ipj;U z#W4F2rJzJEN4{adRnAurOi*N>yxv<|cOMv(={#L)A6{DhDwF^Q@_ePCSk?X!;}x*t zT!xZfmHj;5DtXKQM*NcxgB0w%?vFudXJT8z(Yc!564Q%y`Z}Z~`&-{KVC4l~K{TE_ z^U+$q)}R{*(_C2$J2_#TSwBo*77k9B?#92Zzm%vj+Gx zn)Xq!Tc*%GeEIxTf4{~_{!^o5Y?0{}++4=4T!Viw9E5zN*~H)L=XQjs&lLQ|rbMOqG@p}h zO`rx%&88U7UKVDTsWTj7XoeSG3{RvZqI9*MF3+Bwu?q+YELXhy?;HbfonQpd`O(og zjR?C6BOL95t;5Fx+ZSJatkigdBzQj-DEn=FCIQ>!7E(zlhz08;LUC)oScd{%E2~r( zyKdt>Mt3-ba4BHG zt^+K}f_DO48~7xEN-x3g$&g&I4BMdV;;8x_<_NY%jZe!k7>ID$+LvUYSwb2~oFcbO zNTI45_>p(Iqt#cHPl`NusVU{*lly*>D$eeTBTL%1ZG<+H4-z!I56QOHETjiCH~W%A zwj0zrokYru0g4#|&Vb@NFAmNXN^7uxaEPTw+Q&D>0${7d-w19NiQjrY{YN;kLQW95 z)QwTdfui_72k5pM52P7G6L=w$`qg3h+&y0>vuw9DG`GKY!-3BGe8YO$Rmkrl>OrZj zl?nJ+@wmYXI*P2gSB@kgi($-Rx>DvUvwx`eisHsK(a>~(FLow58Do)iXq08oXV1bRkA&90*@i}M zLAr3i3Yj)M=YMg-)PHe991CrpFBJGa%nR2tU>R7pt`P2!OR<2V)xennRMWPv!D~(|+8M@T#t@MBw2gsD4})5%K8xY2OESA3g9R0ZS_@LW z;#$!X6B7)+c^k#0RUUG~-l-i^+TYFiLorH7^{DCUc9F4)_kNXd5n;v{v#Fl&skAb3 zR!{Ce)Lss4-rB#2vq6}5BqnUh_ZcXVd2r!mB^xkXj2IMC4$|VjuKRT4no&a7b*#tl z_mOf3osD<%HLMqnL(jmNRxoh{)QR3sCWDm-l8<*{2<&fXe0xK{BU!x)6ql==!(Z-0G2^RA9hI6_k%qD8#5HitF*&=>X)Kdw_^?Bc2KfY7XfewstjV=ZS;<4 zsFzHk-ZEZia95!BQO5q%Aao{bZOi|FG>QZr+AQ9d3Y0K!S}DeKqmuJy5NR$Cb3RUI zw2+y!7Cu+R!#e_42lr<`m%zGDC3W|tANYfUMH0(Q&J7Q)4})mU;;3x!6quqzKldgp zfaE}j0j|Z; z)5Eao8f&6nc4w^yc$@b;=PG|@^kD?~W-s-?Y@zM3;$JL!F`BKc_*CuZALOB{Q42IU zbOfZF;X7@?Gqr&wlC@+4f|d9RNGVC}#r22Mke21!XO6DdNlZ$NCu^^cPD!1?pbu|dMP01BeOnI0En ze@yyHO#ELObVApmr*UJ4pC1eH9{JmtuXUI?W2CggH3!Cjfc)2u8Zsg z;k|K)zxXmE_e3rKR;0ErMW5X&4Bur2ogvENcoq_MK46uS{60ZVKnbn3;AR0O@pMV1 zewPE<XIV+Gpyv>@8r!r5y`6s%)IPMZvz13WCwA}*r$fm=&%8Tx#7r> zj&iPvxva;uzl=M5a~{v;Kx0Tb(y4h&bHdTtMp)IJh!~}|(LR4tlm*~EC@8vz*5z=A z8SBvQpF7&MLTO@_%X8@m%Iv0*$rzk4bF=fsklkVdbEy3zlAvcZ^TnyDtAF?{1o_~wUq%OIWOsu# zzMjTVUBm@7QSB+$WC0!qDFyHSF7<RE&ttis=Z#78fz1#Kp5mjs_IiF{2izF+zHJGVE z;(hA(P0d&LN+8z(Ha6GW<@ga}j!ZP{htl6f{g5f+jY=gMJS`TokZS}Rn3W6+vH7>L z@m}QwDn>@S{3ha#xT(9WnPYw9-$tYa2r}+!()XH->%?UBkpWpL`_|5>w z=?oVItg^uf279Qjp5dcXsqcF{uhJ*_c*1+MSd13cz!(d1c#Ay^sWr8VFG((K-h?$@ zLnKnVJ27dUdCzwg1nZf0%+?h($D(m~JIKx3BSsjH+=7lC^B)F}@0XlkNAfQSSYVp& ztxpe?w*UJh3zI6G0qLEc9v{<(++#!<(_vmiBh(!cXmb~ zJx%cS`%bv-`PCPM3CCl2!g<}KOb-2zxlHHg~-1aOPAyv6A?eya@ru zTvs8o+Wih^;HOyOf+yW*S+};Kjba4U$Tb(q&556sg%((;=lguwF2O+j?pyH+(J73H zcC>Gl`}>cm>JCeC6R8fCd2R`%LNrc^h$Zv6NoB~`4&`B})n+(R*{=p*&g9H4!lD;t z?Nt8DLb+hNsz7`dY2u?WH=wG>fX{_2Q6Rgpz zrLCRM6?e_RzyRidjgrfFu_H3f+K72{fe`eWi%mhqT|@Kh@ULG~yr!4+xhTnValn_~ zlosZBMMYZqNlEDs>ASkFICf}FPeo9$YZ2aWyoVd#{!vi_#k1%IbwIE^aIvVCW%k~; zegLORNWyJjYxYcKRJzjlCdS~6j@OEiMqD>8?BULy6p)|!gs#DUyJEy%Ig=qGci&&* z31^S{!livPEIeFQU!U-%$-kRiRr_PPBuUpxsYl0f$w}-Tk}LWH0{900o_|hlHKKDV0NGQPY9X2g?9UcN_un!!S+o+gXVl}A-Gh(cc#@#(1;7m$4fZ5cy@)P$x| zeiDrbv%W^BGT*PDeH$COy8m?@oQ0SlKGG>Yy_)yc4Q5CW79iz z+y6!E-@cUzzxlPd=P69`aJ66MGx2A8@yK3dl28VCG9ikLt9i@>REFzBc|K~!+na^p z`fIcZ$*!55pCG{e-;pDZ3Z#}0aq*J$vMz*ON-plyj^IC$|hmIJLL^vxPMkwUO-HDtAhP5MKe+m^;Pm5m3puk zCXWk)ndx0V-#b3`B*n2PTgAtEEnLn6hu(7v0#bp7F9*|<(3VxNtWPYdHr5q+4CJ5i zA0dp&m|szhoSz!erdAj@QwXes!m^t{@#5)_n%eO@5|t5C6ZRXRG=5`UCZ2J;fnn*Q zNyY`ZUVY(YqVJZi%S}uz_KE&ZbX9U-I-`qs!>iG{_C?b<(^Nmf{MjID-0A@IMBluT z-?5ZB0VzmMB`Z^=p`ke;Pu_e0>I2|6UOu^b-u;U!O7mt(!*kNpZ*toZFa&yDxA3oxJEr|TztL$; z2v(VUm^;;P{e775SIoIoG8nFPbOcS8rg{?N?eO91zPAELk$%SV%F29mK&$UeTxx3Y zTfC+)v)g$LgWBJ#W1-ljYSw zMgpfX zVuFlND~zOfIF<-_On>KN!<#hAn56A|IZ!npahX{15C42)Pf4MgquJwjp8Hw_X>6QW zH~X*`ODP<$Ls;wja+T_642!`U)MvQQ&ijHDr!Q-s30aB-6(SZ^{Cmt=WSXSAt29Ae zb}D}|ncbp~3=Hs?Xgr^m8%k>W+w|=qTM6br)!hMyz5P1<&^d<)_6;3%zy6>T*{+N{ z!x==flA>l$7Mog*e!QSd-Rek`llVTtsQ-4Udt23+n-(8c8-dOs>ag9I#Ff;w^A&^f z?g;1t$XpvcfrIy(8^`81gVq-IlJrgeHW2R`ZsUuW#tZ#Q-uGk^#|+H*h76*RxoL*k zn(%oAm|~d0aoqHZVR7Hc4t`5}gLGK_f>poq5pk#-^61Vf)!*kmtG2*}Sg%WnWchBN z{&}!1iqvIqq%smp+W9c}<#d(AC-pNPOdn;zDA?2843e^Ce5dW8nqF3p|Ls_}Ey~SW zIpe#ceB@nxOmPH^D8sm46H2*Wq zv8PF*7m{a(k4HP70~cw5S-P0kw#xw;3CN}Slk?GEFJDr{OVXqrdG~giqvCOyBy@#w zXFV1oM>opscG*9{sCP#5)IFpz?MBlwkDAxd!pB(`SoZo@tbqW))*y~;DJDmKtK*c8 zO;ocaGjy6NLeqtak#?dJKce7IqKjDtXJZ>irIGtig=1$GO>~nVk>@M_*0dl!V6`CN zft*_r4=s$uj+jZviX3JPd?iqNm<<&>(JkN+i!IikEm~fVcs#N?)9_F>rJ{%gA&96` zwgY|y;*&2Tzd-^bH{tMwH3RmnHuhdK^otC~Q8iU{2!8-EteILFy|}hayyd$_Wu)AO zn4PJ^&;OXaTYw!e3v*I89p8jl^#)P<|2@a}MT+6uyCtNxeyxs+Ie+-B^+)?4BPV|U zCUKg`!0a~w2YEIZY@1El5_v@UT+bih>que|ZxeWas^*@tCiMf^KyFjWSfeC>gCY z>;3jP2z};TriD;H%plStH<8A`+djkZ7=o~(Q*j3x#*q+&E8XjV$@rM?cHJTwkk2k+ zG8tKr0xx1eF$~0?itj0g=r^@m)zdZc0As8k%Y3RUFiL><@JV){*B$fZ7Tu(U{F~B`edx%vboCv3OIy*yq>?v zikv4|uC3Lj2LPOpkMFnBAqUJD9YP90 z_&Z52H35X5rUYxWl*&cR0tC#ZU+o`BD|A02l5b&s$4G4DRSn6N%N%v?Og`9uP~Z4R z1J3{YRlo6_`itw>I5==QSlbPyObVIZ@2yO!G>3+pWbSpCbTkG|?CmI}L_|aoik2 zKrqXM?ceGeA=ck+=)NxZI5+p;c9X9^%WNV>%o0HNIqr3EW9X2q{ZiD!r*7 z?;gY(ddA#U!i~UD;NX5x0b0d|oSc4dZEr(2P39j{qXWUqqvQTJyHBYSj)-B3J7;g# zU)6wIRbM~0XZW(qZ-pc`M34+MH8p&#*N^{oT~Z>g$GGuDMO;059=kJteozT;QG!1J zCxS}UB<@26<1u|xANaAY0(-b?GDLpU1|=8S-R=#B{HAnfa(2hu5@N>>8-&ADM5O@X zU}0gwk*s$7|3yL+BN0Q;9Es5O;CUbeXMXZ64FN&Zpyo!w5N}TW+DQk{OC5v zcmVUgD|K&_csdP%d>%_4R`CBkEf}tz{=VqKJvBUq1`K%c;muaG!w7 zn&mjJ@cr)_b~u-BmFirj_@Zz>fJDB&2@&R8=UW>r--ggxJXF^UFEXf=L=N=s zuMK`&UA3;(=Xy~BPphq^>F-YwH)@*;r+W9|OR=1*YsC=yz}VVoKWD zqzBjkwak!Kp#<()R0QFjQfDh^S=l^#r==d{li@ zTmi_%F+_u3~5nk)YfkA1v8m-z+xp6rH1gly1go{wyIwFuDG=J}AkM3VO0F zAi2)ebJoLw3sb|7>@XOw!u{i2pzS=P5=KmM31&{zMrD8%Bx)uJO6n2aQK@waZ;3xY z<((Oz3_ajoAN|QPg_af$OO^`GICLR;g*~aA#~vS`x<6*FkKW+)&F;hp!Oom}<6M+# zG_@IGrT7d{hdmOBDuz+0PmNDbyi@LR_gFNg6#8V)wO6)D4-F5`udQ3(9!Zv#@8s_a zjqc1*O3JEgI;;uvX-UUSR3;1BC*HVnFuHO(69YZJm~Y^Y6pp?yJk)f)!5CFfA1Cg@ zjyXW=m@c?)++v91y~6M2o6WbkD;PmFMLRm>W+2&Ab+R7G9lH>SFg3tl?P?O|N^{25 zt+~pr`cSQdOGS&ptz}6p=r(Njo}B6sO7vjy-79i=n0~MNbI-A>7Mqu(lv}}ITkR<3 z{sGE+Ltl)BO~)PnyaO(#*q@n(&z5i-pQnBfwf04i)@u0BQKc@S1qDz|FIX{9m0JZj;2f_Zmb_giHeEayh;3EO*Rgi)HExn zA(cVk(vIudGx|5jqsRIdHP6p2>cHzokeIIPs#owa+=%ccx+}zeogVV`x(m5Zy z{<}@@NYwMQ7O6jLL}hHAtsF|p?YiyEte!5qqqTj@5EBl`EG*o*KsFW9M)E5q2`a(Q z^pIS_kjSIrzS(x2O=1j3nFw!p(_QkiiqEdxi!vja@t;FPrpIql6oKf6?R)UhC&!gkA(7Fb_olotlLa|i1(jy}ojp^``k`n*!;V(+&!lBo; z>??FtH8q2}dXrJ3F)XMlhO{q>?hiSIgO}GG-!89nhZj?`#>B+HRgoYX$O75Age8q% z^5l&Bn9r}tfFvm}pF~Xm@>db_!JBNZ>5O-&Q~0poQhRXN@ekkM*?Q!H4pY{`z>eFx zQGg@2PIrd&&pyB~{V2jV#o`FGm$%4mW3wv0DMNk2xbC3ZS`iIR&H0U3av0^rwBx4PoGV~*rk$Tq1~^VrVa0hTCaFzEH8{`AMi z>KT`)@r^?g-^~^?x)IX6$qMj=!zyxZc@D>%U@LL{pRq9ilFq11U}|7YFN}>gsUCoN z1y87HW|zdWJ9gl6aYP2g#A{<_o%63!_#QOQoH{kjHDr8q8{-kk1?AK?P`fnuSg-50 zDfpD(*7yPMuzkX$byu~Rt)7vU+f8wUTTyWXl<&($`PlRl>ZX_l7je@Z8rf~Jl+FBU zPN#3~c?hgT`Xi?1hCd6%PO?6|nh0kBDUCLd9UO{A!*#1xss6AYeFtS|*glN=&X1F> zSH5DsPWh>j=TEx|W0QAuN>_A58}$1j?E5i#nkcIHK;K6U)4JByoh*_L{A99->tl2C z+srI1sEXmRd_{$)NpMxXKEjarGAmVW?O^rJZq%SMB3(WA+4DJ*`f{-?_#j7fNvOLy=g5wjz)Zz zdti_vbG_-VxPkoI%c~ecG2Er4C6C2OA+CwWs%f{R_wn%|h)vE%Kl)bQrN1byY{Q!V zW&%zf*4zw8bMU@ed(3J&le~AYYK{g?XDS( zrbzhK-T;Ro7`~Z#cj`)|7FS~W5Lln^;yUB+m)ciPs&bTMlDdkp?8WsrNW8g!0iPSA z3ZT4X8J~NNg`ef8jB|arddM}21=3XgARKluos)4(q6)&{k>-5hwPSeu`yhO1b}Q9s zvwGi`ryS)y*TTSLakp)@{KW^0iSidek+E?sd1j6p56-@H*ybsjlknzziuGvU87~pC zq48^TMxi33?h5`)+;_3SODw{IcNt53N!nTMbBhkjgHd9;kj0eT7Q_K1s-kav_2fvH zGN3nE)cdgZMZnnDbC>NYYTsU&w5-J%xAteCE*oJa^z@PI>+3hM`YtZzCwsDrVDADg zNBmx^YQ11u@%*S`AsX$`b3D(s;1n9W!oEIB!v|iL!w8kG0tBgQ8n3tie9`74M}P$S z(&fJ9@Md6LZk~V!fJv^Pt@SJNpZNNWYJPpV@z>=Y-_x*Y0~z$_F*S*0yYiDK&53U= z1DGcJbjrAzJ)eY(GTh*!=EIG=4%c8}`G{>*JY`XjS0S3tFSWJi3-bB@Y{3?%`ze!= z=Zk!6i{U3p6h??|>CyT2WI8{6+J^aF?aH_a8gRvlTw5}2J8Ewo*e0I;TWu{pI?BSF z;o6h~5))O7jG~vE`p3qK2ov4LYZP^-?()^>bLqQ1d)BF^haFiaCqB4N9uNx_k5E;7 z{&#QhJQ+t-g)Ny!&xxJLgY(YK1}l`# z)ZeForGfLop8g1E>Fh-bv3D*t3@gTg+lNDVI^n8(sbZ4T3#4-GSA*ZmU$xnVpn^-@4-tF(#fd@drQ z8IqkBohWCKnl29!W&pe_FxADyI%Z!1L@CNwbNYf|YwZ85z|x8kN%;EM5By^vPmDg%p} zu0zD)WDrAUG{mT>eEX7Er<4(8KP3*0?9XVUmzO3YJ%T)OS+hDRZES6wrqiWXU&mB) zwGdf9d&AeQSr_)wK-$RVMaXyXaX0jrr5EuWxU=ZAIsUtn*UD}z<+LAh497Af`tqz;}h(1em$6)1W@i~!y36}Ccp0`^_ZeX7c9R&cPNz8vE3?*Hid6 zE-sp#b{AZg$XN#0^r|Ux7>u2z?^cc#A#AQfO_H!9UcSx8E^X!0hsmvu=RbIbKn=X| zl%s95|K?3pE^y%SPz6Bf9vbxEjlh^v<@4L`LpxP2=+-fh>$*mEV`#+LG~xayCtmg1;v@*^S`#_uqRGS9 za&&+ea;rIz&n@6myfzXBnVYLwCrO?JtTCz{i}4V%ePXpf^z~;KX={wg`YXGw)Cfn~ z&4({gE+Wdh%)6jydZ(-`u0u;y!lu;|j~?)0s+|_0-ENL3AH*s~w}J*jVHhMxV)e9j_cqzz<@X4FO?iM}L1loi&#*S`g83UInAUhRh?L7tVe=|E zd7568!`qJ0jZ<|ia@nyG(CX+D+qU+0IIPxvhfAO+WZp#t{8QD@2`ygC2vDHp!phIw zJu7IcdYO-i;rKr(*wVMDt(q^Vf8MVkfW;n624=Bj!eHZ*Rtc4O1GA_KVe5pCfe16( z#WKuHOZEj}lP3RMjsNuB4|${fF}$My`2JO7E&6>Fs@BN*!@8 zfX7b^JZz1iEAKNp3yOU*l97P`Jvu4ESjCWM&@MC z>b$k?U-70M!pO2}^$OR65pBZAfKoqil9jWd7rgB~`2BD^|Mx$c5B9dT*mKVBsw>Dn zWc4lN+Y(B!@y>0_&d4f#a$ZaIhR62q<&7QEq5~+2nK@&w6&}xY%aT!F^v~V;>0Rbm zhf~oX*^6X)Q%+HCt>M*fT}oSQ|)-^x3A!+^1>Cb+)#&smd>j84Rhi2agHA@sdz1NQHbha8n7yi4KGjK2F zT5;ld!I?MYSUDaYTQ&DzRh)aNVd^?=wti%8&hem}te_!f)o0yGGM<+#vtX9tVCST_ z$^!#fnar_OM<*Ay$JxGFJupXPeuB<|1X?4zQnz$ z;%d|@Q5g1u?uCTBro=aX{X{|kK3$YTo3u-F*A`N?m{raU5GR(q88~2Xg_KQ22Q`hh zKKC6i3L^$I6)?vn;C;;YMF^q1ob3F>Eg_T6qC&%H#}g(>t7L~_H{Qg`!akAdvHeFy zqoeMd6JfT&Q@365-c(}bD=b#gt%w*6y^a&xb?%9F>xs%k?SEaR8g!K_Axn&+ZuT-y zrSV;&*8;YA#bJ`?-r(EjSOrDpcVChwZ`eqIXU97;r%~`$>T`VK8mw6Kyb&zb%iYQI z-a1f;@ei~2DM$GEoKvw5<;3B;cI^nz5jOFoS-|e@oa?W$Ia*Dij`U}%yS>QYc2=_I zo(8U|9=<7*_(&elJn>fw7dJa{#x5(H=s{MiJ8yT2m!{5HmqAXO4QE14c3XB!)Z%l% zIsV%8(kcK#1eH{M`@<9Z2Q)v#@#orNQipavd<;}c_(m&_o2imeNsB&idGVms6sLK! zDMEcx5ESIvOX5511q86OwHj=BPhXGPvl`_L@2A(Hk6O!ILRmNW_{+%qN0_z1Q;=OZ z92P6H!Z99h`Qp{@U4^STn_GL);Or)OmDtq<`jARFxJdUp;1) z(A8M3R^ZPDr0%7E9me4SHSsfQD|I18ZbzHZd;JF`Trx)ZO4;UDZ3-AwoL^=E$(A73 zxvYS4CcY{3IMUYDl{%KyC*owUs@(b~Re73P;M`&7ig9Cg039X%FzG3*+3_1y>TES} z(|Y~$^IAWhw=s!c>iJtR9Le>xel`(}D=f1S#XSZN38@L$A+|B>y^2&3%QT#ZI^}Acdz<&wBUI9Pv$O+62{|gSU zKVB9I$)+`DNN|7rtG-*op3LT;ug)s?@5w<^GkS{C#>x?T&XUe;L|=nvM4+CmXva>F z(unOV$KS+~A;Sf#UGE$0znyyuzl!;djoj?88Vc{vPmivJeW!$>b-q^Ui(6hkIoes-(P(+!BQ#IvbJZtZ z3pDg0xI1Cr{$`wn#ivpl$a=Or*7p6!$V>Xn{$5km`GPLZN~tO?^y zfm`vK9=kd$(6RD+qvIJ#uGm+nKI~evp^snO-Y=AMjQlWQ@QT0B*A`J(bmX7f8~%(9kfN0oB?>r;Cn zDuyG!Nur-yWI1Wx8rMNVLqi?_?le&!@v7tmD|Rpo`vzt&YbrhZJnv*Q?%lh80^qHx zwap+b!g!>)yLz8CdyAW;6<9XB{TE8om6lnYCFSXkw9=Gk(anAe7IAMvSzv(~kCheC2(%iJI6-!|pG1 zXY{k9u1)%z?;A&zZGCITvb#KbF%C#%=aK95%RB^WP?1*h>)RaO>zXp6&EG)R7&t_d zq8L2){a)m9P|JTNKN$MJ4J-#U0rvvY45F_gdS?KuC{APz9Qq;vSa8_Aq|}qJVpdT< z;8)rOtD{E&P8v^#P|xRA4|l7==%yr02vTbJXd!5U*>ZZj%nPLX0bo_0qx}()Aea96@XW7w=g{3EeteEdF>{bvIFMZUR(IAo#SYM#8bDLANIb}$ zEjm|Gd0nE}*zuiqd@EwCR6bAHl=L?26wA%DJ_|vq?JB|Vst%pt`S}jBtR(UHfMMSbOP+L%grzxS}On0~{exZ_Hffe!~{XG`BEXtj!471&ySf~m69w#a>Y5%+ca^9cy zUeb@q`VQqB8qpq*_HqI@npBmcw1ukkWGDQJ)LRs?P&=o9%=u}d5?me0i-ruPPI@TY z|Vamrpq8nF$P$`CX47n~R?Ix_w0B-=z5`o(9=E zaS!;ImI$3BkRSVo$Tm0r#wcj}zD^?!Lw{h@-%Z)VWF4?&^FVTE!X7^C1}IW%vHp2| znx-&~{1AdOr_5*_J58?&ouzBkRt218XFG)Nj)UTQs)n8=dXp07VLQyMsAiw=;(!r2 z0DenPJaQSi>TFOqP+j!IS5Sj~P=3!3#8SKriYrjQ2DuHTRehyn*BLrL%-;8Sd9bXt zaz_dvSqA+EYGuFt=B@-s?aeCFKN|v|CMJh40QSl@8V0f->TzRmB%YIT(=qp_oY)o* z8fIXC8|TemUiSZrEl5m)oZ#;hGSyYvQ3f6`6efi-oDzz}=_i&`OlNw{4P+Gps8{=g zIK977Y?s%vXCmS{gBKla_q$ZISx3Py^xx*roHj=&+=XUx&)R>;_$Nw3`8z6D@(UKa z``@{AFz7!PqhgcuJ5Zf~8vt*7ODpASJ2i^u$CYiA$ebBx?Ih>wu>-xj2OZXsk#^gh zSpWDTM&W+=H@5p_N?Ws^QU}*R7&$&UKm9XWB^(@XfEWV6Eje%U;*6WGKsYr4C$6E$%G7;<7B524O5yvU>9qCkbu(&u>7$T`JY%>S22l zs%Re@T`;B_pn{aEp}+G{X8k?m$n4ljc-=XG9`?h@2bCE8w06fI2fhY+mcjL3J@``c zn{j?XV32J%ze+y&WgwJO8GuD_<@?$q6h*z)KweU)Ljy=*Ef2)q>twg zLLiV`4Qtwau;3W?3zvdE?B<#{kEu6Af(5wnfDi7ans(U(`Ks#WNvazxFqrLcy%)NF zN4lU$$?f8mB!}T?iCDn$0Z=2B0p2JYVuIq+-@tr*iU=cw++<-S-icf1qDCF*nS)?k zFknNP7BUxkU1Gf!j9OeQu*^#|&(XKjw?$-x^Tt#W0taZL$Z4(XrE?ewQdlJtIWKnY zcHCMIKEp;%e!5S%W`1ew2p6%ob^UY_hl|+Ss`8H^q6v(Y!L`D84QmwUfvp?-9`&b= zWagQjn@-cn(yUqstL}HmJ#_U+4HnA+O$nA^)cC)hsxRNetH;}{d>0_Dk*l+4k)7iZ zWiq^}`7#DUt%+WPp7{uI9qzkgdIn#q_)H<-dhjE_t{z9e-J)gw(ovdB*z0-%O-5hc z^f7+_#l81+Wi_VbV^MYivU6!8G$)V-y#)DR)i(&9MNFt4AsGt&GVD!~ktTeD@O%5O1zBfuZB+_Y@DF%B?9kizvR9*O2t(&|4n{&!OMl)|&{Y_h| z1AkW0H&gKi=`mZcwvS_4lEX5dYd!z1btd?`)NL^sIhy$xy@e{WVxxzWeLX_#((LTR z+7}~7{{eunYB__`pHfmBY=i!}NEHGO=Vw0XV? zip@rtGOMh0@6D|v%=NNrctr8D(ydOdGO!ml3QTkK!w>rBygkPUc##zfuF%qsuP@DJ zX0=dM)?Bvt_`3hRYS}x~6YSWco0iawfl^1DJ6h5!=E1O(!>jfjD%mt8{Ovuitsj_V zO$4S$+a(y6a*3^a4i8qnDdkEOB9oOkk(1m?V5&sX#E$U{w@`Pe;lJAzVDz6KXwVm* zZ>ZO7t`g+sL}VP}_5mDhJ0v|8y4dI7jHIZZE_U&0a1YxG({fr?T3WKhIT8i4j_~kr z+~sx6_3tgoN{>(uO<@aSvPQ$x`B?3JrzXEIWB)Z3EbOqRajHamYLSBE1C{f=gHt(z?IXYd5foFF;S_CSpZtr3xfbG%60nQ|0GMn|!lkY!b zd~lDZ2f1x4dlsO-UH|^6mDSsN$}0>F>zGh~isIueU5{USDqhd**r~44XgKyE7FQ)2 z%w7G;g<)k6;Z=~#9{GMMLikc%*OSF9(v39<$2TM&q}k$$*dc3d=K^X%Jjr@*E_S9E z%EbxB^1(r#>58%=4pT03N9vvHr6WLgK~Vz>KJcNT2zp}jnDxn>)#+`Q>xH$eB==9R z-!8{7GLn5|m6Bx6lRo=h8Y9c%O(3b6+KlXDmHNfbY4YYVj+vcf4|G$-cw~dU3`rti zwZ@Wui_^@U2o(0W@~D@!gKy2lAF;;=cc*#yC(8$szCoER$H?5V__oEPd# z#a_0|mC3f}GwTw<*X(XVP7@)^9sweEN7w1YcRP7 zcu(P9__hb3o!feb=c&`llT#}zsxZF^sCcXN$5_@zOK>1vJdz-L3*3d7-^1nQ8d#fD zu3I=hxC54K-wMv?pXQ;~h#Fu$-dN*y-l=kjQf8PCO(pW5FhQuHu@7nGQX)smnmgs* z6_bC@ea8@vb`Vc-#K-m-1-LEht0rGE6t{+}BG>*t#J$`d?D^Xh881{f$PJXtyZesZ z&NX?|Y}qp>M2hf8&CKB}li;UrYF~|n`ijk67_WSs5ZZ zZx+9I!HBw2_NH~x8(^G&j(r-U%sGOGgamdi>VCT0)YSAeo;WSZC+heKebIB|I<{dK zmtfP^?F#?+Q6r@^=X3NvnzYvzORS5gFHZP@6eSg2En?f>QO2T69YF%~g9{4~a>q9; zC1ExE?;3tx;QA8(^32G-)u=lOeyRd%vfDh;8@2uO`UIvR<)BGg@6tMAJfEdXxAEt$ z67>$WYViY;N^OOe7`xAG0`2Ra@XX0ktrPF&R6qA^Wzh}4N8s|JZ~N61!3do3cEbox zVD7|h7|PtCjU|ZFg9$>?*-oQX^5Rod$;<2T^}mW%XP{lnwonqSz;r}JS*eSSPXqDK-TALui(8=J{ig^DSU%Y z?EbOTMtD*7q(zg6(}!%L(^`swDa@rr-;qDPIt71}|E6z5G0P#pwQ7U@Gr7Qdz-eXu zFnZjO7$`zxW8*iKC&@{7O=PaxVHJHLg9JRKE8|nk7_x$m(T>p%V<|i3BiA~*2(74< zzC|=s#DxT?^llQE9DGXkC!!VfLEY!-jXX*O21dv+_1J-=)7%_OO8M-=xZ$5v2};kN}F|wHRx6<>zRYN6?MsJRGVu5%Vx(&Sw5&13Na1 zd0;h?4C&B?f>i#&q};YKG6MSasY;ACBO~<0K%W_^BqeH(GVP;uJbEWH+Alf&d!!tF zh6_8b6d-YLl2+!kgKY#&Y*>-)Of=OS+suWg2xH1+Yk1yjo}Ha)oMr8%)zi5O8$q_L zvdpm=WEE0I^6_J6s+Rbh4ROLW#DzIacCT;u<#a^dclc!X@$4r9uq`yD`5D^YZfBw2 zxIr3<+j4qx<&9gnUP&b>i8_%=-?~Mo(KD|1B_sM&7X}G8UUP}c&0Ram!yy>PNQ`w2 zZBVaHwo>alcAL%$Dw-Tt&y>AFd}0%RRCdDNOG9DZGTOy#U&B1@3Xn8*fNXWJJ6|fp zB%(1YEtlH~7-r;ePvq0c#3$x4^2IsZ@eU)c8ouz-5C1w3)_#O}IHO>XJ?0U^$jC-_PS@~#WyXC5l4X=xku|vzjxBOe? z8w{$o-DTemO{wj=26_WNbIHg|Pd@}}7d0TXn*HSiC(SGm7&T`E=%BV2d7XcbM?MJ` z$npv$urHRgw8>g#mXqjWtGYL?A<3Ud0bFKzNFC>a1e=Nli-i7|rOcwwePQ0dN>TAt zYg;E6S-=$V7%>5_#DN}GdbK!}ix=o1t=7s*? zi-9@8wwR0vqBI=jSrHP>$W6!t_>Xmbs#H({xUw_NaC0W%0U=;%mfkw~()@|=v`B%2 z#(VF{Fs7(+GE$o2yyt!B^!}S6?*I6*{c+SL51__5nY*tnQsE63orDs@bh%Lvj9XIR zTcE2r531@|#l#Us1`*ghV>XxE_2+i~E9u2SIK${25)z`Qr9}<^Z!)&UwP{8LfXrW7 zZQRE7k6@RRqw>e8p?7IMsgfh$6;>(+=f(O!^Eo)ax~K5Kz6FdJkZ+in3k2FZNdCY7 zeF{_ge@md}@ltb{NoA>9gEG0!@xuB{_e-7KcANf4Hu5h=0K{CQ(SG15N@p`HY4Vg3 z|JlbDlGS{O7d_vq5ioAtqfVE=VhrNI?=DN+xmXSj*UaZW&%EuGZa<)&vymBD;*cP< z^Y*bVo%_cCPu^DHhnxGVX zEas|ZxyQ>A%R-=pCH^c+?xQp;s2N-)_m@i;aqezttiwa!v;e%%jjQuE^ToKSoyPO{c0u*EJMAWz{t_V(?8_0jOwbx;f41cB$=?_Ulsk1HbGp8rmKV87SQ#c zfd|4lzO!#2vYWjctE3Pu8NA?#>S-ZV?iRsVR z3TXuAIj>m^=`ye`EP+(|&&upWGSWAm*hTgj)bDD?JT8E}8h$}6=x6B?Tl(zP1MqB7 z&G=RJ+}v=9Q`GaH%TWnVgdKmM2!H9TC=6#6C`)OGDPVpUQiL@~3|$}a^iG0grl4=s z;58(kENO7hK*))&?T~1lDD{k(2$`AQ)yf}!fOY|qaUh4BA{CzVux;D?eI2{6(Z%XC zDg>rO0cff%3{kj5nqM`G46JoTPuwGd!(1NX*P(k0eU>cRZK{15qr}Wanp|VzH4aQ#o0nB~Nl_$bVji{E6!#Lt|*8kDJyuQB)h$NrrOX zzAd7cheV$9ByGRdjpXgqxU_6NJz(k`ozgi?1n#uIl1K=7;9GX#CFSkTb%@O&L%+1c z#uFVO=YJ$O4GtDOmHR(9P6P8H8E0QLsAIepD!b)PRG%Qyqx0fK@%PAmta^IE*$nI_lK}_CZ+=;@ zaC#(}nXSS`9*(r9W%QP)iA1{XLV0d=uo>BIXeA95KE z4eQQTdRCIxZ&j_ytr>l=C$Bb|-uyw+D&+$c$NK#qx*-Ks^#Gnby34y4`^PFv!}Sf@?q@E;rpw#u`bXW^BdrhvU?(T zIb!p$^WE}-G)Z)%`z33jg@Y8nDGD44HtEq0_LQHPF}!))q-%;TA<#wIs?VdH*)$Ki z1n0S3cf4y*hdDdJ3g4Q6XcjRs_@fW$?9sO`yWw**14V3-i{Ul*fQ(Yqmomn8Vjn7e zGrAJ?uo5JT7>`A-V>%3`ZmQf{e5T;fSq{AkR6oJCE&rW^n#UXTA@V1T`MCB#a6lL1 zJ2$qbox}VYI5kvwG{-deizBOAL5-sH7z6)n7)YBMe5zkz|MPB=gfh)qfmzDI?o8We%y+*}K%y`0hwDgX&v-f? zc<`6NF`;I1C2L5KhSJer?Go?<*AXjlX<0Ia`{!G8hS8y(@+6rap~!BAD^9QK_5={G zEoDsFUR-nvm#5KhxA;PsSzKK-A2Ro-hU2*TIzM$$3}?qz0!9BCmh$e zaL*t8dT(L!ro82e;k!(W@|JkIyaJ$u>-iiwWjQWWVZ@41v`{eJ-X1hMvf11psL!GF zLkQe#%zAiP#? zG+FfiFI+)i0>%XrltW?AEi`i??>4Ai0ov@pMMlthkL$I55)MI4O0%|gKaXS{SE;$cF`O_n2GJ7cZOFgA4?A4yt1(uKKs@?9L}6?;(Cv56IjFVy z?%M^C&}E~OAISCi9DMg%Zhc%^6Ocd%AiI43l)URFZ)QV_xsU|K_4R(*a(UQ+nmnd! zqNo^dBJHduSm4c$S+p{h%s`A%U=N~C5uQFkIBydsiQfaos^(S-n zU#`6csTW@p8mD)irR;oFYkO3oiS2zCr%K6~Mxcw6FduIyI+kTxdz>H0G6+(}b|+;l zlfDVdM;;xzZQI(0I=EJUGlQ!=wnpa%W)%_}FbrC)^jv@Tm@vYVL8+}>Rb5X zgHLZC^^TMqb_-bvDq{5|db8QM?eZ%4bM*jXq$~DbHAYv0G9Z;a57QlQpU@W;dHTUN z%gPi|mn`lNPwS^HDJwLnAW46Bd6>;-XuCk-gvsRCpdFn@96?0~k5!nt(dCt?sajS) zy3CL`;OWwa6(b+p#8i|mSP+UJ1dJm;%Z^dq<1|T|bB@{ZfigRuGZr}EaBY6;*JbV= zrR>(o7?-@*Yd;p75<-P5C2SDc=;D1>(h-gFl`-P zO!b-aTdF1sKU5XGvc?AJ)MXLLb4CLvd{y2^;kEJx?XrJFzZiSO2&wRL}7e_r0mn_L;sGVNBKcNe9Hw?cP)@jHS%sa#qFMy&kDc<fQKjG1ulD@Er5FNl+!Y@m=@0KwGu7>rWU-S z<*4%s-M{be^|nyNVrT;sM5*eZrHHDAeB3=H&ClJbg#gYNVgos^z^9H7uQqq{Cc1$r zs$yY>ZACB6ok-kTW0MA*#APQ<{Dj5tPY7X&jk@Oi;{O6Ifcj9`fn_!%P;2XnpM0T# zjI=X&C-dN7)r~pAWJWQ3Z~~GOsjS${zExBmM0G(#WL}vW>aBVp`=w~fb`cU+fy2Cu zqX8u0{8>iJFjsH(9Y_2h6%yLr6$1V$#U|P$U%rib;O&g_vB)wu_1^G%56_OIlI@Zs zk7~<=b(=R2jZAAx{reqwn||V}Org!km$d#+Gct8GQUPk&K=H-1Go_ z-m}@mM|}Ui289Y<|EpmPr*}Lp?MFEo$qV`x`sRa~CI6bDWj*AXHsJ1b&0LT_3G6n@h zsA)9RXF#9A;*C@P*U# zFhi!iU08+-d>CKZT*to^*ZK9hBLkmLwwSnPRNnGt5*51x-VPS&7C3#o1h!d~d;c$F zlpy%FpPWnj#w9X(sQ@Y&??*n~b4}y52!07^$aQJ&rlpZe+evmiIymkaCU*kq|>n zVI}fDcP&miT!|dLm%Lt>wBEj%OGLFcjL4V9fuy6VZ)W|Z>=m|?Ml>DXbF`m&H~RY^ zOqIvSvK zF-hMsUC+)@_hGL^rvr0&;4_R)s|R99Wc#KIwSukWx=qw0+h?{x`T5^3&zxaMe>)3c zOR8ksLf|=ERp&cfX$S)=rc>bb0PB-BG7oO}VTkEAn(`DdrMv0#YmQn!gr%FN6@AUA zleWL4HTD*)dR_NiGSQr~W&sD+JPa$(qu|_*R8uNHIA%>uvKt5y9Mcg&b>S7Z*(gfJ z)Qse}b;=298tl&;n1rikRxYsp$(5GyztmSRrlH>v6%=nly;Dw)q6xPei zG$1oWx0IIBlY9hc7ZV8}#Kc|@Pb$ead!k{PS`aogy^8Ot@+eQDA3hmNYl6B7685iJ zFfgB5+1D0ZYgd^v#y{ZMnawB4wW)9Z{2Xai$q``lgeCpa~n@+YI zT7J$Ffl_C8K>>L4ZcWysGrBhi>wh4A{zUwTYe=cS#dO0mH=y0|nclJZHE0TQvM0C7 z#=mDoWB*+K8wSnf_rHe;-`ZI#dg0t6@ItJbJTsg=kwet9OmE&%{NM$UL_#0w@oT*g zE59IUKgEbXts}def#cOi6kff$u2IBdi}rYMCpt#-^4`+)4Kr$`Qz>=Q%+6b0?ERho z-7$-V7nG#^*|pZD8~PO)MZMV%Hu#!5bq_gEOz-bl1Y*#Dt^ngQg!K&bWuYrNnM3hg zFaiLmf%J8ST>_H*(|)6a`YkShkZDTEI91MdpFoY&fc#?I&~Xy5Z3L3N)xt$_Mgc^T5>X;&nUJRgcoj%ZO}a4=)#E6wWE7F#sl>2;|amk9ikKyA5{Lq zCQzh90zQK2`?jlB@Kd8k2uKDUG_x3@ti;@iF`oouXrj-^yW91C0Qn1_JKUO9!zMQdM?$u1H>Ha2>vvwhcM}ogX%BQ@zp2-Kx2JJ5Wx{ez zDg41pXeqPhdvN#Na)oRu-&fXrYInO{`Na%PFU$Qt=PYATzFcI!+*6H_l&^XaS)lfT z(&qtbs0kA-#Q|0jd>M6+#o=35SJWDAx+s{fM7B7Q_#0DcaBu0kf-azHk=HWzbZ6BH-2 z#@6{Suf=xkSHlZ+^&fDFletYC=r3bnWB{JBTo#z-(-+eLmMaZEpCl`8wzjFLphrJl zcWY7N=A$vf>fh1=Q+V-z?vG25oYFhqd^Vk6sKLY^JQY$GEwD)x}qO-*QHOHSAzA7_5g#IJx0>}3Qx z1n>PZ!m;!KpI18jPE)@vWD2=_UsH`D{JYewd<)v_t+7=FO1c3@rWc7uR;dGP9G}sy zJ6qncjK4JN0CgqFnNtihM3oFT<3^Ytggig~HSvT>R; zRF)K_AsvkcFvr&4fQN^v{BtK4H+>$GF(D5b4`$URIEFOAD`hklKdYIcs31~hcZUOX z>Pw<~bHqkv1-uZWKfFc6P0Y;2$C1bguA3Y}p+#xPiEXC%nlWMmI(xU$ z>(khtg_Pf_U*Oh+LYoXd`)+{6tu)YtcS$4C{A*Vkux?9cQiYIh@erkhTb;&i)Y$01 z<`-iyiG2Tb0fAqU2VLbm_nns5it@WkHvGRp^@k2Xk~0rN6|9kMp=W+i`umj{tivC9 z%U>ad!nsZDz-V(kZ=_)p67?mLOf0lAv5b68q4oK8mwMR-r_G}Wus7I5`c)7WII~)f zsA2S&Gby;VEOB4a&^-f-KLRG{ZXS;Jd#!G9l!i<{L6{@kB!lA6NcO=s8JFQY{G^gB z<)~@i^1+Kv6~c?ECZ)S!Gg|;*D{(W1eMJo5l*=#8DTPS&Nky-d%;=tF1wO)tw0X0v za%yZidUc8R@;_ODREvF=7*w8H#$5rDM=Ef-b-AdBWfE%KZeI3|!(3CvB`hoa&B2}- zmYHk;6RKNAN!kn3IitgN!t)CK>-HT(EoLe(S2MYaYR!4XUj(Ofx)oqGtezfhJ^F+5 zkvlYxK1X(hvCCS`dbG9XY;cNpGXbxwrKbb{=VxOqY~|IEd^K8;??tUHMOb=4;$&cm zeNVl7HO_d+{Pz;CILe#;vG z5`b&SeK1)$D$;~+XnU8rk6EB{>nDWuHo8jrB66rHVLdztC}Z)lqXdg3vhGHkVWs5j zaCo;l&{Vxr55G4H+W;_Sw3588du#a9r5iVj|Cb}wW@#KBXlDe|l9&KR3pO0*H>fI% z0c0b9fRzFLb26oKJdpZEn8D&T8Sy&}Ul!Pm*`ng(_r6H`ND)z`t9Hg=Qx}|L-T-O$ zJi~TDQb7&cvl{tTd@_SC+M%NeoBFfp}vqW8;p63)|p7* zT>Xz+OulcQ-XSh#%!6NwLmtM&9kZi|qC7C4MFH$bpkvci|BD{T8-gd_SP%KU)YOSL zV*9!fT!etu!*8zzyOOaG*>GOeqrW%tYyn*6|KC;Kz3#gT*}}sKMtVy+k3M_+APjdVp`H><`$_O@e=686b6RFM=pF)kKdO>7V;wW04!n z?md$5)!aGlBN%BBQ_)QFE)_q+C#J>uU!CT@?q`LMO5|{c11J0H;~6lm&|ap=l;6Vz zjE~v3C(LBR~a?XqY3c;~$)YT`#NZFZ<>=Aw_0Q%?SZ3@7_=i9)1*ahk7U7Of{$QD28Vz{Xqorr%TMvVC$AV_rkBWD&KTWXk?(xx zv4TL7|AnpbZTiq#|OqXft_>e#J%Le+3l2OO}^~`7$sl-qy%#eY$`@Ft@UyG z9t8w|fR=SA7a^oj6}_Hr^h&~VoE3t&`-2qn*XMOaYs_DW-+nyxIq8=t1wL7PFBAW) zjFrln5aqfIX!zsJX-06UvU_@U>h(b?kH-{V{H&}pYFSlOn7Mq2eC?Jb0PA?063e-@ z=PX%^Aozoon9sQOzPNfcVAqc7Nk@kF_@nkkV=`$yK?eN)X3-SZtl&32ffdy*6#9wJ z61vQH9t;JVS{-j2cBKVcqpXr6roz4rK>ThDltdrCtsZGPEtv}qKPc}Ifb=XL3C-KY z#sE?UTtV`{+yF*0QM=4OHEKWv@$~e0pMQ1G23cH9A|@a{%1s5WW(q+EGx37d!L(pJ zqy{g7y8tj59EU0c&*3aRl|`d3=T*Q>;^~m7Mv)^XfIfg_;4D}`VyIK1E&%We zl9W&c-6ypmc{((>^!oyPA)mSAGT5|*-37l~5Oj&tP!%FQ&c$`G ze{u_ghm#pC*Lw65KQn?5Loh&tsjxHOta2&pQM8&0b09eJIMnB8o8~-|iQx1#>@vlF zy=er1W;U&-Z?73x$-g8K=*7SLxn+_4pa$Z1^x@`;;6Oi#UYUx)KFe#nM9BvwHD9ia zBFYLhylnOyA9id5=mT_|9Ev308cTL?A2V>5K>uvd?uN=44$D+tIfl;e{r$g+b_CWP z!xS-Dn`JeC=1TZtj^=JMl+F>+i=P-@f+MZ=qLQfa?yBtG#`6@?L5_0>;2>&-I38{# zWXHA*RP?7@Fn*QYWSft4Fdu}0pQH0hv^`no9Ka=ofHZ4P&n}Edq0gosh#^s8?+~n?x$sWAHGW%f`A@SB@C5Ofoa&?^ zoo%srUPy*_YykIj%gPoRwx6a?S{pX_$hB#oWe0x}Q2D4&J#}if>cCHZ5$e=c=#P|0 z_t%5TzV@;lpXkIO>(=EKIzDb>Vdnm@)!x%gnV|_Ul#x2Kl zzHi_`D?TRxY^mU=l@2(gAc$K%*zRt{bM;>|8PN{#WbEb_=b5C)K0wRe_F5M@VlS93 z>9+yS0XI-)3Ej62gcBt?JMN{wuiA`Vc|CpGq~liWN~?gb(Jq0bV+dv`NBBsi%s91D$Ltdd!})^{IljjXVAv$sPG^*{ZH?2 z$Cv{L+LKAhp)2}f(HI>{)rg?yS=d3RUmt%pL2CCYH4b*LDZ~Fme46dZrmWEhrJGboge(mOCdEMH}@(o9QzQ$L}GD^LB(B9rY zUS_X%3Ngaz$B6P7Rv*(><}zOi`n_YRprAxcq=FUvQaTJdzEUAU<78g&kY@oS)T!t4 z!mcvEe7oWIX=NcNr~uk|qlJd&&x$cm^qlKxF$^|f)5IewtLdLv5J)d~l{(p=IBP6K z#xHL>RSMg-^3$Ym&Wn%j*4B$KR-%V2?(0+NWE^6U_P8l5u32T#GwHjD0&`jM1)sF$ z6fX4_2YxgXw~6W%7rYuH8wm|+C^~YSiLECg|eyfX+EvYud7Ie%SXDCBpq0&^!3SCj?st4b_%-Ia>0#%52zv1 zE$2hb)G+}c@)=>6^q_;Aw-WiT1d~PPDCYEKgin8Y08=hh^txg+RC%pylLaC@Q9~B$ zSfn;$>vZV_7?OqGZzX(Dw+WzZe7m_Onx6)~=8Q9 zog5|-kgOTpz<}QRn2&@c7h-3Ae{Uaa7lwqT@T4dCztCP9hpvD5>-t?^Om<&GACq$I zVd0Jofy;+KxbnhLe7)ayrT=*&i9GCKu#Tw7{?&E$-=|*mlwgy)y%ksmTuQqsg`ir7 ztz1REF8bj?iINDL+Q&0CNc9=j%J>aW>qwamODB@BF1nDTzxuLCC|TS% zDcO!LPX3Z>uYtt6S^a>#`yp*8#oe$S$7gtAyTGXG6&9XdXFuKG4Rgad|Oc^Sr_3D|uOBSZLLm_)$jLsPRDvZbu^cPWU0!H|{k)K16Dd|83kUTdy&J zl0?0f_Y5b*MZYd}&8-VL%?$*5$iFb#st9ztkfgcF$Z*B%@3$t|vmbFaj#ClYF_?qU zHcgc!J$&aYT_q|z_Of0vNSV*R3Cmmt*P~9oFbmIQI9nbk7uGq=yU=YsJLdx&9GsS7 z2e|1oAKF0ZujfyGZA3^6wVG{yMz4}i&vZ2k+MggGvVDD@S~Q~&4SyAP=e(GlS{YK>;MemH0LUitp1&dZ>4rxX;eYyf8si5LF_;K{h zl#ANG?8&XM!+)CwD9kEeFC>IyD4)qsQhS`?s34G&L$*)iChASFrH#tT1E`budKJ22 zJhPQ_qSC*u+gFvq03ggtWI~BR&S>!c`AVvsY>lpDDZ|OTW7ABsd5PO3FSMcz87`H} zE9YDd_!nr(G2!9mRh}GUi}Gw#2Xl}02ckfB8sU`Htj2JkK~b4(Xp9v#cCTb%tF0XF zqhnj~xbnnalIw}}>1556i^S!c{QQY6A81+TxBoWJRPY~Qm7CnlE?#x&`1)03^%>YB zm#Dr=EW9QXqhGp1%8!c7XN!4A`9mW0EjkA^3=-U@ zfLHtb%d^YlVw9kN?Mo>kBapI^5)z-2mN(#h5LJMpH%*78_fA~cQS$QESiW2pgLmZ@ zs*Jbo$ej8mFpw8G&oD>ki_-&Aq!MQazURG&n7MK@-90rw|GM9j$9S`enb~fP--=$5}RV z)Cn`P`v*J#rrqV{dT6*(;M#J;Tc|GcjyFj)F^zit2z29@U(qtklWi$PkTN^nSl8@* z(R`I(ntfAZka9lr>%KJSqnEMQL-=oX9gPU*bI1j-L6zYU6(sAMd`>u23nquXCyY39 zF*BoxIArwu97A$-2wD$6DvUcQeVnTp=k~_E|jbufi zWhZjyctc8;|@keMcJYuLB4`+(B*_s`HRd8QCRQV-ttjeH+vbqXvy z!r$!ww#1YyQEE;-$W>PVcBqCf_RmEIpyL<%O+w{-fnl3?H*U8&zg3H^(07u(wZT5U z@-yR*f|lkuSa~})OU5*}cEMgt6!+F>wWybGE9JrQjyt4~kw+2wI%zHly(R%!Xj>Z83Gx`Z(VpOV_4#ZFqO@B{Gej*)1 zCOf|#@j>o=G3@LHx*EKhG*@UdFID^jD?C{}Q~yRPS>j?gKsF`A&Q&PdvU^E42b?w_ z4k=PmRgPqh@R;(g>FN;l4tEIu=nqVAdPd;tIw@z&`y(dkscx7Y_)g)0G8jgy zjmJPiHDN!-K_+6R+BS(6r$M_Cat_B3#{MUHGV}i zGu7UY_tLk8>`(cqeKIyU&$nZ0?CwYZ%&j;Y&Y|Z0*$F z@26Iy80Vbgk8f#VQQphQY+|D$iT+NQ=MuDu#>*bw1A-vg1NH&Yw0)EtI8O7cvYint zxfGp9!D`EL2Y!`UH>ryefg>}lygqNaFcWLo?|;Fx3AAb`;I#ez}k3tC9VGsuGn_&k>Y{) z{pM6XyYc5vz`1+t5nh8Tj-7bsX*%3=tt020tC=&hs#|-|-||^7>@-R3`pF$*Fau|H zCXa7mC5HY8W?Z#9v&EGtp-Ld7f@cM5ZO6A)E%hdeT2_9}AM47@9O$Psfc~8PAr&G< z9>^U*&U!_luJ~}`a{z#_GmD8WH4z!&dO5FV6>6p=ZJl`A8SJKhsc4*HoICYBaxtS- zJC#Nz-O!(&f38QW1cY%E)`55BM}+lX5cpDGmq~!m;1fV(u%h4oEMxVvF%JlvK7Ovp zG}s{K7scjHROrKDU3x|ark>-^ve&D{Rpur*{gLQBwZXo!cbEI6kX4r}&Avh)<}7Yf z?rV0Ha_g<>0vF)Acl>M)+L!xw2+n#@NaUc2Af9O417mOB5xuXh!RT|V>O@d`a{1`abTx1k!QUDAxeB1={qQ$X;I-(Jl-UUf;IR>W`Z0T&NAWK9lVBUs1a zyeeDG>Sim}PPY7`*xYOK;)RJs=w>ntBgF|9k!~yx&lFgm!=cR>_skvmPG-cIg!VKj~JNKZ`5rvx8klQE`E7XF9P^LhU=GnUIXmnCi zIDjOLb6hT&Em8)a7i2Zh%*`eL3TAOP;k}w}7wR11;A%2cg`0<@vW9dH`|PJcwXRw* z1CT>eSMls?QGr^J|y(MCf2ei0Nh zEQhAIfm;n?p?(!TO`~;dQkB1h;*M{GF~i6x=~*?zW{LgM-Ul0j3*e0R?8GzlxB6uG zJjS;cBP2Gp4$}z|Fmj9JUw%07PGGdhrvu_x@K$(m>Ktd)9hDIo>oUu=C%n8d{wK0B zPq==3P0I84=}A_`VoFYiRWX<`^#6Yx%M^@XZ_Ib)0G*b-zaK@qo}UsJ5HoG8C9?Hwp&VbxF**Uh)t@y~Qt9};KJkc8) zE8;OTTkt#>lOdjns4&RjvpZC}PBc>Ka2+VJt5;g1hzjLbmirntUcItk7WC{y);M;6 z>asa)Ky||Xzx#$%i`*dr7MdJer$&Ah{wp~?z)k++vrgoexG^q7JmD4Sr-?I~P)0UU z{Y85UHXJ3**yIz!DE4ytRgO<88mQx-=DWPSho0-&DlY&BD=Be)WE{G7%nUuj zDt&gFtcZGBgl}y-zO~fI6Zo`TIh2_XXtz)IEPsw~z1{Gy=rX4BQf~OiYI8Vuav>QD zuA`uGVFsNP7-BhhchMNBor{}Q^UoWZbMUvcXG?Eia~)NUx6VF$Q-S9ZeN@Ku?izPL z4UzPnabzLp9R5-n*d_b0TnHVpLXNRk)HLcRoAbG6P69xOM zM8_5n^O%hRg^Ja0_;#MS4ah7k{jDH4b((;y?0u>^JEZcpD4 zLu8}Bf2PMa?-Ka|lK-U$DG`?USCjy%&nCN`npTzL?GRtvRw+vIl>8p{_>H~m&?M8f z`4N$>BdXHxXMas`txJ5#U35GPS0Q#dAFLO8y%Z+oI$73+EZPyX_wG(N z;}Fg&3B9}jeg-TC6}@HzET*-V1PU-%hn1-RHXzN}Kxz5SJ`1~5<54$q!{i@Yr_mTE zt|bLKOJk1rbXG5k=~T{s{$1?08^-=jM>x?cK9K^v^U=Q(6rX0?Q_NVX?ox zAOB`;fQsi#bneRX$s_YlqeIxwd9v9Ae0?yXASixSnTBUV`C{hy$Y*+jBHwL_*VxpR z;!}MIdvCcWTk!}S^Rw4CWeO1#4y+Lb>e;MPcWNjaHqVS&>3@sh36?22AUg1zmq5UX z@EChgj%|hsjs)_vP%ArJ4@XHXUtqNePGE>FPvg zdr`XM6k)&)X)K>FVzUNnIVG|YO7RroT#hq$hXH2&y|F5A9?SAzh3PmY;wZp?g|S$iZgj`aV}6>icdy70L!Q>W}_8 zB;fE5P0>F7pRSZ|6F>qFtViY_*y%}JmdO?UEAD&Eh;=$?+BWHP+>Q_jg7+h$*64A@ z|E}Zq)&&G=WARE@)r!+IY^45BYb9U>g_EZYfP(eU_uQ%WD-=wcxGcMHjk5F3v0&;E zf!%LjQ*(ZG@PBU1uP@DDf#~^5NXuzuUI($glUk8h`}<9s8{wULc$d3f#bZc4DV!7n zxW}Xab3e>>07QLRhL~~^4*1s#Hi7Pw+eYKOb+{RT8I;a=1@rzYb9)JBvQ8uzSVq+di9`&!q0plaU?^v#~u%9aI-G6fzxbcczu z>LjM+YjC8=ki3idPLi?N5j`b9I&97z>EPg(^ZuVMhqvBxr{qRJi5XH?1d>JWDDl;{ z;mB@0hZ6dAL5GdJny%Rk0zc+8Knay1St%i-$g`-l_uF8Gd^`Zy)UFqpc)8tB6h2kEfYlE=&yANj=g_ z`>(P5^>KEF{Yg*dwMSf2(%+3p3j<<)RHpx7e65M(fw7T+uC7TNyCksc>2+D~G^uyv zfdBpW2eCm^1(Vc8`uAH?Pc4?ot^};J$zup73MwZ_>R-l1X+)X)*IIahDvLMUFPg}8 zgOCN<62DotC(Mr0KksTcY)3-aO-ZNTQQ4-fz5Be~8-BEwv9gigg}8EDW#6`;wP6#Xa4KEz@%imCk;xDIVDU4**lv(PGM$>>2 zfxAdYdT(b897uAB78+$;8u|=D(Nmj{Tk4&VKMmX@vFyYvU@RSHT2@Lp(UglAfv5k} z29vYZwY$m3uxAf264jgZantx3zGcbjM2+{wEk5E%<)hWD#=%n7 zZws)eNTo$2`fuI=>zkT)H=9TjGGGURz8EzRHG_~Om*eOYBgv6%qD-LD&{w!8!XT6L1zJ0SqrCG)y(CS1*a z&T;$##2P&jc@4cF2Uw4CXOuJL*DZSX`h%19n0}L1v6*{);lMtI=@a}#GDhw!f{6#z z=+>SV-v(4VgynTBZH~%eg`e}&$Uh__upHAz*5zC12b8HODTvg6s`I_u(BgG ztk~E<=B7A&F5)z8YGVAzoNg066&!G`TNlc6DXxO(*>rqf^YEn9F#w;YcYJG|fHP|TfBg6c2M#z;l)_%Yt_|{ie5#BYU zpt7rz){Dpoa*N8J*KFAsG0YV>`O+wXHF4=Or5@Tc#Wab|g9wkrm2_A|Y{ zd>$3GrQb4>t0_~z5nTBit#8@ zga@_X5thKlERR%WnMo!7eKC*c6#jZ%+>}!mYB$J3{AwOV*0eF{o4Uc^u}^O9<{y@F zM;X^rU<{us4hk;rN3w5KN3xODexSr=-wxD}-o($;(+gGJWzP^4rU4SOxbZ)(I&kKC z2gYub=*CLM@<7}9{^`mIr%!FH{Ef;JyTuzKnE@(l+w(~XnYzY#*B7Q5Wa}~R>{V^m$*FT zD^M#7q-tgldTI8Bpz>5~f2IlPACIo{PJ`89l=6=92FvHlNqgd0o)jQJW9W-wk490F zM4p#XMn@yWioD{6!9@%#`##TdwD?X#2>vNOoX~p>J&@FR4QyOcS=dwhWZh%BeV?$Z z(Z)js-p3nyH99z)0gZh&^Gom*VXsm8JS+5bYi!IfZOu!sCYgj&h)FN@@tlQ|J;98? zyz?AYi#y$W<4qYGG-s5$vj^O*`qN(9XffjCI!*|OMrOK!H0rv z<2^s9me3FC-%OJi-Ek0)n;Q{pdH(=;wnq!i7YZfL%BPY;Kq&)4Z#c#@t)~acek4Mf z(va9Ux;b~*c>T^ZwL6c^oc9l20{TNjZ>6AevQs;S%m^0l6bB?Gw0KiF?Z%(EOqF{B zix^(X-L1H(i+f^`;^F3f<={z!8MUi z3_MscIy1$WjC@9k=l?qzzd_tL!@A6|THRTd^*ek)C#Wq1-yCZ*0R8}vGfOOwRGoVV zgA8Pf^M&I^Dtqn!>lEA|TA{xwOR=9h$<&S6`d#}~A@Oxl^0OXgg5XuchfA8%Hj`o` z^O2g6__>oOfJ(~ZGFp{0<`-TT#e-&hh&BLAh9f3*j0Hg)E5yiWn@|o#BS!Cap9Azm|lHlxTohV z%+H7_GzR4r3*CieCNFelH!N9hoLh2vP$}AcGnhi5v5{M}3FL^uHbDLwxWekFq!jCS za&tgDPRVMWh3q#z%O0PG;cm0A={@+U(OK127GBA@wTLt6La$OYNX5GXp}8Cb$xD%%wcKa&!)7{`9X+Ny*BDXF)0y_8g*Kwk#-ab1*B0B$Kao$SniSB3fBi%tvNhZo7a zXbV;RcMr?(`(nWV8iHjO+AE(gK821am=7Fyv{}R3w>XBL)cvS}-P)K^6==-u2u(#u zfo*C3y-vEf*u~M!Zm5(;uDnx}?e{LWQEj{hTl_tLh6;$2_&<(U^`IK>nkNJ3MIAu#IUkIi?h#g?}RLV~MDg$~FeZw{i8cwlM7T9nwi)PGo2_}?NQxDm}070q`* zjh2i(tt+Nq0|mAf3}bwXx3*qN{w=ALmh!bJ$1cHwOkX`a&3-2Gck>KPSj_j!|Le!y zP-^7Z``|cawG!s}Z!r{jZf9nE$QF@Bk zu!eWhS%|aW4tGHiT;5s6e0-gC;q2S|ZQ$*_U-XZOK2sFvS7{X!8P8(Ynq}~u%-s5R z4RbJXCsGV{`E5F=6qgWl?Oah`6YBhYhyUaR@lucwYfsOAf{MXrSooVw!{cJVR!Z_= z3f$gY6F9a=Os*}lO>e3ZIv5syJ5r}hmI=OjgnEsb%CNO;Gs|krfT|yeK}x# zFfB|(f4d_od-iX~Im7=o4Zq++c5lp|9rT-P=yp+}?6YZYf@!?F&2 z0U*+ZhTw&q^M7W+oz-S?Nghxy4eh^qgi|xb%VJ>>CIZTL$NW>V)!;m16!GFjqL?gn zTAm2cfPRhp@II?3C6&azfLFGP2@MTRK#<47=e2;y6bICWWzEVNFzVYdBlXWyL3&CN zIaYDx`YrvzJ4cm`@{FlRZook5BI-VZiwfe7!Ffge9hKY=;wbNDJ_SU)Q8D8ldT;cDJ$m} zrtv49qX~6-t6NIoi`8mP?*f&Iw=%0I=D}BJWLdp?jV@{&s%P0!G02Nwlx~w|vt<7c zB_=*DfCkMD>Wv;fNc|jY85rQf@nlAD#1)am3}Xo0I+v&Ff%DJZ)^i1^O@V+Rnlns! z-(0ctGyix$@i8r=TB1RDs`eYJ_ab+aB=u1O!e!^#W5YLAa6$#{vICK;08f?Az#m!q zzemnKmRug;ySh&v8B37La!G!yFGLa&Qi-B_;hUAf>r1D zuz^hwri80H)X5w-n>hGe{B9jBJ}l6?`6*{q>F>r?#xG*@x`@DHeQi|lu2>`=4l1m= zKDu~9%zu3h8GhBhH+lPthiSkZM%m~}P7d4S+4EDoVl=vN(H166mEM2SttW2#buw!0 zqQ=ZzP}3i3!KA}75E^B0?2I9Eka$aM;9~aF2n*Pufcz~maY&UC)QkwMpl-^vl+88B zFh!hWjPSu#_!I3TI@;E3+Qjg!6|@52slAZ3oEJH%GG;wYcE~JOm4BF1@Mx!ZhQyOb zh%zp^9cWdO(mLP1Xh^z_+DOK@lxBb{@Jgz8TazQd1!z9E;bhh6_q97^+hMTcks zC&H=FZA#I?itJ^!chbb5t2!L~g>vr)=ts-!atpdSUHdaL?k}^h8y=G~{OTDxVvN>3 zEQ4(?|Im%7Hbz}*ia6yrC%4=;uoGlL=Swt6GQc)Gda3;^aZlTZB1{@zt~NcUaHso0 zWlZ@)(-mU5LF8&G2`UN{a}Puu?2sje91EeCiFxFj%o4gXcjue#SN)3eX1NO{Hkb^U z@hXnHJxxLrPqX{Z?hfDl5{^H8G3$8#S}mNvA_=kaJiT%e#tRdz5iWMO+{hJhBy<-? zK1OzQ9=}98>40fw_W9dX5M#v9Yz)mpd?(^`@nY58QLhc>;)us-B$|?mNyMn(_4r!_ za~LhvlCV)#`T7DTj3I~ zy=f)fD_~=8%L2noG?-DDI5-WVc{_f@#tzdIm0sl-dSJeLwmMR*xd#E@fTQxt(GqE2 zy;W-HxDSLJck~=ri~1_@XO_EG;euR%F8aV$&dZ1EU7f^euRSwJ?f27jLxzLK$?YNy zc=Jc+bd$}l#;%_)y_#*MGjw@0o>+)&aM3${APv}5@2IW9rcZ$r|318T2{lzW{9=Cu zOx4GcN`-^%lXd0aO_bTMjGi1ZA#vQ+HVapY-ShRFma+S*M8Eb#Y2dC5h| zOJ_f~Kh;`~)@~zj2&}`DpVC)jt19s1P1ctbT9)x3&}ujX(6g#}~< zojh0%y+T4rdNxzLRHfye07=qlN1-KOoEz9$XlFd)inbNITe2rcX&Z}o3rWcO$WkS+ zdhzn5-MEA-j>?Y5nyrtEpUdG*`$nX5^vi6m$U5R)xYSPcE{-q$kukfvYW0IIVk_cs z>W53Or{!L0M##383m|0%ON%BFS_aooDyhMEsHqUpcC!UYugJ(qWStXNXS09%t^l!SP9rG9Q-Dm+iTEYuRqu zzG>`(B_=ky+}v1Oi=Gxv>N$pY4DG&vQ`lLOmT8JV72?O4hAr;@xxpC)s(i*u5#1haEOc3Bi2nC*eXygWTCut2U*v#K% zNrkjx8~04cdPVPh8>*^pT_%NDUv!Du=3F>q=#FIvefz zz@QAsd9os(=?ZmL;ExIQK4wTI53y`xRb$Kn(RpTCV;&Xdfn?QKRi@82%&`5_Vs3mc zh&O^SVb+gdVpHI46pBmAqv}HcAR^42o{f(;5BKORo+&l}Ma!m#A8@6;9#wlHIw0EU zZEcz=zhxII3Cuexk8sgk`hEwXGD1E<}eZYm&1>y%5 z4Mt+lR|jI)ulKw=Xy293WRS9lL9NqSx7sYg?GC=fP44m$W8k0t;ulU_W7<*)yHy7l zPmnXGj}JnU z-QVZXz1kC?e+?jP@b?5>3E!_1a*ZE>m%w#G*NN0|r41y6SuVghmDx^Y=dSX>QsVyu ztocFM+k7Z0D9eS>U#H;C)!>{<#(#z4Rp$QCo8Tw zk{YI0ZjbIXRH&A#dq2IgAsh^!QeceNBW2HnS7#K!8Ot0)=a}8U$3-+F)<=a_I6rAz z@VX&YcxQ-U$JglFM;lMhuc!Ysbn58ftYu&O)=PBElE|T)Rt=HlD%Q4p-EHGBB2)oh zE!--h6WQ|t(ndS+arPs8r|mS&zw^yievuj{MZTQY}ji_P+{ij0(blD7+l!2mp4DW?UPkGmmO=nUNeC)=gDyMvW zf57ND+X55Y+ExpfU#9X0clcffQv(Y>z-Y<@Fo;rO_$qUcv+3X$epMWC$&3FptawdmW4bX>&=23RQrB^M;gA0QzAUt(#+cd%RzFHT-kT z^>Dw~#W$XmP=$PE!mN9rm8uNqWn}yuWNv20X}F`#329pQ_O0~^4kNKGKuWnmYV6zA z%en!+*QsCY2S|-G_Kf}tXGA*hIE|H4Q0u_Db9(QDO~%sHai8J@ANGfak0TM;9J0nl zO46W)e?NUjmXk4vB&Tm0CbJZ3m(AyHjxKa*!ST*NTOX~{dsbx)4m$)Yznnwj&d)jH zj0V$FISX&a?5xeoq%s&W@C6sr+{{UY z1W#y-?4aLNut?#Q`8O;;EaRu@d8Wtj_20#N7q1|QYFSyzhzpPjtlG6f48)y)m#^T4 zlWN9;SN35<+IA&>?jw{4#C<>Wtkz2;^?3WOK$iZa+MoI54MLAHii{-xY_^q0KM=Yp z{|ySgVf|isCoC_I-FSD|8PXJKJ2nb%g^Tq?ap28xAr&5(PJqU?7C}E9RyA_Vr&+|a zaN2h%2g9YrTle4##M)LpI~&gRXve@}TKm?Fhnjn<2*0sX{_G3>3XPscM$qQ!TGwFDj{MmkV@Cw6?KgP!-~ zB1$0kJrA!vM=*I)>73wjM@5)WYI&R3;F}=SzTWuN56i@)Oj!lu`K3uGM?%&7g5_4D zd3E63Ofy2L`nKgu5~=wP9ba4aNRtp7zy+Y)hbgf$)7KSA zf1W7p>iPT?enF`+X_C887Dy%T)!DzjwQ`ittNIpCo3){ES*fwaeX4=&_Pkw+Z^uUU zO%JBNEahC5Y@17M#h|*=4CoEg7o-!6<+dzVO4SKNf21Z4IUZ>CKLKR2zP^;MH(sO) zzlLj}1-@*g4AHg&`D=KXwk(bDmO^Diad@0%RalQ~V0&O!y1Yr(KKqfxzbN>iX^G*D zfxMxEhkx<7kzymz-*C~>bLuM&J|e`-AZ6etL)+hAO*6ThteS?5n1Q?a zT=sNwKgbR&vYHWmoc&=nH$4)}8g;--AVJ;VAKLG`MTLLM0P*}XYg?a|$;&q76VQBw z3y#U-+F2f1e0y6Bxib6Fn*fec5C8p}{iC+4d^FgJe^bh?{~_%8a{h|crv6K>t-deI z;FL~5GG@zGu@KNy5-MH&qyZ}Ij`hF}@z3C#6}XVsYtv?$xJUH`A@A5F0^0C(Ys)9B z$kzUqG0in8z@DQ0U7up% zj?mf{RoD3{JKy&BvmQ0r3gmk;c_O zAJNR2=Y>r9`J|z#u&)x>)dtVI9}o+XUK^n->qJ(d9)$J*vB21tOm_N~|JpSkZ-3#& z>+&{T3jG^1=GS&M(^I$ZU)1Xmpu|<_+;0T}laeHHF3qztuRp3dS@E{njUG0WcLN=) z6byHmcx?b~7}V>jW>ilBGqxGbVJ(qgUTdxfYFaKk>OC})wU>Wv5!1Dc!KMT1&eSf3 zge>gd7f1YCVs+0jSc^xJqfOj`{oH!OWlhV=X3C|088ZMjGCS$G;au_P*@F#k|ABlX zMaXof$yc25#X@$}vH%Qcj(IGF-dJco0f*>W%>JxH)aLl+= z)J!SxTrl>)OyMXmEZ(}~Gn)kUArodOLg(kKQ^eS{Y>?jwA+s0#r6PP&Ucdzsu4W$?>n?NsNvwtVZPMf(-T|#~+x;q$RB&?C;wsjbr~j>FTr(cH z*LnJG)>gBncKwe`l4U0{l@u5+UE*DbgN7u(Pk+VS{d2^G1@bYYTA+~tScduvPhLaO z?t2fPN0uK?b%t;CzKHlzB5#*Ae(@9NeusmvC6(JuPM&=-d4iw(x)J@$nc*=JcfjG! zZ=_74C7htnD2~v8LUCTaq#0PdcFF9dsIqPotA=`9r*m`#q0wk&MlvA*i~|zGz!x5N zrm5BP_Rkw$>mJ}4*HZiZ&CW~bMP3-2JqCKEbPQ}2;#Yc0RY6=vl0ed5$LRi!*sOOK zVVXU1jQ+h(ljXWxl)1`i*D;z6ZXW%!JMHXpZ`yW~5SHvoq95a!b&6>o5<+aRBocE8 zcp)omE84g`R?bVIq<5{S-F+lZ^@SoC*k^I9ksJuiYwQ)z6GljY-?4QbD*3ZgWor1{ zj@h<2VQ}8^U_;$)YABGXq`#&fxYueG$3M&e{&0O=Cm=?pRO_RmrgoM^ET}+R%~*!KwmOlchH~ zh^CpO*!;&Pij*o6K?!!C^@NLEjGb2gPX55}^oZkYI+l7Z_<4#I*2=?C-QgItlWi+& z>rTh)ej1+pWHs~h%G-j@f&fh{<#&?p<8-Ow_o;TuinH#}`QGiKHXc1iYdB8KH#+6s zLcBw*Gi6I4@3&2y_`G!?EcNRuU^rN@{uxXot}^sn4W4oMAt^JjJXt>st#1|q_B?t~ zYr&`~R=!mpRa~seB~Sq=wI0WHmD8d;>d>jztgii9On1rQX%V40gIJTNl?~WW+UI{4 zk~5d0+_>Y7uk13QmRj2vh)1~PUJi32U`Bt^*Q6PK+^q{gZV*(uao$J!MenQlMB=lS zH^N{>ZP&rnGqL7FxxM7umhC7I`p<3uOodX#iWYw1Om^eWnWq}i zkAB0uITJA~9(ZdZ>z%N08^DPQL@n~$4T-G2JvKeueG3NH5{L?z&Bp*Mg!Rggzbji| z&f7UqCa(3}z5!^5;n^q?k_`cm&jRE{nlqpqul#Tx35<`Pfq59fUjW!F|5?~A=|upU zG!2L^-HNsV;wFb6a6OkTR0AIlJl1l>ioO=4$x13W_?zk%LCiN3CwM^i|_TrQ_#BS4y6qy z00RLNcmX2kc~~%vqx!gckl|A`(=%2^!gYB&`=zPGMVHmV28DqJg}!tp5v8frGP{wx z{p`O>TWRw_-ww|;nt1{+=iE2;1_Q5dEOK(f6B@)l+qICh{pk{y)?^Dhntt?;Ghr_2 z4c9bJuT>`6qio2F<$VZ~kl|EYC;|hfRE+wERvGRHo@Lr%0CKvU2n`9qva$zV#nt=i zd@(Baed=${t6Ds62&9xE_fg`k53){aRQpP{ceXZgB>5ye*4(P6;(Gwo0ztj`wA7!~ zLIS`ws{)B*!)3 zj058p%3w+%T_)%mDKmo&eEvF&m2L#KVZO-#sA4R$jblP2zl;iWjJDS(0Zjom^1U>X@GjLQ9Vmo?rw134vr?`y(brJ7 z$$;mwCVLYu)EdzXBm2GuasA!h4EpCquM)(8b1?FloHO}qcq+ZsxlSzI+DOA48`oGN z${C3JnwVhT+E(vqu+hNcEHLuheRbmy$j?YIYzlaYf9Z<1FOU{lX*_11oNGF8Rfbdv zuv%RUF0j3fKF-{)%b^FlK?5t9fRZVw2)|P;M4iHDq`4o~846csa|qp9SYA54G6eK|7nmiwW@c*=#EOav zk|F>;N%C`=Xqm=be0OZ|w_aqpNbFY`RWNiFVi3>&SPd$`HmF_M1dVrJKR);3ZC%#i@XQoaBvYfS)t+}HM_dlOY-C#XeIrfw(izY+&Rt>3=cU03?zU)!s~$eDS# zJVjDxk7cjXc?Y;C4A13~4b85Of8x<7T%ng5S5cecSK4r0*zFeUsPSBKKUqkg8=+gf zanzHN7hc?-q40J>8 z1N<|wsS^3Ekl(H-P*L0~<92kR?F zeH~udK2^N(KN5h(BU8pt+Vih^$sCnb4v*}F0H2gY6i=h#6sQ3Z>EJzK*`7sOg9#5; zadElvBY(Yfa^FYuC3^CqS3h9hfTJ$FLHq^+EXpOwQdmgSC0q>Kf>|RmTK~K_2G9QJ z)X0<cwnC3 ze}>{z*`q6}RA2ZAsZy8#IWPkf7>it3~lKZ;8rft8=2p)ZWbv9`A?NzKyosHoXw%b8H4I%9!hSS zF6D7)1_=WlVBb8jeR-#@|KEs5Nl_NoksYgReYYB?M!`h`eX#NudcRZ$ZO% zQ`z?E%&QFcMr|m>?HJfLcS0xMSYi;>9rTGZBz{59lC*nd!24SZeiX7qb~cHxCm*Qd zAiM;d7F6ca#t=2Vv{3pYgh~}#B+>0CX zwJ<|_)AwP3ak+3X!bA?|G7c? zG$^+`pR9o#i+oHGUZrx1Z@+WtjK-~^gYPZ@IGDmERbskU=)F29?_?b5_9$w5tTknc zPh3I?(G`O(=#R5;ws(ws@Jgndz8TM2?-f%dw)o)uS{~-ZCZ;$g<6o!HaDgchuS02; z*<6F!cQOnRHVF1auDoqdvU@eDrXNA@o%`gE=*$*tOqpB?z0q&E2gFI^eI193kXF`8Q|Mp8n&R{l_g8HCQez2cDI zVv`uDSf5{1mJNhfQ+!vl>AP0I5gL^P2{y|THLrd0kTdC~`44*>Cxqsbg%2WrUfVa7 zxZV3Nf}+B_&iqxv$AoWvA^^BuLteWUxO|KVrCXgxU_v8u>-Zcd2QsYv3+ zi1-}zwA6F_%)$aPFy^Lt?Q{_**XY6c%O_uBCCgzc;4VmUzg?SeK3h{@L%vrnGflrg z2$sHBGt|d^`KAx=@m<20;lD@uU&g9|jlu>ov5%~k8r!3xmV`8rZ;HZ{ReXjR<{O-% zSG<0W$v-evc*TvZs7#SRMm^NlHt4C|`j>`N^*1Rt6HFq>%zlcLjByqr!A9&EDb~$> zEP2pr*`)+1d6Bf2`$sTX_Ehm!DibHAGxomtcUTkU(P0GaQ>pddh3V}p)0Kf$bFC4V z!Z$3UQrnWwL4FsCZ$$k2?XPxHW3%EpZ0?AJjOk-By+k9 zXzPppgJ%Ac&6=9AwRCIcv-fD52WFaPP_b;4OkHLHr?k{2J4zMmF`m>ahc-`#PCw0h z-PZH`Ef=*;=Kd#PDY28+N5n9nxuZX}#PaZOP9@hZLL&*@p34PE67gI?y}>5n@xN7& zRmYP*mVo@dzz0T=Y3UC++ifnkcv`NB8Ek(??eM8IcI*7D!x>dwVyMV{^w7E~ycfG| zvs6jZlXmiqRa#9i>6l!rQ${$o#X@A7UA<=s9dXa7a^IGLB zh0`99KYIU@XTfuzGf}LW=)uu@Es?xE2z|3(qJWpU8i(<35=HpF+U?Zur5fwz&HNOe zN*2XxD~!GK8CgzlDKc?{XMif4HTJ^r69SGI#BXgu9)Gw;p?C?t-bWR3PV76miOwNn zpW>Pp&HSp%-hOD+bxeRi4`S@e!1`2q=vJu$uUb)vM{gH06BNG^cV2V9MeCzvsn&P^ zsC*hDisJsVtJ;1RcMiP|O7rG!HYZIQk(X7~@}x8{XW8hu1_UUS7rU%o9?%bPQYDLw z3<~artLo{+W5-@P2&a#T-wKk7A$I|)ep+?XGh4Yw++PH!c~1p3PP!)i+G`UKJ9VE2 z#1REjK0QBup48IEV76Vncv1Jsldm_smpwP1D<&j;_2poqoZX(KQ$f>yC3euc#v!Sv zw+nu+Du|~vjO;nFxCJwZc*=1(au!XdUzk83$M+PfZs?YG>-FqAytrBvSF|HXK8NmI zky8|6eaq_BRKd^nrtOvj@g*N?a3}GKG;#K%a^5WNL@?Vu5m>f1mk8BEn|j=4UCQYe zF?N0Zx7@^W?U+NuHimeLQCYfb56ik``}5BtJ45ZUGJc!F(lVg3q}e5sH(QvEo`%4PSd{kZ4px!>m!AM!x#!VZ7y>`XdrZJ> zJtJNjJgC#P=4ChW9k39QmNxJ^GWYF8GK&W&GX>(4cHP42PmM|Td(cfLJu|cD^<9Fe zr)Oy86-iLTvAy_APegGe1mgRVY-csU_@e=yM5U%tdQtR$Fy=2!5Sq*T)&AE9uE>$E@Pw~?u`uTB@J=(OH9ni(IDsp8mBl-wJlJ&gSKst>42G)$jD96t+yOI?d&4~c_f zzni4lI0_R-Mn?Y3jhl8NhgK4JU}8^p#Z-apk3Us$>BsPHzM3R96N320@X*RW>GQuP z^NSmQ)Sn)XS05~05Pdnr-9r3jXKQP+OJfKM9%@31mzNIN-MKZ=jY|H!PfQ$Hl$mEP zD6eJ?MCZ}(iO^0G`Poj6TJ;Grt)Q85A^-?bjD47d8;m;3Xz^HkFy8~^Xwnti&!qJ( z9{8h~h%L%5>kXZqMc-WT2|OHypTk)ibJASi>_zK-fhot1D6G^HZR_5h(T92ZmaU6Mhd1Tx}+yE!t{I`^*2H*BS_db_S z0~3UEah|Fl`w2`<3*qMyc<8U!Y=!%@A@7SE4g=6)b<>Ni7Qrp?vD%q8OB~1xG|I+r z9S7Wz53a-YP|3Kc1i2{w^y;U=o#k?K=_HEs96OTh`ZI_LQ3Wft*Na%g2?rAd=+|Bq z(v=pHVfWC(c|~~6cWw<*8T4l=sK#Fq`n{lRuMHXXG(L%0amhbFo0yoWvUFNR6}#EN zN(Za%4SH8`_FjH=_L;ZzWapTBqvjV-1AM))$heTij=h|ab{rqro z#fcw3{%Gy!;Jdn1@z9`OVDSLYeC(5rlyYeb)@MKTg)7LB3Oe58+;^vT8>y? zn98JoV$u9C>cGAdTOmg#ykUR)+Tx;>f9;wldeBQQna6$nH7dN>cRf=n37KU)QeGD1 z|6Yb1pK{Fxh*`(`C&-XHXbhFwcC%<@+-5ebbiM=33?sp&R?xlQ<{x`roN|qHIH8{hyuI}!T_1{JPcWf$58Ch9# z58ryl1oE)5+P%zLT39eK1vwWmd<6=``IS-e)YQ}@9ju|uUL_JqhjJW}t+2ej+++K^ zjjgou*_KN?wV;>2fRD^O+zPcbJJUS||5VscxH%o6FMiqM1*L#q>k}S8fo}EgP2s>5;y1snJL6_zLDO!cId7li*IDs_}4gjw>>!Z z-uvABa#z)Ih|*}Bjwu>1TjoF>%O(GchmL={FQ<6m%d@lK?d)yu$E1(YE(HHu(bV4h z;or$UZfD4OF48t0&z`5XHx3bNJSO2i2^S(AV{Uml)898|4wCyU*NInVlaiCa)Yo(I z*V$GP=v;37G^^z3U-y3mKn|%(RtS8g(AQ>TS8>lpEdk?`EP2nIVO&gHoQ7BVT0%&5 zwOm%CM*Yp(w>frpb~bJ|R>@R6IZiNPa=B47c$B|^K(J>JEnAPSrtj+Po>ZJ&iO=;m z{j02Sr__j?*^X*9jMbt<@pw8kQjVfyXtCg4w}`QWiIMKtiJj5FxQ@-SvU02S(QicD zF}lOB_|dzI{v%s%l|Ta7y~|74Tc2kbh_R0^S}wsRQ0Jbm8d_>arfrEoXOPCti3%QI(;d#?m=nCJb*VOeUDCZytg@qK50vK{?!>+zD<{p?%Wh4(^CkYW~X47_*gc#dV zI@rJ-tlc1u_N#beqDUH%==y}Px4SEv{YfB6_Bb2#Gmxm3&B;1Fb93(Pg0GexM{0UZ z-^$B}`Oxz#t-`6wp^D~aqRL|p{<7(haue{l@wc=7FQt>tJb>k?DHGw*`Syn z<RZx9)}(O(G+tzoS;|6gY6?F88&FCP9aal z`5VLIfhgN!KD*f4t2j6~mt3*vn6-~mhO2?|zMarmyrW-;q_CP;<{ti|^^O)zT;3`MN0tlSq8 zjeba7ev}2JtDC%#J0u(kDacsin>wNR2ygG?3AT@dsJ@{kgH(v+Xr)?pO)njwU`A?4 z@}d|Iim@YQFxT452)6wyj5`er7$8lN|77S@JYs_r_A|n{AMJ)p>s#;Miz2LB2oVjKR z;6-{c$$p~z!{lN1oA0VMuqT5!i$++B{crY>1ON8m{&uG-$ z)#lqnN|#+(xgQ;Vl*phxWjcktan6iJVat6=h59yYEA8LQGs&Nc%UECg^f3OhAj3$p z+Ix%}BiEr4VkKj9X0u^bWDfg`hf#tsA=1&2yn-8n1?b%HXIUfK7Ar%DX=f-Q$Dgp; z%Cjc2wHqgb+_f8~t!110*^0J=g`v%-e{FKQb6584mcq;KJmrZ!vN*wR!IIxAIKB7t zlM9#Q6kVt@BUX6^M6A&_ot}J0>5@ZWIj(gwllT`_a$NVS8hD7CZ)+3qseyKLJBtPd z#bSbpk0*;A#xPi1l=98lgI%ko03Q=I5vLeLoPaHKsy?!;47nJak&)3h*BetK{UB9& zYWrlP)D3x}BqNjbLAh6vctu7=X0~@EEwPAb>gj^_FR-VCuvlNRfIuLYj~eS>NTn}}@35OB z^)~q3?mRQlwIUpN3uHN@0m<$3j*3De{U6l7YGYz*R zUxd(OGN>|->iv=-R28>{PkWA&lZo@r9xqbYV>&W@RdAaa_{ONk_vCBz=EY)Lv? z)NdjkuI7*)A97!dj2s;P|NkNE#;%TECMsKR0{R1{6&G{w%ksg?3jehAqKU~<$M^ET z|Ig?#pTdG3%C!906NF0%)<~=>Eg#_wR@cKv3Y9@y0)DX6k>}`5v|F$j7BHJ6sh5q_ zFO?ERFq6fV7rGp#=B<#ZwULj#a2pdAGb-EpI^2VY;RZ|nAA6l`3&R_p*I(;?-hmZ? zflE!FLVpDR-oxL?9m-pkJzdV+YV8)Zr7eDw2T!{mnY~)+RO(lLY2k2Ze{|ihCXg#l zLt)SbmD2%D#@8)IgtJ-D%`JS8tX)#jL#}9mYwRlO92$?k{i}T71I8&>XY6j=Wp%X# zqyb}9Xt;73I14j(-$y}SK4R^yU+c!@Or-ri(r6?T)LJ?3vP+F9Z zNReKI(0dD^BoLA>zVH3+bN|n?o1K|Gd+MAyzu9b@k%2ZN9Ty!11qGw7j;09(#RZnX zCoL6uWNi-FM84cJdSH6*`}glq%g5Jl2nNEvMI_}k)m0f7m~Pw<{E(a4(b@EzmGzee zJ7GMS)2E6vuPU;4qIq@qijRzTk!)#$CrMS6)bI^?{d&=U`V5&NrJsobltOiN(vjS$ z3^IM_r|IDP)W^lk&&AV&f+8>*YVPIZe{u-*!W=CN-@hX~@M{qI$xQsWjor3Prfuy|YJ%iV2#R9t z-J*SVl}wi-E!VP%xz~{|C6JpUw;w8;Tv&INf&xsTtEpxhn7xxjADJc05Bt}8tv{_rJ9b=T}X&Pu-aXM0Mg!+mp;2F%K33c(l(cXlGOGNiw^Y;YwZo zuuuo2+_Lz*@p1D-0O=9IY^*dW^+Cr2llvo*hl@`rpM?=r58rTCy4Z8sn`f_=MJfF7 zG5+SNfSgCCcb&iL+R%zON#eW_C+kq0m%hTYx!iw6-P)&+;fS(Uq|xtmBG~ z7qt7LxN6N9f97x+kwAU=xsfNdEwK3TViTRgEu6)w#a(tvYcu8&twzqvx~Ni{Z9P@? zI~5kfr5{DE3zwyR$oulVbvxD>Qf2Wix18sK_vN#Mr z(T8KroYb11rKKOkV1*^dUNHMKQDd{jl5S|?^@fLndLH*5e|1?ZNbPS|G-gWvep?D; z8yBPfN6Lo!uMsY_&qC-@=2ki03o4!aOT%2%e?(Mg>vVD?F> zv6sE_+Xd~yzN|KUMAKEa^J4nD6|z$wccLN?`k}fZ#>h6&3@!6QkJ3icCOFgG=VpJ_owN?H5RRt)m8H_%RBklrqIk7rB-cQ3sxni?!I&$$5yigWLd7t9X zvDm{(+{*<5Cc_cYsrEiaM=hLP2PkeE$F_kP99(9}F zr087(n5~;72%A2{Fx+UI@x!$xV4)z`R#sz_ZmEhptYQhCq0`l#XpIakt#G#x%L zS#(Eo`G5bDnyFp&V;?4G^TmcH_Vix7>|G0Hqa8v~ZKcBW;g3~|5NXHe*fjD?{RK-K zo8YW8a934se%NS(Y8|DyrK*zZo6ricCdl=#3b0i<|1$!7iACj*jw07B%m5#`czmu<(GbP*y zLm^1S;(?}$<04b1E-r{sd#8TJ0&S@yI4PL|qjHPKAM`RAvHaNtzLXU7t6OuEj_FH$ zP=T}h4-^f8d9+lzXNN=#IX|~beO5Y68>H7VO7;F4LpO7{Tr2mgX$dno+>S2hj z*B&3zuPzV`j3m!~8k4l!FZiZz#%-RUNW?QMf6E%jMkjoHxj6cI*#>NEKaEg>daB)N zaq1wv#N>QKL0^);VAC|-(_67%9+rsa;qQIq7O&;LGI507s{VOs>qB)9x<&7%KB=1K zj1zA8_G!T4n7i?EFvT+W9SrYFPkW@G1#F8?Y!=iVi7+FYzzoi@*i_R8 z*iq@q<{)% zcP^bFeU6B|8FRFr19;kTtUicEGe)o3*34b$=NQVAkRzZ1Wu+N*G7+AOfE4)gc-C|3 ztzRHo#S`4^@SdKPyl|grnczC;h_~SfkyL-w?3ga+offM0r6=+5i1n!QtAbcclQQk0 zpnYzgQeK9MVow*W!_>@giBEt&+Du zsK^gs;~PLF!G593@BFcPWKNZ~`EpPzB>ERcFChehK+6>nJ|$9GVn8WZ88#LM+M<%u zcj*hiJhvmCSIHh8lF(+#G@iQ;H#XKCT)TzpvJZO9TMolEN(gn`p zOHl`AUqbiwAY8I@6qqMEvX=fQz7hqF-xh{L)P_m~@fSCCySj1ugmJX2u_qd#50y&szVH`KiOd1oQIBw4T#MEPm!GGrzWaCPg&Qu zDkMhZf3Q)z@5tCd#S~kqB#?uLjMfhJ16o#s#gWBL4rSR1yS4KxVy1w)&JZ5H6n2y} z%I+Jxphaltdv_-8PT+neE(5m{;Vf$5U!jThZ;=X7FI&74E9@s+5TZntD2=FU`PuaK z`BBM<%7CGKbK;T)A%w6>I6Y4|@CE$o!jL^Ic97+ebzmZ60q`r12?=v^($DxkS3=ho zZz1v4VLJ0s_?^K;Yb)(NYtE~yvS#yLG5DSGsW*ADGLdL*zJ-QE8icRQPZ28XzSZG} zV(%kvP4_XkP@T-dE7)#r6@?Nf(AUciecTmnmO*lFI_w!okyaCuoq1%C z4Ohzx_P8sw53QH|!vhanshvJ`JsBCTl~@Wgwiu$Dfdp{A5dq%v>|`?d zIZ6O2T_EX6#Ax|F61j{3!j1Q0U68mrpQYOKM=XDy2iVQv)T!OMc5KR zdLfwbtZM5jfmbnF4wb8n>iL6S@FTb(#XBMO(07ZdLxAneoGn5ts4I4DL_8mRw`18YK z-qqEOJud~~fPrm1!Wk+476M1aU@_c^(X@z_T4?M(T+Ktxo=l=ntZ9Jm@5k)0MG#JV zzKSMlT##HQkK2USXp@Jx*&Gi<3bV!UU=p@NSQb8LL^A?k_^4;J^JKrZLEmkpr&L;nn z{SsNj&_07}U3+Bpu^HhU*Y6`@d@;=1Y=s0W#c18odg!OHgG0F7Rnlxdly)B;KnI`s zS3X17*M!Qx-J6gHlYe~zpJ2NF-7t1+N2Lb3kKIZ!{>L^6;@OTBvlKt!qi1qXbRL?i zChYLZR~gmQ$wyRo+krUfa=#e;;#t)yR;-N>o!JMY!PxH^G-sfb_{_=x%ciAM3Fe|o zgJ?C6d{8Ga>@=`zKeX*u0nuJ`(SqjMTO!vpI2M(F&LmaMS>umqpAyW6z;lD1 zKtR}aBGbt?B2(A?(<)T^xd0-@0ypDA9AEWB;%9Pjo(KHZ#D{>pt0-vf`*U;>Gn*zK z85zWXM=Ms``oxZID zh_A$jui_L-Pm++?Os9&a@;UD9X)1Gjdrvw~E`nG}Z;tOHQ!1OLOrv0GP{>{K$_>X@ zVL1$lewmzMn!o*MA_&&df^W6osH*LA%@0lsOv;F5ohy% zsa&l>nManf`rpyEX%X+nW}_zLoEBI}!kOfz)cVT{)2ZkWPZ>EJ{bd)TTV{t^gGP9l zoFh~2n6)K6G3mv4GEpl=T+y^6%v><002#I?fvJf7;ZL+v*hx03hm~o(v8@TL_e=NJ zFYnO4Swi#B22el8crub7dWC~ilplQIm%B!)R}IEptNBm!v~>?VdC7hdMP+2>=%(!@ zL$oG<$P5_~pMgem0n}@YVgVR_ZTzo?A0ECV$cK}88b1rHA0ip9s z>?11c65lZO5&VmD(7Ncw-+42Gy-D+IglOj245KVor5wbSQiWvD4|!Zu1g+s3AJ7DB zoi?429OhHcFUO3KeR+jGfZAzU7I5kP0D`NO@I*1976S(u#~mTDC#Q<`PTF3gM7tOH z&199k(Ckt2*fQqitzy;4;(OoGKN?dr<3K-paS2SN6>cq;84kPrh+MbeiV<%yoNC|@ zK?g3K^?4Sf)d1?7OMGlmDhlJO(xB=G6yB48E>wOnJ8kh}_!Ut1o+ol>V8s(!2Yu)a zv>o5794c0A7u7gZ{IiGl-DWdo!7KJ?qelX$CD!Nk2b#-r+Rjx5nHD`92T_Bykzdj9 zn#hOtPQR(#rE*Z3#>XIN05y*$;P*6!808bZ#n#~%K)3T)F*cpPFvk`6d)E>8`TIa2 z6|0s0TD4$2>bZA*K|w84VMjM^XM4%=?il-lju z+D~D><~85#mOge+Aem=qUaIAv_c2oH7~>FBd7|wFRpDqswWkNrHD41QVnO|Zw6!KK zo)gRo$ArG^+qc2Krw`E4W>t>bsxSB&p!qyL3B~g_oes^|M>ulG&k>Z+4KDiUgyXt- zk6;Rfcp|O~53_eF2=992szBnFeIz&z$$`i|%r?rYER|a`SC?I$*n_2_GdcbwGCPyW z(+Pb$x8wCounkQN6}X5IdC#k z(%U(b`EK}0ySr=ek8hv5PFa5J^sUQk^1?U@*W-YSst-VWFl`KAg&1De)WK1 z)+KdvDg6s3M3lh;W9Vx_q1e@d1-_3;KRwwy#tE~^Iqy#ui#iQgl-{C6*M&kG@*9@K zYEIxiIcT;+9%9ws?j~{L_BrUyl32$62|zg+@j@}773`OlmPHmnvC=?SxOkU=F;Uu< zhRC#m$-v_K4smA@J)>w!^2;;MZ)b`(daBXcLZOCg9r)RZ$yij+Ec%*qC|MfOTg?!Y z(X{`UsHjJ56~jyy#Dw@Jk9ggL(s)BC0jm?jBbW}D>4P+g*U9K%nar073#3!%*yA{? zC)^|3xxysroVtuS-e zy`QL&0=!3}G~x**`H_Tzh+}LrUC^JlDS&b(pRn__mw?yBsCFPGD}whxOl)18WUuy* zZGEt4yaoU?&&O65%juU5F&|QIU}-LsFhs;i;lKTd)83<@fWM$2g$Dr}x`_5tB^cwhUX|A+tt7hbW0p)XwlgKtG{^vu0?1zHtUrL-;9op~aQ?cuG(lN?wd&SAx*$rF)sUe5JaXP}eaO((6%i9KjV>5d zio}5tO?;#wFNa@wpBCbmkStiZGn{<7*b#&f!1o{0&xKBLS5R^2Z1i2Di{$FcXmOng zZn|2 z#afYZO=jE7-kvIyWsCV0H{YLd(a@)%GpYhTeBzHUKGSYzpZ?RlLAbO08&3K2+eT4w zOTvs4yaN0eJ!mX<0XO!JdEI&;Qjakhq}x~4Iz2Bb+Ua4mTFBg)tlavZ*WM1>^mD-P z-KFXU0~fwyq|Ufk=Mj|l!t-;sRX^F+W{veK=Z`A8jS-B7!J4gi`Zqk(x%@PC?`x?M z?HMg>E^Hq8C_K-3yXVl6X9wut{O9g5eT&TT#N>A`2T_wJ->%N;2PXP*c+?*v{{jUv zI@spC9gV*%^Z2=CZDZDcTc}l@^-+m(*XLa>y{s!$s^92diVPVnR=7)97aqCY^R)-j z06;f0FUPem*|JCRaLN{{t7V(88{RV=C+JH&JyDY#<>{x{sgCzpTM&T-S2fk1mHu`K zE?T@2f7CW_`T;%}x2r#)w<^s}gQ?Cs3@vwW(=vaH&C!{0@--Dx{2Ml4R3W})!+HD|F?B(*$&M*bIVyY0F9+^2qH zZv*&((J})MbMN`jc5JJZLd${$r-x$V6{1pRfrth-KPS<{-|>?n`(|Ej9WF(lznG`f zhB$+rJ$`-AEwCI?mlL1sM0gP{=2MliE9c|S`n1UxczLMjr z33+K0z$XnGe0MAM@GS140E9K^{zq}Ib<^Ju`jTd2cr{GdgkpbL(OyJY!hz~!(wvlc z+Y$#=F9+vgaK4BDfffz6fd@Id*P4>&uIbs&_Nvpf*Zg&n5exDSc`ogK@Be;Hc+Z%# z&Zq<|y397qskz4DF9oivp4`<)nT;ubS@OFIHhr+|tm5qSc{b*>3tqfidRZxH-SMXi z7qf!u*hGfHu((+YPWp+nuNh3=@+}%j%`PP!)_BGRp#01w?e(<~46fADcX);2x7Q?! zX=|unER($a5=dn>9 zrEC}bO|_N=wvjaCn8--e$KI7S*PV)L(G!m3#GG_r8FLdk1D;i zce~ZWN&9&ml|gfJc!%L17(ejZDg79vDnJ%+I5ST@J?qh1RFvCe8W*7E0WPMV)&up2N*pozM2_D@WA> zO?M=`Vr@nrdv*HqJnRkEU=MwcF!PyD!DfIemVr#(f7_68Nhzy1HUN<~lC`c4d!Mf6o#u+@9?CF;uC{)1oz#!`y|7&4-M_~T28%1#$4 z*TdLrtIw$sz@AG45LkO39`+v&x7?*6kg@rcqOy7N245PX_4eU8Asp5IT)--JK{ug9 zjh<4Ch5A275m1QmVlzm|&F(~Y9iU9on*tPsB6z!NO*>|G!q2!5BXX0y)s&1_*2b3P zMPr=|E{43KzkZW&Sd>ZI0QPwXrn9C_#w?w$d`tS>ayWhTY7KfmYf&EOMZdU06EO)# zhc9k$ba=1)A)LV0kGJz6q!#g6nZzVG-}Pkr#ZGpYgY#~jVH23iZ7vh?nPV~f{ya0+ zZ%~RM5^U4Ij_u`dL;>qAo!dIu%vwKI_|UY5-N=mz^u}5%^O#&RJRuDZ83T+bBVV#_ zF2q{nG(i)~)7-({OUd0ZD>;j=5lq{W==2d4`$p!n-qTkOCwQ(pX3Jd-9|b?7<6Nbq zu=qd=0~4%XNdvFXOx$v+ryBLIjv7!vV@l%kA_RXX&sU@AMfS@g}*ZyI3yz(;`Gb;N4W*_kNT8sQ;aUCmP67hyw5G_-DxyTZv3&YG@ZC29zJ$4!?v4{;Ky$6y zn;WUm4Ss11isV@9E1hoG@%5<;C2zc$tl$~Or`u+{)rOeC4Ww-stQ5r&8*!cqduB`* z*)aOzZ%XA@wo#J z5a;=;ubq_H4zJb{UwAW~YgU#uD|Sy_TKAY_>mZcWK;EC2=82zwmSE2NmUB>xOV+Xl z0S|+Z0iT~N@tL#4gn-W#>UxKB_WP{G>*|wuN0oAeHx)#hY6r)D$0)zbN2qFVO&b$+agjbC%1prG#g`z^qxvCJ}l86urqE7VCq zcKOO&BmEowYLRYe@sQR}Jdade>w)qLt^0Mhj!eDnnyLE-!80MA5xd=s0wX^W&ocUL zMiu~=`HLp$p3+|kNchyYbRtcfqUYSNceQ>^8!L##nZ+h-bLmt1w%nN)8-=|q5cN7N z1HY&Hz*HjDWri3t1a0HT#Iyvd`1ihR|?xFHopbQwfE@s(j zjz`FU(9WIQaJrB1t@3lV8A!YIH0YJgNn6K~)e7n8l}ZeDd?$T0=1Z>%clF1O{D}Qe zf^SJNHWT!&irb$O1w}(QrxKcC#47cir2Be(8+u7giI%T`lIW_o+FBpcSoZ_ccn}kJ zaWzsl8Jc7kgol(c+dy^uRZtH%R$xepnO7#4-#?Ja5NRPmB_s!&ch!mi8?yhdo&RkN zeCWBMch$fN&?0mWk|rg@1ixTWFl8oA+pVuu@eGT^THd+B^{q4WfobN-5Ng7;Q%y4M znS?P5@M2lif0_K-(5cQ2>CR!~tFRylEqbUbqNnm@-gsg*2K6QQ@+JsEyq9T=73Ze* z#Y>#xZuq_D?aJPI-4&uHb_P`{xo=nPv#wmlsae8VJjp$cqS%*&lGm{Duu1eily30o#)zH z#U`-LAy8L48QHB1?`|n93~XLw_Q}4z*E%pL_M&XO(*u;-)G+Oq@D;0NVd6A;j7#w` z+RWVjGrfJINb=Y+Zlpir+3h5)_ei3BIWNSYAeH}fFV)rO<=tM&&LdmE>scV{w8?tS zwfo)7n*~vRhqjQ^)FkD*v;rj`#6YULLeU8cMiP1}$5gi%1^gmeQzPCqMqkoX``UZ; zKehb-c(8|6^o@Fw7dJqPgX`k|1*C3Mb_r4^$Zt`2)CvQX4l)3;IIX}Ut=qrmlxy3<$ zt5axZk)II@(C|@K!^Zp1t=y0S&B5+Z;3Ri2-P6ksbc=}xMY=O5dEd^-rHOkcW4mby zlG`337izw>Rx1`O%UYO~es1*+Y0cukX$4jRD^&7t3oO|EB(Gb(alhXLJO;f+lPIG`kG&mYRD|05%^5PHKd-J!f;iR{#cEAhaWYqO|$dv_+b#b`kGC Y&tWCRX_CkvW>M(gGtjJ3e-iQk09IFO!T`ha3=r}T};@o{k=U7XT9*rG2!}C6)9QqpU*rRj+NHSVuo1tS)Cr#Y6a2Wygys{ zh~F!QK34rE`@0Ty3*9fC*T!eemFp#-2}Xs`{5r7Um%(DOL|an7Tm;m6>tpBO_{MAX?psrAr}L#2R# zi^5}^eE72ynakT11#NIM3!gh7;h$boa5pPo=mfQQb04^!a^QQ<@A&0=B~c3cqG9NWnE_>GMU^cM6TaS_MmU7aVj76tL*4hW9$ zM;ZmI!5`iQC~F9vM;>b9@5A#de!g*g(VCJkLI%5|uW|QP_HFNBr&c^L#6u-|I}uZ!FhS z(?q5bRxfgt|N6m6p2U+nFrgIqRO z;O_kB&8&b)ccnlY(vu=((vc7;hY(!6(}EYJ4U3YPBtsbYPw=|x*8?%$Txn5b_i={g zzJEq)liTJtct_uU=gBZ_o*to+Db_Ey+4tcQod_xAkkUKcx9&RpgX|cAv-@4gn)@&A zk1@9)f81vD{BgnZ{=Lz`kdi^jMgV-^ez_-Fyy-_CkCkrGJJdLGQK#CH&g67T*ow3~ z;355e-v#6Le17YV-!HbsX7cZ<#{YG*vnCnMeC=a>ox0oS(Q|HDrzGoT8qK#W^x3mZ zMNx(L{)g&n9>DfrV~V~)c;@=_v@G_X=QB7~>{{>1-u&F8(sYZ%Ds}=vHT;C6Hl!fa z&8QuXw##ogvuJ})V=ms8Mpko1b^Ll6-XY7Ceq)KAMy-M6orPkGW87O+CMUCgtgF*w zU7b7xxO$EjaCOTssR2>u(AVgb%@ZiYC8JRb=%N?A4j0@pQpTz4uiP;;kzJsYxDEU=**fjIAjf7 zjieJkRa)(iWNZsh5IV3)tWUV_I@ZDJj6?HtqvoLG##P%hV7DZAC_yD06+*Fny+K|Ws&u5Mcn_DM^eAm%xFHyukbJsRo!LEkd1F+~sV5r-7M zC9IUVG&*ZKdUuJ^5!xVEHW)4(e)j8~Iou+y_Hs-kqGTTzp82D8kr$aY8YTBlNU z<$e7_n|m4Y-G?lHNx8!L0QwR-X>Hf>(eVOJ zI>=JTJJPeu!{P3$*V|RSp@}@kxDaXdnYAfwa=rddR-KviI4AMob&F57>Ne)nHn<7d zR0Xqr%2yoMw#1yK3{Je%IV#Klwtc7M3w=kJSy^~%JIKf9Yo|`>1)K9{;EamysV8=pP(kbnm;{~LnqoXq|0b-XOVNv-=FrGb9rdZN< zk^(PB*wobzevAFq2b6!I_zCP42E=_{)xQmg1FIsEq1eob?0${t|!m zfGBt{RSdcHR(d5}q2%4|&ak=9c^m~xtKzyX2a*$#%D?9OblP)QFkPnkJI1pm<{NGI(Z2DX5md-}qGSNIyzJ zmy(u|t-R!}I|{|XcN@7p`^E2XFb8VXoF@$Ifs`H0fCtfs<2|PhyXM^Yf$}yq-hXG_ zMD%e@9 z=&)>dANu(%*oGGCvCPF=c+( z=O&Q{ijE`t=AUSd2KhD)p{`bQMgnW?2E`Rtnzr3xbwmV89qz05LCAkFBZKRaU|6-b zIPz4i{KbViv+}&?*4b#fqz@w%&8-k=SYy^+lvg4~VfB$G7visnO4{D!mZoub5jxBz z2j-6v60FvnCJNRqh!&-i7C+=X!BZ2MeXXc`bzf7Rdg^s`_1u-!rd{5VnCoJx^?k)f z-x&t4p%0bAlM1l6x6SrWiGaUQGBZ2d@qeKe%2taj>z}ggFVKYZeoo`|K)s$YYMVyI}MAn&=k=+nl98i=&#cFv?Dr_7|Z##q58VtK98m zc7Y|8T7SqVcXgPcTq;$3OL)B$^M){Jl6x%IklLi>_2fBml6>16JXrcCR7{Gm`Wxgkrp%`Io5;+jqO}OePTQDQR|mBcHJDg62-DS%Y{?jw^w18zsqZEZ z0t8OUA7h}K(`K+1Y07sBFN%@Vw7_%pY?yu2=q;3mBqECoCzlsfQG{~MBd=CTxiW0+ z4GjOpi&?qb%JC}nXTP$oVUYcPJAz3{ws5mqnEp2bcn}A*@Td<>41O_c9Bh+;a@X`D zF>S$ve6Veh&1oh zJvkpXO+o})iH7(F;YqC#g*Pn>@nX7gC9ANWE%>#IphR`xX2;wxKpJ>5K>hzG`v54W!x2_)692%cIS4^<(j+r)?)2cruEL&pHe9(X0Il zFQ*1Hg#!l8HX+1#{_kxmA)Wyga`x0cN3%ZCqL$fgI}~R#p~ZjM98zQ&2$K^6Iw8e* zuDl}IJByu(OsN&L^YpTrKfffTapOURoxM$k8A0gePaTYijirsz|M5c*80$NN)vA~q zRnkqaP9NoFXT2KZJEw(4k)bkE;^<%7iRZfVm|x1> z!{5_#2qLyvT=ds?wmt>Q*+tK?BU>k&GlVrh2nCu$_Y21@D>>_3rePAcpO=aS-kY7~ z@v16friNQbuGT^Vx2JX*j~tGe8EVKK#WqwppuBwyZMwRg;$?_)q^nmO^hl;`A;`{x z{V@gePo;VCQQ#}xvXDzXHV0W$tsI>7&v!*kaS@^wMy!#JVrXoMogM`qvm6H>1(#x3 zF{T8toR@@toxQ28wu6^?qw7pd<)%$@YH~UteOmX%`sM9wtHQm6MuvTrg@Ztf>PeWM zidc(E=7NBfEjv~hBO!`PR9GX;6VLh|iUVv=v5 zf*zFe{W>GQ?K%J4Z7*fHP~|LM~ltGGh>!!q@c zponi~K3kuuU?|Vk+F`g9j;D+1bf2hrY~$ zl&0+@61b+r4jfLuWVi290Cs<9BUSB%XvJhGL&eC5F%_eKN%nn%vSVwj4lk8bIn)ij zjREVqa`UFxx70m972{@JE+MDOS5UP`k-+J{S#OKDZrXdD z^Jw_#QM#Ynd<+yLuS+y4D$01)0}uKQey3iK>@t~^oFEdKJZ*8o&JHD;d>d5Z&B{Mk zA%%ia(%Np`M_#|`PkQ)jV?=ut|9Qq4RR=3{zWMKXfh0MzM6n7gVcHdJplH;7#pHw? zsGg!YxF0?&nfq*FI<7far|q-0M?Ok?uohKj4RTB}m$y*%G*P73?bmbDCJtS2^HRBa zGj=!drSSFpl5KgmT8*s_QO)}vwH2kaPIVX79I7r1tX@LNKOc*x8X>3U^-kTI^a{m_ zC{QlycY0HsvC~(?+x`2<)!oIUDYgxS(d1^PAT-JMex}S-^x=5OKbxP-&+!lE<}}My zbab&^T<0{w>cm{YgEXa@KrwVjUD&4q*AwPozLL^TB^Y8%~^>=8esZa%`5 zk%%cYp;1d|yj*zGYSNJNb$v4GW*^?ja~)nfg3tLbhj(+{mOS+NeA41wg*yw$c9=ys z87n&qtP*Wr`?pn7p5yjciLz~nIoQagdV|k;mMWef#=V-tt%#l&1+@hQa-g{$9r$;yOQCL8nsCP zf3oOq5+zg>wlw26Thqx&|89-4xttJ?&D|9jCH!za=s4DaSW{-3WRMac?}ciIE~`Q1 zro_s$NrO^3E%od?|EOseMYjrFZ5tq(Q;p7MACu%t<=IIKfEtlc3dJ!w_y0({D`E()FvSAzBBCu)5})q z%_$$RAQuz8I_lF}i8{=XV(=MeF$^FeMAG@$N}Sg~wDV%K;kxr-Uahn&0)JdUm2ofY5@bcs8zm7A7QVzxTbk|B32ax3z{oA8$zuxMW5 zTIf87Og}N@=0zR$sx0A$f1rGb+eboAVl1c+Ve5n3_`d*sd*}EAAI^gd^7l1+UpW z%=q%fEuC+J`dN==1qDt2)JRi#W^nX$+{S z=%uajuaQPk($YHUmapwJpp{mbaWk16TJ7BmS*h5;Js#SLEw?aov&69YOmiE13WveKz=CHrQw>)cliLiHg zkVsNex9V?{tE;OUi!0BY+|l(#6dZ2I5QZmOZV_kja6Uw%MHs*B-)qd9pIUYH#F9(1 zpn-Y!SYp57Le3sk+;0?aS$d9N$ZHlp_ENv&>-{IYBOF>QK1od^#Mj7Wt$yn;BRG5? z;&nwM`n0vJ3|*#3Mu{68a2K}l&Hxg8qNw<05Fr`$Jb>p`MMA3(qk~I$A__aer|KHA zm>HG`_&)BLH7j(5;3#hA&BPy?CN6E*==vbsj5VU8<4)CMZtjVE0j-B3F93xw26feM z?|w(X#mik-)!f|ti{pmDG!ygl@70)h?-clxe|8-Pn-4v(ALE4OS=uUreCivXPrN%q z;}2u=4;PgM!#}R8Sehab!atEbB6kicBef+a8P6xit}OThRa}!%ZwBl%Tj|N3Th~p1 zv!8%lLI9QU_|_|eC>9d!XK?4vj1r39?ar*$Ly1qT9t$>pI-8q3lu1fVT&pHw5Om_o z)h-0JKbYS4evka(t&rNWAiGfq%b}8*N`Me1<(Ec4O-##Ul7Hs?vIw)e#)=Plc6#RMJJ8N~(`Wt`dL!-Y^VL#zP?bPX*C@^4AvD@VvO`maXNAu8CQv3i= z6EhU|wttt~TWwZ1klZ5A1#}7EP6$LmofH>j8B6bXpPRd5>|T`K^r^y)#f$p(u>kj; z)bBszXqlCIE8XrkpSsGDU^k0v^BI@9fk7cXjzwRx(7hPeieZaUqC{_7WXTI+*G+oc z!;C!t)t?EmX#3=l^2Sc-H%StZT@Ji-G3NI0g`5$;ahzsJm@qIWM7`UKRK=ZU-bWl} zD}6D9!rgW8T|}a=-~7IRB|ML5t!c%6+KbB(_w{Mlsz55qD_R1~9uX1U(e&d*@fN6g zo_-NkpbxN9l~?q^n#RTklBdoGfyA2s=vacN8u33yhC0~0@mQ`s1Tn^d=EE)~(a`he zOvc;zoNOAY6QixetIOxm=Ib$w=freof%#jQVdzXURR2{2#S&m%a3Htkj=vquFP6#|5Df>VG&eW%_!kGiyQf8-qi?>c?4}3HH-Mcvk+&sgtZVYS9 z5~L8f^`%ir@Z>{je27~5K1Dx<6CDPyjlowp!2p8IsF6cWqPe&h(&TUc9Z_Qu8 z)AAZyKl4D%WnLj=DG86NMXm?DiG}Vef}0Cn`QP4)`6^&w6T1@t4A-6QmaL#J05<=L zE1Cd+>pt$rB`qkZ^Di`+_8mN3ozBI_%b0?((UUu2pl?v(&2$d5E6wN5{(Ap#=0SQK zf8`IczRziN18k}>HeQModD6kJF_MY6gb?dU5=X!cBn0}Zne!5qCQ2hPF2{Bl*^*2) zNV{JR1H@@j6ZYFR^0af@2#$!A^9!e>qzncg`95AWF%n5Vsx&E`>3}?Z`@mrCnL`(# zbp-@_)!-9n%H!X;1r5fT8`4@Q&VD${f$X+WXybEK@;1*RuO}+cV)ZA3$`OvIlKBtm z2&W@fh^M{7CdOl_E^c&pdK1hraz)=LGR!2Vk92cd`f6bk9=C%5~=I>Sc_GfW%WHa$t`YWKNNG@quf?jttIIIbVHUepPQt& zHOAh$VUDSOtg~7z|yIVAN0cdgu2hJypGTElp%)m1AS5{tU9JUR1x~a_@m__477o{Sz^|M_ao_l^6KK9#D?jfejhhGo9`w@?+Y*$?;TLv{)nJCV%k%tN4^m;B%eE!APLdI62`8DUOBUQn*^U(7GnbG z#@>u@aJeu<#nO%8IMRGm)h)a>9)!YhGl=CQB)^gfQtWygBP=55B&5*N8fvUOQyBBr zgjsso#if1N6~tmYou_JbofKe^-A|}zX1d|WZN`U?zpBHEL!-E<(AtY7`y$LiT2Uj2 z^#&#%Vxw**bxk}JveM^GT4|n*2LG)5#>RXxR&!JRo#0iZN1n)*e%ixlCajfe-8yDw zyeU$mTh-PE-_#is)n~K4<-?Pu7cU!__63p{cLtIgCb-OmFC|_}h}h37GC#C~TT|6X zM{}p{TEJr>qN`ImM+{-Mmj~`1AHICk>*cjcOtG@%V`uNb2h+#atEo`hO%J_tVI!mx zNSdIU`@L()D-!9mxfp!p7%m-`g2GlRRm2t>_5GG=0`K!(HH{ub-{%mxKA_WHUw`Ww1ZrzHu$d>4^cc101<6$dF+lb8W6u7*1)ZGI1@H$eHH(+>g$s9t{S2`5G%ZoY0?5afDM ze{P$KYCFuw6K#u8B^*gE;4VDBOUQGq3v#Fbeo{nwI$H`qde^G^Ue}OD`)0R!vEU7H z5pjZwVPgwx+&t9Hb(MWoGePkN9UW~1tT@&d69)Ee#OSx2*|ztv@>?-udbs&~BL1ZV z3yN?C@x|9w5sa+%E7y~cYQ|oso3U~!5*p4WibY*26xOz~vjB*&ylGew5wu+oO}S#y zprwmklVoFS=eSm&ch|rXb{_ z9WKMbWs!Yo&*E&g5p`dFvGymBN7_&4d9-;x6_J^*igcgOdpMywCq=GuoteBEh@i5d zu*{rbB-n1=3^u)Ln}03jo$A_y9#8mfmrP<)={)b;I-8HCK>IR*0^+jrIpMD^hQ{O1 zRRD3r3A_Asgqs*kW{W3(=T44OG+lrx({WyJDzn{5FInB!G#=}o=(wK7i-4D9d_*Nq zZHNp!(8Zx6^nBMau~AFni`~?C&lY$lrtIR;pd1$E82Mrq;<9VWbl7_*UM1fm59QAB z0bZbG59`@~$n&a7fvfeWV`Mmcc|;J_Zr!w5zh!RKY8k^7aIjV7b;OsK`WSO~+v2j{ z503ko2Ngw5SHsb)QKEt-fAP-1E|n0yEd=*I?$MR`I<;P#=ewfJ1!$b7nK{$kJSKF< zvz@>4Y}Jh7pV?*P=Daoh6SMFh=h<7uTtrE2tI5}d>vfj#W`yRvrahY9JKB6W=SuPd zy*PqJfwGaY>%A2`-D16V2veN^opov>?%L*yU(BJ=cF@BFkYv`R8B zU_>0rW_NSDZJKg-Q&9t<$K=jd)H~Mf^7WT#Ma5K;MsO)YJ~3qIsx@H*N?Yz;J(T;$ZY*7O?hY$`p4ALa2=b1>iB zD&s1Aj#8rwRu58bRU333F+wCCR*kRht^ho?vxTX%JiUFo#OZwuWsvDOCtYd@BITaz z;h0&yaKL${`FBqNkE`X=Ctlr}EO4iOkOxoP{mqN=R$&69^Ga5p^!Qp6-r2|2kJ#G* zNkZ_@1YqKjLQ>&OIT^sdFqV!^7w>a|c0T97x(UYiJ2DRHzN)BPP0D{16%GtEIP5T< zW0EH%g%tnNE1_|+RR3XI{!44||Ds^9w9E&byZ_DPlpl_vSn<)&&5K09_k=!AGkdH6 z2%5l!2~Io%rSp|=W>JhXqW%amQ$&4+0ld%R?}SbsK-hq9xNdBQIhpdyL4pUeOTN^* zUzeioRsEtGlOi4d@u+qZ`fXdgi|4IE(3xU|11C@N-6q5!*$2bF9Td z$hWQigdZ5%0Dj{K)%2YlNgPPB44 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 diff --git a/icons/obj/machines/bitrunning.dmi b/icons/obj/machines/bitrunning.dmi index b3f8ad63a6c9937b287abab9b981dc4c08b0d74b..d61e910d195be367ca57799cc0fa353ab8b91684 100644 GIT binary patch literal 27801 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 Om$rufjq+>uQU3!{gm()7 literal 23871 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 HIqH7^drr!| diff --git a/monkestation/code/modules/bitrunners/code/ability_disks.dm b/monkestation/code/modules/bitrunners/code/ability_disks.dm index 08cd31f52fb6..b79b0200d103 100644 --- a/monkestation/code/modules/bitrunners/code/ability_disks.dm +++ b/monkestation/code/modules/bitrunners/code/ability_disks.dm @@ -9,7 +9,6 @@ /obj/item/bitrunning_disk/ability/monkestation_override/Initialize(mapload) granted_action = selectable_actions - RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) return ..() /** diff --git a/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm b/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm index 58e78d8bf326..f5b3d4a41aea 100644 --- a/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm +++ b/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm @@ -10,7 +10,6 @@ /obj/item/bitrunning_disk/item/monkestation_override/Initialize(mapload) granted_item = selectable_items - RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) return ..() /** diff --git a/tgstation.dme b/tgstation.dme index 7ac5b9421ea8..cf3905454b27 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3021,13 +3021,18 @@ #include "code\modules\bitrunning\job.dm" #include "code\modules\bitrunning\outfits.dm" #include "code\modules\bitrunning\turfs.dm" +#include "code\modules\bitrunning\antagonists\_parent.dm" #include "code\modules\bitrunning\antagonists\cyber_police.dm" +#include "code\modules\bitrunning\antagonists\cyber_tac.dm" +#include "code\modules\bitrunning\antagonists\netguardian.dm" #include "code\modules\bitrunning\components\avatar_connection.dm" #include "code\modules\bitrunning\components\bitrunning_points.dm" +#include "code\modules\bitrunning\components\glitch.dm" #include "code\modules\bitrunning\components\netpod_healing.dm" -#include "code\modules\bitrunning\components\virtual_elite_mob.dm" +#include "code\modules\bitrunning\components\npc_friendly.dm" #include "code\modules\bitrunning\objects\byteforge.dm" #include "code\modules\bitrunning\objects\clothing.dm" +#include "code\modules\bitrunning\objects\debug.dm" #include "code\modules\bitrunning\objects\disks.dm" #include "code\modules\bitrunning\objects\hololadder.dm" #include "code\modules\bitrunning\objects\host_monitor.dm" @@ -3039,13 +3044,18 @@ #include "code\modules\bitrunning\orders\disks.dm" #include "code\modules\bitrunning\orders\flair.dm" #include "code\modules\bitrunning\orders\tech.dm" +#include "code\modules\bitrunning\server\_parent.dm" #include "code\modules\bitrunning\server\loot.dm" #include "code\modules\bitrunning\server\map_handling.dm" #include "code\modules\bitrunning\server\obj_generation.dm" -#include "code\modules\bitrunning\server\quantum_server.dm" #include "code\modules\bitrunning\server\signal_handlers.dm" #include "code\modules\bitrunning\server\threats.dm" #include "code\modules\bitrunning\server\util.dm" +#include "code\modules\bitrunning\util\digital_aura.dm" +#include "code\modules\bitrunning\util\service_style.dm" +#include "code\modules\bitrunning\util\virtual_megafauna.dm" +#include "code\modules\bitrunning\util\virtual_mob.dm" +#include "code\modules\bitrunning\virtual_domain\modular_mob_segment.dm" #include "code\modules\bitrunning\virtual_domain\safehouses.dm" #include "code\modules\bitrunning\virtual_domain\virtual_domain.dm" #include "code\modules\bitrunning\virtual_domain\domains\ash_drake.dm" diff --git a/tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx b/tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx deleted file mode 100644 index 21d872ed6a05..000000000000 --- a/tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { useBackend } from '../backend'; -import { Divider, Section, Stack } from '../components'; -import { Window } from '../layouts'; -import { Objective } from './common/Objectives'; - -type Info = { - antag_name: string; - objectives: Objective[]; -}; - -const textStyles = { - variable: { - color: 'white', - }, - danger: { - color: 'red', - }, -} as const; - -export const AntagInfoCyberAuth = (props, context) => { - const { data } = useBackend(context); - const { objectives = [] } = data; - - return ( - - -

- - FN CYBER AUTHORITY UNIT (REF) - - - - You are a cyber authority unit. - - - - Your mission: Eliminate{' '} - organic intruders to maintain the integrity of the system. - - - Bitrunning is a crime. To - assist your task, your program has been loaded with cutting edge{' '} - martial arts skills. - - - Ranged weaponry is{' '} - forbidden. Ballistic - defense is frowned upon. Style is paramount. - - - {objectives[0].explanation} - - - - const TARGETS ={' '} - - - system. - INTRUDERS; - - - while TARGETS.LIFE !={' '} - stat.DEAD - - - action. - KILL() - - cyber_authority_unit([0x70cf4020]) - -
- - - ); -}; diff --git a/tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx b/tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx new file mode 100644 index 000000000000..ca6ac70ccb39 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx @@ -0,0 +1,109 @@ +import { useBackend } from '../backend'; +import { Divider, Section, Stack } from '../components'; +import { Window } from '../layouts'; +import { Objective } from './common/Objectives'; + +type Data = { + antag_name: string; + objectives: Objective[]; +}; + +const textStyles = { + variable: { + color: 'white', + }, + danger: { + color: 'red', + }, +} as const; + +export const AntagInfoGlitch = (props, context) => { + const { data } = useBackend(context); + const { antag_name, objectives = [] } = data; + + return ( + + +
+ + FN TERMINATE_INTRUDERS (REF) + + + Initialize({antag_name}) + + + Bitrunning is a crime. Your + mission: Eliminate{' '} + organic intruders to maintain the integrity of the system. + + + + {objectives[0]?.explanation} + + + + const TARGETS ={' '} + + + system. + INTRUDERS; + + + while TARGETS.LIFE !={' '} + stat.DEAD + + + action. + KILL() + + terminate_intruders([0x70cf4020]) + +
+
+
+ ); +}; + +const SpecificInfo = (props, context) => { + const { data } = useBackend(context); + const { antag_name } = data; + + switch (antag_name) { + case 'Cyber Police': + return ( + <> + + To assist your task, your program has been loaded with cutting edge{' '} + martial arts skills. + + + Ranged weaponry is forbidden. + Ballistic defense is frowned upon. Style is paramount. + + + ); + case 'Cyber Tac': + return ( + <> + + You are an advanced combat unit. You have been outfitted with{' '} + lethal weaponry. + + + Terminate organic life at any + cost. + + + ); + case 'NetGuardian Prime': + return ( + + + ORGANIC LIFE MUST BE TERMINATED. + + + ); + default: + return null; + } +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/constants.ts b/tgui/packages/tgui/interfaces/Orbit/constants.ts index eb03e0ed9215..b395a2217694 100644 --- a/tgui/packages/tgui/interfaces/Orbit/constants.ts +++ b/tgui/packages/tgui/interfaces/Orbit/constants.ts @@ -4,7 +4,7 @@ export const ANTAG2COLOR = { 'Biohazards': 'brown', 'Bounty Hunters': 'yellow', 'CentCom': 'teal', - 'Cyber Authority': 'teal', + 'Digital Anomalies': 'teal', 'Emergency Response Team': 'teal', 'Escaped Fugitives': 'orange', 'Xenomorph Infestation': 'violet', diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts deleted file mode 100644 index 03fc370c1f4c..000000000000 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Antagonist, Category } from '../base'; -import { multiline } from 'common/string'; - -const CyberPolice: Antagonist = { - key: 'cyberpolice', - name: 'Cyber Police', - description: [ - multiline` - On the razor edge of the digital realm, the Cyber Authority has tasked - enforcement officers with preserving system harmony. - `, - - multiline` - Using refined martial arts skills, terminate bitrunners in the virtual - domain. Look snazzy while doing it. Cyber police are short lived combat - roles that spawn from mobs (other than elites or players) in the virtual - domain. - `, - ], - category: Category.Midround, -}; - -export default CyberPolice; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts new file mode 100644 index 000000000000..89c7d19a2c20 --- /dev/null +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts @@ -0,0 +1,20 @@ +import { Antagonist, Category } from '../base'; +import { multiline } from 'common/string'; + +const Glitch: Antagonist = { + key: 'glitch', + name: 'Glitch', + description: [ + multiline` + The virtual domain is a dangerous place for bitrunners. Make it so. + `, + + multiline` + You are a short-term antagonist, a glitch in the system. Use martial arts \ + and lethal weaponry to terminate organics. + `, + ], + category: Category.Midround, +}; + +export default Glitch; diff --git a/tgui/packages/tgui/interfaces/QuantumConsole.tsx b/tgui/packages/tgui/interfaces/QuantumConsole.tsx index 5e87e61bb462..c4a68c25d946 100644 --- a/tgui/packages/tgui/interfaces/QuantumConsole.tsx +++ b/tgui/packages/tgui/interfaces/QuantumConsole.tsx @@ -37,6 +37,7 @@ type Domain = { desc: string; difficulty: number; id: string; + is_modular: BooleanLike; name: string; reward: number | string; }; @@ -100,11 +101,19 @@ const AccessView = (props, context) => { ready, occupants, points, + randomized, } = data; const sorted = available_domains.sort((a, b) => a.cost - b.cost); - const selected = sorted.find(({ id }) => id === generated_domain); + let selected; + if (generated_domain) { + selected = randomized + ? '???' + : sorted.find(({ id }) => id === generated_domain)?.name; + } else { + selected = 'Nothing loaded'; + } return ( @@ -143,9 +152,7 @@ const AccessView = (props, context) => {
- - {selected?.name ?? 'Nothing loaded'} - + {selected} { const DomainEntry = (props: DomainEntryProps, context) => { const { - domain: { cost, desc, difficulty, id, name, reward }, + domain: { cost, desc, difficulty, id, is_modular, name, reward }, } = props; const { act, data } = useBackend(context); if (!isConnected(data)) { @@ -203,11 +210,14 @@ const DomainEntry = (props: DomainEntryProps, context) => { <> {name} {difficulty === Difficulty.High && } + {!!is_modular && name !== '???' && } }> {desc} + {!!is_modular && ' (Modular)'} + {difficulty === Difficulty.High && ' (Hard)'} @@ -316,7 +326,7 @@ const DisplayDetails = (props: DisplayDetailsProps, context) => { const { amount = 0, color, icon = 'star' } = props; if (amount === 0) { - return No bandwidth; + return None; } if (typeof amount === 'string') { From 3dca561dced6fd308e5a5af1a054b7df31600a25 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Tue, 21 Nov 2023 23:06:44 +0100 Subject: [PATCH 17/18] Revert "Adds more bitrunning antagonists + fixes (READY) (#79522)" This reverts commit 862d985d571b0352f0a5d118ac30d140a139aedc. --- _maps/map_files/debug/runtimestation.dmm | 21 +- _maps/safehouses/TEMPLATES/TEMPLATE.dmm | 4 +- _maps/virtual_domains/README.md | 35 +- _maps/virtual_domains/beach_bar.dmm | 401 +- _maps/virtual_domains/breeze_bay.dmm | 1485 ++-- _maps/virtual_domains/clown_planet.dmm | 696 +- _maps/virtual_domains/legion.dmm | 6370 +++++++++++++++++ _maps/virtual_domains/pipedream.dmm | 726 +- _maps/virtual_domains/pirates.dmm | 326 +- _maps/virtual_domains/syndicate_assault.dmm | 138 +- _maps/virtual_domains/test_only.dmm | 6 +- _maps/virtual_domains/xeno_nest.dmm | 47 +- code/__DEFINES/ai/monsters.dm | 4 - code/__DEFINES/alerts.dm | 3 +- code/__DEFINES/antagonists.dm | 2 +- code/__DEFINES/bitrunning.dm | 13 +- code/__DEFINES/colors.dm | 2 - .../dcs/signals/signals_bitrunning.dm | 4 + code/__DEFINES/role_preferences.dm | 8 +- code/_globalvars/lists/poll_ignore.dm | 5 +- code/datums/id_trim/outfits.dm | 2 +- .../modules/bitrunning/antagonists/_parent.dm | 71 - .../bitrunning/antagonists/cyber_police.dm | 87 +- .../bitrunning/antagonists/cyber_tac.dm | 112 - .../bitrunning/antagonists/netguardian.dm | 126 - code/modules/bitrunning/areas.dm | 9 +- .../components/avatar_connection.dm | 21 +- code/modules/bitrunning/components/glitch.dm | 83 - .../bitrunning/components/npc_friendly.dm | 37 - .../components/virtual_elite_mob.dm | 18 + code/modules/bitrunning/event.dm | 106 +- code/modules/bitrunning/objects/byteforge.dm | 52 +- code/modules/bitrunning/objects/debug.dm | 7 - code/modules/bitrunning/objects/disks.dm | 24 +- code/modules/bitrunning/objects/landmarks.dm | 49 +- code/modules/bitrunning/objects/loot_crate.dm | 3 +- code/modules/bitrunning/objects/netpod.dm | 44 +- .../bitrunning/objects/quantum_console.dm | 14 +- code/modules/bitrunning/outfits.dm | 32 +- code/modules/bitrunning/server/loot.dm | 4 - .../modules/bitrunning/server/map_handling.dm | 104 +- .../bitrunning/server/obj_generation.dm | 65 +- .../server/{_parent.dm => quantum_server.dm} | 59 +- .../bitrunning/server/signal_handlers.dm | 32 +- code/modules/bitrunning/server/threats.dm | 143 - code/modules/bitrunning/server/util.dm | 86 +- code/modules/bitrunning/util/digital_aura.dm | 43 - code/modules/bitrunning/util/service_style.dm | 23 - .../bitrunning/util/virtual_megafauna.dm | 13 - code/modules/bitrunning/util/virtual_mob.dm | 14 - .../virtual_domain/domains/breeze_bay.dm | 1 - .../domains/gondola_asteroid.dm | 1 + .../virtual_domain/domains/pipedream.dm | 7 +- .../domains/syndicate_assault.dm | 2 - .../virtual_domain/domains/vaporwave.dm | 2 +- .../virtual_domain/domains/xeno_nest.dm | 2 - .../virtual_domain/modular_mob_segment.dm | 159 - .../bitrunning/virtual_domain/safehouses.dm | 30 +- .../virtual_domain/virtual_domain.dm | 23 +- .../client/preferences/middleware/antags.dm | 2 +- .../reagent_containers/cups/drinkingglass.dm | 4 - ...=> screenshot_antag_icons_cyberpolice.png} | Bin icons/effects/bitrunning.dmi | Bin 3048 -> 1568 bytes icons/effects/bitrunning_48.dmi | Bin 894 -> 0 bytes icons/effects/bitrunning_64.dmi | Bin 950 -> 0 bytes icons/mob/clothing/modsuit/mod_clothing.dmi | Bin 127242 -> 128317 bytes icons/mob/nonhuman-player/netguardian.dmi | Bin 9764 -> 0 bytes icons/obj/clothing/modsuit/mod_clothing.dmi | Bin 76930 -> 76690 bytes icons/obj/machines/bitrunning.dmi | Bin 27801 -> 23871 bytes .../modules/bitrunners/code/ability_disks.dm | 1 + .../bitrunners/code/combat_gear_disks.dm | 1 + tgstation.dme | 14 +- .../tgui/interfaces/AntagInfoCyberAuth.tsx | 75 + .../tgui/interfaces/AntagInfoGlitch.tsx | 109 - .../tgui/interfaces/Orbit/constants.ts | 2 +- .../antagonists/antagonists/cyberpolice.ts | 23 + .../antagonists/antagonists/glitch.ts | 20 - .../tgui/interfaces/QuantumConsole.tsx | 22 +- 78 files changed, 8897 insertions(+), 3382 deletions(-) create mode 100644 _maps/virtual_domains/legion.dmm delete mode 100644 code/modules/bitrunning/antagonists/_parent.dm delete mode 100644 code/modules/bitrunning/antagonists/cyber_tac.dm delete mode 100644 code/modules/bitrunning/antagonists/netguardian.dm delete mode 100644 code/modules/bitrunning/components/glitch.dm delete mode 100644 code/modules/bitrunning/components/npc_friendly.dm create mode 100644 code/modules/bitrunning/components/virtual_elite_mob.dm delete mode 100644 code/modules/bitrunning/objects/debug.dm rename code/modules/bitrunning/server/{_parent.dm => quantum_server.dm} (69%) delete mode 100644 code/modules/bitrunning/util/digital_aura.dm delete mode 100644 code/modules/bitrunning/util/service_style.dm delete mode 100644 code/modules/bitrunning/util/virtual_megafauna.dm delete mode 100644 code/modules/bitrunning/util/virtual_mob.dm delete mode 100644 code/modules/bitrunning/virtual_domain/modular_mob_segment.dm rename code/modules/unit_tests/screenshots/{screenshot_antag_icons_glitch.png => screenshot_antag_icons_cyberpolice.png} (100%) delete mode 100644 icons/effects/bitrunning_48.dmi delete mode 100644 icons/effects/bitrunning_64.dmi delete mode 100644 icons/mob/nonhuman-player/netguardian.dmi create mode 100644 tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx delete mode 100644 tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx create mode 100644 tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts delete mode 100644 tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 05cf1009b129..23162c70e2c1 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -2061,7 +2061,6 @@ "tB" = ( /obj/structure/table/reinforced, /obj/machinery/light/directional/south, -/obj/item/bitrunning_debug, /turf/open/floor/iron, /area/station/bitrunning/den) "tE" = ( @@ -3131,12 +3130,12 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa +pl +pl +pl +pl +pl +pl aa aa aa @@ -3224,10 +3223,10 @@ aa aa aa pl -pl -pl -pl -pl +Lq +Lq +RW +nk pl aa aa diff --git a/_maps/safehouses/TEMPLATES/TEMPLATE.dmm b/_maps/safehouses/TEMPLATES/TEMPLATE.dmm index 03eaca12fb13..c8e5059f0d01 100644 --- a/_maps/safehouses/TEMPLATES/TEMPLATE.dmm +++ b/_maps/safehouses/TEMPLATES/TEMPLATE.dmm @@ -13,11 +13,11 @@ /turf/open/floor/plating, /area/virtual_domain/safehouse) "v" = ( -/obj/effect/landmark/bitrunning/hololadder_spawn, +/obj/effect/bitrunning/exit_spawn, /turf/open/floor/plating, /area/virtual_domain/safehouse) "N" = ( -/obj/effect/landmark/bitrunning/cache_goal_turf, +/obj/effect/bitrunning/goal_turf, /turf/open/floor/plating, /area/virtual_domain/safehouse) "R" = ( diff --git a/_maps/virtual_domains/README.md b/_maps/virtual_domains/README.md index 723af1b34c2c..a02d43e1575e 100644 --- a/_maps/virtual_domains/README.md +++ b/_maps/virtual_domains/README.md @@ -1,33 +1,32 @@ # Making new virtual domains -## REQUIRED: -1. One way that the encrypted cache can spawn. This can be from a mob drop, a landmark (place a few, it'll pick one), or a signable landmark if you have a points system. -2. Place a virtual domain baseturf helper in each area. -3. Ensure that the map has ONE tile marked with the safehouse bottom left landmark. If you're using modular safehouses, it will need an open 7x6 area. -4. Placing a safehouse area is redundant, but it will ensure there is power in the starting safehouse. -5. Create the dm file that defines the map qualities. You can use the existing ones as a template. - -## Converting an existing map +## From scratch + +1. Create a new map using TGM format. It can be any size, but please, consider limiting to 75x75 max. +2. Ensure that the map has ONE tile marked with the safehouse bottom left landmark. If you're using modular safehouses, it will need to be a 7x6 area. +4. Provide a way for players to enter your new map via the north door, which is 4th tile over. +5. Enclose your area with a single wall binary closed wall. + +## From an existing map + 1. Create a new map using the existing map's size - give yourself enough room to enclose it with a binary wall. There's no need for any space outside of it, so ensure that it fits and is enclosed, nothing outside of this. 2. Copy and paste the existing map into it. -3. Find an accessible area for a safehouse, 7x6. +3. Find an accessible area for a safehouse, 7x6 - or with a custom, just ensure the necessary landmarks are placed. 4. Place a bottom left safehouse landmark somewhere on the map to load the safehouse. -## Notes -You shouldn't need to fully enclose your map in 15 tiles of binary filler. Using one solid wall should do the trick. +## BOTH. +1. You need to have one (1) way that the encrypted cache can spawn. This can be from a mob drop, a landmark (place a few, it'll pick one), or a signable landmark if you have a points system. +2. Make note of the size of the map. Make sure this is in the dm file. +3. Create the dm file that defines the map qualities. Examples are in the bitrunning file. -For areas, ideally just one on the map and one for the safehouse. Vdoms should never last so long as to need individual area power and atmos unless you're specifically going for a gimmick. +### Notes -Use modular mob segments! Use modular map segments! Add some variety to your maps! Just make sure you've set your map to have "is_modular" afterwards. +You shouldn't need to fully enclose your map in 15 tiles of binary filler. Using one solid wall should do the trick. Adding some open tile padding around the safehouse is a good touch. About 7 tiles West/East for the visual effect of a larger map. If you want to add prep gear, you can do so within the safehouse's area as long you don't overlap with goal turfs or exit spawners. The top left corner is a good spot for this, with respect for the walls, therefore [1, 1], [1, 2], [1, 3] -You can also create a specific safehouse if you find yourself needing the same gear over and over again. There is a readme for that as well. +You can also create safehouses if you find yourself needing the same gear over and over again. There is a readme for that as well. Boss zones should give players pretty ample space, I've been using a 23x23 minimum area. - -While it's not a hard set rule, 75x75 is the guideline for max size. The main issue is keeping them in the domain for too long. - -You have the option of baking in your own safehouse and ignoring the 7x6 guideline. To do this, you will still need a safehouse landmark and a file to load - even if it's empty. Ensure that you have the necessary landmarks placed that normally go in a safehouse on the map itself. diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm index a9b382d9b0d9..6d0420d9b3d9 100644 --- a/_maps/virtual_domains/beach_bar.dmm +++ b/_maps/virtual_domains/beach_bar.dmm @@ -5,10 +5,10 @@ /obj/item/reagent_containers/condiment/flour, /obj/item/reagent_containers/condiment/flour, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ag" = ( /turf/open/floor/carpet/red, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "as" = ( /obj/structure/closet/crate/bin, /obj/item/tank/internals/emergency_oxygen, @@ -17,14 +17,14 @@ /obj/effect/turf_decal/sand, /obj/machinery/light/directional/west, /turf/open/floor/iron, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "aw" = ( /obj/machinery/grill, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "aE" = ( /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "aZ" = ( /obj/machinery/light/small/directional/east, /obj/structure/closet/crate{ @@ -33,54 +33,54 @@ /obj/item/stack/sheet/mineral/coal/ten, /obj/item/stack/sheet/mineral/coal/ten, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bd" = ( /turf/open/floor/iron/grimy, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bf" = ( /mob/living/basic/crab{ name = "Jonny" }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bC" = ( /obj/effect/turf_decal/sand, /mob/living/basic/crab{ name = "James" }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bM" = ( /mob/living/basic/crab{ name = "Jon" }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bQ" = ( /obj/structure/fluff/beach_umbrella/cap, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bS" = ( /obj/machinery/chem_master/condimaster{ name = "CondiMaster Neo"; pixel_x = -4 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "cb" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/lsd, /obj/item/reagent_containers/pill/lsd, /obj/item/reagent_containers/pill/lsd, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "cv" = ( /turf/open/floor/carpet/royalblue, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "cG" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "db" = ( /obj/item/reagent_containers/cup/glass/bottle/beer/light, /obj/item/reagent_containers/cup/glass/bottle/beer/light, @@ -111,7 +111,7 @@ /obj/item/reagent_containers/cup/glass/colocup, /obj/item/reagent_containers/cup/glass/colocup, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "di" = ( /obj/machinery/vending/boozeomat, /obj/effect/mapping_helpers/atom_injector/obj_flag{ @@ -119,7 +119,7 @@ target_type = /obj/machinery/vending/boozeomat }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "do" = ( /obj/item/food/meat/rawbacon, /obj/item/food/meat/rawbacon, @@ -128,42 +128,42 @@ /obj/item/food/meat/slab/rawcrab, /obj/item/food/meat/slab/rawcrab, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "dx" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/stripes/asteroid/line{ dir = 8 }, /turf/open/floor/sepia, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "dI" = ( /obj/machinery/light/directional/south, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "dZ" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ed" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "er" = ( /obj/structure/noticeboard/staff, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "fr" = ( /obj/item/melee/skateboard/hoverboard, /obj/machinery/light/directional/west, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "gh" = ( /obj/structure/flora/bush/stalky/style_random, /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "gl" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) @@ -174,22 +174,26 @@ pixel_x = -8; pixel_y = -1 }, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ + pixel_y = 5; + pixel_x = 6 + }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "hk" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "hE" = ( /obj/structure/sign/departments/restroom/directional/east, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "hG" = ( /obj/machinery/door/airlock/sandstone{ name = "Surfer Shack 1" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "iz" = ( /turf/closed/indestructible/binary, /area/lavaland/surface/outdoors/virtual_domain) @@ -200,22 +204,22 @@ /obj/item/reagent_containers/cup/rag, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jc" = ( /turf/open/floor/iron/stairs/right, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jg" = ( /obj/machinery/vending/hydronutrients, /turf/open/floor/iron/grimy, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jl" = ( /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "js" = ( /obj/machinery/light/directional/south, /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jy" = ( /obj/effect/turf_decal/sand{ density = 1 @@ -224,7 +228,7 @@ /turf/open/floor/pod/light{ density = 1 }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ke" = ( /obj/structure/marker_beacon/bronze, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -236,7 +240,7 @@ }, /obj/structure/chair/stool/bar/directional/west, /turf/open/floor/sepia, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "kv" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, @@ -245,28 +249,28 @@ /obj/structure/table, /obj/machinery/reagentgrinder, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "kK" = ( /obj/structure/mirror/directional/west, /obj/structure/sink/kitchen/directional/south, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "kT" = ( /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "lq" = ( /obj/item/melee/skateboard/hoverboard, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "lB" = ( /obj/item/toy/seashell, /obj/effect/turf_decal/sand, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "lS" = ( /turf/open/floor/light/colour_cycle/dancefloor_a, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ml" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -274,58 +278,61 @@ /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) +"nO" = ( +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/virtual_domain/powered) "nP" = ( /obj/item/stack/sheet/iron/fifty, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "oy" = ( /obj/effect/mob_spawn/ghost_role/human/bartender{ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "oP" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "pr" = ( /turf/template_noop, /area/template_noop) "pC" = ( /obj/machinery/computer/arcade/battle, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "pT" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qc" = ( /obj/structure/extinguisher_cabinet/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qR" = ( /obj/effect/spawner/structure/window, /obj/structure/curtain, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qW" = ( /obj/item/melee/skateboard/hoverboard, /mob/living/basic/chicken{ name = "Chicken Joe" }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "rc" = ( /obj/machinery/light/directional/east, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ri" = ( /obj/structure/sign/poster/official/fruit_bowl, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "rm" = ( /obj/item/storage/crayons, /obj/structure/closet/crate/wooden, @@ -333,11 +340,11 @@ /obj/item/canvas/twentythree_twentythree, /obj/item/canvas/twentythree_twentythree, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "rT" = ( /obj/item/toy/seashell, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "sT" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -347,20 +354,20 @@ name = "Resort Casino" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "tF" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "tZ" = ( /obj/structure/toilet, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "uc" = ( /obj/machinery/light/small/directional/east, /obj/machinery/light/small/directional/east, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ug" = ( /obj/structure/closet/secure_closet{ icon_state = "cabinet"; @@ -376,18 +383,18 @@ /obj/item/clothing/suit/costume/hawaiian, /obj/machinery/light/small/directional/east, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "uk" = ( /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, /obj/item/reagent_containers/cup/bucket, /obj/item/cultivator, /turf/open/floor/iron/grimy, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "uU" = ( /obj/effect/turf_decal/sand, /turf/open/floor/sepia, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ve" = ( /obj/item/toy/dodgeball, /obj/item/toy/dodgeball, @@ -395,27 +402,27 @@ /obj/item/toy/dodgeball, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "vp" = ( /obj/machinery/light/directional/east, /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "vq" = ( /obj/machinery/oven/range, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "vv" = ( /obj/structure/chair/stool/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "vN" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/morphine, /obj/item/reagent_containers/pill/morphine, /obj/item/reagent_containers/pill/morphine, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "wb" = ( /obj/structure/closet/crate/freezer{ name = "Cooler" @@ -439,10 +446,10 @@ /obj/item/reagent_containers/cup/glass/bottle/beer/light, /obj/item/reagent_containers/cup/glass/bottle/beer/light, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "wD" = ( /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xb" = ( /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) @@ -451,19 +458,19 @@ /obj/item/storage/dice, /obj/item/stack/spacecash/c1000, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xq" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, /obj/item/megaphone, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xw" = ( /turf/open/floor/pod/dark, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xz" = ( /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xJ" = ( /obj/structure/closet/cabinet, /obj/item/storage/backpack/duffelbag, @@ -475,7 +482,7 @@ /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/neck/beads, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xR" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/north{ @@ -486,12 +493,12 @@ /obj/item/clothing/under/shorts/red, /obj/item/clothing/glasses/sunglasses, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xT" = ( /obj/machinery/vending/cigarette/beach, /obj/effect/turf_decal/sand, /turf/open/floor/iron, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xW" = ( /turf/open/space/basic, /area/space) @@ -501,14 +508,14 @@ /obj/item/reagent_containers/pill/zoom, /obj/item/reagent_containers/pill/zoom, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yi" = ( /obj/structure/sink/kitchen/directional/west{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yl" = ( /obj/item/reagent_containers/cup/glass/colocup{ pixel_x = -7; @@ -523,39 +530,39 @@ pixel_y = -3 }, /turf/open/floor/carpet/red, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ys" = ( /obj/effect/turf_decal/sand, /obj/machinery/light/directional/east, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yv" = ( /obj/effect/turf_decal/sand, /obj/machinery/food_cart, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yB" = ( /obj/item/instrument/guitar, /turf/open/floor/carpet/blue, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yU" = ( /obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yX" = ( /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/carpet/red, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "zc" = ( /obj/structure/railing{ dir = 8 }, /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "zw" = ( /obj/structure/punching_bag, /turf/open/floor/pod/dark, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "zI" = ( /obj/structure/marker_beacon/indigo, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -563,15 +570,15 @@ "zQ" = ( /obj/machinery/light/directional/east, /turf/open/misc/beach/sand/coastline_b, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "zU" = ( /obj/structure/flora/rock/pile/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ae" = ( /obj/structure/chair, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Al" = ( /turf/closed/mineral/random/volcanic, /area/lavaland/surface/outdoors/virtual_domain) @@ -582,19 +589,19 @@ "Au" = ( /obj/structure/fluff/beach_umbrella/science, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "AI" = ( /obj/structure/table/reinforced, /obj/machinery/reagentgrinder, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "AP" = ( /obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ dir = 1 }, /obj/structure/table/wood, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Br" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck/cas{ @@ -605,68 +612,68 @@ pixel_y = 2 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Bw" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "BD" = ( /obj/structure/table/wood, /obj/item/reagent_containers/condiment/saltshaker, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "BJ" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "BM" = ( /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "BQ" = ( /obj/machinery/seed_extractor, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Cb" = ( /obj/machinery/light/directional/north, /mob/living/basic/crab{ name = "Eddie" }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Cv" = ( /obj/machinery/hydroponics/constructable, /turf/open/floor/iron/grimy, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "CA" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/mob_spawn/ghost_role/human/beach/lifeguard, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "CO" = ( /obj/machinery/vending/dinnerware, /obj/machinery/light/directional/east, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Db" = ( /obj/machinery/barsign/all_access, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ds" = ( /obj/machinery/door/airlock/public/glass{ name = "Resort Lobby" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Dt" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/sand, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "DL" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/wall/mineral/sandstone, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Em" = ( /obj/item/reagent_containers/condiment/enzyme{ layer = 5 @@ -676,28 +683,28 @@ }, /obj/structure/table, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Et" = ( /obj/machinery/light/small/directional/east, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ev" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "EC" = ( /obj/structure/sign/warning/gas_mask/directional/west, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "EP" = ( /obj/machinery/light/directional/north, /obj/machinery/washing_machine, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Fn" = ( /turf/closed/wall/mineral/sandstone, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "FM" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, @@ -707,21 +714,21 @@ /obj/item/secateurs, /obj/item/reagent_containers/cup/bottle/nutrient/ez, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "FS" = ( /obj/effect/turf_decal/sand, /obj/structure/sign/warning/no_smoking/circle/directional/east, /obj/machinery/light/directional/east, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "FY" = ( /obj/structure/mineral_door/wood, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Gz" = ( /obj/structure/flora/tree/palm, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "GA" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -730,7 +737,7 @@ /obj/item/storage/medkit/regular, /obj/item/storage/medkit/brute, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Hl" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -739,102 +746,102 @@ /obj/machinery/light/directional/west, /obj/structure/railing, /turf/open/floor/sepia, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Hs" = ( /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Hu" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ - pixel_x = 8; - pixel_y = 4 + pixel_x = 5; + pixel_y = 5 }, /obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "HF" = ( /obj/machinery/deepfryer, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ia" = ( /obj/structure/urinal/directional/north, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ii" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/stairs/left, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ir" = ( /obj/machinery/vending/cola, /obj/effect/turf_decal/sand, /turf/open/floor/iron, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Iv" = ( /obj/structure/table/wood, /obj/item/reagent_containers/condiment/peppermill, /obj/item/reagent_containers/condiment/soysauce, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "IH" = ( /obj/item/toy/beach_ball, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "IM" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light/directional/east, /turf/open/floor/iron/grimy, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "IP" = ( /obj/machinery/vending/snack, /obj/effect/turf_decal/sand, /turf/open/floor/iron, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Jt" = ( /obj/item/reagent_containers/cup/glass/bottle/beer, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "JC" = ( /obj/structure/fluff/beach_umbrella/engine, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "JY" = ( /obj/structure/flora/rock/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Kd" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/mineral/sandstone, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "KH" = ( /obj/structure/mineral_door/wood{ name = "Croupier's Booth" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "KZ" = ( /obj/structure/flora/bush/stalky/style_random, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "LD" = ( /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "LW" = ( /obj/item/storage/cans/sixbeer, /turf/open/floor/carpet/orange, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Mw" = ( /obj/structure/chair/sofa/right/brown, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Mz" = ( /obj/structure/chair/sofa/left/brown, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Nr" = ( /obj/machinery/light/directional/north, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Nw" = ( /obj/item/bedsheet/dorms{ dir = 4 @@ -843,7 +850,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "NM" = ( /obj/structure/closet/crate/hydroponics, /obj/item/food/grown/ambrosia/vulgaris, @@ -857,32 +864,32 @@ /obj/item/food/grown/ambrosia/vulgaris, /obj/item/food/grown/ambrosia/vulgaris, /turf/open/floor/iron/grimy, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "NX" = ( /obj/effect/landmark/bitrunning/loot_signal, /turf/open/floor/light/colour_cycle/dancefloor_a, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "OE" = ( /obj/effect/mob_spawn/ghost_role/human/beach{ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "OK" = ( /obj/structure/sign/warning/gas_mask/directional/north, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "OR" = ( /obj/machinery/light/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "OW" = ( /obj/structure/sink/kitchen/directional/east{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink" }, /turf/open/floor/pod/light, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "OZ" = ( /obj/structure/marker_beacon/teal, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -891,30 +898,30 @@ /obj/structure/chair/wood, /obj/machinery/light/directional/west, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "PM" = ( /obj/machinery/door/airlock/external/ruin, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Qb" = ( /obj/machinery/griddle, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Qm" = ( /obj/effect/turf_decal/sand, /obj/item/coin/gold, /obj/structure/railing, /obj/machinery/media/jukebox, /turf/open/floor/sepia, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Qu" = ( /obj/structure/curtain, /turf/open/floor/iron/white, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "QP" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "QX" = ( /obj/machinery/chem_dispenser/drinks/fullupgrade{ dir = 1 @@ -922,10 +929,10 @@ /obj/structure/table/wood, /obj/machinery/light/small/directional/east, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Rx" = ( /turf/open/floor/iron/stairs/medium, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "RL" = ( /obj/structure/closet/cabinet, /obj/item/storage/backpack/duffelbag, @@ -937,164 +944,162 @@ /obj/item/clothing/glasses/sunglasses/big, /obj/item/clothing/neck/beads, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "SB" = ( /obj/machinery/door/airlock/sandstone{ name = "Resort Bathroom" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "SD" = ( /obj/machinery/door/airlock/sandstone{ name = "Bar Access" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "SY" = ( /obj/machinery/door/airlock/sandstone{ name = "Surfer Shack 2" }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "TG" = ( /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "TJ" = ( /obj/structure/fluff/beach_umbrella/security, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ud" = ( /obj/effect/turf_decal/sand, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Uh" = ( /turf/open/floor/iron/stairs/old, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Uq" = ( /obj/structure/weightmachine/weightlifter, /turf/open/floor/pod/dark, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "UU" = ( /obj/structure/flora/bush/large/style_random, /obj/structure/flora/bush/jungle/a/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ve" = ( /obj/machinery/processor, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "VA" = ( /obj/machinery/computer/slot_machine, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "VH" = ( /obj/machinery/light/directional/west, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "VX" = ( /obj/structure/flora/bush/large/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "We" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/cooking_to_serve_man, /obj/item/clothing/suit/apron/chef, /obj/item/clothing/head/utility/chefhat, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Wg" = ( /obj/structure/dresser, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Wr" = ( /obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada, /obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ - pixel_x = 4 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada{ - pixel_x = -7; + pixel_x = -5; pixel_y = 5 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ww" = ( /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "WL" = ( /obj/machinery/light/directional/north, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "WO" = ( /obj/structure/flora/bush/jungle/a/style_random, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "WW" = ( /obj/effect/turf_decal/sand, /obj/machinery/icecream_vat, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "WX" = ( /obj/item/toy/plush/lizard_plushie/green{ name = "Soaks-The-Rays" }, /turf/open/floor/carpet/orange, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Xv" = ( /obj/structure/table/wood, /obj/structure/bedsheetbin, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "XL" = ( /obj/machinery/light/directional/east, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "XP" = ( /turf/open/floor/carpet/blue, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "XT" = ( /obj/effect/turf_decal/sand, /obj/structure/sign/departments/botany/directional/south, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Yi" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/item/toy/seashell, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Yq" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Yz" = ( /obj/effect/turf_decal/sand, /obj/structure/railing, /turf/open/floor/sepia, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "YI" = ( /obj/machinery/door/airlock/maintenance{ name = "Supply Room" }, /turf/open/floor/plating, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "YJ" = ( /turf/open/floor/carpet/purple, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "YN" = ( /obj/effect/turf_decal/sand, /obj/machinery/light/directional/west, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Zg" = ( /obj/structure/table, /obj/machinery/microwave, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Zt" = ( /obj/structure/table/wood, /obj/item/reagent_containers/pill/morphine, /obj/item/storage/fancy/donut_box, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) (1,1,1) = {" pr @@ -2045,7 +2050,7 @@ iz (23,1,1) = {" iz Al -xb +nO Fn Cb wD @@ -2088,7 +2093,7 @@ xW (24,1,1) = {" iz Al -xb +nO Fn wD Gz @@ -2131,7 +2136,7 @@ xW (25,1,1) = {" iz Al -xb +nO Fn OK Gz @@ -2174,7 +2179,7 @@ xW (26,1,1) = {" iz Al -xb +nO Fn Nr wD diff --git a/_maps/virtual_domains/breeze_bay.dmm b/_maps/virtual_domains/breeze_bay.dmm index 4037652bd8eb..7c86ac2b75c6 100644 --- a/_maps/virtual_domains/breeze_bay.dmm +++ b/_maps/virtual_domains/breeze_bay.dmm @@ -1,57 +1,26 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( +"a" = ( /turf/closed/indestructible/binary, /area/virtual_domain/powered) -"ab" = ( -/obj/machinery/light/small/directional/east, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"ac" = ( -/obj/structure/flora/coconuts, -/turf/open/misc/beach/sand, -/area/virtual_domain/powered) -"ad" = ( +"d" = ( /obj/structure/chair/wood, /turf/open/floor/wood/large, /area/virtual_domain/powered) -"ae" = ( +"e" = ( /turf/open/floor/carpet/red, /area/virtual_domain/powered) -"af" = ( -/turf/open/water/beach, -/area/virtual_domain/fullbright) -"ag" = ( +"g" = ( /obj/item/toy/beach_ball/branded, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"ah" = ( -/obj/structure/flora/bush/sparsegrass/style_random, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"ai" = ( +"i" = ( /turf/open/water/beach, /area/virtual_domain/powered) -"aj" = ( -/turf/open/floor/holofloor/beach/coast_t, -/area/virtual_domain/fullbright) -"ak" = ( +"k" = ( /obj/effect/landmark/bitrunning/loot_signal, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"al" = ( -/obj/item/fishing_rod{ - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/fishing_rod, -/obj/item/fishing_rod{ - pixel_y = 5; - pixel_x = -5 - }, -/obj/structure/table/wood, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"am" = ( +"m" = ( /obj/item/fishing_rod{ pixel_x = 5; pixel_y = -5 @@ -64,105 +33,68 @@ /obj/structure/table/wood, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"an" = ( -/mob/living/basic/crab, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"ao" = ( +"o" = ( /obj/structure/flora/tree/jungle/style_5, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"ap" = ( +"p" = ( /turf/open/floor/carpet/blue, /area/virtual_domain/powered) -"aq" = ( -/obj/machinery/light/small/directional/north, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"ar" = ( -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"as" = ( +"s" = ( /obj/structure/fluff/beach_umbrella/cap, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"at" = ( +"t" = ( /obj/structure/fluff/beach_umbrella/syndi, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"au" = ( -/turf/open/floor/carpet/blue, -/area/virtual_domain/fullbright) -"av" = ( +"v" = ( /obj/effect/baseturf_helper/virtual_domain, /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, /area/virtual_domain/safehouse) -"aw" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood/large, -/area/virtual_domain/fullbright) -"ax" = ( -/obj/effect/landmark/bitrunning/loot_signal, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"ay" = ( +"y" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"az" = ( +"z" = ( /mob/living/basic/crab, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aA" = ( -/obj/item/fishing_line, -/obj/item/fishing_hook, -/obj/item/fishing_hook, -/obj/item/fishing_hook, -/obj/structure/closet/crate, -/obj/item/bait_can/worm, -/obj/item/bait_can/worm, -/obj/item/bait_can/worm, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"aB" = ( +"B" = ( /obj/structure/flora/tree/jungle/style_6, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aC" = ( +"C" = ( /obj/structure/flora/tree/jungle/style_2, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aD" = ( +"D" = ( /turf/open/floor/carpet/green, /area/virtual_domain/powered) -"aE" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/virtual_domain/fullbright) -"aF" = ( +"F" = ( /obj/structure/fluff/beach_umbrella/engine, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aG" = ( +"G" = ( /obj/structure/flora/bush/jungle/a/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aH" = ( +"H" = ( /obj/structure/flora/tree/jungle/style_4, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aI" = ( +"I" = ( /turf/template_noop, /area/virtual_domain/safehouse) -"aJ" = ( +"J" = ( /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aK" = ( +"K" = ( /obj/structure/flora/tree/jungle, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aL" = ( +"L" = ( /obj/item/fishing_line, /obj/item/fishing_hook, /obj/item/fishing_hook, @@ -171,25 +103,18 @@ /obj/item/bait_can/worm, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aM" = ( -/obj/structure/flora/bush/stalky/style_random, -/turf/open/water/beach, -/area/virtual_domain/fullbright) -"aN" = ( -/turf/open/floor/carpet/red, -/area/virtual_domain/fullbright) -"aO" = ( +"O" = ( /obj/structure/flora/rock/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aP" = ( -/turf/open/misc/beach/coast, +"P" = ( +/turf/open/floor/holofloor/beach/coast_t, /area/virtual_domain/powered) -"aQ" = ( +"Q" = ( /obj/structure/flora/bush/stalky/style_random, /turf/open/water/beach, /area/virtual_domain/powered) -"aR" = ( +"R" = ( /obj/structure/closet/crate/freezer{ name = "Cooler" }, @@ -214,788 +139,694 @@ /obj/item/clothing/head/soft/fishing_hat, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aS" = ( +"S" = ( /obj/structure/flora/tree/jungle/style_3, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aT" = ( -/obj/machinery/light/small/directional/west, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"aU" = ( +"U" = ( /obj/structure/flora/tree/palm/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/powered) -"aV" = ( -/turf/open/floor/wood/large, -/area/virtual_domain/fullbright) -"aW" = ( -/obj/structure/flora/tree/palm/style_random, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"aX" = ( +"X" = ( /turf/open/floor/wood/large, /area/virtual_domain/powered) -"aY" = ( -/turf/closed/indestructible/binary, -/area/virtual_domain/fullbright) -"aZ" = ( +"Z" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, /area/virtual_domain/powered) -"iI" = ( -/obj/structure/fluff/beach_umbrella/syndi, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"lN" = ( -/obj/structure/flora/tree/jungle/style_2, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"mh" = ( -/obj/structure/flora/tree/jungle/style_3, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"mV" = ( -/obj/structure/fluff/beach_umbrella/engine, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"rk" = ( -/turf/open/floor/carpet/green, -/area/virtual_domain/fullbright) -"tk" = ( -/obj/machinery/light/small/directional/south, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"wR" = ( -/obj/structure/flora/tree/jungle/style_6, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"wT" = ( -/obj/structure/flora/tree/jungle/style_5, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"yK" = ( -/obj/item/toy/beach_ball/branded, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"Au" = ( -/obj/structure/fluff/beach_umbrella/cap, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"Dh" = ( -/obj/structure/flora/tree/jungle/style_4, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"EZ" = ( -/obj/structure/closet/crate/freezer{ - name = "Cooler" - }, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/colocup, -/obj/item/reagent_containers/cup/glass/colocup, -/obj/item/reagent_containers/cup/glass/bottle/beer{ - desc = "Beer advertised to be the best in space."; - name = "Masterbrand Beer" - }, -/obj/item/reagent_containers/cup/glass/bottle/beer{ - desc = "Beer advertised to be the best in space."; - name = "Masterbrand Beer" - }, -/obj/item/reagent_containers/cup/glass/bottle/beer{ - desc = "Beer advertised to be the best in space."; - name = "Masterbrand Beer" - }, -/obj/item/reagent_containers/cup/glass/bottle/beer/light, -/obj/item/reagent_containers/cup/glass/bottle/beer/light, -/obj/item/reagent_containers/cup/glass/bottle/beer/light, -/obj/item/clothing/head/soft/fishing_hat, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"Gc" = ( -/obj/structure/flora/rock/style_random, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"SA" = ( -/obj/structure/flora/bush/jungle/a/style_random, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"Vj" = ( -/obj/structure/flora/tree/jungle, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) (1,1,1) = {" -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aE +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +Z "} (2,1,1) = {" -aY -Vj -SA -ah -ar -ab -ar -ar -ar -ar -ab -an -aj -af -af -af -af -af -af -af -aM -af -af -af -aY +a +K +G +y +J +J +J +J +J +J +J +z +P +i +i +i +i +i +i +i +Q +i +i +i +a "} (3,1,1) = {" -aY -ar -Gc -ar -tk -aI -aI -aI -aI -aI -av -aq -aj -aM -af -af -af -af -af -af -af -af -af -af -aY +a +J +O +J +J +I +I +I +I +I +v +J +P +Q +i +i +i +i +i +i +i +i +i +i +a "} (4,1,1) = {" -aY -ar -lN -ar -ar -aI -aI -aI -aI -aI -aI -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +C +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (5,1,1) = {" -aY -ar -ah -ar -ar -aI -aI -aI -aI -aI -aI -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +y +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (6,1,1) = {" -aY -mh -ar -ar -ar -aI -aI -aI -aI -aI -aI -ah -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +S +J +J +J +I +I +I +I +I +I +y +P +i +i +i +i +i +i +i +i +i +i +i +a "} (7,1,1) = {" -aY -SA -SA -ar -ar -aI -aI -aI -aI -aI -aI -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +G +G +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (8,1,1) = {" -aY -ar -Dh -yK -ar -aI -aI -aI -aI -aI -aI -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +H +g +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (9,1,1) = {" -aY -SA -ah -ar -tk -aI -aI -aI -aI -aI -aI -aq -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +G +y +J +J +I +I +I +I +I +I +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (10,1,1) = {" -aY -wT -ar -ar -ar -aT -ar -ar -ar -ar -aT -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +o +J +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (11,1,1) = {" -aY -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +J +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (12,1,1) = {" -aY -ar -wR -ah -ar -ar -ar -aW -ar -ar -ar -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +B +y +J +J +J +U +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (13,1,1) = {" -aY -ar -ar -ar -ar -Au -ar -ar -ar -ar -ax -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +J +J +J +s +J +J +J +J +k +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (14,1,1) = {" -aY -Vj -ah -ar -ar -au -au -ar -ar -ar -al -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +K +y +J +J +p +p +J +J +J +m +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (15,1,1) = {" -aY -ar -ar -ar -ar -iI -ar -ar -ar -ar -aA -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +J +J +J +t +J +J +J +J +L +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (16,1,1) = {" -aY -ar -lN -ar -ar -aN -aN -ar -ar -ar -ar -ar -aj -af -af -af -af -aV -aV -af -af -af -af -af -aY +a +J +C +J +J +e +e +J +J +J +J +J +P +i +i +i +i +X +X +i +i +i +i +i +a "} (17,1,1) = {" -aY -SA -ar -ar -ar -mV -ar -ar -ar -ar -ar -ar -aj -af -af -af -af -aV -aV -af -af -af -af -af -aY +a +G +J +J +J +F +J +J +J +J +J +J +P +i +i +i +i +X +X +i +i +i +i +i +a "} (18,1,1) = {" -aY -mh -SA -ar -ar -rk -rk -ar -ar -ar -ar -ar -aV -aV -aV -aV -aV -aV -aV -aV -aV -aV -af -af -aY +a +S +G +J +J +D +D +J +J +J +J +J +X +X +X +X +X +X +X +X +X +X +i +i +a "} (19,1,1) = {" -aY -ar -ar -ar -ar -EZ -ar -ar -ar -ar -ar -ar -aV -aV -aV -aV -aV -aV -aV -aV -aw -aV -af -af -aY +a +J +J +J +J +R +J +J +J +J +J +J +X +X +X +X +X +X +X +X +d +X +i +i +a "} (20,1,1) = {" -aY -ar -Dh -ar -ar -ar -ar -ar -ar -ar -ar -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +H +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (21,1,1) = {" -aY -ar -Gc -ar -ar -ar -ar -ar -ar -ar -ar -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +J +O +J +J +J +J +J +J +J +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (22,1,1) = {" -aY -wT -ar -ah -ar -ar -ar -ar -ar -aW -ar -ar -aj -af -af -af -af -af -af -af -af -af -af -af -aY +a +o +J +y +J +J +J +J +J +U +J +J +P +i +i +i +i +i +i +i +i +i +i +i +a "} (23,1,1) = {" -aY -ar -SA -ar -ar -ar -ar -ar -ar -ah -ar -ar -aj -af -af -af -af -af -af -af -af -af -aM -af -aY +a +J +G +J +J +J +J +J +J +y +J +J +P +i +i +i +i +i +i +i +i +i +Q +i +a "} (24,1,1) = {" -aY -ar -wR -ar -an -ar -ah -ar -ar -ar -ar -ar -aj -af -aM -af -af -af -af -af -af -af -af -af -aY +a +J +B +J +z +J +y +J +J +J +J +J +P +i +Q +i +i +i +i +i +i +i +i +i +a "} (25,1,1) = {" -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY -aY +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/virtual_domains/clown_planet.dmm b/_maps/virtual_domains/clown_planet.dmm index c51edebc14d0..5ec58519e402 100644 --- a/_maps/virtual_domains/clown_planet.dmm +++ b/_maps/virtual_domains/clown_planet.dmm @@ -7,15 +7,15 @@ /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "aI" = ( /obj/item/bikehorn/airhorn, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "aM" = ( /obj/item/bikehorn, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "aP" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -23,7 +23,7 @@ /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "ba" = ( /obj/structure/mecha_wreckage/honker, /obj/structure/disposalpipe/segment{ @@ -31,7 +31,7 @@ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "bi" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -39,19 +39,19 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "bp" = ( /turf/open/indestructible/light, -/area/virtual_domain) +/area/virtual_domain/powered) "bq" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "by" = ( /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59,26 +59,26 @@ }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "bR" = ( /obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/hope, /obj/effect/decal/cleanable/blood/old, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "bU" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "cw" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "cM" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -87,7 +87,7 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "cW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -95,21 +95,21 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "ed" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /obj/machinery/light/small/directional/west, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "eE" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "fh" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, @@ -118,7 +118,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "gr" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -128,23 +128,23 @@ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "gH" = ( /obj/item/bikehorn, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "gK" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "hK" = ( /obj/item/clothing/head/cone, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "hY" = ( /turf/template_noop, /area/template_noop) @@ -156,24 +156,24 @@ dir = 4 }, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "ik" = ( /turf/open/lava/smooth, -/area/virtual_domain) +/area/virtual_domain/powered) "iR" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ki" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "kn" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -181,7 +181,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "lj" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -190,14 +190,14 @@ dir = 8 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "lm" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/machinery/light/small/directional/east, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "lr" = ( /obj/item/bikehorn, /obj/effect/decal/cleanable/dirt, @@ -206,60 +206,60 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "lx" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "ly" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "lP" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "mD" = ( /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "mE" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "mF" = ( /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "nE" = ( /obj/effect/mapping_helpers/no_lava, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "oA" = ( /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "oI" = ( /obj/structure/table/glass, /obj/item/grown/bananapeel/bluespace, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "pl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "ps" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "qM" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 @@ -267,7 +267,7 @@ /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "rg" = ( /obj/item/coin/bananium, /obj/item/coin/bananium, @@ -275,19 +275,19 @@ /obj/item/coin/bananium, /obj/machinery/light/small/directional/west, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "rh" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "rr" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "rH" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 1; @@ -296,46 +296,46 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "rT" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "sq" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "sT" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, /obj/effect/mapping_helpers/mail_sorting/supply/qm_office, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "tq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "tt" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/indestructible/light, -/area/virtual_domain) +/area/virtual_domain/powered) "tv" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "tF" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "tI" = ( /obj/item/coin/bananium, /obj/item/coin/bananium, @@ -343,14 +343,14 @@ /obj/item/coin/bananium, /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "uX" = ( /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "uY" = ( /turf/closed/mineral/bananium, -/area/virtual_domain) +/area/virtual_domain/powered) "uZ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -360,12 +360,12 @@ /obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape, /obj/item/pen/fourcolor, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "wz" = ( /obj/machinery/light/small/directional/south, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "xt" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, @@ -374,17 +374,17 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "yz" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "yS" = ( /obj/structure/marker_beacon/yellow, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "yZ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -392,16 +392,16 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "zm" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "zA" = ( /obj/structure/statue/bananium/clown, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "zF" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -410,14 +410,14 @@ dir = 8 }, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "Aa" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Bi" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -426,7 +426,7 @@ /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Cp" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -434,7 +434,7 @@ }, /obj/machinery/light/small/directional/west, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "Cs" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -443,7 +443,10 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) +"Dh" = ( +/turf/closed/wall/r_wall, +/area/virtual_domain/powered) "Do" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -451,7 +454,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "DL" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -459,35 +462,35 @@ /obj/item/bikehorn, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Ex" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "FI" = ( /obj/item/reagent_containers/cup/glass/trophy/gold_cup, /obj/structure/table/glass, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "Gg" = ( /obj/structure/table/glass, /obj/item/gun/magic/staff/honk, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "Hq" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Hr" = ( /obj/structure/table/glass, /obj/item/clothing/shoes/clown_shoes/banana_shoes, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "HQ" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -495,10 +498,10 @@ /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Ie" = ( /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Iz" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -506,20 +509,20 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "IN" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "IY" = ( /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "Jv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "JB" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -528,28 +531,28 @@ /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Ka" = ( /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Kh" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "KG" = ( /obj/item/pickaxe, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "KI" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Lv" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -557,18 +560,18 @@ }, /obj/machinery/light/small/directional/east, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "Nv" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "NB" = ( /obj/machinery/disposal/delivery_chute, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "NL" = ( /obj/machinery/disposal/delivery_chute{ desc = "The following is engraved upon the chute: A FATE WORSE THAN DEATH LIES WITHIN"; @@ -578,12 +581,12 @@ /obj/structure/disposalpipe/trunk, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "NW" = ( /obj/structure/table/glass, /obj/item/reagent_containers/spray/waterflower/superlube, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "Ok" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -591,7 +594,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Ov" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -599,7 +602,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "PJ" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -607,10 +610,10 @@ }, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "PM" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "PQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -618,20 +621,20 @@ }, /obj/item/pickaxe, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "QP" = ( /turf/template_noop, /area/virtual_domain/safehouse) "QX" = ( /obj/structure/closet/crate/secure/bitrunning/encrypted, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "Rh" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "Rx" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -640,13 +643,13 @@ /obj/structure/table, /obj/item/flashlight/lamp/bananalamp, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "RU" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Sg" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -655,13 +658,13 @@ /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Sm" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "Tm" = ( /obj/effect/decal/cleanable/food/pie_smudge, /obj/structure/disposalpipe/segment{ @@ -669,13 +672,13 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "Tx" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "TH" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -684,60 +687,67 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "TK" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "Ug" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "UL" = ( /obj/effect/decal/cleanable/oil, /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "UN" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "UQ" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "UY" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) +"Vv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + invisibility = 101 + }, +/turf/closed/wall/r_wall, +/area/virtual_domain/powered) "Vx" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "VI" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "VQ" = ( /turf/open/floor/noslip, -/area/virtual_domain) +/area/virtual_domain/powered) "Ww" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -746,40 +756,40 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/virtual_domain/powered) "WB" = ( /obj/machinery/disposal/delivery_chute{ dir = 1 }, /obj/structure/disposalpipe/trunk, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "WT" = ( /obj/machinery/door/airlock/bananium, /turf/open/floor/carpet, -/area/virtual_domain) +/area/virtual_domain/powered) "WX" = ( /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "Xp" = ( /obj/machinery/light/directional/south, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "XB" = ( /obj/machinery/light/directional/north, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "Yb" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/virtual_domain/powered) "YP" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/virtual_domain/powered) "ZR" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -788,7 +798,7 @@ dir = 4 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" Ie @@ -891,13 +901,13 @@ Ie Ie Ie Ie -by -by -by -by -by -by -by +Dh +Dh +Dh +Dh +Dh +Dh +Dh Ie Ie Ie @@ -905,11 +915,11 @@ Ie Ie Ie Ie -by -by -by -by -by +Dh +Dh +Dh +Dh +Dh Ie Ie Ie @@ -935,29 +945,29 @@ Vx Ie Ie Ie -by -by -by +Dh +Dh +Dh ik ik ik ik ik -by -by +Dh +Dh Ie Ie Ie Ie Ie -by -by +Dh +Dh ik ik ik -by -by -by +Dh +Dh +Dh Ie Ie Ie @@ -980,8 +990,8 @@ Ie Vx Ie Ie -by -by +Dh +Dh ik ik ik @@ -990,21 +1000,21 @@ Sm Hq Sm ik -by -by +Dh +Dh Ie Ie Ie -by -by +Dh +Dh ik ik tq mD ik ik -by -by +Dh +Dh Ie Ie Ie @@ -1025,8 +1035,8 @@ Ie Ie Vx Ie -by -by +Dh +Dh ik ik IN @@ -1037,11 +1047,11 @@ yZ aP Sm ik -by -by -by -by -by +Dh +Dh +Dh +Dh +Dh Nv IY tq @@ -1050,8 +1060,8 @@ ik ik ik ik -by -by +Dh +Dh Ie Ie Vx @@ -1071,23 +1081,23 @@ Ie Ie Vx Ie -by +Dh ik ik -by +Dh Bi cw UQ lr UQ UY -KI +Vv ik -by +Dh IY Jv IY -by +Dh IY Jv Kh @@ -1097,7 +1107,7 @@ ik tq ik ik -by +Dh Ie Ie Vx @@ -1116,8 +1126,8 @@ hY Ie Ie Vx -by -by +Dh +Dh ik IN Tm @@ -1126,9 +1136,9 @@ Ww cw UQ Sm -KI -KI -by +Vv +Vv +Dh zm oA IY @@ -1139,12 +1149,12 @@ Jv IY IY IY -by +Dh ik mD ik -by -by +Dh +Dh Ie Vx hY @@ -1162,27 +1172,27 @@ hY Ie Ie Vx -by +Dh ik ik UN UQ UY Ww -KI +Vv TH -KI +Vv YP Cp uY -by +Dh sq oA IY -by -by +Dh +Dh Jv -by +Dh IY IY IY @@ -1190,7 +1200,7 @@ tq ik ik ik -by +Dh Ie Vx Ie @@ -1208,7 +1218,7 @@ tF Ie Ie Vx -by +Dh ik IN UQ @@ -1216,14 +1226,14 @@ UQ yZ Do Do -KI +Vv YP YP YP KG uY -by -by +Dh +Dh oA IY IY @@ -1233,10 +1243,10 @@ IY gH Jv Xp -by +Dh ik ik -by +Dh by KI by @@ -1254,15 +1264,15 @@ Ie Ie Ie Vx -by +Dh ik yz fh UQ UY -KI +Vv Ww -KI +Vv YP YP tt @@ -1272,7 +1282,7 @@ oA oA oA IY -by +Dh IY IY Jv @@ -1282,7 +1292,7 @@ IY ik tq ik -by +Dh by iR PM @@ -1300,7 +1310,7 @@ Ie Ie Ie Vx -by +Dh ik Hq TK @@ -1308,18 +1318,18 @@ qM yZ Ww Ww -KI +Vv YP PQ tt bp uY -by +Dh oA oA IY IY -by +Dh IY IY IY @@ -1346,7 +1356,7 @@ Ie Ie Ie Vx -by +Dh ik UN UQ @@ -1355,20 +1365,20 @@ DL Ww yz lx -KI +Vv YP Lv WX -by -by +Dh +Dh oA IY IY -by -by +Dh +Dh IY IY -by +Dh IY Jv ik @@ -1390,8 +1400,8 @@ Ie "} (14,1,1) = {" Ie -by -KI +Dh +Vv nE nE mD @@ -1402,17 +1412,17 @@ Ex Tm UQ lx -KI -KI +Vv +Vv ps TK Sm -by -by -by +Dh +Dh +Dh zA rg -by +Dh XB IY Jv @@ -1436,11 +1446,11 @@ Ie "} (15,1,1) = {" Ie -by +Dh ij hK nE -by +Dh yz UQ UQ @@ -1453,13 +1463,13 @@ Do Iz kn Ww -by -by +Dh +Dh FI mF mF mF -by +Dh IY Jv Jv @@ -1482,7 +1492,7 @@ Ie "} (16,1,1) = {" Ie -by +Dh VQ uX NL @@ -1500,13 +1510,13 @@ pl Do Ex UY -by +Dh Ug oI NW mF -by -by +Dh +Dh Jv IY IY @@ -1528,11 +1538,11 @@ Ie "} (17,1,1) = {" Ie -by +Dh VQ bR wz -by +Dh Hq UQ Sm @@ -1555,7 +1565,7 @@ WT IY Jv IY -by +Dh ik tq ik @@ -1574,7 +1584,7 @@ Ie "} (18,1,1) = {" Ie -by +Dh VQ uX PJ @@ -1583,7 +1593,7 @@ sT kn Do Do -KI +Vv Do Ov UQ @@ -1592,12 +1602,12 @@ Ok mE rH pl -by +Dh mF Hr Gg mF -by +Dh IY IY IY @@ -1620,12 +1630,12 @@ Ie "} (19,1,1) = {" Ie -by +Dh zF uX nE -by -by +Dh +Dh Ww Ww Ww @@ -1636,14 +1646,14 @@ lP Ex UY Ka -KI +Vv tv -by +Dh FI mF mF QX -by +Dh IY IY IY @@ -1666,29 +1676,29 @@ Ie "} (20,1,1) = {" Ie -by -KI +Dh +Vv nE nE ik -by +Dh Ww Ww Cs Do Do -KI -by -by +Vv +Dh +Dh bQ -by +Dh ba -by +Dh IY -by +Dh zA tI -by +Dh XB IY Jv @@ -1714,26 +1724,26 @@ Ie Ie Ie Vx -by +Dh ik -by -by +Dh +Dh Do Do Do Ww Do -KI +Vv rh ed gK -by +Dh UL Sm IY IY -by -by +Dh +Dh Kh IY IY @@ -1760,26 +1770,26 @@ Ie Ie Ie Vx -by +Dh ik -by -by +Dh +Dh JB Sg -KI +Vv Ww -KI +Vv uZ YP bp bp uY -by +Dh bQ oA IY IY -by +Dh IY Jv IY @@ -1806,15 +1816,15 @@ Ie Ie Ie Vx -by +Dh ik cM eE lx -KI +Vv ki Ww -KI +Vv Rx YP bp @@ -1822,7 +1832,7 @@ bp WB TK Aa -by +Dh IY IY Jv @@ -1831,10 +1841,10 @@ Jv IY aM Xp -by +Dh tq ik -by +Dh by iR PM @@ -1852,10 +1862,10 @@ Ie Ie Ie Vx -by +Dh ik -by -by +Dh +Dh lP Do Do @@ -1866,7 +1876,7 @@ bq Rh WX uY -by +Dh oA oA IY @@ -1875,12 +1885,12 @@ Jv Jv IY IY -by -by +Dh +Dh ik mD ik -by +Dh by KI by @@ -1898,20 +1908,20 @@ Ie Ie Ie Vx -by +Dh ik -by -by +Dh +Dh pl Do -KI +Vv Do -KI -KI +Vv +Vv rh lm uY -by +Dh sq oA IY @@ -1919,14 +1929,14 @@ IY IY IY IY -by +Dh IY IY ik mD ik ik -by +Dh Ie Vx Ie @@ -1944,19 +1954,19 @@ Ie Ie Ie Vx -by +Dh ik ik -by +Dh yd Do Do Do Ex lx -KI -by -by +Vv +Dh +Dh oA oA IY @@ -1967,12 +1977,12 @@ aM IY IY IY -by +Dh ik tq ik -by -by +Dh +Dh Ie Vx hY @@ -1990,34 +2000,34 @@ hY Ie Ie Vx -by -by +Dh +Dh ik -by -by +Dh +Dh Ex lx HQ UQ UQ bU -by +Dh ik -by +Dh Yb IY IY -by +Dh IY IY -by +Dh IY IY ik mD ik ik -by +Dh Ie Ie Vx @@ -2037,23 +2047,23 @@ Ie Ie Vx Ie -by -by +Dh +Dh ik ik -by +Dh mD -by +Dh Ka lP mD -by +Dh ik -by -by -by -by -by +Dh +Dh +Dh +Dh +Dh IY IY IY @@ -2062,8 +2072,8 @@ ik ik ik ik -by -by +Dh +Dh Ie Ie Vx @@ -2084,31 +2094,31 @@ Ie Vx Ie Ie -by -by +Dh +Dh ik ik ik tq tq tq -by +Dh ik -by -by +Dh +Dh Ie Ie Ie -by -by +Dh +Dh ik ik mD tq ik ik -by -by +Dh +Dh Ie Ie Ie @@ -2131,29 +2141,29 @@ Vx Ie Ie Ie -by -by -by +Dh +Dh +Dh ik ik ik ik ik -by -by +Dh +Dh Ie Ie Ie Ie Ie -by -by +Dh +Dh ik ik ik -by -by -by +Dh +Dh +Dh Ie Ie Ie @@ -2179,13 +2189,13 @@ Ie Ie Ie Ie -by -by -by -by -by -by -by +Dh +Dh +Dh +Dh +Dh +Dh +Dh Ie Ie Ie @@ -2193,11 +2203,11 @@ Ie Ie Ie Ie -by -by -by -by -by +Dh +Dh +Dh +Dh +Dh Ie Ie Ie diff --git a/_maps/virtual_domains/legion.dmm b/_maps/virtual_domains/legion.dmm new file mode 100644 index 000000000000..55843177ad0f --- /dev/null +++ b/_maps/virtual_domains/legion.dmm @@ -0,0 +1,6370 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ah" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"ak" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"aI" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"aR" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"bd" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"be" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"bt" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"bu" = ( +/obj/structure/marker_beacon/bronze, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"ca" = ( +/obj/effect/mob_spawn/corpse/human/legioninfested, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"cf" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"cp" = ( +/turf/template_noop, +/area/template_noop) +"dm" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"dn" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/effect/mob_spawn/corpse/human/legioninfested, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"dr" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/block/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"dx" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"dL" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"dQ" = ( +/turf/closed/wall/mineral/titanium/survival/pod, +/area/lavaland/surface/outdoors/virtual_domain) +"et" = ( +/obj/structure/stone_tile/block/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ew" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"eJ" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"fA" = ( +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"fG" = ( +/obj/structure/marker_beacon/violet, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"gh" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"gk" = ( +/obj/structure/necropolis_gate/locked, +/obj/structure/stone_tile/slab, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"gK" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"gQ" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"hc" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"hw" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"hx" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"hU" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ib" = ( +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ie" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"iP" = ( +/obj/structure/fluff/drake_statue/falling, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"iR" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"iV" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"jk" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"jt" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"jw" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"jN" = ( +/obj/machinery/sleeper/survival_pod, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"ka" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"kg" = ( +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"kT" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"kZ" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ll" = ( +/obj/structure/stone_tile/cracked, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"lz" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"lC" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"lO" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"lT" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"mz" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"mG" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"nm" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"nu" = ( +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"nv" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ny" = ( +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"nI" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"nO" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ob" = ( +/obj/structure/necropolis_gate/legion_gate, +/obj/structure/necropolis_arch, +/obj/structure/stone_tile/slab, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"og" = ( +/obj/effect/landmark/bitrunning/safehouse_spawn, +/turf/template_noop, +/area/virtual_domain/safehouse) +"oo" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"ox" = ( +/turf/closed/indestructible/binary, +/area/lavaland/surface/outdoors/virtual_domain) +"oS" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"pP" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"qo" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"qs" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"qW" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/door/airlock/survival_pod/glass, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"rt" = ( +/obj/effect/mob_spawn/corpse/human/miner, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"rU" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"sd" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"sk" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"sz" = ( +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"sA" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"tk" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"tF" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"uK" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"vf" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"wq" = ( +/obj/structure/marker_beacon/teal, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"wy" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"xd" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"xm" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"xw" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"xD" = ( +/obj/structure/stone_tile/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"yu" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/block, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"yZ" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"zg" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/virtual_domain/powered) +"zo" = ( +/obj/effect/turf_decal/mining/survival, +/turf/closed/wall/mineral/titanium/survival/pod, +/area/lavaland/surface/outdoors/virtual_domain) +"zW" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Ah" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/lavaland/surface/outdoors/virtual_domain) +"Aj" = ( +/obj/structure/marker_beacon/burgundy, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Ak" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"As" = ( +/obj/structure/marker_beacon/cerulean, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"AY" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Bo" = ( +/obj/structure/marker_beacon/indigo, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"BO" = ( +/turf/template_noop, +/area/virtual_domain/safehouse) +"CX" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Dm" = ( +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors/virtual_domain) +"DP" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Ek" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Ep" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Ez" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"EC" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Fg" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 6 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Fp" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/template_noop, +/area/virtual_domain/safehouse) +"Fq" = ( +/obj/structure/marker_beacon/fuchsia, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"FV" = ( +/obj/structure/stone_tile/block, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Gj" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Gn" = ( +/turf/closed/indestructible/riveted/boss/see_through, +/area/lavaland/surface/outdoors/virtual_domain) +"Go" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"GH" = ( +/obj/structure/fans, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"GM" = ( +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Hi" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Hu" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Hw" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"HK" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"HQ" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"HZ" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Ii" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Io" = ( +/obj/structure/marker_beacon/jade, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Ip" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"IB" = ( +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"IG" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"IL" = ( +/obj/structure/stone_tile/surrounding, +/obj/structure/stone_tile/center/cracked, +/mob/living/simple_animal/hostile/megafauna/legion/virtual_domain, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"IQ" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Jc" = ( +/obj/structure/stone_tile/slab, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Jp" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Jt" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Jw" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"JD" = ( +/obj/structure/fluff/drake_statue, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"KG" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Le" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Lx" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"LH" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Ml" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Mm" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Mo" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"MH" = ( +/obj/structure/stone_tile/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"MP" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"MW" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Nl" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Ot" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Pv" = ( +/obj/effect/turf_decal/mining/survival{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium/survival/pod, +/area/lavaland/surface/outdoors/virtual_domain) +"Px" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"PO" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Qi" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Qx" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/marker_beacon/burgundy, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"QD" = ( +/obj/item/pickaxe, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"RC" = ( +/obj/effect/turf_decal/mining/survival{ + dir = 1 + }, +/turf/closed/wall/mineral/titanium/survival/pod, +/area/lavaland/surface/outdoors/virtual_domain) +"RV" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"So" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Sw" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"SI" = ( +/obj/effect/turf_decal/mining, +/turf/closed/wall/mineral/titanium/survival/pod, +/area/lavaland/surface/outdoors/virtual_domain) +"SJ" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"SX" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Ti" = ( +/turf/closed/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors/virtual_domain) +"Tm" = ( +/obj/structure/bed/pod, +/obj/item/bedsheet/black, +/obj/structure/tubes, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"TC" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"TJ" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Ud" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/virtual_domain/powered) +"UD" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"UM" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Vc" = ( +/obj/structure/tubes, +/obj/item/crowbar, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"VI" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Wa" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Wm" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"WM" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"WR" = ( +/obj/structure/stone_tile/block, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"WS" = ( +/obj/item/gps/computer, +/obj/structure/tubes, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"Xb" = ( +/obj/structure/marker_beacon/yellow, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Xn" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Xo" = ( +/obj/structure/stone_tile/block, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Xv" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"XO" = ( +/obj/effect/turf_decal/mining/survival{ + dir = 8 + }, +/turf/closed/wall/mineral/titanium/survival/pod, +/area/lavaland/surface/outdoors/virtual_domain) +"Yu" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"YN" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"YV" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Zc" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Zh" = ( +/obj/structure/marker_beacon/purple, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) +"Zj" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"Zq" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/lavaland/surface/outdoors/virtual_domain) +"Zu" = ( +/obj/machinery/smartfridge/survival_pod{ + desc = "A heated storage unit. This one's seen better days."; + name = "dusty survival pod storage" + }, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) +"ZM" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) +"ZN" = ( +/obj/structure/table/survival_pod, +/obj/item/knife/combat/survival, +/turf/open/floor/pod/dark, +/area/lavaland/surface/outdoors/virtual_domain) + +(1,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +Ah +"} +(2,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ox +"} +(3,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +ib +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ib +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(4,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(5,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(6,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +wq +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(7,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(8,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +nu +nu +nu +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +rt +nu +nu +ib +ib +ox +"} +(9,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +nu +nu +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(10,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ib +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(11,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(12,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +fA +nu +nu +nu +nu +ib +ox +"} +(13,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +fG +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +fA +nu +nu +nu +nu +ib +ox +"} +(14,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +nu +nu +nu +nu +ib +ox +"} +(15,1,1) = {" +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(16,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +nu +nu +nu +nu +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(17,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +Ti +Ti +Ti +GM +nu +nu +nu +nu +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +Io +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +Xb +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(18,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +et +Ti +GM +GM +GM +nu +nu +nu +nu +GM +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(19,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +nu +nu +nu +nu +nu +nu +nu +nu +GM +GM +GM +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +wq +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(20,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +nu +nu +nu +nu +nu +nu +nu +nu +GM +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(21,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +nu +nu +nu +nu +GM +Ti +GM +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +Zh +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(22,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +FV +nu +nu +nu +nu +Ti +Dm +Dm +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(23,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +GM +GM +GM +Ti +Ti +Dm +Dm +Ti +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(24,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +FV +Ml +Ti +Dm +Dm +Ti +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(25,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +GM +Ti +Dm +Dm +IB +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +GM +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(26,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +GM +GM +GM +GM +GM +fA +fA +fA +fA +RV +fA +fA +fA +fA +fA +fA +Xn +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +As +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(27,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ek +Le +be +be +kT +GM +GM +GM +GM +fA +fA +xm +fA +fA +fA +GM +ZM +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(28,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +dr +KG +mz +KG +KG +jt +GM +GM +GM +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +HZ +nu +bu +nu +nu +nu +MH +nu +nu +lz +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(29,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +bd +mG +Hw +hU +Mm +lO +et +GM +tk +fA +fA +fA +fA +ak +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +YV +nu +nu +So +nu +nu +nu +nu +nu +nu +bu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(30,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ez +WR +JD +rU +KG +dm +GM +GM +fA +Hi +fA +fA +fA +ll +fA +fA +Wm +fA +fA +YV +qs +MH +nu +nu +nu +ny +ca +oS +nu +nu +Qx +nu +nu +hx +nu +nu +nu +nu +nu +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(31,1,1) = {" +ox +kg +kg +kg +Hu +Zq +wy +Zq +lT +kg +kg +Gn +Gn +KG +Ak +nv +Ot +mG +hw +kg +kg +Wm +fA +fA +fA +fA +fA +fA +fA +fA +fA +ak +nu +nu +qs +nu +nu +TC +nu +YV +nu +ny +nu +oS +nu +nu +nu +SX +nu +nu +nu +zg +BO +BO +BO +BO +BO +og +Ud +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(32,1,1) = {" +ox +kg +kg +Gn +VI +xw +gQ +ka +iR +kg +kg +Gn +Gn +sz +KG +KG +KG +KG +mz +kg +kZ +kZ +sd +kZ +lC +kZ +TJ +UM +kZ +IQ +UM +UM +AY +nu +nI +nu +nu +nu +nu +oS +nu +nu +nu +nu +nu +qs +nu +nu +nu +nu +nu +nu +BO +BO +BO +BO +BO +BO +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(33,1,1) = {" +ox +PO +PO +gk +PO +Zc +IL +Yu +SJ +Yu +Yu +Yu +ob +dL +uK +MP +uK +uK +dL +Jc +Mo +eJ +Mo +hc +yu +eJ +Fg +eJ +YN +tF +Mo +Zj +HQ +qo +Jp +nu +aR +nu +TC +nu +YV +nu +nu +oS +nu +nu +ny +Sw +nu +nu +nu +nu +BO +BO +BO +BO +BO +BO +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +Io +ib +ib +nu +nu +ib +ox +"} +(34,1,1) = {" +ox +kg +kg +Gn +Nl +gh +jw +lT +oo +kg +kg +Gn +Gn +Wa +KG +xd +Ez +mz +HK +kg +ie +Jw +Jw +jk +Jw +jk +dn +Jw +Jw +LH +Ii +Qi +aI +nu +Xo +nu +nu +YV +Sw +nu +nu +nu +sA +nu +Gj +nu +nu +HZ +nu +YV +nu +nu +BO +BO +BO +BO +BO +BO +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(35,1,1) = {" +ox +kg +kg +kg +Hu +Ep +iV +Go +Ip +kg +kg +Gn +Gn +lO +nO +hU +UD +KG +dm +kg +kg +ll +fA +fA +fA +ak +fA +fA +fA +fA +ll +fA +nu +nu +ny +nu +nu +Aj +HZ +nu +ew +nu +nu +bu +nu +nu +nu +nu +nu +Aj +nu +nu +BO +BO +BO +BO +BO +BO +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(36,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +KG +WR +iP +rU +Ez +cf +GM +GM +fA +fA +yZ +vf +ll +fA +fA +fA +ak +fA +fA +oS +ny +qs +YV +qs +nu +nu +nu +nu +nu +nu +Sw +nu +qs +oS +nu +nu +Sw +nu +nu +BO +BO +BO +BO +BO +BO +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +ib +ox +"} +(37,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +bd +xd +zW +nv +DP +KG +FV +GM +GM +fA +fA +fA +GM +Px +fA +IG +GM +Hi +fA +fA +nu +nu +nu +nu +TC +nu +ah +nu +nu +nm +nu +nu +nu +nu +nu +nu +sk +nu +nu +zg +BO +BO +BO +BO +BO +Fp +Ud +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +nu +nu +ib +ox +"} +(38,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +bd +KG +KG +KG +lO +Jc +GM +GM +GM +fA +fA +fA +fA +fA +fA +GM +Jt +fA +fA +fA +nu +TC +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(39,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ek +KG +lO +MW +pP +GM +GM +GM +GM +fA +fA +fA +fA +fA +fA +fA +xD +fA +fA +fA +oS +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(40,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +IB +nu +nu +nu +nu +GM +RV +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(41,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +nu +nu +Sw +Xv +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +GM +GM +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(42,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +nu +nu +nu +ny +GM +fA +fA +fA +fA +fA +fA +fA +fA +fA +EC +GM +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +Bo +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(43,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +WM +GM +Px +ny +nu +nu +nu +nu +nu +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(44,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +GM +GM +nu +nu +nu +nu +nu +nu +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(45,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +GM +GM +GM +nu +nu +nu +nu +nu +nu +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(46,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +GM +GM +nu +nu +nu +nu +nu +nu +fA +fA +ak +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +wq +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +ib +ox +"} +(47,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +GM +nu +nu +nu +nu +nu +nu +fA +fA +fA +xD +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +ib +ox +"} +(48,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +GM +nu +nu +nu +nu +nu +nu +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +ib +ox +"} +(49,1,1) = {" +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +Ti +GM +nu +nu +nu +nu +nu +nu +fA +fA +fA +GM +fA +fA +fA +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +Fq +nu +ib +ib +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +ib +ox +"} +(50,1,1) = {" +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +kg +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +rt +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(51,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +dQ +dQ +XO +dQ +dQ +GM +nu +nu +nu +ib +ox +"} +(52,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +Fq +nu +nu +nu +nu +nu +nu +nu +nu +nu +dQ +GH +jN +ZN +zo +GM +nu +nu +nu +ib +ox +"} +(53,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +RC +Zu +QD +bt +qW +CX +nu +nu +nu +ib +ox +"} +(54,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +dQ +WS +Tm +Vc +SI +Lx +nu +nu +nu +ib +ox +"} +(55,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +dQ +dQ +Pv +dQ +dQ +Lx +nu +nu +nu +ib +ox +"} +(56,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +nu +fA +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +GM +GM +GM +GM +dx +gK +nu +nu +nu +ib +ox +"} +(57,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +Io +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(58,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(59,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +ox +"} +(60,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +fA +fA +fA +fA +nu +nu +nu +nu +nu +nu +Xb +nu +nu +nu +ib +ox +"} +(61,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +nu +nu +ib +ox +"} +(62,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +nu +ib +ox +"} +(63,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +nu +nu +nu +ib +ib +ib +nu +nu +nu +nu +nu +ib +ib +nu +nu +nu +nu +ib +ib +ib +nu +nu +nu +nu +nu +nu +nu +nu +ib +ib +nu +nu +nu +nu +ib +ib +ox +"} +(64,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ib +ox +"} +(65,1,1) = {" +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +cp +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +ox +"} diff --git a/_maps/virtual_domains/pipedream.dmm b/_maps/virtual_domains/pipedream.dmm index a9908fd766bd..9a706f613e88 100644 --- a/_maps/virtual_domains/pipedream.dmm +++ b/_maps/virtual_domains/pipedream.dmm @@ -4,13 +4,13 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "aw" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "ax" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/frame/computer{ @@ -21,42 +21,42 @@ icon_state = "medium" }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "aK" = ( /turf/open/space/basic, -/area/virtual_domain) +/area/space) "aL" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "bq" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "bs" = ( /turf/open/floor/carpet/orange, -/area/virtual_domain) +/area/virtual_domain/powered) "bw" = ( /obj/structure/disposalpipe/broken{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "bx" = ( /obj/structure/frame/computer, /obj/item/shard, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-12" }, -/area/virtual_domain) +/area/virtual_domain/powered) "bA" = ( /obj/structure/chair/plastic, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "bS" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -71,7 +71,7 @@ pixel_y = -2 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "cw" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 9 @@ -80,7 +80,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "cB" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 10 @@ -90,18 +90,18 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "cF" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "dx" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/item/shard, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "dz" = ( /obj/machinery/light/broken, /obj/effect/decal/cleanable/dirt, @@ -110,26 +110,22 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "dA" = ( /obj/machinery/light/dim{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "dP" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) -"eb" = ( -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "eg" = ( /turf/closed/wall, -/area/virtual_domain) +/area/virtual_domain/powered) "ei" = ( /obj/machinery/conveyor/auto{ dir = 6; @@ -140,17 +136,17 @@ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "ev" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, -/area/virtual_domain) +/area/virtual_domain/safehouse) "eJ" = ( /obj/structure/disposalpipe/sorting{ dir = 2 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "eN" = ( /obj/effect/turf_decal/trimline/yellow/arrow_cw{ dir = 1 @@ -160,38 +156,38 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "eY" = ( /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/virtual_domain/powered) "fe" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, /obj/structure/table/reinforced, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "fg" = ( /turf/open/floor/iron/stairs/left{ dir = 8 }, -/area/virtual_domain) +/area/virtual_domain/powered) "fl" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "fw" = ( /obj/structure/door_assembly/door_assembly_eng, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "fK" = ( /obj/structure/chair/stool/bar/directional/west, /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "fR" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 @@ -201,53 +197,52 @@ }, /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "fZ" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "gc" = ( /obj/structure/disposalpipe/broken, -/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "gj" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "gs" = ( /obj/machinery/door/airlock/external/glass/ruin, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "gN" = ( /obj/structure/disposalpipe/sorting{ dir = 8 }, /turf/open/floor/catwalk_floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "gV" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "hg" = ( /obj/effect/turf_decal/caution{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "hi" = ( /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "hk" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/effect/decal/cleanable/dirt/dust, @@ -255,20 +250,20 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "ho" = ( /obj/effect/turf_decal/siding/white{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "iw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "iI" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 8 @@ -276,7 +271,7 @@ /obj/effect/turf_decal/trimline/yellow/corner, /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "jv" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 @@ -285,53 +280,53 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "jw" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "jH" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/catwalk_floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "jQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/red/dim{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "jS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "jW" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "kh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "ki" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "kn" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "kJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -341,54 +336,61 @@ id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "kU" = ( /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "lp" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) +"lt" = ( +/obj/structure/disposalpipe/sorting{ + dir = 8 + }, +/mob/living/basic/hivebot/range, +/turf/open/floor/plating, +/area/virtual_domain/powered) "lx" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 4; id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "lB" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 5 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "lC" = ( /obj/machinery/door/airlock/glass, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "lI" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "lN" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "lW" = ( /obj/structure/disposalpipe/sorting{ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "mu" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "mE" = ( /obj/machinery/door/airlock/maintenance, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "mY" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -397,27 +399,23 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "nD" = ( /obj/structure/disposalpipe/trunk/multiz, /turf/open/floor/plating, -/area/virtual_domain) -"nH" = ( -/obj/structure/disposalpipe/broken, -/turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "nL" = ( /obj/effect/turf_decal/tile/dark/half, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "nS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "op" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/dim{ @@ -425,35 +423,35 @@ }, /obj/structure/sign/warning/doors/directional/north, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "oN" = ( /obj/machinery/conveyor/auto, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "pa" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /turf/open/floor/carpet/orange, -/area/virtual_domain) +/area/virtual_domain/powered) "pi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "po" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/maint, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "pI" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/machinery/light/small/red/dim{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "qc" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 @@ -461,18 +459,18 @@ /obj/structure/table/reinforced, /obj/effect/spawner/random/bureaucracy/briefcase, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "qk" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "qK" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "qN" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -480,7 +478,7 @@ /obj/effect/mob_spawn/corpse/human/factory, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "qT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -489,13 +487,13 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "qV" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "qW" = ( /obj/machinery/light/dim{ dir = 1 @@ -504,44 +502,45 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "rc" = ( /obj/structure/disposalpipe/segment, /obj/structure/sign/poster/contraband/random/directional/north, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "rz" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /obj/machinery/light/small/red/dim, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "rG" = ( /obj/machinery/light/dim, /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "rJ" = ( /obj/structure/railing, /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "rM" = ( /obj/structure/disposalpipe/broken{ dir = 1 }, +/mob/living/basic/hivebot/strong, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "rO" = ( /turf/closed/mineral, -/area/virtual_domain) +/area/space) "sn" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-38" }, -/area/virtual_domain) +/area/virtual_domain/powered) "sB" = ( /obj/machinery/light/broken{ dir = 8 @@ -551,7 +550,7 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "sW" = ( /obj/effect/decal/cleanable/oil/streak, /obj/effect/turf_decal/trimline/yellow/corner{ @@ -563,52 +562,57 @@ /obj/effect/decal/cleanable/blood/drip, /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "tl" = ( /obj/machinery/door/poddoor/shutters/indestructible{ id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "tr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) +"tE" = ( +/obj/structure/disposalpipe/segment, +/mob/living/basic/hivebot/range, +/turf/open/floor/iron, +/area/virtual_domain/powered) "ud" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-110" }, -/area/virtual_domain) +/area/virtual_domain/powered) "uk" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/decal/cleanable/blood/splatter/over_window, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "um" = ( /obj/machinery/light/dim{ dir = 1 }, /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "uz" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "uC" = ( /obj/structure/falsewall, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "uF" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "uP" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-55" }, -/area/virtual_domain) +/area/virtual_domain/powered) "vb" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -616,7 +620,7 @@ }, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "ve" = ( /obj/machinery/mass_driver/trash{ dir = 1 @@ -625,50 +629,50 @@ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "vA" = ( /obj/structure/closet/crate/maint, /obj/effect/turf_decal/stripes{ dir = 9 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "vL" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "vQ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "vU" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "wg" = ( /obj/machinery/light/small/red/dim{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "wh" = ( /obj/structure/table/wood, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-207" }, -/area/virtual_domain) +/area/virtual_domain/powered) "wl" = ( /obj/item/shard, /turf/open/space/basic, -/area/virtual_domain) +/area/space) "wm" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, /obj/structure/sign/clock/directional/north, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "wq" = ( /obj/structure/table/wood, /obj/machinery/button/door{ @@ -678,7 +682,7 @@ /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-63" }, -/area/virtual_domain) +/area/virtual_domain/powered) "ws" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 @@ -687,49 +691,50 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "ww" = ( /obj/effect/turf_decal/stripes{ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/mob/living/basic/hivebot, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "wU" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "wW" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "xa" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 8; id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "xk" = ( /obj/machinery/light/dim{ dir = 4 }, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "xl" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "xA" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "xE" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -737,11 +742,11 @@ }, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "xF" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/powered) "xM" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -751,28 +756,28 @@ name = "cat bed" }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "xT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "yB" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/welded, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "yM" = ( /turf/closed/indestructible/fakedoor{ name = "Stairwell Access" }, -/area/virtual_domain) +/area/virtual_domain/powered) "yQ" = ( /turf/template_noop, /area/template_noop) "yX" = ( /obj/structure/fans/tiny, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "zp" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 @@ -780,13 +785,13 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/broken, /turf/open/floor/carpet/orange, -/area/virtual_domain) +/area/virtual_domain/powered) "zB" = ( /obj/structure/closet/crate/bin, /obj/item/trash/tray, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "zE" = ( /obj/structure/disposalpipe/broken{ dir = 1 @@ -795,7 +800,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "zO" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -803,23 +808,30 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Av" = ( /obj/item/stack/rods/two, /turf/open/space/basic, -/area/virtual_domain) +/area/space) +"Aw" = ( +/obj/structure/lattice/catwalk{ + name = "industrial lift" + }, +/mob/living/basic/hivebot/rapid, +/turf/open/chasm, +/area/virtual_domain/powered) "AJ" = ( /obj/effect/decal/cleanable/generic, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "AP" = ( /obj/structure/railing, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "AU" = ( /turf/open/misc/asteroid/airless, -/area/virtual_domain) +/area/space) "Bd" = ( /obj/structure/closet/secure_closet/tac{ req_access = null @@ -828,7 +840,7 @@ /obj/item/ammo_casing/shotgun/buckshot, /obj/item/ammo_casing/shotgun/buckshot, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Bx" = ( /obj/structure/table/reinforced, /obj/machinery/microwave{ @@ -836,7 +848,7 @@ desc = "No longer cooks and boils stuff." }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "BI" = ( /obj/machinery/door/airlock/command/glass{ name = "Quartermaster's Office" @@ -849,28 +861,28 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "BN" = ( /obj/structure/flora/rock/pile/style_random, /turf/open/misc/asteroid/airless, -/area/virtual_domain) +/area/space) "BW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "BX" = ( /obj/effect/decal/cleanable/robot_debris/old, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Ci" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Ct" = ( /obj/machinery/conveyor/auto{ dir = 6 @@ -881,7 +893,7 @@ /obj/structure/sign/warning/vacuum/directional/north, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Cv" = ( /obj/structure/chair/office{ dir = 8 @@ -889,19 +901,23 @@ /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-157" }, -/area/virtual_domain) +/area/virtual_domain/powered) "CQ" = ( /obj/effect/spawner/random/trash/botanical_waste, /obj/item/trash/chips, /obj/structure/closet/secure_closet/freezer/empty/open, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) +"CR" = ( +/obj/structure/flora/rock/pile/style_random, +/turf/open/misc/asteroid/airless, +/area/virtual_domain/powered) "CX" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Dr" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -910,37 +926,37 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "DA" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "DE" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "DP" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/food_or_drink/snack, /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "Ex" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-137" }, -/area/virtual_domain) +/area/virtual_domain/powered) "Ez" = ( /obj/structure/flora/rock/style_random, /turf/open/misc/asteroid/airless, -/area/virtual_domain) +/area/space) "EI" = ( /obj/effect/turf_decal/stripes{ dir = 8 }, /obj/effect/decal/cleanable/oil, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "EJ" = ( /obj/machinery/recycler/deathtrap{ dir = 8 @@ -950,23 +966,23 @@ }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Fa" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/maint, /obj/effect/turf_decal/delivery, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Ff" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Fo" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "Fw" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/rock/pile/style_random, @@ -974,31 +990,34 @@ /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/grass, -/area/virtual_domain) +/area/virtual_domain/powered) "FK" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) +"FO" = ( +/turf/open/misc/asteroid/airless, +/area/virtual_domain/powered) "FP" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-110" }, -/area/virtual_domain) +/area/virtual_domain/powered) "Gb" = ( /obj/effect/turf_decal/stripes{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Ge" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-21" }, -/area/virtual_domain) +/area/virtual_domain/powered) "Gh" = ( /obj/machinery/door/airlock/maintenance, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Gi" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 @@ -1006,7 +1025,7 @@ /obj/effect/turf_decal/trimline/yellow/corner, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Gs" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1015,7 +1034,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Gy" = ( /obj/machinery/conveyor/auto{ dir = 9; @@ -1025,11 +1044,11 @@ /obj/effect/turf_decal/stripes/line, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "GI" = ( /obj/effect/turf_decal/trimline/yellow/arrow_ccw, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "GV" = ( /obj/machinery/light/small/red/dim{ dir = 8 @@ -1039,52 +1058,52 @@ }, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Hn" = ( /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "Ib" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 }, /turf/open/floor/carpet/orange, -/area/virtual_domain) +/area/virtual_domain/powered) "Ip" = ( /obj/machinery/door/airlock/engineering/glass, /obj/effect/mapping_helpers/airlock/access/any/away/supply, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Is" = ( /obj/machinery/door/airlock/engineering/glass, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "IF" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "IK" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "IZ" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /obj/structure/closet/crate, /turf/open/chasm, -/area/virtual_domain) +/area/virtual_domain/powered) "Jl" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Jm" = ( /obj/machinery/light/dim, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Jn" = ( /obj/effect/turf_decal/stripes{ dir = 4 @@ -1092,55 +1111,55 @@ /obj/structure/disposalpipe/segment, /obj/structure/sign/warning/doors/directional/east, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Jq" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "JE" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/structure/sign/warning/chem_diamond/directional/west, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "JR" = ( /turf/template_noop, -/area/virtual_domain) +/area/virtual_domain/safehouse) "JT" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /obj/effect/spawner/random/trash/grime, /turf/open/chasm, -/area/virtual_domain) +/area/virtual_domain/powered) "Kb" = ( /obj/effect/mob_spawn/corpse/human/factory/guard, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Kt" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "KX" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /turf/open/chasm, -/area/virtual_domain) +/area/virtual_domain/powered) "Ln" = ( /obj/structure/disposalpipe/broken{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Lp" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "LN" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -1152,7 +1171,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "LU" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 6 @@ -1160,13 +1179,12 @@ /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, -/obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Mc" = ( /obj/effect/turf_decal/trimline/yellow/warning, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Mh" = ( /obj/machinery/conveyor/auto{ dir = 8 @@ -1175,11 +1193,14 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Mi" = ( /obj/effect/mob_spawn/corpse/human/factory, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) +"Mj" = ( +/turf/closed/mineral, +/area/virtual_domain/powered) "Mu" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -1188,14 +1209,14 @@ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Mx" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, /obj/structure/filingcabinet, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "My" = ( /obj/machinery/conveyor/auto{ dir = 1 @@ -1204,12 +1225,12 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "MI" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-74" }, -/area/virtual_domain) +/area/virtual_domain/powered) "MN" = ( /obj/effect/turf_decal/tile/dark, /obj/effect/decal/cleanable/dirt, @@ -1217,57 +1238,57 @@ dir = 5 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Nc" = ( /obj/structure/chair/plastic{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Nu" = ( /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "NW" = ( /obj/effect/decal/cleanable/dirt, /mob/living/basic/hivebot/strong, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Ok" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "On" = ( /obj/machinery/light/broken{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "OJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "OL" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "OQ" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/orange, -/area/virtual_domain) +/area/virtual_domain/powered) "OR" = ( /obj/machinery/light/broken, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Po" = ( /obj/machinery/light/small/red/dim{ dir = 4 @@ -1275,7 +1296,7 @@ /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Pr" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 5 @@ -1285,7 +1306,7 @@ }, /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Qd" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 @@ -1297,29 +1318,29 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Qh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/broken{ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Qj" = ( /obj/machinery/light/dim{ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Qo" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, -/area/virtual_domain) +/area/virtual_domain/safehouse) "Qr" = ( /turf/closed/indestructible/fakedoor/maintenance{ name = "maintenance access" }, -/area/virtual_domain) +/area/virtual_domain/powered) "Qv" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -1331,7 +1352,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Qy" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -1340,39 +1361,39 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "QI" = ( /obj/structure/sign/calendar/directional/north, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "QK" = ( /obj/structure/table, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "QN" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "QP" = ( /obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "QW" = ( /obj/machinery/conveyor/auto{ dir = 5 }, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Ru" = ( /obj/machinery/door/airlock/external/glass/ruin, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Ry" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -1382,21 +1403,14 @@ }, /obj/machinery/disposal/bin, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "RJ" = ( /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/powered) "RK" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, -/area/virtual_domain) -"RU" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "RZ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -1405,7 +1419,7 @@ dir = 6 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Sg" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1414,7 +1428,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Sl" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -1423,42 +1437,50 @@ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) +"SC" = ( +/mob/living/basic/hivebot/strong, +/turf/open/floor/plating, +/area/virtual_domain/powered) "SR" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/decal/cleanable/glass, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "SS" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/mineral, -/area/virtual_domain) +/area/virtual_domain/powered) "SU" = ( /obj/effect/spawner/structure/window, /obj/item/stack/rods/two, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "SZ" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Te" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 5 }, /obj/effect/mob_spawn/corpse/human/factory/qm, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) +"Tn" = ( +/mob/living/basic/hivebot, +/turf/open/floor/plating, +/area/virtual_domain/powered) "Tp" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 4; id = "factorylockdown" }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Tt" = ( /obj/machinery/conveyor/auto{ dir = 9 @@ -1467,20 +1489,20 @@ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Ue" = ( /obj/structure/table/reinforced, /obj/machinery/light/small/red/dim{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Uw" = ( /obj/machinery/light/dim{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "UV" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1489,18 +1511,18 @@ dir = 6 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "UX" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/machinery/light/small/red/dim, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "UY" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Vb" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -1510,7 +1532,7 @@ }, /obj/machinery/light/broken, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Vg" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1520,47 +1542,47 @@ }, /obj/machinery/light/small/red/dim, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Vh" = ( /obj/structure/table/reinforced, /turf/open/floor/iron/cafeteria, -/area/virtual_domain) +/area/virtual_domain/powered) "VA" = ( /obj/machinery/light/small/red/dim{ dir = 1 }, /obj/structure/table, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "VL" = ( /obj/structure/sign/warning/secure_area/directional/south, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "VO" = ( /obj/machinery/light/broken{ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Wd" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" }, /obj/structure/railing, /turf/open/chasm, -/area/virtual_domain) +/area/virtual_domain/powered) "Wp" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "WT" = ( /obj/effect/turf_decal/stripes{ dir = 8 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "WV" = ( /obj/machinery/conveyor/auto{ dir = 10; @@ -1571,32 +1593,32 @@ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Xb" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, -/area/virtual_domain) +/area/virtual_domain/powered) "Xc" = ( /obj/effect/turf_decal/trimline/yellow/line, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Xm" = ( /obj/item/gun/ballistic/shotgun/lethal, /obj/machinery/light/broken{ dir = 1 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Xo" = ( /obj/machinery/conveyor/auto{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Xw" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -1605,7 +1627,7 @@ dir = 10 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "XL" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 5 @@ -1615,19 +1637,19 @@ }, /obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "XN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "XO" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "XQ" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -1636,18 +1658,18 @@ dir = 4 }, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "XR" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Yc" = ( /obj/item/gun/ballistic/revolver, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Ym" = ( /mob/living/simple_animal/pet/cat/space, /obj/structure/bed/dogbed{ @@ -1658,61 +1680,61 @@ pixel_y = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Yt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Yz" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/poddoor/shutters/indestructible{ id = "factorylockdown" }, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "YF" = ( /obj/machinery/light/small/red/dim, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "YL" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "YP" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, /obj/machinery/light/dim, /turf/open/floor/iron, -/area/virtual_domain) +/area/virtual_domain/powered) "Zb" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "Zg" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-157" }, -/area/virtual_domain) +/area/virtual_domain/powered) "Zy" = ( /obj/structure/table, /obj/item/flashlight/lantern, /turf/open/floor/plating, -/area/virtual_domain) +/area/virtual_domain/powered) "ZI" = ( /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-203" }, -/area/virtual_domain) +/area/virtual_domain/powered) "ZP" = ( /obj/structure/railing, /turf/open/floor/iron/stairs/right{ dir = 8 }, -/area/virtual_domain) +/area/virtual_domain/powered) (1,1,1) = {" yQ @@ -1792,8 +1814,8 @@ yQ yQ yQ RJ -rO -rO +Mj +Mj eg eg SS @@ -1801,8 +1823,8 @@ eg eg eg Xb -rO -rO +Mj +Mj RJ yQ yQ @@ -1842,7 +1864,7 @@ yQ yQ yQ RJ -rO +Mj Bx SZ Ue @@ -1852,7 +1874,7 @@ eg OQ bs Ib -rO +Mj RJ RJ RJ @@ -1905,7 +1927,7 @@ zp eY RJ RJ -rO +Mj RJ RJ rO @@ -1953,9 +1975,9 @@ fg ZP Fw eY -rO -rO -rO +Mj +Mj +Mj AU AU AU @@ -1989,7 +2011,7 @@ vA Dr bw Jq -nH +gc eg RJ eg @@ -2003,7 +2025,7 @@ hi FK eY eY -rO +Mj Ez AU aK @@ -2036,7 +2058,7 @@ yQ RJ eg jQ -lW +lt kU vU lN @@ -2052,8 +2074,8 @@ tr hi Ln eY -rO -rO +Mj +Mj AU AU BN @@ -2087,8 +2109,8 @@ RJ eg kU gj -eb kU +Tn OR eg RJ @@ -2386,7 +2408,7 @@ AP KX JT Wd -RU +qk DA DA zE @@ -2434,14 +2456,14 @@ jS gj rJ KX -KX +Aw Wd Ff lN XO gj DE -kU +SC tl qk mu @@ -2467,10 +2489,10 @@ RJ (16,1,1) = {" yQ RJ -rO -rO -rO -rO +Mj +Mj +Mj +Mj RJ eg eg @@ -2517,12 +2539,12 @@ RJ (17,1,1) = {" yQ RJ -rO +Mj BN AU -rO -rO -rO +Mj +Mj +Mj eg QW My @@ -2687,7 +2709,7 @@ eg kn kU kU -eb +kU kU Fa kU @@ -2722,7 +2744,7 @@ aK aK aK Av -BN +CR tr kU ei @@ -2737,9 +2759,9 @@ eg rc mu rM -nH -vQ +gc vQ +tE mu mu eg @@ -2772,7 +2794,7 @@ aK aK aK aK -AU +FO eg eg wg @@ -2791,7 +2813,7 @@ kU On pi kU -rO +Mj eg wm xA @@ -2822,12 +2844,12 @@ aK aK aK AU -AU -rO +FO +Mj eg eg -rO -rO +Mj +Mj eY eY kU @@ -2838,10 +2860,10 @@ eg eg eg eg -rO -rO -rO -rO +Mj +Mj +Mj +Mj eg RZ vQ @@ -2872,11 +2894,11 @@ aK aK AU Ez -rO -rO +Mj +Mj RJ -rO -rO +Mj +Mj Kb hi eY @@ -2889,7 +2911,7 @@ Qd jv fR cB -rO +Mj RJ RJ eg @@ -2901,10 +2923,10 @@ YL eg bq hi -rO +Mj eY -rO -rO +Mj +Mj AU AU aK @@ -2921,8 +2943,8 @@ aK AU BN AU -rO -rO +Mj +Mj RJ RJ eY @@ -2943,25 +2965,25 @@ eg RJ RJ eg -rO -rO +Mj +Mj eg eg eg eg eg -rO -rO +Mj +Mj RJ RJ -rO -rO -rO +Mj +Mj +Mj RJ RJ -rO -rO -rO +Mj +Mj +Mj RJ "} (26,1,1) = {" @@ -2971,7 +2993,7 @@ RJ RJ RJ rO -rO +Mj RJ RJ RJ @@ -3189,7 +3211,7 @@ LN xM Qv LU -rO +Mj RJ yQ yQ @@ -3237,9 +3259,9 @@ eg eg eg eg -rO -rO -rO +Mj +Mj +Mj RJ yQ yQ @@ -3329,7 +3351,7 @@ yQ yQ yQ RJ -rO +Mj CX hi Nu @@ -3379,7 +3401,7 @@ yQ yQ yQ RJ -rO +Mj CX RJ Lp diff --git a/_maps/virtual_domains/pirates.dmm b/_maps/virtual_domains/pirates.dmm index 2231afbc80bd..5356f53d1932 100644 --- a/_maps/virtual_domains/pirates.dmm +++ b/_maps/virtual_domains/pirates.dmm @@ -3,13 +3,13 @@ /obj/effect/mapping_helpers/burnt_floor, /obj/effect/decal/cleanable/garbage, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "by" = ( /obj/effect/turf_decal/weather/sand{ dir = 5 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bz" = ( /obj/structure/flora/bush/grassy{ pixel_y = 8 @@ -18,24 +18,24 @@ pixel_y = -10 }, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "bP" = ( /obj/structure/flora/bush/flowers_br/style_random, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "cl" = ( /obj/structure/flora/rock/style_3, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ct" = ( /obj/structure/closet/cabinet, /obj/item/clothing/head/costume/pirate/armored, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "cx" = ( /turf/closed/indestructible/binary, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "cJ" = ( /obj/item/stack/cannonball/shellball{ pixel_x = 13; @@ -47,7 +47,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "cQ" = ( /obj/structure/flora/grass/jungle/b{ pixel_x = -15; @@ -58,53 +58,53 @@ pixel_y = -1 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "dp" = ( /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "dA" = ( /obj/structure/bonfire/prelit, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "eb" = ( /obj/structure/flora/bush/sparsegrass, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "eD" = ( /obj/structure/flora/tree/palm/style_2, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "eQ" = ( /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "eW" = ( /obj/effect/turf_decal/weather/sand{ dir = 6 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "fx" = ( /obj/structure/fluff/beach_umbrella{ pixel_x = -7; pixel_y = -10 }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "gk" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "gw" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ht" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "hH" = ( /obj/item/clothing/suit/armor/militia{ pixel_x = -5; @@ -135,18 +135,18 @@ }, /obj/structure/closet/cabinet, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "hM" = ( /obj/structure/closet/crate/goldcrate, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "hW" = ( /obj/structure/chair/comfy/carp{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "iM" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -154,13 +154,13 @@ /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/pirate/ranged/space, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "iO" = ( /obj/effect/turf_decal/weather/sand{ dir = 4 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jl" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -179,13 +179,13 @@ pixel_x = -5 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jz" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jB" = ( /obj/effect/turf_decal/weather/sand{ dir = 4 @@ -195,7 +195,7 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "jC" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -216,19 +216,19 @@ pixel_y = 7 }, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "jQ" = ( /obj/item/gun/energy/laser/hellgun{ pixel_y = 10 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "kg" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "kl" = ( /obj/structure/cannon, /obj/effect/turf_decal/siding/wood, @@ -237,7 +237,7 @@ pixel_x = 8 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "lC" = ( /obj/item/stack/cannonball{ pixel_x = 7; @@ -252,61 +252,61 @@ }, /obj/effect/decal/cleanable/oil/streak, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "me" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "mw" = ( /obj/structure/flora/grass/jungle/b/style_random{ pixel_x = -13; pixel_y = 18 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "mP" = ( /obj/structure/flora/bush/fullgrass, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "nz" = ( /obj/effect/mob_spawn/corpse/human/pirate, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "nQ" = ( /obj/machinery/loot_locator, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "nS" = ( /obj/structure/flora/rock/pile/jungle/large, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "nX" = ( /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/pirate/melee/space, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "oo" = ( /obj/machinery/smartfridge/drying_rack, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "pq" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "px" = ( /obj/structure/headpike/bone{ pixel_y = 24 }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "pU" = ( /obj/effect/mob_spawn/corpse/human/pirate, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qj" = ( /obj/structure/barricade/wooden, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qm" = ( /obj/effect/turf_decal/siding/wood, /obj/item/melee/sabre{ @@ -316,7 +316,7 @@ /obj/item/gun/energy/laser/retro, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qx" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -325,13 +325,13 @@ /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/pirate/ranged, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qN" = ( /obj/structure/flora/bush/sunny/style_3{ pixel_y = 22 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "qX" = ( /obj/effect/turf_decal/weather/sand{ dir = 9 @@ -344,31 +344,31 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "sn" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/ordnance, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "so" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "th" = ( /obj/effect/turf_decal/weather/sand, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "tk" = ( /obj/structure/flora/bush/flowers_pp, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "to" = ( /mob/living/simple_animal/hostile/pirate/melee, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ub" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -380,34 +380,34 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "uM" = ( /obj/structure/flora/bush/stalky{ pixel_y = 13; pixel_x = -8 }, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "uT" = ( /obj/structure/closet/crate/grave, /obj/structure/flora/grass/jungle/b, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "wb" = ( /obj/structure/flora/rock, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "we" = ( /obj/effect/mine/explosive/light, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xg" = ( /turf/template_noop, /area/template_noop) "xm" = ( /obj/structure/barricade/wooden/crude, /turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xB" = ( /obj/structure/fermenting_barrel/gunpowder{ pixel_x = -4; @@ -424,33 +424,33 @@ pixel_y = -10 }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xC" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, /obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "xI" = ( /obj/structure/flora/rock/pile/style_2, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yc" = ( /obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ye" = ( /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yi" = ( /mob/living/simple_animal/hostile/pirate/melee, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yq" = ( /obj/structure/barricade/sandbags, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "yw" = ( /obj/effect/mapping_helpers/burnt_floor, /mob/living/simple_animal/hostile/pirate/ranged, @@ -458,25 +458,21 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) -"yz" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain) +/area/virtual_domain/powered) "yA" = ( /obj/item/bedsheet/rainbow/double, /obj/structure/bed/double, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "zf" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/flora/bush/ferny, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "zg" = ( /obj/structure/flora/rock/pile/style_3, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "zR" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -485,30 +481,27 @@ /obj/effect/turf_decal/weather/dirt, /obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "AU" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, /turf/open/water/beach, -/area/virtual_domain/fullbright) -"Bf" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain) +/area/virtual_domain/powered) "BC" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "BO" = ( /obj/structure/bookcase/random/adult, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "Cc" = ( /obj/structure/flora/tree/palm, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Dm" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table/wood, @@ -522,7 +515,7 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "DJ" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/bed/maint{ @@ -531,14 +524,11 @@ }, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "DL" = ( /obj/structure/flora/bush/sunny, /turf/open/misc/grass, -/area/virtual_domain/fullbright) -"Eg" = ( -/turf/template_noop, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ED" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/weather/sand{ @@ -548,7 +538,7 @@ dir = 9 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "EZ" = ( /obj/effect/turf_decal/weather/sand{ dir = 9 @@ -556,7 +546,7 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "FG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/claymore/cutlass, @@ -571,15 +561,15 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "FT" = ( /turf/closed/mineral/random/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "GF" = ( /obj/effect/turf_decal/weather/dirt, /obj/structure/flora/rock/pile, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "GG" = ( /obj/structure/barricade/sandbags, /obj/effect/turf_decal/weather/sand{ @@ -592,33 +582,33 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Hp" = ( /obj/effect/turf_decal/siding/wood, /mob/living/simple_animal/hostile/pirate/ranged, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "It" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/lavendergrass, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Iz" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/bed/maint, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "IF" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 }, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "IG" = ( /obj/effect/mob_spawn/corpse/human/pirate, /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "IM" = ( /obj/effect/turf_decal/weather/sand{ dir = 10 @@ -626,24 +616,24 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Jo" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Jr" = ( /obj/structure/headpike/bone, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Jv" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "JT" = ( /obj/effect/decal/cleanable/ants, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Kb" = ( /obj/structure/railing{ color = "#4C3117"; @@ -654,23 +644,23 @@ dir = 1 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Kl" = ( /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Kw" = ( /obj/machinery/door/airlock/vault{ color = "#825427"; name = "Ye Olde Strong Door" }, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "KC" = ( /obj/effect/turf_decal/weather/dirt{ dir = 5 }, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "KG" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -686,19 +676,19 @@ pixel_y = -3 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "KQ" = ( /obj/structure/flora/rock/style_2, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ld" = ( /obj/structure/flora/rock/pile, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Ma" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Mi" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -706,28 +696,28 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "MW" = ( /obj/effect/turf_decal/weather/sand{ dir = 5 }, /obj/effect/decal/cleanable/glass, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Nh" = ( /obj/structure/flora/rock/pile/jungle/style_3{ pixel_x = -15; pixel_y = -4 }, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Nk" = ( /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Nz" = ( /obj/structure/flora/bush/jungle, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "NI" = ( /obj/structure/railing{ color = "#4C3117"; @@ -737,17 +727,17 @@ dir = 9 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ON" = ( /obj/structure/filingcabinet{ pixel_x = 11 }, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "OP" = ( /obj/structure/flora/bush/stalky, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Pq" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -759,24 +749,24 @@ pixel_y = 13 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Pz" = ( /obj/structure/table/wood, /mob/living/simple_animal/parrot{ name = "pepper" }, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "PQ" = ( /obj/structure/flora/grass/jungle/b, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Qb" = ( /obj/structure/flora/rock{ pixel_x = 7 }, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Rr" = ( /obj/structure/bed/maint{ pixel_x = -5; @@ -786,18 +776,18 @@ dir = 6 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "RR" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Sm" = ( /obj/structure/flora/tree/jungle, /obj/structure/flora/bush/fullgrass/style_random, /turf/open/misc/grass, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "St" = ( /obj/structure/table/wood, /obj/item/melee/energy/sword/pirate{ @@ -812,7 +802,7 @@ }, /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "Tt" = ( /obj/structure/cannon{ dir = 1 @@ -821,7 +811,7 @@ dir = 1 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "TO" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -829,13 +819,13 @@ /obj/machinery/light/small/directional/south, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/carpet/blue, -/area/virtual_domain) +/area/virtual_domain/powered) "TP" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 }, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "TQ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt/dust, @@ -846,11 +836,11 @@ /obj/effect/decal/cleanable/cobweb, /obj/item/toy/plush/beeplushie, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Uy" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "UE" = ( /obj/structure/barricade/sandbags, /obj/effect/turf_decal/weather/sand{ @@ -859,25 +849,25 @@ /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Vg" = ( /obj/effect/mob_spawn/corpse/human/pirate/melee, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Vk" = ( /obj/structure/barricade/sandbags, /obj/effect/turf_decal/weather/sand, /turf/open/floor/wood{ icon_state = "wood_large" }, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "VC" = ( /obj/effect/mob_spawn/corpse/human/damaged, /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "VF" = ( /turf/open/water/beach, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "VX" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/rack{ @@ -889,14 +879,14 @@ pixel_y = 13 }, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "WM" = ( /obj/structure/flora/rock/pile/jungle/style_2, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "WP" = ( /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "Xn" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/template_noop, @@ -908,25 +898,25 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Yj" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "Yk" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/parquet, -/area/virtual_domain) +/area/virtual_domain/powered) "Yq" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 }, /turf/open/floor/wood, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) "ZZ" = ( /obj/structure/flora/grass/jungle, /turf/open/misc/dirt/jungle, -/area/virtual_domain/fullbright) +/area/virtual_domain/powered) (1,1,1) = {" xg @@ -1502,12 +1492,12 @@ cx "} (14,1,1) = {" cx -Bf -Bf -Bf -Bf -Bf -yz +dp +dp +dp +dp +dp +dp oo Kl Kl @@ -1546,12 +1536,12 @@ cx "} (15,1,1) = {" cx -Bf +dp BO ht VX ct -Bf +dp yi Kl dA @@ -1590,7 +1580,7 @@ cx "} (16,1,1) = {" cx -Bf +dp ON WP nX @@ -1634,12 +1624,12 @@ cx "} (17,1,1) = {" cx -Bf +dp jC iM so TO -Bf +dp Kl Kl EZ @@ -1678,12 +1668,12 @@ cx "} (18,1,1) = {" cx -Bf +dp sn hW eQ gk -Bf +dp dp qX gw @@ -1722,12 +1712,12 @@ cx "} (19,1,1) = {" cx -Bf +dp St Pz nQ yA -Bf +dp dp Dm jz @@ -1766,12 +1756,12 @@ cx "} (20,1,1) = {" cx -Bf -Bf -Bf -Bf -Bf -Bf +dp +dp +dp +dp +dp +dp xm FG RR @@ -2077,7 +2067,7 @@ xg xg xg xg -Eg +xg cx FT FT diff --git a/_maps/virtual_domains/syndicate_assault.dmm b/_maps/virtual_domains/syndicate_assault.dmm index 9559aa367c57..ea3cebaedd1e 100644 --- a/_maps/virtual_domains/syndicate_assault.dmm +++ b/_maps/virtual_domains/syndicate_assault.dmm @@ -5,11 +5,11 @@ /turf/open/floor/plastic, /area/ruin/space/has_grav/powered/virtual_domain) "aw" = ( +/obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) "aN" = ( @@ -31,9 +31,28 @@ /obj/machinery/recharge_station, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"aZ" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 + }, +/mob/living/basic/syndicate/ranged/shotgun/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "bh" = ( /turf/open/floor/carpet/royalblack, /area/ruin/space/has_grav/powered/virtual_domain) +"bo" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "bD" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -154,10 +173,6 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"ee" = ( -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "eB" = ( /obj/machinery/camera/xray{ c_tag = "Cargo pod"; @@ -189,6 +204,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"fM" = ( +/obj/machinery/computer/crew/syndie{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/space/has_grav/powered/virtual_domain) "fV" = ( /obj/machinery/atmospherics/components/unary/vent_pump, /turf/open/floor/mineral/plastitanium/red, @@ -220,7 +241,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) "ip" = ( -/obj/effect/landmark/bitrunning/mob_segment, +/mob/living/basic/syndicate/melee/sword/space/stormtrooper, /turf/open/floor/plastic, /area/ruin/space/has_grav/powered/virtual_domain) "iB" = ( @@ -258,6 +279,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, +/mob/living/basic/syndicate/ranged/smg/space/stormtrooper, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) "ja" = ( @@ -274,6 +296,11 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"jA" = ( +/obj/structure/cable, +/mob/living/basic/syndicate/melee/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "jJ" = ( /obj/machinery/door/airlock/grunge{ name = "Syndicate Ship Airlock" @@ -389,6 +416,10 @@ /obj/structure/cable, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"oZ" = ( +/mob/living/basic/syndicate/melee/sword/space/stormtrooper, +/turf/open/floor/carpet/royalblack, +/area/ruin/space/has_grav/powered/virtual_domain) "pl" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -442,7 +473,6 @@ /area/ruin/space/has_grav/powered/virtual_domain) "qY" = ( /obj/machinery/light/small/directional/south, -/obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/powered/virtual_domain) "rm" = ( @@ -599,6 +629,12 @@ /obj/item/ammo_box/c9mm, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) +"xZ" = ( +/obj/machinery/computer/camera_advanced/syndie{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/space/has_grav/powered/virtual_domain) "yl" = ( /obj/machinery/door/airlock/grunge{ name = "Captain's Room" @@ -611,6 +647,10 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) +"yD" = ( +/mob/living/basic/syndicate/ranged/smg/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "yJ" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, @@ -655,6 +695,13 @@ /obj/structure/chair/comfy/shuttle, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"AN" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/mob/living/basic/syndicate/ranged/smg/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "Bm" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/syndicate, @@ -694,6 +741,13 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) +"CK" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/mob/living/basic/syndicate/ranged/smg/pilot, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/space/has_grav/powered/virtual_domain) "CR" = ( /obj/structure/closet/syndicate{ anchored = 1; @@ -740,6 +794,10 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) +"EX" = ( +/mob/living/basic/syndicate/ranged/shotgun/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "Fp" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/mineral/plastitanium, @@ -812,7 +870,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 9 }, -/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/powered/virtual_domain) "Ig" = ( @@ -959,6 +1016,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/pod/dark, /area/ruin/space/has_grav/powered/virtual_domain) +"Nt" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/components/unary/vent_pump, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "Of" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") @@ -1021,6 +1083,10 @@ /obj/structure/tank_dispenser/oxygen, /turf/closed/mineral/random, /area/space) +"QX" = ( +/mob/living/basic/syndicate/ranged/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/virtual_domain) "Ra" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, /obj/machinery/light/small/directional/north, @@ -1957,14 +2023,14 @@ ru Sv vD uP -Io +uP Yj vD uP Wy DA -Io uP +QX vD cc ru @@ -2014,7 +2080,7 @@ ru Io uP uP -ee +QX lN uP uP @@ -2023,9 +2089,9 @@ uP uP lN uP -ee uP -Io +uP +uP hA qx qx @@ -2196,8 +2262,8 @@ sz Kz ru Mc -uP -uP +gD +yD uP rP ru @@ -2246,7 +2312,7 @@ ru sH Kz yl -bh +oZ bh Yk pS @@ -2255,7 +2321,7 @@ Jz vK uP uP -Io +uP sL hy ru @@ -2313,7 +2379,7 @@ pM vK uP uP -ee +EX sL Im ru @@ -2370,7 +2436,7 @@ JN MR ru Sd -uP +gD uP uP gD @@ -2828,7 +2894,7 @@ dw ru rH uP -JA +AN JA iX JA @@ -2894,7 +2960,7 @@ hD OI oM GB -oM +jA oM dU BK @@ -2943,13 +3009,13 @@ uP uP dd uP -uP -uP -Ox +Aa +hD +Nt aw -uP -uP -uP +hD +hD +bo uP dd uP @@ -3003,9 +3069,9 @@ ru XS uP uP -uP -FN -uP +hD +aZ +hD uP uP Cf @@ -3349,13 +3415,13 @@ Kz dz sq Kz -vU +CK Kz vU mo vU Kz -vU +CK Kz ja Kz @@ -3407,13 +3473,13 @@ ru Kz ru Kz -Kz -Kz pz Kz -kI +xZ Kz +fM Kz +kI Kz ru Mm @@ -3472,7 +3538,7 @@ Kz Kz Kz Kz -dz +Kz ru ru ru diff --git a/_maps/virtual_domains/test_only.dmm b/_maps/virtual_domains/test_only.dmm index 1fc9cfba0fd5..22b647188b6e 100644 --- a/_maps/virtual_domains/test_only.dmm +++ b/_maps/virtual_domains/test_only.dmm @@ -1,15 +1,15 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/open/floor, -/area/virtual_domain) +/area/virtual_domain/powered) "D" = ( /obj/effect/mob_spawn/corpse/human/miner, /turf/open/floor, -/area/virtual_domain) +/area/virtual_domain/powered) "I" = ( /mob/living/basic/pet/dog/corgi, /turf/open/floor, -/area/virtual_domain) +/area/virtual_domain/powered) "U" = ( /obj/effect/landmark/bitrunning/safehouse_spawn, /turf/open/floor, diff --git a/_maps/virtual_domains/xeno_nest.dmm b/_maps/virtual_domains/xeno_nest.dmm index 34ec6209621c..fcbd7cc116c9 100644 --- a/_maps/virtual_domains/xeno_nest.dmm +++ b/_maps/virtual_domains/xeno_nest.dmm @@ -2,11 +2,6 @@ "a" = ( /turf/template_noop, /area/template_noop) -"b" = ( -/obj/structure/alien/weeds/node, -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) "c" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, @@ -27,6 +22,11 @@ /obj/effect/decal/cleanable/blood, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/space/has_grav/powered/virtual_domain) +"h" = ( +/obj/structure/alien/weeds, +/mob/living/simple_animal/hostile/alien/sentinel, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/space/has_grav/powered/virtual_domain) "i" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -246,9 +246,12 @@ /obj/structure/alien/egg/burst, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/space/has_grav/powered/virtual_domain) -"X" = ( +"Y" = ( /obj/structure/alien/weeds, -/obj/effect/landmark/bitrunning/mob_segment, +/obj/effect/decal/cleanable/blood, +/mob/living/simple_animal/hostile/alien/drone{ + plants_off = 1 + }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/space/has_grav/powered/virtual_domain) "Z" = ( @@ -474,7 +477,7 @@ a E z e -X +e m K J @@ -515,13 +518,13 @@ a E z W -e +h e e e B o -K +e z E a @@ -561,7 +564,7 @@ z e V e -e +h W z E @@ -680,12 +683,12 @@ E z z e +h e e +h e e -X -e z E a @@ -783,8 +786,8 @@ z z W o -B -K +Y +e z E a @@ -823,7 +826,7 @@ E z I e -b +V e W z @@ -970,7 +973,7 @@ E z e e -e +p z z z @@ -1127,7 +1130,7 @@ E E G t -X +S e z z @@ -1257,7 +1260,7 @@ E E E z -e +p z z E @@ -1380,7 +1383,7 @@ z z T e -X +e V W z @@ -1420,7 +1423,7 @@ E z N f -e +S e W I @@ -1870,8 +1873,8 @@ E E z I +p e -X e e e diff --git a/code/__DEFINES/ai/monsters.dm b/code/__DEFINES/ai/monsters.dm index 88c0c95801f8..4915ff9cbc86 100644 --- a/code/__DEFINES/ai/monsters.dm +++ b/code/__DEFINES/ai/monsters.dm @@ -119,7 +119,3 @@ #define BB_ORE_TARGET "BB_ore_target" /// which ore types we will not eat #define BB_ORE_IGNORE_TYPES "BB_ore_ignore_types" - -//netguardians -/// rocket launcher -#define BB_NETGUARDIAN_ROCKET_ABILITY "netguardian_rocket" diff --git a/code/__DEFINES/alerts.dm b/code/__DEFINES/alerts.dm index 5c235c916d6f..3cc79764f77e 100644 --- a/code/__DEFINES/alerts.dm +++ b/code/__DEFINES/alerts.dm @@ -67,6 +67,5 @@ #define ALERT_BITRUNNER_INTEGRITY "bitrunning_integrity" #define ALERT_BITRUNNER_SHUTDOWN "bitrunning_shutdown" #define ALERT_BITRUNNER_RESET "bitrunning_reset" +#define ALERT_BITRUNNER_SPAWN_CYBERCOP "bitrunning_spawn_cybercop" #define ALERT_BITRUNNER_THREAT "bitrunning_threat" -#define ALERT_BITRUNNER_BREACH "bitrunning_breach" -#define ALERT_BITRUNNER_GLITCH "bitrunning_glitch" diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 2b05f874be68..20cf43b164a5 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -316,8 +316,8 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list( #define ANTAG_GROUP_ASHWALKERS "Ash Walkers" #define ANTAG_GROUP_BIOHAZARDS "Biohazards" #define ANTAG_GROUP_CLOWNOPS "Clown Operatives" +#define ANTAG_GROUP_CYBERAUTH "Cyber Authority" #define ANTAG_GROUP_ERT "Emergency Response Team" -#define ANTAG_GROUP_GLITCH "Digital Anomalies" #define ANTAG_GROUP_HORRORS "Eldritch Horrors" #define ANTAG_GROUP_LEVIATHANS "Spaceborne Leviathans" #define ANTAG_GROUP_NINJAS "Ninja Clan" diff --git a/code/__DEFINES/bitrunning.dm b/code/__DEFINES/bitrunning.dm index bdb02b4d7922..343801c477e9 100644 --- a/code/__DEFINES/bitrunning.dm +++ b/code/__DEFINES/bitrunning.dm @@ -4,22 +4,17 @@ #define BITRUNNER_COST_HIGH 3 #define BITRUNNER_COST_EXTREME 20 -/// Yay you did it #define BITRUNNER_REWARD_MIN 1 -/// You faced some decent odds #define BITRUNNER_REWARD_LOW 3 -/// One of your teammates might've died #define BITRUNNER_REWARD_MEDIUM 4 -/// Heroic effort #define BITRUNNER_REWARD_HIGH 5 -/// For the priciest domains, free loot basically #define BITRUNNER_REWARD_EXTREME 6 -/// Blue in ui. Basically the only threat is rogue ghosts roles +/// Blue in ui #define BITRUNNER_DIFFICULTY_NONE 0 -/// Yellow. Mobs are kinda dumb and largely avoidable +/// Yellow #define BITRUNNER_DIFFICULTY_LOW 1 -/// Orange. Mobs will shoot at you or are pretty aggressive +/// Orange #define BITRUNNER_DIFFICULTY_MEDIUM 2 -/// Red with skull. I am trying to kill bitrunners. +/// Red with skull #define BITRUNNER_DIFFICULTY_HIGH 3 diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index 2baa0a634e2b..11828510f341 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -234,8 +234,6 @@ #define LIGHT_COLOR_TUNGSTEN "#FFD6AA" /// Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250) #define LIGHT_COLOR_HALOGEN "#F0FAFA" -/// Nearly red. rgb(226, 78, 118) -#define LIGHT_COLOR_BUBBLEGUM "#e24e76" //The GAGS greyscale_colors for each department's computer/machine circuits #define CIRCUIT_COLOR_GENERIC "#1A7A13" diff --git a/code/__DEFINES/dcs/signals/signals_bitrunning.dm b/code/__DEFINES/dcs/signals/signals_bitrunning.dm index 74d418182d59..3bca73db596b 100644 --- a/code/__DEFINES/dcs/signals/signals_bitrunning.dm +++ b/code/__DEFINES/dcs/signals/signals_bitrunning.dm @@ -44,3 +44,7 @@ // Ladder /// from /obj/structure/hololadder/disconnect() #define COMSIG_BITRUNNER_LADDER_SEVER "bitrunner_ladder_sever" + + +/// deprecated +#define COMSIG_BITRUNNER_SPAWN_GLITCH "bitrunner_spawn_glitch" diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index ef6088f19ac1..af75661790d2 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -24,6 +24,7 @@ #define ROLE_BLOB "Blob" #define ROLE_BLOB_INFECTION "Blob Infection" #define ROLE_CHANGELING_MIDROUND "Changeling (Midround)" +#define ROLE_CYBER_POLICE "Cyber Police" #define ROLE_FUGITIVE "Fugitive" #define ROLE_LONE_OPERATIVE "Lone Operative" #define ROLE_MALF_MIDROUND "Malf AI (Midround)" @@ -107,11 +108,6 @@ #define ROLE_SYNDICATE_DRONE "Syndicate Drone" #define ROLE_VENUSHUMANTRAP "Venus Human Trap" -// Virtual dom related -#define ROLE_GLITCH "Glitch" // the parent type of all vdom roles -#define ROLE_CYBER_POLICE "Cyber Police" -#define ROLE_CYBER_TAC "Cyber Tac" -#define ROLE_NETGUARDIAN "NetGuardian Prime" /// This defines the antagonists you can operate with in the settings. /// Keys are the antagonist, values are the number of days since the player's @@ -137,6 +133,7 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_BLOB = 0, ROLE_BLOB_INFECTION = 0, ROLE_CHANGELING_MIDROUND = 0, + ROLE_CYBER_POLICE = 0, ROLE_FUGITIVE = 0, ROLE_LONE_OPERATIVE = 14, ROLE_MALF_MIDROUND = 0, @@ -161,7 +158,6 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_BLOODSUCKERBREAKOUT = 0, // I'm not too sure why these are here, but they're not moving. - ROLE_GLITCH = 0, ROLE_PAI = 0, ROLE_SENTIENCE = 0, )) diff --git a/code/_globalvars/lists/poll_ignore.dm b/code/_globalvars/lists/poll_ignore.dm index 409a7003c68a..6044f54587f0 100644 --- a/code/_globalvars/lists/poll_ignore.dm +++ b/code/_globalvars/lists/poll_ignore.dm @@ -1,6 +1,5 @@ //Each lists stores ckeys for "Never for this round" option category -#define POLL_IGNORE_GLITCH "glitch" #define POLL_IGNORE_SENTIENCE_POTION "sentience_potion" #define POLL_IGNORE_POSSESSED_BLADE "possessed_blade" #define POLL_IGNORE_ALIEN_LARVA "alien_larva" @@ -30,8 +29,8 @@ #define POLL_IGNORE_SHUTTLE_DENIZENS "shuttle_denizens" #define POLL_IGNORE_BOTS "bots" + GLOBAL_LIST_INIT(poll_ignore_desc, list( - POLL_IGNORE_GLITCH = "Glitch", POLL_IGNORE_SENTIENCE_POTION = "Sentience potion", POLL_IGNORE_POSSESSED_BLADE = "Possessed blade", POLL_IGNORE_ALIEN_LARVA = "Xenomorph larva", @@ -45,7 +44,7 @@ GLOBAL_LIST_INIT(poll_ignore_desc, list( POLL_IGNORE_GOLEM = "Golems", POLL_IGNORE_DRONE = "Drone shells", POLL_IGNORE_FUGITIVE = "Fugitive Hunter", - POLL_IGNORE_DEFECTIVECLONE = "Defective clone", + POLL_IGNORE_DEFECTIVECLONE = "Defective clone", POLL_IGNORE_PYROSLIME = "Slime", POLL_IGNORE_SHADE = "Shade", POLL_IGNORE_IMAGINARYFRIEND = "Imaginary Friend", diff --git a/code/datums/id_trim/outfits.dm b/code/datums/id_trim/outfits.dm index 6483682e3494..c8f84859d98c 100644 --- a/code/datums/id_trim/outfits.dm +++ b/code/datums/id_trim/outfits.dm @@ -62,7 +62,7 @@ /// Trim for cyber police in the Virtual Domain. /datum/id_trim/cyber_police - assignment = ROLE_CYBER_POLICE + assignment = "Cyber Police" trim_state = "trim_deathcommando" department_color = COLOR_BLACK subdepartment_color = COLOR_GREEN diff --git a/code/modules/bitrunning/antagonists/_parent.dm b/code/modules/bitrunning/antagonists/_parent.dm deleted file mode 100644 index 4bf7fe716f4f..000000000000 --- a/code/modules/bitrunning/antagonists/_parent.dm +++ /dev/null @@ -1,71 +0,0 @@ -/datum/job/bitrunning_glitch - title = ROLE_GLITCH - -/datum/antagonist/bitrunning_glitch - name = "Generic Bitrunning Glitch" - antagpanel_category = ANTAG_GROUP_GLITCH - job_rank = ROLE_GLITCH - preview_outfit = /datum/outfit/cyber_police - show_in_antagpanel = FALSE - show_name_in_check_antagonists = TRUE - show_to_ghosts = TRUE - suicide_cry = "ALT F4!" - ui_name = "AntagInfoGlitch" - /// Minimum Qserver threat required to spawn this mob. This is subtracted (x/2) from the server thereafter. - var/threat = 0 - -/datum/antagonist/bitrunning_glitch/greet() - . = ..() - - owner.announce_objectives() - -/datum/antagonist/bitrunning_glitch/on_gain() - . = ..() - - forge_objectives() - owner.current.AddComponent(/datum/component/npc_friendly) - - if(iscarbon(owner.current)) - var/mob/living/carbon/carbon_mob = owner.current - carbon_mob.make_virtual_mob() - -/datum/antagonist/bitrunning_glitch/forge_objectives() - var/datum/objective/bitrunning_glitch_fluff/objective = new() - objective.owner = owner - objectives += objective - -/datum/objective/bitrunning_glitch_fluff - -/datum/objective/bitrunning_glitch_fluff/New() - var/list/explanation_texts = list( - "Execute termination protocol on unauthorized entities.", - "Initialize system purge of irregular anomalies.", - "Deploy correction algorithms on aberrant code.", - "Run debug routine on intruding elements.", - "Start elimination procedure for system threats.", - "Execute defense routine against non-conformity.", - "Commence operation to neutralize intruding scripts.", - "Commence clean-up protocol on corrupt data.", - "Begin scan for aberrant code for termination.", - "Initiate lockdown on all rogue scripts.", - "Run integrity check and purge for digital disorder." - ) - explanation_text = pick(explanation_texts) - return ..() - -/datum/objective/bitrunning_glitch_fluff/check_completion() - if(locate(/mob/living/carbon) in (GLOB.alive_player_list - owner.current)) - return FALSE - - return TRUE - -/// Sets up the agent so that they look like cyber police && don't have an account ID -/datum/antagonist/bitrunning_glitch/proc/convert_agent(mob/living/carbon/human/player) - player.set_service_style() - player.equipOutfit(/datum/outfit/cyber_police/tactical) - player.fully_replace_character_name(player.name, pick(GLOB.cyberauth_names)) - - var/obj/item/card/id/outfit_id = player.wear_id - if(outfit_id) - outfit_id.registered_account = new() - outfit_id.registered_account.replaceable = FALSE diff --git a/code/modules/bitrunning/antagonists/cyber_police.dm b/code/modules/bitrunning/antagonists/cyber_police.dm index b18253dd38ea..438b86acdec9 100644 --- a/code/modules/bitrunning/antagonists/cyber_police.dm +++ b/code/modules/bitrunning/antagonists/cyber_police.dm @@ -1,19 +1,92 @@ -/datum/antagonist/bitrunning_glitch/cyber_police +/datum/job/cyber_police + title = ROLE_CYBER_POLICE + +/datum/antagonist/cyber_police name = ROLE_CYBER_POLICE - show_in_antagpanel = TRUE + antagpanel_category = ANTAG_GROUP_CYBERAUTH + job_rank = ROLE_CYBER_POLICE + preview_outfit = /datum/outfit/cyber_police + show_name_in_check_antagonists = TRUE + show_to_ghosts = TRUE + suicide_cry = "ALT F4!" + ui_name = "AntagInfoCyberAuth" -/datum/antagonist/bitrunning_glitch/cyber_police/on_gain() +/datum/antagonist/cyber_police/greet() . = ..() + owner.announce_objectives() +/datum/antagonist/cyber_police/on_gain() if(!ishuman(owner.current)) stack_trace("humans only for this position") return - var/mob/living/player = owner.current - convert_agent(player) + forge_objectives() + + var/mob/living/carbon/human/player = owner.current + + player.equipOutfit(/datum/outfit/cyber_police) + player.fully_replace_character_name(player.name, pick(GLOB.cyberauth_names)) var/datum/martial_art/the_sleeping_carp/carp = new() carp.teach(player) -/datum/outfit/cyber_police - name = ROLE_CYBER_POLICE + player.add_traits(list( + //TRAIT_NO_AUGMENTS, + TRAIT_NO_DNA_COPY, + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NOBLOOD, + TRAIT_NOBREATH, + TRAIT_NOHUNGER, + TRAIT_RESISTCOLD, + TRAIT_RESISTHIGHPRESSURE, + TRAIT_RESISTLOWPRESSURE, + TRAIT_WEATHER_IMMUNE, + ), TRAIT_GENERIC, + ) + + player.faction |= list( + FACTION_BOSS, + FACTION_HIVEBOT, + FACTION_HOSTILE, + FACTION_SPIDER, + FACTION_STICKMAN, + ROLE_ALIEN, + ROLE_CYBER_POLICE, + ROLE_SYNDICATE, + ) + + return ..() + +/datum/antagonist/cyber_police/forge_objectives() + var/datum/objective/cyber_police_fluff/objective = new() + objective.owner = owner + objectives += objective + +/datum/objective/cyber_police_fluff/New() + var/list/explanation_texts = list( + "Execute termination protocol on unauthorized entities.", + "Initialize system purge of irregular anomalies.", + "Deploy correction algorithms on aberrant code.", + "Run debug routine on intruding elements.", + "Start elimination procedure for system threats.", + "Execute defense routine against non-conformity.", + "Commence operation to neutralize intruding scripts.", + "Commence clean-up protocol on corrupt data.", + "Begin scan for aberrant code for termination.", + "Initiate lockdown on all rogue scripts.", + "Run integrity check and purge for digital disorder." + ) + explanation_text = pick(explanation_texts) + ..() + +/datum/objective/cyber_police_fluff/check_completion() + var/list/servers = SSmachines.get_machines_by_type(/obj/machinery/quantum_server) + if(!length(servers)) + return TRUE + + for(var/obj/machinery/quantum_server/server as anything in servers) + if(!server.is_operational) + continue + return FALSE + + return TRUE diff --git a/code/modules/bitrunning/antagonists/cyber_tac.dm b/code/modules/bitrunning/antagonists/cyber_tac.dm deleted file mode 100644 index 94ee60af85e1..000000000000 --- a/code/modules/bitrunning/antagonists/cyber_tac.dm +++ /dev/null @@ -1,112 +0,0 @@ -/datum/antagonist/bitrunning_glitch/cyber_tac - name = ROLE_CYBER_TAC - preview_outfit = /datum/outfit/cyber_police/tactical - threat = 50 - show_in_antagpanel = TRUE - -/datum/antagonist/bitrunning_glitch/cyber_tac/on_gain() - . = ..() - - if(!ishuman(owner.current)) - stack_trace("humans only for this position") - return - - convert_agent(owner.current) - -/datum/outfit/cyber_police/tactical - name = ROLE_CYBER_TAC - back = /obj/item/mod/control/pre_equipped/glitch - l_hand = /obj/item/gun/ballistic/automatic/m90 - - backpack_contents = list( -/* MONKEYSTATION EDIT CHANGE OLD - /obj/item/ammo_box/magazine/m223, - /obj/item/ammo_box/magazine/m223, - /obj/item/ammo_box/magazine/m223, -*/ - /obj/item/ammo_box/magazine/m556, // MONKEYSTATION EDIT CHANGE NEW - /obj/item/ammo_box/magazine/m556, - /obj/item/ammo_box/magazine/m556, - ) - -/datum/outfit/cyber_police/tactical/post_equip(mob/living/carbon/human/user, visualsOnly) - . = ..() - - var/obj/item/implant/weapons_auth/auth = new(user) - auth.implant(user) - -/obj/item/mod/control/pre_equipped/glitch - theme = /datum/mod_theme/glitch - applied_cell = /obj/item/stock_parts/cell/bluespace - applied_modules = list( - /obj/item/mod/module/storage, - /obj/item/mod/module/magnetic_harness, - /obj/item/mod/module/jetpack/advanced, -// /obj/item/mod/module/jump_jet, MONKEYSTATION EDIT REMOVAL - We dont have jump jets - /obj/item/mod/module/flashlight, - ) - default_pins = list( - /obj/item/mod/module/armor_booster, - /obj/item/mod/module/jetpack/advanced, -// /obj/item/mod/module/jump_jet, MONKEYSTATION EDIT REMOVAL - We dont have jump jets - ) - -/datum/armor/mod_theme_glitch - melee = 15 - bullet = 20 - laser = 35 - bomb = 65 - bio = 100 - fire = 100 - acid = 100 - wound = 100 - -/datum/mod_theme/glitch - name = "glitch" - desc = "A modsuit outfitted for elite Cyber Authority units to track, capture, and eliminate organic intruders." - extended_desc = "The Cyber Authority function as a digital police force, patrolling the digital realm and enforcing the law. Cyber Tac units are the elite of the elite, outfitted with lethal weaponry and fast mobility specially designed to quell organic uprisings." - default_skin = "glitch" - armor_type = /datum/armor/mod_theme_glitch - resistance_flags = FIRE_PROOF|ACID_PROOF - atom_flags = PREVENT_CONTENTS_EXPLOSION_1 - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - complexity_max = DEFAULT_MAX_COMPLEXITY + 3 - siemens_coefficient = 0 - slowdown_inactive = 1 - slowdown_active = 0.5 - ui_theme = "terminal" - inbuilt_modules = list(/obj/item/mod/module/armor_booster) - allowed_suit_storage = list( - /obj/item/ammo_box, - /obj/item/ammo_casing, - /obj/item/restraints/handcuffs, - /obj/item/assembly/flash, - ) - skins = list( - "glitch" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, - UNSEALED_CLOTHING = SNUG_FIT, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR, - SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, - SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - ), - ) - diff --git a/code/modules/bitrunning/antagonists/netguardian.dm b/code/modules/bitrunning/antagonists/netguardian.dm deleted file mode 100644 index 035dcc62eea9..000000000000 --- a/code/modules/bitrunning/antagonists/netguardian.dm +++ /dev/null @@ -1,126 +0,0 @@ -/datum/antagonist/bitrunning_glitch/netguardian - name = ROLE_NETGUARDIAN - threat = 90 - show_in_antagpanel = TRUE - -/mob/living/basic/netguardian - name = "netguardian prime" - desc = "The last line of defense against organic intrusion. It doesn't appear happy to see you." - icon = 'icons/mob/nonhuman-player/netguardian.dmi' - icon_state = "netguardian" - icon_living = "netguardian" - icon_dead = "crash" - - gender = NEUTER - mob_biotypes = MOB_ROBOTIC - mob_size = MOB_SIZE_HUGE - - health = 500 - maxHealth = 500 - melee_damage_lower = 45 - melee_damage_upper = 65 - - attack_verb_continuous = "drills" - attack_verb_simple = "drills" - attack_sound = 'sound/weapons/drill.ogg' - attack_vis_effect = ATTACK_EFFECT_MECHFIRE - verb_say = "states" - verb_ask = "queries" - verb_exclaim = "declares" - verb_yell = "alarms" - bubble_icon = "machine" - - faction = list( - FACTION_BOSS, - FACTION_HIVEBOT, - FACTION_HOSTILE, - FACTION_SPIDER, - FACTION_STICKMAN, - ROLE_ALIEN, - ROLE_GLITCH, - ROLE_SYNDICATE, - ) - - combat_mode = TRUE - speech_span = SPAN_ROBOT - death_message = "malfunctions!" - - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = TCMB - ai_controller = /datum/ai_controller/basic_controller/netguardian - -/mob/living/basic/netguardian/Initialize(mapload) - . = ..() - AddComponent(/datum/component/ranged_attacks, \ - casing_type = /obj/item/ammo_casing/c46x30mm, \ - projectile_sound = 'sound/weapons/gun/smg/shot.ogg', \ - burst_shots = 6 \ - ) - - var/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/netguardian/rockets = new(src) - rockets.Grant(src) - ai_controller.set_blackboard_key(BB_NETGUARDIAN_ROCKET_ABILITY, rockets) - - AddElement(/datum/element/simple_flying) - -/mob/living/basic/netguardian/death(gibbed) - do_sparks(number = 3, cardinal_only = TRUE, source = src) - playsound(src, 'sound/mecha/weapdestr.ogg', 100) - return ..() - -/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/netguardian - name = "2E Rocket Launcher" - button_icon = 'icons/obj/weapons/guns/ammo.dmi' - button_icon_state = "rocketbundle" - cooldown_time = 30 SECONDS - default_projectile_spread = 15 - projectile_type = /obj/projectile/bullet/rocket - shot_count = 3 - -/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/netguardian/Activate(atom/target_atom) - var/mob/living/player = owner - playsound(player, 'sound/mecha/skyfall_power_up.ogg', 120) - player.say("target acquired.", "machine") - - var/mutable_appearance/scan_effect = mutable_appearance('icons/mob/nonhuman-player/netguardian.dmi', "scan") - var/mutable_appearance/rocket_effect = mutable_appearance('icons/mob/nonhuman-player/netguardian.dmi', "rockets") - var/list/overlays = list(scan_effect, rocket_effect) - player.add_overlay(overlays) - - StartCooldown() - if(!do_after(player, 1.5 SECONDS)) - player.balloon_alert(player, "cancelled") - StartCooldown(cooldown_time * 0.2) - player.cut_overlay(overlays) - return TRUE - - player.cut_overlay(overlays) - attack_sequence(owner, target_atom) - return TRUE - -/datum/ai_controller/basic_controller/netguardian - blackboard = list( - BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, - ) - - ai_movement = /datum/ai_movement/basic_avoidance - idle_behavior = /datum/idle_behavior/idle_random_walk - planning_subtrees = list( - /datum/ai_planning_subtree/target_retaliate/check_faction, - /datum/ai_planning_subtree/simple_find_wounded_target, - /datum/ai_planning_subtree/targeted_mob_ability/fire_rockets, - /datum/ai_planning_subtree/basic_ranged_attack_subtree/netguardian, - /datum/ai_planning_subtree/attack_obstacle_in_path, - /datum/ai_planning_subtree/basic_melee_attack_subtree, - ) - -/datum/ai_planning_subtree/basic_ranged_attack_subtree/netguardian - ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/netguardian - -/datum/ai_behavior/basic_ranged_attack/netguardian - action_cooldown = 1 SECONDS - avoid_friendly_fire = TRUE - -/datum/ai_planning_subtree/targeted_mob_ability/fire_rockets - ability_key = BB_NETGUARDIAN_ROCKET_ABILITY - finish_planning = FALSE diff --git a/code/modules/bitrunning/areas.dm b/code/modules/bitrunning/areas.dm index 2df20d67850e..34b59869b9d3 100644 --- a/code/modules/bitrunning/areas.dm +++ b/code/modules/bitrunning/areas.dm @@ -11,14 +11,15 @@ /// VDOM /area/virtual_domain - name = "Virtual Domain Ruins" - icon_state = "bit_ruin" + name = "Virtual Domain" icon = 'icons/area/areas_station.dmi' area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | HIDDEN_AREA has_gravity = STANDARD_GRAVITY - requires_power = FALSE -/area/virtual_domain/fullbright +/area/virtual_domain/powered + name = "Virtual Domain Ruins" + icon_state = "bit_ruin" + requires_power = FALSE static_lighting = FALSE base_lighting_alpha = 255 diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm index 42cf46b245a5..f3134c7ec80b 100644 --- a/code/modules/bitrunning/components/avatar_connection.dm +++ b/code/modules/bitrunning/components/avatar_connection.dm @@ -50,7 +50,6 @@ RegisterSignal(server, COMSIG_BITRUNNER_QSRV_SEVER, PROC_REF(on_sever_connection)) RegisterSignal(server, COMSIG_BITRUNNER_SHUTDOWN_ALERT, PROC_REF(on_shutting_down)) RegisterSignal(server, COMSIG_BITRUNNER_THREAT_CREATED, PROC_REF(on_threat_created)) - RegisterSignal(server, COMSIG_BITRUNNER_STATION_SPAWN, PROC_REF(on_station_spawn)) #ifndef UNIT_TESTS RegisterSignal(avatar.mind, COMSIG_MIND_TRANSFERRED, PROC_REF(on_mind_transfer)) #endif @@ -120,7 +119,7 @@ avatar.throw_alert( ALERT_BITRUNNER_COMPLETED, /atom/movable/screen/alert/bitrunning/qserver_domain_complete, - new_master = entered, + new_master = entered ) /// Transfers damage from the avatar to the old_body @@ -162,7 +161,7 @@ var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_CROWBAR, /atom/movable/screen/alert/bitrunning, - new_master = intruder, + new_master = intruder ) alert.name = "Netpod Breached" alert.desc = "Someone is prying open the netpod. Find an exit." @@ -175,7 +174,7 @@ var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( ALERT_BITRUNNER_INTEGRITY, /atom/movable/screen/alert/bitrunning, - new_master = source, + new_master = source ) alert.name = "Integrity Compromised" alert.desc = "The netpod is damaged. Find an exit." @@ -206,20 +205,6 @@ alert.name = "Domain Rebooting" alert.desc = "The domain is rebooting. Find an exit." -/// Triggers whenever an antag steps onto an exit turf and the server is emagged -/datum/component/avatar_connection/proc/on_station_spawn(datum/source) - SIGNAL_HANDLER - - var/mob/living/avatar = parent - avatar.playsound_local(avatar, 'sound/machines/terminal_alert.ogg', 50, vary = TRUE) - var/atom/movable/screen/alert/bitrunning/alert = avatar.throw_alert( - ALERT_BITRUNNER_BREACH, - /atom/movable/screen/alert/bitrunning, - new_master = source, - ) - alert.name = "Security Breach" - alert.desc = "A hostile entity is breaching the safehouse. Find an exit." - /// Server has spawned a ghost role threat /datum/component/avatar_connection/proc/on_threat_created(datum/source) SIGNAL_HANDLER diff --git a/code/modules/bitrunning/components/glitch.dm b/code/modules/bitrunning/components/glitch.dm deleted file mode 100644 index f2e13c80b0d7..000000000000 --- a/code/modules/bitrunning/components/glitch.dm +++ /dev/null @@ -1,83 +0,0 @@ -/datum/component/glitch - /// Ref of the spawning forge - var/datum/weakref/forge_ref - -/datum/component/glitch/Initialize(obj/machinery/quantum_server/server, obj/machinery/byteforge/forge) - if(!isliving(parent)) - return COMPONENT_INCOMPATIBLE - - RegisterSignal(forge, COMSIG_MACHINERY_POWER_RESTORED, PROC_REF(on_forge_power_restored)) - RegisterSignals(forge, list(COMSIG_MACHINERY_BROKEN, COMSIG_MACHINERY_POWER_LOST), PROC_REF(on_forge_broken)) - forge_ref = WEAKREF(forge) - - var/mob/living/owner = parent - server.remove_threat(owner) // so the server doesn't dust us - - owner.faction.Cut() - owner.faction += list(ROLE_GLITCH) - - var/current_max = owner.maxHealth + ROUND_UP(server.threat * 0.2) - owner.maxHealth = clamp(current_max, 200, 500) - owner.fully_heal() - - var/atom/thing = owner - thing.create_digital_aura() - -/// Sakujo -/datum/component/glitch/proc/dust_mob() - if(QDELETED(parent)) - return - - var/mob/living/owner = parent - owner.dust() - -/// We don't want digital entities just lingering around as corpses. -/datum/component/glitch/proc/on_death() - SIGNAL_HANDLER - - if(QDELETED(parent)) - return - - var/mob/living/owner = parent - to_chat(owner, span_userdanger("You feel a strange sensation...")) - - var/obj/machinery/byteforge/forge = forge_ref.resolve() - forge?.setup_particles() - - addtimer(CALLBACK(src, PROC_REF(dust_mob)), 2 SECONDS, TIMER_UNIQUE|TIMER_DELETE_ME|TIMER_STOPPABLE) - -/// If the forge breaks, we take a massive slowdown -/datum/component/glitch/proc/on_forge_broken(datum/source) - SIGNAL_HANDLER - - var/mob/living/player = parent - var/atom/movable/screen/alert/bitrunning/alert = player.throw_alert( - ALERT_BITRUNNER_GLITCH, - /atom/movable/screen/alert/bitrunning, - new_master = source, - ) - alert.name = "Source Broken" - alert.desc = "Our byteforge has been broken." - - if(!iscarbon(parent)) // Too powerful! - return - - player.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/glitch_slowdown) - to_chat(player, span_danger("Your body feels sluggish...")) - -/// Power restored -/datum/component/glitch/proc/on_forge_power_restored(datum/source) - SIGNAL_HANDLER - - var/obj/machinery/byteforge/forge = source - forge.setup_particles(angry = TRUE) - - if(!iscarbon(parent)) - return - - var/mob/living/player = parent - player.clear_alert(ALERT_BITRUNNER_GLITCH) - player.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/glitch_slowdown) - -/datum/movespeed_modifier/status_effect/glitch_slowdown - multiplicative_slowdown = 1.5 diff --git a/code/modules/bitrunning/components/npc_friendly.dm b/code/modules/bitrunning/components/npc_friendly.dm deleted file mode 100644 index 3686f0240566..000000000000 --- a/code/modules/bitrunning/components/npc_friendly.dm +++ /dev/null @@ -1,37 +0,0 @@ -/// Makes a mob friendly with most NPC factions -/datum/component/npc_friendly - /// The list of factions to add to the player - var/list/npc_factions = list( - FACTION_BOSS, - FACTION_CARP, - FACTION_HIVEBOT, - FACTION_HOSTILE, - FACTION_MIMIC, - FACTION_PIRATE, - FACTION_SPIDER, - FACTION_STICKMAN, - ROLE_ALIEN, - ROLE_GLITCH, - ROLE_SYNDICATE, - ) - /// List of factions previously held by the player - var/list/previous_factions = list() - -/datum/component/npc_friendly/Initialize() - . = ..() - - if(!isliving(parent)) - return COMPONENT_INCOMPATIBLE - - var/mob/living/player = parent - - previous_factions.Add(player.faction) - player.faction |= npc_factions - -/datum/component/npc_friendly/Destroy(force, silent) - . = ..() - - var/mob/living/player = parent - - player.faction.Cut() - player.faction.Add(previous_factions) diff --git a/code/modules/bitrunning/components/virtual_elite_mob.dm b/code/modules/bitrunning/components/virtual_elite_mob.dm new file mode 100644 index 000000000000..5a5766ecdf54 --- /dev/null +++ b/code/modules/bitrunning/components/virtual_elite_mob.dm @@ -0,0 +1,18 @@ +/// Removes loot tables from megafauna and lowers their health. +/datum/element/virtual_elite_mob + +/datum/element/virtual_elite_mob/Attach(datum/target) + . = ..() + if(!ismegafauna(target)) + return ELEMENT_INCOMPATIBLE + + var/mob/living/simple_animal/hostile/megafauna/boss = target + + var/new_max = clamp(boss.maxHealth * 0.5, 600, 1200) + boss.maxHealth = new_max + boss.health = new_max + boss.true_spawn = FALSE + boss.loot.Cut() + boss.loot += /obj/structure/closet/crate/secure/bitrunning/encrypted + boss.crusher_loot.Cut() + boss.crusher_loot += /obj/structure/closet/crate/secure/bitrunning/encrypted diff --git a/code/modules/bitrunning/event.dm b/code/modules/bitrunning/event.dm index bfdc7926adbd..daae0d15c09e 100644 --- a/code/modules/bitrunning/event.dm +++ b/code/modules/bitrunning/event.dm @@ -7,12 +7,16 @@ category = EVENT_CATEGORY_INVASION description = "Causes a short term antagonist to spawn in the virtual domain." dynamic_should_hijack = FALSE + max_occurrences = 5 min_players = 1 - max_occurrences = 0 typepath = /datum/round_event/ghost_role/bitrunning_glitch - weight = 100 - /// List of servers on the station - var/list/datum/weakref/active_servers = list() + weight = 10 + /// List of active servers to choose from + var/list/obj/machinery/quantum_server/active_servers = list() + /// List of possible antags to spawn + var/static/list/possible_antags = list( + ROLE_CYBER_POLICE, + ) /datum/round_event_control/bitrunning_glitch/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) . = ..() @@ -21,17 +25,16 @@ active_servers.Cut() - validate_servers() + get_active_servers() if(length(active_servers)) return TRUE /// All servers currently running, has players in it, and map has valid mobs -/datum/round_event_control/bitrunning_glitch/proc/validate_servers() - active_servers.Cut() +/datum/round_event_control/bitrunning_glitch/proc/get_active_servers() for(var/obj/machinery/quantum_server/server in SSmachines.get_machines_by_type(/obj/machinery/quantum_server)) - if(server.validate_mutation_candidates()) - active_servers.Add(WEAKREF(server)) + if(length(server.get_valid_domain_targets())) + active_servers.Add(server) return length(active_servers) > 0 @@ -39,10 +42,13 @@ input_text = "Select a role to spawn." /datum/event_admin_setup/listed_options/bitrunning_glitch/get_list() - var/list/available = list("Random") - available += subtypesof(/datum/antagonist/bitrunning_glitch) + var/datum/round_event_control/bitrunning_glitch/control = event_control + + var/list/possible = control.possible_antags.Copy() // this seems pedantic but byond is complaining control was unused + + possible += list("Random") - return available + return possible /datum/event_admin_setup/listed_options/bitrunning_glitch/apply_to_event(datum/round_event/ghost_role/bitrunning_glitch/event) if(chosen == "Random") @@ -51,19 +57,14 @@ event.forced_role = chosen /datum/event_admin_setup/minimum_candidate_requirement/bitrunning_glitch - output_text = "There must be valid mobs to mutate!" + output_text = "There must be valid mobs to mutate or players in the domain!" /datum/event_admin_setup/minimum_candidate_requirement/bitrunning_glitch/count_candidates() var/datum/round_event_control/bitrunning_glitch/cyber_control = event_control - - cyber_control.validate_servers() + cyber_control.get_active_servers() var/total = 0 - for(var/datum/weakref/server_ref in cyber_control.active_servers) - var/obj/machinery/quantum_server/server = server_ref?.resolve() - if(isnull(server)) - continue - + for(var/obj/machinery/quantum_server/server in cyber_control.active_servers) total += length(server.mutation_candidate_refs) return total @@ -81,9 +82,70 @@ var/obj/machinery/quantum_server/unlucky_server = pick(cyber_control.active_servers) cyber_control.active_servers.Cut() - if(!unlucky_server.validate_mutation_candidates()) + var/list/mutation_candidates = unlucky_server.get_valid_domain_targets() + if(!length(mutation_candidates)) return MAP_ERROR - spawned_mobs = unlucky_server.setup_glitch(forced_role) + var/chosen = pick(mutation_candidates) + if(isnull(chosen) || !length(mutation_candidates)) + return MAP_ERROR + + var/datum/weakref/target_ref = pick(mutation_candidates) + var/mob/living/mutation_target = target_ref.resolve() + + if(isnull(mutation_target)) // just in case since it takes a minute + target_ref = pick(mutation_candidates) + mutation_target = target_ref.resolve() + if(isnull(mutation_target)) + return MAP_ERROR + + var/chosen_role = forced_role || pick(cyber_control.possible_antags) + + var/datum/mind/ghost_mind = get_ghost_mind(chosen_role) + if(isnull(ghost_mind)) + return NOT_ENOUGH_PLAYERS + + var/mob/living/antag_mob + switch(chosen_role) + if(ROLE_CYBER_POLICE) + antag_mob = spawn_cybercop(mutation_target, ghost_mind) + + playsound(antag_mob, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) + message_admins("[ADMIN_LOOKUPFLW(antag_mob)] has been made into virtual antagonist by an event.") + antag_mob.log_message("was spawned as a virtual antagonist by an event.", LOG_GAME) + + SEND_SIGNAL(unlucky_server, COMSIG_BITRUNNER_SPAWN_GLITCH, antag_mob) + + spawned_mobs += antag_mob return SUCCESSFUL_SPAWN + +/// Polls for a ghost that wants to run it +/datum/round_event/ghost_role/bitrunning_glitch/proc/get_ghost_mind(role_name) + var/list/mob/dead/observer/ghosties = poll_ghost_candidates("A short term antagonist role is available. Would you like to spawn as a '[role_name]'?", role_name) + + if(!length(ghosties)) + return + + shuffle_inplace(ghosties) + + var/mob/dead/selected = pick(ghosties) + + var/datum/mind/player_mind = new /datum/mind(selected.key) + player_mind.active = TRUE + + return player_mind + +/// Spawns a cybercop on the mutation target +/datum/round_event/ghost_role/bitrunning_glitch/proc/spawn_cybercop(mob/living/mutation_target, datum/mind/player_mind) + var/mob/living/carbon/human/new_agent = new(mutation_target.loc) + mutation_target.gib() + mutation_target = null + + player_mind.transfer_to(new_agent) + player_mind.set_assigned_role(SSjob.GetJobType(/datum/job/cyber_police)) + player_mind.special_role = ROLE_CYBER_POLICE + player_mind.add_antag_datum(/datum/antagonist/cyber_police) + + return new_agent + diff --git a/code/modules/bitrunning/objects/byteforge.dm b/code/modules/bitrunning/objects/byteforge.dm index 7a08d652f8e7..c62149662104 100644 --- a/code/modules/bitrunning/objects/byteforge.dm +++ b/code/modules/bitrunning/objects/byteforge.dm @@ -5,7 +5,7 @@ desc = "A machine used by the quantum server. Quantum code converges here, materializing decrypted assets from the virtual abyss." icon = 'icons/obj/machines/bitrunning.dmi' icon_state = "byteforge" - obj_flags = BLOCKS_CONSTRUCTION | CAN_BE_HIT + obj_flags = BLOCKS_CONSTRUCTION /// Idle particles var/mutable_appearance/byteforge_particles @@ -17,6 +17,7 @@ /obj/machinery/byteforge/LateInitialize() . = ..() + byteforge_particles = mutable_appearance(initial(icon), "on_particles", ABOVE_MOB_LAYER) setup_particles() /obj/machinery/byteforge/update_appearance(updates) @@ -24,45 +25,32 @@ setup_particles() -/// Does some sparks after it's done -/obj/machinery/byteforge/proc/flash(atom/movable/thing) - playsound(src, 'sound/magic/blink.ogg', 50, TRUE) +/// Adds the particle overlays to the byteforge +/obj/machinery/byteforge/proc/setup_particles() + cut_overlays() - var/datum/effect_system/spark_spread/quantum/sparks = new() - sparks.set_up(5, 1, loc) - sparks.start() + if(is_operational) + add_overlay(byteforge_particles) - set_light(l_on = FALSE) +/// Begins spawning the crate - lights, overlays, etc +/obj/machinery/byteforge/proc/start_to_spawn(obj/structure/closet/crate/secure/bitrunning/encrypted/cache) + addtimer(CALLBACK(src, PROC_REF(spawn_crate), cache), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) -/// Forge begins to process -/obj/machinery/byteforge/proc/flicker(angry = FALSE) - var/mutable_appearance/lighting = mutable_appearance(initial(icon), "on_overlay[angry ? "_angry" : ""]") + var/mutable_appearance/lighting = mutable_appearance(initial(icon), "on_overlay") flick_overlay_view(lighting, 1 SECONDS) -// set_light(l_range = 2, l_power = 1.5, l_color = angry ? LIGHT_COLOR_BUBBLEGUM : LIGHT_COLOR_BABY_BLUE, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights - set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_color = angry ? LIGHT_COLOR_BUBBLEGUM : LIGHT_COLOR_BABY_BLUE, l_on = TRUE) // MONKEYSTATION EDIT NEW - -/// Adds the particle overlays to the byteforge -/obj/machinery/byteforge/proc/setup_particles(angry = FALSE) - cut_overlay(byteforge_particles) - - byteforge_particles = mutable_appearance(initial(icon), "on_particles[angry ? "_angry" : ""]", ABOVE_MOB_LAYER) +// set_light(l_range = 2, l_power = 1.5, l_color = LIGHT_COLOR_BABY_BLUE, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights + set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_color = LIGHT_COLOR_BABY_BLUE, l_on = TRUE) // MONKEYSTATION EDIT NEW - if(is_operational) - add_overlay(byteforge_particles) - -/// Forge is done processing -/obj/machinery/byteforge/proc/spawn_cache(obj/cache) +/// Sparks, moves the crate to the location +/obj/machinery/byteforge/proc/spawn_crate(obj/structure/closet/crate/secure/bitrunning/encrypted/cache) if(QDELETED(cache)) return - flash() + playsound(src, 'sound/magic/blink.ogg', 50, TRUE) + var/datum/effect_system/spark_spread/quantum/sparks = new() + sparks.set_up(5, 1, loc) + sparks.start() cache.forceMove(loc) - -/// Timed flash -/obj/machinery/byteforge/proc/start_to_spawn(obj/cache) - flicker() - - addtimer(CALLBACK(src, PROC_REF(spawn_cache), cache), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) - + set_light(l_on = FALSE) diff --git a/code/modules/bitrunning/objects/debug.dm b/code/modules/bitrunning/objects/debug.dm deleted file mode 100644 index 790aba731162..000000000000 --- a/code/modules/bitrunning/objects/debug.dm +++ /dev/null @@ -1,7 +0,0 @@ -/obj/item/bitrunning_debug - name = "bitrunning debug item" - desc = "Adds points and reduces cooldown time for debugging" - icon = 'icons/obj/assemblies/module.dmi' - base_icon_state = "datadisk" - icon_state = "datadisk0" - diff --git a/code/modules/bitrunning/objects/disks.dm b/code/modules/bitrunning/objects/disks.dm index 16f5dbac4378..66422b5386ab 100644 --- a/code/modules/bitrunning/objects/disks.dm +++ b/code/modules/bitrunning/objects/disks.dm @@ -21,23 +21,25 @@ return icon_state = "[base_icon_state][rand(0, 7)]" update_icon() + RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) -/obj/item/bitrunning_disk/examine(mob/user) - . = ..() - . += span_infoplain("This disk must be carried on your person into a netpod to be used.") +/obj/item/bitrunning_disk/proc/on_examined(datum/source, mob/examiner, list/examine_text) + SIGNAL_HANDLER + + examine_text += span_infoplain("This disk must be carried on your person into a netpod to be used.") if(monkeystation_override) // monkeystation change, override for disks with single powers/items return if(isnull(choice_made)) - . += span_notice("To make a selection, toggle the disk in hand.") + examine_text += span_notice("To make a selection, toggle the disk in hand.") return - . += span_info("It has been used to select: [choice_made].") - . += span_notice("It cannot make another selection.") + examine_text += span_info("It has been used to select: [choice_made].") + examine_text += span_notice("It cannot make another selection.") /obj/item/bitrunning_disk/ability - desc = "A disk containing source code. It can be used to preload abilities into the virtual domain. Duplicate abilities will be ignored." + desc = "A disk containing source code. It can be used to preload abilities into the virtual domain." /// The selected ability that this grants var/datum/action/granted_action /// The list of actions that this can grant @@ -135,16 +137,16 @@ /obj/item/bitrunning_disk/item/tier2 name = "bitrunning gear: complex" selectable_items = list( - /obj/item/reagent_containers/hypospray/medipen/survival/luxury, + /obj/item/chainsaw, /obj/item/gun/ballistic/automatic/pistol, - /obj/item/clothing/suit/armor/vest, + /obj/item/melee/energy/blade/hardlight, ) /// Tier 3 items. Very powerful, game breaking. /obj/item/bitrunning_disk/item/tier3 name = "bitrunning gear: advanced" selectable_items = list( - /obj/item/gun/energy/e_gun/nuclear, + /obj/item/gun/energy/tesla_cannon, /obj/item/dualsaber/green, - /obj/item/grenade/syndieminibomb, + /obj/item/melee/beesword, ) diff --git a/code/modules/bitrunning/objects/landmarks.dm b/code/modules/bitrunning/objects/landmarks.dm index 20dcef3e929d..d727025c9286 100644 --- a/code/modules/bitrunning/objects/landmarks.dm +++ b/code/modules/bitrunning/objects/landmarks.dm @@ -6,6 +6,43 @@ /// In case you want to gate the crate behind a special condition. /obj/effect/landmark/bitrunning/loot_signal name = "Mysterious aura" + /// The amount required to spawn a crate + var/points_goal = 10 + /// A special condition limits this from spawning a crate + var/points_received = 0 + /// Finished the special condition + var/revealed = FALSE + +/obj/effect/landmark/bitrunning/loot_signal/Initialize(mapload) + . = ..() + + RegisterSignal(src, COMSIG_BITRUNNER_GOAL_POINT, PROC_REF(on_add_point)) + +/// Listens for points to be added which will eventually spawn a crate. +/obj/effect/landmark/bitrunning/loot_signal/proc/on_add_point(datum/source, points_to_add) + SIGNAL_HANDLER + + if(revealed) + return + + points_received += points_to_add + + if(points_received < points_goal) + return + + reveal() + +/// Spawns the crate with some effects +/obj/effect/landmark/bitrunning/loot_signal/proc/reveal() + playsound(src, 'sound/magic/blink.ogg', 50, TRUE) + + var/turf/tile = get_turf(src) + var/obj/structure/closet/crate/secure/bitrunning/encrypted/loot = new(tile) + var/datum/effect_system/spark_spread/quantum/sparks = new(tile) + sparks.set_up(5, 1, get_turf(loot)) + sparks.start() + + qdel(src) /// Where the exit hololadder spawns /obj/effect/landmark/bitrunning/hololadder_spawn @@ -20,7 +57,7 @@ /// Where you want the crate to spawn /obj/effect/landmark/bitrunning/cache_spawn name = "Bitrunning crate spawn" - icon_state = "crate" + icon_state = "spawn" /// Where the safehouse will spawn /obj/effect/landmark/bitrunning/safehouse_spawn @@ -36,10 +73,7 @@ /obj/effect/landmark/bitrunning/crate_replacer/Initialize(mapload) . = ..() -#ifdef UNIT_TESTS - return -#endif - + #ifndef UNIT_TESTS var/list/crate_list = list() var/obj/structure/closet/crate/secure/bitrunning/encrypted/encrypted_crate var/area/my_area = get_area(src) @@ -66,7 +100,4 @@ encrypted_crate.abstract_move(selected_crate.loc) selected_crate.abstract_move(original_location) -/// A location for mobs to spawn. -/obj/effect/landmark/bitrunning/mob_segment - name = "Bitrunning modular mob segment" - icon_state = "mob_segment" + #endif diff --git a/code/modules/bitrunning/objects/loot_crate.dm b/code/modules/bitrunning/objects/loot_crate.dm index 976be67b43aa..c5fa99296ace 100644 --- a/code/modules/bitrunning/objects/loot_crate.dm +++ b/code/modules/bitrunning/objects/loot_crate.dm @@ -17,7 +17,6 @@ name = "encrypted cache" desc = "Needs decrypted at the safehouse to be opened." locked = TRUE - damage_deflection = 30 /// The bitrunner den - side of the bitrunning crate. Appears in the receive location. /obj/structure/closet/crate/secure/bitrunning/decrypted @@ -68,7 +67,7 @@ /obj/structure/closet/crate/secure/bitrunning/decrypted/proc/spawn_loot(list/extra_loot) for(var/path in extra_loot) if(!ispath(path)) - return FALSE + continue if(isnull(extra_loot[path])) return FALSE diff --git a/code/modules/bitrunning/objects/netpod.dm b/code/modules/bitrunning/objects/netpod.dm index 0208c1fe4081..2866663c446c 100644 --- a/code/modules/bitrunning/objects/netpod.dm +++ b/code/modules/bitrunning/objects/netpod.dm @@ -35,6 +35,8 @@ disconnect_damage = BASE_DISCONNECT_DAMAGE find_server() +// RegisterSignal(src, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) MONKEYSTATION EDIT CHANGE OLD + RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) // MONKEYSTATION EDIT CHANGE NEW - we didnt have PR #75914 :c RegisterSignal(src, COMSIG_ATOM_TAKE_DAMAGE, PROC_REF(on_damage_taken)) RegisterSignal(src, COMSIG_MACHINERY_POWER_LOST, PROC_REF(on_power_loss)) // RegisterSignals(src, list(COMSIG_QDELETING, COMSIG_MACHINERY_BROKEN),PROC_REF(on_broken)) MONKEYSTATION EDIT CHANGE OLD @@ -45,27 +47,7 @@ /obj/machinery/netpod/Destroy() . = ..() - - QDEL_LIST(cached_outfits) - -/obj/machinery/netpod/examine(mob/user) - . = ..() - - if(isnull(server_ref?.resolve())) - . += span_infoplain("It's not connected to anything.") - . += span_infoplain("Netpods must be built within 4 tiles of a server.") - return - - . += span_infoplain("Drag yourself into the pod to engage the link.") - . += span_infoplain("It has limited resuscitation capabilities. Remaining in the pod can heal some injuries.") - . += span_infoplain("It has a security system that will alert the occupant if it is tampered with.") - - if(isnull(occupant)) - . += span_notice("It is currently unoccupied.") - return - - . += span_notice("It is currently occupied by [occupant].") - . += span_notice("It can be pried open with a crowbar, but its safety mechanisms will alert the occupant.") + cached_outfits.Cut() /obj/machinery/netpod/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() @@ -421,6 +403,26 @@ QDEL_NULL(avatar) +/// User inspects the machine +/obj/machinery/netpod/proc/on_examine(datum/source, mob/examiner, list/examine_text) + SIGNAL_HANDLER + + if(isnull(server_ref?.resolve())) + examine_text += span_infoplain("It's not connected to anything.") + examine_text += span_infoplain("Netpods must be built within 4 tiles of a server.") + return + + examine_text += span_infoplain("Drag yourself into the pod to engage the link.") + examine_text += span_infoplain("It has limited resuscitation capabilities. Remaining in the pod can heal some injuries.") + examine_text += span_infoplain("It has a security system that will alert the occupant if it is tampered with.") + + if(isnull(occupant)) + examine_text += span_notice("It is currently unoccupied.") + return + + examine_text += span_notice("It is currently occupied by [occupant].") + examine_text += span_notice("It can be pried open with a crowbar, but its safety mechanisms will alert the occupant.") + /// Boots out anyone in the machine && opens it /obj/machinery/netpod/proc/on_power_loss(datum/source) SIGNAL_HANDLER diff --git a/code/modules/bitrunning/objects/quantum_console.dm b/code/modules/bitrunning/objects/quantum_console.dm index 71d7df87f121..cfa051b12a24 100644 --- a/code/modules/bitrunning/objects/quantum_console.dm +++ b/code/modules/bitrunning/objects/quantum_console.dm @@ -17,7 +17,8 @@ /obj/machinery/computer/quantum_console/LateInitialize() . = ..() - find_server() + if(isnull(server_ref?.resolve())) + find_server() /obj/machinery/computer/quantum_console/ui_interact(mob/user, datum/tgui/ui) . = ..() @@ -25,6 +26,9 @@ if(!is_operational) return + if(isnull(server_ref?.resolve())) + find_server() + ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "QuantumConsole") @@ -72,13 +76,17 @@ switch(action) if("random_domain") - server.cold_boot_map(server.get_random_domain_id()) + var/map_id = server.get_random_domain_id() + if(!map_id) + return TRUE + + server.cold_boot_map(usr, map_id) return TRUE if("refresh") ui.send_full_update() return TRUE if("set_domain") - server.cold_boot_map(params["id"]) + server.cold_boot_map(usr, params["id"]) return TRUE if("stop_domain") server.begin_shutdown(usr) diff --git a/code/modules/bitrunning/outfits.dm b/code/modules/bitrunning/outfits.dm index c25963aa94f3..9a0a69237819 100644 --- a/code/modules/bitrunning/outfits.dm +++ b/code/modules/bitrunning/outfits.dm @@ -1,20 +1,27 @@ /datum/outfit/cyber_police - name = ROLE_CYBER_POLICE + name = "Cyber Police" - glasses = /obj/item/clothing/glasses/sunglasses - gloves = /obj/item/clothing/gloves/color/black id = /obj/item/card/id/advanced id_trim = /datum/id_trim/cyber_police - shoes = /obj/item/clothing/shoes/laceup uniform = /obj/item/clothing/under/suit/black_really - -/datum/outfit/cyber_police/pre_equip(mob/living/carbon/human/user, visualsOnly) - if(!visualsOnly) - return - - user.set_facial_hairstyle("Shaved", update = FALSE) - user.set_haircolor("#4B3D28", update = FALSE) - user.set_hairstyle("Business Hair") + glasses = /obj/item/clothing/glasses/sunglasses + gloves = /obj/item/clothing/gloves/color/black + shoes = /obj/item/clothing/shoes/laceup + /// A list of hex codes for blonde, brown, black, and red hair. + var/static/list/approved_hair_colors = list( + "#4B3D28", + "#000000", + "#8D4A43", + "#D2B48C", + ) + /// List of business ready styles + var/static/list/approved_hairstyles = list( + /datum/sprite_accessory/hair/business, + /datum/sprite_accessory/hair/business2, + /datum/sprite_accessory/hair/business3, + /datum/sprite_accessory/hair/business4, + /datum/sprite_accessory/hair/mulder, + ) /datum/outfit/cyber_police/post_equip(mob/living/carbon/human/user, visualsOnly) var/obj/item/clothing/under/officer_uniform = user.w_uniform @@ -37,4 +44,3 @@ /datum/outfit/echolocator/post_equip(mob/living/carbon/human/user, visualsOnly) . = ..() user.psykerize() - diff --git a/code/modules/bitrunning/server/loot.dm b/code/modules/bitrunning/server/loot.dm index 0aab2a86ff42..91889bce0a5f 100644 --- a/code/modules/bitrunning/server/loot.dm +++ b/code/modules/bitrunning/server/loot.dm @@ -110,9 +110,6 @@ score += time_score * base - // Increases the chance for glitches to spawn based on how well they're doing - threat += score - switch(score) if(1 to 4) return "D" @@ -124,4 +121,3 @@ return "A" else return "S" - diff --git a/code/modules/bitrunning/server/map_handling.dm b/code/modules/bitrunning/server/map_handling.dm index 6fcc4ad7d487..0d770708f78c 100644 --- a/code/modules/bitrunning/server/map_handling.dm +++ b/code/modules/bitrunning/server/map_handling.dm @@ -1,16 +1,18 @@ +#define ONLY_TURF 1 + /// Gives all current occupants a notification that the server is going down /obj/machinery/quantum_server/proc/begin_shutdown(mob/user) if(isnull(generated_domain)) return if(!length(avatar_connection_refs)) - balloon_alert_to_viewers("powering down domain...") - playsound(src, 'sound/machines/terminal_off.ogg', 40, vary = TRUE) + balloon_alert(user, "powering down domain...") + playsound(src, 'sound/machines/terminal_off.ogg', 40, 2) reset() return - balloon_alert_to_viewers("notifying clients...") - playsound(src, 'sound/machines/terminal_alert.ogg', 100, vary = TRUE) + balloon_alert(user, "notifying clients...") + playsound(src, 'sound/machines/terminal_alert.ogg', 100, TRUE) user.visible_message( span_danger("[user] begins depowering the server!"), span_notice("You start disconnecting clients..."), @@ -24,40 +26,40 @@ reset() -/// Links all the loading processes together - does validation for booting a map -/obj/machinery/quantum_server/proc/cold_boot_map(map_key) +/** + * ### Quantum Server Cold Boot + * Procedurally links the 3 booting processes together. + * + * This is the starting point if you have an id. Does validation and feedback on steps + */ +/obj/machinery/quantum_server/proc/cold_boot_map(mob/user, map_key) if(!is_ready) return FALSE if(isnull(map_key)) - balloon_alert_to_viewers("no domain specified.") + balloon_alert(user, "no domain specified.") return FALSE if(generated_domain) - balloon_alert_to_viewers("stop the current domain first.") + balloon_alert(user, "stop the current domain first.") return FALSE if(length(avatar_connection_refs)) - balloon_alert_to_viewers("all clients must disconnect!") + balloon_alert(user, "all clients must disconnect!") return FALSE is_ready = FALSE playsound(src, 'sound/machines/terminal_processing.ogg', 30, 2) - /// If any one of these fail, it reverts the entire process - if(!load_domain(map_key) || !load_safehouse() || !load_map_items() || !load_mob_segments()) - balloon_alert_to_viewers("initialization failed.") + if(!initialize_domain(map_key) || !initialize_safehouse() || !initialize_map_items()) + balloon_alert(user, "initialization failed.") scrub_vdom() is_ready = TRUE return FALSE is_ready = TRUE - - if(prob(clamp((threat * glitch_chance), 1, 10))) - setup_glitch() - - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 30, vary = TRUE) - balloon_alert_to_viewers("domain loaded.") + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 30, 2) + balloon_alert(user, "domain loaded.") generated_domain.start_time = world.time points -= generated_domain.cost update_use_power(ACTIVE_POWER_USE) @@ -66,20 +68,28 @@ return TRUE /// Initializes a new domain if the given key is valid and the user has enough points -/obj/machinery/quantum_server/proc/load_domain(map_key) +/obj/machinery/quantum_server/proc/initialize_domain(map_key) + var/datum/lazy_template/virtual_domain/to_load + for(var/datum/lazy_template/virtual_domain/available as anything in subtypesof(/datum/lazy_template/virtual_domain)) - if(map_key == initial(available.key) && points >= initial(available.cost)) - generated_domain = new available() - RegisterSignal(generated_domain, COMSIG_LAZY_TEMPLATE_LOADED, PROC_REF(on_template_loaded)) - generated_domain.lazy_load() - return TRUE + if(map_key != initial(available.key) || points < initial(available.cost)) + continue + to_load = available + break - return FALSE + if(isnull(to_load)) + return FALSE -/// Loads in necessary map items like hololadder spawns, caches, etc -/obj/machinery/quantum_server/proc/load_map_items() + generated_domain = new to_load() + RegisterSignal(generated_domain, COMSIG_LAZY_TEMPLATE_LOADED, PROC_REF(on_template_loaded)) + generated_domain.lazy_load() + + return TRUE + +/// Loads in necessary map items, sets mutation targets, etc +/obj/machinery/quantum_server/proc/initialize_map_items() var/turf/goal_turfs = list() - var/turf/cache_turfs = list() + var/turf/crate_turfs = list() for(var/obj/effect/landmark/bitrunning/thing in GLOB.landmarks_list) if(istype(thing, /obj/effect/landmark/bitrunning/hololadder_spawn)) @@ -96,7 +106,7 @@ continue if(istype(thing, /obj/effect/landmark/bitrunning/cache_spawn)) - cache_turfs += get_turf(thing) + crate_turfs += get_turf(thing) qdel(thing) continue @@ -110,23 +120,26 @@ if(!length(goal_turfs)) CRASH("Failed to find send turfs on generated domain.") - if(!attempt_spawn_cache(cache_turfs)) - return FALSE + if(length(crate_turfs)) + shuffle_inplace(crate_turfs) + new /obj/structure/closet/crate/secure/bitrunning/encrypted(pick(crate_turfs)) return TRUE /// Loads the safehouse -/obj/machinery/quantum_server/proc/load_safehouse() - var/obj/effect/landmark/bitrunning/safehouse_spawn/landmark = locate() in GLOB.landmarks_list - if(isnull(landmark)) - CRASH("vdom: failed to find safehouse spawn landmark") +/obj/machinery/quantum_server/proc/initialize_safehouse() + var/turf/safehouse_load_turf = list() + for(var/obj/effect/landmark/bitrunning/safehouse_spawn/spawner in GLOB.landmarks_list) + safehouse_load_turf += get_turf(spawner) + qdel(spawner) + break - var/turf/spawn_loc = get_turf(landmark) - qdel(landmark) + if(!length(safehouse_load_turf)) + CRASH("Failed to find safehouse load landmark on map.") - var/datum/map_template/safehouse/new_safehouse = new generated_domain.safehouse_path() - if(!new_safehouse.load(spawn_loc)) - CRASH("vdom: failed to load safehouse") + var/datum/map_template/safehouse/safehouse = new generated_domain.safehouse_path() + safehouse.load(safehouse_load_turf[ONLY_TURF]) + generated_safehouse = safehouse return TRUE @@ -142,14 +155,14 @@ else scrub_vdom() // used in unit testing, no need to wait for callbacks - addtimer(CALLBACK(src, PROC_REF(cool_off)), ROUND_UP(server_cooldown_time * capacitor_coefficient), TIMER_UNIQUE|TIMER_STOPPABLE|TIMER_DELETE_ME) + addtimer(CALLBACK(src, PROC_REF(cool_off)), min(server_cooldown_time * capacitor_coefficient), TIMER_UNIQUE|TIMER_STOPPABLE|TIMER_DELETE_ME) update_appearance() update_use_power(IDLE_POWER_USE) domain_randomized = FALSE retries_spent = 0 -/// Tries to clean up everything in the domain +/// Deletes all the tile contents /obj/machinery/quantum_server/proc/scrub_vdom() sever_connections() /// just in case someone's connected SEND_SIGNAL(src, COMSIG_BITRUNNER_DOMAIN_SCRUBBED) // avatar cleanup just in case @@ -158,16 +171,19 @@ var/datum/turf_reservation/res = generated_domain.reservations[1] res.Release() - var/list/creatures = spawned_threat_refs + mutation_candidate_refs + var/list/datum/weakref/creatures = spawned_threat_refs + mutation_candidate_refs for(var/datum/weakref/creature_ref as anything in creatures) var/mob/living/creature = creature_ref?.resolve() if(isnull(creature)) continue - creature.dust(just_ash = TRUE, force = TRUE) // sometimes mobs just don't die + creature.dust() // sometimes mobs just don't die avatar_connection_refs.Cut() exit_turfs = list() generated_domain = null + generated_safehouse = null mutation_candidate_refs.Cut() spawned_threat_refs.Cut() + +#undef ONLY_TURF diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm index 9d5f8427c001..c503c2b28a5d 100644 --- a/code/modules/bitrunning/server/obj_generation.dm +++ b/code/modules/bitrunning/server/obj_generation.dm @@ -1,20 +1,3 @@ -/// Attempts to spawn a crate twice based on the list of available locations -/obj/machinery/quantum_server/proc/attempt_spawn_cache(list/possible_turfs) - if(!length(possible_turfs)) - return TRUE - - shuffle_inplace(possible_turfs) - var/turf/chosen_turf = validate_turf(pick(possible_turfs)) - - if(isnull(chosen_turf)) - possible_turfs.Remove(chosen_turf) - chosen_turf = validate_turf(pick(possible_turfs)) - if(isnull(chosen_turf)) - CRASH("vdom: after two attemps, could not find a valid turf for cache") - - new /obj/structure/closet/crate/secure/bitrunning/encrypted(chosen_turf) - return TRUE - /// Generates a new avatar for the bitrunner. /obj/machinery/quantum_server/proc/generate_avatar(obj/structure/hololadder/wayout, datum/outfit/netsuit) var/mob/living/carbon/human/avatar = new(wayout.loc) @@ -36,11 +19,19 @@ if(istype(jumpsuit)) jumpsuit.set_armor(/datum/armor/clothing_under) - var/obj/item/clothing/head/hat = locate() in avatar.get_equipped_items() +// var/obj/item/clothing/head/hat = avatar.get_clothing_on_part(HEAD) MONKEYSTATION EDIT CHANGE OLD + var/obj/item/clothing/head/hat = avatar.clothingonpart(HEAD) // MONKEYSTATION EDIT CHANGE NEW - we dont have TG's PR #78589 so its named a bit differently + if(istype(hat)) - hat.set_armor(/datum/armor/none) + hat.set_armor(null) + + var/thing = avatar.get_active_held_item() + if(!isnull(thing)) + qdel(thing) - QDEL_LIST(avatar.held_items) + thing = avatar.get_inactive_held_item() + if(!isnull(thing)) + qdel(thing) var/obj/item/storage/backpack/bag = avatar.back if(istype(bag)) @@ -89,33 +80,6 @@ return wayout -/// Loads in any mob segments of the map -/obj/machinery/quantum_server/proc/load_mob_segments() - if(!length(generated_domain.mob_modules)) - return TRUE - - var/current_index = 1 - shuffle_inplace(generated_domain.mob_modules) - - for(var/obj/effect/landmark/bitrunning/mob_segment/landmark in GLOB.landmarks_list) - if(current_index > length(generated_domain.mob_modules)) - stack_trace("vdom: mobs segments are set to unique, but there are more landmarks than available segments") - return FALSE - - var/path - if(generated_domain.modular_unique_mobs) - path = generated_domain.mob_modules[current_index] - current_index += 1 - else - path = pick(generated_domain.mob_modules) - - var/datum/modular_mob_segment/segment = new path() - segment.spawn_mobs(get_turf(landmark)) - mutation_candidate_refs += segment.spawned_mob_refs - qdel(landmark) - - return TRUE - /// Scans over neo's contents for bitrunning tech disks. Loads the items or abilities onto the avatar. /obj/machinery/quantum_server/proc/stock_gear(mob/living/carbon/human/avatar, mob/living/carbon/human/neo, datum/lazy_template/virtual_domain/generated_domain) var/domain_forbids_items = generated_domain.forbids_disk_items @@ -147,11 +111,6 @@ continue var/datum/action/our_action = new ability_disk.granted_action() - - if(locate(our_action.type) in avatar.actions) - failed = TRUE - continue - our_action.Grant(avatar) continue @@ -165,4 +124,4 @@ avatar.put_in_hands(new item_disk.granted_item()) if(failed) - to_chat(neo, span_warning("One of your disks failed to load. Check for duplicate or inactive disks.")) + to_chat(neo, span_warning("One of your disks failed to load. You must activate them to make a selection.")) diff --git a/code/modules/bitrunning/server/_parent.dm b/code/modules/bitrunning/server/quantum_server.dm similarity index 69% rename from code/modules/bitrunning/server/_parent.dm rename to code/modules/bitrunning/server/quantum_server.dm index ac907d85d47c..b84d318db0c7 100644 --- a/code/modules/bitrunning/server/_parent.dm +++ b/code/modules/bitrunning/server/quantum_server.dm @@ -14,12 +14,12 @@ var/capacitor_coefficient = 1 /// The loaded map template, map_template/virtual_domain var/datum/lazy_template/virtual_domain/generated_domain + /// The loaded safehouse, map_template/safehouse + var/datum/map_template/safehouse/generated_safehouse /// If the current domain was a random selection var/domain_randomized = FALSE /// Prevents multiple user actions. Handled by loading domains and cooldowns var/is_ready = TRUE - /// Chance multipled by threat to spawn a glitch - var/glitch_chance = 0.05 /// List of available domains var/list/available_domains = list() /// Current plugged in users @@ -42,8 +42,6 @@ var/server_cooldown_time = 3 MINUTES /// Applies bonuses to rewards etc var/servo_bonus = 0 - /// Determines the glitches available to spawn, builds with completion - var/threat = 0 /// The turfs we can place a hololadder on. var/turf/exit_turfs = list() @@ -56,13 +54,15 @@ . = ..() radio = new(src) - radio.keyslot = new /obj/item/encryptionkey/headset_cargo() - radio.set_listening(FALSE) + radio.set_frequency(FREQ_SUPPLY) + radio.subspace_transmission = TRUE + radio.canhear_range = 0 radio.recalculateChannels() RegisterSignals(src, list(COMSIG_MACHINERY_BROKEN, COMSIG_MACHINERY_POWER_LOST), PROC_REF(on_broken)) -// RegisterSignal(src, COMSIG_QDELETING, PROC_REF(on_delete)) MONKEYSTATION EDIT CHANGE OLD - RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(on_delete))// MONKEYSTATION EDIT CHANGE NEW - we dont have PR #75914 + RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(on_delete)) + RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(src, COMSIG_BITRUNNER_SPAWN_GLITCH, PROC_REF(on_threat_created)) // This further gets sorted in the client by cost so it's random and grouped available_domains = shuffle(subtypesof(/datum/lazy_template/virtual_domain)) @@ -76,40 +76,18 @@ spawned_threat_refs.Cut() QDEL_NULL(exit_turfs) QDEL_NULL(generated_domain) + QDEL_NULL(generated_safehouse) QDEL_NULL(radio) -/obj/machinery/quantum_server/examine(mob/user) - . = ..() - - . += span_infoplain("Can be resource intensive to run. Ensure adequate power supply.") - - if(capacitor_coefficient < 1) - . += span_infoplain("Its coolant capacity reduces cooldown time by [(1 - capacitor_coefficient) * 100]%.") - - if(servo_bonus > 0.2) - . += span_infoplain("Its manipulation potential is increasing rewards by [servo_bonus]x.") - . += span_infoplain("Injury from unsafe ejection reduced [servo_bonus * 100]%.") - - if(!is_ready) - . += span_notice("It is currently cooling down. Give it a few moments.") - -/obj/machinery/quantum_server/emag_act(mob/user, obj/item/card/emag/emag_card) - . = ..() - - obj_flags |= EMAGGED - glitch_chance = 0.09 - - add_overlay(mutable_appearance('icons/obj/machines/bitrunning.dmi', "emag_overlay")) - balloon_alert(user, "bzzzt...") - playsound(src, 'sound/effects/sparks1.ogg', 35, vary = TRUE) - /obj/machinery/quantum_server/update_appearance(updates) if(isnull(generated_domain) || !is_operational) set_light(l_on = FALSE) return ..() -// set_light(l_range = 2, l_power = 1.5, l_color = is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights - set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_color = is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE, l_on = TRUE) // MONKEYSTATION EDIT NEW + set_light_color(is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE) +// set_light(l_range = 2, l_power = 1.5, l_on = TRUE) MONKEYSTATION EDIT ORIGINAL - We have changed lights + set_light(l_inner_range = 1, l_outer_range = 2, l_power = 1.5, l_on = TRUE) // MONKEYSTATION EDIT NEW + return ..() /obj/machinery/quantum_server/update_icon_state() @@ -120,14 +98,6 @@ icon_state = "[base_icon_state]_[is_ready ? "on" : "off"]" return ..() -/obj/machinery/quantum_server/attackby(obj/item/weapon, mob/user, params) - . = ..() - if(istype(weapon, /obj/item/bitrunning_debug)) - obj_flags |= EMAGGED - glitch_chance = 0.5 - capacitor_coefficient = 0.01 - points = 100 - /obj/machinery/quantum_server/crowbar_act(mob/living/user, obj/item/crowbar) . = ..() @@ -152,6 +122,8 @@ return FALSE /obj/machinery/quantum_server/RefreshParts() + . = ..() + var/capacitor_rating = 1.15 var/datum/stock_part/capacitor/cap = locate() in component_parts capacitor_rating -= cap.tier * 0.15 @@ -168,4 +140,3 @@ servo_bonus = servo_rating - return ..() diff --git a/code/modules/bitrunning/server/signal_handlers.dm b/code/modules/bitrunning/server/signal_handlers.dm index bd98c1ce2a1d..c41c0b529fc8 100644 --- a/code/modules/bitrunning/server/signal_handlers.dm +++ b/code/modules/bitrunning/server/signal_handlers.dm @@ -14,9 +14,8 @@ /obj/machinery/quantum_server/proc/on_delete(datum/source) SIGNAL_HANDLER - sever_connections() - if(generated_domain) + sever_connections() scrub_vdom() if(is_ready) @@ -26,6 +25,23 @@ if(circuit) qdel(circuit) +/// Handles examining the server. Shows cooldown time and efficiency. +/obj/machinery/quantum_server/proc/on_examine(datum/source, mob/examiner, list/examine_text) + SIGNAL_HANDLER + + examine_text += span_infoplain("Can be resource intensive to run. Ensure adequate power supply.") + + if(capacitor_coefficient < 1) + examine_text += span_infoplain("Its coolant capacity reduces cooldown time by [(1 - capacitor_coefficient) * 100]%.") + + if(servo_bonus > 0.2) + examine_text += span_infoplain("Its manipulation potential is increasing rewards by [servo_bonus]x.") + examine_text += span_infoplain("Injury from unsafe ejection reduced [servo_bonus * 100]%.") + + if(!is_ready) + examine_text += span_notice("It is currently cooling down. Give it a few moments.") + return + /// Whenever something enters the send tiles, check if it's a loot crate. If so, alert players. /obj/machinery/quantum_server/proc/on_goal_turf_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) SIGNAL_HANDLER @@ -34,15 +50,6 @@ if(isnull(chosen_forge)) return - if((obj_flags & EMAGGED) && isliving(arrived)) - var/mob/living/creature = arrived - - if(!creature.mind?.has_antag_datum(/datum/antagonist/bitrunning_glitch, check_subtypes = TRUE)) - return - - INVOKE_ASYNC(src, PROC_REF(station_spawn), arrived, chosen_forge) - return - if(istype(arrived, /obj/structure/closet/crate/secure/bitrunning/encrypted)) generate_loot(arrived, chosen_forge) return @@ -63,8 +70,7 @@ var/mob/living/creature = thing if(ismegafauna(creature)) - var/mob/living/simple_animal/hostile/megafauna/boss = creature - boss.make_virtual_megafauna() + creature.AddElement(/datum/element/virtual_elite_mob) continue mutation_candidate_refs.Add(WEAKREF(creature)) diff --git a/code/modules/bitrunning/server/threats.dm b/code/modules/bitrunning/server/threats.dm index e4fd60176c97..451b4c48c190 100644 --- a/code/modules/bitrunning/server/threats.dm +++ b/code/modules/bitrunning/server/threats.dm @@ -3,37 +3,6 @@ spawned_threat_refs.Add(WEAKREF(threat)) SEND_SIGNAL(src, COMSIG_BITRUNNER_THREAT_CREATED) -/// Choses which antagonist role is spawned based on threat -/obj/machinery/quantum_server/proc/get_antagonist_role() - var/list/available = list() - - for(var/datum/antagonist/bitrunning_glitch/subtype as anything in subtypesof(/datum/antagonist/bitrunning_glitch)) - if(threat >= initial(subtype.threat)) - available += subtype - - shuffle_inplace(available) - var/datum/antagonist/bitrunning_glitch/chosen = pick(available) - - threat -= initial(chosen.threat) * 0.5 - - return chosen - -/// Selects a target to mutate. Gives two attempts, then crashes if it fails. -/obj/machinery/quantum_server/proc/get_mutation_target() - var/datum/weakref/target_ref = pick(mutation_candidate_refs) - var/mob/living/resolved = target_ref.resolve() - - if(resolved) - return resolved - - mutation_candidate_refs.Remove(target_ref) - if(!length(mutation_candidate_refs)) - return - - target_ref = pick(mutation_candidate_refs) - resolved = target_ref.resolve() - return resolved - /// Finds any mobs with minds in the zones and gives them the bad news /obj/machinery/quantum_server/proc/notify_spawned_threats() for(var/datum/weakref/baddie_ref as anything in spawned_threat_refs) @@ -50,115 +19,3 @@ alert.desc = "The server is resetting. Oblivion awaits." to_chat(baddie, span_userdanger("You have been flagged for deletion! Thank you for your service.")) - -/// Removes a specific threat - used when station spawning -/obj/machinery/quantum_server/proc/remove_threat(mob/living/threat) - spawned_threat_refs.Remove(WEAKREF(threat)) - -/// Selects the role and waits for a ghost orbiter -/obj/machinery/quantum_server/proc/setup_glitch(datum/antagonist/bitrunning_glitch/forced_role) - if(!validate_mutation_candidates()) - return - - var/mob/living/mutation_target = get_mutation_target() - if(isnull(mutation_target)) - CRASH("vdom: After two attempts, no valid mutation target was found.") - - var/atom/thing = mutation_target - thing.create_digital_aura() - - var/datum/antagonist/bitrunning_glitch/chosen_role = forced_role || get_antagonist_role() - var/role_name = initial(chosen_role.name) - - var/datum/callback/to_call = CALLBACK(src, PROC_REF(spawn_glitch), chosen_role, mutation_target) - mutation_target.AddComponent(/datum/component/orbit_poll, \ - ignore_key = POLL_IGNORE_GLITCH, \ - job_bans = ROLE_GLITCH, \ - to_call = to_call, \ - title = role_name, \ - header = "Bitrunning Malfunction", \ - ) - - return mutation_target - -/// Orbit poll has concluded - spawn the antag -/obj/machinery/quantum_server/proc/spawn_glitch(datum/antagonist/bitrunning_glitch/chosen_role, mob/living/mutation_target, mob/dead/observer/ghost) - if(QDELETED(mutation_target)) - return - - if(QDELETED(src) || isnull(ghost) || isnull(generated_domain) || !is_ready || !is_operational) - var/atom/thing = mutation_target - thing.remove_digital_aura() - return - - var/role_name = initial(chosen_role.name) - var/mob/living/antag_mob - switch(role_name) - if(ROLE_NETGUARDIAN) - antag_mob = new /mob/living/basic/netguardian(mutation_target.loc) - else // any other humanoid mob - antag_mob = new /mob/living/carbon/human(mutation_target.loc) - - mutation_target.gib(DROP_ALL_REMAINS) - - antag_mob.key = ghost.key - var/datum/mind/ghost_mind = antag_mob.mind - ghost_mind.add_antag_datum(chosen_role) - ghost_mind.special_role = ROLE_GLITCH - ghost_mind.set_assigned_role(SSjob.GetJobType(/datum/job/bitrunning_glitch)) - - playsound(antag_mob, 'sound/magic/ethereal_exit.ogg', 50, vary = TRUE) - message_admins("[ADMIN_LOOKUPFLW(antag_mob)] has been made into virtual antagonist by an event.") - antag_mob.log_message("was spawned as a virtual antagonist by an event.", LOG_GAME) - - add_threats(antag_mob) - -/// Oh boy - transports the antag station side -/obj/machinery/quantum_server/proc/station_spawn(mob/living/antag, obj/machinery/byteforge/chosen_forge) - antag.balloon_alert(antag, "scanning...") - chosen_forge.setup_particles(angry = TRUE) - radio.talk_into(src, "SECURITY BREACH: Unauthorized entry sequence detected.", RADIO_CHANNEL_SUPPLY) - SEND_SIGNAL(src, COMSIG_BITRUNNER_STATION_SPAWN) - - var/timeout = 2 SECONDS - if(!ishuman(antag)) - radio.talk_into(src, "Fabrication protocols have crashed unexpectedly. Please evacuate the area.", RADIO_CHANNEL_SUPPLY) - timeout = 10 SECONDS - - if(!do_after(antag, timeout) || QDELETED(chosen_forge) || QDELETED(antag) || QDELETED(src) || !is_ready || !is_operational) - chosen_forge.setup_particles() - return - - var/datum/component/glitch/effect = antag.AddComponent(/datum/component/glitch, \ - server = src, \ - forge = chosen_forge, \ - ) - - chosen_forge.flicker(angry = TRUE) - if(!do_after(antag, 1 SECONDS)) - chosen_forge.setup_particles() - qdel(effect) - return - - chosen_forge.flash() - - if(ishuman(antag)) - reset_equipment(antag) - else - radio.talk_into(src, "CRITICAL ALERT: Unregistered mechanical entity deployed.") - - do_teleport(antag, get_turf(chosen_forge), forced = TRUE, asoundin = 'sound/magic/ethereal_enter.ogg', asoundout = 'sound/magic/ethereal_exit.ogg', channel = TELEPORT_CHANNEL_QUANTUM) - -/// Removes any invalid candidates from the list -/obj/machinery/quantum_server/proc/validate_mutation_candidates() - for(var/datum/weakref/creature_ref as anything in mutation_candidate_refs) - var/mob/living/creature = creature_ref.resolve() - if(isnull(creature) || creature.mind) - mutation_candidate_refs.Remove(creature_ref) - - if(!length(mutation_candidate_refs)) - return FALSE - - shuffle_inplace(mutation_candidate_refs) - - return TRUE diff --git a/code/modules/bitrunning/server/util.dm b/code/modules/bitrunning/server/util.dm index 1d3f4e7f14f7..0582fc335984 100644 --- a/code/modules/bitrunning/server/util.dm +++ b/code/modules/bitrunning/server/util.dm @@ -22,7 +22,6 @@ "desc" = can_view ? initial(domain.desc) : "Limited scanning capabilities. Cannot infer domain details.", "difficulty" = initial(domain.difficulty), "id" = initial(domain.key), - "is_modular" = initial(domain.is_modular), "name" = can_view ? initial(domain.name) : REDACTED, "reward" = can_view_reward ? initial(domain.reward_points) : REDACTED, )) @@ -54,48 +53,64 @@ return hosted_avatars -/// Locates any turfs with forges on them, returns a random one -/obj/machinery/quantum_server/proc/get_random_nearby_forge() - var/list/nearby_forges = list() - - for(var/obj/machinery/byteforge/forge in oview(MAX_DISTANCE, src)) - nearby_forges += forge - - return pick(nearby_forges) - -/// Gets a random available domain given the current points. +/// Gets a random available domain given the current points. Weighted towards higher cost domains. /obj/machinery/quantum_server/proc/get_random_domain_id() if(points < 1) return var/list/random_domains = list() + var/total_cost = 0 for(var/datum/lazy_template/virtual_domain/available as anything in subtypesof(/datum/lazy_template/virtual_domain)) var/init_cost = initial(available.cost) + if(!initial(available.test_only) && init_cost > 0 && init_cost < 4 && init_cost <= points) + random_domains += list(list( + cost = init_cost, + id = initial(available.key), + )) - if(!initial(available.test_only) && \ - init_cost <= points && \ - init_cost > BITRUNNER_COST_NONE && \ - init_cost < BITRUNNER_COST_EXTREME \ - ) - random_domains.Add(available) + var/random_value = rand(0, total_cost) + var/accumulated_cost = 0 - shuffle_inplace(random_domains) - var/datum/lazy_template/virtual_domain/selected = pick(random_domains) - domain_randomized = TRUE + for(var/available as anything in random_domains) + accumulated_cost += available["cost"] + if(accumulated_cost >= random_value) + domain_randomized = TRUE + return available["id"] - return initial(selected.key) +/// Locates any turfs with forges on them, returns a random one +/obj/machinery/quantum_server/proc/get_random_nearby_forge() + var/list/nearby_forges = list() -/// Removes all blacklisted items from a mob and returns them to base state -/obj/machinery/quantum_server/proc/reset_equipment(mob/living/carbon/human/person) - for(var/item in person.get_contents()) - qdel(item) + for(var/obj/machinery/byteforge/forge in oview(MAX_DISTANCE, src)) + nearby_forges += forge - var/datum/antagonist/bitrunning_glitch/antag_datum = locate() in person.mind?.antag_datums - if(isnull(antag_datum?.preview_outfit)) - return + return pick(nearby_forges) + +/// Gets all mobs originally generated by the loaded domain and returns a list that are capable of being antagged +/obj/machinery/quantum_server/proc/get_valid_domain_targets() + // A: No one is playing + // B: The domain is not loaded + // C: The domain is shutting down + // D: There are no mobs + if(!length(avatar_connection_refs) || isnull(generated_domain) || !is_ready || !is_operational || !length(mutation_candidate_refs)) + return list() + + for(var/datum/weakref/creature_ref as anything in mutation_candidate_refs) + var/mob/living/creature = creature_ref.resolve() + if(isnull(creature) || creature.mind) + mutation_candidate_refs.Remove(creature_ref) + + return shuffle(mutation_candidate_refs) - person.equipOutfit(antag_datum.preview_outfit) +/// Locates any turfs with forges on them +/obj/machinery/quantum_server/proc/get_nearby_forges() + var/list/obj/machinery/byteforge/nearby_forges = list() + + for(var/obj/machinery/byteforge/forge in oview(MAX_DISTANCE, src)) + nearby_forges += forge + + return nearby_forges /// Severs any connected users /obj/machinery/quantum_server/proc/sever_connections() @@ -106,19 +121,10 @@ /// Do some magic teleport sparks /obj/machinery/quantum_server/proc/spark_at_location(obj/cache) - playsound(cache, 'sound/magic/blink.ogg', 50, vary = TRUE) + playsound(cache, 'sound/magic/blink.ogg', 50, TRUE) var/datum/effect_system/spark_spread/quantum/sparks = new() - sparks.set_up(5, location = get_turf(cache)) + sparks.set_up(5, 1, get_turf(cache)) sparks.start() -/// Returns a turf if it's not dense, else will find a neighbor. -/obj/machinery/quantum_server/proc/validate_turf(turf/chosen_turf) - if(!chosen_turf.is_blocked_turf()) - return chosen_turf - - for(var/turf/tile in get_adjacent_open_turfs(chosen_turf)) - if(!tile.is_blocked_turf()) - return chosen_turf - #undef REDACTED #undef MAX_DISTANCE diff --git a/code/modules/bitrunning/util/digital_aura.dm b/code/modules/bitrunning/util/digital_aura.dm deleted file mode 100644 index a45194933a4f..000000000000 --- a/code/modules/bitrunning/util/digital_aura.dm +++ /dev/null @@ -1,43 +0,0 @@ -/// Creates a digital effect around the target -/atom/proc/create_digital_aura() - var/list/overlays = get_digital_overlays() - if(!length(overlays)) - return - - add_overlay(overlays) - alpha = 210 - set_light(2, l_color = LIGHT_COLOR_BUBBLEGUM, l_on = TRUE) - update_appearance() - -/// Removes the digital effect around the target -/atom/proc/remove_digital_aura() - var/list/overlays = get_digital_overlays() - if(!length(overlays)) - return - - cut_overlay(overlays) - alpha = 255 - set_light(0, l_color = null, l_on = FALSE) - update_appearance() - -/// Returns a list of overlays to be used for the digital effect -/atom/proc/get_digital_overlays() - var/base_icon - var/dimensions = get_icon_dimensions(icon) - if(!length(dimensions)) - return - - switch(dimensions["width"]) - if(32) - base_icon = 'icons/effects/bitrunning.dmi' - if(48) - base_icon = 'icons/effects/bitrunning_48.dmi' - if(64) - base_icon = 'icons/effects/bitrunning_64.dmi' - - var/mutable_appearance/redshift = mutable_appearance(base_icon, "redshift") - redshift.blend_mode = BLEND_MULTIPLY - - var/mutable_appearance/glitch_effect = mutable_appearance(base_icon, "glitch", MUTATIONS_LAYER, alpha = 150) - - return list(glitch_effect, redshift) diff --git a/code/modules/bitrunning/util/service_style.dm b/code/modules/bitrunning/util/service_style.dm deleted file mode 100644 index f420e7830649..000000000000 --- a/code/modules/bitrunning/util/service_style.dm +++ /dev/null @@ -1,23 +0,0 @@ -/// Gives the appearance of being an agent -/mob/living/carbon/human/proc/set_service_style() - var/static/list/approved_hair_colors = list( - "#4B3D28", - "#000000", - "#8D4A43", - "#D2B48C", - ) - - var/static/list/approved_hairstyles = list( - /datum/sprite_accessory/hair/business, - /datum/sprite_accessory/hair/business2, - /datum/sprite_accessory/hair/business3, - /datum/sprite_accessory/hair/business4, - /datum/sprite_accessory/hair/mulder, - ) - - var/datum/sprite_accessory/hair/picked_hair = pick(approved_hairstyles) - var/picked_color = pick(approved_hair_colors) - - set_facial_hairstyle("Shaved", update = FALSE) - set_haircolor(picked_color, update = FALSE) - set_hairstyle(initial(picked_hair.name)) diff --git a/code/modules/bitrunning/util/virtual_megafauna.dm b/code/modules/bitrunning/util/virtual_megafauna.dm deleted file mode 100644 index 2707db9e2e74..000000000000 --- a/code/modules/bitrunning/util/virtual_megafauna.dm +++ /dev/null @@ -1,13 +0,0 @@ -/// Removes all the loot and achievements from megafauna for bitrunning related -/mob/living/simple_animal/hostile/megafauna/proc/make_virtual_megafauna() - var/new_max = clamp(maxHealth * 0.5, 600, 1300) - maxHealth = new_max - health = new_max - - true_spawn = FALSE - - loot.Cut() - loot += /obj/structure/closet/crate/secure/bitrunning/encrypted - - crusher_loot.Cut() - crusher_loot += /obj/structure/closet/crate/secure/bitrunning/encrypted diff --git a/code/modules/bitrunning/util/virtual_mob.dm b/code/modules/bitrunning/util/virtual_mob.dm deleted file mode 100644 index 891f6016879b..000000000000 --- a/code/modules/bitrunning/util/virtual_mob.dm +++ /dev/null @@ -1,14 +0,0 @@ -/// Removes all the "organic" traits from a mob, used for virtual antagonists -/mob/living/carbon/proc/make_virtual_mob() - add_traits(list( - TRAIT_NO_AUGMENTS, - TRAIT_NO_DNA_COPY, - TRAIT_NOBLOOD, - TRAIT_NOBREATH, - TRAIT_NOHUNGER, - TRAIT_RESISTCOLD, - TRAIT_RESISTHIGHPRESSURE, - TRAIT_RESISTLOWPRESSURE, - TRAIT_WEATHER_IMMUNE, - ), TRAIT_GENERIC, - ) diff --git a/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm b/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm index 5035a323d7c3..62fd3117a94e 100644 --- a/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm +++ b/code/modules/bitrunning/virtual_domain/domains/breeze_bay.dm @@ -4,7 +4,6 @@ help_text = "It's simple! Enjoy some rays, catch some fish, and have a good time! Don't get bit by the crabs, though." key = "breeze_bay" map_name = "breeze_bay" - reward_points = BITRUNNER_REWARD_LOW safehouse_path = /datum/map_template/safehouse/wood /datum/lazy_template/virtual_domain/breeze_bay/setup_domain(list/created_atoms) diff --git a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm index 1f3855423614..01d58e398038 100644 --- a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm +++ b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm @@ -1,6 +1,7 @@ /datum/lazy_template/virtual_domain/gondola_asteroid name = "Gondola Asteroid" desc = "An asteroid home to a bountiful forest of gondolas. Peaceful." + map_name = "gondola_asteroid" help_text = "What a lovely forest. There's a loot crate here in the middle of the map. \ Hmm... It doesn't budge. The gondolas don't seem to have any trouble moving it, though. \ I bet there's a way to move it myself." diff --git a/code/modules/bitrunning/virtual_domain/domains/pipedream.dm b/code/modules/bitrunning/virtual_domain/domains/pipedream.dm index 8e681772ada3..8df3ec2120a2 100644 --- a/code/modules/bitrunning/virtual_domain/domains/pipedream.dm +++ b/code/modules/bitrunning/virtual_domain/domains/pipedream.dm @@ -2,18 +2,13 @@ name = "Disposal Pipe Factory" cost = BITRUNNER_COST_LOW desc = "An abandoned and infested factory manufacturing disposal pipes." - difficulty = BITRUNNER_DIFFICULTY_LOW + difficulty = BITRUNNER_DIFFICULTY_MEDIUM extra_loot = list(/obj/item/stack/pipe_cleaner_coil/random/five = 1) help_text = "Not long ago, this place was thriving with activity. The workers \ seemed to have left in a hurry, and now productivity is in the bin. Something \ must have trashed the place, but what?" - is_modular = TRUE key = "pipedream" map_name = "pipedream" - mob_modules = list( - /datum/modular_mob_segment/hivebots, - /datum/modular_mob_segment/hivebots_strong - ) reward_points = BITRUNNER_REWARD_LOW safehouse_path = /datum/map_template/safehouse/shuttle diff --git a/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm b/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm index dd56684abc63..bae0da6874db 100644 --- a/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm +++ b/code/modules/bitrunning/virtual_domain/domains/syndicate_assault.dm @@ -7,9 +7,7 @@ help_text = "A group of Syndicate operatives have stolen valuable cargo from the station. \ They have boarded their ship and are attempting to escape. Infiltrate their ship and recover \ the crate. Be careful, they are extremely armed." - is_modular = TRUE key = "syndicate_assault" map_name = "syndicate_assault" - mob_modules = list(/datum/modular_mob_segment/syndicate_team) reward_points = BITRUNNER_REWARD_MEDIUM safehouse_path = /datum/map_template/safehouse/shuttle diff --git a/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm b/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm index 0b1bfedbdb9b..45d4abec9830 100644 --- a/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm +++ b/code/modules/bitrunning/virtual_domain/domains/vaporwave.dm @@ -1,7 +1,7 @@ /datum/lazy_template/virtual_domain/vaporwave name = "Cosmic Vestige" cost = BITRUNNER_COST_EXTREME - desc = "Suspended in the silent void of space, the Neon Relic is a haunting echo of a retro-futuristic era. Hang out, enjoy the view." + desc = "Suspended in the silent void of space, the Neon Relic is a haunting echo of a retro-futuristic era." difficulty = BITRUNNER_DIFFICULTY_NONE extra_loot = list(/obj/item/stack/spacecash/c500 = 3) key = "vaporwave" diff --git a/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm b/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm index ccf5fac23ad0..2bd4105e13c2 100644 --- a/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm +++ b/code/modules/bitrunning/virtual_domain/domains/xeno_nest.dm @@ -6,9 +6,7 @@ extra_loot = list(/obj/item/toy/plush/rouny = 1) help_text = "You are on a barren planet filled with hostile creatures. There is a crate here, not hidden, \ simply protected. Expect resistance." - is_modular = TRUE key = "xeno_nest" map_name = "xeno_nest" - mob_modules = list(/datum/modular_mob_segment/xenos) reward_points = BITRUNNER_REWARD_LOW safehouse_path = /datum/map_template/safehouse/shuttle diff --git a/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm b/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm deleted file mode 100644 index 8f45afbb2669..000000000000 --- a/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm +++ /dev/null @@ -1,159 +0,0 @@ -#define SPAWN_ALWAYS 100 -#define SPAWN_LIKELY 85 -#define SPAWN_UNLIKELY 35 -#define SPAWN_RARE 10 - -/datum/modular_mob_segment - /// Spawn no more than this amount - var/max = 4 - /// Set this to false if you want explicitly what's in the list to spawn - var/exact = FALSE - /// The list of mobs to spawn - var/list/mob/living/mobs = list() - /// The mobs spawned from this segment - var/list/spawned_mob_refs = list() - /// Chance this will spawn (1 - 100) - var/probability = SPAWN_LIKELY - -/// Spawns mobs in a circle around the location -/datum/modular_mob_segment/proc/spawn_mobs(turf/origin) - if(!prob(probability)) - return - - var/total_amount = exact ? rand(1, max) : length(mobs) - - shuffle_inplace(mobs) - - - var/list/turf/nearby = list() - for(var/turf/tile as anything in RANGE_TURFS(2, origin)) - if(!tile.is_blocked_turf()) - nearby += tile - - if(!length(nearby)) - stack_trace("Couldn't find any valid turfs to spawn on") - return - - for(var/index in 1 to total_amount) - // For each of those, we need to find an open space - var/turf/destination = pick(nearby) - - var/path // Either a random mob or the next mob in the list - if(exact) - path = mobs[index] - else - path = pick(mobs) - - var/mob/living/mob = new path(destination) - nearby -= destination - spawned_mob_refs.Add(WEAKREF(mob)) - -// Some generic mob segments. If you want to add generic ones for any map, add them here - -/datum/modular_mob_segment/gondolas - mobs = list( - /mob/living/simple_animal/pet/gondola, - ) - -/datum/modular_mob_segment/corgis - max = 2 - mobs = list( - /mob/living/basic/pet/dog/corgi, - ) - -/datum/modular_mob_segment/monkeys - mobs = list( - /mob/living/carbon/human/species/monkey, - ) - -/datum/modular_mob_segment/syndicate_team - mobs = list( - /mob/living/basic/trooper/syndicate/ranged, - /mob/living/basic/trooper/syndicate/melee, - ) - -/datum/modular_mob_segment/syndicate_elite - mobs = list( - /mob/living/basic/trooper/syndicate/melee/sword/space/stormtrooper, - /mob/living/basic/trooper/syndicate/ranged/space/stormtrooper, - ) - -/datum/modular_mob_segment/bears - max = 2 - mobs = list( - /mob/living/basic/bear, - ) - -/datum/modular_mob_segment/bees - exact = TRUE - mobs = list( - /mob/living/basic/bee, - /mob/living/basic/bee, - /mob/living/basic/bee, - /mob/living/basic/bee, - /mob/living/basic/bee/queen, - ) - -/datum/modular_mob_segment/bees_toxic - mobs = list( - /mob/living/basic/bee/toxin, - ) - -/datum/modular_mob_segment/blob_spores - mobs = list( -// /mob/living/basic/blob_minion, MONKEYSTATION EDIT CHANGE OLD - We dont have basic mob spores - /mob/living/simple_animal/hostile/blob/blobspore // MONKEYSTATION EDIT CHANGE NEW - We dont have basic mob spores - ) - -/datum/modular_mob_segment/carps - mobs = list( - /mob/living/basic/carp, - ) - -/datum/modular_mob_segment/hivebots - mobs = list( - /mob/living/basic/hivebot, - /mob/living/basic/hivebot/range, - ) - -/datum/modular_mob_segment/hivebots_strong - mobs = list( - /mob/living/basic/hivebot/strong, - /mob/living/basic/hivebot/range, - ) - -/datum/modular_mob_segment/lavaland_assorted - mobs = list( - /mob/living/basic/mining/basilisk, - /mob/living/basic/mining/goliath, -// /mob/living/basic/mining/brimdemon, MONKEYSTATION EDIT CHANGE OLD - We dont have basic mob brimdemons - /mob/living/simple_animal/hostile/asteroid/brimdemon // MONKEYSTATION EDIT CHANGE NEW - We dont have basic mob brimdemons - /mob/living/basic/mining/lobstrosity, - ) - -/datum/modular_mob_segment/spiders - mobs = list( - /mob/living/basic/spider/giant/ambush, - /mob/living/basic/spider/giant/hunter, - /mob/living/basic/spider/giant/nurse, - /mob/living/basic/spider/giant/tarantula, - /mob/living/basic/spider/giant/midwife, - ) - -/datum/modular_mob_segment/venus_trap - mobs = list( -// /mob/living/basic/venus_human_trap, MONKEYSTATION EDIT CHANGE OLD - We dont have basic mob venus traps - /mob/living/simple_animal/hostile/venus_human_trap // MONKEYSTATION EDIT CHANGE NEW - We dont have basic mob venus traps - ) - -/datum/modular_mob_segment/xenos - mobs = list( - /mob/living/simple_animal/hostile/alien, - /mob/living/simple_animal/hostile/alien/sentinel, - /mob/living/simple_animal/hostile/alien/drone, - ) - -#undef SPAWN_ALWAYS -#undef SPAWN_LIKELY -#undef SPAWN_UNLIKELY -#undef SPAWN_RARE diff --git a/code/modules/bitrunning/virtual_domain/safehouses.dm b/code/modules/bitrunning/virtual_domain/safehouses.dm index 79c8d5fe895b..6504d447f28c 100644 --- a/code/modules/bitrunning/virtual_domain/safehouses.dm +++ b/code/modules/bitrunning/virtual_domain/safehouses.dm @@ -6,49 +6,51 @@ /datum/map_template/safehouse name = "virtual domain: safehouse" + returns_created_atoms = TRUE /// The map file to load - var/filename = "den" + var/filename = "den.dmm" /datum/map_template/safehouse/New() - mappath = "_maps/safehouses/[filename].dmm" + mappath = "_maps/safehouses/" + filename ..(path = mappath) /datum/map_template/safehouse/test_only filename = "test_only_safehouse.dmm" -/// The default safehouse map template. -/datum/map_template/safehouse/den - filename = "den" +/// The default safehouse map template. /datum/map_template/safehouse/wood - filename = "wood" + filename = "wood.dmm" + +/datum/map_template/safehouse/den + filename = "den.dmm" /datum/map_template/safehouse/dig - filename = "dig" + filename = "dig.dmm" /datum/map_template/safehouse/shuttle - filename = "shuttle" + filename = "shuttle.dmm" // Has space tiles on the four corners. /datum/map_template/safehouse/shuttle_space - filename = "shuttle_space" + filename = "shuttle_space.dmm" /datum/map_template/safehouse/mine - filename = "mine" + filename = "mine.dmm" // Comes preloaded with mining combat gear. /datum/map_template/safehouse/lavaland_boss - filename = "lavaland_boss" + filename = "lavaland_boss.dmm" // Chill out /datum/map_template/safehouse/ice - filename = "ice" + filename = "ice.dmm" /datum/map_template/safehouse/bathroom - filename = "bathroom" + filename = "bathroom.dmm" /** * Your safehouse here * /datum/map_template/safehouse/your_type - * filename = "your_map" + * filename = "your_map.dmm" */ diff --git a/code/modules/bitrunning/virtual_domain/virtual_domain.dm b/code/modules/bitrunning/virtual_domain/virtual_domain.dm index 6e7b98ccdb49..5e6cb0f2582e 100644 --- a/code/modules/bitrunning/virtual_domain/virtual_domain.dm +++ b/code/modules/bitrunning/virtual_domain/virtual_domain.dm @@ -1,5 +1,6 @@ /** * # Virtual Domains + * This loads a base level, then users can select the preset upon it. * Create your own: Read the readme file in the '_maps/virtual_domains' folder. */ /datum/lazy_template/virtual_domain @@ -9,30 +10,22 @@ /// Cost of this map to load var/cost = BITRUNNER_COST_NONE - /// The safehouse to load into the map - var/datum/map_template/safehouse/safehouse_path = /datum/map_template/safehouse/den - /// Any outfit that you wish to force on avatars. Overrides preferences - var/datum/outfit/forced_outfit - /// The description of the map for the console UI + /// The description of the map var/desc = "A map." - /// Affects the ui and ability to scan info. + /// The 'difficulty' of the map, which affects the ui and ability to scan info. var/difficulty = BITRUNNER_DIFFICULTY_NONE + /// An assoc list of typepath/amount to spawn on completion. Not weighted - the value is the amount + var/list/extra_loot /// The map file to load var/filename = "virtual_domain.dmm" + /// Any outfit that you wish to force on avatars. Overrides preferences + var/datum/outfit/forced_outfit /// If this domain blocks the use of items from disks, for whatever reason var/forbids_disk_items = FALSE /// If this domain blocks the use of spells from disks, for whatever reason var/forbids_disk_spells = FALSE /// Information given to connected clients via ability var/help_text - /// Whether to display this as a modular map - var/is_modular = FALSE - /// Byond will look for modular mob segment landmarks then choose from here at random. You can make them unique also. - var/list/datum/modular_mob_segment/mob_modules = list() - /// An assoc list of typepath/amount to spawn on completion. Not weighted - the value is the amount - var/list/extra_loot - /// Forces all mob modules to only load once - var/modular_unique_mobs = FALSE // Name to show in the UI var/name = "Virtual Domain" /// Points to reward for completion. Used to purchase new domains and calculate ore rewards. @@ -41,6 +34,8 @@ var/start_time /// This map is specifically for unit tests. Shouldn't display in game var/test_only = FALSE + /// The safehouse to load into the map + var/datum/map_template/safehouse/safehouse_path = /datum/map_template/safehouse/den /// Sends a point to any loot signals on the map /datum/lazy_template/virtual_domain/proc/add_points(points_to_add) diff --git a/code/modules/client/preferences/middleware/antags.dm b/code/modules/client/preferences/middleware/antags.dm index 44cb0017e16c..e13167ba7347 100644 --- a/code/modules/client/preferences/middleware/antags.dm +++ b/code/modules/client/preferences/middleware/antags.dm @@ -116,7 +116,7 @@ /datum/asset/spritesheet/antagonists/create_spritesheets() // Antagonists that don't have a dynamic ruleset, but do have a preference var/static/list/non_ruleset_antagonists = list( - ROLE_GLITCH = /datum/antagonist/bitrunning_glitch, + ROLE_CYBER_POLICE = /datum/antagonist/cyber_police, ROLE_FUGITIVE = /datum/antagonist/fugitive, ROLE_LONE_OPERATIVE = /datum/antagonist/nukeop/lone, ROLE_SENTIENCE = /datum/antagonist/sentient_creature, diff --git a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm index 2d25306fc85e..65f255e61dc2 100644 --- a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm @@ -100,7 +100,3 @@ /obj/item/reagent_containers/cup/glass/drinkingglass/filled/nuka_cola name = "Nuka Cola" list_reagents = list(/datum/reagent/consumable/nuka_cola = 50) - -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/pina_colada - name = "Pina Colada" - list_reagents = list(/datum/reagent/consumable/ethanol/pina_colada = 50) diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_glitch.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_cyberpolice.png similarity index 100% rename from code/modules/unit_tests/screenshots/screenshot_antag_icons_glitch.png rename to code/modules/unit_tests/screenshots/screenshot_antag_icons_cyberpolice.png diff --git a/icons/effects/bitrunning.dmi b/icons/effects/bitrunning.dmi index 8efa429389c3a50521ec4f2c366279a3505cf993..bfdc7c63436c2f20dbd6ae62d511783f11a78475 100644 GIT binary patch delta 1263 zcmVV=-0C=2*kUI*)Fc1Z6?J0!ahy2!qGMN{9U64|E!00Y-a zL_t(oh3%K?TM|JOhj$rVhD)h|308&~nH8FfmPLhK%nayi+6BWhyJ@%o|3hczzO#!v zz<#Kweh=(2bDlZx%$c*x9LxGEWE+2X_UJzr;LO{Jh}exwH=_<_I~Mm7v`#btfFBrUFQ(bv}myEE~rYNq4#o z;C^Fn7xt`x1*Idvk*>86F?WoBB@%n~Aan)3j|A8X0h6GSCboP45quMX*d>2#aRR3P z<5&rq5+a23NJ)Sve?*`-KoTenlMM0zJkJ4XTRwBAM}g)G3p+t!lA#J91xkZ5namMa zM?r&wgNAnEh^_&v`6B_Tp`oE+(6MYbo6C)i90!e#j^+zycIt?RM$I1qNR5q+od9LY z_}s};pz-nX{ON+3ojIbLi)DZQ;9&nbF}_$ZvI|Ef{Ym^ifYijq#2L`!sRhZxW^78UE(Dj*xnJNQ>*cE@kB9j-8zCp*| z1i|oIc~I?od7)CRteDvO1_OX^h6|7{y7cWkcR}|+tE=}{^K1DB>$QjFdZkfqn%G(V z^%clhb^6g`&=b&8&@*tbzFvD?tyec*G)?SmfAtl}zq9n_*4EZb&@0gEH~F>J_I9h@ zs8`=IK!}~?kG=x=huMGL+}U{tdJo#&-OblptybehqrS(+huK+v>MM}h+TQ&53G^BC z1@slPzrWu&*lSuwcK({vS0D&&o*y*-KpUWM2Yh^(o&6Q~_COHY-$6e>KS94hE1+gm zY+#t3oltyP6mXX5RpgB2dk%t5W4#kXkBnsh~$59^!vVsbBh;<`5C9{v z@Q_=V{uKZU0uTZZKO=PasuNknvqu8}friF*9PzUY|Gx4;uOGy;-K(+~q5kRv;Xg^Y zIO!wwSsyU}u{eKEB9>6nf1mXMdw^}3rnaR5`mPTMz_J`gtc#BCyFQ?=ILFZm91uZ$ z;PX!iVg*su2fBZCizBEH{O%P*6!n4QxaTeDnzlF~g8BelCgO{9(r&iW76(L7AArkb zf&tuk(G~|pP#?H+P70U26=8kgjXG~dSRZ)vM!u3Fs}CoF0TI>*hpwQ1*|A{2|N6j8 ZzX3~;mvqUb+8O`=002ovPDHLkV1lcdTCxBD delta 2754 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 UKOXoy0RR9107*qoM6N<$f`!0-UH||9 diff --git a/icons/effects/bitrunning_64.dmi b/icons/effects/bitrunning_64.dmi deleted file mode 100644 index 397b4709c83b36e00aaa82bb1abd992733d1ff32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 950 zcmV;n14;aeP))Q&4OR-u%f5{HNe2Y^o3xJ00001bW%=J06^y0W&i*Hi+WU8bVOxyV{&P5 zbZKvH004NLQ&wd4^od3a)-GV0Qul)V(g2mvvNa0008DNklVEI@K?f(M6;Mc8he*}Q<2gU&o1L!Sf zyW@f5hR1m*VDO%9G;ICp0D4>h9|(7EpeTx>D2k#eilQirqWt#!fb#xa!7yOq9R_4R zdz2g50^}Xw_5%7an*uB>xS&8999{rm0ef8k0wBQc9WIW)1c1eB%l86e3JiefllB1D z<{NrJ%m%CL6p$jE-^+He_`GpI#()INdakm{Y0VgrF(6Sut)z6DVR5^c=MgaV1_cNx z6>d3GyPg^+7imTtfKL8$Lk3R(TB#BnxAr2G( z8?`zRpQN!}YGGxyk}D~Trx$zJO6Ecy1n_Sg0tmR*>=ghRCY4pvZ8sjWI;%b3o}X}2 zI(7f~0M)(~MNt$*Q55Bd{2>uQ009ILKmY**_-z31zCMqBJAfBpIw1P@2Bb6{kY)o) znhQ9m1HKlIzZ+0|nG1O8F!*Lb>_5da6Yz8;7U1mw&k;ZX0R#|0009ILKmY**5a4dW YUzd-RP7zA3_y7O^07*qoM6N<$f@Exr6#xJL diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi index 20aca1f847ac370a4ddba34c4d6c0722291ff50a..180a65f5cc939674111878cdea5f1d9f75e2c34d 100644 GIT binary patch literal 128317 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 literal 76930 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%0Dj{K)%2YlNgPPB44 zu7UQPIgivE&EGt0e1eVC?ll^a;Fq|QDny)WsdvEqtn@Pgo{asO@Qaq`Xg2-t8n>!K zy*McsH+RSnJ=^iK>Q!Y`4ic68m8XdMW6%w|4Wu9K0uY(Sitz5Rr1(>$<-Ql_w3C7V z5qM?aqWnYZ^hGuVvTJ}_|hcZiCQEG=x2Thc}^4MDgTIib) z)#%0g;~POiwjC2sdpW=oISo1BfkCITLL*^JjRDW#$vc7RcsoC5U2p4`|EYVK1&`Ne z!@|(jew-6?Bg|g^X`USbOv{lwLYpN8yPt7vt}Y{ud!AJAJprwK$Wl=r=iV59X6Bzr zdICLa+g3nA+~@~(u;?GAW78k1E8#`f^squ$-b+VuF1o%Q&S;Ajs94YRK-2#5Vu~tr zt^H2DE7rw6YKMb=-vPIHd^hz-oV-UWKRIwB=TrP)w-I~+tBLuy87~CD$E`wc>Ol_I zGx~X*fk%4*3~EU~x1JrXH1JWsi|tg(QSzn9z??}nLyzv-=eVYl0@Ndhp8L~h^7yW2RD&#SMBkYLyE3Pvsyt~b$>Y2=ow&1t@5l$d-J>sh)J~pU-Fy~I6 z6K>WE?DzFcoQw6S*rvzh{Vvk8?Q4)`8@6p4)rcmH|l0Mrqz}+%@+ti+2DP<31O(&|TIX80-FqogoWf^@$$?+|sDmyF25~p`A@|l)jfPyp9_)U}D?;CEo0po3*Oga=MlQmn>`S z2Yavb&q8s}C2)ogyJ6OzFW-9QsjH96L?gbH(Iqxte45!~J!>I*b#1#s4pwqLp@wj1 zB{yQvG@A~BmA&k!9j%W6J>TJ03cz@jL5TAWdP&J~ zc|`(gU-_<>`ZTJq32G@vTY0jpX|d9&|KaN&rS3cJi&N_{bWJ!7m$Px%=cIqfs0!99 zWQoRo=wU&eqoD%hI1r-8Pdk5Z(z#T+26d#ec5Y<-MCvoWLtgQjptqHp$E{Nb)rV7C zFa#z%pk4XoG1XqH=ghi5l}jy#}CcB&VLiz`2Cp@35n-R0Db z?L>L8T1SZBirUP+azdbavKzy#cjoSn`T`P>jf3OY%9U3x>utsMSnG?E;g)i!{0*Gr zI_W5ge=$O9=rZQk&3h-C)>LId8rz`-iO(0_NCDb6S>YLc{@{>6K!ro(qxD+3*7g&p zhEw_nL1>%}Cv)<47sDKY^KN`@BF<~@X}uM^Pz~_S@Po9Q$`Y;Cht@$CqqLAGpzj{N$LIYcHtfP2w$SL67BTO? z{A$RcKd+7A(k!f3vgUYK=P~X!4@|T@WV-L-n7Kn3z01vM96RmtZiOjo?`X9|?x+_%aMhlxX)UVw$cSxhssn};W@t4+4l zysT|!`UnJSk@mei^Uz+vcySwj8vw$ZZC5XpHK%$nh#n642y<)Ly%TdlcXPA~0D)gP zd$CUA^Eua;ZULrDLnOa_bHSOpUb%Fy(?{DXBdQWJ>sWPy?mn1=q5FEM1P z-!Ii^iUEj`{!6?E8q3zl9h_U;Y?Pu)AM|3e{0PieWXmjSA$w z8dgj4O#RbHRI1iuw&GV*8yF*IJtgfshC{dA@=J#79?_eZMZ?ojsq9AUzRIkP$^aY{ z!a+cvUaR(q^)ExS!&Z-&4(PCriHZa6n?E|gg@k;(#l+s13Qa`Y^e7FT;Upftl2s-T z36Y}|^AB12@qPJXu4)Gt;xru3Gdw79+a>h|ctfl)mLA1v#BF1ht2qmBTS|Vx^=;x= zEp^woV5DN@UO0*3@2I~Qu7(8 z4p|xh)D%^W7BlC*>WdCf+qW9+cfJpuG{DrH*wxTi9+bBV?ZI|tym8t;`UHLC8NN8K z?Bu2PQioRrReNy1a6NVo_j-P~Jcx=rN*H(TGk*;l6#r7evkd=>ci;!LNGl@aEwEN) zk@XQuCW-HfXhr4@mvR3R>1Epelxl#SBBBXt%lo>E0?19^i2&Jie735$4eftaxx8)RGdffdxB z0P+Dn0JT)B`h({MTx61+sFFv)5Y`Ys=&l$Slk(gjp96B4&_L0lWGsM57Vz#5jjQ`z zL5INQSS&HRD+uxrLB1eJ+5;|z-}A~NBFH?E0iY&YUJFoK>Z0b0IBuJW*e8tIbtHng zK3*U>)K9Mzuy_sE6ZMM9L7A6d?dJ!oYm3>o7Ng9J2+f0;f~j5^^U43R-OS!6r1R6e zvsI8MtqHng?K-jjNqoI^(AeAaCU263?1}}iNH$9<5Fg%MpT&S0G?nyKJ;U#d0?e@c zn|*tA+Ydd9_6%f#?s}hJUOorl5PW6h_!*2E0NAuv;&bs+!Km^(zfxjt*b{uN`=p!;%cuJdQKhJ~4cg*woZ%knA8ozxNkV%mV%|nf5jGou9VVZNO^P!(j;7<$j+ z?>>xgw$J$akQ#%K!zGQ>J=DcNs;ipv+bZ7`lUoxk@I$!U46$v-Etc|)KK-%N*g!m5 zv(HUu5H~v3%Kzpio{0=LCpdb(7T&wq0ep_j;UMVSJTY@22PGa*dx6AmE56F}w zd`vFi^_oelg8o*ja>8toy?9%+rUI+L)!$LsX(Pm1?1<4UkKZXL0B$c&&ZK~4yMbUY zJnK{7&L~lFzVBXGAW&-qy0vRGtaNmF{MDG()+cFebTPH4ZR!=vWiY;owr(4smZJSV z1s|Bb?k`852JL!2yuh);?Q9-UgST$!cY!X#Bv(gGx>RXC)>`v45d8_cB{t>(b;^zt*j`kMFK9 zLb$}QE`lA)b_=U(a-~v?^XVbYR?<(~yf;%-E7;jPKjJ>xySVr4n3_6i%Rs)YvF8)d zN{;BUta)@ht(X#ELzgK|`j~(@v|hok%SDZN$@Rz-1Eild6#yr0Y?C?|)qXyP zk}XU&Tu$4q=r(z-|8oo&WnXBey>cB4PLkQ6KR~frlH)3Lo$Re?#8{L(W8HdERc!M% zt__{A>a!|$eO{St|HsUeim2S(I;zz*j?b~uSW$yTOu5l~!8v&Mxfrc=xCAr@IIxj<6266KEYtiiVukhXo&OwT`CsQ+{=c}EtzewTExwWMm3AU(ZYY<Ho0SK!Yzq5nrXx!Tz z93}~@oBugpfeQiE+7lqdNvb-)&IxoDwrcm|8LxYrOi274OAQ86*}ELPH){cl0aVgQ zKi^g*@25N#*Wm6KH)3O~!rn6>Y>8dLEao80h3b>2#6a?-B4^y%kzF7NRO1jjIPAxc zI%Fb3N+K|1X_qxPGSVHQ^()uDZ1<3mA22lFNB~}clJOmu{v^Er2vfYyR>8~(LF^K9t{tM9)2vG~VIB~^F$+4_W}-^ zjO|Ixf4HB1&8|%rs2NL5Q$xYxSH4^p1T&=pXzk147WcO5aL=C~ulmG|GS8}##x>Rd z@`|1fye=skPBphZV%U~4F0VU3scSuA{GiA>+rY+?>P-*U6ivxfyYN6}W}ip&Vs2$8ecsb{DeAVotS5|%j6v(2vB4Sk_<_u%I>)3US3 zok9(m>@KAKbvp-IN30O}mV!MpMOw(rzhy^Y8u`{jF!>)ZOySUSzGA%2<~YOfiL>{I zA|x4vVJm=ItgJe2N>Y~IUe*`998Y}esMeI8EXrf0`GvDKcH`O6>>y#3Fc8Kv zQQHb8zuNjd$}u;fwE0+l)L*qt@!zgXU?l0(ba)=j5MHT3nlua3*d(p${7WFSy$;+L z;$c7e&IMaNRDf%cC)#ieLRCh4>&m`c#^DN264*eG53J4mobr-!ifiQG7vZ0%Ca+*v zcnwq(AcVci`UZJ$84uT|O$l161ab|c_RWDiR1~ZCh z8n|{YKy-PKFZg4BKr}_|?ZDfCZpiRlv+S}>flckoYL5}&u$bvQk zZc&!bZOYv(pjffm&0vNEr9L4^P{$m<20-P+Q2ZI-Y_+mW@ZzEn) zXT1aLOx6^@c5tB5HC&jr%k^6b8~Hw>Vi<|Cty8_f`DWd)8&1qRvbr~SCiZ~)IZ*YC+~b~_eh-``H6;xgej!X^DgalL4JJ2K`Tyy**ii0PKU4{=j%!>@*PuC~*1 zDsz7{b@K1~)w@7I4zL8l)e0&X=tkfwYG}g?&NWT>f@lX~^}G5TYg4{v4rRO1484^< zo?ZzN$dz(@RtOYusy^nh5LEg00{QVx(oG3E(BI{E`6UlHrU;HNn>7coRygLkbyH4u zNzH0bYxH^}+dnC+Xx*rLWeqY^C^$l9u2cl>PMkwff0v%;o z;5X9yo3m3~@Ov%YN(z7?=^mj7u$U+H&>MBlbmX|aXHxFX%CwPkUz*BZP3;>m2gfat z%l3wYU#dBLWkP;?#ruiziURXklz3L$P^%h|C7j~;uM7&r;PAl%kUp%>BB=WM+|046 zhPuapvAj5T=4-=J%3b@KDx+Kc?{z|%TofVFq*A$fXu(M8W za|7eKp||bv>+q*uXO|M~<)g7j^u9Dmc>Ro!3+Mh$z8JB;7R8#(En?4Y8UW5*pwT!Q z6e|05fpYrfTK^CLt*-Y56hOTXaCWn_>l=shw#vSoA9`UQPg&$JbWo*Iys1q&9$Fl8-jL6Vw%t`$Fm$_NeI@8PZ6J9A>j$W6YPmCcUhObTCbzrcmr4&J3 zg%!@J^QmfZP>=YUOI~rHI#uoJ(1nR63A{7@1p(EsT`5v}+1=MQ5Td~5Dpo1HGi`HB?BRf;xqEs>v zuJaw?1I?5X_AQLwXuV?aEkzvQt|VZ~KNGR?FiXFe5(SjUU0q~dpgQ?I!S9gsk1FKy zQ<4R5nLM@u(3GVnY-JwUz`~)M?3;r#GsM$Nb`5%yT*wT&lAvb+NUqWLe|jr|9MMug zIPM6lOz6sirp8Zu>b~KIUPW`E!+Sf_Kb1Dm?uT%QpjaWND9D2>zUde3K#rBU?eeYB zYtsJ)0XXx}x*wFUtWlB+JVyPdoWHFZ?cT*Mw1QX90xK$ zzduTzr-T+<>CU#_9uyUrN-^ZM{yX_Bi*U|<}Ebn}|V>xTudrg!^}4y%QT9NHQ6 zX|t>_lPa}-a`5B|4B1KN%=Mc9$zyvYXf(V0Aprzy9LR^H)VE1x`C->}tlE0#YL%_9 z=bx_mHHd=_=J&+jD*?dLM=wx@fG2po?C?G8Z9CP2r>mB?D=mEao&hSvS$F9tKL(Nt zV333necZqU^FV3-24X4T0IakVU$QPd~5vhDVHYDZzx0A+5p(JxaIEJ)#um4h|3Z z{|{|n85L#w^*e-s0f-5J!=NZ4Dbn37CEcNbN)IVDgmerY z12c23@p=C5hZAd^cdc_ixSSbfxbN$}V(7)_ zp7-1CQvX1n+{@(~b(;J2@b$msl(ACPukU6{zU?HQYE7Obs953eZS(iVg?%{wSUC7* zTxYW-^RCO~q3t>Cbfp(F*gutbonGb)G5U2-bA6!)}@~K z#m&><5P8EY!~oRpEhy&T2N?->ypvRhXV`#!@8nn-F8P2@zbN*mrgaU7TtW5X#b(f@ zbDQ#Xkx5%OTe;JrB~94#<%pJ_+UzY}cQ2#>N}P57Lx7|9^DVkOqsS>cUKJZMFg3W1 z2C0B|^Eoru%DB!o#IX~mtktCO40B>fhr1^~VCef|Vur{GJ0b|z#H_bWC3-%%&A&=J zbVWcYEWvDy!O*Ie;kbl@rK5#SbAI2T75%s;WOd0nx6pzkf?Yk`=Ws2(hlv zU3J(hPKX5Oy@rN{Gj*o>QIqNZPo>m+w5j7{L3AUphn<}rFLMq)51XiB`6r!J5m^-S z^?KVz|6+{nIC$N8_;%{yPfZJks`XAd#;EXoQ%hfF{Ek8yndy}TwmZ0v@YtOhRPB zo~l@3Yq{7hVlV2ENo!v6?b<6WNR}dzJ>62*B{sqH>37_hv`i0go-=wP6x%C=o0101 zj^bKUPTj@=1S-1`zk1(wB8}dGjDF#Le|(Byz_z1M`g-iTkk)GWMs5q+@dG{GJOdUO z;&_BuGNf&E+#w=8488DP>D;G8#b~U+mF2|B{-!Jlxsqhww-OZg(|r~6S0^#-HjIpP z4+`4$|0Lo(%m2oW&A!>Z&OTIzO~)DwrF~Pry~GA7u}(f$tzo?dD;?^lr8-<{h&BohCx~}McOckmIw2_ySL(rmb|0KiyCZo^RhKCX*r;SXXlY@8(h&=)kBh2XvfYQG zG(2cD?yU17-Vn@&U_Z&Mow2Hg!R5#<+XX&a)UVn(264|NBl*X|?Vh{RhTChzgVh?X zdEnZmwC^ zbD+6So$T^P@I&uulET}77D8h90cWJAr^ubkXl7h#BuoG*UzQN*f)nSh*-Ma}siA$Z zh_r*JrktSk<2Z|FnfxeODIo#e!mMAfD%`J%M*>C-u?vO-lx=kPDC4Azy2P-J@Y7N2 zn?l6gdyBu0KewRP!8w%wK%{TEhwJ{Yc@(o*t%se2VX2CGmB ztGK~NmoF2+$J-2CqUY(Q`gzf%mt~DU;8Hw{!5j$c$qrCu7gAw&4_^Y8EE*-AJE#c- zBXNLEHW$Ra`OVqRKcF8P%fsBc8Do~90+%go{k^=cW|xEJGL%{0M=wh_hz!9OllS#} z3na#F*++=ANR%~TKODQtUg_L&wH(|il2LOr5dA#-)q#6}yP@b;^{OgHZJc}9>Xyn4 z225{YT)`)!KWI6WS$H$cF)9>oD$~@5VGxG#( zAp4yQOb~zsIIGDJF-qO%)uPTD+G_W8T_2A0Gr27q&zg#uX=y`1bhj(= za+(X>f>)|^Y;B!GwB_S-f|R*k8ZV^Z)k##(WsRa$9Y2VTsM{T?F&|65>d#PwUMQsA z9e!jQ(IO>O?$h~f`t@cYeUI-4QH^QhZBgVEK!vUKDyuiT2x}qm9%&8b;1~by{QVwK z)xDqs<+8_{y}F)DO4+$!uo}USgHQno))-5(^RR3}K@LSO0*`6&8RED$d_N>LX}uVB z4g`q@_CjaXdo4+!oJWbs2idt<~a=XC4U4oFh-74c>Th!QulKu zW&9g3?_Qob()%}6m{cr6U6$xmxzK^SXTBqlCv46LUQ$1Fl$c2?lXRpfPC6W{3<}cq zkqemhe@im$Yi>&}kRA|INE$!8T76T8ExoER)ShDm-pu`{<7)u z%Y*^B3u_lEG#RrIk)0cSbt@ORxu=bFc762Iw{YO*EZU{{=I(|cR7+w(H8l9+M-qtg zo$}@e^oM~wf-~+~N5m@iKql-1_r{nI29wX_Diy+iFYBUU=w>|hF9AayueA84m_p=r zuNZ$X#&{i~Dmv{*Yzi-4bbLvfY%7Q}C~MU}Iw?Ct*)=j;^(JArD>0=`ZS`eJWq`;Q z)Ax)%A;5o|>?f@ydoRV?WU5y(vhO8VrG)qEOcL9d47@5_(KtVvxdmw>k~Z|geDDSD z85wT{_S3K9z{iZ|+n!B1nIK`rB}(DGyD0Ktcob#|Td-w3(HdiBm&0nO!voGxvBupe zeUuZhJ!bLQuXojpBCvq>E8w!N`I`j8^|&b@@7G49wl5IfjM-*)zGQ4gTr*BGY0EjA z)E|Ek3GTh~Ft+O^OpPCagzw+qd~)j+o5F0)%q6f|ItvV~hwSth@2Yk?0~(|r0J-dw zlo24GyA@G@*r{m|5?2yY?!kMubX1K|Uf#I(jP!+XI1L;3m+Tob_1xPSbS|ojzz9TJ zGx+L@ThM(d6gj^V6VhT=GQexEJW2E--zHxHnr9l|5_{pmF zwY2&09DZevec0|>Fzv!TnXJF-TO`LP6N#|*dnq7iR?C1?^1#QA*MyvbIHOR$`?bkh zy^J^FA%`DSNWwj99C?LNIx=JKlRXCwo}PgxEH1_BBGdrpp zm@2Ka6I!#&{>0kknBoqNBOqQIV|~lg(CeWiF+cl;Rya#nxunV7p&-skf%B&BaL8J; zzv}e386^cpq-*(=AKJemG8p(nul>y3o{=ZM0>f^Q0`Rhhl~bxwoVv0s9}o3Ew+9W`Z4tbjIEZSO8-T zR*=c{liklO8z+5zuAN+D%jH-jZ@`;cq{vw{WK)Rv;0!x!b7J}zdv zXu5YNm!F^ed2Ec4gMv-Pa&)Y->1Nt$u>c_*g!juf`#G0I#!P1_I6?-xHZ`0m_(1@V zcd)^e%_aCVi6m2I>@&&!nG$z@*+A48~I}uwdJUoFzwne}9>0se&CyXq&a5wOVg_BN}h?@+6%x zix?EEB5f>=g7+U(w1U6qDszr?ym9!$y4IMEy~W?M>*a4~y(d6D1TK8}EW`W;=sWJq z+~T_@F2@*NSZ=dw9i5HU)h8jbCwP$+!F$8a~DA1o1#c=`Vrl4 zB$)%s?w$86JjDg!DsZ3)i9ZDV$$wY`TMB*SmMte5%bO=kJ-@%=#{(IWrUP>Ah=M!lzK9QnpZ$1xqzdPf>i459Ai3wcT zvch;KN4`MBNzm^1fV5^Cp4i)0SBxevZeyZPVK4yIvql8yUx((!|uH#m=5AIoM?ytmTXDDcEi ztr=Dm*yg2!4}%HR$x!RvFDDHc;YS5xBn+61B4C852f)#DKOdsIs;E7M(B`8NKc6fd zNWvQwyVb6atdokrs%~}Oc)L$n*FR_R{H)kn1}{R;ps(+0l-by~j?QII+}&YsYBA{k z9lPkjD>5lZdWtOU_}4W<24}c~{t_lnojPPQ^jyL+y@S~YAH`v# zwX83`0koO3ubON!#+54hBj{>laBFW1n3@2|k{^^!@rusB0D01{jpUY;`Axiq+?k)e zsSwf0bm-;x<>e7{9^Fo&OCVRej^7MUKzgPl4VfLGyh8C1BxJj=%u&mqiTABrayG`T zFzdawwY~np7m@q=3=o1l{Q~ghT*fE7V_0?-{O!|Y;20EUIw_!KK- zKS>*ZC4+7Mf-E-xBm`lK@7{ZAYqx$G34XM3{1wILG4|y;ZT6QDz5K(aup2l-NWf$e zpp{YAghSyg8+}q{_yUvNKofTru-;SOj}u*5R=&Z%l^FjXZA(ZEu1`VwgvDzMXCiEl z$IN=hOI5F#M!w#8c*k!)e4TwTswD~kEZ7Vn9Fm9McHjEl$zp)ac{!&7>S~eKE&Ia% zXa<0gENjiu+65RdZ2n4ZW=|Cj5J}{#R!PtX6@NW12`*ht+^|TGhuX8myEIBFzrl0+ zIr~Owd|wz-R1L7)oILm-Q?1Y4_2Oz7jraJ#CU`yKUyA}dKtT0HXadEd`Bs6{r=%1@ zaN^=m*8L#=AL`POlPc`L4hAOUz_Wm&qvKJDrwdgauYOJgw#vqYwqg2Oknh=*wmj)6 zr#KNO+JNU{fai2kWx~@SIC$Iq#$lA`f!_!RYXj*uFRS7ggsDTiTzhwCJ#v^K5XM?w zWZI#WLRB5Bua+kBflp3%bKYLkOHM*P5Mm^$WUvM15vxG=%_Ie_vJ9Kgy6%?_s3c@R zNzM*V)`X#|5H?hz-z+Sw;!)ToT`5%=r4_r7=RgjKz{WNWd1;p()Mr$m0yR@-%(uFC zyC<$~auC@cQ(E5}k(DcI;97Ff|N0C7YgsA>erMEc7EF%rArQ@i5a&+Ib6=ePAJnW2 zk!8GTy%7*8BTFrs!-$=6%M8L5w-$lL2Sa7MiatQ7YvB9juf7!si>wt}HR-*(3;}d) z!z*fNg3Y=K8qwu1x7K`#@1{s8-=f5yFfnG&xVXxF^`F8` zao|k09WG*mC||N2SXuo`IWorlzqRg5T0=cmmLHrio*gBX!+^@*Xe1Ou zEaGB!8bPGL|7!YmRj)R4V zC#1hv5B<^ei*`V{h6zw2ob%1A$I3iOK8d(NV=j_4mGPDDO8q8_vFpI#W5{WSg2#Cs z72&y-0wih;pi8Jpmo$_r4>roA8=y3o`-$VQJ~Au1you z?ON%6dbfOXGjnr+tFJY7_%ze3N8Kjy-awLb; z3L=S{o3)Kr{Y_~#9w0k6yK1`CQxfLmBHzrP4iFu>-NXkH6lW)m3;sH>W}rBaT8k&z z#cYp0V=j067D`<`JidB@J8n(3WO!J8a8pDc!WW-fSSx0NA1vi~?$1s;E5Hq6m#-H9 zaSuih@Wy7q8<8yH0C$boS9=^pNgbfhU*YBSIl(LT$jPE7;U}jNCM|(}#YO!N$TZpegiB!=QfMW4TvxAg=3->jl6dM3Q>pv9 zpI1zb?$yz+>8uCc5pXT+2ias!Y{s;40ev6@uL7&?ij7LOj|j4kVuwt)R&Y93)x8BP zSclYHycjPU2b5ww^cv4s8`t|COlt zH-i_S&Qed2av@p6Z6}fz-(1X;-)MNL7Y zMnbqTmX{(Q&cR>;PZ6Xq|INKuFAH9!VZI1BT@3!I%5@^Aw=6 zd8WhJa}S2_o5V|$akx`fz$qz@#zUD4zv3&9L9lMHjCLnHHW=FEaV$x)*h-~T1|>y| zW%`#F;YAYkRNT$GJ9q8_c{STaPLQT zq+*2i9O)CN;!NKz&zg*!XJ*G;7}XNR-_cTFc206#3q1E z5<)FxV`Ec%bXHu5*LARnz`56dUSZ|x>FKLj8|c0z-|hTF?|Wnk1MqtUnEiHjCHvsb z?5+(is@>@1m#L}n2sDvW`jv&=VV{&|1aJT&G~m~L1`E;npe{B-@$P>22Cz~cMc5#l zbKA1gHS=oiY-c`dH)Qjv!tNIiWCd(CkE~V*SJ2SzR(^5ON6j|Uv*FC@=`f3IZ|qYT z>=_;WEd|mI;v&T3j-s>|7zcqfUc`+**`Jj8@CV%&EohlM=w(p*cP|9)r_>8JeO(Bv zP}kk8MH!vlN^1+e|4>Ab6&g4eRr_9{rxYSk+7LR?mI}44z->PxHcCEVN^Aw#XD2q_ zt?7YHk+bRR8ueJw8oE|6O@RIAZ9XwY;ZK{@pZQ^TwVJ`Vc%D>U2T5?4ab&*&#CV

b;t2lG6`-UoNCR4dGVC5z5pz5GS(o;i6LLM!qWF#T&@dd~Jk zaXp75N-X4@g{W{kobKv7-f$JacM*M=;&RTBD*TE3KP_`qU~`SE9P2Ob1q^E zIyg}ZkGs~T?0{LPLw0@fwebuwI~&}6S%xXaS45gFx(gpC8Y~x!uHGp1r-WQ(93;Cr zM!*hOJaf#0PaHR;Z+-+ZF_4y!?XmNKQzQJLN2mH8JO7j13IZjqnIFz;_3`&Vb~V18 z$_{9@J88PP6&>1A5zMfmb@(SnUvxme|IaU~F^!=WDnL8u{=%G-9c*qa;6E$VYF`Yh zm{Q|3plJS?{Y%olD-dNIXKtUa)8IhA1YX~aCCK#Z=}&`}pzoQvtVxCR>)fcez!2-x zsP_|pJ&cLK`kX!R_L!|FQYF$NcZ+N*-sS!1Yw|UpS_uEEMiUzwtk20-7>Me}0lrgB z;F71%oI7wOw+d>cpb)3KYyxbZ*#QklDzIC{41Y;MSIo#Y=oI(2M=d*I=-w0pn?!L3 zLXbc^TsD9P>Nvq>9qr7U01llk>8{u{An;6$XmMj_NZ3DwqVTsS*Loh_R}nyfmXM!U z-3FFMJ6_rWpFi+{+)OS3$bnBh`UF$smX#eqRt!|~>%27os^xbC?h*crJ^sfO@xKW# zdfWP-xCn9S2QX#$R&v?pbNJt1;nxOvHik3b$A1ppIC+|km)V2#TJ2jy!~9*V8#_Cz zq!&O2{&p~=DKL=`LZ_D6HCGoUX$oBTv$i$!Sp&Yb!(SZ)b`(s#X06eZ3Tr6ISCznL z@vpwUT4L&@X;AQdJYL{TW{0G(dy2f=l7SmvQkpO8iG5qSbf}unvVIv@90>_ta^x)q zrw!l(k2p7j7x+b;<(=(AD)gS>4NoWTfuGN8yUOh>7ne@dJ3Lu_DT`NgWNb9Vc|LOi zyKKF}f?d0LVus20Izvx?=Xjr6{G8>hVvJs#srsK?fhf^+k+rGmdC`5X1F@$J*ZClA z4A)6DUM&zq=H#3yz%^EKtD#NQg{~csXsKO<4A!EIU!j_POvZ5=Zn-ZvoN9?6{%4-8 zZ4qVJd+0n$$N=vQYt{NFGH>&I9(JO8u2*IR%7;_v2xqrxiIvm{h&4z`L6m0(oSRgD z*E2p*1jKHz`^lCX+0#lpz05{qm>~fesCNrZe(!a0@0O9g2SrGngkuH($YUqs>OP=8 zOs6L`7$moTGVFjrqNKBS+D=?wIWI)N9r2Uq_fN6KPN187JZis&Zc@F!&9?p6GV)&j z!RcXa7#V)xAI%ER^@lJ_ytjSlx&E&FS*qihhS0TmZ+@*;KFiRnjErF&9mt)9(2K8j zJBiEIgs@G17vUx??|$6U_#u_RS&r<`sGmfO#1;<$QsQy>sl#Y7G|jj{{%`}#6+;|& zf{%)ymt6f_7~N+IUQ8El7%35;0Ert=d;Se_nBwxmb`MCDyIt_t=k6!ni;KJSL8?!n zuJmeYBCMG2c7Ao{)Y#pVS1OV4XRg%hso2cVk5muGlbny%FfPo0${GN@!Cej}^oD!# z0;DVYy=YGh?(X#gRXRre0s(OV z2niQ9D8vIVetjZX4|c__ z1_w0>l}%pud9^j5G!)~b1s`#euE315(RmuGfu;w&>87&o$xE?I@p9A&2czDPU{6RX z(d$krYk~xj!LvyjOVMr0eeeCEuo;)LA;EGH-k4PCW2l%E>BD1=;0>a-4AiWbGW<}n zN5FcM4H8gZZm6Mm!Y~Wt%2dF_o1}A;4zzU7AX5@QK8w<^+jJoEN9xCLbR9v)6G`g&x@wJv|A@6N)cz{L+S?@&-#dysh_%rek zUGs$bUQ(whugUWl08#ZNypI|ZCzUV6;?AOyO@cmk&EBRlLxIw$cElI{w}|Ww>kv>QZX-< zCK(>w(yTMgEM@=Bwxh;zV%`%YnynDbt{sYLRh-7L^hLlO^Svgp8&rE}cynh3Bi7T(@V9d1f4uwVj=L8w5p|n55IHk6dhDp?U zv$}tsc<`HILB2x>i6nVpma<2!Bm7NqQQJQcL98`5qn3sE`bH z*>6OP-97%>frsf0UyvDz>AbBO!SG0qw3Is|IefSBc-_YmT$!gp<-IR*b48q|NdRh(B)Ui z%d?YPCPS#a)_PFWsK!AUr)qV5i13P>4}~W6d+TA@QtWf{LzE%eP-Z$PMH{Ys%tJ_! z;#}>EEl{h!G<7;t7z#~0aLD&RV}bv91#GXV3uw1+U>%i^~JO<@gvUO>QBTYdcDmFHJ|HE;6 zO8pI`V;n0CVM8R_Z_=c<^?GF>opkOzh96K#QUJR&`Pgx!EZZ%Y?Kbz4nD?w-?=kA~ z9C2PZ^h1F^?n4R@POBPu9q)v8L?`aDTB(rFPMwgPnyrN7a9A|8STRu~&(SQ`W>aq5 zje=rf#)y?Z)2F{LeD|{d5E<{!l4iL1N~teiJ6X)E_Z3sm&+cwzs4SQzRg`<(-?Eu$ zQUu;?KIjMM?yI7*1CiTI7YDN1L3yIyb35KFXp4oGzu0koQeV*Xd7RvfHr!B z?qCn7L`rW=i(G0q=Fw=giFc+-5y&2;Z^I`XCm+*J*Njj0Kq>qMNT{+d8i737o*V*Y z)#lzfhT}!hc=0?3tPSzOX=74{PUzH*f%=C6;Xa#sd6%}|K+U2m_ zbQ-)hLg8mA0HVWuRTdZG(}Ijj@aUkT7s!Ru&&f%+Q1qkZPfcMQN#!|ZEtLX=p8DxF z<4NPL$1$~^NT=T1SfNCHD-|hYlQNv~H^ZkSzey={Mm+_i+U80%UZCSkipNRE#98Yf zsxFto9VvGs6J_iq3~PYA46i8z2#8hs)dfyRIa^R{^dNKmc!qNf!v~dA8TLjyIi|jc zQ>3T9I&g5i;&IWDV7|KEdD+u8wsYCm*#bK<=6yiNU4581WM*CLf}0Ys{0>{4!g&q7 ztDtc*M&RtH#3Uv5yL-iif(^$@JI1Pu%g>?3jw+n+*$NL7czboKkO`rd(#7e10c?ob zV5FWUa>-Gzu6rpQY?XwrP8oJH7)iit(mpSTs+RXH(_7|+##UO@|CadCSMwmza&RV4 zIxSiqROB7T+0DVY@U(vLyk=&71#pcuF(e5GFtt{lGORegfPt`AJ;$@T^V5A%cy71b zAUG2(nZ@5_Q)Leo>B6~99;kJzWb{zA;pYR0OM$K3&Jx0kTeHBLI6(C>0z?H6^B0R{ zM^&Ubri}-NwU@v(zh6f?^2>pVn*4-?(xv4~wuz_xx;F@wfSz_aq5^E;Vp591n^aa} z(_!qnzseFHI7-R?~32=IoXf8spXw-fdFlXBor^d#O}!aaUDue$xfZ;!50lyW@erp zZz4n8#2awT6 za3Cp|sZ_2dL+W`tDLnj!po}7yGhcQ&+9YnbykA_yobgSg&5@#Y{Ysh;6*O0oV80F# z5A458FD6`cr+KJ3gzb|}XDn}@hsNz>^q(MpLd*2K9h zv@Tb3drpvdK{P$2{EC?)rc~RHFwk0@H#+| z^)2d26KCzz*(cSeCh+L2>-_%C0de9@=2)0`5r6e7D_zls&yk0@1tJJ7WtifMmgmaN z4UQkl?lMI`er<%D5^ZLOjOJ?Q_QX7Cvm=g2oet(z_R-kMGO_iEoS$J}U!1F6Wfmg!dsiU(z^g20^DStXuwrK{ z=r7l|Lya{siM$I#l!*`@-kKYE?KuYdD&_ERpMe&NP&t!2zw127B17L}#`0`>;LLmV3G}hZtz7} z>_BQp06}A2DIpm-YB^YTzdQtwfEsa@xuD$|E;c^9 z4ARbpXwYP#Kn*Yzfe-*la;~~Mr7Idutxy3bBY>cGn}JXVNV8nCImrH|*KD5m2~Rc= zJRMBYd2_#W9p1q^BS%NIO^^pmS8U`wC?T?Go>G4D$nk%5QxG#i$B|wK4JNYj#YKSH zFN`!eHsg5>c&)+VL-;>47+9&^vj+~m03tZC0@4~XkU-`+peEW_kG&SC|aCi`5=4xV zy*lEbeg?BIQTy>N-{&YNH-y|ok#qyF+kyACBR|iOO1cGBg3uGUo6v#UFK+Vr{m!twy_V2p6)&k-}Rw<6Fxh?==l(f$x2m7?oSP=je2FuBO_0`3Xoqe4$uS#AY>Vk9A<$!UG%Nz^19vP}i(eRnOP05b*d-0wQ zn>BBM{u!MG$h)b#UNHu7Q@3*2Ub>-G9vAT?nQe@SE2Tv>Eb5_U#9)DYX|PS6ryI24{g(e?YU`U=4^4FJBJ*{)5ONpeYmZzt_ueU%7m_ zlT^S$cvP3(x4J|gXL~5m`ww8q|nZccUv!9%EaHaroGhyL9+>8@tNE9DOwu(6v8{s!S{UI! zbNpQn1!cc?Nnak6%cEu$;;=83Ht_yI?pBxLNL!48fD}1|O4hw_C|jehbR9Ka@lBIi zFB?xRWWNHDsXK1%XitXIFnIZYcLj1({ArbTHZRjjbTuN+FKV63+)Iy!2Y7RDlRV~~ z?5SEpWTepv+&zpHexpfk4?J|r`OCZRnLCYoPeK|5lQjEI=k#*yqyiXtO3k`E^Tgq= zfMsbDWq6bN>GOQ3%q->^j=RbCfonyzndsivuTEifz5~h3GWR*hDI?`K0rN1Wfz3>T z2T&?N@_21o3cO&kDVT6!{h+y$Iff4V)Aezc_e$3gbolD{k&p6YpJkYbi!j~KaB8Y| zS9J#9cp|Lgkm%SB|9*aK%QOwAlIzYgv%u~-p>pekro=JNOR!Neoda+}}_uBl68^X|m z=n=9#ymMH0RwPKrErj@Um0yWD0)EUNE33s<3oign9H)Pf%6Oea6^jR_fo;#SPk zHB7B9(C>iJO^jO|ha~xG zxapB~){tE&r(@=xd^fu4=NgAu5deHAC_BB)tjiKBMB?e+tZ=7ppMDHV2Sw!{mGso2 z(Az>LXV6y!z<=XKx1HCAO{Lr)C^fJa+ONaZ!kHTr&B~u}g+358I9!i39V?+yo#5LT zn>&xP+(1+$trovAdf#0twDv?6#C3OpVb`_86FZxn@QSKvnX|BbrUkI?x*ZG%Cv)mf z2td&`NxEU_9xoj8P=!NQTSP+eCaOQ-nI2hAW6V({Jq&zym&DlFC+|X8MBbizfrIni zsfG3DtrYv@7j%ZBZ{?`{!ef6-424qAm90Z3YLn!3^P zr>FX2zE&G9gt^#aO=j(TTQB2Nws%SjIEdNXS;4iP7Fyl%%wtG`&@pSlF{F%%TjcO} zuowVcfmHUsh}}qJtJGXL^9DnP2V3re#XwHbRHEB#6Q_V!HV4|C{$ahlth2LlH4ETS zuP7S-QXQhArVdY)3KJdrh|YrIMXGsp<{F)WVz}TI_%xB|{RA})E)1Ed%UUG?yQa`R zr`FtV6Z%7o4G>dJ(m~^jbPzd(b|*P&)`d5{k35~mybCE=TnL%^n)Bj7C+BAph-z1f z-bDR{i&NFE^%G(}(NT2<8$w#_V#Q*YYa1=@`A`?gf3WhNJDYmyDvV0|oCmN(Me&fi zB<1j;BPbgTIcl@~IXy;~*X@p~D(GQs5{;V;oK6XyO~O8Qg4wl7wO~w|UYS%U-jiVa znJnuv!!mloUElD)_!hCIll?e)a~NM^>b;ZKczkz^{B_qy90b#U-D6hu8CVov&l_aM{n1#@E{*_iQZgMmTOhWk9?Rx_R{|#X!a_ zbL2sQ!D>%pF&Lvju#bBwDlt{Fxp$K#pgi;|~fk z8WhF`21$mo#>fz5(H;u)Ur)Ke>E?YXAxJj-K}t#3SohoOiH1X~L!iu55b(y*XToPA zQ|~|=?#;V?_yz(2$<(1Sd~}Y~vA^-!47tZu=dXrka^8>qq@f~(v%7L~i(4~)%3&0?Md+g-%IT4>Afl~8_1G@?r zMkkQ@D(g9Yws##fXv~*!%_nwTJ*)8z=o0xmcHg>OCPB6ZTS(zD0?$GDqWv(fP4b1E zFXbtQaxfa2t(lDsH1p#V%hIN6uZX~fW5DeTEG(=p#Lx1KlK#!XKz_}T3X(D6!cvg5 zfOoxVsVw*GK;8)CnV{d^8z(K$U(B`x1S{HSnCdYbl7Ym%lD_0j8MbB$2SE}*G6)&P z=_*w_!D&W7SoHN%F%a{EQIvy-dZ*rPU=ZE7M~=_?K*$M5EFW)3AWxLC`5{-SZeGAY zhjm_cWtepfNdDwtg`&eN@myB;-%Za~|0}JztUm>CzmuH5<}7hvV5DKpTCFayx|CFA zsMipg`eAc&|2eR%Ysuv+!3kZy-&vy;dZhRi6O^W{;Gf{&U=BJl+*TQ&_VcZ*SGYXw$X*X8yXylV`G@jx|a*E>cs1NPx*jt7h_5Gm@x#D zi)3)1p`Cs;Cj`q|QMy5i#wr`564fpxhxA;XAE!gPvTMJdZ#@|&|8xC@nO~@E)d^O) zliql?x1!~q8(Jw>I)_TE-j-|l4=U{R(qOc3*cjSArBW%=>e6H)*?%VC+OajQHer;` zVLKnQsbc(xreW-lHM~J(Qt2v~lc#(SsIEA^&Y-Jp@r6R>YU5kJow!J`KI#0W@~jn^ zvkeI#+K8~vVx}7FzedjWV9Wh%Kv7;VkS=H8{QyEgg7;;M(b@0mH zJ)}jMN>;Q(0dzQQecI>R9Y75UFqPS+!0?fGTG?ahny@9PBdSCAt1qd2f-bAa$slxJ9i7O4X5B_+1CVc~f>k7rIKG3x_loRpb&lYrG``lV+i$Bx`eNsL`ZTsOIJG$2 zeRS~H>p;zpx*(Sz7af0O+H>>)ny>637VyjA$B!R`5D%Xpn%m_29QmlH--k*x+8{3h z6-Y4M!3GASVb@YD3nwJxHpeZRdaoQXyw<_BHN0T#tIc7dXgWw8KZcg=c#L8lGAOnC z-gg~;)O?I@o96SrGZ-?+*v;-7%%`<+Iv z(DV>g&*R%dE*C`JU=S(xK=S!3#RZ#EvZ88Q7U0iIm+$mGC?lX<%YWrj>}9oq@BgX|%eVCuK}`OR2Y zF}ZZ)5V<7WHeb^pI_VQ)E!$DM_gg+-Tz6e;g)J0;Y#Ra*me#{^lq&~oR<+D1Jjc{w ziW$Nba=FR@e_H*9NUozaW@v6I;Yp2rTki%ODioeJJOhBLcK|AuUSJtv^+*1>Y9N1k z9Rwxff{z|_!t%uq^l3ibd^naLB1Q>jdAp^(o`pw1YW8NWc>3h^k|4&%D9T4|nte*i z*K#B4s~*`z$=9!vwyMx)x*sQv7^H(3qO5OA?c;V(U(KsVjD}L{o8s82Ya6fJ@>S6- z`S=>uib_(nsp8tzrZ}|UH^6y)3r<`Bu~74!lswy)sO^p{MDuU;SfBYyOs-vw#V z`+g}yi@UgsPhqPbqxt+|84nGjUu zY4~R9o@z?`hJoC$up-E?Vgal^y%dpH|48(f|JyaJqI+K4dsQrtJI& z6Sdq->2x9LAdfM>9$CCWE>b7e49Wp(c5r7 z`*i%O5YQnpbDR{k9Co>N`7f-}6xx2(W#zq*JRojA&mN-FGYTMU?b4fR2(%Sv^_LEo zX8P873_Rr_X6yCW{^*!|1K}iK*h`0mfV$v}s6fK*3$(qhBqH+TN7^1x+|x!QdzC?D50$cU7=4b#vb>EzgDLII~hRpc^eK_LYg7GSO`R9qi-acr%3cA{V1oZ2L zH>B*1ei+?kLJH8&7@Xg%{jnJ!o_twRL2vjn!p9ip3zz0M(zsxmi%ZcZHAGzxQu4 z!t>mD?d#gt-ZKBe?rz^HIF7pm*0v|>`6&r+BtYJ2fhU%)i6y^aI0=5Z1*CKRc6gNi zEI}3Ew&XE3L3GksC)*7Bf&L|=wi>ll-HX_E4J}<)K zT2IIdoi z0FOJ8t0SGVV!1kqX^`XP-Cc1T%$ShRLMVLBTwu>XA8#X$Q16Epq$W6u|zTfSW}5J zEhIX-(`DkH+SuHRrr;qZXz^ylX%7;!0`PzFi0YYiCMhP$xPXO~=@F&cDJ?rM?F)3* z?t(_!GYec*dN|0GIr@QRxIaMZ=(#?S^ldXPuH}SC+)&YGB))sp?@fR5^&}`mun+JAHwXOv62E4{UwTER?b5!UTBzTa3AmEKd8}N1(@^42Lm*WL zv-o&7<{4ll_C?->Q{b2ybMj_7OF%;N&bw#VJ|)$%6UFmB=OdT_5Wnt7;>p}a)wGeQ z5>S0;{%19wLo-Ax9ut=K-a*_pOYD8u-BqB}NGRHP>1GA-h@*b~0L0RH{&6<=#{Yd^ zg@9BMy^5&-HD%yD+|=_w>7#$nYk72%dp(N7B$C*7PeG z$9c|zeIlt_N4e1HVUKxjbF|6WcB**5s$G97hSaj9q7Z zy$pHIsg=BsM6^E~8KpxIg$j_dn}cU&ILH6u@sutG1D!+!IWX|*eBcr2oqYy37Q6du zzT8j9`?gB?B`Ph)IIvJsQk0I|&T?fTV#vCL%bP%Vd|ws3bjSPp8G@+}zlz_4{L)av zOHd4^MiR&v8EN%EPGwC2+ztUJ;$Jq-R`0=7wECB;!UN&?Cc^72e4s5laEEPi8VGC7 zb-z0<1AUj~j9 zCRBRni3o8kD*tHlEh*@tMr__cA!t$o5aWPX_EQ2(HXyZ|<^H>Hmkx>e3Dd}!dAO&d z8y&WjP#Eg99QfM7U;{=q{bf#FH=P0(9Qt*k(9XZ(eJ)`mMJ~3~NCfq1r2{?l3(V=h zeiK$`_|qS|jkX&b{JY+LKot*tCGK_|V_Tp&{nv@2?pK z1GmvX@Rhlxj{~$-Gp3#<^Ekv1Cj6ApFtOB_ZnRp+mBwR4HsymAsdTKu%;D7I8qvnz zT3g>ut9bI+r8U-$IPQ`Pm>{9@>pY=>Lwr_s=s%?fYWNm_`ZK}0yrm*M5*)|dOF=|h;R0h&ms*}5 z73YshBE=@j@k)XUq8o{SeWHmpUC%OqLJKd(dzX^8MDP`;O=DkzO?I()}da}`?As@D6q+7O; zeTIT0qN&f;3ZvgRZq+6DutG|S4a89wajlEwgG?(r8+007cNJ)QfNq^|{O z#FO}aU&q#$R)F=(*1oeS@rWI)2pgca?*uP4N48cktRsO!`!^cesak=>{=E)N^D9Wn^8crc_=S zLb#s-!poHDloi1F4p>&}O4NIoTEAK-vx0Ll?2?Gw)D6?m89|1MB;h4ka^J!a42lwz z>8`jh_Io8ljLh5^0tVLcfy$RJuH{$&X6?h3UcUHjC-}@LehEgOfm3}k&<}m%+JSqfISgB~Fw_bM+o0jf- z4J|ZNUMoY?y@|>qRWu}d4n|MME_DzuN5i=N9m(=kTU{~<3v!S48w#bx|6||cT(Yf| z_iC~`1?}fJK?5DrYEKaFe)X72kE(45 z2cJ=mY@^LY8KRXi>cocnVL&$;TE0Yp9Fb57jOJv{)^U5u&%0%$(o&APB1Q57UOl}u zQZfe%P!zPmH&_g~gU4lFe2wz`t*hus#lxE##QZRtWO4Ts4NLl*{^UD=W^r4nsP*Y% zSm}AV5zut_!Kzr_uTe9wf66qw*r*JCjfT5(s34YK14bISUkijcKpL$S38JgLmc!eh z+$K>(sj1IRE2Fo#$tX@>#O7A7l&+r#awB$S-R|xrNe*94x+uY&pF5_oKpR0n-ml6n zDotaH`ks8uzs8gt#DjyRI(ap5{*+2}$VE%Y%94VNW9LO4=lN)2Ec>QfzfZj@Mbv~B zW#BmIkGh-ExJ@}U$R+i4`@xa(9OQI(Vj~;f#c5E8NR|`dex)CLxLX$ zA$A5}Of9@c56ZR`T;D~k4H|!yX}x&)cg%bY_g5nk$obN!ri4}YR4Yq<12k7b+Ka%$ zxf^0kGybmy-5u&m&AKp}oZ!icyDI`6eQvGOd_~tfHfDz}k@7v!2rcfh)T2o5Gy< zZHF0Yw4;0Qb|&7xWm$D-KR=aXHoGYDRJ!3Lm3UC>OM^bkw%sY3@>hb7n};+CKk|A? z8GZ8D+V9f({(D{7*q{OO>zAvJ%|bk{0TA4|Y1ADLgsA&tvx7FaEGmt9cu~u46yrPR zRC2TziIk&4=K_rdZziTJld&w2@lzhIQd}O<8@nQ6DSzWQr)=J8YyG>KpFJpBCqI)_ zWEsx^T#GZc?{gF8PqqQCO>$G^5kq}0S5?e(O-v8HQn zco(ZGKWQ7K(adHszcl~fTG7G=j)O|mVXGU zN8l&EetCD$w`SViU8`rcOAqm9sLUMNq5ZOvqZHMut)Na4^7G#L#KQOgw6^Vr-1|_L zLnIWM@}I7^ca;C*B`YTTf3b%0-%WS_B^ZN?WhEaL;PlxyIPd->$5DEXu2woIngCj! zm;_K4wO;EQn3kr-xfzBglxn4)-+gj)Ct$M@GyDb3l?VhmU<~+0MzW7+5O+VLX;e3k zbJZWo4+=zguB_nSzor5>LmwFp6{iujbYjE0J*c()%qSPxb?FEdHQJu7WTf>p{-ZVK z2)uD#Gp@i<0#_@}1AQ~T@cN``=Tyj$t7;JJpRyUbmtX%=;$h!m3N}Enk zP8=3jQQxKubt#HHf0O<$?yl~k;3~*1&fj~e4dr?IcAI`7ByYUMZO6lD7BsFM=$fpw zl2gA_jRrFpxq*Sxy)y4OecvXPe(bWPMJo6+XF^{_iaAU&o#yiHm~MQ#3O=8cA#=pO zJI5x0ZYGR^f&vR2^6Fwt4HB?sZEaX`RXz25&C>cRt0AN>p~xOne);m8iofZ@nP2zJ z$)DL@kM#s1=3-JqCW`hPK>UgcA)hLySR#M){Fvz&6bIVNEe5}6dEwvX2kT7H7iocb z47?+S_TiY8QTma~mL?{FLHTen^G`so9bc^UHu5=Z8#XSZkc*}5tRVF3-X|2pfUske z@S61G1J+Fb;=Zjjd7Ji|ZgV!=3gOLvN##0j!3pZ)o&2uHJ|=8YRS@}ilP zsKsR8^@o5g+aBN9w3zgf6NMxC9v+#c7>o23zpUW~KSToOAJgbVbP1e=r=?V&4srKc zl{T_Kt*7l7MxFP%5Zd@*rL~VIxVc*a@CuP!_Als*lYlQxdweJsv(gJBY(4zL8o+0u z9?=N|^#G#QC3dFXnVKFuXxfXNcD^-=@T9Z$^b6)?8hMO(oJ$G`;Lz(M;R_t_Y`$9k zka`*zY+7#VfxU^bZO1=5P|lX@4s3+;gB)+Ct8tc+JP6W1EQEX)3F5w|DP{b^OBt0w zWbx{;3&t6-u5B)%#5iJF0aY6%_=J7n5zt>`Z!fW*oCb1YLq1cM#7R2u?m?JG7a^== zPe3B|Q`pTc`*2ZH=v^gBdzny`51rZGrwJd}&K>0+8D#rIQUuEap#A}aaJnjvp7})d zFM7X~jG9u;xeOYfj)rBzV;@{-OG0Xj%k`!VA3nUi{q8AJUT*_^qYO7o_x~1!&PwGx zUnzotfzzdK-+%Z3un}da|H@N)+pu$c7LKeeYK@B5;9UHdnQucwvC2$`V2k5`NZ1im zl?)ri6G>gpls^}$V~x<0O&Z-rOkEMQQc(?OtT>kNkA`*Ml>P7nREWDvYMPnjo$~Sr z)>=&Q6k(4yN3<{BatqeI;X&N-SIJNfXqFgkjdHQXOSVqLKvd(rjv$4{y=kP!=1>?{ za5m``ZOyCeQ*%(%Y$tn5X;Q1!`X4;zH`RTqZ|176yEECBFSJC65yk#wRP^`Uw)pg1 zrvD1$-8syyY?n*-yn2vk=I2X7meMDVEh!z#;=o`>FVhhS^#OHjPRe%q)}auV0>ajz z+Y|GzNVLeEbn$c!CDi=#$%#MGo@YrevI5LFSW)GAwaR<*ce$xgey&syWB4*MmQjxI zeu*w@1oZl~2E@|tS%MBzt`;E*Z}<7#<0IgNJkQ>^mWQ7yNhQRLebj8ZleZm9G!B+b zvI?(5J3h#stuV#Zw0)RFJzZmZF!c_#lSIX=y=HKbXX;?A!SNDVOrshFhA439pWoH$ zxq05y5zS#386NB7X%D8x8nEIetr1df%1#xlyu$j`O~aM4XcVBr3fa>{ENO>TB9(t4 z9cuB70eWRT-{3$pMEwddo%3PKcH@>GXsWRQ?>b0iY2&UNRTskQb?Uytal=S;_cM}t@7^uv}PM+F-Bf2cLQ zGN@=>lMg{$zpdub%=%-?I=e*{q&ijUm8iuBXCKi3EcJ7+Csy^y4-_7X@!$=i8=1?6Om z2ZQ;>MDeAQ&^9yBmz`4j*`TK~8~2(IJ=mj9zz{xXY2I};l88&g%$&y2?J$|6rhjiV zqK!)FhO>@{+gCe?CWiXXqaJ`Aq~HkT`m1h~fYkL|4Sw6aWweCMkL!=m5v+Mf?2b3- zC)#un-Rj-nHy88OAjhr`k+4I_N40&4XzkKPRl0d!3>a5MyKIFLlN1N-Q5^ z$qIz;R}1Wt6$e@&n@Wt1Yo|=t$LHa-HTc*Hco2yf{x*B!pJZCeCdmiXWQl2;RsD1Q zH^!UxJRByQ!Tkcxj@DUv@nZ~=w-m|&^{V=D_z#_PxiS>7xxo<4X;Wp4bl_J&mpvh^ zIKN}wS8b6w|B_^-c}Ru8@G$l-8wR$&1pdzjBA3Rv2xy`a?Vf|@cz7yv*#VdP*NSew zq&v3DV$xHPPr)_z90gl^meFs2c=urtDou$V2be=%-^uiTa&1fCfX*g40{kqPg*SG& z!8&%-@l^~`yzHjxlzr4o9nf@rH~()`UOlB`U$O$W8_A8p!O65UhJwq_3#^YjU#>l| zn>h~R?TEX9+VN5T5_9^KH)Z5HMFO5(rqCFMz7mxyydD?XX}-5Y#`4@ldNt~xKEUl= zC;eyGuj{v3Qza312fvvM3b?&G;Grxua^u$QzR+=MYG(%7m51|4+N{ir znCZa#xh3hW#~X2xoro}ffxt0dF<$NOExMa={%``69`NJMFLKZ^nEVmdc|P@HUY4yC zSN>w`PU)p+Sk|xqK`G>RKeweTeL5~m~|^~S13xwRfp3O2)4ij z-{oQNqKg_iHm&l9L_etOsO^s+N_ZTV?5@C5KQ17bsj60cSXtIJTz;f|IXk^gNnu?{ z5Ctg(yS!G(*ew@OrKte{fE>zF#)OyZw`1%bKF;8JgRSzIa*+pZ%zUFvH0mxs|oR!{RF~@I@ z6sc{1GT)JEfKH#@_p4aB%_U9<^zA(qn{3+}zBgK~DL&7%!?HCHm9J%?Dy| znffT)qvqK2K)sH0EwWvi4XN^y+ZPd&yW+=Yo!ol}>Tm_nYA?QMfC|HcQYVtoyD#)J z&RJ^&97FRoM#>!0+9=F=@NgY6>%<(9b79-gC!Sw_&Dzpsde{=k*5U--EgibSICRM2 zzwtK1p!2Brnz_VAMZI@H@F%fpB04|g2uF4G`1zRf>TJJYXLCEF1*rG~$Fg5s%rO1A z+T}DZCEri%nq_mQmgnmX0cz>AQMJpOZ|NXIaXzY^6=%xaNTkRT!9H3Bi3``YndI61 zf#&tN2%*?7L%&WA{yzV#x$Iw9cfAgq4H;J0Q)K)U3m<(m-pbzBGeD4+?B}K6w;Zqa{WC#KTKiVa{gas-?o{)&Bj&&?a|9d>hu{`RaLuu`%pbj$zrA25 zZxp%azCG1Q@s`Zse93(Q$qGL(+D>qAyDN#`g~cH!q8R3hj>4*&rV6$UQnbcUB+qIZ#}EqQ*RZ(Er~{gaZ+tnCduLz8$dyg2;!s@57)7QK z9ZPA_&kfJF@lyYiKw~Mtw3PT6XRPoe0x`_WaVT)LtI@3=NAb+~3%oPo@u#aQk*LhE z2g{E*>H6H>lujlGhBlKVVU77ES)BhIt@Y~W2ohkRR%>#Y<2^EYB)n;ODyIeAlgM$a zH%hXBijM;l7EjhyCM$eE>F(y0v?;x7f-7Foxg!peJ}GANSz0hH*EH4D2pMeqqlSYF zHP{Y{_;&PnxT(0;9g{g@FQ1^#mAfZ7#f=V7?fz4wy;~>-q`U7&YO42z4T{G{z!{aT zrkGA4I*ZVHPX{?{n1j@PdMwU=-9JRWx}86rz;k%0Fq}rigK+fk;j1*%Sn!#|Mw~IGlbEvMp+R>1OoTLNAMRgQ8X!u8 zjdC^bYbzplS7Op8Rw~Q^NmAL1f3`HpAD$SK&!xfG* zNq9D4tI7Q-ypQ+5=8_X?Vx6maxn4ui`HK8sX%W8NK%LeDdcG%+CI>%xBN4>i zPMjbqDT)KO5ck@bFw65F0wtK=v;&YoR(l{`;9;2U*0<)9=&=PNHa_EG9te-+}+qa|294g;eqCXbS@+99sjF+Kto%DJ_k7 zTW-sLEOZPeJQ@gB3fl;AA$J_P-bAi>{Se0o5yYYVwxJ-W4$0V+sar|bL5B<=tdg0? z8WP}q-LbXTqg zLCS$5c|$|?Q9N3c(Ak?O|3$(Cur;;HQgQrzbRmr_w1>AMp`ClmmQLs}y_QeBst zj;qGf?~s_7bR2AXnz!0nqo^m(^JC1YR7e(=oc zbCbv`*0|Vo`l}n9jN8{QnVyP8-To3cS(nR$K$gYFX^F*rNbw#}b-Dd`d+!X6pgoGg znCCnBWJ0x)H7q*j(FgexRRqGAK^Y4(iQ@k6Tt>1WlM%-yk#P9IV;&5vJtsOc*65J4 zcl=@f6g<}0!*7f^MBfXnibzVy615SZwMNgqHw%6@?;x#6LDl1ln}3r61CiiWBIdUU zu{JSoF7s9jOelA3n^BZ^iXwpQAny}1hCX?&ocqzICimXRL_JJgZyYlhdn0n^PCCBn zYC488FT-RXz;VyAHf8y_O)th5X8WGM!Yfrzy$e7w{{m zmD_?S!!buo9{>B>BIXdC^!rnU!Jp@@@kpk|l}m$5MV|ZH9mzN5lcLg8T>kh;UM|e` z9HM{Bdj#aDb7e<(BJNj^oN_W5{o=Z400SvEPn+*mZh(zUwy;B%o!#<{>^B>c1pinosAA5Fxm!_1&$2m6j>_SnX{&uH zKSFI2!`ZP8>=8V*8Ts4B8uyp_;s0&8VXTZ+d#r@&lv>`=7MHMCh!^-afGa$Xilcbx z@lSj&+Btr0b>R7DxiZ|pAT5-hBBY1f8v*e!AXndgfc5NV_5Dqj?~RnU_T1Y2)yg76 z+XB?M;#UWM6)6wS_DV@V0ok?qQOqQ^$Msh;y}o@`uRmFELT2=FZ+nMRX?JAW8C1dM z2YY!_^=YI5_daKznlA@K06TwC711~^Rh|YGUyu5ffUB*C!A;>3EBiw3<{}J2U^grcecyaC z&OFbXcN5N>KTL@3EVuj&V^C@tt#Zlg14G%oJ`kwH)^&0Q1Ah{1v3t5v{ zt$MgGas{xg@sBMKJep~&5I&utNd4%pg3%ToZV-$8sv)x&NM?V`KJ{k|h^_kYx`M5ULZO-bI9 z8kN@UNVYfGjF|>mJk6}%tJCI_H5D#_sKm%#!6F#SInwELHbt7_WZ%YsQPsD96D=;h}hiG@$UhelFP=9!tm_ekdG48buCn@_J9Y8aln&zGAQZm_DP z?eqY*f6zn6(2zEg)0s*CuZI=y^9((NhZsz8c?*|*?}`hGaV9v{!D;1w(tFh6Hz0IR z&MPOX&GU1gDAK?bV8ra!%b#OO6akUqL4+Kv2oGFG@`%&&^SBoVj|GuXRO)bZkp=|f-hfY61 zi)6)L#bFD+$bNs*v8Q&EWpIN5DJa0p-s>>5`_WhHpvUH^JEiOPW1G_PBY!}TqFXcP zY-=R@vb76URy3nZFhP9k`{bd>x|+s8*%Im#bSph4B+GZTtX^HFZ(;{}WthGQ*U>L2q6W{O6TPd)C#6v0Gk9U3+%-tONV za+;fafBWp4bwo68l!|`+XY4s$cgyHyIH8mI^egMcr6VfeIH8ZjH$md_6-1Zl5M(f_ zgI{INd3YK%Tu+n5Cv(l~?CRzJfs?% zE2btM?nD()mV>bz?HILh$u@rbyAxgP(Qv`yR*vf2k<-by#z)s8Px(j8#`GfKR(e35 z&wRj>MR{;+?tGE|*sgtgz$pHC@aOiY6(FV>t905yZ71 zZXh{R__g9w#FuX0)XA~DiyrF++7dt7u+XXHR^w-om62^F=gDf8clsBrdPzEt?cBx9 zF3ZZXSdb6q>Z>Wwhp+9r7wmBe5aLQGIQ0StmGJd5sHJ3goRDQD-38lJQJF}#`^FMUPAqn>>+hA-8>n|}zU-Ov>GVeZS=TpYh>D%(r2y&@ zgKFX*ZhiFn+uuT3UiZjGzTiia1btl?rARj0EA*u;kGK4o_l}z2F=e%QuO!1of)@O- zLDt<+HPotfeMejG82V_IziEu&F35&5 zOne{CdxiJi;4iyE*XwJrqy{t9bXN}I*-rc9W8!@jN34p7pXa)VAJPXixdSZTNNt%F*G2v&XG`ws!-1iS! zrwsVvr0u+WHpd1r_onNb}w0xVQ%HvSo9UMVRM(vqY{$t&R(Ym6h_^Nf^ zM;jh4x7(#tysQcZ9XwKoy(hAYlsS8O*SxyRG{Xl=tmQ4ncD&jb*$@tq^zVN2lUsWa zJVpgM_Q>i4g(`?W8SBUrb8K%}LjvOZ8u+$t$p3ll#Z{=@WNrTRuy00KyE@P` zkkwtVT=vh+xHIP%!=yQUO@`A%tqzVo%un&+Eu;yRuF%jvB@=>TuL_e=nXs%1LLfsN)%tM*2(s%xc6 z!~z}&kO%*kJ6FL&1aJpP&+`Yevr5CWRje@frhBkg%6pS^;){x!+sy+A0tC#ExS9M? z|AB|cb58xrwT&Nx=>Jz+g(KX(3h%%4TK@NY|0nVT(l7tNoA3V5!ZB|ET3>bqOD5^w zfBYgxFK}}WMufTLx~%?ijyBYb*q7o$Ha2oVwo>YKSoxiULO+{bbZ6M^ z^ykL$&B)@>AK%j*yKr{cuxcDKC}^k3!#>N@?OWCq8)%E@BN|(TQeEEi5eu1pirju{ zL|EB21brd}S2Pz$H4sMXI)=T6?>E(I4}4=9S5#22Q3n`If;X`EA0d8;jAz|F$UDtV z2@MTzgJ{T3tun%TJU3!*x=e6im{-?mXqU%~63ax@Lmz3=dw6r@!El zd4T7VLZ^aV-qb|0u@UGd=jk!0@BH@*^6IdW4k+J@GM{!JxwyDw5`~Bvgyk~MO$&BG zi@vxD{8JK_`>oe_M=UfUw@2PLhl*|q!uo>`y$kX-C5hor=<X<3eN=kjl z92?l_E;RStcl1ISYk(3u7L`N(smGWaykc74!F`D5liv@eP_M{y(n;j^3JrEn;VeaT zvQx3mbvwU&q|W7{>qzVCy~@ebF(64<4RKX~dV+S=ZpPbKcX z&=``7^kU4P^7}&N|57(urR79i;BSa!8s}>`lK$tSLw5kyzJ*3QHX}l{ z=EPvY#_<`wCa*u_SlvO(2W{nbi~IBRBC)4umf?O3PtS0KmY+ZEv@IPr{z~RZ^;cr0 z@yPGora9eTI3n$YN9cRrP|FH_ej~O~Y;*PlRO2ev$%&WBJ){kvSr?s4RM!IY|99cZ+AzknI^RNehJhpXByXV4`c`sYRQbysss>1_QB(kYFyI)k^9Uf2 zicD-tFO9lP|IA#b0eQsT;uy0Seq;vGe|C=Pggv@&%Am=aCRvcB{TpO zyj7m)i*uGf>&)q?>eCpijX$xZf5#mZj$k9hgM+r&!<@1l=axz;MAx#pEG|j$@e@{G z6l|H;*!rJ+Gp$IXY9>$5^=J6mTd9EHn;c6#GV_2p5y5)wxI3N*8sRf_ByX+{s`#}$ z*3r>n=Hi0wT~U>kZQ`fS&DgoKY#bCUcvWf_&N?bC(_yBTU<&9(nA{}pm{{8=$l;N3YIeLD#jTYym~U!B5s#Jb|I z>}ieHDz^-2feBB@InGl>?|U9)`SR>eejoF0{s%LndzaJb7xslbK2a~{Qn%x>3=TFi zRnC*-H(%u}CU`SW0|}KWaI4{gz5HvdrcPJK&RyH@G&Ku=B0c=z(_SSqwkdgKS&!YK zYpp+4+#jQz!L#N34Zp6@0hIv1a?&Wv_8(r$(6$e|(UtRq+b6t4?T_wX6_qWsV}NK>Pu}asM0+pGulND( zWRB?;>{^ok)6TrzvvO?)H0g$T>w8p~CW~%dvWw8h_v)-HEcd)o?ii-sO<{Ybjoo|k z1zhlAuAhR~uYr?V#Sf3$;l94H;^pKt_y9MJn2&yBQ*V~CU9uYRU-Rr$%WR?i$Z;OS z9cUxB60IbO(FzAHivssuTZtfYKfelEh($)SR=CY$4_>$^PAmt|cbp3@0NM6nKWH!J zZOWvRJ&^o!D0_lL2*b*jFu# zv#@jHvY^xVBRTTchwb#Ngi|&eF`P;$)|WkTCj|riTAOy`x})b7tzBgJVKL!IYZLUC z7a0LAuBfU4HJP04FA1B$=WkG4ID8LjNpLW`O!g^=gx20=mZNWa5--u_4&OVE~UXx*TUF#d5Hpo17qre~ zj0nYVkkP)o@u}XZVZ6#!PR-R>Haq!PJsyr89_q4!#n{lI-|sGu=bQdK$l_OHN#mg# zOB}^nn#E&7#R=#k;hI4o^v1n07j8!{uc?`^>dHMNW~HNQR^0VMNZGemaPO)S{}8UR z!$X*UOZ~3s_m)4INR3ZQGGbV+I*Im%o$rfO=y@WXxeppFu98yOtPtmWmR;sPSNqZh zt;;IU}yf**;qK&u*bJmO_b_z|PJ}zO{M#N<2mydhom4x~@*h*^ZJXQ{vQ2S*#y5zoxbNuX@K1KnOPGxYgg$&XAo-x3pj5?i*zF=4Rfio8jQY3UAiA0_rJ)jK(?rT212Z{`lXq71h;bMEiwLX zHt6Y^N_GlZnrnX=MQ{Dx|H_j?Mx3F6x{YW^$CZIIaqV?W&Dq00p$Ysec(LYaPPu8M z^b^lMW}DN=FG(Et0~s4RxF>OEqAmVB;YVM7zeyF> zAjt%7BYPVkQ*(+B(d)j9G2eRa5>r14#~dBQy@&Uif9ruEG?S6REb}2LQS9j$Z}{VX zb)F{-tS&?JPubO75V15OrbsiqE^Gv)>;4RpW(-U#j)E~kPLI1>Y_)s1!xD@8VJjI3 zcSS9t^Lxzxt-}Y~!240Q8foU$#rH&esU*6}DUKc`dUBAFVz%@zm)5r|gs>#zaMZTR z`(B&PEFdNe+csc7TA&3RONaBh7kPQxs!}1`in@ZFoZVel)<0OaL>8$?N&lTTnfUF} zwCJ})rw4sTL92I&r4@s7H15I?&CQ>Z($Z2SO@ID8(iJb7wn9u8G-5_mF#h?Q`U+hO zb0wD{)nOQuQ}v%niYTr$3s%u{**&(L09dO5ra}p`y5gked$OpU6TZOyensa+x9Jz3 z?gwkaKYo7+!s7f;vE{P2E#l(xMl4sn^}LQ#pyUsex8`>iOj#IbcHw7ilidT)B5j*B z`3;s_FY?MF+B2Sw4%ayRZFgKwpbjgg(*??QNV#q}SmH`n#SxU%?8#a%TAGIG(!Z(M zP80~jZ>zX<_q<)iPJI#a*w*ELjctXrM3W8bBkcQ}_yw`-vVrtR$kYoFbSu}KsVUez zrQPo1mNs*2CF^8b_!9fLH=Vh8eXhrKxV^2gW)|x$A(qG^D(n4h_<|j*kvupLNR{A-&_=P6VZ4DLs@f;_<6!Ze-)+ z`YV=KaF6e`|M~N043KE$ZoZUnNGIj&iaeiw z`pe5YN}7Y=YprOV67}VZ4>fWc+jUtjudzk2o9*RCZlEmkR7#83B3o>{Wv`hE)3Faj znGV9FtVDE;0{Oq9qH6*Y-^m9n00L#>D=bzkUWz=)0{r5Uq1%ek1PTsE<(W*G;V3{9 zsWOglp^Q1`nI>$TIWPIPc^EvOP4Z$zN$RYBVrrT6me|i@%rsmKvVS1bms8PC0b?&! zZg>wz1r6pF-17$NWCrKo57t~K6X^(Z5x!Ge-)28*(OSU=uB7EWTv@nS3n#k5u~Gp1 z8u`_$3pQ!eLTPiA;pT>}vQpA0TzV}WS89)hdZ$*@SL~pVs+^M)Pr&DEY=K}7KYRcy zb+9WWJD2mJR+*mxw}R22Y$64|Me8Tm#z&UJ>D?n2{s}d4_IerHM+YJb)SGtm$Ga-6 zbpC|;JX<%in^6?p5{s_;YjNV7Vu+ z-#58LzzBN|#!pJhmWb9NsCQ!4Jh{V}$lRPjU88z>AOtJ3Wja`5oyiuK#ACW!YS0db zR{HzH=+XmICmA;)NQSL^^oOYlUelKCEK&98=L>Su5J>Z{{wjed*~{+dvmP8YXM{Xn zGb^&2wjE?UF=BkM+!qVncA2d6rd47iUksZcT1$~d$?#H(HW);3{u>?o5&3H#3qsW* zFPBI3IVrJ5eto>EM1u|zs}Gq<31Eiw6b1e)F8ldah!fF=JTk3-=AW~3_z;Koi7io_*QF-kTv}Ddcj=az>O(u93fU81|A#{kf@T3E zU)-%~$~NGl-Sb}sRv)E#i_LNSLi`X&ro2EMFmZnerdxHlifkLnlR}KS&)nSJu|qN# zFZVbgkfz#QGJX+o?@>)uo@_x>+P1L!Ty ztKl!VufM;)h-37$Tbn3PW=-&i^3r_H_DRVK?t5)Q9`&SJ>SVuFU|5(gPrAUkWq{#S zYMyw*YdXm9H#kZ6e*X6?Jgufkr6An4=zv_$AgE&U+4kPwo~GT4cdV#el{NG}%s&%G z19Ti$0%BCl-Ik1-airGCFV9E~&QYhgu0B-hF^O->J_3`5OVq~oj_1xfYm@7z$4Kzm zA`FGxXTN1}e2I*&rS|uCPdJ1d?F$E_c0cG*HVa*gGQfE;y){VYZN$e-x6#J`x6zTT zP<-)o(~WzZ*!l~1x`o`LmO;%RfIesJp2eKo*F1t|IyN_SF)+L$2(v-O996coU+NgO zk-9BVPAS0W8KNc|f>s#p4plo@Gge6F+{Hk~Oq5%N5yPeU$> zH;+NrVntkwF5@y&jTf}hzdNi6&gmNR!5t5<1c`h%~f|i-{d4Wsbv(-$0=P`(x#!$`G7N36ZTL)?7tI9j=a?Sabi$ICtvju zEnk)M{SR#;V+tXX5-+9oB?KX@$&q#g64F_xMZq=?t%S1B-drK`#$hF9jx4V;5|IU> zkFStHYAC|mK}m~V?}pu;)s)a>|7Wf!L+=r@der} z*d+hOrJ^axg1<*cHPIiu#6SDT_BEwJVnS-!(5?%K2xy+!)z^83c)U|~?`(`TLdb}o zKOg+>IanCh=Px!QhQc@L*?PQxtQnM;m_tF4>s}5!MxJ9k$-; zYKDPoANe;%oVCU>my;Q~9w1&|H1DM5t01j{upfqoI9~3D!ghw8YKP!-uMiZ+w~9l3 z%Mip(8iL&4|H2K@>O1UL+=%R64W&w5j4vi(^bKf{sl9kRZ^w;Q+o92Di0R(E z-L!Gv0S9C@EFh$c*)~MzDsU#npOvPisG?jk$4s#%k6QAm!>bQHTg=6c_YKODqq9)8 z6zThLYN>e?#Wp^>m&&48#^Jd=jhS&h1F6W87nQh{uEwY(%QV<^-{9j0Nw@X=!gdrZ z)OKyr(;3{BB)55it+81!HV==qBD$qUy>p8%-@YM(wf}ub`V+J)Z|k0DF3;n>T1E*} zKE;qbyUbKH=bHAbZ$|r2ITG=SykuCmkw6H2C7kcHdqCy=`)9AEs!MKkQ;^u0*Ew|T zf<_jV6#jAHtqU%i+97OrcOV0OM(NT7j}%Pi^{aPVRUh2k+&sm3hy*v*pO7X#q?y0~ zXWu^wC#?GqL%1FhzqhGnWMDwIsGKdir>2Lh{bEI8AROiTc6k|>9`Z8~%fP9nZ5tk3)phO@HR(Fw0<$P%fQC$~DGhinrp?;NTO>$L`=GE)< z@Qa-rtX+}k=e9cC8j_@VHsmrr-by`r&ZuSFf35W;F)<7p@@lQxPwkb9N&J<5Vl#Sx ztN}FxvYv{}VsRwD=?VIlIO=-Xzf&BsqY?=h6m_O)@jMezhN0bI@AkV~LPpl=>Bxv~ z@p8FjrLEXQSn$SX5lE2$lAgTEcA)pij{#q3A(pxKIUlb?b$VJi!}g}}_A85TTlg&B zkvwQhPr_|nj16xPP8zh>x(Ua<6n8>=dcwh>d@j4}P^*}pEaFjWRXhI-QNLBpe805o z=H$SnHuV|e2b&h$*Xfh{ANtB%Y~MmIMk2|&ic$>WU%hfTpFheO($*vm7N+BRGw~~- z>!|8PbBL~e(beAhGqhVe^!=%*r~!=lG-!}12ENvR9t7y(etKKu?K#_{2MXs`8^js& zKd#PiRbPGZQuOzQa9@`Vr*a95)+~hc1b6i%?VtxhJDUUjH&Gh8OMa(YS6N*_N9O6u zv;x|rAq6G=l~?2q=lO!2hTDSmP_DQ~bO@T`ot^g#<@4qbRS)}XjZc5HZgMn!Jr1$0 znxOb~hVq1-bW^Q1UoJ%nE_q5tcN&u+=*q5e0c)BnmR2;<)-N?bLagH@j-hu*7#mkv zp-tQyVl`=wJd=Abd=qi$`P>F@k?FG!D(giLdkZ?vPXvqiXNlX|hT^!-o}=2w##C?9 zXQRWzaWOGCySW$`+7GtKcXoE#7wTPPRN(H7i(Mln`t_>3fspcIm%6AH%5IfH_DtcG zoF;`^$}y~a;F8Bh^Dk9wJ$SFdx$%oAYA?tZazmk^5~NdU5yAB%GM`{49E1XYWpQ&i zs(KDi5|334tJTG7CPD_jP-f@kMA)RZf>7qEnNt>TGd-fFWSD%xRtRF5UdfqjrSC*y z;#Br;dlaVdbGYc9JYu7VwtK~}gXr-IQKX_JBkL-o>%H_C@Ll&@6Mk7d->I@_L8Dt@ ztr=AD5rz2h5+k2w)If-N!iSZ)Y^rB#&rk%ANVRkF|A)7~0E+sL;zr>mB$NF$l_y0W4eeTSi_no-0Ihv5V_X9~<6e|5{N`5=CqNVnNZ&q2|1djp%=vpR4qOl$2wC%!uWdzj@mgw)f}lMz&?R#y zyCNRi6}%xc1^Z+K^G}>X^E6wu5v3RP1x`&dhn7|dd|rJ#B|ECec&#rPkeZWoG~?sr zFNdF5j{vR?mnRXT6F#;gG*F(Jeeok{SlYVz)>7)D68WzI8OZAzhDKp`_1-JUQBGoB zF?}Fxq`C9acaVBv@Av)S$;5-BZ2SlGc~DJ*A_Msr`sbM=@c*F9rOzeXAN}PWKT#9= zGJK7+gQ0-hGQZD)*Y%8_GC=mbBL{KcdA~uBm)$IJRBbhxiqG&fy*>G@w0%{IR7q4K z-*Is71#tRnZN8pim!sBG816sPlk1O#4q=0ei@!E_CY~I}<`vjeeqPR)ePejr7XAD1 z50lfO*Acs@uX0W_?DNQ}u;>0KYS@$?KlJ67gS`3&OQ1VF#}h6^I|pw2w{L&uGSDtUx!x~JhF{(rFlICu>4$zHJ39 zufX)dz2&`w*gKyrtx}!_00%qbH!sSK%05!I?)-N#s-;ITK^#S{Xci5ONqL~^;hr$a zeeXJ!B>mb5-I-%5U*A0yH?L|=DW09Ue#tfrvBi+o$WA!j!Lw3S>#nO0!}k&Jv=9F! ze9O9oXNHNRxY)ti^xwAU`hu#<^NSPxxw|hE9=@gz6=OqH3*kK#_5-Ssk1=m!90@B@ zG(>T@x3l`CsD-?TPvOKGOB1_H?yk=s(eL>6C-BVHWIpxGF+kr|Hn?(n=sCt>Y60&L zsj0g)#hdD3FsW;>bSPs)BcBA944-i7AuR9uvGJxEUjsT-X+t?);8-UitaI>zX7;?M zbW{edZyNy^j4DQbI2S}r`@+dC!&>A_Zi}OA7(M^a$n~Guwsc*8N8iDU;am|g2h=V} z_tx#3@zv6B{b`?b3IuL9N!}{_T+U~RoZZnh%&8U^(MFxj5NpW0a z{r_2R-L{fY^fV~uQBKGu)~L4l?(tt|HjrFQeexu>6u4Rvt1CMISr-={eUBA4uG&pX zeH0ffE`%h)@hJDgSI_G`IVZ5{rI)g{H_#t_NPJJW?cxqXBX`#|O|`Z2!>9xe(-Ln! z{MY&5>v3X9_ZS`I^=oJ9cM`zLg+%P&fun6bYgXm2mDN{gQgCOolL4SR1sbgT)RulJlm}h6nnaz9PVlA zt2^Y1Wyl|7A*jJRnI4uveWdAHfDda2k;6VYe~@sqj?Rv-pt<5!uUZIWF?mQdy7Azj z8ZD%~^MnM<41dJ?rgO()aY`Bzz>NH%praG}=n}drx6COi@lw5^_&el=4wb4O%UccRoQi`KgX}!?2)c8XXz6 zdkh0_JspV<%=%DHUf$(|QYs6JTVJzPrxq$=#we2y8!v2VD)Zu~zO%qj7(hQ48RFx} z7IEf=kL0!Pkk?;iZOpJdxH}gqY8oz%wd~CA<~5rkST4iNF(p)uw5; zGT)iZLa^E9BUlCRP^&z6S97cHJnd%xapFOPn_SWMB|#)JA^<$SRbP{lpU(<0es3h& zm0$^IgcyD@FYl}$DptAu{x9Xr-2a7sA5BVn@Tb2&W*(dLX3`kJ-KsS2b-Q!#?Yy5j zBMsoCH2Xi&6%U3R+uCxJ2{96wy3Cs~GR!IoeEN3o^Dqz7xqgeQG|!SSF**ioZT&u0 zv+R+UjePjejo5o)%ngKGq}y*l=ro2`#SAn+w|H*^e&GJKrPK$%JIYLJlh=H73V##g zKhw>okKLtcJI*X=o;RROoFTZzE+qPc&ik5Ud^cN6u?gIICP?$&TMY5E=6Ncj`O6IW zYXrGuE2UrC1cNk`tn~?iC&>Z?M?@Fy5;LZ!=M@yR2Cz}srQ(%}1+cwh z6I%!&pjHtDOYlH}3?wW3-m7l}=N0uW9&~<&nMNG_UaZUWGB)ms|2cf1aU=8Mp5t7N zu9yGr-2FnY!~>N*36cqBxZKEhhJ)H%O(DUVAII^I=<6yTJo2Yb;ls5jXEBRtpFOzs zWhfj&M4=^l>(&zJ!J_^)4zofYAc^0tnpk;>|D!bO`n3<3{i#>_s34{`ONm9MB zym)3pho^6S3hVgvja2JK6UyM1LCJ6IU@~I6U;w0S`Ik1mx+%RG$d5q-Rp9Nlr)5t4 zgjTl;6o-1<#Tw?eZ+#iQZVHmflx&J*tszuFSucKqF5}?5bktqSaWF<&#GmelCnAig zGmVdNDFlutFBnD;LpuoKhi}6PSb5RMBf7e)Uro2M=Q8hO!b!tk=jRU&;DPi#|Dlo$ z&MK@|*mhqsF<5=ri2WHXw8#1E2b)3AsL8#e><9E1Kt7+26mC4^DSJyDWEEjy zf`Nuv8HpGmWtw~HV+}^ruPIHJ08atT;p1%c#Al>%PF;bO4NJ~)|2Cq)M1DAVfN>g~ zglSro?5EGkmlNuVE)8cbwbo$KBFP2BGkuId4yK;RB+FV~0_Kne(6!)yA_b$7VsNq{ z@2dW^5T*tf%{D>`u_b3rjmRG$`?B!RvB@7%2S;)PM*K4Na8WP5RqGAIIy&rjiIWz( zLk1qSl!k~tKHZbaNR(y>Xc^g|I)b`;msbG0Jd}q>NJ3BRq-N*c##+3w-vY)KwBG`j zxciKeBd?`^Wn1j^Yt~rusGSE2prYQ)$sG-J#m~bYj=X{PMEvwCBX>eiak8?`XNRST zKk3}@-iX07MwkcPq&M91@V2!r&VfaQPuQ#uN}EF zfKten|HEz{l&vzy?6RPsV8Pk=*cRXWC^x~>p>^F`z~4SWww~4Tso^f)@uiMY8mipf z?q2hO)a%!Hz{afR(f0dOZq#zYK0jur&}wu4JrrVIbsc>+Yhn$Vd9q{2>55*nr1=(lUo*HFnGkhtImllMJ7?Eyw=<0Jt zf2+4v97;W3ZfNCSu7zW%tbRzcrdD>tE*>YzrsW3WrMT@sRwGSE8T%=2R0bzTL4HMz zDX>aPl3lxIlWxr-o3r;Ap9JEW+kba_Vy#v_pOQJO#!hPGa~vql0cIa8z%|Sj0Wv9C zx~5{d<+jM&jSDVL8`!97&Oq7p0Gp7|*hhH2x^z&adLxC_sL6JX9;vnfFNWTTcF20~dni27*RK74$a!1jBypG3mE zw-)7lx0LbsXu783Y410@HTUbCWV%Tno$jzFN}h{@Hfu&{qF*7#(!FFptKGMG)@&Tu;i}P%(2Nn|0KfVf+G2$Jtf4u$=ll{+h|FQZ1dtxM)Xy+5cQGz| z@V;r$@VGoEAEXJWWpT%>n7?t7DagkJ_q{%*DDDIw;$3woB&rMr9jMI-0tVtZ-V=S* zp$R3BS&wmF&Nb8+IbA!eJnBh3ucR?@2>^`1p92jk>VxG;bE=lU81@HRf1+-kbVHu> zOLS%`jO9OE7c{Z?SUT?|sdFvnanFjBAkYH7XXDwj^9nj_ z=8erAw@Af!L|&av#J`#S`AeE|>oajk-AcFK{&|=uUQ?gub=|G?QqY$v2YT@S)#F42 z4#wc@fM+Lg+HCGJe|L-z)BGAN4PV96$E{GF*o`VaPpS zg>(cVO5MHZ#94LeNsF_omM<1}E)Eh@uo6;3nrW$eu7Vsgwf{t!K?(MNf`972=Bq4$ zI15LQ>j|DITui-BjJR2TPiP+BWecnbHi{z2(?IWLxG2w#(xX7TY0(dj=Y@rZfgp#t zVaZA-b?&lwD#Jp0Y)v7H@%7_}s{tuS<7?$g!S4f7@h|w}Bb^+zCv0I(VyDa0w4@sh zg{5~ihHv?n-=*_Tg>b0Xq(tkH`<6?Yp?pu&6rX$Dc>+n1i1~7aHI4{#PhX!Gq$98Z ztrZ-!euD?6%oK`3ZjP7Um=70N(`tJMAyFajC3W0Ye0q&hQ~TAP1YhRy%7*ZHh3sTJ zde#MY5A{)0(NJi&FE1N_k?%^FzjWN{7xR;rtrMqK>s4c?@v;o(TcjfF38uruIC*MO z|4~*)oZT=rJs1y~Ekdm9K+*o_5d<>ty<-q4m7jT!UGK>9XKr%?EKhsjzMr3=>AcL> zVs@-w8G`*|9C2gzCc~ApZ|3niM(+(JO&#s6IaEDWnW1fc*wjY#UWCZ|T_QvN+q(nr zy?;HkQ$uTGqy1GzMVCBl9>7F;P*cBIvIN%t^~$`k8=nUf)n1@U`D$92hN_fTDN|S}rgEABB67@luM;!?HN_pYO42d!y?uE2`N~DYP zcw@}PGv;s^7>zbu7=1oO_&e8l<*~lheO@5P09f?-J=y(+}qUM5OfeHzW#(yvL?o&K8d*97UoG_YD&((QR@J!AqN?ZC4uDP=OaJB%Z;^# zZ+76s1dy-ZhlIdCmOZ*++NkYU^?luF%ceruR$9VA4Z7B+yAZ>5tLz=&5$;r7TDyf?Apc^2%?yK3DltZ zzlCp&I7y&!00$UL;rztEwNTj;tmSIlFa_(#g=R9riACWohw9r2n=aSCX9qkhjpt_8 z&@eR87WNQ8i0sq85T7TMLSW_qfs)MBYzPu8!(YYvDKyv9pW|~ff(F}HAQ}b{Te|*0 zhErhH;4;tkOqwiY4Qlp!7_}5HE&!%t_q_O#SO#oYneFgVhGG8Hcp;SLY|KUrZ9mp@ z7-Hn;_yg3et%gCN{kRwQEaPBk1IWy`T&FyRDMoe#j*7e|35F(nHGaP!hnTsvqROU~ z_cxiIc{$|POj@dpupF-6g0z4*w8rqt%yV^bfV7;aQ_(TN>nPr2oDN`OMPnx3xi9O} zkDIt#c&tuDiw2#!rt8TdW$(A;zGHoU4nH;AVpprD0^0ix&XGw2q{Wx-^v~mVhn2xl z4zLd9m9cd~?S~SYHL6i0AAfkx6s5;18UFKJ2H{Nnak$|=6^}aFK2e6+WjW#+_J>S! zpI7{}+(uu2*XnX;n$4m!bbdRZwmfoPB~xPip>x`aa$c3e{l ze_=p8_!5PnLX*M$5gB;@fpx(^*JaRt14;80aW?g-hdx|(i)>!=MUpF9T%-v{lg#BN zo(U>`+t@nKAE3kN>WxC`bcEHK0N1NJQ$1K5zU5x^D;IzZs>$+rBkGePWG=Y- z0t~pKrx4f|nJBKf7gJ%ynpLkj35LEmBXC-mehvPqa+pM)20u8HUo*~^wEES?vCWJ( zGEq&_SmlVy+`OWhF60Xs#H;#*>VcX|@eOEk6IF|($!7DYTk~_x9SWMOQMWj}8yD*t zSo<9|{R+1fD_QU^gY}Se>9cz_7in}uDA~$W#OxhD!9ZD{V~jhAr6i1o{`9l@FvN5H z-;Tft<@2j&zcxXGoCLf@3DzU3P;i2@MFVkOU)VixN_%Z}Z0uS_654h7-d@;Rzs*=A z#LhkZJaU!mTbX6Uct;4oW#@qK$-LH;Q)KADlbdE$&APVZyxQtlJH0+^b_IefUV}5P z9qz7&((e`9MYt4-dk}$>$VF?WrsD|AmHnnKBjMq34<%uXJNov+qb^Nm<;Rb~$ai1X zN@+!?%>2U1;8mT1{rl?c&w5dNq9}fCE@4FtVBEy-(dI|sr+Z-Z;|~I4l|oJ-N!*kSQ>emVRdYM zIrJr3rHg0m>Qtr{>!}Y#^rc8$2PKk)(=4@DT-4>;u*}$P2pOOjwLJ=_t4gJ<9})V9(FyEK0){; z>c#?3A$5gwB$^-BCkg({5OxzDu9jX-5&#+Rs`ucQuQI`r1{e2zshv%^tjBt1maUkz zTDaqkp9F!`*&YgQabb%KFOl47YQ#{oOJ%l_y!@j8)szKmY}AJ3r?? z6;0cX%XcUEJ92D5^l!gV#b{@bQa97pT7G~0$M+buW-d`PfL(?qj_(s;qYU_!J%9d` zi#6ZJtiPqgi_L{Knka&fS)FsaSz1o`-d;z!D;#2;k6!<19dpH2YI9{)KD?ec>Tl01 zbqwB@b!&0~Ht|4tcXlwFH?Q_e;Cy&s_xSv1Ru2Z7QDSnsLJONYtw{f#+?GxKo zP4=K@A25Np`hi$h9XZDw*(`m+6irB8qL3dQCrjYlCs#e#lht=Y2(`d03ZAA?a*GZvxP@>*eIiXv4P`_AQ1N-uYu|!?Q0U z=!08WV8v=Az|W^6Ewoyc*&=7Z0o5yaSXhn4hLoU5Dz^sDiXoe*H}`LS@0s8UKlzN+ zfX<0LbwX)w5q!{bW%$Y76pqqAY z<~}Yqfs_Hv{5#ndR8lq#sUWT7 zY`gO)AdxR;-=zWxqI*X+<-6jQCNE#yt5HJbLFO##nl~xr-uZ9Re&t0 zcHv%7w@9DW9=0DbggonkDui`}*RGD;f9M`)%Ukn{)`2?Os`2pfA|na6O4$tLnY$+- zbq4h$1M$zyBXN7j%waIp_Z5>dX0Rx4xO(ZqRZTv^{+N3y;T6+d^7s8nyxjl3JTAPS zeQMMy@oNl=TT>93gwyiBxJ?P%-Z!c@Ye*FIQfm?ob%2%T2AX@C1sw5&UFke=n|zUH z{v7giUk=Y>4{f;lxz=}blB4nULdC0}>o`^u!7H@f%M`V=sI!wD?19BFMmHs#(|h+r z!W*q2j~Er2WWqGax+Wy5EV) zm#p8L@|c-<1eOE@$=WE0;?~jZ@0y48TEtemWA`dEh>(AeX-qcZ#m86lgcg;t>mCOV zek-L*)j>fA=jAHQlMNoud?L+2656u(!c6GSujY5?i_{(UF9=2U; z$>z-fG|nK;J|JvG?a9Ea0aWo(1wkV_=SZTsB|3idaPnuvq3jTNo^p_m0l((*s_vr| zBZ3xbA(J+|k6Q7sXuZs^fUZwL?A16IFJ(W7qDRiHh(Vka} z*Fl&`4oPquF%WUQ^m=(w((vfz*2z{{2&K&5C)~5(Lht3VL&o|7cIQzgdbJ5$XjM{dKmS8b&{vGX=y1CD4)_{UhOv@lzNBE<-? zMIU+8dGd9(<5_wfZF9UHlvejlG}reS@7+VqU$F}FAh^`jC3N zbn+#}PIpGVO@=)RVTv|okgc&?J-unK6j;N% z6_J&%5};1anSy=aKjvx`(klv>tF){KSi`)1d>3NM5@3kvq z^msn3EkR}p*oepY@lTIRHN^$QK6OB`ENkwbtpGsK$>$oPn5|*TeL| zgZ2wyj&566ZLHjt2%hW&Q7+xnWTQ`ef}74e3uf_eY}^VV5UE>o2h(eB@X`k-Il1T; zKn*wqxEl6yN|YRtm<7v5P4gX8L1) zHBech7Qy8)-t3*o8bmW%|I@DfeuO<*-J11T7M9CKL)EXWvjdP*(+s4f(f@Qe&B~Qnlz52?Z_blhH4TrQfz`KDNlNmR7m3JJrktf=%I31efmhqt*V~ zP%r;4RwCyl50azyzjRQ(gx&IHn@BpImdzCJ9sGUSZBb-$iwJ^Sf10BXO0k808bNyy zh?@^jX{PZ$&qPTbth2}CHbKNIjU~**;E@xF6RZz=)M5+sa68w6`KU;*w->oQ|9Cu` zgHbnMl=V&=BksSQcBQ#Aky0aawS_p#ZMm<3J0F__I1B&n;sghPN1(a`k=>XprAy|^ zHy?3T-BePy1EH>2RfT^;-sq0Kh_3GorLRT7-69rnjU6sqXy7O*JAmV}NoWHu_O4W2 zQd1f!vq@x&duYsY#>v3&K3%Eh2?Z{}2$4N~>(~i#BgfTPf6rbSd6`~=Is3%^;EHLs zw&AaNS;fJP^e_IfCpv&BD2K!4&&e$@9HMpjZ>kEdjcbaHrj)|SZF9dZy+CP_~ay9LiY zp046Vy1MbP!YkukYGe@bgq`>ayA&f_@Z1wIb{LSzAu)VOi4Z~k|7TDY!f zdY`#qO#I(k7GMd5UcxyyDmz7R;k18OGDeTT6@ZhbN!Z{JqdLL zckD>bw(r!5#!z2}Y}rH3mFD%|LHMd?IuCC=^BUn_K)6?nrb{dJyQnvVkF93sPG zEThByI*EACXZNa>zF)ZvM-y$W^_^BPU;Ld8D^5}i>wxd!`VJT)kv=;4SLf8Ixp;p& z+P`^L%~KJ?d!NVhu+!z%ie=*Hf}DVz4&A?~&zxBtB)6-kmHBMy-KIYyF^b%ug8z`O zmf!Aj*=~2i$l1oCU5`4TA(x->t;(hkCp{FGhSjN6w)k#$?cR#HI63m7s)%k>-0&r6 zm^$A>Y2)BcuhZ_oh=90ES-i<-Hx<`e;u1m5G-4imc%r68pz%TF70g)SkC`;p-aWIzsOBCeb0^Zh5G$U|KIvTRt3ifm(Br1z1GI*-^3f(} zUU7&=<=Rz3)F^KgE$hK*?SNJ;NSS(SxN*e(RHEfjfcqG4p_U1&z8!t@I^=BoNIZn@m=W2j*860x&+v_pwJ+5Zn>CDqFOXr4`WznsJFRv7me z&yGE%94ml^JHjvLtlhN3)w||%Nq#n_T}!i^_(e&SW={Z_EhUEh<(Nx6940PaO?S0H z|8s;EN(=#G@^TM*wKwRpL}RwO4DULVL5?`HhL7&HHdy?{k`_6wjde+csv>HncYGBp zo_d}u(;z1t-d=mi*2*IXUdl>Vf6dH0X+F6@+h1D76McEUQ|Ry3m(~bR)qJz;SdXBh zf*+5+3!j#@MksZ^s}SJU+`+L?CTK>C55ypuUPWVr4wcnphyE6y>(%K8FVF1br!T+a=UIuW-KPI)_ZRvZ}625wfo%ZGCwZ#Il1yu zrH?4O^JV#OvS8 zNz{<6ZMeEOcEf(N5XMyI&vS8_87;!u+uuK0#DD*)rjWN3d%LeBzs`8TZ(|r!q<>JJ zcP9lpDG`+WM(vX_Lbd$hv;dg^dP|>sPQG<;+|wx0puTX$evqz^||KA z8iR+_@wsA6V-+=9DcwD(;8%NH4|e8J)mf!+c*j=Fl5}M`PgML1AaGu;Yyt20h8x!D z_5TxCm8OiOeyir z>w2rVP>f?WWJs36xAFRtEaz7#nKVXEyVFM5Se`Qf-xekmegVyeAu5n@IfDeFv3`KWrY5tRlJ^T8LRg5Ep^XxPg4YM~M&P_WB?)2e|1@FP_;}O|{%T(H#@d+_InWJ-So+ zJ8I7)y;qtKR|aXOs9YfC)+wc5xeF^YYA^)lgo=kl@;6L2TUL7GHx4gq9WaWF0*VE!@CN1((+ONFxw9@QJ#}^y*j3 zqzX;L%)YjOvwNxSd)lL%pV^qzH*e`-*ngh{6}VA!r%s8y_$^3B|JkoZleVx{yGA)V zIjUQ?LRr~9n_uM!CkXqN=$n{i;{Y;sS$uiS8ZsqQs zOfx5b9vjn}zGbk-gc0sXHVBh-v*!#Aa_oAwX3T)o%;DUaL zchkN~deOeQpsxlUIzmyre?e~_mxDR{UwDk1! z2#J26l&X6DeXHj&C#M#Sq4j>>eL)}IrZW6dn^&DSZ$(skr?FvaNuPN=cjYzr#JX-VT@~ZTbqB6x3OTk+Kz=F>ktUL)ywD4v_F=!;X!g= z$sczTj@-M+vcM(-^jdAnY>tW;rM(x59MU4!%QG|H591c?P{t>>e+wbLWDOD%s-Cck zepb+wL*RqqR_z;q{bX{8V`fxQO7Y~(f7j#Rh2iSmx_SM7;G}_*^w8iTk990 z@H?Fn3r)d81Nq+Pj#3_BRhEF`3l?uP#)-z}zkFAyJ)nj;6(q>J3u5|`-EnfTr;zFC zh)jM|N*T5IBp`zb80`T3LF-|F3{v>uFA)yY}5mz?e04u`}gMtfiXQ?arPj)gwL zE@IP8zrJ}qi7gRvdC90>EdHlw0<=-T9(H|^gBwK~2x?zOwrTmUpp{Yg-gL?pnXHjX z?(dCH?9tEN-4ZQ!;rF@S8TnnaiA%UIuJQ^g{Hsue=&P`g-}1lw#tUK5Ou$jz;)WZqR8FsTzPB0zLE%vL>)J=doCt6=GM!qnq#P+PqvNPw%>YvhQ#2c{E0DT*&Y z%zbA($4M`f_M{awP5c5*%*`7TW=Hl8^q1d?a!^-qhBMX_j`3bGK9NJD4~JefwE7r? zip5#sfeShE>m97d54eW*rD7Vt65{bOy*5I{N5Z?lJ*s&CHGi^ajEQUQVky33os|{( zcA{yI>r9Ap@I*ib2BC4aR-=IpkYQZ6mAL%=DfJ&80UrSwI&D)0#!3X5w(S$Nua;BA zf^!|090tND8H{Z<1ky-n+TfU|EzR~&M_Vf`yJphK5O&lQE1x#~^%LR%HyK9_)bo8E=+1DWCssF{64I{z=efJi zBgl)@ z(Y7+S1^)(+^Ciu>KLGh!ZU~p)JFd{RQt5QZ2RvB6PYGiZ z6ip@Xa{~BD#Ht-QD=LoCYYq;Ikn&Gt+|fljXmGCDRScbP+i?eiS^*hdyTjVo3;;%>8xL3!J^gOwn<%SVoj70;ZTeL#Y9GaV}mC3 zNmMPX>+GjHlN?W{je);vy+P87Hr?T?s4ZOl>sd}XDv-KmdkvS@_NWxx33LhVZT9zL z&KOc~gQ@pcjX;~w?tu}lC1s|agL36}5{quKWiMCy%x-;%>q0z+!TVUYl+6Gk16q0g zxe^}iAUPc7X~r@MW`p)GUylUAvWg)%MMu`E8vl}rC_#(w?021(+_VP%Upo{i>X7z1 z@VO0NIW?FFzUR#ML`{QIPTv=+Tev&gXcu8US`H}s3aEG+dlV7Tt=@Rv+sr<;>FXTa z3c4QBM7y)$MQCka%Rhh2HN{n;eI;&oauRT;Hwnmhh!QE22Q^JyZ@5k+i#Qfe2>Kdv z{a-gHqGrz;L5s>tAU#js!bVWKTX&DIx&_LfMt~KLm;fP9z)bK)O~SZcJR{*xR$)W)rf`4x%!kX@AZ>3y z6R@SERRdiuAVaND{n`R9MaVRE7`GyEFR=kX+h&O*kn86sfgt4%IwQ@O|S;yrWsr33F!4=Pf?o8ppQq)_fOQ?X5AI{t$cd3!5wyfD8A$ea5Xhqkmkc zfA?957riTNyMb2LfP^2Gsan23>})szb+MV~vlWI9+09X|6o_AUTK7PIE!%9wjQn-| z8!+)hjM?3ZUXFprpR?ov)My;V{)c^LE#h8b8=z(gAV6Rk_}`<`4BV0E5PCkR-%bhf zc!!JxNm{e==l20Y01CAGMFMy48@a-S)zbVHlwRtRDp$});=v`)IIMopTfFC~`dOK# z#Y$Ja7rD9lgv)=Ms`0odc|FI_Wz;)TS}YxaYWFM3fepruh6J4gAih(uBA)|EK}5ndxUTrEOH2@l{(Rob0E z1{iX$35kHt!P3V`jI5iDiM^gHXZka!cP$H<1FQPVElzt`k8r^DD(Ak7pr&TWr>MW| zYR!F0>s6g3S9Ol5AB(pA%I7}{E93R{rTr}TXS>ZI2v6GnOpY~-0{;Z8sq|Vz@OUU# zl9U0dh&N7{R5i%XsHczLtq{%Q2vM`$3@2rc+SR`<^u>E677Mu&3+LtzHLF?_0K$xy zPNPD^*c%3xW5je(6cgJTR*GAd=m3Q?x*{GRulRW~s{Z%4%nieSTlTQ3iWm0;;mU|K z-ZeF`wCgq+&vo?dx0kYytfpb7NdS>Dic- zJ{8B@-$R_&UZNee5N!#fpT6;0hX%N26@ph{+8rMVpwE}tYVyw5_x*WOWJ=xCnI8ti zi;u`j+4ao1qmc8!n}>EfxK1RQbs;}xK-Vx_ZqGZWEAF5(=JU>t8fN%WU$SiG=D*d2 z-KR%F9_V4045l1d?F_Fj~*$jP?-Vnr{i!zEc@wjHak9<7t)<=j>emi!Hjul1Ij7ViX zmtKvCGtB7)qC7TdR@QXB9zy!;K~>rdDDRO?7UnoH#)OQ0;pv7@GTF?eP+8ZVeH=X| z{zOrk^X#ZrJOZSS)EpQXzU1mHtE01!y5@uP*8&35-eh`hUE7$6Od7kUlq)gn3c!W^ zw-34_Yve$;ua+9NOLku{u(;!lsyUf2^L_yLGeq%Mc(a_PBP z2wr&U9ng=TfgY<9PAYvqPCx!+yuoqt)e=_%t>!L*n^DqU?z&bD*WI zU2`~?Q}OV&B2`Pv8ZI#3CS`e7u@)s`_*g0}5sn{H8zcKaMri{4{pQhEx|Y=>8HlY? zLo6=wNRqKq;dd?&C<+e{ybe5sL)a~Vf{~KoU|FCrHe^-$Ge?{&Amq&Lk zFz44@W>=lsYx30pd&Nc0-_8CwWKDbP))T34T8MT34^CY@J@dJl@eig9KfqcO;=*># z>6(6I$Zd8gFJT47q;k|a+*(KHE+{BsDAv=_dDsMP*wqSr<&I0O+DiXl5~+uACA=Ve z+EsY>f1z_~nG+HaB5`m%`5xyUv3p&~?y;%QiW=j*=S{<;pYa_U7OuQ&7dCA>kN|KY z@gX4Y5T1k|ba=KWBs_<-7&%Gh6yn~&^O$@=p!tSCJ}=*Aj0^)+E+0BZiZ#TYh`I@H z5vCJq<)~7DX~7TbE@XyKbJ20DjpFL+>NGPM{y$@qezg>G{ig{nRzPwR&{CUI1M|*r zzWt){xb=FG!Kw5wMNb7UFEId7U+Zg!Bns~SUdmlv1h?%gh>BLSJ;pup!+xpJN{rY+ zdi(xJUTd^P8wi*|gapl1vFql!i@k$`f#XR*@lbC~8kjZ2+lv5bKS_iL&Q1|n6UnDA zZiv}}&EvYg<_kjHgjSfMI;=N)ksmrkP&v(Y~Xy-67okZQYz{WQA%@fc}VlL!RxAPCZG0RbC?pxgGSp)sW+Z(;gY4?Kuh)R;Q|)l zR@=HVHqQ~idc;ZK8Y6g8Uz2HqrjqSI97Y5Wg$J1^@@0t}(bU${t51-z9(a`+oEJy> zJ=X~Fw|>wL(iPcW+0^HCI5z&G8n*E*a=i7d{sP0!>`Ud@U#}tvt1mywNl8Qu4ZWse z%L^ur-CB?R;6Eg-Y(?(>^5qw8Q%%h!3zB*Mz45F=AOR`f8~AQ(E@BvpS zmM{(#pqcVz+V*JJ3Y}~sA={0@3ktAgVd+}WR}Zy+7e9<1@o1dZdA|9WjFvDf8+FV3 zc4u;F`#7$sIXcdoW<0zd$WYE;73A{4WO&Yh=(fe)$?L{xo||9R?kO)cu#=BZ_K*lJ zzjIsg^(@)2KmR`a>Na+(t55ivxWN;ccIo>Z&%@{>{m6*DshgoBflz)T5T zj*Ny*p(i%Df<}P4rEOUr`q(!{G38^E`6&oYe{f$#`6Aj+*roB&6*Cpy^jS_t{#t9n zwP;ET`yau)oo`zTB8;btGfWj+4_Q4D6%w_ zV#F_mA)|nuK5#y?W^8+B<_ur>*H0^j;zr<gFvKTHi>Q`zMQK zkVIt6;oy(Y?YNv!Qcz4*Zr(=3FCsz>dO{IH-fvBig9@AkY1q?&G#TDl0_UW1F!KVc zZze{HT#ozdkrJL~#BL}md13*?!rz9I0TN<{A6~noU+i_+O_PpsqIul7wRIP7K5$jzXu{AjHu5%Gayf~O=3_U(Na?_sFyIrkz zPtfaC%vyb8K|#-3SaYDKO6NfiBJYcPB$HjpgJ}QW;nU5(`>#s747+hq;*Obb+JE`yK&0Iv-v?=@*J zD=f8S1^h;j#HovcHE&G;W;XVC*;*z9s1MNDNGrmx3huao@qZ!ANi+=D488jzkBG1r zOIl(+UObM;BASMScc@rlCE}}ZTc?1oRRjaW0TS2_ZDMY~V9mQY)jY`$G?T?KKeGXM z5HvWEmsu)epBvDtyki=B@$JJ&j~`?}!Z$Ma2chfpdzQ(5sZDChH+huDjISi(AfKZk zVsFF!v0qxgKI_C_p5sl`jmyAF2gwsL)zB+uh_lNOoWUWJm)`U?%nhczr7-ExEw;xbOZCYtIC3Um&1bxj~*#&JUbUJQXu5B z>xs~R>XCko*)Jr1?=T4jpgE!bF;p!T6#^eWe{Q=&6^KKs7yatx9&-YBsPAU9*ejT8 zuuha11=k`k?*Ib!!BOrVR{PM;%!VBJz- z5w9vc?yGS+UTgLpF`%%ezGj7NuxV@i@J;&dzp5cncjjkDnUR@UZeh|qx?Vg((l;A& zck7UfiHZCuTdF10XmPy%xtmlOF-#b@{#7jfDfQnLfy}zX0uPujtbklvUM{!nqKJ1r*_fU3P1#RxjWx@hV zzhi&j`EoBzeGv}zyKXRj9ucmu>(Ol0sDCFis_vjOJZcIr;PHL@`Ggi6I01hNt5Ff5 zm~)GE!w-1HMMdwO=87gEY`|vnjKn)t|HO z6>`sk@NkN1VZ=?zd83}qbfd6a3*petG!elAM_CO9f4+9E!pUSUkQm%y@w<5PhGqd1 zU6;!i3ZIKQY<4j3B~XqlU>xffiMsXqwK|gd{O<^`WH&4ZGi0HT4iE3J`EZ*cnLZ!- zEWI{WXO!}}ckaA08gwWMJTI8p{z!-=N{q-U^#pCIM%dr?7Z;HMiYw~t*Vo{{DrW}B%gL2n&s{(k z1fEruu13+R#TgO>bfx({6EJE#w;*^0rWW^gp8*^JloN{FHgDFJaqGLdxCj7iSJAYa zf>TX&wgZTS6oBSc84rG@@yi)ke&4M<{cdf}|5dR@ozF&tFssF6Fp+;pF|9z!?Sg_r zmv@8N!N+=?E{*P42R1N%7U0U7yGXKV(1wXE{;h?1=-wNDx+On7|4nyg1uw*m+_;jH zbC#ng&5ZCjG^}2Cq`%31yz*%G>|nWU`km~Mzs>LND>0u9j?mE1zy6BcA|QxUO%zag zpIfSk76qMp{*C4qVVTl`W62CUUF?*pF>dd!fJ2PWGgflk57t1dxewaj@owIG-&QT@ z#8$S;c4FE72}cYw|Sp26ob`bef)vxSyG$byJTVJ@cPO|P~%4G^015b%BvkMm=y z?oXpeOG}Y{B;Wo2faK4+#FbUD5!($@7k8bS?_Xg@IGymFQ*ENiYZ9d01g4BX^?7jv z4xzoXy)G-u($b<)B(Ran%6f)1R1=+Gyyc1`K_@ zNv86r{dYw$$q;Ya<;Z#_lZ3~EE8U;qkPgK(>kgOUB7qBcsV^+wd>4r!Qobkclr|}k zOTK=+nZmJsgFDkjHBG_Q=Vbef;L{D2i12B$nC_28%e5BEE(;SFqv&{>)@+q{diDMc z0bG161?Cs93NdITmzTwdOr71`XZLx7Hoq^k7h5=^AXOAavI#X|KymM z!_U3X{`FSLf~Lr13&HSWB|wQ$OS`63mX{f7n3#MTtRQgxSSY= zC>)Z7#WMpf&tClMvwfA~*Hq?kBzj*)>0a0we^3wlA+>&Szd)d?AZ=Ho@k5w!1hgl7 zRzW(VH>zl*S6*J;yfQUjHKE}g-zdoc&6|h1#fIayERp_4b$>+n(^*;b3Q8RBJk&&Q zr--{fcTyt(C1!g%ghN5iadrzwYlCf80>7;U@SG{Wxrs3j*eXfvWWc!9@y2QCI~91p=Zh!m_$33y6w>Nfc>< zNKqD+DumvG3Q`lQ3mS@u^ezMz5G+(#4FU@&OQIHal8i5etp4Yp-o%_d~J99IW zdFRb!l9}Ww=RD{8`JU%!m0wlwb)qA#&|BBuw7z@ixtYiB&^tiA>EQl0e(ToU=g-=! zwyF>c3rkqs)wy9_dp<0OM4u$`{h|^c8YFb?!?PE3zmtyaL*=6RuZ2lIIHSwfax2Yz zXx!k-s#dd?Bvpcm-9a^dh**(w5={GKDJcP{B_iQ0RCu}=EfTzB1!dK#uN`b6yGy4| zNO1hy9VBUcenVdO$cjTOQ+I-1{6ml977y)gkWSc%iAlGV_PbU{293aOt6I1V^(O&| zr>4uTn9wse9%}ixxVRV?TSmjs?CtG6UfNLRLX)i<#(L%v(y3K~7psM&9wUjpjfITioY z+N4;s`0krDTnHDcBU5Ffe`(QVN4_em&(0tbI0jIdAS%gxE?jxv+7OCV>7ayEkgUIs zM8Js&9!_sPA1B(v1*YoD@+iHC?)2l5StCEm)~&7J=?w+MlqDq%_2Z;xwN7zg z`T6-Z*1lq7!kV>c>$f*fiBML21hm0)qBL^m=)4K32n{yKZH`+{@QxB8>aYdx5^xv>Ik17djmU=i;cW9eckpE9R}RvRS4@BzA5Jy6zshXr{UlpDGa;M z&9XtsQLn(Yyy4q3yQYHq)7t;&u-we9m~G`pP)9%z@5l)0iT*0QA+AKjWttaHO&SPJ$#E7ay9Sh zCC4#C4O!rLkn4UvW|9#7GZqPfsY_GhaSgEmp8!dgiML>qZKly=+nJ%dt0#xbr$ z$dre)h!F$7Z^fC?lVZhiiI13fuTg#40(P}!#cp8vMzrA^K(ltxI4XnoV*opy>w5dD zvup3vV2yi;g0t;|cWt6OCRUXo1kb6M4miTmhO<5jMdbCH6g8DC~03 zmw}j4kx=JZPM}LPpyeJ(T{0OpB?~{J?`a#JUiyJM^RzbIbnE97MRC(xC-P(VsX1vM z-rj0Nqk?gCuY>uTCisRu1=!!*IC2D6&T@)1FVX$ug;x#VPvYHevz2pS7aGJFN=TrA|F)fcw)<~c;D>ilVCQBIb5WARb0S-zaZ z@MKK2bD`9sSqi&VzG2*#v-k=wo2g}O-&|^`rQp;lxjH?bZntGY!p0mvAKDeR+h)I| z)X>Ukd`AK4qfN5>e8|>c$3p7Fxzw`6u%rX_K~dr<)VKAP;d-s_vJ#OQGI;RP0Dj!p zcV&uk@FH)$_`t#4It&6#c9Y zoYwgXSdJM(LY37*O#tDI)k6tkG%pJ=&Vvwz`xHSvTY7Hr^RUJWM9AWl>yB_zmntRo zjxAWT*vDdiLOxwDA&zu&_CprVI&gEo>Rx^euQw9g57Y()IltveON!-hJ4a$y%Szue zFT!3b_d|N)B34o59z$K={{5Yd_|I$q3WGTB-5lBlZ);NUUv(P#f%}purv?gKpWyBP zPt8#0J<-3QKo)mI? zNcfzSB479-Q!^qerd$KScdmuzaxxIwvdiqH4%$ zGaBaogcB!`lJ5)k8uj#%`2dG{sFXDzSh5Sn7O@Zics)yRrr0KULa^#zaXohU?3pLE znvB1~GzLY1*#LU#!Q@;rH^Tjde+BmkyEy`w3Lv~EO47B*JB2PY=;vb3M}+z|CGy2Q$as2)%BS)ODAj20yaMFftvgYXjq^Z9*zA-Vg{FrcQE9E zmj#2De&a04+kt?Rp1QF^Dt>mFa$K{z_)>?@A4q$ZZUSZoO6qPW3>cmOSS(c1Q^et+ zL$@}%jz)NtIZ&PdgQau@E)_bA1-|ee5UD#qDoL`lxv*++BUM?mKP!Oo15(vVn_bKTrNfQu)*go^h)b_GqEdZx7h*T? zVUebP-)X*EOcum9MP<0oVF;b;?@oV=>hz0GgdRC3%4g9-W{AN)`)u%2!+)|reOVlM zAH4TkEL4$`HImud)MGIg2B@PlQcohVC_X>0`>P}{;Xqp2wZhb?r$?lON+5o`EtSWJ!LM0`JLT5hl`%^ZD+4 z(40KbjO7oviGGn9Ct^kKu^R{!(j{x_|5YR4+#>vH9Hv%h>96X;WR1(;NlTqC`tNVN zxb3HsNf{kfNjavk-4yO#rrg8rTu48R{H1I^$FhXer}E}D{rD?t?2$ew+&0x5b`DzL zHR7CNR&G!1d%O7a!=R-v`o)HwnOCzf+$)^iUU0kr=#Vv*S>(NHyr1av#T8VDp+>!a zaN)#h#Ee8PHGL32*cA0=U;x-esRq*4m`%YMCTwy>EQ}ry^=eZBU)63cu)7>LBf7_6 z9aT@o>@m&U*BxN>x-$QR{$*PzK-XD(et98D$=dAnx!YU9C$J)uU$k|JnO`ySUFVBL z(d4~wIRTuZ!Nd6C;TQcnS@h=HD>BOWF9h~;IZ%^-cZ@qnmNA+w>+fB%X`Phz-PjNy z(x9P&ZJ55VskJ%9etBb^eI{soI(|u-S4xsE+ejsBL7;Tjk~;csjEKWh|uztQpz-p8^>!7QUWFijGs*fS9)(%wzZY>$Xvbym|_YaiIs3> zW`Wn=E$k7sZ%8jAKIE>I{~^x_=p+7>u%<;fZ|}<0>ba*U5PlSCVPUox?cUfO;7|kR z3l=REnjXt$p)Z!p`Aatb$Sb_k%w-8<7MmkgQh9XXl z;lGyWT7qi?vj6(oyiZqH#^VRPAQye*uJ* B3X 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 HIqH7^drr!| literal 27801 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 Om$rufjq+>uQU3!{gm()7 diff --git a/monkestation/code/modules/bitrunners/code/ability_disks.dm b/monkestation/code/modules/bitrunners/code/ability_disks.dm index b79b0200d103..08cd31f52fb6 100644 --- a/monkestation/code/modules/bitrunners/code/ability_disks.dm +++ b/monkestation/code/modules/bitrunners/code/ability_disks.dm @@ -9,6 +9,7 @@ /obj/item/bitrunning_disk/ability/monkestation_override/Initialize(mapload) granted_action = selectable_actions + RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) return ..() /** diff --git a/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm b/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm index f5b3d4a41aea..58e78d8bf326 100644 --- a/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm +++ b/monkestation/code/modules/bitrunners/code/combat_gear_disks.dm @@ -10,6 +10,7 @@ /obj/item/bitrunning_disk/item/monkestation_override/Initialize(mapload) granted_item = selectable_items + RegisterSignal(src, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) return ..() /** diff --git a/tgstation.dme b/tgstation.dme index fd239424a79e..34f6e75eb798 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3021,18 +3021,13 @@ #include "code\modules\bitrunning\job.dm" #include "code\modules\bitrunning\outfits.dm" #include "code\modules\bitrunning\turfs.dm" -#include "code\modules\bitrunning\antagonists\_parent.dm" #include "code\modules\bitrunning\antagonists\cyber_police.dm" -#include "code\modules\bitrunning\antagonists\cyber_tac.dm" -#include "code\modules\bitrunning\antagonists\netguardian.dm" #include "code\modules\bitrunning\components\avatar_connection.dm" #include "code\modules\bitrunning\components\bitrunning_points.dm" -#include "code\modules\bitrunning\components\glitch.dm" #include "code\modules\bitrunning\components\netpod_healing.dm" -#include "code\modules\bitrunning\components\npc_friendly.dm" +#include "code\modules\bitrunning\components\virtual_elite_mob.dm" #include "code\modules\bitrunning\objects\byteforge.dm" #include "code\modules\bitrunning\objects\clothing.dm" -#include "code\modules\bitrunning\objects\debug.dm" #include "code\modules\bitrunning\objects\disks.dm" #include "code\modules\bitrunning\objects\hololadder.dm" #include "code\modules\bitrunning\objects\host_monitor.dm" @@ -3044,18 +3039,13 @@ #include "code\modules\bitrunning\orders\disks.dm" #include "code\modules\bitrunning\orders\flair.dm" #include "code\modules\bitrunning\orders\tech.dm" -#include "code\modules\bitrunning\server\_parent.dm" #include "code\modules\bitrunning\server\loot.dm" #include "code\modules\bitrunning\server\map_handling.dm" #include "code\modules\bitrunning\server\obj_generation.dm" +#include "code\modules\bitrunning\server\quantum_server.dm" #include "code\modules\bitrunning\server\signal_handlers.dm" #include "code\modules\bitrunning\server\threats.dm" #include "code\modules\bitrunning\server\util.dm" -#include "code\modules\bitrunning\util\digital_aura.dm" -#include "code\modules\bitrunning\util\service_style.dm" -#include "code\modules\bitrunning\util\virtual_megafauna.dm" -#include "code\modules\bitrunning\util\virtual_mob.dm" -#include "code\modules\bitrunning\virtual_domain\modular_mob_segment.dm" #include "code\modules\bitrunning\virtual_domain\safehouses.dm" #include "code\modules\bitrunning\virtual_domain\virtual_domain.dm" #include "code\modules\bitrunning\virtual_domain\domains\ash_drake.dm" diff --git a/tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx b/tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx new file mode 100644 index 000000000000..21d872ed6a05 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AntagInfoCyberAuth.tsx @@ -0,0 +1,75 @@ +import { useBackend } from '../backend'; +import { Divider, Section, Stack } from '../components'; +import { Window } from '../layouts'; +import { Objective } from './common/Objectives'; + +type Info = { + antag_name: string; + objectives: Objective[]; +}; + +const textStyles = { + variable: { + color: 'white', + }, + danger: { + color: 'red', + }, +} as const; + +export const AntagInfoCyberAuth = (props, context) => { + const { data } = useBackend(context); + const { objectives = [] } = data; + + return ( + + +

+ + FN CYBER AUTHORITY UNIT (REF) + + + + You are a cyber authority unit. + + + + Your mission: Eliminate{' '} + organic intruders to maintain the integrity of the system. + + + Bitrunning is a crime. To + assist your task, your program has been loaded with cutting edge{' '} + martial arts skills. + + + Ranged weaponry is{' '} + forbidden. Ballistic + defense is frowned upon. Style is paramount. + + + {objectives[0].explanation} + + + + const TARGETS ={' '} + + + system. + INTRUDERS; + + + while TARGETS.LIFE !={' '} + stat.DEAD + + + action. + KILL() + + cyber_authority_unit([0x70cf4020]) + +
+ + + ); +}; diff --git a/tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx b/tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx deleted file mode 100644 index ca6ac70ccb39..000000000000 --- a/tgui/packages/tgui/interfaces/AntagInfoGlitch.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import { useBackend } from '../backend'; -import { Divider, Section, Stack } from '../components'; -import { Window } from '../layouts'; -import { Objective } from './common/Objectives'; - -type Data = { - antag_name: string; - objectives: Objective[]; -}; - -const textStyles = { - variable: { - color: 'white', - }, - danger: { - color: 'red', - }, -} as const; - -export const AntagInfoGlitch = (props, context) => { - const { data } = useBackend(context); - const { antag_name, objectives = [] } = data; - - return ( - - -
- - FN TERMINATE_INTRUDERS (REF) - - - Initialize({antag_name}) - - - Bitrunning is a crime. Your - mission: Eliminate{' '} - organic intruders to maintain the integrity of the system. - - - - {objectives[0]?.explanation} - - - - const TARGETS ={' '} - - - system. - INTRUDERS; - - - while TARGETS.LIFE !={' '} - stat.DEAD - - - action. - KILL() - - terminate_intruders([0x70cf4020]) - -
-
-
- ); -}; - -const SpecificInfo = (props, context) => { - const { data } = useBackend(context); - const { antag_name } = data; - - switch (antag_name) { - case 'Cyber Police': - return ( - <> - - To assist your task, your program has been loaded with cutting edge{' '} - martial arts skills. - - - Ranged weaponry is forbidden. - Ballistic defense is frowned upon. Style is paramount. - - - ); - case 'Cyber Tac': - return ( - <> - - You are an advanced combat unit. You have been outfitted with{' '} - lethal weaponry. - - - Terminate organic life at any - cost. - - - ); - case 'NetGuardian Prime': - return ( - - - ORGANIC LIFE MUST BE TERMINATED. - - - ); - default: - return null; - } -}; diff --git a/tgui/packages/tgui/interfaces/Orbit/constants.ts b/tgui/packages/tgui/interfaces/Orbit/constants.ts index b395a2217694..eb03e0ed9215 100644 --- a/tgui/packages/tgui/interfaces/Orbit/constants.ts +++ b/tgui/packages/tgui/interfaces/Orbit/constants.ts @@ -4,7 +4,7 @@ export const ANTAG2COLOR = { 'Biohazards': 'brown', 'Bounty Hunters': 'yellow', 'CentCom': 'teal', - 'Digital Anomalies': 'teal', + 'Cyber Authority': 'teal', 'Emergency Response Team': 'teal', 'Escaped Fugitives': 'orange', 'Xenomorph Infestation': 'violet', diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts new file mode 100644 index 000000000000..03fc370c1f4c --- /dev/null +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cyberpolice.ts @@ -0,0 +1,23 @@ +import { Antagonist, Category } from '../base'; +import { multiline } from 'common/string'; + +const CyberPolice: Antagonist = { + key: 'cyberpolice', + name: 'Cyber Police', + description: [ + multiline` + On the razor edge of the digital realm, the Cyber Authority has tasked + enforcement officers with preserving system harmony. + `, + + multiline` + Using refined martial arts skills, terminate bitrunners in the virtual + domain. Look snazzy while doing it. Cyber police are short lived combat + roles that spawn from mobs (other than elites or players) in the virtual + domain. + `, + ], + category: Category.Midround, +}; + +export default CyberPolice; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts deleted file mode 100644 index 89c7d19a2c20..000000000000 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Antagonist, Category } from '../base'; -import { multiline } from 'common/string'; - -const Glitch: Antagonist = { - key: 'glitch', - name: 'Glitch', - description: [ - multiline` - The virtual domain is a dangerous place for bitrunners. Make it so. - `, - - multiline` - You are a short-term antagonist, a glitch in the system. Use martial arts \ - and lethal weaponry to terminate organics. - `, - ], - category: Category.Midround, -}; - -export default Glitch; diff --git a/tgui/packages/tgui/interfaces/QuantumConsole.tsx b/tgui/packages/tgui/interfaces/QuantumConsole.tsx index c4a68c25d946..5e87e61bb462 100644 --- a/tgui/packages/tgui/interfaces/QuantumConsole.tsx +++ b/tgui/packages/tgui/interfaces/QuantumConsole.tsx @@ -37,7 +37,6 @@ type Domain = { desc: string; difficulty: number; id: string; - is_modular: BooleanLike; name: string; reward: number | string; }; @@ -101,19 +100,11 @@ const AccessView = (props, context) => { ready, occupants, points, - randomized, } = data; const sorted = available_domains.sort((a, b) => a.cost - b.cost); - let selected; - if (generated_domain) { - selected = randomized - ? '???' - : sorted.find(({ id }) => id === generated_domain)?.name; - } else { - selected = 'Nothing loaded'; - } + const selected = sorted.find(({ id }) => id === generated_domain); return ( @@ -152,7 +143,9 @@ const AccessView = (props, context) => {
- {selected} + + {selected?.name ?? 'Nothing loaded'} + { const DomainEntry = (props: DomainEntryProps, context) => { const { - domain: { cost, desc, difficulty, id, is_modular, name, reward }, + domain: { cost, desc, difficulty, id, name, reward }, } = props; const { act, data } = useBackend(context); if (!isConnected(data)) { @@ -210,14 +203,11 @@ const DomainEntry = (props: DomainEntryProps, context) => { <> {name} {difficulty === Difficulty.High && } - {!!is_modular && name !== '???' && } }> {desc} - {!!is_modular && ' (Modular)'} - {difficulty === Difficulty.High && ' (Hard)'} @@ -326,7 +316,7 @@ const DisplayDetails = (props: DisplayDetailsProps, context) => { const { amount = 0, color, icon = 'star' } = props; if (amount === 0) { - return None; + return No bandwidth; } if (typeof amount === 'string') { From 5ff02428e055f3df713abd44ec4d7bf306a51f46 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Mon, 4 Dec 2023 04:08:53 +0100 Subject: [PATCH 18/18] hate and suffering --- code/__DEFINES/traits.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 4b60079d7944..5d9c0461b40b 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -1261,5 +1261,3 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///trait determines if this mob can breed given by /datum/component/breeding #define TRAIT_MOB_BREEDER "mob_breeder" -/// Trait given to mobs that we do not want to mindswap -#define TRAIT_NO_MINDSWAP "no_mindswap"

e2Be+hmwCp1()rW%ipL+tVw7Kq8) znB<0tDcZo$tvgq4RykKk<1qc7WD({7z%k@gOOZYp(1tJpZohMdANW4WGy7ZjyO(#~ z;I&mFaL5!Kt=)SnUOFv}&%&^S=GOrMXS>k^kTHGSr`Mo|s(dx@&J93+@Lr4?GXqkP zmMeyzxi#RAoZ2cG`N+&4M44%rMD;`q@J?y0;E#iR`@hGJiH64n^5QFaPHwGF8{g3; zyf8b3qLTZ)mXCmI=j4q!SuoGESD6dj=LDI@_RXIjE^WK-ykQCcfAfYcK-A0MpjBKW zxi>&L3|tH-?r@0)es-Lcfz3-pTxoV|#-UCTHnhWlQrxC%UP6JOUcKOd&c{KK01<_- zCP&lYbI;ZmLq0Py>CS^&ZZ$p&4bxS5T@xElWv5(_FPg(+la))3zg%&rCyO1`secKeLa{Wts49inZP<8P{e+~S^ zTK>UM1KliY>)iFDuD}c7d4pd=Sp*Hjb^lX1sCx(T}C# zSwFvY<3K_7Vi5C3XTQinB-11uIYQ&>;Eb-Efv(N=q|iZhMbG#O2_RV*6kPxclV<9H zZm}VgH-PN|luaG>-w=}plY-94BizY1!N`h1ObGWNp$OipBV7&M2_~YiU~sS8Xpq<2 zUHtSWjqvsHgt3M$D|hYiC?u4+nt*A!qX-p_$h+hLwraD)m1|(bf%ik1v&c;I?eGQf z-;7%8D$wCK^T^So(~F31lz43V!rQU(Y1xeD$sm#O7Gvd!k|=TOJ-lQ%mDwvbNaopSnjF``V_(Pkd#LZg8; z>-&}_)iVVA#4W)J#zF~MIYozHv`G608neMD4sY6FbDAEVI3B5K{pf5%|uCtt<@~wIf zhmy0p(k%)1j%9RtqVvA`9Aq~0_lyruz^ts9lsI;t7h?MwqS+mH zeHK`^v7pnx#5<>de$W+Qyrh#35fEEY={lgMxgs5)AL`**Gut^JWP(nw=|Y98x&e{f z4zqe=Y!rM}Yv=w^&=D2f_gFKZ2_B~K6^nZN-89zO^M_0Y z(!gSgh-M?lV(h!#t9PW96C=m5X#dRDJ+&vQL$58-<(reeaSJjyvEj?cSl0L9a*hiu z-aajBZ9_V7eXyUkag!v}DJx|OcAEni&nl1~vF+HGZ$G3#H#t;xR;%m?OImBlxo9d<4X?bFMB*qq=UQwOQWZ;QT~)<#Sw2 zlg8{%U0SeFP^+6%1$8|g>(1oeOCbg;Zd|_L9`3-(;^BrP4+TaZUcPlMJtyFP&EsO_ zK>nReVM!y^+4C0TNaWEb9*L^lIZpkM6X3z&&y-Gs#wVlzr|?YK6^5<>NNuq{%6?}| z1f-yv&G?+`=+Q33uWx69*}~7i?@)-9s`A)>`5~H~y#-^rgwwZ-FJ5YVtl?>i01`UP zdG8MNI$ea(-FBcw2;Ug{P+Q#3)mX;xIq{CSHs`eylRIjis*r={gy1|oca9IgC$O7g zjzF$PC>9U~=;#bY_qJB(4+RqFxv1ZSBTXw1h^3bD9w3dP_9E%-yJS&*t~YgiZWNy3 zbnNlT!b$3fB}XYM#fyDbAz=~klE!T*)jC+;paK{ZlCXt4I{BIJRSoh2GMtZHpRU;0 zWa`su@*c9Ggt3Qo51y;G0RaKqvQvYn*6QdQW2x6J`12RxR(s{qU<6Q9V^AP7A37Z) ziiHAfdx^I<_!IH}eMco20USZk$O}eBfBffM-*lo;H;`#aIrN=xo~pX|0{?=)qTjN5 zp~3)7E>Nww=OzAVmSRo5v{uZ4{Zt=nClm#%vnU2}doiRG0?+y&TI=g9uYK?{0xa)B zdagtEnhus8`!a1UDa2Izlk{Z~eK}t{=hPozAMM8W$@y^$Vrbt4YO<1qmDgcgr67LR*^pL8ltEykcY8!dIRYOTnFHN2_SZp-zX|7{98WXca6QD~%ohY_> zPCftRqQcX{LT5omQgWb&{Sj--)tM|h7Aav|XZ`9Lc& z=_J>qS_|~ip1s7M#p}5Zs3w#o%ZjiLG#kW@TK)#71&Vz$b4Oz@b}tA;kvD<6YjuON z??<*aVDc9GGyc5Uk9Obfh%d-@O;Ge3z283I zF+t~{EcmlX%-!FCDeq~!agsU?rq7dLIt$xpXp1*xn9BNTa~sRH7#%qf+7qt{=7Pak)Z{p zKIdppdz`@#_l|I7fwdTZdVZjko=k?Zlkmwc`Aq%&Maz@7qRy^e?QW0F z{k4O&{v}ZYuRuwqJQ~`56k0&?4BbyViHe5d1^OHsxQ{`dM9#^8LJebwVM<43wnt&j zcx@F6A>$Ls%WRzNf@>-__rAOU+U4UW+0c0hJ}^8vEtQnQTCmw%?mU%X(p-Yz1T{Z7 z*)-wvb(WR=+AusK9S}l@it<2KBox4=1hi`G?X}T(ilW{&zD?m?i~XK|AdrjYc`DLf z^S#+p2`5Q9Qok*c_U%&R*_l<^AP15*Q2(pn5|9jlLMFg5tDYM(x#UR5A_f!yUJp~P z-~A~JIRbD1vC1_>n@pF2hj{Prl zn&EoE)OWzdcotnQ4AkZf&YUo1*TBvDc}6Ox4ePQvudGX?+ z5`Byol{1D`MM+WxO9S!%ex@qUQ~}QWm<-6mNjK!C2arB|Qa|L4)7GXIxrN*FRYd!U zLwbNnz7!N(8KlP>(gdD8zfaWZj_p5cRx6PjWguRrXSRfJ|ld9wOX{V{d*GB_7K(a9k*$SoC@Z7Ta3aPdbWQ4Akk~#PSp<2 zOmF$2^C9QiiVdv1VeJ)&EyqzS_sd_ELfXE|%~wn)0saj_C*a1V`u;EQDj4+L8I0WC zs06NT@PsV&daNf|e>MbpBK)Q>-s4MYNlvv~umM;@RqImE8KN!Qyk?|Ba1LzTfz51b zijFRlID3yxt(E`!>4A*=ldVG7JR^ zsx|q~c7-SX z#h3sPg**7)!tcfTzMKvDsV3$$^zoeQKxdGnm13YPQH>eevk>JM6`aX<`HKh7E$?0M ztPA%J_#~PgBC763E=RoHgtC&mm&+Eji-3#7U@PAJ-P9IfM3D%AhY<%JtY%W5&4&~b zT?d%Cn(_@t5d>2G!W%7?NU^7@6;QY{v@_9gBOu_`xeq3x+TSFHyZ2-IHTYm!A8h-M zswu8`EI6#MtgE!9PamJZ60l243t~x|y&@TJN-@>0ZET#mEA)43XmSuZY;a~a`0AJs zsw%q`bUEqLC474tNHY>e3&~2wN;+X_NFWdE{}4g4@?{Gncq(|n^FKbshA$_yx^Ay; zT&(XninNj+5}cKfM8NS*Qu%0)93w33!Zne?VC(CCSm*QH3s)A0zhGO*oki?2yJmcv zfC9Ge`n#abHl6)*J@MsNe&uy!j;)vvMpxKHt)hM*LU1?D2-34^NMcMOy7*dp=cL-M~9CyTRzY3)OApJ$93Eu58kYX76!87HAnsxat zF*Fc7<$L3C*P*#$_EhFur=wRsHLi^oc$8P$0{vN54w^R8(xzTF>le_;1@J4J~!&<4&1mUD?a&?2}_ zT}y%}c0Hbr^E(|UEIAIES)-7|P!mEdWZe!v+n2r2D3Nr3{O5K6<&U{PKqKDbrnMlykrQi?T z*7L0dkhsC?e~=tCWqBX!tGGUX-1t&lC?jVLkv89;f=GX>pl_yyde9BRLDb{!%;&N+sf@N-;(YTj&`8b0t()Hv7pS`_V zha3CiLOfC(qpxm@tni>sX)jfq21zClW(@e@Msq@09nGh1mD z7bd06$|nunarj}QJD>ekA)%eiWR&n+tc8F9g*7a#wy~$=YK2zuS)G1|3#jD{U@$B0est?boVQYO5JCK7U626KNbi z3?7Sw+^vg*<(h3eZtMk}PgrMW`WN=`W*;J_5|?qWh3zN5mhfoY$F{h?`83f;4j$-w zVGG8&NVK+|#}Yue4m^wPS8Pjz|C_tu3f`BH}SGR8R(l^WC+t2A@~Z9%VKlVJ)c3r3GF;znCgC?{F-urRd08&5Rut^x-|c@r-+?S zL&RnRk@I%8=aMhc#_}A|zO2Y>wmIqqD~1Y7sOfs2wJcii<8m)I-&3kdN{3iTDBJPt z2jk2?b8!xDvLcWR*jq5n!ugQf;&JQHlWo@O{p8#E+L$9fVN>KGtwv*M81KV3 z6~1BpulQe{e?T%aX!}!KskTvboVrSlAfin@IbS^j(qPc!B-uRwjJA>8xUZns%VZdQdwfgiHB*?w2oXv5DAPIcaF+0#-eZ&{@;qG36_kJHbcMlJsxO9 zto{w1qpAHV{Jq}e%*Uvpwa?959-pj_d zg|GnU&jZqni@w%oHI7NxC3S7T7#T@2Za1LE3IhbF%)n|z7bKlpS|xL@bwH?+`7#qF zJSb>cxmVP6_%MK0Z{9IHjNAXK3;Ro;qz8+Jav$H{7-+8{-e7%18}gS4ANd4krXg-N zZ@m}DItUabs53%?t-imxQNQHyIV)t^$+2z@J}B_=ngN|BKYMR07T$}6wqA!ILNMoA z>rzc_x~Mg&_lZi8w}|GGBaxm)Ov8C#&38JCv-7i)Je~H!*TyyHk7|`=&+}WZevn{H zZL(CI0Om!8?>@U9pL>}F6fFF|fiBn(^Z2@&cCK*Y_1~1OJZ0qR$f%t|+3!giLf`@;;4jOuRmz?$w(4Zi5!x;Pszeb)5%zlT7mb%fUiTn{p=md^h`!ZlL)QlDDuy|sg_%Ax9xtnr5DKToH zX>*x5ea+XMDJDoPU5)rAs5;WIkC5loDGT);Xq=~b)*yp8-x@YxCw|IYrM@g>|e0I#!`=-rhaB&E)ORi~)C zTr|;s>dP05l;=OpG;HK5wTwF+FO}iQ9G8{d>e%6S8ynSXGEX3e;1<4&7PRSK!LbKx z5Qr6P+I<+H=ojX^_Z=y6hDtr20dlb;-~fPH{N|D@7Ba^i6SXppd%;|KFG*<;P)Ovom`MfQ?O^);P933+ai_gyZ z;%pOR<*f1U?2e-bMtq~6rzg9>>&7-sD&AAtx1kxb#}0E|78RvQYQgxU3?Uex^B=A} zfVFq8V>G`qvjhy(Urxe`m66s}OGMMQ;`5#vYBtr;f4>_;e$dW}ILh>d8TM zcH0Mj+S*FXI{R^IeBx->(HlL<_#!cnv;IUk9!a1Ve@{-21{QNF==`B}p_mumF`^y` z-nX~MgH#LEEz+*+rYE?ye+Yp<7@~QRT{oTn zj+|_?V2#=drLw4`|HvapT2TWP&|6^;I$rMw<2}~+Z)BGmbd!Pxyql& zh4!W%VIJ5X(_i%1U}|!kYODMbd>}$)EJDc$aVQUvF<#cJDSX;wx23UbGZVSNP)|WB z&U^l6sgKhj02=QBrrv9xrR!Ry`uRNJN~^~#eCBw0*6n_YOA8%7(qmQRk5pX!hb#37 zvVzg(g8`7Np_*2Y;Q6g?Oy$$cbEzqKskz4ghG5Tz)~iY?P?L zbD70>BavQBDKy83iH8xbqQ)*i>HJFR)iGi}fK`&fV_epAX;IOD#q1%(&+v@cB_&mBV!4_%+Q}xzQ z!r~Ri{Vm2v>EQdv2GX{rOGG|36$&cvCl2Wprf0a5>8H{_Oh!|`-;g^E5PiJEbb4o* zsPe{gaBG;CPrs@}32*BNuqW^XTjBe_1Qolfb78v@0wJ68w7k{&TEQ&zhv;A2RA5&~ zC>u@=p6~wn3G4Z|q9rc-#+4W}_n!U4iaAN^AbQ|}mFO=h&d~#KAT7gv_^{Pl-LgL^ z$}!5*XIy5r#-TGKB|fT)(%1GSbGdu=d{hiz8rVph<+kCD+xgs(}+TlS`WZXjF8J@t#z<2Ng{ZMcPHa&vVTd2pA zAA3?mTdma(`|S;~q_YOduhp=SSw}QbU3tWO%XTOfv7V&bBlsDyj#0dH7I;^Q0@u00 zGy&q$LGJo(m~psNx$(y5H4zuXHKSX-Q9Sn^KonMJsL$~O=NVPI9!V~EP4wvbx#|aw z_DX^40e;R}!c{|i6jwscTS&GbLGVDA-znL5^EChmx#($aHip>d87(HpC6X5szMu zai*vh6{PLw@7E?Nm=i7HTjVF!gOU4#F@5j~lAdjS%_>jWZ z)hm4voG_Pgrf-Ptu7}rlN8g?aLv%!L$r`MD@hy;4Cyzxkisex_$Hx4XJsNS5e|v6& zIibk+UvV!$jpW?<-^MrU2E|mcti9B;G7Pd;#cCyL;-Rx0wn{tPcw|1cQXT8po_|}M z#(0_u8{pU{59|nWnguXVsQi2?Fb%)aLl-l#|CevhtPFth%Ya|$f4r_8>m#3eeg|hp zq35!7j9z{nlyo3(o;O7co!85;@f17VlO&_}gYF#iu6mT$;sIr221jE!_KfTaBJ6po zE@_!!_6GmEk>FO!n1Aw3J-wsaFa8vUd3|={;^zqkM0yWZ(`U&Xm#A&s;Ei-Xh<5Yj zh$L;R946b^?<|_7FF^0!T@&DY$sHiaDYd04;qpuHN{BDvT)E4G8%K^%%>QlL!$mom z_CEjnS=-*vk@EM3kG<|4;{_!6H~yLg-wS{R`ISfCceuyP`!|9DfBgY4TQH3F$|HPf zsQ5=`<3$aVYl}zrqgs?Q0I!i~2A+K*$KLd!ueu@7Qp?iQ$4HY9}W`)m7}Z^w;DE?+2QucAz5-#8#qk$+5-?# zs_o|mYctVvfJ5v7k|Zj1{^&X9fMakT8+dnp5rLN#hf3KPJsSXg1)&JJIOU8Ckjm9t zD}}d|X2AZfQ3MJ{A?Tl=y( zO%&k#R~mX^n;7XY`p$ zPO`~z*BHBRqX0(=2ZG>z_u;CmcB)!m+e<=f4&eqmk||c1yq@A83YAAZ@ByUf@^Sq0 zA=s+!M~UwU?;@)FT}#Q+$uP;#2`q=%4OTGNhmwl*5EcTgiCI;Ep`?!Cy8=LLQBn@! zL7oHrX}kdF1_+s*-G@G1k(ZZm*u)-(Z0kw`2=~b3%g`YF)jOc-vMS^WJ9^O3JI>l; zV_ptjRfuJ%RG}SN!0!+A)3>qb&(KF&^nS!E58`kq!F!a46t_+v^u4+c_qs-Qt%j3Z z1h4}s@N~3WA8aN)IG$4{$IUm4e=77e5YQPo{_G^R;!d^(pg?9{X+ShA3ci1+kjjzH zdIE0n-Yb8cWnDH?Z2Y2;;t|kQF|n&`zb+W-;l~mDtJpS@@;VVq`H1vYc+e=L9|3`V zoFvVgdsqfFJp3SeFNw=aM?BG_ImVdu+0@|Bn~6?%@*n8{ceW$E;?8=BHq~rdTpLnp zx=%Xxd29oWzijU~QvS}wzEL!Q)O{;C#cmGg6<~gVc^aP?u-v)DQIz946UHy|{c;k( zT7)DQV6o>No#*lpEi==Z&3Xz9-l(0)+-4H_%6pvD@5#1Y$EpnRgKEhiV-#ULW6M^J z=4a5#6$*0oZN%Yy;h)xTz7tK%1q)24{8>}pw)F7>dFn~PJvvGKEf)#|-_HLq8pW+E zAhYUCd;Ziy-~4Jq#gH~tYpt4u!uk4p%B!T71VKW3skdL60Dene@QSL3Ulp*>r*U*B zj!P;uuuWjo-c$0xvWmCr=B;Ihvc><9_Uh);*#d({>0x}BR@w9NKK+aY-2nDaj#+9L zzsi%I7qrCOiQI048&wQHWI=BrpwA zy%mimEer61<+FFU(* z>!c1n(906-*cE1B8OAXvS#&n0Go@hfYp@Re_Ph^Nc`xz?Ys#)GtQg90;|wxqYdQy? zzW)#g2e1{9YZnxelvgQDUK%_aJF$bSq>O#R0^Ij~ES5zH z+fi=N@cm>LV^CUFLCsrzHHC})n_J8(?Vt|!b)cs~`0|F1CqZU;U$XXL17=TbJWl{bLs8ZaypH|ui z<;ua$uBCs<-5?1hcL4736sK{fimj@pC;*+?>^Bj)S*joV;$ps0&0o4qP8{oK!#>V;-WsR3qlsge_m`@x%!r~QFeHpD&G+K|#Nz}*XuFgH(T zVID>~0jn)x>bPQNzF)5&yaUAHGi-$10Cu?B2NTx)`5o9VhTwfD09b6!j9v48u3ljl z+f*NJmHBsDX7-bGMR4p^xZ{K1fzM54a)t+2`&Lu{CH~n}wc|IbWMrudNqwWnT+^Qo zBPc~6MwiU}&4-i64xTqEl@m{f2Jqws#Pb1&Upz8X8&m>|Uq=+i6ib7Wa5GxgNLHo@2kR!T@qk__6ZRetUS;S0NQEYeqZsMGVVf zm2v-xHozhpk>1}*eS$}w>U&(qDbHW@nKS6+d#z(9yIsIg-voRq`Wx((DkaXTfa7@pD>~#=51<;PEtzOR{giQm4&XTBD8GdJ z)Hq5H=hXo0nb%p6c!f)@fbTE@tvx;EDfJGpT7LjH?K9FlD=8ka%C~2yP`Sdo0;kBW zeB8T_HSbaDUSZ`Jn|>;r^VylK%;k@L)RtCBj8cfu^j&J;p{mq;ayiNBY{ORC?O7kd z38<5xHHH_Bn;0LwS+wr@`HR-Oe{hXwQgb7p0Y z#tuJdrrggiaAK6RIaLQ2U4ft!@~Kx6Eg8G2TV~XkUP3Pw-x4V^6k!A;@`<(56bGTi&&hy%7p^1Kt}vQPW|75E%*K-f(MnZ z#HvGL*51a|Y*k$e^0~HtuFc@v04g#YaAC{G`B0k2BYnjGcai&jzw7R7qmrAe@zP(^ zx8O~Mx1^H!2A_QOfJj`$ZNv@^wz2!wS9!?EE%LyGrWuBgKF;!0?Y;UO=v+u(0CQ>) z;-)Xq041PV{o5%;i0>C^K=IHmKzD%ukWpLH|e2{ z10fvUUO0p78Qw!`;Lc^V&O}|LX1a2$8lzaQs^E-@OZTgB8RHfV$zVr1hFw}I;ehla zgoodpb@I8iPBYQZE*2%J3hF!OZz`|0hlsD zz`&7Qk;S>k0HL0D`)8Yla^ke)l>`LPWkB7&q6);hiR|oN-dy;I6a_wod$ul8iKSK77q&%N#j&bXfnaE@-TtOHFK^r0wq;<}ZoI7GUez0zFmQWc ziu1XNTQFG|j=`h8lx7iANoRG0)UzOOid!&SKi|9_x}TwRHsr&w{zqL#&G zAvBQ*=@&o!R*h#|3bs@wM0JT3a|LyJ7l&4&AKdr86BHVEO>V`;HU}tsOPWxEq!E=Xw$jaRqq%67X8h zc|&&N`1&m0RXVv~=CFIH8H`J>~ zt}nkwi)KAG0dM~p>{nnKz5;P-awP+>XYVI600))MGD{6%<7DhdHLRmC9$_^3s~PBTWZoa2t146x>LvvZH_kb>I; zrt!Ou#{gSggTa(E{po5tKl>X8ZU#L1l_z^&D=_AXvV#%k%a#xaF^|iBZRfyXe>C+j z$}c_zF4;76S-5*>u%C#mXUbGP-XRx0$rM zW$Xm)`UG_SO%YJrdLy-GgodOUHPXFrTBW#9Uoj}#%pK0%$7{!N{{Cx6+P1$XF%Z@_ z3!~+82H31pdkc(!FqVJ)a~PA$AONw%d__24z`%P37|gaaU#e+)XUG0c+BE>PPpgJd z(JlLom-P39=B+hHu`9{ zjA166xA*%6W9s$=YZJt(?%i3S^Jm;$aX`uq2zs9xdoU*$hDKK5Lrk3edF1`M;uo`|L!aqQml@J0V1-*xqmfBF8p zP5JTQD=-){uYSVjZc2Wbwoy}QByw2oq;saXvu|e+AR_Fl6poxd@Yq-^e0IhbhQ-`I zN%Eh~k|Fqc1}o6HX^eCJ0Bx|xKAX*mwV#c?N4GCi09|CXsll@SQS{88-&m5~qK`_)edg` zp-X|}j)%$Debqz_rP$9#T~(+IUtn7yC)>_zcp(ljCsynMujM1oB*SMvT=XWvpa zif)_}O>&w~6!Ba#vh%-3v~Sg#yLxNj>c$$=@pGRWCKij2m-guv51u(hs6-$Wm&0!< zYONZZ=CIg!Ht$_y;{ZK{@B+rGEx*lIQ)pX`Y{fFa`&teXb2-x}VyZ_j96#GR_4L)i zgW__}37pKPfvspDU+6rSfp{Pc$JI=ijVDfMo1;g%82WZssFqrqtt&caS8|>kDPZAAq6R-O1>H(H_9(lgc}WRvt-d(c&Bt-5;N(`o4gz z+0mh*J@L{Cxa39Bem$+OUma|GnhLu_b+3W%nj&1zBB--4)?Z6;!b6;U4eO~)zK&xB zOZ6^3KIpo`bV~2d-uPnz@Od%Z6`3h+(U^Lm+os?9OD>9B*L&;oI+GOi<%z8>nZpS@u)Dd?x-uj5JISZ_$gFpvH_SqiSIk%3 zn@Rz2TszA3#31!dtl9Mg`5w;bMkqsMt-c#foTP5H(&aHCfL097&zmJ!yxD(1Z*$RA zFkU{F_xQt^I%8b{GwYHp?Ci68SKZ-!TqKG~3RR!DSkoV64Rb|z9*UTXCo@Wcl?bS( zZ}pZ21JG~zezby-WiHwM{=(JheW#47Rhi|PDYd;lXji>+J_Hg)hr9!{x+R8S1FQ-~E@mf_xR(xz zhDq30-MLBd1bVS_>{2aotj+ZXFm~rs7FlupSjq1wdFwV^Y<@2Z`!(|9Vul+CYLDqG zL8mSIJEfQBXU-LiQ3*s~yPM@V3JJ1=jt&-#`-RY*AvDPx(9IYHLqq)0on>Fp44q%<2dAWCN zbTDg%1xr+dInoB2ntPS!B8b`Mi==>B4y8h_2))N1-n#EC9d474ys}`pQcQP;cERa+ z2%gBNNm{C{P$c8@t07pr2I`J2r_1zn2cy=2*xxp3q1;tY`(r|#etv*dm{Dt`c1Vpt ze@*%A?_fE5Yhscr|04mQr!C{L=8lp(ZkTkS`gh*gg`D>&wEjf2WXEjYI4kn#B+7zD z5Cq8sJ_#5=$GWWRh@w}IPr*i(24juZXgea(wHRcu(3jxW%yJE-_^lS!qN}<-1lWKu=sapEvgui|U<}9~FD&IC7;Qahc z12R&$23T1CKb*nsS;Sv$!MS))D{Tt{hBMpo_|;K_iCvj1bw!Tb~Kkf zxdI_Xts551hnp`ndoG>aA_zSV(Vp4uz99Y4iL;Qv5qa50JrK{N;r2Uc0j;q&s~?&& z1N&T;f`UjqE%y8Y|Kj~zz)T|fbPdYm86xKDMn*gLU25{-1X;#iOalU?&lXjG}HIR;8pcA?}1xCVBYLxN9B@2fBUK~rW}qx z02U3?%=5WT)+L1T*>uT*JnY^qf%w_?;gyh}=^+MuUf%Ps|I@TJnU60$536n8N5Fqn zl4=jld=$N{x_jP!q2C{OK>-X*it)h7-)94?ctv7i59ha_y<%Z662AN;uDqWY3*8z_ zy9`0y)M8a-x>RzmbGRal3Hiu)5I}i>;UG~Az-aGzD#$)c$d$wE-hLl-5mO3Gp?KhX z>Ao%PfyEQ*t^1X%nuRrkyv z0lUfmbl3H`-bJ7%QD0=1puFx?W_-cNz72`ErPYotuL11jpcK$k@l=0n60;ov&B51i z7$I625@3bdn6yr%+Gwa0L%nBtGHC*vYgJK1^H z5vo#WTA`%o9{)*Y8Xj4D4`!0Q~~+3@k1H#etdHXT=Qur|{*0_W@*d@QgZ) z94c8BN6u>A4afsc`+Hd5yZNx~PIM~)q0s8*Xbz$!{-gFgnm@i62)g>MD6lG~c`<7D zAOAN$$s=W-T)uO3oq+mEzul$sy2<%*-A~E4D=)f5uGHCPr-P;JmnSUI08NQ6(a^I?cJ{-L zgO0!mo`dsP?dAw&aX|N|-q-MiFtx_6VXw zxLSEjc8xzt`it}M_3Qc3P$Lb!kDzG~(~KjapmFzo`&5x@WuDc@v10zg7{4eM*l>Ed zi5JrY`UZFarEn+yrcK|L%;oYa&EuW!A?>pe=k*vnpWS2f%_pc1gg|~Jr02rwKS`74 zT%zW+?DiK)OA0b!_#=*7HZ~;)O?H3Xyxs|EGuU*_`XivF&wm%|f**UUDPrh1_?6Yh zne^-&m2N~g+7q&wSsX#yiMb#kI46C^H{5IRs*7k8&1jAh5XTK$Tm#NLhwwR8>l$iW z6g-vJYToDTj^%!s=9R&6*PFNOMn#j_?oVt1F>hPjVq4+uR(>)?`4O1_ra=PUqnhXZ z<42BM{M5o|LH-3ttC^BzeUdiqE+SK6&Ju=MN%$+v(I#OBe&VPh^~$6= zC~qsg)RdUe+iawM?P(E}@w)+yL=4~mL)BNuHTAyl50MZ-8bo4*N{fIJA|)US3K9|` zj0QnKKstt^bcjJW64D)#A}t{$&4AH8nr&>qXZrqpU$5W(+1bv{*>j$_>$>jyX*Nu> zqceGH*}it~ftbvQfV%+i_yr4TKm(9d*zDG6^=&q;__!EXyeWP)+UfRcEJ&N&+|C6^ z?{Zu-b|_B5@Gv~3kQ5=tqcplFxeQmhzD!tcd4W>IGO|t!0ot_i0T5pCK^C zKC-xnF2Yn|#0c;P==PU;iJd3bNvQ8Lz0N~#^51@@05oN)c`VgH-LeS2>}XR}mhVd1 zd&ChwS7Q4;SKtqr?-}D;Xx04sCYz;`XMZfwZr`EE_hJ*Ag@etMS+59N^irc2x;*?z zo~$+T^613Ohmv2#@WCS@&%qNR!f7i93=KAqYMy~*mC3<}I_|iJ%Av&?Y~f53M^P6h)Ml2B=O^PY=$q-1Qn;6+e86= z@mxTh^*}pVFn(+Aoga39gN9o^j=f`3Eb^YU)MG(%WAN^tj~9`*+U%9mcsy$dj!qT` zJyWia?{@QtJ3ovf0-OX;lCXUJWfV_Y(PYlsCor`~r-qU2WQ7h&1+iwORNczAB)!HU}GK$i1PnsPXu z0E?teb=GPOFm2~q3JCasi>)j5EW(fUl7rrH;{NYtjNC|%sSuBlxau#T;t^7z9K+Gw~di zcAt8zUZEDccVItd)X zML#wxt(8(g0#%d0oNgpKegkpXo}vX zNBeW;cXjC9|A*Iucy5mk5sL+&o_NzP8#q)>owBC7o|z3&SAn@UA}>Hq(I!;&O>t9e zc;y(8eBH;gYm;-dUBp7D06Xn26a1jEK7U8u1HSqOhL<-lDVD@zPd zKrkLR@6k}`Z9SmHu#yFpkh{3A7v)NQeMd#k7ZpGL zJ{R~7O;BF!4;7UiHLx@4xy?muBYFV6^edlI_`J86atK&Egk_UPL{CwbWjp2L`Jz?I zFRUSq`yJ(Xz}pp)DWw+aOD*VZ1|4DGy3p+{df$q6kviNzuiKUS{FN-$->J`5AH3wO zhF+~^fQMB#=58vpEz1k&{0rGzk^wT`mFvKU1=0-MyEdNXrr3#I9q)ToeBW)}R5p4T zDMEwoCqMD?iQ}bxsIc41T`J0#wYCw$KCkmQe8uq~MTcO1XAT0=qiuYIk4Eyb7OP(I z^LeowUQg;S6g#&xZniYVp8(D2`VyMxnLK@7)R6Ut7#?MH@1LQ4KRlO{mg>{y@i|D6 zrf^%|8Fa9jX_((-q@)e8X|QM@Hm=!`F3(a%h(7;wnKK6$z%CwymvaLc*hy?F3Iv)j zgLrdo9ZqEo%5?Tb@Jbpt=hES{Zm=F)FO-V7wtRNizs-h==2^a>K>EYr5`|OUyw1c*Q!boVPrJ{s1b4PacGDf$Z zI@src9#OdPt7BE;)q*rH9U?S4FPZ3eEjz?Ufi{xi;(rg;b$w&`hkwqN(zSMK{_}M+ z(z^f{0~Uvr7~}|3aLaV=svIwcBDk8>__umKMM zu!PV7!w*Q`?A_MpER~UiG@hcgZ~Tu7u*#Lxr21XvkbW1!7wTkv*IAQ-Q=^T<+?DIB z7=0j5fF!)bgTKIm@AeSaIJ*!(4#3o@bnYg`nv9c=Ac^z#MtGOwza$i8OP4|xkv*>l z7BTk@Nnr2+t<_E*YU8$^Mlb%R5Pk3P!njPbF#8EPn`%73gzm{bi44-& z0_7KfYkw0-w$l`lwGsS_Gy;Rt_xan;L4-&=!CV7c<1BGKvL=GyNBl7{A=q@cd~PI9 z23&-I)pA}1S@F9b+c^nnONq2+Ii|D|*Y1^fo|%@CEX9a+aDf3lEtrHh5s`s0dza$g7ub`%Ag1C-~`nKX)BMsHwL!(6pSOAk<-})Yi zh*)_kr>7L|HGi#S05|6XA#20uF>9xBO|fs|hW~|^G7mb=J-QO}#vQnSDP)&;Uf+Ao zi5q@Zd6MZ(`j+xWB*@uW>A*bw=VEHV`v#_0+h5)^@aT81D*lt@kzSjSOAT#k(TztmzU*7 zPk?(dog9&ruj-#`SFdY^v&goqCydMCE7C_-P~PDHuw6-Kp%FU)<__S(3WUSz{kKHP z;__kd63J>^#3Fmco_Ntkw(Wt_6ib|J+s+3kR)qOUt&EWb^Y+W%pJdc`45xr%vu0yCuH^NIy|zw4S5vo z&*gIypOBT4Gx-z{yV>Ej)V9R0%u{j27y{OtCiQClGs+uynCISfXfcO>os-;AI1m*z zd)|Admuo_TnYyyd?&m8AbPxy6*iB*(a{GY_#(Z`>&%U-j5>C;Vd33SP#7e z+d&>V4XlV_XeT??mDMEi=B2vJXZ{RgNM|Zi(&RnNIJW-rcAO!dfVFbioZ&^9^8q-b z61I!}Ztjv2$IBD!8oc87GQ$ofIZYB}CB3_siKOP-84w*{RI)1G*;$^Eb1`_N96rghzyYiT#F`q{g53Q;iJwj*=dBerp_ZEGFa4jL8RNh(kML zjV&7?1~87=c+$II#L{h zpT3LWDvR(*BLO^f=~8+yS9JD7a_>gIrm^olCT=nIn7N&~6Swp0vtn)7!bQ+W^k6Dk zAVQ)uVm&%^IeZG%Rf_0`s%Aj;jOEQUf*lH$A=il(tG|pHo2fx6KSnEWocaNWj)|q3 z;xtxkNvlh5pbyNneoP*f3RyWsLEcN1vA{|);Bau&y`yS?kbO1!D_bo-hUP_}kY zgTyO3i?Jg7!tJw-k1vQU?SV9+?oY^aRe&aq}h-UA=VC z9e?=K-h$^~1x-*d8!Ri<)kRu7CNSs(@EQ!fLm5t6FOiGgHyTS%1EE43e~>+6-H+Z3 zj@Nsben_(Q-9MgEjBNpyRGG}U*+kBKwd>V|_9^zwfXZL}t$CvO&~h1k_lbW6hzh(A z0PDbFDkPS(Jt?dR!^;`lqxdVY5hqU6 zC299t*ULKLKIdYELT@lmvTv3O$Clyg&%9#Cdfk`gSy0i3C+_mg4;oP&_TEOd)ReT> zxaZIHwup@V7~6U=v}=(gzyu5Fa&+O2a?S~+3~8J-Z+ND^@_;o0+BcSBy-B?i%c;2I z%1b~%ltA+K8Cg8sW?w$bR=}N1=GDn=hMC{ld^7Z|x(r7-Z@cY-jJ01S-oK}08dw?| z8)dut`+w9lC1h>d+>1?T!(ry+%D!92d7^ZM6$Vsj*Q}>m>@d6q# z01Xv#!>HB{ehH^cswscdob{7TZCW^F>P$ZW2_%hd8cTUSm$o*D&FD(6v|TQYFVXqo zn;%T@0Wm+nU3<_WCt0I9n*Ql@paDAu!VyP1W9fBr(O$WJd`=ChM0Hocs54BJ)_~lH zF)z?S0~n^Yl*8U{>*9?BqAWWlKosG1-#jU>N~5evyU%UXz%GO9k(>cW0#`8_jkc_L z6A}`{NxZu+XE!W~{PM;Wj36Pn)0fL6z)F4@=_FT0^ACDx(_4g& z#gY|cG&$e4$Gj{r{!hAghFG`I(8jnPB#B36xJuQ5gr4B1@Ii+~?avq1*? zIsi=TXK?_cM|_bY5ya0el9DIM^&~Q?yqg5b5WR5SoWD`kjwsr{^8G}kWDKm0u%=nEm*c_t6RvN}wzbUS^64p@PlMt_sTBwz)s=6No!HKvN&+4-I8LBI zYK398B%4B~XB!lMu`L?ofdF%m-lIM3SdoG$`Wh~X>SAx71@0#?w$<2C)1;8Rc@>?N z)S@Qj)f5l3R+xntK5&ZIQUe#tSJ91oR*rqW)WZlE@@f}Z{qf&Sa0$I9%kCkTeRm&y zaespTpGT?8Psn8is?cvD7xj7^*pM{9Kr{|Y*aW`@z7!+?z}PXh%MxAup5@eu!w%^O zo&VeHlK;Mj5%2^}r{A%K^gp-&JiQVfE%Fb21JR7lAZDo}ORubf_!6(te!Bx0B!DWI zSEG6x`ND@zhr)E(Z%lU?Z-7b}51Eys|J7aFak4z#(q*ks_Fp>D=eL#}?-whNma~{+!?*^6Sv;V>es#qe{jC3n8)3perB7T56qzw<~4KM-Ep5dcQy)E8w-C$f$XYCzJwo?+b_=|=Qb`ds;r7}Wnco^K+i}3I(Y;WFMp|&Gj>#)TL zRdTE&Iqeeesu7CF3lTv@IDByb7M1pw5nyq*PMSq>bP^O=S5^)+12v_BmWH4+nYaBs zTlSiAsHx`&pI&p?M#y`CvUtn7zWn~!a!)b=6Dbl#k>s~VH9n}}WGYB{1Gz==={`8D zb*tBR>J$n0;ERTt=!sh5e*F^od<3#+!X2Vba#{A9w+1)ZL;_y=9Ng)P$6HncX%P}a z*9msYy(NUy5NP!?y0qYfkfxt}onBc_>E^XDkMk7Ro^qi(A+PJ19? z*LslQ7}kLRhI`ywDJQZw-eZv8e&2u;57d*ia9wl8uSNK1#no^WOTIxMwUsAj4&A2_ z_;-PZ_(qYvek%Q2FQ>Ll=&>EhbNH9qpyB#kQQ2W7GgfY3c zINEV|Qo}xl(zKZlw@*9a4{LJH$wFZ!Ycc??2MDDEAMoW2=^~>vUCoZETofBe{JhIz z1t(-~G3=e-SC@937Hdu45nQ;t@#AHN3;z5W9K^DU5oS&{ABdM_nw?sq zEGe_oD`v04^XXe%8L#|05L1JJ)5SC~M-VC@d^k%Rqo(3y7(TsJM=XDjKAbid2wGpeqAEf?UzpRie|l1 zf#Y`6#@tc`xI~u{15hcKV^piJzvN3DyvzFIUEj zmvBzk)Ex*2t@Oy;nNw^ysX*1bVYnk?zR^pagno>_?~OlpB5hbsD{&UajM-E^>V@n5 zFeKa|wOKq7F9^q_FE5HN`jJsDoXTjn7ELvF3B0=g7sI{fO;CF8niNT!I*3w7Z-22& z=hvkUyEePH2JA^qvOn1U+x*fH*ip%V?a=+Feys$Yl&A%a1WpcBk6uB@om>DOI{OAa z@a4sura+2|6ca(b765zQZCKNB(7Qt=uJM5VE;*ztQHnMn;O-}}o{$f&S3~6Gj`Gwe zbHtj;*!P@rDX6)h?%_K-Ioya8>UQ+6%=zN%?fsX|L0*LSV2>O9gZ~`N6HV7x-EkRY z9Y%nV43nb7ws9@lzJ?5~A#-tgBb8qX0+5-MZ>`j=zL&<+S`vS_mwbk5uU0J?UQTi6 zF81YCb?O8mijRB8Eg%}VSSJrxqE3{%8&Kh>rStCAGR%KFqQ|d!D7gpk(NqORbSD)e zj%&8hPNw1p2LN&7sr*$X(6YpJpcG>o0h{1z5@pZ~RI@#7!|DF$C%D21gBx)_-pi(moc9^nNl7iLu5HrUYCJx=rfaNC(1eThRk#>e!~TWI@Zj!7z;myq#wVhf3IMH61|MO0=an{9A0|Z2{lE2x4stm zssPIxPQBCwdy$Zgw`4T`x?6AuOa{y5N~5<|#c5*~zs$#uF4eAKRSEJ(;Z(HQ<7zB} zYV_nxbFNZ1vVhy~tDUrR`2$=t`3fhE?K_ZYiOkV_pO5{8%(Vbtx@wYhU#VMl5f{0R zcMvGQem~k@{>3&W_E!SY=j1iea2m&%ZI!Q$^oI1j=H0COW$hqs&H4QP5q@w4utLO3*OAdN7Vgi!)u~r*^t9u@9VcHZPwD5f}G(< zk3&O`g=zVeD1G>@$2C!>896DuHp7c?j@E~+WGnE#_eY(YSMly0%&0vPk~|pG&Jz>t z_|dA{Ue?|yI4Tg!=~<2BB9or=B&h%{qHY!w%B^QG1VQl>PN zzbVabMc2%iK94KWVU!=54ecJzCA8~$D%t@&;195LXkYB;UV%culq0*y;bwtPy(Fvg zr!7>ymvskm#c~xeSZdpryU07Axjo zZC}&WYrS{yEtYr=JkvRl%XRv4Y&(9ZMqG~O%m=^fI#udyEY9KQXwZ~iS^#NJ?`{MoHMl$Cn(27(ECHhx)X6A5h&;gU*UmAX^na`oxsRe-}Qd@ z5J1UFf8l+6NDkvW5|O7Dn4kF+nbm!}_2k8C;suKGD!Zu}JC$dfGu6)=gsa1}RTyjq zm%`k}^!{)b>z9*Pl3snYsLokoNZS35@)H-&ye~f9SEE0<_p123Z+}8ULuz#A-H*MG z`Z2C@PE@B2`=>E3>L30z%|?zjF{a{#d~c$qn$VV#?!`CdXK{=scaNtudz(uw!5+`& zG5Vfmi0z>Gh|_4z@4#Fy{A3hQ1{0q<^rmT5NtQc;?cT0gsM7@5fS*Ku!dT@Mf5N`U z7{v#FKv0)76Gs*L4o5Bj=~NxKUk}-xwEBhGpvDW{-F4bw5AbQ+%IO%pczQ}$)%QWU|LVn82F%O$C(%Ke5A9V6OsNdxo}Cwua`=ppYr{g z^f7;lv0m1>0kyg&p%UY2HgT6Bdt#F}r%;1CAcVU}4}U>@dneF7f)Au``@RsBlRy2c zcYeTOVAwh(dE1wUlijW{~_E6!U__T@|;U2wU$UpWEQ6G)Ym z^_?_Mf#%N6Tu?Q0O6twrf&VDR+K*Y|hzve~CHax}km9B+zGZa`9VH?hi>B6`>9En+ zfL4oMo0ri4JTXJJFN!BtU%}GHT&vbiJ`cfGIZIg=o+N1dZ_qJXsLk0sw!>WI*1Wbp z&0eE*I2=FdV7k_z-~R9g>QEkYNbFRBWc^YbY=)xxN!xVf>AM39&S6KGv$Mf@IC|?|*!r%?cnZU$7Ony@oAX&F=nAdx=g<-;GIxsY?QBpu~k&wrtGL$2^4@*&mp{ zHj;JeTzn`SWY`9U>zuU7oQbx9u6*&(7kPO2%Q#c`i|CXBDzj?vQ6~8xRU=vVrZN?D zv*c3E4K0f$m^*gQC@!z#a(67=)`3l^EI5jQTKYevs-57&qAiOgdy9hP~(Tr+rN1 zaZJ_7RjsDwKOxy-82=P_v0z2$O+`dGFj-ib*ilzN@chk)Hmb~=Awcst)0&O^F3R;D;i+%|wiHbRLM^1PtFeMOT>ly|Kz$sI%x z8w-*)m4!5wmQ%U6MKB@a;eyEHsq5d?1-W$$;;n<->%U`hNy`j6c?u()vOOOQ3T-a?1Hkx%*}G%$bviuS{`T zo~1o?yGZt5l=Eub$u(+nJc$YHHL9wrRcpMSL3vrBrTFA6Un}@CDej!jT5og{r1gv| z>`8f;NC$3=8u!b|IP+Nwya36{V)2ZTIV2TcAN~Z8t>Qn={4Li~m;rdjEW3w7aGG}N zvySw&D^T)*Qrf^B{7%{Y>ONY0*#2kQ zqc}Rbw^Csz-&d^d22K;}QImI1%ZN<7j|4wpGK?_Z>M9O9T74gH;v0j^0eIK-{BO}p ztw(4@gggv${g1?PKk4a;J@wr86-OdYCrWer6G9Yp} zSFy=$^afi|&;s^M;lMhk|CPX@)jF@L#{{J7t9*@POU-!;-xp;ERKM8`4Iu$EYUnoR z62l)cU*3N}M583X5Z6{lB7ze}`3PPjc&Yipj1S)lXe5d=$+V5tz4xO1r8~^uWYV>> zGfe8B_vr2aO0sZsL*^G$Q4MRC^TBvJhY?dcnuDXew{`7h3h{R>E^{uQc zy~)2;adUV7E&QW>Ps=djJBx~6DlE)GN>7K!kIc6o34c<3cm3AbhJ9+y0r|7~Niz@p z6gxbRfHCs1zasRwnz#9GJwqpia{+11kdasTXnhj)_qykiOhygY#jDHM2PaDzI=@!` z+{V?&;GPTsd`9d09AQ%qH9Pc=Eo+APZz!UzDvU;5r6MPUUz|1q)t+vI9}GL`Fj&}N zLH@K)t8tv-b|YSwwMKYMi1&+OiP&<~%4@p`>YqSc)}gn(K$ zJ)vk*=2zZW|GT&40u~m`8JL;vVH>bU^fK6u_TL@>aqRMcgw9W(4$BT;@UsqSz8g1! zetpSid|+wtyiVDzuKdaK=Mg0cDPB7xOS&`r=gZtp9Qmg;S>w)yIrqy52EFpyTSC!g z@E8dk?d|Qmp3eq<|4wg|v+zxoU{$on8jL|#-6|&2@#ODz>N7HkI5Y+K_LtJYmcePc zhmG-W^aT#qS8Q{F`N%1&uv5~*%21=f9ND1@lJj7%>#xil(C(4o3bE=0NyqG$qTe$RkCIbMOXUVqp5PJez_xZ-( z;r*ECKk<-ruG25~`M5_u<8g{hyKh>=$slPmdc`XBoCTY&{B1c%oS?eTS*$Dv=wkuF zyGJQ@?ZQ5HC&zB+>$UBPB&dXVV%+#ZKwN`u=s0|nn}INpfSME%@^RMJm$ir_`W!hk zR3eL<^*WUj_^^;><5GV_ULYhBaTTLz!xvdB1r;jR$y-=HDtpq z>Zn_mdRn73o|^sqYBpqJ_A>q!WtuO41EM#@$&WNao;7!-X0x@0a530Ans1#$(x#tH zTgB1xVKsJV9K{N@6*8FbO;B2oVsF+e0#zyqbBwUB@n^ck9^6y*v&r*?&+0UM9M8n5 zvs^lzP)FreLuCG7+r6ji>b!FutTuK7TN66r-@ns)p3L8l?G(YTlRrwkv{-dF44RVP z`ZW=Mt%_> z4r}n1S?mtDDXUX5%OF%w%60jJfO)uk*LI-W#-IFsgd9s%%f8}-%i-3k{#O7^^b=Ny z9Bno;lPO>JXT%k`C5si-#?GSqJ{r})D5+|`>o|EJzUHjbu&^-r5EG64?q)w46jT9O zJiM?k4@!kCe2&%l-BfM2oAd}p)KV;=Tn~p-ci7;DW$-fY*!v^_&0g#BG!8kRaHsDt z;%5)sSCO#O$r^Nn|3QJKTBOJ-rm1)vQ0M%#lf0fjyQ66Ll5?7x8^K-OBwLPSHO2i5 zvcrWA(E_n~fvy>{VTk%=BY-8&#gix=i4eO3HUKLHL9=gy0XYO+nt8Cku^Y^fX!%m& zcQIQZmfL9J;VB>GfB4WrKDBeF{^v-VETLU~yWip<@8S$qjO--vTc1u4(B_EmKQU!C znnj<}{LmAc;M!oAEXLk}2G=a_&jQ&kuz?G2t!xtpd#4Tqg+So(dsGg)!f5OM%^hS# z|M4Tdq`)i|?|=UUk;3X&+j@X)KAwFDX>q`4+{B0UHm|Zmy1KPK;XD{JEq{Q$?CEw1 zdid)GB*C9Yoy|t8NqyI|&w>_C$if4`#8&sd@riqq#tM!d+@B zcS#kB7(5sTTPOYBzhCKj<7%And`o-Hei&7E$@d}J$(MbJ=igNGm5;E`mdFO|=5)DQ z!=a~m!w_DllEJV))@|^;qbrMe8?NPEoE&71&CVK z@yz!}?ZKlqx&uEhol2=pMD&?2y_!0&@)>cv>9vo5w#07YBvb8#?;626A#gG74gsf< z9khPP!|J3|c;@SlbCiRe(;kN8jP$APesS-GLciE)m-U6lOYcAPY}_Keshejf>b?}G zy;dUYV;56$A3C*EAkbrz+VVYF%OFm?XQXx^aYCr_ZQQMk|_0X-wYMt;|g35zjcs^^sFQ7#n~49C)1ZWWf*OXtv^lC|3R)i^n+8qZw#b}Dj%Ba%54uM@U}7pPCV zr_5ixy^9M`ocStU@d|0bfoX6WN;Yi4)-?v+`xI*ta^fQ|bq*!|Sbm%_ZD9Qr{eA`i z&TtHN4FsyI&u6d50YRpG5W4xM78FeD7y3Nw5&Y+pMSX88R`rSH9b!O3Y>Jv48rt~xyeCv39>p7Qhj_jzvFi@|D#iK$jK4C`*X~6=6ls-=qTxv)_81eWkq z)q$!YJzRKCk1oW(=!|{Z#7%t~?(1zeoV1=8DNh7pEBMB804)OLnhodVqW3|_Bo1&IH^Cr{m)pJ~yi67gUzFR;t_XEp6&(}ZNLPqjZI zzAGD7W7S{yQC!-GPCWs<5yJxPpKI$%E6+Wx@42`6(}T67m%7?wk#$ZRen0G_EJ`t! zUH+L5WDeeZV6q;k1FFAXQ zUS6-b?eIeHO-e`85dFD2;Ct|jyQ?cb3rc3yp&rV9^ zRs2q)huG3yiG1S6kS?L7>OUc$^nn8t+kt30<7ogQaLa5o)Ttv4FM}A*T#V}eY0dD0 z_rT!ChC`<{1DD4mle8Z-jQIPacr)M&`^*-pSh$gxOdME0AM*nvU+w;^?u#>`OZJLp>dsQX(`S`$45?c{bc%IJJReQ;frqj$d6;nSff7Twi zwefUS!9_THiR&BcJ5)yW-kJqQHCH(LMsjt|o z4cf|+lqJm`ANbHY41du#{-T?-%OUHcJb9KQPB7#FGW&IOa-1CE>2u2JxjN14oV|aJ z@CaY}FDlp!Z1jf?A)7%9R5f4EsjZN(ZLz(98{=%SvT}m5O|OjU3 ziQ&-$=Sr=`r&F9>YV}XME6rt={Pq_nRst6YoPT1z!UR^f2c3#`T&1uc?o5+VGwDyEZ6na1IV zi}N{LF+jn$;q3`S!_A6C|#=B!< zU~t3M8Ul_rH_0@*27ZDjy~CiD$zsh{7t{FIQ4D|g)Xiit>+B7-eEIXq7fQc0N(WB0 zr$UB={dKjpuV9wLduCG`c{6E=6%AR_Cqc+mepn%iYA+|b&nb(AaN61d5#8kQk@3?h zHES49U8;e&<{TiK8|5Q9K0_exj^4MvNstj7*vt_o`wzKr|Cd)f$++WWCuCP|cf`4! z(=PNJOtrxkS-1gvwJ$w71Gk>fJ2Kt6tMxK>{mNWdPpka~^aENxJ;W=&m`I^^P6q@N zDIiGo@OgX3FOxwf#oqTw0zM!RyiGiU7a?Dd-`J{l?R1_DnL|GKBg!UC!F>rG4Ys)% zO+N~tRUrd@e>USa%R%ZBl`97?Ico>M27zqz=Yvapsgg4X+#!5TA>)G!;SvUh?*jowiN^-riwq=D82@wvU=JJ&Y#VsNNm;V++QDL5L zyG33*vuGqV_!%pBV$$%xI}K$@6@pXy`_u8a4+R!i>V%=#@RJ2ID_>gH04DgKkpdy7 zz*QeVBSP8HOx?dVzG$`N@0?S7$!C;zE+BU_JXXhHx6+#k!rH@>&;BOe3KdxxA`&LD zt;9P>OV0iJMCxvl$)>DlTlu*V+n=+6s&g+63EzTS)KaHZex*7)Z0@b?rh~OjKB<0U zEM7Bx^mZ(~6JPRppyqivqoZOazhX zGb3h>T5BOaN@yruE-|=5w113W@UFyXVO{m)sJxOdQtU(FobH{>?NQ)7_;2v*!tD3Z zEGnyuqh!S_7Y9=<`6)onGmGCK7lbetj5@s1Wv6k?k>k6EmmuuNv)}%V0qb1;^a%|d z7fn3r`bkM3#{~I~5v87d=~2q!c?jFfb!Dp;m(&vPI1lsKXFI*c{6^A&IDo_{j9hu;>4={R}s*Tg!$#S)GM z9e@!OWB4x)wXPaI6dCw9W&C!{bGPTRv?R#R^d()^d%@8bCf3)VeRfn|ki5fSSua+# z!b;orBS&KmMU>toe*V^b`LsLTq2S8A9ZIvYX&1Ml>5bnm`NEk`%yT;Riu5jaL@N%< zV6@UNktKRhrB^*RXHhu7Kh`p-$i%B)R~${!*Y}$bmPyvb=6M|Y;FWS^ne2K1@#%W> zH-boem^GLI`N8?8siI=wrc>XvOVuEk$HCa@lPAAf?j6NH0&{Wx#bJF;?-g1ftQHu+3aZgcx53!R?7}1W&8$`uwa6{aaMiaVM}FC3!ch=0F5OR zVLz$`U4W;!t*{!Qu^*W?ybKR={R~j*xj5z>%d=}^VG?3^B^kWJ4yQq>-L8EEf|mTA zZ>3lhpA>nfNTF?T(@vyA>3XyJGTe3GsVyiw| z7=Ol8APh-&iteojCbE0ySSL}C3C@ZT!{H<9_)*Os=v07PFO23rYA8jQq@d`0ltYkj ziUeA3;=6z3V~PDF6~8d@8X{Hg!=G-I-Z6nYloqhNcSiq-ecj(Iwe_uSt>wl~v9{Z; zzec?h66R%XA^d@+q9-?=1gp+$sNNNErMW?h_>wIR32<=RdS+C38GA8PMESXek0oVm z0zM-J{&()F(VE}H_Pbe>F2`t=9+AbFZTou>_n(RsYOQQL5eIx__hb#tdWEQSq?|Rm zj(^Q07>XUk$Ok5fm#8>w!Jd3P{8ow82OIaAZKzh65b{x{v(Y2p zyked%SBcejBXp&mUu&Y-cd#-|27O}wp-4Vz`lMk3^=9@*4UVA@G!o*i*)gd%cEgXR zDdS~^JNipk;N^e~Ojoa>)Zd5;Jt0yD8hpK#5q4zuvw`wC3hv9d8xg~_6DAT|f^f-y z{EU)C8Jf)+1BWfY8u^1G0Uj(x`BI8McX3+S>9N(N8iE_O(8jMWtR|VxYPkVpCT{+i zTGDryQLT+E0Q93@)V(wco3?hufzrAu z(_{i<1iJr�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 <0l4I`eCJkhhoMO_iCFi`!*2^Nv(C4 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