Skip to content
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

Spelunker: Implement New Game #3282

Open
wants to merge 37 commits into
base: main
Choose a base branch
from

Conversation

PinkSwitch
Copy link
Contributor

@PinkSwitch PinkSwitch commented May 9, 2024

What is this fixing or adding?

Implements 'Spelunker' for the NES into AP.

How was this tested?

Technically hasn't been run publicly yet, but I've done personal tests to make sure everything is working, and given how long it takes for PRs to get reviewed, I'm sure if any issues come up I'll be able to fix them while reviews come on. Overall, the world is very small so I don't expect there to be too many problems, if any, and I've already caught the major ones that I've found.

If this makes graphical changes, please attach screenshots.

spelunker_scrn
Sprites courtesy of Seafo

Author's Note:
tis a silly game, made a micro apworld in a 3 day timespan lol

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label May 9, 2024
Copy link
Collaborator

@Zunawe Zunawe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few quick client improvements while I've got a few minutes. Didn't test any of the suggested changes.

worlds/spelunker/Client.py Outdated Show resolved Hide resolved
worlds/spelunker/Client.py Outdated Show resolved Hide resolved
worlds/spelunker/Client.py Outdated Show resolved Hide resolved
worlds/spelunker/Client.py Show resolved Hide resolved
return
if "tags" not in args:
return
if "DeathLink" in args["tags"] and args["data"]["source"] != ctx.slot_info[ctx.slot].name:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This means that two players playing on the same slot won't send deathlinks to each other. If you don't care about supporting that, don't worry about it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have to think on this one.

worlds/spelunker/Client.py Outdated Show resolved Hide resolved
worlds/spelunker/Client.py Outdated Show resolved Hide resolved
worlds/spelunker/Client.py Outdated Show resolved Hide resolved
worlds/spelunker/Client.py Outdated Show resolved Hide resolved
@Exempt-Medic Exempt-Medic added the is: new game Pull requests for implementing new games into Archipelago. label May 9, 2024
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
Copy link
Collaborator

@ScipioWright ScipioWright left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like you've learned a lot from the Yoshi's Island one, every comment here is fairly minor.

worlds/spelunker/__init__.py Outdated Show resolved Hide resolved
worlds/spelunker/Items.py Outdated Show resolved Hide resolved
worlds/spelunker/Locations.py Outdated Show resolved Hide resolved
option_cave_3 = 2
option_cave_4 = 3
default = 0

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would recommend adding StartInventoryPool here too.

Add StartInventoryPool to your imports from Options, then put start_inventory_from_pool: StartInventoryPool in your options dataclass.

worlds/spelunker/Rules.py Outdated Show resolved Hide resolved
worlds/spelunker/docs/en_Spelunker.md Show resolved Hide resolved
worlds/spelunker/docs/setup_en.md Outdated Show resolved Hide resolved
worlds/spelunker/docs/setup_en.md Outdated Show resolved Hide resolved
worlds/spelunker/docs/setup_en.md Outdated Show resolved Hide resolved
worlds/spelunker/local_data.py Outdated Show resolved Hide resolved
@ScipioWright
Copy link
Collaborator

ScipioWright commented May 9, 2024

Oh yeah, also update CODEOWNERS and the AP README

@PinkSwitch
Copy link
Contributor Author

I’ll address all these tonight!

Copy link
Collaborator

@ScipioWright ScipioWright left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple more things

worlds/spelunker/Locations.py Show resolved Hide resolved
worlds/spelunker/Rules.py Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: new game Pull requests for implementing new games into Archipelago. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants