From bdceba9d7175f6d7e3c133b2441f559d7a9a1954 Mon Sep 17 00:00:00 2001 From: MrStonedOne Date: Thu, 19 Jan 2017 22:04:32 -0800 Subject: [PATCH 01/39] Makes travis less shit. --- .travis.yml | 7 +------ _maps/birdstation.dm | 3 ++- _maps/deltastation.dm | 3 ++- _maps/loadallmaps.dm | 49 +++++++++++++++++++++++++++++++++++++++++++ _maps/metastation.dm | 3 ++- _maps/omegastation.dm | 3 ++- _maps/pubbystation.dm | 3 ++- _maps/tgstation2.dm | 3 ++- 8 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 _maps/loadallmaps.dm diff --git a/.travis.yml b/.travis.yml index 8273b1e69ab..08a46cf6b5d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,13 +10,8 @@ env: - DM_MAPFILE="" matrix: - BUILD_TOOLS=true - - DM_MAPFILE="tgstation2" - - DM_MAPFILE="metastation" - - DM_MAPFILE="birdstation" - - DM_MAPFILE="pubbystation" - DM_MAPFILE="templates" - - DM_MAPFILE="omegastation" - - DM_MAPFILE="deltastation" + - DM_MAPFILE="loadallmaps" cache: directories: diff --git a/_maps/birdstation.dm b/_maps/birdstation.dm index 434912fa9da..326a5217bc1 100644 --- a/_maps/birdstation.dm +++ b/_maps/birdstation.dm @@ -13,6 +13,7 @@ A small map intended for lowpop(40 players and less). #define MINETYPE "lavaland" #include "map_files\BirdStation\BirdStation.dmm" +#ifndef TRAVIS_MASS_MAP_BUILD #include "map_files\generic\z2.dmm" #include "map_files\generic\z3.dmm" #include "map_files\generic\z4.dmm" @@ -29,7 +30,7 @@ A small map intended for lowpop(40 players and less). #define MAP_NAME "BirdboatStation" #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG - +#endif #if !defined(MAP_OVERRIDE_FILES) #define MAP_OVERRIDE_FILES #include "map_files\BirdStation\job\job_changes.dm" diff --git a/_maps/deltastation.dm b/_maps/deltastation.dm index 5a66be6ca10..e297e63075f 100644 --- a/_maps/deltastation.dm +++ b/_maps/deltastation.dm @@ -5,6 +5,7 @@ #define MINETYPE "lavaland" #include "map_files\DeltaStation\DeltaStation2.dmm" +#ifndef TRAVIS_MASS_MAP_BUILD #include "map_files\generic\z2.dmm" #include "map_files\generic\z3.dmm" #include "map_files\generic\z4.dmm" @@ -21,7 +22,7 @@ #define MAP_NAME "Delta Station" #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG - +#endif #elif !defined(MAP_OVERRIDE) #warn a map has already been included, deltastation. diff --git a/_maps/loadallmaps.dm b/_maps/loadallmaps.dm new file mode 100644 index 00000000000..1cf574249ec --- /dev/null +++ b/_maps/loadallmaps.dm @@ -0,0 +1,49 @@ +#define TRAVIS_MASS_MAP_BUILD +#define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG + +#include "birdstation.dm" +#ifdef MAP_OVERRIDE_FILES + #undef MAP_OVERRIDE_FILES +#endif + +#include "deltastation.dm" +#ifdef MAP_OVERRIDE_FILES + #undef MAP_OVERRIDE_FILES +#endif + +#include "metastation.dm" +#ifdef MAP_OVERRIDE_FILES + #undef MAP_OVERRIDE_FILES +#endif + +#include "omegastation.dm" +#ifdef MAP_OVERRIDE_FILES + #undef MAP_OVERRIDE_FILES +#endif + +#include "pubbystation.dm" +#ifdef MAP_OVERRIDE_FILES + #undef MAP_OVERRIDE_FILES +#endif + +#include "tgstation2.dm" +#ifdef MAP_OVERRIDE_FILES + #undef MAP_OVERRIDE_FILES +#endif + +#include "map_files\generic\z2.dmm" +#include "map_files\generic\z3.dmm" +#include "map_files\generic\z4.dmm" +#include "map_files\generic\lavaland.dmm" +#include "map_files\generic\z6.dmm" +#include "map_files\generic\z7.dmm" +#include "map_files\generic\z8.dmm" +#include "map_files\generic\z9.dmm" +#include "map_files\generic\z10.dmm" +#include "map_files\generic\z11.dmm" + +#undef TRAVIS_MASS_MAP_BUILD + +#include "runtimestation.dm" + +#define BYOND_WHY_YOU_NO_ALLOW_INCLUDE_LAST_LINE //because byond fails to compile if the last thing in a file is an include. \ No newline at end of file diff --git a/_maps/metastation.dm b/_maps/metastation.dm index 9987cd2459f..3fbd063eafd 100644 --- a/_maps/metastation.dm +++ b/_maps/metastation.dm @@ -5,6 +5,7 @@ #define MINETYPE "lavaland" #include "map_files\MetaStation\MetaStation.dmm" +#ifndef TRAVIS_MASS_MAP_BUILD #include "map_files\generic\z2.dmm" #include "map_files\generic\z3.dmm" #include "map_files\generic\z4.dmm" @@ -21,7 +22,7 @@ #define MAP_NAME "MetaStation" #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG - +#endif #elif !defined(MAP_OVERRIDE) #warn a map has already been included, ignoring MetaStation. diff --git a/_maps/omegastation.dm b/_maps/omegastation.dm index 8000697e50c..ad4fe6607c1 100644 --- a/_maps/omegastation.dm +++ b/_maps/omegastation.dm @@ -5,6 +5,7 @@ #define MINETYPE "lavaland" #include "map_files\OmegaStation\OmegaStation.dmm" +#ifndef TRAVIS_MASS_MAP_BUILD #include "map_files\generic\z2.dmm" #include "map_files\generic\z3.dmm" #include "map_files\generic\z4.dmm" @@ -21,7 +22,7 @@ #define MAP_NAME "OmegaStation" #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG - +#endif #if !defined(MAP_OVERRIDE_FILES) #define MAP_OVERRIDE_FILES #include "map_files\OmegaStation\job\job_changes.dm" diff --git a/_maps/pubbystation.dm b/_maps/pubbystation.dm index 92ef96be5e3..9ef04e80613 100644 --- a/_maps/pubbystation.dm +++ b/_maps/pubbystation.dm @@ -5,6 +5,7 @@ #define MINETYPE "lavaland" #include "map_files\PubbyStation\PubbyStation.dmm" +#ifndef TRAVIS_MASS_MAP_BUILD #include "map_files\generic\z2.dmm" #include "map_files\generic\z3.dmm" #include "map_files\generic\z4.dmm" @@ -21,7 +22,7 @@ #define MAP_NAME "PubbyStation" #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG - +#endif #if !defined(MAP_OVERRIDE_FILES) #define MAP_OVERRIDE_FILES #include "map_files\PubbyStation\job\job_changes.dm" diff --git a/_maps/tgstation2.dm b/_maps/tgstation2.dm index 9f027f88e85..9ebc966dbae 100644 --- a/_maps/tgstation2.dm +++ b/_maps/tgstation2.dm @@ -5,6 +5,7 @@ #define MINETYPE "lavaland" #include "map_files\TgStation\tgstation.2.1.3.dmm" +#ifndef TRAVIS_MASS_MAP_BUILD #include "map_files\generic\z2.dmm" #include "map_files\generic\z3.dmm" #include "map_files\generic\z4.dmm" @@ -21,7 +22,7 @@ #define MAP_NAME "Box Station" #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG - +#endif #elif !defined(MAP_OVERRIDE) #warn a map has already been included, ignoring /tg/station 2. From 50ed427d6fee2f99646a616bc93bb87801dffd58 Mon Sep 17 00:00:00 2001 From: MrStonedOne Date: Thu, 19 Jan 2017 22:50:19 -0800 Subject: [PATCH 02/39] Fuck it, lets do the templates too. --- .travis.yml | 1 - _maps/loadallmaps.dm | 4 ++++ tools/travis/before_build_tools.sh | 2 +- tools/travis/build_byond.sh | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 08a46cf6b5d..a34e0e29f9c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,6 @@ env: - DM_MAPFILE="" matrix: - BUILD_TOOLS=true - - DM_MAPFILE="templates" - DM_MAPFILE="loadallmaps" cache: diff --git a/_maps/loadallmaps.dm b/_maps/loadallmaps.dm index 1cf574249ec..b9192f88f3c 100644 --- a/_maps/loadallmaps.dm +++ b/_maps/loadallmaps.dm @@ -44,6 +44,10 @@ #undef TRAVIS_MASS_MAP_BUILD +#ifdef TRAVISBUILDING +#include "templates.dm" +#endif + #include "runtimestation.dm" #define BYOND_WHY_YOU_NO_ALLOW_INCLUDE_LAST_LINE //because byond fails to compile if the last thing in a file is an include. \ No newline at end of file diff --git a/tools/travis/before_build_tools.sh b/tools/travis/before_build_tools.sh index 89fc61bfb9d..50167e1262a 100755 --- a/tools/travis/before_build_tools.sh +++ b/tools/travis/before_build_tools.sh @@ -5,6 +5,6 @@ if [ "$BUILD_TOOLS" = true ]; then cd tgui && source ~/.nvm/nvm.sh && npm install && cd .. fi; -if [ "$DM_MAPFILE" = "templates" ]; then +if [ "$DM_MAPFILE" = "loadallmaps" ]; then python tools/travis/template_dm_generator.py fi; diff --git a/tools/travis/build_byond.sh b/tools/travis/build_byond.sh index c4828e74cd6..e5f35adfaa2 100755 --- a/tools/travis/build_byond.sh +++ b/tools/travis/build_byond.sh @@ -7,5 +7,5 @@ shopt -s globstar if [ "$BUILD_TOOLS" = false ]; then (! grep 'step_[xy]' _maps/**/*.dmm) source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup - tools/travis/dm.sh -M${DM_MAPFILE} tgstation.dme + tools/travis/dm.sh -DTRAVISBUILDING -M${DM_MAPFILE} tgstation.dme fi; From 1da1ca91c70f962fe6fbce9f56580910d7edf899 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Fri, 20 Jan 2017 10:54:00 -0500 Subject: [PATCH 03/39] You can no longer meatspike bots and silicons --- code/game/objects/structures/kitchen_spike.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index d3fa057eb9a..eb0f8b7dec3 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -1,4 +1,5 @@ //////Kitchen Spike +#define VIABLE_MOB_CHECK(X) (isliving(X) && !issilicon(X) && !isbot(X)) /obj/structure/kitchenspike_frame name = "meatspike frame" @@ -71,7 +72,7 @@ return ..() /obj/structure/kitchenspike/attack_hand(mob/user) - if(isliving(user.pulling) && user.a_intent == INTENT_GRAB && !has_buckled_mobs()) + if(VIABLE_MOB_CHECK(user.pulling) && user.a_intent == INTENT_GRAB && !has_buckled_mobs()) var/mob/living/L = user.pulling if(do_mob(user, src, 120)) if(has_buckled_mobs()) //to prevent spam/queing up attacks @@ -146,3 +147,5 @@ new /obj/item/stack/sheet/metal(src.loc, 4) new /obj/item/stack/rods(loc, 4) qdel(src) + +#undef VIABLE_MOB_CHECK From 959aa3071511eddd668ac6de89a0b3e582e42d4f Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Fri, 20 Jan 2017 16:16:51 -0800 Subject: [PATCH 04/39] Update SDQL_2.dm --- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 34723b96619..aaead53f545 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -121,6 +121,7 @@ else text += ": [t]
" + CHECK_TICK usr << browse(text, "window=SDQL-result") From 5e20406cfef86ace3bbdbac18740d17da764536d Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 21 Jan 2017 22:31:25 -0500 Subject: [PATCH 05/39] Alters Dried Jerky and Raisins (#23121) * Alters Dried Jerky and Raisins * redundant. --- code/modules/food_and_drinks/food/snacks/meat.dm | 2 +- code/modules/food_and_drinks/food/snacks_vend.dm | 12 ++++++++++++ code/modules/hydroponics/grown/berries.dm | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 6b9f93f573c..8b8d48ec1dc 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -6,7 +6,7 @@ name = "meat" desc = "A slab of meat" icon_state = "meat" - dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky + dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky/healthy bitesize = 3 list_reagents = list("nutriment" = 3) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index fec5f1cdc0f..74ee9ba99b8 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -20,6 +20,12 @@ junkiness = 25 filling_color = "#8B0000" +/obj/item/weapon/reagent_containers/food/snacks/sosjerky/healthy + name = "homemade beef jerky" + desc = "Homemade beef jerky made from the finest space cows." + list_reagents = list("nutriment" = 3, "vitamin" = 1) + junkiness = 0 + /obj/item/weapon/reagent_containers/food/snacks/chips name = "chips" desc = "Commander Riker's What-The-Crisps" @@ -39,6 +45,12 @@ junkiness = 25 filling_color = "#8B0000" +/obj/item/weapon/reagent_containers/food/snacks/no_raisin/healthy + name = "homemade raisins" + desc = "homemade raisins, the best in all of spess." + list_reagents = list("nutriment" = 3, "vitamin" = 2) + junkiness = 0 + /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie name = "space twinkie" icon_state = "space_twinkie" diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index c709e22bde8..6ab8a98ac6b 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -164,7 +164,7 @@ name = "bunch of grapes" desc = "Nutritious!" icon_state = "grapes" - dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin + dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin/healthy filling_color = "#FF1493" bitesize_mod = 2 From 7a48f76d83234bee8ec72d3248c003a7b0d74c11 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 03:31:27 +0000 Subject: [PATCH 06/39] Automatic changelog generation for PR #23121 [ci skip] --- html/changelogs/AutoChangeLog-pr-23121.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23121.yml diff --git a/html/changelogs/AutoChangeLog-pr-23121.yml b/html/changelogs/AutoChangeLog-pr-23121.yml new file mode 100644 index 00000000000..7bc92da3f2b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23121.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - tweak: "drying meat slabs and grapes now yields a healthy non-junkfood snack" From 32c8e178bfb1e0550d7b13aff7e2d04b9d39fd82 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Sat, 21 Jan 2017 20:00:46 -0800 Subject: [PATCH 07/39] Fixes timers not GCing --- code/controllers/subsystem/timer.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 6d7ad339d5f..2bc6c40cfe8 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -284,7 +284,8 @@ var/datum/subsystem/timer/SStimer prev.next = null if (next && next.prev == src) next.prev = null - + next = null + prev = null return QDEL_HINT_IWILLGC proc/addtimer(datum/callback/callback, wait, flags) @@ -335,4 +336,4 @@ proc/addtimer(datum/callback/callback, wait, flags) #undef BUCKET_LEN -#undef BUCKET_POS \ No newline at end of file +#undef BUCKET_POS From 3ab064d9681508ef800bffb2a316b0cbfb18d372 Mon Sep 17 00:00:00 2001 From: sybil-tgstation13 Date: Sun, 22 Jan 2017 04:35:06 +0000 Subject: [PATCH 08/39] Automatic changelog compile, [ci skip] --- html/changelog.html | 84 ++++++++++------------ html/changelogs/.all_changelog.yml | 24 +++++++ html/changelogs/AutoChangeLog-pr-22515.yml | 5 -- html/changelogs/AutoChangeLog-pr-22555.yml | 4 -- html/changelogs/AutoChangeLog-pr-22619.yml | 4 -- html/changelogs/AutoChangeLog-pr-23121.yml | 4 -- html/changelogs/AutoChangeLog-pr-23132.yml | 5 -- html/changelogs/AutoChangeLog-pr-23146.yml | 4 -- html/changelogs/AutoChangeLog-pr-23154.yml | 4 -- html/changelogs/AutoChangeLog-pr-23156.yml | 4 -- html/changelogs/AutoChangeLog-pr-23164.yml | 4 -- html/changelogs/AutoChangeLog-pr-23167.yml | 4 -- 12 files changed, 62 insertions(+), 88 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-22515.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-22555.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-22619.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23121.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23132.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23146.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23154.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23156.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23164.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23167.yml diff --git a/html/changelog.html b/html/changelog.html index fc47d9c7b9e..bcf1bedcabb 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,44 @@ -->
+

22 January 2017

+

ChemicalRascal updated:

+
    +
  • Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive.
  • +
+

Fox McCloud updated:

+
    +
  • drying meat slabs and grapes now yields a healthy non-junkfood snack
  • +
+

Hyena updated:

+
    +
  • Adds paint remover to the janitors closet
  • +
+

Joan updated:

+
    +
  • Clockwork Proselytizers can now convert lattices and catwalks. This has negative gameplay benefit, but looks cool.
  • +
+

Shadowlight213 updated:

+
    +
  • Zombies will now get their claws upon zombification
  • +
+

Tofa01 updated:

+
    +
  • Changed alert message on early launch Authorization shuttle repeal message.
  • +
  • Makes the repeal message work and push a alert to the crew properly, also reports every Authorization repeal now.
  • +
  • Auto Capitalisation will now work with all types of MMI chat
  • +
+

Ultimate-Chimera updated:

+
    +
  • Adds a new costume crate to the cargo ordering console.
  • +
+

XDTM updated:

+
    +
  • Xenobiology consoles are now buildable from circuitboards in R&D. They'll be limited to the area they're built in plus any area with the same name.
  • +
  • Stock Exchange computers are now also buildable this way.
  • +
  • Androids now speak in a more robotic tone of voice.
  • +
+

20 January 2017

CoreOverload updated:

    @@ -1082,52 +1120,6 @@
    • mining/labor shuttles are now radiation proof.
    - -

    20 November 2016

    -

    Basilman updated:

    -
      -
    • Added a new beard style, Broken Man.
    • -
    -

    Cobby updated:

    -
      -
    • Airlock security is only given to vault doors, centcomm, and Secure Tech [Secure Tech just requires a welder]
    • -
    -

    Incoming5643 updated:

    -
      -
    • The warp whistle has been added to the wizard's repertoire of spells and artifacts.
    • -
    • The drop table for summon magic has been expanded.
    • -
    -

    Joan updated:

    -
      -
    • Servant cyborgs no longer have emagged modules.
    • -
    • Servant cyborgs now have a limited selection of scripture and tools, which varies by cyborg type.
    • -
    -

    Kor updated:

    -
      -
    • Station goals will once again function in extended.
    • -
    -

    Swindly updated:

    -
      -
    • Added a nitrous oxide reagent. It can be created by heating 3 parts ammonia, 1 part nitrogen, and 2 parts oxygen to 525K. The process produces water as a by-product and will cause an explosion if too much heat is applied.
    • -
    - -

    19 November 2016

    -

    Crushtoe updated:

    -
      -
    • Added a shiny new icon for the reaper's scythe in-hand and normal sprite. It's 25% less gardener.
    • -
    -

    RandomMarine updated:

    -
      -
    • An instruction paper has been added to the morgue on most maps, because somehow it's needed.
    • -
    -

    Shadowlight213 updated:

    -
      -
    • Added the AI integrity restorer as a modular computer program
    • -
    • Added an AI intelliCard slot. Insert an Intellicard into it to be able to use the restoration program.
    • -
    • Fixes Alarm program detecting ruins
    • -
    • Fixes being unable to toggle the card reader module power
    • -
    • The downloader will now tell you if a program is incompatible with your hardware
    • -
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index d8db8b9790b..ae0f0f36686 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -8869,3 +8869,27 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: A few iconless items have been blacklisted from chameleon clothing. - tweak: Reviver implants now warn you when they're turning on or off, or when giving a heart attack due to EMP. +2017-01-22: + ChemicalRascal: + - tweak: Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive. + Fox McCloud: + - tweak: drying meat slabs and grapes now yields a healthy non-junkfood snack + Hyena: + - rscadd: Adds paint remover to the janitors closet + Joan: + - rscadd: Clockwork Proselytizers can now convert lattices and catwalks. This has + negative gameplay benefit, but looks cool. + Shadowlight213: + - bugfix: Zombies will now get their claws upon zombification + Tofa01: + - tweak: Changed alert message on early launch Authorization shuttle repeal message. + - bugfix: Makes the repeal message work and push a alert to the crew properly, also + reports every Authorization repeal now. + - bugfix: Auto Capitalisation will now work with all types of MMI chat + Ultimate-Chimera: + - rscadd: Adds a new costume crate to the cargo ordering console. + XDTM: + - rscadd: Xenobiology consoles are now buildable from circuitboards in R&D. They'll + be limited to the area they're built in plus any area with the same name. + - rscadd: Stock Exchange computers are now also buildable this way. + - rscadd: Androids now speak in a more robotic tone of voice. diff --git a/html/changelogs/AutoChangeLog-pr-22515.yml b/html/changelogs/AutoChangeLog-pr-22515.yml deleted file mode 100644 index d30bce90488..00000000000 --- a/html/changelogs/AutoChangeLog-pr-22515.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - rscadd: "Xenobiology consoles are now buildable from circuitboards in R&D. They'll be limited to the area they're built in plus any area with the same name." - - rscadd: "Stock Exchange computers are now also buildable this way." diff --git a/html/changelogs/AutoChangeLog-pr-22555.yml b/html/changelogs/AutoChangeLog-pr-22555.yml deleted file mode 100644 index 06b5a420e98..00000000000 --- a/html/changelogs/AutoChangeLog-pr-22555.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ChemicalRascal" -delete-after: True -changes: - - tweak: "Voice analyzers in \"inclusive\" mode (the default mode) are now case-insensitive." diff --git a/html/changelogs/AutoChangeLog-pr-22619.yml b/html/changelogs/AutoChangeLog-pr-22619.yml deleted file mode 100644 index c85c7d743bb..00000000000 --- a/html/changelogs/AutoChangeLog-pr-22619.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hyena" -delete-after: True -changes: - - rscadd: "Adds paint remover to the janitors closet" diff --git a/html/changelogs/AutoChangeLog-pr-23121.yml b/html/changelogs/AutoChangeLog-pr-23121.yml deleted file mode 100644 index 7bc92da3f2b..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23121.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - tweak: "drying meat slabs and grapes now yields a healthy non-junkfood snack" diff --git a/html/changelogs/AutoChangeLog-pr-23132.yml b/html/changelogs/AutoChangeLog-pr-23132.yml deleted file mode 100644 index 33eaf323766..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23132.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Tofa01" -delete-after: True -changes: - - tweak: "Changed alert message on early launch Authorization shuttle repeal message." - - bugfix: "Makes the repeal message work and push a alert to the crew properly, also reports every Authorization repeal now." diff --git a/html/changelogs/AutoChangeLog-pr-23146.yml b/html/changelogs/AutoChangeLog-pr-23146.yml deleted file mode 100644 index 865337638c8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23146.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Clockwork Proselytizers can now convert lattices and catwalks. This has negative gameplay benefit, but looks cool." diff --git a/html/changelogs/AutoChangeLog-pr-23154.yml b/html/changelogs/AutoChangeLog-pr-23154.yml deleted file mode 100644 index 534719b345c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23154.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ultimate-Chimera" -delete-after: True -changes: - - rscadd: "Adds a new costume crate to the cargo ordering console." diff --git a/html/changelogs/AutoChangeLog-pr-23156.yml b/html/changelogs/AutoChangeLog-pr-23156.yml deleted file mode 100644 index 2b42100ae03..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23156.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Tofa01" -delete-after: True -changes: - - bugfix: "Auto Capitalisation will now work with all types of MMI chat" diff --git a/html/changelogs/AutoChangeLog-pr-23164.yml b/html/changelogs/AutoChangeLog-pr-23164.yml deleted file mode 100644 index a7efada347c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23164.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Shadowlight213" -delete-after: True -changes: - - bugfix: "Zombies will now get their claws upon zombification" diff --git a/html/changelogs/AutoChangeLog-pr-23167.yml b/html/changelogs/AutoChangeLog-pr-23167.yml deleted file mode 100644 index 4ba96ff47db..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23167.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - rscadd: "Androids now speak in a more robotic tone of voice." From 511336b148a7e9afe47b476e03a4f9164b5b90dd Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 04:42:40 +0000 Subject: [PATCH 09/39] Automatic changelog generation for PR #23173 [ci skip] --- html/changelogs/AutoChangeLog-pr-23173.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23173.yml diff --git a/html/changelogs/AutoChangeLog-pr-23173.yml b/html/changelogs/AutoChangeLog-pr-23173.yml new file mode 100644 index 00000000000..e9a833fc749 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23173.yml @@ -0,0 +1,4 @@ +author: "Cyberboss" +delete-after: True +changes: + - tweak: "You can no longer meatspike bots and silicons" From 28f3fd2b674da2d420a185576f0c000a89091ded Mon Sep 17 00:00:00 2001 From: sybil-tgstation13 Date: Sun, 22 Jan 2017 05:04:00 +0000 Subject: [PATCH 10/39] Automatic changelog compile, [ci skip] --- html/changelog.html | 4 ++++ html/changelogs/.all_changelog.yml | 2 ++ html/changelogs/AutoChangeLog-pr-23173.yml | 4 ---- 3 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-23173.yml diff --git a/html/changelog.html b/html/changelog.html index bcf1bedcabb..1d1b355d327 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -60,6 +60,10 @@
  • Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive.
+

Cyberboss updated:

+
    +
  • You can no longer meatspike bots and silicons
  • +

