Releases: qwint/APMinit
ER Has Logic (again) now!
Patch Patch!
fixes a couple of little things:
- use minitGMS2.exe as a backup executable
- move try/catch code to focus the catchable errors
- fix the temporary all caps client in window title lol
- update certain arg handling
Patch upgrade!
THIS UPDATE WILL ONLY WORK ON 0.5.1+
but also there's no world updates so you're not missing out on much
- The new 0.5.1 launch game from webhost feature is supported!
- updates /Patch to:
- Save the patched file to a different path so you don't have to keep resetting to vanilla
- Auto launch the game (partly because with the new patched file location it needs to be launched differently with
minit.exe -game patched_file.win
)
and some less interesting info
- cleaned up some of the client code
- use the new make_gui method to clean up kivy code in client
- updated deathlink message to be properly formatted
Generic Entrance Rando updates
includes updates to most recent version of GER patch
some refactors for the Client
and added a check for Generation to not allow ER if GER is not found as that combination was only for a proof of concept on entrance shuffling
bug squashing from refactor
oops, different logic levels didn't actually work after the refactor, now they should
also includes an update to the game mod to remove the 'sync' apitem from near the house because it is obsolete now and was confusing players.
mostly refactors
mostly just releasing this so i can get complaints if i messed up my refactors >:)
updates:
fixes for python 3.8 compat
ER region refactor
general access rule refactor
internal item refactor
new cool way to deal with restrictive start fill failures (that doesn't seem to deal with every start with damage boosts on,,)
Mostly ER fixes (but some new options too!)
Major:
- adds start inventory from pool and minHP, and damage boost options
Logic:
- update temple coin to allow obscure swimming to access the check
- made classification for HeartPiece as well as making flashlight dynamic based on settings
Minor:
- minor rule optimization
- pulling generic rule utils out to their own file and removing some unnecessary util wrappers
- clean up imports across the apworld
- some minor cleanup in rules.py
- logic refactor now that has_sword is fast
- update count rules to use state.has passing in count
- un-obscure option checking and adding data_version to be set after item/location name rework
- use World instead of MultiWorld for can_create option checking
- updated rules to use a custom collect/remove flag instead of re-evaluating has_sword on every location check
Bugfix:
- fix bugs in ER starting entrance and minhp item filling
- updating doc name again to play nice,,
- move er_region_list instantiating to a per-instance level to not leak the multiworld
- update filler item loop to only check locations in current world instead of entire multiworld
- handle errors on interpret_slot_data better and allow create_item to be done with world=none
ER:
- updates to be in line with latest generic-entrance-rando
- add path hints to locations and spoiler log
- ER Bugfixes and update ER regions to add more darkroom rules where needed
- updated free ER location check to let the game actually know about it and (maybe temporarily) moved it to always instead of just on 1p seeds
- import entrance type from new generic er location
I'm mostly pushing this so the Stripes webhost has actual docs
Nothing that huge, but the webhost-facing docs were not working or woefully out of date.
Logic updates
- update to make darkrooms more configurable and remove the dependency on Obscure for harder to navigate rooms (also updated tests and fixed a bug introduced by said update)
- refactored logic to shortcut evaluation more often and to use both the Events made for ER and state.can_reach(Region) when relevant
- set coins to progression_skip_balancing to hopefully run into less swap errors and have less coins filling up early locations.
- various ER support updates including interpret_slot_data for Universal Tracker support of tracking ER (note: it really does not like the 'bad entrances' that get generated when using ER without Generic ER, so uninstall the tracker if you are using that ER for some reason)
- the Generic ER work referenced is being done at Generic Entrance Rando - Development and currently hosted at BadMagic's Github
Game Mod updates:
- updates to game mod to better handle: receiving items while dead, receiving unknown item ids
- added a feature to sync items on every Player respawn (including on save-load) to hopefully smooth out Player experience (this may be reverted if it causes issues, but most should be fixed so it's looking promising)
- also, this may make the apItem at your current house obsolete, but did not want to remove it yet in case something goes wrong (or i revert the feature altogether)
Minor updates:
- minor repo cleanup of unneeded files and comments
- various minor docs updates to Options descriptions, Webhost clarity, wording consistency
Progressive Sword, Coin prompts, Goal locking, oh my
It's time for a hodgepodge update, did a lot of work on the ER branch to support the Generic Entrance Rando development, and with it also fixed / improved other things, so you're getting them all.
Biggest note: this now consolidates the Generic ER work being done, the Minit ER work being done (including the shuffled maps with no logic in the first ER update), and the existing randomization work.
Depending on if the Generic ER data is available in your install ER settings will either utilize them or fall back on map shuffle as before, but if you turn ER off they will act the same and not change the workflow
As for a real changelog, this pulls in a lot of work done to support Generic Entrance Rando, which includes:
- properly defining two-way static connections and their logic
- updating some missing entrances
- properly defining logic when two different directions of movement need different items (i.e. the box to miner's chest)
- properly defining all unrandomized door entrances for if they are ever added to the rando pool
- reformatted rules text to be inline with styling guidelines
- consolidated static connections
- added framework to define vanilla connections so er_rules and rules can be consolidated in the future
- fixed some invalid coordinates based on testing
Some refactors happened that should not affect gameplay
- events are handled more generically and some other things like the hotel residents and the bridge being turned on were added as events
- ER will try to be loaded and if it can't will fall back on map shuffling like the last release
- reused region/location setup info is handled in a common method
- flush goal is now handled as an event as well
And general cleanup of comments and TODOs that are not needed
And some things people will actually care about
Logic updates:
- Game gen will now detect a single player game and hint to the item shuffler to put a random choice of swim/wateringCan/Sword to lessen the chance that it runs out of swaps and fails
- ItemGlove now correctly is accessible with just swim
Some client updates:
- check the goal settings before marking a game as complete
- added proper handling of Progressive Swords (both forwards and reverse)
Some game updates:
- updates to correct vanilla stairs in certain locations, to reduce the amount of ER-Entrance and DeathPoll calls done when respawning.
- add coin popup when adding coins to inventory and handle progressive sword(s)
- adding progSword handler script that was missed
- updates to support goal locking
- remove debugging logging, leaving only useful log messages
- updating early fixes to despawns so they despawn again but only when already sent
and removed lock on island shack now that die to dog house exists - potential update to edge case where dying and picking up an item crashes the game
Entrance Rando... (kinda!)
With this update there is now support for an Entrance Rando*
some caveats:
- there is no logic related to the randomized map, things could be unreachable, darkrooms may be required, very likely you don't start with an available check, transitions that stop you in your tracks because they plop you into water
- like usual, no promises it has backwards compatibility
- there seems to be some bugs with the game not being sure which layer you should be on? please report if you find any of these
BUT, with ER off (a new yaml setting) nothing should be changed
with ER on, you will get a random map, and be able to traverse it (recommend cheating items in)
things to note about the ER decisions:
- doors/stairs that move you between layers (i.e. into houses, or into underground sections) are unchanged, i tried randoing these but they were too much headache so they're vanilla again
- the 'overworld' is not randomized, this is to enable things like baiting the sharks into allowing you to swim different locations, and to put the oasis, broken truck, thirsty man into reasonable locations
- some key regions are randomized together: the quicksand, the lighthouse, (really considering making dog house and the tile below it one as well..)
- land and water routes are split up meaning that some otherwise simple transitions become more complicated (i.e. south of dog house is three entrances, right of, left of, and the through the river) but if the water is split by land there is a water route and a land route (i.e. the bridge to lighthouse is one, and any water route west is a second one)