Add locations to shutting down the generators in Elementals Skyland#23
Open
Jouramie wants to merge 7 commits intoalwaysintreble:archipelagofrom
Open
Add locations to shutting down the generators in Elementals Skyland#23Jouramie wants to merge 7 commits intoalwaysintreble:archipelagofrom
Jouramie wants to merge 7 commits intoalwaysintreble:archipelagofrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is this adding
This adds 4 locations in the Elemental Skylands, sent by shutting down the generators. It also adds a
Progressive Generator Shutdownitem to deactivate each generator one by one. Four of copies of this item should be added to the itempool.To avoid making the region too linear, the generator doors still open when breaking the lanterns (sending the location), except in the fire island generator room. There, you need all four
Progressive Generator Shutdownto unlock the door. So it essentially only gates the Key of Symbiosis location and the right exit behind receiving the items.The doors in each room also automatically open when receiving enough
Progressive Generator Shutdown. This is however only useful on the air island where you can backtrack from the generator shop or the seal checkpoint, if you land a portal rando there.Receiving a
Progressive Generator Shutdowntakes into account whether the generators are currently loaded. If they are, it plays the shutdown SFX and trigger the animation. So if you're in that room, you'll see the generator shutting down!I'll submit the changes to the apworld eventually, just want to make sure that the game design works. It's here if you want to see https://github.com/Jouramie/Archipelago/tree/Messenger/skyland-generators-locations
On the architecture
I essentially had to replace all the code in
ElementalSkylandGeneratorwith hooks to make it do exactly what I wanted and trigger the SFXs and animations at the right moment. I really did not want to add all those override directly inAPRandomizerMain, it's already messy enough.My suggestion to keep this clean is to move hooks in the
Hooksnamespace and keep the same file name as the code being overridden. I will be much easier to find out if a method already has a hook this way.Testing
Shutting down a generator send the location
1_720p.mp4
Receving the item actually shutdown the generator
2_720p.mp4
Even when the generator is shutdown, locations are sent
3_720p.mp4