diff --git a/app/Console/Commands/Distribution.php b/app/Console/Commands/Distribution.php index 2decb5caf..a0f20aaf8 100644 --- a/app/Console/Commands/Distribution.php +++ b/app/Console/Commands/Distribution.php @@ -2,6 +2,7 @@ namespace ALttP\Console\Commands; +use ALttP\Boss; use ALttP\Item; use ALttP\Randomizer; use ALttP\Services\PlaythroughService; @@ -16,12 +17,18 @@ class Distribution extends Command * @var string */ protected $signature = 'alttp:distribution {type} {thing} {iterations=1}' - . ' {--difficulty=normal : set difficulty}' - . ' {--logic=NoGlitches : set logic}' . ' {--goal=ganon : set game goal}' - . ' {--variation=none : set game variation}' . ' {--state=standard : set game state}' - . ' {--tournament : enable tournament mode}' + . ' {--weapons=randomized : set weapons mode}' + . ' {--glitches=none : set glitches}' + . ' {--crystals_ganon=7 : set ganon crystal requirement}' + . ' {--crystals_tower=7 : set ganon tower crystal requirement}' + . ' {--item_placement=advanced : set item placement rules}' + . ' {--dungeon_items=standard : set dungeon item placement}' + . ' {--accessibility=item : set item/location accessibility}' + . ' {--hints=off : set hints on or off}' + . ' {--item_pool=normal : set item pool}' + . ' {--item_functionality=normal : set item functionality}' . ' {--csv= : file to write to}'; /** @@ -33,14 +40,8 @@ class Distribution extends Command /** @var string */ private $state; - /** @var string */ - private $difficulty; - /** @var string */ - private $logic; - /** @var string */ - private $goal; - /** @var string */ - private $variation; + /** @var array */ + private $options; /** * Execute the console command. @@ -49,23 +50,34 @@ class Distribution extends Command */ public function handle() { - if ( - !is_string($this->option('difficulty')) - || !is_string($this->option('logic')) - || !is_string($this->option('goal')) - || !is_string($this->option('state')) - || !is_string($this->option('variation')) - ) { - $this->error('option not string'); - - return 101; - } - $this->difficulty = $this->option('difficulty'); - $this->logic = $this->option('logic'); - $this->goal = $this->option('goal'); - $this->variation = $this->option('variation'); + $logic = [ + 'none' => 'NoGlitches', + 'overworld_glitches' => 'OverworldGlitches', + 'major_glitches' => 'MajorGlitches', + 'no_logic' => 'None', + ][$this->option('glitches')]; + $this->state = $this->option('state'); + $this->options = [ + 'itemPlacement' => $this->option('item_placement'), + 'dungeonItems' => $this->option('dungeon_items'), + 'accessibility' => $this->option('accessibility'), + 'goal' => $this->option('goal'), + 'crystals.ganon' => $this->option('crystals_ganon'), + 'crystals.tower' => $this->option('crystals_tower'), + 'entrances' => 'none', + 'mode.weapons' => $this->option('weapons'), + 'tournament' => false, + 'spoil.Hints' => $this->option('hints'), + 'logic' => $logic, + 'item.pool' => $this->option('item_pool'), + 'item.functionality' => $this->option('item_functionality'), + 'enemizer.bossShuffle' => 'none', + 'enemizer.enemyShuffle' => 'none', + 'enemizer.enemyDamage' => 'default', + 'enemizer.enemyHealth' => 'default', + ]; $locations = []; switch ($this->argument('type')) { @@ -129,6 +141,8 @@ public function handle() } for ($i = 0; $i < $this->argument('iterations'); $i++) { + Item::clearCache(); + Boss::clearCache(); if (!is_callable($function)) { continue; } @@ -184,32 +198,22 @@ public static function _assureColumnsExist($array): array private function item($item_name, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); $item = Item::get($item_name, $world); foreach ($world->getLocationsWithItem($item) as $location) { - if (!isset($locations[$location->getName()])) { - $locations[$location->getName()] = 0; + if (!isset($locations[(string) $location])) { + $locations[(string) $location] = 0; } - $locations[$location->getName()]++; + $locations[(string) $location]++; } } private function location($location_name, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); @@ -229,12 +233,7 @@ private function location($location_name, &$locations) private function location_ordered($location_name, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); @@ -251,19 +250,14 @@ private function location_ordered($location_name, &$locations) private function region($region_name, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); $region = $world->getRegion($region_name); foreach ($region->getLocations() as $location) { - $location_name = $location->getName(); + $location_name = (string) $location; $item_name = $location->getItem()->getNiceName(); if (!isset($locations[$location_name][$item_name])) { $locations[$location_name][$item_name] = 0; @@ -274,18 +268,13 @@ private function region($region_name, &$locations) private function required($unused, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); $required_locations = (new PlaythroughService)->getPlayThrough($world, false); foreach ($required_locations as $location) { - $location_name = $location->getName(); + $location_name = (string) $location; $item = $location->getItem(); if (!$item) { continue; @@ -302,22 +291,17 @@ private function required($unused, &$locations) private function required_ordered($unused, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); $required_locations = (new PlaythroughService)->getPlayThrough($world, false); $required_locations_names = array_map(function ($location) { - return $location->getName(); + return (string) $location; }, $required_locations); foreach ($world->getCollectableLocations() as $location) { - $location_name = $location->getName(); + $location_name = (string) $location; if (!in_array($location_name, $required_locations_names) || strpos($location->getItem()->getName(), 'Key') !== false) { $locations[$location_name][] = ''; continue; @@ -329,17 +313,12 @@ private function required_ordered($unused, &$locations) private function full($unused, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); foreach ($world->getLocations() as $location) { - $location_name = $location->getName(); + $location_name = (string) $location; $item = $location->getItem(); if (!$item) { continue; @@ -356,17 +335,12 @@ private function full($unused, &$locations) private function full_ordered($unused, &$locations) { - $world = World::factory($this->state, [ - 'difficulty' => $this->difficulty, - 'logic' => $this->logic, - 'goal' => $this->goal, - 'variation' => $this->variation, - ]); + $world = World::factory($this->state, $this->options); $rand = new Randomizer([$world]); $rand->randomize(); foreach ($world->getLocations() as $location) { - $location_name = $location->getName(); + $location_name = (string) $location; $item = $location->getItem(); if (!$item) { continue; diff --git a/app/Console/Commands/Randomize.php b/app/Console/Commands/Randomize.php index f52441f65..e2aae124f 100644 --- a/app/Console/Commands/Randomize.php +++ b/app/Console/Commands/Randomize.php @@ -2,6 +2,7 @@ namespace ALttP\Console\Commands; +use ALttP\Boss; use ALttP\Item; use ALttP\Randomizer; use ALttP\Rom; @@ -42,8 +43,8 @@ class Randomize extends Command . ' {--dungeon_items=standard : set dungeon item placement}' . ' {--accessibility=item : set item/location accessibility}' . ' {--hints=on : set hints on or off}' - . ' {--item_pool=on : set item pool}' - . ' {--item_functionality=on : set item functionality}'; + . ' {--item_pool=normal : set item pool}' + . ' {--item_functionality=normal : set item functionality}'; /** * The console command description. @@ -107,6 +108,8 @@ public function handle() $bulk = (int) ($this->option('bulk') ?? 1); for ($i = 0; $i < $bulk; $i++) { + Item::clearCache(); + Boss::clearCache(); $rom = new Rom($this->argument('input_file')); $hash = $hasher->encode((int) (microtime(true) * 1000)); diff --git a/app/Http/Controllers/CustomizerController.php b/app/Http/Controllers/CustomizerController.php index 658863ee8..0ffebad0d 100644 --- a/app/Http/Controllers/CustomizerController.php +++ b/app/Http/Controllers/CustomizerController.php @@ -143,7 +143,7 @@ protected function prepSeed(Request $request, bool $save = false) 'crystals.tower' => $crystals_tower, 'entrances' => $request->input('entrances', 'none'), 'mode.weapons' => $request->input('weapons', 'randomized'), - 'tournament' => $request->input('tournament', false), + 'tournament' => $request->input('tournament', true), 'spoilers' => $request->input('spoilers', false), 'spoilers_ongen' => $request->input('spoilers_ongen', false), 'spoil.Hints' => $request->input('hints', 'on'), diff --git a/app/Http/Controllers/RandomizerController.php b/app/Http/Controllers/RandomizerController.php index 6b1290e2f..4f7cb830d 100644 --- a/app/Http/Controllers/RandomizerController.php +++ b/app/Http/Controllers/RandomizerController.php @@ -143,9 +143,9 @@ protected function prepSeed(CreateRandomizedGame $request) $en->writeToRom($rom); } - $patch = $rom->getWriteLog(); - $rom->setTournamentType('standard'); + $rom->setTournamentType($request->input('spoilers', false) ? 'none' : 'standard'); $rom->rummageTable(); + $patch = $rom->getWriteLog(); if ($world->isEnemized()) { $world->updateSeedRecordPatch($patch); diff --git a/app/Region/Standard/ThievesTown.php b/app/Region/Standard/ThievesTown.php index ac244234d..0d7a60319 100644 --- a/app/Region/Standard/ThievesTown.php +++ b/app/Region/Standard/ThievesTown.php @@ -75,7 +75,8 @@ public function initalize() $this->locations["Thieves' Town - Big Chest"]->setRequirements(function ($locations, $items) { if ($locations["Thieves' Town - Big Chest"]->hasItem(Item::get('KeyD4', $this->world))) { - return $items->has('Hammer') && $items->has('BigKeyD4'); + return $items->has('Hammer') && $items->has('BigKeyD4') + && $this->world->config('accessibility') !== 'locations'; } return $items->has('Hammer') && $items->has('KeyD4') && $items->has('BigKeyD4'); diff --git a/composer.json b/composer.json index 966556fa3..69449fbd8 100644 --- a/composer.json +++ b/composer.json @@ -64,7 +64,7 @@ "source": { "url": "https://github.com/KevinCathcart/ALttPEntranceRandomizer", "type": "git", - "reference": "tags/0.6.3-pre6" + "reference": "tags/0.6.3-pre7" } } } diff --git a/composer.lock b/composer.lock index 85a95f11e..bfdc439ed 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6610e12136e5b7dfac5ea59184912dc3", + "content-hash": "69784b2753034458f3aca947126cbe3d", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.111.2", + "version": "3.112.7", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "5e80d4bec17e197be494af4f38e1fcd17f728138" + "reference": "5167704e39f4e139152906b3d962aa15692bff07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5e80d4bec17e197be494af4f38e1fcd17f728138", - "reference": "5e80d4bec17e197be494af4f38e1fcd17f728138", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5167704e39f4e139152906b3d962aa15692bff07", + "reference": "5167704e39f4e139152906b3d962aa15692bff07", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2019-09-11T18:16:47+00:00" + "time": "2019-09-24T18:13:32+00:00" }, { "name": "cakephp/chronos", @@ -1635,16 +1635,16 @@ }, { "name": "laravel/passport", - "version": "v7.4.1", + "version": "v7.5.0", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "cc39dc6a36ebf5926906eb5ad3c62dba50c9bbd0" + "reference": "663e720a6d15e8ec70bf5309f774439a110efc89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/cc39dc6a36ebf5926906eb5ad3c62dba50c9bbd0", - "reference": "cc39dc6a36ebf5926906eb5ad3c62dba50c9bbd0", + "url": "https://api.github.com/repos/laravel/passport/zipball/663e720a6d15e8ec70bf5309f774439a110efc89", + "reference": "663e720a6d15e8ec70bf5309f774439a110efc89", "shasum": "" }, "require": { @@ -1702,7 +1702,7 @@ "oauth", "passport" ], - "time": "2019-09-10T19:55:34+00:00" + "time": "2019-09-24T20:59:35+00:00" }, { "name": "laravel/tinker", @@ -1878,9 +1878,9 @@ "authors": [ { "name": "Colin O'Dell", + "role": "Lead Developer", "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" + "homepage": "https://www.colinodell.com" } ], "description": "PHP Markdown parser based on the CommonMark spec", @@ -3133,16 +3133,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.21", + "version": "2.0.23", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "9f1287e68b3f283339a9f98f67515dd619e5bf9d" + "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/9f1287e68b3f283339a9f98f67515dd619e5bf9d", - "reference": "9f1287e68b3f283339a9f98f67515dd619e5bf9d", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099", + "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099", "shasum": "" }, "require": { @@ -3221,7 +3221,7 @@ "x.509", "x509" ], - "time": "2019-07-12T12:53:49+00:00" + "time": "2019-09-17T03:41:22+00:00" }, { "name": "predis/predis", @@ -3845,21 +3845,22 @@ }, { "name": "sentry/sentry", - "version": "2.1.3", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "41ef3b66c2a06e3510d6e128eec28acac388f770" + "reference": "5896f9f0a00a7525797764ba42091dfbde22a746" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/41ef3b66c2a06e3510d6e128eec28acac388f770", - "reference": "41ef3b66c2a06e3510d6e128eec28acac388f770", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/5896f9f0a00a7525797764ba42091dfbde22a746", + "reference": "5896f9f0a00a7525797764ba42091dfbde22a746", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", + "guzzlehttp/promises": "^1.3", "jean85/pretty-package-versions": "^1.2", "php": "^7.1", "php-http/async-client-implementation": "^1.0", @@ -3880,20 +3881,22 @@ "friendsofphp/php-cs-fixer": "^2.13", "monolog/monolog": "^1.3|^2.0", "php-http/mock-client": "^1.0", - "phpstan/phpstan": "^0.10.3", - "phpstan/phpstan-phpunit": "^0.10", - "phpunit/phpunit": "^7.0", - "symfony/phpunit-bridge": "^4.3" + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpunit/phpunit": "^7.5", + "symfony/phpunit-bridge": "^4.3", + "vimeo/psalm": "^3.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-develop": "2.2-dev" } }, "autoload": { "files": [ - "src/Sdk.php" + "src/functions.php" ], "psr-4": { "Sentry\\": "src/" @@ -3920,20 +3923,20 @@ "logging", "sentry" ], - "time": "2019-09-06T16:10:38+00:00" + "time": "2019-09-23T11:52:12+00:00" }, { "name": "sentry/sentry-laravel", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "1e351d2257de312dfa3bdb5544b55e587bd4c00a" + "reference": "83abfabb9695551e53431d0499c400b8d1612fc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/1e351d2257de312dfa3bdb5544b55e587bd4c00a", - "reference": "1e351d2257de312dfa3bdb5544b55e587bd4c00a", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/83abfabb9695551e53431d0499c400b8d1612fc3", + "reference": "83abfabb9695551e53431d0499c400b8d1612fc3", "shasum": "" }, "require": { @@ -3950,7 +3953,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev", + "dev-0.x": "0.x-dev" }, "laravel": { "providers": [ @@ -3988,7 +3992,7 @@ "logging", "sentry" ], - "time": "2019-09-03T07:39:44+00:00" + "time": "2019-09-24T07:20:25+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -5601,7 +5605,7 @@ "source": { "type": "git", "url": "https://github.com/KevinCathcart/ALttPEntranceRandomizer", - "reference": "tags/0.6.3-pre6" + "reference": "tags/0.6.3-pre7" }, "type": "library" }, @@ -5721,9 +5725,9 @@ "authors": [ { "name": "Marcel Pociot", - "role": "Developer", "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de" + "homepage": "https://beyondco.de", + "role": "Developer" } ], "description": "Symfony Var-Dump Server for Laravel", @@ -6205,8 +6209,8 @@ "authors": [ { "name": "Filipe Dobreira", - "role": "Developer", - "homepage": "https://github.com/filp" + "homepage": "https://github.com/filp", + "role": "Developer" } ], "description": "php error handling for cool kids", @@ -6838,16 +6842,16 @@ }, { "name": "nette/finder", - "version": "v2.5.0", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/nette/finder.git", - "reference": "6be1b83ea68ac558aff189d640abe242e0306fe2" + "reference": "14164e1ddd69e9c5f627ff82a10874b3f5bba5fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/6be1b83ea68ac558aff189d640abe242e0306fe2", - "reference": "6be1b83ea68ac558aff189d640abe242e0306fe2", + "url": "https://api.github.com/repos/nette/finder/zipball/14164e1ddd69e9c5f627ff82a10874b3f5bba5fe", + "reference": "14164e1ddd69e9c5f627ff82a10874b3f5bba5fe", "shasum": "" }, "require": { @@ -6888,7 +6892,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette Finder: find files and directories with an intuitive API.", + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", "homepage": "https://nette.org", "keywords": [ "filesystem", @@ -6896,7 +6900,7 @@ "iterator", "nette" ], - "time": "2019-02-28T18:13:25+00:00" + "time": "2019-07-11T18:02:17+00:00" }, { "name": "nette/neon", @@ -7738,35 +7742,33 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7788,30 +7790,30 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.1", + "version": "4.3.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", "shasum": "" }, "require": { "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", "webmozart/assert": "^1.0" }, "require-dev": { - "doctrine/instantiator": "~1.0.5", + "doctrine/instantiator": "^1.0.5", "mockery/mockery": "^1.0", "phpunit/phpunit": "^6.4" }, @@ -7839,41 +7841,40 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-04-30T17:48:53+00:00" + "time": "2019-09-12T14:27:41+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.4.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7886,7 +7887,8 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14T14:27:02+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "phploc/phploc", @@ -8049,16 +8051,16 @@ }, { "name": "phpstan/phpstan", - "version": "0.11.15", + "version": "0.11.16", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "1be5b3a706db16ac472a4c40ec03cf4c810b118d" + "reference": "635cf20f3b92ce34ee94a8d2f282d62eb9dc6e1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1be5b3a706db16ac472a4c40ec03cf4c810b118d", - "reference": "1be5b3a706db16ac472a4c40ec03cf4c810b118d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/635cf20f3b92ce34ee94a8d2f282d62eb9dc6e1b", + "reference": "635cf20f3b92ce34ee94a8d2f282d62eb9dc6e1b", "shasum": "" }, "require": { @@ -8110,8 +8112,7 @@ "autoload": { "psr-4": { "PHPStan\\": [ - "src/", - "build/PHPStan" + "src/" ] } }, @@ -8120,20 +8121,20 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", - "time": "2019-08-18T20:51:53+00:00" + "time": "2019-09-17T11:19:51+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.7", + "version": "7.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800" + "reference": "aa0d179a13284c7420fc281fc32750e6cc7c9e2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7743bbcfff2a907e9ee4a25be13d0f8ec5e73800", - "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa0d179a13284c7420fc281fc32750e6cc7c9e2f", + "reference": "aa0d179a13284c7420fc281fc32750e6cc7c9e2f", "shasum": "" }, "require": { @@ -8142,7 +8143,7 @@ "php": "^7.2", "phpunit/php-file-iterator": "^2.0.2", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.0", + "phpunit/php-token-stream": "^3.1.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/environment": "^4.2.2", "sebastian/version": "^2.0.1", @@ -8172,8 +8173,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "role": "lead", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", @@ -8183,7 +8184,7 @@ "testing", "xunit" ], - "time": "2019-07-25T05:31:54+00:00" + "time": "2019-09-17T06:24:36+00:00" }, { "name": "phpunit/php-file-iterator", @@ -8327,16 +8328,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a" + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e899757bb3df5ff6e95089132f32cd59aac2220a", - "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", "shasum": "" }, "require": { @@ -8372,20 +8373,20 @@ "keywords": [ "tokenizer" ], - "time": "2019-07-25T05:29:42+00:00" + "time": "2019-09-17T06:23:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.3.4", + "version": "8.3.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36" + "reference": "302faed7059fde575cf3403a78c730c5e3a62750" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e31cce0cf4499c0ccdbbb211a3280d36ab341e36", - "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/302faed7059fde575cf3403a78c730c5e3a62750", + "reference": "302faed7059fde575cf3403a78c730c5e3a62750", "shasum": "" }, "require": { @@ -8408,7 +8409,7 @@ "sebastian/comparator": "^3.0.2", "sebastian/diff": "^3.0.2", "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.0", + "sebastian/exporter": "^3.1.1", "sebastian/global-state": "^3.0.0", "sebastian/object-enumerator": "^3.0.3", "sebastian/resource-operations": "^2.0.1", @@ -8444,8 +8445,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "role": "lead", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], "description": "The PHP Unit Testing framework.", @@ -8455,7 +8456,7 @@ "testing", "xunit" ], - "time": "2019-08-11T06:56:55+00:00" + "time": "2019-09-14T09:12:03+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -8677,16 +8678,16 @@ }, { "name": "sebastian/exporter", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "06a9a5947f47b3029d76118eb5c22802e5869687" + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687", - "reference": "06a9a5947f47b3029d76118eb5c22802e5869687", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", "shasum": "" }, "require": { @@ -8740,7 +8741,7 @@ "export", "exporter" ], - "time": "2019-08-11T12:43:14+00:00" + "time": "2019-09-14T09:02:43+00:00" }, { "name": "sebastian/finder-facade", @@ -10076,16 +10077,16 @@ }, { "name": "symplify/coding-standard", - "version": "v6.0.5", + "version": "v6.1.0", "source": { "type": "git", "url": "https://github.com/Symplify/CodingStandard.git", - "reference": "d16273e5e71960f49e448300fbe44d6f5292aeee" + "reference": "d692701e2c74edd8c0cc7c35f47b8421b8b4885c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/CodingStandard/zipball/d16273e5e71960f49e448300fbe44d6f5292aeee", - "reference": "d16273e5e71960f49e448300fbe44d6f5292aeee", + "url": "https://api.github.com/repos/Symplify/CodingStandard/zipball/d692701e2c74edd8c0cc7c35f47b8421b8b4885c", + "reference": "d692701e2c74edd8c0cc7c35f47b8421b8b4885c", "shasum": "" }, "require": { @@ -10095,13 +10096,13 @@ "php": "^7.1", "phpstan/phpdoc-parser": "^0.3.4", "squizlabs/php_codesniffer": "^3.4", - "symplify/package-builder": "^6.0.5" + "symplify/package-builder": "^6.1" }, "require-dev": { - "nette/application": "^2.4|^3.0", + "nette/application": "^3.0", "phpunit/phpunit": "^7.5|^8.0", - "symplify/easy-coding-standard-tester": "^6.0.5", - "symplify/package-builder": "^6.0.5" + "symplify/easy-coding-standard-tester": "^6.1", + "symplify/package-builder": "^6.1" }, "type": "library", "extra": { @@ -10120,20 +10121,20 @@ "MIT" ], "description": "Set of Symplify rules for PHP_CodeSniffer and PHP CS Fixer.", - "time": "2019-07-26T14:48:44+00:00" + "time": "2019-09-18T08:01:34+00:00" }, { "name": "symplify/easy-coding-standard", - "version": "v6.0.5", + "version": "v6.1.0", "source": { "type": "git", "url": "https://github.com/Symplify/EasyCodingStandard.git", - "reference": "5893608bde2bf5bd5f48d977481582e3d2f90daa" + "reference": "94b8cf03af132d007d8a33c8dad5655cff6a74e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/EasyCodingStandard/zipball/5893608bde2bf5bd5f48d977481582e3d2f90daa", - "reference": "5893608bde2bf5bd5f48d977481582e3d2f90daa", + "url": "https://api.github.com/repos/Symplify/EasyCodingStandard/zipball/94b8cf03af132d007d8a33c8dad5655cff6a74e8", + "reference": "94b8cf03af132d007d8a33c8dad5655cff6a74e8", "shasum": "" }, "require": { @@ -10147,19 +10148,19 @@ "psr/simple-cache": "^1.0", "slevomat/coding-standard": "^5.0.1", "squizlabs/php_codesniffer": "^3.4", - "symfony/cache": "^3.4|^4.2", - "symfony/config": "^3.4|^4.2", - "symfony/console": "^3.4|^4.2", + "symfony/cache": "^3.4|^4.3", + "symfony/config": "^3.4|^4.3", + "symfony/console": "^3.4|^4.3", "symfony/dependency-injection": "^3.4.10|^4.2", - "symfony/finder": "^3.4|^4.2", - "symfony/http-kernel": "^3.4|^4.2", - "symfony/yaml": "^3.4|^4.2", - "symplify/coding-standard": "^6.0.5", - "symplify/package-builder": "^6.0.5" + "symfony/finder": "^3.4|^4.3", + "symfony/http-kernel": "^3.4|^4.3", + "symfony/yaml": "^3.4|^4.3", + "symplify/coding-standard": "^6.1", + "symplify/package-builder": "^6.1" }, "require-dev": { "phpunit/phpunit": "^7.5|^8.0", - "symplify/easy-coding-standard-tester": "^6.0.5" + "symplify/easy-coding-standard-tester": "^6.1" }, "bin": [ "bin/ecs" @@ -10184,33 +10185,33 @@ "MIT" ], "description": "Use Coding Standard with 0-knowledge of PHP-CS-Fixer and PHP_CodeSniffer.", - "time": "2019-07-26T14:48:44+00:00" + "time": "2019-09-14T22:46:23+00:00" }, { "name": "symplify/package-builder", - "version": "v6.0.5", + "version": "v6.1.0", "source": { "type": "git", "url": "https://github.com/Symplify/PackageBuilder.git", - "reference": "f531e03f87c89b26605f1cc1022160e398108ba1" + "reference": "fbdfe363a27070cfdfbc47d5f59e711ed08bb060" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/PackageBuilder/zipball/f531e03f87c89b26605f1cc1022160e398108ba1", - "reference": "f531e03f87c89b26605f1cc1022160e398108ba1", + "url": "https://api.github.com/repos/Symplify/PackageBuilder/zipball/fbdfe363a27070cfdfbc47d5f59e711ed08bb060", + "reference": "fbdfe363a27070cfdfbc47d5f59e711ed08bb060", "shasum": "" }, "require": { "nette/finder": "^2.4", "nette/utils": "^2.5|^3.0", "php": "^7.1", - "symfony/config": "^3.4|^4.2", - "symfony/console": "^3.4|^4.2", - "symfony/debug": "^3.4|^4.2", + "symfony/config": "^3.4|^4.3", + "symfony/console": "^3.4|^4.3", + "symfony/debug": "^3.4|^4.3", "symfony/dependency-injection": "^3.4.10|^4.2", - "symfony/finder": "^3.4|^4.2", - "symfony/http-kernel": "^3.4|^4.2", - "symfony/yaml": "^3.4|^4.2" + "symfony/finder": "^3.4|^4.3", + "symfony/http-kernel": "^3.4|^4.3", + "symfony/yaml": "^3.4|^4.3" }, "require-dev": { "phpunit/phpunit": "^7.5|^8.0" @@ -10231,7 +10232,7 @@ "MIT" ], "description": "Dependency Injection, Console and Kernel toolkit for Symplify packages.", - "time": "2019-07-22T21:06:43+00:00" + "time": "2019-09-17T20:48:03+00:00" }, { "name": "theseer/fdomdocument", diff --git a/config/alttp.php b/config/alttp.php index ac7a18810..068ac8939 100644 --- a/config/alttp.php +++ b/config/alttp.php @@ -55,7 +55,7 @@ 'boss_shuffle' => 'none', 'enemy_shuffle' => 'none', 'hints' => 'on', - 'weapons' => 'vanilla', + 'weapons' => 'assured', 'item_pool' => 'normal', 'item_functionality' => 'normal', 'enemy_damage' => 'default', @@ -267,9 +267,9 @@ ], 'daily_weights' => [ 'glitches_required' => [ - 'none' => 76, - 'overworld_glitches' => 21, - 'major_glitches' => 3, + 'none' => 88, + 'overworld_glitches' => 10, + 'major_glitches' => 2, 'no_logic' => 0, ], 'item_placement' => [ @@ -323,30 +323,30 @@ 'retro' => 10, ], 'entrance_shuffle' => [ - 'none' => 90, + 'none' => 92, 'simple' => 2, 'restricted' => 2, 'full' => 2, - 'crossed' => 2, - 'insanity' => 2, + 'crossed' => 1, + 'insanity' => 1, ], 'boss_shuffle' => [ - 'none' => 60, - 'simple' => 10, - 'full' => 10, - 'random' => 20, - ], - 'enemy_shuffle' => [ 'none' => 80, - 'shuffled' => 10, + 'simple' => 5, + 'full' => 5, 'random' => 10, ], + 'enemy_shuffle' => [ + 'none' => 90, + 'shuffled' => 7, + 'random' => 3, + ], 'hints' => [ 'on' => 50, 'off' => 50, ], 'weapons' => [ - 'randomized' => 60, + 'randomized' => 70, 'assured' => 10, 'vanilla' => 10, 'swordless' => 10, @@ -362,15 +362,15 @@ 'expert' => 10, ], 'enemy_damage' => [ - 'default' => 80, - 'shuffled' => 10, - 'random' => 10, + 'default' => 93, + 'shuffled' => 5, + 'random' => 2, ], 'enemy_health' => [ - 'easy' => 5, - 'default' => 80, - 'hard' => 10, - 'expert' => 5, + 'easy' => 2, + 'default' => 92, + 'hard' => 5, + 'expert' => 1, ], ], ], diff --git a/resources/js/components/VTRomInfo.vue b/resources/js/components/VTRomInfo.vue index e6b09f245..5506ce53d 100644 --- a/resources/js/components/VTRomInfo.vue +++ b/resources/js/components/VTRomInfo.vue @@ -1,6 +1,9 @@