From 3c4834d03cb5f5e6e99ad3504abbfe8ba4c94758 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Mon, 5 Oct 2020 16:32:47 +0200 Subject: [PATCH 01/95] rebalances zeolites --- .../reagents/chemistry/reagents/healing.dm | 13 ++++++----- .../reagents/chemistry/recipes/fermi.dm | 23 ++++++++++--------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm index a6a9d7a85f..a44cea5b24 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm @@ -200,22 +200,23 @@ /datum/reagent/fermi/zeolites name = "Artificial Zeolites" - description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination." + description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination, as long as purity is at least 0.7." pH = 8 color = "#FFDADA" - metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot! - value = REAGENT_VALUE_COMMON + metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot! Lasts far longer if more pure. + value = REAGENT_VALUE_RARE //Relatively hard to make now, might be fine with VERY_RARE instead depending on feedback. /datum/reagent/fermi/zeolites/on_mob_life(mob/living/carbon/M) + metabolization_rate = (4 / purity) * REAGENTS_METABOLISM //Metab rate directly influenced by purity. Linear. var/datum/component/radioactive/contamination = M.GetComponent(/datum/component/radioactive) if(M.radiation > 0) - M.radiation -= min(M.radiation, 60) + M.radiation -= min(M.radiation, round(20 ** (0.5 + purity), 0.1)) //Far more effective if more pure. Tops out at ~90 at max purity. Exponential. if(contamination && contamination.strength > 0) - contamination.strength -= min(contamination.strength, 100) + contamination.strength -= min(contamination.strength, round(25 ** (0.5 + purity), 0.1)) //Tops out at ~125 at max purity. Exponential. ..() /datum/reagent/fermi/zeolites/reaction_obj(obj/O, reac_volume) var/datum/component/radioactive/contamination = O.GetComponent(/datum/component/radioactive) - if(contamination && reac_volume >= 5) + if(contamination && reac_volume >= 5 && purity >= 0.7) //you need at least 0.7 purity to instantly purge all contam on an object. qdel(contamination) return diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index da9fd34cd6..4eee732e49 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -591,19 +591,20 @@ /datum/chemical_reaction/fermi/zeolites name = "Zeolites" id = /datum/reagent/fermi/zeolites - results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! + results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now pretty dangerous, too! The ingredients are supercheap after all... required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) //FermiChem vars: - OptimalTempMin = 300 - OptimalTempMax = 900 - ExplodeTemp = 1000 //check to see overflow doesn't happen! - OptimalpHMin = 4.0 - OptimalpHMax = 6.0 + OptimalTempMin = 350 + OptimalTempMax = 750 + ExplodeTemp = 850 + OptimalpHMin = 2.8 + OptimalpHMax = 5.5 //2.7 ph levels of optimal ph zone - centered at 4.15 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 - CurveSharpT = 4 - CurveSharppH = 0 - ThermicConstant = 0 - HIonRelease = 0.01 - RateUpLim = 15 + CurveSharpT = 2 + CurveSharppH = 3 + ThermicConstant = 5 + HIonRelease = -0.1 + RateUpLim = 2 + PurityMin = 0.5 //Good luck. FermiChem = TRUE From 3058ea8954d29d31924bbcaf0b09d1f9f072feea Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Mon, 5 Oct 2020 16:51:16 +0200 Subject: [PATCH 02/95] typo --- .../code/modules/reagents/chemistry/reagents/healing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm index a44cea5b24..49f9854554 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm @@ -200,7 +200,7 @@ /datum/reagent/fermi/zeolites name = "Artificial Zeolites" - description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination, as long as purity is at least 0.7." + description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination, as long as its purity is at least 0.7." pH = 8 color = "#FFDADA" metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot! Lasts far longer if more pure. From b46c4d613ce938556133443da39e67728c0ef753 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Mon, 5 Oct 2020 16:59:51 +0200 Subject: [PATCH 03/95] some more value tweaking --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 4eee732e49..2cc7177e74 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -594,17 +594,17 @@ results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now pretty dangerous, too! The ingredients are supercheap after all... required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) //FermiChem vars: - OptimalTempMin = 350 + OptimalTempMin = 500 OptimalTempMax = 750 ExplodeTemp = 850 OptimalpHMin = 2.8 OptimalpHMax = 5.5 //2.7 ph levels of optimal ph zone - centered at 4.15 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 - CurveSharpT = 2 + CurveSharpT = 5 CurveSharppH = 3 - ThermicConstant = 5 - HIonRelease = -0.1 - RateUpLim = 2 + ThermicConstant = 10 + HIonRelease = -0.2 + RateUpLim = 3 PurityMin = 0.5 //Good luck. FermiChem = TRUE From 79636c305473ecfe56efba1faa9a75f44d92b622 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Mon, 5 Oct 2020 17:18:50 +0200 Subject: [PATCH 04/95] even more value tweaking --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 2cc7177e74..75086ac690 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -598,13 +598,13 @@ OptimalTempMax = 750 ExplodeTemp = 850 OptimalpHMin = 2.8 - OptimalpHMax = 5.5 //2.7 ph levels of optimal ph zone - centered at 4.15 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. + OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 CurveSharpT = 5 CurveSharppH = 3 - ThermicConstant = 10 + ThermicConstant = 15 HIonRelease = -0.2 - RateUpLim = 3 + RateUpLim = 4 PurityMin = 0.5 //Good luck. FermiChem = TRUE From 2d684c88be65f1a79d005bff36aef80c0912be9a Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 9 Oct 2020 00:06:01 +0200 Subject: [PATCH 05/95] readds a accidentally removed thing Apparently, someone accidentally removed the functionality of being able to inject beakers in heaters without having to remove them, which is pretty required fore more complex reactions. This readds that. Also tweaks the Ion release of the zeolite reaction a bit (-0.2 > -0.15) --- .../reagents/chemistry/machinery/chem_heater.dm | 10 ++++++++++ .../code/modules/reagents/chemistry/recipes/fermi.dm | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 28f0b2366a..a25677d737 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -83,6 +83,16 @@ updateUsrDialog() update_icon() return + + if(beaker) + if(istype(I, /obj/item/reagent_containers/dropper)) + var/obj/item/reagent_containers/dropper/D = I + D.afterattack(beaker, user, 1) + return + if(istype(I, /obj/item/reagent_containers/syringe)) + var/obj/item/reagent_containers/syringe/S = I + S.afterattack(beaker, user, 1) + return return ..() /obj/machinery/chem_heater/on_deconstruction() diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 75086ac690..5241768813 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -604,7 +604,7 @@ CurveSharpT = 5 CurveSharppH = 3 ThermicConstant = 15 - HIonRelease = -0.2 + HIonRelease = -0.15 RateUpLim = 4 PurityMin = 0.5 //Good luck. FermiChem = TRUE From aa28e65570ad342e35c78693fce88a65dcf34672 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 9 Oct 2020 00:42:52 +0200 Subject: [PATCH 06/95] more tweaking for the reagent itself Rad removal tweaked: From 20 - 90 radiation per tick to 3.3% - 16.6% of total radiation amount, per tick. --- .../code/modules/reagents/chemistry/reagents/healing.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm index 49f9854554..de27723508 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm @@ -209,10 +209,10 @@ /datum/reagent/fermi/zeolites/on_mob_life(mob/living/carbon/M) metabolization_rate = (4 / purity) * REAGENTS_METABOLISM //Metab rate directly influenced by purity. Linear. var/datum/component/radioactive/contamination = M.GetComponent(/datum/component/radioactive) - if(M.radiation > 0) - M.radiation -= min(M.radiation, round(20 ** (0.5 + purity), 0.1)) //Far more effective if more pure. Tops out at ~90 at max purity. Exponential. + if(M.radiation > 0) //hey so apparently pentetic literally purges 1/50 (2%) of the rad amount on someone per tick no matter the 'true' amount, sooo uhh time to tweak this some more.. + M.radiation -= clamp(round((M.radiation / 150) * (25 ** purity), 0.1), 0, M.radiation) //Purges between ~3% and ~16% of total rad amount, per tick, depending on purity. Exponential. if(contamination && contamination.strength > 0) - contamination.strength -= min(contamination.strength, round(25 ** (0.5 + purity), 0.1)) //Tops out at ~125 at max purity. Exponential. + contamination.strength -= min(contamination.strength, round(25 ** (0.5 + purity), 0.1)) //25 per tick at minimum purity; Tops out at ~125 per tick if purity is 1. Exponential. ..() /datum/reagent/fermi/zeolites/reaction_obj(obj/O, reac_volume) From c52bbb3707ce4496943d227a5fb35e889c7a43ee Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Tue, 13 Oct 2020 18:26:03 +0200 Subject: [PATCH 07/95] tweaks temp curve Dampens the exponentialness of the temp curve somewhat CurveSharpT: 5 -> 3 --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 5241768813..bf66ffd9da 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -601,7 +601,7 @@ OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 - CurveSharpT = 5 + CurveSharpT = 3 CurveSharppH = 3 ThermicConstant = 15 HIonRelease = -0.15 From af0c2239db42854993c980e367c599335aa38539 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Thu, 15 Oct 2020 21:49:15 +0200 Subject: [PATCH 08/95] tweaks reaction some more thermic constant: 15 -> 7 CurveSharpT: 3 -> 2 Catalyst requirement: none -> 5u uranium --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index bf66ffd9da..2b94835aab 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -591,8 +591,9 @@ /datum/chemical_reaction/fermi/zeolites name = "Zeolites" id = /datum/reagent/fermi/zeolites - results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now pretty dangerous, too! The ingredients are supercheap after all... + results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of uranium to catalyze the reaction required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) + required_catalysts = list(/datum/reagent/uranium = 5) //FermiChem vars: OptimalTempMin = 500 OptimalTempMax = 750 @@ -601,9 +602,9 @@ OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 - CurveSharpT = 3 + CurveSharpT = 2 CurveSharppH = 3 - ThermicConstant = 15 + ThermicConstant = 7 HIonRelease = -0.15 RateUpLim = 4 PurityMin = 0.5 //Good luck. From 4c8087b78ad1915360d51b3451f3155918787e3d Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Thu, 15 Oct 2020 21:56:52 +0200 Subject: [PATCH 09/95] aactually CurveSharpT: 2 -> 1.5 --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 2b94835aab..f4b8850f55 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -602,7 +602,7 @@ OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 - CurveSharpT = 2 + CurveSharpT = 1.5 CurveSharppH = 3 ThermicConstant = 7 HIonRelease = -0.15 From 1738233c270c106264ddb3319db4bf37b70d0332 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 19 Oct 2020 20:20:51 -0700 Subject: [PATCH 10/95] Adds a new "minor antag" roundtype to dynamic with an associated storyteller, even --- code/__DEFINES/dynamic.dm | 12 +- code/game/gamemodes/dynamic/dynamic.dm | 62 ++++- .../gamemodes/dynamic/dynamic_rulesets.dm | 16 +- .../dynamic/dynamic_rulesets_latejoin.dm | 10 +- .../dynamic/dynamic_rulesets_midround.dm | 5 +- .../dynamic/dynamic_rulesets_minor.dm | 212 ++++++++++++++++++ .../dynamic/dynamic_rulesets_roundstart.dm | 7 +- .../gamemodes/dynamic/dynamic_storytellers.dm | 74 +++++- tgstation.dme | 1 + 9 files changed, 363 insertions(+), 36 deletions(-) create mode 100644 code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm diff --git a/code/__DEFINES/dynamic.dm b/code/__DEFINES/dynamic.dm index da8a76e71e..6a15834ed8 100644 --- a/code/__DEFINES/dynamic.dm +++ b/code/__DEFINES/dynamic.dm @@ -1,7 +1,7 @@ #define CURRENT_LIVING_PLAYERS 1 #define CURRENT_LIVING_ANTAGS 2 #define CURRENT_DEAD_PLAYERS 3 -#define CURRENT_OBSERVERS 4 +#define CURRENT_OBSERVERS 4 #define NO_ASSASSIN (1<<0) #define WAROPS_ALWAYS_ALLOWED (1<<1) @@ -9,9 +9,11 @@ #define FORCE_IF_WON (1<<3) #define USE_PREV_ROUND_WEIGHTS (1<<4) -#define ONLY_RULESET (1<<0) -#define HIGHLANDER_RULESET (1<<1) -#define TRAITOR_RULESET (1<<2) -#define MINOR_RULESET (1<<3) +#define ONLY_RULESET (1<<0) +#define HIGHLANDER_RULESET (1<<1) +#define TRAITOR_RULESET (1<<2) +#define MINOR_RULESET (1<<3) +#define FAKE_ANTAG_RULESET (1<<4) +#define ALWAYS_MAX_WEIGHT_RULESET (1<<5) #define RULESET_STOP_PROCESSING 1 diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index fbc433a8a0..f7fdda2487 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -72,6 +72,8 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) var/list/threat_log_verbose = list() /// List of roundstart rules used for selecting the rules. var/list/roundstart_rules = list() + /// List of minor roundstart rules used for selecting the rules. + var/list/minor_rules = list() /// List of latejoin rules used for selecting the rules. var/list/latejoin_rules = list() /// List of midround rules used for selecting the rules. @@ -121,10 +123,12 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) var/pop_last_updated = 0 /// How many percent of the rounds are more peaceful. var/peaceful_percentage = 50 - /// If a highlander executed. + /// If a highlander executed. No other highlander rulesets will be run. var/highlander_executed = FALSE - /// If a only ruleset has been executed. + /// If a only ruleset has been executed. No other rulesets will be run. var/only_ruleset_executed = FALSE + /// If the first picked ruleset was a minor ruleset. Minor antagonists will be weighted higher. + var/minor_ruleset_round = FALSE /// Antags rolled by rules so far, to keep track of and discourage scaling past a certain ratio of crew/antags especially on lowpop. var/antags_rolled = 0 // Arbitrary threat addition, for fudging purposes. @@ -372,6 +376,8 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) if(ruleset.name == "") continue switch(ruleset.ruletype) + if("Minor") + minor_rules += ruleset if("Roundstart") roundstart_rules += ruleset if ("Latejoin") @@ -396,21 +402,51 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) rigged_roundstart() else roundstart() - - var/starting_rulesets = "" - for (var/datum/dynamic_ruleset/roundstart/DR in executed_rules) - starting_rulesets += "[DR.name], " - log_game("DYNAMIC: Picked the following roundstart rules: [starting_rulesets]") + if(minor_ruleset_round) + log_game("DYNAMIC: Starting a minor ruleset round.") + else + var/starting_rulesets = "" + for (var/datum/dynamic_ruleset/roundstart/DR in executed_rules) + starting_rulesets += "[DR.name], " + log_game("DYNAMIC: Picked the following roundstart rules: [starting_rulesets]") candidates.Cut() return TRUE /datum/game_mode/dynamic/post_setup(report) update_playercounts() - - for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_roundstart_rule, rule), rule.delay) + if(minor_ruleset_round) + addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/minor_roundstart),rand(1 MINUTES,5 MINUTES)) + else + for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) + addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_roundstart_rule, rule), rule.delay) ..() +/datum/game_mode/dynamic/proc/minor_roundstart() + message_admins("Dynamic beginning minor antag roundstart rolls.") + var/list/potential_minor_rulesets = storyteller.minor_rule_draft() + var/iterations = 0 + var/num_rulesets_executed = 0 + for(var/r in midround_rules | latejoin_rules) + var/datum/dynamic_ruleset/rule = r + if(CHECK_BITFIELD(rule.flags,MINOR_RULESET)) + rule.weight_mult *= 1.5 + while(threat < threat_level && potential_minor_rulesets.len && (!CHECK_TICK || iterations < 100)) + var/datum/dynamic_ruleset/minor/rule = pickweight(potential_minor_rulesets) + rule.candidates = current_players[CURRENT_LIVING_PLAYERS].Copy() + rule.trim_candidates() + if(!check_blocking(rule.blocking_rules, executed_rules) && rule.ready()) + rule.execute() + executed_rules |= rule + log_threat("[rule.ruletype] - [rule.name] [rule.cost] threat", verbose = TRUE) + num_rulesets_executed++ + else + potential_minor_rulesets -= rule + update_playercounts() + iterations++ + message_admins("Minor antag roundstart rolls completed, with [num_rulesets_executed] antags or antag teams made.") + log_game("DYNAMIC: Minor antag roundstart made [num_rulesets_executed] antags or antag teams.") + + /// A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it. /datum/game_mode/dynamic/proc/rigged_roundstart() message_admins("[GLOB.dynamic_forced_roundstart_ruleset.len] rulesets being forced. Will now attempt to draft players for them.") @@ -429,6 +465,11 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) if (GLOB.dynamic_forced_extended) log_game("DYNAMIC: Starting a round of forced extended.") return TRUE + if(prob(storyteller.minor_round_chance())) + minor_ruleset_round = TRUE + message_admins("Dynamic has started a minor antag round. Antags will be assigned in 1-5 minutes.") + log_game("DYNAMIC: Minor round started.") + return var/list/drafted_rules = storyteller.roundstart_draft() if(!drafted_rules.len) message_admins("Not enough threat level for roundstart antags!") @@ -513,7 +554,6 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) drafted_rules -= starting_rule starting_rule.trim_candidates() - starting_rule.scale_up(extra_rulesets_amount, threat_level-added_threat) if (starting_rule.pre_execute()) log_threat("[starting_rule.ruletype] - [starting_rule.name] [starting_rule.cost + starting_rule.scaled_times * starting_rule.scaling_cost] threat", verbose = TRUE) if(starting_rule.flags & HIGHLANDER_RULESET) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm index eb7da2144f..3e7e504130 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm @@ -50,8 +50,12 @@ /// Used for the roundend report var/total_cost = 0 /// A flag that determines how the ruleset is handled + /// ONLY_RULESET are rulesets that prevent ALL other rulesets from rolling. /// HIGHLANDER_RULESET are rulesets can end the round. - /// TRAITOR_RULESET and MINOR_RULESET can't end the round and have no difference right now. + /// TRAITOR_RULESET are the "default" ruleset--they should always be addable to a round, if the round type allows antags and dynamic thinks there should be another. + /// MINOR_RULESET is for rulesets whose antags can have multiple instances without causing too much issue. As roundstarts, they have their weights reduced based on the storyteller's minor-antag-round chance. + /// FAKE_ANTAG_RULESET is for rulesets whose antags aren't actually antagonistic--essentially just flavor meant to spice the round up. + /// ALWAYS_MAX_WEIGHT_RULESET means that the ruleset doesn't have its weight reduced based on recency. var/flags = 0 /// Pop range per requirement. If zero defaults to mode's pop_per_requirement. var/pop_per_requirement = 0 @@ -82,9 +86,6 @@ var/delay = 0 /// List of tags for use in storytellers. var/list/property_weights = list() - /// Whether or not recent-round weight values are taken into account for this ruleset. - /// Weight reduction uses the same values as secret's recent-round mode weight reduction. - var/always_max_weight = FALSE /// Weight reduction by recent-rounds. Saved on new. var/weight_mult = 1 @@ -100,7 +101,7 @@ var/high_population_requirements = CONFIG_GET(keyed_list/dynamic_high_population_requirement) var/list/repeated_mode_adjust = CONFIG_GET(number_list/repeated_mode_adjust) if(config_tag in weights) - if(!always_max_weight && SSpersistence.saved_dynamic_rules.len == 3 && repeated_mode_adjust.len == 3) + if(!(flags & ALWAYS_MAX_WEIGHT_RULESET) && SSpersistence.saved_dynamic_rules.len == 3 && repeated_mode_adjust.len == 3) var/saved_dynamic_rules = SSpersistence.saved_dynamic_rules for(var/i in 1 to 3) if(config_tag in saved_dynamic_rules[i]) @@ -119,6 +120,9 @@ /datum/dynamic_ruleset/roundstart // One or more of those drafted at roundstart ruletype = "Roundstart" +/datum/dynamic_ruleset/minor // drafted at roundstart in minor rounds, one antag at a time, for a "mixed" round + ruletype = "Minor" + // Can be drafted when a player joins the server /datum/dynamic_ruleset/latejoin ruletype = "Latejoin" @@ -175,7 +179,7 @@ /// This is called if persistent variable is true everytime SSTicker ticks. /datum/dynamic_ruleset/proc/rule_process() return TRUE - + /// Called on game mode pre_setup for roundstart rulesets. /// Do everything you need to do before job is assigned here. /// IMPORTANT: ASSIGN special_role HERE diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm index d2fa8bcc70..7842c6e0f7 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm @@ -70,9 +70,8 @@ requirements = list(40,30,20,15,15,15,15,15,15,15) high_population_requirement = 15 repeatable = TRUE - flags = TRAITOR_RULESET + flags = TRAITOR_RULESET | MINOR_RULESET | ALWAYS_MAX_WEIGHT_RULESET property_weights = list("story_potential" = 2, "trust" = -1, "extended" = 1) - always_max_weight = TRUE ////////////////////////////////////////////// // // @@ -207,6 +206,7 @@ weight = 4 cost = 25 requirements = list(60,60,60,55,50,50,50,50,50,50) + flags = MINOR_RULESET high_population_requirement = 50 property_weights = list("story_potential" = 1, "trust" = -1, "chaos" = 2, "extended" = -1, "valid" = 2) repeatable = TRUE @@ -229,6 +229,7 @@ cost = 10 property_weights = list("story_potential" = 2, "extended" = 2, "trust" = -2, "valid" = 1) requirements = list(70,65,60,55,50,45,40,35,30,30) + flags = MINOR_RULESET high_population_requirement = 30 repeatable = TRUE @@ -258,6 +259,7 @@ required_candidates = 1 weight = 3 cost = 15 + flags = MINOR_RULESET requirements = list(101,101,101,101,101,101,101,101,101,101) property_weights = list("trust" = -2, "valid" = 2) high_population_requirement = 101 @@ -281,5 +283,5 @@ requirements = list(10,10,10,10,10,10,10,10,10,10) high_population_requirement = 10 repeatable = TRUE - flags = TRAITOR_RULESET | MINOR_RULESET - property_weights = list("story_potential" = 2, "trust" = -1, "extended" = 2) + flags = TRAITOR_RULESET | MINOR_RULESET | FAKE_ANTAG_RULESET + property_weights = list("story_potential" = 1, "trust" = -1, "extended" = 2) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index b29584aa58..416721702b 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -207,9 +207,8 @@ requirements = list(30,25,20,15,15,15,15,15,15,15) repeatable = TRUE high_population_requirement = 15 - flags = TRAITOR_RULESET + flags = TRAITOR_RULESET | MINOR_RULESET | ALWAYS_MAX_WEIGHT_RULESET property_weights = list("story_potential" = 2, "trust" = -1, "extended" = 1) - always_max_weight = TRUE /datum/dynamic_ruleset/midround/autotraitor/acceptable(population = 0, threat = 0) var/player_count = mode.current_players[CURRENT_LIVING_PLAYERS].len @@ -494,6 +493,7 @@ required_candidates = 1 weight = 3 cost = 10 + flags = MINOR_RULESET requirements = list(101,101,101,70,50,40,20,15,15,15) high_population_requirement = 50 repeatable_weight_decrease = 2 @@ -630,6 +630,7 @@ required_candidates = 1 weight = 4 cost = 15 + flags = MINOR_RULESET requirements = list(101,101,101,90,80,70,60,50,40,30) high_population_requirement = 30 property_weights = list("story_potential" = 1, "extended" = -2, "valid" = 2) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm new file mode 100644 index 0000000000..618befbaa7 --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm @@ -0,0 +1,212 @@ + +////////////////////////////////////////////// +// // +// SYNDICATE TRAITORS // +// // +////////////////////////////////////////////// + +/datum/dynamic_ruleset/minor/traitor + name = "Traitors" + config_tag = "traitor" // these having identical config tags to the roundstart modes is 100% intentional, so that config edits are simpler + persistent = TRUE + antag_flag = ROLE_TRAITOR + antag_datum = /datum/antagonist/traitor/ + minimum_required_age = 0 + protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster", "Cyborg") + restricted_roles = list("Cyborg", "AI") + required_candidates = 1 + weight = 5 + flags = TRAITOR_RULESET | ALWAYS_MAX_WEIGHT_RULESET + cost = 10 // Avoid raising traitor threat above 10, as it is the default low cost ruleset. + requirements = list(50,50,50,50,50,50,50,50,50,50) + high_population_requirement = 40 + property_weights = list("story_potential" = 2, "trust" = -1, "extended" = 1, "valid" = 1) + +/datum/dynamic_ruleset/minor/traitor/execute() + var/mob/M = pick_n_take(candidates) + assigned += M + var/datum/antagonist/traitor/newTraitor = new + M.mind.add_antag_datum(newTraitor) + log_admin("[M] was made into a traitor by dynamic.") + message_admins("[M] was made into a traitor by dynamic.") + return TRUE + +////////////////////////////////////////// +// // +// BLOOD BROTHERS // +// // +////////////////////////////////////////// + +/datum/dynamic_ruleset/minor/traitorbro + name = "Blood Brothers" + config_tag = "traitorbro" + antag_flag = ROLE_BROTHER + antag_datum = /datum/antagonist/brother + restricted_roles = list("AI", "Cyborg") + protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster") + required_candidates = 2 + weight = 4 + cost = 10 + requirements = list(101,101,101,101,101,101,101,101,101,101) + high_population_requirement = 101 + antag_cap = list(2,2,2,2,2,2,2,2,2,2) // Can pick 3 per team, but rare enough it doesn't matter. + property_weights = list("story_potential" = 1, "trust" = -1, "extended" = 1, "valid" = 1) + var/list/datum/team/brother_team/pre_brother_teams = list() + var/const/min_team_size = 2 + +/datum/dynamic_ruleset/minor/traitorbro/execute() + if(candidates.len < min_team_size || candidates.len < required_candidates) + return FALSE + var/datum/team/brother_team/team = new + var/team_size = prob(10) ? min(3, candidates.len) : 2 + for(var/k = 1 to team_size) + var/mob/bro = pick_n_take(candidates) + assigned += bro.mind + team.add_member(bro.mind) + bro.mind.special_role = "brother" + bro.mind.restricted_roles = restricted_roles + team.pick_meeting_area() + team.forge_brother_objectives() + for(var/datum/mind/M in team.members) + M.add_antag_datum(/datum/antagonist/brother, team) + team.update_name() + mode.brother_teams += team + +////////////////////////////////////////////// +// // +// CHANGELINGS // +// // +////////////////////////////////////////////// + +/datum/dynamic_ruleset/minor/changeling + name = "Changelings" + config_tag = "changeling" + antag_flag = ROLE_CHANGELING + antag_datum = /datum/antagonist/changeling + restricted_roles = list("AI", "Cyborg") + protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster") + required_candidates = 1 + weight = 3 + cost = 15 + scaling_cost = 15 + requirements = list(101,101,101,101,101,101,101,101,101,101) + property_weights = list("trust" = -2, "valid" = 2) + high_population_requirement = 10 + antag_cap = list(1,1,1,1,1,2,2,2,2,3) + var/team_mode_probability = 30 + +/datum/dynamic_ruleset/minor/changeling/execute() + var/mob/M = pick_n_take(candidates) + assigned += M.mind + M.mind.restricted_roles = restricted_roles + M.mind.special_role = ROLE_CHANGELING + var/datum/antagonist/changeling/new_antag = new antag_datum() + M.mind.add_antag_datum(new_antag) + return TRUE + +////////////////////////////////////////////// +// // +// ELDRITCH CULT // +// // +////////////////////////////////////////////// + +/datum/dynamic_ruleset/minor/heretics + name = "Heretic" + antag_flag = "heretic" + antag_datum = /datum/antagonist/heretic + protected_roles = list("Prisoner","Security Officer", "Warden", "Detective", "Head of Security", "Captain") + restricted_roles = list("AI", "Cyborg") + required_candidates = 1 + weight = 3 + cost = 25 + scaling_cost = 15 + requirements = list(60,60,60,55,50,50,50,50,50,50) + property_weights = list("story_potential" = 1, "trust" = -1, "chaos" = 2, "extended" = -1, "valid" = 2) + antag_cap = list(1,1,1,1,2,2,2,2,3,3) + high_population_requirement = 50 + + +/datum/dynamic_ruleset/minor/heretics/pre_execute() + var/mob/picked_candidate = pick_n_take(candidates) + assigned += picked_candidate.mind + picked_candidate.mind.restricted_roles = restricted_roles + picked_candidate.mind.special_role = ROLE_HERETIC + var/datum/antagonist/heretic/new_antag = new antag_datum() + picked_candidate.mind.add_antag_datum(new_antag) + return TRUE + +////////////////////////////////////////////// +// // +// DEVIL // +// // +////////////////////////////////////////////// + +/datum/dynamic_ruleset/minor/devil + name = "Devil" + config_tag = "devil" + antag_flag = ROLE_DEVIL + antag_datum = /datum/antagonist/devil + restricted_roles = list("Lawyer", "Curator", "Chaplain", "Head of Security", "Captain", "AI") + required_candidates = 1 + weight = 3 + cost = 0 + requirements = list(101,101,101,101,101,101,101,101,101,101) + high_population_requirement = 101 + antag_cap = list(1,1,1,2,2,2,3,3,3,4) + property_weights = list("extended" = 1) + +/datum/dynamic_ruleset/minor/devil/pre_execute() + var/mob/devil = pick_n_take(candidates) + assigned += devil.mind + devil.mind.special_role = ROLE_DEVIL + devil.mind.restricted_roles = restricted_roles + + log_game("[key_name(devil)] has been selected as a devil") + add_devil(devil, ascendable = TRUE) + add_devil_objectives(devil.mind,2) + return TRUE + +/datum/dynamic_ruleset/minor/devil/proc/add_devil_objectives(datum/mind/devil_mind, quantity) + var/list/validtypes = list(/datum/objective/devil/soulquantity, /datum/objective/devil/soulquality, /datum/objective/devil/sintouch, /datum/objective/devil/buy_target) + var/datum/antagonist/devil/D = devil_mind.has_antag_datum(/datum/antagonist/devil) + for(var/i = 1 to quantity) + var/type = pick(validtypes) + var/datum/objective/devil/objective = new type(null) + objective.owner = devil_mind + D.objectives += objective + if(!istype(objective, /datum/objective/devil/buy_target)) + validtypes -= type + else + objective.find_target() + +////////////////////////////////////////////// +// // +// BLOODSUCKERS // +// // +////////////////////////////////////////////// + +/datum/dynamic_ruleset/minor/bloodsucker + name = "Bloodsuckers" + config_tag = "bloodsucker" + antag_flag = ROLE_BLOODSUCKER + antag_datum = ANTAG_DATUM_BLOODSUCKER + minimum_required_age = 0 + protected_roles = list("Chaplain", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster") + restricted_roles = list("Cyborg", "AI") + required_candidates = 1 + weight = 2 + cost = 15 + scaling_cost = 10 + property_weights = list("story_potential" = 1, "extended" = 1, "trust" = -2, "valid" = 1) + requirements = list(70,65,60,55,50,50,50,50,50,50) + high_population_requirement = 50 + +/datum/dynamic_ruleset/minor/bloodsucker/execute() + var/mob/M = pick_n_take(candidates) + assigned += M.mind + M.mind.special_role = ROLE_BLOODSUCKER + M.mind.restricted_roles = restricted_roles + mode.check_start_sunlight() + if(mode.make_bloodsucker(M.mind)) + mode.bloodsuckers += M.mind + return TRUE diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index db4ec99558..c5e0857461 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -15,6 +15,7 @@ protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster", "Cyborg") restricted_roles = list("Cyborg", "AI") required_candidates = 1 + flags = TRAITOR_RULESET | MINOR_RULESET | ALWAYS_MAX_WEIGHT_RULESET weight = 5 cost = 10 // Avoid raising traitor threat above 10, as it is the default low cost ruleset. scaling_cost = 10 @@ -22,7 +23,6 @@ high_population_requirement = 40 antag_cap = list(1,1,1,1,2,2,2,2,3,3) property_weights = list("story_potential" = 2, "trust" = -1, "extended" = 1, "valid" = 1) - always_max_weight = TRUE var/autotraitor_cooldown = 450 // 15 minutes (ticks once per 2 sec) /datum/dynamic_ruleset/roundstart/traitor/pre_execute() @@ -57,6 +57,7 @@ restricted_roles = list("AI", "Cyborg") protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster") required_candidates = 2 + flags = MINOR_RULESET weight = 4 cost = 10 requirements = list(101,101,101,101,101,101,101,101,101,101) @@ -106,6 +107,7 @@ restricted_roles = list("AI", "Cyborg") protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster") required_candidates = 1 + flags = MINOR_RULESET weight = 3 cost = 15 scaling_cost = 15 @@ -156,6 +158,7 @@ protected_roles = list("Prisoner","Security Officer", "Warden", "Detective", "Head of Security", "Captain") restricted_roles = list("AI", "Cyborg") required_candidates = 1 + flags = MINOR_RULESET weight = 3 cost = 25 scaling_cost = 15 @@ -694,6 +697,7 @@ antag_datum = /datum/antagonist/devil restricted_roles = list("Lawyer", "Curator", "Chaplain", "Head of Security", "Captain", "AI") required_candidates = 1 + flags = MINOR_RULESET weight = 3 cost = 0 requirements = list(101,101,101,101,101,101,101,101,101,101) @@ -850,6 +854,7 @@ protected_roles = list("Chaplain", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster") restricted_roles = list("Cyborg", "AI") required_candidates = 1 + flags = MINOR_RULESET weight = 2 cost = 15 scaling_cost = 10 diff --git a/code/game/gamemodes/dynamic/dynamic_storytellers.dm b/code/game/gamemodes/dynamic/dynamic_storytellers.dm index 04e295356a..9363f49e8b 100644 --- a/code/game/gamemodes/dynamic/dynamic_storytellers.dm +++ b/code/game/gamemodes/dynamic/dynamic_storytellers.dm @@ -32,6 +32,9 @@ Property weights are added to the config weight of the ruleset. They are: "conversion" -- Basically a bool. Conversion antags, well, convert. It's in its own class 'cause people kinda hate conversion. */ +/datum/dynamic_storyteller/proc/minor_round_chance() + return clamp(60 - mode.threat_level,0,100) // by default higher threat = lower chance of minor round + /datum/dynamic_storyteller/proc/start_injection_cooldowns() var/latejoin_injection_cooldown_middle = 0.5*(GLOB.dynamic_first_latejoin_delay_max + GLOB.dynamic_first_latejoin_delay_min) mode.latejoin_injection_cooldown = round(clamp(EXP_DISTRIBUTION(latejoin_injection_cooldown_middle), GLOB.dynamic_first_latejoin_delay_min, GLOB.dynamic_first_latejoin_delay_max)) + world.time @@ -104,8 +107,27 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/proc/roundstart_draft() var/list/drafted_rules = list() + var/minor_round_weight_mult = (100-minor_round_chance()) / 100 for (var/datum/dynamic_ruleset/roundstart/rule in mode.roundstart_rules) if (rule.acceptable(mode.roundstart_pop_ready, mode.threat_level)) // If we got the population and threat required + rule.candidates = mode.candidates.Copy() + rule.trim_candidates() + if (rule.ready() && rule.candidates.len > 0) + var/property_weight = 0 + for(var/property in property_weights) + if(property in rule.property_weights) // just treat it as 0 if it's not in there + property_weight += rule.property_weights[property] * property_weights[property] + var/calced_weight = (rule.get_weight() + property_weight) * rule.weight_mult + if(CHECK_BITFIELD(rule.flags, MINOR_RULESET)) + calced_weight *= minor_round_weight_mult + if(calced_weight > 0) // negatives in the list might cause problems + drafted_rules[rule] = calced_weight + return drafted_rules + +/datum/dynamic_storyteller/proc/minor_rule_draft() + var/list/drafted_rules = list() + for (var/datum/dynamic_ruleset/minor/rule in mode.minor_rules) + if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level)) rule.candidates = mode.candidates.Copy() rule.trim_candidates() if (rule.ready() && rule.candidates.len > 0) @@ -124,7 +146,7 @@ Property weights are added to the config weight of the ruleset. They are: // if there are antags OR the rule is an antag rule, antag_acceptable will be true. if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level)) // Classic secret : only autotraitor/minor roles - if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET))) + if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET))) continue rule.trim_candidates() if (rule.ready()) @@ -133,7 +155,7 @@ Property weights are added to the config weight of the ruleset. They are: if(property in rule.property_weights) // just treat it as 0 if it's not in there property_weight += rule.property_weights[property] * property_weights[property] var/threat_weight = 1 - if(!(rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET)) // makes the traitor rulesets always possible anyway + if(!(rule.flags & TRAITOR_RULESET)) // makes the traitor rulesets always possible anyway var/cost_difference = rule.cost-(mode.threat_level-mode.threat) /* Basically, the closer the cost is to the current threat-level-away-from-threat, the more likely it is to pick this particular ruleset. @@ -157,7 +179,7 @@ Property weights are added to the config weight of the ruleset. They are: for (var/datum/dynamic_ruleset/latejoin/rule in mode.latejoin_rules) if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level - mode.threat)) // Classic secret : only autotraitor/minor roles - if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET))) + if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET))) continue // No stacking : only one round-ender, unless threat level > stacking_limit. if (mode.threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking) @@ -172,7 +194,7 @@ Property weights are added to the config weight of the ruleset. They are: if(property in rule.property_weights) property_weight += rule.property_weights[property] * property_weights[property] var/threat_weight = 1 - if(!(rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET)) + if(!(rule.flags & TRAITOR_RULESET)) var/cost_difference = rule.cost-(mode.threat_level-mode.threat) threat_weight = 1-abs(1-(LOGISTIC_FUNCTION(2,0.05,abs(cost_difference),0))) if(cost_difference > 0) @@ -195,6 +217,9 @@ Property weights are added to the config weight of the ruleset. They are: min_players = 30 var/refund_cooldown = 0 +/datum/dynamic_storyteller/chaotic/minor_round_chance() + return 0 + /datum/dynamic_storyteller/chaotic/do_process() if(refund_cooldown < world.time) mode.create_threat(20) @@ -215,6 +240,9 @@ Property weights are added to the config weight of the ruleset. They are: flags = WAROPS_ALWAYS_ALLOWED | USE_PREV_ROUND_WEIGHTS property_weights = list("valid" = 3, "trust" = 5) +/datum/dynamic_storyteller/chaotic/minor_round_chance() + return 0 + /datum/dynamic_storyteller/team/should_inject_antag(dry_run = FALSE) return (mode.current_players[CURRENT_LIVING_ANTAGS].len ? FALSE : ..()) @@ -228,6 +256,9 @@ Property weights are added to the config weight of the ruleset. They are: flags = WAROPS_ALWAYS_ALLOWED property_weights = list("valid" = 1, "conversion" = 20) +/datum/dynamic_storyteller/chaotic/minor_round_chance() + return 0 + /datum/dynamic_storyteller/random name = "Random" config_tag = "random" @@ -244,6 +275,9 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/random/should_inject_antag() return prob(50) +/datum/dynamic_storyteller/chaotic/minor_round_chance() + return 20 + /datum/dynamic_storyteller/random/roundstart_draft() var/list/drafted_rules = list() for (var/datum/dynamic_ruleset/roundstart/rule in mode.roundstart_rules) @@ -254,12 +288,22 @@ Property weights are added to the config weight of the ruleset. They are: drafted_rules[rule] = 1 return drafted_rules +/datum/dynamic_storyteller/random/minor_rule_draft() + var/list/drafted_rules = list() + for (var/datum/dynamic_ruleset/minor/rule in mode.minor_rules) + if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level)) + rule.candidates = mode.candidates.Copy() + rule.trim_candidates() + if (rule.ready() && rule.candidates.len > 0) + drafted_rules[rule] = 1 + return drafted_rules + /datum/dynamic_storyteller/random/midround_draft() var/list/drafted_rules = list() for (var/datum/dynamic_ruleset/midround/rule in mode.midround_rules) if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level)) // Classic secret : only autotraitor/minor roles - if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET))) + if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET))) continue rule.trim_candidates() if (rule.ready()) @@ -271,7 +315,7 @@ Property weights are added to the config weight of the ruleset. They are: for (var/datum/dynamic_ruleset/latejoin/rule in mode.latejoin_rules) if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level)) // Classic secret : only autotraitor/minor roles - if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET))) + if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET))) continue // No stacking : only one round-ender, unless threat level > stacking_limit. if (mode.threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking) @@ -286,7 +330,7 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/story name = "Story" config_tag = "story" - desc = "Antags with options for loadouts and gimmicks. Traitor, wizard, nukies. Has a buildup-climax-falling action threat curve." + desc = "Antags with options for loadouts and gimmicks. Traitor, wizard, nukies." weight = 2 curve_width = 2 flags = USE_PREV_ROUND_WEIGHTS @@ -308,6 +352,19 @@ Property weights are added to the config weight of the ruleset. They are: flags = USE_PREV_ROUND_WEIGHTS property_weights = list("trust" = -2) +/datum/dynamic_storyteller/intrigue/minor_round_chance() + return 100 - mode.threat_level + +/datum/dynamic_storyteller/grabbag + name = "Grab Bag" + config_tag = "grabbag" + desc = "Crew antags (e.g. traitor, changeling, bloodsucker, heretic) only, all mixed together." + weight = 2 + flags = USE_PREF_WEIGHTS | USE_PREV_ROUND_WEIGHTS + +/datum/dynamic_storyteller/grabbag/minor_round_chance() + return 100 + /datum/dynamic_storyteller/liteextended name = "Calm" config_tag = "calm" @@ -319,6 +376,9 @@ Property weights are added to the config weight of the ruleset. They are: dead_player_weight = 5 property_weights = list("extended" = 2, "chaos" = -1, "valid" = -1, "conversion" = -10) +/datum/dynamic_storyteller/liteextended/minor_round_chance() + return 100 + /datum/dynamic_storyteller/no_antag name = "Extended" config_tag = "semiextended" diff --git a/tgstation.dme b/tgstation.dme index 14a6a7cd10..0c3f2bbee7 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -751,6 +751,7 @@ #include "code\game\gamemodes\dynamic\dynamic_rulesets.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm" +#include "code\game\gamemodes\dynamic\dynamic_rulesets_minor.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm" #include "code\game\gamemodes\dynamic\dynamic_storytellers.dm" #include "code\game\gamemodes\eldritch_cult\eldritch_cult.dm" From 7789aeeefc6292915e1602841320d8ba28557b08 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 19 Oct 2020 20:28:56 -0700 Subject: [PATCH 11/95] Made minor starts affect full round less; added fallback --- code/game/gamemodes/dynamic/dynamic.dm | 31 +++++++++---------- .../gamemodes/dynamic/dynamic_storytellers.dm | 18 +++++------ 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index f7fdda2487..836b00250f 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -128,7 +128,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) /// If a only ruleset has been executed. No other rulesets will be run. var/only_ruleset_executed = FALSE /// If the first picked ruleset was a minor ruleset. Minor antagonists will be weighted higher. - var/minor_ruleset_round = FALSE + var/minor_ruleset_start = FALSE /// Antags rolled by rules so far, to keep track of and discourage scaling past a certain ratio of crew/antags especially on lowpop. var/antags_rolled = 0 // Arbitrary threat addition, for fudging purposes. @@ -402,7 +402,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) rigged_roundstart() else roundstart() - if(minor_ruleset_round) + if(minor_ruleset_start) log_game("DYNAMIC: Starting a minor ruleset round.") else var/starting_rulesets = "" @@ -414,7 +414,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) /datum/game_mode/dynamic/post_setup(report) update_playercounts() - if(minor_ruleset_round) + if(minor_ruleset_start) addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/minor_roundstart),rand(1 MINUTES,5 MINUTES)) else for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) @@ -426,10 +426,6 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) var/list/potential_minor_rulesets = storyteller.minor_rule_draft() var/iterations = 0 var/num_rulesets_executed = 0 - for(var/r in midround_rules | latejoin_rules) - var/datum/dynamic_ruleset/rule = r - if(CHECK_BITFIELD(rule.flags,MINOR_RULESET)) - rule.weight_mult *= 1.5 while(threat < threat_level && potential_minor_rulesets.len && (!CHECK_TICK || iterations < 100)) var/datum/dynamic_ruleset/minor/rule = pickweight(potential_minor_rulesets) rule.candidates = current_players[CURRENT_LIVING_PLAYERS].Copy() @@ -465,17 +461,17 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) if (GLOB.dynamic_forced_extended) log_game("DYNAMIC: Starting a round of forced extended.") return TRUE - if(prob(storyteller.minor_round_chance())) - minor_ruleset_round = TRUE - message_admins("Dynamic has started a minor antag round. Antags will be assigned in 1-5 minutes.") - log_game("DYNAMIC: Minor round started.") - return + if(prob(storyteller.minor_start_chance())) + minor_ruleset_start = TRUE + message_admins("Dynamic has initialized a minor antag start. Antags will be assigned in 1-5 minutes.") + log_game("DYNAMIC: Minor start initialized.") + return TRUE var/list/drafted_rules = storyteller.roundstart_draft() if(!drafted_rules.len) - message_admins("Not enough threat level for roundstart antags!") - log_game("DYNAMIC: Not enough threat level for roundstart antags!") - midround_injection_cooldown = round((midround_injection_cooldown + world.time) / 2, 1) - latejoin_injection_cooldown = round((latejoin_injection_cooldown + world.time) / 2, 1) + message_admins("No roundstart antags drafted! Falling back to minor ruleset start.") + log_game("DYNAMIC: No roundstart antags drafted! Falling back to minor ruleset start.") + minor_ruleset_start = TRUE + return FALSE var/indice_pop = min(10,round(roundstart_pop_ready/pop_per_requirement)+1) extra_rulesets_amount = 0 if (GLOB.dynamic_classic_secret) @@ -509,8 +505,9 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) else if(threat_level >= 50) - message_admins("DYNAMIC: Picking first roundstart ruleset failed. You should report this.") + message_admins("DYNAMIC: Picking first roundstart ruleset failed. You should report this. Falling back to minor antag start.") log_game("DYNAMIC: Picking first roundstart ruleset failed. drafted_rules.len = [drafted_rules.len] and threat = [threat]/[threat_level]") + minor_ruleset_start = TRUE return FALSE return TRUE diff --git a/code/game/gamemodes/dynamic/dynamic_storytellers.dm b/code/game/gamemodes/dynamic/dynamic_storytellers.dm index 9363f49e8b..d5766b287e 100644 --- a/code/game/gamemodes/dynamic/dynamic_storytellers.dm +++ b/code/game/gamemodes/dynamic/dynamic_storytellers.dm @@ -32,7 +32,7 @@ Property weights are added to the config weight of the ruleset. They are: "conversion" -- Basically a bool. Conversion antags, well, convert. It's in its own class 'cause people kinda hate conversion. */ -/datum/dynamic_storyteller/proc/minor_round_chance() +/datum/dynamic_storyteller/proc/minor_start_chance() return clamp(60 - mode.threat_level,0,100) // by default higher threat = lower chance of minor round /datum/dynamic_storyteller/proc/start_injection_cooldowns() @@ -107,7 +107,7 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/proc/roundstart_draft() var/list/drafted_rules = list() - var/minor_round_weight_mult = (100-minor_round_chance()) / 100 + var/minor_round_weight_mult = (100-minor_start_chance()) / 100 for (var/datum/dynamic_ruleset/roundstart/rule in mode.roundstart_rules) if (rule.acceptable(mode.roundstart_pop_ready, mode.threat_level)) // If we got the population and threat required rule.candidates = mode.candidates.Copy() @@ -217,7 +217,7 @@ Property weights are added to the config weight of the ruleset. They are: min_players = 30 var/refund_cooldown = 0 -/datum/dynamic_storyteller/chaotic/minor_round_chance() +/datum/dynamic_storyteller/chaotic/minor_start_chance() return 0 /datum/dynamic_storyteller/chaotic/do_process() @@ -240,7 +240,7 @@ Property weights are added to the config weight of the ruleset. They are: flags = WAROPS_ALWAYS_ALLOWED | USE_PREV_ROUND_WEIGHTS property_weights = list("valid" = 3, "trust" = 5) -/datum/dynamic_storyteller/chaotic/minor_round_chance() +/datum/dynamic_storyteller/chaotic/minor_start_chance() return 0 /datum/dynamic_storyteller/team/should_inject_antag(dry_run = FALSE) @@ -256,7 +256,7 @@ Property weights are added to the config weight of the ruleset. They are: flags = WAROPS_ALWAYS_ALLOWED property_weights = list("valid" = 1, "conversion" = 20) -/datum/dynamic_storyteller/chaotic/minor_round_chance() +/datum/dynamic_storyteller/chaotic/minor_start_chance() return 0 /datum/dynamic_storyteller/random @@ -275,7 +275,7 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/random/should_inject_antag() return prob(50) -/datum/dynamic_storyteller/chaotic/minor_round_chance() +/datum/dynamic_storyteller/chaotic/minor_start_chance() return 20 /datum/dynamic_storyteller/random/roundstart_draft() @@ -352,7 +352,7 @@ Property weights are added to the config weight of the ruleset. They are: flags = USE_PREV_ROUND_WEIGHTS property_weights = list("trust" = -2) -/datum/dynamic_storyteller/intrigue/minor_round_chance() +/datum/dynamic_storyteller/intrigue/minor_start_chance() return 100 - mode.threat_level /datum/dynamic_storyteller/grabbag @@ -362,7 +362,7 @@ Property weights are added to the config weight of the ruleset. They are: weight = 2 flags = USE_PREF_WEIGHTS | USE_PREV_ROUND_WEIGHTS -/datum/dynamic_storyteller/grabbag/minor_round_chance() +/datum/dynamic_storyteller/grabbag/minor_start_chance() return 100 /datum/dynamic_storyteller/liteextended @@ -376,7 +376,7 @@ Property weights are added to the config weight of the ruleset. They are: dead_player_weight = 5 property_weights = list("extended" = 2, "chaos" = -1, "valid" = -1, "conversion" = -10) -/datum/dynamic_storyteller/liteextended/minor_round_chance() +/datum/dynamic_storyteller/liteextended/minor_start_chance() return 100 /datum/dynamic_storyteller/no_antag From 8fa595cceabe90b4b7d33653b53f269448159434 Mon Sep 17 00:00:00 2001 From: Trilby Date: Wed, 21 Oct 2020 05:50:41 -0400 Subject: [PATCH 12/95] Makes welder code better* --- code/game/objects/items/tools/weldingtool.dm | 93 ++++++++++---------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index d35dad9f08..28acb34b34 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -21,6 +21,10 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF + var/self_fueling = FALSE //Do we refill areself or not + var/next_fueling = 10 //How long do we wait before refilling + var/nextrefueltick = 0 // How long it takes before we get a new fuel unit + custom_materials = list(/datum/material/iron=70, /datum/material/glass=30) var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) @@ -82,12 +86,18 @@ //This is to start fires. process() is only called if the welder is on. open_flame() + //This handles refuelung, its looking at how much fuel the tool has, and comparing it to the how much it holds + //This then looks if the refuel tick has come based on world time. + //Then looks if we refuel areselfs are not. + + if(get_fuel() < max_fuel && nextrefueltick < world.time && self_fueling) + nextrefueltick = world.time + next_fueling + reagents.add_reagent(/datum/reagent/fuel, 1) /obj/item/weldingtool/suicide_act(mob/user) user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") return (FIRELOSS) - /obj/item/weldingtool/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/screwdriver)) flamethrower_screwdriver(I, user) @@ -318,7 +328,6 @@ /obj/item/weldingtool/largetank/flamethrower_screwdriver() return - /obj/item/weldingtool/mini name = "emergency welding tool" desc = "A miniature welder used during emergencies." @@ -331,20 +340,6 @@ /obj/item/weldingtool/mini/flamethrower_screwdriver() return -/obj/item/weldingtool/abductor - name = "alien welding tool" - desc = "An alien welding tool. Whatever fuel it uses, it never runs out." - icon = 'icons/obj/abductor.dmi' - icon_state = "welder" - toolspeed = 0.1 - light_intensity = 0 - change_icons = 0 - -/obj/item/weldingtool/abductor/process() - if(get_fuel() <= max_fuel) - reagents.add_reagent(/datum/reagent/fuel, 1) - ..() - /obj/item/weldingtool/hugetank name = "upgraded industrial welding tool" desc = "An upgraded welder based of the industrial welder." @@ -353,27 +348,6 @@ max_fuel = 80 custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) -/obj/item/weldingtool/experimental - name = "experimental welding tool" - desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." - icon_state = "exwelder" - item_state = "exwelder" - max_fuel = 40 - custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) - var/last_gen = 0 - change_icons = 0 - can_off_process = 1 - light_intensity = 1 - toolspeed = 0.5 - var/nextrefueltick = 0 - -/obj/item/weldingtool/experimental/brass - name = "brass welding tool" - desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." - resistance_flags = FIRE_PROOF | ACID_PROOF - icon_state = "clockwelder" - item_state = "brasswelder" - /obj/item/weldingtool/bronze name = "bronze plated welding tool" desc = "A bronze plated welder." @@ -382,24 +356,49 @@ icon_state = "brasswelder" item_state = "brasswelder" -/obj/item/weldingtool/experimental/process() - ..() - if(get_fuel() < max_fuel && nextrefueltick < world.time) - nextrefueltick = world.time + 10 - reagents.add_reagent(/datum/reagent/fuel, 1) +//Self filling welders below + +/obj/item/weldingtool/experimental + name = "experimental welding tool" + desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." + icon_state = "exwelder" + item_state = "exwelder" + max_fuel = 40 + custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) + change_icons = 0 + self_fueling = TRUE + can_off_process = 1 + light_intensity = 1 + toolspeed = 0.5 + +/obj/item/weldingtool/experimental/brass + name = "brass welding tool" + desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." + resistance_flags = FIRE_PROOF | ACID_PROOF + next_fueling = 5 //makes welding fuel faster then experimental ones + icon_state = "clockwelder" + item_state = "brasswelder" + +/obj/item/weldingtool/abductor + name = "alien welding tool" + desc = "An alien welding tool. Whatever fuel it uses, it never runs out." + icon = 'icons/obj/abductor.dmi' + icon_state = "welder" + self_fueling = TRUE + next_fueling = 0 + toolspeed = 0.1 + light_intensity = 0 + change_icons = 0 /obj/item/weldingtool/advanced name = "advanced welding tool" desc = "A modern welding tool combined with an alien welding tool, it never runs out of fuel and works almost as fast." icon = 'icons/obj/advancedtools.dmi' icon_state = "welder" + self_fueling = TRUE + next_fueling = 0 toolspeed = 0.2 light_intensity = 0 change_icons = 0 -/obj/item/weldingtool/advanced/process() - if(get_fuel() <= max_fuel) - reagents.add_reagent(/datum/reagent/fuel, 1) - ..() - #undef WELDER_FUEL_BURN_INTERVAL From 5f75151c51554abdce17475f76160f1b093e80cd Mon Sep 17 00:00:00 2001 From: Vynzill Date: Wed, 21 Oct 2020 17:00:28 -0500 Subject: [PATCH 13/95] junglemap --- .../away_mission/jungleresort.dmm | 26552 ++++++++++++++++ .../awaymissions/mission_code/jungleresort.dm | 31 + config/awaymissionconfig.txt | 1 + tgstation.dme | 6 +- 4 files changed, 26588 insertions(+), 2 deletions(-) create mode 100644 _maps/RandomZLevels/away_mission/jungleresort.dmm create mode 100644 code/modules/awaymissions/mission_code/jungleresort.dm diff --git a/_maps/RandomZLevels/away_mission/jungleresort.dmm b/_maps/RandomZLevels/away_mission/jungleresort.dmm new file mode 100644 index 0000000000..8cc5e97a75 --- /dev/null +++ b/_maps/RandomZLevels/away_mission/jungleresort.dmm @@ -0,0 +1,26552 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"af" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/toy/plush/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"ai" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/closet/crate/secure/loot, +/obj/item/clothing/head/collectable/paper, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"ak" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"an" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ap" = ( +/obj/structure/stone_tile/surrounding/burnt, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ar" = ( +/obj/structure/flora/ausbushes/fullgrass, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"as" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"at" = ( +/obj/machinery/jukebox, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"aA" = ( +/obj/machinery/light, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"aB" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"aG" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/rock, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"aI" = ( +/obj/structure/flora/tree/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"aL" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"aP" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"aY" = ( +/obj/machinery/vending/autodrobe, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"bf" = ( +/obj/structure/sign/barsign, +/turf/closed/wall/mineral/wood, +/area/awaymission/jungleresort) +"bg" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"bn" = ( +/obj/structure/flora/tree/jungle/small, +/obj/structure/flora/rock/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"bp" = ( +/obj/structure/flora/tree/jungle, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"br" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/rock/pile/largejungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"bv" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"bw" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"by" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"bG" = ( +/turf/closed/indestructible/riveted, +/area/awaymission/jungleresort) +"bW" = ( +/obj/structure/table/wood, +/obj/machinery/button/door{ + id = "ResortCabin2"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/item/poster/random_official, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"bZ" = ( +/obj/structure/table/wood, +/obj/item/storage/box/donkpockets, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"cg" = ( +/obj/structure/table/wood, +/obj/machinery/reagentgrinder, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"cn" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"cw" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"cA" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"cD" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"cH" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"cJ" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"cK" = ( +/obj/structure/closet/crate, +/obj/item/clothing/head/collectable/tophat, +/turf/open/floor/plating/rust, +/area/awaymission/jungleresort) +"cT" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"cV" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"cX" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"dn" = ( +/obj/structure/chair/comfy/brown, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"dt" = ( +/obj/structure/table/wood, +/mob/living/carbon/monkey/punpun/curiousgorge, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"du" = ( +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"dC" = ( +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"dF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"dW" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/cakeslice/vanilla_slice, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"dY" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/flora/rock/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ef" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/circuit, +/area/awaymission/jungleresort) +"ez" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/obj/structure/stone_tile/center/cracked, +/obj/item/ammo_casing/shotgun/buckshot, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"eB" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"eC" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"eD" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/obj/machinery/button/door{ + id = "AbandonedCabinDorm"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"eI" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/awaymission/jungleresort) +"eJ" = ( +/obj/structure/flora/junglebush, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"eK" = ( +/obj/machinery/washing_machine, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"eN" = ( +/obj/item/clothing/suit/hooded/wintercoat/bar, +/obj/structure/table/wood, +/obj/item/clothing/head/that, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"eR" = ( +/obj/structure/bed, +/obj/item/bedsheet/captain, +/obj/machinery/button/door{ + id = "ResortManagerDorm"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"eT" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"fh" = ( +/obj/structure/table/wood, +/obj/machinery/button/door{ + id = "ResortCabin3"; + normaldoorcontrol = 1; + pixel_y = 25; + specialfunctions = 4 + }, +/obj/item/storage/wallet/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"fm" = ( +/obj/structure/reagent_dispensers/keg/mead, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"fy" = ( +/obj/structure/stone_tile/surrounding_tile/burnt, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"fz" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"fH" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"fW" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"fX" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"gj" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"go" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"gv" = ( +/obj/structure/table/wood, +/obj/item/book/manual/chef_recipes, +/obj/item/toy/figure/chef, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"gK" = ( +/obj/structure/table/wood, +/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot, +/obj/item/ammo_box/magazine/toy/m762/riot, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"gL" = ( +/obj/structure/table/wood, +/obj/item/export/bottle/minikeg, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"gN" = ( +/obj/structure/table/wood/fancy, +/obj/item/candle/infinite, +/obj/item/toy/figure/chaplain, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"gU" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"gV" = ( +/obj/structure/table/wood, +/obj/machinery/button/door{ + id = "ResortCabin1"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/item/lipstick/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"gZ" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/under/color/jumpskirt/random, +/obj/item/clothing/under/color/random, +/obj/item/clothing/under/color/random, +/obj/item/clothing/under/color/jumpskirt/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"hj" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"hk" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hl" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hp" = ( +/obj/structure/flora/tree/jungle/small, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ht" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hv" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hw" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hy" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"hC" = ( +/obj/structure/flora/rock, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hH" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"hN" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"hU" = ( +/obj/structure/curtain, +/obj/machinery/shower, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"hX" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ia" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ie" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ih" = ( +/obj/structure/stone_tile/surrounding/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ii" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/carneburrito, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"im" = ( +/obj/machinery/computer/security/wooden_tv, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"io" = ( +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"is" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/rock/pile, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"iv" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"iE" = ( +/obj/structure/closet/secure_closet/bar, +/obj/item/clothing/glasses/sunglasses/reagent, +/obj/item/clothing/under/rank/civilian/bartender/skirt, +/obj/item/clothing/accessory/waistcoat, +/obj/item/clothing/under/rank/civilian/bartender, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"iG" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"iH" = ( +/obj/machinery/gibber, +/obj/machinery/light/small, +/turf/open/floor/plasteel/freezer, +/area/awaymission/jungleresort) +"iL" = ( +/obj/structure/bed, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/bedsheet/syndie, +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"iR" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"iU" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"iZ" = ( +/obj/item/storage/toolbox/artistic, +/obj/structure/table/wood/fancy, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"jb" = ( +/obj/structure/flora/rock/pile, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jh" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jj" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"js" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jy" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jB" = ( +/obj/structure/flora/junglebush/large, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jF" = ( +/obj/structure/flora/tree/jungle, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jH" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jJ" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jL" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"jO" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"jQ" = ( +/obj/structure/flora/junglebush/c, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"kf" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"kn" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"kq" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck/syndicate, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"kr" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"kw" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"kz" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/shaker, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"kB" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/fullupgrade, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"kI" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"kJ" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"kQ" = ( +/obj/machinery/processor, +/turf/open/floor/plasteel/freezer, +/area/awaymission/jungleresort) +"kW" = ( +/turf/closed/wall/rust, +/area/awaymission/jungleresort) +"le" = ( +/obj/structure/chair/sofa/corner, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"lf" = ( +/obj/structure/flora/rock/pile, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ll" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"lr" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"lB" = ( +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"lJ" = ( +/obj/structure/flora/junglebush/c, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"lS" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"lV" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "ResortManagerDorm"; + name = "Resort Manager's Dorm" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"mg" = ( +/obj/machinery/door/airlock/engineering{ + name = "Resort Power" + }, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"mh" = ( +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"mk" = ( +/obj/structure/flora/junglebush/c, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ml" = ( +/obj/structure/table/wood, +/obj/item/toy/figure/captain, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"mt" = ( +/obj/structure/flora/junglebush, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"mu" = ( +/obj/machinery/door/window{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"my" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/lightreplacer, +/obj/item/storage/box/lights/mixed, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"mE" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"mY" = ( +/obj/structure/flora/rock, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"mZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ne" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nm" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"no" = ( +/obj/item/chair, +/obj/item/reagent_containers/food/drinks/beer, +/obj/machinery/light/floor, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"np" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/flora/junglebush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nq" = ( +/turf/open/floor/mineral/titanium/yellow, +/area/awaymission/jungleresort) +"nt" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nv" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nw" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nD" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nJ" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"nU" = ( +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"od" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"og" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"oj" = ( +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"op" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"ot" = ( +/obj/structure/table/wood, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/toy/crayon/spraycan, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ow" = ( +/obj/structure/flora/tree/jungle, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"oW" = ( +/obj/effect/decal/remains/human, +/obj/item/clothing/head/collectable/petehat/gang, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"oX" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"oZ" = ( +/turf/closed/indestructible/riveted/boss, +/area/awaymission/jungleresort) +"pm" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"pn" = ( +/obj/structure/toilet/secret/low_loot, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"po" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"px" = ( +/obj/machinery/light, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"pC" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/rock/pile, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"pK" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/rock, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"pN" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"pP" = ( +/obj/structure/sign/warning, +/turf/closed/mineral/random/labormineral, +/area/awaymission/jungleresort) +"pQ" = ( +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"pT" = ( +/obj/structure/table, +/turf/open/floor/mineral/titanium/white, +/area/awaymission/jungleresort) +"pU" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"qa" = ( +/turf/open/floor/plating/rust, +/area/awaymission/jungleresort) +"qg" = ( +/turf/closed/wall/mineral/titanium, +/area/awaymission/jungleresort) +"qi" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/closet/crate/secure/loot, +/obj/item/clothing/head/collectable/beret, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"qr" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"qs" = ( +/obj/item/storage/toolbox/syndicate, +/obj/structure/table/wood/fancy, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"qz" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"qC" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"qG" = ( +/obj/item/storage/toolbox/emergency, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table/wood/fancy, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"rd" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"rg" = ( +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"rm" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"ro" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"rt" = ( +/obj/structure/chair/sofa/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"rv" = ( +/obj/item/statuebust, +/obj/structure/table/wood/fancy, +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"rx" = ( +/obj/structure/flora/junglebush, +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"rF" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"rH" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"rP" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"rQ" = ( +/obj/structure/flora/tree/jungle/small, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"rS" = ( +/obj/structure/table/wood, +/obj/item/toy/plush/beeplushie, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"rT" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"se" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"sh" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"sn" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"so" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"sq" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"st" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"sD" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/baguette, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"sQ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"sR" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/item/flashlight/lamp, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"sS" = ( +/obj/structure/table/wood, +/obj/item/lighter/gold, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold, +/obj/item/clothing/mask/cigarette/robustgold, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"td" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ti" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"tn" = ( +/obj/structure/flora/rock/pile, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"tu" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"tx" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Bar Backroom" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"tC" = ( +/obj/structure/table/wood, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/toxin, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"tH" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"tK" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"tS" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "ResortCabin1"; + name = "Resort Cabin 1" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"tT" = ( +/obj/structure/stone_tile/slab, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"tZ" = ( +/obj/structure/flora/rock/pile, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uc" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ue" = ( +/obj/machinery/light, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uh" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"uj" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "ResortCabin3"; + name = "Resort Cabin 3" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"ur" = ( +/obj/structure/flora/tree/jungle, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"us" = ( +/obj/structure/flora/rock, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uu" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uv" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"ux" = ( +/obj/item/stack/sheet/animalhide/monkey, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"uy" = ( +/obj/structure/chair/stool, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"uC" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uG" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"uO" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uS" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uT" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"uW" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uX" = ( +/obj/structure/flora/junglebush/large, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"uZ" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"vc" = ( +/obj/structure/flora/grass/jungle/b, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"vl" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"vq" = ( +/obj/structure/barricade/wooden, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"vs" = ( +/obj/structure/table/wood, +/obj/machinery/button/door{ + id = "ResortCabin4"; + normaldoorcontrol = 1; + pixel_y = 25; + specialfunctions = 4 + }, +/obj/effect/spawner/lootdrop/glowstick, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"vw" = ( +/obj/machinery/door/airlock/wood{ + name = "Abandoned Cabin" + }, +/obj/structure/barricade/wooden, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"vx" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"vy" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"vK" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"vN" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"vZ" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Bar" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"wj" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wm" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wo" = ( +/obj/structure/table/wood/fancy, +/obj/item/storage/toolbox/gold_fake, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"wq" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/fountain, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"ws" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wv" = ( +/obj/structure/bed, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"ww" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/suit/hooded/wintercoat/captain, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"wF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wG" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wH" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wJ" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"wS" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center/cracked, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"wV" = ( +/obj/structure/chair/wood, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"wZ" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"xr" = ( +/obj/structure/table/wood, +/obj/structure/bedsheetbin/color, +/obj/item/toy/figure/assistant, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"xD" = ( +/obj/structure/flora/rock/pile, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"xH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"xL" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"xQ" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"xS" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"xU" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"xV" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"yb" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"yi" = ( +/obj/item/grown/log/tree, +/obj/item/lighter, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"yr" = ( +/obj/structure/statue/sandstone/venus, +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"yu" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"yx" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"yy" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"yz" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Manager's Office" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"yC" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"yF" = ( +/obj/machinery/vending/cola/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"yJ" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"yK" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"yL" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"yM" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"yQ" = ( +/obj/effect/spawner/lootdrop/cig_packs, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"yS" = ( +/obj/machinery/door/window, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"yW" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/mineral/titanium/blue, +/area/awaymission/jungleresort) +"yX" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/salad/validsalad, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"yY" = ( +/obj/machinery/door/airlock/shuttle, +/turf/open/floor/mineral/titanium, +/area/awaymission/jungleresort) +"zl" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"zr" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"zx" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/rock, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"zA" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"zC" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"zH" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, +/area/awaymission/jungleresort) +"zI" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"zK" = ( +/obj/structure/flora/rock/jungle, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"zP" = ( +/obj/structure/flora/tree/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"zV" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"zY" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Aa" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ag" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Office" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ah" = ( +/obj/structure/table/wood/poker, +/obj/item/dice/d6, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ak" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/flora/rock/jungle, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"An" = ( +/obj/effect/spawner/lootdrop/bedsheet, +/obj/structure/bed, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ar" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Az" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"AC" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"AF" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"AR" = ( +/turf/closed/mineral/random/labormineral, +/area/awaymission/jungleresort) +"AS" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"AT" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"AU" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/rock, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"AV" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"Bh" = ( +/obj/machinery/light/floor, +/obj/structure/easel, +/obj/item/canvas/nineteenXnineteen, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Bn" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Bp" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/rock/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Bq" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Br" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"BB" = ( +/obj/machinery/door/window, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"BM" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"BP" = ( +/obj/structure/dresser, +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"BQ" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"BY" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer/fullupgrade, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"BZ" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Cc" = ( +/obj/item/mop, +/obj/structure/mopbucket, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Co" = ( +/obj/structure/chair/wood/wings, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ct" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Cu" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Cv" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman/super, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"CA" = ( +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"CC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"CH" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"CK" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"CN" = ( +/obj/structure/flora/tree/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"CR" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"CT" = ( +/obj/item/storage/toolbox/greyscale, +/obj/structure/table/wood/fancy, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"CV" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"CY" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Db" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 6 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Di" = ( +/obj/item/storage/toolbox/drone, +/obj/structure/table/wood/fancy, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"Dj" = ( +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"Dr" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Du" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "ResortCabin4"; + name = "Resort Cabin 4" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Dz" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"DF" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"DL" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"DO" = ( +/obj/structure/flora/tree/jungle/small, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"DS" = ( +/obj/structure/flora/junglebush/large, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"DU" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/burger/plain, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ei" = ( +/obj/structure/table/wood, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/item/paper/crumpled/awaymissions/jungleresort/notice, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"El" = ( +/obj/structure/flora/grass/jungle/b, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Eq" = ( +/obj/structure/frame/computer, +/obj/effect/decal/cleanable/glass, +/obj/item/shard, +/turf/open/floor/mineral/titanium/yellow, +/area/awaymission/jungleresort) +"Et" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Eu" = ( +/obj/structure/table/wood, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/toy/plush/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ex" = ( +/obj/structure/table/wood/fancy, +/obj/item/candle/infinite, +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"Ey" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"EA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"EL" = ( +/obj/structure/table/wood, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/camera, +/obj/item/camera_film, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"EO" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"EP" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Cafe" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"EQ" = ( +/obj/structure/flora/tree/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"EV" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/junglebush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Fd" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Fl" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Fq" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Fr" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Fz" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/rock/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"FL" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"FN" = ( +/obj/structure/flora/tree/jungle, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"FO" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"FP" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"FQ" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"FR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"FT" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"FV" = ( +/obj/machinery/door/airlock/freezer{ + name = "Freezer" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"FX" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Gd" = ( +/obj/structure/chair/pew{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"Gk" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Gl" = ( +/obj/structure/sign/poster/random, +/turf/closed/wall/mineral/wood, +/area/awaymission/jungleresort) +"Gn" = ( +/obj/machinery/light, +/obj/structure/closet/crate/bin, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Gu" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Gv" = ( +/obj/structure/table/wood, +/obj/item/toy/figure/bartender, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Gz" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"GA" = ( +/obj/structure/flora/tree/jungle/small, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"GD" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"GN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"GU" = ( +/obj/item/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ha" = ( +/obj/structure/table/wood, +/obj/item/dualsaber/toy, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Hg" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"Hk" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Hm" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Hs" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Hw" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Arrivals" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Hy" = ( +/obj/structure/flora/rock/pile, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"HC" = ( +/obj/structure/bonfire/dense, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"HD" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"HI" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "ResortCabin2"; + name = "Resort Cabin 2" + }, +/obj/structure/barricade/wooden, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"HQ" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ih" = ( +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Ii" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ij" = ( +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"Ir" = ( +/obj/effect/decal/cleanable/blood/gibs/human/down, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Iw" = ( +/obj/structure/table/wood, +/obj/effect/spawner/lootdrop/space_cash, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"IC" = ( +/obj/structure/flora/rock/pile, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"IF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"IK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/barricade/wooden, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"IO" = ( +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/wood{ + id_tag = "ResortCabin5"; + name = "Resort Cabin 5" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"IR" = ( +/obj/structure/flora/junglebush/large, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"IW" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Jb" = ( +/obj/structure/flora/tree/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Jc" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Jd" = ( +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Jf" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Jh" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Jj" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Jo" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Jq" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Jt" = ( +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Jv" = ( +/obj/structure/filingcabinet, +/obj/structure/window/reinforced, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"Jz" = ( +/obj/effect/decal/cleanable/blood/splats, +/obj/structure/stone_tile/surrounding/cracked{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"JF" = ( +/turf/open/floor/plasteel/dark, +/area/awaymission/jungleresort) +"JG" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/gibs/human/up, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"JK" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"JQ" = ( +/obj/item/toy/plush/carpplushie, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"JU" = ( +/obj/structure/stone_tile/slab/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"JZ" = ( +/obj/structure/flora/tree/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ka" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Kk" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"Kl" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ko" = ( +/turf/closed/wall/r_wall, +/area/awaymission/jungleresort) +"Kr" = ( +/obj/structure/flora/junglebush/b, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Kw" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"KC" = ( +/obj/machinery/telecomms/relay/preset/mining, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/circuit, +/area/awaymission/jungleresort) +"KJ" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"KM" = ( +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"KO" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"KR" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"KX" = ( +/obj/structure/flora/rock, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"KY" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"KZ" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"La" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Ll" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Lp" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/asteroid, +/area/awaymission/jungleresort) +"Lr" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Lt" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Lu" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Lv" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"Ly" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/stone_tile/surrounding/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"LE" = ( +/obj/structure/reagent_dispensers/keg/gargle, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"LK" = ( +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"LL" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes{ + charge = 1.5e+006; + input_level = 30000; + inputting = 0; + output_level = 7000 + }, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"LR" = ( +/mob/living/simple_animal/hostile/jungle/leaper, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"LU" = ( +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"LW" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Mc" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"Mf" = ( +/obj/structure/flora/junglebush/large, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Mh" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/applejack/empty, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Mp" = ( +/turf/closed/wall/mineral/wood, +/area/awaymission/jungleresort) +"Mx" = ( +/obj/structure/chair/sofa/right, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"MD" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"MF" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"MJ" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"MP" = ( +/turf/open/floor/plasteel/freezer, +/area/awaymission/jungleresort) +"MS" = ( +/obj/structure/flora/rock/pile, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"MW" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"MX" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"MY" = ( +/obj/structure/barricade/wooden, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"Nd" = ( +/obj/structure/flora/junglebush, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Nf" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Ni" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Nn" = ( +/obj/machinery/power/apc/auto_name/west, +/obj/structure/cable, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Nx" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/butteredtoast, +/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"NF" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"NU" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"Oe" = ( +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ol" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Or" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ou" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"Oz" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"OA" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"OB" = ( +/obj/item/storage/book/bible, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"OU" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Pb" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Pc" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Pd" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Pg" = ( +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Pp" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Pu" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Pv" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PB" = ( +/obj/structure/flora/junglebush, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PD" = ( +/obj/structure/flora/rock/jungle, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PL" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PM" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PN" = ( +/turf/open/floor/mineral/titanium, +/area/awaymission/jungleresort) +"PP" = ( +/obj/structure/flora/rock, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PS" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PT" = ( +/obj/structure/flora/rock/pile, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"PW" = ( +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"PY" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Qa" = ( +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/effect/decal/cleanable/blood/gibs/torso, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Qc" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/floor/plasteel/freezer, +/area/awaymission/jungleresort) +"Qp" = ( +/turf/open/floor/plating/asteroid, +/area/awaymission/jungleresort) +"Qr" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Qt" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"Qz" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"QA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"QB" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"QC" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"QE" = ( +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"QI" = ( +/obj/machinery/nuclearbomb/beer, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"QO" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"QX" = ( +/obj/structure/flora/junglebush, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Rd" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/storage/toolbox/electrical, +/obj/item/wrench, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/stack/sheet/mineral/uranium, +/obj/item/clothing/glasses/meson/engine, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Rm" = ( +/obj/structure/flora/tree/jungle/small, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Rn" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/item/folder, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"Ro" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Rp" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"RD" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"RI" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/kitchen/rollingpin, +/obj/item/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/food/condiment/peppermill, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"RP" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/gibs/torso, +/obj/item/clothing/suit/curator, +/obj/item/clothing/under/rank/civilian/curator/treasure_hunter, +/obj/item/clothing/head/fedora/curator, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/melee/curator_whip, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"RW" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"RX" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/flora/rock/pile, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Sc" = ( +/obj/structure/flora/rock, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Se" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Sh" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Si" = ( +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/structure/stone_tile/surrounding/burnt, +/obj/effect/decal/remains/human, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Sk" = ( +/obj/machinery/door/airlock/wood{ + name = "Resort Kitchen" + }, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Ss" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"St" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"SD" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"SF" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"SL" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"SO" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/stone_tile/surrounding/cracked, +/obj/item/gun/ballistic/shotgun/sc_pump, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/head/helmet, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"SV" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"SW" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"SZ" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 5 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Ta" = ( +/obj/machinery/shower, +/obj/structure/curtain, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Tm" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/lootdrop/space_cash, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Tv" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Tw" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Tx" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ty" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"TC" = ( +/obj/machinery/deepfryer, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"TD" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"TG" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"TI" = ( +/obj/structure/barricade/wooden, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"TM" = ( +/obj/structure/table/wood/fancy, +/obj/item/candle/infinite, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"TR" = ( +/obj/structure/table/wood, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"TT" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"TU" = ( +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/plating/asteroid, +/area/awaymission/jungleresort) +"TX" = ( +/obj/structure/table/wood, +/obj/machinery/button/door{ + id = "ResortCabin5"; + normaldoorcontrol = 1; + pixel_y = 25; + specialfunctions = 4 + }, +/obj/item/poster/random_contraband, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Uc" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ud" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Ue" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Uo" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/innards, +/obj/structure/stone_tile/surrounding/cracked, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Us" = ( +/obj/machinery/vending/clothing, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Uv" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"UB" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"UH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Vb" = ( +/obj/structure/chair/stool, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Ve" = ( +/obj/structure/table/wood, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"Vg" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Vh" = ( +/obj/item/storage/toolbox/electrical, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/wood/fancy, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"Vm" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"VI" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "AbandonedCabinDorm"; + name = "Abandoned Cabin Dorm" + }, +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"VJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"VK" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/item/stamp, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"VL" = ( +/obj/structure/rack, +/obj/item/storage/backpack/satchel/explorer, +/obj/item/gps/mining, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight/flare, +/obj/item/pickaxe, +/obj/item/mining_scanner, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"VP" = ( +/obj/structure/flora/junglebush/b, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"VU" = ( +/obj/structure/flora/rock/pile/largejungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Wa" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Wd" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Wh" = ( +/obj/structure/flora/junglebush/large, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Wi" = ( +/obj/structure/chair/stool/bar, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Wj" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Wl" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Wo" = ( +/obj/structure/flora/tree/jungle/small, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"WD" = ( +/obj/effect/decal/remains/human, +/obj/item/clothing/head/collectable/slime, +/turf/open/floor/plating/rust, +/area/awaymission/jungleresort) +"WE" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"WQ" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/gibs/torso, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"WU" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Xa" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Xd" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/light, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Xh" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/flora/junglebush, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Xj" = ( +/turf/closed/wall, +/area/awaymission/jungleresort) +"Xm" = ( +/obj/structure/closet/crate/bin, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"Xo" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"Xq" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/circuit, +/area/awaymission/jungleresort) +"Xs" = ( +/obj/effect/decal/cleanable/blood/gibs/torso, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Xz" = ( +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"XB" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"XC" = ( +/obj/item/grown/log/tree, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"XK" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"XM" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/salad/jungle, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"XR" = ( +/obj/structure/flora/tree/jungle/small, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"XV" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/turf/open/floor/wood, +/area/awaymission/jungleresort) +"XY" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/item/toy/figure/ian, +/turf/open/floor/carpet/blue, +/area/awaymission/jungleresort) +"XZ" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/power/port_gen/pacman/super, +/turf/open/floor/plating, +/area/awaymission/jungleresort) +"Yb" = ( +/obj/structure/bonfire/dense, +/obj/item/melee/roastingstick, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Yd" = ( +/obj/item/storage/box/marshmallow, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Ye" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/toy/figure/syndie, +/turf/open/floor/carpet/red, +/area/awaymission/jungleresort) +"Yf" = ( +/obj/structure/flora/junglebush/c, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Yg" = ( +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Yh" = ( +/obj/item/clothing/under/color/grey/glorf, +/obj/item/clothing/gloves/color/fyellow/old, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/mask/gas, +/obj/item/clothing/head/soft/grey, +/obj/effect/decal/remains/human, +/turf/open/floor/carpet, +/area/awaymission/jungleresort) +"Ym" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/rock/pile, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"Yp" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Yt" = ( +/obj/structure/kitchenspike, +/turf/open/floor/plasteel/freezer, +/area/awaymission/jungleresort) +"YE" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"YF" = ( +/obj/machinery/gateway/away, +/turf/open/floor/plating/dirt/dark/jungle, +/area/awaymission/jungleresort) +"YJ" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"YK" = ( +/obj/machinery/light/floor, +/turf/open/water/jungle, +/area/awaymission/jungleresort) +"YM" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"YP" = ( +/obj/structure/flora/rock/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"YQ" = ( +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"YU" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/awaymission/jungleresort) +"YW" = ( +/obj/effect/decal/cleanable/blood/gibs/human/core, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/obj/item/ammo_casing/shotgun/buckshot, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"Zn" = ( +/obj/item/stack/sheet/mineral/wood, +/obj/effect/decal/cleanable/blood/gibs/human/core, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ZE" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ZH" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 9 + }, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/dirt/jungle, +/area/awaymission/jungleresort) +"ZV" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/grass, +/area/awaymission/jungleresort) + +(1,1,1) = {" +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +"} +(2,1,1) = {" +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +"} +(3,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(4,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(5,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(6,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(7,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(8,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(9,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +oZ +AR +oZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(10,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +bv +Ue +tT +oZ +oZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(11,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +oZ +oZ +tT +RP +BQ +aL +tT +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(12,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +aL +JU +Gk +DF +SL +po +Jz +JU +oZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(13,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +tT +Si +rg +uG +dF +an +hX +ih +aL +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(14,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +aL +tT +po +VJ +LR +FR +Lt +tT +tT +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(15,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +Lr +JU +Yg +jO +Lv +hj +tT +Nf +aL +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +rd +vK +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(16,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +oZ +Uo +ZE +ZH +Fl +aL +ez +SO +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +YQ +YQ +ZV +YQ +wH +AR +AR +AR +AR +AR +YQ +YQ +wH +rd +cn +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(17,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +oZ +tT +ap +YW +Db +Ly +oZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +cn +YQ +rF +Pg +YQ +rd +YQ +YQ +YQ +CN +YQ +YQ +kr +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +YQ +wH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(18,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +aL +fy +Dr +JU +oZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +YQ +YQ +vl +YQ +AF +YQ +vK +YQ +YQ +rd +aP +mY +YQ +ZV +Pg +AF +YQ +YQ +Pg +rd +ZV +vK +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +AF +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(19,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AC +GD +oZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +CN +rF +aP +YQ +YQ +CN +YQ +YQ +aP +CN +YQ +YQ +AF +YQ +YQ +YQ +MW +br +YQ +YQ +YQ +YQ +CN +YQ +cn +YQ +YQ +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +rd +YQ +YQ +YQ +CN +YQ +kr +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(20,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +iv +Qz +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +Wl +YQ +YQ +YQ +Pg +ZV +YQ +cV +Pg +YQ +YQ +YM +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +YQ +MW +aP +YQ +YQ +YQ +AF +YQ +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +wH +YQ +rd +YQ +YQ +YM +YQ +YQ +YQ +rd +ZV +YQ +rd +MW +Pg +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(21,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +wS +SZ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +AF +YQ +YQ +YQ +CN +rd +AF +YQ +YQ +YQ +YQ +wH +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Wl +cn +YQ +YQ +YM +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +Pg +YQ +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +wH +YQ +AF +ZV +cn +YQ +YQ +YQ +CN +YQ +AF +aP +ZV +rF +Pv +wH +YQ +YQ +YQ +CN +YQ +aP +Wl +YQ +rd +YQ +AF +YQ +YQ +YQ +Pg +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(22,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +yJ +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +wH +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +Wl +Pg +AF +YQ +YQ +YQ +CN +YQ +aP +YQ +YQ +Pg +Wl +YQ +YQ +ZV +aP +vK +VU +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +vK +wH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +rd +MW +aP +YM +YQ +XK +YQ +rd +MW +YQ +YQ +Pg +YQ +YQ +YQ +CN +YQ +cn +YQ +YQ +YQ +YQ +vK +YQ +mY +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +ZV +cn +YQ +YQ +vK +AF +ZV +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(23,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +Yp +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YM +cn +YQ +YQ +YM +aG +YQ +YQ +MW +rF +YQ +YQ +YQ +aP +rd +cn +YQ +YQ +wH +YQ +rd +YQ +YQ +YQ +CN +YQ +YQ +rd +YQ +YQ +YQ +YQ +rd +YQ +MW +YQ +YQ +ZV +ZV +YQ +YM +AF +YQ +aP +YQ +AR +AR +AR +AR +AR +AR +AR +rd +Pg +cn +YQ +YQ +YM +YQ +YQ +YQ +YQ +YQ +CN +YQ +Pg +ZV +rd +kr +YQ +YQ +rd +Pg +YQ +YQ +KJ +Pg +Xh +YQ +YQ +CN +AF +YQ +YQ +YQ +wH +YQ +YQ +YQ +YQ +rd +YQ +aP +YQ +Pg +YQ +YQ +cn +YQ +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(24,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +TD +oZ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +aP +Wl +rd +aP +Pg +YQ +YQ +Wl +YQ +rd +YQ +rd +YQ +YQ +YQ +YQ +YM +KM +Pg +ZV +AF +YQ +YQ +rd +YQ +YQ +YM +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +CN +Wl +rd +wH +YQ +MW +YQ +YQ +YQ +YM +ZV +cn +rd +aP +YQ +wH +AF +YQ +YQ +kr +aP +YQ +YQ +Wl +wH +YQ +YQ +YQ +YQ +YQ +CN +ar +YQ +cn +wH +YQ +YQ +YQ +AF +YQ +YQ +rd +YQ +YQ +Dz +ZV +YQ +rd +YQ +cn +Wl +Pg +YQ +kr +YQ +YQ +wH +YQ +YQ +YQ +YQ +CN +YQ +wH +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(25,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +aL +Xs +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +YQ +YQ +YQ +CN +kr +YQ +YQ +YQ +CN +YQ +YQ +KJ +YQ +YQ +YQ +CN +Pg +aP +YQ +YQ +CN +rd +kr +vK +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Pg +rd +aP +YQ +kr +YQ +cn +aP +YQ +YQ +YQ +CN +Pg +YQ +YQ +YQ +YQ +Wl +YQ +kr +cn +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +YQ +MW +YQ +MW +rd +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +vK +YQ +cn +YQ +YQ +YQ +CN +YQ +YQ +YM +MW +YQ +YQ +YQ +CN +rd +YQ +Wl +YQ +rd +Wl +aP +kr +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(26,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +oZ +tH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +ZV +YQ +YQ +YQ +YQ +YQ +cn +YQ +YQ +YQ +YQ +YQ +YQ +YQ +rd +YQ +YQ +YQ +YQ +YQ +cn +YQ +YQ +YQ +CN +cn +aP +wH +YQ +YQ +YQ +wH +YQ +AF +Pg +YQ +YQ +YQ +YQ +YQ +rd +rd +Wl +YQ +YQ +YQ +CN +YQ +YQ +vK +YQ +YQ +YQ +YQ +ZV +Wl +Pg +VU +YQ +kr +rd +YQ +wH +YQ +vK +YQ +YQ +YQ +MW +YQ +MW +YQ +rF +Dz +YQ +YQ +Wl +YQ +YQ +YM +YQ +YQ +YQ +rd +YQ +YQ +wH +YQ +YQ +YQ +YQ +YQ +ZV +YQ +YQ +YQ +YQ +YQ +AF +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(27,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +ak +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +MW +YQ +YQ +YM +cn +rF +YQ +YQ +YQ +CN +Wl +kr +rd +YQ +AF +YQ +Wl +rd +MW +Pg +aP +YQ +YQ +YQ +YQ +kr +mY +YQ +YQ +YQ +CN +YQ +YQ +YM +YQ +Wl +YQ +CN +YQ +kr +cn +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Fz +Wl +YQ +YQ +YQ +CN +rd +YQ +YQ +aP +YQ +YQ +YQ +YQ +CN +YQ +AF +YQ +rd +Wl +YQ +AF +Pg +Wl +YQ +YQ +rd +YQ +aP +YQ +YQ +pN +YQ +Wl +aP +YQ +YQ +YQ +CN +YQ +AF +YQ +YQ +YM +kr +aP +YQ +YQ +CN +mY +Pg +aP +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(28,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +rd +AF +YQ +YQ +wH +Wl +YQ +wH +YQ +ZV +Pg +vK +YQ +MW +YQ +CN +YQ +YQ +YQ +YM +YQ +AF +YQ +aP +Pg +YQ +YQ +YQ +YQ +YQ +vK +YQ +YQ +YQ +YQ +YQ +YQ +aP +rd +YQ +YQ +YQ +CN +MW +YQ +kr +YQ +Wl +wH +YQ +YQ +YQ +YQ +YQ +rd +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +wH +YQ +YQ +YQ +YQ +aP +rd +Wl +YQ +Wl +rF +Pg +wH +YQ +YQ +vK +YQ +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(29,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +io +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Wl +vK +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +Pg +PB +YQ +cn +YQ +YQ +YQ +YQ +wH +Pg +cn +YQ +YQ +YQ +YQ +CN +YQ +rd +MW +YQ +YQ +CN +YQ +Wl +kr +YQ +YQ +YQ +CN +ZV +YQ +YM +YQ +YQ +wH +Pg +vK +YQ +YQ +AF +Wl +rd +YQ +YQ +YQ +CN +AF +cn +YQ +YQ +YQ +YQ +YQ +ZV +YQ +YM +Wl +YQ +YQ +rd +kr +YQ +YQ +AF +ZV +YQ +MW +YQ +MW +cn +rd +YQ +YQ +YQ +rd +YQ +YQ +YM +rd +AF +YQ +YQ +mY +YQ +cn +YQ +AF +YQ +VU +rd +cn +YQ +YQ +Wl +CN +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(30,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +AT +io +JG +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +kr +YQ +YQ +YQ +aP +YQ +cn +YQ +aP +YQ +YM +YQ +YQ +YQ +CN +aP +YQ +rd +YQ +Wl +YQ +kr +YQ +YQ +YQ +Wl +YQ +YM +YQ +YQ +YQ +YQ +AF +YQ +aP +YQ +YQ +YQ +rd +Pg +YQ +YQ +YQ +AF +YQ +aP +YQ +YQ +YQ +CN +ZV +aP +YQ +YQ +cn +YQ +YQ +MW +CN +AF +Wl +YQ +YQ +CN +YQ +rd +YQ +YQ +AF +wH +YQ +aP +YQ +cn +YQ +YQ +YQ +CN +Pg +np +YQ +wH +rd +kr +YQ +AF +YQ +vK +YQ +kr +YQ +YQ +YQ +CN +vK +YQ +YQ +YQ +CN +YQ +MW +YQ +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(31,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +VJ +FR +io +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +cn +YQ +YQ +YQ +CN +Pg +rd +YQ +rd +Wl +YQ +kr +YQ +Wl +cn +wH +YQ +YQ +YM +Wl +YQ +YQ +rd +YQ +YQ +YM +Pg +cn +YQ +Wl +YQ +YQ +YQ +YQ +CN +YQ +cn +YQ +AF +YQ +MW +YQ +YQ +YQ +CN +YQ +kr +YQ +YQ +YQ +YQ +YQ +YM +Wl +YQ +rd +AF +YQ +YQ +YQ +YQ +rd +YQ +YQ +wH +aP +YQ +YQ +YQ +CN +vK +rd +YQ +YM +Pg +YQ +YQ +YQ +rd +YQ +YQ +YQ +YQ +CN +ZV +YQ +YQ +YQ +CN +rd +cn +wH +YQ +YQ +wH +rd +aP +YQ +rd +YQ +ZV +YQ +YQ +YQ +aP +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(32,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +io +Qa +io +FL +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rF +YQ +aP +Wl +rd +YQ +YQ +YM +AF +YQ +YQ +rd +YQ +AF +YQ +mY +mY +YQ +Pg +YQ +YQ +YQ +CN +YQ +aP +YQ +YQ +YQ +AF +YQ +kr +ZV +YQ +Pg +YQ +AF +YQ +YQ +YQ +CN +wH +YQ +YQ +YQ +YQ +cn +YQ +YQ +cn +rd +MW +YQ +YQ +YQ +YQ +YM +aP +ZV +YQ +YQ +YQ +CN +Pg +AF +rd +mY +YQ +YQ +YQ +rd +Wl +ZV +AF +YQ +rd +rd +YQ +Wl +Ka +kr +YQ +YQ +AF +cn +Wl +YQ +YQ +YQ +Pg +YQ +Wl +YQ +YQ +Hy +kr +YQ +YQ +YQ +YQ +AF +YQ +YQ +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(33,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +sq +io +io +LU +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +np +YQ +ZV +YQ +YQ +wH +YQ +YQ +YQ +CN +MW +aP +YQ +YQ +CN +rd +AF +YQ +YQ +ZV +YQ +cn +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +rd +YQ +Wl +rd +YQ +YQ +KM +YQ +aP +rd +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +YQ +wH +rd +Wl +YQ +YQ +rd +YQ +kr +YQ +YQ +Pg +YQ +YQ +YM +YQ +YQ +kr +YQ +YQ +YQ +CN +Ey +du +uO +YQ +mY +YQ +rd +YQ +Pg +cn +MW +YQ +YQ +aP +CN +YQ +YM +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +pU +PT +Fd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(34,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Zn +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +wH +YQ +YQ +YQ +YQ +YQ +Mp +Mp +Mp +Mp +Mp +Mp +Mp +Mp +YQ +YQ +rd +YQ +YQ +YQ +CN +AF +YQ +MW +YQ +Wl +ZV +cn +YQ +Wl +YQ +YQ +rd +YQ +YQ +YQ +mY +YQ +kr +YQ +YQ +vK +YQ +YQ +YQ +CN +Pg +AF +YQ +YQ +CN +MW +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +MW +YQ +YQ +Lu +io +du +io +jy +YQ +MW +YQ +CN +AF +aP +YQ +YQ +YQ +YQ +YQ +YQ +rd +Pg +Wl +YQ +YQ +YQ +rd +IR +FX +du +Ou +cA +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(35,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +st +st +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +wH +YQ +YQ +YQ +VU +aP +Pg +cn +rd +YQ +rd +Pg +ZV +kr +aP +Mp +BP +Xz +eD +Mp +gK +Eu +Mp +aP +YQ +Wl +YQ +YQ +YQ +YQ +YQ +cn +YQ +YQ +YM +Pg +YQ +YQ +YQ +CN +YQ +YQ +YQ +Wl +aP +YQ +AF +Pg +cn +YQ +AF +YQ +YQ +YQ +wH +YQ +YQ +Wo +YQ +AF +YQ +YQ +YQ +YQ +wH +AF +YQ +YQ +YQ +YQ +YQ +YQ +hw +du +io +JQ +du +du +DL +YQ +YQ +YQ +rd +YQ +vK +AF +YQ +kr +ZV +cn +YQ +AF +YQ +cn +rd +YQ +mE +du +Xa +La +uG +QA +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(36,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +st +Ir +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +rd +MW +YQ +Pg +kr +YQ +YQ +rd +kr +YQ +YQ +YQ +Tw +YQ +AF +YQ +Mp +iL +Xz +Xz +VI +Jd +Jd +Mp +YQ +kr +YQ +AF +rd +kr +YQ +YQ +YQ +CN +YQ +YQ +AF +YQ +YQ +YQ +YQ +YQ +YQ +CN +ZV +YQ +wH +vK +Wl +YQ +Wl +YQ +CN +YQ +np +AF +rF +MW +YQ +cn +YQ +YQ +YQ +YM +cn +Xj +Xj +Xj +Xj +Xj +Xj +Xj +YQ +CN +js +du +Lv +io +KO +cn +wH +YQ +YM +YQ +YQ +YQ +CN +aP +Wl +YQ +YQ +aP +CN +vK +MW +Ka +XB +io +FN +uG +QA +pQ +pQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(37,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +LU +st +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +ZV +YQ +YQ +YQ +CN +YQ +cn +YQ +YQ +YQ +YQ +rd +Mp +Xz +Xz +Ye +Mp +Jd +Jd +Mp +cJ +Ka +YQ +Ka +CN +Wl +YQ +YQ +kr +YQ +YQ +YQ +YQ +CN +vK +cn +Wl +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +ZV +YQ +YQ +YQ +CN +YQ +kr +rd +YQ +YQ +YQ +CN +YQ +YQ +Xj +my +Nn +BM +Ih +CA +Xj +YQ +FT +du +io +du +io +se +YQ +YQ +YQ +Pg +YQ +YQ +wH +YQ +wH +cn +YQ +YQ +YQ +Pg +wH +XB +du +io +du +uG +pQ +pQ +AV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(38,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +AT +io +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +cn +rd +Wl +YQ +YQ +vK +YQ +AF +aP +rd +cn +YQ +YQ +CN +Mp +xQ +Gl +Mp +Mp +Jd +ux +vw +io +io +Fr +io +DL +Ka +AF +YQ +aP +cn +YQ +YQ +YQ +Wl +YQ +YQ +YM +YQ +YQ +YQ +CN +YQ +rF +cn +YQ +YQ +YQ +CN +rd +YQ +YQ +YQ +YQ +CN +Wl +YQ +YQ +YQ +YQ +Wl +rd +Xj +LL +Pc +Ih +Ih +Xq +Xj +YQ +YQ +uS +du +io +jh +YQ +YQ +YQ +CN +Wl +YQ +AF +Pg +rd +YQ +YQ +YQ +YM +AF +Ka +XB +io +bp +uG +QA +pQ +pQ +EA +bp +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(39,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +uG +pQ +dF +io +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +aP +YQ +YM +Pg +kr +YQ +YQ +YM +aP +YQ +YQ +Pg +Mp +Et +Mp +Jq +CH +Jd +Jd +Mp +zC +sQ +YQ +LW +Uv +io +DL +YM +Pg +YQ +Wl +YQ +rF +YQ +YQ +YQ +YQ +YQ +YQ +YQ +kr +YQ +wH +rd +YQ +YQ +YQ +YQ +rF +Wl +YQ +YQ +YQ +Pg +YQ +YM +kr +YQ +Pg +YQ +rF +Xj +XZ +yb +Ih +Ih +KC +Xj +YQ +YQ +CN +eC +Uc +rd +YQ +YQ +YQ +MW +YQ +aP +YM +YQ +YQ +YQ +CN +YQ +Pg +mE +du +io +Pp +uG +pQ +pQ +AV +EA +kJ +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(40,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +uG +pQ +pQ +pQ +dF +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +rd +vK +YQ +Mp +Mp +Gl +TR +Dj +Dj +Jd +Mp +YQ +YQ +YQ +CN +Pg +wm +ZV +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +Wl +YQ +YQ +CN +YQ +YQ +YM +MW +YQ +wH +rd +AF +YQ +YQ +vK +YQ +YQ +YQ +CN +ZV +Xj +Cv +Ih +Ih +Ih +ef +Xj +YQ +YQ +YQ +YQ +YQ +CN +YQ +Wl +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Fd +TG +io +cX +uG +QA +pQ +pQ +EA +FQ +go +NF +jH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(41,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +uh +pQ +pQ +pQ +Hg +ll +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +AF +wH +YQ +YQ +Wl +hv +wH +vl +YQ +YQ +CN +MW +rd +Mp +Ct +Jd +Jd +Dj +Dj +Jd +IK +YQ +YQ +YQ +YQ +MW +YQ +YQ +YQ +Wl +YQ +mY +AF +cn +YQ +ZV +Wl +YQ +YQ +rd +Pg +AF +YQ +VU +YQ +YQ +YQ +rd +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +Wl +YQ +YQ +YQ +rd +Xj +Rd +Ih +Ih +Ih +Cc +Xj +Pg +YQ +YQ +YQ +kr +YQ +wH +Pg +YQ +YQ +YQ +CN +cn +wH +Wl +PT +zY +Xa +Ou +SW +uG +pQ +pQ +AV +EA +io +io +zP +fX +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(42,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +uG +pQ +pQ +pQ +pQ +Hg +WQ +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +rd +Pg +YQ +YQ +KM +YQ +Pg +YQ +YQ +YQ +ZV +cn +YQ +Mp +rS +Jd +PW +Dj +Dj +Jd +IK +wH +YQ +rd +kr +Wl +YQ +YQ +Tw +rd +wH +YQ +YQ +MW +kr +Pg +YQ +YQ +wH +vK +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +Wl +YQ +YQ +rd +KM +YQ +YQ +YQ +YQ +ZV +YQ +YQ +YM +YQ +Xj +Xj +Xj +mg +Xj +Xj +Xj +YQ +wH +Wl +YQ +YQ +YQ +YQ +YM +wH +YQ +YQ +YQ +YQ +Ka +FX +iG +du +Rp +uG +QA +pQ +pQ +EA +kJ +du +io +Jh +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(43,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +uh +pQ +pQ +pQ +pQ +pQ +dF +ak +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Fz +mY +aP +MW +cn +rd +YQ +YM +rF +AF +YQ +YQ +wH +Mp +im +Jd +lB +Dj +Dj +aA +Mp +YQ +YQ +YM +rd +AF +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +CN +kr +YQ +YQ +rF +YQ +YQ +YQ +YQ +YQ +Pg +is +YQ +cn +YQ +YM +kr +YQ +YQ +YQ +CN +YQ +YQ +Wl +rF +YQ +Kr +du +bw +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +cn +AF +vK +kr +YQ +Ka +io +bp +NU +uG +QA +pQ +pQ +AV +EA +io +io +zP +Gz +YQ +kr +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(44,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +uh +pQ +pQ +pQ +pQ +pQ +Hg +io +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +ZV +YQ +YQ +rd +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YM +Mp +Ct +Jd +Jd +Jd +Jd +Ha +Mp +vK +YQ +YQ +YQ +vK +rd +YQ +YM +Wl +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +Wl +YQ +AF +YQ +YQ +YQ +YM +rd +kr +YQ +YQ +YQ +CN +Pg +rd +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +rQ +du +DL +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +rF +MW +YQ +Wl +rT +XB +io +du +uG +QA +pQ +pQ +AV +EA +bp +du +io +RD +YQ +YQ +wH +aP +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(45,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +VJ +pQ +pQ +pQ +pQ +pQ +pQ +dF +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YM +YQ +YQ +YQ +CN +aP +YQ +YQ +YQ +CN +vK +YQ +aP +Mp +Mp +Mp +IK +IK +Mp +Mp +Mp +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +Pg +rF +kr +YQ +YQ +YQ +AF +rF +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +rF +wH +YQ +YQ +YQ +YQ +YQ +YQ +rF +YQ +YQ +YQ +CN +YQ +MW +YQ +YQ +YQ +YQ +OU +du +DL +YQ +CN +wH +Wl +YQ +YM +Pg +Wl +YQ +YQ +Ka +EQ +du +cw +Rp +uG +pQ +pQ +AV +EA +io +du +NF +ie +Pb +vK +rd +YQ +YQ +CN +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(46,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +VJ +pQ +pQ +pQ +pQ +AV +AV +AS +dF +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rF +rd +YQ +YQ +YQ +vK +rd +YQ +YQ +YQ +Pg +YQ +cn +YQ +kr +YQ +rd +YQ +Pg +ZV +YQ +kr +aP +cn +YQ +Wl +rd +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YM +Wl +rd +YQ +YQ +YQ +Pg +YQ +Ka +Ka +Ka +cJ +Ka +Ka +YQ +CN +wH +YQ +YQ +YQ +CN +YQ +rd +YQ +cn +wH +YQ +YQ +YQ +CN +Uv +io +DL +YQ +MW +YQ +YQ +rF +YQ +YQ +YQ +Ka +XB +du +du +Az +uG +QA +pQ +AV +EA +du +mh +cH +RD +LW +YQ +YQ +wH +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(47,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +uh +pQ +pQ +EA +io +io +io +VJ +dF +io +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Pg +cn +AF +vK +ZV +YQ +YQ +rd +AF +YQ +YM +wH +YQ +YQ +MW +YQ +YM +AF +YQ +YQ +YQ +YQ +AF +kr +Pg +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +vK +kr +YQ +YQ +YM +zY +iG +io +du +io +bp +io +xH +Ka +Rm +Wl +YQ +YQ +YQ +Wl +ZV +Wl +Pg +YQ +rd +YQ +YQ +og +OU +du +zA +Pg +YQ +YQ +YQ +CN +YQ +Ka +XB +FN +du +mh +uG +QA +pQ +AV +EA +rm +io +io +yu +JZ +YQ +kr +YQ +YQ +YQ +CN +cn +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(48,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +VJ +AV +EA +io +io +AR +AR +io +VJ +dF +od +io +AR +AR +AR +AR +AR +AR +AR +AR +YQ +CN +rd +Wl +YQ +YQ +Fz +wH +YQ +YQ +YQ +VU +aP +YQ +YQ +CN +Pg +YQ +YQ +YQ +YQ +CN +YQ +YM +wH +YQ +YQ +YM +Wl +YQ +YQ +cn +YQ +YQ +YQ +YQ +CN +YQ +YQ +Ka +XB +Ss +cH +uG +QA +QA +dF +Rp +du +io +kJ +lf +YJ +Ka +Ka +YM +YQ +YQ +YQ +CN +YQ +YQ +Xd +Ko +zK +io +io +Mf +YQ +YQ +YQ +Ka +XB +io +du +go +uG +QA +pQ +pQ +EA +kJ +io +Xa +jH +sQ +YQ +wH +YQ +YQ +YQ +YQ +YQ +wH +Wl +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(49,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +io +io +io +AR +AR +AR +AR +io +JK +GN +QA +dF +io +AR +AR +AR +AR +AR +AR +YQ +YQ +wH +YQ +YQ +Pg +YQ +YQ +YQ +YQ +CN +ZV +YQ +YQ +YQ +rd +vK +cn +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +AF +YQ +rd +wH +YQ +YQ +wH +mY +YQ +XB +io +FN +so +uG +pQ +pQ +pQ +pQ +QA +QA +dF +bp +so +mh +io +io +xH +Ka +Ka +Ka +YQ +YQ +YQ +CN +WU +zY +io +io +DL +CN +Ka +XB +Br +io +SW +uG +QA +pQ +pQ +AV +EA +io +io +zP +fX +YQ +YQ +YQ +rd +YQ +YQ +YQ +CN +kr +vK +aP +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(50,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +VJ +pQ +QA +dF +io +AR +AR +AR +AR +AR +YQ +YM +aP +Pv +rd +cn +YQ +YQ +YQ +rd +kr +vl +rd +YQ +AF +wH +YQ +YQ +YM +rd +aP +YQ +AF +Pg +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +ZV +cJ +Ka +rT +XB +io +FQ +uG +QA +pQ +pQ +AV +AV +AV +pQ +pQ +pQ +QA +QA +QA +dF +io +FN +cA +go +ro +Jc +Ka +Ka +Ka +OU +du +io +io +DL +mE +Xo +du +Rp +uG +QA +pQ +pQ +AV +EA +FQ +du +io +yu +kr +rF +YQ +YQ +YQ +CN +YQ +YQ +YQ +rd +MW +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(51,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +uh +pQ +pQ +QA +dF +io +io +AR +AR +YQ +PT +Fd +Ka +YQ +YQ +AF +cn +cn +rd +mY +MW +YQ +YQ +YQ +CN +rd +YQ +ZV +YQ +rd +YQ +CN +YQ +YQ +YQ +YQ +ZV +YQ +cn +YQ +Jf +mE +io +io +du +FN +du +uG +pQ +pQ +pQ +EA +ro +Ou +Az +VJ +AV +AV +AV +AV +pQ +pQ +QA +QA +QA +dF +FQ +TT +io +io +io +Jb +du +du +io +GA +cH +TT +uG +QA +pQ +pQ +pQ +EA +cw +kJ +cH +Jh +zC +YQ +YQ +YQ +Pg +YQ +YQ +aP +Wl +YQ +YQ +YQ +YQ +YQ +YQ +CN +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(52,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +pQ +AV +QA +QA +AR +AR +pP +KZ +io +io +xH +aI +YQ +YQ +Wo +YQ +qC +YQ +YQ +YQ +YQ +rF +YQ +YQ +YQ +CN +YQ +Wl +YQ +YQ +YQ +Tw +kr +rT +Ka +Ka +YU +Xa +UB +du +uG +QA +QA +QA +pQ +pQ +EA +io +bp +Pp +sh +ro +io +du +FN +TT +Rp +VJ +AV +pQ +pQ +pQ +pQ +QA +QA +QA +dF +du +NF +Jd +Jd +Jd +Az +NU +uG +pQ +pQ +pQ +AV +EA +io +io +yu +JZ +MW +YQ +YQ +YQ +CN +wH +AF +vK +rd +mY +YQ +YQ +YQ +CN +YQ +YQ +wH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(53,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +VJ +AV +pQ +pQ +MY +QA +dF +du +Rp +Xa +xH +Ka +rT +YQ +YQ +YQ +CN +rd +Wl +kr +YQ +YQ +YQ +Pg +wH +YQ +YQ +YQ +Ka +Ka +XB +du +io +du +bp +mh +uG +QA +pQ +pQ +AV +AV +AV +EA +io +io +yu +sQ +CN +sQ +wm +sQ +sQ +Jo +io +Br +du +VJ +AV +AV +AV +pQ +pQ +pQ +pQ +QA +QA +Jd +Jd +Jd +QA +QA +pQ +pQ +AV +EA +io +Br +du +yu +YQ +rF +YQ +YQ +YQ +YQ +cn +AF +YQ +YQ +YQ +cn +MW +YQ +aP +YQ +Wl +cn +YQ +AF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(54,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +io +uh +MY +pQ +pQ +pQ +QA +dF +io +du +io +FN +YP +uW +Ka +YQ +cn +YQ +AF +YQ +wH +cn +rd +MW +YQ +YM +XB +io +du +bp +Rp +uG +QA +QA +QA +pQ +AV +AV +EA +Rp +Pp +du +Xo +Az +yu +YQ +YQ +YQ +kr +AF +YQ +YQ +YQ +JZ +nw +io +io +du +bp +io +VJ +AV +AV +AV +pQ +pQ +Jd +Jd +Jd +pQ +pQ +pQ +EA +io +io +FN +Jh +Pb +ZV +cn +YQ +YQ +YM +rF +Wl +VU +rd +YQ +YQ +YQ +CN +YQ +rd +AF +ZV +Pg +kr +rd +rF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(55,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +pP +pQ +AV +AV +pQ +QA +hN +dF +du +kJ +KZ +io +xH +Ka +aI +Ka +Ka +YQ +CN +YQ +ab +Ka +mE +du +io +uG +QA +QA +pQ +pQ +pQ +pQ +EA +KZ +kJ +Ou +NU +yu +sQ +sQ +JZ +Wl +cn +MW +YQ +YQ +CN +cn +YQ +YQ +AF +wH +sQ +sQ +sQ +uS +io +io +io +FN +FQ +zV +AV +Jd +Jd +Jd +AV +AV +EA +kJ +du +yu +fX +YQ +YQ +YQ +CN +YQ +YQ +kr +YQ +YQ +wH +YQ +YQ +YQ +YQ +wH +YQ +YQ +YQ +YM +YQ +aP +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(56,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +Xj +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +mh +aB +VJ +pQ +pQ +pQ +QA +QA +dF +io +du +du +Ss +mh +io +xH +Ka +Cu +io +FN +aB +Az +uG +pQ +pQ +pQ +AV +AV +EA +du +Br +io +yu +YQ +JZ +YQ +YQ +Pg +vK +kr +YQ +YQ +YQ +YQ +ZV +Pg +YQ +YQ +YM +YQ +YQ +YQ +CN +ZV +sQ +sQ +sQ +DS +px +Ko +yC +Jd +Jd +Jd +nU +FQ +cH +Az +PP +cn +rF +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +rd +CN +rF +Wl +AF +YQ +YQ +YQ +CN +YQ +aP +YQ +YQ +YQ +cn +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(57,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +JF +Ex +JF +Xj +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +io +cw +VJ +AV +pQ +pQ +pQ +pQ +QA +QA +QA +QA +dF +NF +Mc +du +io +FQ +uG +QA +QA +pQ +pQ +pQ +EA +mh +Ou +io +io +PY +wm +RX +YQ +wH +MW +Wl +AF +ZV +YQ +YQ +Vm +CN +MW +Wl +YQ +YQ +CN +YQ +cn +YQ +Pg +rF +YQ +YM +cn +Wl +YQ +Pb +tn +PS +du +io +xH +sQ +JZ +sQ +sQ +YQ +CN +YQ +kr +cn +AF +YQ +YQ +YQ +YQ +YQ +YQ +cn +YQ +YQ +YQ +YQ +YQ +YQ +aP +vK +rd +cn +Pg +kr +wH +Wl +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(58,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +qG +Di +JF +Ij +JF +Ex +JF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Jo +io +bp +mh +VJ +AV +AV +AV +AV +pQ +pQ +pQ +pQ +QA +QA +QA +QA +QA +pQ +pQ +pQ +AV +EA +io +io +FN +yu +sQ +sQ +CN +YQ +wJ +Wl +kr +YQ +YQ +YQ +CN +YQ +Oe +Ko +wj +YQ +YQ +YQ +YQ +rF +MW +YQ +YQ +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +OU +io +io +du +BZ +rF +Wl +YQ +YQ +YQ +YQ +YQ +CN +rF +MW +YQ +cn +YQ +YQ +YM +Pg +Wl +YQ +YQ +YQ +CN +YQ +kr +YQ +YQ +MW +YQ +YQ +YQ +YQ +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(59,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +CT +JF +JF +JF +Gd +Dj +Ij +JF +Ex +Xj +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +nw +ro +UB +Pp +TT +FQ +io +VJ +AV +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +AV +EA +FQ +Ss +io +PM +sQ +YQ +YQ +rF +YQ +YQ +YQ +CN +rF +YQ +YQ +YQ +wH +YQ +YM +nJ +YQ +YQ +YQ +CN +kr +wH +YQ +YQ +YQ +Ii +YQ +YQ +YQ +YQ +YQ +rF +YQ +YQ +Pg +Jo +du +io +kI +rd +YQ +kr +rF +YQ +YQ +wH +YQ +YQ +YQ +YQ +CN +rF +YQ +YQ +rd +YQ +YQ +YQ +YQ +YQ +YQ +YQ +cn +YQ +YQ +CN +YQ +YQ +YQ +CN +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(60,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Ex +JF +JF +Dj +Dj +LK +Dj +LK +Dj +Ij +JF +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +wH +sQ +sQ +Wh +fX +Ni +io +Br +du +VJ +AV +AV +AV +AV +AV +AV +EA +io +io +io +zP +lr +MW +YQ +YQ +YQ +CN +YQ +YQ +vK +vK +YQ +YM +rF +AF +Pg +YQ +YQ +Wl +YQ +YQ +YQ +YQ +YQ +YQ +YQ +og +YQ +vK +AF +wH +YQ +YQ +YQ +CN +YQ +Wl +YQ +XB +du +yu +YQ +YQ +YQ +CN +YQ +YQ +YM +rd +Wl +YQ +YQ +YQ +YQ +rd +YQ +YQ +YQ +CN +rd +rF +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +AF +YQ +wH +YQ +rF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(61,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +cT +JF +Dj +Dj +Dj +Dj +TM +Dj +TM +Dj +LK +JF +op +AR +Xj +AR +AR +AR +AR +Qp +Qp +TU +Lp +AR +AR +AR +vq +Ka +Ka +aI +PT +Gz +Jo +NF +Pp +du +Az +io +SW +io +FN +Ss +cH +yu +us +Pg +kf +vK +rF +YQ +Wl +YQ +YQ +YQ +td +Wl +YQ +YQ +ZV +MW +YQ +YQ +YQ +YQ +AF +rd +YQ +YQ +vK +YQ +Xd +Ko +RW +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +OU +du +io +DL +CN +YQ +wH +Pg +AF +YQ +ZV +vK +YQ +YQ +pN +YQ +YQ +YM +Wl +YQ +YQ +YQ +YQ +cn +rd +YQ +Wl +jL +kr +YQ +YQ +Wl +ZV +YQ +MW +KM +vK +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(62,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +yr +Dj +Yh +gN +Dj +Dj +Dj +Dj +Dj +Dj +Dj +Dj +JF +JF +Qp +JF +Qp +Qp +Qp +Qp +Qp +Lp +AR +AR +TU +Lp +dC +io +io +du +io +qz +Ka +CC +CC +fX +Wh +CC +CC +CC +CC +Wh +sQ +YQ +Rm +YQ +YQ +YQ +CN +wH +rd +YQ +YQ +rF +YQ +YQ +YQ +CN +YQ +rd +YQ +Wl +Jf +YQ +Ka +YQ +YQ +YQ +rd +YQ +YQ +nJ +YQ +YQ +YQ +YQ +YQ +YQ +Wl +YQ +rF +wH +OU +du +io +DL +YQ +Wl +rd +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +ZV +YQ +YQ +rF +YQ +YQ +YM +Wl +YQ +YQ +CN +oj +YQ +Pu +YQ +mY +KJ +YQ +YQ +YQ +CN +rd +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(63,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +rv +Dj +OB +wo +Dj +Dj +Dj +Dj +Dj +Dj +Dj +Dj +JF +JF +JF +Qp +JF +Qp +Qp +AR +AR +AR +AR +AR +Lp +TU +st +du +du +io +du +du +io +CY +io +xH +ow +io +du +xL +io +xH +CN +XB +du +DL +YQ +Ka +ZV +AF +YQ +YQ +YQ +CN +cn +MW +YQ +Hk +Pg +YQ +YQ +XB +du +WE +du +lf +YQ +YQ +YQ +YQ +rF +YQ +YQ +YQ +rF +YQ +MW +YQ +YQ +YQ +Ka +Ka +Ka +Jo +du +SD +YQ +YQ +CN +YQ +YQ +YQ +Pg +YQ +wH +YQ +YQ +YQ +YQ +CN +kr +YQ +YQ +MW +Pg +wH +YQ +jL +YQ +YQ +YQ +rd +YQ +YQ +rd +YQ +YQ +YQ +aP +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(64,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +cT +JF +Dj +Dj +Dj +Dj +TM +Dj +TM +Dj +Ij +JF +EO +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +TI +Gz +zC +sQ +sQ +sQ +JZ +hl +du +io +MF +du +xV +du +du +io +rP +du +yu +Wl +rH +io +DL +YM +wJ +YQ +ZV +wH +YQ +kr +Hs +Ko +wj +YQ +XB +du +io +io +io +io +Jc +Ka +Ka +Ka +Ka +YQ +Pg +Ka +Ka +AF +Ka +Ka +Ka +Ll +io +du +du +DL +ue +Ko +wj +YQ +YQ +kr +YQ +YQ +YM +Wl +YQ +cn +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +kr +YQ +AF +YQ +YQ +XC +YQ +YQ +CV +YQ +YQ +rF +AF +cn +kr +mY +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(65,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +Xj +Ex +JF +JF +Dj +Dj +Ij +Dj +Ij +Dj +LK +JF +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +YQ +cn +YQ +aP +YQ +YQ +YQ +KM +rd +bg +sQ +YQ +sQ +CN +sQ +sQ +XR +Pg +sQ +wH +rd +AF +sQ +kr +YQ +rF +YQ +Wl +YQ +YQ +YQ +CN +nJ +rF +OU +io +du +io +io +du +du +io +du +io +io +io +xH +XB +du +io +WE +du +io +io +io +du +io +du +DL +YQ +ur +rF +Wl +MW +YQ +YQ +YQ +rF +YQ +rd +MW +vK +Wl +rd +YQ +YQ +YQ +Wl +ZV +rd +YQ +CN +oj +XC +HC +XC +jL +cn +YQ +YQ +CN +wH +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(66,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +iZ +JF +JF +JF +Gd +Dj +LK +JF +Ex +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +vK +rd +YQ +YQ +CN +YQ +YQ +YM +wH +kr +Wl +YQ +aP +YQ +YQ +Wl +YQ +YQ +rd +rd +Wl +YQ +CN +YQ +Wj +vK +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +cn +YQ +OU +du +io +du +YF +io +io +io +io +ia +du +du +io +io +io +io +du +Ty +io +du +du +io +ie +sQ +YQ +YQ +YQ +rd +wH +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +kr +YQ +ZV +Pg +AF +rF +YQ +YQ +mY +YQ +vK +YQ +Yd +XC +YQ +wH +YQ +YQ +YQ +YQ +YQ +rd +vK +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(67,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +Vh +qs +JF +LK +JF +Ex +JF +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Wl +YQ +YQ +vl +ZV +Pg +pK +YQ +YQ +MW +YQ +YQ +YQ +CN +rF +YQ +YQ +YQ +CN +YQ +YQ +vK +ZV +MW +YQ +YQ +CN +YQ +YQ +MW +Pg +cn +YQ +YQ +YQ +CN +YQ +IC +du +io +io +du +io +du +yu +YQ +sQ +Jo +du +yu +nD +sQ +sQ +YQ +sQ +sQ +sQ +sQ +YQ +Wl +rF +YQ +YQ +YQ +CN +YQ +YQ +kr +cn +rd +YQ +YQ +YQ +YQ +YQ +YQ +CN +vK +YQ +YQ +YQ +CN +YQ +YQ +MW +YQ +YQ +YQ +CV +YQ +aP +YQ +YQ +YQ +CN +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(68,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Xj +Xj +Xj +JF +Ex +JF +Xj +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +wH +rd +YQ +Xh +YQ +YQ +YQ +YQ +CN +YQ +ZV +cn +wH +YQ +YQ +YQ +MW +YQ +cn +cn +rd +YQ +Wl +cn +YQ +kr +rF +YQ +YQ +YM +YQ +YQ +YQ +mY +YQ +YQ +Jo +io +io +io +io +yu +YQ +rF +Wl +YQ +IF +YQ +cn +Vm +YQ +YQ +CN +rF +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +YQ +rF +Wl +rd +vK +YQ +YQ +YQ +YM +YQ +YQ +rF +YQ +rd +YQ +YQ +Wl +wH +YQ +YQ +CN +CV +Pu +rd +YQ +YQ +YQ +YQ +YQ +YQ +Wl +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(69,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +rF +YQ +YQ +YQ +YQ +rd +YQ +Wl +YQ +CN +wH +Wl +YQ +YQ +CN +YQ +YQ +YM +vK +YQ +Wl +Wl +YQ +YQ +CN +Wl +YQ +rd +YQ +Pg +rF +OU +du +io +du +yu +Pg +YQ +YQ +YQ +OU +io +xH +Oe +Ko +wj +YQ +YQ +cn +Pg +YQ +YQ +YQ +YQ +YM +Wl +vK +YQ +YM +AF +YQ +YQ +YQ +CN +vK +rd +Wl +rd +YQ +YQ +cn +ZV +MW +YQ +rd +aP +vK +YQ +ZV +rd +AF +cn +YQ +YQ +CN +YQ +cn +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(70,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +aP +vK +Pg +YQ +YQ +YQ +cn +Wl +YQ +AF +YQ +CN +YQ +AF +YQ +YQ +AF +YQ +YQ +YQ +Wl +AF +rF +YQ +YQ +YQ +YQ +CN +YQ +vK +rF +YQ +AF +vK +YQ +YQ +Wl +OU +io +io +io +DL +YQ +YQ +CN +YQ +Kr +io +du +bw +nJ +wH +YQ +YQ +YQ +Tw +wH +YQ +YQ +YQ +CN +rF +YQ +YQ +YQ +CN +cn +YQ +YQ +wH +cn +YQ +AF +YQ +YQ +YQ +CN +YQ +YQ +rF +Wl +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +vK +YQ +aP +YQ +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(71,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +AF +kr +YQ +rd +AF +rd +wH +kr +YQ +YQ +aP +YQ +YQ +YQ +vK +Pg +YQ +YQ +YQ +CN +rF +YQ +kr +YQ +YQ +MW +YQ +YQ +YQ +wH +YQ +cn +ZV +Mp +Mp +Jj +Jj +Mp +Mp +YQ +PS +du +io +DL +YQ +YQ +rd +YQ +YQ +Jo +io +KX +YQ +AF +YQ +YQ +YQ +YQ +YM +YQ +YQ +YQ +VP +Pg +YQ +YQ +YQ +YQ +YQ +ZV +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +AF +YQ +YQ +Pg +YQ +YQ +YM +Wl +YQ +YQ +wH +ZV +AF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(72,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YM +cn +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +Tw +wH +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +CN +Pg +YQ +YQ +YQ +CN +Pg +Wl +YQ +YQ +YQ +jF +Mp +gZ +Jd +Jd +tC +Mp +wj +XB +du +nv +YQ +rF +YQ +qg +qg +yK +yY +yY +qg +qg +Wd +ZV +YQ +YQ +YQ +YQ +Mp +Mp +Mp +Mp +Mp +Mp +Mp +YQ +YQ +YQ +CN +rd +KM +YQ +YQ +YQ +cn +YQ +YQ +YM +YQ +Wl +YQ +YQ +YQ +CN +aP +YQ +YQ +YQ +AF +YQ +YQ +YQ +CN +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(73,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +rd +YQ +MW +MW +YQ +YQ +YQ +cn +YQ +YQ +Pg +YQ +vK +Wl +YQ +Wl +YQ +Wl +vK +YQ +YQ +YQ +wH +Wl +YQ +YQ +YQ +wH +cn +YQ +YQ +YQ +YQ +YQ +Mp +gZ +Jd +Jd +xr +Mp +XB +io +Ty +io +DL +YM +YQ +qg +pT +nq +PN +zH +qg +zl +Wd +YQ +Wl +YQ +wH +Mp +Gl +TC +cg +RI +Mp +Qc +Mp +Mp +wj +YQ +YQ +YQ +MW +rd +YQ +YQ +YQ +CN +YQ +kr +rF +rd +YQ +YQ +YQ +cn +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +MW +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(74,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +aP +YQ +YQ +CN +AF +Wl +kr +aP +MW +rd +rd +kr +YQ +YM +rF +YQ +YQ +YQ +YQ +YQ +YM +rd +YQ +mY +YQ +YQ +YQ +YM +YQ +YQ +YQ +CN +Pg +rd +Mp +gZ +Jd +Jd +Jd +Hw +io +du +xH +sQ +YQ +YQ +vK +yK +Eq +eI +PN +yW +qg +zl +Wd +YQ +Oe +Mp +Mp +Mp +Jq +Jd +Jd +Jd +FV +MP +Yt +Mp +Wl +YQ +YQ +YQ +CN +AF +Wl +YQ +rd +rd +YQ +YQ +YQ +YQ +YM +ZV +rd +VU +YQ +YQ +MW +YQ +rF +kr +YQ +cn +YQ +vK +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(75,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Wl +YQ +YQ +YQ +YQ +rd +YQ +YQ +AF +YQ +YQ +YM +YQ +rd +YQ +Wl +YQ +YQ +YQ +CN +rd +rF +YQ +YQ +YQ +CN +ZV +YQ +YQ +YQ +YQ +YQ +YQ +MW +YQ +Mp +eK +Jd +Jd +aY +Mp +ne +du +io +DL +YQ +YQ +YQ +qg +pT +nq +PN +zH +qg +zl +Wd +YQ +kr +Mp +Kl +Mp +gv +Jd +Jd +Kw +Mp +MP +iH +Mp +YQ +YQ +YQ +Pg +YQ +kr +YQ +YQ +rF +YQ +YQ +YQ +CN +rd +Pg +YQ +YQ +YQ +CN +YQ +rd +AF +rd +YQ +vK +YQ +Wl +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(76,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +rd +YQ +kr +Wl +YQ +YQ +YQ +CN +rd +YQ +YQ +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +AF +YQ +YQ +YQ +rF +YQ +Wl +YQ +YQ +YQ +CN +cn +YQ +YQ +wH +Mp +Gl +hy +Jd +Us +Mp +Ka +wF +du +DL +MW +YQ +kr +qg +qg +yK +yY +yY +qg +qg +Wd +wH +YQ +IK +Jd +Sk +Jd +Jd +Jd +sn +Mp +MP +kQ +Mp +rF +cn +AF +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +Wl +rF +YQ +YQ +YQ +YQ +aP +YQ +YM +YQ +YQ +YQ +CN +AF +rF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(77,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +YQ +YQ +aP +YQ +Wl +YQ +ZV +Wl +YQ +YQ +CN +YQ +VU +YQ +rd +YQ +ZV +MW +YQ +YQ +YQ +CN +YQ +AF +Pg +YQ +YQ +YQ +rF +YQ +YQ +YQ +CN +Mp +VL +Jd +Jd +Jd +Hw +io +du +io +xH +YQ +YQ +YQ +YQ +YQ +hw +du +io +zr +AF +YQ +YQ +Pg +Jj +Jd +Gl +Mp +sD +Nx +Mp +Gl +Mp +Mp +Mp +cn +vK +YQ +YQ +YQ +CN +YQ +YQ +YQ +kr +YQ +YQ +YM +YQ +YQ +YQ +CN +YQ +kr +YQ +YQ +YQ +YQ +aP +wH +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(78,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Tv +YQ +ZV +YQ +YQ +YQ +YQ +CN +cn +YQ +kr +YQ +YQ +YQ +YQ +YQ +ZV +vK +YQ +YQ +YM +Wl +YQ +YQ +YQ +YQ +YQ +YQ +CN +cn +MW +Pg +AF +Wl +YQ +YQ +YQ +Mp +VL +Jd +Jd +EL +Mp +Jo +io +du +xH +YM +rF +YQ +YQ +YQ +ow +io +du +DL +YQ +rd +YQ +rF +Mp +Jd +Jd +Jd +Wi +Wi +CH +Jd +dn +XM +Mp +YQ +YM +YQ +YQ +rd +YQ +YQ +YM +rd +MW +YQ +YQ +AF +cn +YQ +YQ +Wl +YQ +YQ +AF +rd +cn +Pg +Wl +YQ +cn +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(79,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +AF +kr +rd +YQ +YQ +YQ +YQ +MW +AF +YQ +YQ +rd +Pg +aP +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +KM +Wl +YQ +YQ +wH +YQ +YQ +YQ +YQ +CN +YQ +YQ +YM +mt +Mp +VL +Jd +Jd +Jq +Mp +QX +Jo +io +du +DL +YQ +YQ +YQ +kr +YQ +uc +io +FP +YQ +YQ +YQ +cn +Mp +Jd +Jd +Bn +Jd +Jd +Jd +Bn +Jd +iR +Mp +YQ +rF +Wl +wH +mY +YQ +YQ +Pg +YQ +YQ +YQ +CN +ZV +rd +vK +AF +YQ +YQ +YQ +YQ +CN +YQ +aP +YQ +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(80,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Wl +mY +YQ +YQ +YQ +cn +ZV +YQ +YM +rd +aP +YQ +YQ +CN +mY +AF +YQ +YQ +YQ +wH +YQ +YQ +Pg +YQ +YQ +YQ +AF +Wl +YQ +kr +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Mp +Mp +Jj +Jj +Mp +Mp +YQ +rF +Jo +io +DL +YQ +Wl +YQ +Vm +tZ +io +yu +YQ +YQ +YQ +CN +YQ +IK +Jd +dn +DU +fW +Jd +dn +ii +fW +Jd +IK +AF +YQ +YQ +kr +YQ +YQ +YQ +CN +YQ +YQ +rF +Wl +wH +YQ +aP +YQ +kr +YQ +cn +YQ +YQ +wH +vK +MW +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(81,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +aP +YQ +YQ +YQ +CN +YQ +Wl +YQ +kr +YQ +YQ +YQ +YQ +cn +YQ +YQ +YQ +MW +rd +YQ +YQ +kr +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +AF +YQ +YQ +YQ +CN +vK +YQ +wH +YQ +YQ +ZV +YQ +YQ +wH +XB +du +DL +Pg +YQ +gU +Ko +Ro +du +xH +YQ +aP +Pg +YQ +AF +IK +Bn +Jd +iR +Jd +Jd +Jd +iR +Jd +Jd +IK +YQ +YQ +YQ +CN +YQ +YQ +rF +YQ +rd +wH +AF +rd +YQ +YQ +YQ +CN +YQ +ZV +rd +Wl +YQ +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(82,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +MW +YQ +YQ +YQ +YQ +rd +aP +YQ +YQ +wH +Wl +YQ +Wo +ZV +YQ +YQ +YQ +CN +YQ +YQ +YQ +Tw +YQ +YQ +YQ +YQ +Wl +YQ +rF +YQ +YQ +Wl +CN +YQ +cn +YQ +YQ +YQ +YQ +YQ +YQ +YQ +aP +YQ +OU +io +UH +jj +Ka +Ka +Ka +nJ +YU +du +io +xH +ZV +YQ +YQ +YQ +Mp +yX +wZ +Jd +Jd +Ct +Xm +Mx +dW +PW +Jj +vK +YQ +kr +YQ +Wl +rd +YQ +YQ +YQ +CN +cn +YQ +YQ +YQ +YQ +YQ +YQ +bn +aP +YQ +YQ +YQ +Wl +AF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(83,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +YQ +YM +aP +rd +YQ +Wl +kr +YQ +YQ +YQ +CN +YQ +YQ +rd +vK +YQ +YQ +YQ +YQ +YQ +YQ +Wl +wH +YQ +YQ +YM +vK +YQ +rx +YQ +Wl +YQ +YQ +wH +rd +Pg +YQ +YQ +YQ +CN +YQ +YQ +YQ +rd +Sc +io +du +io +io +du +io +QB +io +io +du +du +xH +Wl +YQ +DO +Mp +IK +Gl +EP +Mp +Jj +Gl +le +Qr +rt +Mp +Pg +rF +YQ +YQ +cn +AF +YQ +YQ +YQ +YQ +YQ +YQ +CN +rF +AF +Pg +YQ +YQ +AF +YQ +YQ +rd +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(84,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YM +kr +YQ +YQ +YQ +wH +vK +Pg +YQ +YQ +YQ +aP +YQ +YQ +CN +wH +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +YQ +YQ +cn +YQ +YQ +CN +cn +YQ +YQ +YM +YQ +YQ +YQ +YQ +YQ +Vm +cn +YQ +YQ +vK +OU +du +io +du +du +hk +io +DL +Jo +du +io +du +du +xH +Ka +Ka +Ka +ZV +XB +io +St +YQ +Mp +Mp +IK +Mp +Mp +vc +YQ +YQ +Vm +CN +MW +YQ +cn +kr +YQ +kr +vK +Pg +YQ +YQ +YQ +Tw +wH +YQ +YQ +YQ +CN +cn +rF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(85,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +YQ +ZV +AF +YQ +YQ +YQ +CN +YQ +Wl +YM +AF +YQ +YQ +YQ +YQ +YQ +YQ +YQ +kr +YQ +cn +YQ +YQ +YQ +YQ +YQ +CN +tu +YQ +YQ +MW +AF +YQ +YQ +Wl +CN +rF +ZV +YQ +IW +Ko +wj +YQ +kr +YQ +Fd +uc +io +yu +jb +YQ +sQ +wH +vK +sQ +Jo +io +io +du +du +io +io +WE +du +io +xH +uW +Ka +Ka +YQ +kr +YQ +YQ +wH +Oe +Ko +Gu +YQ +YQ +Tw +MW +MW +YQ +Wl +rd +MW +YQ +YQ +rd +YQ +cn +kr +YQ +AU +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(86,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Wl +wH +aP +YQ +YQ +cn +YQ +YQ +YQ +YQ +YQ +YQ +MW +kr +Pg +YQ +aP +YQ +CN +Wl +YQ +YQ +cn +rF +AF +Wl +YQ +YQ +YQ +YQ +rd +YQ +YQ +vK +YQ +YQ +YQ +YQ +YQ +YQ +wH +YQ +nJ +MW +YQ +YQ +OU +du +io +du +DL +YQ +YQ +Wl +YQ +YQ +rF +rd +CR +du +du +mZ +Wa +du +io +io +du +io +du +du +io +Nd +YJ +Ka +uW +YQ +YQ +lJ +YQ +YQ +YQ +wH +YQ +rd +YQ +CN +wH +cn +ZV +YQ +YQ +aP +Wl +YQ +rd +YQ +AF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(87,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +CN +YQ +YQ +Wl +aP +KM +Ym +cn +YQ +YQ +YM +rF +Wl +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +cn +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +wH +YQ +kr +YQ +YQ +YQ +YQ +YQ +YQ +aP +OU +du +io +yu +Vm +aP +YQ +YQ +YQ +MW +YQ +YQ +YQ +sQ +sQ +YQ +YQ +sQ +sQ +Jo +io +du +hk +io +du +io +du +du +io +lf +YQ +YQ +YQ +kr +aP +fz +YQ +YQ +YQ +YQ +YQ +rF +YQ +YQ +YQ +CN +YQ +YQ +YM +Wl +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(88,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +cn +kr +YQ +YQ +Wl +YQ +YM +wH +kr +YQ +YQ +YQ +CN +YQ +YQ +wH +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +YQ +rF +YQ +YQ +ZV +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +mY +AF +YQ +YQ +YM +YQ +YQ +OU +io +UH +Oe +Ko +wj +kr +YQ +YQ +CV +YQ +YQ +YM +MW +YQ +aP +YQ +YQ +YQ +YQ +sQ +LW +wH +Jo +io +io +io +du +io +io +DL +YM +rd +Mp +Mp +Mp +Mp +Mp +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(89,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +PB +YQ +YQ +Pg +YQ +Wl +YQ +YQ +YQ +AF +YQ +YQ +YQ +mY +AF +Wl +YQ +YQ +CN +YQ +ZV +wH +Pg +YQ +YQ +YQ +ZV +Wl +YQ +kr +YQ +wH +Wl +vK +Hk +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Vm +vK +Wl +YQ +YQ +kw +du +DL +hp +YQ +YQ +YQ +YQ +YQ +Ka +SF +Ka +Ar +YQ +vK +YQ +Vm +YQ +CN +YQ +YQ +YQ +YQ +sQ +sQ +sQ +Jo +du +QC +Ka +Ka +Ka +Mp +Ct +MJ +zI +Mp +cn +YQ +YQ +wH +YQ +kr +AF +YQ +YQ +YQ +CN +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(90,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +MW +aP +YQ +YQ +YQ +CN +YQ +YQ +YM +cn +ZV +pN +YQ +cn +YQ +YQ +YQ +YQ +Aa +YQ +YQ +YQ +YQ +CN +MW +YQ +YQ +YQ +CN +rF +Mp +Mp +Mp +Mp +Mp +IK +Gl +IK +Mp +bf +YQ +YQ +YQ +xU +io +du +DL +ZV +AF +cn +Ka +Ka +EQ +du +du +Ud +io +as +YQ +Oe +Ko +wj +YQ +YQ +YQ +YQ +YM +YQ +YQ +YQ +YM +Jo +du +du +io +du +uj +Jd +Jd +An +Mp +YQ +rd +aP +Wl +YQ +YQ +vK +Wl +YQ +YQ +wH +vK +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(91,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +YQ +kr +Pg +YQ +YQ +YQ +Wl +MW +wH +aP +Wl +YQ +kr +YQ +YQ +MW +YQ +YQ +YQ +CN +YQ +YQ +YQ +vK +Pg +YQ +YQ +YQ +YQ +ZV +Mp +uZ +Jd +Iw +Wi +Jd +vx +Jd +yM +Mp +AF +YQ +Ol +io +du +io +DL +YQ +cD +ws +io +Kk +io +du +uG +dF +du +io +yy +rd +nJ +YQ +YQ +MW +YQ +YQ +Pg +ZV +YQ +YQ +YQ +OU +io +io +yu +JZ +Mp +fh +Jd +af +Mp +mk +vK +rd +YQ +YQ +YQ +td +YQ +Pg +Bp +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(92,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +rd +AF +YQ +YQ +YQ +cn +rd +YQ +aP +YQ +cn +YQ +YQ +YM +YQ +nm +YQ +CN +YQ +YQ +YQ +YQ +YQ +YM +zx +cn +YQ +YQ +YQ +YM +cn +Pg +Mp +BY +Jd +sS +Wi +Co +Se +tK +Jd +Jj +YQ +YQ +OU +du +io +yu +rd +OU +du +io +du +uG +QA +QA +pQ +pQ +dF +io +du +xH +AF +YQ +YQ +YQ +YQ +YQ +YQ +Vm +cn +YQ +wH +YQ +pm +io +DL +Oe +Mp +Mp +FO +Mp +Mp +YQ +YM +YQ +YQ +YQ +MW +YQ +YQ +YM +rF +Wl +AR +AR +AR +AR +AR +AR +AR +kW +Xj +Xj +AR +kW +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(93,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +YQ +YQ +YQ +CN +Wl +vK +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +aP +YQ +YQ +vK +MW +YQ +YQ +YQ +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +rd +Mp +kB +Jd +kz +Wi +Jd +Jt +Jd +Jd +Gl +Ka +Ka +mE +io +io +DL +YQ +hH +du +Ud +uG +pQ +pQ +pQ +pQ +pQ +pQ +dF +io +io +DL +YQ +YQ +YQ +Wl +Mp +Mp +Mp +Mp +Mp +rd +OU +io +du +DL +YQ +Mp +pn +Jd +XV +Mp +YQ +YQ +YQ +YQ +CN +YQ +kr +YQ +rd +ZV +cn +AR +AR +AR +AR +AR +AR +AR +Xj +qa +Ih +ti +qi +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(94,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +aP +YQ +YQ +YQ +YQ +YQ +YQ +aP +AF +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YM +Wl +YQ +YQ +YQ +CN +AF +YQ +YQ +YQ +rd +YQ +Wl +YQ +CN +Mp +fm +Jd +dt +Wi +Jd +Jd +Jd +Jd +vZ +du +io +du +du +io +Mf +YQ +KR +io +uG +pQ +pQ +pQ +pQ +pQ +pQ +pQ +Hg +Kk +io +xH +YQ +YM +YQ +YQ +Mp +zI +MJ +Ct +Mp +Ka +OU +io +io +DL +AF +Mp +Mp +Mp +Mp +Mp +Pg +YQ +YQ +YQ +wH +Wl +YQ +aP +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +ti +Ih +oW +qa +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(95,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +vK +cn +YQ +Wl +kr +YQ +YQ +YM +YQ +dY +YQ +YQ +Wl +wH +YQ +Pg +vK +YQ +YQ +rF +Pg +cn +YQ +YQ +YQ +cn +YQ +wH +YQ +MW +Wl +YQ +YQ +Oe +Mp +Ct +Jd +Mh +Wi +Jd +Jd +Jd +Jd +Gl +oX +sQ +CR +du +io +DL +Kr +du +io +uh +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +dF +io +du +qr +YQ +rd +vK +Mp +wv +Jd +Jd +tS +io +QB +du +UH +YQ +YQ +YQ +YQ +Wl +YQ +MW +YQ +rd +AF +YQ +rF +rd +YQ +YQ +YQ +YQ +AF +AR +AR +AR +AR +AR +AR +AR +Xj +qa +qa +Ih +Ih +kW +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(96,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +mY +YQ +YM +YQ +aP +AF +YQ +rd +Pg +YQ +YQ +YQ +CN +vK +aP +YQ +cn +YQ +YQ +YQ +CN +YQ +YQ +YM +kr +Wl +YQ +YQ +CN +YQ +ZV +Pg +YQ +YM +Mp +Jd +Jd +BB +Jd +Jd +Jd +vx +Jd +IK +wH +YQ +OU +io +io +DL +OU +io +uG +pQ +pQ +pQ +pQ +pQ +YK +pQ +pQ +pQ +pQ +dF +du +xH +CV +YQ +jQ +Mp +af +Jd +gV +Mp +sQ +OU +du +du +YQ +YM +wH +YQ +YQ +YQ +rd +YQ +ZV +YQ +YQ +YQ +CN +YQ +YQ +YM +Wl +Pg +AR +AR +AR +AR +AR +AR +AR +Xj +ti +ai +qa +ti +kW +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(97,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +YQ +YQ +Wl +YQ +YQ +cn +YQ +Wl +YQ +YQ +rd +YQ +AF +Wl +YQ +rd +CN +YQ +YQ +wH +YQ +YQ +YQ +YQ +YQ +YQ +Pg +YQ +YQ +YM +YQ +YQ +YQ +Mp +Jd +Jd +Se +Wi +Jd +Co +bZ +tK +Jj +YQ +MW +YQ +uC +du +DL +jJ +du +VJ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +Hg +ot +io +DL +YQ +ZV +Mp +Gl +FO +Mp +Mp +wj +OU +du +UH +YQ +YQ +cn +rd +ZV +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Pg +cn +YQ +YQ +YQ +vK +AR +AR +AR +AR +AR +AR +AR +AR +Ih +WD +Ih +Ih +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(98,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +YQ +wH +YQ +kr +YQ +YQ +MW +YQ +YQ +YQ +kr +YQ +YQ +YQ +YQ +CN +wH +rd +cn +YQ +YQ +YQ +YQ +CN +wH +Mp +Jd +Jd +Gv +at +Jd +Jd +gj +Gn +Mp +YQ +YQ +OU +du +io +MS +Sc +io +Kk +uh +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +Hg +Bh +Vb +DL +kr +YQ +Mp +Ta +Jd +lS +Mp +vK +YQ +uc +du +zr +YQ +Mp +Mp +Mp +Mp +Mp +YQ +YQ +CN +vK +kr +Wl +YQ +MW +YQ +hv +rd +AR +AR +AR +AR +AR +AR +AR +kW +ti +Ih +cK +ti +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(99,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +aP +YM +Wl +YQ +YQ +aP +CN +ZV +YQ +YM +YQ +MW +YQ +YQ +YQ +YQ +AF +YQ +YQ +YQ +CN +YQ +YQ +YQ +PD +Mp +tx +Gl +Mp +Gl +Mp +Jd +Jd +Gl +Mp +wj +aP +OU +du +io +DL +MD +io +io +uh +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +dF +du +HD +YQ +YQ +Mp +Mp +Mp +Mp +Mp +Wl +OU +io +io +xH +rT +Mp +Ct +MJ +zI +Mp +YQ +YQ +wH +YQ +aP +YQ +rd +YQ +YQ +VU +YQ +AR +AR +AR +AR +AR +AR +AR +Xj +Xj +kW +AR +Xj +Xj +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(100,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AF +rd +kr +cn +YQ +YQ +YM +kr +cn +YQ +rF +YQ +YQ +YQ +YQ +Wl +YQ +YQ +rF +YQ +YQ +XC +YQ +YQ +rF +ZV +YQ +YQ +YQ +YQ +kr +Wl +AF +YQ +Mp +Jd +Jd +eN +Mp +by +Jd +Jd +by +Mp +AF +YQ +OU +io +UH +YQ +ow +du +uG +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +EA +io +DL +YQ +YQ +YQ +YQ +aP +YQ +rd +wH +OU +du +io +io +du +Du +Jd +Jd +An +Mp +YQ +cn +rd +YQ +YQ +YQ +CN +YQ +kr +rd +wH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(101,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +aP +YQ +Wl +YQ +Wl +YQ +YQ +AF +YQ +YQ +YM +rd +AF +YQ +YQ +YQ +CN +rd +yi +HC +XC +YQ +YQ +YQ +CN +YQ +YQ +YM +YQ +YQ +YQ +pC +Mp +QI +Jd +LE +Mp +Jd +vx +vx +Jd +Jj +YQ +cn +OU +io +du +DL +OU +du +VJ +pQ +pQ +pQ +pQ +pQ +YK +pQ +pQ +pQ +pQ +Hg +du +io +bw +YQ +YQ +YQ +CN +YQ +MW +YQ +YQ +OU +io +io +yu +sQ +Mp +vs +Jd +af +Mp +Pd +YQ +YQ +YQ +YQ +YQ +KM +YQ +YQ +YQ +CN +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(102,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +Fz +rd +vK +YQ +YQ +YQ +CN +YQ +Wl +cn +aP +YQ +YQ +AF +Pg +YQ +yQ +XC +YQ +YQ +YQ +YQ +YQ +YQ +cn +mY +MW +YQ +YQ +YQ +Mp +SV +Jd +kn +Gl +xS +kq +Tm +tK +IK +ZV +YQ +OU +du +io +DL +hw +io +Ud +VJ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +EA +io +Hm +YQ +YQ +YQ +YQ +YQ +Pg +YQ +YQ +kr +OU +io +sQ +CN +Oe +Mp +Gl +FO +Mp +Mp +YQ +YQ +YQ +YQ +CN +ZV +kr +rF +YQ +YQ +YQ +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(103,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +Pg +YQ +YQ +YQ +YQ +aP +YQ +YQ +YQ +YQ +Pg +ZV +YQ +YQ +YQ +CN +YQ +YQ +CV +Ka +Ka +Ka +YQ +kr +YQ +YQ +YQ +CN +Wl +YQ +Wl +AF +rF +Mp +iE +eT +gL +Mp +wV +Ah +Tm +vN +Mp +YQ +YQ +Kr +io +io +DL +YQ +QO +du +io +uh +pQ +pQ +pQ +pQ +pQ +pQ +pQ +Hg +Kk +io +DL +rd +YQ +vK +Mp +Mp +Mp +Mp +Mp +YQ +OU +io +zA +YQ +YQ +Mp +pn +Jd +XV +Mp +Pg +YQ +YQ +MW +mY +YQ +rd +YQ +AF +YQ +cn +YQ +wH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(104,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Wl +YQ +kr +ZV +rd +wH +Wl +YQ +YQ +rd +MW +YQ +YQ +YQ +YQ +YQ +YQ +mE +io +du +io +PL +YQ +Pg +YQ +rd +YQ +YQ +YQ +YQ +CN +cn +Mp +Mp +Mp +Mp +Mp +Mp +Jj +IK +Mp +Mp +YQ +YM +YQ +uc +du +DL +VU +OU +io +du +VJ +pQ +pQ +pQ +pQ +pQ +pQ +pQ +Hg +du +io +DL +mY +Wl +YQ +Mp +zI +MJ +Ct +Mp +Ka +XB +io +du +DL +MW +Mp +Mp +Mp +Mp +Mp +rd +YQ +rF +cn +aP +YQ +YQ +CN +YQ +Wl +YQ +aP +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(105,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +AF +YQ +YQ +YQ +rd +AF +YQ +YQ +YQ +CN +YQ +mY +kr +rd +oj +YQ +ws +du +du +AT +du +du +yy +YQ +Wl +YQ +MW +YQ +YQ +YQ +YQ +YQ +nJ +vK +YQ +Wl +YQ +YQ +YQ +rd +YQ +nJ +YQ +YQ +OU +io +Vg +YQ +YQ +YQ +iU +du +Kk +uh +pQ +EA +no +VJ +pQ +pQ +EA +io +YE +AF +YQ +YQ +YQ +Mp +wv +Jd +Jd +HI +du +io +du +io +DL +YQ +YQ +YQ +AF +YQ +YQ +YQ +rd +YQ +Wl +YQ +YQ +YQ +YQ +YQ +YQ +CN +vK +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(106,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +CN +aP +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +Wl +vK +YQ +YQ +YQ +OU +io +io +uG +pQ +dF +io +io +HQ +YQ +kr +YQ +YQ +YQ +CN +Wl +YQ +YQ +YQ +CN +rF +YQ +YQ +YQ +YQ +kr +YQ +YQ +YQ +OU +io +du +DL +Pg +vK +MD +io +io +VJ +EA +du +io +du +VJ +EA +Ud +du +DL +YQ +YQ +YQ +El +Mp +af +Jd +bW +Mp +sQ +Jo +io +du +DL +YQ +aP +YQ +YM +YQ +YQ +YQ +YQ +CN +YQ +YQ +rd +Wl +YQ +YQ +YQ +YQ +YQ +cn +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(107,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +ZV +cn +rd +YQ +YQ +rd +YQ +cn +YQ +YQ +YQ +YQ +CN +YQ +YQ +YM +vy +du +uG +pQ +pQ +Hg +du +io +DL +rF +wH +YQ +YQ +YQ +wH +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YM +YQ +YQ +YQ +YQ +aP +OU +du +io +xH +YQ +YQ +jB +Fq +io +du +io +io +io +io +du +du +io +Hm +CV +YQ +YQ +wH +YQ +Mp +Mp +FO +Mp +Mp +wj +Pg +uc +io +MS +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +Pg +wH +rd +YQ +YQ +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(108,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +wH +YQ +YQ +YM +Pg +aP +YQ +YQ +YQ +YQ +YQ +AF +YQ +YQ +OU +io +uh +pQ +pQ +pQ +dF +du +uv +YQ +YQ +YQ +YQ +cn +YQ +YQ +YQ +CN +cn +YQ +kr +YQ +YQ +rF +YQ +AF +YQ +ZV +YQ +OU +du +io +du +DL +gU +Ko +wj +lr +sQ +nw +du +io +io +KO +sQ +sQ +YQ +CN +YQ +YQ +YQ +YQ +Mp +hU +Jd +lS +Mp +YQ +Yf +du +UH +YQ +rd +Mp +Mp +Mp +Mp +Mp +YQ +cn +YQ +YQ +ZV +YQ +cn +YQ +YM +YQ +YQ +YQ +YQ +AF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(109,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +hv +YQ +vK +YQ +Wl +YQ +YQ +YQ +CN +YQ +Wl +YQ +cn +aP +OU +du +VJ +pQ +pQ +pQ +EA +io +DL +YQ +YQ +YQ +CN +rd +ZV +YQ +YQ +YQ +YQ +YQ +YQ +YQ +wH +YQ +vK +YQ +Pg +YQ +Wl +YQ +Jo +io +yu +Ka +Ka +nJ +cn +YQ +CV +YQ +IC +io +yu +YQ +Wl +YQ +YQ +YQ +YQ +YQ +YM +YQ +Mp +Mp +Mp +Mp +Mp +YQ +OU +io +io +xH +wH +Mp +Ct +MJ +zI +Mp +wH +YQ +rF +YQ +rd +YQ +YQ +AF +ZV +kr +MW +YQ +Pg +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(110,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Wl +MW +YQ +cn +rd +YQ +VU +YQ +Pg +YQ +YQ +Dz +YQ +YQ +OU +du +io +VJ +pQ +Hg +io +du +DL +YQ +YQ +YQ +AF +Wl +YQ +YQ +kr +YQ +YQ +YQ +Tw +YQ +YQ +MW +Vm +cn +YQ +YQ +YQ +YQ +YQ +sQ +hw +io +du +xH +YQ +CN +YQ +MW +XB +io +yx +YQ +vK +YQ +kr +YQ +YQ +YQ +YQ +YQ +YQ +YQ +nJ +rd +ZV +YQ +OU +du +io +du +DL +IO +Jd +Jd +An +Mp +YQ +AF +YQ +YQ +YQ +Tw +cn +aP +YQ +YQ +YQ +YQ +CN +cn +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(111,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +YQ +YQ +YQ +CN +YQ +wH +YQ +rd +kr +Wl +YQ +YQ +CN +YQ +Wl +iU +du +io +VJ +EA +du +io +CK +YQ +YQ +YQ +AF +YQ +YQ +YQ +CN +YQ +Wl +YQ +wH +ZV +YQ +Oe +Ko +wj +YQ +YQ +YQ +kr +YQ +YQ +OU +du +io +du +DL +Ka +Ka +XB +du +io +io +xH +YQ +YQ +YQ +YQ +rd +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +rQ +du +io +yu +YQ +Mp +TX +Jd +af +Mp +wj +YQ +YQ +YQ +YQ +MW +YQ +YQ +YM +rd +YQ +YQ +YQ +Wl +mY +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(112,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +kr +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +MW +YQ +YQ +ZV +YQ +YQ +YQ +YQ +QO +du +du +io +io +Hm +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +MW +rd +Wl +YQ +YQ +YQ +CN +YQ +nJ +YQ +YQ +CN +YQ +YQ +Pg +rd +wH +Jo +io +du +WE +du +du +io +io +du +io +du +Nd +rd +wH +YQ +ZV +YQ +MW +YQ +aP +YQ +Ka +Ka +Ka +YQ +XB +io +io +DL +mt +Mp +Mp +FO +Mp +Mp +YQ +YQ +YQ +CN +YQ +kr +YQ +YQ +vK +kr +Wl +YQ +YQ +YQ +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(113,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +ZV +AF +YQ +rd +YQ +YQ +ZV +AF +YQ +YQ +vK +YQ +rd +kr +YQ +YM +wH +YQ +sQ +sQ +uu +sQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Wl +AF +vK +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +MW +YQ +Jo +io +io +hk +io +du +io +yu +CR +io +io +xH +Ka +cn +Ka +Ka +Ka +YQ +Ka +hC +du +io +io +MX +du +io +yu +YQ +YQ +Mp +pn +Jd +XV +Mp +YQ +YQ +YQ +YQ +wH +YQ +YQ +YQ +CN +YQ +YQ +YQ +aP +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(114,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +aP +YQ +kr +Pg +mY +YQ +YQ +YQ +CN +cn +Pg +YQ +YQ +YQ +kr +Pg +rd +rF +YQ +YQ +YQ +YQ +CN +MW +YQ +kr +Wl +YQ +YM +YQ +YQ +YQ +CN +YQ +YQ +YM +YQ +Wl +YQ +mY +rF +Mp +Mp +Mp +Mp +Mp +YQ +Wl +Jo +du +ht +Jo +io +yu +YQ +OU +du +du +io +du +WE +io +io +du +WE +io +io +io +du +io +du +hk +io +DL +YQ +Wl +Mp +Mp +Mp +Mp +Mp +wH +AF +YQ +MW +kf +YQ +YQ +YQ +Pg +cn +YQ +Wl +YQ +YQ +ZV +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(115,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +CN +YQ +YQ +YQ +Wl +YQ +rd +aP +YQ +Wl +rd +YQ +YQ +YQ +CN +Wl +YQ +YQ +AF +YQ +YQ +YQ +YQ +YQ +YM +ZV +YQ +YQ +rd +YQ +YQ +YQ +ZV +AF +YQ +YQ +wH +YQ +YQ +cn +El +Mp +ml +Qt +ww +Mp +ZV +YQ +Tx +io +DL +uX +du +eJ +Wl +YQ +Jo +io +io +io +du +hk +du +io +io +du +du +io +yu +sQ +sQ +YQ +sQ +YQ +YQ +YQ +mY +YQ +nJ +YQ +vK +rd +YQ +YQ +YQ +td +YQ +YQ +cn +rd +YQ +wH +rd +AF +YQ +cV +Pg +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(116,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Wl +YQ +YQ +YQ +CN +cn +ZV +YQ +YQ +YM +AF +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +Pg +YQ +YM +cn +YQ +YQ +YQ +CN +vK +YQ +Pg +YQ +Mp +QE +QE +eR +Mp +Mp +Jj +Mp +Ag +IK +Jj +Ag +Gl +IK +Mp +wj +sQ +sQ +JZ +sQ +YQ +sQ +sQ +sQ +sQ +sQ +sQ +wH +YQ +rd +YQ +YQ +ZV +kr +YQ +wH +YQ +YQ +YQ +CN +cn +aP +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +MW +CN +YQ +YQ +YQ +CN +Wl +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(117,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AF +cn +YQ +YQ +YQ +YQ +YQ +kr +YQ +YQ +YQ +YQ +Wl +YQ +nt +ZV +YQ +YQ +YQ +Wl +YQ +YQ +YQ +YQ +YQ +cn +Pg +YQ +YQ +YQ +AF +YQ +YQ +YQ +YQ +YQ +YQ +YQ +rF +MW +YQ +YQ +Mp +lV +Mp +Mp +Gl +Mp +Xm +CH +Jd +Jd +Jd +Jd +CH +Or +Mp +YQ +rd +YQ +YQ +YQ +og +YQ +rd +YQ +YQ +cn +YQ +Wl +YQ +YQ +YQ +Pg +YQ +YQ +aP +YQ +YQ +YQ +YQ +YQ +YQ +Pg +YQ +rd +YQ +YQ +YQ +YQ +aP +YQ +YQ +YQ +YQ +YQ +YQ +YQ +rF +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(118,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +vK +YQ +MW +AF +YQ +YQ +cn +Wl +YQ +kr +YQ +aP +YQ +YQ +CN +YQ +cn +YQ +YQ +YQ +YQ +CN +YQ +YQ +rd +YQ +YQ +YM +cn +Wl +YQ +YQ +CN +MW +YQ +YQ +YQ +YQ +Wl +wH +Mp +Jd +QE +OA +Ct +Mp +Jd +Jd +Jd +Jd +Jd +Jd +Jd +yF +Jj +AF +YQ +YQ +YM +Oe +Ko +wj +YQ +XC +aP +YQ +YQ +YQ +CN +MW +vK +YQ +rd +YQ +YQ +YQ +Wl +YQ +YQ +YQ +CN +Wl +YQ +YQ +CN +YQ +kr +rd +YQ +Wl +YQ +YQ +YM +wH +YQ +cn +YQ +ZV +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(119,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +hv +rd +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +rF +YQ +Pg +YQ +YQ +YM +rd +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +kr +YQ +YQ +YQ +Pg +YQ +YQ +YQ +CN +ZV +YQ +kr +Mp +hy +eB +uT +uy +yz +Jd +Jd +sR +Ei +Ve +Rn +Jd +yL +IK +YQ +YQ +YQ +YQ +Wl +nJ +YQ +kr +Yb +GU +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Vm +YQ +YQ +CN +wH +YQ +AF +YQ +rd +YQ +YQ +cn +wH +aP +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +aP +YQ +CN +YQ +kr +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(120,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Pg +YQ +YQ +YQ +YQ +YQ +Wl +YQ +YQ +YQ +rd +YQ +YQ +AF +YQ +Wl +YQ +YQ +YQ +CN +YQ +YM +aP +YQ +YQ +YQ +YQ +YQ +CN +MW +YQ +rd +kr +YQ +YQ +Wl +YQ +YQ +YQ +YQ +Mp +Jd +QE +wq +Jd +Gl +Jd +Jd +VK +XY +QE +Jv +Jd +Bq +IK +aP +YQ +wH +YQ +YQ +ZV +YQ +YQ +XC +YQ +YQ +YQ +Pg +YQ +rd +YQ +mt +Ko +wj +YQ +YQ +MW +YQ +YQ +cn +YQ +ZV +rd +YQ +YQ +mY +Wl +ZV +YQ +YQ +YQ +rF +kr +YQ +YQ +YQ +YQ +vK +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(121,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +rd +YQ +YQ +Wo +rd +MW +YQ +Wl +Pg +cn +YQ +YQ +YQ +CN +cn +cn +YQ +YQ +YQ +YQ +YQ +YQ +Pg +YQ +kr +YQ +YQ +YQ +YQ +vK +YQ +YQ +YQ +CN +YQ +cn +YQ +kr +YQ +jF +Mp +Mp +Jd +BB +Jd +Mp +KY +Jd +mu +QE +QE +yS +Jd +KY +Mp +YQ +Pg +mY +YQ +cn +YQ +rd +YQ +wH +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +nJ +rd +YQ +YQ +Wl +YQ +CN +YQ +YQ +YQ +CN +Wl +YQ +MW +CN +YQ +Pg +cn +rd +YQ +YQ +rd +YQ +YQ +Wl +rd +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(122,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +vK +YQ +YQ +YQ +YQ +CN +AF +ZV +YQ +YQ +Wl +YQ +YQ +YQ +CN +cn +YQ +kr +YQ +YQ +YQ +CN +KM +cn +YQ +YQ +YQ +CN +VU +YQ +YQ +YQ +YQ +fH +rF +YQ +MW +AF +YQ +Mp +Mp +Mp +Mp +Mp +Mp +IK +IK +Mp +Mp +IK +Jj +Mp +Mp +mk +rd +YQ +YQ +ZV +YQ +vK +YQ +YQ +cn +YQ +YQ +YQ +MW +YQ +YQ +YQ +YQ +YM +Wl +aP +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +YQ +aP +YM +vK +MW +YQ +YQ +CN +YQ +MW +YQ +CN +AF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(123,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +vK +YQ +YQ +cn +YQ +kr +YQ +YQ +YQ +YQ +YQ +YQ +YM +cn +vK +YQ +YQ +YQ +AF +vK +aP +YQ +VU +YQ +YQ +YQ +AF +mY +ZV +YQ +YQ +YQ +YQ +AF +aP +YQ +YQ +YQ +YQ +YQ +vK +cn +aP +YQ +nJ +YQ +CN +YQ +Pg +YQ +YQ +xD +YQ +cn +YQ +nJ +YQ +YQ +YQ +YQ +YQ +CN +YQ +kr +YQ +AF +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +CN +YQ +kr +YQ +cn +YQ +YQ +YM +wH +YQ +Sh +wH +wH +YQ +kr +YQ +Wl +YQ +YQ +YQ +cn +ZV +YQ +YQ +YQ +rF +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(124,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +Wl +ZV +YQ +YQ +AF +YQ +cn +rd +YQ +aP +YQ +AF +YQ +kr +MW +rd +Wl +YQ +YQ +cn +Wl +YQ +rd +YQ +YQ +YQ +cn +vK +YQ +wH +MW +ZV +YQ +rd +YQ +YQ +YQ +CN +rd +YQ +Pg +YQ +YQ +wH +YQ +AF +YQ +YQ +CN +YQ +kr +YQ +MW +YQ +YQ +CN +YQ +YQ +YQ +YQ +MW +YQ +rd +aP +YQ +YQ +YQ +YQ +wH +aP +YQ +YQ +YQ +wH +YQ +rd +vK +ZV +Wl +YQ +aP +vK +VU +rd +YQ +YM +YQ +YQ +rd +YQ +CN +YQ +rF +wH +rd +YQ +Pg +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(125,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rF +rd +EV +YQ +YQ +YQ +YQ +CN +Wl +YQ +YQ +YQ +YQ +YQ +Tw +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +YQ +YQ +hv +rd +YQ +YQ +YQ +CN +YQ +kr +YQ +YQ +cn +YQ +YQ +YQ +YM +cn +ZV +rd +cn +YQ +YQ +YQ +wH +aP +YQ +rd +AF +YQ +YQ +cn +vK +wH +rd +YQ +YQ +Wl +YQ +rd +YQ +YQ +Wl +rd +YQ +ZV +YQ +rd +Wl +YQ +YQ +YQ +CN +YQ +YQ +YQ +KM +Pg +AF +ZV +YQ +YQ +cn +YQ +YQ +YQ +Pg +Wl +kr +YQ +YQ +aP +CN +rd +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(126,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Wl +YQ +Pg +cn +YQ +YQ +YQ +YQ +YQ +CN +wH +YQ +YQ +aP +YQ +YQ +YQ +CN +YQ +YQ +YQ +wH +MW +YQ +YQ +YQ +YQ +YQ +Wl +Pg +YQ +YQ +YQ +YQ +cn +YQ +Pg +ZV +YQ +mY +wH +YQ +AF +YQ +kr +YQ +Wl +MW +YQ +kr +YQ +YQ +YQ +YQ +wH +YQ +Wl +rF +AF +kr +YQ +YQ +YQ +CN +YQ +YQ +YQ +CN +AF +YQ +YQ +YQ +CN +YQ +YM +Pg +YQ +YQ +YQ +YQ +YQ +YQ +Oz +YQ +YQ +MW +CN +rd +aP +YQ +YQ +AF +YQ +YQ +YM +YQ +YQ +cn +wH +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(127,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +CN +rd +KM +kr +YQ +YQ +YQ +YQ +YQ +YQ +mY +AF +YQ +YQ +YQ +ZV +YQ +kr +cn +YQ +Pg +Wl +YQ +kr +ZV +rd +YQ +AF +Wl +YQ +kr +YQ +PB +YQ +Wl +YQ +YQ +YQ +CN +aP +YQ +YQ +YQ +YQ +CN +YQ +YQ +ZV +AF +YQ +aP +YQ +CN +Pg +YQ +rd +YQ +cn +YQ +YQ +Pg +YQ +YQ +YQ +cn +ZV +YQ +aP +YQ +YQ +YQ +YQ +Pg +AF +MW +kr +wH +YQ +YQ +YQ +YQ +YQ +YQ +YQ +Wl +YQ +YQ +YQ +YQ +CN +YQ +wH +rd +YQ +YQ +YQ +Wl +vK +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(128,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +Wl +YQ +YQ +YQ +rd +YQ +YQ +YQ +YQ +CN +cn +YQ +Wl +YQ +kr +YQ +AF +YQ +YQ +YQ +YQ +CN +YQ +YQ +MW +YQ +YQ +YQ +CN +YQ +YQ +YQ +YQ +YQ +hv +YQ +MW +rF +YQ +vK +Wl +YQ +YQ +KM +YQ +YQ +YQ +CN +rF +YQ +YQ +YQ +YQ +YQ +YQ +YQ +CN +YQ +AF +rd +YQ +wH +kr +YQ +YQ +mY +vl +Pg +YQ +YQ +aP +CN +cn +YQ +YQ +YQ +CN +AF +YQ +YQ +YQ +CN +YQ +Pg +YQ +wH +YQ +AF +YQ +YQ +aP +cn +YQ +YQ +MW +CN +YQ +rF +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(129,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +wH +ZV +mY +YQ +YQ +YQ +CN +Wl +YQ +YQ +YQ +MW +vK +YQ +YQ +rd +YQ +wH +kf +rd +YQ +aP +Wl +YQ +YQ +YQ +CN +Wl +YQ +vK +YQ +YQ +YM +wH +YQ +YQ +YQ +AF +YQ +YQ +rd +YQ +YQ +Pg +AF +vK +rd +YQ +wH +Pg +rd +YQ +YQ +YM +AF +YQ +YQ +YQ +wH +YQ +YQ +YQ +CN +Wl +aP +YQ +YQ +CN +VU +dY +YQ +YQ +aP +YQ +Wl +YQ +YQ +YQ +YQ +rd +YQ +MW +YQ +Wl +YQ +YQ +YQ +Oz +YQ +YQ +vK +YQ +YQ +YM +Wl +YQ +YQ +rd +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(130,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +kr +MW +rd +YQ +vK +YQ +YQ +YM +Pg +kr +YQ +YQ +YQ +YQ +CN +Pg +YQ +YQ +YQ +CN +Pg +rd +YQ +YQ +cn +YQ +YQ +rd +YQ +YQ +YQ +MW +YQ +YQ +YQ +cn +YQ +YQ +YM +YQ +YQ +YQ +CN +YQ +aP +YQ +aP +cn +YQ +Wl +YQ +YQ +vK +YQ +kr +cn +aP +MW +YQ +YQ +YQ +rF +ZV +PB +YQ +YQ +YQ +vK +YQ +rd +wH +cn +kr +YQ +aP +YQ +rd +kf +YQ +Wl +YQ +cn +YQ +YQ +YQ +YQ +YQ +Wl +YQ +YQ +CN +YQ +YQ +AF +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(131,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +YQ +Xh +Pg +YQ +aP +YQ +YQ +YQ +YQ +ZV +rd +YQ +YQ +YQ +rd +YQ +YQ +YQ +vK +YQ +kr +YQ +AF +wH +YQ +kr +YQ +YQ +YQ +CN +rd +aP +YQ +YQ +CN +YQ +YQ +Pg +YQ +YQ +YQ +ZV +MW +YQ +YQ +YM +YQ +kr +YQ +YQ +YQ +CN +ZV +YQ +Wl +YQ +YQ +YQ +YM +cn +rd +YQ +vK +YQ +YQ +YM +aP +YQ +YQ +CN +ZV +YQ +YQ +YQ +CN +ZV +YQ +YQ +YQ +CN +YQ +YQ +YM +wH +YQ +Ak +YQ +cn +YQ +YQ +wH +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(132,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +YQ +YQ +CN +cn +wH +YQ +YQ +YQ +CN +wH +YQ +YQ +aP +YM +YQ +kr +AF +cn +YQ +YQ +YQ +YQ +YQ +CN +YQ +AF +YQ +YQ +YQ +YQ +YQ +kr +YQ +rd +wH +ZV +aP +vK +kr +wH +YQ +YQ +YQ +AF +Pg +YQ +YQ +YQ +YQ +rd +YQ +cn +YQ +YQ +YQ +CN +AF +YQ +YQ +kr +YQ +YQ +CN +wH +AF +YQ +YQ +YQ +YQ +Wl +wG +YQ +YQ +YQ +wH +YQ +YQ +YQ +YQ +kr +vK +aP +rd +YQ +YQ +YQ +rd +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(133,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +Pg +vl +YQ +YQ +YQ +YQ +YQ +rd +AF +YQ +YQ +YQ +YQ +kr +YQ +Wl +YQ +cn +MW +ZV +YQ +YQ +YQ +CN +YQ +YQ +MW +YQ +YQ +aP +YQ +YQ +YM +YQ +cn +Pg +YQ +Wl +YQ +AF +YQ +cn +YQ +YQ +YQ +CN +rd +YQ +YQ +YQ +CN +rF +wH +MW +Pg +YQ +YQ +YQ +YQ +Wl +mY +aP +YQ +YQ +YQ +YQ +YQ +cn +Pg +YQ +YQ +YM +YQ +AF +rd +AR +AR +AR +AR +AR +AR +Pg +YQ +mY +Wl +YQ +YQ +CN +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(134,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +CN +vK +YQ +YQ +YQ +CN +YQ +Pg +YQ +aP +AF +YQ +YQ +AR +AR +AR +AR +AR +YQ +Pg +YQ +YQ +EV +cn +YQ +YQ +YQ +CN +ZV +YQ +Wl +YQ +AF +YQ +AR +AR +AR +AR +AR +AR +rF +YQ +YQ +YQ +YQ +Wl +YQ +YQ +YQ +YQ +YQ +YQ +YM +YQ +aP +rd +YQ +YQ +YQ +CN +YQ +YQ +YM +MW +YQ +YQ +YQ +CN +wH +rd +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(135,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +cn +cn +Pv +YQ +YQ +Wl +YM +vK +cn +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +vK +YQ +kr +YQ +YQ +YQ +YQ +cn +rd +Pg +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +ZV +rF +wH +cn +mY +Pv +YQ +YQ +YQ +YQ +AF +vK +YQ +YQ +YQ +KM +AF +YQ +Pg +rd +YQ +YQ +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(136,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +wH +rd +YQ +AF +ZV +YQ +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +rd +Wl +YQ +wH +mY +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +YQ +CN +cn +YQ +kr +YQ +wH +Wl +YQ +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(137,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +YQ +YQ +YQ +ZV +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(138,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(139,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(140,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(141,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(142,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(143,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(144,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(145,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(146,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(147,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(148,1,1) = {" +bG +bG +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +AR +bG +bG +"} +(149,1,1) = {" +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +"} +(150,1,1) = {" +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +bG +"} diff --git a/code/modules/awaymissions/mission_code/jungleresort.dm b/code/modules/awaymissions/mission_code/jungleresort.dm new file mode 100644 index 0000000000..9b2188adc5 --- /dev/null +++ b/code/modules/awaymissions/mission_code/jungleresort.dm @@ -0,0 +1,31 @@ +// welcome to the jungle, we got fun and games + +//areas + +/area/awaymission/jungleresort + name = "Jungle Resort" + icon_state = "awaycontent30" + +//objects + +/obj/item/paper/crumpled/awaymissions/jungleresort/notice + name = "Resort Notice" + info = "Due to unforeseen circumstances and the disappearance of several resort employees and visitors, the resort shall be closed to the public until further notice. - Resort Manager Joe Lawrence" + +//turfs + +/turf/open/water/jungle + initial_gas_mix = "o2=22;n2=82;TEMP=293.15" + +/turf/open/floor/plating/dirt/jungle + initial_gas_mix = "o2=22;n2=82;TEMP=293.15" + +/turf/open/floor/plating/dirt/dark/jungle + initial_gas_mix = "o2=22;n2=82;TEMP=293.15" + +//mobs + +/mob/living/carbon/monkey/punpun/curiousgorge + name = "Curious Gorge" + pet_monkey_names = list("Curious Gorge", "Jungle Gorge", "Jungah Joe", "Mr. Monke") + rare_pet_monkey_names = list("Sun Mukong", "Monkey Kong") \ No newline at end of file diff --git a/config/awaymissionconfig.txt b/config/awaymissionconfig.txt index 768942c434..2663a206da 100644 --- a/config/awaymissionconfig.txt +++ b/config/awaymissionconfig.txt @@ -11,6 +11,7 @@ #_maps/RandomZLevels/away_mission/Academy.dmm #_maps/RandomZLevels/away_mission/wildwest.dmm #_maps/RandomZLevels/away_mission/challenge.dmm +_maps/RandomZLevels/away_mission/jungleresort.dmm #_maps/RandomZLevels/away_mission/moonoutpost19.dmm #_maps/RandomZLevels/away_mission/undergroundoutpost45.dmm #_maps/RandomZLevels/away_mission/caves.dmm diff --git a/tgstation.dme b/tgstation.dme index 3ca900be09..c228c94a8a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -14,7 +14,8 @@ // END_PREFERENCES // BEGIN_INCLUDE -#include "_maps\_basemap.dm" +#include "_maps\boxstation.dm" +#include "_maps\RandomZLevels\away_mission\jungleresort.dmm" #include "code\_compile_options.dm" #include "code\world.dm" #include "code\__DEFINES\_extools.dm" @@ -1804,6 +1805,7 @@ #include "code\modules\awaymissions\mission_code\caves.dm" #include "code\modules\awaymissions\mission_code\centcomAway.dm" #include "code\modules\awaymissions\mission_code\challenge.dm" +#include "code\modules\awaymissions\mission_code\jungleresort.dm" #include "code\modules\awaymissions\mission_code\moonoutpost19.dm" #include "code\modules\awaymissions\mission_code\murderdome.dm" #include "code\modules\awaymissions\mission_code\research.dm" @@ -2555,8 +2557,8 @@ #include "code\modules\mob\living\carbon\human\species_types\abductor.dm" #include "code\modules\mob\living\carbon\human\species_types\android.dm" #include "code\modules\mob\living\carbon\human\species_types\angel.dm" -#include "code\modules\mob\living\carbon\human\species_types\arachnid.dm" #include "code\modules\mob\living\carbon\human\species_types\anthromorph.dm" +#include "code\modules\mob\living\carbon\human\species_types\arachnid.dm" #include "code\modules\mob\living\carbon\human\species_types\bugmen.dm" #include "code\modules\mob\living\carbon\human\species_types\corporate.dm" #include "code\modules\mob\living\carbon\human\species_types\dullahan.dm" From ff6850b9b035154e09a2fc6bec9d21d5dcd8e82a Mon Sep 17 00:00:00 2001 From: Vynzill Date: Fri, 23 Oct 2020 15:11:27 -0500 Subject: [PATCH 14/95] jungle gateway map --- .../away_mission/jungleresort.dmm | 32 +++++++++++++------ .../awaymissions/mission_code/jungleresort.dm | 15 ++++++++- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/_maps/RandomZLevels/away_mission/jungleresort.dmm b/_maps/RandomZLevels/away_mission/jungleresort.dmm index 8cc5e97a75..d4698fec9a 100644 --- a/_maps/RandomZLevels/away_mission/jungleresort.dmm +++ b/_maps/RandomZLevels/away_mission/jungleresort.dmm @@ -164,6 +164,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/item/kitchen/knife, /turf/open/floor/wood, /area/awaymission/jungleresort) "cn" = ( @@ -216,6 +217,12 @@ /obj/structure/flora/rock, /turf/open/floor/plating/dirt/jungle, /area/awaymission/jungleresort) +"dm" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer, +/obj/item/clothing/head/hardhat/cakehat, +/turf/open/floor/wood, +/area/awaymission/jungleresort) "dn" = ( /obj/structure/chair/comfy/brown, /turf/open/floor/wood, @@ -1043,7 +1050,7 @@ /area/awaymission/jungleresort) "pP" = ( /obj/structure/sign/warning, -/turf/closed/mineral/random/labormineral, +/turf/closed/mineral/random/labormineral/jungle, /area/awaymission/jungleresort) "pQ" = ( /turf/open/water/jungle, @@ -1234,9 +1241,9 @@ /area/awaymission/jungleresort) "sS" = ( /obj/structure/table/wood, -/obj/item/lighter/gold, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, /obj/item/clothing/mask/cigarette/robustgold, +/obj/item/lighter, /turf/open/floor/wood, /area/awaymission/jungleresort) "td" = ( @@ -1852,7 +1859,7 @@ /turf/open/floor/grass, /area/awaymission/jungleresort) "AR" = ( -/turf/closed/mineral/random/labormineral, +/turf/closed/mineral/random/labormineral/jungle, /area/awaymission/jungleresort) "AS" = ( /obj/effect/turf_decal/weather/dirt{ @@ -2148,6 +2155,7 @@ /obj/item/storage/box/donkpockets, /obj/item/camera, /obj/item/camera_film, +/obj/item/storage/toolbox/mechanical, /turf/open/floor/wood, /area/awaymission/jungleresort) "EO" = ( @@ -2730,7 +2738,7 @@ /turf/open/floor/plating, /area/awaymission/jungleresort) "LR" = ( -/mob/living/simple_animal/hostile/jungle/leaper, +/mob/living/simple_animal/hostile/jungle/leaper/boss, /turf/open/water/jungle, /area/awaymission/jungleresort) "LU" = ( @@ -3134,7 +3142,7 @@ /obj/item/clothing/under/rank/civilian/curator/treasure_hunter, /obj/item/clothing/head/fedora/curator, /obj/item/clothing/shoes/workboots/mining, -/obj/item/melee/curator_whip, +/obj/item/melee/chainofcommand/jungle, /turf/open/floor/plating/dirt/jungle, /area/awaymission/jungleresort) "RW" = ( @@ -3219,6 +3227,8 @@ /obj/item/gun/ballistic/shotgun/sc_pump, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet, +/obj/item/ammo_casing/shotgun/buckshot, +/obj/item/ammo_casing/shotgun/buckshot, /turf/open/floor/plating/dirt/jungle, /area/awaymission/jungleresort) "SV" = ( @@ -3348,6 +3358,9 @@ /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/innards, /obj/structure/stone_tile/surrounding/cracked, +/obj/item/fireaxe, +/obj/item/clothing/head/hardhat/red, +/obj/item/clothing/shoes/workboots, /turf/open/floor/plating/dirt/jungle, /area/awaymission/jungleresort) "Us" = ( @@ -3723,7 +3736,6 @@ /obj/structure/stone_tile/surrounding_tile/cracked{ dir = 9 }, -/obj/item/ammo_casing/shotgun/buckshot, /turf/open/floor/plating/dirt/jungle, /area/awaymission/jungleresort) "Zn" = ( @@ -6244,7 +6256,7 @@ AR AR AR YQ -wH +AR AR AR AR @@ -12607,7 +12619,7 @@ AR AR AR AR -YQ +sQ nw ro UB @@ -17653,7 +17665,7 @@ Jd sS Wi Co -Se +dm tK Jd Jj @@ -24088,7 +24100,7 @@ YQ YQ YQ YQ -ZV +AR AR AR AR diff --git a/code/modules/awaymissions/mission_code/jungleresort.dm b/code/modules/awaymissions/mission_code/jungleresort.dm index 9b2188adc5..6f66f1135a 100644 --- a/code/modules/awaymissions/mission_code/jungleresort.dm +++ b/code/modules/awaymissions/mission_code/jungleresort.dm @@ -12,6 +12,12 @@ name = "Resort Notice" info = "Due to unforeseen circumstances and the disappearance of several resort employees and visitors, the resort shall be closed to the public until further notice. - Resort Manager Joe Lawrence" +/obj/item/melee/chainofcommand/jungle + name = "treasure hunter's whip" + desc = "The tool of a fallen treasure hunter, old and outdated, it still stings like hell to be hit by." + hitsound = 'sound/weapons/whip.ogg' + icon_state = "whip" + //turfs /turf/open/water/jungle @@ -23,9 +29,16 @@ /turf/open/floor/plating/dirt/dark/jungle initial_gas_mix = "o2=22;n2=82;TEMP=293.15" +/turf/closed/mineral/random/labormineral/jungle + baseturfs = /turf/open/floor/plating/asteroid + turf_type = /turf/open/floor/plating/asteroid + //mobs /mob/living/carbon/monkey/punpun/curiousgorge name = "Curious Gorge" pet_monkey_names = list("Curious Gorge", "Jungle Gorge", "Jungah Joe", "Mr. Monke") - rare_pet_monkey_names = list("Sun Mukong", "Monkey Kong") \ No newline at end of file + rare_pet_monkey_names = list("Sun Mukong", "Monkey Kong") + +/mob/living/simple_animal/hostile/jungle/leaper/boss + health = 450 \ No newline at end of file From fdb0f65c538b18ea344c535115c2a46cc5d05b0d Mon Sep 17 00:00:00 2001 From: Vynzill Date: Fri, 23 Oct 2020 15:18:18 -0500 Subject: [PATCH 15/95] quickfix --- tgstation.dme | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tgstation.dme b/tgstation.dme index c228c94a8a..8b033025dc 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -14,8 +14,7 @@ // END_PREFERENCES // BEGIN_INCLUDE -#include "_maps\boxstation.dm" -#include "_maps\RandomZLevels\away_mission\jungleresort.dmm" +#include "_maps\_basemap.dm" #include "code\_compile_options.dm" #include "code\world.dm" #include "code\__DEFINES\_extools.dm" From bb155f8784c2cb29081cc1bd3886a0e73639ce1c Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 24 Oct 2020 07:25:27 -0400 Subject: [PATCH 16/95] Apply suggestions from code review Grammar Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com> --- code/game/objects/items/tools/weldingtool.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 28acb34b34..9a2c07b6d4 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -21,8 +21,8 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF - var/self_fueling = FALSE //Do we refill areself or not - var/next_fueling = 10 //How long do we wait before refilling + var/self_fueling = FALSE //Do we refill ourselves or not + var/next_fueling = 10 //How long we wait before refilling var/nextrefueltick = 0 // How long it takes before we get a new fuel unit custom_materials = list(/datum/material/iron=70, /datum/material/glass=30) @@ -86,9 +86,9 @@ //This is to start fires. process() is only called if the welder is on. open_flame() - //This handles refuelung, its looking at how much fuel the tool has, and comparing it to the how much it holds + //This handles refueling. Its looking at how much fuel the tool has and comparing that to how much it holds //This then looks if the refuel tick has come based on world time. - //Then looks if we refuel areselfs are not. + //Then looks if we refuel ourselves or not. if(get_fuel() < max_fuel && nextrefueltick < world.time && self_fueling) nextrefueltick = world.time + next_fueling @@ -375,7 +375,7 @@ name = "brass welding tool" desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." resistance_flags = FIRE_PROOF | ACID_PROOF - next_fueling = 5 //makes welding fuel faster then experimental ones + next_fueling = 5 //makes welding fuel faster than experimental ones icon_state = "clockwelder" item_state = "brasswelder" From cfefe99d35430b6d811d0b9bb0df3ab365ea6d76 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:45:43 +0000 Subject: [PATCH 17/95] okay so what if its not quirks --- code/datums/dna.dm | 14 ++++++++------ code/modules/client/preferences.dm | 20 ++++---------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index cd90b554ac..a6510d3336 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -696,11 +696,13 @@ /datum/dna/proc/update_body_size(old_size) if(!holder || features["body_size"] == old_size) return + //new size detected holder.resize = features["body_size"] / old_size holder.update_transform() - var/danger = CONFIG_GET(number/threshold_body_size_slowdown) - if(features["body_size"] < danger) - var/slowdown = (1 - round(features["body_size"] / danger, 0.1)) * CONFIG_GET(number/body_size_slowdown_multiplier) - holder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/small_stride, TRUE, slowdown) - else if(old_size < danger) - holder.remove_movespeed_modifier(/datum/movespeed_modifier/small_stride) + if(features["body_size"] < 1 && old_size >= 1) + holder.maxhealth -= 10 //reduce the maxhealth + else + if(old_size < 1 && features["body_size"] >= 1) + holder.maxhealth += 10 //give the maxhealth back + + diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index d817cc3a53..58e91e82c0 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -482,7 +482,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "    Change
" mutant_colors = TRUE - if (CONFIG_GET(number/body_size_min) != CONFIG_GET(number/body_size_max)) dat += "Sprite Size: [features["body_size"]*100]%
" if(!(NOEYES in pref_species.species_traits)) @@ -2245,21 +2244,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) gender = chosengender if("body_size") - var/min = CONFIG_GET(number/body_size_min) - var/max = CONFIG_GET(number/body_size_max) - var/danger = CONFIG_GET(number/threshold_body_size_slowdown) - var/new_body_size = input(user, "Choose your desired sprite size: ([min*100]%-[max*100]%)\nWarning: This may make your character look distorted[danger > min ? "! Additionally, a proportional movement speed penalty will be applied to characters smaller than [danger*100]%." : "!"]", "Character Preference", features["body_size"]*100) as num|null - if (new_body_size) - new_body_size = clamp(new_body_size * 0.01, min, max) - var/dorfy - if((new_body_size + 0.01) < danger) // Adding 0.01 as a dumb fix to prevent the warning message from appearing when exactly at threshold... Not sure why that happens in the first place. - dorfy = alert(user, "You have chosen a size below the slowdown threshold of [danger*100]%. For balancing purposes, the further you go below this percentage, the slower your character will be. Do you wish to keep this size?", "Speed Penalty Alert", "Yes", "Move it to the threshold", "No") - if(dorfy == "Move it to the threshold") - new_body_size = danger - if(!dorfy) //Aborts if this var is somehow empty - return - if(dorfy != "No") - features["body_size"] = new_body_size + var/new_body_size = input(user, "Choose your desired sprite size: (90-125%)\nWarning: This may make your character look distorted. Additionally, any size under 100% takes a 10% maximum health penalty", "Character Preference", features["body_size"]*100) as num|null + if(new_body_size) + body_size = clamp(new_body_size * 0.01, 90, 125) + if("tongue") var/selected_custom_tongue = input(user, "Choose your desired tongue (none means your species tongue)", "Character Preference") as null|anything in GLOB.roundstart_tongues if(selected_custom_tongue) From 38313fa362f0b8050470f747d95d7a42dd8f8809 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:50:21 +0000 Subject: [PATCH 18/95] i hate dwarves --- code/modules/client/preferences.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 58e91e82c0..89a4cdb650 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2683,8 +2683,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) pref_species = new /datum/species/human save_character() - var/old_size = character.dna.features["body_size"] - character.dna.features = features.Copy() character.set_species(chosen_species, icon_update = FALSE, pref_load = TRUE) character.dna.species.eye_type = eye_type @@ -2694,6 +2692,11 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.dna.nameless = character.nameless character.dna.custom_species = character.custom_species + var/old_size = character.dna.features["body_size"] + if(isdwarf(character) + character.dna.features["body_size"] = 1 + old_size = 1 + if((parent && parent.can_have_part("meat_type")) || pref_species.mutant_bodyparts["meat_type"]) character.type_of_meat = GLOB.meat_types[features["meat_type"]] From 2b00f2bb2f58fe8cca162b4948dc2ac752ee70fd Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:27:02 +0000 Subject: [PATCH 19/95] config values --- code/controllers/configuration/entries/game_options.dm | 4 ++-- code/datums/dna.dm | 5 +++-- code/modules/client/preferences.dm | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index fdf7ffd663..e79862c80c 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -519,10 +519,10 @@ min_val = RESIZE_DEFAULT_SIZE integer = FALSE -//Pun-Pun movement slowdown given to characters with a body size smaller than this value, +//Penalties given to characters with a body size smaller than this value, //to compensate for their smaller hitbox. //To disable, just make sure the value is lower than 'body_size_min' -/datum/config_entry/number/threshold_body_size_slowdown +/datum/config_entry/number/threshold_body_size_penalty config_entry_value = RESIZE_DEFAULT_SIZE * 0.85 min_val = 0 max_val = RESIZE_DEFAULT_SIZE diff --git a/code/datums/dna.dm b/code/datums/dna.dm index a6510d3336..45a9ec3bb3 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -699,10 +699,11 @@ //new size detected holder.resize = features["body_size"] / old_size holder.update_transform() - if(features["body_size"] < 1 && old_size >= 1) + var/penalty_threshold = CONFIG_GET(number/threshold_body_size_penalty) + if(features["body_size"] < penalty_threshold && old_size >= penalty_threshold) holder.maxhealth -= 10 //reduce the maxhealth else - if(old_size < 1 && features["body_size"] >= 1) + if(old_size < penalty_threshold && features["body_size"] >= penalty_threshold) holder.maxhealth += 10 //give the maxhealth back diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 89a4cdb650..7c9708a249 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2246,7 +2246,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("body_size") var/new_body_size = input(user, "Choose your desired sprite size: (90-125%)\nWarning: This may make your character look distorted. Additionally, any size under 100% takes a 10% maximum health penalty", "Character Preference", features["body_size"]*100) as num|null if(new_body_size) - body_size = clamp(new_body_size * 0.01, 90, 125) + body_size = clamp(new_body_size * 0.01, CONFIG_GET(number/body_size_min), CONFIG_GET(number/body_size_max)) if("tongue") var/selected_custom_tongue = input(user, "Choose your desired tongue (none means your species tongue)", "Character Preference") as null|anything in GLOB.roundstart_tongues From 4e6146898c5ae5110b459895962da13c05156692 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:27:58 +0000 Subject: [PATCH 20/95] fixes/config edits --- code/controllers/configuration/entries/game_options.dm | 6 +++--- code/modules/client/preferences.dm | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index e79862c80c..4d2caf92a9 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -509,13 +509,13 @@ //Body size configs, the feature will be disabled if both min and max have the same value. /datum/config_entry/number/body_size_min - config_entry_value = RESIZE_DEFAULT_SIZE + config_entry_value = 0.9 min_val = 0.1 //to avoid issues with zeros and negative values. max_val = RESIZE_DEFAULT_SIZE integer = FALSE /datum/config_entry/number/body_size_max - config_entry_value = RESIZE_DEFAULT_SIZE + config_entry_value = 1.25 min_val = RESIZE_DEFAULT_SIZE integer = FALSE @@ -523,7 +523,7 @@ //to compensate for their smaller hitbox. //To disable, just make sure the value is lower than 'body_size_min' /datum/config_entry/number/threshold_body_size_penalty - config_entry_value = RESIZE_DEFAULT_SIZE * 0.85 + config_entry_value = RESIZE_DEFAULT_SIZE min_val = 0 max_val = RESIZE_DEFAULT_SIZE integer = FALSE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7c9708a249..c2c4120925 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2693,8 +2693,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.dna.custom_species = character.custom_species var/old_size = character.dna.features["body_size"] - if(isdwarf(character) - character.dna.features["body_size"] = 1 + if(isdwarf(character)) + character.dna.features["body_size"] = RESIZE_DEFAULT_SIZE old_size = 1 if((parent && parent.can_have_part("meat_type")) || pref_species.mutant_bodyparts["meat_type"]) From f468e4940a2cdcb322d2f5684fc3fe1caea31dfb Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:33:46 +0000 Subject: [PATCH 21/95] typo --- code/datums/dna.dm | 14 ++++++++------ code/modules/client/preferences.dm | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 45a9ec3bb3..3ca7f08fa7 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -699,11 +699,13 @@ //new size detected holder.resize = features["body_size"] / old_size holder.update_transform() - var/penalty_threshold = CONFIG_GET(number/threshold_body_size_penalty) - if(features["body_size"] < penalty_threshold && old_size >= penalty_threshold) - holder.maxhealth -= 10 //reduce the maxhealth - else - if(old_size < penalty_threshold && features["body_size"] >= penalty_threshold) - holder.maxhealth += 10 //give the maxhealth back + if(iscarbon(holder)) + var/mob/living/carbon/C = holder + var/penalty_threshold = CONFIG_GET(number/threshold_body_size_penalty) + if(features["body_size"] < penalty_threshold && old_size >= penalty_threshold) + C.maxHealth -= 10 //reduce the maxhealth + else + if(old_size < penalty_threshold && features["body_size"] >= penalty_threshold) + C.maxHealth += 10 //give the maxhealth back diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c2c4120925..4bd6122b5c 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2246,7 +2246,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("body_size") var/new_body_size = input(user, "Choose your desired sprite size: (90-125%)\nWarning: This may make your character look distorted. Additionally, any size under 100% takes a 10% maximum health penalty", "Character Preference", features["body_size"]*100) as num|null if(new_body_size) - body_size = clamp(new_body_size * 0.01, CONFIG_GET(number/body_size_min), CONFIG_GET(number/body_size_max)) + features["body_size"] = clamp(new_body_size * 0.01, CONFIG_GET(number/body_size_min), CONFIG_GET(number/body_size_max)) if("tongue") var/selected_custom_tongue = input(user, "Choose your desired tongue (none means your species tongue)", "Character Preference") as null|anything in GLOB.roundstart_tongues @@ -2695,7 +2695,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/old_size = character.dna.features["body_size"] if(isdwarf(character)) character.dna.features["body_size"] = RESIZE_DEFAULT_SIZE - old_size = 1 + old_size = RESIZE_DEFAULT_SIZE if((parent && parent.can_have_part("meat_type")) || pref_species.mutant_bodyparts["meat_type"]) character.type_of_meat = GLOB.meat_types[features["meat_type"]] From 0fa83322a1c6b7526e7b95411dc0305a4f8db7d1 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:40:11 +0000 Subject: [PATCH 22/95] re-add slow stride but it defaults to disabled --- code/controllers/configuration/entries/game_options.dm | 4 ++-- code/datums/dna.dm | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 4d2caf92a9..67e4a97894 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -531,8 +531,8 @@ //multiplicative slowdown multiplier. See 'dna.update_body_size' for the operation. //doesn't apply to floating or crawling mobs /datum/config_entry/number/body_size_slowdown_multiplier - config_entry_value = 0.25 - min_val = 0.1 //To encourage folks to disable the slowdown through the above config instead. + config_entry_value = 0 + min_val = 0 integer = FALSE //Allows players to set a hexadecimal color of their choice as skin tone, on top of the standard ones. diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 3ca7f08fa7..4e9e21f70e 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -704,8 +704,11 @@ var/penalty_threshold = CONFIG_GET(number/threshold_body_size_penalty) if(features["body_size"] < penalty_threshold && old_size >= penalty_threshold) C.maxHealth -= 10 //reduce the maxhealth + var/slowdown = (1 - round(features["body_size"] / danger, 0.1)) * CONFIG_GET(number/body_size_slowdown_multiplier) + holder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/small_stride, TRUE, slowdown) else if(old_size < penalty_threshold && features["body_size"] >= penalty_threshold) C.maxHealth += 10 //give the maxhealth back + holder.remove_movespeed_modifier(/datum/movespeed_modifier/small_stride) //remove the slowdown From 78e3eb14f9a598587180a9206524f492f5de3d32 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:42:22 +0000 Subject: [PATCH 23/95] another typo --- code/datums/dna.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 4e9e21f70e..53b24c45f9 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -704,7 +704,7 @@ var/penalty_threshold = CONFIG_GET(number/threshold_body_size_penalty) if(features["body_size"] < penalty_threshold && old_size >= penalty_threshold) C.maxHealth -= 10 //reduce the maxhealth - var/slowdown = (1 - round(features["body_size"] / danger, 0.1)) * CONFIG_GET(number/body_size_slowdown_multiplier) + var/slowdown = (1 - round(features["body_size"] / penalty_threshold, 0.1)) * CONFIG_GET(number/body_size_slowdown_multiplier) holder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/small_stride, TRUE, slowdown) else if(old_size < penalty_threshold && features["body_size"] >= penalty_threshold) From e22bf8cf3568ece86d5d0efbd008a4ce9fe468dc Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:46:40 +0000 Subject: [PATCH 24/95] config --- config/game_options.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/game_options.txt b/config/game_options.txt index bb6c5d8f01..bc5fdf940e 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -651,17 +651,17 @@ PENIS_MIN_INCHES_PREFS 1 PENIS_MAX_INCHES_PREFS 20 ## Body size configs, the feature will be disabled if both min and max have the same value. -BODY_SIZE_MIN 1 -BODY_SIZE_MAX 1 +BODY_SIZE_MIN 0.9 +BODY_SIZE_MAX 1.25 ## Pun-Pun movement slowdown given to characters with a body size smaller than this value, ## to compensate for their smaller hitbox. ## To disable, just make sure the value is lower than 'body_size_min' -THRESHOLD_BODY_SIZE_SLOWDOWN 0.85 +THRESHOLD_BODY_SIZE_PENALTY 1 ## Multiplier used in the smaller strides slowdown calculation. ## Doesn't apply to floating or crawling mobs. -BODY_SIZE_SLOWDOWN_MULTIPLIER 0.25 +BODY_SIZE_SLOWDOWN_MULTIPLIER 0 ## Allows players to set a hexadecimal color of their choice as skin tone, on top of the standard ones. ALLOW_CUSTOM_SKINTONES From 79e81a455a336e9946f7e74fef056fe8aefcd74e Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 23:52:20 +0000 Subject: [PATCH 25/95] old fix --- code/modules/client/preferences.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 4bd6122b5c..7fae5a458c 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2692,7 +2692,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.dna.nameless = character.nameless character.dna.custom_species = character.custom_species - var/old_size = character.dna.features["body_size"] + var/old_size = RESIZE_DEFAULT_SIZE if(isdwarf(character)) character.dna.features["body_size"] = RESIZE_DEFAULT_SIZE old_size = RESIZE_DEFAULT_SIZE From 2275dde281972062b017c067415e1c5a90a655f7 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 27 Oct 2020 00:15:58 +0000 Subject: [PATCH 26/95] prior fix didnt work this does --- code/modules/client/preferences.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7fae5a458c..196c1ce0ed 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2641,6 +2641,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) else if(firstspace == name_length) real_name += "[pick(GLOB.last_names)]" + //reset size if applicable + if(character.dna.features["body_size"]) + var/initial_old_size = character.dna.features["body_size"] + character.dna.features["body_size"] = RESIZE_DEFAULT_SIZE + character.dna.update_body_size(initial_old_size) + character.real_name = nameless ? "[real_name] #[rand(10000, 99999)]" : real_name character.name = character.real_name character.nameless = nameless @@ -2695,7 +2701,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/old_size = RESIZE_DEFAULT_SIZE if(isdwarf(character)) character.dna.features["body_size"] = RESIZE_DEFAULT_SIZE - old_size = RESIZE_DEFAULT_SIZE if((parent && parent.can_have_part("meat_type")) || pref_species.mutant_bodyparts["meat_type"]) character.type_of_meat = GLOB.meat_types[features["meat_type"]] From bba55793697e96162eccd3aadc681f279aa6046b Mon Sep 17 00:00:00 2001 From: Dip Date: Tue, 27 Oct 2020 16:34:08 -0300 Subject: [PATCH 27/95] why is this on the wrong layer? --- .../machinery/components/unary_devices/outlet_injector.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index a07f131d62..66fa084e9a 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -196,7 +196,7 @@ icon_state = "inje_map-1" /obj/machinery/atmospherics/components/unary/outlet_injector/layer3 - piping_layer = 2 + piping_layer = 3 icon_state = "inje_map-2" /obj/machinery/atmospherics/components/unary/outlet_injector/on @@ -207,7 +207,7 @@ icon_state = "inje_map-1" /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer3 - piping_layer = 2 + piping_layer = 3 icon_state = "inje_map-2" /obj/machinery/atmospherics/components/unary/outlet_injector/atmos From fb895cd5df70584cc336c22f7b4e92a51df1ea1f Mon Sep 17 00:00:00 2001 From: Dip Date: Tue, 27 Oct 2020 16:53:21 -0300 Subject: [PATCH 28/95] ahem, icon state. --- .../machinery/components/unary_devices/outlet_injector.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index 66fa084e9a..9aa3c8c16d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -197,7 +197,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/layer3 piping_layer = 3 - icon_state = "inje_map-2" + icon_state = "inje_map-3" /obj/machinery/atmospherics/components/unary/outlet_injector/on on = TRUE @@ -208,7 +208,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer3 piping_layer = 3 - icon_state = "inje_map-2" + icon_state = "inje_map-3" /obj/machinery/atmospherics/components/unary/outlet_injector/atmos frequency = FREQ_ATMOS_STORAGE From a4196e567b46dbec461c92ee957b716c1d52ad6a Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Tue, 27 Oct 2020 22:35:27 -0500 Subject: [PATCH 29/95] i told me there'd be balance issues --- code/modules/antagonists/changeling/powers/mutations.dm | 8 ++++---- code/modules/mob/living/carbon/human/species.dm | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 05c265bc15..7a227ebc4e 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -684,10 +684,10 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0) - enhancement = 9 // first, do harm. all of it. all of the harm. just fuck em up. - wound_enhancement = 9 - var/fast_enhancement = 9 - var/fast_wound_enhancement = 9 + enhancement = 6 // first, do harm. all of it. all of the harm. just fuck em up. + wound_enhancement = 6 + var/fast_enhancement = 6 + var/fast_wound_enhancement = 6 var/slow_enhancement = 20 var/slow_wound_enhancement = 20 silent = TRUE diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 126d4401e0..43d05b2d91 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1451,9 +1451,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) target.apply_damage(damage*1.5, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) target.apply_damage(damage*0.5, STAMINA, affecting, armor_block) log_combat(user, target, "kicked") - else if(HAS_TRAIT(user, TRAIT_MAULER)) // mauler punches deal 1.3x raw damage + 1x stam damage, and have some armor pierce - target.apply_damage(damage*1.3, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) - target.apply_damage(damage, STAMINA, affecting, armor_block) + else if(HAS_TRAIT(user, TRAIT_MAULER)) // mauler punches deal 1.1x raw damage + 1.3x stam damage, and have some armor pierce + target.apply_damage(damage*1.1, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) + target.apply_damage(damage*1.3, STAMINA, affecting, armor_block) log_combat(user, target, "punched (mauler)") else //other attacks deal full raw damage + 2x in stamina damage target.apply_damage(damage, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) From b5863677d31a65f746e73bec0195e14441c86db6 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Wed, 28 Oct 2020 11:08:43 -0400 Subject: [PATCH 30/95] TGS DMAPI Updater deletes old files --- .github/workflows/update_tgs_dmapi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index 72c029c770..6fe53f700c 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -29,7 +29,7 @@ jobs: run: | git config user.name tgstation-server git config user.email tgstation-server@users.noreply.github.com - git add * + git add . git commit -m 'Update TGS DMAPI' git push -f -u origin tgs-dmapi-update From a837af1436e2d36e01f637d79e1f01ca4912806d Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 28 Oct 2020 12:37:50 -0400 Subject: [PATCH 31/95] Update weldingtool.dm --- code/game/objects/items/tools/weldingtool.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 9a2c07b6d4..4b184b432b 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -22,7 +22,6 @@ resistance_flags = FIRE_PROOF var/self_fueling = FALSE //Do we refill ourselves or not - var/next_fueling = 10 //How long we wait before refilling var/nextrefueltick = 0 // How long it takes before we get a new fuel unit custom_materials = list(/datum/material/iron=70, /datum/material/glass=30) @@ -91,7 +90,7 @@ //Then looks if we refuel ourselves or not. if(get_fuel() < max_fuel && nextrefueltick < world.time && self_fueling) - nextrefueltick = world.time + next_fueling + nextrefueltick = world.time + 10 reagents.add_reagent(/datum/reagent/fuel, 1) /obj/item/weldingtool/suicide_act(mob/user) @@ -385,7 +384,6 @@ icon = 'icons/obj/abductor.dmi' icon_state = "welder" self_fueling = TRUE - next_fueling = 0 toolspeed = 0.1 light_intensity = 0 change_icons = 0 @@ -396,7 +394,6 @@ icon = 'icons/obj/advancedtools.dmi' icon_state = "welder" self_fueling = TRUE - next_fueling = 0 toolspeed = 0.2 light_intensity = 0 change_icons = 0 From 3307711f08531b6d3b149391915bce7e454e41e4 Mon Sep 17 00:00:00 2001 From: Trilby Date: Wed, 28 Oct 2020 13:00:02 -0400 Subject: [PATCH 32/95] suppression --- .../projectiles/guns/ballistic/pistol.dm | 9 ++++----- icons/obj/guns/projectile.dmi | Bin 46753 -> 49215 bytes 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index e775fdc05a..9ed9630f2f 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -54,11 +54,10 @@ /obj/item/gun/ballistic/automatic/pistol/m1911 name = "\improper M1911" - desc = "A classic .45 handgun with a small magazine capacity." + desc = "A classic .45 handgun with a small magazine capacity. Has a threaded barrel for suppressors." icon_state = "m1911" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 - can_suppress = FALSE /obj/item/gun/ballistic/automatic/pistol/m1911/no_mag spawnwithmagazine = FALSE @@ -67,6 +66,7 @@ name = "\improper Kitchen Gun (TM)" desc = "Say goodbye to dirt with Kitchen Gun (TM)! Laser sight and night vision accessories sold separately." icon_state = "kitchengun" + can_suppress = FALSE mag_type = /obj/item/ammo_box/magazine/m45/kitchengun /obj/item/gun/ballistic/automatic/pistol/deagle @@ -98,11 +98,10 @@ /obj/item/gun/ballistic/automatic/pistol/APS name = "stechkin APS pistol" - desc = "The original Russian version of a widely used Syndicate sidearm. Uses 9mm ammo." + desc = "The original Russian version of a widely used Syndicate sidearm. Uses 9mm ammo. Has a threaded barrel for suppressors." icon_state = "aps" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/pistolm9mm - can_suppress = FALSE burst_size = 3 fire_delay = 2 actions_types = list(/datum/action/item_action/toggle_firemode) @@ -136,7 +135,7 @@ mag_type = /obj/item/ammo_box/magazine/sniper_rounds fire_delay = 50 burst_size = 1 - can_suppress = 0 + can_suppress = FALSE w_class = WEIGHT_CLASS_NORMAL actions_types = list() fire_sound = 'sound/weapons/blastcannon.ogg' diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 939ee0e009b015860c6b423a863c76523d36a19d..d697c4619d1a0465dbc8ac18bbe0f96d74c82ebd 100644 GIT binary patch literal 49215 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 z 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 H&Ex+Ay%!4e From 92f31a9a5fa539e522740bc1122f73d60633185d Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Wed, 28 Oct 2020 15:39:51 -0400 Subject: [PATCH 33/95] Update kitchen.dm --- code/game/objects/items/kitchen.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index e2e0779b53..f15a4d00e1 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -150,8 +150,8 @@ item_state = "knife" desc = "A military combat utility survival knife." embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) - force = 20 - throwforce = 20 + force = 16 + throwforce = 16 attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") bayonet = TRUE From 366a605915287593d90e81ed7a8e2e78562f4c26 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 29 Oct 2020 10:53:45 -0400 Subject: [PATCH 34/95] Update weldingtool.dm --- code/game/objects/items/tools/weldingtool.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 4b184b432b..8e4fb05d71 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -374,7 +374,6 @@ name = "brass welding tool" desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." resistance_flags = FIRE_PROOF | ACID_PROOF - next_fueling = 5 //makes welding fuel faster than experimental ones icon_state = "clockwelder" item_state = "brasswelder" From f5804fd0e4ac2c56864a780c4a841e25c4723d19 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 30 Oct 2020 20:41:13 +0000 Subject: [PATCH 35/95] yes --- code/datums/dna.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 53b24c45f9..fe041c41ff 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -5,7 +5,7 @@ var/uni_identity var/blood_type var/datum/species/species = new /datum/species/human //The type of mutant race the player is if applicable (i.e. potato-man) - var/list/features = list("FFF") //first value is mutant color + var/list/features = list("FFF", "body_size" = RESIZE_DEFAULT_SIZE) //first value is mutant color var/real_name //Stores the real name of the person who originally got this dna datum. Used primarely for changelings, var/nameless = FALSE var/custom_species //siiiiigh I guess this is important From 46dbb9345d8da9a3ef7eff1d0a7955abda5e7aa5 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sun, 1 Nov 2020 20:40:58 +0000 Subject: [PATCH 36/95] slime puddles look better and cant be abused by lings (#13567) * perfect * further changes * no squeaking please * no more squeaking damnit * no more squeaking damnit * slower * they get broken armor * broken armor application * Apply suggestions from code review * add a comma * make crossed work properly * Update squeak.dm Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/__DEFINES/traits.dm | 7 ++-- code/datums/components/squeak.dm | 15 +++++++ code/datums/mutations/_mutations.dm | 1 - code/modules/mob/living/carbon/human/human.dm | 1 + .../mob/living/carbon/human/human_defense.dm | 3 +- .../carbon/human/species_types/jellypeople.dm | 37 +++++++++++++----- code/modules/movespeed/modifiers/innate.dm | 3 +- icons/mob/mob.dmi | Bin 294018 -> 294183 bytes 8 files changed, 51 insertions(+), 16 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 520f205381..82302a2e06 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -208,10 +208,9 @@ #define TRAIT_FAST_PUMP "fast_pump" #define TRAIT_NO_PROCESS_FOOD "no-process-food" // You don't get benefits from nutriment, nor nutrition from reagent consumables #define TRAIT_NICE_SHOT "nice_shot" //hnnnnnnnggggg..... you're pretty good... -/// Prevents stamina buffer regeneration -#define TRAIT_NO_STAMINA_BUFFER_REGENERATION "block_stamina_buffer_regen" -/// Prevents stamina regeneration -#define TRAIT_NO_STAMINA_REGENERATION "block_stamina_regen" +#define TRAIT_NO_STAMINA_BUFFER_REGENERATION "block_stamina_buffer_regen" /// Prevents stamina buffer regeneration +#define TRAIT_NO_STAMINA_REGENERATION "block_stamina_regen" /// Prevents stamina regeneration +#define TRAIT_ARMOR_BROKEN "armor_broken" //acts as if you are wearing no clothing when taking damage, does not affect non-clothing sources of protection // mobility flag traits // IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index b8191a377b..0552a791ea 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -46,6 +46,21 @@ if(isnum(use_delay_override)) use_delay = use_delay_override +/datum/component/squeak/UnregisterFromParent() + if(!isatom(parent)) + return + UnregisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY)) + if(ismovable(parent)) + UnregisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT, + COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED, COMSIG_MOVABLE_CROSS, + COMSIG_CROSS_SQUEAKED, COMSIG_MOVABLE_DISPOSING)) + if(isitem(parent)) + UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT, COMSIG_ITEM_ATTACK_SELF, + COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) + if(istype(parent, /obj/item/clothing/shoes)) + UnregisterSignal(parent, COMSIG_SHOES_STEP_ACTION) + return ..() + /datum/component/squeak/proc/play_squeak() do_play_squeak() diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index 3bddfdaa63..b72874c329 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -150,7 +150,6 @@ overlays_standing[CM.layer_used] = mut_overlay apply_overlay(CM.layer_used) - /datum/mutation/human/proc/modify() //called when a genome is applied so we can properly update some stats without having to remove and reapply the mutation from someone if(modified || !power || !owner) return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 710d49c075..301a9bd7c8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -212,6 +212,7 @@ // called when something steps onto a human // this could be made more general, but for now just handle mulebot /mob/living/carbon/human/Crossed(atom/movable/AM) + ..() var/mob/living/simple_animal/bot/mulebot/MB = AM if(istype(MB)) MB.RunOver(src) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 76a9c00ed1..10295a7de4 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -1,4 +1,6 @@ /mob/living/carbon/human/getarmor(def_zone, type) + if(HAS_TRAIT(src, TRAIT_ARMOR_BROKEN)) //trait that makes it act as if you have no armor at all, you take natural damage from all sources + return 0 var/armorval = 0 var/organnum = 0 @@ -18,7 +20,6 @@ organnum++ return (armorval/max(organnum, 1)) - /mob/living/carbon/human/proc/checkarmor(obj/item/bodypart/def_zone, d_type) if(!d_type || !def_zone) return 0 diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index a87c92bdb9..ecac5fda10 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -714,18 +714,25 @@ return FALSE /datum/action/innate/slime_puddle/Activate() + var/mob/living/carbon/human/H = owner + //if they have anything stuck to their hands, we immediately say 'no' and return + for(var/obj/item/I in H.held_items) + if(HAS_TRAIT(I, TRAIT_NODROP)) + to_chat(owner, "There's something stuck to your hand, stopping you from transforming!") + return if(isjellyperson(owner) && IsAvailable()) transforming = TRUE UpdateButtonIcon() - var/mob/living/carbon/human/H = owner var/mutcolor = "#" + H.dna.features["mcolor"] if(!is_puddle) - if(CHECK_MOBILITY(H, MOBILITY_USE)) - is_puddle = TRUE - owner.cut_overlays() + if(CHECK_MOBILITY(H, MOBILITY_USE)) //if we can use items, we can turn into a puddle + is_puddle = TRUE //so we know which transformation to use when its used + owner.cut_overlays() //we dont show our normal sprite, we show a puddle sprite var/obj/effect/puddle_effect = new puddle_into_effect(get_turf(owner), owner.dir) puddle_effect.color = mutcolor - H.Stun(in_transformation_duration, ignore_canstun = TRUE) + H.Stun(in_transformation_duration, ignore_canstun = TRUE) //cant move while transforming + + //series of traits that make up the puddle behaviour ADD_TRAIT(H, TRAIT_PARALYSIS_L_ARM, SLIMEPUDDLE_TRAIT) ADD_TRAIT(H, TRAIT_PARALYSIS_R_ARM, SLIMEPUDDLE_TRAIT) ADD_TRAIT(H, TRAIT_MOBILITY_NOPICKUP, SLIMEPUDDLE_TRAIT) @@ -733,19 +740,30 @@ ADD_TRAIT(H, TRAIT_SPRINT_LOCKED, SLIMEPUDDLE_TRAIT) ADD_TRAIT(H, TRAIT_COMBAT_MODE_LOCKED, SLIMEPUDDLE_TRAIT) ADD_TRAIT(H, TRAIT_MOBILITY_NOREST, SLIMEPUDDLE_TRAIT) + ADD_TRAIT(H, TRAIT_ARMOR_BROKEN, SLIMEPUDDLE_TRAIT) + H.update_disabled_bodyparts(silent = TRUE) //silently update arms to be paralysed + H.add_movespeed_modifier(/datum/movespeed_modifier/slime_puddle) - H.update_disabled_bodyparts(silent = TRUE) + H.layer -= 1 //go one layer down so people go over you - ENABLE_BITFIELD(H.pass_flags, PASSMOB) - squeak = H.AddComponent(/datum/component/squeak, custom_sounds = list('sound/effects/blobattack.ogg')) - sleep(in_transformation_duration) + ENABLE_BITFIELD(H.pass_flags, PASSMOB) //this actually lets people pass over you + squeak = H.AddComponent(/datum/component/squeak, custom_sounds = list('sound/effects/blobattack.ogg')) //blorble noise when people step on you + + //if the user is a changeling, retract their sting + H.unset_sting() + + sleep(in_transformation_duration) //wait for animation to end + + //set the puddle overlay up var/mutable_appearance/puddle_overlay = mutable_appearance(icon = puddle_icon, icon_state = puddle_state) puddle_overlay.color = mutcolor tracked_overlay = puddle_overlay owner.add_overlay(puddle_overlay) + transforming = FALSE UpdateButtonIcon() else + //like the above, but reverse everything done! owner.cut_overlay(tracked_overlay) var/obj/effect/puddle_effect = new puddle_from_effect(get_turf(owner), owner.dir) puddle_effect.color = mutcolor @@ -758,6 +776,7 @@ REMOVE_TRAIT(H, TRAIT_SPRINT_LOCKED, SLIMEPUDDLE_TRAIT) REMOVE_TRAIT(H, TRAIT_COMBAT_MODE_LOCKED, SLIMEPUDDLE_TRAIT) REMOVE_TRAIT(H, TRAIT_MOBILITY_NOREST, SLIMEPUDDLE_TRAIT) + REMOVE_TRAIT(H, TRAIT_ARMOR_BROKEN, SLIMEPUDDLE_TRAIT) H.update_disabled_bodyparts(silent = TRUE) H.remove_movespeed_modifier(/datum/movespeed_modifier/slime_puddle) H.layer += 1 //go one layer back above! diff --git a/code/modules/movespeed/modifiers/innate.dm b/code/modules/movespeed/modifiers/innate.dm index 946d93e96b..f5a599f940 100644 --- a/code/modules/movespeed/modifiers/innate.dm +++ b/code/modules/movespeed/modifiers/innate.dm @@ -20,5 +20,6 @@ flags = IGNORE_NOSLOW /datum/movespeed_modifier/slime_puddle - multiplicative_slowdown = 2 + multiplicative_slowdown = 4.5 flags = IGNORE_NOSLOW + variable = TRUE diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 10b733bae4e6221e36ab95f79ddda19526221b65..3d1cbfa273e654ab1b23a36d49c1b91f38526a62 100644 GIT binary patch delta 13825 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 aSqI$eH#*ru_NDC2VrFDzSbFjHqyGmdh`k*E From 002c0b231b6c53f3dd72c7ac4314f3478e6f7ae5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 1 Nov 2020 14:41:01 -0600 Subject: [PATCH 37/95] Automatic changelog generation for PR #13567 [ci skip] --- html/changelogs/AutoChangeLog-pr-13567.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-13567.yml diff --git a/html/changelogs/AutoChangeLog-pr-13567.yml b/html/changelogs/AutoChangeLog-pr-13567.yml new file mode 100644 index 0000000000..d51db8e3b8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13567.yml @@ -0,0 +1,8 @@ +author: "timothyteakettle" +delete-after: True +changes: + - tweak: "changeling stings retract upon turning into a slime puddle" + - tweak: "you cannot transform into a slime puddle with a no drop item in your hands" + - tweak: "slime puddles are now transparent and their colour looks more natural in comparison to the user" + - tweak: "slime puddles are now even slower" + - tweak: "slime puddles now get no protection from worn clothing" From 91584053f543e9bab66bbf98e79d19d03018e0db Mon Sep 17 00:00:00 2001 From: DeltaFire15 <46569814+DeltaFire15@users.noreply.github.com> Date: Sun, 1 Nov 2020 21:59:22 +0100 Subject: [PATCH 38/95] Fixes a bunch of fallout from the tgui PR (#13648) * screamies fixes a bunch of fallout from the tgui PR.. probably * Empty commit to poke travis --- code/game/machinery/announcement_system.dm | 6 ++++-- code/game/machinery/computer/robot.dm | 15 +++++++++++++++ code/game/machinery/dna_scanner.dm | 9 +++++++++ code/game/machinery/doors/airlock.dm | 10 ++++++++++ .../objects/items/implants/implant_hijack.dm | 8 ++++++++ code/modules/atmospherics/machinery/airalarm.dm | 15 ++++++++++++--- code/modules/events/pirates.dm | 3 ++- code/modules/mining/laborcamp/laborstacker.dm | 9 ++++++--- code/modules/power/apc.dm | 12 +++++++++++- code/modules/spells/spell_types/lichdom.dm | 2 +- .../tgui/interfaces/RoboticsControlConsole.js | 16 ++++++++++++++-- tgui/public/tgui.bundle.js | 2 +- 12 files changed, 93 insertions(+), 14 deletions(-) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index da82b0afc7..f46169f72e 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -114,7 +114,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) . = ..() if(.) return - if(!usr.canUseTopic(src, !issilicon(usr))) + if(!usr.canUseTopic(src, !hasSiliconAccessInArea(usr))) return if(stat & BROKEN) visible_message("[src] buzzes.", "You hear a faint buzz.") @@ -147,7 +147,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) . = attack_ai(user) /obj/machinery/announcement_system/attack_ai(mob/user) - if(!user.canUseTopic(src, !issilicon(user))) + if(!user.canUseTopic(src, !hasSiliconAccessInArea(user))) return if(stat & BROKEN) to_chat(user, "[src]'s firmware appears to be malfunctioning!") @@ -167,7 +167,9 @@ GLOBAL_LIST_EMPTY(announcement_systems) act_up() /obj/machinery/announcement_system/emag_act() + . = ..() if(obj_flags & EMAGGED) return obj_flags |= EMAGGED act_up() + return TRUE diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 401d05da12..9b911e9c15 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -21,6 +21,9 @@ return if(R.scrambledcodes) return + if(hasSiliconAccessInArea(user) && !issilicon(user)) + if(!Adjacent(user)) + return return TRUE /obj/machinery/computer/robotics/ui_interact(mob/user, datum/tgui/ui) @@ -40,6 +43,10 @@ else if(IsAdminGhost(user)) data["can_hack"] = TRUE + data["can_convert"] = FALSE + if(isAI(user) && is_servant_of_ratvar(user)) + data["can_convert"] = TRUE + data["cyborgs"] = list() for(var/mob/living/silicon/robot/R in GLOB.silicon_mobs) if(!can_control(user, R)) @@ -54,6 +61,7 @@ module = R.module ? "[R.module.name] Module" : "No Module Detected", synchronization = R.connected_ai, emagged = R.emagged, + servant = is_servant_of_ratvar(R), ref = REF(R) ) data["cyborgs"] += list(cyborg_data) @@ -110,6 +118,13 @@ log_game("[key_name(usr)] emagged [key_name(R)] using robotic console!") message_admins("[ADMIN_LOOKUPFLW(usr)] emagged cyborg [key_name_admin(R)] using robotic console!") R.SetEmagged(TRUE) + if("convert") + if(isAI(usr) && is_servant_of_ratvar(usr)) + var/mob/living/silicon/robot/R = locate(params["ref"]) in GLOB.silicon_mobs + if(istype(R) && !is_servant_of_ratvar(R) && R.connected_ai == usr) + log_game("[key_name(usr)] converted [key_name(R)] using robotic console!") + message_admins("[ADMIN_LOOKUPFLW(usr)] converted cyborg [key_name_admin(R)] using robotic console!") + add_servant_of_ratvar(R) if("killdrone") if(allowed(usr)) var/mob/living/simple_animal/drone/D = locate(params["ref"]) in GLOB.mob_list diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index e721e986d2..0dcb0e7235 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -32,6 +32,8 @@ . = ..() if(in_range(user, src) || isobserver(user)) . += "The status display reads: Radiation pulse accuracy increased by factor [precision_coeff**2].
Radiation pulse damage decreased by factor [damage_coeff**2].
" + if(scan_level >= 3) + . += "Scanner has been upgraded to support autoprocessing." /obj/machinery/dna_scannernew/update_icon_state() //no power or maintenance @@ -94,6 +96,13 @@ ..(user) +// search for ghosts, if the corpse is empty and the scanner is connected to a cloner + var/mob/living/mob_occupant = get_mob_or_brainmob(occupant) + if(istype(mob_occupant)) + if(locate_computer(/obj/machinery/computer/cloning)) + if(!mob_occupant.suiciding && !(HAS_TRAIT(mob_occupant, TRAIT_NOCLONE)) && !mob_occupant.hellbound) + mob_occupant.notify_ghost_cloning("Your corpse has been placed into a cloning scanner. Re-enter your corpse if you want to be cloned!", source = src) + // DNA manipulators cannot operate on severed heads or brains if(iscarbon(occupant)) if(linked_console) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 515a4672a5..9ef34390f6 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1457,6 +1457,16 @@ ui.open() return TRUE +/obj/machinery/door/airlock/ui_status(mob/user) + . = ..() + if (!issilicon(user) && hasSiliconAccessInArea(user)) + . = UI_INTERACTIVE + +/obj/machinery/door/airlock/can_interact(mob/user) + . = ..() + if (!issilicon(user) && hasSiliconAccessInArea(user)) + return TRUE + /obj/machinery/door/airlock/ui_data() var/list/data = list() diff --git a/code/game/objects/items/implants/implant_hijack.dm b/code/game/objects/items/implants/implant_hijack.dm index 36e58d8887..06d2df9272 100644 --- a/code/game/objects/items/implants/implant_hijack.dm +++ b/code/game/objects/items/implants/implant_hijack.dm @@ -92,10 +92,17 @@ /obj/item/implant/hijack/proc/hijack_remotely(obj/machinery/power/apc/apc) if (apc.hijacker || hijacking) return FALSE //can't remotely hijack an already hijacked APC + + if(apc.being_hijacked) + to_chat(imp_in, "This APC is already being hijacked!") + return FALSE + + apc.being_hijacked = TRUE hijacking = TRUE to_chat(imp_in, "Establishing remote connection with APC.") if (!do_after(imp_in, 4 SECONDS,target=apc)) to_chat(imp_in, "Aborting.") + apc.being_hijacked = FALSE hijacking = FALSE return TRUE if (LAZYLEN(imp_in.siliconaccessareas) >= HIJACK_APC_MAX_AMOUNT) @@ -118,6 +125,7 @@ toggle_eyes() else to_chat(imp_in, "Aborting.") + apc.being_hijacked = FALSE hijacking = FALSE imp_in.light_power = 0 imp_in.light_range = 0 diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index a2a55ee6b1..6049ee965e 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -237,12 +237,21 @@ . += "Alt-click to [locked ? "unlock" : "lock"] the interface." /obj/machinery/airalarm/ui_status(mob/user) - if(hasSiliconAccessInArea(user) && aidisabled) - to_chat(user, "AI control has been disabled.") - else if(!shorted) + if(hasSiliconAccessInArea(user)) + if(aidisabled) + to_chat(user, "AI control has been disabled") + return UI_CLOSE + else if(!issilicon(user)) //True sillycones use ..() + return UI_INTERACTIVE + if(!shorted) return ..() return UI_CLOSE +/obj/machinery/airalarm/can_interact(mob/user) + . = ..() + if (!issilicon(user) && hasSiliconAccessInArea(user)) + return TRUE + /obj/machinery/airalarm/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 3bcec9f471..8bada6da77 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -219,7 +219,7 @@ suit_type = /obj/item/clothing/suit/space helmet_type = /obj/item/clothing/head/helmet/space mask_type = /obj/item/clothing/mask/breath - storage_type = /obj/item/tank/internals/oxygen + storage_type = /obj/item/tank/jetpack/void /obj/machinery/loot_locator @@ -275,6 +275,7 @@ /obj/machinery/computer/piratepad_control name = "cargo hold control terminal" + resistance_flags = INDESTRUCTIBLE ui_x = 600 ui_y = 230 var/status_report = "Ready for delivery." diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 429dc98e8a..2ca4d5fd2e 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -109,9 +109,12 @@ GLOBAL_LIST(labor_sheet_values) qdel(src) /obj/machinery/mineral/labor_claim_console/emag_act(mob/user) - if(!(obj_flags & EMAGGED)) - obj_flags |= EMAGGED - to_chat(user, "PZZTTPFFFT") + . = ..() + if((obj_flags & EMAGGED)) + return + obj_flags |= EMAGGED + to_chat(user, "PZZTTPFFFT") + return TRUE /**********************Prisoner Collection Unit**************************/ diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 1a96f36ccd..7f7c02f457 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -111,6 +111,7 @@ var/obj/machinery/computer/apc_control/remote_control = null var/mob/living/carbon/hijacker var/hijackerlast = TRUE + var/being_hijacked = FALSE /obj/machinery/power/apc/unlocked locked = FALSE @@ -902,7 +903,7 @@ if(H && !H.stealthmode && H.toggled) abilitiesavail = TRUE var/list/data = list( - "locked" = locked, + "locked" = locked && !(integration_cog && is_servant_of_ratvar(user)) && !area.hasSiliconAccessInArea(user, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE), "failTime" = failure_timer, "isOperating" = operating, "externalPower" = main_status, @@ -1119,10 +1120,14 @@ /obj/machinery/power/apc/proc/hijack(mob/living/L) if (!istype(L)) return + if(being_hijacked) + to_chat(L, "This APC is already being hijacked!") + return if (hijacker && hijacker != L) var/obj/item/implant/hijack/H = L.getImplant(/obj/item/implant/hijack) to_chat(L, "Someone already has control of this APC. Beginning counter-hijack.") H.hijacking = TRUE + being_hijacked = TRUE if (do_after(L,20 SECONDS,target=src)) hijacker.toggleSiliconAccessArea(area) if (L.toggleSiliconAccessArea(area)) @@ -1130,23 +1135,28 @@ update_icon() set_hijacked_lighting() H.hijacking = FALSE + being_hijacked = FALSE return else to_chat(L, "Aborting.") H.hijacking = FALSE + being_hijacked = FALSE return to_chat(L, "Beginning hijack of APC.") var/obj/item/implant/hijack/H = L.getImplant(/obj/item/implant/hijack) H.hijacking = TRUE + being_hijacked = TRUE if (do_after(L,H.stealthmode ? 12 SECONDS : 5 SECONDS,target=src)) if (L.toggleSiliconAccessArea(area)) hijacker = L update_icon() set_hijacked_lighting() H.hijacking = FALSE + being_hijacked = FALSE else to_chat(L, "Aborting.") H.hijacking = FALSE + being_hijacked = FALSE return /obj/machinery/power/apc/proc/malfhack(mob/living/silicon/ai/malf) diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index 11518b236f..3d54c7130c 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -132,7 +132,7 @@ lich.real_name = mind.name mind.transfer_to(lich) mind.grab_ghost(force=TRUE) - lich.hardset_dna(null,null,null,lich.real_name,null, new /datum/species/skeleton) + lich.hardset_dna(null,null,null,lich.real_name,null, new /datum/species/skeleton/space) to_chat(lich, "Your bones clatter and shudder as you are pulled back into this world!") var/turf/body_turf = get_turf(old_body) lich.DefaultCombatKnockdown(200 + 200*resurrections) diff --git a/tgui/packages/tgui/interfaces/RoboticsControlConsole.js b/tgui/packages/tgui/interfaces/RoboticsControlConsole.js index 746cb7ad9c..1520b4093b 100644 --- a/tgui/packages/tgui/interfaces/RoboticsControlConsole.js +++ b/tgui/packages/tgui/interfaces/RoboticsControlConsole.js @@ -8,6 +8,7 @@ export const RoboticsControlConsole = (props, context) => { const [tab, setTab] = useSharedState(context, 'tab', 1); const { can_hack, + can_convert, cyborgs = [], drones = [], } = data; @@ -34,7 +35,9 @@ export const RoboticsControlConsole = (props, context) => { {tab === 1 && ( - + )} {tab === 2 && ( @@ -45,7 +48,7 @@ export const RoboticsControlConsole = (props, context) => { }; const Cyborgs = (props, context) => { - const { cyborgs, can_hack } = props; + const { cyborgs, can_hack, can_convert } = props; const { act, data } = useBackend(context); if (!cyborgs.length) { return ( @@ -70,6 +73,15 @@ const Cyborgs = (props, context) => { ref: cyborg.ref, })} /> )} + {!!can_convert && !cyborg.servant && ( +