alttp_vt_randomizer icon indicating copy to clipboard operation
alttp_vt_randomizer copied to clipboard

Fairy Fountains can't give back empty Bottles in non Entrance Randomizers.

Open MichaelK-UnderscoreUnderscore opened this issue 5 years ago • 3 comments

Randomizer.php#L650-L666 World.php#L771-L791

Currently setFountain() in Randomizer.php gives getBottle() true as parameter.

getBottle therefor skips the Empty Bottle as part of the possible return values.

According to Christos in Discord, Empty Bottle should be included in the Pool for the Fairy Fountains:

ChristosOwen Today at 1:00 PM

Should be in non-ER too, if it’s not that’s a bug! Intention was an equal probability of all bottled rewards, including empty

In getBottle(), looks like Item::get('Bottle', $this) has been added to the possible outcomes. Shouldn't this be resolved then?

MarcyAugust avatar Sep 08 '20 01:09 MarcyAugust

There are 2 things that make getBottle not use the full list. Hard/expert item functionality excludes the last item (fairy refill), and the true parameter excludes the first item (empty).

compiling avatar Sep 08 '20 01:09 compiling

I think this could be solved by checking where the bottle is actually coming from, if there's a current way to determine if the bottle being given is coming directly from a fairy or not, to which then there would be no need for "$filled ? 1 : 0" to be the minimum for this.

Or could this just be rewritten as a new function, something like getBottleFairy(), that specifically is made to handle fairy bottles, which would just set the minimum for the returned bottle to 0?

I'm guessing with the logic rewrite that this probably isn't something necessarily that needs to be fixed right now though.

MarcyAugust avatar Sep 08 '20 01:09 MarcyAugust

The new work should not have this problem with the Bottle fairies.

sporchia avatar Jul 24 '23 22:07 sporchia