* CI: make the comment in 'Build' more verbose
* Doc: add Linux running from source and build instructions
* Doc: fix name in running from source on Linux
* Update docs/running from source.md
Co-authored-by: qwint <qwint.42@gmail.com>
---------
Co-authored-by: qwint <qwint.42@gmail.com>
* initial commit of rules engine
* implement most of the stuff
* add docs and fill out rest of the functionality
* add in explain functions
* dedupe items and add more docs
* pr feedback and optimization updates
* Self is not in typing on 3.10
* fix test
* Update docs/rule builder.md
Co-authored-by: BadMagic100 <dempsey.sean@outlook.com>
* pr feedback
* love it when CI gives me different results than local
* add composition with bitwise and and or
* strongly typed option filtering
* skip resolving location parent region
* update docs
* update typing and add decorator
* add string explains
* move simplify code to world
* add wrapper rule
* I may need to abandon the generic typing
* missing space for faris
* fix hashing for resolved rules
* thank u typing extensions ilu
* remove bad cacheable check
* add decorator to assign hash and rule name
* more type crimes...
* region access rules are now cached
* break compatibility so new features work
* update docs
* replace decorators with __init_subclass__
* ok now the frozen dataclass is automatic
* one more type fix for the road
* small fixes and caching tests
* play nicer with tests
* ok actually fix the tests
* add item_mapping for faris
* add more state helpers as rules
* fix has from list rules
* fix can reach location caching and add set completion condition
* fix can reach entrance caching
* implement HasGroup and HasGroupUnique
* add more tests and fix some bugs
* Add name arg to create_entrance
Co-authored-by: roseasromeo <11944660+roseasromeo@users.noreply.github.com>
* fix json dumping option filters
* restructure and test serialization
* add prop to disable caching
* switch to __call__ and revert access_rule changes
* update docs and make edge cases match
* ruff has lured me into a false sense of security
* also unused
* fix disabling caching
* move filter function to filter class
* add more docs
* tests for explain functions
* Update docs/rule builder.md
Co-authored-by: roseasromeo <11944660+roseasromeo@users.noreply.github.com>
* chore: Strip out uses of TYPE_CHECKING as much as possible
* chore: add empty webworld for test
* chore: optimize rule evaluations
* remove getattr from hot code paths
* testing new cache flags
* only clear cache for rules cached as false in collect
* update test for new behaviour
* do not have rules inherit from each other
* update docs on caching
* fix name of attribute
* make explain messages more colorful
* fix issue with combining rules with different options
* add convenience functions for filtering
* use an operator with higher precedence
* name conflicts less with optionfilter
* move simplify and instance caching code
* update docs
* kill resolve_rule
* kill true_rule and false_rule
* move helpers to base classes
* update docs
* I really should finish all of my
* fix test
* rename mixin
* fix typos
* refactor rule builder into folder for better imports
* update docs
* do not dupe collectionrule
* docs review feedback
* missed a file
* remove rule_caching_enabled from base World
* update docs on caching
* shuffle around some docs
* use option instead of option.value
* add in operator and more testing
* rm World = object
* test fixes
* move cache to logic mixin
* keep test rule builder world out of global registry
* todone
* call register_dependencies automatically
* move register deps call to call_single
* add filtered_resolution
* allow bool opts on filters
* fix serialization tests
* allow reverse operations
---------
Co-authored-by: BadMagic100 <dempsey.sean@outlook.com>
Co-authored-by: roseasromeo <11944660+roseasromeo@users.noreply.github.com>
* Adding json/python to codeblocks to make it pretty, fixed spelling mistakes, swapped uuids for suuids in the examples, and expanded on /tracker and /static_tracker, and /slot_data_tracker giving the details of the API calls endpoints
* Add in API Cacheing timers and related text blurb
* updated for merged edit to /static_tracker
* Removed timer from /datapackage/checksum
* Doc: WebHost living standard
* Docs: update style guide for HTML, CSS and JS
* Unblame phar
* Too many words
* The better choice
* More rules
* Removed too much
* Docs: add recommendations for script defer and async
* first draft
* second draft
* fix indentation of bullet point wrapped lines
* move quote
* explicitly discuss all three item handling flags, since the start inventory one is easily forgotten
* rewrite to avoid a 'debate between two camps' framing
* tweak the wording to allow for the possibility that some games can 'just' do both local and remote items without exposing this detail to the player
* relative links
* Docs: add dev FAQ for 'should I start with the APWorld or the client?'
* fix indentation of bullet point wrapped lines
* use %20 for spaces in links
* link to adding games.md and add #ap-modding-help to adding games.md
* make APQuest a link
* also linkify 'run a local server'
* reword the 'judging client is easier' point to reflect a broader range of first-timers
* move the 'not 100%' point into the introductory sentences, and tweak related wording
* correct link
* explicitly document why 2^53-1 is the max size, not ^31 or ^63
* explicitly recommend 32-bit ids
* make description correct by explicitly mentioning and linking to a description of 'safe'
* Add the world
* doc update
* docs
* Fix Blast/Missile not clearing Reflect
* Update worlds/earthbound/__init__.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/__init__.py
remove unused import
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/__init__.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/modules/dungeon_er.py
make bool optional
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/modules/boss_shuffle.py
typing update
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/modules/boss_shuffle.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Filter events out of item name to id
* we call it a glorp
* Update worlds/earthbound/Regions.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/__init__.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/Items.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/earthbound/Regions.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Fix missing optional import
* hint stuff
* -Fix Apple Kid text being wrong
-Fix Slimy Pile text being wrong
* -Fix some sprite corruption if PSI was used when an enemy loaded another enemy
-Fixed a visible artifact tile during some cutscenes
* Update ver
* Update docs
* Fix some money scripting issues
* Add argument to PSI fakeout attack
* Updated monkey caves shop description
* Remove closing markdown from doc
* Add new flavors
* Make flavors actually work
* Update platforms
* Fix common gear getting duplicated
* Split region initialization
* Condense checks for start inventory + some other junk
* Fix some item groups - change receiver phone to warp pad
* wow that one was really bad :glorp:
* blah
* Fix cutoff option text
* switch start inventory concatenation to itertools
* Fix sky runner scripting bug - added some new comm suggestions
* Fix crash when generating with spoiler_only
* Fix happy-happy teleport not unlocking after beating carpainter
* Hint man hints can now use CreateHint packets to create hints in other games
* Adjust some filler rarity
* Update world to use CreateHints and deprecate old method
* Fix epilogue skip being offset
* Rearrange a couple regions
* Fix tendapants getting deleted in battle
* update doc
* i got scared and forgot i had multiple none checks and am worried about this triggering but tested and it works
* Fix mostly typing errors from silvris
* More type checks
* More typing
* Typema
* Type
* Fix enemy levels overwriting music
* Fix gihugic blunder
* Fix Lumine Hall enabling OSS
* del world
* Rel 4.2.7
* Remove some debug logs
* Fix vanilla bug with weird ambush detection
* Fix Starman Junior having an unscaled Freeze
* Change shop scaling
* Fix shops using the wrong thankful script
* Update some bosses in boss shuffle
* Loc group adjustment
* Update some boss shuffle stuff | Fix Enemizer attacks getting overwritten by Shuffle data | Fix flunkies not updating and still being used with enemizer
* Get rid of some debug stuff
* Get boss shuffle running, dont merge
* Fix json and get boss shuffle no plando back up
* Fix Magicant Boost not initializing to Ness if party count = 4
* Fix belch shop using wrong logic
* Don't re-send goal status
* EBitem
* remove :
* idk if this is whatvi wanted
* All client messagesnow only send when relevant instead of constantly
* Patch up the rest of boss plando
* Fix Giygas being not excluded from enemizer
* Fix epilogue again
* adjust the sphere scaling name
* add the things
* Fix Ness being placed onto monotoli when monotoli was in sea of eden
* Fix prefill properly
* Fix boss shuffle on vanilla slots.
* rename this, apparently
* Update archipelago.json
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Added Satisfactory to latest master
* Fixed hard drive from containing the mam + incremented default value for harddrive progression
* Apply cherry pick of 3076259
* Apply cherry pick of 6114a55
* Clarify Point goal behavior (https://github.com/Jarno458/SatisfactoryArchipelagoMod/issues/98)
* Update Setup guide and info page
* Add links to Gifting and Energy Link compatible games. Add info on Hard Drive behavior
* Fix typos
* Update hard drive behavior description
* Hopefully fixed the mam from getting placed behind harddrives
* Add 1 "Bundle: Solid Biofuel" to default starting items (for later chainsaw usage or early power gen)
* Add info/warning about save setup failure bug
* Add notes about dedicated server setup
* Fixes: `TypeError: 'set' object is not subscriptable`
random.choice does not work over set objects, cast to a list to allow 'trap_selection_override'
* progrees i think
* Fixed some bugs
* Progress commmit incase my pc crashes
* progress i think as test passed
* I guess test pass, game still unbeatable tho
* its generating
* Some refactorings
* Fixed generation with different elevator tiers
* Remove debug statement
* Fix this link.
* Implemented abstract base classes + some fixes
* Implemented many many new options
* Yay more stuff
* Fixed renaming of filters
* Added 1.1 stuffs
* Added options groups and presets
* Fixes after variable renmame
* Added recipy groups for easyer hinting
* Implemented random Tier 0
* Updated slot_data
* Latest update for 1.1
* Applied cheaper building costs of assembler and foundry
* Implemented exploration cost in slot_data
* Fixed exposing option type
* Add goal time estimates
* Trap info
* Added support for Universal Tracker
Put more things in the never exclude pool for a more familiar gameplay
* Added iron ore to build hub
* Added Dark Matter Crystals
* Added Single Dark Matter Crystals
* Fixed typo in options preset
* Update setup directions and info
* Options formatting fixes, lower minimum ExplorationCollectableCount, add new Explorer starting inventory items preset
* Fixed incorrect description on the options
* Reduce Portable Miner and Reinforced Iron Plate quantities in "Skip Tutorial Inspired" starting preset
* Fixed options pickling error
* Reworked logic to no longer include Single: items as filler
Reworked logic for more performance
Reworked logic to always put useful equipment in pool
* Fixed Itemlinks
Removed space elevator parts from fillers
Removed more AWESOME shop purchaseables from minimal item pool
Added all equipment to minimal item pool
Removed non fissile and fertile uranium from minimal item pool
Removed portal from minimal item pool
Removed Ionized fuel from minimal item pool
Removed recipes for Hoverpack and Turbo Rifle Ammo from minimal item pool
Lowered the chance for rolling steel on randomized starter recipes
* Fixed hub milestone item leaking to into wrong milestones
* Fixed unlock cost of geothermal generator
* Fixed itemlinks again
* Add troubleshooting note about hoverpacks
* Add starting inventory bundle delivery info
* Added hint generation at generation time
Harddrive locations now go from 1-100 rather then 0-99
* Update __init__.py
Fixed mistake
* Cleaned docs to be better suited to get verified
* Update CODEOWNERS
Added Satisfactory
* Update README.md
Added Satisfactory
* Restructure and expand setup page to instruct both players and hosts
* Add terms entry for Archipelago mod
* Fixed generation of traps
* Added Robb as code owner
* Restore tests to original state
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix additional typos from code review
* Implemented fix for itterating enum flags on python 3.10
* Update en_Satisfactory.md
* Update setup_en.md
* Apply suggestions from code review
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* more world > multiworld
* Clarify universal tracker behavior
* Fix typos
* Info on smart hinting system
* Move list of additional mods to a page on the mod GitHub
* Restore revamped setup guide that other commits overwrote
Originally from be26511205, d8bd1aaf04
* Removed bundle of ficsit coupons from the from the item pool
added estimated completion times to space elevator option description
* Apply suggestions from code review
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Wording
* Fix typo
* Update with changes from ToBeVerified branch
* Update note about gameplay options
* Update note about gameplay options
* Improved universal tracker handling
* Improved universal tracker + modernized code a bit
* Fixed bugs that where re-introduced
* Added Recipe: Excited Photonic Matter
* Removed python 3.9 workaround
* Fixed
* Apply suggestions from code review
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Streamlined handle craftable logic by using itterable rather then tuple
Removed dict.keys as the dict itzelf already enumerates over keys
* Updated option description
* Fixed typing
* More info on goal completion conditions
* More info on goal completion conditions (093fe38b6e)
* Apply suggestions from code review
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
* Implemented review results
* PEP8 stuff
* More PEP8
* Rename ElevatorTier->ElevatorPhase and related for clarity and consistency.
Untested
* speedups part1
* speedsups on part rules
* Fix formatting
* fix `Elevator Tier #` string literals missed in rename
* Remove unused/duplicate imports + organize imports, `== None` to `is None`
* Fixed after merge
* Updated values + removed TODO
* PEPed up the code
* Small refactorings
* Updated name slot data to phase
* Fix hint creation
* Clarify wording of elevator goal
* Review result
* Fixed minor typo in option
* Update option time estimates
---------
Co-authored-by: Rob B <computerguy440+gh@gmail.com>
Co-authored-by: ProverbialPennance <36955346+ProverbialPennance@users.noreply.github.com>
Co-authored-by: Joe Amenta <airbreather@linux.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Update the descriptions for priority and exclude locations to be more clear.
* Revision on priority
* Moved my change over to the documentation instead of the generated yaml comment.
* update per vi feedback
* Trying a 2 sentence approach
* more details!
* Update options api.md
* Update options api.md
* APQuest
* Add confetti cannon
* ID change on enemy drop
* nevermind
* Write the apworld
* Actually implement hard mode
* split everything into multiple files
* Push out webworld into a file
* Comment
* Enemy health graphics
* more ruff rules
* graphics :)
* heal player when receiving health upgrade
* the dumbest client of all time
* Fix typo
* You can kinda play it now! Now we just need to render the game... :)))
* fix kvui imports again
* It's playable. Kind of
* oops
* Sounds and stuff
* exceptions for audio
* player sprite stuff
* Not attack without sword
* Make sure it plays correctly
* Collect behavior
* ruff
* don't need to clear checked_locations, but do need to still clear finished_game
* Connect calls disconnect, so this is not necessary
* more seemless reconnection
* Ok now I think it's correct
* Bgm
* Bgm
* minor adjustment
* More refactoring of graphics and sound
* add graphics
* Item column
* Fix enemies not regaining their health
* oops
* oops
* oops
* 6 health final boss on hard mode
* boss_6.png
* Display APQuest items correctly
* auto switch tabs
* some mypy stuff
* Intro song
* Confetti Cannon
* a bit more confetti work
* launcher component
* Graphics change
* graphics and cleanup
* fix apworld
* comment out horse and cat for now
* add docs
* copypasta
* ruff made my comment look unhinged
* Move that comment
* Fix typing and don't import kvui in nogui
* lmao that already exists I don't need to do it myself
* Must've just copied this from somewhere
* order change
* Add unit tests
* Notes about the client
* oops
* another intro song case
* Write WebWorld and setup guides
* Yes description provided
* thing
* how to play
* Music and Volume
* Add cat and horse player sprites
* updates
* Add hammer and breakable wall
* TODO
* replace wav with ogg
* Codeowners and readme
* finish unit tests
* lint
* Todid
* Update worlds/apquest/client/ap_quest_client.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Update worlds/apquest/client/custom_views.py
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Filler pattern
* __future__ annotations
* twebhost
* Allow wasd and arrow keys
* correct wording
* oops
* just say the website
* append instead of +=
* qwint is onto my favoritism
* kitty alias
* Add a comment about preplaced items for assertAccessDependency
* Use classvar_matrix instead of MultiworldTestBase
* actually remove multiworld stuff from those tests
* missed one more
* Refactor a bit more
* Fix getting of the user path
* Actually explain components
* Meh
* Be a bit clearer about what's what
* oops
* More comments in the regions.py file
* Nevermind
* clarify regions further
* I use too many brackets
* Ok I'm done fr
* simplify wording
* missing .
* Add precollected example
* add note about precollected advancements
* missing s
* APQuest sound rework
* Volume slider
* I forgot I made this
* a
* fix volume of jingles
* Add math trap to game (only works in play_in_console mode so far)
* Math trap in apworld and client side
* Fix background during math trap
* fix leading 0
* Sound and further ui improvements for Math Trap
* fix music bug
* rename apquest subfolder to game
* Move comment to where it belongs
* Clear up language around components (hopefully)
* Clear up what CommonClient is
* Reword some more
* Mention Archipelago (the program) explicitly
* Update worlds/apquest/docs/en_APQuest.md
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* Explain a bit more why you would use classvar matrix
* reword the assert raises stuff
* the volume slider thing is no longer true
* german game page
* Be more clear about why we're overriding Item and Location
* default item classification
* logically considered -> relevant to logic ()
* Update worlds/apquest/items.py
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* a word on the ambiguity of the word 'filler'
* more rewording
* amount -> number
* stress the necessity of appending to the multiworld itempool
* Update worlds/apquest/locations.py
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* get_location_names_with_ids
* slight rewording of the new helper method
* add some words about creating known location+item pairs
* Add some more words to worlds/apqeust/options.py
* more words in options.py
* 120 chars (thanks Ixrec >:((( LOL)
* Less confusing wording about rules, hopefully?
* victory -> completion
* remove the immediate creation of the hammer rule on the option region entrance
* access rule performance
* Make all imports module-level in world.py
* formatting
* get rid of noqa RUF012 (and also disable the rule in my local ruff.toml
* move comment for docstring closer to docstring in another place
* advancement????
* Missing function type annotations
* pass mypy again (I don't love this one but all the alternatives are equally bad)
* subclass instead of override
* I forgor to remove these
* Get rid of classvar_matrix and instead talk about some other stuff
* protect people a bit from the assertAccessDependency nonsense
* reword a bit more
* word
* More accessdependency text
* More accessdependency text
* More accessdependency text
* More accessdependency text
* oops
* this is supposed to be absolute
* Add some links to docs
* that's called game now
* Add an archipelago.json and explain what it means
* new line who dis
* reorganize a bit
* ignore instead of skip
* Update archipelago.json
* She new on my line till I
* Update archipelago.json
* add controls tab
* new ruff rule? idk
* WHOOPS
* Pack graphics into fewer files
* annoying ruff format thing
* Cleanup + mypy
* relative import
* Update worlds/apquest/client/custom_views.py
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* Update generate_math_problem.py
* Update worlds/apquest/game/player.py
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* APWorld docs: Make a distinction between APWorld and .apworld
* Update apworld specification.md
* Update apworld specification.md
* Be more anal about the launcher component
* Update apworld specification.md
* Update apworld specification.md
Adds support for a manifest file (archipelago.json) inside an .apworld file. It tells AP the game, minimum core version (optional field), maximum core version (optional field), its own version (used to determine which file to prefer to load only currently)
The file itself is marked as required starting with core 0.7.0, prior, just a warning is printed, with error trace.
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Add cccharles world to AP
> The logic has been tested, the game can be completed
> The logic is simple and it does not take into account options
! The documentations are a work in progress
* Update documentations
> Redacted French and English Setup Guides
> Redacted French and English Game Pages
* Handling PR#5287 remarks
> Revert unexpected changes on .run\Archipelago Unittests.run.xml (base Archipelago file)
> Fixed typo "querty" -> "qwerty" in fr and eng Game Pages
> Adding "Game page in other languages" section to eng Game Page documentation
> Improved Steam path in fr and eng Setup Guides
* Handled PR remarks + fixes
> Added get_filler_item_name() to remove warnings
> Fixed irrelevant links for documentations
> Used the Player Options page instead of the default YAML on GitHub
> Reworded all locations to make them simple and clear
> Split some locations that can be linked with an entrance rule
> Reworked all options
> Updated regions according to locations
> Replaced unnecessary rules by rules on entrances
* Empty Options.py
Only the base options are handled yet, "work in progress" features removed.
* Handled PR remark
> Fixed specific UT name
* Handled PR remarks
> UT updated by replacing depreciated features
* Add start_inventory_from_pool as option
This start_inventory_from_pool option is like regular start inventory but it takes items from the pool and replaces them with fillers
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Handled PR remarks
> Mainly fixed editorial and minor issues without impact on UT results (still passed)
* Update the guides according to releases
> Updated the depreciated guides because the may to release the Mod has been changed
> Removed the fixed issues from 'Known Issues'
> Add the "Mod Download" section to simplify the others sections.
* Handled PR remark
> base_id reduced to ensure it fits to signed int (32 bits) in case of future AP improvements
* Handled PR remarks
> Set topology_present to False because unnecessary
> Added an exception in case of unknown item instead of using filler classification
> Fixed an issue that caused the "Bug Spray" to be considered as filler
> Reworked the test_claire_breakers() test to ensure the lighthouse mission can only be finished if at least 4 breakers are collected
* Added Choo-Choo Charles to README.md
* CCCharles: Added rules to win
> The victory could be accessed from sphere 1, this is now fixed by adding the following items as requirements:
- Temple Key
- Green Egg
- Blue Egg
- Red Egg
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* kinda driven by wanting to test the labeling change in prod but also components are a weird part of the ecosystem and could use more documentation.
* additional text describing launch/launch_subprocess and their use
* Update docs/adding games.md
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* APWorld Skeleton
* Hair Color Rando and first items
* All interactable items
* Checkpoint Items and Locations
* First pass sample intermediate data
* Bulk of Region/location code
* JSON Data Parser
* New items and Level Item mapping
* Data Parsing fixes and most of 1a data
* 1a complete data and region/location/item creation fixes
* Add Key Location type and ID output
* Add options to slot data
* 1B Level Data
* Added Location logging
* Add Goal Area Options
* 1c Level Data
* Old Site A B C level data
* Key/Binosanity and Hair Length options
* Key Item/Location and Clutter Event handling
* Remove generic 'keys' item
* 3a level data
* 3b and 3c level data
* Chapter 4 level data
* Chapter 5 Logic Data
* Chapter 5 level data
* Trap Support
* Add TrapLink Support
* Chapter 6 A/B/C Level Data
* Add active_levels to slot_data
* Item and Location Name Groups + style cleanups
* Chapter 7 Level Data and Items, Gemsanity option
* Goal Area and victory handling
* Fix slot_data
* Add Core Level Data
* Carsanity
* Farewell Level Data and ID Range Update
* Farewell level data and handling
* Music Shuffle
* Require Cassettes
* Change default trap expiration action to Deaths
* Handle Poetry
* Mod versioning
* Rename folder, general cleanup
* Additional Cleanup
* Handle Farewell Golden Goal when Include Goldens is off
* Better handling of Farewell Golden
* Update Docs
* Beta test bug fixes
* Bump to v1.0.0
* Update Changelog
* Several Logic tweaks
* Update APWorld Version
* Add Celeste (Open World) to README
* Peer review changes
* Logic Fixes:
* Adjust Mirror Temple B Key logic
* Increment APWorld version
* Fix several logic bugs
* Add missing link
* Add Item Name Groups for common alternative item names
* Account for Madeline's post-Celeste hair-dying activities
* Account for ignored member variable and hardcoded color in Celeste codebase
* Add Blue Clouds to the logic of reaching Farewell - intro-02-launch
* Type checking workaround
* Bump version number
* Adjust Setup Guide
* Minor typing fixes
* Logic and PR fixes
* Increment APWorld Version
* Use more world helpers
* Core review
* CODEOWNERS
* fix(docker): Correct copy command to use recursive flag for EnemizerCLI
- Changed 'cp' to 'cp -r' to properly copy EnemizerCLI directory
* docs(deployment): Update container deployment documentation
- Specify minimum versions for Docker and Podman
- Add requirement for Docker Buildx plugin
* CreateHint command
* Docs
* oops
* forgot an arg
* Update MultiServer.py
* Add documentation on what happens when the hint already exists but with a different status (nothing)
* Early exit if no locations provided
* Add a clarifying comment to the code as well
* change wording a bit
* feat(docker): Add initial Docker configuration for project
- Add .dockerignore file to ignore unnecessary files
- Create Dockerfile with basic build and deployment configuration
* feat(docker): Updated Docker configuration for improved security and build efficiency
- Removed sensitive files from .dockerignore
- Moved WORKDIR to /app in Dockerfile
- Added gunicorn==23.0.0 dependency in RUN command
- Created new docker-compose.yml file for service definition
* feat(deployment): Implement containerized deployment configuration
- Add additional environment variables for Python optimization
- Update Dockerfile with new dependencies: eventlet, gevent, tornado
- Create docker-compose.yml and configure services for web and nginx
- Implement example configurations for web host settings and gunicorn
- Establish nginx configuration for reverse proxy
- Remove outdated docker-compose.yml from root directory
* feat(deploy): Introduce Docker Compose configuration for multi-world deployment
- Separate web service into two containers, one for main process and one for gunicorn
- Update container configurations for improved security and maintainability
- Remove unused volumes and network configurations
* docs: Add new documentation for deploying Archipelago using containers
- Document standalone image build and run process
- Include example Docker Compose file for container orchestration
- Provide information on services defined in the `docker-compose.yaml` file
- Mention optional Enemizer feature and Git requirements
* fixup! feat(docker): Updated Docker configuration for improved security and build efficiency - Removed sensitive files from .dockerignore - Moved WORKDIR to /app in Dockerfile - Added gunicorn==23.0.0 dependency in RUN command - Created new docker-compose.yml file for service definition
* feat(deploy): Updated gunicorn configuration example
- Adjusted worker and thread counts
- Switched worker class from sync to gthread
- Changed log level to info
- Added example code snippet for customizing worker count
* fix(deploy): Adjust concurrency settings for self-launch configuration
- Reduce the number of world generators from 8 to 3
- Decrease the number of hosters from 5 to 4
* docs(deploy using containers): Improve readability, fix broken links
- Update links to other documentation pages
- Improve formatting for better readability
- Remove unnecessary sections and files
- Add note about building the image requiring a local copy of ArchipelagoMW source code
* Update deploy/example_config.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update Dockerfile
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* fixup! Update Dockerfile
* fix(Dockerfile): Update package installations to use latest versions
- Remove specific version pins for git and libc6-dev
- Ensure compatibility with newer package updates
* feat(ci): Add GitHub Actions workflow for building and publishing Docker images
- Create a new workflow for Docker image build and publish
- Configure triggers for push and pull_request on main branch
- Set up QEMU and Docker Buildx for multi-platform builds
- Implement Docker login for GitHub Container Registry
- Include Docker image metadata extraction and tagging
* feat(healthcheck): Update Dockerfile and docker-compose for health checks
- Add health check for the Webhost service in Dockerfile
- Modify docker-compose to include a placeholder health check for multiworld service
- Standardize comments and remove unnecessary lines
* Revert "feat(ci): Add GitHub Actions workflow for building and publishing Docker images"
This reverts commit 32a51b2726.
* feat(docker): Enhance Dockerfile with Cython build stage
- Add Cython builder stage for compiling speedups
- Update package installation and organization for efficiency
- Improve caching by copying requirements before installing
- Add documentation for rootless Podman
* fixup! feat(docker): Enhance Dockerfile with Cython build stage - Add Cython builder stage for compiling speedups - Update package installation and organization for efficiency - Improve caching by copying requirements before installing - Add documentation for rootless Podman
---------
Co-authored-by: Adrian Priestley <apriestley@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Adrian Priestley <apriestley@bob.localdomain>