Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
Scipio Wright dad228cd4a
TUNIC: Logic Rules Redux (#3544)
* Clean these functions up, get the hell out of here 5 parameter function

* Clean up a bunch of rules that no longer need to be multi-lined since the functions are shorter

* Clean up some range functions

* Update to use world instead of player like Vi recommended

* Fix merge conflict

* Create new options

* Slightly revise ls rule

* Update options.py

* Update options.py

* Add tedious option for ls

* Update laurels zips description

* Create new options

* Slightly revise ls rule

* Update options.py

* Update options.py

* Add tedious option for ls

* Update laurels zips description

* Creating structures to redo ladder storage rules

* Put together overworld ladder groups, remove tedious

* Write up the rules for the regular rules

* Update slot data and UT stuff

* Put new ice grapple stuff in er rules

* Ice grapple hard to get to fountain cross room

* More ladder data

* Wrote majority of overworld ladder rules

* Finish the ladder storage rules

* Update notes

* Add note

* Add well rail to the rules

* More rules

* Comment out logically irrelevant entrances

* Update with laurels_zip helper

* Add parameter to has_ice_grapple_logic for difficulty

* Add new parameter to has_ice_grapple_logic

* Move ice grapple chest to lower forest in ER/ladders

* Fix rule

* Finishing out hooking the new rules into the code

* Fix bugs

* Add more hard ice grapples

* Fix more bugs

* Shops my beloved

* Change victory condition back

* Remove debug stuff

* Update plando connections description

* Fix extremely rare bug

* Add well front -> back hard ladder storages

* Note in ls rules about knocking yourself down with bombs being out of logic

* Add atoll fuse with wand + hard ls

* Add some nonsense that boils down to activating the fuse in overworld

* Further update LS description

* Fix missing logic on bridge switch chest in upper zig

* Revise upper zig rule change to account for ER

* Fix merge conflict

* Fix formatting, fix rule for heir access after merge

* Add the shop sword logic stuff in

* Remove todo that was already done

* Fill out a to-do with some cursed nonsense

* Fix event in wrong region

* Fix missing cathedral -> elevator connection

* Fix missing cathedral -> elevator connection

* Add ER exception to cathedral -> elevator

* Fix secret gathering place issue

* Fix incorrect ls rule

* Move 3 locations to Quarry Back since they're easily accessible from the back

* Also update non-er region

* Remove redundant parentheses

* Add new test for a weird edge case in ER

* Slight option description updates

* Use has_ladder in spots where it wasn't used for some reason, add a comment

* Fix unit test for ER

* Update per exempt's suggestion

* Add back LogicRules as an invisible option, to not break old yamls

* Remove unused elevation from portal class

* Update ladder storage without items description

* Remove shop_scene stuff since it's no longer relevant in the mod by the time this version comes out

* Remove shop scene stuff from game info since it's no longer relevant in the mod by the time this comes out

* Update portal list to match main

* god I love github merging things

* Remove note

* Add ice grapple hard path from upper overworld to temple rafters entrance

* Actually that should be medium

* Remove outdated note

* Add ice grapple hard for swamp mid to the ledge

* Add missing laurels zip in swamp

* Some fixes to the ladder storage data while reviewing it

* Add unit test for weird edge case

* Backport outlet region system to fix ls bug

* Fix incorrect ls, add todo

* Add missing swamp ladder storage connections

* Add swamp zip to er data

* Add swamp zip to er rules

* Add hard ice grapple for forest grave path main to upper

* Add ice grapple logic for all bomb walls except the east quarry one

* Add ice grapple logic for frog stairs eye to mouth without the ladder

* Add hard ice grapple for overworld to the stairs to west garden

* Add the ice grapple boss quick kills to medium ice grappling

* Add the reverse connection for the ice grapple kill on Garden Knight

* Add atoll house ice grapple push, and add west garden ice grapple entry to the regular rules
2024-09-08 14:42:59 +02:00
.github Core, CI: Add Python 3.12 support (#3290) 2024-09-02 10:08:16 +02:00
.run PyCharm: ship a working unittest run config (#2694) 2024-01-12 00:49:14 +01:00
WebHostLib Core: have webhost slot name links go through the launcher (#2779) 2024-09-08 00:03:04 +02:00
data Options: fix yaml export corner case (#3529) 2024-06-15 00:48:49 +02:00
docs CODEOWNERS: Move OoT to "unmaintained" (#3894) 2024-09-06 19:38:18 +02:00
test Core, some worlds: Rename sweep_for_events to sweep_for_advancements (#3571) 2024-08-23 01:15:05 +02:00
typings Core: hot reload components from installed apworld (#3480) 2024-06-06 20:36:14 +02:00
worlds TUNIC: Logic Rules Redux (#3544) 2024-09-08 14:42:59 +02:00
worlds_disabled Docs: Added Disabled World information to README.md (#2705) 2024-01-13 21:10:16 +01:00
.coveragerc Tests: create sane cov defaults (#2728) 2024-01-16 17:10:19 +01:00
.gitattributes Blasphemous: Total overhaul (#3355) 2024-08-21 01:18:28 +02:00
.gitignore Project: Add .code-workspace wildcard to gitignore 2024-07-24 14:08:16 +02:00
AHITClient.py A Hat in Time: Implement New Game (#2640) 2024-05-20 09:04:06 +02:00
AdventureClient.py CommonClient: Use lookup_in_game instead of lookup_in_slot in case of own-game name lookup when disconnected from server. (#3514) 2024-06-16 05:37:05 -05:00
BaseClasses.py Docs: Update Trap classification comment #3485 2024-09-08 14:21:26 +02:00
BizHawkClient.py BizHawkClient: Add BizHawkClient (#1978) 2023-10-03 02:44:19 +02:00
ChecksFinderClient.py ChecksFinder: Linux support via wine (#795) 2022-07-19 07:44:04 +02:00
CommonClient.py CommonClient: allow worlds to change title of run_gui without rewriting it (#3297) 2024-09-08 14:17:20 +02:00
FF1Client.py Docs: Revise all docs mentioning Lua in EmuHawk (which are in English), and other misc. corrections (#1782) 2023-06-26 08:53:44 +02:00
FactorioClient.py Factorio: Client in folder, TextClient: always available (#1829) 2023-06-25 02:31:25 +02:00
Fill.py Core, some worlds: Rename sweep_for_events to sweep_for_advancements (#3571) 2024-08-23 01:15:05 +02:00
Generate.py Core: deepcopy plando items #3841 2024-08-24 05:41:00 +02:00
KH1Client.py Kingdom Hearts: Implement New Game (#3201) 2024-08-19 00:39:37 +02:00
KH2Client.py KH2: Version 2 (#2009) 2023-11-25 08:46:00 -06:00
LICENSE update Copyright 2022-02-17 19:03:11 -08:00
Launcher.py Core: have webhost slot name links go through the launcher (#2779) 2024-09-08 00:03:04 +02:00
LinksAwakeningClient.py LADX: Added some resilience to non-ASCII player names (#2642) 2024-02-13 22:46:18 +01:00
LttPAdjuster.py ALTTP: Minor Tweaks to the Adjuster UI (#2533) 2024-08-22 19:59:11 +02:00
MMBN3Client.py MMBN3: Small Bug Fixes (#2282) 2023-11-24 11:14:05 -06:00
Main.py Core: early_local != local_early #3780 2024-08-16 22:20:20 +02:00
MinecraftClient.py Core: Add settings API ("auto settings") for host.yaml (#1871) 2023-07-05 22:39:35 +02:00
ModuleUpdate.py Core, CI: Add Python 3.12 support (#3290) 2024-09-02 10:08:16 +02:00
MultiServer.py MultiServer: put some limits in place (#3858) 2024-09-01 21:59:37 +02:00
NetUtils.py Docs: `NetworkItem.player` (#3811) 2024-08-19 20:37:36 +02:00
OoTAdjuster.py Core: Purge the evil (`world: MultiWorld`) (#2749) 2024-02-05 00:38:00 +01:00
OoTClient.py Core: Add settings API ("auto settings") for host.yaml (#1871) 2023-07-05 22:39:35 +02:00
Options.py Core: Remove broken unused code from Options.py (#3781) 2024-08-12 19:32:14 +02:00
Patch.py Core: add layer for patches that don't use `Patch.py` (#2889) 2024-03-14 22:29:29 +01:00
README.md YachtDice: implement new game (#3482) 2024-08-21 19:59:21 +02:00
SNIClient.py SNIClient: restore old operands header (#3242) 2024-05-03 22:00:05 +02:00
Starcraft2Client.py SC2: Multi-campaign (#2954) 2024-03-15 17:33:03 +01:00
UndertaleClient.py Undertale: Fixed output location of the patched game in UndertaleClient.py (#3418) 2024-07-14 14:11:52 +02:00
Utils.py Generate: improve logging capture (#3484) 2024-06-09 03:13:27 +02:00
WargrooveClient.py CommonClient: Use lookup_in_game instead of lookup_in_slot in case of own-game name lookup when disconnected from server. (#3514) 2024-06-16 05:37:05 -05:00
WebHost.py WebHost: config override (#3701) 2024-09-03 01:26:46 +02:00
Zelda1Client.py CommonClient: Use lookup_in_game instead of lookup_in_slot in case of own-game name lookup when disconnected from server. (#3514) 2024-06-16 05:37:05 -05:00
ZillionClient.py Zillion: move client to worlds/zillion (#2649) 2024-01-01 13:42:41 -06:00
_speedups.pyx Fix !remaining for cross-world items (#3732) 2024-08-16 22:20:02 +02:00
_speedups.pyxbld Speedups: remove dependency on c++ (#2796) 2024-06-12 18:54:59 +02:00
inno_setup.iss Core: have webhost slot name links go through the launcher (#2779) 2024-09-08 00:03:04 +02:00
intset.h Speedups: remove dependency on c++ (#2796) 2024-06-12 18:54:59 +02:00
kvui.py kvui: assert kivy is not imported before kvui (#3823) 2024-08-24 02:12:01 +02:00
meta.yaml meta.yaml: update progression balancing (#1283) 2022-12-05 22:26:44 +01:00
pytest.ini pytest: run tests on non-windows with new names (#2349) 2023-10-24 10:59:15 +02:00
requirements.txt Core: update dependencies (#3869) 2024-09-03 02:22:48 +02:00
settings.py settings: safer writing (#3644) 2024-07-25 09:10:36 +02:00
setup.py ChecksFinder: Refactor/Cleaning (#3725) 2024-08-06 16:39:56 +02:00

README.md

Archipelago Discord Shield | Install

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
  • Kingdom Hearts 1
  • Mega Man 2
  • Yacht Dice

For setup and instructions check out our tutorials page. Downloads can be found at 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:

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, 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.

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.

Contributing

To contribute to Archipelago, including the WebHost, core program, or by adding a new game, see our Contributing guidelines.

FAQ

For Frequently asked questions, please see the website's FAQ Page.

Code of Conduct

Please refer to our code of conduct.