-
Notifications
You must be signed in to change notification settings - Fork 842
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
LADX: Add more specific "item icon guessing" support for some games #4706
base: main
Are you sure you want to change the base?
LADX: Add more specific "item icon guessing" support for some games #4706
Conversation
It doesn't really hurt to be here I guess, but fwiw, the flower item in DKC3 is never actually existent as an item, and very likely never will be. |
I saw the name in the DKC3 Items.py file, then I looked it up on MarioWiki and saw it was a flower. I just checked the actual Rules.py file for the DKC3 world now. It seems like the trade sequence got dummied out as check locations some time ago... I'm sorry, I didn't know! |
I would recommend adding "skull key" -> NIGHTMARE_KEY (e.g. |
Looks good, I'll give it a quick test later |
"Wallet": "MAGIC_POWDER", | ||
"Medallion": "PIECE_OF_POWER", | ||
"Kokiri Emerald": "RUPEES_500", | ||
"Goron Ruby": "RUPEES_500", | ||
"Zora Sapphire": "RUPEES_500", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you explain these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- The Wallets in OoT look like a bag in their item model, that's mostly my reason. I guess I tended to use more literal interpretations of the sprites.
- The dungeon Medallions are big, progression-y dungeon rewards, so I felt it made sense to have them be rendered as PIECE_OF_POWER.
- The RUPEES_500 sprite is also assigned to "GEM" and "JEWEL" items. The Spiritual Stones are also decently big progression items that open the Temple of Time in base OoT. Really it could go either way as RUPEES_500 or PIECE_OF_POWER; I have no qualms if you want to change it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I support targeting look over function, that was my mindset for other mappings.
# Key Items | ||
|
||
"Old Amber": "STONE_BEAK", # Aerodactyl's fossil should still be a fossil | ||
"Coin Case": "MAGIC_POWDER", # This shouldn't spawn as RUPEES |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't a Coin case make more sense as rupees? Why Magic Powder?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm using the MAGIC_POWDER as a generic "sack" sprite here. The Coin Case is for casino chips in the Celadon Game Corner, not full of immediately useful money.
worlds/ladx/ItemIconGuessing.py
Outdated
"Bike Voucher": "TRADING_ITEM_LETTER", | ||
"Oak's Parcel": "TRADING_ITEM_LETTER", | ||
"Pass": "TRADING_ITEM_LETTER", # Safari Pass | ||
"Ticket": "TRADING_ITEM_LETTER", # SS Ticket |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Partial matching should still catch this, as @threeandthreee mentioned above.
# Key Items | ||
|
||
"Old Amber": "STONE_BEAK", # Aerodactyl's fossil should still be a fossil | ||
"Coin Case": "MAGIC_POWDER", # This shouldn't spawn as RUPEES |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's the same story here as Red/Blue: I feel like the "case" part is more important than the "coin" part.
worlds/ladx/ItemIconGuessing.py
Outdated
# Armor | ||
"Bandana": "POWER_BRACELET", | ||
"Belt": "POWER_BRACELET", | ||
"Anklet": "POWER_BRACELET", | ||
"Trinket": "POWER_BRACELET", | ||
"Charm": "POWER_BRACELET", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is Armor a Power Bracelet and not Armor as in Blue Tunic / Red Tunic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my defense, "Armor" in Kingdom Hearts 2 is a bit of a misnomer here. Some of the names used for Armor in KH2 already hit the synonyms used for POWER_BRACELET (like BAND and BANGLE), and the armor items are more "accessories" than sets of armor.
Plus, "accessories" and "armor" are two separate classes of item in KH2. This change is more of a consistency thing to make sure all KH2 armor gets rendered as POWER_BRACELET.
Perhaps it would be more elegant to have all the "armor" render as BLUE_TUNIC and the "accessories" render as POWER_BRACELET?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just remembered I set the badges in Superstar Saga as TRADE_ITEM_RIBBON, maybe that would work better for "accessories"? And the "armor" could be rendered as BLUE_TUNIC?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds like a good change to me
"Three Wishes": "SWORD", | ||
"Fairy Harp": "SWORD", | ||
"Pumpkinhead": "SWORD", | ||
"Crabclaw": "SWORD", |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Crabclaw" is a Keyblade you obtain in Atlantica, it's more a sword than a claw in my opinion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gave it a little test, seems good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just adding more names to the list, so no real issue here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I'm pretty sure it's going to fail to match these because they aren't uppercase. You can either make them uppercase or in __init__.py
change the phrase matching (line 445) to this:
for phrase, icon in phrases.items():
if phrase.upper() in uppered:
return icon
What is this fixing or adding?
Added more specific "item icon guessing" support for some games, including:
These fixes are mostly fluff, but the consistency for graphics between games is nice.
How was this tested?
This branch has not changed anything re: generating or playing, only how item icons are decided during generation. No errors were created by Python when I tried to run the changed file, so there should be no errors in formatting either.