Fox McCloud updated:

  • drying meat slabs and grapes now yields a healthy non-junkfood snack
  • diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index ae0f0f36686..7efd90120d4 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -8872,6 +8872,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 2017-01-22: ChemicalRascal: - tweak: Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive. + Cyberboss: + - tweak: You can no longer meatspike bots and silicons Fox McCloud: - tweak: drying meat slabs and grapes now yields a healthy non-junkfood snack Hyena: diff --git a/html/changelogs/AutoChangeLog-pr-23173.yml b/html/changelogs/AutoChangeLog-pr-23173.yml deleted file mode 100644 index e9a833fc749..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23173.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cyberboss" -delete-after: True -changes: - - tweak: "You can no longer meatspike bots and silicons" From 6a0b9a917f71dc60480385ffa17010499e2d3ba2 Mon Sep 17 00:00:00 2001 From: TribeOfBeavers Date: Sun, 22 Jan 2017 01:54:42 -0500 Subject: [PATCH 11/39] Adds a cloak for the HoP. (#23198) * Adds the cloak to HoP's locker * Adds the item to the cloak file. * Updates the Neck files to include new sprites * Updates the Cloak file to include new sprites --- .../crates_lockers/closets/secure/security.dm | 1 + code/modules/clothing/suits/cloaks.dm | 5 +++++ icons/mob/neck.dmi | Bin 32801 -> 31817 bytes icons/obj/clothing/cloaks.dmi | Bin 1882 -> 2114 bytes 4 files changed, 6 insertions(+) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 3f96b0dcddb..be2b31b73ff 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -37,6 +37,7 @@ /obj/structure/closet/secure_closet/hop/New() ..() + new /obj/item/clothing/neck/cloak/hop(src) new /obj/item/clothing/under/rank/head_of_personnel(src) new /obj/item/clothing/head/hopcap(src) new /obj/item/weapon/cartridge/hop(src) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 920f5769e28..46c657455fa 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -50,6 +50,11 @@ name = "captain's cloak" desc = "Worn by the commander of Space Station 13." icon_state = "capcloak" + +/obj/item/clothing/neck/cloak/hop + name = "head of personnel's cloak." + desc = "Worn by the Head of Personnel. It smells faintly of bureaucracy." + icon_state = "hopcloak" /obj/item/clothing/suit/hooded/cloak/drake name = "drake armour" diff --git a/icons/mob/neck.dmi b/icons/mob/neck.dmi index f214a237e00a13fc83ad4bce8d098fc287af76b3..32c23345e290524bce7b36000aedb8e32041cddd 100644 GIT binary patch delta 11574 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
    L#X8H%yz`jJ{d9_Jf!%XR6PGakIw2q1` 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 delta 12349 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 Date: Sun, 22 Jan 2017 01:55:03 -0500 Subject: [PATCH 12/39] Clockwork constructs will toggle clockwork structures instead of attacking them (#23155) --- code/game/gamemodes/clock_cult/clock_structure.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/gamemodes/clock_cult/clock_structure.dm b/code/game/gamemodes/clock_cult/clock_structure.dm index 4554ae23dd0..930f0c0cb11 100644 --- a/code/game/gamemodes/clock_cult/clock_structure.dm +++ b/code/game/gamemodes/clock_cult/clock_structure.dm @@ -76,6 +76,13 @@ return FAILED_UNFASTEN return ..() +/obj/structure/destructible/clockwork/attack_animal(mob/living/simple_animal/M) + if(is_servant_of_ratvar(M)) + attack_hand(M) + return FALSE + else + return ..() + /obj/structure/destructible/clockwork/attackby(obj/item/I, mob/user, params) if(is_servant_of_ratvar(user) && istype(I, /obj/item/weapon/wrench) && unanchored_icon) if(default_unfasten_wrench(user, I, 50) == SUCCESSFUL_UNFASTEN) From 58bd4a6ddced92d5169941dc450ba0c66345d039 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 06:55:04 +0000 Subject: [PATCH 13/39] Automatic changelog generation for PR #23155 [ci skip] --- html/changelogs/AutoChangeLog-pr-23155.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23155.yml diff --git a/html/changelogs/AutoChangeLog-pr-23155.yml b/html/changelogs/AutoChangeLog-pr-23155.yml new file mode 100644 index 00000000000..567a1d01732 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23155.yml @@ -0,0 +1,4 @@ +author: "Joan" +delete-after: True +changes: + - rscadd: "Clockwork constructs will toggle clockwork structures instead of attacking them." From 07b2022ac36c7ac64786aa08c32c1286d4069c85 Mon Sep 17 00:00:00 2001 From: coiax Date: Sun, 22 Jan 2017 17:21:33 +0000 Subject: [PATCH 14/39] Delta emergency shuttle now travels south (#23205) :cl: coiax add: The Delta emergency shuttle now travels towards the south, rather than the north. This changes nothing except which direction the stars rushing past the windows are moving. /:cl: Because people kept saying "WHY DOES IT MOVE NORTH IF THE ENGINES ARE ON THE BACK". --- _maps/map_files/Deltastation/DeltaStation2.dmm | 5 +++-- _maps/shuttles/emergency_delta.dmm | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index bbfc47bb037..316e111d6fd 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -112458,8 +112458,9 @@ dwidth = 11; height = 18; name = "Delta emergency shuttle"; - timid = 0; - width = 30 + width = 30; + preferred_direction = 2; + port_angle = 90 }, /obj/docking_port/stationary{ dheight = 0; diff --git a/_maps/shuttles/emergency_delta.dmm b/_maps/shuttles/emergency_delta.dmm index a1a7fd709ac..c38d6de7b36 100644 --- a/_maps/shuttles/emergency_delta.dmm +++ b/_maps/shuttles/emergency_delta.dmm @@ -46,7 +46,7 @@ "aT" = (/obj/structure/sign/nanotrasen,/turf/closed/wall/mineral/titanium,/area/shuttle/escape) "aU" = (/turf/open/floor/plasteel/bot,/area/shuttle/escape) "aV" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/open/floor/plasteel/warning/side{tag = "icon-plasteel_warn_side (EAST)"; icon_state = "plasteel_warn_side"; dir = 4},/area/shuttle/escape) -"aW" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dheight = 0; dwidth = 11; height = 18; name = "Delta emergency shuttle"; timid = 1; width = 30},/turf/open/floor/plating,/area/shuttle/escape) +"aW" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dheight = 0; dwidth = 11; height = 18; name = "Delta emergency shuttle"; timid = 1; width = 30; preferred_direction = 2; port_angle = 90},/turf/open/floor/plating,/area/shuttle/escape) "aX" = (/obj/structure/flora/ausbushes/grassybush,/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/sunnybush,/obj/structure/window/shuttle,/turf/open/floor/grass,/area/shuttle/escape) "aY" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/shieldgen,/turf/open/floor/plasteel/bot,/area/shuttle/escape) "aZ" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = -3; pixel_y = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = -1},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 3; pixel_y = -5},/turf/open/floor/plasteel/bot,/area/shuttle/escape) From 133d8551ea911c8b4a5ee26c8ffb3f2c555b9e4f Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 17:21:35 +0000 Subject: [PATCH 15/39] Automatic changelog generation for PR #23205 [ci skip] --- html/changelogs/AutoChangeLog-pr-23205.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23205.yml diff --git a/html/changelogs/AutoChangeLog-pr-23205.yml b/html/changelogs/AutoChangeLog-pr-23205.yml new file mode 100644 index 00000000000..38e169e0027 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23205.yml @@ -0,0 +1,6 @@ +author: "coiax" +delete-after: True +changes: + - rscadd: "The Delta emergency shuttle now travels towards the south, rather +than the north. This changes nothing except which direction the stars +rushing past the windows are moving." From c789fc0bc3f9fae00185bd74a299fce3b3d545d8 Mon Sep 17 00:00:00 2001 From: XDTM Date: Sun, 22 Jan 2017 18:21:48 +0100 Subject: [PATCH 16/39] Makes the armblade inhands look more blade-y (#23203) --- icons/mob/inhands/items_lefthand.dmi | Bin 127427 -> 127602 bytes icons/mob/inhands/items_righthand.dmi | Bin 125088 -> 125150 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 767cf4b6fe3e01af17cd916f3476014c077bbb74..31d2fbfa368905cbd0f9b1a7fc41e84798719195 100644 GIT binary patch delta 63199 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 delta 63023 zcmZ^~2UHVH*ft!xbPy1fDk>nT2#TPTNE3Oa_a2ZA(nNY$l-@-|P^uuki-evaRZyBp zFOgnChY(0e@-NTxzTfws|D1o%*<^QTXJ_V~duOiex@QlTX*!o^YTCAd@TZ9-pBeow zD&BEUZ7h|^i!6)fq}FgV>NYZ+yi*@pGG^IAY@Vqc^L1@N?SvY)RMH8J|Ad=}bIcW9 z5}TwGHF3+&5Wg;EK}nm=@|&D0e;jv8kU0F9_3)wN>g>?kuhtxeRU64)!Gmk>eyvFD z1`mqE`Nl)%Mxp^&9d~sba45XBgH|K8@LMZmbz7@x&z_@gw2_oO$A%mj+P(Z~a)EW` zu*Czi$1MDzG7`jPHm}g`(semc9{$ULh)7Z28gSydwy1U2hGhnh8(G6#0)!Xt>sGUb|o(bhdH833qF_DSqy!wuwL1f++7xS~mz?EMQeKeh%ni>V(!O}dx67tqYD@(@tpAHPH z@QZi$-ww&R*TlZ2p}?W6{fMl(&6@$wgiMyQ1lTKsfMndu4z+7byK8T+UYRG9m6r@%Lx+cxXLaQ4MaZ*DHAAi$dPMETshXulStlqGjgJ za_O-+=6M3W)y%$d#he${p=LOdOOVY_i1ityYls=Tl@T~ylWdT9Gho8Mt?W=$ z<-cv=@}}A~GRz+NCM_|CC$T5OsUEP-(L11!FdBnZEkAw#(_yO|7{{y5H}1IsRbmh zlOEai6}s!)w3-P57(BK{455Nqx2+54NKTL6qjPZt5f1L=sT_n_aSg0(6YE8%Hrq9`-+F#r%rIN^hzP#%=Zv<`7fM zdfvANnf0lkK*&A#wN}CyNFAJp7_kP3Kx*x29uOycdy|QU^?c)acX04>WNvQzXV7iv zj9}dCD9s1^5TJXVTX0i74guB0c8f>K2#H>pA^S`U{io~Wm;bIc^%$^FTtBZ|zUSSy z_tQ0mx<5&|eiK+#gPUIPhLM_o&_TwtD^(xyg#h_G@h}6v(L4-ltcBPdsRq|s3A(%cKH=&;{g3}{42f*?-lR0q+?p}5u)X{rW zQZe(bpH0M`f9%r=d!IKE=@PpeiR3IjI(NSzxLQ(oo*5AKl~8_58TmVzIihIf-1DmC zZj;iAuiLnK>C361x0K)PB%EO6baizXfOQ294h|M%5{jGmnzZeZu)FuQPko$^6NU(e0dwl#l?Mz|D)@KqJ^Q z&JH0d1k+ak+5_)4|NZAF8bXnXU7Uof9@*K^Yx^Qjk#9uf1cc38)%?l_G%|PuQ)^0E ziLYv~0J=rPK08mPzk0#Zy^ExFI)6^=08ThnP>lRf;>|d^zuOzbBmQK0zi`@Q-*|h7 z>#KV>yNh0?By_5}NhPwD9PoE~o85Gjb>*|=nb?5ySjYNE0eF~dl4il(#2cjW(*2Hn z@e?`x^rgbJr-QFY%j)6q2ToAkpcki&|0XYfBOa~}u$jYO)P^AA;^>?>N&jrrt}OX( zo&IQw?Zi=tO!oqfJV6T0O{_X+L+?Nv%_ftcl9u_g=v8b zGG8+E%>TvISE``nEm}LiWjON?loWgm9#&JfZs7+nx=hhWKiV)iKEnEBLIZEN6_0@S z+36+lL;0AYXEl0<2+)AFe!Es%b1j^_yu6KjiLZh9z!@6CCCWf_j>6lv0rD{VlxDZ< z=<^qA9FPyO)`1-nVpni#t!a^ls>KO~U){@{$sv#We|D~aa?VW%8NmwQK{L-)2mhH- z(116F$_n^$Rb^)F__3p*RKs84TEhc2SrgEAmACH5JN`}7t|idcq}Q$$cxVGWW9xXM z7XbN|{nqLFO#DwA=S(gn=yH$(?%2QzSkHM1#BcBOgEL?9XLk@9 zJh8KL@=)Si@gF%a`k40uWub;Q#0DkP9I5;4UJk=f9S9Ete{nS&|ByNsz+1}|72j68 zRp!0D7ee6WgX#z!+5{0Se-&mgne%!N)mq@B~3tm!u#Ghd6I$ zlU*|Ftcl#9_Je)c%5g_~FW@tC?e{LHsJM~GD#qjF=g*(_(l6h0$k++6u(DDp*>2n^ zcYOk-d3n}n_dDI|Q)TqjzMRAsC-)|Ri)KBd=82d#1B63{=N`PrMB5-IkGh92(yq{? zh3d=Y7_4oU19}0AW1bd&(1l^Xmc{VsLVX=k3zvs<<3jVxGLlDUs-McArJq z+>DTZq?mZs-CO?!M_3>OB>pS;-EcB%U869^yAX|9d?QD1Z$t3e75&-O9ydVsU4=tz zXHJl)mwv2+ocepaVDC~OwHg@R-Mw(OV$9;29vYgER^^Mg_Bp7^Ta|l{8LFl6eEX8R zmW&5Aj$3==o|M`^RZr~je^)||Cotdhgr7I%2c0^-9l?8tj3>`R@dZn7LmjaxDHFZy z=5?CQ9YJOtJk9uqpX09=&`r0;P91hWCjR#u3i;w5Wb^;3W!7p@Ypb08?d2l98xJ_{ z(0R$OMVe%1ipS6gCKxGNRV{s*d$5NvGl0ZNJeSyyTtOf-7Rj%E)C(mLj`>K^zT-(i+{%%A}ULMKD21#|l-^g&AOC z2}UhRN>@OVwObVb(mdXGmKI@vjJb*50)L%_>3sR?7LO+#qG7giGqa71UMnG75ZT_p za+!uK>9k8qJK?zv7){EtCY#t7gxm0!o_b^!F=*BYKLze+b8#E+pS4!P@=FF8foBG2 zkNULmRJy;D)zK5ux4c3-*OF^auP(6)rrZ8BBE8B%YZ!G4j|2NUn zd1)B1RCSJ2ph$Snf4)F-aYU6lPNax@(fO2zBgTzLtNcl2|Lz7XZ}MJ|G$7Dj3$TJ2_#K3T|gHDfKSf7Z4g3)=Mu**$9oa# zWB#|a-?oc*Oxsdv_s2ObLb}hV<0c}x3_$E~WU}0S-qz<90NDjw z5w581jipZ*RY=Fbz@j-cGf};;w&W}Ev8YJB8A$}Uq*{eZZuSTa|B$;&I{S_V2KNZC z>j~(g3DW#N20+R_gpqnR1}8|5MvA{j(FC1t&o+72It+Z;!xy8I5w6~AgWV_lOZ$7B z%xX}_hqtU+P0pvZA$hFDYI6m1NWlr^B*DS#jD1@jNagt+4K0CEH4@8=A%}!q z>0r_t8Hz;prkd1Qu#6`0ybmOJtZOSGh|&g-=zCn{+DE@~5`H(_t`<@A^J|a<044(~ z-K5P;7l_UQjp7|S$g5Yc@`C)Z?a(I#N2n1R*}2?&#O7&-_Si4JS8GLzA-(V0WV5Wh zt2ciP1B_WucaaDb3D**5Qb}rX*cm)C2PbC`(GayOuAh?MD#JA3MoVR?fj>aM1BNzm z{1W{Ed;{WZZmWVMT{0I2UbrSq;Iu8JYKXcX_BMt-8A}`d94jMoBy+cH9bLZaHPYN1 z#SrN{v7YE)^QF}d9H+)Pr*a#sfaTBPU{jNJNx>ah0I`H7{p~)$Ap3kN58x?nMCpzA zE$ysvC>jGKx$(;}EAjcCo$ODx`0eKXQ2-HPg?2$56Hui}T3*(X{KyVsl#l#_c9J(M zdid=46MAofV0dh7YzJq3Oj|i1Ooy6)9jiu)8m0~$x>Y0jxp&RK*|-vvr%zBnaio*} z^-lF-x_vBai!HE4oc+uSnBwG6D10Cr@MaE!UFxDYa+@>-)Ow}MhwCr12bz-TQFjBp z1o1$AheExOuy!2*zuOx-acjB;gWvso;=s}D8?GddX4d3p*Xl!*=oGs69^7w1pWjn4 zT~kN2$vzp_#TZ*&RUid{K223a3??~NJ)J*)OPlfo2)nO$t4SQjPRXQF?#y7N^sLPL zmKp(n_m_H?PS?lPN6ymlUiIgkM;;SX)Y zNtB)2I5afzPrUhwYmW;7Djob+eP~+-gBG0V+{H)}r&9O*ap*HE(p@6Jb90?j$#)#p zC%k9GaY3;X=`};)JUKxy2MEO@fuCQf{Z(Vh3?IWGNrcxJKZDnw&L{c z7hs5lb5Uu#3%_;&1S4jowQ&YHl5A;vec9s=Xx6Snq-mr(h)o*yCK9qSezIDGX38ee zRBL=FQXx1F`~%GXYclCtfWUl6H>YDo>b-R)WsAlje|l|B+$fnKU7?Jaf;kx&*ri*i zr>E05{rC-5ZR33WT(O>T$mTZ7o|$R-NI+O z$U?m9jSM0iGla>Pp5U`ntON*XrFCrcZ~mbM6bZzDE$d(19)?dsl052(aO~fKS{g4M zwD|98NWz%~$pTDA*ULA(nG`rr_XX4IX}myeEE-Bx>pNvi3I>7ElClW^AV`PID3a-4 zJaS8ceF_gn5cwN5brHnm7?@&(CESX%wh=zY*9CTrJ(cGyG&@bbX@#P8gG1q~zu?fR zqjr?=lFozOh7-z0k#T5=cAmFfitF&N%Yy$6*{l9=@5S zN7cx<;}m*ksOOB!!DM5{PnA#x=x;?s0T4BPb}s52nCTup(Bqrp;7E3&&nKJ5xx1w3-G6AP#&R+H2vjUM&3^-nRY zLdgtN5^`T1(tap$;u7OMAus;{mUOx15{GT!Jqjbid_iywI?ocDs<{6S0QDD9F)`IY zAu(*#hux<_f`U-S*k+3V(WSsYb_VM9|IQR#onElqa~!-CBdTRo(7fb3Z;-tkm3c{Q zN}MAgTWnB@^)!*}?!T%`O0vUX)=haQ{}DjEGkP&h~D=vttzuOZd_hd z8_d)f9R&P3HRHP@nzbb|zI{hqcvZ!UTrm5?`=4wi%Dz;l7SGK&9|6vJ38LJQ81c&9 zC}Y_7O~Z0GB=%ieXF*Tm%U4jOp^*_?NX)5|{f*}4<`X_i=7z(f&ETJp^``5H4JIMj z&J^r3Rjai)Z%q}&1q#~pDxMZSe67)~2k4uxx*%4+yegJ~o-R#zrtkeBp*ysny?#Eyqy?dI3fP8`d z?-A!BSnz08*wgEJupy^Di-CzO)soM(iYlyDPgMDd?m<354!^{aC;2t{RI|gA0-#|l zG*<3Hj*c<;1qBpXxtG$%K0GmYd;@TP>pj;2ba3f?6r=R*ON9kLB~kne!_l-pxg7*! z%U;ZoO@n8RM_wDkZGiV5R;%<_`lG3o5eJ}r1TFbl6^5FMP zf#AuT4!+p-?1$b(PEH9Vz9ypuaY&ZmcPg{FQy&q2+4%#aXU{w9 zU^&DBpqD(8%51T~E?KbY4o5wiBeS_s_$@|E1(Y0`#Y1%iG*TH+Ki|ImhmtVM6w?>A zyE37B)Jq?NO0?B;xfKpT^awc@75N*KxrAK**4~UG`hVVS@zM}YROM1~zP*U}A56cO zv4aHu4{k617q>rSw|zH;yk{0>e=Z@fN1m31{p{QGlI-`6y)Wj9i^-g$~twL*{h#7eO z-8-Fm?U7mCnj^r~9xG?Qcv|rl-~cKc#2w%X-;DT>VU73Aut0lNrG}Jya!}5 z)RoAm(A6ib26QnMO&33X{qAhl{F>oPs*>&Lfqs-&m4>{DDl1|hh-5J(G)W?CY7~y7 zl5Vco{%8Z`428Ub=)VmQ$wvMZ4GvXxP_p}nrrWHaI{>Fd4b4uKWy@Fh3DAEX3YCZE z5mu1LSfJK2B`VWhv+C0u-s~A~_Yu!|Do&?!SGN~%xASg7v#B@00H1uadIr;j>z+NGbo*3e>id>ZL6zB`^X9t506V3_D;+}=dvfbzI6Wn2Y`{qc;=R*OmTi7k`hjno? zr&0gjm1YrQw1z+gAnGcL27IC%xuO8;Qg33Xnp%PR$52!r;f7!b`!kPBR)5W6wA05wV^Nk4C+L2K9;@{`zQPpEr|*y0a+D(b2UR1bZ5 z*IfSFupy-axt01EEV}C@;Tls&;*8u=(DL6DU)wcr!V3znMdW zsQeNucb8{WDWL|$9?h<_ex*Tq!N9q64`z!H4o_v<@L`YWJk+YdHzvH(M3LW%fhM`y zOslGp*8?wtd|G_Bv;jSL*%;ut(Aw4Y{@I$OrLN5u{&7!i=j(d@^vy+qPMEq8IZZ&q zbH9q+WG<^?UC2jBfX-OGL~es?XBWEDWt?e zgS2Qf6B4lWS+DjWl5^kO0s>jzWATitEU43`5J2EFnZNB4mpuh~fw$hKmi5|SlGi@1 zK}-<)T+mRtb2Cf1j@$W&eAJ+m!)9%S48X7b2u96q*SqG}V=7y?=jP^~3Z*WdvlENk zD3(u&@*)ns!Nk)wT}#XC(|L8ZUs_BK(jrG+iK&{R@9bgCEiKnh3n!Azq2gfHPpP0h zNwO|~uvI|+Z?Egu0%#IRXy<6{u0=_8sS!?U+JN zj^Z-i)ZP*i+#^sT8b6-sFHel-AWWK)6v5sSnqe*ZHuk1g+{=t~gH=A5ywn8-74uy( zB4jdIUz@8E4B2`Le=|AZ^_V+!v$SK7uMxKi0|-d;E`H;*P6gq{LHC{WQpk5BO!Yh> ziDJ6OMwpQf=rv5f6wS=nxlhrnlzA_$UWWGC+^jIn z{C6z^`luP%O87kB@sWtn!655>vbi042PfdL-sApfESrw)mm~j;Io@w?Rq}I}bOvw^ zTK`%7$RnaBi8r2r$1>BogAtu>_xQWgoBamR_vz`51D2ow@Bxfbd4v5@<$cbLeqip( z=48SP74h9yl8TXoyBKC$**AIG%MOl&Y=ggM*{!!rF#N9;>%J{pkj9Zg4XPQOJ-(D= zxjzP62orMBHN+%Q&)b03ywF4^7DJ;U_Db0l=!ReO>>S6noYTlR7C;@{TrPhmdIkr$ zuDXvdm9ZZ;+t(9wxfS+4N6&zqOSMW(07;^|xXZ^etzK;RX1Q^T&_aN^bT3!8#lnSd z>l1iXP(H#_@!hRlZD)(|i>>r`hKbv#9hTGM*6hF?b_t*;_|^D)vo2+pVi0a4Z81)4 zHHa^{qJ6&RAnnaZZb7=9ty9M5dIx8}u#%qlseds_ub{|(ZYpSXxJYCBCdOm#L35hi z*FL2m>`=&o<9~*~5y!WYYi_7sab3R5*-V9yX8)x`>F4!YpYCRzXq1(d{0Q{cwX(Xi zoGItLHCYQdxw#qowx2VtfeZ=dAE#4o=GdZ%@4gJCHm&ZKqN1XZ6X=>v1;|Y$Sb|S7 z#bOv2PkhIr#_QQ2Ljal9ewQ(B>GT-yVPwNV$wypecupaM7z1_pr0<)J54Gkmp)tuZ z9*Py3@Np=N{}y=R503fK{>L5v$QoiOB~a^YT8T{E=BfZwCU=pf;POX_<|pO!_GEUu zz!ui))7OS^9f!~!!(@0p$7=>zdzP%-W4573mhZJchDlqwsBQdMux@wW89j8Qt*eyI z7ifs^G%wx65WAmrpB}vY`ZW*x`}TeJwdP?8wUGAPOgvpxn%Qs)Yluv69&_|Dz;{6& zlC(H!HIOZ9%p>Co38nr#TCB}kpqAX@JtSXz#PbVGP#IBsxCY@FYB}eX<=*y%35Fmo z`i~*TPEtqKUfo)9H6*iOK=T_=y{ru-K7h@^kI$av34!!>T9`qeUXtqIH|3B7- z@_un#k6wt(2b9YmY&w;*Ao)<1=NddFpOf*XH@0Xx!jwk4>nWiM~zfQg9 zKG$_JBEoA)4S|ze2S5o}n?d#Wy}quvqYZM%8Ix-pWtI)@Ouwa@&Dbbn9ytW9H-FJq zFfukPBKtA4mf`v9ESncPA)tWIV{`#+&ul%WT2D0kk6CUnyYYd{GDnq#W|X zI(#y|TO*p#DL`S}!qKkxhpc#xZcU`m#hK$+)0gd^GA_Fws*UfyY6QqUVZlrkc6m32j5W!^9yi#(Rdm4~%cszkYHguq@))^&^+deiYa1J< z7ct*B1l@_q{z&*xQ$?jaTKn6-jFp|+<^|1u>>>0Hj`SxPivpyL$nL(StBz)rrM*%7 z;V)La?HNZof{m3`_imKR9NB+M6~Qoo5Gc z`^WO?|14?{6nyCpas!E~!26`xY>-d80U{r8IGhR$mK)Q|ucER%@U}$u@&Ax%7w0xZ zHV>4PP0TU;b=vxkRVb5BBYn)q!m+ECaQ3H zUd0dPYdJ#`G%Cw2b1i=K5E&ekXa7c61^I{1*TehH<`J&f%{;~civc#V>YH~qH#f-x zZe1vwQ(AhJ!v)b7DJv_BaMH>kdR|g)|LA(w^aKBDHdvC*KIxNr;ZVAP$3`pgDe|!gsCYc&Q2u>JOg^zf_INJ;*0X6Tl@jo>x|`Ah+@P zcUOy>3}b@$3HA;=SOwfO-CLhaytaII*$hBULPQ}HR~;WQHKAg|D*M3sd2bP0camoK z{EJVPYLPbBow<&RO=By5dz3+bZUF+JFcMfU6pE^d9S6+yIZbu5hj!*#?qO4~(s14* zlbEdLmM~5`(H~M73GF{V_Hj2;X-9kVR!^?B zqhqlV0oJQ)>BGaDo&8Z16l0e-8Rqfp;@x7}A;2)ES`HH;!}w&W$7Sm@xW-3H*;-Jr zV}2eAWQJ<8UvfJzRmuz=&#musWDK-??#s&&6&Dw$(Fij#D%z-qhMvik>r3c-F0W3a z)|+uWH?72Kv)`><*C&{MbT|!j9JpU1G;_*^umsow(5k>~DcJOw@i(okdo+IO?`!Bx zioM1}E5Y5((6(S0QrX;WW?*dW9V!BtN#<3Qm0cufF*G#%z)^94THZdwCW{F#HI$c? z{d3Et=J9=L>G&BBq-Eo2m#}EMMQ|-km^0N@TQX7a!efh<``xvdli8Yja)!>Y+#>dn zynJ9U!LGVsTFI+=!iU)>7?_!DmXX|d)ka){gJ~!32xuOz(Gn)ITI2X$X?}C>rnD5~KXr&E2PRv3hVNHe63};A-8BmyCme!IEzV=d<;a!{jjVWbd4+HRW2{seSCc0%s`ig zl>MZ=yKW1Rdv-EPQ}PWASX=H@?pvP@Si!|4_w!Rrk3{Op!x=nwh zMUPi@M$oe5k=0h*_mmBlUFIR2#R{LfNb1mEy2Y}+y*>HW{@MIP@Hc*Zem+Tw_H}lG ze0ue*lLVlMY#Kqp(>u5?{uQHFC>UryK+AYwT+RmGP@S~I_bX@O&u@G1%8ViuixjJ= z_{I)CQlybtjZV?oxfJXjhWmMpOI)F5n8P9KwV#%{e%D^vBnN>j}eZ!+3Gz(E|F)zQ>WY-_*vTgs`Hiin|_ zL|AFw>@$|Km+c>)f&3;z*3bQK2y!8cy9*5csn+KUQ@1QH##2L~LHRzX=ma@Lw>128iCU=ctMg?UN+@NoC z_|qPoyM@_9ca9N8M#jZ(TkIuE4$q7w_u$~zlfRQ~6_BD~j9ah~1*Fz?R2_rCboi@B zcg>0l3iLos2K^>|cY*oaN1Uc)ndSd9zBM&e#p_sLawOzU-^*N0qYwIv!F)C zBliIn(9v1K?0+;`e<%0yA$-#ze~L`H+TZ~;sBf$A7IxAH7|mgLgV}~zLT}fcHcnhW zidSZ_Ff$X?f)ZXyc&}=B;Wmob7++yX?ya!NkOr}YnnzkTjaJIa;U#T-x%U)%)lHVF z+Dela#3NnMWi(MQEHPo@4g02=QE!J7@D=_i3(?&TNP^q`wg+H-%c4=|hvz#o&$|ay zyEc;4?L7b>24^uDs@^k>Q?B7Fe*2r*CQs3i-@n@bw2;4f+Z?VjLl~4@-`gKr>-^V3nesu{!1?36 zx;p)tIzMp(Mj7vY+cV!+zP>JCXlddfBEuFigG7yv(^xfV#=M)TU8}SIdC3h$Bp|+x z-B%ukSdXW{dKu^DWa^5j`FC7ZgM#pRGw_B6TkqYw!Hv~YbvIr!M0iK`_~P}z8Qghv z>%^C0YxI z$7lNLwkA?8=`^<%T)y>ZVgj59`2aQ{jrMmfp*Wk#kkXQp;pOfvRL4#-ot;4F*@@Tt zw6u?diQM4gJu_3&kG`OC`AZ_9A@-5LxCf0cL&p`5tkrr%6_Ydu>xzB<-uh38Zc@W* zaC~Mfc#_y5f8z!u44mA19k#S{ytUSQTW$~#dEo7k;gJ!WAVd`PXeAhWsE}9Blvd@31cL>o&y2 zC8{v@Pc&KEwv6{5e39GF8k11MNps}~!p`=#s)vVom`zo0Lz7>Ib1sq`a_f1xjj0zme7`2`56bSINF=m}?3PdD@pO89 z+l(p4^KWxEqBh6MufhCUT9amy3PRL$5Fs)M?3gRLY!txlm`yN#K8hx3|MbhAfs173 z9=fRoCZj6edTmeFe`tUbi=k8_jO5{dX;i$y#s&sXMuy$?_V%AD*zbsmEiDO0?tJ*I zS3%Jw|Fo^x`{Gmb()I>$cAuR@CF44yz5LW;P53m7>EFzHH~Gyx==IiQr}wI$WJ>Ly zQS>*w5Co9Z^bIw!HVcf3?PTzrBw%*w1AB#PArpS}e51C88e?0IvNaL!{NatVxaqqTt#lVFG2 zPXf7Pt~S91V_ZC@m5gC9@k@6sWYz^6=3{_3ub(v4V8Y67%(pjfFuhDmf$F zSPH2sFaP<%`R}pHOPkagiHHD=CPMhEQ0K<}DWztuj-lZVp#=V98N)YGl^|5f@)_ITs1Ec!030)z=kWqxz>;&eSV6T8Guk$q)Dv9CtHmUpWUeF4fK z*#`UlxB2JWwhYczqk3&6jN}`Z;L2l757Ar5i<-~e+u?3AH2^6zfmikt9=qEcu$CRY zickNpZdmpLy^;Y{x-qt}7wo~;TS{{r-x+r>U>(2wXX@j@k*Rep`?XKE@8*5R9 zzf~4eXQU`ufAv2ImwTe46}YOsp7Zk8SV&7TPdJ0_QqRxEZJhvjyOS2zi94Vz9&GMJ zI4pETb|1~+7t}ko$sjLgW{b$$!9&*R<+}OgM`5?9!2<=02KQ`-){?teocwDsQPFSb zWB>xP0{0ftv<0C0UQd%fM!dA$O@#K#aV>~d7(=uz#RG$aYR?kxLE85by;^<8>A7A} z#Q_fB%0k^AWW}&Yva zI5okC?(E)QG!>pPkd{x$e`IknJuZ`!`KG1wf(H~l%P-1sMj;3L@+^UahhgSUIKmzVVr#UN zo&fKYXIP}~EL6+AwtP!C2U0E|b};e55KKedoSayE;mS_npQMZ%QWhgPT_MjAaJhlk zDiR||0tqgaxulr83=A;Z=KAi=-_}w%UDoiaDLYh;?0aTd_Ge_|v!Su^ zAw>dYU-9*Mypeq2I^;MAH7jz;3n_mjeX1q5`ij}Q+ATs8wN`Ts8N}==VizVe#hruv ze4NjxpoMWmW~U`#qs3)??Z^kGw-7eM`jYQ|aYD*@jCyWpqy_-DKM;{lpso|kJ zQ`{<<|FQ7AsXE6Qx~Q%BJ9o}_v_B6pb`PCD>Upow_WAS8jpaR`Q_Yn; z#V-6uujvexm6ZpjKc5oitIoKLKMyi?Cr{SiEWhXqB9r@d=va|JNy;RUW`DVqL;3GV z3*@PeyI-6Xv+iqBg(j5itVJy*o-FGKb z{2y|z^3cr^^SJcPtbs~J$l%fO>a#0iVX^0i`gfy?P=L&XS#7}D-c-Eg3*_YcF*IvjAvz@&}sH;{!jTwJsf=(}NJ~m5X8Bl28zm8lJlnN!y z+z_qMX8%y6j4A{m(~$elkx~l(+AE*s_U}uy5RD zS@aNp%zF99QzM(I-PW&0koMc!^=k9!jeC-gqC*V|?_Z2qq8RdSdbic}j}>mTvpwyW zar=nYzaJ@PgE^GwEDnVWUcJbbL4%yWaZpSybCvQU9bhmEce?U{{280BU&N7v_T`)4 z?u=jS+}H*!7dHl~2y2J-tV=lkVLOq4ottaVQ{Ycy?@BV+os{RcSTsnN9~qY78Uod2 z-2=)jQ@>wd@m))+U;I!!UB7u_yK1KzjN#YRF;XmeaO;85=Ig&<;yyY}Wz|P+qn1ea z(!YT5%AWDN{Ztr7OG2H9$RNev!sa|b=SL@+kjl!ii&ys&UX6K}=gd$IRO?uzdCnD1 z=|72^a!j{Jz`cVY86mzOD`(2%u08-)18k!_TFusxh`^oG#r-uaJz^s3X*gQjMqmED z!N<%dbI_>Od?8Z$gmR_H(DO=8IbMYTkBPZkBSV>U0@Ch>a|s3}Q|}S$bZTHk>FGF>Ve#cm6S8bS5C)J6n}0g@U@jW7nA0+Nj@njYe9SyN3eTmVtjxF0LluV z?RZ}K_&E18{q)Q2@BgP(sbbhF^Vn<^-!ALYS(sh~Pt1}Q-^}TX&k}zK_?A9GfvzRg z>2rXmY*kep_`&pM=^~N56wzM;zky10b5SxEGI3XKT`ic@$hfNr?pODEU64sjcOlef zY!I{21rPF!kq4f-|2%sNT=jhW*&m0f9N4%UaPuqnVUqHNVBgCR5cAQyb27Z7*y%q$ zLRX7gcc8lQ=NGtPyWtWHN#{)(^M3~F^dTib-XjR^yuMj|_hp|bi|UqGPSw5w^5 zu(?FektTo_S+j6g9`*um?|jM)6fd5JQw+~kIhN4y8 zQzwD^ki1Y}=>nvE9yrZjaa%$5&Gh4YA{D;WvjxgJH?W8n#Fp%ZH0;wVJfO1cMRc0N z%4H^y0S`(oaywXh8WYj53UAE?Jt@$=rg*00y{teT)1ft^o*QnS<1(?VYE^6|Qc6c? z%^1k!J%2wZIbtb4Nz`b*o@a>O?hzQT`4blbn8ZbR*i?q*t{7D(QeEc_Mo=(NHsBx) z3!jSovMAGRs7lEKR=U`w>%_dM4Bm60-?-R>&BDEdRE)iB1W z^V&iJ{Ex&@Z-Vk)VjFic1w?3ozcCOsW?JByI=ksLKJA3@qh1sm9mbnjU%~LL1 zV^80Xy*!m$c(Y+UD)!uEG2Cj_zh_D9E6_luG2{6-#+g8xIrmPul>sb347fuY@jf?- z4$@1dLium-=LR;1w2@i5H!%j^Hv4|oIIsOY*H8F)U_u={*rIH4+p*O2NME@YBl&>K z4_d#S0 z{XXj6;A<@1oO(4A1;hhCV~4<4gkzp&s_-BECP_2?;3~`0zhCRc_*;9P={y7-T~|-< zozGm;T8Zea( zaLVDnYbMZfsjTe2St3k*( z8+v!t zCAP&{R493(v3$5k6|PmXn(R*VtHg2tv3n=!)hL5kX{9zvcPaqC2eA6S-UuM$YSe3o>>uZ}iW?;otH2e#o~Q1RrlfA8uK2 zY0q#`-`@!?;qJWg+j}(+$ky;TqgDBXKfHgR_vK5MzK*G$-kYyqw~((CUM^n%acNpW zrEO7hF-=HFh|Ko4QF7TH=i=-rP~QYOCE)M=b4va1TU?~OI_Uu%;^g9{YL3Ihi~J)} zLTRtDOT$Or{HdM3_*h@RjCnqJ5qeo8bSX#L^U$2L0M~DRZ=t$~k@zrWVr;IJ`rNrP zQO#Va#_@a>Ux|?xTzmq$SV%fw#nY0DgzpQRrmSZOD9m!1qN4Mrew|PIM zupCf&_CTaiA%;tiCNn@5;@4xBP{WF-ahhBLfv~>2i)A-B#$pSq#qm5kWzk5;T}NVl zG6svqUmP^s*w|160O;y3Sef%qHh?h!QrLu-&axK`z!ja9d_=n%;ev-~f4Z-Jt7%0x zSqnV)f<(;k5el@l$=8k)%H9ei&0qfX<6{Iixt_V74i?~2w*n;o^d-(r-@i?Eb(s2F zAvE9g6A{p73;VEG2KjI}B8VoMn~zQu6GJxi@=7%?OdNhSh$(!gZ`khUHnrVQ*znrP zRo{CsajeS05NUMO;G-|aU7t9^?85EE8|qodqSfQ}Wc0q~g{yjoUFx%E!@fgU424K z+*DV3hO}wFC3|HQ?1o^j3(h3hh>Xdlv4c zBX1sP)`*q|?5+iKF9VU^-OcPXnhk z_|@eIsO1Y7LC1p`!>AN_uFb*4g@1UnLmbs7NW~rMQp!K>QeKH`a57^9gK*F*4)AcN z%QA2@{HCW>C(Kq>>4GlF5Hl_Z>n@+W`={DB|0TGV#t|p&Hhmw`p6P+uKuav%Rio#; z!wwep9p54ycBR3lot~ z9O^fc3YShz?q&&T<+x^qiUwDyH&s!)cY9LYfr2}#*G8Ma>Q+xn>|V3 zdYv4+eC;*yp*@S;39rfpp5oIK{AlxBQ9GItpXhRU16%CVqWO9P&zV`W=IShHnH9B_ z+9+i!zz!c{0{JY9=EkrIslF^BZ7?*d{#nYWPNVA)ao{SunFeicY4Kq?c^N1aRu$fGGpD!NU99NKQ zGtAm>($h?Tg7CRZI*E9&XqCxuU%3KwdA;Zyov4m6JfZjJ25J1q%o)UJDWUacm46|I z;r{)s1%Cp}nMy(Tp)|N$_OIKlZ|61E(>cjl&qTfMHl!Hp%+!QJORolXxC%N5kt7)W=R+Jb#?=n1c${PY@{AZkk_ z>;J>no5w@-{SUxsp|aFRCD~F+C4}rTNs(+Vmh9PgLe?>EB3cQRomM+z8%wX2%%%{)y_dI_*Uhchf@7d3JpYwj7_ja(#UhcfYjSV*s$++$8#z44(eGShJ zHRUk)3`A&YYp47(wm6yaH#3V9oY?-en!9ibI`_nSUl-stJ#QPmx>XiyH~1R8aeJ9R zW=$19UC@Ga=UO(K^i0JW1HUtkHr1lDBPax~=dZ`Lro6~5ej-Hp=VaUgDjpwDY7dyKo`6PM80}Y!J@UUL!|Cmt?%vWa1Eu_qk z=iffXY><>6fpDzsX92(WOvT#cDsu)CHab!^6vFE4K9t&DnE@QDpN?LnmEkXdGu(D} zr`owoxUke05U^JKkGI)S&RrP=sBQPFK4~Hd4%h6w#3`hr!Mv&q`S9kja~v8*hH#gu z{+)}Vluul_>wGLJyt$L6BJ`0$y65%O50@?ZvX>@KHI95cF?2iPmvjNkxziIn$HMaN zjk%cy25x^`21;go)Uq!6ZH<(8Pp5T#CDkGDFYph_A4wHEcYRzQE05pJ?_YI5ePC_@q-jhG37DmFJ#99(<45&3SO(QsXb@%xB-X?j@15 z$Fl%mpume4Wl1xAHnvN;y}w$rYRy9LpWEUC7+DrC4U#(4(ERX$qpvlU!`*_@xXBCM zdrG#ECF!|k9K0{%QNsb2cFj8%OqrAW?!hXXXP32&1Yd{$0V=_$sHpw8f%9NBX|KY# zv1T(D#53G}_MBq1MVLI+>^Q6s?g+Nh=d{!hCn;YE4p^g&Ca&Z&&sqHFe`+Q|QM%I4 zASd)`W8xEe?zDEaDf!O5{V4L%#PP3B^{VlUXvD2k>c;hZ?Dc^47qZyI=H|*{39iqU zKX5@wWTXC!Vh?pqjv={JEmJp>5LBBokx_nDHe#HROCjyd%BvxvDdld76;-EE>b~1<7bCw>NPj_ zef4I~1frM_JEiv(FSRO z?hLS@dPrOX-%q!zH~YkF(v)j5At~fPux4WpzeZwg1=s)7WxAG@m!EN->!^#(D=dy2 zYx&;Mvoc)fN0OYtw7eIYxfoeFMb^gcXEN7(p{53~DgOzs8=nND0Tb?g=FL~fUw~`F z|6dD^xTjG&18s`7@VZ|hmkcmHw-uWlByoj4&F8p3t4V}vl$^05%?!hV8X zSlW>WAEyH5%g0zvkj1;Um&YWou$)i}xgu4we%&Vj39tj8xxHkv7;{{9@9E?tR|lSz zOS64{h=+c&BjXrOXkYBtTD~<5fixSoC4X!2_iW3bq=-DDL1PnGMZjzXHplu1;G^7l z=H2u8=I5-e{lKY2Yh;6$6{z0l($ar`v?K@+6T2$nJcxx=|5av%bJjVD`J((@%>-m|sZ$)=#f#bq1%=SVzF7ktVR(K3g>sq|H!3Hv_D>v3VE@>`yf{m%U z6qn)6dinDCq|hVv`@+ikjNYC+YBeNu>yaeR`LG_y;G*)Q$tUv)f9f!vo}L-FgSwuc zg)C2iFm*rj#toyb$ir;<`rYQ{zUtC1zv=EXH~+Z1gBWuHCdcaU##0!B{rxw_-d`&G zB?4r!nRdL1%D%iN&61O^uUpRD;@~J3d$bjefx6(hFOU_RhrrXJeQBaEae}DRqTOs3 z$MR2p{FHk^A=dNmq+py)=pnEpa@Nr~0Q%zUzW1eSwP&$=_)4Kcmc!y-3KOc3eUF7{t%rZQRf0fW-Q^@VOVk_9vVSXIwSQly>Uj7Ff z^r?xr^#)@%H?2kaTFv^k0=gykPl+mP+6r`n2?h>3@Tq5fP9$p+TgC*S(NcFZ;-E0k zJFvZ8)(7uagz>OE980g>q+k7w`$g$~NLF^U&I{lesyRBHm#pann%I&n)UsK`0QYjx z(x>@O~CsrexSc_ft;Ru>wb#Ld>u^dkNjiU8tE{ZERuj3Oc6!;bBwUSr>2bz*>>j zKO5StEV1h393<^f$_jeIK^|3?XD&hoV>$VZ&zj|<$qraaTM#~enRb1V3g0xJ%zZoT zZY}cieW8d;K!c4d=!)_`!y=d9AJ}^Gc&2lSrj!jP(>fZ?a zjzXcPH@7j*pS@~+xE5oxueaqR2swI)@6C_dHAto#@xS29HR3?Phnw#c}1YDjh~igU`-K7@$kNV34AO;J??jMeSbl&H#2rtZ`l~y z-)T|m#r7=__rf)LyZ49hW$7}!{rOlu=bF_)Qzf|E0al{Ho)D~6;EU|cklQ=Qu9L^C zAJmah$QKT>i|`Y0W{89A3nT*Xp2h4G@hBdV82gr(-QK}Dq{*RU`GSSN*4H-f&&|ZB zu5$dr62PNd7zR12J23m?D~M_fbOT~md5Pp`qMUujU>FhrOLQgOU|?|2>Ec7&$P)%X z>Ftby!*i9*p9w51*_>lj?jjKi;HCIcPg4EG@bK_%Q?K2R_hzM8+OMTHD>9~BuBR$! zmQ;GVh0iHa&p4Y@gni6Cp5#kw{4z}@Y{0Hwgw*J0G@5-gFw{&HBb@12&no)Q9Y-Mg=325j_{E0nvsUHv|M`c&^! z;N+D;t~)MX4obVE&h+&&kpN$QRHOCZzithPq3A*@D`3r0CwwMZ&(7VHcry>bQ} z+9`AHIQZwg!S@4P`nXE_s-W!%9yuGh*X4({k(hfAL_elpR{Tv&M8m=NJ?V*;8*DCk ziLPHb<7~eiILAV<*~_ABT%XvLdg+PLb94Fz*Mslp)y1o7L&qIT9`&4f2Zd^$tNAdq z5fNrH1(azVJa<`gceZ3qO&NCRD!_acB zS}p|-jtSMf{#pK&Ere5)GG)4z}q7)jk z4|bjM#}Hkq>z}N4qNNSCYCUOJm(ZaPcXR=Qu*DVIYMy&uP*_MLqMp}{aS14#-%!Eo z4bisjI}vIFS&-Db&?C8?r>JhyeRBXSucC(Qf#%PB&~y#fy*B9*`FVk>qq*cm5Py`) zV)n~w0i{`|(SY-+iZjh`8tV`gSq5YCm+(U?x$s6jiTQwPOJ7_5vWXF84t!R-A;#v9kotL2yP=CB4*p^jXFPCR`>nDQ4~_(Z#%^ z6FZ}_LA33fqN(6}F0vR*P8kuD(P- zrK4Vl06zrD{9!nO5l{5kx!3MOTjVy>ewF=Jd_T!>l&c?`b9yD~E%r(#%+Ti{Q&kV* z{iu4Dhui9Rb+_-ctgBHA0eVm9qnw77+D-0lxNKp0nRlB?T(kq; zxTfd)Ym34Rysfbk3f|+FR-xVHzGrn-7|KdwN2=nX;7YKr%GzM4n{8~jI^HCbW@)o& z2Ksc*IbYDRC6jgX%nUw%tjsf|N&+gx8TVKSsKBwb*>ud9Md%G4aRJH!FQL5FU?qdkUu*znrt-|6*ypJxV_ z$q71p@pkET|K69u-BGb@ETbXxliv$j=;*|I7V6LKYlkWqOiw6!2{shDpq85jypJY` z8*0fW{{)`xWO2rVDvvo*>1z{{%?yOLpGBO+T40w=rqmL{Q$8&8GNUfZMtC^FAFU9i zB6TFr0+RhWTC#nVB^Q5a#fY#J(ed4gv9vn|4UfY@eNO*|)v=~3h_C;8nem{L3s8f{ zglQS&VIKRY0^u4jN;9ov@XN;!heelh!e30=Pt+kEV8YbSi5?qat6!Q|^&M~d4Ib-b zJRx!uNE?hW(3Vx-l0D(u7EM{L<^i?d{}wt3O@tEk`x!Vl!PE`3-S@V`6$J%)ssSyJ zH%P}|O=RM7NytQU@S2?Gs8d(V+0&a$(}fvfkNrJR<=JLf=tdvQII%jIN$+E++!`~7 z>1;iuzP1ts7m({);|J3tUE>Y$M&G@~^#F98ZP{ZP@(XOu4)4B1P~!{XtDvf7U~h7Hdeuxa0D zT5gx?>Sw~yU^WJspRb8ccCHF}xJ33!S8yUYm4wmAdKS)A9uk~DlZB1t^$8g^)qs^> zp(5{iVG67)#kChyp%o&dh5#g_mvgqX^T>gACLBzv`o^E5Hfg*^f*%9z7AL&v`0(%x z_oB-E^XY*ZYq2G%{y)C+4>bCoK3yukN;&Lp^rQ{dy4Ds~FVqp*`x1H% z8bIsM;#vdw#B$B*R9XJ}GdpnWS4f%)JMEy`1nb{#^+#Zuohr%KqH+uH1D; z<>hDf0njPs`MiUKZpl>@JZWQhx@o8{c;R@mvZ?Wj3!$RQe`6m!I^|7jILwCA_@jyb z6}majHJ7mM^$WNu!L3(B(+PGf8cO^BMtysv!DjoZFq?E(74ij_ct?~>v&V@9pIf`# zlCn;XNt4`H_Mz39g#jg(1KE( zwbSJp`+N;rH>UWBTv=>R@~pPTj_@Q}1tf1HA(4?wdo>CU%`+-_e^vpzgrE^|Bu+vM(kSRiFjUXA z>I-lk*>bg(cUAE}sIe|!dqMF?vG`QgypR=W8lnA_mLI*iIRwCf+GhMT)I7}YGB*3`QQL@hA; za5S&*;HQnhQn2zby|x40bw^JdY6Yy0x;9y(frqTuly^BDEAR(O)EtzBRdg6iCo|v@ zId#CNUODTlCuL#Vx_mJ&VP8Y6d36&7THU)rV?g?@_F{{ThB3F|GpvJtRe1#I`jIbm zoYi4$w$qvU>Bm+HxP|qr2m}n}2rWC3$N4HZ>w5%5K78|rT66sWShy3nzZTW@do}7@ zFwM&Hl&k-YNbHS~Tdq(mKqb}@3%&Vu++1AVimB1I`UV{nt(-Qoep=YXUTxD#N(<1#af1U=>ol_M&Q{uh?#me4S>OW%=cDIw}Ev^k&2;U-Q z)aUo9{ZV=WvGoBEGFf{`BI9c_*%hb=(8b9Z%Ne(o#jghw2*>Cn-daMc0Y>)rU!u4K zoF*IqSNCY`cwJ_KVzz@Ppol24`=uRZ)zK~MrGs9>;=)+`$hST583LED#T(W7Wt*M! zqpih^ceS?alqvv{Y_a9=)gI-DjY_qsL{vZ<#C=A0qyn4xCc58y{gKW+`$k}Ki`(}5 z$Kag1U(09At{ex?-`uZ$e!c!bp*$$*Y=~jikgBNwa!mlxx|!nbVyz`V7QXw9}-?{D;2%ijtj^zQ7qpobsYtr4mx>q0tW&EY?| z&oFg7fp1VN1aW|*uU~{-n-@#d8=UJigy9qU^;j>QQ~>rql{0?v4)}e$40^ngmD=dz zh3@N_kZ_`<9_wj{O@Mxz{${MzhhUtl5wSn{?ia0_7#m>Ie^Nlee=gZM&#cUeyxArl zTTLfoZ47st-{o}xGC;bR0JHna(Kj@d1Ef4UoAeGW0Lg($Kj-`A<|k=kOPjMjya`fm z9~R5P_rz9*0Zq&chI;oZ1r!~ z1&$JH7|t!A5=2Z^xs2k(uoRiL2d&^@7}2xst@f#vW`|^8MOJnB^|IXh@`i+mb{UNW z;!u(rmllOvt5gZuXbN+~k6hwcjePeNzRI{Wa-lH2)&%1j_#&)$&5TwtcD833N!eJe zns*kty`8OOXwc)7sg7V%WmFk!sh-8Fkr8<^PK}@jk2~bCNg~uq_MWxO(9PDJhnwG* zy}^$D-4BO61;7D2F|?Zrgk8hcfk>#rJC+*%dwG3;Iiq(OGEG5rm`nF5zaRVfZpBym zFK5kXzzyIe!NK79H{QM&#feZ2JWkOR*qYGESj;&!ah-v2+IH80mC>#g`IcL8J^^5K z=hOTQe)~8zE}K(qN6KBp_SN6&vX;bur)R9Ou9&i@5E4tD3jRCp5Eyu~)F$uRck3al zZ?{T2K9a|`>zw!V2p0e?9UzD@0MZwg)vhZwlc2vxFc8$RjOYDF8poLzzK1;}dq3wL zcb$o0lrAvQsaxrq1(D1Z);jN$FJ`BV*d)CS&(1f~(Uo@}zHQv7C5YCK;CuQYv1xlO zah-gBV4R=;MO<`VW2pC!6vicnKpwD>tpu~a4$IxLily$sd(|c%yz0uV9v>@81j*n| zBAAQYXuMQU`yp7rH_mF>HB|!@fH(IWE9m>y89yRom8{xELA;`YwG)dV@_lmYGX#Jq z2TZu`Q%LxMLJLLOP75risDXIz@N&a0%W=3c$kzm|+3cRA6M6r!5@(v+TdG%f^KM;J)i9Yk9-%_LNDp zRHY06((X+!kEO`lURh%(Gdu4jyu&qR2i7?_$!UUJprB)vZ0(WKv&Ej|PvzxC z%&{5u=ZJX^}FV_iwjv5UJr_U@1e`4_{kwObr0ctugrT; zc@YF{J_Svt5Mu_lc_M`GwzDitn|2AmEP*Cr;m?RNkwW#Uo%aG5r+9Pr-!w6|oA zTi_hry8v)7ax|m4i*TGNlFCX4n8*tMU`sLoPo!VD$9VdI?Jw`YZcJc|N#ozanxpx~ zrUqZt@exwKqdf9A-+yZnvEOwAu`M5LShenQDtTS)LPvD)S2wvFUlM)Ir*Mp%=uEPh zA$tt|(#467#+t;d*Lc5Msr6wHqbXaPBf`wmO~Wu^v~^o7)T@%eaRhT9Tpt6rP-=Z@z71sC1S=4NcdED04U^T8^%TZ z5r+Zmx5G2#u)R{i-U@U#D{1+OxK`R-+W---)J=83a~Oo4%Ux_2SX0FzmF}hn?-=Q7 zJ9TAvs_#thX$s@G({h~4S7lI-+3UdU-k!9gL&LlQbI2S)-jZ?07WwyQ-vG?%`<`Vo zk0!6#Gfc+mho1xF{cG`o+!UA%OGB923(8Yz@3x0a7Q9Vb==hG+V{jqjg}bR?VIPwP zFpatvRLY!UW!j6SIFNG>s*9T8zeFTRiXU*9M(q*n=yrKPFn(tAjC=Gf%rN2h+% z<;%j~|4e!svMQe2IaU zJz=>qytUdn5tYDIkCnFi@I7xPXe0p6{wovevod{Ss{{6%p8zI3`M*?y9N*~OUmm03 z#H7&Y2!@E#qmRHX8fZ?T9etO<#FV6)7dtZxHMBvxK?juYunJ%m(D~#(F>kLO7?QurKMk0DYX)0mQIbXBc4>0L1NMSDmU)%2#w) z7P|PKF_rL!n8oBiZSgSu(p-_8f2=V1C0IG!W(%2XM<%0*Mu0i4C*j@thZOwEKM%aO zEUY1Z8I<~VP`J$M%}G#-NqJRV{(CfNtYjzS6@>~jUQg<9GXm^Yq{ADbz#{SzsBdUc zJc}>~4!Sp0cscEB1I+eNF8CGMzs>`}7_TgcuDbIWS}{@XC0S_nO4iWD4CJ2|ah?2`IrX6VNn*|YjHmbf(j;_!+8@+iGC z?LHIH882p)8z>b0qXekY|NT1!uPZ2kYJFV-@5?S+@?RRg8(;1|zq;W0hPWoo$0lyR zEAYy={=dj?E1j$rPYBTKXe$!&Uk%b#wHhab{G?O{3MMKfW`9o*aRKtfd`cd6=thov z7XKwWm^#n;sK8H(Uw|w8+pWWvvI_;D56aL^xXTRi{Ec$WfOM7X32z}Cr8zk?P~Y?q z8;-c{R%4C+Z_E6#c(;O0DS)`9ocP*v6LC)T5pp&CI);5+8!3Iz;r}fsn{|E9s|vF> ziI+?PR_)FG5*0GI3hql^uzV#4|Lclt<{3y9gQILM$o(<$^U@+_wN-&H!@Q9@T$DT; zot|~<^09hr^nt%M`*?Y`bl;6oj!W`Zv}*TxFZn@CKKpUcSNm%M7OKDNqmH9<2bYSR zcY9E2r4i;Z6BhXJxxXo&Kn;Iz!u2Jhk5=3!Z%iR;I~vn4p$=+JTG}wuBJT_Y%P*L>eXU; zo)}zg)e<>#D**B7k!s!b+^z^b((o!n=igwy-{k(m!4!#T^#DavZoF5WoZr*k&h`V% zi*=~`*#`1JS~DfEb$9r+aweXQg(YaJS6ABKKWrMXMB?+qq6^gno}(NqQ??SrAFy6j z9d-~TZ9n_Rw^>)gEBoL#5a?=zWq$j_sVsC0e7kOu=^aK$bpj?!S}*q|Chz^gEM$T@ zr zLAiZM8`%B(_wA+bcmntOm^`x&UmFjMaD^@`I*l3(6Bn__Ol9<(C83m#Ja8K^J&%EJ zuab9WVkN~teM4l%!stUwPU6KJ)aIMq%j&yjeqQL5 zJNSJ)iJ{kwH}XKN?4sRQXMIYWsB(-Ag2(|$$!P!LORYzLQk_9}#tevGB47+9^;Ly@ zjiLio9Pszsp8hXsgDgYKzu7lP$|HABHc#UDZkNNTLDQi4bAohh>HwzVauFLHnp4E^ zSE<9B+BfIB5~yy9?N1*hsK~V?s_zbXCG9IYry97r_02F0CE%n{^a9}<@40hq@ED6% zi%|KDgG2?Cyd}3Vb6Xte!~P9{9HO<6x+WUQ;ig_K`2P0%YFP&BPpbBi|H2?XuYjD0 zpV{ode@|ZmZ+F_E3YeLVD!C74mobV1}8xKjVLS(X`t3_|Fs|+~_-D{~G(_s|`NN?1bCB0&(%mlYwuS z1>n9*R|;0Zu*l>cqUm^M&2)Yp8zS$mHSjVy&+h5ych0v2l2zqo?Ap_5jZ}6%g2)dl zC3=@fYEI;4EB9H1tLj5r=ek|9WsiYmvpKa)w$| z0{`wvye9JS5%|-T)`OEf%MA*Q;n%7hp6td$b0Xt*^j87|o6#i3bTc*j7SLvx7YRH5 zfk&0#yZj2$+v}RjS@Gl-;2}jyp7IrcE^mA2`RD;VeJZ&_5wl?+%|Uzta9~QxYg0|J z5WS%}SgKF8rz!_=ikJ!0$l)RU|J}oLVnsw<-m-NXZ62XF3#)PhekE9%{Qvpqc|t17 zq1%Wg29@LAJM{PQ|8u{Apgy3v9}1~YMgmwVj{Ng?onrCLPELFSw4H;7Ejw|6GXT+t zFegu_5FEo&B|BIXdv#nV;_|K6Ew(iiVeA|EiycPT}oBtjO7~W9m{KYf6 zj-4x~6V}4S{G9lb(=~)2tABJUC*NKCUE5xi_cfUl3LYmgNxwvwxR?=s?Pa}u z-Sc{7dxmE359mxURkCz*fE^R-14`#L|Kt7onrvefmt5d@u=pp3m^ZDDr-h_Jp$NM9? z0s>#FyNL7tlK{*U@+bzGD*~2eVJiWmX!*?D8-+MjrxS|5p`X+R}Na zl#l$N^383e+0h$)YW_j0#JAhWsyTtfb<%t6!M(6W7~UQV{OT5OjJO>%e zE5=_5oQ*rzQnEc#sD^Y;5VsynRrOUcJ)aQ!JCG#%jG4U;Ezm zMgx12_7^bvEn{@L8`;!E3(0`CdgssTtXVkl4!>9xTzGL@0p8c(a5 zBtm+kwRGvv4kLBm@{}A}Tyx~?a$k%v#PT=%jt)g0#F?sx&>#E8k8C`=A(kn=E zi3)@a)J8&v-M%*s!tFKd;C?mlB}~mp(CfrY7Uy)_pq|gqOr$1G>*N&{s;#02{k6UG z%~7|bc|<;lr7Jx8Xfhg**WkM;u9Gv{~`GCx1RYz4_Ta5IBj0<4w-wa0($8qO&iBZamJu&~j4b1+7u5pYtS zxiHU&NOwE?%sw>tYYL>eb^riJ-!57bC;p5%cFE8Mg5T5bfq4?nTM_WC{ZUtgS4S)7 zz$?$dKaW~dOR{I2JXFtRYH1S`vi3Lvkrbn)307yF+<94yHZv$L%0$O8YYd+|E7lg zL3WJr%XV2FZZG8a?dS@D7gkgZdR&m~$cweOt*ig}qtXJ91;0u4Q9Tw#{+i$T)au-# zr|pT%KVGj5)||1YIf>8T7btAl>t7)icVYU112?~4Pla+9m6CxQGl`$OhJaWQiOpoR z9Bu4k1R2atwD~>tASXc*P3r`hb>8mwjPrE`Jge*QC-2Y8cG5h0OSWRk?B|F;=`rJu z@PP;TNySvP=W<*SzGdjs_Sd|*fE~D{s^46@OqVr0%Uk;AP8fAD9Nux$@g->ev2|4NRQC&SKf|ZyCS1ADb7x+U52BC%qwi8rz0jqpK~pZMg>?`80S2_^F>wtoqtPosY>RK zyM95^34G(5?6$OC>!o3ZO;jJr>#EhlgghQiMVxAKxy-dNX571 zK$jW5XcSuCqPE7P>_gGSC-CV8=mq%PQ+ucs6QC8K@s9R=sG{4b+ifdh7gpl-+wHT2 zQJ0#|MNi)0?27D0wNU)z)@!M_HATf+;)0de4=G5l=i@S72$fBU7XQ(&t-az(4Jxx6 zxY!iN@{|uO{cd1^KSN;wZQ3Ej~VCYxxO*O}V5LTSc?~h@F{$*=iqszAi zva=kGeHHTiil8zH(HJ*xx?1u)Wmj%YVs5sUs|VejQMyrlZY1AjWDsN?(fZ zt!SLshl_bL_ChWCK=^+=lD(s#1g-5`!VWR3qW5z|*T2gqr>qXg7G_lgQu@)Vl@ahQ z&#dD!KxVRpzIU1RuDNb?APxU};=!ScR=cy0R`IG;R@&;zVRyS4XiXebs9$Jc+E}d%1?~B4zTt5_E%fVDws8obf3lPy~G#=HN>`@d{ zt}qN(Ig6#S$WGl1;%#PeS*Q3}VX)3;Zpm+|uy7`XZUt}fC+JZKQFG*C9j-8_X!fSi zO2E@A6{p;w@jH_0_VEWsmS?MqtUA5`xxT=c_D<8+4#J*eBbHc{`^V;l7alFEHvsM9 zM5is?FWOOKSfiJlxsX@nNKHr*%?0ZoHh8MXXH+=frwqfByjXV zZc))7aNqM7sJlQ;V=c_{VY9&Q+`Q^>u5if0r)x3t94ji7g=o{&MYZ-@y(7bz%kT-y zKY4{NEL(I-L-HKD$yrafk~@42gqOp-b4CY8B=B7Vc}>E!7Bu^h*nv=N@)gc0aPX#0S`@tuWkF9Uii z7jpde;gUtx*|ra^U>PaoL1^!Z)jUbc##ohqUwg9L9>u{MzGGd< za?V@VFCrBm}8}4ef8qWi|k`HR+)2KK~M>?lUTxAGT-{jIF%Gs z^nER+yPZMkf+hCNG({C^Br`zTkds;&zRL{G4(faes#J|}@3J+cVu)ocJpeBovZ9I~ zxv5!Hwv8v`M$>)d0>m5cWDc=h>3h5Rau53@c&LWO;!N z?cjIN@K?xt<>a3wrN)$r>Ab-@Pu3FO+1vTrT^S+njIcth>Ou2L-*5hyRrD&BW}+|N zW?o^qG}KV4Qt`YX3gvA90-0jPq+EjV# zKu=f>+Q>;0kxL#5_7#YV+8}1eVr}1oPR5amul9dTF1l0e+``?)t?a#w?LtbCn>&Wm zIW!R~CmjTyjEFklX-RyE107sWE*POlnRr5)iSOD8j_vssm?`bDjI!m!A7*w+_eB;K z6?Nw6`dX|gaJ;Cvaek~6oZMnns?BZ+91EV+c@dJ)I>@sq%-2r_hqK5V;iIhXEKfT= z5vahQvfI;8EOcg!ok+~wd@JVKB-es`tatomi05sRi4*aRW4X+GWMc@``yH^-B4ux?!r7+jC{k| z9Wo%g@|)GizGBqiaRiGCyFjJ2S#n`$K?9C9y{rs#k_CrPdv{^@{F;KBBdlbgk+l~VyL277DOdrp3T)D*tQgxNQI_JOC*6L&j?q$Oe7wZv+K zw5Qqe#Vi{fYzXpXuMkdXj#adVE}H=rr{pU@iIZLM3pi?48o_xFK_w?dex&AVb|2NW zGPx?3z*Beo2NHj(M)qsjYeZ|H4OOAEy8YK`i;3*~7oIQhUq7vV5mYewP9iI=ua_2H zKURKntPh^Fv1C|L>ydwFU!hhz| zwt#zhw-}_%GMzxS>3kRHmr=TFV&XL7h0ChIRV>D7 zo9E#xJfS>~o`xE-TV|wv2ys9?tMuj}UO0gL3L(CbXE(EE49~tsU67EF!^M^lkj{7# zf1Qy;(Qa9wE*0u2GbD8-^jBzT5m$i)nR5w?Lwy@%3VZAStwX(HSX63qWI^RS9n6UT zZtg(-8dg(?P4}MbtK&V8u0?rwm$-*<=wXPol#gf!zu%0DlYDIF9jLjHwF+nPhA-(B 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 diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 9736a4e79962c4c551472455492c3751f3c550da..8079c77ae02a8d7892ed97080749c36983a6b1b2 100644 GIT binary patch delta 57114 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

  • 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 QUrzJ9rIkgQnS0#-02ogc6aWAK delta 57097 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 dF)d`YSN*X3l^x5Z#%=PoouX From 4cb07285e356fceb8516fd9bbc9cb7ce8e249bbb Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 17:21:49 +0000 Subject: [PATCH 17/39] Automatic changelog generation for PR #23203 [ci skip] --- html/changelogs/AutoChangeLog-pr-23203.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23203.yml diff --git a/html/changelogs/AutoChangeLog-pr-23203.yml b/html/changelogs/AutoChangeLog-pr-23203.yml new file mode 100644 index 00000000000..1a45b216c68 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23203.yml @@ -0,0 +1,4 @@ +author: "XDTM" +delete-after: True +changes: + - imageadd: "Armblades now look a bit more bladelike." From 57980560afbce219956d6fa8cdd0ce74ec9f2699 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Sun, 22 Jan 2017 15:31:14 -0500 Subject: [PATCH 18/39] Sigils of Transmission can be accessed by clockwork structures in a larger range (#23047) * Sigils of Transmission can be accessed by clockwork structures in a larger range * ai too --- code/__DEFINES/clockcult.dm | 3 ++- code/game/gamemodes/clock_cult/clock_structure.dm | 14 ++++++++------ code/modules/mob/living/silicon/ai/life.dm | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/__DEFINES/clockcult.dm b/code/__DEFINES/clockcult.dm index 1ede7c7fbfd..d97dbc6cf57 100644 --- a/code/__DEFINES/clockcult.dm +++ b/code/__DEFINES/clockcult.dm @@ -90,5 +90,6 @@ var/global/list/all_scripture = list() //a list containing scripture instances; #define CLOCKCULT_SILICONS "silicons" //misc clockcult stuff - #define MARAUDER_EMERGE_THRESHOLD 65 //marauders cannot emerge unless host is at this% or less health + +#define SIGIL_ACCESS_RANGE 2 //range at which transmission sigils can access power diff --git a/code/game/gamemodes/clock_cult/clock_structure.dm b/code/game/gamemodes/clock_cult/clock_structure.dm index 930f0c0cb11..92e36d8a6d6 100644 --- a/code/game/gamemodes/clock_cult/clock_structure.dm +++ b/code/game/gamemodes/clock_cult/clock_structure.dm @@ -139,7 +139,9 @@ ..() if(is_servant_of_ratvar(user) || isobserver(user)) var/powered = total_accessable_power() - user << "It has access to [powered == INFINITY ? "INFINITY":"[powered]"]W of power." + var/sigil_number = LAZYLEN(check_apc_and_sigils()) + user << "It has access to [powered == INFINITY ? "INFINITY":"[powered]"]W of power, \ + and [sigil_number] Sigil[sigil_number == 1 ? "s":""] of Transmission [sigil_number == 1 ? "is":"are"] in range." /obj/structure/destructible/clockwork/powered/Destroy() SSfastprocess.processing -= src @@ -220,7 +222,7 @@ /obj/structure/destructible/clockwork/powered/proc/accessable_sigil_power() var/power = 0 - for(var/obj/effect/clockwork/sigil/transmission/T in range(1, src)) + for(var/obj/effect/clockwork/sigil/transmission/T in range(SIGIL_ACCESS_RANGE, src)) power += T.power_charge return power @@ -238,8 +240,8 @@ /obj/structure/destructible/clockwork/powered/proc/use_power(amount) //we've made sure we had power, so now we use it var/sigilpower = accessable_sigil_power() var/list/sigils_in_range = list() - for(var/obj/effect/clockwork/sigil/transmission/T in range(1, src)) - sigils_in_range |= T + for(var/obj/effect/clockwork/sigil/transmission/T in range(SIGIL_ACCESS_RANGE, src)) + sigils_in_range += T while(sigilpower && amount >= MIN_CLOCKCULT_POWER) for(var/S in sigils_in_range) var/obj/effect/clockwork/sigil/transmission/T = S @@ -285,8 +287,8 @@ /obj/structure/destructible/clockwork/powered/proc/check_apc_and_sigils() //checks for sigils and an APC, returning FALSE if it finds neither, and a list of sigils otherwise . = list() - for(var/obj/effect/clockwork/sigil/transmission/T in range(1, src)) - . |= T + for(var/obj/effect/clockwork/sigil/transmission/T in range(SIGIL_ACCESS_RANGE, src)) + . += T var/list/L = . if(!L.len && (!target_apc || !target_apc.cell)) return FALSE diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 3281cfdc1df..aec007e5c44 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -53,7 +53,7 @@ if(POWER_REQ_ALL) return !T || !A || ((!A.master.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha))) if(POWER_REQ_CLOCKCULT) - for(var/obj/effect/clockwork/sigil/transmission/ST in range(src, 1)) + for(var/obj/effect/clockwork/sigil/transmission/ST in range(src, SIGIL_ACCESS_RANGE)) return FALSE return !T || !A || (!istype(T, /turf/open/floor/clockwork) && (!A.master.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha))) From eddd0b92b669e6bec3fe46899dec80bb6da0cd5b Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 20:31:16 +0000 Subject: [PATCH 19/39] Automatic changelog generation for PR #23047 [ci skip] --- html/changelogs/AutoChangeLog-pr-23047.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23047.yml diff --git a/html/changelogs/AutoChangeLog-pr-23047.yml b/html/changelogs/AutoChangeLog-pr-23047.yml new file mode 100644 index 00000000000..e13ee49d1d9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23047.yml @@ -0,0 +1,5 @@ +author: "Joan" +delete-after: True +changes: + - rscadd: "Sigils of Transmission can be accessed by clockwork structures in a larger range." + - tweak: "You can see, when examining a clockwork structure, how many sigils are in range of it." From a46de925450405c927e596c5fdab0a8a1a5d2e07 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Sun, 22 Jan 2017 12:33:24 -0800 Subject: [PATCH 20/39] Fixes PAI examine bug (#22931) * Update pai.dm * Update examine.dm * . * Update tgstation.dme --- .../modules/mob/living/silicon/pai/examine.dm | 2 -- code/modules/mob/living/silicon/pai/life.dm | 22 ------------- code/modules/mob/living/silicon/pai/pai.dm | 31 ++++++++++++++++--- tgstation.dme | 2 -- 4 files changed, 27 insertions(+), 30 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm index 79268c87673..e69de29bb2d 100644 --- a/code/modules/mob/living/silicon/pai/examine.dm +++ b/code/modules/mob/living/silicon/pai/examine.dm @@ -1,2 +0,0 @@ -/mob/living/silicon/pai/examine() //removed as it was pointless...moved to the pai-card instead. - return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index 7a8341b4955..e69de29bb2d 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -1,22 +0,0 @@ -/mob/living/silicon/pai/Life() - if(stat == DEAD) - return - if(cable) - if(get_dist(src, cable) > 1) - var/turf/T = get_turf(src.loc) - T.visible_message("[src.cable] rapidly retracts back into its spool.", "You hear a click and the sound of wire spooling rapidly.") - qdel(src.cable) - cable = null - silent = max(silent - 1, 0) - . = ..() - -/mob/living/silicon/pai/updatehealth() - if(status_flags & GODMODE) - return - health = maxHealth - getBruteLoss() - getFireLoss() - update_stat() - - -/mob/living/silicon/pai/process() - emitterhealth = Clamp((emitterhealth + emitterregen), -50, emittermaxhealth) - hit_slowdown = Clamp((hit_slowdown - 1), 0, 100) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 8c3d5ffaaac..db2d74ce4f8 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -78,10 +78,6 @@ . = ..() . += slowdown -/mob/living/silicon/pai/examine(mob/user) - ..() - user << "A personal AI in holochassis mode. Its master ID string seems to be [master]." - /mob/living/silicon/pai/Destroy() pai_list -= src ..() @@ -214,3 +210,30 @@ return TRUE slowdown = initial(slowdown) return TRUE + +/mob/living/silicon/pai/examine(mob/user) + ..() + user << "A personal AI in holochassis mode. Its master ID string seems to be [master]." + +/mob/living/silicon/pai/Life() + if(stat == DEAD) + return + if(cable) + if(get_dist(src, cable) > 1) + var/turf/T = get_turf(src.loc) + T.visible_message("[src.cable] rapidly retracts back into its spool.", "You hear a click and the sound of wire spooling rapidly.") + qdel(src.cable) + cable = null + silent = max(silent - 1, 0) + . = ..() + +/mob/living/silicon/pai/updatehealth() + if(status_flags & GODMODE) + return + health = maxHealth - getBruteLoss() - getFireLoss() + update_stat() + + +/mob/living/silicon/pai/process() + emitterhealth = Clamp((emitterhealth + emitterregen), -50, emittermaxhealth) + hit_slowdown = Clamp((hit_slowdown - 1), 0, 100) diff --git a/tgstation.dme b/tgstation.dme index dbf36dfd535..c00cc47ce66 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1519,8 +1519,6 @@ #include "code\modules\mob\living\silicon\ai\freelook\eye.dm" #include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" #include "code\modules\mob\living\silicon\pai\death.dm" -#include "code\modules\mob\living\silicon\pai\examine.dm" -#include "code\modules\mob\living\silicon\pai\life.dm" #include "code\modules\mob\living\silicon\pai\pai.dm" #include "code\modules\mob\living\silicon\pai\pai_defense.dm" #include "code\modules\mob\living\silicon\pai\pai_shell.dm" From 1033c1a0da6e9bcd7a445fdb137341c5d9582678 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Sun, 22 Jan 2017 15:43:01 -0500 Subject: [PATCH 21/39] Fixes secbots dropping the wrong baton types (#23219) * Gives secbots a baton type var * Makes secbot construction use the given baton type --- code/modules/mob/living/simple_animal/bot/construction.dm | 1 + code/modules/mob/living/simple_animal/bot/secbot.dm | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 9f215684072..c156cf1fe38 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -430,6 +430,7 @@ var/mob/living/simple_animal/bot/secbot/S = new /mob/living/simple_animal/bot/secbot S.loc = get_turf(src) S.name = created_name + S.baton_type = I.type qdel(I) qdel(src) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 8cf7faa3fab..fdb98d181c0 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -15,6 +15,7 @@ bot_type = SEC_BOT model = "Securitron" bot_core_type = /obj/machinery/bot_core/secbot + var/baton_type = /obj/item/weapon/melee/baton window_id = "autosec" window_name = "Automatic Security Unit v1.6" allow_pai = 0 @@ -380,7 +381,7 @@ Auto Patrol: []"}, Sa.add_overlay("hs_hole") Sa.created_name = name new /obj/item/device/assembly/prox_sensor(Tsec) - new /obj/item/weapon/melee/baton(Tsec) + new baton_type(Tsec) if(prob(50)) new /obj/item/bodypart/l_arm/robot(Tsec) From c17666f44716aba433e968391ade6dad6e10c3f7 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 20:43:02 +0000 Subject: [PATCH 22/39] Automatic changelog generation for PR #23219 [ci skip] --- html/changelogs/AutoChangeLog-pr-23219.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23219.yml diff --git a/html/changelogs/AutoChangeLog-pr-23219.yml b/html/changelogs/AutoChangeLog-pr-23219.yml new file mode 100644 index 00000000000..90fd0c7d2aa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23219.yml @@ -0,0 +1,4 @@ +author: "Cyberboss" +delete-after: True +changes: + - bugfix: "Secbots will now drop the baton type they were constructed with" From dd063e07a9fdab8af26c587a3925e0a1393f8e4b Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 22 Jan 2017 21:45:04 +0100 Subject: [PATCH 23/39] Spirit board fixes (#23128) * Fixes #18040 * Fixup --- code/game/objects/structures/spirit_board.dm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index dfef2c730c4..5bcb2c9974d 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -6,7 +6,7 @@ density = 1 anchored = 0 var/virgin = 1 - var/cooldown = 0 + var/next_use = 0 var/planchette = "A" var/lastuser = null @@ -32,16 +32,15 @@ virgin = 0 notify_ghosts("Someone has begun playing with a [src.name] in [get_area(src)]!", source = src) - planchette = input("Choose the letter.", "Seance!") in list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") + planchette = input("Choose the letter.", "Seance!") as null|anything in list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") + if(!planchette || !Adjacent(M) || next_use > world.time) + return add_logs(M, src, "picked a letter on", " which was \"[planchette]\".") - cooldown = world.time + next_use = world.time + rand(30,50) lastuser = M.ckey - - var/turf/T = loc - sleep(rand(20,30)) - if(T == loc) - visible_message("The planchette slowly moves... and stops at the letter \"[planchette]\".") - + //blind message is the same because not everyone brings night vision to seances + var/msg = "The planchette slowly moves... and stops at the letter \"[planchette]\"." + visible_message(msg,"",msg) /obj/structure/spirit_board/proc/spirit_board_checks(mob/M) //cooldown @@ -49,7 +48,7 @@ if(M.ckey == lastuser) bonus = 10 //Give some other people a chance, hog. - if(cooldown > world.time - (30 + bonus)) + if(next_use - bonus > world.time ) return 0 //No feedback here, hiding the cooldown a little makes it harder to tell who's really picking letters. //lighting check From b117aa1898baf3d6fd92f3ec3b0f8f8d0c5602a3 Mon Sep 17 00:00:00 2001 From: Thunder12345 Date: Sun, 22 Jan 2017 20:47:26 +0000 Subject: [PATCH 24/39] Smooths CentComm walls (#23204) --- code/game/turfs/closed.dm | 4 ++-- icons/turf/walls/riveted.dmi | Bin 0 -> 1252 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 icons/turf/walls/riveted.dmi diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 2a64b3a2cf6..a4202d2b812 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -40,7 +40,9 @@ icon_state = titlescreen /turf/closed/indestructible/riveted + icon = 'icons/turf/walls/riveted.dmi' icon_state = "riveted" + smooth = SMOOTH_TRUE /turf/closed/indestructible/New() ..() @@ -50,7 +52,6 @@ /turf/closed/indestructible/riveted/uranium icon = 'icons/turf/walls/uranium_wall.dmi' icon_state = "uranium" - smooth = SMOOTH_TRUE /turf/closed/indestructible/abductor icon_state = "alien1" @@ -115,4 +116,3 @@ desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." icon = 'icons/turf/walls/hierophant_wall.dmi' icon_state = "wall" - smooth = SMOOTH_TRUE diff --git a/icons/turf/walls/riveted.dmi b/icons/turf/walls/riveted.dmi new file mode 100644 index 0000000000000000000000000000000000000000..90d1e96297b9f3b6f6b9905daa47f38e0d12bcd6 GIT binary patch literal 1252 zcmV005u_0{{R3dEt5<0000RP)t-s00000 z02MScJxWMYaBX&ge~4dRXOE1O85JZOBtqu^0004WQchCV=-0C=2@)3FM}AP~m!S)W3Z*;1oxmy!@NH181bQXQItC&}wq8t7L1wmbN7 z{1I%`eHf=%^^ZyJlsLXObyMzgmEwp#hqBmCia_xh^0{zcGL^A0IyO@Hn7C|4iZv}S zI_ID10Am5;0Aut9^wf>j4D{5E(Ff2&Ku`US1MZafL4r1;{lnpPmGZY*FNU{c&E zlmF*hHO&3@vwQ%~PT2g{Q>0}800X>9L_t(&f$dsBa@#Nr%om(odaa%5y)xqml#2QQ z$J2Ym@e7&<^pF=1gb&W__xtW?B0LZ+P5#*mR%?)^FWcfY4g^ z)J+~XUF%`efi_s(F6-fab8LT|?ezSE`x!otdKj!<@*a9ZYtL>XjB_A)Xm-B=!tQ)_ z)1t&Vm>UN8VaAjY_H)1zes7&2R7v(EJuYRhoi@9nEiXF{DMB+kJk6wo(itA23Vd7k_0*GtdiqMSx%`6c|3w1zDL7nSB%%|uc-&qJ zBdQa#u%r9z114OSdekGflJ2KZY?qnJ`4&V$pb#FN`z^8 zQ}+-)@(Um(0{$r>fD|$Kw~6RsQfA>FI|7IhfPXy+AW{YXIVOOJsoLvcN$&kcZGI$B zPxI+mG>!t9$a^ylGlT4?^CjR@Wby@vU)I^zBUPR zgjtMN=EYa!gmAdjFTTW2F}58Pw;2!*hsKEFMhNO*-?~xUs*z%BE-7v%VF+XUOL4nP zim^ebxFLrjoIF$_3~9m?H#PBu))cp0r5GEIqi81gICOE0j^~La!}F)WwpvocjX_HaDJW@yBxj O0000 Date: Sun, 22 Jan 2017 20:47:28 +0000 Subject: [PATCH 25/39] Automatic changelog generation for PR #23204 [ci skip] --- html/changelogs/AutoChangeLog-pr-23204.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23204.yml diff --git a/html/changelogs/AutoChangeLog-pr-23204.yml b/html/changelogs/AutoChangeLog-pr-23204.yml new file mode 100644 index 00000000000..9459bc28bda --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23204.yml @@ -0,0 +1,4 @@ +author: "Thunder12345" +delete-after: True +changes: + - rscadd: "The indestructible walls on CentComm will now smooth." From c6bc3436b3c258c59594d6380c620cfca5c68259 Mon Sep 17 00:00:00 2001 From: coiax Date: Sun, 22 Jan 2017 20:47:51 +0000 Subject: [PATCH 26/39] Stops people dragging CTF spawn traps (#23229) :cl: coiax fix: Fixed dragging the spawn protection traps on CTF. /:cl: --- code/modules/awaymissions/capture_the_flag.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 8f4006ff342..22994212a21 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -503,6 +503,7 @@ resistance_flags = INDESTRUCTIBLE var/team = WHITE_TEAM time_between_triggers = 1 + anchored = TRUE alpha = 255 /obj/structure/trap/examine(mob/user) From 963be8e45d8305993363e4a20ebf8ba7845013c7 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 20:47:53 +0000 Subject: [PATCH 27/39] Automatic changelog generation for PR #23229 [ci skip] --- html/changelogs/AutoChangeLog-pr-23229.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23229.yml diff --git a/html/changelogs/AutoChangeLog-pr-23229.yml b/html/changelogs/AutoChangeLog-pr-23229.yml new file mode 100644 index 00000000000..4ab2e18902f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23229.yml @@ -0,0 +1,4 @@ +author: "coiax" +delete-after: True +changes: + - bugfix: "Fixed dragging the spawn protection traps on CTF." From a81ea1e73bbc289b6eb2524cb74e027bfc3f6963 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Sun, 22 Jan 2017 15:57:51 -0500 Subject: [PATCH 28/39] Clockwork Marauder blocking is louder (#23241) --- code/game/gamemodes/clock_cult/clock_mobs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/clock_cult/clock_mobs.dm b/code/game/gamemodes/clock_cult/clock_mobs.dm index 198b85849c6..792e4e16844 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs.dm @@ -384,7 +384,7 @@ target.do_attack_animation(src) target.changeNext_move(CLICK_CD_MELEE) blockchance = initial(blockchance) - playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 10, 1, 0, 1) //clang + playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 30, 1, 0, 1) //clang visible_message("[src] blocks [target && istype(textobject, /obj/item) ? "[target]'s [textobject.name]":"\the [textobject]"]!", \ "You block [target && istype(textobject, /obj/item) ? "[target]'s [textobject.name]":"\the [textobject]"]!") if(target && Adjacent(target)) From 12570805bd393d4e1dbc9070d3e35e5012f6a705 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Sun, 22 Jan 2017 13:00:23 -0800 Subject: [PATCH 29/39] Closes the Pool. (#23150) * Delete pool.dm * Removes usage of PoolOrNew * Wrap up --- code/__DEFINES/qdel.dm | 3 +- code/_onclick/hud/alert.dm | 6 +- code/_onclick/hud/fullscreen.dm | 5 +- code/_onclick/telekinesis.dm | 2 +- code/controllers/subsystem/garbage.dm | 2 - code/controllers/subsystem/pool.dm | 48 ------ code/datums/diseases/advance/symptoms/heal.dm | 14 +- code/datums/weather/weather_types.dm | 2 +- code/game/atoms.dm | 2 +- code/game/gamemodes/antag_spawner.dm | 4 +- code/game/gamemodes/blob/blobs/blob_mobs.dm | 2 +- code/game/gamemodes/blob/theblob.dm | 4 +- .../clock_cult/clock_effects/clock_overlay.dm | 3 +- .../clock_cult/clock_effects/clock_sigils.dm | 8 +- .../clock_helpers/component_helpers.dm | 3 +- .../clock_helpers/proselytizer_helpers.dm | 2 +- .../clock_helpers/slab_abilities.dm | 2 +- .../clock_cult/clock_items/ratvarian_spear.dm | 6 +- code/game/gamemodes/clock_cult/clock_mobs.dm | 2 +- .../clock_scriptures/scripture_scripts.dm | 2 +- .../gamemodes/clock_cult/clock_structure.dm | 4 +- .../ark_of_the_clockwork_justicar.dm | 2 +- .../clock_structures/geis_binding.dm | 14 +- .../clock_structures/mending_motor.dm | 6 +- .../clock_structures/ocular_warden.dm | 2 +- .../clock_cult/clock_structures/wall_gear.dm | 2 +- code/game/gamemodes/cult/cult_items.dm | 6 +- code/game/gamemodes/cult/cult_structures.dm | 4 +- code/game/gamemodes/cult/runes.dm | 4 +- code/game/gamemodes/meteor/meteors.dm | 2 +- .../miniantags/abduction/abduction_gear.dm | 6 +- .../miniantags/abduction/machinery/pad.dm | 12 +- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 8 +- .../miniantags/revenant/revenant_abilities.dm | 28 ++-- .../miniantags/revenant/revenant_blight.dm | 6 +- .../miniantags/slaughter/slaughterevent.dm | 2 +- code/game/gamemodes/wizard/artefact.dm | 4 +- code/game/machinery/ai_slipper.dm | 2 +- .../machinery/computer/gulag_teleporter.dm | 2 +- code/game/machinery/doors/airlock_types.dm | 10 +- code/game/machinery/doors/windowdoor.dm | 2 +- code/game/machinery/machinery.dm | 2 +- code/game/machinery/telecomms/broadcasting.dm | 2 +- code/game/mecha/equipment/tools/work_tools.dm | 2 +- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/objects/effects/anomalies.dm | 2 +- .../effects/effect_system/effect_system.dm | 5 +- .../effects/effect_system/effects_foam.dm | 6 +- .../effects/effect_system/effects_other.dm | 4 +- .../effects/effect_system/effects_smoke.dm | 2 +- code/game/objects/effects/overlays.dm | 3 +- code/game/objects/empulse.dm | 2 +- code/game/objects/explosion.dm | 2 +- .../objects/items/devices/chameleonproj.dm | 4 +- code/game/objects/items/devices/flashlight.dm | 2 +- .../game/objects/items/stacks/sheets/light.dm | 2 +- .../objects/items/stacks/tiles/tile_types.dm | 4 - .../game/objects/items/weapons/clown_items.dm | 2 +- .../objects/items/weapons/extinguisher.dm | 2 +- code/game/objects/items/weapons/powerfist.dm | 2 +- .../objects/items/weapons/storage/backpack.dm | 2 +- .../objects/items/weapons/tanks/watertank.dm | 2 +- code/game/objects/structures/false_walls.dm | 4 +- code/game/objects/structures/grille.dm | 6 +- code/game/objects/structures/lattice.dm | 4 +- code/game/objects/structures/window.dm | 6 +- code/game/pooling/pool.dm | 146 ------------------ code/game/say.dm | 4 - code/game/turfs/simulated/floor.dm | 8 +- code/game/turfs/simulated/floor/misc_floor.dm | 8 +- .../game/turfs/simulated/floor/reinf_floor.dm | 6 +- code/game/turfs/simulated/wall/misc_walls.dm | 12 +- code/modules/admin/fun_balloon.dm | 4 +- code/modules/assembly/flash.dm | 4 +- .../atmospherics/environmental/LINDA_fire.dm | 6 +- code/modules/clothing/spacesuits/plasmamen.dm | 2 +- code/modules/clothing/under/miscellaneous.dm | 2 +- code/modules/events/wizard/imposter.dm | 2 +- code/modules/mining/equipment.dm | 6 +- .../mining/lavaland/necropolis_chests.dm | 36 ++--- code/modules/mining/mine_items.dm | 2 +- code/modules/mob/living/bloodcrawl.dm | 5 +- code/modules/mob/living/carbon/alien/death.dm | 4 +- .../mob/living/carbon/alien/larva/death.dm | 4 +- code/modules/mob/living/carbon/human/death.dm | 4 +- .../carbon/human/species_types/golems.dm | 2 +- .../modules/mob/living/carbon/monkey/death.dm | 4 +- .../modules/mob/living/silicon/robot/death.dm | 4 +- .../mob/living/silicon/robot/robot_modules.dm | 4 +- .../mob/living/simple_animal/bot/bot.dm | 2 +- .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- .../mob/living/simple_animal/bot/ed209bot.dm | 2 +- .../living/simple_animal/guardian/guardian.dm | 8 +- .../simple_animal/guardian/types/assassin.dm | 2 +- .../simple_animal/guardian/types/charger.dm | 2 +- .../simple_animal/guardian/types/explosive.dm | 6 +- .../simple_animal/guardian/types/protector.dm | 4 +- .../simple_animal/guardian/types/support.dm | 6 +- .../hostile/megafauna/bubblegum.dm | 22 +-- .../hostile/megafauna/colossus.dm | 8 +- .../simple_animal/hostile/megafauna/dragon.dm | 8 +- .../hostile/megafauna/hierophant.dm | 48 +++--- code/modules/mob/mob.dm | 2 +- code/modules/mob/mob_movement.dm | 4 +- code/modules/mob/transform_procs.dm | 4 +- .../suit/n_suit_verbs/energy_net_nets.dm | 4 +- .../suit/n_suit_verbs/ninja_teleporting.dm | 8 +- code/modules/power/singularity/emitter.dm | 2 +- code/modules/power/singularity/narsie.dm | 2 +- code/modules/projectiles/firing.dm | 2 +- .../guns/energy/kinetic_accelerator.dm | 4 +- code/modules/projectiles/guns/medbeam.dm | 2 +- code/modules/projectiles/projectile.dm | 8 +- code/modules/projectiles/projectile/beams.dm | 4 - .../modules/projectiles/projectile/bullets.dm | 4 +- .../modules/projectiles/projectile/special.dm | 6 +- .../chemistry/reagents/blob_reagents.dm | 4 +- .../reagents/pyrotechnic_reagents.dm | 4 +- .../chemistry/recipes/pyrotechnics.dm | 4 +- code/modules/recycling/disposal-structures.dm | 2 +- code/modules/shuttle/shuttle.dm | 2 +- code/modules/spells/spell_types/devil.dm | 2 +- .../spells/spell_types/ethereal_jaunt.dm | 4 +- code/modules/spells/spell_types/wizard.dm | 2 +- code/modules/telesci/bscrystal.dm | 4 +- code/modules/vehicles/speedbike.dm | 2 +- tgstation.dme | 2 - 127 files changed, 297 insertions(+), 516 deletions(-) delete mode 100644 code/controllers/subsystem/pool.dm delete mode 100644 code/game/pooling/pool.dm diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm index 8358df737e0..4bbe2e486a1 100644 --- a/code/__DEFINES/qdel.dm +++ b/code/__DEFINES/qdel.dm @@ -6,8 +6,7 @@ #define QDEL_HINT_IWILLGC 2 //functionally the same as the above. qdel should assume the object will gc on its own, and not check it. #define QDEL_HINT_HARDDEL 3 //qdel should assume this object won't gc, and queue a hard delete using a hard reference. #define QDEL_HINT_HARDDEL_NOW 4 //qdel should assume this object won't gc, and hard del it post haste. -#define QDEL_HINT_PUTINPOOL 5 //qdel will put this object in the atom pool. -#define QDEL_HINT_FINDREFERENCE 6 //functionally identical to QDEL_HINT_QUEUE if TESTING is not enabled in _compiler_options.dm. +#define QDEL_HINT_FINDREFERENCE 5 //functionally identical to QDEL_HINT_QUEUE if TESTING is not enabled in _compiler_options.dm. //if TESTING is enabled, qdel will call this object's find_references() verb. //defines for the gc_destroyed var diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 4d8a0a46e0a..0fea126a80a 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -33,7 +33,7 @@ else //no need to update return 0 else - alert = PoolOrNew(type) + alert = new type() if(new_master) var/old_layer = new_master.layer @@ -586,8 +586,8 @@ so as to remain in compliance with the most up-to-date laws." return usr.client.Click(master, location, control, params) /obj/screen/alert/Destroy() - ..() + . = ..() severity = 0 master = null screen_loc = "" - return QDEL_HINT_PUTINPOOL //Don't destroy me, I have a family! + diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index a1078b7aeb1..ba8ff0e72cc 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -12,7 +12,7 @@ else if(!severity || severity == screen.severity) return null else - screen = PoolOrNew(type) + screen = new type() screen.icon_state = "[initial(screen.icon_state)][severity]" screen.severity = severity @@ -65,9 +65,8 @@ var/severity = 0 /obj/screen/fullscreen/Destroy() - ..() severity = 0 - return QDEL_HINT_PUTINPOOL + . = ..() /obj/screen/fullscreen/brute icon_state = "brutedamageoverlay" diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 66e4a5d0448..4a141df0c51 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -175,7 +175,7 @@ var/const/tk_maxrange = 15 /obj/item/tk_grab/proc/apply_focus_overlay() if(!focus) return - PoolOrNew(/obj/effect/overlay/temp/telekinesis, get_turf(focus)) + new /obj/effect/overlay/temp/telekinesis(get_turf(focus)) /obj/item/tk_grab/update_icon() diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index ece8d7c5678..05807f12955 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -190,8 +190,6 @@ var/datum/subsystem/garbage_collector/SSgarbage SSgarbage.HardQueue(D) if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. del(D) - if (QDEL_HINT_PUTINPOOL) //qdel will put this object in the pool. - PlaceInPool(D, 0) if (QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion. SSgarbage.QueueForQueuing(D) #ifdef TESTING diff --git a/code/controllers/subsystem/pool.dm b/code/controllers/subsystem/pool.dm deleted file mode 100644 index 245e733e984..00000000000 --- a/code/controllers/subsystem/pool.dm +++ /dev/null @@ -1,48 +0,0 @@ -var/datum/subsystem/pool/SSpool - -/datum/subsystem/pool - name = "Pool" - init_order = 20 - flags = SS_BACKGROUND | SS_FIRE_IN_LOBBY - var/list/global_pool - var/list/pool_levels = list() - var/sum = 0 - - var/list/maintained_types = list( - /obj/item/stack/tile/plasteel = 100 - ) - - var/list/stats_placed_in_pool = list() - var/list/stats_pooled_or_newed = list() - var/list/stats_reused = list() - var/list/stats_created_new = list() - -/datum/subsystem/pool/New() - NEW_SS_GLOBAL(SSpool) - -/datum/subsystem/pool/Initialize(timeofday) - global_pool = GlobalPool - -/datum/subsystem/pool/stat_entry(msg) - if(global_pool) - msg += "Types: [global_pool.len]|Total Pooled Objects: [sum]" - else - msg += "NULL POOL" - ..(msg) - -/datum/subsystem/pool/fire() - sum = 0 - for(var/type in global_pool + maintained_types) - var/list/L = global_pool[type] - var/required_number = maintained_types[type] || 0 - - // Update pool levels and tracker - var/amount = 0 - if(L) - amount = L.len - sum += amount - - // why yes, just inflate the pool at one item per tick - if(amount < required_number) - var/diver = new type - qdel(diver) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index b6170c688d9..0b1cc6d6e7d 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -36,7 +36,7 @@ Bonus /datum/symptom/heal/proc/Heal(mob/living/M, datum/disease/advance/A) var/heal_amt = 0.5 if(M.toxloss > 0 && prob(20)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#66FF99")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#66FF99") M.adjustToxLoss(-heal_amt) return 1 @@ -67,7 +67,7 @@ Bonus /datum/symptom/heal/plus/Heal(mob/living/M, datum/disease/advance/A) var/heal_amt = 1 if(M.toxloss > 0 && prob(20)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#00FF00")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#00FF00") M.adjustToxLoss(-heal_amt) return 1 @@ -110,7 +110,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#FF3333")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#FF3333") return 1 @@ -148,7 +148,7 @@ Bonus if(M.getCloneLoss() > 0) M.adjustCloneLoss(-1) M.take_bodypart_damage(0, 1) //Deals BURN damage, which is not cured by this symptom - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#33FFCC")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#33FFCC") if(!parts.len) return @@ -158,7 +158,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#CC1100")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#CC1100") return 1 @@ -201,7 +201,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#FF9933")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#FF9933") return 1 @@ -248,7 +248,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(M), "#CC6600")) + new /obj/effect/overlay/temp/heal(get_turf(M), "#CC6600") return 1 diff --git a/code/datums/weather/weather_types.dm b/code/datums/weather/weather_types.dm index 541bef2e59e..0232d4c8ad5 100644 --- a/code/datums/weather/weather_types.dm +++ b/code/datums/weather/weather_types.dm @@ -174,7 +174,7 @@ return var/datum/signal/status_signal = new - var/atom/movable/virtualspeaker/virt = PoolOrNew(/atom/movable/virtualspeaker,null) + var/atom/movable/virtualspeaker/virt = new /atom/movable/virtualspeaker(null) status_signal.source = virt status_signal.transmission_method = 1 status_signal.data["command"] = "shuttle" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 5f6f0ee55ff..f2cd8a257b9 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -445,7 +445,7 @@ var/list/blood_splatter_icons = list() /atom/proc/add_vomit_floor(mob/living/carbon/M, toxvomit = 0) if(isturf(src)) - var/obj/effect/decal/cleanable/vomit/V = PoolOrNew(/obj/effect/decal/cleanable/vomit, src) + var/obj/effect/decal/cleanable/vomit/V = new /obj/effect/decal/cleanable/vomit(src) // Make toxins vomit look different if(toxvomit) V.icon_state = "vomittox_[pick(1,4)]" diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index d634f10ebb3..6342011050d 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -70,7 +70,7 @@ H << "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later." /obj/item/weapon/antag_spawner/contract/spawn_antag(client/C, turf/T, type = "") - PoolOrNew(/obj/effect/particle_effect/smoke, T) + new /obj/effect/particle_effect/smoke(T) var/mob/living/carbon/human/M = new/mob/living/carbon/human(T) C.prefs.copy_to(M) M.key = C.key @@ -257,7 +257,7 @@ /obj/item/weapon/antag_spawner/slaughter_demon/spawn_antag(client/C, turf/T, type = "") - var /obj/effect/dummy/slaughter/holder = PoolOrNew(/obj/effect/dummy/slaughter,T) + var /obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(T) var/mob/living/simple_animal/slaughter/S = new demon_type(holder) S.holder = holder S.key = C.key diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index d7403319957..570a0df62e3 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -32,7 +32,7 @@ /mob/living/simple_animal/hostile/blob/blob_act(obj/structure/blob/B) if(stat != DEAD && health < maxHealth) for(var/i in 1 to 2) - var/obj/effect/overlay/temp/heal/H = PoolOrNew(/obj/effect/overlay/temp/heal, get_turf(src)) //hello yes you are being healed + var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(src)) //hello yes you are being healed if(overmind) H.color = overmind.blob_reagent_datum.complementary_color else diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 6825d2cd6cb..209d8ca130e 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -140,7 +140,7 @@ loc.blob_act(src) //don't ask how a wall got on top of the core, just eat it /obj/structure/blob/proc/blob_attack_animation(atom/A = null, controller) //visually attacks an atom - var/obj/effect/overlay/temp/blob/O = PoolOrNew(/obj/effect/overlay/temp/blob, src.loc) + var/obj/effect/overlay/temp/blob/O = new /obj/effect/overlay/temp/blob(src.loc) O.setDir(dir) if(controller) var/mob/camera/blob/BO = controller @@ -208,7 +208,7 @@ if(overmind) overmind.blob_reagent_datum.emp_reaction(src, severity) if(prob(100 - severity * 30)) - PoolOrNew(/obj/effect/overlay/temp/emp, get_turf(src)) + new /obj/effect/overlay/temp/emp(get_turf(src)) /obj/structure/blob/tesla_act(power) ..() diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm index 2e42a1ee4c9..8284bf351c4 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm @@ -16,8 +16,7 @@ /obj/effect/clockwork/overlay/Destroy() if(linked) linked = null - ..() - return QDEL_HINT_PUTINPOOL + . = ..() /obj/effect/clockwork/overlay/wall name = "clockwork wall" diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm index d33943cfe89..eb9909c429e 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm @@ -68,7 +68,7 @@ L.visible_message("[src] appears around [L] in a burst of light!", \ "[target_flashed ? "An unseen force":"The glowing sigil around you"] holds you in place!") L.Stun(5) - PoolOrNew(/obj/effect/overlay/temp/ratvar/sigil/transgression, get_turf(src)) + new /obj/effect/overlay/temp/ratvar/sigil/transgression(get_turf(src)) qdel(src) @@ -101,7 +101,7 @@ animate(src, color = "#AF0AAF", time = convert_time) var/obj/effect/overlay/temp/ratvar/sigil/glow if(glow_type) - glow = PoolOrNew(glow_type, get_turf(src)) + glow = new glow_type(get_turf(src)) animate(glow, alpha = 255, time = convert_time) var/I = 0 while(I < convert_time && get_turf(L) == get_turf(src)) @@ -294,14 +294,14 @@ while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && vitality)) && get_turf(L) == get_turf(src)) sigil_active = TRUE if(animation_number >= 4) - PoolOrNew(/obj/effect/overlay/temp/ratvar/sigil/vitality, get_turf(src)) + new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src)) animation_number = 0 animation_number++ if(!is_servant_of_ratvar(L)) var/vitality_drained = 0 if(L.stat == DEAD) vitality_drained = L.maxHealth - var/obj/effect/overlay/temp/ratvar/sigil/vitality/V = PoolOrNew(/obj/effect/overlay/temp/ratvar/sigil/vitality, get_turf(src)) + var/obj/effect/overlay/temp/ratvar/sigil/vitality/V = new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src)) animate(V, alpha = 0, transform = matrix()*2, time = 8) playsound(L, 'sound/magic/WandODeath.ogg', 50, 1) L.visible_message("[L] collapses in on [L.p_them()]self as [src] flares bright blue!") diff --git a/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm index 5a9a486efea..e04edc42c3e 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm @@ -4,7 +4,8 @@ specific_component_id = get_weighted_component_id() clockwork_component_cache[specific_component_id]++ if(A) - PoolOrNew(get_component_animation_type(specific_component_id), get_turf(A)) + var/component_animation_type = get_component_animation_type(specific_component_id) + new component_animation_type(get_turf(A)) update_slab_info() return specific_component_id diff --git a/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm index 885ca815c0d..04d739c8ff8 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm @@ -32,7 +32,7 @@ /turf/open/floor/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(floor_tile == /obj/item/stack/tile/plasteel) - PoolOrNew(floor_tile, src) + new floor_tile(src) make_plating() playsound(src, 'sound/items/Crowbar.ogg', 10, 1) //clink return list("operation_time" = 30, "new_obj_type" = /turf/open/floor/clockwork, "power_cost" = POWER_FLOOR, "spawn_dir" = SOUTH) diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm index d36dcd3d8fe..397dd55203b 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm @@ -120,7 +120,7 @@ L.adjustToxLoss(totaldamage * 0.5, TRUE, TRUE) var/healseverity = max(round(totaldamage*0.05, 1), 1) //shows the general severity of the damage you just healed, 1 glow per 20 for(var/i in 1 to healseverity) - PoolOrNew(/obj/effect/overlay/temp/heal, list(targetturf, "#1E8CE1")) + new /obj/effect/overlay/temp/heal(targetturf, "#1E8CE1") clockwork_say(ranged_ability_user, text2ratvar("Mend wounded flesh!")) add_logs(ranged_ability_user, L, "healed with Sentinel's Compromise") else diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm index d63b36aea95..8e92246ed17 100644 --- a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm +++ b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm @@ -99,13 +99,13 @@ impale_cooldown = world.time + initial(impale_cooldown) attack_cooldown = world.time + initial(attack_cooldown) if(target) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/bloodsplatter, list(get_turf(target), get_dir(user, target))) + new /obj/effect/overlay/temp/dir_setting/bloodsplatter(get_turf(target), get_dir(user, target)) target.Stun(2) user << "You prepare to remove your ratvarian spear from [target]..." var/remove_verb = pick("pull", "yank", "drag") if(do_after(user, 10, 1, target)) var/turf/T = get_turf(target) - var/obj/effect/overlay/temp/dir_setting/bloodsplatter/B = PoolOrNew(/obj/effect/overlay/temp/dir_setting/bloodsplatter, list(T, get_dir(target, user))) + var/obj/effect/overlay/temp/dir_setting/bloodsplatter/B = new /obj/effect/overlay/temp/dir_setting/bloodsplatter(T, get_dir(target, user)) playsound(T, 'sound/misc/splort.ogg', 200, 1) playsound(T, 'sound/weapons/pierce.ogg', 200, 1) if(target.stat != CONSCIOUS) @@ -154,5 +154,5 @@ T = get_turf(src) if(T) //make sure we're not in null or something T.visible_message("[src] [pick("cracks in two and fades away", "snaps in two and dematerializes")]!") - PoolOrNew(/obj/effect/overlay/temp/ratvar/spearbreak, T) + new /obj/effect/overlay/temp/ratvar/spearbreak(T) qdel(src) diff --git a/code/game/gamemodes/clock_cult/clock_mobs.dm b/code/game/gamemodes/clock_cult/clock_mobs.dm index 792e4e16844..8fd91b5519d 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs.dm @@ -225,7 +225,7 @@ if(iscarbon(host)) resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100) if(ratvar_awakens || resulthealth <= MARAUDER_EMERGE_THRESHOLD) - PoolOrNew(/obj/effect/overlay/temp/heal, list(host.loc, "#AF0AAF")) + new /obj/effect/overlay/temp/heal(host.loc, "#AF0AAF") host.adjustBruteLoss(-1) host.adjustFireLoss(-1) host.adjustToxLoss(-1) diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm index 8faba217d19..3dab30acce9 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm @@ -290,7 +290,7 @@ /datum/clockwork_scripture/channeled/volt_void/chant_effects(chant_number) playsound(invoker, 'sound/effects/EMPulse.ogg', 50, 1) - PoolOrNew(/obj/effect/overlay/temp/ratvar/sigil/voltvoid, get_turf(invoker)) + new /obj/effect/overlay/temp/ratvar/sigil/voltvoid(get_turf(invoker)) var/power_drained = 0 for(var/atom/movable/A in view(7, get_turf(invoker))) power_drained += A.power_drain(TRUE) diff --git a/code/game/gamemodes/clock_cult/clock_structure.dm b/code/game/gamemodes/clock_cult/clock_structure.dm index 92e36d8a6d6..0050ab9e146 100644 --- a/code/game/gamemodes/clock_cult/clock_structure.dm +++ b/code/game/gamemodes/clock_cult/clock_structure.dm @@ -104,7 +104,7 @@ if(anchored && unanchored_icon) anchored = FALSE update_anchored(null, obj_integrity > max_integrity * 0.25) - PoolOrNew(/obj/effect/overlay/temp/emp, loc) + new /obj/effect/overlay/temp/emp(loc) //for the ark and Ratvar @@ -191,7 +191,7 @@ /obj/structure/destructible/clockwork/powered/emp_act(severity) if(forced_disable(TRUE)) - PoolOrNew(/obj/effect/overlay/temp/emp, loc) + new /obj/effect/overlay/temp/emp(loc) /obj/structure/destructible/clockwork/powered/proc/total_accessable_power() //how much power we have and can use if(!needs_power || ratvar_awakens) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm index d8ec850a701..3d53803a62f 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -113,7 +113,7 @@ /obj/structure/destructible/clockwork/massive/celestial_gateway/proc/make_glow() if(!glow) - glow = PoolOrNew(/obj/effect/clockwork/overlay/gateway_glow, get_turf(src)) + glow = new /obj/effect/clockwork/overlay/gateway_glow(get_turf(src)) glow.linked = src /obj/structure/destructible/clockwork/massive/celestial_gateway/ex_act(severity) diff --git a/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm b/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm index d7054fddc71..94d8c135126 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm @@ -26,7 +26,7 @@ return /obj/structure/destructible/clockwork/geis_binding/emp_act(severity) - PoolOrNew(/obj/effect/overlay/temp/emp, loc) + new /obj/effect/overlay/temp/emp(loc) qdel(src) /obj/structure/destructible/clockwork/geis_binding/post_buckle_mob(mob/living/M) @@ -47,8 +47,8 @@ M.visible_message("A [name] appears around [M]!", \ "A [name] appears around you!\nResist!") else - var/obj/effect/overlay/temp/ratvar/geis_binding/G = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding, M.loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/T = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding/top, M.loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/G = new /obj/effect/overlay/temp/ratvar/geis_binding(M.loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/T = new /obj/effect/overlay/temp/ratvar/geis_binding/top(M.loc) G.layer = mob_layer - 0.01 T.layer = mob_layer + 0.01 G.alpha = alpha @@ -83,10 +83,10 @@ if(L) L.Stun(1, 1, 1) visible_message("[src] flares brightly!") - var/obj/effect/overlay/temp/ratvar/geis_binding/G1 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding, loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/G2 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding, loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/T1 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding/top, loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/T2 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding/top, loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/G1 = new /obj/effect/overlay/temp/ratvar/geis_binding(loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/G2 = new /obj/effect/overlay/temp/ratvar/geis_binding(loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/T1 = new /obj/effect/overlay/temp/ratvar/geis_binding/top(loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/T2 = new /obj/effect/overlay/temp/ratvar/geis_binding/top(loc) G1.layer = mob_layer - 0.01 G2.layer = mob_layer - 0.01 T1.layer = mob_layer + 0.01 diff --git a/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm b/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm index fb3d60888e8..11c12d4db69 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm @@ -61,7 +61,7 @@ if(S.health < S.maxHealth) if(try_use_power(heal_cost)) S.adjustHealth(-(8 * efficiency)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(T, "#1E8CE1")) + new /obj/effect/overlay/temp/heal(T, "#1E8CE1") else S << "\"[text2ratvar(pick(heal_failure_messages))]\"" break @@ -80,7 +80,7 @@ if(C == src) efficiency = get_efficiency_mod() C.update_icon() - PoolOrNew(/obj/effect/overlay/temp/heal, list(T, "#1E8CE1")) + new /obj/effect/overlay/temp/heal(T, "#1E8CE1") else break else @@ -95,7 +95,7 @@ if(try_use_power(heal_cost)) S.adjustBruteLoss(-(5 * efficiency)) S.adjustFireLoss(-(3 * efficiency)) - PoolOrNew(/obj/effect/overlay/temp/heal, list(T, "#1E8CE1")) + new /obj/effect/overlay/temp/heal(T, "#1E8CE1") else S << "\"[text2ratvar(pick(heal_failure_messages))]\"" break diff --git a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm index c938966062c..c28d7ae3efe 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm @@ -78,7 +78,7 @@ var/obj/mecha/M = target M.take_damage(damage_per_tick * get_efficiency_mod(), BURN, "melee", 1, get_dir(src, M)) - PoolOrNew(/obj/effect/overlay/temp/ratvar/ocular_warden, get_turf(target)) + new /obj/effect/overlay/temp/ratvar/ocular_warden(get_turf(target)) setDir(get_dir(get_turf(src), get_turf(target))) if(!target) diff --git a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm index 87ae60dc6d4..6b6f3ff9dc0 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm @@ -19,7 +19,7 @@ /obj/structure/destructible/clockwork/wall_gear/New() ..() - PoolOrNew(/obj/effect/overlay/temp/ratvar/gear, get_turf(src)) + new /obj/effect/overlay/temp/ratvar/gear(get_turf(src)) /obj/structure/destructible/clockwork/wall_gear/emp_act(severity) return diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index b2c3d2520f3..6490636a9ab 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -193,7 +193,7 @@ if(current_charges) owner.visible_message("\The [attack_text] is deflected in a burst of blood-red sparks!") current_charges-- - PoolOrNew(/obj/effect/overlay/temp/cult/sparks, get_turf(owner)) + new /obj/effect/overlay/temp/cult/sparks(get_turf(owner)) if(!current_charges) owner.visible_message("The runed shield around [owner] suddenly disappears!") owner.update_inv_wear_suit() @@ -341,14 +341,14 @@ if(uses <= 0) icon_state ="shifter_drained" playsound(mobloc, "sparks", 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/cult/phase/out, list(mobloc, C.dir)) + new /obj/effect/overlay/temp/dir_setting/cult/phase/out(mobloc, C.dir) var/atom/movable/pulled = handle_teleport_grab(destination, C) C.forceMove(destination) if(pulled) C.start_pulling(pulled) //forcemove resets pulls, so we need to re-pull - PoolOrNew(/obj/effect/overlay/temp/dir_setting/cult/phase, list(destination, C.dir)) + new /obj/effect/overlay/temp/dir_setting/cult/phase(destination, C.dir) playsound(destination, 'sound/effects/phasein.ogg', 25, 1) playsound(destination, "sparks", 50, 1) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index fc49899a9c3..752e311533f 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -154,7 +154,7 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( for(var/mob/living/L in range(5, src)) if(iscultist(L) || isshade(L) || isconstruct(L)) if(L.health != L.maxHealth) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(src), "#960000")) + new /obj/effect/overlay/temp/heal(get_turf(src), "#960000") if(ishuman(L)) L.adjustBruteLoss(-1, 0) L.adjustFireLoss(-1, 0) @@ -184,7 +184,7 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( else var/turf/open/floor/engine/cult/F = safepick(cultturfs) if(F) - PoolOrNew(/obj/effect/overlay/temp/cult/turf/floor, F) + new /obj/effect/overlay/temp/cult/turf/floor(F) else // Are we in space or something? No cult turfs or // convertable turfs? diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 359154a044e..db9f4a91a17 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -415,7 +415,7 @@ var/list/teleport_runes = list() else sacrificed += sacrificial - PoolOrNew(/obj/effect/overlay/temp/cult/sac, get_turf(src)) + new /obj/effect/overlay/temp/cult/sac(get_turf(src)) for(var/M in invokers) if(sacrifice_fulfilled) M << "\"Yes! This is the one I desire! You have done well.\"" @@ -891,7 +891,7 @@ var/list/wall_runes = list() if(!src) return do_area_burn(T, 1.5) - PoolOrNew(/obj/effect/hotspot, T) + new /obj/effect/hotspot(T) qdel(src) /obj/effect/rune/blood_boil/proc/do_area_burn(turf/T, multiplier) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 681ce9c9033..3f3f0e57ccc 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -328,7 +328,7 @@ /obj/effect/meteor/tunguska/Move() . = ..() if(.) - PoolOrNew(/obj/effect/overlay/temp/revenant, get_turf(src)) + new /obj/effect/overlay/temp/revenant(get_turf(src)) /obj/effect/meteor/tunguska/meteor_effect() ..() diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 7cdd3ac1f0c..b7b05526a13 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -52,8 +52,7 @@ stealth_active = 1 if(ishuman(loc)) var/mob/living/carbon/human/M = loc - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/cloak, - list(get_turf(M), M.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/cloak(get_turf(M), M.dir) M.name_override = disguise.name M.icon = disguise.icon M.icon_state = disguise.icon_state @@ -66,8 +65,7 @@ stealth_active = 0 if(ishuman(loc)) var/mob/living/carbon/human/M = loc - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja, - list(get_turf(M), M.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(M), M.dir) M.name_override = null M.cut_overlays() M.regenerate_icons() diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index 21c627d266f..10d22d43c1e 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -16,27 +16,27 @@ flick("alien-pad", src) for(var/mob/living/target in loc) target.forceMove(teleport_target) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja, list(get_turf(target), target.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) /obj/machinery/abductor/pad/proc/Retrieve(mob/living/target) flick("alien-pad", src) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja, list(get_turf(target), target.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) Warp(target) /obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target) - PoolOrNew(/obj/effect/overlay/temp/teleport_abductor, place) + new /obj/effect/overlay/temp/teleport_abductor(place) sleep(80) flick("alien-pad", src) target.forceMove(place) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja, list(get_turf(target), target.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) /obj/machinery/abductor/pad/proc/PadToLoc(place) - PoolOrNew(/obj/effect/overlay/temp/teleport_abductor, place) + new /obj/effect/overlay/temp/teleport_abductor(place) sleep(80) flick("alien-pad", src) for(var/mob/living/target in get_turf(src)) target.forceMove(place) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja, list(get_turf(target), target.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) /obj/effect/overlay/temp/teleport_abductor diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 823106453bd..dd2f9af17e1 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -409,7 +409,7 @@ resources++ do_attack_animation(target) changeNext_move(CLICK_CD_MELEE) - var/obj/effect/overlay/temp/swarmer/integrate/I = PoolOrNew(/obj/effect/overlay/temp/swarmer/integrate, get_turf(target)) + var/obj/effect/overlay/temp/swarmer/integrate/I = new /obj/effect/overlay/temp/swarmer/integrate(get_turf(target)) I.pixel_x = target.pixel_x I.pixel_y = target.pixel_y I.pixel_z = target.pixel_z @@ -426,7 +426,7 @@ /mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(atom/movable/target) - PoolOrNew(/obj/effect/overlay/temp/swarmer/disintegration, get_turf(target)) + new /obj/effect/overlay/temp/swarmer/disintegration(get_turf(target)) do_attack_animation(target) changeNext_move(CLICK_CD_MELEE) target.ex_act(3) @@ -474,7 +474,7 @@ /mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(obj/machinery/target) do_attack_animation(target) src << "We begin to dismantle this machine. We will need to be uninterrupted." - var/obj/effect/overlay/temp/swarmer/dismantle/D = PoolOrNew(/obj/effect/overlay/temp/swarmer/dismantle, get_turf(target)) + var/obj/effect/overlay/temp/swarmer/dismantle/D = new /obj/effect/overlay/temp/swarmer/dismantle(get_turf(target)) D.pixel_x = target.pixel_x D.pixel_y = target.pixel_y D.pixel_z = target.pixel_z @@ -484,7 +484,7 @@ M.amount = 5 for(var/obj/item/I in target.component_parts) I.loc = M.loc - var/obj/effect/overlay/temp/swarmer/disintegration/N = PoolOrNew(/obj/effect/overlay/temp/swarmer/disintegration, get_turf(target)) + var/obj/effect/overlay/temp/swarmer/disintegration/N = new /obj/effect/overlay/temp/swarmer/disintegration(get_turf(target)) N.pixel_x = target.pixel_x N.pixel_y = target.pixel_y N.pixel_z = target.pixel_z diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index 91c47fad8e4..d096c397402 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -205,7 +205,7 @@ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(4, 0, L) s.start() - PoolOrNew(/obj/effect/overlay/temp/revenant, L.loc) + new /obj/effect/overlay/temp/revenant(L.loc) sleep(20) if(!L.on) //wait, wait, don't shock me return @@ -240,19 +240,19 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T) if(T.flags & NOJAUNT) T.flags -= NOJAUNT - PoolOrNew(/obj/effect/overlay/temp/revenant, T) + new /obj/effect/overlay/temp/revenant(T) if(!istype(T, /turf/open/floor/plating) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15)) var/turf/open/floor/floor = T if(floor.intact && floor.floor_tile) - PoolOrNew(floor.floor_tile, floor) + new floor.floor_tile(floor) floor.broken = 0 floor.burnt = 0 floor.make_plating(1) if(T.type == /turf/closed/wall && prob(15)) - PoolOrNew(/obj/effect/overlay/temp/revenant, T) + new /obj/effect/overlay/temp/revenant(T) T.ChangeTurf(/turf/closed/wall/rust) if(T.type == /turf/closed/wall/r_wall && prob(10)) - PoolOrNew(/obj/effect/overlay/temp/revenant, T) + new /obj/effect/overlay/temp/revenant(T) T.ChangeTurf(/turf/closed/wall/r_wall/rust) for(var/obj/structure/closet/closet in T.contents) closet.open() @@ -264,7 +264,7 @@ for(var/obj/structure/window/window in T) window.take_damage(rand(30,80)) if(window && window.fulltile) - PoolOrNew(/obj/effect/overlay/temp/revenant/cracks, window.loc) + new /obj/effect/overlay/temp/revenant/cracks(window.loc) for(var/obj/machinery/light/light in T) light.flicker(20) //spooky @@ -287,7 +287,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/proc/malfunction(turf/T, mob/user) for(var/mob/living/simple_animal/bot/bot in T) if(!bot.emagged) - PoolOrNew(/obj/effect/overlay/temp/revenant, bot.loc) + new /obj/effect/overlay/temp/revenant(bot.loc) bot.locked = 0 bot.open = 1 bot.emag_act() @@ -295,21 +295,21 @@ if(human == user) continue human << "You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")]." - PoolOrNew(/obj/effect/overlay/temp/revenant, human.loc) + new /obj/effect/overlay/temp/revenant(human.loc) human.emp_act(1) for(var/obj/thing in T) if(istype(thing, /obj/machinery/dominator) || istype(thing, /obj/machinery/power/apc) || istype(thing, /obj/machinery/power/smes)) //Doesn't work on dominators, SMES and APCs, to prevent kekkery continue if(prob(20)) if(prob(50)) - PoolOrNew(/obj/effect/overlay/temp/revenant, thing.loc) + new /obj/effect/overlay/temp/revenant(thing.loc) thing.emag_act(null) else if(!istype(thing, /obj/machinery/clonepod)) //I hate everything but mostly the fact there's no better way to do this without just not affecting it at all thing.emp_act(1) for(var/mob/living/silicon/robot/S in T) //Only works on cyborgs, not AI playsound(S, 'sound/machines/warning-buzzer.ogg', 50, 1) - PoolOrNew(/obj/effect/overlay/temp/revenant, S.loc) + new /obj/effect/overlay/temp/revenant(S.loc) S.spark_system.start() S.emp_act(1) @@ -332,7 +332,7 @@ for(var/mob/living/mob in T) if(mob == user) continue - PoolOrNew(/obj/effect/overlay/temp/revenant, mob.loc) + new /obj/effect/overlay/temp/revenant(mob.loc) if(iscarbon(mob)) if(ishuman(mob)) var/mob/living/carbon/human/H = mob @@ -353,14 +353,14 @@ mob.adjustToxLoss(5) for(var/obj/structure/spacevine/vine in T) //Fucking with botanists, the ability. vine.add_atom_colour("#823abb", TEMPORARY_COLOUR_PRIORITY) - PoolOrNew(/obj/effect/overlay/temp/revenant, vine.loc) + new /obj/effect/overlay/temp/revenant(vine.loc) QDEL_IN(vine, 10) for(var/obj/structure/glowshroom/shroom in T) shroom.add_atom_colour("#823abb", TEMPORARY_COLOUR_PRIORITY) - PoolOrNew(/obj/effect/overlay/temp/revenant, shroom.loc) + new /obj/effect/overlay/temp/revenant(shroom.loc) QDEL_IN(shroom, 10) for(var/obj/machinery/hydroponics/tray in T) - PoolOrNew(/obj/effect/overlay/temp/revenant, tray.loc) + new /obj/effect/overlay/temp/revenant(tray.loc) tray.pestlevel = rand(8, 10) tray.weedlevel = rand(8, 10) tray.toxic = rand(45, 55) diff --git a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm index 41815b1ca45..7122451c653 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm @@ -33,11 +33,11 @@ affected_mob << "You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]..." affected_mob.confused += 8 affected_mob.adjustStaminaLoss(8) - PoolOrNew(/obj/effect/overlay/temp/revenant, affected_mob.loc) + new /obj/effect/overlay/temp/revenant(affected_mob.loc) if(stagedamage < stage) stagedamage++ affected_mob.adjustToxLoss(stage*2) //should, normally, do about 30 toxin damage. - PoolOrNew(/obj/effect/overlay/temp/revenant, affected_mob.loc) + new /obj/effect/overlay/temp/revenant(affected_mob.loc) if(prob(45)) affected_mob.adjustStaminaLoss(stage) ..() //So we don't increase a stage before applying the stage damage. @@ -56,7 +56,7 @@ finalstage = 1 affected_mob << "You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")]." affected_mob.adjustStaminaLoss(45) - PoolOrNew(/obj/effect/overlay/temp/revenant, affected_mob.loc) + new /obj/effect/overlay/temp/revenant(affected_mob.loc) if(affected_mob.dna && affected_mob.dna.species) affected_mob.dna.species.handle_mutant_bodyparts(affected_mob,"#1d2953") affected_mob.dna.species.handle_hair(affected_mob,"#1d2953") diff --git a/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm b/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm index 908bdae128d..d41b9edab16 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm @@ -33,7 +33,7 @@ message_admins("No valid spawn locations found, aborting...") return MAP_ERROR - var /obj/effect/dummy/slaughter/holder = PoolOrNew(/obj/effect/dummy/slaughter,(pick(spawn_locs))) + var /obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter((pick(spawn_locs))) var/mob/living/simple_animal/slaughter/S = new /mob/living/simple_animal/slaughter/(holder) S.holder = holder player_mind.transfer_to(S) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 71de06ffcdf..5c40f147b31 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -592,7 +592,7 @@ var/global/list/multiverse = list() var/turf/T = get_turf(user) playsound(T,'sound/magic/WarpWhistle.ogg', 200, 1) user.canmove = 0 - PoolOrNew(/obj/effect/overlay/temp/tornado,T) + new /obj/effect/overlay/temp/tornado(T) sleep(20) if(interrupted(user)) return @@ -610,7 +610,7 @@ var/global/list/multiverse = list() T = potential_T break breakout += 1 - PoolOrNew(/obj/effect/overlay/temp/tornado,T) + new /obj/effect/overlay/temp/tornado(T) sleep(20) if(interrupted(user)) return diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 16bc9f135e4..1b5e8ff1066 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -91,7 +91,7 @@ if(cooldown_on || disabled) return else - PoolOrNew(/obj/effect/particle_effect/foam, loc) + new /obj/effect/particle_effect/foam(loc) src.uses-- cooldown_on = 1 cooldown_time = world.timeofday + 100 diff --git a/code/game/machinery/computer/gulag_teleporter.dm b/code/game/machinery/computer/gulag_teleporter.dm index becb3aae116..59a445c8cb4 100644 --- a/code/game/machinery/computer/gulag_teleporter.dm +++ b/code/game/machinery/computer/gulag_teleporter.dm @@ -148,7 +148,7 @@ prisoner.forceMove(get_turf(beacon)) prisoner.Weaken(2) // small travel dizziness prisoner << "The teleportation makes you a little dizzy." - PoolOrNew(/obj/effect/particle_effect/sparks, prisoner.loc) + new /obj/effect/particle_effect/sparks(prisoner.loc) playsound(src.loc, "sparks", 50, 1) if(teleporter.locked) teleporter.locked = FALSE diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 3f3fa5dd9f7..15de9be8e4f 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -362,7 +362,7 @@ /obj/machinery/door/airlock/cult/New() ..() - PoolOrNew(openingoverlaytype, src.loc) + new openingoverlaytype(src.loc) /obj/machinery/door/airlock/cult/canAIControl(mob/user) return (iscultist(user) && !isAllPowerCut()) @@ -371,10 +371,10 @@ if(!density) return 1 if(friendly || iscultist(M) || istype(M, /mob/living/simple_animal/shade) || isconstruct(M)) - PoolOrNew(openingoverlaytype, loc) + new openingoverlaytype(loc) return 1 else - PoolOrNew(/obj/effect/overlay/temp/cult/sac, loc) + new /obj/effect/overlay/temp/cult/sac(loc) var/atom/throwtarget throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src))) M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50)) @@ -432,8 +432,8 @@ /obj/machinery/door/airlock/clockwork/New() ..() var/turf/T = get_turf(src) - PoolOrNew(/obj/effect/overlay/temp/ratvar/door, T) - PoolOrNew(/obj/effect/overlay/temp/ratvar/beam/door, T) + new /obj/effect/overlay/temp/ratvar/door(T) + new /obj/effect/overlay/temp/ratvar/beam/door(T) change_construction_value(5) /obj/machinery/door/airlock/clockwork/Destroy() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index bbc8aeff386..5d219ca853b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -318,7 +318,7 @@ /obj/machinery/door/window/clockwork/setDir(direct) if(!made_glow) - var/obj/effect/E = PoolOrNew(/obj/effect/overlay/temp/ratvar/door/window, get_turf(src)) + var/obj/effect/E = new /obj/effect/overlay/temp/ratvar/door/window(get_turf(src)) E.setDir(direct) made_glow = TRUE ..() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index e59263ddf2a..bd68496bb92 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -156,7 +156,7 @@ Class Procs: /obj/machinery/emp_act(severity) if(use_power && !stat) use_power(7500/severity) - PoolOrNew(/obj/effect/overlay/temp/emp, loc) + new /obj/effect/overlay/temp/emp(loc) ..() /obj/machinery/proc/open_machine(drop = 1) diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index 66c70792338..7227a393dfc 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -67,7 +67,7 @@ var/list/radios = list() - var/atom/movable/virtualspeaker/virt = PoolOrNew(/atom/movable/virtualspeaker,null) + var/atom/movable/virtualspeaker/virt = new /atom/movable/virtualspeaker(null) virt.name = name virt.job = job virt.languages_spoken = AM.languages_spoken diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 9b193245c04..b871bd7c7a7 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -151,7 +151,7 @@ var/list/the_targets = list(T,T1,T2) spawn(0) for(var/a=0, a<5, a++) - var/obj/effect/particle_effect/water/W = PoolOrNew(/obj/effect/particle_effect/water, get_turf(chassis)) + var/obj/effect/particle_effect/water/W = new /obj/effect/particle_effect/water(get_turf(chassis)) if(!W) return var/turf/my_target = pick(the_targets) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index b16103e6a03..c0c4b62d063 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -37,7 +37,7 @@ A.original = target A.current = curloc if(!A.suppressed && firing_effect_type) - PoolOrNew(firing_effect_type, list(get_turf(src), chassis.dir)) + new firing_effect_type(get_turf(src), chassis.dir) var/spread = 0 diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index c50d3cf0103..58a5edce57d 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -63,7 +63,7 @@ qdel(src) /obj/effect/anomaly/proc/anomalyNeutralize() - PoolOrNew(/obj/effect/particle_effect/smoke/bad, loc) + new /obj/effect/particle_effect/smoke/bad(loc) for(var/atom/movable/O in src) O.loc = src.loc diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index ec9f73d71b2..eb8f575efb8 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -19,8 +19,7 @@ would spawn and follow the beaker, even if it is carried or thrown. /obj/effect/particle_effect/Destroy() if(ticker) cameranet.updateVisibility(src) - ..() - return QDEL_HINT_PUTINPOOL + . = ..() /datum/effect_system var/number = 3 @@ -57,7 +56,7 @@ would spawn and follow the beaker, even if it is carried or thrown. /datum/effect_system/proc/generate_effect() if(holder) location = get_turf(holder) - var/obj/effect/E = PoolOrNew(effect_type, location) + var/obj/effect/E = new effect_type(location) total_effects++ var/direction if(cardinals) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index e7db9acffeb..f2a3d61d190 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -113,7 +113,7 @@ for(var/mob/living/L in T) foam_mob(L) - var/obj/effect/particle_effect/foam/F = PoolOrNew(src.type, T) + var/obj/effect/particle_effect/foam/F = new src.type(T) F.amount = amount reagents.copy_to(F, (reagents.total_volume)) F.add_atom_colour(color, FIXED_COLOUR_PRIORITY) @@ -144,7 +144,7 @@ /datum/effect_system/foam_spread/New() ..() - chemholder = PoolOrNew(/obj) + chemholder = new /obj() var/datum/reagents/R = new/datum/reagents(1000) chemholder.reagents = R R.my_atom = chemholder @@ -172,7 +172,7 @@ if(foundfoam)//If there was already foam where we start, we add our foaminess to it. foundfoam.amount += amount else - var/obj/effect/particle_effect/foam/F = PoolOrNew(effect_type, location) + var/obj/effect/particle_effect/foam/F = new effect_type(location) var/foamcolor = mix_color_from_reagents(chemholder.reagents.reagent_list) chemholder.reagents.copy_to(F, chemholder.reagents.total_volume/amount) F.add_atom_colour(foamcolor, FIXED_COLOUR_PRIORITY) diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm index 60fd3c63edc..503f120dd49 100644 --- a/code/game/objects/effects/effect_system/effects_other.dm +++ b/code/game/objects/effects/effect_system/effects_other.dm @@ -36,7 +36,7 @@ if(processing) processing = 0 if(number < 3) - var/obj/effect/particle_effect/steam/I = PoolOrNew(/obj/effect/particle_effect/steam, oldposition) + var/obj/effect/particle_effect/steam/I = new /obj/effect/particle_effect/steam(oldposition) number++ I.setDir(holder.dir) oldposition = get_turf(holder) @@ -73,7 +73,7 @@ var/turf/T = get_turf(holder) if(T != oldposition) if(!T.has_gravity() || !nograv_required) - var/obj/effect/particle_effect/ion_trails/I = PoolOrNew(effect_type, oldposition) + var/obj/effect/particle_effect/ion_trails/I = new effect_type(oldposition) set_dir(I) if(fade) flick(fadetype, I) diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 17c19b0a204..351ac8122c8 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -255,7 +255,7 @@ /datum/effect_system/smoke_spread/chem/New() ..() - chemholder = PoolOrNew(/obj) + chemholder = new /obj() var/datum/reagents/R = new/datum/reagents(500) chemholder.reagents = R R.my_atom = chemholder diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 3648adac7c8..f118900e966 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -28,9 +28,8 @@ var/timerid /obj/effect/overlay/temp/Destroy() - ..() + . = ..() deltimer(timerid) - return QDEL_HINT_PUTINPOOL /obj/effect/overlay/temp/New() ..() diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index 510c5183af7..0a87fc55dba 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -9,7 +9,7 @@ log_game("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") if(heavy_range > 1) - PoolOrNew(/obj/effect/overlay/temp/emp/pulse, epicenter) + new /obj/effect/overlay/temp/emp/pulse(epicenter) if(heavy_range > light_range) light_range = heavy_range diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 9e663c385e9..17e638e8bdf 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -145,7 +145,7 @@ var/explosionid = 1 if(T) if(flame_dist && prob(40) && !isspaceturf(T) && !T.density) - PoolOrNew(/obj/effect/hotspot, T) //Mostly for ambience! + new /obj/effect/hotspot(T) //Mostly for ambience! if(dist > 0) T.explosion_level = max(T.explosion_level, dist) //let the bigger one have it T.explosion_id = id diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 5cefee833ee..66acb1e6c58 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -49,13 +49,13 @@ qdel(active_dummy) active_dummy = null usr << "You deactivate \the [src]." - PoolOrNew(/obj/effect/overlay/temp/emp/pulse, get_turf(src)) + new /obj/effect/overlay/temp/emp/pulse(get_turf(src)) else playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc) C.activate(usr, saved_appearance, src) usr << "You activate \the [src]." - PoolOrNew(/obj/effect/overlay/temp/emp/pulse, get_turf(src)) + new /obj/effect/overlay/temp/emp/pulse(get_turf(src)) /obj/item/device/chameleon/proc/disrupt(delete_dummy = 1) if(active_dummy) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 56ec099fbdf..65de6658ac0 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -111,7 +111,7 @@ return var/T = get_turf(target) if(locate(/mob/living) in T) - PoolOrNew(/obj/effect/overlay/temp/medical_holosign, list(T,user)) //produce a holographic glow + new /obj/effect/overlay/temp/medical_holosign(T,user) //produce a holographic glow holo_cooldown = world.time + 100 return ..() diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index 49fba49dc1b..10132b4d423 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -29,7 +29,7 @@ var/obj/item/stack/sheet/metal/M = O if (M.use(1)) use(1) - var/obj/item/L = PoolOrNew(/obj/item/stack/tile/light, user.loc) + var/obj/item/L = new /obj/item/stack/tile/light(user.loc) user << "You make a light tile." L.add_fingerprint(user) else diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index e206d9ac087..97490e9fc35 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -18,10 +18,6 @@ pixel_x = rand(-3, 3) pixel_y = rand(-3, 3) //randomize a little -/obj/item/stack/tile/Destroy() - ..() - return QDEL_HINT_PUTINPOOL - /obj/item/stack/tile/attackby(obj/item/W, mob/user, params) if (istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index a7eba9a3164..3c2e3df48be 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -44,7 +44,7 @@ /obj/item/weapon/soap/suicide_act(mob/user) user.say(";FFFFFFFFFFFFFFFFUUUUUUUDGE!!") user.visible_message("[user] lifts [src] to their mouth and gnaws on it furiously, producing a thick froth! [user.p_they(TRUE)]'ll never get that BB gun now!") - PoolOrNew(/obj/effect/particle_effect/foam, loc) + new /obj/effect/particle_effect/foam(loc) return (TOXLOSS) /obj/item/weapon/soap/Crossed(AM as mob|obj) diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 8f95ca04c16..aafc8a1b007 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -147,7 +147,7 @@ for(var/a=0, a<5, a++) spawn(0) - var/obj/effect/particle_effect/water/W = PoolOrNew( /obj/effect/particle_effect/water, get_turf(src) ) + var/obj/effect/particle_effect/water/W = new /obj/effect/particle_effect/water(get_turf(src)) var/turf/my_target = pick(the_targets) if(precision) the_targets -= my_target diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm index 7f78ac53275..3c6b809ec7b 100644 --- a/code/game/objects/items/weapons/powerfist.dm +++ b/code/game/objects/items/weapons/powerfist.dm @@ -81,7 +81,7 @@ target.apply_damage(force * fisto_setting, BRUTE) target.visible_message("[user]'s powerfist lets out a loud hiss as they punch [target.name]!", \ "You cry out in pain as [user]'s punch flings you backwards!") - PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, target.loc) + new /obj/effect/overlay/temp/kinetic_blast(target.loc) playsound(loc, 'sound/weapons/resonator_blast.ogg', 50, 1) playsound(loc, 'sound/weapons/genhit2.ogg', 50, 1) diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 0cca77c19c9..4c1c005464b 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -285,7 +285,7 @@ /obj/item/weapon/storage/backpack/satchel/flat/New() ..() - PoolOrNew(/obj/item/stack/tile/plasteel, src) + new /obj/item/stack/tile/plasteel(src) new /obj/item/weapon/crowbar(src) SSpersistence.new_secret_satchels += src diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm index 9229058882a..d944ab6f5c0 100644 --- a/code/game/objects/items/weapons/tanks/watertank.dm +++ b/code/game/objects/items/weapons/tanks/watertank.dm @@ -300,7 +300,7 @@ if(!Adj|| !isturf(target)) return if(metal_synthesis_cooldown < 5) - var/obj/effect/particle_effect/foam/metal/F = PoolOrNew(/obj/effect/particle_effect/foam/metal, get_turf(target)) + var/obj/effect/particle_effect/foam/metal/F = new /obj/effect/particle_effect/foam/metal(get_turf(target)) F.amount = 0 metal_synthesis_cooldown++ spawn(100) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 00a8aee7063..93b4893d4b8 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -330,8 +330,8 @@ /obj/structure/falsewall/brass/New(loc) ..() var/turf/T = get_turf(src) - PoolOrNew(/obj/effect/overlay/temp/ratvar/wall/false, T) - PoolOrNew(/obj/effect/overlay/temp/ratvar/beam/falsewall, T) + new /obj/effect/overlay/temp/ratvar/wall/false(T) + new /obj/effect/overlay/temp/ratvar/beam/falsewall(T) change_construction_value(4) /obj/structure/falsewall/brass/Destroy() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 6796be48652..a0f8dd9e882 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -224,10 +224,10 @@ ..() change_construction_value(1) if(broken) - PoolOrNew(/obj/effect/overlay/temp/ratvar/grille/broken, get_turf(src)) + new /obj/effect/overlay/temp/ratvar/grille/broken(get_turf(src)) else - PoolOrNew(/obj/effect/overlay/temp/ratvar/grille, get_turf(src)) - PoolOrNew(/obj/effect/overlay/temp/ratvar/beam/grille, get_turf(src)) + new /obj/effect/overlay/temp/ratvar/grille(get_turf(src)) + new /obj/effect/overlay/temp/ratvar/beam/grille(get_turf(src)) /obj/structure/grille/ratvar/Destroy() change_construction_value(-1) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index b37d37bebde..bb715800a5e 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -115,8 +115,8 @@ /obj/structure/lattice/catwalk/clockwork/New() ..() - PoolOrNew(/obj/effect/overlay/temp/ratvar/floor/catwalk, loc) - PoolOrNew(/obj/effect/overlay/temp/ratvar/beam/catwalk, loc) + new /obj/effect/overlay/temp/ratvar/floor/catwalk(loc) + new /obj/effect/overlay/temp/ratvar/beam/catwalk(loc) /obj/structure/lattice/catwalk/clockwork/ratvar_act() return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 298547d658e..0dbfc2ca4da 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -453,12 +453,12 @@ var/amount_of_gears = 2 if(!fulltile) if(direct) - var/obj/effect/E = PoolOrNew(/obj/effect/overlay/temp/ratvar/window/single, get_turf(src)) + var/obj/effect/E = new /obj/effect/overlay/temp/ratvar/window/single(get_turf(src)) setDir(direct) E.setDir(direct) made_glow = TRUE else - PoolOrNew(/obj/effect/overlay/temp/ratvar/window, get_turf(src)) + new /obj/effect/overlay/temp/ratvar/window(get_turf(src)) made_glow = TRUE amount_of_gears = 4 for(var/i in 1 to amount_of_gears) @@ -467,7 +467,7 @@ /obj/structure/window/reinforced/clockwork/setDir(direct) if(!made_glow) - var/obj/effect/E = PoolOrNew(/obj/effect/overlay/temp/ratvar/window/single, get_turf(src)) + var/obj/effect/E = new /obj/effect/overlay/temp/ratvar/window/single(get_turf(src)) E.setDir(direct) made_glow = TRUE ..() diff --git a/code/game/pooling/pool.dm b/code/game/pooling/pool.dm deleted file mode 100644 index e99df9c5b0b..00000000000 --- a/code/game/pooling/pool.dm +++ /dev/null @@ -1,146 +0,0 @@ - -/* -/tg/station13 /datum Pool: ---------------------------------- -By RemieRichards - -Creation/Deletion is laggy, so let's reduce reuse and recycle! - -Usage: - -To get a object, just call - - PoolOrNew(type, arg) if you only want to pass one argument to New(), usually loc - - PoolOrNew(type, list) if you want to pass multiple arguments to New() - -To put a object back in the pool, call PlaceInPool(object) -This will call destroy on the object, set its loc to null, -and reset all of its vars to their default - -You can override your object's destroy to return QDEL_HINT_PUTINPOOL -to ensure its always placed in this pool (this will only be acted on if qdel calls destroy, and destroy will not get called twice) - -For almost all pooling purposes, it is better to use the QDEL hint than to pool it directly with PlaceInPool - -*/ - -var/global/list/GlobalPool = list() - -//You'll be using this proc 90% of the time. -//It grabs a type from the pool if it can -//And if it can't, it creates one -//The pool is flexible and will expand to fit -//The new created atom when it eventually -//Goes into the pool - -//Second argument can be a single arg -//Or a list of arguments -//Either way it gets passed to new - -/proc/PoolOrNew(get_type,second_arg) - if(!get_type) - return - - if(SSpool) - INCREMENT_TALLY(SSpool.stats_pooled_or_newed, get_type) - - . = GetFromPool(get_type,second_arg) - - if(!.) - if(SSpool) - INCREMENT_TALLY(SSpool.stats_created_new, get_type) - if(ispath(get_type)) - if(islist(second_arg)) - . = new get_type (arglist(second_arg)) - else - . = new get_type (second_arg) - else - if(SSpool) - INCREMENT_TALLY(SSpool.stats_reused, get_type) - - -/proc/GetFromPool(get_type,second_arg) - if(!get_type) - return - - if(isnull(GlobalPool[get_type])) - return - - if(length(GlobalPool[get_type]) == 0) - return - - var/datum/pooled = pop(GlobalPool[get_type]) - if(pooled) - pooled.gc_destroyed = null - - var/atom/movable/AM - if(istype(pooled, /atom/movable)) - AM = pooled - - if(islist(second_arg)) - if(AM) - AM.loc = second_arg[1] //we need to do loc setting explicetly before even calling New() to replicate new()'s behavior - pooled.New(arglist(second_arg)) - - else - if(AM) - AM.loc = second_arg - pooled.New(second_arg) - - return pooled - - -/proc/PlaceInPool(datum/diver, destroy = 1) - if(!istype(diver)) - return - - if(diver in GlobalPool[diver.type]) - return - - if(SSpool) - INCREMENT_TALLY(SSpool.stats_placed_in_pool, diver.type) - - if(!GlobalPool[diver.type]) - GlobalPool[diver.type] = list() - - GlobalPool[diver.type] |= diver - - if(destroy) - diver.Destroy() - - diver.gc_destroyed = 1 - - diver.ResetVars() - -var/list/exclude = list("animate_movement", "contents", "loc", "locs", "parent_type", "vars", "verbs", "type", "gc_destroyed") -var/list/pooledvariables = list() -//thanks to clusterfack @ /vg/station for these two procs -/datum/proc/createVariables() - pooledvariables[type] = new/list() - var/list/exclude = global.exclude + args - - for(var/key in vars) - if(key in exclude) - continue - if(islist(vars[key])) - pooledvariables[type][key] = list() - else - pooledvariables[type][key] = initial(vars[key]) - -/datum/proc/ResetVars() - if(!pooledvariables[type]) - createVariables(args) - - for(var/key in pooledvariables[type]) - if (islist(pooledvariables[type][key])) - vars[key] = list() - else - vars[key] = pooledvariables[type][key] - -/atom/movable/ResetVars() - ..() - loc = null - contents = initial(contents) //something is really wrong if this object still has stuff in it by this point - -/image/ResetVars() - ..() - loc = null diff --git a/code/game/say.dm b/code/game/say.dm index 5ac65c4b80e..172bfc0fd3c 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -170,7 +170,3 @@ var/list/freqtospan = list( /atom/movable/virtualspeaker/GetRadio() return radio - -/atom/movable/virtualspeaker/Destroy() - ..() - return QDEL_HINT_PUTINPOOL diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index ea0431e0ed9..11ec431d618 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -145,7 +145,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," else user << "You remove the floor tile." if(floor_tile) - PoolOrNew(floor_tile, src) + new floor_tile(src) make_plating() playsound(src, C.usesound, 80, 1) return 1 @@ -155,17 +155,17 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," if(current_size == STAGE_THREE) if(prob(30)) if(floor_tile) - PoolOrNew(floor_tile, src) + new floor_tile(src) make_plating() else if(current_size == STAGE_FOUR) if(prob(50)) if(floor_tile) - PoolOrNew(floor_tile, src) + new floor_tile(src) make_plating() else if(current_size >= STAGE_FIVE) if(floor_tile) if(prob(70)) - PoolOrNew(floor_tile, src) + new floor_tile(src) make_plating() else if(prob(50)) ReplaceWithLattice() diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index e0bf32470fd..f20b98bae32 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -69,9 +69,9 @@ /turf/open/floor/clockwork/New() ..() - PoolOrNew(/obj/effect/overlay/temp/ratvar/floor, src) - PoolOrNew(/obj/effect/overlay/temp/ratvar/beam, src) - realappearence = PoolOrNew(/obj/effect/clockwork/overlay/floor, src) + new /obj/effect/overlay/temp/ratvar/floor(src) + new /obj/effect/overlay/temp/ratvar/beam(src) + realappearence = new /obj/effect/clockwork/overlay/floor(src) realappearence.linked = src change_construction_value(1) @@ -129,7 +129,7 @@ return ..() /turf/open/floor/clockwork/make_plating() - PoolOrNew(/obj/item/stack/tile/brass, src) + new /obj/item/stack/tile/brass(src) return ..() /turf/open/floor/clockwork/narsie_act() diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index 02bded48527..8ee346905d5 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -61,7 +61,7 @@ if(current_size >= STAGE_FIVE) if(floor_tile) if(prob(30)) - PoolOrNew(floor_tile, src) + new floor_tile(src) make_plating() else if(prob(30)) ReplaceWithLattice() @@ -108,8 +108,8 @@ /turf/open/floor/engine/cult/New() ..() - PoolOrNew(/obj/effect/overlay/temp/cult/turf/floor, src) - realappearence = PoolOrNew(/obj/effect/clockwork/overlay/floor/bloodcult, src) + new /obj/effect/overlay/temp/cult/turf/floor(src) + realappearence = new /obj/effect/clockwork/overlay/floor/bloodcult(src) realappearence.linked = src /turf/open/floor/engine/cult/Destroy() diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm index 211ef629627..ce0b8a61074 100644 --- a/code/game/turfs/simulated/wall/misc_walls.dm +++ b/code/game/turfs/simulated/wall/misc_walls.dm @@ -9,7 +9,7 @@ girder_type = /obj/structure/girder/cult /turf/closed/wall/mineral/cult/New() - PoolOrNew(/obj/effect/overlay/temp/cult/turf, src) + new /obj/effect/overlay/temp/cult/turf(src) ..() /turf/closed/wall/mineral/cult/devastate_wall() @@ -31,11 +31,11 @@ desc = "A cold stone wall engraved with indecipherable symbols. Studying them causes your head to pound." /turf/closed/wall/mineral/cult/artificer/break_wall() - PoolOrNew(/obj/effect/overlay/temp/cult/turf, get_turf(src)) + new /obj/effect/overlay/temp/cult/turf(get_turf(src)) return null //excuse me we want no runed metal here /turf/closed/wall/mineral/cult/artificer/devastate_wall() - PoolOrNew(/obj/effect/overlay/temp/cult/turf, get_turf(src)) + new /obj/effect/overlay/temp/cult/turf(get_turf(src)) //Clockwork wall: Causes nearby tinkerer's caches to generate components. /turf/closed/wall/clockwork @@ -52,9 +52,9 @@ /turf/closed/wall/clockwork/New() ..() - PoolOrNew(/obj/effect/overlay/temp/ratvar/wall, src) - PoolOrNew(/obj/effect/overlay/temp/ratvar/beam, src) - realappearence = PoolOrNew(/obj/effect/clockwork/overlay/wall, src) + new /obj/effect/overlay/temp/ratvar/wall(src) + new /obj/effect/overlay/temp/ratvar/beam(src) + realappearence = new /obj/effect/clockwork/overlay/wall(src) realappearence.linked = src change_construction_value(5) diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index c0632662c8d..9493b756be6 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -60,7 +60,7 @@ message_admins("[key_name_admin(ghost)] has taken control of ([key_name_admin(body)])") body.ghostize(0) body.key = ghost.key - PoolOrNew(/obj/effect/overlay/temp/gravpush, get_turf(body)) + new /obj/effect/overlay/temp/gravpush(get_turf(body)) /obj/effect/fun_balloon/sentience/emergency_shuttle name = "shuttle sentience fun balloon" @@ -79,7 +79,7 @@ /obj/effect/fun_balloon/scatter/effect() for(var/mob/living/M in range(effect_range, get_turf(src))) var/turf/T = find_safe_turf() - PoolOrNew(/obj/effect/overlay/temp/gravpush, get_turf(M)) + new /obj/effect/overlay/temp/gravpush(get_turf(M)) M.forceMove(T) M << "Pop!" diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index dba6f2dbb2e..9ddfe2380e6 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -177,11 +177,11 @@ /obj/item/device/assembly/flash/cyborg/attack(mob/living/M, mob/user) ..() - PoolOrNew(/obj/effect/overlay/temp/borgflash, get_turf(src)) + new /obj/effect/overlay/temp/borgflash(get_turf(src)) /obj/item/device/assembly/flash/cyborg/attack_self(mob/user) ..() - PoolOrNew(/obj/effect/overlay/temp/borgflash, get_turf(src)) + new /obj/effect/overlay/temp/borgflash(get_turf(src)) /obj/item/device/assembly/flash/cyborg/attackby(obj/item/weapon/W, mob/user, params) return diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index aeca666fde9..e796d3cf64a 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -33,7 +33,7 @@ if(oxy < 0.5 || tox < 0.5) return 0 - active_hotspot = PoolOrNew(/obj/effect/hotspot, src) + active_hotspot = new /obj/effect/hotspot(src) active_hotspot.temperature = exposed_temperature active_hotspot.volume = exposed_volume @@ -155,8 +155,8 @@ T.active_hotspot = null DestroyTurf() loc = null - ..() - return QDEL_HINT_PUTINPOOL + . = ..() + /obj/effect/hotspot/proc/DestroyTurf() if(isturf(loc)) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index fc09409ff9e..a2abd6d2ace 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -31,7 +31,7 @@ extinguishes_left-- H.visible_message("[H]'s suit automatically extinguishes them!","Your suit automatically extinguishes you.") H.ExtinguishMob() - PoolOrNew(/obj/effect/particle_effect/water, get_turf(H)) + new /obj/effect/particle_effect/water(get_turf(H)) //I just want the light feature of the hardsuit helmet diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index ec6b580ef53..11b4c83f114 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -618,7 +618,7 @@ extinguishes_left-- H.visible_message("[H]'s suit automatically extinguishes them!","Your suit automatically extinguishes you.") H.ExtinguishMob() - PoolOrNew(/obj/effect/particle_effect/water, get_turf(H)) + new /obj/effect/particle_effect/water(get_turf(H)) return 0 /obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params) diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm index b579ee834fb..fcb1100f1c7 100644 --- a/code/modules/events/wizard/imposter.dm +++ b/code/modules/events/wizard/imposter.dm @@ -16,7 +16,7 @@ return //Sad Trombone var/client/C = pick(candidates) - PoolOrNew(/obj/effect/particle_effect/smoke, W.loc) + new /obj/effect/particle_effect/smoke(W.loc) var/mob/living/carbon/human/I = new /mob/living/carbon/human(W.loc) W.dna.transfer_identity(I, transfer_SE=1) diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm index d1ebf0d5509..dcfff7d841f 100644 --- a/code/modules/mining/equipment.dm +++ b/code/modules/mining/equipment.dm @@ -447,7 +447,7 @@ minerals += M if(minerals.len) for(var/turf/closed/mineral/M in minerals) - var/obj/effect/overlay/temp/mining_overlay/C = PoolOrNew(/obj/effect/overlay/temp/mining_overlay, M) + var/obj/effect/overlay/temp/mining_overlay/C = new /obj/effect/overlay/temp/mining_overlay(M) C.icon_state = M.scan_state /obj/effect/overlay/temp/mining_overlay @@ -542,7 +542,7 @@ var/target_turf = get_turf(target) if(ismineralturf(target_turf)) var/turf/closed/mineral/M = target_turf - PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, M) + new /obj/effect/overlay/temp/kinetic_blast(M) M.gets_drilled(firer) ..() @@ -567,7 +567,7 @@ return if(proximity_flag && target == mark && isliving(target)) var/mob/living/L = target - PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, get_turf(L)) + new /obj/effect/overlay/temp/kinetic_blast(get_turf(L)) mark = 0 if(L.mob_size >= MOB_SIZE_LARGE) L.underlays -= marked_image diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 0b0b257a1b3..4941ce6b0eb 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -141,10 +141,10 @@ if(linked.z == CENTCOMM) user << "[linked] is somewhere you can't go." - PoolOrNew(/obj/effect/particle_effect/smoke, user.loc) + new /obj/effect/particle_effect/smoke(user.loc) user.forceMove(get_turf(linked)) feedback_add_details("warp_cube","[src.type]") - PoolOrNew(/obj/effect/particle_effect/smoke, user.loc) + new /obj/effect/particle_effect/smoke(user.loc) /obj/item/device/warp_cube/red name = "red cube" @@ -656,7 +656,7 @@ if(!istype(T)) return if(!istype(T, turf_type)) - var/obj/effect/overlay/temp/lavastaff/L = PoolOrNew(/obj/effect/overlay/temp/lavastaff, T) + var/obj/effect/overlay/temp/lavastaff/L = new /obj/effect/overlay/temp/lavastaff(T) L.alpha = 0 animate(L, alpha = 255, time = create_delay) user.visible_message("[user] points [src] at [T]!") @@ -803,7 +803,7 @@ timer = world.time + cooldown_time if(isliving(target) && chaser_timer <= world.time) //living and chasers off cooldown? fire one! chaser_timer = world.time + chaser_cooldown - PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(get_turf(user), user, target, chaser_speed, friendly_fire_check)) + new /obj/effect/overlay/temp/hierophant/chaser(get_turf(user), user, target, chaser_speed, friendly_fire_check) add_logs(user, target, "fired a chaser at", src) else addtimer(CALLBACK(src, .proc/cardinal_blasts, T, user), 0) //otherwise, just do cardinal blast @@ -858,7 +858,7 @@ if(do_after(user, 50, target = user) && !beacon) var/turf/T = get_turf(user) playsound(T,'sound/magic/Blind.ogg', 200, 1, -4) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(T, user)) + new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, user) beacon = new/obj/effect/hierophant(T) user.update_action_buttons_icon() user.visible_message("[user] places a strange machine beneath [user.p_their()] feet!", \ @@ -885,8 +885,8 @@ timer = world.time + 50 addtimer(CALLBACK(src, .proc/prepare_icon_update), 0) beacon.icon_state = "hierophant_tele_on" - var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE1 = PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/edge, user.loc) - var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE2 = PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/edge, beacon.loc) + var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE1 = new /obj/effect/overlay/temp/hierophant/telegraph/edge(user.loc) + var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE2 = new /obj/effect/overlay/temp/hierophant/telegraph/edge(beacon.loc) if(do_after(user, 40, target = user) && user && beacon) var/turf/T = get_turf(beacon) var/turf/source = get_turf(user) @@ -898,8 +898,8 @@ addtimer(CALLBACK(src, .proc/prepare_icon_update), 0) beacon.icon_state = "hierophant_tele_off" return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, user)) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(source, user)) + new /obj/effect/overlay/temp/hierophant/telegraph(T, user) + new /obj/effect/overlay/temp/hierophant/telegraph(source, user) playsound(T,'sound/magic/Wand_Teleport.ogg', 200, 1) playsound(source,'sound/machines/AirlockOpen.ogg', 200, 1) if(!do_after(user, 3, target = user) || !user || !beacon) //no walking away shitlord @@ -920,13 +920,13 @@ beacon.icon_state = "hierophant_tele_off" return add_logs(user, beacon, "teleported self from ([source.x],[source.y],[source.z]) to") - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(T, user)) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(source, user)) + new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, user) + new /obj/effect/overlay/temp/hierophant/telegraph/teleport(source, user) for(var/t in RANGE_TURFS(1, T)) - var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, user, TRUE)) //blasts produced will not hurt allies + var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, user, TRUE) //blasts produced will not hurt allies B.damage = 30 for(var/t in RANGE_TURFS(1, source)) - var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, user, TRUE)) //but absolutely will hurt enemies + var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies B.damage = 30 for(var/mob/living/L in range(1, source)) addtimer(CALLBACK(src, .proc/teleport_mob, source, L, T, user), 0) //regardless, take all mobs near us along @@ -971,10 +971,10 @@ /obj/item/weapon/hierophant_club/proc/cardinal_blasts(turf/T, mob/living/user) //fire cardinal cross blasts with a delay if(!T) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/cardinal, list(T, user)) + new /obj/effect/overlay/temp/hierophant/telegraph/cardinal(T, user) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, user, friendly_fire_check)) + new /obj/effect/overlay/temp/hierophant/blast(T, user, friendly_fire_check) for(var/d in cardinal) addtimer(CALLBACK(src, .proc/blast_wall, T, d, user), 0) @@ -987,15 +987,15 @@ for(var/i in 1 to range) if(!J) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(J, user, friendly_fire_check)) + new /obj/effect/overlay/temp/hierophant/blast(J, user, friendly_fire_check) previousturf = J J = get_step(previousturf, dir) /obj/item/weapon/hierophant_club/proc/aoe_burst(turf/T, mob/living/user) //make a 3x3 blast around a target if(!T) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, user)) + new /obj/effect/overlay/temp/hierophant/telegraph(T, user) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) for(var/t in RANGE_TURFS(1, T)) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, user, friendly_fire_check)) + new /obj/effect/overlay/temp/hierophant/blast(t, user, friendly_fire_check) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index d4c584964ec..1aa26092f02 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -285,7 +285,7 @@ message_admins("[key_name_admin(usr)] (?) (FLW) activated a bluespace capsule away from the mining level! (JMP)") log_admin("[key_name(usr)] activated a bluespace capsule away from the mining level at [T.x], [T.y], [T.z]") template.load(deploy_location, centered = TRUE) - PoolOrNew(/obj/effect/particle_effect/smoke, get_turf(src)) + new /obj/effect/particle_effect/smoke(get_turf(src)) qdel(src) diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index b8553642f12..e6d569c7f9c 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -19,9 +19,6 @@ /obj/effect/dummy/slaughter/singularity_act() return -/obj/effect/dummy/slaughter/Destroy() - ..() - return QDEL_HINT_PUTINPOOL /mob/living/proc/phaseout(obj/effect/decal/cleanable/B) @@ -53,7 +50,7 @@ playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, 1, -1) // Extinguish, unbuckle, stop being pulled, set our location into the // dummy object - var/obj/effect/dummy/slaughter/holder = PoolOrNew(/obj/effect/dummy/slaughter,mobloc) + var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(mobloc) src.ExtinguishMob() // Keep a reference to whatever we're pulling, because forceMove() diff --git a/code/modules/mob/living/carbon/alien/death.dm b/code/modules/mob/living/carbon/alien/death.dm index 6211dc83493..9382dc392db 100644 --- a/code/modules/mob/living/carbon/alien/death.dm +++ b/code/modules/mob/living/carbon/alien/death.dm @@ -5,10 +5,10 @@ new /obj/effect/gibspawner/xenobodypartless(loc,viruses) /mob/living/carbon/alien/gib_animation() - PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-a")) + new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-a") /mob/living/carbon/alien/spawn_dust() new /obj/effect/decal/remains/xeno(loc) /mob/living/carbon/alien/dust_animation() - PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-a")) + new /obj/effect/overlay/temp/dust_animation(loc, "dust-a") diff --git a/code/modules/mob/living/carbon/alien/larva/death.dm b/code/modules/mob/living/carbon/alien/larva/death.dm index 3ebd1c0141b..16d2f534e08 100644 --- a/code/modules/mob/living/carbon/alien/larva/death.dm +++ b/code/modules/mob/living/carbon/alien/larva/death.dm @@ -13,10 +13,10 @@ new /obj/effect/gibspawner/larvabodypartless(loc,viruses) /mob/living/carbon/alien/larva/gib_animation() - PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-l")) + new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-l") /mob/living/carbon/alien/larva/spawn_dust() new /obj/effect/decal/remains/xeno(loc) /mob/living/carbon/alien/larva/dust_animation() - PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-l")) + new /obj/effect/overlay/temp/dust_animation(loc, "dust-l") diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index d12da18b721..1e50d17e408 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -1,8 +1,8 @@ /mob/living/carbon/human/gib_animation() - PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-h")) + new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-h") /mob/living/carbon/human/dust_animation() - PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-h")) + new /obj/effect/overlay/temp/dust_animation(loc, "dust-h") /mob/living/carbon/human/spawn_gibs(with_bodyparts) if(with_bodyparts) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 5083098c045..7b133bda11c 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -308,7 +308,7 @@ /datum/species/golem/bluespace/proc/reactive_teleport(mob/living/carbon/human/H) H.visible_message("[H] teleports!", "You destabilize and teleport!") - PoolOrNew(/obj/effect/particle_effect/sparks, get_turf(H)) + new /obj/effect/particle_effect/sparks(get_turf(H)) playsound(get_turf(H), "sparks", 50, 1) do_teleport(H, get_turf(H), 6, asoundin = 'sound/weapons/emitter2.ogg') last_teleport = world.time diff --git a/code/modules/mob/living/carbon/monkey/death.dm b/code/modules/mob/living/carbon/monkey/death.dm index 25e7face89d..a45209c5c21 100644 --- a/code/modules/mob/living/carbon/monkey/death.dm +++ b/code/modules/mob/living/carbon/monkey/death.dm @@ -1,5 +1,5 @@ /mob/living/carbon/monkey/gib_animation() - PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-m")) + new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-m") /mob/living/carbon/monkey/dust_animation() - PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-m")) + new /obj/effect/overlay/temp/dust_animation(loc, "dust-m") diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 06369f02cbf..36e6a7f05a0 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -1,6 +1,6 @@ /mob/living/silicon/robot/gib_animation() - PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-r")) + new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-r") /mob/living/silicon/robot/dust() if(mmi) @@ -11,7 +11,7 @@ new /obj/effect/decal/remains/robot(loc) /mob/living/silicon/robot/dust_animation() - PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-r")) + new /obj/effect/overlay/temp/dust_animation(loc, "dust-r") /mob/living/silicon/robot/death(gibbed) if(stat == DEAD) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 35fb6540517..20fce3d5dd4 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -191,9 +191,9 @@ /obj/item/weapon/robot_module/proc/do_transform_animation() var/mob/living/silicon/robot/R = loc - var/obj/effect/overlay/temp/decoy/fading/fivesecond/ANM = PoolOrNew(/obj/effect/overlay/temp/decoy/fading/fivesecond, list(R.loc, R)) + var/obj/effect/overlay/temp/decoy/fading/fivesecond/ANM = new /obj/effect/overlay/temp/decoy/fading/fivesecond(R.loc, R) ANM.layer = R.layer - 0.01 - PoolOrNew(/obj/effect/overlay/temp/small_smoke, R.loc) + new /obj/effect/overlay/temp/small_smoke(R.loc) if(R.hat) R.hat.forceMove(get_turf(R)) R.hat = null diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 27858feaf3c..7bffdf2ba78 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -302,7 +302,7 @@ /mob/living/simple_animal/bot/emp_act(severity) var/was_on = on stat |= EMPED - PoolOrNew(/obj/effect/overlay/temp/emp, loc) + new /obj/effect/overlay/temp/emp(loc) if(paicard) paicard.emp_act(severity) src.visible_message("[paicard] is flies out of [bot_name]!","You are forcefully ejected from [bot_name]!") diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index dbec44582ab..da33418b6f2 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -242,7 +242,7 @@ T.MakeSlippery(min_wet_time = 20, wet_time_to_add = 15) else visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!") - PoolOrNew(/obj/effect/particle_effect/foam, loc) + new /obj/effect/particle_effect/foam(loc) else ..() diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 26d48b5c033..eac1dcd042a 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -446,7 +446,7 @@ Auto Patrol[]"}, if(severity==2 && prob(70)) ..(severity-1) else - PoolOrNew(/obj/effect/overlay/temp/emp, loc) + new /obj/effect/overlay/temp/emp(loc) var/list/mob/living/carbon/targets = new for(var/mob/living/carbon/C in view(12,src)) if(C.stat==2) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index a277de98424..7b49e29ad1c 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -175,9 +175,9 @@ var/global/list/parasites = list() //all currently existing/living guardians if(istype(summoner.loc, /obj/effect)) Recall(TRUE) else - PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, loc) + new /obj/effect/overlay/temp/guardian/phase/out(loc) forceMove(summoner.loc) - PoolOrNew(/obj/effect/overlay/temp/guardian/phase, loc) + new /obj/effect/overlay/temp/guardian/phase(loc) /mob/living/simple_animal/hostile/guardian/canSuicide() return 0 @@ -320,7 +320,7 @@ var/global/list/parasites = list() //all currently existing/living guardians return FALSE if(loc == summoner) forceMove(summoner.loc) - PoolOrNew(/obj/effect/overlay/temp/guardian/phase, loc) + new /obj/effect/overlay/temp/guardian/phase(loc) cooldown = world.time + 10 return TRUE return FALSE @@ -328,7 +328,7 @@ var/global/list/parasites = list() //all currently existing/living guardians /mob/living/simple_animal/hostile/guardian/proc/Recall(forced) if(!summoner || loc == summoner || (cooldown > world.time && !forced)) return FALSE - PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, loc) + new /obj/effect/overlay/temp/guardian/phase/out(loc) forceMove(summoner) cooldown = world.time + 10 diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm index 73e48a73c1b..b14609413eb 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm @@ -71,7 +71,7 @@ armour_penetration = 100 obj_damage = 0 environment_smash = 0 - PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(src)) + new /obj/effect/overlay/temp/guardian/phase/out(get_turf(src)) alpha = 15 if(!forced) src << "You enter stealth, empowering your next attack." diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm index 31636ed3c80..708a1e2ce6b 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm @@ -40,7 +40,7 @@ /mob/living/simple_animal/hostile/guardian/charger/Move() if(charging) - PoolOrNew(/obj/effect/overlay/temp/decoy/fading, list(loc,src)) + new /obj/effect/overlay/temp/decoy/fading(loc,src) . = ..() /mob/living/simple_animal/hostile/guardian/charger/snapback() diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm index a8fd15e8531..acad094cc24 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm @@ -22,14 +22,14 @@ if(isliving(target)) var/mob/living/M = target if(!M.anchored && M != summoner && !hasmatchingsummoner(M)) - PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(M)) + new /obj/effect/overlay/temp/guardian/phase/out(get_turf(M)) do_teleport(M, M, 10) for(var/mob/living/L in range(1, M)) if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them continue if(L != src && L != summoner) L.apply_damage(15, BRUTE) - PoolOrNew(/obj/effect/overlay/temp/explosion, get_turf(M)) + new /obj/effect/overlay/temp/explosion(get_turf(M)) /mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A) if(!istype(A)) @@ -76,7 +76,7 @@ var/turf/T = get_turf(src) stored_obj.forceMove(T) playsound(T,'sound/effects/Explosion2.ogg', 200, 1) - PoolOrNew(/obj/effect/overlay/temp/explosion, T) + new /obj/effect/overlay/temp/explosion(T) user.ex_act(2) qdel(src) else diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm index 3613d0bdd74..5defc82199e 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm @@ -63,6 +63,6 @@ else summoner << "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!" summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.") - PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(summoner)) + new /obj/effect/overlay/temp/guardian/phase/out(get_turf(summoner)) summoner.forceMove(get_turf(src)) - PoolOrNew(/obj/effect/overlay/temp/guardian/phase, get_turf(summoner)) + new /obj/effect/overlay/temp/guardian/phase(get_turf(summoner)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm index e59076cced3..a10680e73eb 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm @@ -35,7 +35,7 @@ C.adjustFireLoss(-5) C.adjustOxyLoss(-5) C.adjustToxLoss(-5) - var/obj/effect/overlay/temp/heal/H = PoolOrNew(/obj/effect/overlay/temp/heal, get_turf(C)) + var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(C)) if(namedatum) H.color = namedatum.colour if(C == summoner) @@ -137,11 +137,11 @@ src << "You need to hold still!" return - PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, T) + new /obj/effect/overlay/temp/guardian/phase/out(T) if(isliving(A)) var/mob/living/L = A L.flash_act() A.visible_message("[A] disappears in a flash of light!", \ "Your vision is obscured by a flash of light!") do_teleport(A, beacon, 0) - PoolOrNew(/obj/effect/overlay/temp/guardian/phase, get_turf(A)) + new /obj/effect/overlay/temp/guardian/phase(get_turf(A)) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 36aba02fdc1..7244788cd5e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -129,7 +129,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/Move() if(charging) - PoolOrNew(/obj/effect/overlay/temp/decoy/fading, list(loc,src)) + new /obj/effect/overlay/temp/decoy/fading(loc,src) DestroySurroundings() . = ..() if(!stat && .) @@ -150,12 +150,12 @@ Difficulty: Hard var/turf/T = get_turf(target) if(!T || T == loc) return - PoolOrNew(/obj/effect/overlay/temp/dragon_swoop, T) + new /obj/effect/overlay/temp/dragon_swoop(T) charging = 1 DestroySurroundings() walk(src, 0) setDir(get_dir(src, T)) - var/obj/effect/overlay/temp/decoy/D = PoolOrNew(/obj/effect/overlay/temp/decoy, list(loc,src)) + var/obj/effect/overlay/temp/decoy/D = new /obj/effect/overlay/temp/decoy(loc,src) animate(D, alpha = 0, color = "#FF0000", transform = matrix()*2, time = 5) sleep(5) throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, .charge_end)) @@ -240,9 +240,9 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodsmack(turf/T, handedness) if(handedness) - PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/rightsmack, T) + new /obj/effect/overlay/temp/bubblegum_hands/rightsmack(T) else - PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/leftsmack, T) + new /obj/effect/overlay/temp/bubblegum_hands/leftsmack(T) sleep(2.5) for(var/mob/living/L in T) if(!faction_check(L)) @@ -254,11 +254,11 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodgrab(turf/T, handedness) if(handedness) - PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/rightpaw, T) - PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/rightthumb, T) + new /obj/effect/overlay/temp/bubblegum_hands/rightpaw(T) + new /obj/effect/overlay/temp/bubblegum_hands/rightthumb(T) else - PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/leftpaw, T) - PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/leftthumb, T) + new /obj/effect/overlay/temp/bubblegum_hands/leftpaw(T) + new /obj/effect/overlay/temp/bubblegum_hands/leftthumb(T) sleep(6) for(var/mob/living/L in T) if(!faction_check(L)) @@ -308,7 +308,7 @@ Difficulty: Hard if(!pools.len) return FALSE - var/obj/effect/overlay/temp/decoy/DA = PoolOrNew(/obj/effect/overlay/temp/decoy, list(loc,src)) + var/obj/effect/overlay/temp/decoy/DA = new /obj/effect/overlay/temp/decoy(loc,src) DA.color = "#FF0000" var/oldtransform = DA.transform DA.transform = matrix()*2 @@ -350,7 +350,7 @@ Difficulty: Hard new /obj/effect/decal/cleanable/blood/bubblegum(J) for(var/i in 1 to range) J = get_step(previousturf, targetdir) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/bloodsplatter, list(previousturf, get_dir(previousturf, J))) + new /obj/effect/overlay/temp/dir_setting/bloodsplatter(previousturf, get_dir(previousturf, J)) playsound(previousturf,'sound/effects/splat.ogg', 100, 1, -1) if(!J || !previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J]) break diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 97fd658ce29..b0d7639d224 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -112,7 +112,7 @@ Difficulty: Very Hard /mob/living/simple_animal/hostile/megafauna/colossus/bullet_act(obj/item/projectile/P) if(!stat) - var/obj/effect/overlay/temp/at_shield/AT = PoolOrNew(/obj/effect/overlay/temp/at_shield, src.loc, src) + var/obj/effect/overlay/temp/at_shield/AT = new /obj/effect/overlay/temp/at_shield(src.loc, src) var/random_x = rand(-32, 32) AT.pixel_x += random_x @@ -556,7 +556,7 @@ Difficulty: Very Hard if(..()) for(var/i in range(1, src)) if(isturf(i)) - PoolOrNew(/obj/effect/overlay/temp/cult/sparks, i) + new /obj/effect/overlay/temp/cult/sparks(i) continue if(ishuman(i)) var/mob/living/carbon/human/H = i @@ -644,7 +644,7 @@ Difficulty: Very Hard var/mob/living/L = target if(L.stat < DEAD) L.heal_overall_damage(heal_power, heal_power) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(target), "#80F5FF")) + new /obj/effect/overlay/temp/heal(get_turf(target), "#80F5FF") /mob/living/simple_animal/hostile/lightgeist/ghostize() . = ..() @@ -667,7 +667,7 @@ Difficulty: Very Hard if(..()) var/list/L = list() var/turf/T = get_step(src, dir) - PoolOrNew(/obj/effect/overlay/temp/emp/pulse,T) + new /obj/effect/overlay/temp/emp/pulse(T) for(var/i in T) if(istype(i, /obj/item) && !is_type_in_typecache(i, banned_items_typecache)) var/obj/item/W = i diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index f882f2143a6..7cf9de1a960 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -128,7 +128,7 @@ Difficulty: Medium /obj/effect/overlay/temp/target/proc/fall() var/turf/T = get_turf(src) playsound(T,'sound/magic/Fireball.ogg', 200, 1) - PoolOrNew(/obj/effect/overlay/temp/fireball,T) + new /obj/effect/overlay/temp/fireball(T) sleep(12) explosion(T, 0, 0, 1, 0, 0, 0, 1) @@ -157,7 +157,7 @@ Difficulty: Medium visible_message("Fire rains from the sky!") for(var/turf/turf in range(12,get_turf(src))) if(prob(10)) - PoolOrNew(/obj/effect/overlay/temp/target, turf) + new /obj/effect/overlay/temp/target(turf) /mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_walls() playsound(get_turf(src),'sound/magic/Fireball.ogg', 200, 1) @@ -174,7 +174,7 @@ Difficulty: Medium if(!range || (J != previousturf && (!previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J]))) break range-- - PoolOrNew(/obj/effect/hotspot,J) + new /obj/effect/hotspot(J) J.hotspot_expose(700,50,1) for(var/mob/living/L in J.contents - hit_things) L.adjustFireLoss(20) @@ -218,7 +218,7 @@ Difficulty: Medium else tturf = get_turf(src) forceMove(tturf) - PoolOrNew(/obj/effect/overlay/temp/dragon_swoop, tturf) + new /obj/effect/overlay/temp/dragon_swoop(tturf) animate(src, pixel_x = initial(pixel_x), pixel_z = 0, time = 10) sleep(10) playsound(src.loc, 'sound/effects/meteorimpact.ogg', 200, 1) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 037400778c4..4c537c32fb3 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -151,7 +151,7 @@ Difficulty: Hard var/prevloc = loc . = ..() if(!stat && .) - var/obj/effect/overlay/temp/hierophant/squares/HS = PoolOrNew(/obj/effect/overlay/temp/hierophant/squares, prevloc) + var/obj/effect/overlay/temp/hierophant/squares/HS = new /obj/effect/overlay/temp/hierophant/squares(prevloc) HS.dir = dir playsound(loc, 'sound/mecha/mechmove04.ogg', 150, 1, -4) if(target) @@ -251,7 +251,7 @@ Difficulty: Hard pickedtarget = pick_n_take(targets) if(!istype(pickedtarget) || pickedtarget.stat == DEAD) pickedtarget = target - var/obj/effect/overlay/temp/hierophant/chaser/C = PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(loc, src, pickedtarget, chaser_speed, FALSE)) + var/obj/effect/overlay/temp/hierophant/chaser/C = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, pickedtarget, chaser_speed, FALSE) C.moving = 3 C.moving_dir = pick_n_take(cardinal_copy) sleep(10) @@ -281,10 +281,10 @@ Difficulty: Hard else addtimer(CALLBACK(src, .proc/diagonal_blasts, target), 0) else if(chaser_cooldown < world.time) //if chasers are off cooldown, fire some! - var/obj/effect/overlay/temp/hierophant/chaser/C = PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(loc, src, target, chaser_speed, FALSE)) + var/obj/effect/overlay/temp/hierophant/chaser/C = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, target, chaser_speed, FALSE) chaser_cooldown = world.time + initial(chaser_cooldown) if((prob(anger_modifier) || target.Adjacent(src)) && target != src) - var/obj/effect/overlay/temp/hierophant/chaser/OC = PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE)) + var/obj/effect/overlay/temp/hierophant/chaser/OC = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE) OC.moving = 4 OC.moving_dir = pick(cardinal - C.moving_dir) else //just release a burst of power @@ -294,10 +294,10 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/diagonal, list(T, src)) + new /obj/effect/overlay/temp/hierophant/telegraph/diagonal(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) for(var/d in diagonals) addtimer(CALLBACK(src, .proc/blast_wall, T, d), 0) @@ -305,10 +305,10 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/cardinal, list(T, src)) + new /obj/effect/overlay/temp/hierophant/telegraph/cardinal(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) for(var/d in cardinal) addtimer(CALLBACK(src, .proc/blast_wall, T, d), 0) @@ -316,10 +316,10 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, src)) + new /obj/effect/overlay/temp/hierophant/telegraph(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) for(var/d in alldirs) addtimer(CALLBACK(src, .proc/blast_wall, T, d), 0) @@ -328,7 +328,7 @@ Difficulty: Hard var/turf/previousturf = T var/turf/J = get_step(previousturf, set_dir) for(var/i in 1 to range) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(J, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(J, src, FALSE) previousturf = J J = get_step(previousturf, set_dir) @@ -344,7 +344,7 @@ Difficulty: Hard for(var/t in RANGE_TURFS(11, T)) if(t && get_dist(t, T) == 11) new /obj/effect/overlay/temp/hierophant/wall(t) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you! addtimer(CALLBACK(src, .proc/blink, T), 0) @@ -352,7 +352,7 @@ Difficulty: Hard var/turf/previousturf = T var/turf/J = get_step(previousturf, set_dir) for(var/i in 1 to 10) - var/obj/effect/overlay/temp/hierophant/squares/HS = PoolOrNew(/obj/effect/overlay/temp/hierophant/squares, J) + var/obj/effect/overlay/temp/hierophant/squares/HS = new /obj/effect/overlay/temp/hierophant/squares(J) HS.dir = set_dir previousturf = J J = get_step(previousturf, set_dir) @@ -363,19 +363,19 @@ Difficulty: Hard return var/turf/T = get_turf(victim) var/turf/source = get_turf(src) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, src)) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(source, src)) + new /obj/effect/overlay/temp/hierophant/telegraph(T, src) + new /obj/effect/overlay/temp/hierophant/telegraph(source, src) playsound(T,'sound/magic/Wand_Teleport.ogg', 200, 1) playsound(source,'sound/machines/AirlockOpen.ogg', 200, 1) blinking = TRUE sleep(2) //short delay before we start... - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(T, src)) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(source, src)) + new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, src) + new /obj/effect/overlay/temp/hierophant/telegraph/teleport(source, src) for(var/t in RANGE_TURFS(1, T)) - var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE)) + var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) B.damage = 30 for(var/t in RANGE_TURFS(1, source)) - var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE)) + var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) B.damage = 30 animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out sleep(1) @@ -397,11 +397,11 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, src)) + new /obj/effect/overlay/temp/hierophant/telegraph(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) for(var/t in RANGE_TURFS(1, T)) - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/burst(turf/original) //release a wave of blasts playsound(original,'sound/machines/AirlockOpen.ogg', 200, 1) @@ -414,7 +414,7 @@ Difficulty: Hard if(dist > last_dist) last_dist = dist sleep(1 + min(burst_range - last_dist, 12) * 0.5) //gets faster as it gets further out - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE)) + new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) /mob/living/simple_animal/hostile/megafauna/hierophant/AltClickOn(atom/A) //player control handler(don't give this to a player holy fuck) if(!istype(A) || get_dist(A, src) <= 2) @@ -525,7 +525,7 @@ Difficulty: Hard targetturf = get_turf(target) /obj/effect/overlay/temp/hierophant/chaser/proc/make_blast() - PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(loc, caster, friendly_fire_check)) + new /obj/effect/overlay/temp/hierophant/blast(loc, caster, friendly_fire_check) /obj/effect/overlay/temp/hierophant/telegraph icon = 'icons/effects/96x96.dmi' @@ -632,7 +632,7 @@ Difficulty: Hard addtimer(CALLBACK(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update), 0) if(do_after(user, 50, target = src)) playsound(src,'sound/magic/Blind.ogg', 200, 1, -4) - PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(get_turf(src), user)) + new /obj/effect/overlay/temp/hierophant/telegraph/teleport(get_turf(src), user) user << "You collect [src], reattaching it to the club!" H.beacon = null user.update_action_buttons_icon() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 8b2a29de530..6be8cd5723d 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -290,7 +290,7 @@ var/next_mob_id = 0 if (!tile) return 0 - PoolOrNew(/obj/effect/overlay/temp/point, list(A,invisibility)) + new /obj/effect/overlay/temp/point(A,invisibility) return 1 diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index d029187d6bd..a3f12c4d174 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -241,12 +241,12 @@ L.loc = locate(locx,locy,mobloc.z) var/limit = 2//For only two trailing shadows. for(var/turf/T in getline(mobloc, L.loc)) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/shadow, list(T, L.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/shadow(T, L.dir) limit-- if(limit<=0) break else - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/shadow, list(mobloc, L.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/shadow(mobloc, L.dir) L.loc = get_step(L, direct) L.setDir(direct) if(3) //Incorporeal move, but blocked by holy-watered tiles and salt piles. diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index a66b1d653c8..5fe7e06b5ca 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -42,7 +42,7 @@ cut_overlays() invisibility = INVISIBILITY_MAXIMUM - PoolOrNew(/obj/effect/overlay/temp/monkeyify, get_turf(src)) + new /obj/effect/overlay/temp/monkeyify(get_turf(src)) sleep(22) var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey( loc ) @@ -192,7 +192,7 @@ icon = null cut_overlays() invisibility = INVISIBILITY_MAXIMUM - PoolOrNew(/obj/effect/overlay/temp/monkeyify/humanify, get_turf(src)) + new /obj/effect/overlay/temp/monkeyify/humanify(get_turf(src)) sleep(22) var/mob/living/carbon/human/O = new( loc ) for(var/obj/item/C in O.loc) diff --git a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm index a29a42f89a7..1ef1d02a533 100644 --- a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm +++ b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm @@ -72,7 +72,7 @@ It is possible to destroy the net by the occupant or someone else. M.unEquip(W) playsound(M.loc, 'sound/effects/sparks4.ogg', 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase/out, list(get_turf(M), M.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(M), M.dir) visible_message("[M] suddenly vanishes!") M.forceMove(pick(holdingfacility)) //Throw mob in to the holding facility. @@ -86,7 +86,7 @@ It is possible to destroy the net by the occupant or someone else. spark_system.start() playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(M.loc, 'sound/effects/sparks2.ogg', 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase, list(get_turf(M), M.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(M), M.dir) qdel(src) else//And they are free. diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm index f60151d4794..de88dc03f6a 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm @@ -33,7 +33,7 @@ Contents: if(destination && isturf(mobloc))//So we don't teleport out of containers playsound(H.loc, "sparks", 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase/out, list(get_turf(H), H.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(H), H.dir) handle_teleport_grab(destination, H) H.loc = destination @@ -41,7 +41,7 @@ Contents: spark_system.start() playsound(H.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(H.loc, "sparks", 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase, list(get_turf(H), H.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(H), H.dir) destination.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf s_coold = 1 @@ -62,7 +62,7 @@ Contents: var/turf/mobloc = get_turf(H.loc)//To make sure that certain things work properly below. if(!T.density && isturf(mobloc)) playsound(H.loc, "sparks", 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase/out, list(get_turf(H), H.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(H), H.dir) handle_teleport_grab(T, H) H.forceMove(T) @@ -70,7 +70,7 @@ Contents: spark_system.start() playsound(H.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(H.loc, "sparks", 50, 1) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase, list(get_turf(H), H.dir)) + new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(H), H.dir) T.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf s_coold = 1 diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 63aac680697..10d617e4670 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -177,7 +177,7 @@ src.fire_delay = rand(minimum_fire_delay,maximum_fire_delay) src.shot_number = 0 - var/obj/item/projectile/A = PoolOrNew(projectile_type,src.loc) + var/obj/item/projectile/A = new projectile_type(src.loc) A.setDir(src.dir) playsound(src.loc, projectile_sound, 25, 1) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 3a19ec72b10..9c11a4289b9 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -41,7 +41,7 @@ /obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob) makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, user, null, 0, loc_override = src.loc) - PoolOrNew(/obj/effect/particle_effect/smoke/sleeping, src.loc) + new /obj/effect/particle_effect/smoke/sleeping(src.loc) /obj/singularity/narsie/process() diff --git a/code/modules/projectiles/firing.dm b/code/modules/projectiles/firing.dm index 4c44b27bb62..68c08054553 100644 --- a/code/modules/projectiles/firing.dm +++ b/code/modules/projectiles/firing.dm @@ -44,7 +44,7 @@ if(BB.firer) firing_dir = BB.firer.dir if(!BB.suppressed && firing_effect_type) - PoolOrNew(firing_effect_type, list(get_turf(src), firing_dir)) + new firing_effect_type(get_turf(src), firing_dir) var/direct_target if(targloc == curloc) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index e4654ea5a8d..1d0dc72e1f6 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -193,10 +193,10 @@ if(ismineralturf(target_turf)) var/turf/closed/mineral/M = target_turf M.gets_drilled(firer) - var/obj/effect/overlay/temp/kinetic_blast/K = PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, target_turf) + var/obj/effect/overlay/temp/kinetic_blast/K = new /obj/effect/overlay/temp/kinetic_blast(target_turf) K.color = color for(var/type in hit_overlays) - PoolOrNew(type, target_turf) + new type(target_turf) if(turf_aoe) for(var/T in RANGE_TURFS(1, target_turf) - target_turf) if(ismineralturf(T)) diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index fae78a8fa31..bcc9e3bd8a5 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -107,7 +107,7 @@ /obj/item/weapon/gun/medbeam/proc/on_beam_tick(var/mob/living/target) if(target.health != target.maxHealth) - PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(target), "#80F5FF")) + new /obj/effect/overlay/temp/heal(get_turf(target), "#80F5FF") target.adjustBruteLoss(-4) target.adjustFireLoss(-4) return diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 51799b0d8d5..d3c220ac0cc 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -81,7 +81,7 @@ var/turf/target_loca = get_turf(target) if(!isliving(target)) if(impact_effect_type) - PoolOrNew(impact_effect_type, list(target_loca, target, src)) + new impact_effect_type(target_loca, target, src) return 0 var/mob/living/L = target if(blocked != 100) // not completely blocked @@ -90,13 +90,13 @@ if(starting) splatter_dir = get_dir(starting, target_loca) if(isalien(L)) - PoolOrNew(/obj/effect/overlay/temp/dir_setting/bloodsplatter/xenosplatter, list(target_loca, splatter_dir)) + new /obj/effect/overlay/temp/dir_setting/bloodsplatter/xenosplatter(target_loca, splatter_dir) else - PoolOrNew(/obj/effect/overlay/temp/dir_setting/bloodsplatter, list(target_loca, splatter_dir)) + new /obj/effect/overlay/temp/dir_setting/bloodsplatter(target_loca, splatter_dir) if(prob(33)) L.add_splatter_floor(target_loca) else if(impact_effect_type) - PoolOrNew(impact_effect_type, list(target_loca, target, src)) + new impact_effect_type(target_loca, target, src) var/organ_hit_text = "" var/limb_hit = L.check_limb_hit(def_zone)//to get the correct message info. diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 81c5bb9ddc1..b12784b4307 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -95,10 +95,6 @@ /obj/item/projectile/beam/emitter/singularity_pull() return //don't want the emitters to miss -/obj/item/projectile/beam/emitter/Destroy() - ..() - return QDEL_HINT_PUTINPOOL - /obj/item/projectile/beam/lasertag name = "laser tag beam" icon_state = "omnilaser" diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index d08b80cb164..76725fd2169 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -119,7 +119,7 @@ ..() var/turf/location = get_turf(src) if(location) - PoolOrNew(/obj/effect/hotspot, location) + new /obj/effect/hotspot(location) location.hotspot_expose(700, 50, 1) /obj/item/projectile/bullet/incendiary/shell/dragonsbreath @@ -326,7 +326,7 @@ ..() var/turf/location = get_turf(src) if(location) - PoolOrNew(/obj/effect/hotspot, location) + new /obj/effect/hotspot(location) location.hotspot_expose(700, 50, 1) /obj/item/projectile/bullet/saw/incen/on_hit(atom/target, blocked = 0) diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index e8830ec1a8f..7a68d887067 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -247,7 +247,7 @@ var/throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(A, src))) A.throw_at(throwtarget,power+1,1) for(var/turf/F in range(T,power)) - PoolOrNew(/obj/effect/overlay/temp/gravpush, F) + new /obj/effect/overlay/temp/gravpush(F) /obj/item/projectile/gravityattract name = "attraction bolt" @@ -274,7 +274,7 @@ continue A.throw_at(T, power+1, 1) for(var/turf/F in range(T,power)) - PoolOrNew(/obj/effect/overlay/temp/gravpush, F) + new /obj/effect/overlay/temp/gravpush(F) /obj/item/projectile/gravitychaos name = "gravitational blast" @@ -301,5 +301,5 @@ continue A.throw_at(get_edge_target_turf(A, pick(cardinal)), power+1, 1) for(var/turf/Z in range(T,power)) - PoolOrNew(/obj/effect/overlay/temp/gravpush, Z) + new /obj/effect/overlay/temp/gravpush(Z) diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm index 1ce7341a3fd..f60c7f38a60 100644 --- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm @@ -170,7 +170,7 @@ for(var/turf/open/T in range(1, B)) var/obj/structure/blob/C = locate() in T if(!(C && C.overmind && C.overmind.blob_reagent_datum.id == B.overmind.blob_reagent_datum.id) && prob(80)) - PoolOrNew(/obj/effect/hotspot, T) + new /obj/effect/hotspot(T) if(damage_flag == "fire") return 0 return ..() @@ -299,7 +299,7 @@ var/initial_volume = reac_volume reac_volume = ..() if(reac_volume >= 10) //if it's not a spore cloud, bad time incoming - var/obj/effect/overlay/temp/explosion/fast/E = PoolOrNew(/obj/effect/overlay/temp/explosion/fast, get_turf(M)) + var/obj/effect/overlay/temp/explosion/fast/E = new /obj/effect/overlay/temp/explosion/fast(get_turf(M)) E.alpha = 150 for(var/mob/living/L in orange(get_turf(M), 1)) if("blob" in L.faction) //no friendly fire diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 249825cde20..85f553fcc28 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -63,7 +63,7 @@ if(isfloorturf(F)) for(var/turf/turf in range(1,F)) if(!locate(/obj/effect/hotspot) in turf) - PoolOrNew(/obj/effect/hotspot, F) + new /obj/effect/hotspot(F) if(iswallturf(T)) var/turf/closed/wall/W = T if(prob(reac_volume)) @@ -75,7 +75,7 @@ M.adjust_fire_stacks(min(reac_volume/5, 10)) M.IgniteMob() if(!locate(/obj/effect/hotspot) in M.loc) - PoolOrNew(/obj/effect/hotspot, M.loc) + new /obj/effect/hotspot(M.loc) /datum/reagent/sorium name = "Sorium" diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index b75908a6f23..4f76d34b2a8 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -132,7 +132,7 @@ /datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume) var/turf/T = get_turf(holder.my_atom) for(var/turf/turf in range(1,T)) - PoolOrNew(/obj/effect/hotspot, turf) + new /obj/effect/hotspot(turf) holder.chem_temp = 1000 // hot as shit /datum/chemical_reaction/reagent_explosion/methsplosion @@ -147,7 +147,7 @@ /datum/chemical_reaction/reagent_explosion/methsplosion/on_reaction(datum/reagents/holder, created_volume) var/turf/T = get_turf(holder.my_atom) for(var/turf/turf in range(1,T)) - PoolOrNew(/obj/effect/hotspot, turf) + new /obj/effect/hotspot(turf) holder.chem_temp = 1000 // hot as shit ..() diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm index 681b9b58610..f244a4d748c 100644 --- a/code/modules/recycling/disposal-structures.dm +++ b/code/modules/recycling/disposal-structures.dm @@ -254,7 +254,7 @@ if(isfloorturf(T)) //intact floor, pop the tile floorturf = T if(floorturf.floor_tile) - PoolOrNew(floorturf.floor_tile, T) + new floorturf.floor_tile(T) floorturf.make_plating() if(direction) // direction is specified diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index ed185319fbf..7c21400b645 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -391,7 +391,7 @@ /obj/docking_port/mobile/proc/create_ripples(obj/docking_port/stationary/S1) var/list/turfs = ripple_area(S1) for(var/t in turfs) - ripples += PoolOrNew(/obj/effect/overlay/temp/ripple, t) + ripples += new /obj/effect/overlay/temp/ripple(t) /obj/docking_port/mobile/proc/remove_ripples() for(var/R in ripples) diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm index 42502536550..b235184ddd8 100644 --- a/code/modules/spells/spell_types/devil.dm +++ b/code/modules/spells/spell_types/devil.dm @@ -136,7 +136,7 @@ spawn_dust() src.visible_message("[src] disappears in a flashfire!") playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, 1, -1) - var/obj/effect/dummy/slaughter/holder = PoolOrNew(/obj/effect/dummy/slaughter,loc) + var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(loc) src.ExtinguishMob() if(buckled) buckled.unbuckle_mob(src,force=1) diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 52669807277..cbc87cd40ff 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -26,7 +26,7 @@ target.notransform = 1 var/turf/mobloc = get_turf(target) var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt(mobloc) - PoolOrNew(jaunt_out_type, list(mobloc, holder.dir)) + new jaunt_out_type(mobloc, holder.dir) target.ExtinguishMob() if(target.buckled) target.buckled.unbuckle_mob(target,force=1) @@ -51,7 +51,7 @@ holder.reappearing = 1 playsound(get_turf(target), 'sound/magic/Ethereal_Exit.ogg', 50, 1, -1) sleep(25 - jaunt_in_time) - PoolOrNew(jaunt_in_type, list(mobloc, holder.dir)) + new jaunt_in_type(mobloc, holder.dir) sleep(jaunt_in_time) qdel(holder) if(!qdeleted(target)) diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index b5ca5146578..72eab294e43 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -338,7 +338,7 @@ M.adjustBruteLoss(5) M << "You're slammed into the floor by [user]!" else - PoolOrNew(sparkle_path, list(get_turf(AM), get_dir(user, AM))) //created sparkles will disappear on their own + new sparkle_path(get_turf(AM), get_dir(user, AM)) //created sparkles will disappear on their own if(isliving(AM)) var/mob/living/M = AM M.Weaken(stun_amt) diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index 937906101c9..2bd0ee63d95 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -23,7 +23,7 @@ /obj/item/weapon/ore/bluespace_crystal/attack_self(mob/user) user.visible_message("[user] crushes [src]!", "You crush [src]!") - PoolOrNew(/obj/effect/particle_effect/sparks, loc) + new /obj/effect/particle_effect/sparks(loc) playsound(src.loc, "sparks", 50, 1) blink_mob(user) user.unEquip(src) @@ -36,7 +36,7 @@ if(!..()) // not caught in mid-air visible_message("[src] fizzles and disappears upon impact!") var/turf/T = get_turf(hit_atom) - PoolOrNew(/obj/effect/particle_effect/sparks, T) + new /obj/effect/particle_effect/sparks(T) playsound(src.loc, "sparks", 50, 1) if(isliving(hit_atom)) blink_mob(hit_atom) diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm index 4240d93e8c1..ecfcecbc2ed 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -29,7 +29,7 @@ /obj/vehicle/space/speedbike/Move(newloc,move_dir) if(has_buckled_mobs()) - PoolOrNew(/obj/effect/overlay/temp/speedbike_trail,list(loc,move_dir)) + new /obj/effect/overlay/temp/speedbike_trail(loc,move_dir) . = ..() /obj/vehicle/space/speedbike/red diff --git a/tgstation.dme b/tgstation.dme index c00cc47ce66..5167f6b9a4c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -167,7 +167,6 @@ #include "code\controllers\subsystem\parallax.dm" #include "code\controllers\subsystem\persistence.dm" #include "code\controllers\subsystem\ping.dm" -#include "code\controllers\subsystem\pool.dm" #include "code\controllers\subsystem\radio.dm" #include "code\controllers\subsystem\religion.dm" #include "code\controllers\subsystem\server_maintenance.dm" @@ -899,7 +898,6 @@ #include "code\game\objects\structures\transit_tubes\transit_tube.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_construction.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" -#include "code\game\pooling\pool.dm" #include "code\game\turfs\closed.dm" #include "code\game\turfs\open.dm" #include "code\game\turfs\turf.dm" From deafd45efb64ea6c563b4c974ecaa726e1f87369 Mon Sep 17 00:00:00 2001 From: Dannno Date: Sun, 22 Jan 2017 17:16:59 -0500 Subject: [PATCH 30/39] adds yeehaw.ogg --- code/world.dm | 2 +- sound/misc/yeehaw.ogg | Bin 0 -> 49588 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 sound/misc/yeehaw.ogg diff --git a/code/world.dm b/code/world.dm index f6886a5b8b0..fb041501fcc 100644 --- a/code/world.dm +++ b/code/world.dm @@ -248,7 +248,7 @@ var/last_irc_status = 0 if(ticker && ticker.round_end_sound) world << sound(ticker.round_end_sound) else - world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg','sound/misc/leavingtg.ogg', 'sound/misc/its_only_game.ogg')) // random end sounds!! - LastyBatsy + world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg','sound/misc/leavingtg.ogg', 'sound/misc/its_only_game.ogg', 'sound/misc/yeehaw.ogg')) // random end sounds!! - LastyBatsy sleep(soundwait) Master.Shutdown() //run SS shutdowns for(var/thing in clients) diff --git a/sound/misc/yeehaw.ogg b/sound/misc/yeehaw.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ddc56fbfe9dfad3ab1079ec315ba3e5d5a69188a GIT binary patch literal 49588 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
    # zW**aYt@!hq_35uy3&+L)E{9uSd_XW8UfAE`#j4^gv+X!7>Qatxqh6N-6=}h&+X&0# zmf@Tv14DhBjje)w`uH?|P$m{fH1;VPhm zuX1ojuXR~@#vEnsV= zwnNis(Dq47G-1qJq^bGHv3{)mw)Pj9?Os7}s|?1>hA(5p^I{`%8HYdW`c1wW7RMLA zzSAc2FQyL>7!h}hA6XZYv)jhY_rcRpp1Tza?R5(|9j$&MQXelirJboYSm}+aL5Z@I zxU%|6&F`SfW}UI(!U2$_7J$#jRr;c6z?dSW*X8_RJp1h$euKb7ZhK_I=I@m50jpd* zqlhFTh5dEfA1@8O&XIGG428T#5*VxLxcV#kqnT%On{tu?0?lB^YG{%Pbt^~HZN@@BQAs6kgfJrJ=G0A7S~ z5CN#4Ztr=-=R3<36xqd7{}6UBf3GHo>FUhJ@tw}2z0io!aBdg*@~Y?SopbEF*;w21 zzl+j4n|~&IcHM+AZaw`qq9u1|H`c$m8smov?G}74^;k8lU!L93aQLIaI{*95cx=y)`MUf)_{O2Gc?co^V-$4Qb z`0Z=jI8Uzb>6#st5EB;{6B85W?w%JL5)zu`=Kn4_Ixr?aIr^2rr?rL{UnA6+F6^@?m#O<0Wr zN6h-53y)*Cw9NQ{Yx`H-&GW;)1i{H9O%&GA({OVGbik|z7FYjfp@l=HGHFhH7^@o8ze54Q@6cjq^)rAAj< zYyjV*N$7==PYet=@7~pVs~|Oo2)dQXdTInzYb0Reg51$9t;YtM^p0f7;5Xod*C`1_eID zeQOP@AiTd|YJNtnUX-{iAzBit`OM{*XQ-G?vY=S+%9JWoi|D$MVbQ`6zQ16j0B0^O zoUx>oRpEYfck|%IlB-Hjn;b0Iy-hkH?G!C0b8oO4nJ`GFQo1{i$b9Hnf9uPBYbXFE zV!ibKAqwkxdAM$B<1=z;894m5KWHC5s?8>IzAa7QvlT$~LoVA%eIsa*x1bx& zB)q97QkZ|O@~nDn3vH{3pYt#E{>wXk5%U;}A)mATQ9G7^7e(#j#@hQjH`{d?ogU17=4an37gMp-HE7tcX_cJ&Ov7n>kHLE}{0U4NNhMl*7=4PxczM-q^d z`{LA&hB|Ov7AhSFY&>5_p2SBhv7}WF$TJ=#mmmakcO*F=$|@Y*Hbk7dwtwypj_Reo zTA$CV`RG_f!zY!!*n__d2t6YfitIu&z2;wI?HM~%TbN1VI!!q461=)7R!n9YqZKU; zj5iz*PMh@GH-qz=7tjtAg`528p%&~kJs6k-!z9wcd=eg)7peBE`nh-|oknna^gilt zLj@*vB(~&N_qLGlD4CANbE&-KE=<6C`Uq*#^D4njc_aSIC$mIR!V>&@pE8JCHN3lX z>fZ8X>lc5&$q8fAF%qCGj58^dIJ{aeCL^tM5gO)3JrueSc@evcU&MGzzhbTK(SKKk zku9gc3`YxJ>zUq$im@YMC))oclHL4obw&1=ve^;BWa;T^>DJ*_C*EYn*e{Bv z^FpB7QFYLVe4o3{a_gjp3e%L9yL2&TdLCJ^)9$Z+G-<-;Mts$t-g~FsQK4@pN7dh? z$b>l&y?(+To7SjZ5}}wus)(kYg{e`Zq;;YV{wL|KsSZB$3)lBC;;%JRY10zYnkY;x zh(2i-p3OQ&jfh2O;Y}THFG}TxQUNTPpCraD-T}JoV`e}3S#T)wha2*U7V8;ADLSEQ zw;p!;N?olA!&3Dh&n&_-z+az2Ty+%iLwX1%(faKaZ7XQT&pE*}#-1rD116@t!qXvA z&Yv3Bno(4PdyC&lNi54r!2>T{brJ#tKtCWv;H@8xnn5aKwjEPG$f`!slh&;zZMGQHvE6Tk5inW9g5gC}RKj?MLF5^9db zbjgOgI2r6RsoiC(L9`9NP>4&8`KAI%UntdC@5g`HBU8_n3A~W=t`-!s=IB3c)@R`%`A}SVb-QM0=&LASfElYHg?b;OTD8_Z}--KVFu^ z?w<>Kj-4*;_;X%TJKk?m>fWE*kmK`1mCq2vHz`JreHcl5&<Br^MeO=`ry79Ib_N?JJb-MF@R@ zF@W(1nQ)M%e`ECZoWHf(Qfsw_?ZN?5i+hH1A(YcOapH4&`$bGy`l<0;m0^>kW*;o< ztnBcpk?Z7VPMSUb9`SX8j#nXLY;EWbW{)N)&~h@?7z~tx2>DK1kKd!%OQf1UKC;g2o zaIXwfZ*!(Z=hTuyTJQ#9BmFHJMOT z^j2#+K2qm);+9_tCFGpJpQJbs6auLEw60s=u?ofmFy$~O4{I^8_3<2g0&^8j)g>H{JUmb-2P%9W zTTdux^0bBU2|8PrheHC>tIYR}CrTQy)b;jMGi9HZ3Z*v{5i;MV2SHss zkIuEPv-=sfNUY3i6t)Qj@2f1^3YVXx<(o(UXka^c*=P|p|iX><_edl z)TS$bc$RtvEIP69CRs(@%s-v(iEwHG0X^1xutt6imYGA&YH@9aA{Z-=j3lc|cl_0itVgE%5DjaY`0rV1(Cd1e@R5*+#l z>)ZQ&7L=FDA*xVBU(J5uBE&yaHD1bHZaBIqxc+sW{-xTF%Zq2}?qb)T|GwIN_u^+C zF)&-)EeZf%oErn4QY^DcM5?5g(MWKxk6}W7GDSoI6X_a7r(z~UTtjT==j2k)=8{6t{%2oefoxQ?|Ho6quM`8eh z%W9+T$0zc*%j?TqkD}x0sCab?}eSFx23N?y) zVTwH3n#)Eg@@7IiO!C{-nnRgw(-KA!d)#=t{(?YOB30cg|-u8_trNoT4gZFpm7o>O}{^}2Z{Vkc zoM<#g1|>Uj=A2QAq1jHYWc!GB92WF@ujIA&Z>i(oXH`RHeb7Cqn&3NPuD8~9^4pmc z2A3(WAsNae?CKKVqps=bI$_b|`lMgx9k!!~QktRJAz7*J&HH8J=W+If@acF^2Bty* zLpU<;h=5-85_HdwlQ#rk4USQM5K&s};|627wDQ*!Z#7x4PPkm^9z+;FgZFgLWqt=0 z4Xwh<7EtYfkIx9q9lK#jIrE$m+yU8?W3%(gB!DmH z>J&C_KEhJ-yczRK!UQa=Fi#3fD&1gTK`IbmsM;l zjm1kAhm=Y-^5b70cIlr~8zMCx+jTGzTXjDTxqKxC;>-g*^Y~GDPD8X+%-5EmSgDd1 z@QMyy8nkS$U@o~HBd0ncR8QO%oPj;AS%O4Vd>8--hwot^SRxGQtiU~ei^PcQo$)>z z@eS1Yb(*7SbyMQgo?k*OyqMaJXm75xHMWXLFurqxWCmKS>Bz@WlIV;|C z7w+s&EsBxZGx_CjWoqm}Z+>Fmu&8>zN(S6{?P0u`bbXqBh0eJ{ou`~+j1e5<3nxh* z8H|US-`$Py$z8n@C1|G}L(&Lc;l!8w{?p0BaE+c8ktt)r+K#C z@(4?G-*=ZokJUa`zO&K4?uy~t;M4-s!)p-W-xq-pCW~saxa72ixTKWS$i%d`)a1n2q{Pfv zO*fB>L}d?O{{*t;y_nn&PbyBH76*+_;24=2!~fm=7D$AJ6|PpzI`{$s@oN>v9+Jyw zVr=^}t6LOtswY3j=AIP71vQDCZYQlVZQDj6WWoWj!;k_iT3OnCxGzsl3lh8<(n_0d zeH(HvvnNG&WJa3zirs`}u5Ql8{1wFDC_;BTF6gB%;_$eS`6Vkz1jr6IrVbq$TAZH% zccpsBsA%wUp$Du#;JnSanw{Y>6OBKZd`6OPt_Lx-^5UPfP*iUpo1i6DT~*{;s+*^?O65!?|G!)p7YOs8BMVi!tZyGD5`4@qd(<}8k{U%-pFx$$&uCqF=q!>=Jj^X zFyL_%J)an&e;z*IV@T_UJtmJKJME>WXA2Z%0At)tHA=_W(%a3hOiNxXlo_qw=Z*6Zr6*K)-T*7xAW3;ErynYr+hFf*3eew7k}X* z=y%Tg8OKQ7GaFlqGXEfXf@X(`96nE6*u*>#&bG4B`z?XVE{oz>7J|JV{Gt-MmEvNk z(J0by1h+R=c^zN%Kk7!Tlr?@hQ~kZc<89U+byAX;;@REkzP_Bd@k9{Cvl5ql@ebR^ zh~>}Cjse5djyyxSpR4Jl%Po#Nzr2*fToLG<<9D|2%J&QJ(&52Jy2Wf}Z2gWxBi>~S zrf2-{PCHZI7Cz-FmOt|<%$Z_hjUIkOTifwB|3?rV=1>)zGv9Q7+EJRXJC>rM03cxj%Z`KFN5)oUTHA=)NOS8Qg~>WEqWpwnw=2B6Rg zI@iQFQN2RwNN{a8UuBOp@>!@Yl_-YxRN)Y7AeK+d9ia_4U9W%$PPm>Zc~NT0TXs{=ZHA}$(Xv7PUNjO< zSe<4F($LK}hj4Zg@**4-?A}$fR))zdH$;nn=`J!>hLp*i=XW`+r#O6;VXzJxRXO6{ zqF(VkHr{s76&>&tzO}dKMbna{dJ5bTE*YW*iy_QkKY5o;wQ^_ViL^=+4X=x*JhH<( z8tWFJU(dEpEQ`xF6##)!HLf6}vLhUiV|Tuz>{>a;{((KQEMS3L!%Z+jjKCui(X>Zx zF0#f=nB=MXMs75XKFEX4cew&n9#_)nF{^;kl5N?mlUJ|wjM~nCb-9rn zwSWlz@~(^f8HcuvO26&5J5N@S1qrxrq0H$b&A;sX z`%_dE4n}6EXo{sBPuFr|*a(i|t^7!jw+R9bC+Si>f6}~xAG>#edFD%iJU)qY}-T>Um=p( zoYS@l7?t9MbkJnAwuGPnWX&0_uTat6bP=n<gR6|cv5 zSu~Se_L&t>gpe!AwtD`wmH)5*$yVa~c4fK=2bh{3)Amby-2aEDbMUS!>bCfe(HMFs2Ri z0q9G}2IOGpciZN%YluOd?TIdN1?8lUH$v5B$hk)yWo-I{Gi=!CSqMAiRttKikv0bs zHI=z;p;J;cU`a{P1<>D0-1X~)y_!~w78H)w#b4OF`?4I}<`~X{=0tw)ire!z{O>)1 zG7a(ZuP7DaR!Me)sp4QQ6KAFH0%dld1!I#8-R+>)4DjIPd&R|eNg>!5(pA;rgO_Xx zwUH5$!vH5%q$k*OX!vFOAMppeRCGg;lr*R#!?i$WNY&J`ZR{X6c! ztcm5H5pGOH6V)yqxIcB`81i&Jj$arq|A_f0Nm$`{Agp$%^sQe(KYL;{)*$uKAGMGurI9U&y?vE7I1nky5|qFr@-)DJVXRc;7Q`LuflY=l{h zW?Z;Iu+{j62yx&E5y1|d(&n=U?(c}bErHFLF0X5RsUdn0HWex3=z{hMR>!aK*xp-98z&6H|nsJ==CVjZb_E25YbaWb!&2`X?(GU!UDpYo;fIpU! zZ5p8x-xA-8?n%M4*+Iy4q?N}ULD8w1n#gSX=$z5KWCTej*%tdBIQ)(&<~&hfQQ;wJ zO~$+TfFjl#|5jlpI=YHy_FA8mIaf*Q8~2tR-5`4KHc^scIsfY1X+PrEnIQY3D$@cu zIlE9r)qdi4j8trGzuBxIsY9EZ%VtK7!}k*zcR)!QmhSTYHYU@7F8*R#2vGmFBY)+k zBeSVKK5FTo7*ZvTngEZKtSn%E>e}o1i`2-G|D3R!)=tYIWiPSNDp%Hp-P zXdOQf<2wdPsZ{$Iv<9Z2T0kN*ve9KacAFYRF;v5Eyq|rYQohWkJv|aSmq9fKLIB%#7RFy_;+Jy3Mqwy z(5wbS&+iJ6NY)UP2>KL%x)F7>zYNG3&nA%}vSY>~2SGe;YrIa25|E7(C44xGj+fyK zxvMf&>X6?|%D?;Ag^l`0{Wy1!7x-tqw`NqLJ3G zdQk+b00PD~sQ-w<$*tnteduKEAPyg}1@~|OXounX@`qBAHJY$xExaX>L`a~WRfVEKZ?!(I6uuSo*k<}J6 zZe!x(#Pp>6V`updh|#;1dR|2X^H7Pux>2)z+oLta**@Mu6gfDOm*-V~wcUa9DgJua zau7+4!}le6LZyG3U$Fy>)k5nbzOt63CS6G~r!)P*XxC^(BcCHh(5g2+v*ij+fo||J zq55a`w*+mj<5G`qz7!QL+eVxC{kkRnB<-rh1@D^3%zb1!-&hBD%e;Tk$MpdDQt%vc z+OxCscDeHrQQl;__yd)_rSt7A%tSGfv0Xh}PNGN3(NT6L^`bcIh6T{mev0?259SQa z3^I})XCDk8>0fZ*ssPBxLK;sdipCyduG;pljjWVO3sLh^KxBt^xfhaE3Ay+EKB5aH zB*f_}d);KQ%Ezc0gem`*GM{SkO9lV@NdBFjdY{ofwf^#**Ns;%JTH3;A7vMn&aj6- zuK833?0fud^H-Qw@p%jYRp9zws13kClqYK1#<=n9kBh`jDsv%57ekY zqhi@>)+seh4E90*nDNd19SPqN?I-hx{Ss{YOrF$%MN@yEG|muzMawYY!Lc?x|HDuL z8+6FJ%Af?!#&0e{VVwZ51+90#76MvtMv+(Q!g#T9X?ggG1cUU;bfQKml@v= z-UEd}$*PPDmIHC^Zp=U*H5<}8$ahd(ymF!TN*nlrUSml@ZQgt;!?5%_TV+++uTmUP ziA6a^X%|JlQ9&8c!$=wWkasFxEh1LS$PntGoB|sFh;^vPkC>z; z#kL52Y+ls7vyjaW$d=x=OT-N9*oTZToJu|NbE;>d9~RZU@Uf74Pcy(b?d-TnIROeQ zuF(f(U*fb2ui|uSYCvgT=RdQ*jbal}><%EO{7xBco6VA}97oZC0OYP;q2ZAXUpaN>(u5|DD-7fF z5P(gW>)C}dO>XdFCS;=ZQL{zztUvACFs#b{tQ!mZLgTbkatj)B)?sYF0ed+FKU{yaNpY;ypM{Ue`ZD4R>@wj(R8 zwk2@pxp6@}qt0N3&|T!W+7|$$kR+v%<7swiWq-6r-)9f4+Xtr-k4cwDb&p+Yary{PMT&j8J_|WDUBDcoF9eNj zEtlOUU%&gjX?#S4b%Bfwngs(DSX(GG*wN!FS6V3={SH{!?yCMg)0s&^o1)Q^TDmi*P0}F39y1qR@ z{Ku9+{A2+Azb)~}!2r15?BWqeL?ospWuzqKrKP6C$0sF(MMQ-~M#siRhKGm5{d`|- z6#6BJ#Ji*wF98X#l*nRV%Zs@8IU&1lmDf1TovGIScu1k_~`Xw7g z-*Ke!&iPU|VbB)YXW&-S%<1&GQ*ZByo3igQPR{6gA0^%vO>g@+o>u0kF2kk$Lrkqn z4m;!!7VrCt(Own0IiJ-=PAM;J`R5uf?SrZM~=74pp|J zD}tlxFw0$g*?flf<9gRI!rWWRHyuuTas}!**&MQW3A`;uEGmHtF)o+u0km-3&++xV zUVek(ET<5{9VyTNtiKTDKqntO8&RkZnXDftiL$2mL?tqPbGCq+du^EueVad_P0)~k z;O#`#6(7@C-$?9kI%qn=k*O9b6B1V+7Nv^DT69)yC#^9OwSd|5c-^z#bW6`L_{`Qty!!B@p#tJ-$GldZMLhhmLS+Csqza+z|r_ z;9u1hae|~LCH8@nVL09@gmW`a42LPD4f^SGctJn5XhvC1C#r@YNi8nFHb!ex1#F9h z#+L~`PtfF5fWIa>EA$HzJ!(vwQcR;!+9<_UJCEb6{g$=CG1VLWY`u=(-o?0-)^`7s z58b4|(_0!BcW~^S-h6&m=N<%?ib&8i)mo7bYeFC;({)d@=>&4fWJWJU`Q91mR%_Syt zV|zW*=Os^VlF*br($wRQVH23S@obWE#fY}5kD&{|LvMozP8+KGy|-a6;ah3QNTh15 z$#V_CFe;^j%R>h&QaukkLR>EwbxSkyR-8W|z$OI=Ky7@ALi>}QGr1w05iN+=@TbJ! zsv`%-=#YTw26rP3xp;zsnm}1x@hF1QI;v`OnJzl+|?4bR#@%9mNkl)JNzAT6h-VFv%BcDEUTMRyWRq-*etr{vf1K9rM}6xjPE?3?!<4CiptD)N z3cb?+ggav3BVmn=h_7<5#JPwG_?e+x$*t5OB(i_eNohxXpTelydN(6og|Jd2__G+) z-K2)e#REG`%WwJ#@0iOIr^dQi$4gn_1RLaT3KS7j#dUgRyQKd*pi4C$n$RdiC<@kE{QnXJ#6 zK%|v~8FW$lqmD>I`*#wjgWZ`FvIwe+elQi-;$UVcRX=DZU>(JJ>hNoo04j+mXiSuH zPjs>-l$607{(d5YX*6Mazb*lf8`LL(^Mh4veC)%rCD%Q+-J3R=o-b4X0%ZXehiB_Z z@e*pyZd{GAWS~r8W4mCe_A3XG&;pT^?(<5xQ;K42p2yP>+zM1bJb*Zx0ST=R>PPbn zL_Ox420-qZ>nEqIvXtS(Z$hJQi~#}Geg2rEJh9Mz1YWsY?0p@**1_HyRM=>MYFLwL z$zS?8f!&6TM~9oE3;RLLXQ2Bf1V_%mrVbY0Wy?^_jj9*JEsV1HgF!(V{wJ%-^gt_7 zSoEEZ8=qPs|DtIZcCzX+^X$IdAEetB)pog=)7|$NfbFPiA}39#Sx2E?oU94?wCaV8 zn26Fp*|XuTv$rU|a~bMW0`a*+tN%hP_cc5)KwCH!iaw~?0)CqoUi$?XJx&Mt*%25Mh9;rOpF)p)oSHdbZEiY{Mt{8LG)Jbi{-=}?! zGUT`onJ*5Ox}4g1n5Y(b;R2MM-osad23_g3VXJZj=NjrX{A8#UYsNCrml>$M1}k1V zMhGu~Ygz*cu8=Bd$I{)?>jY<=wAWSE<@N|~x|m6ImM2eKV_c>Y56ykOpUJkU801V^ zbo4Md!x|!Hup| za-V!dBfHSd$JdrC#4z)2Q5)H}Q}k0Q^?pmAg{d)du<1?uxvsAS$d)DKMlH%>CxURfp7rQ>94 zG2O`639a-*p;T|q36FhWYhe>yo{#du)VS^&7d21AlC6!8_1A#d&&Cia=v-ZtGjMu6 z;Q+iuR%M>Q_}xo)dq8D@c66hP1FbqoOL^ZYaz+B>q+&^hGQ4d=cVL<(#WTk_ad|-! zN0rIS&RCUpqM)tW@Zx%}<)zPAqa33F`TF>fhk{+x10hdJ8)Qh8xKV4?2C?`_k;wV5 zZ*21F3_Is*N1sRS9)QG{Z0%fx1hAcjnOrD|_}dWt>Uxwo^AiSl7>gqG&A-Wd=(K;V zUv~w$_%*>bOjIuloXdnRgSrk}S`_}9;y z7|6z&)A`f&7P#|b2mNb+lVd1$uGXVtw!lf(&;B8MY3`Dlih4ewC28xu!?|*%G&<^z z1_wGieYT3Q{3u37xUAS)ll4RgWX8U@SkhbRNaM4R@P&! z=^ow%vO?TI44Kdm_vk4KP|75xa_(MxEX?5^=x<{#%nWMyyI*ufF8|${0wOpL9Z$rUTX)fDHJK~jDvT3P5Q!*@YB1_^XB)_Y> zj8oa$&QbM`QR}?T35XaW>8>>QDR%JqRqhTg)0O^|?WCVjWHvc-!9!5}7LdXRAdYq= zg#fhO5D$?-pdphD%hc&?7y4g4Y~16kRBY?s(n^Wz{16a3V6Uuz3s9^O^AW!BJFSYk zh_>W@XyAlEX9^QLuO6G48#PJqH87sGG5}e1fe%ZZCcg{Vl2G3GDQs+wKhqarX=z9RCcMfpDo!m+ z9iq8WE_vLuq+qCM&tpRga8s|w58H^_Eow@`)LVt52QAKWY%X(qLia8-mVk{vUIWWY zVeyQ>XGDY~;Xa)OWO1nzcS;2;aeLID5-WMPJ806yOj-Vz6ZwG4|al|4n1<~PIA_VHJq(?i@G&e28Hv|C6dix=YHUu?_@h0|AYnLa z5|}njWh>cvwl&*0$|BNRld(C>Db>DCeq$i_D2Qbry~JX#ESjtOQALUjng6TVYk2!s z2$*5}w4*n~OCMA8d^TG5ktS@yHPzR~`7O*&I7v1g9l7RXEbT`}7SOPs;!`Qv8e;=A zAudP|0e?P;nX{{5YoW&BUy{}pa_Zx7ewik`5bI&x;oWDKC_L%G7U7M)L<)EGk-%5_ zs@yxbSAi1^)L7Y#pZj-4z;`uC-y3z!8h7bQa&UjN^A|A9vb!+V`lmJ&KZk_}x$pRRHKZ&qXbW{!aa?<|-_!iM~_|w}hBJC5bNeLw2eT#;XElC8utkwzc zx|C3bWls-vpFFzfL@EUCm)`wZe8q)&q%VUqUVQ7a-|>z(N^#V3CZWAM}LG-LPH$F*+*X}+#8oTB=;%YpPCe;~c>!|+SCaG5#MA6hcYb@@U zskTbo>0|s|Ku?j)GfSz_G?g;TDc@tem6qX|oy)yWo|}|iUwqS$v^-Zz;Ps)0!IL37Vmeg3CRF7>6uoJy3+)w&s~FKscXWCUi)>rF7%uFU!jB z8ZLYmO;>B@u^geA_1Sl5sBk``RhfIAAJX6V3VwibCLWoteH2$4?DQ34mKWi$)FViQ zpzCDJK|U>KUNzsd766p9F1XTJI0JQ?s67o}M$pz!dZv}Niig3XI73EhmvXpfpB!xc z4ADX3sOS8?=^IK%p?K&}7clSLBMhwW-SM4qwm~4^XW0;+X|PG;R@@$PE1$mD{S4q0 ze^O|3e!p*Lx?>|z3$RABs!{eUcf=cB+<+I^%v*2o*F!2}pzYnYk!RO)A*qtj{bMCz zpWhwamE;VNm6m2#RJR$-3f_DM3Xg_wcbBeB4;yKkEK+tT!V$nqI`4FGX5%ih%)X{>or4w zT|-P~lEQ-Ewg3w!N+aKl*Na$fM-B zf-G&h9*Q_~;Qvl%WHNxU-DKp>O*&JwVk|w!UzzF^8*Xket4ibig1sA~twPrlW!c&J zNo2Rqp=TsI*Xa<%;=E*EP~Dc*xIHqGtTL?SN6C z0IRHOQY17XP{YNNrUbs<)z$_{_qxdUO_r~N=?i^z55e{-THXtC4C{58Hgd;Nfb|j+ zy<|C{NIGZuM@#EkBVooj)4iR>8cMZw8R>6n;XwTW7X)3*EJR`9va2-3oBZ4>ww+Tq zd^yWpdJ{8sRq#GCgGGYw?u#5_KQkP6yWAg0z~2Yn-+*$lPqtK&xP#UI_||@ z_3+4Qxi8DB#WH>Kl)!ST=rP^!(PHRX?%~_KV$OzbbNgweasZV75Ek*`4Q3wHrnKpL zJ(pKrEX)Knbc3^nfk1sb8^v?)+HLM8SM_yvLE=U~O`lVsUrkZUbp7;psfI^Yxyd2C z%3Z=%&|82598mVbyaB1jXWc;lWny)ur`fFew+{1*U=4-E~k zS67TDh_+$6NsLh>_x!=5m8W=S#52G8dt0D|i0MVIk(NmMzrS}jbzkCiI=$OngLTh3 zr)C^mRn``_`vhE>FP7BQoQrV=|4#f9>|8Xo_|Sc*c3z^|@8CZ$6MnY+==$J&8?$<1 zBMDFHG9|HXc)wnU1_*ZFh42hxW6B_i2LF+C@L1z2y-Ppi=34YwOcQZ5NK&1Ubn-;) zYH7Z_mcgMtR|5A0RKQ&<#g3#M-ug}j_?MZECJ-1p{Jc-+f&?&f4gAH$>_7pK=_iD$ z`1$dC-F4%o#|PeiH7h--yg?=DbZO%7l(S^6hnq84dXsOws}nwo$aj+Azn>Bp!F^>A za6d^{r?QtXH#o=e_WCW4*Sx;M)cMhtuOy{U<3ZqRap<=hAW}N>0!|9IzTgH4(b@FU zz1Y(N1UXEdL9}5JkN|{s+X)|EsSV5c9}#;eHTrnWJ9uSAwQU|#sTUVzJG3lcG?mhE z?FpYfHgfd~nhk-*j)o(3Ad;!vDRbL?zKJFN>y6-B)X5PV|CMMJ4eCXWgABO5i#>tt zTtk)#25XOMZ^Yzlq8`Shg&BDOB{0hg_d_lU^#tZXG}wi;2M3YrTuEA{Lwg-xq@5=x zgT^NyaA{l2TdP>4vV>r}(mSWv^GU(Pa0)g~fle(SF`Bgs6LdLP>Acu^1e)}6H?U`P z{2gUftr;P?dySgS7F#vI?Z$!9XY7bIwm&gDA!moi1Ym5>f(FqBv%rw{_1kV&pWFpA zCT~dy7^o~OL+v4KYCWb<`~<((U0}8N0Pz4`qYl-Vq|2rOAdI9Q+K~|S;#o!iQT~i7`s~t zK_l9aUVtx>ArwULonX=gx5W{@f}V=@vP&Gzm2Dvg4ou=HF7u`;T)C#s(`Y%y*2$lj z5Bu|^XNu_`i8qa5;D>{?3q5a{*5rWo-Kz{E)GF7eOKk7}Nv_a7G&fN)?rpKN!;-06*h6m9K!;+d7UH;9H3#vbMZ57h8w%S*8S`+edl^x(YHCdT*md^)S+VVjPQ z*f(}qm!+3EDYZ6JxbvhLqZr8!cxbt+7CBd0>TzbIci2ryAyLtJGT&>77^IoK*17G_ znUQP@#%LHZd-skmc`JdqmrjhI5}VbLhtGO82?5 z-=ND-niYir=(pC!S0eZLmj7@|w$79HzpsWu<1a0%+TU5&YD(Y?3BPDFtSq-VDs=ym zrbKL$0p?!`V4u0YLx~6_xEa>^ej1=SUsK$&0B&}~GyHh5Bq?73i@eC})tfKN3fwkq zSmClgyTu;~As1eZj1(3J2sL1QBy>Zm^Dqmfwe2Rhu0sD29{6_TGa0az%Jm8jd>XGifN0#~8paCaW_Q|4uYKkLlw-DRut`R1Nga?6KVXaIg&EEv{$uD<$P z*x(lyqT^q`5W;Y!#TJQg9vb$%l!Q7B8PF2yw0(8)8W1d*e#9?Fi@&9U)xG^F6!rD0 zXDa`!Dx(eKn=M3N)D#G-yAE*e47k*t+zI3e9lnWjy{tMvVvvQnhky_ zHf`<=U}o{e9ScWmNODyFN_XEhEbr=Gfq_g_7enRTB^iE}O|G)^ZQW|e*^Ft8szyv_ zD==-~-x^Ez!3jSa6(FcbJNzRyPO;b*Y0h3@$HB)+&2|uDjk8(?(r+eD0cE>X;aYyW z)PO(z=xr#_aQyxKeY|dJj|l9r%AsLv2GFdop`+EuA$9b*O3(l(7+XkmehJf3xuq7z zd%7NA+M0~7aWq^@SH)e(vO{8a@R!t1KmV+v8%0G7>hM2#53Nj+mjs(j(z(9}wj@v9 zWq4|+0o<0mwlK7Gsgk>|9XeGSXez}pR*x08ez`tadPc;R3XR0U<4KL#YRQfcZpW;3 zd~=!~^*;^|!o&P$sH>=S^b^wUdu=3&P*QGyrYHXH0CXzQUZ_^36mGi#>avOGtFWjr*0n!Omj+#{^geruFs9Z9Iy^*J?Dy2S zf+w>wy8=dnL9gBbH-T|NXHKU0AA#3j8@5*GS`42T>T8yrd@{x_w*5=Ag#-uO+B5?3|L+lzF5z!oAa0J-IiUpSbZbIW{8GGJj{4f z?w#-OaA))8*6J`(;2x!Hn7W}9QoT2fMmYcHfgAc_SKRIwxnHLTQo``8& zm-1yh_wJyn^}^z`-iKGZGEncysA>qXvtf;Q*mq7)AU&?Uhjabu zWbA;RYql&cC3}1d~XFi$XWZE~kqnGZyTyE?9vsLv! z(;XfEYeB$&{yC1E^}v#PdSt}L#->Ea$H&AaWU2Xhdinb1revf?rYL*4Cn$MSa)|aj zvmHbK!P?M~G~G)IY^jg!bgA-g^f~mg9OCdjTy@vd1a3+C8VgL=y?|XmI@~$7m-OqM zTD_fe?glI8e}~bB=5kl(G`4D>ISUxvdOq^ll-(cxgsVF}mN~WIPhdN=ZmF|-3D~Nu zZ2Z!oW$~)j^C_x%NQzuF@e{AY<=lxJ8R*Kzi*=^la(nDXlpZxYNgmutNjTg;q#)fO{~0I$u@ za#-v$0N$!^>4Yy5K_g?vPrK~q2EpNGBMVxO1jV*DSl}Yo3N||Xs zr5t%@`x$vxfn5e@5F7o;2L;v^0nYyXT9s^vcrg=%wjh@f_$hT3Pm&cOc?<*$yf!VU z^Y+!A{L-9!x*dA!o&9}qM?Jt$C)Z+~U*=C5>WIY8RZ{Zd*tur+J?2db%I(gMnGsa? zTZ)H)qHk6)atqoK+I0=JY^72PPS=^(=7X1n*8L-ov`!qFvLwqfreV5DckGpIf);$ z$ef4V)*B>L{}tpN7ZI~9Lh{hVoy@CN3=h+2pzRoO-b}mEymqysY{F3}ebO)@UH^?5 z^shEz&4p8`s+|zV0633ey)r?)3wPj#{k9gB;&P+_CzfgckTD06_1xDHvOB6nu^C5a zr6ZGtE+cp z|91a@VwF%n+1*89zEqVvy?-Qu4_D=!u5LG$CD#*s7;pfV@*t)oE)A9;d{GSZiSE+t zEmDOY;UeWtnc@&^ozS4<*g+Haf-mnE*yW91MpVm4*56(2H&YG$?Vtg+`3Xh_g43#z;`Atxc(*hrqWBRFA<&;KyDvcK(Hdtv}S{Bac_@iH^#qh2H5z3*k%g}37%V`R=nX=Q9;D*>2j}dDOTjZ{dUj5U!3z z!ZHwWqCq{1bRFb!^S%*eEVBOkJRio9@W0V>YgQ9O42>~!uO@v z?l}#arD$IT6l6ADf%p7K#Z`(zQ#KYcTCzGfAXeE}jRYU4i5QD*oApin#x-S|$d<{& zHrq69+piqNdW`UHYOk(USCEtz5$@h$tL*zbEc(Y9MKtwtr82DYv zxcm~4KuwAlAuL~Bb1kPrgFl{5=IEC?I$uNMK#2e^N`{ zhuoQp*cbfTo$PY~e+w+Yui5HuO}Y)L1`!{_i{BR{9+pAE@XKRo=-4I1ag z$Oa8oy7_%9O({)S!Yls|{1V!G#rOQly`^mQ+(Mq zlWrulHogl-f|*@KlVZsFH+k#JsTi7Ga^lU%i(tI}6u0MqzVh`5N%x;&oQ;O&xNhRl z264CpC6HlsGGW)zm(;6K#4LsL#1pVXIVnWhxaA^z>= zyXO(lsdUzFNn5#y^a~KZoUh(;6bpEU|LVR1G_&RCSo7ecPH&=s;jQ)4MBIGNqR$6n#LyvK=iU+uR}N4Y`1?EnFXZGMHE3Ve>4)aP?NV$*sO5 zfLtE%ag&pORDQ32RfP!j*Jc3}sd54YZE#gd&$kU4Jz}IjfCq4iy0rw#Wi8uZv|_3V zdLI6WD{*rs`rYNoW zFN8l{41^3rN)}nH=<;q_W24O;Rg!EQYgj9F*0Nb)%hRcKEPnYpTFFe3`4Ld3Rh|7w zAB6)*a6JXb|9-L`pM|GbiTBfCAtgM;7Z420U0AwT|5xy`+V}LbdM#4W63Er9SisI% zyp(%&%o!_(rPv4`jz~3kunixoCl`L|=R>&cTVyZv^!V>v+02t2?u(Z&%#+HP@cyRZ>y8CZpR5o<1Gx1H1C|sGO<`XV9IryTuvGX)d!}m2`R6UCy?+05 z*H4ucBPa6KSiQv^bkV%JZ0rm>A}-I6ru?b)45zE)dV2XZFqW-#{@MQNKy^-|n@6D| zA&Ow<3G58 zG#WsWKL^hA1vlP%E^Qr%J%Kyw*K0=%A9W1NW?;+V1yUlRj#+{;kA!Z-NUatHIBf-Q{t5xd9050SX^Fz=-HAC#T9B9 zUz4tbtS<^Xzfq&bwP}QZH=Qv;jYa5gBDbjOUs0n@?Uoen~ z?>IHz7wGCEUSg?}a>p5DOyW!N@W@y_bBSCAw&i8e)ygx~kLXk>V?L7|d?1QPMwlB4 z$>yqVy=nyHDYq1Ca>YLD4W7nM2i(4VFTkIg_1f+L8t0CeMt*LAjI4j;0Z%LjO)z=C z?^1jRw7bLlVf&XTp2RU?PcOZVI%Mb%m!jV z)j7Pw?IzW3lECI;J9?Fq%QI{y>aIEBBfYJ9Lual39;hApYM2 vHYHoz>xMZvz% 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 literal 0 HcmV?d00001 From d24295381057a29a0c50afdb02ad637e7a859a57 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 22 Jan 2017 22:27:57 +0000 Subject: [PATCH 31/39] Automatic changelog generation for PR #23251 [ci skip] --- html/changelogs/AutoChangeLog-pr-23251.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-23251.yml diff --git a/html/changelogs/AutoChangeLog-pr-23251.yml b/html/changelogs/AutoChangeLog-pr-23251.yml new file mode 100644 index 00000000000..ecabcecedb8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-23251.yml @@ -0,0 +1,4 @@ +author: "Dannno" +delete-after: True +changes: + - rscadd: "yeehaw.ogg is now a round end sound" From c21a6ed3bbc303caa8d7f4a7c29ed04691062792 Mon Sep 17 00:00:00 2001 From: sybil-tgstation13 Date: Sun, 22 Jan 2017 23:22:11 +0000 Subject: [PATCH 32/39] Automatic changelog compile, [ci skip] --- html/changelog.html | 18 ++++++++++++++++++ html/changelogs/.all_changelog.yml | 17 +++++++++++++++++ html/changelogs/AutoChangeLog-pr-23047.yml | 5 ----- html/changelogs/AutoChangeLog-pr-23155.yml | 4 ---- html/changelogs/AutoChangeLog-pr-23203.yml | 4 ---- html/changelogs/AutoChangeLog-pr-23204.yml | 4 ---- html/changelogs/AutoChangeLog-pr-23205.yml | 6 ------ html/changelogs/AutoChangeLog-pr-23219.yml | 4 ---- html/changelogs/AutoChangeLog-pr-23229.yml | 4 ---- html/changelogs/AutoChangeLog-pr-23251.yml | 4 ---- 10 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-23047.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23155.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23203.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23204.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23205.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23219.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23229.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-23251.yml diff --git a/html/changelog.html b/html/changelog.html index 1d1b355d327..c6e1e07f263 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -63,6 +63,11 @@

    Cyberboss updated:

    • You can no longer meatspike bots and silicons
    • +
    • Secbots will now drop the baton type they were constructed with
    • +
    +

    Dannno updated:

    +
      +
    • yeehaw.ogg is now a round end sound

    Fox McCloud updated:

      @@ -75,11 +80,18 @@

      Joan updated:

      • Clockwork Proselytizers can now convert lattices and catwalks. This has negative gameplay benefit, but looks cool.
      • +
      • Sigils of Transmission can be accessed by clockwork structures in a larger range.
      • +
      • You can see, when examining a clockwork structure, how many sigils are in range of it.
      • +
      • Clockwork constructs will toggle clockwork structures instead of attacking them.

      Shadowlight213 updated:

      • Zombies will now get their claws upon zombification
      +

      Thunder12345 updated:

      +
        +
      • The indestructible walls on CentComm will now smooth.
      • +

      Tofa01 updated:

      • Changed alert message on early launch Authorization shuttle repeal message.
      • @@ -95,6 +107,12 @@
      • Xenobiology consoles are now buildable from circuitboards in R&D. They'll be limited to the area they're built in plus any area with the same name.
      • Stock Exchange computers are now also buildable this way.
      • Androids now speak in a more robotic tone of voice.
      • +
      • Armblades now look a bit more bladelike.
      • +
      +

      coiax updated:

      +
        +
      • The Delta emergency shuttle now travels towards the south, rather than the north. This changes nothing except which direction the stars rushing past the windows are moving.
      • +
      • Fixed dragging the spawn protection traps on CTF.

      20 January 2017

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 7efd90120d4..bd0a17087f9 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -8874,6 +8874,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - tweak: Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive. Cyberboss: - tweak: You can no longer meatspike bots and silicons + - bugfix: Secbots will now drop the baton type they were constructed with + Dannno: + - rscadd: yeehaw.ogg is now a round end sound Fox McCloud: - tweak: drying meat slabs and grapes now yields a healthy non-junkfood snack Hyena: @@ -8881,8 +8884,16 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. Joan: - rscadd: Clockwork Proselytizers can now convert lattices and catwalks. This has negative gameplay benefit, but looks cool. + - rscadd: Sigils of Transmission can be accessed by clockwork structures in a larger + range. + - tweak: You can see, when examining a clockwork structure, how many sigils are + in range of it. + - rscadd: Clockwork constructs will toggle clockwork structures instead of attacking + them. Shadowlight213: - bugfix: Zombies will now get their claws upon zombification + Thunder12345: + - rscadd: The indestructible walls on CentComm will now smooth. Tofa01: - tweak: Changed alert message on early launch Authorization shuttle repeal message. - bugfix: Makes the repeal message work and push a alert to the crew properly, also @@ -8895,3 +8906,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. be limited to the area they're built in plus any area with the same name. - rscadd: Stock Exchange computers are now also buildable this way. - rscadd: Androids now speak in a more robotic tone of voice. + - imageadd: Armblades now look a bit more bladelike. + coiax: + - rscadd: The Delta emergency shuttle now travels towards the south, rather than + the north. This changes nothing except which direction the stars rushing past + the windows are moving. + - bugfix: Fixed dragging the spawn protection traps on CTF. diff --git a/html/changelogs/AutoChangeLog-pr-23047.yml b/html/changelogs/AutoChangeLog-pr-23047.yml deleted file mode 100644 index e13ee49d1d9..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23047.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Sigils of Transmission can be accessed by clockwork structures in a larger range." - - tweak: "You can see, when examining a clockwork structure, how many sigils are in range of it." diff --git a/html/changelogs/AutoChangeLog-pr-23155.yml b/html/changelogs/AutoChangeLog-pr-23155.yml deleted file mode 100644 index 567a1d01732..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23155.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Clockwork constructs will toggle clockwork structures instead of attacking them." diff --git a/html/changelogs/AutoChangeLog-pr-23203.yml b/html/changelogs/AutoChangeLog-pr-23203.yml deleted file mode 100644 index 1a45b216c68..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23203.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - imageadd: "Armblades now look a bit more bladelike." diff --git a/html/changelogs/AutoChangeLog-pr-23204.yml b/html/changelogs/AutoChangeLog-pr-23204.yml deleted file mode 100644 index 9459bc28bda..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23204.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Thunder12345" -delete-after: True -changes: - - rscadd: "The indestructible walls on CentComm will now smooth." diff --git a/html/changelogs/AutoChangeLog-pr-23205.yml b/html/changelogs/AutoChangeLog-pr-23205.yml deleted file mode 100644 index 38e169e0027..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23205.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - rscadd: "The Delta emergency shuttle now travels towards the south, rather -than the north. This changes nothing except which direction the stars -rushing past the windows are moving." diff --git a/html/changelogs/AutoChangeLog-pr-23219.yml b/html/changelogs/AutoChangeLog-pr-23219.yml deleted file mode 100644 index 90fd0c7d2aa..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23219.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cyberboss" -delete-after: True -changes: - - bugfix: "Secbots will now drop the baton type they were constructed with" diff --git a/html/changelogs/AutoChangeLog-pr-23229.yml b/html/changelogs/AutoChangeLog-pr-23229.yml deleted file mode 100644 index 4ab2e18902f..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23229.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - bugfix: "Fixed dragging the spawn protection traps on CTF." diff --git a/html/changelogs/AutoChangeLog-pr-23251.yml b/html/changelogs/AutoChangeLog-pr-23251.yml deleted file mode 100644 index ecabcecedb8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-23251.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Dannno" -delete-after: True -changes: - - rscadd: "yeehaw.ogg is now a round end sound" From 8eebc7de1a06d9c460b7f1e639e0b0ad1d5ca872 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Sun, 22 Jan 2017 15:32:33 -0800 Subject: [PATCH 33/39] Adds *pee and *poo --- code/modules/mob/living/carbon/human/emote.dm | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 5cc37923a72..1477e5bcd41 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -137,6 +137,31 @@ update_body() +/datum/emote/living/carbon/human/unspeakable + key = "eat my anus" + key_third_person = "fuck me daddy" + message = "daddy taught us not to be ashamed of our dicks" + +/datum/emote/living/carbon/human/unspeakable/run_emote(mob/user, params) + . = ..() + var/mob/living/carbon/human/H = user + if(prob(prob(prob(1)))) + H << "How the fuck?" + new /obj/item/weapon/gun/energy/pulse/destroyer(get_turf(H)) + else + H.visible_message("[H] explodes into a shower of gibs for trying to commit an unspeakable act!") + H.gib() + +/datum/emote/living/carbon/human/unspeakable/pee + key = "pee" + key_third_person = "pees" + message = "pisses." + +/datum/emote/living/carbon/human/unspeakable/poo + key = "poo" + key_third_person = "poops" + message = "poops." + /mob/living/carbon/human/proc/endTailWag() if(!dna || !dna.species) return From 9112ce6dfbe15faae4771e7443787784af4e9be5 Mon Sep 17 00:00:00 2001 From: oranges Date: Mon, 23 Jan 2017 13:11:59 +1300 Subject: [PATCH 34/39] Ayy lmao Ayy lmao --- code/modules/mob/living/carbon/human/emote.dm | 26 +------------------ 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 1477e5bcd41..c18f6721edc 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -137,31 +137,6 @@ update_body() -/datum/emote/living/carbon/human/unspeakable - key = "eat my anus" - key_third_person = "fuck me daddy" - message = "daddy taught us not to be ashamed of our dicks" - -/datum/emote/living/carbon/human/unspeakable/run_emote(mob/user, params) - . = ..() - var/mob/living/carbon/human/H = user - if(prob(prob(prob(1)))) - H << "How the fuck?" - new /obj/item/weapon/gun/energy/pulse/destroyer(get_turf(H)) - else - H.visible_message("[H] explodes into a shower of gibs for trying to commit an unspeakable act!") - H.gib() - -/datum/emote/living/carbon/human/unspeakable/pee - key = "pee" - key_third_person = "pees" - message = "pisses." - -/datum/emote/living/carbon/human/unspeakable/poo - key = "poo" - key_third_person = "poops" - message = "poops." - /mob/living/carbon/human/proc/endTailWag() if(!dna || !dna.species) return @@ -191,3 +166,4 @@ dna.species.mutant_bodyparts |= "wings" update_body() +//Ayy lmao From 709788e9f6ab000bc42ad7820b4fd3b80f25e691 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Sun, 22 Jan 2017 23:06:43 -0500 Subject: [PATCH 35/39] Clockwork Slabs can now focus on a specific component to produce (#22781) --- .../clock_cult/clock_items/clockwork_slab.dm | 20 ++++++++++-- .../clock_structures/tinkerers_cache.dm | 4 +-- .../clock_structures/tinkerers_daemon.dm | 2 +- tgui/assets/tgui.js | 32 +++++++++---------- tgui/src/interfaces/clockwork_slab.ract | 1 + 5 files changed, 37 insertions(+), 22 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm index b4450435925..a59aff51302 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm @@ -11,6 +11,7 @@ var/list/stored_components = list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 0, HIEROPHANT_ANSIBLE = 0) var/busy //If the slab is currently being used by something var/production_time = 0 + var/target_component_id //the target component ID to create, if any var/no_cost = FALSE //If the slab is admin-only and needs no components and has no scripture locks var/speed_multiplier = 1 //multiples how fast this slab recites scripture var/nonhuman_usable = FALSE //if the slab can be used by nonhumans, defaults to off @@ -127,14 +128,16 @@ var/mob/living/L L = get_atom_on_turf(src, /mob/living) if(istype(L) && is_servant_of_ratvar(L) && (nonhuman_usable || ishuman(L))) - var/component_to_generate = get_weighted_component_id(src) //more likely to generate components that we have less of + var/component_to_generate = target_component_id + if(!component_to_generate) + component_to_generate = get_weighted_component_id(src) //more likely to generate components that we have less of stored_components[component_to_generate]++ update_slab_info(src) for(var/obj/item/clockwork/slab/S in L.GetAllContents()) //prevent slab abuse today if(S == src) continue S.production_time = production_time + 50 //set it to our next production plus five seconds, so that if you hold the same slabs, the same one will always generate - L << "Your slab cl[pick("ank", "ink", "unk", "ang")]s as it produces a new component." + L << "Your slab cl[pick("ank", "ink", "unk", "ang")]s as it produces a component." /obj/item/clockwork/slab/examine(mob/user) ..() @@ -400,6 +403,10 @@ data["selected"] = selected_scripture + data["target_comp"] = "NONE" + if(target_component_id) + data["target_comp"] = "[get_component_acronym(target_component_id)]" + generate_all_scripture() data["scripture"] = list() @@ -439,6 +446,13 @@ addtimer(CALLBACK(src, .proc/recite_scripture, text2path(params["category"]), usr, FALSE), 0) if("select") selected_scripture = params["category"] + if("component") + var/list/components = list("Random Components") + for(var/i in clockwork_component_cache) + components["[get_component_name(i)] [(clockwork_component_cache[i])]"] = i + var/input_component = input("Choose a component type.", "Target Component") as null|anything in components + if(input_component && !..()) + target_component_id = components[input_component] if("bind") var/datum/clockwork_scripture/path = text2path(params["category"]) //we need a path and not a string var/found_index = quickbound.Find(path) @@ -449,7 +463,7 @@ quickbound[found_index] = null //otherwise, leave it as a null so the scripture maintains position update_quickbind() else - var/target_index = input("Position of [initial(path.name)], 1 to 5?", text("Input")) as num|null + var/target_index = input("Position of [initial(path.name)], 1 to 5?", "Input") as num|null if(isnum(target_index) && target_index > 0 && target_index < 6 && !..()) var/datum/clockwork_scripture/S if(LAZYLEN(quickbound) >= target_index) diff --git a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm index fc5d0cb2631..df12be38db8 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm @@ -44,9 +44,9 @@ break if(linkedwall && wall_generation_cooldown <= world.time) wall_generation_cooldown = world.time + (CACHE_PRODUCTION_TIME * get_efficiency_mod(TRUE)) - generate_cache_component(null, src) + var/component_id = generate_cache_component(null, src) playsound(linkedwall, 'sound/magic/clockwork/fellowship_armory.ogg', rand(15, 20), 1, -3, 1, 1) - visible_message("Something cl[pick("ank", "ink", "unk", "ang")]s around inside of [src]...") + visible_message("Something cl[pick("ank", "ink", "unk", "ang")]s around inside of [src]...") /obj/structure/destructible/clockwork/cache/attackby(obj/item/I, mob/living/user, params) if(!is_servant_of_ratvar(user)) diff --git a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm index 67dc21a9028..07976e51a09 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm @@ -160,6 +160,6 @@ if(component_to_generate) generate_cache_component(component_to_generate, src) production_time = world.time + (production_cooldown * get_efficiency_mod(TRUE)) //go on cooldown - visible_message("[src] hums as it produces a [get_component_name(component_to_generate)].") + visible_message("[src] hums as it produces a component.") else forced_disable(FALSE) //we shouldn't actually ever get here, as we should cancel out way before this diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js index c36077d689d..2c3c0f3d1eb 100644 --- a/tgui/assets/tgui.js +++ b/tgui/assets/tgui.js @@ -1,16 +1,16 @@ -require=function t(e,n,a){function r(o,s){if(!n[o]){if(!e[o]){var p="function"==typeof require&&require;if(!s&&p)return p(o,!0);if(i)return i(o,!0);var u=Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){var n=e[o][1][t];return r(n?n:t)},c,c.exports,t,e,n,a)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o2?u[2]:void 0,l=Math.min((void 0===c?o:r(c,o))-p,o-s),f=1;for(s>p&&p+l>s&&(f=-1,p+=l-1,s+=l-1);l-- >0;)p in n?n[s]=n[p]:delete n[s],s+=f,p+=f;return n}},{76:76,79:79,80:80}],6:[function(t,e,n){"use strict";var a=t(80),r=t(76),i=t(79);e.exports=[].fill||function(t){for(var e=a(this),n=i(e.length),o=arguments,s=o.length,p=r(s>1?o[1]:void 0,n),u=s>2?o[2]:void 0,c=void 0===u?n:r(u,n);c>p;)e[p++]=t;return e}},{76:76,79:79,80:80}],7:[function(t,e,n){var a=t(78),r=t(79),i=t(76);e.exports=function(t){return function(e,n,o){var s,p=a(e),u=r(p.length),c=i(o,u);if(t&&n!=n){for(;u>c;)if(s=p[c++],s!=s)return!0}else for(;u>c;c++)if((t||c in p)&&p[c]===n)return t||c;return!t&&-1}}},{76:76,78:78,79:79}],8:[function(t,e,n){var a=t(17),r=t(34),i=t(80),o=t(79),s=t(9);e.exports=function(t){var e=1==t,n=2==t,p=3==t,u=4==t,c=6==t,l=5==t||c;return function(f,d,h){for(var m,v,g=i(f),b=r(g),y=a(d,h,3),_=o(b.length),x=0,w=e?s(f,_):n?s(f,0):void 0;_>x;x++)if((l||x in b)&&(m=b[x],v=y(m,x,g),t))if(e)w[x]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return x;case 2:w.push(m)}else if(u)return!1;return c?-1:p||u?u:w}}},{17:17,34:34,79:79,80:80,9:9}],9:[function(t,e,n){var a=t(38),r=t(36),i=t(83)("species");e.exports=function(t,e){var n;return r(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!r(n.prototype)||(n=void 0),a(n)&&(n=n[i],null===n&&(n=void 0))),new(void 0===n?Array:n)(e)}},{36:36,38:38,83:83}],10:[function(t,e,n){var a=t(11),r=t(83)("toStringTag"),i="Arguments"==a(function(){return arguments}());e.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[r])?n:i?a(e):"Object"==(o=a(e))&&"function"==typeof e.callee?"Arguments":o}},{11:11,83:83}],11:[function(t,e,n){var a={}.toString;e.exports=function(t){return a.call(t).slice(8,-1)}},{}],12:[function(t,e,n){"use strict";var a=t(46),r=t(31),i=t(60),o=t(17),s=t(69),p=t(18),u=t(27),c=t(42),l=t(44),f=t(82)("id"),d=t(30),h=t(38),m=t(65),v=t(19),g=Object.isExtensible||h,b=v?"_s":"size",y=0,_=function(t,e){if(!h(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!d(t,f)){if(!g(t))return"F";if(!e)return"E";r(t,f,++y)}return"O"+t[f]},x=function(t,e){var n,a=_(e);if("F"!==a)return t._i[a];for(n=t._f;n;n=n.n)if(n.k==e)return n};e.exports={getConstructor:function(t,e,n,r){var c=t(function(t,i){s(t,c,e),t._i=a.create(null),t._f=void 0,t._l=void 0,t[b]=0,void 0!=i&&u(i,n,t[r],t)});return i(c.prototype,{clear:function(){for(var t=this,e=t._i,n=t._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete e[n.i];t._f=t._l=void 0,t[b]=0},"delete":function(t){var e=this,n=x(e,t);if(n){var a=n.n,r=n.p;delete e._i[n.i],n.r=!0,r&&(r.n=a),a&&(a.p=r),e._f==n&&(e._f=a),e._l==n&&(e._l=r),e[b]--}return!!n},forEach:function(t){for(var e,n=o(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!x(this,t)}}),v&&a.setDesc(c.prototype,"size",{get:function(){return p(this[b])}}),c},def:function(t,e,n){var a,r,i=x(t,e);return i?i.v=n:(t._l=i={i:r=_(e,!0),k:e,v:n,p:a=t._l,n:void 0,r:!1},t._f||(t._f=i),a&&(a.n=i),t[b]++,"F"!==r&&(t._i[r]=i)),t},getEntry:x,setStrong:function(t,e,n){c(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?l(0,n.k):"values"==e?l(0,n.v):l(0,[n.k,n.v]):(t._t=void 0,l(1))},n?"entries":"values",!n,!0),m(e)}}},{17:17,18:18,19:19,27:27,30:30,31:31,38:38,42:42,44:44,46:46,60:60,65:65,69:69,82:82}],13:[function(t,e,n){var a=t(27),r=t(10);e.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");var e=[];return a(this,!1,e.push,e),e}}},{10:10,27:27}],14:[function(t,e,n){"use strict";var a=t(31),r=t(60),i=t(4),o=t(38),s=t(69),p=t(27),u=t(8),c=t(30),l=t(82)("weak"),f=Object.isExtensible||o,d=u(5),h=u(6),m=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},b=function(t,e){return d(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=b(this,t);return e?e[1]:void 0},has:function(t){return!!b(this,t)},set:function(t,e){var n=b(this,t);n?n[1]=e:this.a.push([t,e])},"delete":function(t){var e=h(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},e.exports={getConstructor:function(t,e,n,a){var i=t(function(t,r){s(t,i,e),t._i=m++,t._l=void 0,void 0!=r&&p(r,n,t[a],t)});return r(i.prototype,{"delete":function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i)&&delete t[l][this._i]:v(this)["delete"](t):!1},has:function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i):v(this).has(t):!1}}),i},def:function(t,e,n){return f(i(e))?(c(e,l)||a(e,l,{}),e[l][t._i]=n):v(t).set(e,n),t},frozenStore:v,WEAK:l}},{27:27,30:30,31:31,38:38,4:4,60:60,69:69,8:8,82:82}],15:[function(t,e,n){"use strict";var a=t(29),r=t(22),i=t(61),o=t(60),s=t(27),p=t(69),u=t(38),c=t(24),l=t(43),f=t(66);e.exports=function(t,e,n,d,h,m){var v=a[t],g=v,b=h?"set":"add",y=g&&g.prototype,_={},x=function(t){var e=y[t];i(y,t,"delete"==t?function(t){return m&&!u(t)?!1:e.call(this,0===t?0:t)}:"has"==t?function(t){return m&&!u(t)?!1:e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!u(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof g&&(m||y.forEach&&!c(function(){(new g).entries().next()}))){var w,k=new g,P=k[b](m?{}:-0,1)!=k,C=c(function(){k.has(1)}),E=l(function(t){new g(t)});E||(g=e(function(e,n){p(e,g,t);var a=new v;return void 0!=n&&s(n,h,a[b],a),a}),g.prototype=y,y.constructor=g),m||k.forEach(function(t,e){w=1/e===-(1/0)}),(C||w)&&(x("delete"),x("has"),h&&x("get")),(w||P)&&x(b),m&&y.clear&&delete y.clear}else g=d.getConstructor(e,t,h,b),o(g.prototype,n);return f(g,t),_[t]=g,r(r.G+r.W+r.F*(g!=v),_),m||d.setStrong(g,t,h),g}},{22:22,24:24,27:27,29:29,38:38,43:43,60:60,61:61,66:66,69:69}],16:[function(t,e,n){var a=e.exports={version:"1.2.6"};"number"==typeof __e&&(__e=a)},{}],17:[function(t,e,n){var a=t(2);e.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,r){return t.call(e,n,a,r)}}return function(){return t.apply(e,arguments)}}},{2:2}],18:[function(t,e,n){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],19:[function(t,e,n){e.exports=!t(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{24:24}],20:[function(t,e,n){var a=t(38),r=t(29).document,i=a(r)&&a(r.createElement);e.exports=function(t){return i?r.createElement(t):{}}},{29:29,38:38}],21:[function(t,e,n){var a=t(46);e.exports=function(t){var e=a.getKeys(t),n=a.getSymbols;if(n)for(var r,i=n(t),o=a.isEnum,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e}},{46:46}],22:[function(t,e,n){var a=t(29),r=t(16),i=t(31),o=t(61),s=t(17),p="prototype",u=function(t,e,n){var c,l,f,d,h=t&u.F,m=t&u.G,v=t&u.S,g=t&u.P,b=t&u.B,y=m?a:v?a[e]||(a[e]={}):(a[e]||{})[p],_=m?r:r[e]||(r[e]={}),x=_[p]||(_[p]={});m&&(n=e);for(c in n)l=!h&&y&&c in y,f=(l?y:n)[c],d=b&&l?s(f,a):g&&"function"==typeof f?s(Function.call,f):f,y&&!l&&o(y,c,f),_[c]!=f&&i(_,c,d),g&&x[c]!=f&&(x[c]=f)};a.core=r,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,e.exports=u},{16:16,17:17,29:29,31:31,61:61}],23:[function(t,e,n){var a=t(83)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[a]=!1,!"/./"[t](e)}catch(r){}}return!0}},{83:83}],24:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],25:[function(t,e,n){"use strict";var a=t(31),r=t(61),i=t(24),o=t(18),s=t(83);e.exports=function(t,e,n){var p=s(t),u=""[t];i(function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,n(o,p,u)),a(RegExp.prototype,p,2==e?function(t,e){return u.call(t,this,e)}:function(t){return u.call(t,this)}))}},{18:18,24:24,31:31,61:61,83:83}],26:[function(t,e,n){"use strict";var a=t(4);e.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{4:4}],27:[function(t,e,n){var a=t(17),r=t(40),i=t(35),o=t(4),s=t(79),p=t(84);e.exports=function(t,e,n,u){var c,l,f,d=p(t),h=a(n,u,e?2:1),m=0;if("function"!=typeof d)throw TypeError(t+" is not iterable!");if(i(d))for(c=s(t.length);c>m;m++)e?h(o(l=t[m])[0],l[1]):h(t[m]);else for(f=d.call(t);!(l=f.next()).done;)r(f,h,l.value,e)}},{17:17,35:35,4:4,40:40,79:79,84:84}],28:[function(t,e,n){var a=t(78),r=t(46).getNames,i={}.toString,o="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return r(t)}catch(e){return o.slice()}};e.exports.get=function(t){return o&&"[object Window]"==i.call(t)?s(t):r(a(t))}},{46:46,78:78}],29:[function(t,e,n){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},{}],30:[function(t,e,n){var a={}.hasOwnProperty;e.exports=function(t,e){return a.call(t,e)}},{}],31:[function(t,e,n){var a=t(46),r=t(59);e.exports=t(19)?function(t,e,n){return a.setDesc(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},{19:19,46:46,59:59}],32:[function(t,e,n){e.exports=t(29).document&&document.documentElement},{29:29}],33:[function(t,e,n){e.exports=function(t,e,n){var a=void 0===n;switch(e.length){case 0:return a?t():t.call(n);case 1:return a?t(e[0]):t.call(n,e[0]);case 2:return a?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return a?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return a?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},{}],34:[function(t,e,n){var a=t(11);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==a(t)?t.split(""):Object(t)}},{11:11}],35:[function(t,e,n){var a=t(45),r=t(83)("iterator"),i=Array.prototype;e.exports=function(t){return void 0!==t&&(a.Array===t||i[r]===t)}},{45:45,83:83}],36:[function(t,e,n){var a=t(11);e.exports=Array.isArray||function(t){return"Array"==a(t)}},{11:11}],37:[function(t,e,n){var a=t(38),r=Math.floor;e.exports=function(t){return!a(t)&&isFinite(t)&&r(t)===t}},{38:38}],38:[function(t,e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],39:[function(t,e,n){var a=t(38),r=t(11),i=t(83)("match");e.exports=function(t){var e;return a(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==r(t))}},{11:11,38:38,83:83}],40:[function(t,e,n){var a=t(4);e.exports=function(t,e,n,r){try{return r?e(a(n)[0],n[1]):e(n)}catch(i){var o=t["return"];throw void 0!==o&&a(o.call(t)),i}}},{4:4}],41:[function(t,e,n){"use strict";var a=t(46),r=t(59),i=t(66),o={};t(31)(o,t(83)("iterator"),function(){return this}),e.exports=function(t,e,n){t.prototype=a.create(o,{next:r(1,n)}),i(t,e+" Iterator")}},{31:31,46:46,59:59,66:66,83:83}],42:[function(t,e,n){"use strict";var a=t(48),r=t(22),i=t(61),o=t(31),s=t(30),p=t(45),u=t(41),c=t(66),l=t(46).getProto,f=t(83)("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this};e.exports=function(t,e,n,b,y,_,x){u(n,e,b);var w,k,P=function(t){if(!d&&t in A)return A[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",E=y==v,S=!1,A=t.prototype,O=A[f]||A[h]||y&&A[y],T=O||P(y);if(O){var M=l(T.call(new t));c(M,C,!0),!a&&s(A,h)&&o(M,f,g),E&&O.name!==v&&(S=!0,T=function(){return O.call(this)})}if(a&&!x||!d&&!S&&A[f]||o(A,f,T),p[e]=T,p[C]=g,y)if(w={values:E?T:P(v),keys:_?T:P(m),entries:E?P("entries"):T},x)for(k in w)k in A||i(A,k,w[k]);else r(r.P+r.F*(d||S),e,w);return w}},{22:22,30:30,31:31,41:41,45:45,46:46,48:48,61:61,66:66,83:83}],43:[function(t,e,n){var a=t(83)("iterator"),r=!1;try{var i=[7][a]();i["return"]=function(){r=!0},Array.from(i,function(){throw 2})}catch(o){}e.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var i=[7],o=i[a]();o.next=function(){n=!0},i[a]=function(){return o},t(i)}catch(s){}return n}},{83:83}],44:[function(t,e,n){e.exports=function(t,e){return{value:e,done:!!t}}},{}],45:[function(t,e,n){e.exports={}},{}],46:[function(t,e,n){var a=Object;e.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},{}],47:[function(t,e,n){var a=t(46),r=t(78);e.exports=function(t,e){for(var n,i=r(t),o=a.getKeys(i),s=o.length,p=0;s>p;)if(i[n=o[p++]]===e)return n}},{46:46,78:78}],48:[function(t,e,n){e.exports=!1},{}],49:[function(t,e,n){e.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],50:[function(t,e,n){e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],51:[function(t,e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],52:[function(t,e,n){var a,r,i,o=t(29),s=t(75).set,p=o.MutationObserver||o.WebKitMutationObserver,u=o.process,c=o.Promise,l="process"==t(11)(u),f=function(){var t,e,n;for(l&&(t=u.domain)&&(u.domain=null,t.exit());a;)e=a.domain,n=a.fn,e&&e.enter(),n(),e&&e.exit(),a=a.next;r=void 0,t&&t.enter()};if(l)i=function(){u.nextTick(f)};else if(p){var d=1,h=document.createTextNode("");new p(f).observe(h,{characterData:!0}),i=function(){h.data=d=-d}}else i=c&&c.resolve?function(){c.resolve().then(f)}:function(){s.call(o,f)};e.exports=function(t){var e={fn:t,next:void 0,domain:l&&u.domain};r&&(r.next=e),a||(a=e,i()),r=e}},{11:11,29:29,75:75}],53:[function(t,e,n){var a=t(46),r=t(80),i=t(34);e.exports=t(24)(function(){var t=Object.assign,e={},n={},a=Symbol(),r="abcdefghijklmnopqrst";return e[a]=7,r.split("").forEach(function(t){n[t]=t}),7!=t({},e)[a]||Object.keys(t({},n)).join("")!=r})?function(t,e){for(var n=r(t),o=arguments,s=o.length,p=1,u=a.getKeys,c=a.getSymbols,l=a.isEnum;s>p;)for(var f,d=i(o[p++]),h=c?u(d).concat(c(d)):u(d),m=h.length,v=0;m>v;)l.call(d,f=h[v++])&&(n[f]=d[f]);return n}:Object.assign},{24:24,34:34,46:46,80:80}],54:[function(t,e,n){var a=t(22),r=t(16),i=t(24);e.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],o={};o[t]=e(n),a(a.S+a.F*i(function(){n(1)}),"Object",o)}},{16:16,22:22,24:24}],55:[function(t,e,n){var a=t(46),r=t(78),i=a.isEnum;e.exports=function(t){return function(e){for(var n,o=r(e),s=a.getKeys(o),p=s.length,u=0,c=[];p>u;)i.call(o,n=s[u++])&&c.push(t?[n,o[n]]:o[n]);return c}}},{46:46,78:78}],56:[function(t,e,n){var a=t(46),r=t(4),i=t(29).Reflect;e.exports=i&&i.ownKeys||function(t){var e=a.getNames(r(t)),n=a.getSymbols;return n?e.concat(n(t)):e}},{29:29,4:4,46:46}],57:[function(t,e,n){"use strict";var a=t(58),r=t(33),i=t(2);e.exports=function(){for(var t=i(this),e=arguments.length,n=Array(e),o=0,s=a._,p=!1;e>o;)(n[o]=arguments[o++])===s&&(p=!0);return function(){var a,i=this,o=arguments,u=o.length,c=0,l=0;if(!p&&!u)return r(t,n,i);if(a=n.slice(),p)for(;e>c;c++)a[c]===s&&(a[c]=o[l++]);for(;u>l;)a.push(o[l++]);return r(t,a,i)}}},{2:2,33:33,58:58}],58:[function(t,e,n){e.exports=t(29)},{29:29}],59:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],60:[function(t,e,n){var a=t(61);e.exports=function(t,e){for(var n in e)a(t,n,e[n]);return t}},{61:61}],61:[function(t,e,n){var a=t(29),r=t(31),i=t(82)("src"),o="toString",s=Function[o],p=(""+s).split(o);t(16).inspectSource=function(t){return s.call(t)},(e.exports=function(t,e,n,o){"function"==typeof n&&(n.hasOwnProperty(i)||r(n,i,t[e]?""+t[e]:p.join(e+"")),n.hasOwnProperty("name")||r(n,"name",e)),t===a?t[e]=n:(o||delete t[e],r(t,e,n))})(Function.prototype,o,function(){return"function"==typeof this&&this[i]||s.call(this)})},{16:16,29:29,31:31,82:82}],62:[function(t,e,n){e.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return(e+"").replace(t,n)}}},{}],63:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},{}],64:[function(t,e,n){var a=t(46).getDesc,r=t(38),i=t(4),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,r){try{r=t(17)(Function.call,a(Object.prototype,"__proto__").set,2),r(e,[]),n=!(e instanceof Array)}catch(i){n=!0}return function(t,e){return o(t,e),n?t.__proto__=e:r(t,e),t}}({},!1):void 0),check:o}},{17:17,38:38,4:4,46:46}],65:[function(t,e,n){"use strict";var a=t(29),r=t(46),i=t(19),o=t(83)("species");e.exports=function(t){var e=a[t];i&&e&&!e[o]&&r.setDesc(e,o,{configurable:!0,get:function(){return this}})}},{19:19,29:29,46:46,83:83}],66:[function(t,e,n){var a=t(46).setDesc,r=t(30),i=t(83)("toStringTag");e.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},{30:30,46:46,83:83}],67:[function(t,e,n){var a=t(29),r="__core-js_shared__",i=a[r]||(a[r]={});e.exports=function(t){return i[t]||(i[t]={})}},{29:29}],68:[function(t,e,n){var a=t(4),r=t(2),i=t(83)("species");e.exports=function(t,e){var n,o=a(t).constructor;return void 0===o||void 0==(n=a(o)[i])?e:r(n)}},{2:2,4:4,83:83}],69:[function(t,e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError(n+": use the 'new' operator!");return t}},{}],70:[function(t,e,n){var a=t(77),r=t(18);e.exports=function(t){return function(e,n){var i,o,s=r(e)+"",p=a(n),u=s.length;return 0>p||p>=u?t?"":void 0:(i=s.charCodeAt(p),55296>i||i>56319||p+1===u||(o=s.charCodeAt(p+1))<56320||o>57343?t?s.charAt(p):i:t?s.slice(p,p+2):(i-55296<<10)+(o-56320)+65536)}}},{18:18,77:77}],71:[function(t,e,n){var a=t(39),r=t(18);e.exports=function(t,e,n){if(a(e))throw TypeError("String#"+n+" doesn't accept regex!");return r(t)+""}},{18:18,39:39}],72:[function(t,e,n){var a=t(79),r=t(73),i=t(18);e.exports=function(t,e,n,o){var s=i(t)+"",p=s.length,u=void 0===n?" ":n+"",c=a(e);if(p>=c)return s;""==u&&(u=" ");var l=c-p,f=r.call(u,Math.ceil(l/u.length));return f.length>l&&(f=f.slice(0,l)),o?f+s:s+f}},{18:18,73:73,79:79}],73:[function(t,e,n){"use strict";var a=t(77),r=t(18);e.exports=function(t){var e=r(this)+"",n="",i=a(t);if(0>i||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},{18:18,77:77}],74:[function(t,e,n){var a=t(22),r=t(18),i=t(24),o=" \n\x0B\f\r   ᠎              \u2028\u2029\ufeff",s="["+o+"]",p="​…",u=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),l=function(t,e){var n={};n[t]=e(f),a(a.P+a.F*i(function(){return!!o[t]()||p[t]()!=p}),"String",n)},f=l.trim=function(t,e){return t=r(t)+"",1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t};e.exports=l},{18:18,22:22,24:24}],75:[function(t,e,n){var a,r,i,o=t(17),s=t(33),p=t(32),u=t(20),c=t(29),l=c.process,f=c.setImmediate,d=c.clearImmediate,h=c.MessageChannel,m=0,v={},g="onreadystatechange",b=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},y=function(t){b.call(t.data)};f&&d||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++m]=function(){s("function"==typeof t?t:Function(t),e)},a(m),m},d=function(t){delete v[t]},"process"==t(11)(l)?a=function(t){l.nextTick(o(b,t,1))}:h?(r=new h,i=r.port2,r.port1.onmessage=y,a=o(i.postMessage,i,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(a=function(t){c.postMessage(t+"","*")},c.addEventListener("message",y,!1)):a=g in u("script")?function(t){p.appendChild(u("script"))[g]=function(){p.removeChild(this),b.call(t)}}:function(t){setTimeout(o(b,t,1),0)}),e.exports={set:f,clear:d}},{11:11,17:17,20:20,29:29,32:32,33:33}],76:[function(t,e,n){var a=t(77),r=Math.max,i=Math.min;e.exports=function(t,e){return t=a(t),0>t?r(t+e,0):i(t,e)}},{77:77}],77:[function(t,e,n){var a=Math.ceil,r=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?r:a)(t)}},{}],78:[function(t,e,n){var a=t(34),r=t(18);e.exports=function(t){return a(r(t))}},{18:18,34:34}],79:[function(t,e,n){var a=t(77),r=Math.min;e.exports=function(t){return t>0?r(a(t),9007199254740991):0}},{77:77}],80:[function(t,e,n){var a=t(18);e.exports=function(t){return Object(a(t))}},{18:18}],81:[function(t,e,n){var a=t(38);e.exports=function(t,e){if(!a(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!a(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},{38:38}],82:[function(t,e,n){var a=0,r=Math.random();e.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++a+r).toString(36))}},{}],83:[function(t,e,n){var a=t(67)("wks"),r=t(82),i=t(29).Symbol;e.exports=function(t){return a[t]||(a[t]=i&&i[t]||(i||r)("Symbol."+t))}},{29:29,67:67,82:82}],84:[function(t,e,n){var a=t(10),r=t(83)("iterator"),i=t(45);e.exports=t(16).getIteratorMethod=function(t){return void 0!=t?t[r]||t["@@iterator"]||i[a(t)]:void 0}},{10:10,16:16,45:45,83:83}],85:[function(t,e,n){"use strict";var a,r=t(46),i=t(22),o=t(19),s=t(59),p=t(32),u=t(20),c=t(30),l=t(11),f=t(33),d=t(24),h=t(4),m=t(2),v=t(38),g=t(80),b=t(78),y=t(77),_=t(76),x=t(79),w=t(34),k=t(82)("__proto__"),P=t(8),C=t(7)(!1),E=Object.prototype,S=Array.prototype,A=S.slice,O=S.join,T=r.setDesc,M=r.getDesc,R=r.setDescs,j={};o||(a=!d(function(){return 7!=T(u("div"),"a",{get:function(){return 7}}).a}),r.setDesc=function(t,e,n){if(a)try{return T(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(h(t)[e]=n.value),t},r.getDesc=function(t,e){if(a)try{return M(t,e)}catch(n){}return c(t,e)?s(!E.propertyIsEnumerable.call(t,e),t[e]):void 0},r.setDescs=R=function(t,e){h(t);for(var n,a=r.getKeys(e),i=a.length,o=0;i>o;)r.setDesc(t,n=a[o++],e[n]);return t}),i(i.S+i.F*!o,"Object",{getOwnPropertyDescriptor:r.getDesc,defineProperty:r.setDesc,defineProperties:R});var L="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),N=L.concat("length","prototype"),D=L.length,F=function(){var t,e=u("iframe"),n=D,a=">";for(e.style.display="none",p.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("