mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-19 22:09:27 +02:00
Merge pull request #1 from MokaStitcher/candy
Fix ME tests + Clowning Around Soothe Bell logic
This commit is contained in:
commit
8c3bd797c8
@ -276,6 +276,8 @@ export const ClowningAroundEncounter: MysteryEncounter =
|
||||
generateItemsOfTier(scene, mostHeldItemsPokemon, numBerries, "Berries");
|
||||
|
||||
// Shuffle Transferable held items in the same tier (only shuffles Ultra and Rogue atm)
|
||||
// For the purpose of this ME, Soothe Bells and Lucky Eggs are counted as Ultra tier
|
||||
// And Golden Eggs as Rogue tier
|
||||
let numUltra = 0;
|
||||
let numRogue = 0;
|
||||
items.filter(m => m.isTransferable && !(m instanceof BerryModifier))
|
||||
@ -285,7 +287,7 @@ export const ClowningAroundEncounter: MysteryEncounter =
|
||||
if (type.id === "GOLDEN_EGG" || tier === ModifierTier.ROGUE) {
|
||||
numRogue += m.stackCount;
|
||||
scene.removeModifier(m);
|
||||
} else if (type.id === "LUCKY_EGG" || tier === ModifierTier.ULTRA) {
|
||||
} else if (type.id === "LUCKY_EGG" || type.id === "SOOTHE_BELL" || tier === ModifierTier.ULTRA) {
|
||||
numUltra += m.stackCount;
|
||||
scene.removeModifier(m);
|
||||
}
|
||||
@ -456,7 +458,6 @@ function generateItemsOfTier(scene: BattleScene, pokemon: PlayerPokemon, numItem
|
||||
[ modifierTypes.LEFTOVERS, 4 ],
|
||||
[ modifierTypes.SHELL_BELL, 4 ],
|
||||
[ modifierTypes.SOUL_DEW, 10 ],
|
||||
[ modifierTypes.SOOTHE_BELL, 3 ],
|
||||
[ modifierTypes.SCOPE_LENS, 1 ],
|
||||
[ modifierTypes.BATON, 1 ],
|
||||
[ modifierTypes.FOCUS_BAND, 5 ],
|
||||
|
@ -266,6 +266,9 @@ describe("Clowning Around - Mystery Encounter", () => {
|
||||
// 5 Lucky Egg on lead (ultra)
|
||||
itemType = generateModifierType(scene, modifierTypes.LUCKY_EGG) as PokemonHeldItemModifierType;
|
||||
await addItemToPokemon(scene, scene.getPlayerParty()[0], 5, itemType);
|
||||
// 3 Soothe Bell on lead (great tier, but counted as ultra by this ME)
|
||||
itemType = generateModifierType(scene, modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType;
|
||||
await addItemToPokemon(scene, scene.getPlayerParty()[0], 3, itemType);
|
||||
// 5 Soul Dew on lead (rogue)
|
||||
itemType = generateModifierType(scene, modifierTypes.SOUL_DEW) as PokemonHeldItemModifierType;
|
||||
await addItemToPokemon(scene, scene.getPlayerParty()[0], 5, itemType);
|
||||
@ -286,7 +289,7 @@ describe("Clowning Around - Mystery Encounter", () => {
|
||||
const rogueCountAfter = leadItemsAfter
|
||||
.filter(m => m.type.tier === ModifierTier.ROGUE)
|
||||
.reduce((a, b) => a + b.stackCount, 0);
|
||||
expect(ultraCountAfter).toBe(10);
|
||||
expect(ultraCountAfter).toBe(13);
|
||||
expect(rogueCountAfter).toBe(7);
|
||||
|
||||
const secondItemsAfter = scene.getPlayerParty()[1].getHeldItems();
|
||||
|
@ -18,6 +18,7 @@ import { TheExpertPokemonBreederEncounter } from "#app/data/mystery-encounters/e
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { EggTier } from "#enums/egg-type";
|
||||
import { PostMysteryEncounterPhase } from "#app/phases/mystery-encounter-phases";
|
||||
import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#app/data/balance/starters";
|
||||
|
||||
const namespace = "mysteryEncounters/theExpertPokemonBreeder";
|
||||
const defaultParty = [ Species.LAPRAS, Species.GENGAR, Species.ABRA ];
|
||||
@ -182,7 +183,10 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => {
|
||||
await game.phaseInterceptor.to(PostMysteryEncounterPhase);
|
||||
|
||||
const friendshipAfter = scene.currentBattle.mysteryEncounter!.misc.pokemon1.friendship;
|
||||
expect(friendshipAfter).toBe(friendshipBefore + 20 + 2); // +2 extra for friendship gained from winning battle
|
||||
// 20 from ME + extra from winning battle (that extra is not accurate to what happens in game.
|
||||
// The Pokemon normally gets FRIENDSHIP_GAIN_FROM_BATTLE 3 times, once for each defeated Pokemon
|
||||
// but due to how skipBattleRunMysteryEncounterRewardsPhase is implemented, it only receives it once)
|
||||
expect(friendshipAfter).toBe(friendshipBefore + 20 + FRIENDSHIP_GAIN_FROM_BATTLE);
|
||||
});
|
||||
});
|
||||
|
||||
@ -261,7 +265,7 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => {
|
||||
await game.phaseInterceptor.to(PostMysteryEncounterPhase);
|
||||
|
||||
const friendshipAfter = scene.currentBattle.mysteryEncounter!.misc.pokemon2.friendship;
|
||||
expect(friendshipAfter).toBe(friendshipBefore + 20 + 2); // +2 extra for friendship gained from winning battle
|
||||
expect(friendshipAfter).toBe(friendshipBefore + 20 + FRIENDSHIP_GAIN_FROM_BATTLE); // 20 from ME + extra for friendship gained from winning battle
|
||||
});
|
||||
});
|
||||
|
||||
@ -340,7 +344,7 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => {
|
||||
await game.phaseInterceptor.to(PostMysteryEncounterPhase);
|
||||
|
||||
const friendshipAfter = scene.currentBattle.mysteryEncounter!.misc.pokemon3.friendship;
|
||||
expect(friendshipAfter).toBe(friendshipBefore + 20 + 2); // +2 extra for friendship gained from winning battle
|
||||
expect(friendshipAfter).toBe(friendshipBefore + 20 + FRIENDSHIP_GAIN_FROM_BATTLE); // 20 + extra for friendship gained from winning battle
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user