pagefaultgames / pokerogue

A browser based Pokémon fangame heavily inspired by the roguelite genre.
https://pokerogue.net
GNU Affero General Public License v3.0
4.36k stars 1.75k forks source link

Mystery Encounters beta bugs/breakfix #4240

Open ben-lear opened 4 days ago

ben-lear commented 4 days ago

Please add any bugs, session saves, screenshots, logs, etc. here in comments so they can be tracked under a single issue


Edit: Please continue reporting new issues in #4300 4300

ben-lear commented 4 days ago

Add better filtering for Clowning Around/Weird Dream in Challenge modes. They should be disabled in monotype/monogen, but be enabled in things like fresh start.

innerthunder commented 4 days ago

In enemy-command-phase.ts: the enemy AI unnecessarily evaluates their moveset when forced to skip their turn by an ME (see the Fun and Games encounter). Not necessarily incorrect behavior, just inefficient.

/** Select a move to use (and a target to use it against, if applicable) */
const nextMove = enemyPokemon.getNextMove(); // this shouldn't be run when forced to skip turns

this.scene.currentBattle.turnCommands[this.fieldIndex + BattlerIndex.ENEMY] =
    { command: Command.FIGHT, move: nextMove, skip: this.skipTurn };
ben-lear commented 3 days ago

image

Fun and Games is overriding 0th index pokemon if you choose a different mon for the minigame

ben-lear commented 3 days ago

https://discord.com/channels/1125469663833370665/1280631406715863243/1284381915230634076

Normal wild floor was replaced with a ME on reload

CodeTappert commented 3 days ago

On Beta (in Shop): image ME: image

same text but the button does not seem to be set to a correct position

ben-lear commented 3 days ago

image

Update language on option tooltip to accurately describe Trash to Treasure effects

ben-lear commented 3 days ago

image

disable lock rarities button when rerolls disabled

ben-lear commented 3 days ago

May want to disallow seeing the same encounter twice or more for ALL encounters. This is a balance decision though.

ben-lear commented 3 days ago

Another balance thing: Macho Brace might be a bit weak atm

ben-lear commented 3 days ago

https://github.com/pagefaultgames/pokerogue/blob/783b9d85ee65ac22806d5a216dc11dca3857fdae/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts#L222

All wonder trades are Burmy atm

PigeonBar commented 3 days ago

[P3 Bug] In "Mysterious Chest", if you roll the unlucky option and it triggers a game over, then you click "Yes" to the "retry battle" option, the opened chest sprite stays loaded.

https://github.com/user-attachments/assets/f6421dc3-fa57-42cc-b807-1ae2a7de90a1

ben-lear commented 3 days ago

https://github.com/pagefaultgames/pokerogue/blob/783b9d85ee65ac22806d5a216dc11dca3857fdae/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts#L57

enemyLevels calcs are bugged and changing on refresh for a few encounters.

ben-lear commented 3 days ago

GTS trade results do not count as catches for player dex atm, and probably should (pending balance)

CodeTappert commented 3 days ago

image If the pokemon you do "Light Tranining" in "training session" with already has 31IVs on all stats it gives this weird thing...

Also you can choose a pokemon with no second ability (only 1 possible) as heavy training...Which doesnt makes sense)

CodeTappert commented 3 days ago

The Shady Vitamin Dealer Event doesnt gives you the shop afterwards

CodeTappert commented 3 days ago

image Titles of Gym Leaders still are wrongly capitalized. It tries to translate the already translated title...

PigeonBar commented 3 days ago

[P2 Bug?] In "Mysterious Chest", defeating Gimmighoul also doesn't give the shop afterwards

https://github.com/user-attachments/assets/ae4bc044-e062-45f6-be17-27fe6be012cc

PigeonBar commented 3 days ago

