-
Notifications
You must be signed in to change notification settings - Fork 7
Add Torvus Logic #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
hopesgit
wants to merge
37
commits into
UltiNaruto:main
Choose a base branch
from
hopesgit:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
6689dde
add the following rooms:
hopesgit ae85011
Add Torvus Plaza and tricks used there
hopesgit a7631a9
Add plaza access oob rule and trick in options
hopesgit b4085c7
Add Forgotten Bridge tricks logic
hopesgit d043bfb
Added logic for:
hopesgit 65788c0
Added logic for:
hopesgit 169174f
New rooms:
hopesgit 818b79c
New rooms:
hopesgit 5d4c1ba
Added Torvus rooms to torvus_bog_rooms list in one of the __init__.py…
hopesgit 339604f
Add Catacombs room
hopesgit 0463d45
Add Transit Tunnel East and Transit Tunnel South
hopesgit c97fd1a
add alpha blogg damage logic
hopesgit 7874bc1
Merge branch 'main' of github.com:/UltiNaruto/MetroidEchoesAP
hopesgit dd80259
Tightened up imports on Torvus rooms. Also moved the imports to the n…
hopesgit 69d30e2
Removed base classes for some rooms, optimized some imports, removed …
hopesgit 2776dfa
Moved accessory functions to init; added another trick to Options.py
hopesgit 08486a5
add seeker skip trick to hydrodynamo station
hopesgit 2f21544
Remove TorvusBog_ from Torvus class names
hopesgit feb5226
Match various base class files with source
hopesgit 76b44d4
add typing to helper methods in one of the inits; remove main_hydroch…
hopesgit 633eadc
update location setup in most torvus rooms to use self.add_location i…
hopesgit a80a633
remove trailing line in region file
hopesgit 9a8259b
further attempt to undo committed changes in unrelated files
hopesgit 1d1a7ae
more fixing
hopesgit 3a9e91e
Revert problem files to an earlier version
hopesgit d86cbdc
Make requested updates to Abandoned Worksite
hopesgit faf89ad
Rename subregions in fortress transport access
hopesgit 821b8a5
Making some of the quicker requested changes
hopesgit 4b4c477
Fixing all but the Catacombs rooms
hopesgit 4d207b6
Add some catacombs fixes, also a new trick related to catacombs
hopesgit 01aa23e
- Add newlines at end of every file
hopesgit 2a5bf03
- Removed trick in catacombs access
hopesgit 534bab0
Add documentation for abandoned worksite and forgotten bridge. Also r…
hopesgit cfc4267
Add a couple missing player references in forgotten bridge
hopesgit 1ce0e9b
Add Subregion and room documentation, as well as add missing player r…
hopesgit 407eead
Add Subregion and room documentation, as well as add missing player r…
hopesgit fb900bb
Make some updates requested by UN
hopesgit File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
150 changes: 150 additions & 0 deletions
150
src/logic/metroidprime2/light_world/torvus_bog/abandoned_worksite.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,150 @@ | ||
| """A room characterized by its split nature. Morph Ball tunnels provide connections between all but the pickup ledge subregion.""" | ||
|
|
||
| from BaseClasses import MultiWorld, ItemClassification | ||
| from ... import ( | ||
| can_boost_jump, | ||
| can_lay_bomb, | ||
| can_use_screw_attack, | ||
| can_use_grapple_beam, | ||
| has_trick_enabled | ||
| ) | ||
| from .....Enums import DoorCover | ||
| from .....Regions import MetroidPrime2Exit, MetroidPrime2Region | ||
| from .....Utils import condition_or, condition_and | ||
|
|
||
|
|
||
| class AbandonedWorksite_ForgottenBridgeEntrance(MetroidPrime2Region): | ||
| """The part of the room leading to/from Forgotten Bridge. Has a Super Missile door and a Morph Ball tunnel protected by a Sporb.""" | ||
| name = "Abandoned Worksite" | ||
| desc="Forgotten Bridge Entrance" | ||
| exits=[ | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Forgotten Bridge (Pickup Ledge)", | ||
| door=DoorCover.Any, | ||
| rule=lambda state, player: True | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Ledge Forgotten Bridge Side)", | ||
| rule=lambda state, player: condition_or([ | ||
| # TODO: replace with can_ball_jump | ||
| can_lay_bomb(state, player), | ||
| can_use_screw_attack(state, player) | ||
| ]) | ||
| ) | ||
| ] | ||
|
|
||
|
|
||
| class AbandonedWorksite_GreatBridgeEntrance(MetroidPrime2Region): | ||
| """The part of the room leading to/from Great Bridge. Has a piston to lead Samus to a Morph Ball tunnel. | ||
| The grapple point above can be accessed from down here.""" | ||
| name = "Abandoned Worksite" | ||
| desc="Great Bridge Entrance" | ||
| exits_ = [ | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Great Bridge (Scan Panel Ledge)", | ||
| door=DoorCover.Light, | ||
| rule=lambda state, player: True | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Ledge Great Bridge Side)", | ||
| rule=lambda state, player: condition_or([ | ||
| # TODO: replace with can_ball_jump | ||
| can_lay_bomb(state, player), # either navigate the morph puzzle | ||
|
hopesgit marked this conversation as resolved.
|
||
| can_use_grapple_beam(state, player) # or grapple from the floor to the ledge next to the morph tunnel | ||
| ]) | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Pickup Ledge)", | ||
| rule=lambda state, player: condition_or([ | ||
| state.has("Grapple Beam", player), # you can just grapple up there from the floor | ||
| condition_and([ | ||
| has_trick_enabled(state, player, "Torvus Bog - Abandoned Worksite | BSJ to Pickup Ledge"), | ||
| can_lay_bomb(state, player), | ||
| state.has("Space Jump Boots", player) | ||
| ]), | ||
| ]) | ||
| ) | ||
| ] | ||
|
|
||
|
|
||
| class AbandonedWorksite_LedgeForgottenBridgeSide(MetroidPrime2Region): | ||
| """The ledge on the Forgotten Bridge side of the room, joined to the Great Bridge side of the room by a Morph Ball tunnel.""" | ||
| name = "Abandoned Worksite" | ||
| desc="Ledge Forgotten Bridge Side" | ||
| exits_ = [ | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Forgotten Bridge Entrance)", | ||
| rule=lambda state, player: condition_or([ | ||
| can_lay_bomb(state, player), | ||
| state.has("Space Jump Boots", player), | ||
| can_use_screw_attack(state, player, is_nsj=True) | ||
| ]) | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Ledge Great Bridge Side)", | ||
| rule=lambda state, player: state.has("Morph Ball", player) | ||
| ) | ||
| ] | ||
|
|
||
|
|
||
| class AbandonedWorksite_LedgeGreatBridgeSide(MetroidPrime2Region): | ||
| """The ledge on the Great Bridge side of the room, joined to the Forgotten Bridge side of the room by a Morph Ball tunnel.""" | ||
| name = "Abandoned Worksite" | ||
| desc="Ledge Great Bridge Side" | ||
| exits_ = [ | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Pickup Ledge)", | ||
| rule=lambda state, player: condition_or([ | ||
| can_use_grapple_beam(state, player), | ||
| can_use_screw_attack(state, player), | ||
| condition_and([ | ||
| has_trick_enabled(state, player, "Torvus Bog - Abandoned Worksite | NSJ BSJ to Pickup Ledge"), | ||
| can_lay_bomb(state, player) # todo: swap to can_ball_jump | ||
| ]), | ||
| condition_and([ | ||
| has_trick_enabled(state, player, "Torvus Bog - Abandoned Worksite | NSJ SA to Pickup Ledge"), | ||
| can_use_screw_attack(state, player, is_nsj=True) | ||
| ]), | ||
| can_boost_jump(state, player, "Torvus Bog - Abandoned Worksite | Boost Jump to Pickup Ledge"), | ||
| condition_and([ | ||
| has_trick_enabled(state, player, "Torvus Bog - Abandoned Worksite | Roll Jump to Pickup Ledge"), | ||
| state.has_all(["Morph Ball", "Space Jump Boots"], player) | ||
| ]) | ||
| ]) | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Ledge Forgotten Bridge Side)", | ||
| rule=lambda state, player: state.has("Morph Ball", player) | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Great Bridge Entrance)", | ||
| rule=lambda state, player: True | ||
| ) | ||
| ] | ||
|
|
||
|
|
||
| class AbandonedWorksite_PickupLedge(MetroidPrime2Region): | ||
| """A ledge containing a pickup. Sits above the Great Bridge entrance and across from the ledge on the Great Bridge side.""" | ||
| name = "Abandoned Worksite" | ||
| desc="Pickup Ledge" | ||
| exits_ = [ | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Great Bridge Entrance)", | ||
| rule=lambda state, player: True | ||
| ), | ||
| MetroidPrime2Exit( | ||
| destination="Torvus Bog - Abandoned Worksite (Ledge Great Bridge Side)", | ||
| rule=lambda state, player: condition_or([ | ||
| can_use_grapple_beam(state, player), | ||
| can_use_screw_attack(state, player) | ||
| ]) | ||
| ) | ||
| ] | ||
|
|
||
| def __init__(self, region_name: str, player: int, multiworld: MultiWorld): | ||
| super().__init__(region_name, player, multiworld) | ||
|
|
||
| self.add_location( | ||
| name="Pickup (Missile Expansion)", | ||
| can_access=lambda state, player: True | ||
| ) | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.