FFMQR by @wildham0
Uses an API created by wildham for Map Shuffle, Crest Shuffle and Battlefield Reward Shuffle, using a similar method of obtaining data from an external website to Super Metroid's Varia Preset option.
Generates a .apmq file which the user must bring to the FFMQR website https://www.ffmqrando.net/Archipelago to patch their rom. It is not an actual patch file but contains item placement and options data for the FFMQR website to generate a patched rom with for AP.
Some of the AP options may seem unusual, using Choice instead of Range where it may seem more appropriate, but these are options that are passed to FFMQR and I can only be as flexible as it is.
@wildham0 deserves the bulk of the credit for not only creating FFMQR in the first place but all the ASM work on the rom needed to make this possible, work on FFMQR to allow patching with the .apmq files, and creating the API that meant I did not have to recreate his map shuffle from scratch.
* Remove CHAOS Glitch. Add test to check for removed songs.
* Add to game list
* Fix oversight with 0 difficulty songs. Fix naming of test.
* Add new songs and update other data.
* Fix accidental copy paste
* bumpstik: initial commit
* bumpstik: fix game name in location obj
* bumpstik: specified offset
* bumpstik: forgot to call create_regions
* bumpstik: fix entrance generation
* bumpstik: fix completion definition
* bumpstik: treasure bumper, LttP text
* bumpstik: add more score-based locations
* bumpstik: adjust regions
* bumpstik: fill with Treasure Bumpers
* bumpstik: force Treasure Bumper on last location
* bumpstik: don't require Hazard Bumpers for level 4
* bumpstik: treasure bumper locations
* bumpstik: formatting
* bumpstik: refactor to 0.3.5
* bumpstik: Treasure bumpers are now progression
* bumpstik: complete reimplementation of locations
* bumpstik: implement Nothing as item
* bumpstik: level 3 and 4 locations
* bumpstik: correct a goal value
* bumpstik: region defs need one extra treasure
* bumpstik: add more starting paint cans
* bumpstik: toned down final score goal
* bumpstik: changing items, Hazards no longer traps
* bumpstik: remove item groups
* bumpstik: update self.world to self.multiworld
* bumpstik: clean up item types and classes
* bumpstik: add options
also add traps to item pool
* bumpstik: update docs
* bumpstik: oops
* bumpstik: add to master game list on readme
* bumpstik: renaming Task Skip to Task Advance
because "Task Skip" is surprisingly hard to say
* bumpstik: fill with score on item gen
instead of nothing (nothing is still the default filler)
* bumpstik: add 18 checks
* bumpstik: bump ap ver
* bumpstik: add item groups
* bumpstik: make helper items and traps configurable
* bumpstik: make Hazard Bumper progression
* bumpstik: tone final score goal down to 50K
* bumpstik: 0.4.0 region update
* bumpstik: clean up docs
also final goal is now 50K or your score + 5000, whichever is higher
* bumpstik: take datapackage out of testing mode
* bumpstik: Apply suggestions from code review
code changes for .apworld support
Co-authored-by: Zach Parks <zach@alliware.com>
---------
Co-authored-by: Zach Parks <zach@alliware.com>
Randomizes the items, and adds a new item to the pool, "Plot" which lets you go further and further in the game the more you have.
Developers: WirTheAvali (Preferred name for professional use, mewlif)
Adds Adventure for the Atari 2600, NTSC version. New randomizer, not based on prior works. Somewhat atypical of current AP rom patch games; The generator does not require the adventure rom, but writes some data to an .apadvn APContainer file that the client uses along with a base bsdiff patch to generate a final rom file.
* initial commit of messenger integration
* setup no_logic and needed slot_data
* fix some typos and determinism
* make all of it deterministic
* add documentation
* swapped to non local items so change the fed data
* ~~deathlink~~
* satisfy the docs test
* update doc test to show expected name
* split custom classes into a separate file and fix an errant rule
* make access dependency test give more useful errors
* implement tests
* remove some unneccessary back entrances and make names clearer
* fix some big dumbs
* successful unit tests are good also some slight reorganizing
* add astral tea quest line, and potentially power seals as items
* if TYPE_CHECKING... aahhhhhh
* oop forgot to remove legacy code
* having the seed and leaves as actual items doesn't seem to do anything so remove them. locations still work though
* update setup guide with some changes
* Tower HQ was creating duplicate locations
* allow self locking items
* cleanup
* move self_locking_items function to core
* docstring
* implement choice of notes needed for music box
* test the default value
* don't create any starting inventory items
* make item creation faster
* change default accessibility and power seals options
* improve documentation
* precollected_items is a dict of Items...
* implement shop chest goal
* tests
* always assign total and required seals
* add new goals and set music box as requiring shop chest on shop chest goals instead of just setting it as the completion
* fix dumb test quirk
* implement music box skip as an option
* world rewrite/cleanup
* default to apworld and add game to readme
* revert bleeding commits from other PRs
* more bleeds
* fix some errors in options docstrings
* ???
* make my set rules method not have an awful name
* test cleanup
* add a test for item accessibility
* fix issues with tests
* make the self locking item behavior work correctly
* misc cleanup
* more general cleanup to be a good example
* quick rules rewrite
* more general cleanup and typing
* more speed, more clean
* bump data version
* make sure the locked item belongs to current player
* fix bad name and indent. call MessengerItem directly for events
* add poptracker pack to docs
* doc cleanup and "known issues" section that I probably won't be able to fix any time soon.
* missed some spots
* add another bug i forgot about
* be consistently wrong
* Option RangeWithSpecialMax
* amendment to typing in web options
* compare string with number
* lots of work on zillion
* fix zillion fill logic
* fix a few more issues in zillion fill logic
* can make zillion patch and use it
* put multi items in zillion rom
* work on ZillionClient
* logging and auth in client
* work on sending and receiving items
* implement item_handling flag
* fix locations ids to NuktiServer package
* use rewrite of zri
* cache logic rule data for performance
* use new id maps
* fix some problems with the big recent merge
* ZillionClient: use new context manager for Memory class
* fix ItemClassification for Zillion items
and some debug statements for asserts,
documentation on running scripts for manual testing
type correction in CommonContext
* fix some issues in client, start on docs, put rescue and item ram addresses in slot data
* use new location name system
fix item locations getting out of sync in progression balancing
* zillion client can read slot name from game
* zillion: new item names
* remove extra unneeded import
* newer options (room gen and starting cards)
* update comment in zillion patch
* zillion non static regions
* change some logging, update some comments
* allow ZillionClient to exit in certain situations
* todo note to fix options doc strings
* don't force auto forfeit
* rework validation of floppy requirement and item counts
and fix race condition in generate_output
* reorganize Zillion component structure
with System class
* documentation updates for Zillion
* attempt inno_setup.iss
* remove todo comment for something done
* update comment
* rework item count zillion options
and some small cleanups
* fix location check count
* data package version 1
* Zillion can pass unit tests without rom
* fix freeze if closing ZillionClient while it's waiting for server login
* specify commit hash for zilliandomizer package
* some changes to options validation
* Zillion doors saved on multiworld server
* add missing function in inno_setup
and name of vanilla continues in options
* rework zillion sync task and context
* Apply documentation suggestions from SoldierofOrder
Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com>
* update zillion package
* workaround for asyncio udp bug
There is a bug in Python in Windows
https://github.com/python/cpython/issues/91227
that makes it so if I look for RetroArch before it's ready, it breaks the asyncio udp transport system.
As a workaround, we don't look for RetroArch until the user asks for it with /sms
* a few of the smaller suggestions from review
* logic only looks at my locations
instead of all the multiworld locations
* some adjustments from pull request discussion
and some unit tests
* patch webhost changes from pull request discussion
* zillion logic tests
* better vblr test
* test interaction of character rescue items with logic
* move unit tests to new worlds folder
* comment improvements
* fix minor logic issue
and add memory read timeout
* capitalization in option display names
Opa-Opa is a proper noun
* redirect zz stdout to debug
* fix option validation bug making unbeatable seeds
* remove line that does nothing
* attach logic cache to world
Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <doughoskisson@novuslabs.com>
Overcooked! 2 is a couch co-op arcade game with a very high skill ceiling. It has a small but occult following, and the community craves a reason to keep coming back besides just grinding high scores. as such, this PR represents 3 major milestones in one:
* The launch of OC2 Modding, a modding framework which is the first public mod for the game beyond simple RAM trainers
* The launch of OC2 Randomizer
* The integration of OC2 Randomizer in Archipelago
* Doc: move "Running from source" from wiki to docs/
* Doc: update links and reformat running from source
* Doc: implement suggestions in "Running from source"
thanks @alwaysintreble
* Doc: update link to "Running from source"
also link docs/ folder
* Doc: Running from source: Apply suggestions from code review
Co-authored-by: KonoTyran <Kono.Tyran@gmail.com>
Co-authored-by: KonoTyran <Kono.Tyran@gmail.com>
* Baseline patching and logic for DKC3
* Client can send, but not yet receive
* Alpha Test Baseline
* Bug Fixes and Starting Lives Option
* Finish BBH, add world hints
* Add music shuffle
* Boomer Costs Text
* Stubbed in Collect behaviour
* Adjust Gyrocopter option
* Add Bonus Coin junk replacement and tracker support
* Delete bad logs
* Undo host.yaml change
* Refactored SNIClient
* Make Swanky Free
* Fix Typo
* Undo SNIClient run_game hack
* Fix Typo
* Remove Bosses from Level Shuffle
* Remove duplicate kivy Data
* Add DKC3 Docs and increment Data version
* Remove dead code
* Fix mislabeled region
* Add Dark Souls 3 to README
* Always force Cog on Rocket Rush Flag
* Fix Single Ski lock and too many DK Coins
* Update Retroarch version number
* Don't send DKC3 through LttP Adjuster
* Comment Location ROM Table
* Change ROM Hash prefix to D3
* Remove redundant constructor
* Add ROM Change Safeguards
* Properly mark WRAM accesses
* Remove outdated region connect
* Fix syntax error
* Fix Game description
* Fix SNES Bank Access
* Add isso_setup for DKC3
* Double Quote strings
* Escape single quotes I guess
* documentation: add links to other guides in adding games.md
* documentation: add webworld to api.md
* documentation: point people to docs folder and discord for help with adding games
* tutorial: go a bit more in depth on downloading a template yaml
* Make Ijwu happy
* point to baseclasses.py in api.md and reformat links a bit
* Refactorings + minor logic fix
* Fixed unnececerly recalculation of item_name_groups
* Enabled other itemId's so that they can be send to client when desired
* Marked the loss of location 1337158
* Updated network graph
* First draft tinmespinner documentation
* Moved personal items to slot_data rather than location scouts
* Disabled Remote Items
* Updated docs
* Fixed port override
Core: print output progress every 10 files (OoT output may take a while, so let's give some user feedback on progress)
Subnautica: remove empty output method