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] Primordial Sea does not always trigger #1843

Open
Terrorforge opened this issue Jun 5, 2024 · 10 comments
Open

[BUG] Primordial Sea does not always trigger #1843

Terrorforge opened this issue Jun 5, 2024 · 10 comments
Labels
Bug Something isn't working

Comments

@Terrorforge
Copy link
Contributor

Describe the bug

While playing Endless primarily using Primal Kyogre, I've noticed that Primordial Sea periodically stops working. The effect is gone from the fly-out and there's no indicator at the end of the turn.

This usually seems to be associated with changing the biome. Just now it happened when I got out of the wave 1750 Eternatus fight, earlier it happened when I entered the Volcano biome, and it's been happening periodically in all sorts of other biomes.

To Reproduce

  1. Play Endless with Primal Kyogre
  2. (optional) get Electro Shot onto it by fusing and unfusing with Archaludon. this helps because if you're using it all the time you really notice when the rain is gone.
  3. Keep playing until the rain randomly(?) disappears

Expected behavior

It's not supposed to be possible to stop Primordial Sea from being active while Kyogre is on the field, except when replaced by Desolate Land or Delta Stream.

Screenshots / Videos
image
Here I've just defeated Eternatus on wave 1750, and when entering the Beach biome for wave 1751 Primordial Sea has not triggered.

Here's the session data at the above screenshot:
sessionData_Terrorforge_PrimordialSea.zip

Device

Chrome on PC

Additional context

This seems like it might be connected to a similar issue I experienced with Hadron Engine, reported in #1688

@Terrorforge Terrorforge added the Bug Something isn't working label Jun 5, 2024
@Terrorforge
Copy link
Contributor Author

Just got dropped in the Lake biome on wave 1841. The fly-out listed "heavy rain" as being active, but when I pressed Electro Shot, it had a charge turn. When I regained control, the fly-out no longer listed any weather conditions.

Wondering if this is related to entering a biome that normally has a permanent weather effect. It crapped out on the Graveyard too, which has fog.

@Terrorforge
Copy link
Contributor Author

Moved to Lake biome on wave 1934. Heavy Rain said to be active by flyout and got the end-of-turn message, but Electro Shot still required a turn to charge.

@Terrorforge
Copy link
Contributor Author

Happened again exactly the same on wave 1968

@c4vv
Copy link
Contributor

c4vv commented Jun 7, 2024

I'm unable to recreate the issue:

  • Loading the session file causes Heavy Rain to work correctly
  • Tried using the seed to recreate a new run starting before 1751, to have the Biome change related triggers work, and Heavy Rain worked correctly upon loading the Biome

I'll try doing my own run with Groudon to look for more clues as to how to recreate the bug

@vehumet
Copy link

vehumet commented Jun 10, 2024

I'm experiencing same bug for electric field with Miraidon, in infinite mode. (Not sure in classic mode)
The bugs are as follows;

  1. When electiric field is active, F5 and reload session. Then electric field is removed.
  2. When biome is changed and Miraidon returns/get out from the ball
    • Select yes when be asked to change Pokemon, then cancel: Electric field is not activated.
    • Select no to the dialogue: Electric field is activated.

@vehumet
Copy link

vehumet commented Jun 10, 2024

pokerogue_bug_terrain_biome_normal.mp4

Changed biome, select no to pokemon change dialog. Electric field is activated.

pokerogue_bug_terrain_biome_not_triggered.mp4

Changed biome, select yes to pokemon change dialog then cancel. Electric field is not activated.
(Whether it is double battle or not is not related)

pokerogue_bug_terrain_restart_removed.mp4

When electric field has duration less than 5, restart session. Electric field is removed.
If the duration was 5 (just activated), the terrain remains.

@Terrorforge
Copy link
Contributor Author

I'm stupid. All those instance where Electro Shot failed to trigger in the Lake biome were because I was up against a Golduck, presumably with Cloud Nine.

Other problems remain, though.

@Volbla
Copy link

Volbla commented Jun 13, 2024

It doesn't seem like trySetWeather in arena.ts actually checks if the current weather is immutable before overwriting it. Is that the bug or does that check happen somewhere else?

edit: Weather checking abilities do check it, but environmental weathers in phases.ts do not. Maybe it's better to handle that entirely in trySetWeather?

@vehumet
Copy link

vehumet commented Jun 13, 2024

The bug that terrain was removed after reloading session is fixed a little ago. I'm not sure which commit affected it.
The bug related to entering pokemon change page still remains.

@Arxalc
Copy link
Contributor

Arxalc commented Jun 21, 2024

It seems that the game will look at the last battle to determine whether it is currently a new biome or not. But because you reload, that information isn't available anymore, so it'll always assume you're in the middle of encounters and won't call postSummonPhase (and postSummon abilities) again.

I think you'd need to track isNewBiome in session data and check against that to determine whether to call a postSummonPhase on reload. I can't figure out how it's saving session data to do that though...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants