Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
Aaron Wagener 332eab9569
The Messenger: Add Shop Rando (#1834)
* add shop shuffle options and items

* add logic for the shop slots

* write cost tests

* start on shop item logic

* make strike and second wind early items

* some cleanup

* remove 5 shards

* double cost requirement for really expensive items and raise the rates

* add test for shop shuffle with minimum other locations

* put power seal in front of shards

* rename locations and items

* update rules, regions, and shop

* update tests and misc fixes

* minor cleanup

* implement money wrench and figurines

* clean out now unneeded info from slot_data

* docs update and fix a failure when not shuffling shops

* remove shop shuffle option

* Finish out shop rules

* make seals generation easier to read and fix tests

* rule adjustments

* oop

* adjust the prices to be a bit more generous

* add max price to slot data for tracker

* update the hard rules a bit

* remove unnecessary test

* update data_version

* bump version and remove info for fixed issues

* remove now unneeded assert

* review updates

* minor bug fix

* add a test for minimum locations shop costing

* minor optimizations and cleanup

* remove whitespace
2023-06-28 01:39:52 +02:00
.github CI: treat all files as modified on new branches (#1826) 2023-05-20 21:57:38 +02:00
WebHostLib WebHost: Align multitracker status column to the left (#1645) 2023-06-27 17:37:01 -04:00
data 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
docs 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
test Fill: fix fill_restrictive for mixed minimal and non-minimal and test (#1800) 2023-06-25 02:55:13 +02:00
typings/kivy Zillion: map tracker in client (#1136) 2022-10-27 02:30:22 -07:00
worlds The Messenger: Add Shop Rando (#1834) 2023-06-28 01:39:52 +02:00
.gitignore Undertale for AP (#439) 2023-06-27 04:35:41 +02:00
AdventureClient.py CI: add a workflow to show flake8/mypy violations in modified files of a PR (#1513) 2023-05-20 14:40:51 +02:00
BaseClasses.py Core: clean up BaseClasses a bit (#1731) 2023-05-25 01:24:12 +02:00
ChecksFinderClient.py ChecksFinder: Linux support via wine (#795) 2022-07-19 07:44:04 +02:00
CommonClient.py Factorio: Client in folder, TextClient: always available (#1829) 2023-06-25 02:31:25 +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 Fill: fix fill_restrictive for mixed minimal and non-minimal and test (#1800) 2023-06-25 02:55:13 +02:00
Generate.py Generate: Add skip progression balancing argument. (#1876) 2023-06-26 16:14:01 -05:00
KH2Client.py KH2: AntipointReset (#1815) 2023-05-18 15:28:35 +02:00
LICENSE update Copyright 2022-02-17 19:03:11 -08:00
Launcher.py Launcher: keep alive (#1894) 2023-06-27 09:30:54 +02:00
LinksAwakeningClient.py LADX: 16 bits for the check ID (#1903) 2023-06-27 16:39:57 -05:00
LttPAdjuster.py LttP: fix patching crash if old always_apply adjuster settings were applied 2023-05-25 14:08:56 +02:00
Main.py Generate: Add skip progression balancing argument. (#1876) 2023-06-26 16:14:01 -05:00
MinecraftClient.py [Minecraft] Update MinecraftClient.py (#1524) 2023-03-20 11:44:48 -07:00
ModuleUpdate.py Core: skip ModuleUpdate in subprocess 2023-05-18 15:29:17 +02:00
MultiServer.py Core: add generator_version to network protocol 2023-04-26 10:48:57 +02:00
NetUtils.py Core: store multidata/multisave enums by value on py3.11 (#1783) 2023-05-02 08:23:39 +02:00
OoTAdjuster.py Main: add __all__ and change wrong imports (#1824) 2023-05-20 19:21:39 +02:00
OoTClient.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
Options.py Launcher: add Discord links and generate yamls (#1716) 2023-04-16 01:57:52 +02:00
Patch.py Core: SNI Client Refactor (#1083) 2022-10-25 19:54:43 +02:00
PokemonClient.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
README.md Add Bumper Stickers (#811) 2023-06-27 15:37:17 -05:00
SNIClient.py SoE/SNIClient: auto launch SNI before browser when SNIClient patched (#1861) 2023-06-18 11:27:08 +02:00
Starcraft2Client.py SC2: Python 3.11 compatibility (#1821) 2023-06-12 07:41:53 +02:00
UndertaleClient.py Undertale for AP (#439) 2023-06-27 04:35:41 +02:00
Utils.py Linux: add freeze_support, Launcher: use spawn (#1890) 2023-06-25 02:24:43 +02:00
WargrooveClient.py Wargroove: Fixed Wargroove Client not removing communication files (#1492) 2023-03-03 18:24:09 +01:00
WebHost.py WebHost: automatically fill PATCH_TARGET -> HOST_ADDRESS and re-use it for rooms (#1518) 2023-03-09 21:31:00 +01:00
Zelda1Client.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
ZillionClient.py ZillionClient: fix manual disconnect (#1266) 2023-01-07 10:27:43 +01:00
host.yaml 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
inno_setup.iss Undertale for AP (#439) 2023-06-27 04:35:41 +02:00
kvui.py [kivy] change the sizing for macOS (#1732) 2023-04-19 23:16:13 +02:00
meta.yaml meta.yaml: update progression balancing (#1283) 2022-12-05 22:26:44 +01:00
playerSettings.yaml update LTTP player template to add all universal AP options (#1372) 2023-01-07 10:09:33 +01:00
pytest.ini use pytest for github unittests 2020-04-29 18:44:03 +02:00
requirements.txt Clients: use certifi (#1879) 2023-06-22 00:01:41 +02:00
setup.py Witness: APworld compatibility, but for real this time (#1896) 2023-06-26 00:38:39 +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: Wings of Liberty
  • 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

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. The installers function on Windows only.

If you are running Archipelago from a non-Windows system then the likely scenario is that you are comfortable running source code directly. 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

For contribution guidelines, please see our Contributing doc.

FAQ

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

Code of Conduct

Please refer to our code of conduct.