* initial (broken) commit
* small work on init
* Update Items.py
* beginning work, some rom patches
* commit progress from bh branch
* deathlink, fix soft-reset kill, e-tank loss
* begin work on targeting new bhclient
* write font
* definitely didn't forget to add the other two hashes no
* update to modern options, begin colors
* fix 6th letter bug
* palette shuffle + logic rewrite
* fix a bunch of pointers
* fix color changes, deathlink, and add wily 5 req
* adjust weapon weakness generation
* Update Rules.py
* attempt wily 5 softlock fix
* add explicit test for rbm weaknesses
* fix difficulty and hard reset
* fix connect deathlink and off by one item color
* fix atomic fire again
* de-jank deathlink
* rewrite wily5 rule
* fix rare solo-gen fill issue, hopefully
* Update Client.py
* fix wily 5 requirements
* undo fill hook
* fix picopico-kun rules
* for real this time
* update minimum damage requirement
* begin move to procedure patch
* finish move to APPP, allow rando boobeam, color updates
* fix color bug, UT support?
* what do you mean I forgot the procedure
* fix UT?
* plando weakness and fixes
* sfx when item received, more time stopper edge cases
* Update test_weakness.py
* fix rules and color bug
* fix color bug, support reduced flashing
* major world overhaul
* Update Locations.py
* fix first found bugs
* mypy cleanup
* headerless roms
* Update Rom.py
* further cleanup
* work on energylink
* el fixes
* update to energylink 2.0 packet
* energylink balancing
* potentially break other clients, more balancing
* Update Items.py
* remove startup change from basepatch
we write that in patch, since we also need to clean the area before applying
* el balancing and feedback
* hopefully less test failures?
* implement world version check
* add weapon/health option
* Update Rom.py
* x/x2
* specials
* Update Color.py
* Update Options.py
* finally apply location groups
* bump minor version number instead
* fix duplicate stage sends
* validate wily 5, tests
* see if renaming fixes
* add shuffled weakness
* remove passwords
* refresh rbm select, fix wily 5 validation
* forgot we can't check 0
* oops I broke the basepatch (remove failing test later)
* fix solo gen fill error?
* fix webhost patch recognition
* fix imports, basepatch
* move to flexibility metric for boss validation
* special case boobeam trap
* block strobe on stage select init
* more energylink balancing
* bump world version
* wily HP inaccurate in validation
* fix validation edge case
* save last completed wily to data storage
* mypy and pep8 cleanup
* fix file browse validation
* fix test failure, add enemy weakness
* remove test seed
* update enemy damage
* inno setup
* Update en_Mega Man 2.md
* setup guide
* Update en_Mega Man 2.md
* finish plando weakness section
* starting rbm edge case
* remove * imports
* properly wrap later weakness additions in regen playthrough
* fix import
* forgot readme
* remove time stopper special casing
since we moved to proper wily 5 validation, this special casing is no longer important
* properly type added locations
* Update CODEOWNERS
* add animation reduction
* deprioritize Time Stopper in rush checks
* special case wily phase 1
* fix key error
* forgot the test
* music and general cleanup
* the great rename
* fix import
* thanks pycharm
* reorder palette shuffle
* account for alien on shuffled weakness
* apply suggestions
* fix seedbleed
* fix invalid buster passthrough
* fix weakness landing beneath required amount
* fix failsafe
* finish music
* fix Time Stopper on Flash/Alien
* asar pls
* Apply suggestions from code review
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* world helpers
* init cleanup
* apostrophes
* clearer wording
* mypy and cleanup
* options doc cleanup
* Update rom.py
* rules cleanup
* Update __init__.py
* Update __init__.py
* move to defaultdict
* cleanup world helpers
* Update __init__.py
* remove unnecessary line from fill hook
* forgot the other one
* apply code review
* remove collect
* Update rules.py
* forgot another
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* adding one faq :)
* adding another faq that links to the relevant file
* add lined line breaks between questions and lower the heading size of the question so sub-divisions can be added later
* missed some newlines
* updating best practice filler method
* add note about get_filler_item_name()
* updates to wording from review
* add section to CODEOWNERS for maintainers of this doc
* use underscores to reference the file easier in CODEOWNERS
* update link to be direct and filter to function name
Adds Archipelago support for Zork Grand Inquisitor, the 1997 point-and-click PC adventure game.
The client (based on `CommonClient`), on top of its regular Archipelago duties, fully handles the randomization of the game and the monitoring / modification of the game state. No game modding needed at all; the player is ready to play an Archipelago seed if they can play the vanilla game through ScummVM.
The "reverse engineering" (there's likely a better term for this...) of the game is my own original work and I included an MIT license at the root of my world directory.
A PopTracker pack was also created to help people learn the game: https://github.com/SerpentAI/ZorkGrandInquisitorAPTracker
Adds HotS, LotV and NCO campaigns to SC2 game.
The world's name has changed to reflect that (it's not only Wings of Liberty now)
The client was patched in a way that can still join to games generated prior this change
---------
Co-authored-by: Magnemania <magnemight@gmail.com>
Co-authored-by: EnvyDragon <138727357+EnvyDragon@users.noreply.github.com>
Co-authored-by: Matthew <matthew.marinets@gmail.com>
Co-authored-by: hopop201 <benjy.hopop201@gmail.com>
Co-authored-by: Salzkorn <salzkitty@gmail.com>
Co-authored-by: genderdruid <pallyoffail@gmail.com>
Co-authored-by: MadiMadsen <137329235+MadiMadsen@users.noreply.github.com>
Co-authored-by: neocerber <neocerber@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
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.
* Meta: Create code owners document for tracking and notifying owners of world changes.
* Removing @dewiniaid as maintainer for Hollow Knight.
2023-07-11 - Finalization Date for Vote
https://discord.com/channels/731205301247803413/1123286507390767267/1128482720218099812
@ThePhar - Vote to Remove (2023-06-27)
@black-sliver - Vote to Remove (2023-06-27)
@KonoTyran - Vote to Remove (2023-06-27)
@Berserker66 - Vote to Remove (2023-07-09)
Passed with majority to remove maintainer status.
* Adding @BadMagic100 and @ThePhar as maintainers for Hollow Knight.
@BadMagic100 to primarily handle client-side maintenance/updates.
@ThePhar to primarily handle Archipelago-side maintenance/updates.
https://discord.com/channels/731205301247803413/1131762415021858907
@ThePhar - Approved @BadMagic100 (2023-07-20) and @ThePhar (2023-07-24) as Maintainers
@LegendaryLinux - Approved @BadMagic100 (2023-07-20) as Maintainer
@Berserker66 - Approved @BadMagic100 (2023-07-26) and @ThePhar (2023-07-26) as Maintainers
@black-sliver - Approved @BadMagic100 (2023-07-26) and @ThePhar (2023-07-26) as Maintainers
@KonoTyran - Approved @BadMagic100 (2023-07-27) and @ThePhar (2023-07-27) as Maintainers
Passed with a majority to set maintainer status for Hollow Knight.