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

[Bug] Fiery Fallout does not Check whether a Pokemon is Immune to Burns Before Attempting to Burn Them #5290

Open
Snailman11 opened this issue Feb 10, 2025 · 0 comments
Labels
Mystery Encounter Mystery Encounters and related work P2 Bug Minor. Non crashing Incorrect move/ability/interaction

Comments

@Snailman11
Copy link
Collaborator

Describe the bug

Fiery Fallout does not check whether a Pokemon has an unburnable ability before attempting to burn it. Upon inevitable failure, a "failure to burn" message plays and the Pokemon's Ability is not replaced by Heatproof.

Unburnable Abilities include: Comatose, Water Veil, Water Bubble, Shields Down (Active)

Link to Discord's Bug Report (fiery fallout comatose bug)
https://discord.com/channels/1125469663833370665/1328087748393046026

Reproduction

Begin with Togepi and Dewpider (Water Bubble), try until you roll the 50/50 for Dewpider to be targeted.

	STARTING_WAVE_OVERRIDE: 11,

	MYSTERY_ENCOUNTER_RATE_OVERRIDE: 255,

	MYSTERY_ENCOUNTER_OVERRIDE: MysteryEncounterType.FIERY_FALLOUT,

Expected behavior

It could probably be redirected to a Pokemon that can be burned and have their Ability changed.

In the case that no Pokemon on the Party exists that meets those two conditions, the text under the option could be changed to be ambiguous, and the effect failing to burn should be considered a formal case.

Screenshots / Videos

Image

Water Bubble, Heatproof not gained

freecompress-Water.Bubble.No.Change.mp4

Water Veil

freecompress-Water.Veil.mp4

Session export file

No response

User data export file

No response

Additional context

https://github.com/pagefaultgames/pokerogue/blob/f83ab00ce472511f346e4c6d914484b41c16436f/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts#L195C3-L199C35


        // Burn random member
        const burnable = nonFireTypes.filter(p => isNullOrUndefined(p.status) || isNullOrUndefined(p.status.effect) || p.status.effect === StatusEffect.NONE);
        if (burnable?.length > 0) {
          const roll = randSeedInt(burnable.length);
          const chosenPokemon = burnable[roll];
          if (chosenPokemon.trySetStatus(StatusEffect.BURN)) {
            // Burn applied
            encounter.setDialogueToken("burnedPokemon", chosenPokemon.getNameToRender());
            encounter.setDialogueToken("abilityName", new Ability(Abilities.HEATPROOF, 3).name);
            queueEncounterMessage(scene, `${namespace}:option.2.target_burned`);

            // Also permanently change the burned Pokemon's ability to Heatproof
            applyAbilityOverrideToPokemon(chosenPokemon, Abilities.HEATPROOF);

The ME attempts to exclude mons that can't get burned but does not consider abilities, only their type and if they already have a status. Which comatose makes weird
Then it tries to set the status. Which fails and causes the buggy message to appear (I assume)
And since it fails it doesn't give it the ability

-Moka

@Snailman11 Snailman11 added Mystery Encounter Mystery Encounters and related work P2 Bug Minor. Non crashing Incorrect move/ability/interaction labels Feb 10, 2025
@Snailman11 Snailman11 moved this from To triage to Ready in PokéRogue Bug Management Feb 10, 2025
@Snailman11 Snailman11 changed the title [Bug] Fiery Fallout does not Check if a Pokemon is Immune to Burns Before Attempting to Burn Them [Bug] Fiery Fallout does not Check whether a Pokemon is Immune to Burns Before Attempting to Burn Them Feb 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mystery Encounter Mystery Encounters and related work P2 Bug Minor. Non crashing Incorrect move/ability/interaction
Projects
Status: Ready
Development

No branches or pull requests

1 participant