mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

* 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>
137 lines
4.7 KiB
Markdown
137 lines
4.7 KiB
Markdown
# [Archipelago](https://archipelago.gg)  | [Install](https://github.com/ArchipelagoMW/Archipelago/releases)
|
|
|
|
Archipelago provides a generic framework for developing multiworld capability for game randomizers. In all cases,
|
|
presently, Archipelago is also the randomizer itself.
|
|
|
|
Currently, the following games are supported:
|
|
|
|
* The Legend of Zelda: A Link to the Past
|
|
* Factorio
|
|
* Minecraft
|
|
* Subnautica
|
|
* Slay the Spire
|
|
* Risk of Rain 2
|
|
* The Legend of Zelda: Ocarina of Time
|
|
* Timespinner
|
|
* Super Metroid
|
|
* Secret of Evermore
|
|
* Final Fantasy
|
|
* Rogue Legacy
|
|
* VVVVVV
|
|
* Raft
|
|
* Super Mario 64
|
|
* Meritous
|
|
* Super Metroid/Link to the Past combo randomizer (SMZ3)
|
|
* ChecksFinder
|
|
* ArchipIDLE
|
|
* Hollow Knight
|
|
* The Witness
|
|
* Sonic Adventure 2: Battle
|
|
* Starcraft 2
|
|
* Donkey Kong Country 3
|
|
* Dark Souls 3
|
|
* Super Mario World
|
|
* Pokémon Red and Blue
|
|
* Hylics 2
|
|
* Overcooked! 2
|
|
* Zillion
|
|
* Lufia II Ancient Cave
|
|
* Blasphemous
|
|
* Wargroove
|
|
* Stardew Valley
|
|
* The Legend of Zelda
|
|
* The Messenger
|
|
* Kingdom Hearts 2
|
|
* The Legend of Zelda: Link's Awakening DX
|
|
* Clique
|
|
* Adventure
|
|
* DLC Quest
|
|
* Noita
|
|
* Undertale
|
|
* Bumper Stickers
|
|
* Mega Man Battle Network 3: Blue Version
|
|
* Muse Dash
|
|
* DOOM 1993
|
|
* Terraria
|
|
* Lingo
|
|
* Pokémon Emerald
|
|
* DOOM II
|
|
* Shivers
|
|
* Heretic
|
|
* Landstalker: The Treasures of King Nole
|
|
* Final Fantasy Mystic Quest
|
|
* TUNIC
|
|
* Kirby's Dream Land 3
|
|
* Celeste 64
|
|
* Zork Grand Inquisitor
|
|
* Castlevania 64
|
|
* A Short Hike
|
|
* Yoshi's Island
|
|
* Mario & Luigi: Superstar Saga
|
|
* Bomb Rush Cyberfunk
|
|
* Aquaria
|
|
* Yu-Gi-Oh! Ultimate Masters: World Championship Tournament 2006
|
|
* A Hat in Time
|
|
* Old School Runescape
|
|
|
|
For setup and instructions check out our [tutorials page](https://archipelago.gg/tutorial/).
|
|
Downloads can be found at [Releases](https://github.com/ArchipelagoMW/Archipelago/releases), including compiled
|
|
windows binaries.
|
|
|
|
## History
|
|
|
|
Archipelago is built upon a strong legacy of brilliant hobbyists. We want to honor that legacy by showing it here.
|
|
The repositories which Archipelago is built upon, inspired by, or otherwise owes its gratitude to are:
|
|
|
|
* [bonta0's MultiWorld](https://github.com/Bonta0/ALttPEntranceRandomizer/tree/multiworld_31)
|
|
* [AmazingAmpharos' Entrance Randomizer](https://github.com/AmazingAmpharos/ALttPEntranceRandomizer)
|
|
* [VT Web Randomizer](https://github.com/sporchia/alttp_vt_randomizer)
|
|
* [Dessyreqt's alttprandomizer](https://github.com/Dessyreqt/alttprandomizer)
|
|
* [Zarby89's](https://github.com/Ijwu/Enemizer/commits?author=Zarby89)
|
|
and [sosuke3's](https://github.com/Ijwu/Enemizer/commits?author=sosuke3) contributions to Enemizer, which make up the
|
|
vast majority of Enemizer contributions.
|
|
|
|
We recognize that there is a strong community of incredibly smart people that have come before us and helped pave the
|
|
path. Just because one person's name may be in a repository title does not mean that only one person made that project
|
|
happen. We can't hope to perfectly cover every single contribution that lead up to Archipelago, but we hope to honor
|
|
them fairly.
|
|
|
|
### Path to the Archipelago
|
|
|
|
Archipelago was directly forked from bonta0's `multiworld_31` branch of ALttPEntranceRandomizer (this project has a
|
|
long legacy of its own, please check it out linked above) on January 12, 2020. The repository was then named to
|
|
_MultiWorld-Utilities_ to better encompass its intended function. As Archipelago matured, then known as
|
|
"Berserker's MultiWorld" by some, we found it necessary to transform our repository into a root level repository
|
|
(as opposed to a 'forked repo') and change the name (which came later) to better reflect our project.
|
|
|
|
## Running Archipelago
|
|
|
|
For most people, all you need to do is head over to
|
|
the [releases page](https://github.com/ArchipelagoMW/Archipelago/releases), then download and run the appropriate
|
|
installer, or AppImage for Linux-based systems.
|
|
|
|
If you are a developer or are running on a platform with no compiled releases available, please see our doc on
|
|
[running Archipelago from source](docs/running%20from%20source.md).
|
|
|
|
## Related Repositories
|
|
|
|
This project makes use of multiple other projects. We wouldn't be here without these other repositories and the
|
|
contributions of their developers, past and present.
|
|
|
|
* [z3randomizer](https://github.com/ArchipelagoMW/z3randomizer)
|
|
* [Enemizer](https://github.com/Ijwu/Enemizer)
|
|
* [Ocarina of Time Randomizer](https://github.com/TestRunnerSRL/OoT-Randomizer)
|
|
|
|
## Contributing
|
|
|
|
To contribute to Archipelago, including the WebHost, core program, or by adding a new game, see our
|
|
[Contributing guidelines](/docs/contributing.md).
|
|
|
|
## FAQ
|
|
|
|
For Frequently asked questions, please see the website's [FAQ Page](https://archipelago.gg/faq/en/).
|
|
|
|
## Code of Conduct
|
|
|
|
Please refer to our [code of conduct](/docs/code_of_conduct.md).
|