(Originally in https://discord.com/channels/1125469663833370665/1281859097481711648/1284219054126534709, bug is still active)

[P3 Bug?] If you already have 99 eggs in your egg list, and an ME rewards you with another egg, it can allow you to have over 99 eggs.

Screenshot 2024-09-13 142533

CodeTappert commented 3 days ago

image The sprite dont show sometimes

ben-lear commented 3 days ago

image

should refactor “catch” logic to be the same as existing and have a SUMMARY option to view pokemon details

Opaque02 commented 3 days ago

I can't prove this with certainty but in my run it felt like I hit 5-6 shady salesmen. I may have also had 3-4 of a few other MEs too, but would need to check. My run's save file is here

PigeonBar commented 3 days ago

(Edit: I was only able to reproduce this while playing using a server (i.e., VITE_BYPASS_LOGIN=0), and only when clicking "Save and Quit", not refreshing.)

(Edit 2: It seems that a fix in is progress: https://github.com/pagefaultgames/rogueserver/pull/52.)

[P2 Bug] I think mysteryEncounterSaveData.encounteredEvents is somehow getting incorrectly reset when reloading the game. This causes the check for "do not spawn an ME within 3 waves of another ME" to fail, which can cause a wild encounter to be replaced by an ME when reloading the game.

Screenshot before reload:

Screenshot 2024-09-14 122038

Screenshot after reload:

Screenshot 2024-09-14 122118

My added console.log() statement for checking mysteryEncounterSaveData.encounteredEvents:

Screenshot 2024-09-14 105911

damocleas commented 3 days ago

image 'Fight or Flight' seems to attempt to stat increase its'... Max HP

damocleas commented 3 days ago

'An Offer You Can't Refuse' should probably not refer to any pokemon as a 'pet', this can lead to uncomfortable scenarios as I ran into yesterday where a child looking character can refer to a Gardevoir and such

Balance related, this event seems a bit weak considering you usually drop your best pokemon entirely.

CodeTappert commented 3 days ago

image SURF and FLY here arent translated (they are just given as that strings in the placeholders instead of using the translated move name)

Fix would be replacing

    encounter.setDialogueToken("option1RequiredMove", Moves[OPTION_1_REQUIRED_MOVE]);
    encounter.setDialogueToken("option2RequiredMove", Moves[OPTION_2_REQUIRED_MOVE]);

with

    encounter.setDialogueToken("option1RequiredMove", i18next.t(`move:${Moves[OPTION_1_REQUIRED_MOVE].toLowerCase()}.name`));
    encounter.setDialogueToken("option2RequiredMove", i18next.t(`move:${Moves[OPTION_2_REQUIRED_MOVE].toLowerCase()}.name`));

in lost-at-sea-encounter.ts

CodeTappert commented 3 days ago

The outro in "the-strong-stuff seems to be never called?

CodeTappert commented 3 days ago

In "The Winstrates" the name of the trainers are not correctly loaded from the localization files. It shows the english names (but the translates title) image

damocleas commented 3 days ago

After catching the Gimmighoul in "Mysterious Chest" it pauses awkwardly and then moves to the next wave with no end screen

ben-lear commented 3 days ago

Some issues with absolute avarice. https://discord.com/channels/1125469663833370665/1284608904906407976

Blitz425 commented 3 days ago

image

Small thing but it shows "Gain a Gastly with its Hidden Ability!" despite not having one

Blitz425 commented 3 days ago

Small thing but it shows "Gain a Gastly with its Hidden Ability!" despite not having one

image Follow up, it actually adds the ability button on starter select though pressing it does nothing

damocleas commented 3 days ago

It seems during the Winstrate Challenge and similar events you can use pickup against the trainer mons (as this is normal behavior) but it allows you to get their items like leftovers for free multiple times

ben-lear commented 3 days ago

Discussion link for Pokemon salesman HA issue: https://discord.com/channels/1125469663833370665/1229525892624154684/1284626118866898944

Setting item transferability for Winstrates is on the TODO list.

Blitz425 commented 3 days ago

Got "A Trainer's Test", on reload it turned into a different ME image

image

Snailman11 commented 3 days ago

Softlock for "Uncommon Breed"

(Beta) "Uncommon Breed" softlocks when giving it food and denying it space in the party

https://discord.com/channels/1125469663833370665/1284675181582880861

Blitz425 commented 3 days ago

It looks like GTS always gives the same thing for Wonder Trade?

PigeonBar commented 3 days ago

[P2 Bug] Dark Deal has the same randSeedInt(100) issue that Mysterious Chest originally had. (I'm sure players will appreciate the buffed 6% chance to be able to catch a 9-cost legendary :) )

image

PigeonBar commented 2 days ago

[P2 Bug?] In challenge modes, the Dark Deal encounter can choose to sacrifice a Pokemon that would normally be ineligible for the challenge. This is probably unintended because challenge modes normally treat ineligible Pokemon as if they do not exist in your party.

(Edit: This also applies to other ME's, including Mysterious Chest (unlucky option KO) and An Offer You Can't Refuse.)

For my example, I am playing a mono-Water challenge, and the encounter chose to sacrifice Victreebel:

https://github.com/user-attachments/assets/7d92e4ba-26f8-4b4a-88cb-968b392570d2

Snailman11 commented 2 days ago

"The Pokemon Salesman" Game Crash

(Beta) Game Crash after picking up Pokémon from "The Pokémon Salesman" and not adding to team

https://discord.com/channels/1125469663833370665/1284804713392373800

Snailman11 commented 2 days ago

Black Sludge Doesn't Actually multiply shop prices

Black Sludge ME Text needs to be updated, localized

When Obtained in a second ME, Sludge fails to stack and Pokeballs are awarded instead.

Pokerogue BETA Black sludge bug

https://discord.com/channels/1125469663833370665/1284914742321877002

jgardin commented 2 days ago
image

After fortune teller transformed the team of pokemon into their "past" selves, the HP/status bar disappeared. After using the move recover, the game froze

PigeonBar commented 2 days ago

In "Mysterious Chest", if you roll the unlucky option and it triggers a game over, then you click "Yes" to the "retry battle" option, the opened chest sprite stays loaded.

20240914.Mysterious.Chest.Faint.mp4

[P3 Bug] Update: The opened chest sprite stays loaded even when you advance to the next wave:

20240915 Opened Chest

damocleas commented 2 days ago

If possible, please remove your own pokemon that you fight in "Training Session" or other relevant ones from updating your "Seen" count.

And please remove Mythicals from any ME's, particularly "Dark Deal" still has some possible, discuss on discord about how best to go about this, to me seems it should just be random if there are no types available.

ben-lear commented 2 days ago

Trash to Treasure, Bug-Type Superfan, Shuckle encounter all need to be 1 time spawn only.

PigeonBar commented 2 days ago

(Maybe not a bug?) The Slumbering Snorlax encounter is intended to have Snorlax be asleep for a few extra turns, but this does not occur if Snorlax is generated with a Lum Berry held item:

https://github.com/user-attachments/assets/23b1a0a4-8a07-46a6-8880-73871ee206fe

PigeonBar commented 2 days ago

Also, the Snorlax treats Sleep Talk with a score of 0, even when it is asleep. This prevents Snorlax from using Sleep Talk, which makes this ME much easier.

20240915 No Sleep Talk

PigeonBar commented 2 days ago

[P2 Bug] In Training Session, it appears that if you choose to train a Pokemon that is holding stacks of held items, then:

  1. When the Pokemon moves to the opponent's side, its held items get reduced to stacks of 1.
  2. When the Pokemon returns to your party, its held items disappear completely.

https://github.com/user-attachments/assets/2792600d-7ca8-41e5-9c75-d1a45653ec08

star-krieg commented 2 days ago

Similar case of higher levels upon resetting. Without resetting, the Bronzong's level is 43. Loading the session data here should result in a level 64 Bronzong.

image

sessionData1_starkrieg_live_BerriesAbound.txt

PigeonBar commented 1 day ago

[P1.5 Bug?] In Training Session, if you successfully flee from the battle, it will cause you to lose the Pokemon that you chose to train:

https://github.com/user-attachments/assets/e8191ae8-e725-44af-9fac-5f646deb990f

PigeonBar commented 1 day ago

Just as a QoL, would it be possible for Training Session to indicate which natures and abilities you have already unlocked for the Pokemon that you choose to train?