Fix: Own Dungeon items using vanilla GI in suffled boss rooms#2859
Conversation
|
I'm willing to approve this for now, but part of me is wondering if we shouldn't just always return the keysanity keys/maps/compasses. Seems like it's creating a lot of extra work for not much gain. I feel like there was a reason we didn't do that but I don't recall what it was at this point. |
Yeah we discussed it briefly back when we introduced the coloured keys, and decided to keep it vanilla as there was some concern some people might prefer the vanilla text when it isn't needed and that it might feel strange to some that keys that are functionally equivalent to vanilla would suddenly be colored. I'd be OK with just always using the randomizer specific keys, but I don't know how players feel about it. That said, I'd say it's good to get this in and PR the switch later if we desire, just so we have this fixed asap. CC @briaguya because I'm relatively certain he was part of the discussion back then as well |
|
Yeah, I prefer vanilla when not shuffled. "You got the forest temple boss key" when in the forest temple and not having them shuffled outside of the forest temple just feels odd to me. Same with "ordinary vs masterful" when already in the dungeon and not shuffled outside. Same with colored keys when in the dungeon and not shuffled outside. I feel like an ideal architecture for this would be using the keysanity versions but having logic in one spot to conditionally display the extra text and use the colored models etc. |
|
OK, my memory has been jogged then. I'll merge this one for now since there seems to be more discussion needed on any other potential fixes. |
When Own Dungeon items are set, we use vanilla GI values instead of the rando equivalent since the vanilla item give behavior can be used. This breaks when boss rooms are shuffled, causing keys/maps/compasses assigned to boss heart containers to apply to the wrong dungeon.
To address this, I've added a check on Own Dungeon item to also check that boss rooms aren't shuffled. Otherwise the rando GI will be used instead. e.g.
vanilla = if Own Dungeon && Boss Shuffle offBuild Artifacts