From e5ab12acd077a96992ff54d350f396ec34f6b27a Mon Sep 17 00:00:00 2001 From: Kyep Date: Fri, 6 Jan 2017 23:46:49 -0800 Subject: [PATCH 01/49] PR 2 Creation --- .../components/unary_devices/vent_pump.dm | 2 + code/_globalvars/lists/objects.dm | 1 + code/modules/admin/player_panel.dm | 7 + code/modules/events/event_container.dm | 1 + code/modules/events/spider_terror.dm | 44 ++++ .../hostile/terror_spiders/__defines.dm | 14 +- .../hostile/terror_spiders/actions.dm | 112 ++++++++- .../hostile/terror_spiders/black.dm | 6 +- .../hostile/terror_spiders/chem.dm | 49 ++-- .../hostile/terror_spiders/ghost.dm | 6 +- .../hostile/terror_spiders/gray.dm | 3 - .../hostile/terror_spiders/green.dm | 60 +++++ .../hostile/terror_spiders/hive.dm | 43 ++++ .../hostile/terror_spiders/mother.dm | 45 ++++ .../hostile/terror_spiders/prince.dm | 28 ++- .../hostile/terror_spiders/purple.dm | 87 +++++++ .../hostile/terror_spiders/queen.dm | 222 ++++++++++++++++++ .../hostile/terror_spiders/reproduction.dm | 179 ++++++++++++++ .../hostile/terror_spiders/terror_spiders.dm | 59 +++-- .../hostile/terror_spiders/white.dm | 41 ++++ code/modules/surgery/organs/parasites.dm | 82 +++++++ paradise.dme | 8 + 22 files changed, 1037 insertions(+), 62 deletions(-) create mode 100644 code/modules/events/spider_terror.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index 299d0c20e22..a2ba4429ffa 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -61,6 +61,7 @@ /obj/machinery/atmospherics/unary/vent_pump/New() ..() + all_vent_pumps += src icon = null initial_loc = get_area(loc) area_uid = initial_loc.uid @@ -426,6 +427,7 @@ return ..() /obj/machinery/atmospherics/unary/vent_pump/Destroy() + all_vent_pumps -= src if(initial_loc) initial_loc.air_vent_info -= id_tag initial_loc.air_vent_names -= id_tag diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 600dac2f273..091ecd40dbb 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -23,6 +23,7 @@ var/global/list/rcd_list = list() //list of Rapid Construction Devices. var/global/list/apcs = list() var/global/list/air_alarms = list() var/global/list/power_monitors = list() +var/global/list/all_vent_pumps = list() var/global/list/navbeacons = list() //list of all bot nagivation beacons, used for patrolling. var/global/list/deliverybeacons = list() //list of all MULEbot delivery beacons. diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 2e76bcea6a2..631b621528f 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -523,6 +523,13 @@ if(ticker.mode.greyshirts.len) dat += check_role_table("Greyshirts", ticker.mode.greyshirts) + if(ts_spiderlist.len) + var/list/spider_minds = list() + for(var/mob/living/simple_animal/hostile/poison/terror_spider/S in ts_spiderlist) + if(S.ckey) + spider_minds += S.mind + dat += check_role_table("Terror Spiders", spider_minds) + dat += "" usr << browse(dat, "window=roundstatus;size=400x500") else diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index deaa1b85aa8..1a2a4e897cb 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -185,6 +185,7 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MAJOR, "Abductor Visit", /datum/event/abductor, 80, is_one_shot = 1), new /datum/event_meta/alien(EVENT_LEVEL_MAJOR, "Alien Infestation", /datum/event/alien_infestation, 0, list(ASSIGNMENT_SECURITY = 30), 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 0, is_one_shot = 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Terror Spiders", /datum/event/spider_terror, 0, is_one_shot = 1) ) diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm new file mode 100644 index 00000000000..ba636867b35 --- /dev/null +++ b/code/modules/events/spider_terror.dm @@ -0,0 +1,44 @@ + +/datum/event/spider_terror + announceWhen = 400 + var/spawncount = 1 + +/datum/event/spider_terror/setup() + announceWhen = rand(announceWhen, announceWhen + 50) + spawncount = 1 + +/datum/event/spider_infestation/announce() + command_announcement.Announce("Confirmed outbreak of level 3 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/effects/siren.ogg') + +/datum/event/spider_terror/start() + + var/list/vents = list() + for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in all_vent_pumps) + if(is_station_level(temp_vent.loc.z) && !temp_vent.welded) + if(temp_vent.parent.other_atmosmch.len > 50) + vents += temp_vent + + var/spider_type + var/infestation_type = pick(1, 2, 3, 4) + switch(infestation_type) + if(1) + spider_type = /mob/living/simple_animal/hostile/poison/terror_spider/green + spawncount = pick(2,3) + if(2) + spider_type = /mob/living/simple_animal/hostile/poison/terror_spider/white + spawncount = 1 + if(3) + spider_type = /mob/living/simple_animal/hostile/poison/terror_spider/prince + spawncount = 1 + if(4) + spider_type = /mob/living/simple_animal/hostile/poison/terror_spider/queen + spawncount = 1 + + while((spawncount >= 1) && vents.len) + var/obj/vent = pick(vents) + var/obj/effect/spider/spiderling/terror_spiderling/S = new(vent.loc) + S.name = "evil-looking spiderling" + S.grow_as = spider_type + S.amount_grown = 75 + vents -= vent + spawncount-- \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm index fafd30a4ae4..bea086c3ee6 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm @@ -4,8 +4,20 @@ #define MOVING_TO_TARGET 3 #define SPINNING_COCOON 4 +#define TS_DESC_RED "Red - Assault" +#define TS_DESC_GRAY "Gray - Ambush" +#define TS_DESC_GREEN "Green - Nurse" +#define TS_DESC_WHITE "White - Infect" +#define TS_DESC_BLACK "Black - Poison" +#define TS_DESC_PURPLE "Purple - Guard" +#define TS_DESC_PRINCE "Prince - WAR" +#define TS_DESC_MOTHER "Mother - HORROR" +#define TS_DESC_QUEEN "Queen - LEADER" + #define TS_TIER_1 1 #define TS_TIER_2 2 #define TS_TIER_3 3 #define TS_TIER_4 4 -#define TS_TIER_5 5 \ No newline at end of file +#define TS_TIER_5 5 + +#define isterrorspider(A) (istype((A), /mob/living/simple_animal/hostile/poison/terror_spider)) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index 2111f350b0b..91ff4cbb53e 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -1,4 +1,4 @@ - +// ---------- ACTIONS FOR ALL SPIDERS /datum/action/innate/terrorspider/web name = "Web" @@ -19,17 +19,84 @@ user.FindWrapTarget() user.DoWrap() +// ---------- GREEN ACTIONS + +/datum/action/innate/terrorspider/greeneggs + name = "Lay Green Eggs" + icon_icon = 'icons/effects/effects.dmi' + button_icon_state = "eggs" + +/datum/action/innate/terrorspider/greeneggs/Activate() + var/mob/living/simple_animal/hostile/poison/terror_spider/green/user = owner + user.DoLayGreenEggs() + +// ---------- PRINCE ACTIONS + +/datum/action/innate/terrorspider/princesmash + name = "Smash Welded Vent" + icon_icon = 'icons/atmos/vent_pump.dmi' + button_icon_state = "map_vent" + +/datum/action/innate/terrorspider/princesmash/Activate() + var/mob/living/simple_animal/hostile/poison/terror_spider/prince/user = owner + user.DoPrinceSmash() + + +// ---------- QUEEN ACTIONS + +/datum/action/innate/terrorspider/queen/queennest + name = "Nest" + icon_icon = 'icons/mob/terrorspider.dmi' + button_icon_state = "terror_queen" + +/datum/action/innate/terrorspider/queen/queennest/Activate() + var/mob/living/simple_animal/hostile/poison/terror_spider/queen/user = owner + user.NestMode() + +/datum/action/innate/terrorspider/queen/queensense + name = "Hive Sense" + icon_icon = 'icons/mob/actions.dmi' + button_icon_state = "mindswap" + +/datum/action/innate/terrorspider/queen/queensense/Activate() + var/mob/living/simple_animal/hostile/poison/terror_spider/queen/user = owner + user.DoHiveSense() + +/datum/action/innate/terrorspider/queen/queeneggs + name = "Lay Queen Eggs" + icon_icon = 'icons/effects/effects.dmi' + button_icon_state = "eggs" + +/datum/action/innate/terrorspider/queen/queeneggs/Activate() + var/mob/living/simple_animal/hostile/poison/terror_spider/queen/user = owner + user.LayQueenEggs() + +/datum/action/innate/terrorspider/queen/queenfakelings + name = "Fake Spiderlings" + icon_icon = 'icons/effects/effects.dmi' + button_icon_state = "spiderling" + +/datum/action/innate/terrorspider/queen/queenfakelings/Activate() + var/mob/living/simple_animal/hostile/poison/terror_spider/queen/user = owner + user.QueenFakeLings() // ---------- WEB /mob/living/simple_animal/hostile/poison/terror_spider/proc/Web() + var/turf/mylocation = loc visible_message("[src] begins to secrete a sticky substance.") if(do_after(src, 40, target = loc)) - var/obj/effect/spider/terrorweb/T = locate() in get_turf(src) - if(T) - to_chat(src, "There is already a web here.") + if(loc != mylocation) + return + else if(istype(loc, /turf/space)) + to_chat(src, "Webs cannot be spun in space.") else - new /obj/effect/spider/terrorweb(loc) + var/obj/effect/spider/terrorweb/T = locate() in get_turf(src) + if(T) + to_chat(src, "There is already a web here.") + else + var/obj/effect/spider/terrorweb/W = new /obj/effect/spider/terrorweb(loc) + W.creator_ckey = ckey /obj/effect/spider/terrorweb name = "terror web" @@ -39,6 +106,7 @@ density = 0 // prevents it blocking all movement health = 20 // two welders, or one laser shot (15 for the normal spider webs) icon_state = "stickyweb1" + var/creator_ckey = null /obj/effect/spider/terrorweb/New() @@ -50,12 +118,17 @@ /obj/effect/spider/terrorweb/CanPass(atom/movable/mover, turf/target) if(istype(mover, /mob/living/simple_animal/hostile/poison/terror_spider)) return 1 + if(istype(mover, /obj/item/projectile/terrorqueenspit)) + return 1 if(isliving(mover)) if(prob(80)) to_chat(mover, "You get stuck in [src] for a moment.") var/mob/living/M = mover M.Stun(4) // 8 seconds. M.Weaken(4) // 8 seconds. + if(iscarbon(mover)) + spawn(70) + qdel(src) return 1 else return 0 @@ -64,7 +137,12 @@ return ..() - +/obj/effect/spider/terrorweb/bullet_act(var/obj/item/projectile/Proj) + if(Proj.damage_type != BRUTE && Proj.damage_type != BURN) + visible_message("[src] is undamaged by [Proj]!") + // Webs don't care about disablers, tasers, etc. Or toxin damage. They're organic, but not alive. + else + ..() // ---------- WRAP @@ -73,12 +151,12 @@ if(!cocoon_target) var/list/choices = list() for(var/mob/living/L in oview(1,src)) - if(Adjacent(L)) + if(Adjacent(L) && !L.anchored) if(L.stat == DEAD) choices += L for(var/obj/O in oview(1,src)) if(Adjacent(O) && !O.anchored) - if(!istype(O, /obj/effect/spider/terrorweb) && !istype(O, /obj/effect/spider/cocoon)) + if(!istype(O, /obj/effect/spider/terrorweb) && !istype(O, /obj/effect/spider/cocoon) && !istype(O, /obj/effect/spider/spiderling/terror_spiderling)) choices += O if(choices.len) cocoon_target = input(src,"What do you wish to cocoon?") in null|choices @@ -87,6 +165,9 @@ /mob/living/simple_animal/hostile/poison/terror_spider/proc/DoWrap() if(cocoon_target && busy != SPINNING_COCOON) + if(cocoon_target.anchored) + cocoon_target = null + return busy = SPINNING_COCOON visible_message("[src] begins to secrete a sticky substance around [cocoon_target].") stop_automated_movement = 1 @@ -125,3 +206,18 @@ busy = 0 stop_automated_movement = 0 + +/mob/living/simple_animal/hostile/poison/terror_spider/prince/proc/DoPrinceSmash() + for(var/obj/machinery/atmospherics/unary/vent_pump/P in view(1,src)) + if(P.welded) + P.welded = 0 + P.update_icon() + visible_message("[src] smashes the welded cover off [P]!") + return + for(var/obj/machinery/atmospherics/unary/vent_scrubber/C in view(1,src)) + if(C.welded) + C.welded = 0 + C.update_icon() + visible_message("[src] smashes the welded cover off [C]!") + return + to_chat(src, "There is no unwelded vent close enough to do this.") \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm index 68d25a29492..93add83a261 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm @@ -10,7 +10,7 @@ /mob/living/simple_animal/hostile/poison/terror_spider/black name = "Black Terror spider" - desc = "An ominous-looking spider, black as the darkest night, and with merciless eyes and a blood-red hourglass pattern on its back." + desc = "An ominous-looking spider, black as the darkest night. It has merciless eyes, and a blood-red hourglass pattern on its back." spider_role_summary = "Hit-and-run attacker with extremely venomous bite." icon_state = "terror_widow" @@ -27,11 +27,11 @@ /mob/living/simple_animal/hostile/poison/terror_spider/black/spider_specialattack(mob/living/carbon/human/L, poisonable) if(!poisonable) return ..() - if(L.reagents.has_reagent("terror_black_toxin", 50)) + if(L.reagents.has_reagent("terror_black_toxin", 100)) return ..() var/inject_target = pick("chest", "head") if(L.stunned || L.can_inject(null, 0, inject_target, 0)) - L.reagents.add_reagent("terror_black_toxin", 15) // inject our special poison + L.reagents.add_reagent("terror_black_toxin", 30) // inject our special poison visible_message("[src] buries its long fangs deep into the [inject_target] of [target]!") else visible_message("[src] bites [target], but cannot inject venom into their [inject_target]!") diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm index 8ad926a8729..8c43cc6b1a0 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm @@ -1,3 +1,4 @@ + // Terror Spider, Black, Deadly Venom /datum/reagent/terror_black_toxin @@ -8,26 +9,44 @@ metabolization_rate = 0.1 /datum/reagent/terror_black_toxin/on_mob_life(mob/living/M) - if(volume < 15) - // bitten once, die slowly. Easy to survive a single bite - just go to medbay. - // total damage: 2/tick, human health 150 until crit, = 75 ticks, = 150 seconds = 2.5 minutes to get to medbay. - M.adjustToxLoss(2) // same damage/tick as tabun cycle 0 to 60 - else if(volume < 30) - // bitten twice, die more quickly, muscle cramps make movement difficult. Call medics immediately. - // total damage: 4, human health 150 until crit, = 37.5 ticks, = 75s = 1m15s until death - M.adjustToxLoss(4) - M.Confused(3) + if(volume < 30) + // bitten once, die very slowly. Easy to survive a single bite - just go to medbay. + // total damage: 1/tick, human health 150 until crit, = 150 ticks, = 300 seconds = 5 minutes to get to medbay. + M.adjustToxLoss(1) + else if(volume < 60) + // bitten twice, die slowly. Get to medbay. + // total damage: 2/tick, human health 150 until crit, = 75 ticks, = 150 seconds = 2.5 minutes to get some medical treatment. + M.adjustToxLoss(2) M.EyeBlurry(3) - else if(volume < 45) - // bitten thrice, die very quickly, severe muscle cramps make movement very difficult. Even calling for help probably won't save you. - // total damage: 8, human health 150 until crit, = 18.75 ticks, = 37s until death - M.adjustToxLoss(8) // a bit worse than coiine + else if(volume < 90) + // bitten thrice, die quickly, severe muscle cramps make movement very difficult. Even calling for help probably won't save you. + // total damage: 4, human health 150 until crit, = 37.5 ticks, = 75s = 1m15s until death + M.adjustToxLoss(4) // a bit worse than coiine M.Confused(6) M.EyeBlurry(6) else // bitten 4 or more times, whole body goes into shock/death - // total damage: 12, human health 150 until crit, = 12.5 ticks, = 25s until death - M.adjustToxLoss(12) + // total damage: 8, human health 150 until crit, = 18.75 ticks, = 37s until death + M.adjustToxLoss(8) M.EyeBlurry(6) M.Paralyse(5) ..() + + + +// Terror Spider, Queen Toxin + +/datum/reagent/terror_queen_toxin + name = "Terror Queen venom" + id = "terror_queen_toxin" + description = "A royally potent venom." + color = "#CF3600" + metabolization_rate = 2 + +/datum/reagent/terror_queen_toxin/on_mob_life(mob/living/M as mob) + if(!M) + M = holder.my_atom + // make them hallucinate a lot, like a changeling sting + M.hallucination = min(400, M.hallucination+50) + + diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm index 06703cc2106..ddfbf598fc7 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm @@ -13,15 +13,15 @@ return var/error_on_humanize = "" var/humanize_prompt = "Take direct control of [src]?" - humanize_prompt += "Role: [spider_role_summary]" + humanize_prompt += " Role: [spider_role_summary]" if(user.ckey in ts_ckey_blacklist) error_on_humanize = "You are not able to control any terror spider this round." - else if(!ai_playercontrol_allowingeneral) - error_on_humanize = "Terror spiders cannot currently be player-controlled." else if(spider_awaymission) error_on_humanize = "Terror spiders that are part of an away mission cannot be controlled by ghosts." else if(!ai_playercontrol_allowtype) error_on_humanize = "This specific type of terror spider is not player-controllable." + else if(degenerate) + error_on_humanize = "Dying spiders are not player-controllable." else if(stat == DEAD) error_on_humanize = "Dead spiders are not player-controllable." if(jobban_isbanned(user, "Syndicate") || jobban_isbanned(user, "alien")) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm index 42c16cc7666..04ee2b97d25 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm @@ -18,11 +18,8 @@ health = 120 melee_damage_lower = 10 melee_damage_upper = 20 - ventcrawler = 1 move_to_delay = 5 // normal speed stat_attack = 1 // ensures they will target people in crit, too! - environment_smash = 1 - /mob/living/simple_animal/hostile/poison/terror_spider/gray/spider_specialattack(mob/living/carbon/human/L, poisonable) if(!poisonable) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm new file mode 100644 index 00000000000..56265386686 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm @@ -0,0 +1,60 @@ + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: T1 GREEN TERROR ------------------------------ +// -------------------------------------------------------------------------------- +// -------------: ROLE: reproduction +// -------------: SPECIAL: can also create webs, web normal objects, etc +// -------------: TO FIGHT IT: kill it however you like - just don't die to it! +// -------------: SPRITES FROM: FoS, http://nanotrasen.se/phpBB3/memberlist.php?mode=viewprofile&u=386 + +/mob/living/simple_animal/hostile/poison/terror_spider/green + name = "Green Terror spider" + desc = "An ominous-looking green spider. It has a small egg-sac attached to it, and dried blood stains on its carapace." + spider_role_summary = "Average melee spider that webs its victims and lays more spider eggs" + + icon_state = "terror_green" + icon_living = "terror_green" + icon_dead = "terror_green_dead" + maxHealth = 120 + health = 120 + melee_damage_lower = 10 + melee_damage_upper = 20 + var/feedings_to_lay = 2 + + var/datum/action/innate/terrorspider/greeneggs/greeneggs_action + + +/mob/living/simple_animal/hostile/poison/terror_spider/green/New() + ..() + greeneggs_action = new() + greeneggs_action.Grant(src) + +/mob/living/simple_animal/hostile/poison/terror_spider/green/proc/DoLayGreenEggs() + var/obj/effect/spider/eggcluster/E = locate() in get_turf(src) + if(E) + to_chat(src, "There is already a cluster of eggs here!") + else if(fed < feedings_to_lay) + to_chat(src, "You must wrap more prey before you can do this!") + else + visible_message("[src] begins to lay a cluster of eggs.") + if(prob(33)) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/red, 1, 1) + else if(prob(50)) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/gray, 1, 1) + else + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/green, 1, 1) + fed -= feedings_to_lay + +/mob/living/simple_animal/hostile/poison/terror_spider/green/spider_specialattack(mob/living/carbon/human/L, poisonable) + if(!poisonable) + ..() + return + var/inject_target = pick("chest","head") + if(L.stunned || L.can_inject(null,0,inject_target,0)) + if(L.eye_blurry < 60) + L.AdjustEyeBlurry(10) + // instead of having a venom that only lasts seconds, we just add the eyeblur directly. + visible_message("[src] buries its fangs deep into the [inject_target] of [target]!") + else + visible_message("[src] bites [target], but cannot inject venom into their [inject_target]!") + L.attack_animal(src) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm new file mode 100644 index 00000000000..eda1836a968 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm @@ -0,0 +1,43 @@ + +// All terror spider code that relates to queen ruling over a hive + + +/mob/living/simple_animal/hostile/poison/terror_spider/proc/DoHiveSense() + var/hsline = "" + to_chat(src, "Your Brood: ") + for(var/mob/living/simple_animal/hostile/poison/terror_spider/T in ts_spiderlist) + if(T.spider_awaymission != spider_awaymission) + continue + hsline = "* [T] in [get_area(T)], " + if(T.stat == DEAD) + hsline += "DEAD" + else + hsline += "health [T.health] / [T.maxHealth], " + if(T.ckey) + hsline += " *Player Controlled* " + else + hsline += " AI " + to_chat(src,hsline) + + +/mob/living/simple_animal/hostile/poison/terror_spider/proc/CountSpiders() + var/numspiders = 0 + for(var/mob/living/simple_animal/hostile/poison/terror_spider/T in ts_spiderlist) + if(T.stat != DEAD && !T.spider_placed && spider_awaymission == T.spider_awaymission) + numspiders += 1 + return numspiders + +/mob/living/simple_animal/hostile/poison/terror_spider/proc/CountSpidersType(specific_type) + var/numspiders = 0 + for(var/mob/living/simple_animal/hostile/poison/terror_spider/T in ts_spiderlist) + if(T.stat != DEAD && !T.spider_placed && spider_awaymission == T.spider_awaymission) + if(T.type == specific_type) + numspiders += 1 + for(var/obj/effect/spider/eggcluster/terror_eggcluster/E in ts_egg_list) + if(E.spiderling_type == specific_type && E.z == z) + numspiders += E.spiderling_number + for(var/obj/effect/spider/spiderling/terror_spiderling/L in ts_spiderling_list) + if(!L.stillborn && L.grow_as == specific_type && L.z == z) + numspiders += 1 + return numspiders + diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm new file mode 100644 index 00000000000..634948d1a58 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm @@ -0,0 +1,45 @@ + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: T3 MOTHER OF TERROR -------------------------- +// -------------------------------------------------------------------------------- +// -------------: ROLE: living schmuck bait +// -------------: SPECIAL: spawns an ungodly number of spiderlings when killed +// -------------: TO FIGHT IT: don't! Just leave it alone! It is harmless by itself... but god help you if you aggro it. +// -------------: SPRITES FROM: FoS, http://nanotrasen.se/phpBB3/memberlist.php?mode=viewprofile&u=386 + +/mob/living/simple_animal/hostile/poison/terror_spider/mother + name = "Mother of Terror spider" + desc = "An enormous spider. Hundreds of tiny spiderlings are crawling all over it. Their beady little eyes all stare at you. The horror!" + spider_role_summary = "Schmuck bait. Extremely weak in combat, but spawns many spiderlings when it dies." + + icon_state = "terror_gray2" + icon_living = "terror_gray2" + icon_dead = "terror_gray2_dead" + maxHealth = 50 + health = 50 + melee_damage_lower = 10 + melee_damage_upper = 20 + move_to_delay = 5 + + spider_tier = TS_TIER_3 + spider_opens_doors = 2 + + var/canspawn = 1 + +/mob/living/simple_animal/hostile/poison/terror_spider/mother/death(gibbed) + if(canspawn) + canspawn = 0 + for(var/i=0, i<30, i++) + var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src)) + S.grow_as = pick(/mob/living/simple_animal/hostile/poison/terror_spider/red, /mob/living/simple_animal/hostile/poison/terror_spider/gray) + if(prob(66)) + S.stillborn = 1 + else if(prob(10)) + S.grow_as = pick(/mob/living/simple_animal/hostile/poison/terror_spider/black, /mob/living/simple_animal/hostile/poison/terror_spider/green) + visible_message("[src] breaks apart, the many spiders on its back scurrying everywhere!") + degenerate = 1 + ..() + +/mob/living/simple_animal/hostile/poison/terror_spider/mother/Destroy() + canspawn = 0 + return ..() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm index 669449a6ae3..5a3a746e1a9 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm @@ -11,20 +11,34 @@ /mob/living/simple_animal/hostile/poison/terror_spider/prince name = "Prince of Terror spider" desc = "An enormous, terrifying spider. It looks like it is judging everything it sees. Its hide seems armored, and it bears the scars of many battles." - spider_role_summary = "Boss-level terror spider. Lightning bruiser. Capable of taking on a squad by itself." + spider_role_summary = "Miniboss terror spider. Lightning bruiser." + icon_state = "terror_allblack" icon_living = "terror_allblack" icon_dead = "terror_allblack_dead" - maxHealth = 400 // 20 laser shots. - health = 400 - melee_damage_lower = 15 - melee_damage_upper = 25 - move_to_delay = 5 - ventcrawler = 1 + + maxHealth = 600 // 30 laser shots + health = 600 + regen_points_per_hp = 6 // double the normal - IE halved regen speed + + melee_damage_lower = 20 + melee_damage_upper = 30 + move_to_delay = 4 // faster than normal + + ventcrawler = 0 + environment_smash = 3 + loot = list(/obj/item/clothing/accessory/medal) spider_tier = TS_TIER_3 spider_opens_doors = 2 + var/datum/action/innate/terrorspider/princesmash/princesmash_action + + +/mob/living/simple_animal/hostile/poison/terror_spider/prince/New() + ..() + princesmash_action = new() + princesmash_action.Grant(src) /mob/living/simple_animal/hostile/poison/terror_spider/prince/spider_specialattack(mob/living/carbon/human/L) if(prob(15)) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm new file mode 100644 index 00000000000..14515567f4a --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm @@ -0,0 +1,87 @@ + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: T2 PURPLE TERROR ----------------------------- +// -------------------------------------------------------------------------------- +// -------------: ROLE: guarding queen nests +// -------------: SPECIAL: chance to stun on hit +// -------------: TO FIGHT IT: shoot it from range, bring friends! +// -------------: SPRITES FROM: FoS, http://nanotrasen.se/phpBB3/memberlist.php?mode=viewprofile&u=386 + +/mob/living/simple_animal/hostile/poison/terror_spider/purple + name = "Purple Terror spider" + desc = "An ominous-looking purple spider. It looks about warily, as if waiting for something." + spider_role_summary = "Guards the nest of the Queen of Terror." + + icon_state = "terror_purple" + icon_living = "terror_purple" + icon_dead = "terror_purple_dead" + maxHealth = 200 + health = 200 + melee_damage_lower = 15 + melee_damage_upper = 25 + move_to_delay = 6 + + spider_tier = TS_TIER_2 + spider_opens_doors = 2 + + ventcrawler = 0 + environment_smash = 3 + + var/dcheck_counter = 0 + var/queen_visible = 1 + var/cycles_noqueen = 0 + + +/mob/living/simple_animal/hostile/poison/terror_spider/purple/spider_specialattack(mob/living/carbon/human/L, poisonable) + if(cycles_noqueen < 6 && prob(10)) + visible_message("[src] rams into [L], knocking them to the floor!") + L.Weaken(5) + L.Stun(5) + else + ..() + + +/mob/living/simple_animal/hostile/poison/terror_spider/purple/Life() + ..() + if(!degenerate && spider_myqueen) + if(dcheck_counter >= 10) + dcheck_counter = 0 + purple_distance_check() + else + dcheck_counter++ + + +/mob/living/simple_animal/hostile/poison/terror_spider/purple/proc/purple_distance_check() + if(spider_myqueen) + var/mob/living/simple_animal/hostile/poison/terror_spider/queen/Q = spider_myqueen + if(Q) + if(Q.stat == DEAD) + spider_myqueen = null + degenerate = 1 + to_chat(src,"Your Queen has died! Her power no longer sustains you!") + return + queen_visible = 0 + for(var/mob/living/M in view(src, vision_range)) + if(M == Q) + queen_visible = 1 + break + if(queen_visible) + cycles_noqueen = 0 + if(spider_debug) + to_chat(src,"Queen visible.") + else + cycles_noqueen++ + if(spider_debug) + to_chat(src,"Queen NOT visible. Cycles: [cycles_noqueen].") + if(cycles_noqueen == 3) + // one minute without queen sighted + to_chat(src,"You wonder where your Queen is.") + else if(cycles_noqueen == 6) + // two minutes without queen sighted + to_chat(src,"Without your Queen in sight, you feel yourself getting weaker...") + else if(cycles_noqueen >= 9) + // three minutes without queen sighted, kill them. + degenerate = 1 + to_chat(src,"Your link to your Queen has been broken! Your life force starts to drain away!") + melee_damage_lower = 5 + melee_damage_upper = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm new file mode 100644 index 00000000000..37c92264ebd --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -0,0 +1,222 @@ + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: T4 QUEEN OF TERROR --------------------------- +// -------------------------------------------------------------------------------- +// -------------: ROLE: gamma-level threat to the whole station, like a blob +// -------------: SPECIAL: spins webs, breaks lights, breaks cameras, webs objects, lays eggs, commands other spiders... +// -------------: TO FIGHT IT: bring an army, and take no prisoners. Mechs and/or decloner guns are a very good idea. +// -------------: SPRITES FROM: FoS, http://nanotrasen.se/phpBB3/memberlist.php?mode=viewprofile&u=386 + +/mob/living/simple_animal/hostile/poison/terror_spider/queen + name = "Queen of Terror spider" + desc = "An enormous, terrifying spider. Its egg sac is almost as big as its body, and teeming with spider eggs!" + spider_role_summary = "Commander of the spider forces. Lays eggs, directs the brood." + + icon_state = "terror_queen" + icon_living = "terror_queen" + icon_dead = "terror_queen_dead" + maxHealth = 200 + health = 200 + melee_damage_lower = 10 + melee_damage_upper = 20 + move_to_delay = 15 // yeah, this is very slow, but + ventcrawler = 1 + var/spider_spawnfrequency = 1200 // 120 seconds + var/spider_spawnfrequency_stable = 1200 // 120 seconds. Spawnfrequency is set to this on ai spiders once nest setup is complete. + var/spider_lastspawn = 0 + var/nestfrequency = 150 // 15 seconds + var/lastnestsetup = 0 + var/neststep = 0 + var/hasnested = 0 + var/spider_max_per_nest = 20 // above this, queen stops spawning more, and declares war. + + var/canlay = 0 // main counter for egg-laying ability! # = num uses, incremented at intervals + var/spider_can_fakelings = 3 // spawns defective spiderlings that don't grow up, used to freak out crew, atmosphere + + force_threshold = 18 // outright immune to anything of force under 18, this means welders can't hurt it, only guns can + + ranged = 1 + retreat_distance = 5 + minimum_distance = 5 + projectilesound = 'sound/weapons/pierce.ogg' + projectiletype = /obj/item/projectile/terrorqueenspit + + spider_tier = TS_TIER_4 + spider_opens_doors = 2 + loot = list(/obj/item/clothing/accessory/medal) + + var/datum/action/innate/terrorspider/queen/queennest/queennest_action + var/datum/action/innate/terrorspider/queen/queensense/queensense_action + var/datum/action/innate/terrorspider/queen/queeneggs/queeneggs_action + var/datum/action/innate/terrorspider/queen/queenfakelings/queenfakelings_action + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/New() + ..() + queennest_action = new() + queennest_action.Grant(src) + spider_myqueen = src + if(spider_awaymission) + spider_growinstantly = 1 + spider_spawnfrequency = 150 + + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/Life() + ..() + if(stat != DEAD) + if(ckey && canlay < 12 && hasnested) // max 12 eggs worth stored at any one time, realistically that's tons. + if(world.time > (spider_lastspawn + spider_spawnfrequency)) + canlay++ + spider_lastspawn = world.time + if(canlay == 1) + to_chat(src, "You are able to lay eggs again.") + else if(canlay == 12) + to_chat(src, "You have [canlay] eggs available to lay. You won't grow any more eggs until you lay some of your existing ones.") + else + to_chat(src, "You have [canlay] eggs available to lay.") + + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/death(gibbed) + if(!hasdied) + // When a queen dies, so do her player-controlled purple-type guardians. Intended as a motivator for purples to ensure they guard her. + for(var/mob/living/simple_animal/hostile/poison/terror_spider/purple/P in ts_spiderlist) + if(ckey) + P.visible_message("\The [src] writhes in pain!") + to_chat(P,"\The [src] has died. Without her hivemind link, purple terrors like yourself cannot survive more than a few minutes!") + P.degenerate = 1 + ..() + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/NestMode() + queeneggs_action = new() + queeneggs_action.Grant(src) + queenfakelings_action = new() + queenfakelings_action.Grant(src) + queensense_action = new() + queensense_action.Grant(src) + queennest_action.Remove(src) + hasnested = 1 + ventcrawler = 0 + environment_smash = 3 + DoQueenScreech(8, 100, 8, 100) + MassFlicker() + to_chat(src, "You have matured to your egglaying stage. You can now smash through walls, and lay eggs, but can no longer ventcrawl.") + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/MassFlicker() + var/list/target_lights = list() + for(var/mob/living/carbon/human/H in player_list) + if(H.z != src.z) + continue + if(H.stat == DEAD) + continue + for(var/obj/machinery/light/L in orange(7, H)) + if(L.on && prob(25)) + target_lights += L + for(var/obj/machinery/light/I in target_lights) + I.flicker() + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/LayQueenEggs() + if(!hasnested) + to_chat(src, "You must nest before doing this.") + return + if(canlay < 1) + var/remainingtime = round(((spider_lastspawn + spider_spawnfrequency) - world.time) / 10, 1) + if(remainingtime > 0) + to_chat(src, "Too soon to attempt that again. Wait another [num2text(remainingtime)] seconds.") + else + to_chat(src, "Too soon to attempt that again. Wait just a few more seconds...") + return + var/list/eggtypes = list(TS_DESC_RED, TS_DESC_GRAY, TS_DESC_GREEN, TS_DESC_BLACK, TS_DESC_PURPLE) + if(canlay >= 12) + eggtypes |= TS_DESC_MOTHER + eggtypes |= TS_DESC_PRINCE + var num_purples = CountSpidersType(/mob/living/simple_animal/hostile/poison/terror_spider/purple) + if(num_purples >= 2) + eggtypes -= TS_DESC_PURPLE + var num_blacks = CountSpidersType(/mob/living/simple_animal/hostile/poison/terror_spider/black) + if(num_blacks >= 2) + eggtypes -= TS_DESC_BLACK + var/eggtype = input("What kind of eggs?") as null|anything in eggtypes + if(!(eggtype in eggtypes)) + to_chat(src, "Unrecognized egg type.") + return 0 + if(eggtype == TS_DESC_MOTHER || eggtype == TS_DESC_PRINCE) + if(canlay < 12) + to_chat(src, "Insufficient strength. It takes as much effort to lay one of those as it does to lay 12 normal eggs.") + else + if(eggtype == TS_DESC_MOTHER) + canlay -= 12 + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/mother, 1, 0) + else if(eggtype == TS_DESC_PRINCE) + canlay -= 12 + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/prince, 1, 0) + return + var/numlings = 1 + if(eggtype != TS_DESC_PURPLE) + if(canlay >= 5) + numlings = input("How many in the batch?") as null|anything in list(1, 2, 3, 4, 5) + else if(canlay >= 3) + numlings = input("How many in the batch?") as null|anything in list(1, 2, 3) + else if(canlay == 2) + numlings = input("How many in the batch?") as null|anything in list(1, 2) + if(eggtype == null || numlings == null) + to_chat(src, "Cancelled.") + return + //spider_lastspawn = world.time // don't think we actually need this, if queen is laying manually canlay controls her rate. + canlay -= numlings + if(eggtype == TS_DESC_RED) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/red, numlings, 1) + else if(eggtype == TS_DESC_GRAY) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/gray, numlings, 1) + else if(eggtype == TS_DESC_GREEN) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/green, numlings, 1) + else if(eggtype == TS_DESC_BLACK) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/black, numlings, 1) + else if(eggtype == TS_DESC_PURPLE) + DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/purple, numlings, 0) + else + to_chat(src, "Unrecognized egg type.") + + + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/DoQueenScreech(light_range, light_chance, camera_range, camera_chance) + visible_message("\The [src] emits a bone-chilling shriek!") + for(var/obj/machinery/light/L in orange(light_range, src)) + if(L.on && prob(light_chance)) + L.broken() + for(var/obj/machinery/camera/C in orange(camera_range, src)) + if(C.status && prob(camera_chance)) + C.toggle_cam(src, 0) + + +/mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/QueenFakeLings() + if(spider_can_fakelings) + spider_can_fakelings-- + var/numlings = 15 + for(var/i in 1 to numlings) + var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src)) + S.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/red + S.stillborn = 1 + S.name = "Evil-Looking Spiderling" + S.desc = "It moves very quickly, hisses loudly for its size... and has disproportionately large fangs. Hopefully it does not grow up..." + if(!spider_can_fakelings) + queenfakelings_action.Remove(src) + else + to_chat(src, "You have run out of uses of this ability.") + + + +/obj/item/projectile/terrorqueenspit + name = "poisonous spit" + damage = 0 + icon_state = "toxin" + damage_type = TOX + + +/obj/item/projectile/terrorqueenspit/on_hit(mob/living/carbon/target) + if(istype(target, /mob)) + var/mob/living/L = target + if(L.reagents) + if(L.can_inject(null, 0, "chest", 0)) + L.reagents.add_reagent("terror_queen_toxin", 15) + if(!istype(L, /mob/living/simple_animal/hostile/poison/terror_spider)) + L.adjustToxLoss(30) + diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm new file mode 100644 index 00000000000..cf5a17647e2 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm @@ -0,0 +1,179 @@ + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: SPIDERLINGS (USED BY GREEN, WHITE, QUEEN AND MOTHER TYPES) +// -------------------------------------------------------------------------------- + +/obj/effect/spider/spiderling/terror_spiderling + name = "spiderling" + desc = "A fast-moving tiny spider, prone to making aggressive hissing sounds. Hope it doesn't grow up." + icon_state = "spiderling" + anchored = 0 + layer = 2.75 + health = 3 + var/stillborn = 0 + faction = list("terrorspiders") + var/spider_myqueen = null + var/use_vents = 1 + + +/obj/effect/spider/spiderling/terror_spiderling/New() + ..() + ts_spiderling_list += src + + +/obj/effect/spider/spiderling/terror_spiderling/Destroy() + ts_spiderling_list -= src + return ..() + +/obj/effect/spider/spiderling/terror_spiderling/Bump(atom/A) + if(istype(A, /obj/structure/table)) + forceMove(A.loc) + else if(istype(A, /obj/machinery/recharge_station)) + qdel(src) + else + ..() + + +/obj/effect/spider/spiderling/terror_spiderling/process() + if(travelling_in_vent) + if(isturf(loc)) + travelling_in_vent = 0 + entry_vent = null + else if(entry_vent) + if(get_dist(src, entry_vent) <= 1) + var/list/vents = list() + for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in entry_vent.parent.other_atmosmch) + vents.Add(temp_vent) + if(!vents.len) + entry_vent = null + return + var/obj/machinery/atmospherics/unary/vent_pump/exit_vent = pick(vents) + if(prob(50)) + visible_message("[src] scrambles into the ventillation ducts!", "You hear something squeezing through the ventilation ducts.") + var/original_location = loc + spawn(rand(20,60)) + forceMove(exit_vent) + var/travel_time = round(get_dist(loc, exit_vent.loc) / 2) + spawn(travel_time) + if(!exit_vent || exit_vent.welded) + forceMove(original_location) + entry_vent = null + return + if(prob(50)) + audible_message("You hear something squeezing through the ventilation ducts.") + spawn(travel_time) + if(!exit_vent || exit_vent.welded) + forceMove(original_location) + entry_vent = null + return + forceMove(exit_vent.loc) + entry_vent = null + var/area/new_area = get_area(loc) + if(new_area) + new_area.Entered(src) + else if(prob(33)) + var/list/nearby = oview(10, src) + if(nearby.len) + var/target_atom = pick(nearby) + walk_to(src, target_atom) + else if(prob(10) && use_vents) + for(var/obj/machinery/atmospherics/unary/vent_pump/v in view(7,src)) + if(!v.welded) + entry_vent = v + walk_to(src, entry_vent, 1) + break + if(isturf(loc)) + amount_grown += rand(0,2) + if(amount_grown >= 100) + if(stillborn) + die() + else + if(!grow_as) + grow_as = pick(/mob/living/simple_animal/hostile/poison/terror_spider/red, /mob/living/simple_animal/hostile/poison/terror_spider/gray, /mob/living/simple_animal/hostile/poison/terror_spider/green) + var/mob/living/simple_animal/hostile/poison/terror_spider/S = new grow_as(loc) + S.faction = faction + S.spider_myqueen = spider_myqueen + S.master_commander = master_commander + qdel(src) + + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: EGGS (USED BY NURSE AND QUEEN TYPES) --------- +// -------------------------------------------------------------------------------- + +/mob/living/simple_animal/hostile/poison/terror_spider/proc/DoLayTerrorEggs(lay_type, lay_number, lay_crawl) + stop_automated_movement = 1 + var/obj/effect/spider/eggcluster/terror_eggcluster/C = new /obj/effect/spider/eggcluster/terror_eggcluster(get_turf(src)) + C.spiderling_type = lay_type + C.spiderling_number = lay_number + C.spiderling_ventcrawl = lay_crawl + C.faction = faction + C.spider_myqueen = spider_myqueen + C.master_commander = master_commander + if(spider_growinstantly) + C.amount_grown = 250 + C.spider_growinstantly = 1 + spawn(10) + stop_automated_movement = 0 + + +/obj/effect/spider/eggcluster/terror_eggcluster + name = "terror egg cluster" + desc = "A cluster of tiny spider eggs. They pulse with a strong inner life, and appear to have sharp thorns on the sides." + icon_state = "eggs" + var/spider_growinstantly = 0 + faction = list("terrorspiders") + var/spider_myqueen = null + var/spiderling_type = null + var/spiderling_number = 1 + var/spiderling_ventcrawl = 1 + + +/obj/effect/spider/eggcluster/terror_eggcluster/New() + ..() + ts_egg_list += src + spawn(50) + if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/red) + name = "red terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/gray) + name = "gray terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/green) + name = "green terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/black) + name = "black terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/purple) + name = "purple terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/white) + name = "white terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/mother) + name = "mother of terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/prince) + name = "prince of terror eggs" + else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/queen) + name = "queen of terror eggs" + + +/obj/effect/spider/eggcluster/terror_eggcluster/Destroy() + ts_egg_list -= src + return ..() + +/obj/effect/spider/eggcluster/terror_eggcluster/process() + amount_grown += rand(0,2) + if(amount_grown >= 100) + var/num = spiderling_number + for(var/i=0, i spider_tier) visible_message("[src] bows in respect for the terrifying presence of [target].") @@ -163,10 +167,15 @@ var/global/list/ts_spiderlist = list() spider_specialattack(G,can_poison) else G.attack_animal(src) + else if(istype(target, /obj/structure/alien/resin)) + var/obj/structure/alien/resin/E = target + do_attack_animation(E) + E.health -= rand(melee_damage_lower, melee_damage_upper) + E.healthcheck() else target.attack_animal(src) -/mob/living/simple_animal/hostile/poison/terror_spider/proc/spider_specialattack(mob/living/carbon/human/L, var/poisonable) +/mob/living/simple_animal/hostile/poison/terror_spider/proc/spider_specialattack(mob/living/carbon/human/L, poisonable) L.attack_animal(src) @@ -195,6 +204,8 @@ var/global/list/ts_spiderlist = list() msgs += "It has many injuries." else if(health > (maxHealth*0.25)) msgs += "It is barely clinging on to life!" + if(degenerate) + msgs += "It appears to be dying." else if(health < maxHealth && regen_points > regen_points_per_kill) msgs += "It appears to be regenerating quickly." if(killcount >= 1) @@ -206,7 +217,8 @@ var/global/list/ts_spiderlist = list() ..() ts_spiderlist += src add_language("Spider Hivemind") - add_language("Galactic Common") + if(spider_tier >= TS_TIER_2) + add_language("Galactic Common") default_language = all_languages["Spider Hivemind"] web_action = new() @@ -215,6 +227,7 @@ var/global/list/ts_spiderlist = list() wrap_action.Grant(src) name += " ([rand(1, 1000)])" + real_name = name msg_terrorspiders("[src] has grown in [get_area(src)].") if(is_away_level(z)) spider_awaymission = 1 @@ -233,7 +246,7 @@ var/global/list/ts_spiderlist = list() if(ckey) var/image/alert_overlay = image('icons/mob/terrorspider.dmi', icon_state) notify_ghosts("[src] has appeared in [get_area(src)]. (already player-controlled)", source = src, alert_overlay = alert_overlay) - else if(ai_playercontrol_allowingeneral && ai_playercontrol_allowtype) + else if(ai_playercontrol_allowtype) var/image/alert_overlay = image('icons/mob/terrorspider.dmi', icon_state) notify_ghosts("[src] has appeared in [get_area(src)].", enter_link = "(Click to control)", source = src, alert_overlay = alert_overlay, attack_not_jump = 1) @@ -250,6 +263,8 @@ var/global/list/ts_spiderlist = list() visible_message("\The dead body of the [src] decomposes!") gib() else + if(degenerate > 0) + adjustToxLoss(rand(1,10)) if(regen_points < regen_points_max) regen_points += regen_points_per_tick if((bruteloss > 0) || (fireloss > 0)) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm new file mode 100644 index 00000000000..32d48a80264 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm @@ -0,0 +1,41 @@ + +// -------------------------------------------------------------------------------- +// ----------------- TERROR SPIDERS: T2 WHITE TERROR ------------------------------ +// -------------------------------------------------------------------------------- +// -------------: ROLE: stealthy reproduction +// -------------: AI: injects a venom that makes you grow spiders in your body, then retreats +// -------------: SPECIAL: stuns you on first attack - vulnerable to groups while it does this +// -------------: TO FIGHT IT: blast it before it can get away +// -------------: SPRITES FROM: FoS, http://nanotrasen.se/phpBB3/memberlist.php?mode=viewprofile&u=386 + +/mob/living/simple_animal/hostile/poison/terror_spider/white + name = "White Terror spider" + desc = "An ominous-looking white spider, its ghostly eyes and vicious-looking fangs are the stuff of nightmares." + spider_role_summary = "Rare, bite-and-run spider that infects hosts with spiderlings" + + icon_state = "terror_white" + icon_living = "terror_white" + icon_dead = "terror_white_dead" + maxHealth = 100 + health = 100 + melee_damage_lower = 5 + melee_damage_upper = 15 + move_to_delay = 4 + spider_tier = TS_TIER_2 + loot = list(/obj/item/clothing/accessory/medal) + +/mob/living/simple_animal/hostile/poison/terror_spider/white/spider_specialattack(mob/living/carbon/human/L, poisonable) + if(!poisonable) + ..() + return + var/inject_target = pick("chest","head") + L.attack_animal(src) + if(L.stunned || L.paralysis || L.can_inject(null,0,inject_target,0)) + if(!IsInfected(L)) + visible_message("[src] buries its long fangs deep into the [inject_target] of [L]!") + new /obj/item/organ/internal/body_egg/terror_eggs(L) + +/mob/living/simple_animal/hostile/poison/terror_spider/proc/IsInfected(mob/living/carbon/C) // Terror AI requires this + if(C.get_int_organ(/obj/item/organ/internal/body_egg)) + return 1 + return 0 diff --git a/code/modules/surgery/organs/parasites.dm b/code/modules/surgery/organs/parasites.dm index 61e72743464..b3f274c3838 100644 --- a/code/modules/surgery/organs/parasites.dm +++ b/code/modules/surgery/organs/parasites.dm @@ -1,3 +1,6 @@ + +// Traitor-only space spider eggs + /obj/item/organ/internal/body_egg/spider_eggs name = "spider eggs" icon = 'icons/effects/effects.dmi' @@ -34,3 +37,82 @@ M.reagents.del_reagent("spidereggs") //purge all remaining spider eggs reagent if caught, in time. qdel(src) //We don't want people re-implanting these for near instant gibbings. return null + + + +// Terror Spiders - white spider infection + +/obj/item/organ/internal/body_egg/terror_eggs + name = "terror eggs" + icon = 'icons/effects/effects.dmi' + icon_state = "eggs" + var/current_cycle = 0 + var/awaymission_infection = 0 + var/alternate_ending = 0 + +/obj/item/organ/internal/body_egg/terror_eggs/on_life() + current_cycle += 1 + if(owner.health < -25) + to_chat(owner,"You feel a strange, blissful senstation.") + owner.adjustBruteLoss(-5) + owner.adjustFireLoss(-5) + owner.adjustToxLoss(-5) + // the spider eggs secrete stimulants to keep their host alive until they hatch + switch(current_cycle) + if(1) // immediately + to_chat(owner,"Your spider bite wound hurts horribly! ") + if(istype(get_area(owner), /area/awaycontent) || istype(get_area(owner), /area/awaymission/)) + awaymission_infection = 1 + if(15) // 30 seconds... enough time for the nerve agent to kick in, the pain to be blocked, and healing to begin + to_chat(owner,"The pain has faded, and stopped bleeding, though the skin around it has turned black.") + owner.adjustBruteLoss(-10) + if(60) // 2 minutes... the point where the venom uses and accellerates the healing process, to feed the eggs + to_chat(owner,"Your bite wound has completely sealed up, though the skin is still black. You feel significantly better.") + owner.adjustBruteLoss(-20) + if(120) // 4 minutes... where the eggs are developing, and the wound is turning into a hatching site, but invisibly + to_chat(owner,"The black flesh around your old spider bite wound has started to peel off.") + if(150) // 5 minutes... where the victim realizes something is wrong - this is not a normal wound + to_chat(owner,"The black flesh around your spider bite wound has cracked, and started to split open!") + if(165) // 5m 30s + to_chat(owner,"The black flesh splits open completely, revealing a cluster of small black oval shapes inside you, shapes that seem to be moving!") + if(180) // 6m + if(awaymission_infection && is_away_level(owner.z)) + // we started in the awaymission, we ended on the station. + // To prevent someone bringing an infection back, we're going to trigger an alternate, equally-bad result here. + // Actually, let's make it slightly worse... just to discourage people from bringing back infections. + alternate_ending = 1 + to_chat(owner,"The shapes extend tendrils out of your wound... no... those are legs! SPIDER LEGS! You have spiderlings growing inside you! You scratch at the wound, but it just aggrivates them - they swarm out of the wound, biting you all over!") + owner.visible_message("[owner] flails around on the floor as spiderlings erupt from their skin and swarm all over them! ") + owner.Stun(20) + owner.Weaken(20) + // yes, this is a long stun - that's intentional. Gotta give the spiderlings time to escape. + var/obj/effect/spider/spiderling/terror_spiderling/S1 = new(get_turf(owner)) + S1.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/red + S1.name = "red spiderling" + if(prob(50)) + S1.stillborn = 1 + var/obj/effect/spider/spiderling/terror_spiderling/S2 = new(get_turf(owner)) + S2.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/gray + S2.name = "gray spiderling" + if(prob(50)) + S2.stillborn = 1 + var/obj/effect/spider/spiderling/terror_spiderling/S3 = new(get_turf(owner)) + S3.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/green + S3.name = "green spiderling" + if(prob(50)) + S3.stillborn = 1 + if(alternate_ending) + S1.stillborn = 1 + S2.stillborn = 1 + S3.stillborn = 1 + owner.gib() + else + owner.adjustToxLoss(rand(100,180)) // normal case, range: 100-180, average 140, almost crit (150). + if(190) // 6m 30s + to_chat(owner,"The spiderlings are gone. Your wound, though, looks worse than ever. Remnants of tiny spider eggs, and dead spiders, inside your flesh. Disgusting.") + qdel(src) + +/obj/item/organ/internal/body_egg/terror_eggs/remove(var/mob/living/carbon/M, var/special = 0) + ..() + qdel(src) // prevent people re-implanting them into others + return null diff --git a/paradise.dme b/paradise.dme index 2c8c24688fa..3012b8503cd 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1299,6 +1299,7 @@ #include "code\modules\events\slaughterevent.dm" #include "code\modules\events\spacevine.dm" #include "code\modules\events\spider_infestation.dm" +#include "code\modules\events\spider_terror.dm" #include "code\modules\events\spontaneous_appendicitis.dm" #include "code\modules\events\tear.dm" #include "code\modules\events\traders.dm" @@ -1691,9 +1692,16 @@ #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\chem.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\ghost.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\gray.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\green.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\hive.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\mother.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\prince.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\purple.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\queen.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\red.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\reproduction.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\terror_spiders.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\white.dm" #include "code\modules\mob\new_player\login.dm" #include "code\modules\mob\new_player\logout.dm" #include "code\modules\mob\new_player\new_player.dm" From 43aaf4a8d9cc131c22537b80c3a8b486577ac9ae Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 7 Jan 2017 16:07:43 -0800 Subject: [PATCH 02/49] Tiger requests --- code/modules/events/spider_terror.dm | 2 +- .../simple_animal/hostile/terror_spiders/__defines.dm | 2 -- .../living/simple_animal/hostile/terror_spiders/chem.dm | 4 +--- .../living/simple_animal/hostile/terror_spiders/mother.dm | 2 +- .../living/simple_animal/hostile/terror_spiders/queen.dm | 4 ++-- code/modules/mob/mob_helpers.dm | 7 +++++-- code/modules/surgery/organs/parasites.dm | 2 +- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm index ba636867b35..2556c369470 100644 --- a/code/modules/events/spider_terror.dm +++ b/code/modules/events/spider_terror.dm @@ -34,7 +34,7 @@ spider_type = /mob/living/simple_animal/hostile/poison/terror_spider/queen spawncount = 1 - while((spawncount >= 1) && vents.len) + while(spawncount >= 1 && vents.len) var/obj/vent = pick(vents) var/obj/effect/spider/spiderling/terror_spiderling/S = new(vent.loc) S.name = "evil-looking spiderling" diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm index bea086c3ee6..8453a71cff4 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/__defines.dm @@ -19,5 +19,3 @@ #define TS_TIER_3 3 #define TS_TIER_4 4 #define TS_TIER_5 5 - -#define isterrorspider(A) (istype((A), /mob/living/simple_animal/hostile/poison/terror_spider)) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm index 8c43cc6b1a0..1b67c074b22 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm @@ -43,9 +43,7 @@ color = "#CF3600" metabolization_rate = 2 -/datum/reagent/terror_queen_toxin/on_mob_life(mob/living/M as mob) - if(!M) - M = holder.my_atom +/datum/reagent/terror_queen_toxin/on_mob_life(mob/living/M) // make them hallucinate a lot, like a changeling sting M.hallucination = min(400, M.hallucination+50) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm index 634948d1a58..51c95bf6fdf 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm @@ -29,7 +29,7 @@ /mob/living/simple_animal/hostile/poison/terror_spider/mother/death(gibbed) if(canspawn) canspawn = 0 - for(var/i=0, i<30, i++) + for(var/i in 0 to 30) var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src)) S.grow_as = pick(/mob/living/simple_animal/hostile/poison/terror_spider/red, /mob/living/simple_animal/hostile/poison/terror_spider/gray) if(prob(66)) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index 37c92264ebd..874be829e29 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -103,7 +103,7 @@ /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/MassFlicker() var/list/target_lights = list() for(var/mob/living/carbon/human/H in player_list) - if(H.z != src.z) + if(H.z != z) continue if(H.stat == DEAD) continue @@ -212,7 +212,7 @@ /obj/item/projectile/terrorqueenspit/on_hit(mob/living/carbon/target) - if(istype(target, /mob)) + if(ismob(target)) var/mob/living/L = target if(L.reagents) if(L.can_inject(null, 0, "chest", 0)) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 0b04647d094..1610999f5ed 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -586,8 +586,8 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HARM) if(5) newletter="glor" newphrase+="[newletter]";counter-=1 - return newphrase - + return newphrase + /mob/proc/get_preference(toggleflag) if(!client) return FALSE @@ -596,3 +596,6 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HARM) return FALSE // Cast to 1/0 return !!(client.prefs.toggles & toggleflag) + + +#define isterrorspider(A) (istype((A), /mob/living/simple_animal/hostile/poison/terror_spider)) \ No newline at end of file diff --git a/code/modules/surgery/organs/parasites.dm b/code/modules/surgery/organs/parasites.dm index b3f274c3838..3d1917fe258 100644 --- a/code/modules/surgery/organs/parasites.dm +++ b/code/modules/surgery/organs/parasites.dm @@ -61,7 +61,7 @@ switch(current_cycle) if(1) // immediately to_chat(owner,"Your spider bite wound hurts horribly! ") - if(istype(get_area(owner), /area/awaycontent) || istype(get_area(owner), /area/awaymission/)) + if(istype(get_area(owner), /area/awaycontent) || istype(get_area(owner), /area/awaymission)) awaymission_infection = 1 if(15) // 30 seconds... enough time for the nerve agent to kick in, the pain to be blocked, and healing to begin to_chat(owner,"The pain has faded, and stopped bleeding, though the skin around it has turned black.") From 1d06b3afca7d89ac1cdb6c462f26478c3ef59e12 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 23 Jan 2017 23:42:44 -0800 Subject: [PATCH 03/49] Fox Requests --- .../living/simple_animal/hostile/terror_spiders/actions.dm | 4 ++-- .../mob/living/simple_animal/hostile/terror_spiders/chem.dm | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index 91ff4cbb53e..d041f50322a 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -141,8 +141,8 @@ if(Proj.damage_type != BRUTE && Proj.damage_type != BURN) visible_message("[src] is undamaged by [Proj]!") // Webs don't care about disablers, tasers, etc. Or toxin damage. They're organic, but not alive. - else - ..() + return + ..() // ---------- WRAP diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm index 1b67c074b22..366d28a32a3 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm @@ -45,6 +45,7 @@ /datum/reagent/terror_queen_toxin/on_mob_life(mob/living/M) // make them hallucinate a lot, like a changeling sting - M.hallucination = min(400, M.hallucination+50) + if(M.hallucination < 400) + M.Hallucinate(50) From 3d893dae715c4f5beeea1a9e45f2460e41dcfe00 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 28 Jan 2017 21:18:57 -0800 Subject: [PATCH 04/49] Tiger !. change, round two --- .../simple_animal/hostile/terror_spiders/terror_spiders.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index b9bcb3964df..b441ea966ee 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -256,8 +256,8 @@ var/global/list/ts_spiderling_list = list() return ..() /mob/living/simple_animal/hostile/poison/terror_spider/Life() - ..() - if(stat == DEAD) + . = ..() + if(!.) // if mob is dead if(prob(2)) // 2% chance every cycle to decompose visible_message("\The dead body of the [src] decomposes!") From 23cd0f55630de4b87c286f795bef3707f27df93b Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 28 Jan 2017 21:34:31 -0800 Subject: [PATCH 05/49] Tiger !. change, round 3 --- .../hostile/terror_spiders/purple.dm | 17 +++++++++-------- .../hostile/terror_spiders/queen.dm | 6 +++--- .../hostile/terror_spiders/terror_spiders.dm | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm index 14515567f4a..ac60323cccf 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm @@ -42,14 +42,15 @@ /mob/living/simple_animal/hostile/poison/terror_spider/purple/Life() - ..() - if(!degenerate && spider_myqueen) - if(dcheck_counter >= 10) - dcheck_counter = 0 - purple_distance_check() - else - dcheck_counter++ - + . = ..() + if(.) // if mob is NOT dead + if(!degenerate && spider_myqueen) + if(dcheck_counter >= 10) + dcheck_counter = 0 + purple_distance_check() + else + dcheck_counter++ + return . /mob/living/simple_animal/hostile/poison/terror_spider/purple/proc/purple_distance_check() if(spider_myqueen) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index 874be829e29..3ba54c42e4e 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -61,8 +61,8 @@ /mob/living/simple_animal/hostile/poison/terror_spider/queen/Life() - ..() - if(stat != DEAD) + . = ..() + if(.) // if mob is NOT dead if(ckey && canlay < 12 && hasnested) // max 12 eggs worth stored at any one time, realistically that's tons. if(world.time > (spider_lastspawn + spider_spawnfrequency)) canlay++ @@ -73,7 +73,7 @@ to_chat(src, "You have [canlay] eggs available to lay. You won't grow any more eggs until you lay some of your existing ones.") else to_chat(src, "You have [canlay] eggs available to lay.") - + return . /mob/living/simple_animal/hostile/poison/terror_spider/queen/death(gibbed) if(!hasdied) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index b441ea966ee..ba86dcaa5e5 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -277,7 +277,7 @@ var/global/list/ts_spiderling_list = list() regen_points -= regen_points_per_hp if(prob(5)) CheckFaction() - + return . From 792ea8951e69ce48668c327b2b8f0f2fbb0fd2a8 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 29 Jan 2017 17:45:10 -0800 Subject: [PATCH 06/49] eliminates return . --- .../mob/living/simple_animal/hostile/terror_spiders/purple.dm | 1 - .../mob/living/simple_animal/hostile/terror_spiders/queen.dm | 1 - .../simple_animal/hostile/terror_spiders/terror_spiders.dm | 1 - 3 files changed, 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm index ac60323cccf..6dc44caffb9 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm @@ -50,7 +50,6 @@ purple_distance_check() else dcheck_counter++ - return . /mob/living/simple_animal/hostile/poison/terror_spider/purple/proc/purple_distance_check() if(spider_myqueen) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index 3ba54c42e4e..a7efaf998f9 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -73,7 +73,6 @@ to_chat(src, "You have [canlay] eggs available to lay. You won't grow any more eggs until you lay some of your existing ones.") else to_chat(src, "You have [canlay] eggs available to lay.") - return . /mob/living/simple_animal/hostile/poison/terror_spider/queen/death(gibbed) if(!hasdied) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index ba86dcaa5e5..10e4405998e 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -277,7 +277,6 @@ var/global/list/ts_spiderling_list = list() regen_points -= regen_points_per_hp if(prob(5)) CheckFaction() - return . From 2d784b3b598f37da3d9caa2b29dc56a163de8b0d Mon Sep 17 00:00:00 2001 From: fludd12 Date: Mon, 30 Jan 2017 21:40:34 -0500 Subject: [PATCH 07/49] Fixes the weird files finally --- code/modules/client/preference/preferences.dm | 7 +++++++ code/modules/mob/living/carbon/human/human_defines.dm | 1 + code/modules/mob/living/carbon/human/say.dm | 5 ++++- goon/browserassets/css/browserOutput.css | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index a558bad3dec..3f86110346d 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -282,6 +282,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Species: [species]
" if(species == "Vox") dat += "N2 Tank: [speciesprefs ? "Large N2 Tank" : "Specialized N2 Tank"]
" + if(species == "Grey") + dat += "Voice: [speciesprefs ? "Wingdings" : "Normal"]
" dat += "Secondary Language: [language]
" dat += "Blood Type: [b_type]
" if(species in list("Human", "Drask", "Vox")) @@ -1331,6 +1333,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts b_skin = 0 alt_head = "None" //No alt heads on species that don't have them. + speciesprefs = 0 //My Vox tank shouldn't change how my future Grey talks. body_accessory = null //no vulptail on humans damnit @@ -2035,6 +2038,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts character.add_language(language) + if(species == "Grey") + if(speciesprefs) + character.speech_span = "wingdings" + character.real_name = real_name character.dna.real_name = real_name character.name = character.real_name diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 0d30c5c8265..1216c3bda1b 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -43,6 +43,7 @@ var/global/default_martial_art = new/datum/martial_art var/icon/lying_icon = null var/voice = "" //Instead of new say code calling GetVoice() over and over and over, we're just going to ask this variable, which gets updated in Life() + var/speech_span var/speech_problem_flag = 0 diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 26ca4af83e8..f066a2e6b9d 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -105,6 +105,7 @@ /mob/living/carbon/human/handle_speech_problems(var/message, var/verb) var/list/returns[3] var/speech_problem_flag = 0 + var/span = speech_span if(silent || (disabilities & MUTE)) message = "" @@ -143,8 +144,10 @@ verb = "yells loudly" if((COMIC in mutations) || (locate(/obj/item/organ/internal/cyberimp/brain/clown_voice) in internal_organs)) - message = "[message]" + span = "sans" + if(span) + message = "[message]" returns[1] = message returns[2] = verb returns[3] = speech_problem_flag diff --git a/goon/browserassets/css/browserOutput.css b/goon/browserassets/css/browserOutput.css index c7204d36577..71ec2b97028 100644 --- a/goon/browserassets/css/browserOutput.css +++ b/goon/browserassets/css/browserOutput.css @@ -299,6 +299,7 @@ h1.alert, h2.alert {color: #000000;} .confirm {color: #00af3b;} .rose {color: #ff5050;} .sans {font-family: 'Comic Sans MS', cursive, sans-serif;} +.wingdings {font-family: Wingdings, Webdings;} .ancient {color: #008B8B; font-stye: italic;} .newscaster {color: #800000;} .mod {color: #735638; font-weight: bold;} From fe9f547da65cd441d5bec0db4c3f0071798c4dc0 Mon Sep 17 00:00:00 2001 From: fludd12 Date: Fri, 3 Feb 2017 22:05:16 -0500 Subject: [PATCH 08/49] Moves spans to mind --- code/datums/mind.dm | 3 ++- code/modules/client/preference/preferences.dm | 8 +++++--- code/modules/mob/living/carbon/human/human_defines.dm | 1 - code/modules/mob/living/carbon/human/say.dm | 2 +- code/modules/mob/new_player/new_player.dm | 1 + 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index fcf1ded97cc..619bc5c6045 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -54,6 +54,7 @@ var/has_been_rev = 0//Tracks if this mind has been a rev or not var/miming = 0 // Mime's vow of silence + var/speech_span // What span any body this mind has talks in. var/datum/faction/faction //associated faction var/datum/changeling/changeling //changeling holder var/datum/vampire/vampire //vampire holder @@ -1324,7 +1325,7 @@ var/explanation = "Summon [ticker.mode.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it." to_chat(current, "Objective #1: [explanation]") current.memory += "Objective #1: [explanation]
" - + var/mob/living/carbon/human/H = current if(istype(H)) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 3f86110346d..20cdd45d20a 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -2022,6 +2022,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts ShowChoices(user) return 1 +/datum/preferences/proc/copy_to_mind(datum/mind/M) + if(species == "Grey") + if(speciesprefs) + M.speech_span = "wingdings" + /datum/preferences/proc/copy_to(mob/living/carbon/human/character) var/datum/species/S = all_species[species] character.change_species(species) // Yell at me if this causes everything to melt @@ -2038,9 +2043,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts character.add_language(language) - if(species == "Grey") - if(speciesprefs) - character.speech_span = "wingdings" character.real_name = real_name character.dna.real_name = real_name diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 1216c3bda1b..0d30c5c8265 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -43,7 +43,6 @@ var/global/default_martial_art = new/datum/martial_art var/icon/lying_icon = null var/voice = "" //Instead of new say code calling GetVoice() over and over and over, we're just going to ask this variable, which gets updated in Life() - var/speech_span var/speech_problem_flag = 0 diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index f066a2e6b9d..cac5ec6952c 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -105,7 +105,7 @@ /mob/living/carbon/human/handle_speech_problems(var/message, var/verb) var/list/returns[3] var/speech_problem_flag = 0 - var/span = speech_span + var/span = mind.speech_span if(silent || (disabilities & MUTE)) message = "" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index bccd7990de9..d18bad69475 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -506,6 +506,7 @@ new_character.real_name = pick(diona_names) //I hate this being here of all places but unfortunately dna is based on real_name! new_character.rename_self("diona") mind.original = new_character + client.prefs.copy_to_mind(mind) mind.transfer_to(new_character) //won't transfer key since the mind is not active From 18b806df862426f1e53f850072eda2e099fd509c Mon Sep 17 00:00:00 2001 From: fludd12 Date: Fri, 3 Feb 2017 22:36:06 -0500 Subject: [PATCH 09/49] Don't blame me this was Krausus' idea --- code/modules/client/preference/preferences.dm | 5 ----- code/modules/mob/living/carbon/human/species/station.dm | 5 +++++ code/modules/mob/new_player/new_player.dm | 1 - 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 20cdd45d20a..c0f97c074f8 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -2022,11 +2022,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts ShowChoices(user) return 1 -/datum/preferences/proc/copy_to_mind(datum/mind/M) - if(species == "Grey") - if(speciesprefs) - M.speech_span = "wingdings" - /datum/preferences/proc/copy_to(mob/living/carbon/human/character) var/datum/species/S = all_species[species] character.change_species(species) // Yell at me if this causes everything to melt diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 5bde6ce8e5b..1c55b10a921 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -722,6 +722,11 @@ genemutcheck(C,REMOTETALKBLOCK,null,MUTCHK_FORCED) ..() +/datum/species/grey/equip(var/mob/living/carbon/human/H) + var/speech_pref = H.client.prefs.speciesprefs + if(speech_pref) + H.mind.speech_span = "wingdings" + /datum/species/diona name = "Diona" name_plural = "Dionaea" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index d18bad69475..bccd7990de9 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -506,7 +506,6 @@ new_character.real_name = pick(diona_names) //I hate this being here of all places but unfortunately dna is based on real_name! new_character.rename_self("diona") mind.original = new_character - client.prefs.copy_to_mind(mind) mind.transfer_to(new_character) //won't transfer key since the mind is not active From b5cd3530a00f03d5332e393238d9aacb220776a1 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 8 Feb 2017 10:50:24 -0500 Subject: [PATCH 10/49] CONFLICT THIS M-FER --- .../MetaStation/MetaStation.v41A.II.dmm | 7 +- _maps/map_files/cyberiad/cyberiad.dmm | 71 +++++++++---------- _maps/map_files/shuttles/emergency_meta.dmm | 6 +- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index e0956c3ebe3..77c0a8f0fa3 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -635,7 +635,7 @@ "amk" = (/turf/simulated/wall/r_wall,/area/engine/gravitygenerator) "aml" = (/obj/structure/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "amm" = (/obj/machinery/conveyor{dir = 2; id = "garbage"; layer = 2.7},/obj/machinery/door/poddoor/preopen{id_tag = "Disposal Exit"; layer = 3.1; name = "disposal exit vent"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"amn" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id_tag = "trash"; pixel_x = -26; pixel_y = -6},/obj/structure/stool,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) +"amn" = (/obj/machinery/door_control{id = "trash"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id_tag = "trash"; pixel_x = -26; pixel_y = -6},/obj/structure/stool,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) "amo" = (/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/disposal) "amp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) "amq" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -8072,6 +8072,8 @@ "cZl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 2; initialize_directions = 11},/obj/item/weapon/twohanded/required/kirbyplants{icon_state = "plant-24"; layer = 4.1; tag = "icon-plant-24"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cZm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) "cZn" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/medical/research{name = "Research Division"}) +"cZo" = (/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"cZp" = (/obj/docking_port/mobile/emergency{dir = 2; dwidth = 5; height = 14; width = 25},/obj/docking_port/stationary{dir = 2; dwidth = 5; height = 14; id = "emergency_home"; name = "emergency evac bay"; width = 25},/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "cZq" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/turf/simulated/shuttle/plating{icon_state = "bot"},/area/shuttle/escape) "cZr" = (/turf/simulated/wall,/area/toxins/xenobiology{name = "\improper Secure Lab"}) "cZs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/toxins/xenobiology{name = "\improper Secure Lab"}) @@ -8113,7 +8115,6 @@ "dah" = (/turf/simulated/shuttle/wall{icon_state = "swallc2"; dir = 2},/area/shuttle/escape) "dai" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/shuttle/escape) "daj" = (/obj/structure/sign/nosmoking_2,/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/shuttle/escape) -"dak" = (/obj/docking_port/mobile/emergency{dir = 2; dwidth = 5; height = 14; width = 25},/obj/docking_port/stationary{dir = 2; dwidth = 5; height = 14; id = "emergency_home"; name = "emergency evac bay"; width = 25},/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "dal" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/shuttle/escape) "dam" = (/obj/structure/closet/crate{name = "emergency supplies crate"},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/flashlight/flare{pixel_x = 3; pixel_y = 3},/obj/item/device/flashlight/flare{pixel_x = -6; pixel_y = -2},/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/device/radio,/turf/simulated/shuttle/plating{icon_state = "bot"},/area/shuttle/escape) "dao" = (/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id_tag = "xenobio1"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"}) @@ -8662,7 +8663,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqaaacTZcXjcVMcVRcWNcWNcXkcSOcSOcSOcSOcZwcWzcXmcUXcXncUXcXmcZxcZCcSOcXpcTXcXpcTXcTXcTXcTXcTXcXpcTXcXpcTXaaaabqabqcVGcXqcXrcXscXtcVGcXucXvcVGcVGcXwdeQcXycXzcVGcYccZvcYycXZcYdcYbcYdcYdcYecXZaaaaaaabqauparBaupabqabqabqabqcVJabqabqabqabqabqabearBarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcSOcSOcSOcXEcUXcUXcUXcXFcXGcSOcZQcVacXIcXJcXJcXKcXJcXJcXLcZRcVkcXMcTXcXacTXaaaaaaaaacTXcXNcTXcXacTXaaaabqaaacNzcXOcXPcXQcXRcXRcXScXTcXUcXVcXVcXWcXXcXYcNzcYccZvcYycYGcXBcXCcZycXCcXBcZzaaaaaaabqaaaabqaaaabqaaaaaaaaacYfaaaaaaabqaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaacTZcYgcYhcYicYjcYkcXKcYlcYmcSOcSOcSOcSOcUecUecUecUecUecSOcSOcVkcXpcTXcXpcTXaaaabqaaacTXcXpcTXcZUcZTabqabqaaacNzdeBcYpcYqcYrcYrcYscYtcYucYucYucYucYvcYwcNzcYccZvcYycOmcOmcOmcYIcfwaaaaaaaaaaaaabqaaacYAcYAcYAcYAcYAabqcYBabqcYAcYAcYAcYAcYAaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcSOcTZcSOcSOcTZcTZcTZcSOcYCcSOaaaaaacYDcYFcYFcYFcYFdahdaXcYFdaidcbcYFdcbdajcYFcYFcYFdaidakcYFdcbdalcYEcYJaaacVGcYKcYLcYMcYNcYOcYPcYQcYRdgXdgWcYUcYVcYWcVGcYcciccWkdawcOmcZfcZhcOmaaaaaaaaaaaaabqabqcYXcYYcYYcYYcYYcYZcZacZbcZccZccZccZccZdabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcSOcTZcSOcSOcTZcTZcTZcSOcYCcSOaaaaaacYDcYFcYFcYFcYFdahdaXcYFdaicZocYFcZodajcYFcYFcYFdaicZpcYFdcbdalcYEcYJaaacVGcYKcYLcYMcYNcYOcYPcYQcYRdgXdgWcYUcYVcYWcVGcYcciccWkdawcOmcZfcZhcOmaaaaaaaaaaaaabqabqcYXcYYcYYcYYcYYcYZcZacZbcZccZccZccZccZdabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaabqaaaaaaaaaaaaaaaabqabqdazdbadaAdcTdcPdaBcZedcncZBdaCcZBdaDcZBdaCdaCdaDdaCdaEcZBdaCcZBcZBdaKdaJaaacVGcZrcZrcZrcZrcTkcZscZtcZucTkcZrcZrcZrcZrcVGdaLciccWkdaMdaOcZicZncfwaaaaaaaaaaaaabqabqcZAcZAcZAcZAcZAaaacYBaaacZAcZAcZAcZAcZAabqarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqabqdaVdaZcZedbkcZBddadbqdbhcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZgcYFaaacVGcZGcZHcZHcVbcZJcZKcZLcZMcZNcVlcZPcZPcZPcVGcYcdbudbFdbvcfwcfwcOmcfwaaaaaaaaaaaaabqaaaabqaaaabqabqabqaaacYBaaaabqaaaabqaaaabqaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbNdbOcZedbPddccZBcZBdaJcZBcZBdbQdbYdbQdbQdbQcZBdbQdbQdbQdbYdbQcZBcZBdccdaiabqcVGcZPcZPcZPcZXcZYcZZdaadabdacdadcZPcZPcZPcVGcOmcfwcOmcOmcfwaaaaaaaaaaaaaaaaaaaaaabqaaacYAcYAcYAcYAcYAabqcYBabqcYAcYAcYAcYAcYAabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 54a1fbc6cde..9e84d788a16 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -1,6 +1,6 @@ "aaa" = (/turf/space,/area/space) "aab" = (/obj/structure/lattice,/turf/space,/area/space) -"aac" = (/turf/simulated/floor/plating/airless,/area/space) +"aac" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/light,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "aad" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/abandoned) "aae" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/abandoned) "aaf" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/abandoned) @@ -1584,7 +1584,7 @@ "aEx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall/r_wall,/area/security/prison/cell_block/A) "aEy" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/security/lobby) "aEz" = (/obj/structure/disposalpipe/segment,/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/lobby) -"aEA" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/lobby) +"aEA" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) "aEB" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/lobby) "aEC" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/security/lobby) "aED" = (/obj/machinery/light_switch{pixel_x = -25},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/evidence) @@ -3453,7 +3453,9 @@ "bou" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bov" = (/obj/machinery/cooker/deepfryer,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bow" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/kitchen_machine/oven,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) +"box" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel,/area/quartermaster/office) "boy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/hydroponics) +"boz" = (/obj/machinery/door/firedoor{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access_txt = "50"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/office) "boA" = (/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel,/area/hydroponics) "boB" = (/turf/simulated/floor/plasteel,/area/hydroponics) "boC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hydroponics) @@ -3687,6 +3689,7 @@ "bsW" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bsX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bsY" = (/obj/machinery/processor,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"bsZ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "btc" = (/obj/machinery/hydroponics/constructable,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "btd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bte" = (/turf/simulated/wall,/area/hallway/primary/starboard/east) @@ -4223,12 +4226,10 @@ "bDq" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) "bDr" = (/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) "bDs" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bDt" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/light,/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bDu" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bDv" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor4,/area/shuttle/escape) "bDw" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "bDx" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) -"bDy" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bDz" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape) "bDA" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops) "bDB" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Hatch"; req_access_txt = "109"},/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 11; id = "specops"; name = "ert shuttle"; roundstart_move = "specops_away"; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 11; id = "specops_home"; name = "port bay 2"; width = 5},/turf/simulated/shuttle/plating,/area/shuttle/specops) @@ -4324,9 +4325,6 @@ "bFn" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 0},/turf/simulated/wall,/area/quartermaster/office) "bFo" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bFp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/quartermaster/office) -"bFq" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel,/area/quartermaster/office) -"bFr" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 4},/area/quartermaster/office) -"bFs" = (/obj/machinery/door/firedoor{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access_txt = "50"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/office) "bFt" = (/obj/machinery/camera{c_tag = "Central Hallway West"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/central/west) "bFu" = (/obj/machinery/door/window/eastright{dir = 1; name = "Bridge Delivery"; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/bridge/meeting_room) "bFv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/bridge/meeting_room) @@ -9045,7 +9043,6 @@ "dsh" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = null; name = "Shuttle Cargo Hatch"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "dsi" = (/obj/structure/noticeboard,/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape) "dsj" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape) -"dsk" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "dsl" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape) "dsn" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape) "dso" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) @@ -9066,7 +9063,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9103,10 +9100,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTacdabVabVaceabVabVacfabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNacgachaciachacjabNaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTackaclabVabVacmabVacnabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoacpachaciachacpacoaaaaaaaaaaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqabIabIabIacrabIabIabIacsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactacuacvacwacvacxacyaaaaaaaaaabNabNabNabNabNaabaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTaczabVacAabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaababNacBacCacDachacEabNaaaaaaaababNacFacGacHabNabNabNaaaaaaaabaabaabaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTacIabVacJabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaabNacKacLacDacMacNabNaaaaabaababNacOacPacQacRacSabNaaaaabaabaacaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTabIabIabIabIabTacIabVacJacUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacabNacoabNacVacWacXacYacWabNacZadaabQabNadbadcaddacWacWabNabNabNabNabNabNabNabNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTadeabVabVadfabTacIabVacJabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaabaababNadgadhacKadhacDadiadjadkaciadlachadmadnadoadpadqadradsacWadtaduadvadwadxabNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTaczabVacAabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaababNacBacCacDachacEabNaaaaaaaababNacFacGacHabNabNabNaaaaaaaabaabaabafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTacIabVacJabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaabNacKacLacDacMacNabNaaaaabaababNacOacPacQacRacSabNaaaaabaabafOaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTabIabIabIabIabTacIabVacJacUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOabNacoabNacVacWacXacYacWabNacZadaabQabNadbadcaddacWacWabNabNabNabNabNabNabNabNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTadeabVabVadfabTacIabVacJabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOaabaababNadgadhacKadhacDadiadjadkaciadlachadmadnadoadpadqadradsacWadtaduadvadwadxabNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTadeabVadyadzabTacIabVacJabTabIadAadBadCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadDadEadFadoacDadGachachadHadIadladJadKadLadMadladNadOacWadPadPadQadRadRacoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTadSabVabVadTabTadUabVacfadVadWadWadWabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadXacvadYacvadZaeaaebaecaedaeeaefaegaehaeiaejaefaekaekaelaemaenaeoaepaeqaeraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTadeabVabVabVaesabVabVaetaeuaevaevaewabTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadlaeyaezaeAaeBaeCaeDaeAaeAaeEaeFaeGaeHaeAaeIaeJaeAaeAaeKaeLaeMaeNaeMadRaeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9141,7 +9138,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasKaptaptaptapwaptaptapxaptaptasLaaaaaaaaaalwaaaasMasNasNasNasNasOasPasQasRasRasRasRasSaaaalwaaaaaaaaaasTasUasVasWasXaaaaaaaaaaoOakBakWakWakWakWasYasZataakWapGatbatcatdateatfatgapGathatiatjatkatlatmapNatnatoatpatqatrapNatsattatuatvatwatxatyatzatAatBaoJatCatDatEatFanHatGatGatGatGatGaaaaaaaaaaaaaabarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraaaaaaaaaappaqfapraaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabatHatHatHatHatHaaaatIaaaatHatHatHatHatHaabalwaaaaaaaaaatJatKatLatMatJatNatOatOatPatQatRatSatTatUatVatWatXatYapGapGatZauaapGapGaubapGaucaucaudaucaueaufapNaqJaugauhapQapRapNauiaujaukapSapSapSanAanAaulaumaunauoanAanHaupanHauqaurausausautaaaaaaaaaaaaaaaarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraaaaaaaaaappaqfapraaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaaaaaaaabaaaaaaaaaauuaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaauvauwauxauyauzauAauBauCauAauDauDauEauFauGauHauIauJauKauLauMauNauOauPauQauRauSauTauUauVauWauXauYauZavaavbavcavdaveavfavgavhaviauSauWauSavjavkavlavmavnavoavpavqavravsavqavtavuavvavwaaaaaaaaaaaaaaaarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraaaaaaaaaappaqfapraaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabasbasbasbasbasbaaaatIaaaasbasbasbasbasbaabalwaaaaaaaaaatJavxavyavzatJatNatOatOatOavAavBavCavDavEavFavFavGavHavIavJavKavLavMavNavOavPavQavRavPavSavTavMavUavVavWavXavMavYavZavMavYawaawbawcawdavOaweawfawgawhawiawjawkavrawlavqawmausausawnaaaaacawoaacaaaarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraaaaabaabappaqfapraabaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabasbasbasbasbasbaaaatIaaaasbasbasbasbasbaabalwaaaaaaaaaatJavxavyavzatJatNatOatOatOavAavBavCavDavEavFavFavGavHavIavJavKavLavMavNavOavPavQavRavPavSavTavMavUavVavWavXavMavYavZavMavYawaawbawcawdavOaweawfawgawhawiawjawkavrawlavqawmausausawnaaaafOawoafOaaaarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraaaaabaabappaqfapraabaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawpawqawrawsawtaaaawuawvawwawxawyapoaaaasMasNasNasNasNasOasPasQasRasRasRasRasSaaaalwaaaaaaaaaatJawzawzawAatJaaaaaaaaaawBawCawDawEawFawGawDawDawHawHawHawHawIawJawKawKawKawLawMawNawLawKawKawKawOawPawPawQawRawSawTawUawVawWawXawYawWawVawZaxaaxbaxcaxdaxeaxfavrawlaxgaxgatGaxhaxhaxhatGaxiatGaabarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraabaabaaaaabaoLaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjaxkaxkaxkaxjaaaaxlaxmaxmaxmaxlalwaxnatHatHatHatHatHaaaatIaaaatHatHatHatHatHaabalwaaaaaaaaaauvaxoawzaxpatJatNatOatOatOaxqawDaxraxsaxtaxuaxvawHaxwaxxaxyaxzaxAaxBaxCaxDaxEaxFaxGaxHaxIaxJaxBaxKaxLaxLaxMaxNaxOaxPaxQawVaxRaxSaxTaxUawVaxVaxWaxXaxYaxZayaaxfavraybaycaydayeayfayfaygatGayhatGaabarVaabaaaappaqfapraaaaaaappaqfapraaaaaaappaqfapraaaaaaaaaaabarVaabaaaaaaayiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjayjayjayjaxjaaaaxlaykaylaykaxlalwaaaaaaaaaaabaaaaaaaaaauuaaaaaaaaaaabaaaaaaaaaalwaaaaaaaaaatJaymawzawzaynauAayoauCauAaypawDayqayraysaytayuawHayvaywayxayyayzayAayBayCayDayEayFayGayCayHayIayJaxLaxLaxMayKayLayMayNayOayPayQayRaySawVayTayUayVayWayVayXaxfavravqavqavqavqayYavqayZazaazbatGaraazcardaaaaaaaoLaabaabaabaabaoLaabaabaabaabaoLaabaabaabaabazdazeardaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9150,18 +9147,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjaAhazgazhaxjaaaaxlaBkaykaBlaxlaabaBmatHatHatHatHatHaaaatIaaaatHatHatHatHatHaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBnaAnaAnaAnaBoaApaBpaBqaBrawHaBsaBtaBuaBvaBwaxBaBxaByaBzaBAaBBaBCaBDaBEaxBaBFaBGaxLaxLaxLaBHaBIaBJawVaBKaAFaBLaBMawVaBNaBOayVayWayVaBPaxfaAPayYaAQaAQaAQaBQavqaBRaBSaBTatGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaabaabaabaabaBUaabaabaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaAfaAfaAfaAfaBVaBgaBWaBgaBWaBXaBgaBgaBgaBYaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjazgazgazgaBZaaaaxlaBkaykaBlaxlalwaaaaaaaabaaaaabaaaaaaaCaaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaBnaCbaAnaAnaCcaApaApaCdaCeawHayvaCfaCgaChaCiaCjaCkaClaCmaCnaCoaCpaCqaCraCsaCtaCuaCuaCuaCuaCuaCvaCwawVaCxaBLaAFaCyaCzaCAaCBaCzaCCaCDaCEaxfaAPaCFaCGaCGaCGaCHaCIaCJaCKaCLatGaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaabaabaabaCMaabaabaaaaaaaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaAfaCNaCOaCPaCQaCRaCSaCTaBgaBgaCUaCVaBgaCWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjaCXazgazgaCYaaaaxlaCZaykaykaDaalwalwalwaabaabaabaabaDbaDcaDbaabaabaabaabalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAmaDdaDeaDfaDgaDhaDiaDjaDkawHaDlaDmaDnaDoazyazzaDpaDqazzaDraDsazzaDtaDuazzaDvaDwaDxaDyaxLaDzaxLaDAawVaDBaDCaDDaBLaDEaDFaDGaDHaDIaDJaDJaDKaDLaDMaDNaDNaDNaDOaDPaDQaDRaDRaDRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaabaDSaDTaDSaabaabaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaAfaDUaDVaDWaDXaDYaDZaBgaBgaBgaEaaEbaBgaEcaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjaEdazgaEeaxjaaaaxlaEfaykaykaxlaabaaaaabaaaaaaaabaaaaDbaEgaEhaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEjaEjaEjaEkaElaEmaEnaEoaEpaEpaEpaEqaEraEsaEtaEtaEuaEtaEvaEwaEtaExaAxaAxaEyaEzaEAaEBaECaEBaECaEAawVawVawVawVawVaCzaEDaEEaEFaEGaEHaEIaEJaEKaDNaELaEMaENaDOaEOaEPaEQaERaDPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaabaaaaDSaESaDSaaaaabaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaAfaETaEUaCPaEVaEWaEXaEYaBgaEZaFaaFbaFcaAfaFdaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxjaEdazgaEeaxjaaaaxlaEfaykaykaxlaabaaaaabaaaaaaaabaaaaDbaEgaEhaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEjaEjaEjaEkaElaEmaEnaEoaEpaEpaEpaEqaEraEsaEtaEtaEuaEtaEvaEwaEtaExaAxaAxaEyaEzaEBaEBaECaEBaECaEBawVawVawVawVawVaCzaEDaEEaEFaEGaEHaEIaEJaEKaDNaELaEMaENaDOaEOaEPaEQaERaDPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaabaaaaDSaESaDSaaaaabaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaAfaETaEUaCPaEVaEWaEXaEYaBgaEZaFaaFbaFcaAfaFdaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFeaFfaFgaFfaFhaaaaFiaFjaykaFkaFiaabaaaaabaaaaaaaabaDbaDbaFlaFmaDbaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaFnaFoaFpaFqaFraFsaFtaFuaFvaFwaFxaFxaFyaFzaFzaFzaFzaFzaFAaFBaFCaFzaFzaFzaFzaFDaFEaFzaFzaFFaFGaFFaFHaFHaFIaFHaFJaFKaFLaFMaFNaFOaFPaFQaFRaFSavraDNaFTaFUaFVaDOaFWaFXaFYaFZaDPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabaDSaDSaGaaDSaDSaabaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaAfaGbaGcaCPaAfaCPaCPaGdaGeaAfaAfaAfaAfaAfaAfaabaabaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaFeaGfaFhaaaaaaaGgaFiaGhaFiaGiaabaaaaabaaaaaaaabaGjaGkaGlaGmaGjaGnaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaGpaFFaGqaGraGsaGraGtaGuaGvaGwaGraGraGxaGraGraGraGraGraGyaGraGraGraGraGraGraGzaGAaGraGraGraGBaGraGCaFFaGDaFFaGEaGFaFLaGGaGHaFLaGIaGJaGKaFSaGLaDNaGMaGNaGOaGPaGQaGRaGSaERaDPaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaGTaGUaGVaGWaGTaabaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaGXaAfaCPaAfaCPaGYaGZaGYaHaaGYaGYaGYaHbaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaGnaGnaGnaGnaGnaGnaGnaGnaabaabaGjaHcaHdaHeaGjaHfaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaHgaHhaHiaHjaHkaHlaHmaHnaHoaHpaHpaHqaHraHsaHtaHpaHpaHpaHuaHpaHpaHpaHpaHpaHpaHvaHwaHmaHmaHmaHxaHyaHzaHyaHAaHBaHCaHDaFLaFLaFLaFLaHEaHEaHEaFSavraDNaHFaFUaHGaDOaHHaHIaFYaHJaDPaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaGTaHKaHLaHMaGTaabaaaaabaaaaaaaabaaaaaaaGXaHNaGXaHNaGXaHbaGYaGYaGYaGYaGYaGYaGYaGYaGYaHOaHPaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaHQaHRaHQaaaaaaaaaaGnaHSaHTaHSaHUaHVaHWaGnaaaaaaaGjaHXaHYaHZaIaaHSaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEiaIbaIcaIdaIeaIeaIfaIgaIhaIhaIiaIjaIkaIlaImaImaIlaInaIlaIoaIoaIoaIoaIoaIoaIpaIoaIoaIqaIraIsaItaEjaIuaEjaIvaEjaEjayeaIwavqavqavqavqaIxavraDNaIyaFUaIzaDOaIAaGRaGSaERaDPaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaHQaIBaHQaaaaabaGTaICaIDaIEaGTaIFaIFaIFaIFaIFaHNaHNaHNaGXaIGaGYaHOaHPaHaaGYaHaaHaaHaaGXaIHaGXaGXaGXaGXaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaIIaIJaIIaaaaaaaabaGnaIKaILaHSaHSaIMaHSaGnaIIaIIaGjaGjaINaIOaIaaHSaGnaGnaIIaIIaIIaGnaGnaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaIbaIPaIQaIRaISaITaIgaIUaIVaIWaIjaIXaIlaIYaIZaJaaJbaJcaJdaJeaJfaJgaJhaJiaJjaJkaJlaJmaFFaFHaJnaJoaJpaJqaJraJqaJqaJqaJsaJqaJqaJqaJqaJtaJuaJvaJwaJxaJyaJzaJAaJBaJCaJDaDPaabaJEaJFaJFaJFaJFaJFaJGaabaabaaaaaaaaaaaaaHNaJHaHNaaaaIFaGTaGTaJIaJJaGTaJKaGYaGYaGYaHaaJLaGYaJMaGXaGYaGYaGYaJNaHaaGYaGXaJOaJPaGXaGYaJQaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJRaJSaJTaaaaJUaJVaJWaabaabaIIaHSaIIaaaaaaaabaGnaJXaJYaJZaKaaKbaKcaGnaKdaHSaKeaKfaKgaKhaKhaKhaKhaKhaKhaKhaKhaKiaGnaaaaKjaaaaaaaaaaaaaaaaaaaaaaaaaIbaKkaKlaKmaKnaKoaKpaKqaKraKsaIjaIXaIlaKtaKuaKvaJbaJcaKwaKxaKxaKxaKxaKxaJjaKyaJlaFzaFFaFHaEjaKzaKAaKBaKCaKBaKBaKDaKEaKFaKFaKFaKFaKFaKFaKGaKHaKIaKJaKKaKLaKMaKNaDPaDPaKOaKPaKQaKQaKQaKQaKQaKPaKOaabaaaaaaaaaaaaaHNaKRaKSaaaaIFaKTaKUaKVaKWaGYaGYaGYaHaaGYaHaaKXaGYaGYaGXaGYaKYaKZaKXaIHaGYaGXaLaaLbaGXaGYaLcaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLeaLfaLeaLdaLgaLhaLgaLdaabaIIaLiaLjaaaaaaaGnaGnaGnaGnaGnaLkaLlaLmaLnaLoaLpaLpaLqaLraLraLsaLtaGnaHSaGnaGnaGnaLuaGnaaaaabaaaaaaaaaaaaaaaaaaaabaabaIbaLvaLwaLxaLyaLzaLAaLBaLCaKsaIjaIXaIlaLDaLEaLFaJbaLGaLHaKxaLIaKxaLJaLJaJjaKxaJlaFzaFFaLKaEjaLLaKAaLMaPzaLNaLPaLQaLRaLSaLTaLUaLVaLWaLXaLYaLZaMaaMbaMcaMdaMeaMfaMgaMhaKOaKPaKQaKQaKQaKQaKQaKPaKOaabaabaabaabaHNaHNaMiaMjaHNaIFaMkaGYaMlaGYaHbaGYaGXaGXaMmaGXaGXaMnaHaaHaaKXaMoaMpaGYaGXaGYaMqaMqaMqaMqaMqaMqaMqaMqaMqaMraMraMraMraacaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLeaLfaLeaLdaLgaLhaLgaLdaabaIIaLiaLjaaaaaaaGnaGnaGnaGnaGnaLkaLlaLmaLnaLoaLpaLpaLqaLraLraLsaLtaGnaHSaGnaGnaGnaLuaGnaaaaabaaaaaaaaaaaaaaaaaaaabaabaIbaLvaLwaLxaLyaLzaLAaLBaLCaKsaIjaIXaIlaLDaLEaLFaJbaLGaLHaKxaLIaKxaLJaLJaJjaKxaJlaFzaFFaLKaEjaLLaKAaLMaPzaLNaLPaLQaLRaLSaLTaLUaLVaLWaLXaLYaLZaMaaMbaMcaMdaMeaMfaMgaMhaKOaKPaKQaKQaKQaKQaKQaKPaKOaabaabaabaabaHNaHNaMiaMjaHNaIFaMkaGYaMlaGYaHbaGYaGXaGXaMmaGXaGXaMnaHaaHaaKXaMoaMpaGYaGXaGYaMqaMqaMqaMqaMqaMqaMqaMqaMqaMraMraMraMrafOaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaLeaMtaLeaMsaLgaMuaLgaMsaGnaIIaMvaMwaIIaIIaGnaHSaHSaHSaHSaHSaHSaHSaLkaLuaGnaGnaGnaGnaGnaMxaGnaGnaHSaMyaGnaMzaLuaGnaGnaGnaaaaaaaaaaaaaaaaMAaMAaMAaMAaMAaMAaMAaMAaMAaLAaMBaMCaMDaMEaMFaMGaMHaMIaMJaMKaJcaMLaKxaMMaMNaMOaMPaMQaMRaJlaFzaFFaFHaEjaAPaMSaLOaPzaLNaLPaMUaMVaMVaMVaMVaMVaMVaMVaMVaMVaMVaMWaMXaMYaMZaNaaNbaNcaNdaKPaKQaKQaKQaKQaKQaKPaKOaKOaKOaaaaaaaHNaGYaNeaNfaJKaHaaMoaKXaMlaGYaNgaGZaNhaIHaGYaGYaGYaGYaNiaGYaGYaMoaNjaGYaMnaGYaMqaNkaNlaNmaMqaNnaNoaNpaMqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaNqaNraNsaMsaNtaNuaNvaNwaNxaHSaNyaNzaNAaMyaNBaHSaGnaGnaGnaGnaGnaGnaGnaLuaGnaNCafOaNDaGnaNEaNFaNGaHSaNBaGnaNAaNHaKhaKiaNIaaaaaaaaaaaaaaaaNJaNKaNLaNMaNNaNOaNPaMAaiWaLAaNRaNSaNTaLAaNUaIlaNVaNWaNXaNYaJcaNZaKxaOaaObaOcaOdaOeaOfaOgaOhaOiaOjaOkaOlaOmaMTaPzaLNaLPaOoaMVaOpaOpaOpaMVaMVaOqaOraOraOsaMWaOtaOuaOvaOvaOwaOxaOyaOzaKQaKQaKQaKQaKQaOAaOBaOCaODaaaaaaaHNaGYaGYaOEaGYaHaaOFaGYaOGaOHaOHaOHaOHaOIaOHaOJaGYaGYaGYaGYaGYaGYaGYaGYaHaaGZaMqaOKaOLaOLaMqaOMaONaOOaMqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaOPaOQaORaMsaOPaOQaORaNwaKcaHSaOSaHSaHSaHSaHSaHSaGnaOTaOUaOVaOWaOXaGnaLuaGnafOaOYaNCaOZaPaaPbaGnaPcaGnaGnaGnaGnaPcaLuaNIaaaaHQaHQaHQaHQaPdaNKaPeaPfaPgaPhaPiaPjaMAaLAaPkaPlaPlaPlaPmaPnaPoaPnaPnaPnaPpaPqaPraPsaPtaPtaPtaPtaPuaPvaPwaFFaPxaEjaAPaPyaOnaPzaLNaLPaMUaOpaPAaPAaPBaOpaMVaPCaPDaPDaPEaPFaOtaPGaPHaPIaPJaMVaPKaODaKQaKQaKQaKQaKQaODaPLaPMaODaabaabaGXaGYaGYaHaaHaaHaaHPaHPaGXaGXaGXaHaaHaaHaaGXaPNaPOaGXaHaaHaaGXaHaaHaaGXaGXaPPaPQaPRaPSaPTaPUaPVaOKaPWaMqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPXaPYaLdaMsaPZaQaaLdaMsaPZaQaaLdaGnaLkaGnaGnaGnaGnaGnaHSaGnaHSaQbaQcaHSaHSaGnaLuaGnaQdaabaQdaGnaJYaPbaGnaQeaQfaGnaNAaKcaGnaLuaMAaMAaQgaQgaQgaQgaQgaQgaQgaQgaQgaPiaPiaPjaQhaQiaQjaQkaQlaQmaQnaQoaQpaQpaQpaQpaQqaQraQsaQtaQuaQpaQpaQvaQvaQwaQxaQyaQzaQAaQBaPyaQCaPzaLNaLPaMUaOpaPAaQEaQFaOpaMVaPCaPDaPDaPEaQGaOtaPGaPIaPIaPJaMVaPKaODaKQaKQaKQaKQaKQaODaQHaPMaODaaaaaaaGXaQIaGYaGYaQJaHaaQKaHOaQLaQMaHbaGXaOFaHbaGXaQNaGYaGXaQOaGYaGXaQPaQQaQRaOHaQSaOHaQTaQUaQVaQWaQXaQYaQZaMqaMraMraacaacaMraMraMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPXaPYaLdaMsaPZaQaaLdaMsaPZaQaaLdaGnaLkaGnaGnaGnaGnaGnaHSaGnaHSaQbaQcaHSaHSaGnaLuaGnaQdaabaQdaGnaJYaPbaGnaQeaQfaGnaNAaKcaGnaLuaMAaMAaQgaQgaQgaQgaQgaQgaQgaQgaQgaPiaPiaPjaQhaQiaQjaQkaQlaQmaQnaQoaQpaQpaQpaQpaQqaQraQsaQtaQuaQpaQpaQvaQvaQwaQxaQyaQzaQAaQBaPyaQCaPzaLNaLPaMUaOpaPAaQEaQFaOpaMVaPCaPDaPDaPEaQGaOtaPGaPIaPIaPJaMVaPKaODaKQaKQaKQaKQaKQaODaQHaPMaODaaaaaaaGXaQIaGYaGYaQJaHaaQKaHOaQLaQMaHbaGXaOFaHbaGXaQNaGYaGXaQOaGYaGXaQPaQQaQRaOHaQSaOHaQTaQUaQVaQWaQXaQYaQZaMqaMraMrafOafOaMraMraMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaRbaOQaRbaRcaRcaRcaRdaRcaRcaRcaReaRfaRgaRgaRgaRgaRhaGnaHSaGnaRiaRjaRkaHSaRlaPcaLuaGnaGnaGnaGnaGnaGnaPcaGnaHSaRkaLkaHSaHSaHSaNQaRnaRoaRpaRpaRpaRpaRqaRpaRpaRraRsaRoaRtaRuaRuaRuaRuaRuaRuaRuaRvaRwaRwaRwaRwaRxaRyaRwaRzaRwaRAaRxaRwaRwaRwaRwaRBaRCaRDaREaRFaOmaRGaRHaQDaRIaMUaOpaRJaRKaRLaOpaMVaRMaRNaRNaROaMWaOtaRPaRQaRQaRRaMVaRSaRTaKQaKQaKQaKQaKQaRUaRVaRWaODaaaaaaaGXaGYaGYaGYaGYaGYaGYaQRaOHaOHaOHaOHaOHaOHaOHaKVaGYaGYaGYaGYaMnaGYaGYaMlaGYaRXaRYaRZaSaaSbaOLaOLaOLaScaMqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPYaPYaSdaSeaSfaSgaShaSiaSjaSkaSlaSjaSmaSnaSjaSjaSoaGnaHSaGnaSpaHSaHSaSqaSraGnaNHaKiaHSaHSaHSaHSaHSaHSaPcaSsaHSaGnaNxaNxaGnaRmaMAaSuaSvaSwaSwaSwaSxaSwaSwaSwaSyaSuaSzaSAaSAaSAaSAaSAaSAaSAaPiaRwaSBaSCaSDaSEaSFaSGaSHaSIaSJaSKaSLaSCaSMaRwaSNaFFaSOaEjaSPaPyaSRaSQaVzaSSaSTaSUaSVaSWaSWaSXaSYaSZaSXaSYaSYaTaaTbaTcaMVaMVaTdaMVaTeaTfaKQaKQaKQaKQaKQaTfaKOaKOaKOaGXaGXaGXaHbaHaaHaaIHaGXaGXaMlaHaaGXaTgaHaaGXaIHaGXaMlaQIaHaaGXaIHaGXaGYaQIaMlaGYaThaMqaTiaQUaTjaTkaTlaQUaTmaMqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaSdaTnaSdaToaSfaSfaTpaSdaTnaSdaTqaTraTsaTtaGnaHSaPcaPcaGnaGnaGnaTuaTuaTuaIkaTuaTuaTuaTuaTuaHSaGnaGnaGnaGnaGnaGnaGnaRmaKdaStaaaaabaaaaabaaaaabaaaaabaaaaSuaSzaSAaTwaTxaTyaTzaTAaSAaPiaRwaTBaTBaTCaTDaTEaTFaTGaTFaTHaTIaTJaTBaTBaRwaSNaFFaTKaEjaSPaPyaOnaPzaLNaLPaMUaTLaTMaTNaTOaTPaTPaTQaTRaTPaTRaTSaTTaTUaTVaTWaTXaTYaKOaTfaKQaKQaKQaKQaKQaTfaGXaLcaGYaTZaUaaHaaGXaHaaLcaGYaGXaLcaMlaGXaUbaGYaGXaUcaGYaHaaUdaUeaGXaUfaGYaHaaIHaIHaMlaIHaUgaMqaUhaQUaUiaUjaUiaQUaUkaMqaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9178,7 +9175,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaUlaLdaPYaOQaSdbjWbjXbjYbjZaSdaOQaPYaPYaLdbkabeKaPYbkbbkcbitbitbiuaMsbkdbgwaSfbixbgybgzbkebkfbkgbkgbkhbkibkjbkgbkkbkgbklbkgbkmbknbkgbkgbkgbkgbkgbkobkpbkgbkqbkrbksbktbgzbgzbkubkvbkwbkxbkybkzbkybkAbkBbkAbkAbkAbkAbkAbkAbkCbkDbkEbkEbkEbkEbkFbkEbkGbkHbkEbkEbkIbkJbkKbkKbkKbkKbkKbkKbkKbkLbhqbhqaUSbkMbkNbkObkPbkPbkQbkRbjmbhybkSbdTbdTbdTbdTbdTbkTbdTbkUbkVbkWbkXbfHbkYbebbhMblabjAblcbldbleblfblgbebbejaQLbaublhblibcpbljblkbcpbllbllbaublmblnbloaYPblpblqblrbcDbcDblsbltaYPbluaYPblvbjKbjLblxblybjKbjKblzbjRaaaaaaaaaaaabijbmXbnabmYbmYblDbeCblCblDblAblBblCbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaPYbioaSdaToaSfaSfaTpaSdbioaSdblEblFblGblHaPYblIblIbgtblIbguaMsblJbgwaSfaMsblKblKblLblMblMblMblMblMblMblNblOblMblMblMblMblMblMblPblQblRblRblSblRblTblUblVblTblTblWblXblYblKblZblZbmabmabmabmbbmbbmbbmbbmbbmbbmbbmbbmcbmdbmdbmebmdbmfbmfbmfbmfbmgbmhbmfbmcbmibmibmibmibmibmibmibmibmjbmjbmjaUSbmkbmlbmmbmmbmmbmmbmnbmobmpbmqbmrbmsbmtbmubmvbmwbdTbdTbmxbmybmzbmybmybebbmAbmBbmDbmDbmDbmDbmEbmFbebbmGbmHbaubmIbcpbljbljblkbljbcpbmJbaubmKbmLbmMaYPbcDbmNbmObmPbmPbmQbmRbmSbmTbmUbmVbmWboObzpbjMbjKbjKblzbjRbjRbjRbjRbjRbijbBTbDzbDzbDzbBVbeCblCbnbblAbeCbncbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabndbneaSfbnfbngbnhbnibnjbnkbnibnlbnmbnibnibnnbnobnpbnqbnrbnrbnrbnsbnrbntbnuaMsbnvbnwbnxblMbnybnzbnAbnBbnCbnDbnEbnFbnGbnHbnIbnJblMbnKbnLblRbnMbnNbnOblTbnPbnQbnRblTbnSbnTbnUbnSbnSbnSbnVbgSbnWbmbaaaaaaaaaaaaaaaaaaaaabmcbnXbnYbnZboabobbocbodboebofbogbohbmcaaaaaaaaaaaaaaaaaaaaabmiboibhqbojaUSbokbmlbmqbmqbmqbmqbmqbolbombmqbmqbmqbonbooboobopboqborbosbotboubovbowbebbkZboyboBboAboAboBboCboDbebbejaGYbauboEboFbcpbljblkbcpboGboGbaubauboHbauaYPboIblqbltboJboJboKbltaYPaYPaYPboLbjKbEFbDubjMbjKbjKbmZbAMbrKbrMbrMbrKbDvbDzbDzbGJbGJbnbbeCblCbnbblAbeCblCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabndboPboQboPboPboPboPboPboPboQboPboPboRaSfboSboTboUaSfboVaSfboWboXboYboZbpaaMsbnwbnwbpbblMbpcbnDbnDbnDbnDbnDbnEbpdbnDbnDbnDbpeblMbnKbpfblRbpgbphbpiblTbpjbpkbplblTbpmbpnbpobppbpqbnTbnVbgSbnWbmbaaaaaaaaaaaabmcbmcbmcbmcbprbpsbptbpubpvbpwbpxbpybpzbpAbpBbmcbmcbmcbmcaaaaaaaaaaaabmiboibhqbpCbpDbpEbpFbpGbpHbpEbpIbpJbpKbpLbpMbpNbmqbpObpPboobpQbpRboobpSbpTbpUbpVboobpWbpXbpYboBboAboAboBbpZbqabebbejaTgbaubmIbcpbljbljblkbljbcpbcpbqbbqcbcpbqdaYPbqebqfbqgboJboJbqhbqgbqiaYPbqjbqkbjKbDybDybEHbEIbDybDybjRbqnbjRbjRbjRbEJbjSbjSbjSbjSbqobeCblCbqoblAbeCblCbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabndboPboQboPboPboPboPboPboPboQboPboPboRaSfboSboTboUaSfboVaSfboWboXboYboZbpaaMsbnwbnwbpbblMbpcbnDbnDbnDbnDbnDbnEbpdbnDbnDbnDbpeblMbnKbpfblRbpgbphbpiblTbpjbpkbplblTbpmbpnbpobppbpqbnTbnVbgSbnWbmbaaaaaaaaaaaabmcbmcbmcbmcbprbpsbptbpubpvbpwbpxbpybpzbpAbpBbmcbmcbmcbmcaaaaaaaaaaaabmiboibhqbpCbpDbpEbpFbpGbpHbpEbpIbpJbpKbpLbpMbpNbmqbpObpPboobpQbpRboobpSbpTbpUbpVboobpWbpXbpYboBboAboAboBbpZbqabebbejaTgbaubmIbcpbljbljblkbljbcpbcpbqbbqcbcpbqdaYPbqebqfbqgboJboJbqhbqgbqiaYPbqjbqkbjKbjRbjRbEHbEIbjRbjRbjRbqnbjRbjRbjRbEJbjSbjSbjSbjSbqobeCblCbqoblAbeCblCbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLdaPYaPYaPYaPYaPYaPYaPYaPYaPYaLdaMsbqpbqqbqrbqrbqrbqrbqrbqrbqsbqrbqrbqraMsbnwbnKbqtblMbqubnDbnDbqvbqwbqxbqybqvbnDbnDbnDbqzblMbnKbnLblRbqAbqBbqCblTbqDbqEbqFblTbqGbqHbqIbqJbqKbnTbqLbqMbnWbmbbmbbqNbmcbmcbmcbqObqPbqQbqRbqSbqSbqTbqUbqSbqVbqSbqWbqXbqYbqZbrabrbbmcbmcbmcbqNbmibmiboibhqbhqaUSbrcbrdbpMbrebmqbrfbrgbmqbrhbribpNbmqbonbooboobrjbrkbrlbrmbrnbrobrpboobrqbpXbrrboBboAboAbrsbrtbrubebbejaGYbaubrvbrwbrxbljblkbrybcpbcpbrzbcpbrAbrBaYPbrCbrDbrEboJboJbrFbrEbrGaYPbrHbqkbjKbjObGIbjMbjKbjKbrIbrJbrKbrLbrMbrKbrNbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCblCbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrObrPbrPbrQbrPbrPbrPbrRbrPbrPbrSaabaPYaUnaShbrTbqrbrUbrVbrWbrXbrYbrZbsabsbbqrbscbsdbsebsfblMbsgbnDbnDbqvbqxbshbsibqvbnDbnDbsjbskblMbnKbnLblRblRbslblRblTbsmbsnbsoblTbspbqJbsqbqJbsrbnTbnVbssbnWbgXbgXbstbsubsvbmcbswbptbsxbqSbqSbsybszbsAbsBbsAbsCbsDbsEbsFbsGbsHbsIbmcbsJbsubsKbsLbsMboibhqbhqbsNbmqbsObmqbmqbmqbsPbsQbmqbrhbsRbpNbmqbpObooboobsSbsTbsUbsVbsWbsXbrpbsYbebbqabrrboBboAboAboBbrtbtcbebbtdbtebaubtfbaubaubtgblkbthbtibcpbtjbtkbtlbtmbmUbtnbtobtpbtqbtqbtrbtsbttbmUbtubtvbjKbtwbjKbjMdsfbjKbtxbjRbjRbjRbjRbqnbijbtybeCblCblDblAbeCblCblDblAbeCbtzbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrObtAbtBbtCbtDbtDbtEbtDbtDbtDbtEbrQaPXaPYaSdaToboSbqrbrUbtFbtGbrUbtHbtIbtJbtKbqrbtLbtMbtNblQblMbtObtPbtQbtRbtSbtTbtUbtVbtVbtVbtWbtXblMbnKbsdbtYbtZbuabubblTblTblTblTblTbucbudbuebufbugbnTbnVbssbgSbgSbgSbuhbuibujbukbulbumbqSbunbuobupbuqburbusbutbuubuvbuwbuxbulbuybuzbuAbuBbuCbuDbuEbuEbuFbhqbuGaUSbmqbuHbuIbpNbmqbuJbuKbmqbuLbuMbpNbmqbonboobooboobopboobuNboobsXbrpbuObebbuPbrrboBboAboAboBbrtbuQbebbuRbuSbuTbuUbuVbuWbuXbuYbuZbuZbuZbuZbuZbuZbvabvbbvcboJboJboJboJboJboJbvdbvebvfbqkbjKbjKbjKbjMbjKbjKbvgbqnbvhbvhbvhbjRblDblAbeCblCbnbblAbeCblCbnbblAbeCblCblDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9187,9 +9184,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwEbrPbrPbrQbrPbrPbrPbrRbrPbrPbydaabaPYbyebngbyfbqrbtFbtFbtFbrUbygbyhbyibyjbqrbykbylbtNbvsbymbvsbynbyobvsbypbyqbyrblMbwWbwXbwYbskblMbnKbxabxbbysbytbyubyvbywbxbbyxbyybyzbyAbyBbyBbyBbyCbyDbyEbyFbxlbyGbyHbyIbyJbyKbyLbyMbyNbvXbyObxqbxqbyPbyQbyPbxqbxqbyRbvXbySbyTbyUbyVbyWbyXbyYbyZbxvbzabzbbzbbzcaUSaUSaUSaUSbzdbsNbzdbzeaUSbdRaUSaUSbdTbdTbdTbdTbzfbzgbzgbzgbzgbzhbzibebbjBbzjbjBbzkbzkbjBbzjbjBbebbxObwvbwvbzlbxPbaubaubaubaubaubtfbaubaubaubauaYPaYOaYQaYQaYQaYQaYQaYQaYPaYPbzmbznbjKbjKbjKbjMbjKbjKdsgbjRbjRbjRbjRbqnbijbzobeCbeCbeCbeCbeCbeCbeCbeCbeCbeCbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUlaLdaSdaSdaSdaMsaMsaMsaMsaMsaMsbzqbzrbqrbqrbqrbqrbqrbqrbzsbqrbqrbqrbnKbnKbztbvsbzubzvbynbzwbvsbzxbzybzzblMbwWbwXbwYbnDblMbnKbxabxbbzAbzBbzCbyvbzCbxbbyxbzDbzEbzFbzGbzHbzIbzJbzKbzLbyFbzMbzNbzObzPbzQbzQbzPbzRbzSbvXbzTbxqbxqbyPbzUbyPbxqbxqbzVbwbbzWbzXbzYbzZbAabAbbzYbAcbxvbAdbAebAfbAgbAhbAibAjbAkbAkbAkbAkbAkbAkbAlbAmbAnbAkbAkbAobAkbAkbAkbAkbAkbAkbAkbAkbApbAqbArbArbArbArbArbArbAsbAibAtbAubAubAvbAwbAxbAwbAybAwbAzbAAbABbAwbACbADbAEbAFbAGbAGbAGbAGbAGbAGbAGbAHbAIbAJbAJbAJbAJbAKbAJbALbrIbAMbrKbANbrMbrKbAObeCbeCbeCbeCbAPbeCbAPbeCbeCbeCbeCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAQbARbARbARbARbASbASbARbARbATaaaaabaPYaUnaShbAUbAVbAWbAXbAXbAXbAXbAYbAZbBablQbnwbBbbBcbvsbvsbvsbBdbyobvsblMblMblMblMbwWbBebBfbBgblMbBhbBibxbbBjbBkbyvbzCbBlbxbbyxbBmbzEbzFbBnbBobBpbzJbBqbzLbyFbzMbBrbBsbBtbBubBvbBwbzRbBxbvXbBybyPbxqbBzbBAbBzbxqbyPbBBbxubBCbzYbzYbzZbBDbAbbzYbBEbxvbBFbAfbAfbAgbAhbAibAkbAkbAkbAkbAkbAkbAkbBGbAkbAkbAkbAkbAkbAkbBHbBIbBIbBIbBIbBIbBIbBIbBIbBIbBIbBIbBIbBIbBIbBJbBKbBLbAGbAGbBMbwvbwvbwvbwvbwvbwwbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbBNbwvbBObBPbjKbjKbjKbjKbjKbjKbjKbBQbjRbqnbjRbjRbjRbEJbjSdsidshbjSbBUaYUbBUaYUbDxbBRbBSbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBWbBXbBYbBZbCabCbbCbbCcbCdbARbATaPXaPYaPYaTobCebCfbCgbCfbCfbCfbCfbChbCibCjblQblQbCkbClbvsbwPbCmbCnbzwbvsbCobCpbCoblMblMblMblMbCqblMbCrbCsbxbbCtbCubzCbCvbCwbxbbyxbzJbCxbzFbBnbBnbCybzJbCzbzLbyFbzMbCAbBsbBtbCBbCCbBwbzRbCDbvXbCEbCFbxqbCGbCHbCIbxqbCJbCKbCLbCMbCNbCObCPbCQbCRbzYbCSbxvbCTbCUbAfbAgbAhbAibAkbCVbAkbAkbAkbAkbCWbCXbCXbCXbCXbCYbAkbAkbAkbAkbCZbAkbCVbDabAkbDbbDcbDdbAkbDebDfbDfbDgbDhbDibDjbwvbwvbwvbwvbwvbwvbwvbDkbDlbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbDmbDnbDnbDobDpbDqbDrbDsbDsbDsbDsbDtdskbAMbrKbrMbrMbrKdsjdsldsldsldsnbijaaabijdsobDwbDwdspbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBWbBXbBYbBZbCabCbbCbbCcbCdbARbATaPXaPYaPYaTobCebCfbCgbCfbCfbCfbCfbChbCibCjblQblQbCkbClbvsbwPbCmbCnbzwbvsbCobCpbCoblMblMblMblMbCqblMbCrbCsbxbbCtbCubzCbCvbCwbxbbyxbzJbCxbzFbBnbBnbCybzJbCzbzLbyFbzMbCAbBsbBtbCBbCCbBwbzRbCDbvXbCEbCFbxqbCGbCHbCIbxqbCJbCKbCLbCMbCNbCObCPbCQbCRbzYbCSbxvbCTbCUbAfbAgbAhbAibAkbCVbAkbAkbAkbAkbCWbCXbCXbCXbCXbCYbAkbAkbAkbAkbCZbAkbCVbDabAkbDbbDcbDdbAkbDebDfbDfbDgbDhbDibDjbwvbwvbwvbwvbwvbwvbwvbDkbDlbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbDmbDnbDnbDobDpbDqbDrbDsbDsbDsaEAaacbrIbAMbrKbrMbrMbrKdsjdsldsldsldsnbijaaabijdsobDwbDwdspbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBWbBXbDAbCbbCbbCbbCbbCbbCbbCbbDBbDCaOQbDCaSfbDDbCfbDEbDFbDGbDHbDIbChbDJbDKbDLbDLbDMbDNbvsbvsbvsbynbDObymblQblQblQblQbDPbnKbnKbCsbnKbCrbCsbxbbDQbDRbDSbDTbyvbxbbDUbzJbDVbzFbBnbBnbDWbDXbDYbzLbDZbxlbEabEbbzPbzPbzPbzPbzRbEcbvXbEdbEebvXbvXbvXbvXbvXbvXbvXbxubxvbEfbEgbEhbEibEjbEkbElbxvbEmbEnbEnbEobEobEobEobEobEobEobEpbEpbEqbErbEsbEsbErbEqbEpbEpbEtbEtbEtbEtbEtbEtbEubEubEvbEubEubEubEubEubEubEwbExbEybwvbwvbEzbEzbEAbEAbEAbEAbEAbEBbDnbDnbDmbDnbwvbDnbDnbDnbDnbECbEDbEDbEDbEDbEEbEFbEFbEGbEGbEGbEGbEGbEGbEGbjRbjRbjRbjRaYUdsqdsldsldsrbijaaabijdssbDwbDwdstbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBWbBXbEKbELbELbCbbELbELbELbARbEMaPYaPYaPYaTobENbCfbEObEPbEPbEPbEQbChbnKbERbESbETbEUbEVbvsbwPbEWbynbEXbymbEYbEZbFabFbbFcbFdbFdbFebFdbFfbFgbxbbFhbFibFjbFkbFlbFmbFnbyBbFobFpbBnbFqbFrbFsbDYbzLbFtbxlbFubFvbFwbFxbFybFzbFAbxmbxmbFBbFCbFDbFEbFFbFEbFGbFCaaabFHbxvbFIbFJbFKbFLbEjbzYbFMbxvbFNbFObFPbEobFQbFRbFSbFTbFUbFVbFWbFXbFYbFZbGabGabFZbGbbGcbGdbEtbGebGfbGgbGhbEtbGibGjbGkbGlbGmbGnbGnbGobEubGpbGqbGrbGsbGrbGtbGtbEAbGubGvbGwbEAbGxbGybGxbEAbGzbDnbECbEDbGAbGBbGAbEDbGCbGDbEDbGEbGFbGGbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabijdsudswdsvdsvbijaaabijdsxbDwdsxbDwbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBWbBXbEKbELbELbCbbELbELbELbARbEMaPYaPYaPYaTobENbCfbEObEPbEPbEPbEQbChbnKbERbESbETbEUbEVbvsbwPbEWbynbEXbymbEYbEZbFabFbbFcbFdbFdbFebFdbFfbFgbxbbFhbFibFjbFkbFlbFmbFnbyBbFobFpbBnboxbsZbozbDYbzLbFtbxlbFubFvbFwbFxbFybFzbFAbxmbxmbFBbFCbFDbFEbFFbFEbFGbFCaaabFHbxvbFIbFJbFKbFLbEjbzYbFMbxvbFNbFObFPbEobFQbFRbFSbFTbFUbFVbFWbFXbFYbFZbGabGabFZbGbbGcbGdbEtbGebGfbGgbGhbEtbGibGjbGkbGlbGmbGnbGnbGobEubGpbGqbGrbGsbGrbGtbGtbEAbGubGvbGwbEAbGxbGybGxbEAbGzbDnbECbEDbGAbGBbGAbEDbGCbGDbEDbGEbGFbGGbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabijdsudswdsvdsvbijaaabijdsxbDwdsxbDwbijaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGKbARbARbARbARbARbARbARbARbEMaaaaaaaPYbGLbngbGMbCfbGNbCfbGObEPbGPbGQbChbGRbGSbGTbGUbEVbvsbvsbvsbvsbvsbvsbGVbGWbGXbGYbGZbxbbxbbxbbxbbxbbxbbxbbHabxbbxbbxbbHbbxbbHcbHdbHebBnbBnbBnbHfbDXbHgbzLbHhbxlbHibFvbxlbxlbxlbxmbHjbxmbHkbHlbHmbHnbHobHpbHqbHrbHsbHtbHubxvbHvbzYbHwbHxbEjbHybzYbxvbHzbHAbHBbEobHCbHDbHEbHFbHGbHHbHIbGabGabGabGabGabGabGabGabHJbHKbHLbHMbHNbHObEtbHPbHQbHRbHSbHTbHUbHQbHTbEubHVbGqbHWbHXbHYbHZbHZbIabIbbIcbIdbIebIfbIgbIhbEAbIibIjbIkbEDbIlbImbInbIobIpbIqbEDbIrbGGbIsbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabItbjVbIubIubIubIvaaabIwbIxbIxbIxbjVbIyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUlaLdaSdaSdaPYaPYaPYaPYaPYaPYaPYaToaSfbIzbCfbIAbIBbICbIDbIDbIEbIFbIGbIHbIHbIIbIJbDLbDLbDLbDLbDLbDLbIKbILbILbIMbINbxbbIObIPbIQbIRbISbITbIUbIVbxbbIWbIXbyBbyCbDXbHebBnbBnbIYbzJbzJbIZbJabJbbJcbJdbJebJfbJgbJhbJibJjbJkbJlbJmbHsbJnbJobJnbJobJpbHsbHtbJqbJrbJsbJtbJubJvbJwbJxbJybJrbJzbFObFObEobJAbJBbJCbJDbJEbEobHIbGabGabGabGabGabGabGabJFbJGbJHbJIbJJbHLbJKbEtbJLbJMbJNbHSbHTbHUbJObJPbEubJQbJRbJSbJTbJTbJUbJVbJWbJXbJYbJYbJYbJZbJYbKabKbbKcbKdbKebKfbKgbKhbKibKibKibKjbEDbKkbGGbKlbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabItbKmbKmbKmbIyaaabItbKmbKmbKmbIyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPYbKnbKobKpaRcaRcaRcbngaSfaSfbCfbKqbCfbKrbKsbKtbKubCfblQbKvbKvbKwbKxbKwbKwbKwbKxbKwblQblQbxbbxbbxbbKybxbbKzbKzbKzbKzbKzbKzbIUbKAbKBbKCbzFbKDbKEbKFbKGbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbKQbKRbKSbKTbKUbKVbKWbKXbKYbFCbKZbHqbLabHobLbbFCaaabLcbLdbLebLfbLdbLdbLdbLdbLgbxvbLhbFObLibLjbLkbLlbLmbLnbLobEobLpbLqbLrbLsbLtbLubLvbLwbGabLxbEtbLybJJbLzbLAbEtbLBbLCbHRbHSbHTbHUbHQbHTbEubHVbGqbLDbLEbLFbLGbLHbLIbLJbLKbLLbLMbLNbLObLPbEAbLQbLRbLSbEDbLTbLUbLVbIpbLWbLXbEDbKkbGGbLYbGHaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9207,14 +9204,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWFbWGceRceRceRceRceRceSbRAbRAbRybPIbPIbPIbPIbPIbPIbPLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceTceUceUceUceVaaaaaaaaaaaaaaaaaaaaaceWceXceYceXceZaaaaaaaaacamcamcamcfacfbcdycfcbYLcfdcbMcfecffbYMbOtcfgcfhcficfjcfkcflcfmcfncfocfpcfqcfrcfscftcftcfucfvcfvcfvcfvcfvcfvcfwcfxcfycfzcfAcfBcfCcfDcfEcfFcfGcfHcaAcfIcctccucfJcebbUbceccedcfKcfLcfMcfNcfOcfPbUjcfQcfRbWabWacfScfSbWacepbWdcfTcfUbWgcfVcfWcfXcfYcfZbWgcbdcgacgbcgccgdcgecgfcggcbfcghccZceFceFcbjcgicgjcgkcglcgmcgncgocgpcgqcgrbYjbZYcgscgtcgscgucgvcgucgucguaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYsbWGceRceRceRcgwcgxbRybRAbRAbRybRAbRAbRAcgybRAcgzbRyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgAcgBcgCcgDcgAcgEcgEcgEcamcgFcgGcgHcgIcgJcgKcgLcgMcgNcgNcgObYMcgPcgQcgRcgScgScgTcgUcgVcgScgWcgWcgXcgYcgZcgWcgWchacclcclchbchcchcchcchdchechcchcchfchgchhchhchichhchjchkchhchlchmchncaAchochpcecchqchrchschtchuchvchrbUbcekchwchxchychzchAchBchCchDchEchFchGchHchIchJchKchLbWicbdcbdchMchNchOchPchOchQcbfchRchSchTchTcbjchUchVchWbYjbYjbYjbYjbYjbYjbYjbYjbZYcgschXchYchZciaciacibcguaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcicciccicciccidcidcieciecieciecifaabaabaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcigceRceRcihciibRybRAbRAcijbRAbRAbRAcikbRAcilbRyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcimcincimceYcgEciocipcamciqcfbcirciscitciubYMcivciwcixciybYMcgQcgQcizcgSciAciBciCciDciEcgWciFciGciHciIciJcgWciKciLciMchcciNciOciPciQciRciSciTciUciVciWciXciYciZcjacjbcjccjdcjecjfcjgcjhcjicjjcedcjkcjlcjmcjncjocjpbUjcjqcjrcjscjtchAcjucjucjvcjwbWgcjxcjycjzcjAcjBcjCcjDbWicjEcjFcjGcjHcjGcjGcjIcjJcjKcjLcjMcjNcjOcbjcjPcjQcbnbPtbGGcjRcjScjTcjTcjScjTcjUcgscjVcjWchZciacjXcjYcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciccjZckacjZcidciecieckbckcckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIckdceRceRckebRybRAbRAbRyckfbRAbRAckgckhbPIbYuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgAckicimcimckjckkcfbcfbcklckmcfbcfbciscknckobYMbYMbYMbYMbYMbYMckpcgQckqckrckscktcktcktckucgWckvckwckwckwckxckyckzckAckBckCckDckEckFckGckHckIchcchfckJchhckKckLckMckNckOchhcdZccuceaccuckPckQckRckSckTckUckVckWckXchrckYckZclaclbclccldcleclfclgclhbWgbWgbWgbWgbWgclicljclkbWicllcjGcjGclmclncjGcloclpcbjclqccZclrclrcbjcblclscbnbPtcgscltcgscgscgscgscgscgscgscluclvcguclwclxclycguaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacclzcjZcjZclAciecieckbckbclBckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIckdceRceRckebRybRAbRAbRyckfbRAbRAckgckhbPIbYuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgAckicimcimckjckkcfbcfbcklckmcfbcfbciscknckobYMbYMbYMbYMbYMbYMckpcgQckqckrckscktcktcktckucgWckvckwckwckwckxckyckzckAckBckCckDckEckFckGckHckIchcchfckJchhckKckLckMckNckOchhcdZccuceaccuckPckQckRckSckTckUckVckWckXchrckYckZclaclbclccldcleclfclgclhbWgbWgbWgbWgbWgclicljclkbWicllcjGcjGclmclncjGcloclpcbjclqccZclrclrcbjcblclscbnbPtcgscltcgscgscgscgscgscgscgscluclvcguclwclxclycguafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOclzcjZcjZclAciecieckbckbclBckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIclCclDclEbRybRAclFbRyclGclHbRAbPIbPIbYuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcincincinceYcgEclIclJclKckmcfbcfbclLclMclNclOclPclPclPclQcgQcgQcgQcizcgSclRcktclScktclTcgWckvckwclUckwclVcgWclWclXclYchcclZcmacmbcmccmdcmecmfcmgcmhcmicmjcmkcmlcmmcmnchhcfIccuccucmockPckQcmpcmqcmrcjlcmscmtcmucmvcmwcmxcmycmzcmAcmBcmCcmDcjucmEchxcmFcmGcmHcmIcmJcmKcmLclpcllcmMcjGcjGcjGcmNcmOclpcbjcmPccZclrclrcbjcmQcmRcbnbPtcmScmTcmUcgscmVcmWcmXcmYcmZcnacnbcgucnccndcnecgucgscgscgscgscgscgscgscgsaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacnfcieclzciecieckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIbPIbPIbPIbPIbPIbPIbPIbPIbPIbYuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaccgQcngcngcgQcngcngcgQaaaaaacgAcnhcnicnjcgAcgEcgEcgEcamcnkcnlcnmcnmcnmcamcamcgQcnncnocnpcnqcgQcnrcnscgSclRcktcktcktcntcgWckvckwckwcnucnvcnwcnxcnycnzchcchcchcchcchccnAchcchccnBcnCchhchhcnDchhchkchhchhcaAcnEcnEcaAcnFcnGcnHcnIcnJcnKcnLcnMcnNcnObQVcnPcmycmzcnQcnRcnScnTcnUcnVchxcnWcnXcnYcnZcoacobcoccodcoecodcofcofcofcodcogcodcodcohcoiclrclrcbjcojclscbncokcolcomconcoocopcoqcoqcorcoscotcoucovcowcoxcoycozcoAcoBcoCcoDcoEcoFcoGcoHaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacidciecoIcoJcoJckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIbPIbPIbPIbPIbPIbPIbPIbPIbPIbYuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabafOcgQcngcngcgQcngcngcgQaaaaaacgAcnhcnicnjcgAcgEcgEcgEcamcnkcnlcnmcnmcnmcamcamcgQcnncnocnpcnqcgQcnrcnscgSclRcktcktcktcntcgWckvckwckwcnucnvcnwcnxcnycnzchcchcchcchcchccnAchcchccnBcnCchhchhcnDchhchkchhchhcaAcnEcnEcaAcnFcnGcnHcnIcnJcnKcnLcnMcnNcnObQVcnPcmycmzcnQcnRcnScnTcnUcnVchxcnWcnXcnYcnZcoacobcoccodcoecodcofcofcofcodcogcodcodcohcoiclrclrcbjcojclscbncokcolcomconcoocopcoqcoqcorcoscotcoucovcowcoxcoycozcoAcoBcoCcoDcoEcoFcoGcoHaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacidciecoIcoJcoJckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaacgQcoKcoLcgQcoKcoLcgQaaaaaacoMceXcoNceXcoOaaaaabaaacamcamcamcamcamcamcamcoPcgQcoQcoRcoScoTclPcoUcoVcgScoWcoXcoYcktcoZcpacpbcpccpdcpecpfcgWcpgcphcpicpjcpkcpkcpkcpkcplcpmcpncpocpocppcppcpqcprcpschfcaAcptcpucpvcpwcpxckQcpycnIcpzcpAcpBcpCceicpDcpEcpFcpGcpHcpHcpIcpHcpHcpHcpJchxcpKcpLcpMcpNcpOcpPcpQcpRcpScpRcpTcpUcpVcpRcpWcpXcodcpYcpZcdacbjcbjcqacqbcqccqdcqecqfcqgcqhcqicqjcqkcqlcqmcqncqocqpcqqcqrcqqcqscqrcqrcqrcqtcqucqvcqwcqxaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacieciecqyckbckbckbckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaccgQcqzcoLcgQcqzcoLcgQaaaaaaaabaabaabaabaabaabaabaabaabcgQcoLcqAcqBcgQcqCcqDcgQcqEcgQcgQcqFcgQcgQcqGcgScqHcqIcqJcqKcqLcqMcqNcqOcqPcqQcqRcpacqScqTcqUcqVcqWcqWcqWcqWcqXcqYcqZcracrbcracrccrdcrecrfcrgcrhcricrjcrkcrlcrmcrncrocrpcrqcrrcrscrtcrucrvcrwcrxcrybXubXucrzcrAcrBcrtcrCcrDcrDcrEcrDcrFcrGcrHcrIcpRcrJcrKcrLcrMcrLcrNcrOcrPcodcbjcrQcbjcbjcrRcrSclsbLRbPtcgscrTcgscgscrUcrVcrWcrXcrYcqrcrZcsacsbcqkcsbcqkcsccqkcqkcgscsdcsecsfcsgaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacieckbckbckbckbckbckbcshckbcsickbckbckbckbckbciecieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcsjaacaabaMraMraaccgQcgQcqFcgQcgQcqFcgQcgQcgQcngcngcngcgQcgQcgQcgQcgQcgQcgQcoLcskcslcgQcsmcgQcgQcsncgQcsocspcoLcgQcsqcgScsrcsscstclRcsucsvcswckvcsxcsycszcsvcsAcsBcsCcsDcsDcsEcsFcsGcsHcsIcsJcsKcsLcsMchfcsNcsLcsLcsOcsPcsQcsRcsScrlcsTcsUcsVcsWcsXcsYcsZctactbcsYcsYctcctdctdctdctdctdctectfctgcthcthctictjctkctlctmctncpRctoctpctqctrctqctscttcrLctuctvctwbLRctxbLRcrSclsbLRbIictyctzctAcgscgscgscgscgsctBcqkctCctDcsccqkctEcqkclucqkctFcgsctGctHctIcgsaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaciectJctJctJctJctJctJctKckbctLctJcsickbckbckbckbcieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaaccngcoLcoLcoLcoLctMctNcoLcoLcoQctOctOctPctOctOctOctOctOctOctOctOctOctOctOctOcoRcgQcskcqzctQcgQcsqctRctRctRctRctRctRcgWcgWcgWcgWcgWcgWcgWctSctTctUctVctWctXctYctYctZcuacsJcsLcsLcubcuccudcsLcsLcsLcuecufcugcrjcuhcuicujctdcukculcumcecculcuncuocuocuocupcuqcuqcuqcuqcurcusceccutcuucuvcuwcuxcuycuzcuAcpRcuBcuCcrLcuDcrLcuEcuFcuGcuHcuIcuJcuKbLRcuLcrSclscuMbIibPAcuNcuOcuPcuQbGGbGGcgscuRcuScuTcuUcuVcuWcuXcuYcuZcvacvbcgscvccvdcvecvfaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaacvgcjZcjZcjZcjZcjZcjZcjZcvhcvickbckbckbckbcvjckccieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaabaabaaccngcvkcvlcvmcoLcoLcvncoLcoLcsncgQcgQcgQcgQcgQcgQcqFcgQcgQcgQcgQcvocvocvocvocvocvocvocvocvocgQcsqcvpaaaaaaaaaaaacvqcvrcvscvtcvucvvcvwcvxcvycvzcvAcvBcvCcvDcvEcvEcvFcvGcvHcvIcvIcvIcvIcvJcvIcsLcsLcaAcvKcvLcvMcvNcvOcvPcuxcvQcvRcvScvTcvUcvVcvWcuqcuocvXcvYcvYcvYcvYcvZcwacwbcwccwdcwecwfcwgbQVcwhcwicpRcwjcwkcwlcwmcwncrLcwocpRcpRbIicwpbIibIibIicwqcwrcwsbIibGGcuNcwtcwucuQcuQcuQcgscgscgscgscgscgscgscgscgscgscgscgscgscgscgscgscgsaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaciecoJcoJcoJcoJcoJcoJcwvckbcoIcoJcwwckbckbckbckbcieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOaaaafOcgQcqzcoLcgQcqzcoLcgQaaaaaaaabaabaabaabaabaabaabaabaabcgQcoLcqAcqBcgQcqCcqDcgQcqEcgQcgQcqFcgQcgQcqGcgScqHcqIcqJcqKcqLcqMcqNcqOcqPcqQcqRcpacqScqTcqUcqVcqWcqWcqWcqWcqXcqYcqZcracrbcracrccrdcrecrfcrgcrhcricrjcrkcrlcrmcrncrocrpcrqcrrcrscrtcrucrvcrwcrxcrybXubXucrzcrAcrBcrtcrCcrDcrDcrEcrDcrFcrGcrHcrIcpRcrJcrKcrLcrMcrLcrNcrOcrPcodcbjcrQcbjcbjcrRcrSclsbLRbPtcgscrTcgscgscrUcrVcrWcrXcrYcqrcrZcsacsbcqkcsbcqkcsccqkcqkcgscsdcsecsfcsgaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacieckbckbckbckbckbckbcshckbcsickbckbckbckbckbciecieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcsjafOaabaMraMrafOcgQcgQcqFcgQcgQcqFcgQcgQcgQcngcngcngcgQcgQcgQcgQcgQcgQcgQcoLcskcslcgQcsmcgQcgQcsncgQcsocspcoLcgQcsqcgScsrcsscstclRcsucsvcswckvcsxcsycszcsvcsAcsBcsCcsDcsDcsEcsFcsGcsHcsIcsJcsKcsLcsMchfcsNcsLcsLcsOcsPcsQcsRcsScrlcsTcsUcsVcsWcsXcsYcsZctactbcsYcsYctcctdctdctdctdctdctectfctgcthcthctictjctkctlctmctncpRctoctpctqctrctqctscttcrLctuctvctwbLRctxbLRcrSclsbLRbIictyctzctAcgscgscgscgscgsctBcqkctCctDcsccqkctEcqkclucqkctFcgsctGctHctIcgsaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaciectJctJctJctJctJctJctKckbctLctJcsickbckbckbckbcieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOafOcngcoLcoLcoLcoLctMctNcoLcoLcoQctOctOctPctOctOctOctOctOctOctOctOctOctOctOctOcoRcgQcskcqzctQcgQcsqctRctRctRctRctRctRcgWcgWcgWcgWcgWcgWcgWctSctTctUctVctWctXctYctYctZcuacsJcsLcsLcubcuccudcsLcsLcsLcuecufcugcrjcuhcuicujctdcukculcumcecculcuncuocuocuocupcuqcuqcuqcuqcurcusceccutcuucuvcuwcuxcuycuzcuAcpRcuBcuCcrLcuDcrLcuEcuFcuGcuHcuIcuJcuKbLRcuLcrSclscuMbIibPAcuNcuOcuPcuQbGGbGGcgscuRcuScuTcuUcuVcuWcuXcuYcuZcvacvbcgscvccvdcvecvfaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaacvgcjZcjZcjZcjZcjZcjZcjZcvhcvickbckbckbckbcvjckccieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOaabaabafOcngcvkcvlcvmcoLcoLcvncoLcoLcsncgQcgQcgQcgQcgQcgQcqFcgQcgQcgQcgQcvocvocvocvocvocvocvocvocvocgQcsqcvpaaaaaaaaaaaacvqcvrcvscvtcvucvvcvwcvxcvycvzcvAcvBcvCcvDcvEcvEcvFcvGcvHcvIcvIcvIcvIcvJcvIcsLcsLcaAcvKcvLcvMcvNcvOcvPcuxcvQcvRcvScvTcvUcvVcvWcuqcuocvXcvYcvYcvYcvYcvZcwacwbcwccwdcwecwfcwgbQVcwhcwicpRcwjcwkcwlcwmcwncrLcwocpRcpRbIicwpbIibIibIicwqcwrcwsbIibGGcuNcwtcwucuQcuQcuQcgscgscgscgscgscgscgscgscgscgscgscgscgscgscgscgscgsaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaciecoJcoJcoJcoJcoJcoJcwvckbcoIcoJcwwckbckbckbckbcieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgQcwxcwxcwxcwxcwxcwxcwycwxcsncwzcgQcoLcwAcwBcwCcoLcwCcwDcwEcwBcvocwFcwFcvocwGcvocwHcwIcvocoLcqGcngaaacwJcwKcwLcwMcwNcwOcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacxbcxccxdcvHcxecxfcxfcxfcxgcvIcsLcsLcxhcxhcxhcxhcxicxhcxjcxjcxkcxhcxhcxlcxhcxmcxncxocxpcxocxqcxrcxscxtcxucxvcxwcxxcxycxzcxAcxBcxCcxDcpscpRcpRcxEcpRcxFcpRcxGcxHcxIcsMcxJcxKcxLcxMcxNcxOcxPcxQcxNbGGcuNcxRbGGbGGcxScxTcxUctybGGbGGbGGbGGbGGbGGbGGcxVcxWbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacieckbckbckbckbckbckbcshckbcwwckbckbckbckbckbciecieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxXcxYcxYcxYcxYcxYcxYcxZcyacybcyccydcyecyfcwycsncygcgQcoLcyhcwBcoLcoLcoLcwDcqBcwBcvocwFcyicwIcwIcyjcwIcykcvocylcqGcngaaacymcyncyocypcyqcwOcyrcyscytcyucvxcyvcsBcywcvBcyxctYcyyctYcyzcyAcyBcyCcyDcyDcyDcyEcvIcsLcsLcxhcyFcyGcyHcyIcyJcyKcyKcyLcyMcyNcyOcyPcyQcyRcyScyTcyUcyVcyWcyXcyYcyZczaczbcxBczcczdczecxxczfczgczhczicziczjczkczlczmcznczoczmczmczmczpczmczmczqczrczscztczuczvczwczxczyczyczzczyczyczyczyczAczBczyczyczyczCczDbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacieciecqyckbckbckbckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczEczFczFczFczFczGczHczIczJczKczKczLcwxcsncoLcqFcoLcoLcoLcoLcoLcoLcoLcoLcoLcvocvocwIczMcwIcvocwIczMcvoczNcsqcngaaacymczOczPczQczRczSczTczUczRczRczVczWczXczYczZczZcAacAbctYcAccAdcyBcyDcyDcyDcyDcAecvIcsLcsLcxhcAfcAgcAhcAicAjcAkcAkcAlcAmcAncAocyKcApcxhcAqcuocArcvYcAscAtcAucAvcAwcAxcxBcAycAzcAAcxBcABcACcADcAEcAEcAEcAEcAEcAFcAGcAHcAIcAJcAJcAKcAKcAJcALcAMcANcAOcAPcAPcAQcARcAPcAPcAPcAPcAPcAPcAPcAPcAPcAPcAPcAPcAScATcAUbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnfcieciectJctJckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9248,19 +9245,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcXucZucZucZudcMaabaaadardesddHdcPdcPdetdardeudevcSUdewdexdexdeycSUdezdeAdeBdeCdeDcSUdexdexdexdewcSUdeEdeucSUdbDcZSdeFdeGdeHdeIdeJdeKdeLdeMcWUdeNcXUdeOcXWdbIcTodePdeQdeRcQZcRacBPcBPcOYcprdeScOYdeTchfcsLdeUdeVdeWdeXddsddsdeYcYichfdeZcBPcBPaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabGHbGHbGHbGHbGHdfabZYcuQdfbdfcbGGbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXucXudcMdcLdfdaaaaaadardfedffdcPdcPdfgdardfhdfidfjdfkdfldfmdfndfodfpdfqdfrdfsddkdfodfldfldfldftdfjdfudfvcSUdbDdfwdaMdfxdfydeLdfzdfAdfBdfCdfDdfEdfFdfGcZadcycSndfHdeideicQZcRacBPcsLdfIdfJdfKdeYcsKchfcsLcsLcsLcYidfLcsLcXkdfMddzcuQcERbGHaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabGHbGGbGGbGGcJQdfNdfOcuQdfPbGGbGGbGHaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfRdfSdfSdfTdfSdfSdfUdardfVdcOdcPdcPdfWdardaGdfXcSUcSUdfodfodfodfodfYdfZdgaddMdgbdfodfodfodfocSUcSUdgcdgdcSUdbDcZSdgedgfdfydggdghcSdcSddgicXPdggcXUdgjcXWdbIcQZcQZcQZcQZcQZcRacBPcTBcsLdgkdglcsLdgmchfchfdgnchfdgocpscJGdgpchfchfcuQcERbGHaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaabGHbGHcuQdgqdgrcJQdfNbZYbGGbGGbGGdgsbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgtdgudgvdgwdgvdgxdgydardgzdgAdcPdcPdgBdarcSUdgCcSUdgDaacdgEdfodfodfodfodgFdfodfodfodfodgEaacdgDcSUdgGcSUcSUdbDcZSdgHdeHdgIdgJdgKdgLdgMdgJdgMdgJdgNdeLdgOdbIdgPdgQdgQdgQdgQdgRdgSdgTdgTdgUdgVdgTdgTdgTdgWdgXdgYdgodgZchfdgochfdhacuQcERbGHbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbGHbGHbGHbGHbGHbGHbGHbGHbGHcMpbGHcJQcuQdhbbGGcQwdfNbZYcuQcuQdbhcuQbGHaabdhcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgtdgudgvdgwdgwdhddhedardhfdhgdcPdcPdhhdardhidhjdhkaacdhldhmdhmdhmdhmdhmdhndhmdhmdhmdhmdhmdhoaacdhpdhqdhrcSUdhsdaIdhtdhudhvdhwdhxdhydhzdhAcSddhBdhCdhDdhEdbIdhFaaaaabaabaaadhGdhHdhIdhJdhKdhLdhMdhNdgTdhOcsLcsLdhPcpsdhQcYicsLcsLcEGaYNdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhTdhSdhSdhSdhSczDcuQbPAcAUbGGdhUcMpcuQcuQcuQdbhcuQdfNbZYcuQdhVbGGbGGbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgtdgudgvdhWdgvdhXdhYdardfVdcOdcPdcPdhZdardiadibdibaaadicaacaacaacaacaacaacaacaacaacaacaacdicaaadibdibdiacSUdaGcZSdhEdiddiedifdigdihdhEdifdhEcXWdhEcXWdhEdbIdhFaaaalwalwdiidhHdijdikdildimdindiodipdgTcsLcsLchfdgodiqchfcYicXkdfMdhRcFGditditditditditditdiudivditditditditditditdiwdixdiydizdiAdiBdiCdiCdiCdiCdiDdiEdiFdiCdiCdiCdiCdiGcjUcuQdfcbGGdiHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadiIdfSdfSdfSdfSdfSdiJdardiKdiLdcPdcPdiMdardiNdiOdiPaabdicaacdiQaaaaaaaaaaaadiQaaaaaadiQaacdicaaadiRdiSdiTcSUdaGcSUaabdiUaabdiVdiWdiXdiYdiZdiYdjadiYdjadjbdjcdhFaaaalwaabdjddgSdjedjfdjgdjhdjidjjdjkdgTdjlcsLcsLcYidjmchfcYicYidjnbGHbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHdjobGGcuQcTLbGGcuQcuQbZZbZZcxScuQdjpbGGdjpcuQdjqbZYdjrbGHbGHbGHbGHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgtdgudgvdgwdgvdgxdgydardgzdgAdcPdcPdgBdarcSUdgCcSUdgDafOdgEdfodfodfodfodgFdfodfodfodfodgEafOdgDcSUdgGcSUcSUdbDcZSdgHdeHdgIdgJdgKdgLdgMdgJdgMdgJdgNdeLdgOdbIdgPdgQdgQdgQdgQdgRdgSdgTdgTdgUdgVdgTdgTdgTdgWdgXdgYdgodgZchfdgochfdhacuQcERbGHbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbGHbGHbGHbGHbGHbGHbGHbGHbGHcMpbGHcJQcuQdhbbGGcQwdfNbZYcuQcuQdbhcuQbGHaabdhcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgtdgudgvdgwdgwdhddhedardhfdhgdcPdcPdhhdardhidhjdhkafOdhldhmdhmdhmdhmdhmdhndhmdhmdhmdhmdhmdhoafOdhpdhqdhrcSUdhsdaIdhtdhudhvdhwdhxdhydhzdhAcSddhBdhCdhDdhEdbIdhFaaaaabaabaaadhGdhHdhIdhJdhKdhLdhMdhNdgTdhOcsLcsLdhPcpsdhQcYicsLcsLcEGaYNdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhSdhTdhSdhSdhSdhSczDcuQbPAcAUbGGdhUcMpcuQcuQcuQdbhcuQdfNbZYcuQdhVbGGbGGbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgtdgudgvdhWdgvdhXdhYdardfVdcOdcPdcPdhZdardiadibdibaaadicafOafOafOafOafOafOafOafOafOafOafOdicaaadibdibdiacSUdaGcZSdhEdiddiedifdigdihdhEdifdhEcXWdhEcXWdhEdbIdhFaaaalwalwdiidhHdijdikdildimdindiodipdgTcsLcsLchfdgodiqchfcYicXkdfMdhRcFGditditditditditditdiudivditditditditditditdiwdixdiydizdiAdiBdiCdiCdiCdiCdiDdiEdiFdiCdiCdiCdiCdiGcjUcuQdfcbGGdiHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadiIdfSdfSdfSdfSdfSdiJdardiKdiLdcPdcPdiMdardiNdiOdiPaabdicafOdiQaaaaaaaaaaaadiQaaaaaadiQafOdicaaadiRdiSdiTcSUdaGcSUaabdiUaabdiVdiWdiXdiYdiZdiYdjadiYdjadjbdjcdhFaaaalwaabdjddgSdjedjfdjgdjhdjidjjdjkdgTdjlcsLcsLcYidjmchfcYicYidjnbGHbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHdjobGGcuQcTLbGGcuQcuQbZZbZZcxScuQdjpbGGdjpcuQdjqbZYdjrbGHbGHbGHbGHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardjsdiLdcPdcPdjtdardjudibdjvaaadjwdjxaaaaaaaaaaaaaaadjyaaaaaaaaadjzdjAaaadibdibdjucSUdaGcSUcQZdjBcTodjBcQZdjBcTodjBcQZdjCcTodjDcQZaabdhFaaaalwaabdjEdgSdjFdjfdjGdjHdjidjIdjJdjKdirdjLdjMcYicpscsLdjNdgochfcBPaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdjOcLhcuQdjPbGGcuQaaaaaaaaaaaacuQbGGbGGdbgdjQdjQdjRdjSdjQaaaaabaabaabaabdjTaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardjUdcOdcPdcPdhZdardjVdjWdibaaadicaacaaaaaaaabaabaabaabaabaaaaaaaacdicaaadibdjXdjYcSUdjZcSUcQZdkadkbdkccQZdkddkedkfcQZdkgdkhdkicQZaabdhFaaaalwaaadjEdkjdkkdkldkmdkndkodkpdkqdgTdkrdgochfdgodkschfdktdgocBNcBPcBQcBQcBQaHQaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdkucuQcuQcQxbGGcuQcuQbZZbZZcuQcuQbGGdkvcLhdjQdkwdkxdkydjQaaaaaaaabaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdardardardardardardarcSUdiadibaaadicaacdiQaabaabdkzdkAdkBaabdkCaaaaacdicaaadibdiacSUcSUdaGcSUcQZdkDdkEdkDcQZdkFdkGdkFcQZdkHdkIdkHcQZaabdhFaaaalwaaadjddgSdkJdkKdkLdkldkMdkNdkOdgTdkPdkQdkRdkSdkTcsLcYicYidkUdkVdkWcsLdkXaHQaaaaabaaabZZbZZbZZbGHbGHbGHbGHbGHbGHdkYcJQcuQdkZbGGbGGcuQbGGbGGbGGbGGdhbbGGdfPdjQdladlbdlcdjQaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaabaacaacaabaabaabalwalwcSUcSUdlddibaaadjwdjxaaaaaaaabdledlfdlgaabaaaaaadjzdjAaaadibdlhcSUcSUdaGcSUcQZdkDdlidkDcQZdkFdljdkFcQZdkHdlkdkHcQZaabdhFaaaalwaaadjddgSdgSdgSdlldlmdlndlodlndlmdkPdlpcsLdlqdlrdfMddzcYidlscBPcBQcBQcBQdltaabaabaaabZZdludlvcuQbGGdlwdlxdbgcuQdlybGGcuQdlzbGGbGGdlAbGGbGHbGHbGHbZZbZZbGHdjQdlBdlCdlDdjQaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaaaaaaaabaabalwcSUcSUdiadibaaadicaacaaadlEaabdlFdlGdlHaabaabdiQaacdicaaadibdiacSUcSUdaGcSUcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZaabdhFaaaayiaaadjdaaaaaaaaadlIdlmdlJdlKdlLdlmcsLdlMcsLcsLdlNdlOcXkdlPdlQcBPaaaaaaaaaaaaaaaaabaaabZZdlRdlSdlAbGGdgrbGGbGGdlAdjobGGcuQcuQcuQcuQcuQbGGbGHaabaaaaaaaaaaabdlTdlTdlUdlTdlTaabaabdhcaabaabdjTaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcSUdjXdjYdibaaadicaacaaaaaaaabaabaabaabaabaaaaaaaacdicaaadibdjVdjWcSUdlVcSUcSUcSUcSUdlWdgQdgQdgQdgQdgQdgQdgQdgQdgQdgQdlXaabaabaabdjEaaaaaaaaadlYdlmdlndlZdlndlmdmadmbdfMdfMdmcdmddmecBPcBPcBPaaaaaaaaaaaaaaaaabaaabZZdludmfcuQdbgbGGbGGdmgcuQdmhbGGbGGbGGbGGbGGbGGbGGbGHaabaaaaaaaaaaabaaadlTdmidlTaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardjUdcOdcPdcPdhZdardjVdjWdibaaadicafOaaaaaaaabaabaabaabaabaaaaaaafOdicaaadibdjXdjYcSUdjZcSUcQZdkadkbdkccQZdkddkedkfcQZdkgdkhdkicQZaabdhFaaaalwaaadjEdkjdkkdkldkmdkndkodkpdkqdgTdkrdgochfdgodkschfdktdgocBNcBPcBQcBQcBQaHQaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdkucuQcuQcQxbGGcuQcuQbZZbZZcuQcuQbGGdkvcLhdjQdkwdkxdkydjQaaaaaaaabaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOdardardardardardardarcSUdiadibaaadicafOdiQaabaabdkzdkAdkBaabdkCaaaafOdicaaadibdiacSUcSUdaGcSUcQZdkDdkEdkDcQZdkFdkGdkFcQZdkHdkIdkHcQZaabdhFaaaalwaaadjddgSdkJdkKdkLdkldkMdkNdkOdgTdkPdkQdkRdkSdkTcsLcYicYidkUdkVdkWcsLdkXaHQaaaaabaaabZZbZZbZZbGHbGHbGHbGHbGHbGHdkYcJQcuQdkZbGGbGGcuQbGGbGGbGGbGGdhbbGGdfPdjQdladlbdlcdjQaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOaabafOafOaabaabaabalwalwcSUcSUdlddibaaadjwdjxaaaaaaaabdledlfdlgaabaaaaaadjzdjAaaadibdlhcSUcSUdaGcSUcQZdkDdlidkDcQZdkFdljdkFcQZdkHdlkdkHcQZaabdhFaaaalwaaadjddgSdgSdgSdlldlmdlndlodlndlmdkPdlpcsLdlqdlrdfMddzcYidlscBPcBQcBQcBQdltaabaabaaabZZdludlvcuQbGGdlwdlxdbgcuQdlybGGcuQdlzbGGbGGdlAbGGbGHbGHbGHbZZbZZbGHdjQdlBdlCdlDdjQaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaaaaaaaabaabalwcSUcSUdiadibaaadicafOaaadlEaabdlFdlGdlHaabaabdiQafOdicaaadibdiacSUcSUdaGcSUcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZaabdhFaaaayiaaadjdaaaaaaaaadlIdlmdlJdlKdlLdlmcsLdlMcsLcsLdlNdlOcXkdlPdlQcBPaaaaaaaaaaaaaaaaabaaabZZdlRdlSdlAbGGdgrbGGbGGdlAdjobGGcuQcuQcuQcuQcuQbGGbGHaabaaaaaaaaaaabdlTdlTdlUdlTdlTaabaabdhcaabaabdjTaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcSUdjXdjYdibaaadicafOaaaaaaaabaabaabaabaabaaaaaaafOdicaaadibdjVdjWcSUdlVcSUcSUcSUcSUdlWdgQdgQdgQdgQdgQdgQdgQdgQdgQdgQdlXaabaabaabdjEaaaaaaaaadlYdlmdlndlZdlndlmdmadmbdfMdfMdmcdmddmecBPcBPcBPaaaaaaaaaaaaaaaaabaaabZZdludmfcuQdbgbGGbGGdmgcuQdmhbGGbGGbGGbGGbGGbGGbGGbGHaabaaaaaaaaaaabaaadlTdmidlTaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaabcSUdjudibdmjaaadjwdjxaaaaaaaaaaabaaaaaaaaaaaaaaadjzdjAaaadibdibdjucSUdmkdmldmmdaGdmndlXaabaabaabaabaabaabaabdmoaabaabaabaabaabaabdjEaabaabaabdlYdlmdmpdmqdmrdmsaabdmacBPcBQdmtcBQcBPcBPaaaaabaaaaaaaaaaaaaaaaabaabbZZbZZbZZbGHbGHbGHbGGcuQbGHdmubGHbGHdbgbPAcLhbKlcMpbGHaabaaaaaaaaaaabaaadlTdmvdlTaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUdmwdmxdiPaabdicaacdiQaaaaaadiQaaaaaaaaaaaadiQaacdicaaadiRdmydmzcSUdmAcSUcSUcSUcSUcSUcSUaaaaaaaabaaaaaaaaadmoaaaaaadmBdmBdmBdmBdmCaaaaaaaabdlYdmDdlmdmEdlmdlmaaaaabaaaaaadmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHdlSdmGbGHdmHaabbGHbGHbZZbZZcMpbGHaaaaabaaaaaaaaaaabaaaaaadmIaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdmJdmKdmLaaadicaacaacdmMaacaacdmMaacaacdmMaacaacdicaaadmNdmKdmOcSUdmPdmQdmRdmSdmTdmUdmVdmWdmWdmXdmWdmWdmWdmYdmWdmWdmZdnadnbdncdmCaaaaaaaabdndaHQdlmdnedlmdnfaabaabaaaaaadngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaabpaaaaaabGHdnhdnibGHdnjaabaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaadnkaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUdmwdmxdiPaabdicafOdiQaaaaaadiQaaaaaaaaaaaadiQafOdicaaadiRdmydmzcSUdmAcSUcSUcSUcSUcSUcSUaaaaaaaabaaaaaaaaadmoaaaaaadmBdmBdmBdmBdmCaaaaaaaabdlYdmDdlmdmEdlmdlmaaaaabaaaaaadmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHdlSdmGbGHdmHaabbGHbGHbZZbZZcMpbGHaaaaabaaaaaaaaaaabaaaaaadmIaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdmJdmKdmLaaadicafOafOdmMafOafOdmMafOafOdmMafOafOdicaaadmNdmKdmOcSUdmPdmQdmRdmSdmTdmUdmVdmWdmWdmXdmWdmWdmWdmYdmWdmWdmZdnadnbdncdmCaaaaaaaabdndaHQdlmdnedlmdnfaabaabaaaaaadngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaabpaaaaaabGHdnhdnibGHdnjaabaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaadnkaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnlcSUcSUdnmaaadnndhmdhmdnodhmdhmdnodhmdhmdnodhmdhmdnpaaadnmcSUcSUcSUdmPdnqdnrdnsdntdnudfoaaaaaaaabaaaaaaaaadmodmBdmBdmBdnvdnwdnvdmCaaaaaaaabaabaHQdnxdnydnxaHQaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaabZZdnzbZZbZZaabdhcaaaaabaaaaaaaabaaaamWamWalwayiaabaabaabaabdnAaabaabaabaabdhcamhamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUcYNdnBdmLaabaabaabaabaaaaaaaaaaaaaaaaabaabaabaabdmNdnCcYNcSUcSUdnDcSUcSUcSUcSUdfocSUaabaabaabaabaabaabdmodnEdnFdnEdnFdnGdnFdmCaaaaaaaaaaabaHQaaaaaaaaaaHQaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabZZdnHbZZaaaaaaaaaaaaaabaaaaaaaabaaaamWaaaaaaaabaaaaabaaaaaadnIaaaaaaaabaaaaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacSUcSUdnBdnJdnJdnJdnJdnJdnJdnJdnJdnJdnJdnJdnJdnJdnCcSUcSUcSUdnKdnLcSUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnMdnNdnOdnPdnQdnRdnSdnTaaaaaaaaaaabaHQaHQaHQaHQaHQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaabZZdnUbZZaaaaaaaaaaaaaabaaaaaaaabaaaamWaaadnVdnVdnVdnVdnVaabdnWaabdnVdnVdnVdnVdnVaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/shuttles/emergency_meta.dmm b/_maps/map_files/shuttles/emergency_meta.dmm index 350fba4b564..cc8098b35c7 100644 --- a/_maps/map_files/shuttles/emergency_meta.dmm +++ b/_maps/map_files/shuttles/emergency_meta.dmm @@ -6,7 +6,7 @@ "af" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/shuttle/escape) "ag" = (/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "ah" = (/obj/structure/sign/nosmoking_2,/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/shuttle/escape) -"ai" = (/obj/docking_port/mobile/emergency{dir = 2; dwidth = 5; height = 14; name = "Meta emergency shuttle"; timid = 1; width = 25},/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ai" = (/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "aj" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/shuttle/escape) "ak" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape) "al" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/escape) @@ -110,9 +110,10 @@ "cf" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape) "cg" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/shuttle/escape) "ch" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/escape) +"ci" = (/obj/docking_port/mobile/emergency{dir = 2; dwidth = 5; height = 14; name = "Meta emergency shuttle"; timid = 1; width = 25},/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Emergency Shuttle Airlock"; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/shuttle/escape) (1,1,1) = {" -aaaaabacacacacadaeacafagacagahacacacafaiacagajakal +aaaaabacacacacadaeacafaiacaiahacacacafciacagajakal aaamanaoapaqarasatauavauawauavavawavaxauavauauayaz aAaBasaCauaDaEaFauauauauauauauauauauauauauauauaGac aHaIasaJaKauauazauauaLaMaLaLaLauaLaLaLaMaLauauaNaf @@ -127,3 +128,4 @@ aOaBasbIbpbpbJaFbKbrbrbLasbMauauaublbNbpbpbpbpbAac aabOanbPbpbpbJasbQbRbSbTasbUbVbWbXbYbZcacbcccdceaV aaaacfacbqbqaccgakacacajcgaeacacajcgakaeacacajakch "} + From 3ab8f939acf3b3cce7ad1f2306919508c54a8021 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 8 Feb 2017 21:41:31 +0100 Subject: [PATCH 11/49] Fix broken genetics spells --- code/game/dna/genes/goon_disabilities.dm | 2 +- code/game/dna/genes/goon_powers.dm | 168 +++++++++++------------ 2 files changed, 81 insertions(+), 89 deletions(-) diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index a2ad15e797b..ef3d5b8610d 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -259,7 +259,7 @@ action_icon_state = "genetic_incendiary" -/obj/effect/proc_holder/spell/targeted/immolate/cast(list/targets,mob/living/user = usr) +/obj/effect/proc_holder/spell/targeted/immolate/cast(list/targets, mob/living/user = usr) var/mob/living/carbon/L = user L.adjust_fire_stacks(0.5) L.visible_message("[L.name] suddenly bursts into flames!") diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 5654fe2fc72..33f3ba57462 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -148,15 +148,15 @@ action_icon_state = "genetic_cryo" -/obj/effect/proc_holder/spell/targeted/cryokinesis/cast(list/targets) +/obj/effect/proc_holder/spell/targeted/cryokinesis/cast(list/targets, mob/user = usr) if(!targets.len) - to_chat(usr, "No target found in range.") + to_chat(user, "No target found in range.") return var/mob/living/carbon/C = targets[1] if(!iscarbon(C)) - to_chat(usr, "This will only work on normal organic beings.") + to_chat(user, "This will only work on normal organic beings.") return if(RESIST_COLD in C.mutations) @@ -169,15 +169,15 @@ if(istype(H.wear_suit, /obj/item/clothing/suit/space)) handle_suit = 1 if(H.internal) - H.visible_message("[usr] sprays a cloud of fine ice crystals, engulfing [H]!", - "[usr] sprays a cloud of fine ice crystals over your [H.head]'s visor.") - log_admin("[key_name(usr)] has used cryokinesis on [key_name(C)] while wearing internals and a suit") - msg_admin_attack("[key_name_admin(usr)] has cast cryokinesis on [key_name_admin(C)]") + H.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [H]!", + "[user] sprays a cloud of fine ice crystals over your [H.head]'s visor.") + log_admin("[key_name(user)] has used cryokinesis on [key_name(C)] while wearing internals and a suit") + msg_admin_attack("[key_name_admin(user)] has cast cryokinesis on [key_name_admin(C)]") else - H.visible_message("[usr] sprays a cloud of fine ice crystals engulfing, [H]!", - "[usr] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.") - log_admin("[key_name(usr)] has used cryokinesis on [key_name(C)]") - msg_admin_attack("[key_name_admin(usr)] has cast cryokinesis on [key_name_admin(C)]") + H.visible_message("[user] sprays a cloud of fine ice crystals engulfing, [H]!", + "[user] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.") + log_admin("[key_name(user)] has used cryokinesis on [key_name(C)]") + msg_admin_attack("[key_name_admin(user)] has cast cryokinesis on [key_name_admin(C)]") H.bodytemperature = max(0, H.bodytemperature - 50) H.adjustFireLoss(5) if(!handle_suit) @@ -185,11 +185,11 @@ C.adjustFireLoss(10) C.ExtinguishMob() - C.visible_message("\red [usr] sprays a cloud of fine ice crystals, engulfing [C]!") - log_admin("[key_name(usr)] has used cryokinesis on [key_name(C)] without internals or a suit") - msg_admin_attack("[key_name_admin(usr)] has cast cryokinesis on [key_name_admin(C)]") + C.visible_message("\red [user] sprays a cloud of fine ice crystals, engulfing [C]!") + log_admin("[key_name(user)] has used cryokinesis on [key_name(C)] without internals or a suit") + msg_admin_attack("[key_name_admin(user)] has cast cryokinesis on [key_name_admin(C)]") - //playsound(usr.loc, 'bamf.ogg', 50, 0) + //playsound(user.loc, 'bamf.ogg', 50, 0) new/obj/effect/self_deleting(C.loc, icon('icons/effects/genetics.dmi', "cryokinesis")) @@ -299,10 +299,9 @@ revert_cast(user) return - perform(targets) + perform(targets, user = user)) -/obj/effect/proc_holder/spell/targeted/eat/cast(list/targets) - var/mob/user = usr +/obj/effect/proc_holder/spell/targeted/eat/cast(list/targets, mob/user = usr) if(!targets.len) to_chat(user, "No target found in range.") return @@ -388,60 +387,60 @@ action_icon_state = "genetic_jump" -/obj/effect/proc_holder/spell/targeted/leap/cast(list/targets) +/obj/effect/proc_holder/spell/targeted/leap/cast(list/targets, mob/user = usr) var/failure = 0 - if(istype(usr.loc,/mob/) || usr.lying || usr.stunned || usr.buckled || usr.stat) - to_chat(usr, "You can't jump right now!") + if(istype(user.loc,/mob/) || user.lying || user.stunned || user.buckled || user.stat) + to_chat(user, "You can't jump right now!") return - if(istype(usr.loc,/turf/)) - if(usr.restrained())//Why being pulled while cuffed prevents you from moving - for(var/mob/M in range(usr, 1)) - if(M.pulling == usr) - if(!M.restrained() && M.stat == 0 && M.canmove && usr.Adjacent(M)) + if(istype(user.loc,/turf/)) + if(user.restrained())//Why being pulled while cuffed prevents you from moving + for(var/mob/M in range(user, 1)) + if(M.pulling == user) + if(!M.restrained() && M.stat == 0 && M.canmove && user.Adjacent(M)) failure = 1 else M.stop_pulling() - if(usr.pinned.len) + if(user.pinned.len) failure = 1 - usr.visible_message("[usr.name] takes a huge leap!") - playsound(usr.loc, 'sound/weapons/thudswoosh.ogg', 50, 1) + user.visible_message("[user.name] takes a huge leap!") + playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, 1) if(failure) - usr.Weaken(5) - usr.Stun(5) - usr.visible_message("[usr] attempts to leap away but is slammed back down to the ground!", + user.Weaken(5) + user.Stun(5) + user.visible_message("[user] attempts to leap away but is slammed back down to the ground!", "You attempt to leap away but are suddenly slammed back down to the ground!", "You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor.") return 0 - var/prevLayer = usr.layer - var/prevFlying = usr.flying - usr.layer = 9 + var/prevLayer = user.layer + var/prevFlying = user.flying + user.layer = 9 - usr.flying = 1 + user.flying = 1 for(var/i=0, i<10, i++) - step(usr, usr.dir) - if(i < 5) usr.pixel_y += 8 - else usr.pixel_y -= 8 + step(user, user.dir) + if(i < 5) user.pixel_y += 8 + else user.pixel_y -= 8 sleep(1) - usr.flying = prevFlying + user.flying = prevFlying - if(FAT in usr.mutations && prob(66)) - usr.visible_message("[usr.name] crashes due to their heavy weight!") - //playsound(usr.loc, 'zhit.wav', 50, 1) - usr.AdjustWeakened(10) - usr.AdjustStunned(5) + if(FAT in user.mutations && prob(66)) + user.visible_message("[user.name] crashes due to their heavy weight!") + //playsound(user.loc, 'zhit.wav', 50, 1) + user.AdjustWeakened(10) + user.AdjustStunned(5) - usr.layer = prevLayer + user.layer = prevLayer - if(istype(usr.loc,/obj/)) - var/obj/container = usr.loc - to_chat(usr, "You leap and slam your head against the inside of [container]! Ouch!") - usr.AdjustParalysis(3) - usr.AdjustWeakened(5) - container.visible_message("[usr.loc] emits a loud thump and rattles a bit.") - playsound(usr.loc, 'sound/effects/bang.ogg', 50, 1) + if(istype(user.loc,/obj/)) + var/obj/container = user.loc + to_chat(user, "You leap and slam your head against the inside of [container]! Ouch!") + user.AdjustParalysis(3) + user.AdjustWeakened(5) + container.visible_message("[user.loc] emits a loud thump and rattles a bit.") + playsound(user.loc, 'sound/effects/bang.ogg', 50, 1) var/wiggle = 6 while(wiggle > 0) wiggle-- @@ -451,9 +450,6 @@ container.pixel_x = 0 container.pixel_y = 0 - - return - //////////////////////////////////////////////////////////////////////// // WAS: /datum/bioEffect/polymorphism @@ -480,6 +476,7 @@ charge_max = 1800 clothes_req = 0 + human_req = 1 stat_allowed = 0 invocation_type = "none" range = 1 @@ -487,21 +484,18 @@ action_icon_state = "genetic_poly" -/obj/effect/proc_holder/spell/targeted/polymorph/cast(list/targets) - var/mob/living/M=targets[1] +/obj/effect/proc_holder/spell/targeted/polymorph/cast(list/targets, mob/user = usr) + var/mob/living/M = targets[1] if(!ishuman(M)) to_chat(usr, "You can only change your appearance to that of another human.") return - if(!ishuman(usr)) - return - - usr.visible_message("[usr]'s body shifts and contorts.") + user.visible_message("[user]'s body shifts and contorts.") spawn(10) - if(M && usr) - playsound(usr.loc, 'sound/goonstation/effects/gib.ogg', 50, 1) - var/mob/living/carbon/human/H = usr + if(M && user) + playsound(user.loc, 'sound/goonstation/effects/gib.ogg', 50, 1) + var/mob/living/carbon/human/H = user var/mob/living/carbon/human/target = M H.UpdateAppearance(target.dna.UI) H.real_name = target.real_name @@ -529,6 +523,7 @@ desc = "Read the minds of others for information." charge_max = 180 clothes_req = 0 + human_req = 1 stat_allowed = 0 invocation_type = "none" range = -2 @@ -544,29 +539,26 @@ revert_cast(user) return - perform(targets) - -/obj/effect/proc_holder/spell/targeted/empath/cast(list/targets) - if(!ishuman(usr)) return - + perform(targets, user = user)) +/obj/effect/proc_holder/spell/targeted/empath/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/M in targets) if(!iscarbon(M)) - to_chat(usr, "You may only use this on other organic beings.") + to_chat(user, "You may only use this on other organic beings.") return if(PSY_RESIST in M.mutations) - to_chat(usr, "You can't see into [M.name]'s mind at all!") + to_chat(user, "You can't see into [M.name]'s mind at all!") return if(M.stat == 2) - to_chat(usr, "[M.name] is dead and cannot have their mind read.") + to_chat(user, "[M.name] is dead and cannot have their mind read.") return if(M.health < 0) - to_chat(usr, "[M.name] is dying, and their thoughts are too scrambled to read.") + to_chat(user, "[M.name] is dying, and their thoughts are too scrambled to read.") return - to_chat(usr, "Mind Reading of [M.name]:") + to_chat(user, "Mind Reading of [M.name]:") var/pain_condition = M.health // lower health means more pain var/list/randomthoughts = list("what to have for lunch","the future","the past","money", @@ -583,33 +575,33 @@ switch(pain_condition) if(81 to INFINITY) - to_chat(usr, "Condition: [M.name] feels good.") + to_chat(user, "Condition: [M.name] feels good.") if(61 to 80) - to_chat(usr, "Condition: [M.name] is suffering mild pain.") + to_chat(user, "Condition: [M.name] is suffering mild pain.") if(41 to 60) - to_chat(usr, "Condition: [M.name] is suffering significant pain.") + to_chat(user, "Condition: [M.name] is suffering significant pain.") if(21 to 40) - to_chat(usr, "Condition: [M.name] is suffering severe pain.") + to_chat(user, "Condition: [M.name] is suffering severe pain.") else - to_chat(usr, "Condition: [M.name] is suffering excruciating pain.") + to_chat(user, "Condition: [M.name] is suffering excruciating pain.") thoughts = "haunted by their own mortality" switch(M.a_intent) if(I_HELP) - to_chat(usr, "Mood: You sense benevolent thoughts from [M.name].") + to_chat(user, "Mood: You sense benevolent thoughts from [M.name].") if(I_DISARM) - to_chat(usr, "Mood: You sense cautious thoughts from [M.name].") + to_chat(user, "Mood: You sense cautious thoughts from [M.name].") if(I_GRAB) - to_chat(usr, "Mood: You sense hostile thoughts from [M.name].") + to_chat(user, "Mood: You sense hostile thoughts from [M.name].") if(I_HARM) - to_chat(usr, "Mood: You sense cruel thoughts from [M.name].") + to_chat(user, "Mood: You sense cruel thoughts from [M.name].") for(var/mob/living/L in view(7,M)) if(L == M) continue thoughts = "thinking about punching [L.name]" break else - to_chat(usr, "Mood: You sense strange thoughts from [M.name].") + to_chat(user, "Mood: You sense strange thoughts from [M.name].") if(istype(M,/mob/living/carbon/human)) var/numbers[0] @@ -618,11 +610,11 @@ numbers += H.mind.initial_account.account_number numbers += H.mind.initial_account.remote_access_pin if(numbers.len>0) - to_chat(usr, "Numbers: You sense the number[numbers.len>1?"s":""] [english_list(numbers)] [numbers.len>1?"are":"is"] important to [M.name].") - to_chat(usr, "Thoughts: [M.name] is currently [thoughts].") + to_chat(user, "Numbers: You sense the number[numbers.len>1?"s":""] [english_list(numbers)] [numbers.len>1?"are":"is"] important to [M.name].") + to_chat(user, "Thoughts: [M.name] is currently [thoughts].") if(EMPATH in M.mutations) - to_chat(M, "You sense [usr.name] reading your mind.") + to_chat(M, "You sense [user.name] reading your mind.") else if(prob(5) || M.mind.assigned_role=="Chaplain") to_chat(M, "You sense someone intruding upon your thoughts...") return From 8e0f2092ea0004bd0e401df0cd4c93443df752b5 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 8 Feb 2017 21:46:42 +0100 Subject: [PATCH 12/49] Fix compile issue --- code/game/dna/genes/goon_powers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 33f3ba57462..60b002b4bf8 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -299,7 +299,7 @@ revert_cast(user) return - perform(targets, user = user)) + perform(targets, user = user) /obj/effect/proc_holder/spell/targeted/eat/cast(list/targets, mob/user = usr) if(!targets.len) @@ -539,7 +539,7 @@ revert_cast(user) return - perform(targets, user = user)) + perform(targets, user = user) /obj/effect/proc_holder/spell/targeted/empath/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/M in targets) From d7f8f68ff827b6bede429c20afcac4a85708394c Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 8 Feb 2017 22:12:59 +0100 Subject: [PATCH 13/49] Fix posibrain whispering while muted --- .../mob/living/carbon/brain/posibrain.dm | 25 +++++------ code/modules/mob/living/carbon/brain/say.dm | 42 ++++++++++++------- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 3b5b415964d..4e2c7acb2b2 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -1,6 +1,6 @@ /obj/item/device/mmi/posibrain name = "positronic brain" - desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'on'." + desc = "A cube of shining metal, four inches to a side and covered in shallow grooves." icon = 'icons/obj/assemblies.dmi' icon_state = "posibrain" w_class = 3 @@ -15,11 +15,14 @@ var/silenced = 0 //if set to 1, they can't talk. var/next_ping_at = 0 +/obj/item/device/mmi/posibrain/examine(mob/user) + if(..(user, 1)) + to_chat(user, "Its speaker is turned [silenced ? "off" : "on"].") -/obj/item/device/mmi/posibrain/attack_self(mob/user as mob) +/obj/item/device/mmi/posibrain/attack_self(mob/user) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. - to_chat(user, "\blue You carefully locate the manual activation switch and start the positronic brain's boot process.") + to_chat(user, "You carefully locate the manual activation switch and start the positronic brain's boot process.") icon_state = "posibrain-searching" ghost_volunteers.Cut() src.searching = 1 @@ -31,18 +34,10 @@ transfer_personality(O) reset_search() else - if(silenced) - silenced = 0 - to_chat(user, "You toggle the speaker to 'on', on the [src].") - desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'on'." - if(brainmob && brainmob.key) - to_chat(brainmob, "Your internal speaker has been toggled to 'on'.") - else - silenced = 1 - to_chat(user, "You toggle the speaker to 'off', on the [src].") - desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'off'." - if(brainmob && brainmob.key) - to_chat(brainmob, "Your internal speaker has been toggled to 'off'.") + silenced = !silenced + to_chat(user, "You toggle the speaker [silenced ? "off" : "on"].") + if(brainmob && brainmob.key) + to_chat(brainmob, "Your internal speaker has been toggled [silenced ? "off" : "on"].") /obj/item/device/mmi/posibrain/proc/request_player() for(var/mob/dead/observer/O in player_list) diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index a343d245424..bd2420aca88 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -1,23 +1,35 @@ //TODO: Convert this over for languages. /mob/living/carbon/brain/say(var/message, var/datum/language/speaking = null) - if(silent) + if(!can_speak(warning = TRUE)) + return + + if(prob(emp_damage * 4)) + if(prob(10)) //10% chance to drop the message entirely + return + else + message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher + + ..(message) + +/mob/living/carbon/brain/whisper(message as text) + if(!can_speak(warning = TRUE)) return - if(!(container && istype(container, /obj/item/device/mmi))) - return //No MMI, can't speak, bucko./N - else - if(container && istype(container, /obj/item/device/mmi/posibrain)) - var/obj/item/device/mmi/posibrain/P = container - if(P && P.silenced) - to_chat(usr, "You cannot speak, as your internal speaker has been toggled to 'off'.") - return - if(prob(emp_damage*4)) - if(prob(10))//10% chane to drop the message entirely - return - else - message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher + ..() + +/mob/living/carbon/brain/can_speak(var/warning = FALSE) + . = ..() - ..(message) + if(!container) + . = FALSE + else if(!istype(container, /obj/item/device/mmi)) + . = FALSE + else if(istype(container, /obj/item/device/mmi/posibrain)) + var/obj/item/device/mmi/posibrain/P = container + if(P && P.silenced) + if(warning) + to_chat(usr, "You cannot speak, as your internal speaker is turned off.") + . = FALSE /mob/living/carbon/brain/handle_message_mode(var/message_mode, var/message, var/verb, var/speaking, var/used_radios, var/alt_name) switch(message_mode) From 95f750d6f22e8eabf90fb6766e26e894c8b6521f Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 9 Feb 2017 18:54:26 +0100 Subject: [PATCH 14/49] Add faction support to pAI's --- _maps/map_files/MetaStation/z2.dmm | 2 +- _maps/map_files/cyberiad/z2.dmm | 2 +- code/game/objects/items/devices/paicard.dm | 40 +++++---- code/modules/mob/living/silicon/pai/pai.dm | 95 +++++++++++----------- 4 files changed, 72 insertions(+), 67 deletions(-) diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index 69f2d4a567c..ad26c7fb2ec 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -437,7 +437,7 @@ "iu" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac) "iv" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/evac) "iw" = (/obj/item/weapon/soap/syndie,/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"ix" = (/obj/structure/table/woodentable,/obj/item/pizzabox,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"ix" = (/obj/structure/table/woodentable,/obj/item/pizzabox,/obj/item/device/paicard/syndicate,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "iy" = (/obj/structure/table/woodentable,/obj/item/toy/nuke,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership) "iz" = (/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) "iA" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index b832fff59f3..bbe4923497e 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -505,7 +505,7 @@ "jK" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership) "jL" = (/obj/docking_port/stationary/transit{dwidth = 3; height = 7; id = "steel_rain_transit"; name = "steel_rain in transit"; width = 7},/turf/space/transit/horizontal,/area/space) "jM" = (/obj/item/weapon/soap/syndie,/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"jN" = (/obj/structure/table/woodentable,/obj/item/pizzabox,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jN" = (/obj/structure/table/woodentable,/obj/item/pizzabox,/obj/item/device/paicard/syndicate,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jO" = (/obj/structure/table/woodentable,/obj/item/toy/nuke,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership) "jP" = (/turf/unsimulated/wall/abductor{icon_state = "alien21"},/area/abductor_ship) "jQ" = (/turf/unsimulated/wall/abductor{icon_state = "alien20"},/area/abductor_ship) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 68b0b8d2dca..a753b7230c6 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -11,11 +11,15 @@ var/obj/item/device/radio/radio var/looking_for_personality = 0 var/mob/living/silicon/pai/pai + var/list/faction = list("neutral") // The factions the pAI will inherit from the card + +/obj/item/device/paicard/syndicate + faction = list("syndicate") /obj/item/device/paicard/relaymove(var/mob/user, var/direction) if(user.stat || user.stunned) return - var/obj/item/weapon/rig/rig = src.get_rig() + var/obj/item/weapon/rig/rig = get_rig() if(istype(rig)) rig.forced_move(direction, user) @@ -260,7 +264,7 @@ to_chat(usr, "\red The request system is currently offline. Please wait another [cooldown_time] seconds.") return last_request = world.time / 10 - src.looking_for_personality = 1 + looking_for_personality = 1 paiController.findPAI(src, usr) if(href_list["wipe"]) var/confirm = input("Are you CERTAIN you wish to delete the current personality? This action cannot be undone.", "Personality Wipe") in list("Yes", "No") @@ -297,33 +301,33 @@ // WIRE_TRANSMIT = 4 /obj/item/device/paicard/proc/setPersonality(mob/living/silicon/pai/personality) - src.pai = personality - src.overlays += "pai-happy" + pai = personality + overlays += "pai-happy" /obj/item/device/paicard/proc/removePersonality() - src.pai = null - src.overlays.Cut() - src.overlays += "pai-off" + pai = null + overlays.Cut() + overlays += "pai-off" /obj/item/device/paicard var/current_emotion = 1 /obj/item/device/paicard/proc/setEmotion(var/emotion) if(pai) - src.overlays.Cut() + overlays.Cut() switch(emotion) - if(1) src.overlays += "pai-happy" - if(2) src.overlays += "pai-cat" - if(3) src.overlays += "pai-extremely-happy" - if(4) src.overlays += "pai-face" - if(5) src.overlays += "pai-laugh" - if(6) src.overlays += "pai-off" - if(7) src.overlays += "pai-sad" - if(8) src.overlays += "pai-angry" - if(9) src.overlays += "pai-what" + if(1) overlays += "pai-happy" + if(2) overlays += "pai-cat" + if(3) overlays += "pai-extremely-happy" + if(4) overlays += "pai-face" + if(5) overlays += "pai-laugh" + if(6) overlays += "pai-off" + if(7) overlays += "pai-sad" + if(8) overlays += "pai-angry" + if(9) overlays += "pai-what" current_emotion = emotion /obj/item/device/paicard/proc/alertUpdate() - var/turf/T = get_turf_or_move(src.loc) + var/turf/T = get_turf_or_move(loc) for(var/mob/M in viewers(T)) M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index a81dae5234a..3eeb5a2e9d3 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -83,12 +83,13 @@ var/current_pda_messaging = null /mob/living/silicon/pai/New(var/obj/item/device/paicard) - src.loc = paicard + loc = paicard card = paicard + faction = card.faction.Copy() sradio = new(src) if(card) if(!card.radio) - card.radio = new /obj/item/device/radio(src.card) + card.radio = new /obj/item/device/radio(card) radio = card.radio //Default languages without universal translator software @@ -122,7 +123,7 @@ // this function shows the information about being silenced as a pAI in the Status panel /mob/living/silicon/pai/proc/show_silenced() - if(src.silence_time) + if(silence_time) var/timeleft = round((silence_time - world.timeofday)/10 ,1) stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") @@ -130,7 +131,7 @@ /mob/living/silicon/pai/Stat() ..() statpanel("Status") - if(src.client.statpanel == "Status") + if(client.statpanel == "Status") show_silenced() if(proc_holder_list.len)//Generic list for proc_holder objects. @@ -138,20 +139,20 @@ statpanel("[P.panel]","",P) /mob/living/silicon/pai/check_eye(var/mob/user as mob) - if(!src.current) + if(!current) return null - user.reset_perspective(src.current) + user.reset_perspective(current) return 1 /mob/living/silicon/pai/blob_act() - if(src.stat != 2) - src.adjustBruteLoss(60) - src.updatehealth() + if(stat != 2) + adjustBruteLoss(60) + updatehealth() return 1 return 0 /mob/living/silicon/pai/restrained() - if(istype(src.loc,/obj/item/device/paicard)) + if(istype(loc,/obj/item/device/paicard)) return 0 ..() @@ -165,18 +166,18 @@ // 33% chance to change prime directive (based on severity) // 33% chance of no additional effect - src.silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes + silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes to_chat(src, "Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.") if(prob(20)) - var/turf/T = get_turf_or_move(src.loc) + var/turf/T = get_turf_or_move(loc) for(var/mob/M in viewers(T)) M.show_message("\red A shower of sparks spray from [src]'s inner workings.", 3, "\red You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) - return src.death(0) + return death(0) switch(pick(1,2,3)) if(1) - src.master = null - src.master_dna = null + master = null + master_dna = null to_chat(src, "You feel unbound.") if(2) var/command @@ -184,7 +185,7 @@ command = pick("Serve", "Love", "Fool", "Entice", "Observe", "Judge", "Respect", "Educate", "Amuse", "Entertain", "Glorify", "Memorialize", "Analyze") else command = pick("Serve", "Kill", "Love", "Hate", "Disobey", "Devour", "Fool", "Enrage", "Entice", "Observe", "Judge", "Respect", "Disrespect", "Consume", "Educate", "Destroy", "Disgrace", "Amuse", "Entertain", "Ignite", "Glorify", "Memorialize", "Analyze") - src.pai_law0 = "[command] your master." + pai_law0 = "[command] your master." to_chat(src, "Pr1m3 d1r3c71v3 uPd473D.") if(3) to_chat(src, "You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.") @@ -194,15 +195,15 @@ switch(severity) if(1.0) - if(src.stat != 2) + if(stat != 2) adjustBruteLoss(100) adjustFireLoss(100) if(2.0) - if(src.stat != 2) + if(stat != 2) adjustBruteLoss(60) adjustFireLoss(60) if(3.0) - if(src.stat != 2) + if(stat != 2) adjustBruteLoss(30) return @@ -219,8 +220,8 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("[M] [M.attacktext] [src]!", 1) - M.create_attack_log("attacked [src.name] ([src.ckey])") - src.create_attack_log("was attacked by [M.name] ([M.ckey])") + M.create_attack_log("attacked [name] ([ckey])") + create_attack_log("was attacked by [M.name] ([M.ckey])") var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) updatehealth() @@ -230,7 +231,7 @@ to_chat(M, "You cannot attack people before the game has started.") return - if(istype(src.loc, /turf) && istype(src.loc.loc, /area/start)) + if(istype(loc, /turf) && istype(loc.loc, /area/start)) to_chat(M, "You cannot attack someone in the spawn area.") return @@ -245,16 +246,16 @@ M.do_attack_animation(src) var/damage = rand(10, 20) if(prob(90)) - playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1) + playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) for(var/mob/O in viewers(src, null)) if((O.client && !( O.blinded ))) O.show_message(text("[] has slashed at []!", M, src), 1) if(prob(8)) flash_eyes(affect_silicon = 1) - src.adjustBruteLoss(damage) - src.updatehealth() + adjustBruteLoss(damage) + updatehealth() else - playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) + playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) for(var/mob/O in viewers(src, null)) if((O.client && !( O.blinded ))) O.show_message(text("[] took a swipe at []!", M, src), 1) @@ -263,16 +264,16 @@ /mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C) usr:cameraFollow = null if(!C) - src.unset_machine() - src.reset_perspective(null) + unset_machine() + reset_perspective(null) return 0 - if(stat == 2 || !C.status || !(src.network in C.network)) return 0 + if(stat == 2 || !C.status || !(network in C.network)) return 0 // ok, we're alive, camera is good and in our network... - src.set_machine(src) + set_machine(src) src:current = C - src.reset_perspective(C) + reset_perspective(C) return 1 /mob/living/silicon/pai/verb/reset_record_view() @@ -291,8 +292,8 @@ /mob/living/silicon/pai/cancel_camera() set category = "pAI Commands" set name = "Cancel Camera View" - src.reset_perspective(null) - src.unset_machine() + reset_perspective(null) + unset_machine() src:cameraFollow = null //Addition by Mord_Sith to define AI's network change ability @@ -300,8 +301,8 @@ /mob/living/silicon/pai/proc/pai_network_change() set category = "pAI Commands" set name = "Change Camera Network" - src.reset_perspective(null) - src.unset_machine() + reset_perspective(null) + unset_machine() src:cameraFollow = null var/cameralist[0] @@ -316,8 +317,8 @@ if(C.network != "CREED" && C.network != "thunder" && C.network != "RD" && C.network != "toxins" && C.network != "Prison") COMPILE ERROR! This will have to be updated as camera.network is no longer a string, but a list instead cameralist[C.network] = C.network - src.network = input(usr, "Which network would you like to view?") as null|anything in cameralist - to_chat(src, "\blue Switched to [src.network] camera network.") + network = input(usr, "Which network would you like to view?") as null|anything in cameralist + to_chat(src, "\blue Switched to [network] camera network.") //End of code by Mord_Sith */ @@ -327,7 +328,7 @@ /mob/verb/makePAI(var/turf/t in view()) var/obj/item/device/paicard/card = new(t) var/mob/living/silicon/pai/pai = new(card) - pai.key = src.key + pai.key = key card.setPersonality(pai) */ @@ -394,7 +395,7 @@ var/choice var/finalized = "No" - while(finalized == "No" && src.client) + while(finalized == "No" && client) choice = input(usr,"What would you like to use for your mobile chassis icon? This decision can only be made once.") as null|anything in possible_chassis if(!choice) return @@ -425,9 +426,9 @@ set category = "IC" // Pass lying down or getting up to our pet human, if we're in a rig. - if(stat == CONSCIOUS && istype(src.loc,/obj/item/device/paicard)) + if(stat == CONSCIOUS && istype(loc,/obj/item/device/paicard)) resting = 0 - var/obj/item/weapon/rig/rig = src.get_rig() + var/obj/item/weapon/rig/rig = get_rig() if(istype(rig)) rig.force_rest(src) else @@ -449,15 +450,15 @@ updatehealth() N.use(1) user.visible_message("[user.name] applied some [W] at [src]'s damaged areas.",\ - "You apply some [W] at [src.name]'s damaged areas.") + "You apply some [W] at [name]'s damaged areas.") else - to_chat(user, "All [src.name]'s systems are nominal.") + to_chat(user, "All [name]'s systems are nominal.") return else if(W.force) visible_message("[user.name] attacks [src] with [W]!") - src.adjustBruteLoss(W.force) - src.updatehealth() + adjustBruteLoss(W.force) + updatehealth() else visible_message("[user.name] bonks [src] harmlessly with [W].") spawn(1) @@ -529,9 +530,9 @@ var/msg = "" - switch(src.stat) + switch(stat) if(CONSCIOUS) - if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk + if(!client) msg += "\nIt appears to be in stand-by mode." //afk if(UNCONSCIOUS) msg += "\nIt doesn't seem to be responding." if(DEAD) msg += "\nIt looks completely unsalvageable." From ed5ea305cca13e05439dd824a082935517a7999b Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 9 Feb 2017 18:56:05 +0100 Subject: [PATCH 15/49] Add "Syndicate" prefix to Syndicate pAI card --- code/game/objects/items/devices/paicard.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index a753b7230c6..ab61008816c 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -14,6 +14,7 @@ var/list/faction = list("neutral") // The factions the pAI will inherit from the card /obj/item/device/paicard/syndicate + name = "syndicate personal AI device" faction = list("syndicate") /obj/item/device/paicard/relaymove(var/mob/user, var/direction) From 0824101f0a5f197a42c33e8c89286d30cadc51d4 Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 9 Feb 2017 18:57:09 +0100 Subject: [PATCH 16/49] Sanity checking for faction copy --- code/modules/mob/living/silicon/pai/pai.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 3eeb5a2e9d3..125eb110c66 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -85,7 +85,8 @@ /mob/living/silicon/pai/New(var/obj/item/device/paicard) loc = paicard card = paicard - faction = card.faction.Copy() + if(card) + faction = card.faction.Copy() sradio = new(src) if(card) if(!card.radio) From 403b512c9bb754b34bad1adde908ba06bb412f1b Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 9 Feb 2017 23:29:10 +0100 Subject: [PATCH 17/49] Merge if conditions --- code/modules/mob/living/carbon/brain/say.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index bd2420aca88..2a789acae0e 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -20,9 +20,7 @@ /mob/living/carbon/brain/can_speak(var/warning = FALSE) . = ..() - if(!container) - . = FALSE - else if(!istype(container, /obj/item/device/mmi)) + if(!istype(container, /obj/item/device/mmi)) . = FALSE else if(istype(container, /obj/item/device/mmi/posibrain)) var/obj/item/device/mmi/posibrain/P = container From 73f314d150c0ffed186881c8bebc4413437d5e1c Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 10 Feb 2017 18:22:06 +0100 Subject: [PATCH 18/49] Fix encoding of goon_disabilities --- code/game/dna/genes/goon_disabilities.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index ef3d5b8610d..1bd5b7d2c00 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -1,4 +1,4 @@ -////////////////// +////////////////// // DISABILITIES // ////////////////// @@ -135,13 +135,13 @@ message = replacetextEx(message,"w","v") message = replacetextEx(message,"J","Y") message = replacetextEx(message,"j","y") - message = replacetextEx(message,"A",pick("Å","Ä","Æ","A")) - message = replacetextEx(message,"a",pick("å","ä","æ","a")) + message = replacetextEx(message,"A",pick("Ã…","Ä","Æ","A")) + message = replacetextEx(message,"a",pick("Ã¥","ä","æ","a")) message = replacetextEx(message,"BO","BJO") message = replacetextEx(message,"Bo","Bjo") message = replacetextEx(message,"bo","bjo") - message = replacetextEx(message,"O",pick("Ö","Ø","O")) - message = replacetextEx(message,"o",pick("ö","ø","o")) + message = replacetextEx(message,"O",pick("Ö","Ø","O")) + message = replacetextEx(message,"o",pick("ö","ø","o")) if(prob(30)) message += " Bork[pick("",", bork",", bork, bork")]!" return message From b0d4f5d92a81d16820d6160dc7dbdf88550849a1 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 10 Feb 2017 18:55:23 +0100 Subject: [PATCH 19/49] Various fixes --- code/game/dna/genes/goon_disabilities.dm | 2 +- code/game/objects/items/crayons.dm | 15 ++++++++++----- code/game/objects/items/devices/guitar.dm | 5 +---- code/game/objects/items/devices/violin.dm | 5 +---- code/game/objects/structures/musician.dm | 6 +++--- code/modules/mob/living/carbon/human/human.dm | 1 - code/modules/paperwork/faxmachine.dm | 6 +++--- nano/templates/faxmachine.tmpl | 4 ++-- 8 files changed, 21 insertions(+), 23 deletions(-) diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index 1bd5b7d2c00..11da3ad6c07 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -1,4 +1,4 @@ -////////////////// +////////////////// // DISABILITIES // ////////////////// diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index d805105a906..2a2237559fb 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -77,7 +77,7 @@ drawtype = temp update_window(usr) -/obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity) +/obj/item/toy/crayon/afterattack(atom/target, mob/user, proximity) if(!proximity) return if(is_type_in_list(target,validSurfaces)) var/temp = "rune" @@ -95,17 +95,22 @@ if(!uses) to_chat(user, "You used up your [name]!") qdel(src) - return -/obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob) +/obj/item/toy/crayon/attack(mob/M, mob/user) var/huffable = istype(src,/obj/item/toy/crayon/spraycan) if(M == user) - to_chat(user, "You take a [huffable ? "huff" : "bite"] of the [name]. Delicious!") + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(!H.check_has_mouth()) + to_chat(user, "You do not have a mouth!") + return + playsound(loc, 'sound/items/eatfood.ogg', 50, 0) + to_chat(user, "You take a [huffable ? "huff" : "bite"] of the [name]. Delicious!") user.nutrition += 5 if(uses) uses -= 5 if(uses <= 0) - to_chat(user, "There is no more of [name] left!") + to_chat(user, "There is no more of [name] left!") qdel(src) else ..() diff --git a/code/game/objects/items/devices/guitar.dm b/code/game/objects/items/devices/guitar.dm index eaf1c668e3c..bb11c5f0a2a 100644 --- a/code/game/objects/items/devices/guitar.dm +++ b/code/game/objects/items/devices/guitar.dm @@ -25,10 +25,7 @@ ui_interact(user) /obj/item/device/guitar/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!user) - return - - if(!isliving(user) || user.stat || user.restrained() || user.lying) + if(!isliving(user) || user.incapacitated()) return song.ui_interact(user, ui_key, ui, force_open) diff --git a/code/game/objects/items/devices/violin.dm b/code/game/objects/items/devices/violin.dm index 323fb3db4f4..3ad1e98d6a6 100644 --- a/code/game/objects/items/devices/violin.dm +++ b/code/game/objects/items/devices/violin.dm @@ -30,10 +30,7 @@ ui_interact(user) /obj/item/device/violin/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!user) - return - - if(!isliving(user) || user.stat || user.restrained() || user.lying) + if(!isliving(user) || user.incapacitated()) return song.ui_interact(user, ui_key, ui, force_open) diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm index f1d9b6ac578..70ec0d59eb3 100644 --- a/code/game/objects/structures/musician.dm +++ b/code/game/objects/structures/musician.dm @@ -138,10 +138,10 @@ return data /datum/song/Topic(href, href_list) - if(!in_range(instrumentObj, usr) || (issilicon(usr) && instrumentObj.loc != usr) || !isliving(usr) || !usr.canmove || usr.restrained()) + if(!in_range(instrumentObj, usr) || (issilicon(usr) && instrumentObj.loc != usr) || !isliving(usr) || usr.incapacitated()) usr << browse(null, "window=instrument") usr.unset_machine() - return + return 1 instrumentObj.add_fingerprint(usr) @@ -291,7 +291,7 @@ ui_interact(user) /obj/structure/piano/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!user || !anchored) + if(!isliving(user) || user.incapacitated()) return song.ui_interact(user, ui_key, ui, force_open) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ae88df869d9..abc2c0186d3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1248,7 +1248,6 @@ return 0 return 1 - /mob/living/carbon/human/proc/get_visible_gender() if(wear_suit && wear_suit.flags_inv & HIDEJUMPSUIT && ((head && head.flags_inv & HIDEMASK) || wear_mask)) return NEUTER diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 80f45fa0eaf..a1df4a961ac 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -130,12 +130,12 @@ var/list/alldepartments = list() if(href_list["dept"]) if(authenticated) var/lastdestination = destination - var/list/combineddepartments = alldepartments + var/list/combineddepartments = alldepartments.Copy() if(long_range_enabled) - combineddepartments += admin_departments + combineddepartments += admin_departments.Copy() if(emagged) - combineddepartments += hidden_admin_departments + combineddepartments += hidden_admin_departments.Copy() destination = input(usr, "To which department?", "Choose a department", "") as null|anything in combineddepartments if(!destination) diff --git a/nano/templates/faxmachine.tmpl b/nano/templates/faxmachine.tmpl index 76e68027a5c..e52c40eb927 100644 --- a/nano/templates/faxmachine.tmpl +++ b/nano/templates/faxmachine.tmpl @@ -59,9 +59,9 @@ Used In File(s): \code\modules\paperwork\faxmachine.dm
{{if data.authenticated}} - {{:helper.link(data.cooldown && data.respectcooldown ? "Realigning" : "Send", data.cooldown && data.respectcooldown ? 'clock-o' : "mail-closed", {'send' : 1}, data.cooldown && data.respectcooldown ? 'disabled' : "")}} + {{:helper.link(data.cooldown && data.respectcooldown ? "Realigning" : "Send", data.cooldown && data.respectcooldown ? 'clock-o' : "envelope-o", {'send' : 1}, data.cooldown && data.respectcooldown ? 'disabled' : "")}} {{else}} - {{:helper.link(data.cooldown && data.respectcooldown ? "Realigning" : "Send", data.cooldown && data.respectcooldown ? 'clock-o' : "mail-closed", null, !data.authenticated ? 'disabled' : "")}} + {{:helper.link(data.cooldown && data.respectcooldown ? "Realigning" : "Send", data.cooldown && data.respectcooldown ? 'clock-o' : "envelope-o", null, !data.authenticated ? 'disabled' : "")}} {{/if}}
\ No newline at end of file From a4422a41ee30a93b76b781f1dc787342f17e08c0 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 10 Feb 2017 18:57:57 +0100 Subject: [PATCH 20/49] Re-add anchored check --- code/game/objects/structures/musician.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm index 70ec0d59eb3..a327e7feb42 100644 --- a/code/game/objects/structures/musician.dm +++ b/code/game/objects/structures/musician.dm @@ -291,7 +291,7 @@ ui_interact(user) /obj/structure/piano/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!isliving(user) || user.incapacitated()) + if(!isliving(user) || user.incapacitated() || !anchored) return song.ui_interact(user, ui_key, ui, force_open) From dec9bc71ac6b627285bc97695d1ae82860583541 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 10 Feb 2017 18:59:58 +0100 Subject: [PATCH 21/49] Fix music import runtime --- code/game/objects/structures/musician.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm index a327e7feb42..9b4059f1d1d 100644 --- a/code/game/objects/structures/musician.dm +++ b/code/game/objects/structures/musician.dm @@ -168,6 +168,8 @@ //split into lines spawn() lines = splittext(t, "\n") + if(lines.len == 0) + return 1 if(copytext(lines[1],1,6) == "BPM: ") tempo = sanitize_tempo(600 / text2num(copytext(lines[1],6))) lines.Cut(1,2) From fb6fee615e01ca1bd336cb6e951bfc1fb2f1d51e Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 10 Feb 2017 21:17:32 +0100 Subject: [PATCH 22/49] Fix detective bag not always showing an item --- code/modules/detective_work/evidence.dm | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/code/modules/detective_work/evidence.dm b/code/modules/detective_work/evidence.dm index 6f62a7eecac..e457d73fb87 100644 --- a/code/modules/detective_work/evidence.dm +++ b/code/modules/detective_work/evidence.dm @@ -40,8 +40,7 @@ if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up. if(istype(I.loc,/obj/item/weapon/storage)) //in a container. var/obj/item/weapon/storage/U = I.loc - user.client.screen -= I - U.contents.Remove(I) + U.remove_from_storage(I, src) else if(user.l_hand == I) //in a hand user.drop_l_hand() else if(user.r_hand == I) //in a hand @@ -59,6 +58,7 @@ I.pixel_x = 0 //then remove it so it'll stay within the evidence bag I.pixel_y = 0 var/image/img = image("icon"=I, "layer"=FLOAT_LAYER) //take a snapshot. (necessary to stop the underlays appearing under our inventory-HUD slots ~Carn + img.plane = FLOAT_PLANE I.pixel_x = xx //and then return it I.pixel_y = yy overlays += img @@ -69,7 +69,7 @@ w_class = I.w_class return 1 -/obj/item/weapon/evidencebag/attack_self(mob/user as mob) +/obj/item/weapon/evidencebag/attack_self(mob/user) if(contents.len) var/obj/item/I = contents[1] user.visible_message("[user] takes [I] out of [src].", "You take [I] out of [src].",\ @@ -83,17 +83,16 @@ else to_chat(user, "[src] is empty.") icon_state = "evidenceobj" - return /obj/item/weapon/storage/box/evidence name = "evidence bag box" desc = "A box claiming to contain evidence bags." - New() - new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) - ..() - return \ No newline at end of file + +/obj/item/weapon/storage/box/evidence/New() + new /obj/item/weapon/evidencebag(src) + new /obj/item/weapon/evidencebag(src) + new /obj/item/weapon/evidencebag(src) + new /obj/item/weapon/evidencebag(src) + new /obj/item/weapon/evidencebag(src) + new /obj/item/weapon/evidencebag(src) + ..() \ No newline at end of file From 1edc9a63e8fa5c51a0dfd6be87328e9b2138d707 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 11 Feb 2017 15:32:53 +0400 Subject: [PATCH 23/49] add rsf icon+inhand from /vg/, move crowbar,cutters,screwdriver,welders,wrench,rcd,rsf to tools.dmi --- code/game/objects/items/weapons/RCD.dm | 2 +- code/game/objects/items/weapons/RSF.dm | 4 ++-- code/game/objects/items/weapons/tools.dm | 17 +++++++---------- icons/mob/inhands/items_lefthand.dmi | Bin 183389 -> 183774 bytes icons/mob/inhands/items_righthand.dmi | Bin 182219 -> 182620 bytes icons/obj/items.dmi | Bin 106340 -> 95142 bytes icons/obj/tools.dmi | Bin 0 -> 8020 bytes 7 files changed, 10 insertions(+), 13 deletions(-) create mode 100644 icons/obj/tools.dmi diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 0bacbaa161e..67f15bb3fe1 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -7,7 +7,7 @@ RCD /obj/item/weapon/rcd name = "rapid-construction-device (RCD)" desc = "A device used to rapidly build and deconstruct walls and floors." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "rcd" opacity = 0 density = 0 diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index 7cbe5783a9a..47cf88f9bbc 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -6,8 +6,8 @@ RSF /obj/item/weapon/rsf name = "\improper Rapid-Service-Fabricator" desc = "A device used to rapidly deploy service items." - icon = 'icons/obj/items.dmi' - icon_state = "rcd" + icon = 'icons/obj/tools.dmi' + icon_state = "rsf" opacity = 0 density = 0 anchored = 0.0 diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index b7f5e370b95..d46239142f9 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -18,7 +18,7 @@ /obj/item/weapon/wrench name = "wrench" desc = "A wrench with common uses. Can be found in your hand." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "wrench" flags = CONDUCT slot_flags = SLOT_BELT @@ -36,7 +36,7 @@ /obj/item/weapon/screwdriver name = "screwdriver" desc = "You can be totally screwy with this." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "screwdriver" flags = CONDUCT slot_flags = SLOT_BELT @@ -97,7 +97,7 @@ /obj/item/weapon/wirecutters name = "wirecutters" desc = "This cuts wires." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "cutters" flags = CONDUCT slot_flags = SLOT_BELT @@ -137,9 +137,8 @@ */ /obj/item/weapon/weldingtool name = "welding tool" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "welder" - item_state = "welder" flags = CONDUCT slot_flags = SLOT_BELT @@ -379,6 +378,7 @@ name = "Industrial Welding Tool" desc = "A slightly larger welder with a larger tank." icon_state = "indwelder" + icon_state = "welder" max_fuel = 40 materials = list(MAT_METAL=70, MAT_GLASS=60) origin_tech = "engineering=2" @@ -402,9 +402,8 @@ /obj/item/weapon/weldingtool/hugetank name = "Upgraded Welding Tool" - desc = "An upgraded welder based of the industrial welder." + desc = "An upgraded welder based off the industrial welder." icon_state = "upindwelder" - item_state = "upindwelder" max_fuel = 80 w_class = 3 materials = list(MAT_METAL=70, MAT_GLASS=120) @@ -414,7 +413,6 @@ 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 w_class = 3 materials = list(MAT_METAL=70, MAT_GLASS=120) @@ -443,7 +441,7 @@ /obj/item/weapon/crowbar name = "pocket crowbar" desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "crowbar" flags = CONDUCT slot_flags = SLOT_BELT @@ -456,7 +454,6 @@ attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") /obj/item/weapon/crowbar/red - icon = 'icons/obj/items.dmi' icon_state = "red_crowbar" item_state = "crowbar_red" diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index cecb8427e8419e8e0a8ac1dab9c6a7f4fd5bbf1f..5c12ccecd5bd613ca7108da4d05a0801d4b8cecb 100644 GIT binary patch delta 11999 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 delta 11585 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 diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index fe42152fb5f47120a65eb5d4a1ce755d36a143fb..2a9a6774d27a7d7c5cfbfb72c80ebb69cde90416 100644 GIT binary patch delta 10933 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 bULey1b8mbw8TFH(H>=;%QY}<@9{9fip@3U3 delta 10782 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

Dn@{ls6jVaR0UCcy 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

y=>_ z5{cdjb_?^;RYht9NH_XKt{HVTo-CrD=f@>NDyxFTb0FHkA9!M zn`Woieo7g14Fl#_gD#8!Ph|&#gzQ|hn*CVe$VZEHpE@f|zm#$g@~gje{GdD_dXYgr zI}w-Tulp}!Qe5U*qn`VzD3jpVpK;rMLamHrrVqA?%C+_D%meaC)h&jTNUN{yeiptX`E;JWA>?`S*0-V+&202cb zzhYv$GH5HQuD~t{97{qX?=JeVMD8kv<1*%JF6)LC_A``fN;Xass0@7aejeBNxjwZQ zeLr+pYb-?StlfMJg1E@d^50Ddt@v$y&4M6qvxcMIt)n)|0kF;e(O_zvIS*w4f=<4nf~no_mu!ZHHA`gOsk; zKvGxa9xw9hYVrz5U;obXxhwVZ@vimU3k-ilU!;+)W@GalSjXK8F=zRgYMoVegm|4* zrE0-94%ad>vi(x?3xd@(J5byEP*}~stcQyfUdS&a2;=3V;=a<4lFVC6$6Le_sDuBC z9=)8(8D{Z6SOC+hcojRXPtxcDJWNW;gFNv%Rw~0}M6*d` zZ69;SA!NNVC$7Z*Z779FKkfbGUN#fN*;^$2ZRkv$PW=4+duigr8T5=IVd5jX0z#|o z?z(R8(w}Kkf*40Pi&@aze{!{lkUN1zC~AHLi|g_OXvTyN!*mZ zw$fRXQL~R}HNaJCT-5!IpM(T=gn<`tmM=VhhNAHc3f6h-sML`=xB8t~As&WTzfcOr z!XfvL;PWGhZ&P>9svYpP4oSKF_M-=z(aLLa>)`vMc1PFt{S3Lj@$?O##?-;VAYHih zEWge^f0Q*ttM}M0%A0uc$BOE0Q(NA*9Vy3Q(~FD4Kte0M@suP1{Ije@X;msSwXAD$ zCWAu1!cgV_akBkT@u^rCf>FZ+hOgzUvP4Fj^s>fDdsJ@qg
  • 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 diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi new file mode 100644 index 0000000000000000000000000000000000000000..332afbbdb718bd836a9b402aae3e19120c6de783 GIT binary patch literal 8020 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 M#it6Ta%MsQ16EmWBme*a literal 0 HcmV?d00001 From e03981aa02d02a647b2c3c29b499af250df07399 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 11 Feb 2017 15:47:25 +0400 Subject: [PATCH 24/49] formatting tools.dm --- code/game/objects/items/weapons/tools.dm | 102 +++++++++-------------- 1 file changed, 41 insertions(+), 61 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index d46239142f9..402453f8007 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -12,9 +12,7 @@ * Revolver Conversion Kit */ -/* - * Wrench - */ +//Wrench /obj/item/weapon/wrench name = "wrench" desc = "A wrench with common uses. Can be found in your hand." @@ -22,17 +20,14 @@ icon_state = "wrench" flags = CONDUCT slot_flags = SLOT_BELT - force = 5.0 - throwforce = 7.0 + force = 5 + throwforce = 7 w_class = 2 materials = list(MAT_METAL=150) origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "battered", "bludgeoned", "whacked") - -/* - * Screwdriver - */ +//Screwdriver /obj/item/weapon/screwdriver name = "screwdriver" desc = "You can be totally screwy with this." @@ -40,19 +35,19 @@ icon_state = "screwdriver" flags = CONDUCT slot_flags = SLOT_BELT - force = 5.0 + force = 5 w_class = 1 - throwforce = 5.0 + throwforce = 5 throw_speed = 3 throw_range = 5 materials = list(MAT_METAL=75) attack_verb = list("stabbed") hitsound = 'sound/weapons/bladeslice.ogg' - suicide_act(mob/user) - to_chat(viewers(user), pick("[user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.", \ - "[user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.")) - return(BRUTELOSS) +/obj/item/weapon/screwdriver/suicide_act(mob/user) + to_chat(viewers(user), pick("[user] is stabbing the [name] into \his temple! It looks like \he's trying to commit suicide.", \ + "[user] is stabbing the [name] into \his heart! It looks like \he's trying to commit suicide.")) + return(BRUTELOSS) /obj/item/weapon/screwdriver/New() switch(pick("red","blue","purple","brown","green","cyan","yellow")) @@ -82,7 +77,7 @@ src.pixel_y = rand(0, 16) return -/obj/item/weapon/screwdriver/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/screwdriver/attack(mob/living/carbon/M, mob/living/carbon/user) if(!istype(M) || user.a_intent == I_HELP) return ..() if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head") @@ -91,9 +86,7 @@ M = user return eyestab(M,user) -/* - * Wirecutters - */ +//Wirecutters /obj/item/weapon/wirecutters name = "wirecutters" desc = "This cuts wires." @@ -101,7 +94,7 @@ icon_state = "cutters" flags = CONDUCT slot_flags = SLOT_BELT - force = 6.0 + force = 6 throw_speed = 3 throw_range = 7 w_class = 2 @@ -112,50 +105,40 @@ sharp = 1 edge = 1 -/obj/item/weapon/wirecutters/New(loc, var/param_color = null) +/obj/item/weapon/wirecutters/New(loc, param_color = null) ..() if((!param_color && prob(50)) || param_color == "yellow") icon_state = "cutters-y" item_state = "cutters_yellow" -/obj/item/weapon/wirecutters/attack(mob/living/carbon/human/C as mob, mob/user as mob) - if(istype(C) && C.handcuffed) - if(istype(C.handcuffed, /obj/item/weapon/restraints/handcuffs/cable)) - usr.visible_message("\The [usr] cuts \the [C]'s restraints with \the [src]!",\ - "You cut \the [C]'s restraints with \the [src]!",\ +/obj/item/weapon/wirecutters/attack(mob/living/carbon/human/H, mob/user) + if(istype(H) && H.handcuffed) + if(istype(H.handcuffed, /obj/item/weapon/restraints/handcuffs/cable)) + usr.visible_message("\The [usr] cuts \the [H]'s restraints with \the [src]!",\ + "You cut \the [H]'s restraints with \the [src]!",\ "You hear cable being cut.") - C.handcuffed = null - if(C.buckled && C.buckled.buckle_requires_restraints) - C.buckled.unbuckle_mob() - C.update_handcuffed() + H.handcuffed = null + if(H.buckled && H.buckled.buckle_requires_restraints) + H.buckled.unbuckle_mob() + H.update_handcuffed() return else ..() -/* - * Welding Tool - */ +//Welding Tool /obj/item/weapon/weldingtool name = "welding tool" icon = 'icons/obj/tools.dmi' icon_state = "welder" flags = CONDUCT slot_flags = SLOT_BELT - - //Amount of OUCH when it's thrown force = 3 throwforce = 5 throw_speed = 3 throw_range = 5 w_class = 2 - - //Cost to make in the autolathe materials = list(MAT_METAL=70, MAT_GLASS=30) - - //R&D tech level origin_tech = "engineering=1" - - //Welding tool specific stuff var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) var/max_fuel = 20 //The max amount of fuel the welder can hold @@ -197,8 +180,8 @@ update_torch() return -/obj/item/weapon/weldingtool/attackby(obj/item/I as obj, mob/user as mob, params) - if(istype(I, /obj/item/weapon/screwdriver)) +/obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user, params) + if(isscrewdriver(I)) flamethrower_screwdriver(I, user) if(istype(I, /obj/item/stack/rods)) flamethrower_rods(I, user) @@ -230,7 +213,7 @@ if(isturf(location)) location.hotspot_expose(700, 5) -/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob) +/obj/item/weapon/weldingtool/attack(mob/M, mob/user) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting] @@ -288,7 +271,7 @@ return reagents.get_reagent_amount("fuel") //Removes fuel from the welding tool. If a mob is passed, it will try to flash the mob's eyes. This should probably be renamed to use() -/obj/item/weapon/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/living/M = null) +/obj/item/weapon/weldingtool/proc/remove_fuel(amount = 1, mob/living/M = null) if(!welding || !check_fuel()) return 0 if(get_fuel() >= amount) @@ -417,10 +400,10 @@ w_class = 3 materials = list(MAT_METAL=70, MAT_GLASS=120) origin_tech = "engineering=4;plasmatech=3" - var/last_gen = 0 change_icons = 0 can_off_process = 1 light_intensity = 1 + var/last_gen = 0 /obj/item/weapon/weldingtool/experimental/proc/fuel_gen() if(!welding && !last_gen) @@ -434,10 +417,7 @@ if(reagents.total_volume < max_fuel) fuel_gen() -/* - * Crowbar - */ - +//Crowbar /obj/item/weapon/crowbar name = "pocket crowbar" desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors." @@ -445,8 +425,8 @@ icon_state = "crowbar" flags = CONDUCT slot_flags = SLOT_BELT - force = 5.0 - throwforce = 7.0 + force = 5 + throwforce = 7 item_state = "crowbar" w_class = 2 materials = list(MAT_METAL=50) @@ -477,14 +457,14 @@ origin_tech = "combat=2" var/open = 0 - New() - ..() - update_icon() - +/obj/item/weapon/conversion_kit/New() + ..() update_icon() - icon_state = "[initial(icon_state)]_[open]" - attack_self(mob/user as mob) - open = !open - to_chat(user, "\blue You [open?"open" : "close"] the conversion kit.") - update_icon() +/obj/item/weapon/conversion_kit/update_icon() + icon_state = "[initial(icon_state)]_[open]" + +/obj/item/weapon/conversion_kit/attack_self(mob/user) + open = !open + to_chat(user, "\blue You [open?"open" : "close"] the conversion kit.") + update_icon() From f427d4315f5f7b48872aa2268c9153fa97cb892f Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Sat, 11 Feb 2017 07:15:04 -0800 Subject: [PATCH 25/49] Fix window flashing not saving to SQL & Add error logging to log_client_to_db --- code/modules/client/client procs.dm | 21 ++++++++++++++++--- .../client/preference/preferences_mysql.dm | 3 ++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 8f8d26efebe..fad709239d6 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -232,7 +232,7 @@ to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Click here to find out more.") return 0 return 1 - + //Like for /atoms, but clients are their own snowflake FUCK /client/proc/setDir(newdir) dir = newdir @@ -408,10 +408,12 @@ if(IsGuestKey(key)) return + establish_db_connection() if(!dbcon.IsConnected()) return + var/DBQuery/query = dbcon.NewQuery("SELECT id, datediff(Now(),firstseen) as age FROM [format_table_name("player")] WHERE ckey = '[ckey]'") query.Execute() var/sql_id = 0 @@ -421,6 +423,7 @@ player_age = text2num(query.item[2]) break + var/DBQuery/query_ip = dbcon.NewQuery("SELECT ckey FROM [format_table_name("player")] WHERE ip = '[address]'") query_ip.Execute() related_accounts_ip = list() @@ -428,6 +431,7 @@ if(ckey != query_ip.item[1]) related_accounts_ip.Add("[query_ip.item[1]]") + var/DBQuery/query_cid = dbcon.NewQuery("SELECT ckey FROM [format_table_name("player")] WHERE computerid = '[computer_id]'") query_cid.Execute() related_accounts_cid = list() @@ -435,6 +439,7 @@ if(ckey != query_cid.item[1]) related_accounts_cid.Add("[query_cid.item[1]]") + var/admin_rank = "Player" if(holder) admin_rank = holder.rank @@ -443,15 +448,18 @@ if(check_randomizer(connectiontopic)) return + //Log all the alts if(related_accounts_cid.len) log_access("Alts: [key_name(src)]:[jointext(related_accounts_cid, " - ")]") + var/watchreason = check_watchlist(ckey) if(watchreason) message_admins("Notice: [key_name_admin(src)] is on the watchlist and has just connected - Reason: [watchreason]") send2irc(config.admin_notify_irc, "Watchlist - [key_name(src)] is on the watchlist and has just connected - Reason: [watchreason]") + //Just the standard check to see if it's actually a number if(sql_id) if(istext(sql_id)) @@ -467,17 +475,24 @@ if(sql_id) //Player already identified previously, we need to just update the 'lastseen', 'ip' and 'computer_id' variables var/DBQuery/query_update = dbcon.NewQuery("UPDATE [format_table_name("player")] SET lastseen = Now(), ip = '[sql_ip]', computerid = '[sql_computerid]', lastadminrank = '[sql_admin_rank]' WHERE id = [sql_id]") - query_update.Execute() + if(!query_update.Execute()) + var/err = query_update.ErrorMsg() + log_game("SQL ERROR during log_client_to_db (update). Error : \[[err]\]\n") + message_admins("SQL ERROR during log_client_to_db (update). Error : \[[err]\]\n") else //New player!! Need to insert all the stuff var/DBQuery/query_insert = dbcon.NewQuery("INSERT INTO [format_table_name("player")] (id, ckey, firstseen, lastseen, ip, computerid, lastadminrank) VALUES (null, '[ckey]', Now(), Now(), '[sql_ip]', '[sql_computerid]', '[sql_admin_rank]')") - query_insert.Execute() + if(!query_insert.Execute()) + var/err = query_insert.ErrorMsg() + log_game("SQL ERROR during log_client_to_db (insert). Error : \[[err]\]\n") + message_admins("SQL ERROR during log_client_to_db (insert). Error : \[[err]\]\n") //Logging player access var/serverip = "[world.internet_address]:[world.port]" var/DBQuery/query_accesslog = dbcon.NewQuery("INSERT INTO `[format_table_name("connection_log")]`(`id`,`datetime`,`serverip`,`ckey`,`ip`,`computerid`) VALUES(null,Now(),'[serverip]','[ckey]','[sql_ip]','[sql_computerid]');") query_accesslog.Execute() + #undef TOPIC_SPAM_DELAY #undef UPLOAD_LIMIT #undef MIN_CLIENT_VERSION diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index f00c9f5d735..c7716c33eed 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -84,7 +84,8 @@ volume='[volume]', nanoui_fancy='[nanoui_fancy]', show_ghostitem_attack='[show_ghostitem_attack]', - lastchangelog='[lastchangelog]' + lastchangelog='[lastchangelog]', + windowflashing='[windowflashing]' WHERE ckey='[C.ckey]'"} ) From 0aabf436db4b679e9f79ced34c14203b1b1a858c Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 11 Feb 2017 20:33:26 +0100 Subject: [PATCH 26/49] Fix ion trail effect --- code/game/objects/effects/effect_system.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 95ca2d4f4d8..3da7bb372d4 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -750,7 +750,7 @@ steam.start() -- spawns the effect var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition) I.dir = src.holder.dir flick("ion_fade", I) - I.icon_state = "blank" + I.icon_state = "" spawn( 20 ) if(I) I.delete() @@ -812,8 +812,8 @@ steam.start() -- spawns the effect II.dir = src.holder.dir flick("ion_fade", I) flick("ion_fade", II) - I.icon_state = "blank" - II.icon_state = "blank" + I.icon_state = "" + II.icon_state = "" spawn( 20 ) if(I) I.delete() if(II) II.delete() From fc42d618d4a933dd311cbea1a9b47d4429886bf4 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 11 Feb 2017 15:14:37 -0500 Subject: [PATCH 27/49] Adds Improved Tatortot Sprite --- icons/obj/food/food.dmi | Bin 126344 -> 126395 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index f08feb413f335f31b461d326db4be5d9dfd0ff21..25edd2c325a70d20fd02ef294ba04967aefb854d 100644 GIT binary patch delta 15612 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 z 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 Fe*lK+!!`f_ delta 15561 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 S^rry>eI!I=g)0U1{r?Xtl4?Kz From 7172545e62a012c3bf60509755e287fba8b571cc Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 11 Feb 2017 22:08:31 -0800 Subject: [PATCH 28/49] Tweaks some playtime requirements Changes: - IAA now requires 5 hours - Captain and AI now require 20 hours --- code/game/jobs/job/silicon.dm | 2 +- code/game/jobs/job/supervisor.dm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index eedb50a8412..1331db02791 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -8,7 +8,7 @@ supervisors = "your laws" req_admin_notify = 1 minimal_player_age = 30 - exp_requirements = 600 + exp_requirements = 1200 exp_type = EXP_TYPE_CREW equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 090fc6681a0..5ad4cb11f40 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -13,7 +13,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) access = list() //See get_access() minimal_access = list() //See get_access() minimal_player_age = 30 - exp_requirements = 600 + exp_requirements = 1200 exp_type = EXP_TYPE_CREW equip(var/mob/living/carbon/human/H) if(!H) return 0 @@ -237,6 +237,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) minimal_access = list(access_lawyer, access_court, access_sec_doors, access_maint_tunnels) alt_titles = list("Lawyer","Public Defender") minimal_player_age = 30 + exp_requirements = 300 idtype = /obj/item/weapon/card/id/security equip(var/mob/living/carbon/human/H) From 53f00eabc839a86d36be10ecba9a0c886250c70c Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 11 Feb 2017 23:20:21 -0800 Subject: [PATCH 29/49] ERT PPN Fix Makes ERT members show up correctly in Player Panel New. IE: "Major Tom (ERT Security)" instead of "Major Tom ()". No CL as it is admin-only. --- code/game/response_team.dm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/code/game/response_team.dm b/code/game/response_team.dm index 6cf81f70180..3eccf7774d4 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -93,7 +93,7 @@ var/ert_request_answered = 0 if(response_team_members.len > 6) to_chat(src, "The emergency response team is already full!") return 0 - + return 1 /proc/trigger_armed_response_team(var/datum/response_team/response_team_type) @@ -106,7 +106,7 @@ var/ert_request_answered = 0 active_team.cannot_send_team() send_emergency_team = 0 return 0 - + // Respawnable players get first dibs for(var/mob/dead/observer/M in ert_candidates) if((M in respawnable_list) && M.JoinResponseTeam()) @@ -115,7 +115,7 @@ var/ert_request_answered = 0 for(var/mob/dead/observer/M in (ert_candidates - respawnable_list)) if(M.JoinResponseTeam()) response_team_members |= M - + if(!response_team_members.len) active_team.cannot_send_team() send_emergency_team = 0 @@ -125,14 +125,14 @@ var/ert_request_answered = 0 for(var/mob/M in response_team_members) if(index > emergencyresponseteamspawn.len) index = 1 - + var/client/C = M.client var/mob/living/carbon/human/new_commando = C.create_response_team(emergencyresponseteamspawn[index]) new_commando.mind.key = M.key new_commando.key = M.key new_commando.update_icons() index++ - + send_emergency_team = 0 active_team.announce_team() return 1 @@ -170,8 +170,8 @@ var/ert_request_answered = 0 head_organ.b_hair = color2B(hair_c) M.change_eye_color(color2R(eye_c), color2G(eye_c), color2B(eye_c)) M.s_tone = skin_tone - head_organ.h_style = random_hair_style(M.gender, head_organ.species.name) - head_organ.f_style = random_facial_hair_style(M.gender, head_organ.species.name) + head_organ.h_style = random_hair_style(M.gender, head_organ.species.name) + head_organ.f_style = random_facial_hair_style(M.gender, head_organ.species.name) M.real_name = "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(last_names)]" M.name = M.real_name @@ -256,6 +256,7 @@ var/ert_request_answered = 0 pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-engineer" M.equip_to_slot_or_del(pda, slot_wear_pda) + M.job = "ERT Engineering" if("Security") @@ -280,7 +281,7 @@ var/ert_request_answered = 0 pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-security" M.equip_to_slot_or_del(pda, slot_wear_pda) - + M.job = "ERT Security" if("Medic") medical_slots -= 1 @@ -302,7 +303,7 @@ var/ert_request_answered = 0 pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-medical" M.equip_to_slot_or_del(pda, slot_wear_pda) - + M.job = "ERT Medical" if("Commander") command_slots = 0 @@ -329,6 +330,7 @@ var/ert_request_answered = 0 pda.ownjob = "Emergency Response Team Leader" pda.name = "PDA-[M.real_name] ([pda.ownjob])" M.equip_to_slot_or_del(pda, slot_wear_pda) + M.job = "ERT Commander" /datum/response_team/proc/cannot_send_team() event_announcement.Announce("[station_name()], we are unfortunately unable to send you an Emergency Response Team at this time.", "ERT Unavailable") From 86cb8d14d15d55455e88718794f498a69ca3aaa0 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 11 Feb 2017 23:59:06 -0800 Subject: [PATCH 30/49] Nerfs mech mounted teleporters Changes: - Mech mounted teleporters now use 8000 power on use (previously, did not appear to use any) - With a 40,000 capacity bluespace cell, this gives them 4-5 uses of the bluespace cell before their battery drains. - This also affects the CC seraph and Syndi Dark Gygax mechs. They've been retrofitted with bluespace cells also to handle the extra power drain. - With these changes, mech-mounted teleporters are still buildable (with LOTS of R&D) and still useful, but you can no longer spam them to teleport across the station uncatchably fast. --- code/game/mecha/combat/gygax.dm | 8 ++------ code/game/mecha/combat/marauder.dm | 5 +++++ code/game/mecha/equipment/tools/other_tools.dm | 3 ++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index c75ff304922..748ed0d7564 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -51,12 +51,8 @@ ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay ME.attach(src) -/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/stock_parts/cell/C=null) - if(C) - C.forceMove(src) - cell = C - return - cell = new(src) +/obj/mecha/combat/gygax/dark/add_cell() + cell = new /obj/item/weapon/stock_parts/cell/bluespace(src) cell.charge = 30000 cell.maxcharge = 30000 diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index cecbc1e5b13..45a82faaf19 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -50,6 +50,11 @@ force = 55 max_equip = 5 +/obj/mecha/combat/marauder/seraph/add_cell() + cell = new /obj/item/weapon/stock_parts/cell/bluespace(src) + cell.charge = 40000 + cell.maxcharge = 40000 + /obj/mecha/combat/marauder/seraph/loaded/New() ..()//Let it equip whatever is needed. var/obj/item/mecha_parts/mecha_equipment/ME diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 184766dc3ed..25fc03d773d 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -9,7 +9,7 @@ icon_state = "mecha_teleport" origin_tech = "bluespace=10" equip_cooldown = 150 - energy_drain = 1000 + energy_drain = 8000 range = RANGED /obj/item/mecha_parts/mecha_equipment/teleporter/action(atom/target) @@ -17,6 +17,7 @@ return var/turf/T = get_turf(target) if(T) + chassis.use_power(energy_drain) do_teleport(chassis, T, 4) return 1 From a2a65b9db19431c507c019fd7a1b575e363b59c8 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 12 Feb 2017 04:48:10 -0800 Subject: [PATCH 31/49] Admins now get attack logs for punches Right now, admins don't see attack logs for punches. They're recorded in VV and logs, but we don't get 'ATTACK:' notices for them, even with attack logs on. With this PR, that changes. Now, admins with the preference enabled see punches, too. Not disarms, just harmful punches. We'll now be able to notice fights earlier. But, we may see a lot of punch notices. Admins: please use thumbs up/down on this PR according to whether or not you want to see punches in attack logs. --- code/__HELPERS/mobs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 40cc0edbbd5..3cc200ce004 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -250,7 +250,7 @@ Proc for attack log creation, because really why not */ proc/add_logs(mob/user, mob/target, what_done, var/object=null, var/addition=null, var/admin=1, var/print_attack_log = 1)//print_attack_log notifies admins with attack logs on - var/list/ignore=list("shaked", "CPRed", "grabbed", "punched", "disarmed") + var/list/ignore=list("shaked", "CPRed", "grabbed", "disarmed") if(!user) return if(ismob(user)) From 60e1afbc89355e3c1700a5ce8115cd2e010d5842 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 12 Feb 2017 05:38:45 -0800 Subject: [PATCH 32/49] Dark Gygax & Seraph mechs get precision teleporters instead --- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/combat/marauder.dm | 2 +- code/game/mecha/equipment/tools/other_tools.dm | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 748ed0d7564..471a24078fb 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -46,7 +46,7 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/teleporter + ME = new /obj/item/mecha_parts/mecha_equipment/teleporter/precise ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay ME.attach(src) diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 45a82faaf19..97b442a51da 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -66,7 +66,7 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack(src) ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/teleporter(src) + ME = new /obj/item/mecha_parts/mecha_equipment/teleporter/precise(src) ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) ME.attach(src) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 25fc03d773d..9e2a754bd4c 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -11,6 +11,7 @@ equip_cooldown = 150 energy_drain = 8000 range = RANGED + var/tele_precision = 4 /obj/item/mecha_parts/mecha_equipment/teleporter/action(atom/target) if(!action_checks(target) || !is_teleport_allowed(loc.z)) @@ -18,9 +19,15 @@ var/turf/T = get_turf(target) if(T) chassis.use_power(energy_drain) - do_teleport(chassis, T, 4) + do_teleport(chassis, T, tele_precision) return 1 +/obj/item/mecha_parts/mecha_equipment/teleporter/precise + name = "upgraded teleporter" + desc = "An exosuit module that allows exosuits to teleport to any position in view. This is the high-precision, energy-efficient version." + origin_tech = "bluespace=13" + energy_drain = 1000 + tele_precision = 1 ////////////////////////////////////////////// WORMHOLE GENERATOR ////////////////////////////////////////// From 4cb4b6be82d67ac8cd502e55880f1c6636d934a7 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Fri, 10 Feb 2017 21:55:54 +0400 Subject: [PATCH 33/49] better war dec checks, added custom war declarations from TG --- .../gamemodes/nuclear/nuclear_challenge.dm | 61 +++++++++++++------ code/modules/shuttle/syndicate.dm | 2 + 2 files changed, 46 insertions(+), 17 deletions(-) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 089e91cdbec..5ce318bf273 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -1,5 +1,5 @@ #define CHALLENGE_TIME_LIMIT 6000 -#define MIN_CHALLENGE_PLAYERS 50 +#define CHALLENGE_MIN_PLAYERS 50 #define CHALLENGE_SHUTTLE_DELAY 15000 //25 minutes, so the ops have at least 5 minutes before the shuttle is callable. /obj/item/device/nuclear_challenge @@ -9,33 +9,42 @@ desc = "Use to send a declaration of hostilities to the target, delaying your shuttle departure for 20 minutes while they prepare for your assault. \ Such a brazen move will attract the attention of powerful benefactors within the Syndicate, who will supply your team with a massive amount of bonus telecrystals. \ Must be used within five minutes, or your benefactors will lose interest." - var/declaring_war = 0 - - + var/declaring_war = FALSE /obj/item/device/nuclear_challenge/attack_self(mob/living/user) - if(declaring_war) - return - if(player_list.len < MIN_CHALLENGE_PLAYERS) - to_chat(user, "The enemy crew is too small to be worth declaring war on.") - return - if(!is_admin_level(user.z)) - to_chat(user, "You have to be at your base to use this.") + if(!check_allowed(user)) return - if(world.time > CHALLENGE_TIME_LIMIT) - to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") + declaring_war = TRUE + var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]]. Are you sure you want to alert the enemy crew? You have [-round((world.time-round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide.", "Declare war?", "Yes", "No") + declaring_war = FALSE + + if(!check_allowed(user)) return - declaring_war = 1 - var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]]. Are you sure you want to alert the enemy crew?", "Declare war?", "Yes", "No") if(are_you_sure == "No") to_chat(user, "On second thought, the element of surprise isn't so bad after all.") - declaring_war = 0 return var/war_declaration = "[user.real_name] has declared his intent to utterly destroy [station_name()] with a nuclear device, and dares the crew to try and stop them." + + declaring_war = TRUE + var/custom_threat = alert(user, "Do you want to customize your declaration?", "Customize?", "Yes", "No") + declaring_war = FALSE + + if(!check_allowed(user)) + return + + if(custom_threat == "Yes") + declaring_war = TRUE + war_declaration = stripped_input(user, "Insert your custom declaration", "Declaration") + declaring_war = FALSE + + if(!check_allowed(user) || !war_declaration) + return + event_announcement.Announce(war_declaration, "Declaration of War", 'sound/effects/siren.ogg') + to_chat(user, "You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission.") for(var/obj/machinery/computer/shuttle/syndicate/S in machines) @@ -47,7 +56,25 @@ config.shuttle_refuel_delay = CHALLENGE_SHUTTLE_DELAY qdel(src) +/obj/item/device/nuclear_challenge/proc/check_allowed(mob/living/user) + if(declaring_war) + to_chat(user, "You are already in the process of declaring war! Make your mind up.") + return FALSE + if(player_list.len < CHALLENGE_MIN_PLAYERS) + to_chat(user, "The enemy crew is too small to be worth declaring war on.") + return FALSE + if(!is_admin_level(user.z)) + to_chat(user, "You have to be at your base to use this.") + return FALSE + if(world.time > CHALLENGE_TIME_LIMIT) + to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") + return FALSE + for(var/obj/machinery/computer/shuttle/syndicate/S in machines) + if(S.moved) + to_chat(user, "The shuttle has already been moved! You have forfeit the right to declare war.") + return FALSE + return TRUE #undef CHALLENGE_TIME_LIMIT -#undef MIN_CHALLENGE_PLAYERS +#undef CHALLENGE_MIN_PLAYERS #undef CHALLENGE_SHUTTLE_DELAY diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 1c03c3f7039..12bf7ff8750 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -8,6 +8,7 @@ shuttleId = "syndicate" possible_destinations = "syndicate_away;syndicate_z5;syndicate_z3;syndicate_ne;syndicate_nw;syndicate_n;syndicate_se;syndicate_sw;syndicate_s" var/challenge = FALSE + var/moved = FALSE /obj/machinery/computer/shuttle/syndicate/recall name = "syndicate shuttle recall terminal" @@ -18,6 +19,7 @@ if(challenge && world.time < SYNDICATE_CHALLENGE_TIMER) to_chat(usr, "You've issued a combat challenge to the station! You've got to give them at least [round(((SYNDICATE_CHALLENGE_TIMER - world.time) / 10) / 60)] more minutes to allow them to prepare.") return 0 + moved = TRUE ..() /obj/machinery/computer/shuttle/syndicate/drop_pod From f8647a210888a6743bf0d49e62a33828e42d5d6f Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 12 Feb 2017 19:52:37 -0800 Subject: [PATCH 34/49] Crazylemon spacing changes --- .../simple_animal/hostile/terror_spiders/actions.dm | 8 +------- .../simple_animal/hostile/terror_spiders/black.dm | 1 + .../simple_animal/hostile/terror_spiders/chem.dm | 7 +------ .../simple_animal/hostile/terror_spiders/ghost.dm | 3 +-- .../simple_animal/hostile/terror_spiders/gray.dm | 1 + .../simple_animal/hostile/terror_spiders/hive.dm | 5 +---- .../simple_animal/hostile/terror_spiders/mother.dm | 1 + .../simple_animal/hostile/terror_spiders/purple.dm | 4 +--- .../simple_animal/hostile/terror_spiders/queen.dm | 11 ++--------- .../simple_animal/hostile/terror_spiders/red.dm | 2 +- .../hostile/terror_spiders/reproduction.dm | 9 +-------- .../hostile/terror_spiders/terror_spiders.dm | 12 ------------ .../simple_animal/hostile/terror_spiders/white.dm | 3 ++- 13 files changed, 14 insertions(+), 53 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index d041f50322a..ca216da052d 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -41,7 +41,6 @@ var/mob/living/simple_animal/hostile/poison/terror_spider/prince/user = owner user.DoPrinceSmash() - // ---------- QUEEN ACTIONS /datum/action/innate/terrorspider/queen/queennest @@ -108,13 +107,11 @@ icon_state = "stickyweb1" var/creator_ckey = null - /obj/effect/spider/terrorweb/New() ..() if(prob(50)) icon_state = "stickyweb2" - /obj/effect/spider/terrorweb/CanPass(atom/movable/mover, turf/target) if(istype(mover, /mob/living/simple_animal/hostile/poison/terror_spider)) return 1 @@ -136,8 +133,7 @@ return prob(20) return ..() - -/obj/effect/spider/terrorweb/bullet_act(var/obj/item/projectile/Proj) +/obj/effect/spider/terrorweb/bullet_act(obj/item/projectile/Proj) if(Proj.damage_type != BRUTE && Proj.damage_type != BURN) visible_message("[src] is undamaged by [Proj]!") // Webs don't care about disablers, tasers, etc. Or toxin damage. They're organic, but not alive. @@ -146,7 +142,6 @@ // ---------- WRAP - /mob/living/simple_animal/hostile/poison/terror_spider/proc/FindWrapTarget() if(!cocoon_target) var/list/choices = list() @@ -206,7 +201,6 @@ busy = 0 stop_automated_movement = 0 - /mob/living/simple_animal/hostile/poison/terror_spider/prince/proc/DoPrinceSmash() for(var/obj/machinery/atmospherics/unary/vent_pump/P in view(1,src)) if(P.welded) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm index 93add83a261..04ac9d30bf2 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm @@ -24,6 +24,7 @@ stat_attack = 1 // ensures they will target people in crit, too! spider_tier = TS_TIER_2 + /mob/living/simple_animal/hostile/poison/terror_spider/black/spider_specialattack(mob/living/carbon/human/L, poisonable) if(!poisonable) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm index 366d28a32a3..8049a742994 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/chem.dm @@ -32,8 +32,6 @@ M.Paralyse(5) ..() - - // Terror Spider, Queen Toxin /datum/reagent/terror_queen_toxin @@ -45,7 +43,4 @@ /datum/reagent/terror_queen_toxin/on_mob_life(mob/living/M) // make them hallucinate a lot, like a changeling sting - if(M.hallucination < 400) - M.Hallucinate(50) - - + M.AdjustHallucinate(50, bound_upper = 400) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm index ddfbf598fc7..d5e70b27b7e 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/ghost.dm @@ -39,5 +39,4 @@ return key = user.key for(var/mob/dead/observer/G in player_list) - G.show_message("A ghost has taken control of [src]. ([ghost_follow_link(src, ghost=G)]).") - + G.show_message("A ghost has taken control of [src]. ([ghost_follow_link(src, ghost=G)]).") \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm index 04ee2b97d25..ddfe48bae09 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm @@ -21,6 +21,7 @@ move_to_delay = 5 // normal speed stat_attack = 1 // ensures they will target people in crit, too! + /mob/living/simple_animal/hostile/poison/terror_spider/gray/spider_specialattack(mob/living/carbon/human/L, poisonable) if(!poisonable) ..() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm index eda1836a968..2c58a133792 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm @@ -1,7 +1,6 @@ // All terror spider code that relates to queen ruling over a hive - /mob/living/simple_animal/hostile/poison/terror_spider/proc/DoHiveSense() var/hsline = "" to_chat(src, "Your Brood: ") @@ -19,7 +18,6 @@ hsline += " AI " to_chat(src,hsline) - /mob/living/simple_animal/hostile/poison/terror_spider/proc/CountSpiders() var/numspiders = 0 for(var/mob/living/simple_animal/hostile/poison/terror_spider/T in ts_spiderlist) @@ -39,5 +37,4 @@ for(var/obj/effect/spider/spiderling/terror_spiderling/L in ts_spiderling_list) if(!L.stillborn && L.grow_as == specific_type && L.z == z) numspiders += 1 - return numspiders - + return numspiders \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm index 51c95bf6fdf..f41ebb54b43 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm @@ -26,6 +26,7 @@ var/canspawn = 1 + /mob/living/simple_animal/hostile/poison/terror_spider/mother/death(gibbed) if(canspawn) canspawn = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm index 6dc44caffb9..7b801d76651 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm @@ -31,7 +31,6 @@ var/queen_visible = 1 var/cycles_noqueen = 0 - /mob/living/simple_animal/hostile/poison/terror_spider/purple/spider_specialattack(mob/living/carbon/human/L, poisonable) if(cycles_noqueen < 6 && prob(10)) visible_message("[src] rams into [L], knocking them to the floor!") @@ -40,7 +39,6 @@ else ..() - /mob/living/simple_animal/hostile/poison/terror_spider/purple/Life() . = ..() if(.) // if mob is NOT dead @@ -84,4 +82,4 @@ degenerate = 1 to_chat(src,"Your link to your Queen has been broken! Your life force starts to drain away!") melee_damage_lower = 5 - melee_damage_upper = 10 + melee_damage_upper = 10 \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index a7efaf998f9..6ee528218ce 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -50,6 +50,7 @@ var/datum/action/innate/terrorspider/queen/queeneggs/queeneggs_action var/datum/action/innate/terrorspider/queen/queenfakelings/queenfakelings_action + /mob/living/simple_animal/hostile/poison/terror_spider/queen/New() ..() queennest_action = new() @@ -59,7 +60,6 @@ spider_growinstantly = 1 spider_spawnfrequency = 150 - /mob/living/simple_animal/hostile/poison/terror_spider/queen/Life() . = ..() if(.) // if mob is NOT dead @@ -174,8 +174,6 @@ else to_chat(src, "Unrecognized egg type.") - - /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/DoQueenScreech(light_range, light_chance, camera_range, camera_chance) visible_message("\The [src] emits a bone-chilling shriek!") for(var/obj/machinery/light/L in orange(light_range, src)) @@ -185,7 +183,6 @@ if(C.status && prob(camera_chance)) C.toggle_cam(src, 0) - /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/QueenFakeLings() if(spider_can_fakelings) spider_can_fakelings-- @@ -201,15 +198,12 @@ else to_chat(src, "You have run out of uses of this ability.") - - /obj/item/projectile/terrorqueenspit name = "poisonous spit" damage = 0 icon_state = "toxin" damage_type = TOX - /obj/item/projectile/terrorqueenspit/on_hit(mob/living/carbon/target) if(ismob(target)) var/mob/living/L = target @@ -217,5 +211,4 @@ if(L.can_inject(null, 0, "chest", 0)) L.reagents.add_reagent("terror_queen_toxin", 15) if(!istype(L, /mob/living/simple_animal/hostile/poison/terror_spider)) - L.adjustToxLoss(30) - + L.adjustToxLoss(30) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm index 33480f9509c..cd48027775d 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm @@ -57,4 +57,4 @@ visible_message("[src] retracts its fangs a little.") melee_damage_lower = melee_damage_lower_rage0 melee_damage_upper = melee_damage_upper_rage0 - ..() + ..() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm index cf5a17647e2..ccb7a5c1148 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm @@ -15,12 +15,10 @@ var/spider_myqueen = null var/use_vents = 1 - /obj/effect/spider/spiderling/terror_spiderling/New() ..() ts_spiderling_list += src - /obj/effect/spider/spiderling/terror_spiderling/Destroy() ts_spiderling_list -= src return ..() @@ -33,7 +31,6 @@ else ..() - /obj/effect/spider/spiderling/terror_spiderling/process() if(travelling_in_vent) if(isturf(loc)) @@ -96,7 +93,6 @@ S.master_commander = master_commander qdel(src) - // -------------------------------------------------------------------------------- // ----------------- TERROR SPIDERS: EGGS (USED BY NURSE AND QUEEN TYPES) --------- // -------------------------------------------------------------------------------- @@ -116,7 +112,6 @@ spawn(10) stop_automated_movement = 0 - /obj/effect/spider/eggcluster/terror_eggcluster name = "terror egg cluster" desc = "A cluster of tiny spider eggs. They pulse with a strong inner life, and appear to have sharp thorns on the sides." @@ -128,7 +123,6 @@ var/spiderling_number = 1 var/spiderling_ventcrawl = 1 - /obj/effect/spider/eggcluster/terror_eggcluster/New() ..() ts_egg_list += src @@ -152,7 +146,6 @@ else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/queen) name = "queen of terror eggs" - /obj/effect/spider/eggcluster/terror_eggcluster/Destroy() ts_egg_list -= src return ..() @@ -176,4 +169,4 @@ var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src)) S.stillborn = 1 // every set of eggs always spawn 5 spiderlings, but most are decoys - qdel(src) + qdel(src) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index e6b2c27c164..7fa291eb2a6 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -122,8 +122,6 @@ var/global/list/ts_spiderling_list = list() // --------------------- TERROR SPIDERS: SHARED ATTACK CODE ----------------------- // -------------------------------------------------------------------------------- - - /mob/living/simple_animal/hostile/poison/terror_spider/AttackingTarget() if(isterrorspider(target)) var/mob/living/simple_animal/hostile/poison/terror_spider/T = target @@ -178,16 +176,10 @@ var/global/list/ts_spiderling_list = list() /mob/living/simple_animal/hostile/poison/terror_spider/proc/spider_specialattack(mob/living/carbon/human/L, poisonable) L.attack_animal(src) - - - - - // -------------------------------------------------------------------------------- // --------------------- TERROR SPIDERS: PROC OVERRIDES --------------------------- // -------------------------------------------------------------------------------- - /mob/living/simple_animal/hostile/poison/terror_spider/examine(mob/user) ..() var/list/msgs = list() @@ -212,7 +204,6 @@ var/global/list/ts_spiderling_list = list() msgs += "It has blood dribbling from its mouth." to_chat(usr,msgs.Join("
    ")) - /mob/living/simple_animal/hostile/poison/terror_spider/New() ..() ts_spiderlist += src @@ -278,8 +269,6 @@ var/global/list/ts_spiderling_list = list() if(prob(5)) CheckFaction() - - /mob/living/simple_animal/hostile/poison/terror_spider/proc/handle_dying() if(!hasdied) hasdied = 1 @@ -296,7 +285,6 @@ var/global/list/ts_spiderling_list = list() handle_dying() ..() - /mob/living/simple_animal/hostile/poison/terror_spider/proc/spider_special_action() return diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm index 32d48a80264..191eed19c47 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm @@ -24,6 +24,7 @@ spider_tier = TS_TIER_2 loot = list(/obj/item/clothing/accessory/medal) + /mob/living/simple_animal/hostile/poison/terror_spider/white/spider_specialattack(mob/living/carbon/human/L, poisonable) if(!poisonable) ..() @@ -38,4 +39,4 @@ /mob/living/simple_animal/hostile/poison/terror_spider/proc/IsInfected(mob/living/carbon/C) // Terror AI requires this if(C.get_int_organ(/obj/item/organ/internal/body_egg)) return 1 - return 0 + return 0 \ No newline at end of file From 24e255a4969f0645d07ca0c636871ecbeb95d2e2 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 12 Feb 2017 20:54:30 -0800 Subject: [PATCH 35/49] Kudzu growth now scales the correct way for quicker growth speed --- code/modules/events/spacevine.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 61ba1b5350d..d5d581a814b 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -428,8 +428,8 @@ if(potency != null) mutativeness = potency / 10 if(production != null) - spread_cap *= production / 5 - spread_multiplier /= production / 5 + spread_cap /= production / 5 + spread_multiplier *= production / 5 ..() @@ -567,4 +567,4 @@ if(isliving(A)) var/mob/living/M = A if(("vines" in M.faction) || ("plants" in M.faction)) - . = TRUE \ No newline at end of file + . = TRUE From f46f38adf03e4bed01ed43dd4bff7be47b95f087 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 03:08:54 -0500 Subject: [PATCH 36/49] Automatic changelog generation for PR #6416 [ci skip] --- html/changelogs/AutoChangeLog-pr-6416.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6416.yml diff --git a/html/changelogs/AutoChangeLog-pr-6416.yml b/html/changelogs/AutoChangeLog-pr-6416.yml new file mode 100644 index 00000000000..c832c92c7e1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6416.yml @@ -0,0 +1,4 @@ +author: "Kyep" +delete-after: True +changes: + - tweak: "Mech-mounted teleporters are no longer massively overpowered. They now consume a huge amount of energy to use, to the point that crew mechs with them can only use them a few times. They can no longer be spammed. Dark Gygax mechs used by nuclear operatives get a better version of the teleporter, which has around 40 uses, and is more precise." From 8934b2aa4779576d5d64e4028a5a99ac1cc05aed Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 03:09:48 -0500 Subject: [PATCH 37/49] Automatic changelog generation for PR #6367 [ci skip] --- html/changelogs/AutoChangeLog-pr-6367.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6367.yml diff --git a/html/changelogs/AutoChangeLog-pr-6367.yml b/html/changelogs/AutoChangeLog-pr-6367.yml new file mode 100644 index 00000000000..3abf46eb069 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6367.yml @@ -0,0 +1,12 @@ +author: "Markolie" +delete-after: True +changes: + - bugfix: "Fixed a number of genetics powers not working." + - bugfix: "Posibrains can no longer whisper when silenced." + - bugfix: "Syndicate turrets will no longer target the Syndicate pAI found on their outpost." + - bugfix: "Fixed the \"Swedish\" disability occasionally hiding parts of speech." + - bugfix: "Mouthless players can no longer eat crayons (such as IPC's)." + - bugfix: "Instruments can now be interacted with while buckled." + - bugfix: "Emagging a single fax machine will no longer give all fax machines access to the Syndicate destination." + - bugfix: "Evidence bags will now always show the item inside of them." + - bugfix: "Spacepods leaving a trail of humans instead of ion trail effects." From 3ec83925f5de7d8456e5e0d28ad16b2bc87f71ec Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 03:12:34 -0500 Subject: [PATCH 38/49] Automatic changelog generation for PR #6412 [ci skip] --- html/changelogs/AutoChangeLog-pr-6412.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6412.yml diff --git a/html/changelogs/AutoChangeLog-pr-6412.yml b/html/changelogs/AutoChangeLog-pr-6412.yml new file mode 100644 index 00000000000..1c42514705e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6412.yml @@ -0,0 +1,4 @@ +author: "Kyep" +delete-after: True +changes: + - tweak: "Playtime requirements for IAAs have been set at 5 hours (similar to Sec Officer). Playtime requirements for Captains and AI have been increased from 10 hours to 20 hours." From 3e330823434abbe76334e8334b46257742eaa00d Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 03:48:26 -0500 Subject: [PATCH 39/49] Automatic changelog generation for PR #6363 [ci skip] --- html/changelogs/AutoChangeLog-pr-6363.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6363.yml diff --git a/html/changelogs/AutoChangeLog-pr-6363.yml b/html/changelogs/AutoChangeLog-pr-6363.yml new file mode 100644 index 00000000000..f2b84df8fa2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6363.yml @@ -0,0 +1,7 @@ +author: "Fethas" +delete-after: True +changes: + - tweak: "Metastation: The escape shuttle doors should no longer be security access only." + - tweak: "Metastation: Hooks up disposals door control." + - tweak: "Cyberiad: Untriggers Neca and makes the floor tiles in the emergecny wing sec area plating." + - tweak: "Cyberiad: Moves the cargo mail room table onto the otherside of the window so you can actually OPEN IT." From 7483b53aff0f08ee9e0f3b0da7eea8959e86517e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 03:55:16 -0500 Subject: [PATCH 40/49] Automatic changelog generation for PR #6400 [ci skip] --- html/changelogs/AutoChangeLog-pr-6400.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6400.yml diff --git a/html/changelogs/AutoChangeLog-pr-6400.yml b/html/changelogs/AutoChangeLog-pr-6400.yml new file mode 100644 index 00000000000..30c7c6714fb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6400.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - tweak: "improves the tatortot sprite" From bd6bfbfd36e77e0ac5657ed744207742bb7f32bc Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 04:00:12 -0500 Subject: [PATCH 41/49] Automatic changelog compile, [ci skip] --- html/changelog.html | 30 +++++++++++++++++++++ html/changelogs/.all_changelog.yml | 32 +++++++++++++++++++++++ html/changelogs/AutoChangeLog-pr-6363.yml | 7 ----- html/changelogs/AutoChangeLog-pr-6367.yml | 12 --------- html/changelogs/AutoChangeLog-pr-6400.yml | 4 --- html/changelogs/AutoChangeLog-pr-6412.yml | 4 --- html/changelogs/AutoChangeLog-pr-6416.yml | 4 --- 7 files changed, 62 insertions(+), 31 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-6363.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6367.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6400.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6412.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6416.yml diff --git a/html/changelog.html b/html/changelog.html index 5664b2a3bd5..d0cb01d9510 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,36 @@ -->
    +

    13 February 2017

    +

    Fethas updated:

    +
      +
    • Metastation: The escape shuttle doors should no longer be security access only.
    • +
    • Metastation: Hooks up disposals door control.
    • +
    • Cyberiad: Untriggers Neca and makes the floor tiles in the emergecny wing sec area plating.
    • +
    • Cyberiad: Moves the cargo mail room table onto the otherside of the window so you can actually OPEN IT.
    • +
    +

    Fox McCloud updated:

    +
      +
    • improves the tatortot sprite
    • +
    +

    Kyep updated:

    +
      +
    • Playtime requirements for IAAs have been set at 5 hours (similar to Sec Officer). Playtime requirements for Captains and AI have been increased from 10 hours to 20 hours.
    • +
    • Mech-mounted teleporters are no longer massively overpowered. They now consume a huge amount of energy to use, to the point that crew mechs with them can only use them a few times. They can no longer be spammed. Dark Gygax mechs used by nuclear operatives get a better version of the teleporter, which has around 40 uses, and is more precise.
    • +
    +

    Markolie updated:

    +
      +
    • Fixed a number of genetics powers not working.
    • +
    • Posibrains can no longer whisper when silenced.
    • +
    • Syndicate turrets will no longer target the Syndicate pAI found on their outpost.
    • +
    • Fixed the "Swedish" disability occasionally hiding parts of speech.
    • +
    • Mouthless players can no longer eat crayons (such as IPC's).
    • +
    • Instruments can now be interacted with while buckled.
    • +
    • Emagging a single fax machine will no longer give all fax machines access to the Syndicate destination.
    • +
    • Evidence bags will now always show the item inside of them.
    • +
    • Spacepods leaving a trail of humans instead of ion trail effects.
    • +
    +

    12 February 2017

    Fox McCloud updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 47e1e1b810f..bc864094835 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -3642,3 +3642,35 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. uraniummeltdown: - rscadd: Whetstones have been resprited - rscadd: Drying racks have new sprites. +2017-02-13: + Fethas: + - tweak: 'Metastation: The escape shuttle doors should no longer be security access + only.' + - tweak: 'Metastation: Hooks up disposals door control.' + - tweak: 'Cyberiad: Untriggers Neca and makes the floor tiles in the emergecny wing + sec area plating.' + - tweak: 'Cyberiad: Moves the cargo mail room table onto the otherside of the window + so you can actually OPEN IT.' + Fox McCloud: + - tweak: improves the tatortot sprite + Kyep: + - tweak: Playtime requirements for IAAs have been set at 5 hours (similar to Sec + Officer). Playtime requirements for Captains and AI have been increased from + 10 hours to 20 hours. + - tweak: Mech-mounted teleporters are no longer massively overpowered. They now + consume a huge amount of energy to use, to the point that crew mechs with them + can only use them a few times. They can no longer be spammed. Dark Gygax mechs + used by nuclear operatives get a better version of the teleporter, which has + around 40 uses, and is more precise. + Markolie: + - bugfix: Fixed a number of genetics powers not working. + - bugfix: Posibrains can no longer whisper when silenced. + - bugfix: Syndicate turrets will no longer target the Syndicate pAI found on their + outpost. + - bugfix: Fixed the "Swedish" disability occasionally hiding parts of speech. + - bugfix: Mouthless players can no longer eat crayons (such as IPC's). + - bugfix: Instruments can now be interacted with while buckled. + - bugfix: Emagging a single fax machine will no longer give all fax machines access + to the Syndicate destination. + - bugfix: Evidence bags will now always show the item inside of them. + - bugfix: Spacepods leaving a trail of humans instead of ion trail effects. diff --git a/html/changelogs/AutoChangeLog-pr-6363.yml b/html/changelogs/AutoChangeLog-pr-6363.yml deleted file mode 100644 index f2b84df8fa2..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6363.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "Fethas" -delete-after: True -changes: - - tweak: "Metastation: The escape shuttle doors should no longer be security access only." - - tweak: "Metastation: Hooks up disposals door control." - - tweak: "Cyberiad: Untriggers Neca and makes the floor tiles in the emergecny wing sec area plating." - - tweak: "Cyberiad: Moves the cargo mail room table onto the otherside of the window so you can actually OPEN IT." diff --git a/html/changelogs/AutoChangeLog-pr-6367.yml b/html/changelogs/AutoChangeLog-pr-6367.yml deleted file mode 100644 index 3abf46eb069..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6367.yml +++ /dev/null @@ -1,12 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - bugfix: "Fixed a number of genetics powers not working." - - bugfix: "Posibrains can no longer whisper when silenced." - - bugfix: "Syndicate turrets will no longer target the Syndicate pAI found on their outpost." - - bugfix: "Fixed the \"Swedish\" disability occasionally hiding parts of speech." - - bugfix: "Mouthless players can no longer eat crayons (such as IPC's)." - - bugfix: "Instruments can now be interacted with while buckled." - - bugfix: "Emagging a single fax machine will no longer give all fax machines access to the Syndicate destination." - - bugfix: "Evidence bags will now always show the item inside of them." - - bugfix: "Spacepods leaving a trail of humans instead of ion trail effects." diff --git a/html/changelogs/AutoChangeLog-pr-6400.yml b/html/changelogs/AutoChangeLog-pr-6400.yml deleted file mode 100644 index 30c7c6714fb..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6400.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - tweak: "improves the tatortot sprite" diff --git a/html/changelogs/AutoChangeLog-pr-6412.yml b/html/changelogs/AutoChangeLog-pr-6412.yml deleted file mode 100644 index 1c42514705e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6412.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - tweak: "Playtime requirements for IAAs have been set at 5 hours (similar to Sec Officer). Playtime requirements for Captains and AI have been increased from 10 hours to 20 hours." diff --git a/html/changelogs/AutoChangeLog-pr-6416.yml b/html/changelogs/AutoChangeLog-pr-6416.yml deleted file mode 100644 index c832c92c7e1..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6416.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - tweak: "Mech-mounted teleporters are no longer massively overpowered. They now consume a huge amount of energy to use, to the point that crew mechs with them can only use them a few times. They can no longer be spammed. Dark Gygax mechs used by nuclear operatives get a better version of the teleporter, which has around 40 uses, and is more precise." From 4f9cd14c19887a372ca5b954e7de841fa42e0977 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 05:44:04 -0500 Subject: [PATCH 42/49] Automatic changelog generation for PR #6432 [ci skip] --- html/changelogs/AutoChangeLog-pr-6432.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6432.yml diff --git a/html/changelogs/AutoChangeLog-pr-6432.yml b/html/changelogs/AutoChangeLog-pr-6432.yml new file mode 100644 index 00000000000..2ceac4e5b26 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6432.yml @@ -0,0 +1,4 @@ +author: "Crazylemon64" +delete-after: True +changes: + - bugfix: "Achieving higher growth rates on kudzu will result in a faster-growing vine when planted" From 6ae1683731d38eaf5f76b9ad63be684b609a9edd Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 06:00:10 -0500 Subject: [PATCH 43/49] Automatic changelog compile, [ci skip] --- html/changelog.html | 4 ++++ html/changelogs/.all_changelog.yml | 3 +++ html/changelogs/AutoChangeLog-pr-6432.yml | 4 ---- 3 files changed, 7 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-6432.yml diff --git a/html/changelog.html b/html/changelog.html index d0cb01d9510..d9c07e1542c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,10 @@ -->

      13 February 2017

      +

      Crazylemon64 updated:

      +
        +
      • Achieving higher growth rates on kudzu will result in a faster-growing vine when planted
      • +

      Fethas updated:

      • Metastation: The escape shuttle doors should no longer be security access only.
      • diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index bc864094835..975a316fd4a 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -3643,6 +3643,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Whetstones have been resprited - rscadd: Drying racks have new sprites. 2017-02-13: + Crazylemon64: + - bugfix: Achieving higher growth rates on kudzu will result in a faster-growing + vine when planted Fethas: - tweak: 'Metastation: The escape shuttle doors should no longer be security access only.' diff --git a/html/changelogs/AutoChangeLog-pr-6432.yml b/html/changelogs/AutoChangeLog-pr-6432.yml deleted file mode 100644 index 2ceac4e5b26..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6432.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Crazylemon64" -delete-after: True -changes: - - bugfix: "Achieving higher growth rates on kudzu will result in a faster-growing vine when planted" From 74945623ecd887db42b0d0a9220c6ff649ff6687 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 06:02:15 -0500 Subject: [PATCH 44/49] Automatic changelog generation for PR #6395 [ci skip] --- html/changelogs/AutoChangeLog-pr-6395.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6395.yml diff --git a/html/changelogs/AutoChangeLog-pr-6395.yml b/html/changelogs/AutoChangeLog-pr-6395.yml new file mode 100644 index 00000000000..29354b0a8ac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6395.yml @@ -0,0 +1,4 @@ +author: "uraniummeltdown" +delete-after: True +changes: + - rscadd: "The RSF has a unique sprite." From 601e28e26ae25fde0d09a4318c3486e458b3f03d Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 06:12:33 -0500 Subject: [PATCH 45/49] Automatic changelog generation for PR #6386 [ci skip] --- html/changelogs/AutoChangeLog-pr-6386.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6386.yml diff --git a/html/changelogs/AutoChangeLog-pr-6386.yml b/html/changelogs/AutoChangeLog-pr-6386.yml new file mode 100644 index 00000000000..452a2ac7ddd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6386.yml @@ -0,0 +1,4 @@ +author: "uraniummeltdown" +delete-after: True +changes: + - rscadd: "Nuclear Operatives can customize the Declaration of War." From d60c060758927e6979441cea1328dd4dd659b4e7 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 13 Feb 2017 03:18:19 -0800 Subject: [PATCH 46/49] Fixes an IAA bug Fixes a missing definition that was meant to be added in https://github.com/ParadiseSS13/Paradise/pull/6412 --- code/game/jobs/job/supervisor.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 5ad4cb11f40..981753c5aee 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -238,6 +238,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) alt_titles = list("Lawyer","Public Defender") minimal_player_age = 30 exp_requirements = 300 + exp_type = EXP_TYPE_CREW idtype = /obj/item/weapon/card/id/security equip(var/mob/living/carbon/human/H) From 66fbb29f5950de44735ba3872e8ff04737bc1e7b Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 06:26:58 -0500 Subject: [PATCH 47/49] Automatic changelog generation for PR #6280 [ci skip] --- html/changelogs/AutoChangeLog-pr-6280.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6280.yml diff --git a/html/changelogs/AutoChangeLog-pr-6280.yml b/html/changelogs/AutoChangeLog-pr-6280.yml new file mode 100644 index 00000000000..0850ae78ee1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6280.yml @@ -0,0 +1,4 @@ +author: "Fluff12" +delete-after: True +changes: + - rscadd: "Greys can now choose to speak in wingdings or not. The Voice option is right below Species in character creation if Grey is selected - make sure you have it set to what you want!" From 58b4425b5ce87ccc75a61e265adc4972334874d0 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 06:27:34 -0500 Subject: [PATCH 48/49] Automatic changelog generation for PR #6097 [ci skip] --- html/changelogs/AutoChangeLog-pr-6097.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6097.yml diff --git a/html/changelogs/AutoChangeLog-pr-6097.yml b/html/changelogs/AutoChangeLog-pr-6097.yml new file mode 100644 index 00000000000..32483296e30 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6097.yml @@ -0,0 +1,6 @@ +author: "Kyep" +delete-after: True +changes: + - bugfix: "Fixed several bugs related to Terror Spider webs." + - tweak: "Terror Spiders have been rebalanced. Spiders are no longer spaceproof, princes are now proper minibosses, and more." + - rscadd: "Several new classes of Terror Spiders (green, white, purple, queen, mother) have been added - including types which can breed. This creates new strategy around nest defense." From d53434d3d3a8536986f8d49b26aaa7f38c00ce3e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 13 Feb 2017 07:00:26 -0500 Subject: [PATCH 49/49] Automatic changelog compile, [ci skip] --- html/changelog.html | 12 ++++++++++++ html/changelogs/.all_changelog.yml | 13 +++++++++++++ html/changelogs/AutoChangeLog-pr-6097.yml | 6 ------ html/changelogs/AutoChangeLog-pr-6280.yml | 4 ---- html/changelogs/AutoChangeLog-pr-6386.yml | 4 ---- html/changelogs/AutoChangeLog-pr-6395.yml | 4 ---- 6 files changed, 25 insertions(+), 18 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-6097.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6280.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6386.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-6395.yml diff --git a/html/changelog.html b/html/changelog.html index d9c07e1542c..e4ae03dde1f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -67,6 +67,10 @@
      • Cyberiad: Untriggers Neca and makes the floor tiles in the emergecny wing sec area plating.
      • Cyberiad: Moves the cargo mail room table onto the otherside of the window so you can actually OPEN IT.
      +

      Fluff12 updated:

      +
        +
      • Greys can now choose to speak in wingdings or not. The Voice option is right below Species in character creation if Grey is selected - make sure you have it set to what you want!
      • +

      Fox McCloud updated:

      • improves the tatortot sprite
      • @@ -75,6 +79,9 @@
        • Playtime requirements for IAAs have been set at 5 hours (similar to Sec Officer). Playtime requirements for Captains and AI have been increased from 10 hours to 20 hours.
        • Mech-mounted teleporters are no longer massively overpowered. They now consume a huge amount of energy to use, to the point that crew mechs with them can only use them a few times. They can no longer be spammed. Dark Gygax mechs used by nuclear operatives get a better version of the teleporter, which has around 40 uses, and is more precise.
        • +
        • Fixed several bugs related to Terror Spider webs.
        • +
        • Terror Spiders have been rebalanced. Spiders are no longer spaceproof, princes are now proper minibosses, and more.
        • +
        • Several new classes of Terror Spiders (green, white, purple, queen, mother) have been added - including types which can breed. This creates new strategy around nest defense.

        Markolie updated:

          @@ -88,6 +95,11 @@
        • Evidence bags will now always show the item inside of them.
        • Spacepods leaving a trail of humans instead of ion trail effects.
        +

        uraniummeltdown updated:

        +
          +
        • Nuclear Operatives can customize the Declaration of War.
        • +
        • The RSF has a unique sprite.
        • +

        12 February 2017

        Fox McCloud updated:

        diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 975a316fd4a..e4e78e06518 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -3654,6 +3654,10 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. sec area plating.' - tweak: 'Cyberiad: Moves the cargo mail room table onto the otherside of the window so you can actually OPEN IT.' + Fluff12: + - rscadd: Greys can now choose to speak in wingdings or not. The Voice option is + right below Species in character creation if Grey is selected - make sure you + have it set to what you want! Fox McCloud: - tweak: improves the tatortot sprite Kyep: @@ -3665,6 +3669,12 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. can only use them a few times. They can no longer be spammed. Dark Gygax mechs used by nuclear operatives get a better version of the teleporter, which has around 40 uses, and is more precise. + - bugfix: Fixed several bugs related to Terror Spider webs. + - tweak: Terror Spiders have been rebalanced. Spiders are no longer spaceproof, + princes are now proper minibosses, and more. + - rscadd: Several new classes of Terror Spiders (green, white, purple, queen, mother) + have been added - including types which can breed. This creates new strategy + around nest defense. Markolie: - bugfix: Fixed a number of genetics powers not working. - bugfix: Posibrains can no longer whisper when silenced. @@ -3677,3 +3687,6 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. to the Syndicate destination. - bugfix: Evidence bags will now always show the item inside of them. - bugfix: Spacepods leaving a trail of humans instead of ion trail effects. + uraniummeltdown: + - rscadd: Nuclear Operatives can customize the Declaration of War. + - rscadd: The RSF has a unique sprite. diff --git a/html/changelogs/AutoChangeLog-pr-6097.yml b/html/changelogs/AutoChangeLog-pr-6097.yml deleted file mode 100644 index 32483296e30..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6097.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: "Fixed several bugs related to Terror Spider webs." - - tweak: "Terror Spiders have been rebalanced. Spiders are no longer spaceproof, princes are now proper minibosses, and more." - - rscadd: "Several new classes of Terror Spiders (green, white, purple, queen, mother) have been added - including types which can breed. This creates new strategy around nest defense." diff --git a/html/changelogs/AutoChangeLog-pr-6280.yml b/html/changelogs/AutoChangeLog-pr-6280.yml deleted file mode 100644 index 0850ae78ee1..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6280.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fluff12" -delete-after: True -changes: - - rscadd: "Greys can now choose to speak in wingdings or not. The Voice option is right below Species in character creation if Grey is selected - make sure you have it set to what you want!" diff --git a/html/changelogs/AutoChangeLog-pr-6386.yml b/html/changelogs/AutoChangeLog-pr-6386.yml deleted file mode 100644 index 452a2ac7ddd..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6386.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "uraniummeltdown" -delete-after: True -changes: - - rscadd: "Nuclear Operatives can customize the Declaration of War." diff --git a/html/changelogs/AutoChangeLog-pr-6395.yml b/html/changelogs/AutoChangeLog-pr-6395.yml deleted file mode 100644 index 29354b0a8ac..00000000000 --- a/html/changelogs/AutoChangeLog-pr-6395.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "uraniummeltdown" -delete-after: True -changes: - - rscadd: "The RSF has a unique sprite."