mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-04 05:39:39 +02:00
Compare commits
5 Commits
d374c06a21
...
6547490d5f
Author | SHA1 | Date | |
---|---|---|---|
|
6547490d5f | ||
|
7316628448 | ||
|
554b154e8b | ||
|
028bc1ed1a | ||
|
c657e61312 |
@ -82,7 +82,7 @@ export const ATrainersTestEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
encounter.dialogue.intro = [
|
encounter.dialogue.intro = [
|
||||||
{
|
{
|
||||||
speaker: `trainerNames:${trainerNameKey}`,
|
speaker: `trainerNames:${trainerNameKey}`,
|
||||||
text: `${namespace}:${trainerNameKey}.intro_dialogue`,
|
text: `${namespace}:${trainerNameKey}.introDialogue`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
encounter.options[0].dialogue!.selected = [
|
encounter.options[0].dialogue!.selected = [
|
||||||
|
@ -237,7 +237,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
modifierConfigs: bossModifierConfigs,
|
modifierConfigs: bossModifierConfigs,
|
||||||
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
||||||
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
||||||
queueEncounterMessage(`${namespace}:option.1.boss_enraged`);
|
queueEncounterMessage(`${namespace}:option.1.bossEnraged`);
|
||||||
globalScene.phaseManager.unshiftNew(
|
globalScene.phaseManager.unshiftNew(
|
||||||
"StatStageChangePhase",
|
"StatStageChangePhase",
|
||||||
pokemon.getBattlerIndex(),
|
pokemon.getBattlerIndex(),
|
||||||
@ -300,7 +300,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
globalScene.addModifier(seedModifier, false, false, false, true);
|
globalScene.addModifier(seedModifier, false, false, false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
queueEncounterMessage(`${namespace}:option.1.food_stash`);
|
queueEncounterMessage(`${namespace}:option.1.foodStash`);
|
||||||
};
|
};
|
||||||
|
|
||||||
setEncounterRewards({ fillRemaining: true }, undefined, givePartyPokemonReviverSeeds);
|
setEncounterRewards({ fillRemaining: true }, undefined, givePartyPokemonReviverSeeds);
|
||||||
|
@ -71,7 +71,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB
|
|||||||
text: `${namespace}:intro`,
|
text: `${namespace}:intro`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
@ -152,7 +152,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`,
|
disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
|
@ -254,7 +254,7 @@ export const BerriesAboundEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
undefined,
|
undefined,
|
||||||
doBerryRewards,
|
doBerryRewards,
|
||||||
);
|
);
|
||||||
await showEncounterText(`${namespace}:option.2.selected_bad`);
|
await showEncounterText(`${namespace}:option.2.selectedBad`);
|
||||||
await initBattleWithEnemyConfig(config);
|
await initBattleWithEnemyConfig(config);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -198,7 +198,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.withOnInit(() => {
|
.withOnInit(() => {
|
||||||
@ -312,7 +312,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
})
|
})
|
||||||
.withPreOptionPhase(async () => {
|
.withPreOptionPhase(async () => {
|
||||||
// Player shows off their bug types
|
// Player shows off their bug types
|
||||||
@ -333,7 +333,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
encounter.selectedOption!.dialogue!.selected = [
|
encounter.selectedOption!.dialogue!.selected = [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.2.selected_0_to_1`,
|
text: `${namespace}:option.2.selected0To1`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
} else if (numBugTypes < 4) {
|
} else if (numBugTypes < 4) {
|
||||||
@ -344,7 +344,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
encounter.selectedOption!.dialogue!.selected = [
|
encounter.selectedOption!.dialogue!.selected = [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.2.selected_2_to_3`,
|
text: `${namespace}:option.2.selected2To3`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
} else if (numBugTypes < 6) {
|
} else if (numBugTypes < 6) {
|
||||||
@ -355,7 +355,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
encounter.selectedOption!.dialogue!.selected = [
|
encounter.selectedOption!.dialogue!.selected = [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.2.selected_4_to_5`,
|
text: `${namespace}:option.2.selected4To5`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
@ -398,7 +398,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
encounter.selectedOption!.dialogue!.selected = [
|
encounter.selectedOption!.dialogue!.selected = [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.2.selected_6`,
|
text: `${namespace}:option.2.selected6`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@ -421,17 +421,17 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.3.selected_dialogue`,
|
text: `${namespace}:option.3.selectedDialogue`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
})
|
})
|
||||||
.withPreOptionPhase(async (): Promise<boolean> => {
|
.withPreOptionPhase(async (): Promise<boolean> => {
|
||||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||||
@ -476,7 +476,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
if (!hasValidItem) {
|
if (!hasValidItem) {
|
||||||
return getEncounterText(`${namespace}:option.3.invalid_selection`) ?? null;
|
return getEncounterText(`${namespace}:option.3.invalidSelection`) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -713,7 +713,7 @@ function doBugTypeMoveTutor(): Promise<void> {
|
|||||||
// biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO explain
|
// biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO explain
|
||||||
return new Promise<void>(async resolve => {
|
return new Promise<void>(async resolve => {
|
||||||
const moveOptions = globalScene.currentBattle.mysteryEncounter!.misc.moveTutorOptions;
|
const moveOptions = globalScene.currentBattle.mysteryEncounter!.misc.moveTutorOptions;
|
||||||
await showEncounterDialogue(`${namespace}:battle_won`, `${namespace}:speaker`);
|
await showEncounterDialogue(`${namespace}:battleWon`, `${namespace}:speaker`);
|
||||||
|
|
||||||
const moveInfoOverlay = new MoveInfoOverlay({
|
const moveInfoOverlay = new MoveInfoOverlay({
|
||||||
delayVisibility: false,
|
delayVisibility: false,
|
||||||
@ -748,7 +748,7 @@ function doBugTypeMoveTutor(): Promise<void> {
|
|||||||
|
|
||||||
const result = await selectOptionThenPokemon(
|
const result = await selectOptionThenPokemon(
|
||||||
optionSelectItems,
|
optionSelectItems,
|
||||||
`${namespace}:teach_move_prompt`,
|
`${namespace}:teachMovePrompt`,
|
||||||
undefined,
|
undefined,
|
||||||
onHoverOverCancel,
|
onHoverOverCancel,
|
||||||
);
|
);
|
||||||
|
@ -119,7 +119,7 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
text: `${namespace}:intro`,
|
text: `${namespace}:intro`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
@ -233,7 +233,7 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
// After the battle, offer the player the opportunity to permanently swap ability
|
// After the battle, offer the player the opportunity to permanently swap ability
|
||||||
const abilityWasSwapped = await handleSwapAbility();
|
const abilityWasSwapped = await handleSwapAbility();
|
||||||
if (abilityWasSwapped) {
|
if (abilityWasSwapped) {
|
||||||
await showEncounterText(`${namespace}:option.1.ability_gained`);
|
await showEncounterText(`${namespace}:option.1.abilityGained`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Play animations once ability swap is complete
|
// Play animations once ability swap is complete
|
||||||
@ -267,10 +267,10 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected_2`,
|
text: `${namespace}:option.2.selected2`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected_3`,
|
text: `${namespace}:option.2.selected3`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -359,10 +359,10 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected_2`,
|
text: `${namespace}:option.3.selected2`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected_3`,
|
text: `${namespace}:option.3.selected3`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -432,8 +432,8 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
async function handleSwapAbility() {
|
async function handleSwapAbility() {
|
||||||
// biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO: Consider refactoring to avoid async promise executor
|
// biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO: Consider refactoring to avoid async promise executor
|
||||||
return new Promise<boolean>(async resolve => {
|
return new Promise<boolean>(async resolve => {
|
||||||
await showEncounterDialogue(`${namespace}:option.1.apply_ability_dialogue`, `${namespace}:speaker`);
|
await showEncounterDialogue(`${namespace}:option.1.applyAbilityDialogue`, `${namespace}:speaker`);
|
||||||
await showEncounterText(`${namespace}:option.1.apply_ability_message`);
|
await showEncounterText(`${namespace}:option.1.applyAbilityMessage`);
|
||||||
|
|
||||||
globalScene.ui.setMode(UiMode.MESSAGE).then(() => {
|
globalScene.ui.setMode(UiMode.MESSAGE).then(() => {
|
||||||
displayYesNoOptions(resolve);
|
displayYesNoOptions(resolve);
|
||||||
@ -442,7 +442,7 @@ async function handleSwapAbility() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function displayYesNoOptions(resolve) {
|
function displayYesNoOptions(resolve) {
|
||||||
showEncounterText(`${namespace}:option.1.ability_prompt`, null, 500, false);
|
showEncounterText(`${namespace}:option.1.abilityPrompt`, null, 500, false);
|
||||||
const fullOptions = [
|
const fullOptions = [
|
||||||
{
|
{
|
||||||
label: i18next.t("menu:yes"),
|
label: i18next.t("menu:yes"),
|
||||||
|
@ -174,7 +174,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
// Gets +1 to all stats except SPD on battle start
|
// Gets +1 to all stats except SPD on battle start
|
||||||
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
||||||
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
||||||
queueEncounterMessage(`${namespace}:option.1.boss_enraged`);
|
queueEncounterMessage(`${namespace}:option.1.bossEnraged`);
|
||||||
globalScene.phaseManager.unshiftNew(
|
globalScene.phaseManager.unshiftNew(
|
||||||
"StatStageChangePhase",
|
"StatStageChangePhase",
|
||||||
pokemon.getBattlerIndex(),
|
pokemon.getBattlerIndex(),
|
||||||
@ -273,8 +273,8 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
@ -316,7 +316,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
}
|
}
|
||||||
const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(pokemon);
|
const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(pokemon);
|
||||||
if (!meetsReqs) {
|
if (!meetsReqs) {
|
||||||
return getEncounterText(`${namespace}:invalid_selection`) ?? null;
|
return getEncounterText(`${namespace}:invalidSelection`) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -118,7 +118,7 @@ export const DarkDealEncounter: MysteryEncounter = MysteryEncounterBuilder.withE
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.withSceneWaveRangeRequirement(30, CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES[1])
|
.withSceneWaveRangeRequirement(30, CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES[1])
|
||||||
@ -136,10 +136,10 @@ export const DarkDealEncounter: MysteryEncounter = MysteryEncounterBuilder.withE
|
|||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.1.selected_dialogue`,
|
text: `${namespace}:option.1.selectedDialogue`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.1.selected_message`,
|
text: `${namespace}:option.1.selectedMessage`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
@ -193,7 +193,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.2.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.2.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
@ -229,7 +229,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
// If pokemon has valid item, it can be selected
|
// If pokemon has valid item, it can be selected
|
||||||
const meetsReqs = encounter.options[1].pokemonMeetsPrimaryRequirements(pokemon);
|
const meetsReqs = encounter.options[1].pokemonMeetsPrimaryRequirements(pokemon);
|
||||||
if (!meetsReqs) {
|
if (!meetsReqs) {
|
||||||
return getEncounterText(`${namespace}:invalid_selection`) ?? null;
|
return getEncounterText(`${namespace}:invalidSelection`) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -303,7 +303,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
@ -341,7 +341,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
// If pokemon has valid item, it can be selected
|
// If pokemon has valid item, it can be selected
|
||||||
const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(pokemon);
|
const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(pokemon);
|
||||||
if (!meetsReqs) {
|
if (!meetsReqs) {
|
||||||
return getEncounterText(`${namespace}:invalid_selection`) ?? null;
|
return getEncounterText(`${namespace}:invalidSelection`) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -43,7 +43,7 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = MysteryEncounterBu
|
|||||||
text: `${namespace}:intro`,
|
text: `${namespace}:intro`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
@ -56,7 +56,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
text: `${namespace}:intro`,
|
text: `${namespace}:intro`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
@ -70,7 +70,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.1.label`,
|
buttonLabel: `${namespace}:option.1.label`,
|
||||||
buttonTooltip: `${namespace}:option.1.tooltip`,
|
buttonTooltip: `${namespace}:option.1.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:second_option_prompt`,
|
secondOptionPrompt: `${namespace}:secondOptionPrompt`,
|
||||||
})
|
})
|
||||||
.withPreOptionPhase(async (): Promise<boolean> => {
|
.withPreOptionPhase(async (): Promise<boolean> => {
|
||||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||||
@ -118,7 +118,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:second_option_prompt`,
|
secondOptionPrompt: `${namespace}:secondOptionPrompt`,
|
||||||
})
|
})
|
||||||
.withPreOptionPhase(async (): Promise<boolean> => {
|
.withPreOptionPhase(async (): Promise<boolean> => {
|
||||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||||
@ -166,7 +166,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:second_option_prompt`,
|
secondOptionPrompt: `${namespace}:secondOptionPrompt`,
|
||||||
})
|
})
|
||||||
.withPreOptionPhase(async (): Promise<boolean> => {
|
.withPreOptionPhase(async (): Promise<boolean> => {
|
||||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||||
@ -226,7 +226,7 @@ function pokemonAndMoveChosen(pokemon: PlayerPokemon, move: PokemonMove, correct
|
|||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:incorrect_exp`,
|
text: `${namespace}:incorrectExp`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
setEncounterExp(
|
setEncounterExp(
|
||||||
@ -243,7 +243,7 @@ function pokemonAndMoveChosen(pokemon: PlayerPokemon, move: PokemonMove, correct
|
|||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:correct_exp`,
|
text: `${namespace}:correctExp`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
setEncounterExp([pokemon.id], 100);
|
setEncounterExp([pokemon.id], 100);
|
||||||
|
@ -247,7 +247,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w
|
|||||||
// Burn applied
|
// Burn applied
|
||||||
encounter.setDialogueToken("burnedPokemon", chosenPokemon.getNameToRender());
|
encounter.setDialogueToken("burnedPokemon", chosenPokemon.getNameToRender());
|
||||||
encounter.setDialogueToken("abilityName", allAbilities[AbilityId.HEATPROOF].name);
|
encounter.setDialogueToken("abilityName", allAbilities[AbilityId.HEATPROOF].name);
|
||||||
queueEncounterMessage(`${namespace}:option.2.target_burned`);
|
queueEncounterMessage(`${namespace}:option.2.targetBurned`);
|
||||||
|
|
||||||
// Also permanently change the burned Pokemon's ability to Heatproof
|
// Also permanently change the burned Pokemon's ability to Heatproof
|
||||||
applyAbilityOverrideToPokemon(chosenPokemon, AbilityId.HEATPROOF);
|
applyAbilityOverrideToPokemon(chosenPokemon, AbilityId.HEATPROOF);
|
||||||
@ -269,7 +269,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
@ -313,6 +313,6 @@ function giveLeadPokemonAttackTypeBoostItem() {
|
|||||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||||
encounter.setDialogueToken("itemName", boosterModifierType.name);
|
encounter.setDialogueToken("itemName", boosterModifierType.name);
|
||||||
encounter.setDialogueToken("leadPokemon", leadPokemon.getNameToRender());
|
encounter.setDialogueToken("leadPokemon", leadPokemon.getNameToRender());
|
||||||
queueEncounterMessage(`${namespace}:found_item`);
|
queueEncounterMessage(`${namespace}:foundItem`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ export const FightOrFlightEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
isBoss: true,
|
isBoss: true,
|
||||||
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
||||||
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
||||||
queueEncounterMessage(`${namespace}:option.1.stat_boost`);
|
queueEncounterMessage(`${namespace}:option.1.statBoost`);
|
||||||
// Randomly boost 1 stat 2 stages
|
// Randomly boost 1 stat 2 stages
|
||||||
// Cannot boost Spd, Acc, or Evasion
|
// Cannot boost Spd, Acc, or Evasion
|
||||||
globalScene.phaseManager.unshiftNew(
|
globalScene.phaseManager.unshiftNew(
|
||||||
@ -165,7 +165,7 @@ export const FightOrFlightEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
|
@ -78,7 +78,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi
|
|||||||
.withIntroDialogue([
|
.withIntroDialogue([
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.setLocalizationKey(`${namespace}`)
|
.setLocalizationKey(`${namespace}`)
|
||||||
@ -118,7 +118,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi
|
|||||||
|
|
||||||
// Only Pokemon that are not KOed/legal can be selected
|
// Only Pokemon that are not KOed/legal can be selected
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
@ -284,25 +284,25 @@ function handleNextTurn() {
|
|||||||
guaranteedModifierTypeFuncs: [modifierTypes.MULTI_LENS],
|
guaranteedModifierTypeFuncs: [modifierTypes.MULTI_LENS],
|
||||||
fillRemaining: false,
|
fillRemaining: false,
|
||||||
});
|
});
|
||||||
resultMessageKey = `${namespace}:best_result`;
|
resultMessageKey = `${namespace}:bestResult`;
|
||||||
} else if (healthRatio < 0.15) {
|
} else if (healthRatio < 0.15) {
|
||||||
// 2nd prize
|
// 2nd prize
|
||||||
setEncounterRewards({
|
setEncounterRewards({
|
||||||
guaranteedModifierTypeFuncs: [modifierTypes.SCOPE_LENS],
|
guaranteedModifierTypeFuncs: [modifierTypes.SCOPE_LENS],
|
||||||
fillRemaining: false,
|
fillRemaining: false,
|
||||||
});
|
});
|
||||||
resultMessageKey = `${namespace}:great_result`;
|
resultMessageKey = `${namespace}:greatResult`;
|
||||||
} else if (healthRatio < 0.33) {
|
} else if (healthRatio < 0.33) {
|
||||||
// 3rd prize
|
// 3rd prize
|
||||||
setEncounterRewards({
|
setEncounterRewards({
|
||||||
guaranteedModifierTypeFuncs: [modifierTypes.WIDE_LENS],
|
guaranteedModifierTypeFuncs: [modifierTypes.WIDE_LENS],
|
||||||
fillRemaining: false,
|
fillRemaining: false,
|
||||||
});
|
});
|
||||||
resultMessageKey = `${namespace}:good_result`;
|
resultMessageKey = `${namespace}:goodResult`;
|
||||||
} else {
|
} else {
|
||||||
// No prize
|
// No prize
|
||||||
isHealPhase = true;
|
isHealPhase = true;
|
||||||
resultMessageKey = `${namespace}:bad_result`;
|
resultMessageKey = `${namespace}:badResult`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// End the battle
|
// End the battle
|
||||||
@ -312,7 +312,7 @@ function handleNextTurn() {
|
|||||||
globalScene.currentBattle.mysteryEncounter!.doContinueEncounter = undefined;
|
globalScene.currentBattle.mysteryEncounter!.doContinueEncounter = undefined;
|
||||||
leaveEncounterWithoutBattle(isHealPhase);
|
leaveEncounterWithoutBattle(isHealPhase);
|
||||||
// Must end the TurnInit phase prematurely so battle phases aren't added to queue
|
// Must end the TurnInit phase prematurely so battle phases aren't added to queue
|
||||||
queueEncounterMessage(`${namespace}:end_game`);
|
queueEncounterMessage(`${namespace}:endGame`);
|
||||||
queueEncounterMessage(resultMessageKey);
|
queueEncounterMessage(resultMessageKey);
|
||||||
|
|
||||||
// Skip remainder of TurnInitPhase
|
// Skip remainder of TurnInitPhase
|
||||||
@ -320,9 +320,9 @@ function handleNextTurn() {
|
|||||||
}
|
}
|
||||||
if (encounter.misc.turnsRemaining < 3) {
|
if (encounter.misc.turnsRemaining < 3) {
|
||||||
// Display charging messages on turns that aren't the initial turn
|
// Display charging messages on turns that aren't the initial turn
|
||||||
queueEncounterMessage(`${namespace}:charging_continue`);
|
queueEncounterMessage(`${namespace}:chargingContinue`);
|
||||||
}
|
}
|
||||||
queueEncounterMessage(`${namespace}:turn_remaining_${encounter.misc.turnsRemaining}`);
|
queueEncounterMessage(`${namespace}:turnRemaining${encounter.misc.turnsRemaining}`);
|
||||||
encounter.misc.turnsRemaining--;
|
encounter.misc.turnsRemaining--;
|
||||||
|
|
||||||
// Don't skip remainder of TurnInitPhase
|
// Don't skip remainder of TurnInitPhase
|
||||||
|
@ -416,7 +416,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil
|
|||||||
return it.isTransferable;
|
return it.isTransferable;
|
||||||
}).length > 0;
|
}).length > 0;
|
||||||
if (!meetsReqs) {
|
if (!meetsReqs) {
|
||||||
return getEncounterText(`${namespace}:option.3.invalid_selection`) ?? null;
|
return getEncounterText(`${namespace}:option.3.invalidSelection`) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -65,7 +65,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
buttonLabel: `${namespace}:option.1.label`,
|
buttonLabel: `${namespace}:option.1.label`,
|
||||||
disabledButtonLabel: `${namespace}:option.1.label_disabled`,
|
disabledButtonLabel: `${namespace}:option.1.label_disabled`,
|
||||||
buttonTooltip: `${namespace}:option.1.tooltip`,
|
buttonTooltip: `${namespace}:option.1.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.1.tooltip_disabled`,
|
disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.1.selected`,
|
text: `${namespace}:option.1.selected`,
|
||||||
@ -83,7 +83,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
disabledButtonLabel: `${namespace}:option.2.label_disabled`,
|
disabledButtonLabel: `${namespace}:option.2.label_disabled`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`,
|
disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
|
@ -58,7 +58,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.withOnInit(() => {
|
.withOnInit(() => {
|
||||||
@ -128,7 +128,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
|
|
||||||
// Only Pokemon non-KOd pokemon can be selected
|
// Only Pokemon non-KOd pokemon can be selected
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
@ -210,7 +210,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
|
|
||||||
// Only Pokemon non-KOd pokemon can be selected
|
// Only Pokemon non-KOd pokemon can be selected
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
@ -248,7 +248,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -70,7 +70,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
text: `${namespace}:intro`,
|
text: `${namespace}:intro`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
@ -119,7 +119,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (!encounter.pokemonMeetsPrimaryRequirements(pokemon)) {
|
if (!encounter.pokemonMeetsPrimaryRequirements(pokemon)) {
|
||||||
return getEncounterText(`${namespace}:invalid_selection`) ?? null;
|
return getEncounterText(`${namespace}:invalidSelection`) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -193,7 +193,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
|
|
||||||
// Only Pokemon that can gain benefits are unfainted
|
// Only Pokemon that can gain benefits are unfainted
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
|
@ -167,7 +167,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -122,7 +122,7 @@ export const TeleportingHijinksEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
@ -227,7 +227,7 @@ async function doBiomeTransitionDialogueAndBattleInit() {
|
|||||||
isBoss: true,
|
isBoss: true,
|
||||||
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
||||||
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
||||||
queueEncounterMessage(`${namespace}:boss_enraged`);
|
queueEncounterMessage(`${namespace}:bossEnraged`);
|
||||||
globalScene.phaseManager.unshiftNew(
|
globalScene.phaseManager.unshiftNew(
|
||||||
"StatStageChangePhase",
|
"StatStageChangePhase",
|
||||||
pokemon.getBattlerIndex(),
|
pokemon.getBattlerIndex(),
|
||||||
|
@ -139,7 +139,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: trainerNameKey,
|
speaker: trainerNameKey,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.withOnInit(() => {
|
.withOnInit(() => {
|
||||||
|
@ -66,7 +66,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
text: `${namespace}:intro`,
|
text: `${namespace}:intro`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
@ -202,7 +202,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
buttonTooltip: `${namespace}:option.1.tooltip`,
|
buttonTooltip: `${namespace}:option.1.tooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.1.selected_message`,
|
text: `${namespace}:option.1.selectedMessage`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
@ -215,7 +215,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui
|
|||||||
updatePlayerMoney(-price, true, false);
|
updatePlayerMoney(-price, true, false);
|
||||||
|
|
||||||
// Show dialogue
|
// Show dialogue
|
||||||
await showEncounterDialogue(`${namespace}:option.1.selected_dialogue`, `${namespace}:speaker`);
|
await showEncounterDialogue(`${namespace}:option.1.selectedDialogue`, `${namespace}:speaker`);
|
||||||
await transitionMysteryEncounterIntroVisuals();
|
await transitionMysteryEncounterIntroVisuals();
|
||||||
|
|
||||||
// "Catch" purchased pokemon
|
// "Catch" purchased pokemon
|
||||||
|
@ -115,7 +115,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
],
|
],
|
||||||
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
||||||
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
||||||
queueEncounterMessage(`${namespace}:option.2.stat_boost`);
|
queueEncounterMessage(`${namespace}:option.2.statBoost`);
|
||||||
globalScene.phaseManager.unshiftNew(
|
globalScene.phaseManager.unshiftNew(
|
||||||
"StatStageChangePhase",
|
"StatStageChangePhase",
|
||||||
pokemon.getBattlerIndex(),
|
pokemon.getBattlerIndex(),
|
||||||
@ -181,7 +181,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder
|
|||||||
|
|
||||||
encounter.setDialogueToken("reductionValue", HIGH_BST_REDUCTION_VALUE.toString());
|
encounter.setDialogueToken("reductionValue", HIGH_BST_REDUCTION_VALUE.toString());
|
||||||
encounter.setDialogueToken("increaseValue", BST_INCREASE_VALUE.toString());
|
encounter.setDialogueToken("increaseValue", BST_INCREASE_VALUE.toString());
|
||||||
await showEncounterText(`${namespace}:option.1.selected_2`, null, undefined, true);
|
await showEncounterText(`${namespace}:option.1.selected2`, null, undefined, true);
|
||||||
|
|
||||||
encounter.dialogue.outro = [
|
encounter.dialogue.outro = [
|
||||||
{
|
{
|
||||||
|
@ -87,7 +87,7 @@ export const TheWinstrateChallengeEncounter: MysteryEncounter = MysteryEncounter
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.withAutoHideIntroVisuals(false)
|
.withAutoHideIntroVisuals(false)
|
||||||
|
@ -90,7 +90,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
|
|
||||||
// Only Pokemon that are not KOed/legal can be trained
|
// Only Pokemon that are not KOed/legal can be trained
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
@ -174,7 +174,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.2.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.2.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.selected`,
|
text: `${namespace}:option.selected`,
|
||||||
@ -205,7 +205,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
|
|
||||||
// Only Pokemon that are not KOed/legal can be trained
|
// Only Pokemon that are not KOed/legal can be trained
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
@ -248,7 +248,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.selected`,
|
text: `${namespace}:option.selected`,
|
||||||
@ -295,7 +295,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
|
|
||||||
// Only Pokemon that are not KOed/legal can be trained
|
// Only Pokemon that are not KOed/legal can be trained
|
||||||
const selectableFilter = (pokemon: Pokemon) => {
|
const selectableFilter = (pokemon: Pokemon) => {
|
||||||
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`);
|
return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`);
|
||||||
};
|
};
|
||||||
|
|
||||||
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter);
|
||||||
|
@ -194,7 +194,7 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde
|
|||||||
.withOptionPhase(async () => {
|
.withOptionPhase(async () => {
|
||||||
// Investigate garbage, battle Gmax Garbodor
|
// Investigate garbage, battle Gmax Garbodor
|
||||||
globalScene.setFieldScale(0.75);
|
globalScene.setFieldScale(0.75);
|
||||||
await showEncounterText(`${namespace}:option.2.selected_2`);
|
await showEncounterText(`${namespace}:option.2.selected2`);
|
||||||
await transitionMysteryEncounterIntroVisuals();
|
await transitionMysteryEncounterIntroVisuals();
|
||||||
|
|
||||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||||
|
@ -97,7 +97,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
isBoss: false,
|
isBoss: false,
|
||||||
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON],
|
||||||
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
mysteryEncounterBattleEffects: (pokemon: Pokemon) => {
|
||||||
queueEncounterMessage(`${namespace}:option.1.stat_boost`);
|
queueEncounterMessage(`${namespace}:option.1.statBoost`);
|
||||||
globalScene.phaseManager.unshiftNew(
|
globalScene.phaseManager.unshiftNew(
|
||||||
"StatStageChangePhase",
|
"StatStageChangePhase",
|
||||||
pokemon.getBattlerIndex(),
|
pokemon.getBattlerIndex(),
|
||||||
@ -191,7 +191,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
@ -236,7 +236,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
|||||||
.withDialogue({
|
.withDialogue({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -143,7 +143,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.setLocalizationKey(`${namespace}`)
|
.setLocalizationKey(`${namespace}`)
|
||||||
@ -329,7 +329,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit
|
|||||||
onBeforeRewards,
|
onBeforeRewards,
|
||||||
);
|
);
|
||||||
|
|
||||||
await showEncounterText(`${namespace}:option.2.selected_2`, null, undefined, true);
|
await showEncounterText(`${namespace}:option.2.selected2`, null, undefined, true);
|
||||||
await initBattleWithEnemyConfig(enemyPartyConfig);
|
await initBattleWithEnemyConfig(enemyPartyConfig);
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
@ -1,624 +1,624 @@
|
|||||||
export enum AbilityId {
|
export enum AbilityId {
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/None_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/None_(ability) | Source} */
|
||||||
NONE,
|
NONE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stench_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stench_(ability) | Source} */
|
||||||
STENCH,
|
STENCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Drizzle_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Drizzle_(ability) | Source} */
|
||||||
DRIZZLE,
|
DRIZZLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Speed_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Speed_Boost_(ability) | Source} */
|
||||||
SPEED_BOOST,
|
SPEED_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Battle_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Battle_Armor_(ability) | Source} */
|
||||||
BATTLE_ARMOR,
|
BATTLE_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sturdy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sturdy_(ability) | Source} */
|
||||||
STURDY,
|
STURDY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Damp_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Damp_(ability) | Source} */
|
||||||
DAMP,
|
DAMP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Limber_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Limber_(ability) | Source} */
|
||||||
LIMBER,
|
LIMBER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Veil_(ability) | Source} */
|
||||||
SAND_VEIL,
|
SAND_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Static_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Static_(ability) | Source} */
|
||||||
STATIC,
|
STATIC,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Volt_Absorb_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Volt_Absorb_(ability) | Source} */
|
||||||
VOLT_ABSORB,
|
VOLT_ABSORB,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Absorb_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Absorb_(ability) | Source} */
|
||||||
WATER_ABSORB,
|
WATER_ABSORB,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Oblivious_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Oblivious_(ability) | Source} */
|
||||||
OBLIVIOUS,
|
OBLIVIOUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cloud_Nine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cloud_Nine_(ability) | Source} */
|
||||||
CLOUD_NINE,
|
CLOUD_NINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Compound_Eyes_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Compound_Eyes_(ability) | Source} */
|
||||||
COMPOUND_EYES,
|
COMPOUND_EYES,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Insomnia_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Insomnia_(ability) | Source} */
|
||||||
INSOMNIA,
|
INSOMNIA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Color_Change_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Color_Change_(ability) | Source} */
|
||||||
COLOR_CHANGE,
|
COLOR_CHANGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Immunity_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Immunity_(ability) | Source} */
|
||||||
IMMUNITY,
|
IMMUNITY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flash_Fire_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flash_Fire_(ability) | Source} */
|
||||||
FLASH_FIRE,
|
FLASH_FIRE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shield_Dust_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shield_Dust_(ability) | Source} */
|
||||||
SHIELD_DUST,
|
SHIELD_DUST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Own_Tempo_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Own_Tempo_(ability) | Source} */
|
||||||
OWN_TEMPO,
|
OWN_TEMPO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Suction_Cups_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Suction_Cups_(ability) | Source} */
|
||||||
SUCTION_CUPS,
|
SUCTION_CUPS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Intimidate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Intimidate_(ability) | Source} */
|
||||||
INTIMIDATE,
|
INTIMIDATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Tag_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Tag_(ability) | Source} */
|
||||||
SHADOW_TAG,
|
SHADOW_TAG,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rough_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rough_Skin_(ability) | Source} */
|
||||||
ROUGH_SKIN,
|
ROUGH_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Guard_(ability) | Source} */
|
||||||
WONDER_GUARD,
|
WONDER_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Levitate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Levitate_(ability) | Source} */
|
||||||
LEVITATE,
|
LEVITATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Effect_Spore_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Effect_Spore_(ability) | Source} */
|
||||||
EFFECT_SPORE,
|
EFFECT_SPORE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Synchronize_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Synchronize_(ability) | Source} */
|
||||||
SYNCHRONIZE,
|
SYNCHRONIZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Clear_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Clear_Body_(ability) | Source} */
|
||||||
CLEAR_BODY,
|
CLEAR_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Natural_Cure_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Natural_Cure_(ability) | Source} */
|
||||||
NATURAL_CURE,
|
NATURAL_CURE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Lightning_Rod_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Lightning_Rod_(ability) | Source} */
|
||||||
LIGHTNING_ROD,
|
LIGHTNING_ROD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Serene_Grace_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Serene_Grace_(ability) | Source} */
|
||||||
SERENE_GRACE,
|
SERENE_GRACE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Swift_Swim_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Swift_Swim_(ability) | Source} */
|
||||||
SWIFT_SWIM,
|
SWIFT_SWIM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Chlorophyll_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Chlorophyll_(ability) | Source} */
|
||||||
CHLOROPHYLL,
|
CHLOROPHYLL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Illuminate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Illuminate_(ability) | Source} */
|
||||||
ILLUMINATE,
|
ILLUMINATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Trace_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Trace_(ability) | Source} */
|
||||||
TRACE,
|
TRACE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Huge_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Huge_Power_(ability) | Source} */
|
||||||
HUGE_POWER,
|
HUGE_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Point_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Point_(ability) | Source} */
|
||||||
POISON_POINT,
|
POISON_POINT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Inner_Focus_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Inner_Focus_(ability) | Source} */
|
||||||
INNER_FOCUS,
|
INNER_FOCUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magma_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magma_Armor_(ability) | Source} */
|
||||||
MAGMA_ARMOR,
|
MAGMA_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Veil_(ability) | Source} */
|
||||||
WATER_VEIL,
|
WATER_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Pull_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Pull_(ability) | Source} */
|
||||||
MAGNET_PULL,
|
MAGNET_PULL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Soundproof_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Soundproof_(ability) | Source} */
|
||||||
SOUNDPROOF,
|
SOUNDPROOF,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rain_Dish_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rain_Dish_(ability) | Source} */
|
||||||
RAIN_DISH,
|
RAIN_DISH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Stream_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Stream_(ability) | Source} */
|
||||||
SAND_STREAM,
|
SAND_STREAM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pressure_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pressure_(ability) | Source} */
|
||||||
PRESSURE,
|
PRESSURE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Thick_Fat_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Thick_Fat_(ability) | Source} */
|
||||||
THICK_FAT,
|
THICK_FAT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Early_Bird_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Early_Bird_(ability) | Source} */
|
||||||
EARLY_BIRD,
|
EARLY_BIRD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flame_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flame_Body_(ability) | Source} */
|
||||||
FLAME_BODY,
|
FLAME_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Run_Away_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Run_Away_(ability) | Source} */
|
||||||
RUN_AWAY,
|
RUN_AWAY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Keen_Eye_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Keen_Eye_(ability) | Source} */
|
||||||
KEEN_EYE,
|
KEEN_EYE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Cutter_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Cutter_(ability) | Source} */
|
||||||
HYPER_CUTTER,
|
HYPER_CUTTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pickup_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pickup_(ability) | Source} */
|
||||||
PICKUP,
|
PICKUP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Truant_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Truant_(ability) | Source} */
|
||||||
TRUANT,
|
TRUANT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hustle_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hustle_(ability) | Source} */
|
||||||
HUSTLE,
|
HUSTLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cute_Charm_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cute_Charm_(ability) | Source} */
|
||||||
CUTE_CHARM,
|
CUTE_CHARM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Plus_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Plus_(ability) | Source} */
|
||||||
PLUS,
|
PLUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Minus_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Minus_(ability) | Source} */
|
||||||
MINUS,
|
MINUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Forecast_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Forecast_(ability) | Source} */
|
||||||
FORECAST,
|
FORECAST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Hold_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Hold_(ability) | Source} */
|
||||||
STICKY_HOLD,
|
STICKY_HOLD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shed_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shed_Skin_(ability) | Source} */
|
||||||
SHED_SKIN,
|
SHED_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Guts_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Guts_(ability) | Source} */
|
||||||
GUTS,
|
GUTS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Marvel_Scale_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Marvel_Scale_(ability) | Source} */
|
||||||
MARVEL_SCALE,
|
MARVEL_SCALE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Ooze_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Ooze_(ability) | Source} */
|
||||||
LIQUID_OOZE,
|
LIQUID_OOZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Overgrow_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Overgrow_(ability) | Source} */
|
||||||
OVERGROW,
|
OVERGROW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Blaze_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Blaze_(ability) | Source} */
|
||||||
BLAZE,
|
BLAZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Torrent_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Torrent_(ability) | Source} */
|
||||||
TORRENT,
|
TORRENT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Swarm_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Swarm_(ability) | Source} */
|
||||||
SWARM,
|
SWARM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Head_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rock_Head_(ability) | Source} */
|
||||||
ROCK_HEAD,
|
ROCK_HEAD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Drought_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Drought_(ability) | Source} */
|
||||||
DROUGHT,
|
DROUGHT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Arena_Trap_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Arena_Trap_(ability) | Source} */
|
||||||
ARENA_TRAP,
|
ARENA_TRAP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Vital_Spirit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Vital_Spirit_(ability) | Source} */
|
||||||
VITAL_SPIRIT,
|
VITAL_SPIRIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/White_Smoke_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/White_Smoke_(ability) | Source} */
|
||||||
WHITE_SMOKE,
|
WHITE_SMOKE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pure_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pure_Power_(ability) | Source} */
|
||||||
PURE_POWER,
|
PURE_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shell_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shell_Armor_(ability) | Source} */
|
||||||
SHELL_ARMOR,
|
SHELL_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Air_Lock_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Air_Lock_(ability) | Source} */
|
||||||
AIR_LOCK,
|
AIR_LOCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tangled_Feet_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tangled_Feet_(ability) | Source} */
|
||||||
TANGLED_FEET,
|
TANGLED_FEET,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Motor_Drive_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Motor_Drive_(ability) | Source} */
|
||||||
MOTOR_DRIVE,
|
MOTOR_DRIVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rivalry_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rivalry_(ability) | Source} */
|
||||||
RIVALRY,
|
RIVALRY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steadfast_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steadfast_(ability) | Source} */
|
||||||
STEADFAST,
|
STEADFAST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Snow_Cloak_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Snow_Cloak_(ability) | Source} */
|
||||||
SNOW_CLOAK,
|
SNOW_CLOAK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gluttony_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gluttony_(ability) | Source} */
|
||||||
GLUTTONY,
|
GLUTTONY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Anger_Point_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Anger_Point_(ability) | Source} */
|
||||||
ANGER_POINT,
|
ANGER_POINT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unburden_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unburden_(ability) | Source} */
|
||||||
UNBURDEN,
|
UNBURDEN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Heatproof_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Heatproof_(ability) | Source} */
|
||||||
HEATPROOF,
|
HEATPROOF,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Simple_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Simple_(ability) | Source} */
|
||||||
SIMPLE,
|
SIMPLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dry_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dry_Skin_(ability) | Source} */
|
||||||
DRY_SKIN,
|
DRY_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Download_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Download_(ability) | Source} */
|
||||||
DOWNLOAD,
|
DOWNLOAD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Fist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Iron_Fist_(ability) | Source} */
|
||||||
IRON_FIST,
|
IRON_FIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Heal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Heal_(ability) | Source} */
|
||||||
POISON_HEAL,
|
POISON_HEAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Adaptability_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Adaptability_(ability) | Source} */
|
||||||
ADAPTABILITY,
|
ADAPTABILITY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Skill_Link_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Skill_Link_(ability) | Source} */
|
||||||
SKILL_LINK,
|
SKILL_LINK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hydration_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hydration_(ability) | Source} */
|
||||||
HYDRATION,
|
HYDRATION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Solar_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Solar_Power_(ability) | Source} */
|
||||||
SOLAR_POWER,
|
SOLAR_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Feet_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Quick_Feet_(ability) | Source} */
|
||||||
QUICK_FEET,
|
QUICK_FEET,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Normalize_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Normalize_(ability) | Source} */
|
||||||
NORMALIZE,
|
NORMALIZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sniper_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sniper_(ability) | Source} */
|
||||||
SNIPER,
|
SNIPER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magic_Guard_(ability) | Source} */
|
||||||
MAGIC_GUARD,
|
MAGIC_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/No_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/No_Guard_(ability) | Source} */
|
||||||
NO_GUARD,
|
NO_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stall_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stall_(ability) | Source} */
|
||||||
STALL,
|
STALL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Technician_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Technician_(ability) | Source} */
|
||||||
TECHNICIAN,
|
TECHNICIAN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Guard_(ability) | Source} */
|
||||||
LEAF_GUARD,
|
LEAF_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Klutz_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Klutz_(ability) | Source} */
|
||||||
KLUTZ,
|
KLUTZ,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mold_Breaker_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mold_Breaker_(ability) | Source} */
|
||||||
MOLD_BREAKER,
|
MOLD_BREAKER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Super_Luck_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Super_Luck_(ability) | Source} */
|
||||||
SUPER_LUCK,
|
SUPER_LUCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aftermath_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aftermath_(ability) | Source} */
|
||||||
AFTERMATH,
|
AFTERMATH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Anticipation_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Anticipation_(ability) | Source} */
|
||||||
ANTICIPATION,
|
ANTICIPATION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Forewarn_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Forewarn_(ability) | Source} */
|
||||||
FOREWARN,
|
FOREWARN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unaware_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unaware_(ability) | Source} */
|
||||||
UNAWARE,
|
UNAWARE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tinted_Lens_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tinted_Lens_(ability) | Source} */
|
||||||
TINTED_LENS,
|
TINTED_LENS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Filter_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Filter_(ability) | Source} */
|
||||||
FILTER,
|
FILTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Slow_Start_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Slow_Start_(ability) | Source} */
|
||||||
SLOW_START,
|
SLOW_START,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Scrappy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Scrappy_(ability) | Source} */
|
||||||
SCRAPPY,
|
SCRAPPY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Storm_Drain_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Storm_Drain_(ability) | Source} */
|
||||||
STORM_DRAIN,
|
STORM_DRAIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ice_Body_(ability) | Source} */
|
||||||
ICE_BODY,
|
ICE_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Solid_Rock_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Solid_Rock_(ability) | Source} */
|
||||||
SOLID_ROCK,
|
SOLID_ROCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Snow_Warning_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Snow_Warning_(ability) | Source} */
|
||||||
SNOW_WARNING,
|
SNOW_WARNING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Honey_Gather_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Honey_Gather_(ability) | Source} */
|
||||||
HONEY_GATHER,
|
HONEY_GATHER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Frisk_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Frisk_(ability) | Source} */
|
||||||
FRISK,
|
FRISK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Reckless_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Reckless_(ability) | Source} */
|
||||||
RECKLESS,
|
RECKLESS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Multitype_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Multitype_(ability) | Source} */
|
||||||
MULTITYPE,
|
MULTITYPE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Gift_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flower_Gift_(ability) | Source} */
|
||||||
FLOWER_GIFT,
|
FLOWER_GIFT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Bad_Dreams_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Bad_Dreams_(ability) | Source} */
|
||||||
BAD_DREAMS,
|
BAD_DREAMS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pickpocket_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pickpocket_(ability) | Source} */
|
||||||
PICKPOCKET,
|
PICKPOCKET,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sheer_Force_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sheer_Force_(ability) | Source} */
|
||||||
SHEER_FORCE,
|
SHEER_FORCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Contrary_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Contrary_(ability) | Source} */
|
||||||
CONTRARY,
|
CONTRARY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unnerve_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unnerve_(ability) | Source} */
|
||||||
UNNERVE,
|
UNNERVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Defiant_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Defiant_(ability) | Source} */
|
||||||
DEFIANT,
|
DEFIANT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Defeatist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Defeatist_(ability) | Source} */
|
||||||
DEFEATIST,
|
DEFEATIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cursed_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cursed_Body_(ability) | Source} */
|
||||||
CURSED_BODY,
|
CURSED_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Healer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Healer_(ability) | Source} */
|
||||||
HEALER,
|
HEALER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Friend_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Friend_Guard_(ability) | Source} */
|
||||||
FRIEND_GUARD,
|
FRIEND_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Weak_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Weak_Armor_(ability) | Source} */
|
||||||
WEAK_ARMOR,
|
WEAK_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Heavy_Metal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Heavy_Metal_(ability) | Source} */
|
||||||
HEAVY_METAL,
|
HEAVY_METAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Light_Metal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Light_Metal_(ability) | Source} */
|
||||||
LIGHT_METAL,
|
LIGHT_METAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Multiscale_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Multiscale_(ability) | Source} */
|
||||||
MULTISCALE,
|
MULTISCALE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Boost_(ability) | Source} */
|
||||||
TOXIC_BOOST,
|
TOXIC_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flare_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flare_Boost_(ability) | Source} */
|
||||||
FLARE_BOOST,
|
FLARE_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Harvest_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Harvest_(ability) | Source} */
|
||||||
HARVEST,
|
HARVEST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Telepathy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Telepathy_(ability) | Source} */
|
||||||
TELEPATHY,
|
TELEPATHY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Moody_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Moody_(ability) | Source} */
|
||||||
MOODY,
|
MOODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Overcoat_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Overcoat_(ability) | Source} */
|
||||||
OVERCOAT,
|
OVERCOAT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Touch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Touch_(ability) | Source} */
|
||||||
POISON_TOUCH,
|
POISON_TOUCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Regenerator_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Regenerator_(ability) | Source} */
|
||||||
REGENERATOR,
|
REGENERATOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Big_Pecks_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Big_Pecks_(ability) | Source} */
|
||||||
BIG_PECKS,
|
BIG_PECKS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Rush_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Rush_(ability) | Source} */
|
||||||
SAND_RUSH,
|
SAND_RUSH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Skin_(ability) | Source} */
|
||||||
WONDER_SKIN,
|
WONDER_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Analytic_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Analytic_(ability) | Source} */
|
||||||
ANALYTIC,
|
ANALYTIC,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Illusion_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Illusion_(ability) | Source} */
|
||||||
ILLUSION,
|
ILLUSION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Imposter_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Imposter_(ability) | Source} */
|
||||||
IMPOSTER,
|
IMPOSTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Infiltrator_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Infiltrator_(ability) | Source} */
|
||||||
INFILTRATOR,
|
INFILTRATOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mummy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mummy_(ability) | Source} */
|
||||||
MUMMY,
|
MUMMY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Moxie_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Moxie_(ability) | Source} */
|
||||||
MOXIE,
|
MOXIE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Justified_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Justified_(ability) | Source} */
|
||||||
JUSTIFIED,
|
JUSTIFIED,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rattled_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rattled_(ability) | Source} */
|
||||||
RATTLED,
|
RATTLED,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Bounce_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magic_Bounce_(ability) | Source} */
|
||||||
MAGIC_BOUNCE,
|
MAGIC_BOUNCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sap_Sipper_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sap_Sipper_(ability) | Source} */
|
||||||
SAP_SIPPER,
|
SAP_SIPPER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Prankster_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Prankster_(ability) | Source} */
|
||||||
PRANKSTER,
|
PRANKSTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Force_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Force_(ability) | Source} */
|
||||||
SAND_FORCE,
|
SAND_FORCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Barbs_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Iron_Barbs_(ability) | Source} */
|
||||||
IRON_BARBS,
|
IRON_BARBS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Zen_Mode_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Zen_Mode_(ability) | Source} */
|
||||||
ZEN_MODE,
|
ZEN_MODE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Victory_Star_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Victory_Star_(ability) | Source} */
|
||||||
VICTORY_STAR,
|
VICTORY_STAR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Turboblaze_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Turboblaze_(ability) | Source} */
|
||||||
TURBOBLAZE,
|
TURBOBLAZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Teravolt_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Teravolt_(ability) | Source} */
|
||||||
TERAVOLT,
|
TERAVOLT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aroma_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aroma_Veil_(ability) | Source} */
|
||||||
AROMA_VEIL,
|
AROMA_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flower_Veil_(ability) | Source} */
|
||||||
FLOWER_VEIL,
|
FLOWER_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cheek_Pouch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cheek_Pouch_(ability) | Source} */
|
||||||
CHEEK_POUCH,
|
CHEEK_POUCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Protean_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Protean_(ability) | Source} */
|
||||||
PROTEAN,
|
PROTEAN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Fur_Coat_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Fur_Coat_(ability) | Source} */
|
||||||
FUR_COAT,
|
FUR_COAT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magician_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magician_(ability) | Source} */
|
||||||
MAGICIAN,
|
MAGICIAN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Bulletproof_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Bulletproof_(ability) | Source} */
|
||||||
BULLETPROOF,
|
BULLETPROOF,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Competitive_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Competitive_(ability) | Source} */
|
||||||
COMPETITIVE,
|
COMPETITIVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Strong_Jaw_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Strong_Jaw_(ability) | Source} */
|
||||||
STRONG_JAW,
|
STRONG_JAW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Refrigerate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Refrigerate_(ability) | Source} */
|
||||||
REFRIGERATE,
|
REFRIGERATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Veil_(ability) | Source} */
|
||||||
SWEET_VEIL,
|
SWEET_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stance_Change_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stance_Change_(ability) | Source} */
|
||||||
STANCE_CHANGE,
|
STANCE_CHANGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gale_Wings_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gale_Wings_(ability) | Source} */
|
||||||
GALE_WINGS,
|
GALE_WINGS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mega_Launcher_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mega_Launcher_(ability) | Source} */
|
||||||
MEGA_LAUNCHER,
|
MEGA_LAUNCHER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Grass_Pelt_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Grass_Pelt_(ability) | Source} */
|
||||||
GRASS_PELT,
|
GRASS_PELT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Symbiosis_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Symbiosis_(ability) | Source} */
|
||||||
SYMBIOSIS,
|
SYMBIOSIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tough_Claws_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tough_Claws_(ability) | Source} */
|
||||||
TOUGH_CLAWS,
|
TOUGH_CLAWS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pixilate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pixilate_(ability) | Source} */
|
||||||
PIXILATE,
|
PIXILATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gooey_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gooey_(ability) | Source} */
|
||||||
GOOEY,
|
GOOEY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aerilate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aerilate_(ability) | Source} */
|
||||||
AERILATE,
|
AERILATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Parental_Bond_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Parental_Bond_(ability) | Source} */
|
||||||
PARENTAL_BOND,
|
PARENTAL_BOND,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dark_Aura_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dark_Aura_(ability) | Source} */
|
||||||
DARK_AURA,
|
DARK_AURA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Aura_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Aura_(ability) | Source} */
|
||||||
FAIRY_AURA,
|
FAIRY_AURA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aura_Break_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aura_Break_(ability) | Source} */
|
||||||
AURA_BREAK,
|
AURA_BREAK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Primordial_Sea_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Primordial_Sea_(ability) | Source} */
|
||||||
PRIMORDIAL_SEA,
|
PRIMORDIAL_SEA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Desolate_Land_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Desolate_Land_(ability) | Source} */
|
||||||
DESOLATE_LAND,
|
DESOLATE_LAND,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Delta_Stream_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Delta_Stream_(ability) | Source} */
|
||||||
DELTA_STREAM,
|
DELTA_STREAM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stamina_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stamina_(ability) | Source} */
|
||||||
STAMINA,
|
STAMINA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wimp_Out_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wimp_Out_(ability) | Source} */
|
||||||
WIMP_OUT,
|
WIMP_OUT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Emergency_Exit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Emergency_Exit_(ability) | Source} */
|
||||||
EMERGENCY_EXIT,
|
EMERGENCY_EXIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Compaction_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Compaction_(ability) | Source} */
|
||||||
WATER_COMPACTION,
|
WATER_COMPACTION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Merciless_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Merciless_(ability) | Source} */
|
||||||
MERCILESS,
|
MERCILESS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shields_Down_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shields_Down_(ability) | Source} */
|
||||||
SHIELDS_DOWN,
|
SHIELDS_DOWN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stakeout_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stakeout_(ability) | Source} */
|
||||||
STAKEOUT,
|
STAKEOUT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Bubble_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Bubble_(ability) | Source} */
|
||||||
WATER_BUBBLE,
|
WATER_BUBBLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steelworker_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steelworker_(ability) | Source} */
|
||||||
STEELWORKER,
|
STEELWORKER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Berserk_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Berserk_(ability) | Source} */
|
||||||
BERSERK,
|
BERSERK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Slush_Rush_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Slush_Rush_(ability) | Source} */
|
||||||
SLUSH_RUSH,
|
SLUSH_RUSH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Long_Reach_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Long_Reach_(ability) | Source} */
|
||||||
LONG_REACH,
|
LONG_REACH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Voice_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Voice_(ability) | Source} */
|
||||||
LIQUID_VOICE,
|
LIQUID_VOICE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Triage_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Triage_(ability) | Source} */
|
||||||
TRIAGE,
|
TRIAGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Galvanize_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Galvanize_(ability) | Source} */
|
||||||
GALVANIZE,
|
GALVANIZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Surge_Surfer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Surge_Surfer_(ability) | Source} */
|
||||||
SURGE_SURFER,
|
SURGE_SURFER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Schooling_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Schooling_(ability) | Source} */
|
||||||
SCHOOLING,
|
SCHOOLING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Disguise_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Disguise_(ability) | Source} */
|
||||||
DISGUISE,
|
DISGUISE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Battle_Bond_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Battle_Bond_(ability) | Source} */
|
||||||
BATTLE_BOND,
|
BATTLE_BOND,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Construct_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Power_Construct_(ability) | Source} */
|
||||||
POWER_CONSTRUCT,
|
POWER_CONSTRUCT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Corrosion_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Corrosion_(ability) | Source} */
|
||||||
CORROSION,
|
CORROSION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Comatose_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Comatose_(ability) | Source} */
|
||||||
COMATOSE,
|
COMATOSE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Queenly_Majesty_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Queenly_Majesty_(ability) | Source} */
|
||||||
QUEENLY_MAJESTY,
|
QUEENLY_MAJESTY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Innards_Out_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Innards_Out_(ability) | Source} */
|
||||||
INNARDS_OUT,
|
INNARDS_OUT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dancer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dancer_(ability) | Source} */
|
||||||
DANCER,
|
DANCER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Battery_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Battery_(ability) | Source} */
|
||||||
BATTERY,
|
BATTERY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Fluffy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Fluffy_(ability) | Source} */
|
||||||
FLUFFY,
|
FLUFFY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dazzling_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dazzling_(ability) | Source} */
|
||||||
DAZZLING,
|
DAZZLING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Soul_Heart_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Soul_Heart_(ability) | Source} */
|
||||||
SOUL_HEART,
|
SOUL_HEART,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tangling_Hair_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tangling_Hair_(ability) | Source} */
|
||||||
TANGLING_HAIR,
|
TANGLING_HAIR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Receiver_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Receiver_(ability) | Source} */
|
||||||
RECEIVER,
|
RECEIVER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Of_Alchemy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Power_Of_Alchemy_(ability) | Source} */
|
||||||
POWER_OF_ALCHEMY,
|
POWER_OF_ALCHEMY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Beast_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Beast_Boost_(ability) | Source} */
|
||||||
BEAST_BOOST,
|
BEAST_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rks_System_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rks_System_(ability) | Source} */
|
||||||
RKS_SYSTEM,
|
RKS_SYSTEM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Electric_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Electric_Surge_(ability) | Source} */
|
||||||
ELECTRIC_SURGE,
|
ELECTRIC_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Surge_(ability) | Source} */
|
||||||
PSYCHIC_SURGE,
|
PSYCHIC_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Misty_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Misty_Surge_(ability) | Source} */
|
||||||
MISTY_SURGE,
|
MISTY_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Surge_(ability) | Source} */
|
||||||
GRASSY_SURGE,
|
GRASSY_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Full_Metal_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Full_Metal_Body_(ability) | Source} */
|
||||||
FULL_METAL_BODY,
|
FULL_METAL_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Shield_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Shield_(ability) | Source} */
|
||||||
SHADOW_SHIELD,
|
SHADOW_SHIELD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Prism_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Prism_Armor_(ability) | Source} */
|
||||||
PRISM_ARMOR,
|
PRISM_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Neuroforce_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Neuroforce_(ability) | Source} */
|
||||||
NEUROFORCE,
|
NEUROFORCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Intrepid_Sword_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Intrepid_Sword_(ability) | Source} */
|
||||||
INTREPID_SWORD,
|
INTREPID_SWORD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dauntless_Shield_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dauntless_Shield_(ability) | Source} */
|
||||||
DAUNTLESS_SHIELD,
|
DAUNTLESS_SHIELD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Libero_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Libero_(ability) | Source} */
|
||||||
LIBERO,
|
LIBERO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ball_Fetch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ball_Fetch_(ability) | Source} */
|
||||||
BALL_FETCH,
|
BALL_FETCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Down_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Down_(ability) | Source} */
|
||||||
COTTON_DOWN,
|
COTTON_DOWN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Propeller_Tail_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Propeller_Tail_(ability) | Source} */
|
||||||
PROPELLER_TAIL,
|
PROPELLER_TAIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Armor_(ability) | Source} */
|
||||||
MIRROR_ARMOR,
|
MIRROR_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gulp_Missile_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gulp_Missile_(ability) | Source} */
|
||||||
GULP_MISSILE,
|
GULP_MISSILE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stalwart_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stalwart_(ability) | Source} */
|
||||||
STALWART,
|
STALWART,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steam_Engine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steam_Engine_(ability) | Source} */
|
||||||
STEAM_ENGINE,
|
STEAM_ENGINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Punk_Rock_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Punk_Rock_(ability) | Source} */
|
||||||
PUNK_ROCK,
|
PUNK_ROCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Spit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Spit_(ability) | Source} */
|
||||||
SAND_SPIT,
|
SAND_SPIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Scales_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ice_Scales_(ability) | Source} */
|
||||||
ICE_SCALES,
|
ICE_SCALES,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ripen_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ripen_(ability) | Source} */
|
||||||
RIPEN,
|
RIPEN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Face_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ice_Face_(ability) | Source} */
|
||||||
ICE_FACE,
|
ICE_FACE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Spot_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Power_Spot_(ability) | Source} */
|
||||||
POWER_SPOT,
|
POWER_SPOT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mimicry_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mimicry_(ability) | Source} */
|
||||||
MIMICRY,
|
MIMICRY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Screen_Cleaner_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Screen_Cleaner_(ability) | Source} */
|
||||||
SCREEN_CLEANER,
|
SCREEN_CLEANER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steely_Spirit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steely_Spirit_(ability) | Source} */
|
||||||
STEELY_SPIRIT,
|
STEELY_SPIRIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Perish_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Perish_Body_(ability) | Source} */
|
||||||
PERISH_BODY,
|
PERISH_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wandering_Spirit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wandering_Spirit_(ability) | Source} */
|
||||||
WANDERING_SPIRIT,
|
WANDERING_SPIRIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gorilla_Tactics_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gorilla_Tactics_(ability) | Source} */
|
||||||
GORILLA_TACTICS,
|
GORILLA_TACTICS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(ability) | Source} */
|
||||||
NEUTRALIZING_GAS,
|
NEUTRALIZING_GAS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pastel_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pastel_Veil_(ability) | Source} */
|
||||||
PASTEL_VEIL,
|
PASTEL_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hunger_Switch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hunger_Switch_(ability) | Source} */
|
||||||
HUNGER_SWITCH,
|
HUNGER_SWITCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Draw_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Quick_Draw_(ability) | Source} */
|
||||||
QUICK_DRAW,
|
QUICK_DRAW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unseen_Fist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unseen_Fist_(ability) | Source} */
|
||||||
UNSEEN_FIST,
|
UNSEEN_FIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Curious_Medicine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Curious_Medicine_(ability) | Source} */
|
||||||
CURIOUS_MEDICINE,
|
CURIOUS_MEDICINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Transistor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Transistor_(ability) | Source} */
|
||||||
TRANSISTOR,
|
TRANSISTOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dragons_Maw_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dragons_Maw_(ability) | Source} */
|
||||||
DRAGONS_MAW,
|
DRAGONS_MAW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Chilling_Neigh_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Chilling_Neigh_(ability) | Source} */
|
||||||
CHILLING_NEIGH,
|
CHILLING_NEIGH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Grim_Neigh_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Grim_Neigh_(ability) | Source} */
|
||||||
GRIM_NEIGH,
|
GRIM_NEIGH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/As_One_Glastrier_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/As_One_Glastrier_(ability) | Source} */
|
||||||
AS_ONE_GLASTRIER,
|
AS_ONE_GLASTRIER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/As_One_Spectrier_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/As_One_Spectrier_(ability) | Source} */
|
||||||
AS_ONE_SPECTRIER,
|
AS_ONE_SPECTRIER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Lingering_Aroma_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Lingering_Aroma_(ability) | Source} */
|
||||||
LINGERING_AROMA,
|
LINGERING_AROMA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Seed_Sower_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Seed_Sower_(ability) | Source} */
|
||||||
SEED_SOWER,
|
SEED_SOWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Thermal_Exchange_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Thermal_Exchange_(ability) | Source} */
|
||||||
THERMAL_EXCHANGE,
|
THERMAL_EXCHANGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Anger_Shell_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Anger_Shell_(ability) | Source} */
|
||||||
ANGER_SHELL,
|
ANGER_SHELL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Purifying_Salt_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Purifying_Salt_(ability) | Source} */
|
||||||
PURIFYING_SALT,
|
PURIFYING_SALT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Well_Baked_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Well_Baked_Body_(ability) | Source} */
|
||||||
WELL_BAKED_BODY,
|
WELL_BAKED_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wind_Rider_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wind_Rider_(ability) | Source} */
|
||||||
WIND_RIDER,
|
WIND_RIDER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Guard_Dog_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Guard_Dog_(ability) | Source} */
|
||||||
GUARD_DOG,
|
GUARD_DOG,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rocky_Payload_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rocky_Payload_(ability) | Source} */
|
||||||
ROCKY_PAYLOAD,
|
ROCKY_PAYLOAD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wind_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wind_Power_(ability) | Source} */
|
||||||
WIND_POWER,
|
WIND_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Zero_To_Hero_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Zero_To_Hero_(ability) | Source} */
|
||||||
ZERO_TO_HERO,
|
ZERO_TO_HERO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Commander_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Commander_(ability) | Source} */
|
||||||
COMMANDER,
|
COMMANDER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Electromorphosis_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Electromorphosis_(ability) | Source} */
|
||||||
ELECTROMORPHOSIS,
|
ELECTROMORPHOSIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Protosynthesis_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Protosynthesis_(ability) | Source} */
|
||||||
PROTOSYNTHESIS,
|
PROTOSYNTHESIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Quark_Drive_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Quark_Drive_(ability) | Source} */
|
||||||
QUARK_DRIVE,
|
QUARK_DRIVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Good_As_Gold_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Good_As_Gold_(ability) | Source} */
|
||||||
GOOD_AS_GOLD,
|
GOOD_AS_GOLD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Vessel_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Vessel_Of_Ruin_(ability) | Source} */
|
||||||
VESSEL_OF_RUIN,
|
VESSEL_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sword_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sword_Of_Ruin_(ability) | Source} */
|
||||||
SWORD_OF_RUIN,
|
SWORD_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tablets_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tablets_Of_Ruin_(ability) | Source} */
|
||||||
TABLETS_OF_RUIN,
|
TABLETS_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Beads_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Beads_Of_Ruin_(ability) | Source} */
|
||||||
BEADS_OF_RUIN,
|
BEADS_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Orichalcum_Pulse_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Orichalcum_Pulse_(ability) | Source} */
|
||||||
ORICHALCUM_PULSE,
|
ORICHALCUM_PULSE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hadron_Engine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hadron_Engine_(ability) | Source} */
|
||||||
HADRON_ENGINE,
|
HADRON_ENGINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Opportunist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Opportunist_(ability) | Source} */
|
||||||
OPPORTUNIST,
|
OPPORTUNIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cud_Chew_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cud_Chew_(ability) | Source} */
|
||||||
CUD_CHEW,
|
CUD_CHEW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sharpness_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sharpness_(ability) | Source} */
|
||||||
SHARPNESS,
|
SHARPNESS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Supreme_Overlord_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Supreme_Overlord_(ability) | Source} */
|
||||||
SUPREME_OVERLORD,
|
SUPREME_OVERLORD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Costar_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Costar_(ability) | Source} */
|
||||||
COSTAR,
|
COSTAR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Debris_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Debris_(ability) | Source} */
|
||||||
TOXIC_DEBRIS,
|
TOXIC_DEBRIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Armor_Tail_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Armor_Tail_(ability) | Source} */
|
||||||
ARMOR_TAIL,
|
ARMOR_TAIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Earth_Eater_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Earth_Eater_(ability) | Source} */
|
||||||
EARTH_EATER,
|
EARTH_EATER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mycelium_Might_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mycelium_Might_(ability) | Source} */
|
||||||
MYCELIUM_MIGHT,
|
MYCELIUM_MIGHT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Minds_Eye_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Minds_Eye_(ability) | Source} */
|
||||||
MINDS_EYE,
|
MINDS_EYE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Supersweet_Syrup_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Supersweet_Syrup_(ability) | Source} */
|
||||||
SUPERSWEET_SYRUP,
|
SUPERSWEET_SYRUP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hospitality_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hospitality_(ability) | Source} */
|
||||||
HOSPITALITY,
|
HOSPITALITY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Chain_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Chain_(ability) | Source} */
|
||||||
TOXIC_CHAIN,
|
TOXIC_CHAIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Teal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Teal_(ability) | Source} */
|
||||||
EMBODY_ASPECT_TEAL,
|
EMBODY_ASPECT_TEAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Wellspring_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Wellspring_(ability) | Source} */
|
||||||
EMBODY_ASPECT_WELLSPRING,
|
EMBODY_ASPECT_WELLSPRING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Hearthflame_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Hearthflame_(ability) | Source} */
|
||||||
EMBODY_ASPECT_HEARTHFLAME,
|
EMBODY_ASPECT_HEARTHFLAME,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Cornerstone_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Cornerstone_(ability) | Source} */
|
||||||
EMBODY_ASPECT_CORNERSTONE,
|
EMBODY_ASPECT_CORNERSTONE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shift_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shift_(ability) | Source} */
|
||||||
TERA_SHIFT,
|
TERA_SHIFT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shell_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shell_(ability) | Source} */
|
||||||
TERA_SHELL,
|
TERA_SHELL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Teraform_Zero_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Teraform_Zero_(ability) | Source} */
|
||||||
TERAFORM_ZERO,
|
TERAFORM_ZERO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Puppeteer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Puppeteer_(ability) | Source} */
|
||||||
POISON_PUPPETEER,
|
POISON_PUPPETEER,
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => {
|
|||||||
expect(AnOfferYouCantRefuseEncounter.dialogue).toBeDefined();
|
expect(AnOfferYouCantRefuseEncounter.dialogue).toBeDefined();
|
||||||
expect(AnOfferYouCantRefuseEncounter.dialogue.intro).toStrictEqual([
|
expect(AnOfferYouCantRefuseEncounter.dialogue.intro).toStrictEqual([
|
||||||
{ text: `${namespace}:intro` },
|
{ text: `${namespace}:intro` },
|
||||||
{ speaker: `${namespace}:speaker`, text: `${namespace}:intro_dialogue` },
|
{ speaker: `${namespace}:speaker`, text: `${namespace}:introDialogue` },
|
||||||
]);
|
]);
|
||||||
expect(AnOfferYouCantRefuseEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(AnOfferYouCantRefuseEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
expect(AnOfferYouCantRefuseEncounter.dialogue.encounterOptionsDialogue?.description).toBe(
|
expect(AnOfferYouCantRefuseEncounter.dialogue.encounterOptionsDialogue?.description).toBe(
|
||||||
@ -180,7 +180,7 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`,
|
disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
|
@ -194,7 +194,7 @@ describe("Berries Abound - Mystery Encounter", () => {
|
|||||||
|
|
||||||
// Should be enraged
|
// Should be enraged
|
||||||
expect(enemyField[0].summonData.statStages).toEqual([0, 1, 0, 1, 1, 0, 0]);
|
expect(enemyField[0].summonData.statStages).toEqual([0, 1, 0, 1, 1, 0, 0]);
|
||||||
expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selected_bad`);
|
expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selectedBad`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should start battle if fastest pokemon is slower than boss above wave 50", async () => {
|
it("should start battle if fastest pokemon is slower than boss above wave 50", async () => {
|
||||||
@ -218,7 +218,7 @@ describe("Berries Abound - Mystery Encounter", () => {
|
|||||||
|
|
||||||
// Should be enraged
|
// Should be enraged
|
||||||
expect(enemyField[0].summonData.statStages).toEqual([1, 1, 1, 1, 1, 0, 0]);
|
expect(enemyField[0].summonData.statStages).toEqual([1, 1, 1, 1, 1, 0, 0]);
|
||||||
expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selected_bad`);
|
expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selectedBad`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Should skip battle when fastest pokemon is faster than boss", async () => {
|
it("Should skip battle when fastest pokemon is faster than boss", async () => {
|
||||||
|
@ -181,7 +181,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(BugTypeSuperfanEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(BugTypeSuperfanEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
@ -389,7 +389,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -513,17 +513,17 @@ describe("Bug-Type Superfan - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.3.selected_dialogue`,
|
text: `${namespace}:option.3.selectedDialogue`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ describe("Clowning Around - Mystery Encounter", () => {
|
|||||||
{ text: `${namespace}:intro` },
|
{ text: `${namespace}:intro` },
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(ClowningAroundEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(ClowningAroundEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
@ -249,11 +249,11 @@ describe("Clowning Around - Mystery Encounter", () => {
|
|||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected_2`,
|
text: `${namespace}:option.2.selected2`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.2.selected_3`,
|
text: `${namespace}:option.2.selected3`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
@ -334,11 +334,11 @@ describe("Clowning Around - Mystery Encounter", () => {
|
|||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected_2`,
|
text: `${namespace}:option.3.selected2`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:option.3.selected_3`,
|
text: `${namespace}:option.3.selected3`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
@ -186,8 +186,8 @@ describe("Dancing Lessons - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -186,7 +186,7 @@ describe("Delibird-y - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.2.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.2.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
@ -348,7 +348,7 @@ describe("Delibird-y - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:option.3.select_prompt`,
|
secondOptionPrompt: `${namespace}:option.3.selectPrompt`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -61,7 +61,7 @@ describe("Department Store Sale - Mystery Encounter", () => {
|
|||||||
{ text: `${namespace}:intro` },
|
{ text: `${namespace}:intro` },
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(DepartmentStoreSaleEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(DepartmentStoreSaleEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
|
@ -61,7 +61,7 @@ describe("Field Trip - Mystery Encounter", () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(FieldTripEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(FieldTripEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
@ -78,7 +78,7 @@ describe("Field Trip - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.1.label`,
|
buttonLabel: `${namespace}:option.1.label`,
|
||||||
buttonTooltip: `${namespace}:option.1.tooltip`,
|
buttonTooltip: `${namespace}:option.1.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:second_option_prompt`,
|
secondOptionPrompt: `${namespace}:secondOptionPrompt`,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ describe("Field Trip - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:second_option_prompt`,
|
secondOptionPrompt: `${namespace}:secondOptionPrompt`,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ describe("Field Trip - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
secondOptionPrompt: `${namespace}:second_option_prompt`,
|
secondOptionPrompt: `${namespace}:secondOptionPrompt`,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ describe("Fiery Fallout - Mystery Encounter", () => {
|
|||||||
expect(option1.dialogue).toStrictEqual({
|
expect(option1.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -143,7 +143,7 @@ describe("Fight or Flight - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
|
@ -71,7 +71,7 @@ describe("Fun And Games! - Mystery Encounter", () => {
|
|||||||
expect(FunAndGamesEncounter.dialogue.intro).toStrictEqual([
|
expect(FunAndGamesEncounter.dialogue.intro).toStrictEqual([
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(FunAndGamesEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(FunAndGamesEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
|
@ -101,7 +101,7 @@ describe("Lost at Sea - Mystery Encounter", () => {
|
|||||||
buttonLabel: `${namespace}:option.1.label`,
|
buttonLabel: `${namespace}:option.1.label`,
|
||||||
disabledButtonLabel: `${namespace}:option.1.label_disabled`,
|
disabledButtonLabel: `${namespace}:option.1.label_disabled`,
|
||||||
buttonTooltip: `${namespace}:option.1.tooltip`,
|
buttonTooltip: `${namespace}:option.1.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.1.tooltip_disabled`,
|
disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.1.selected`,
|
text: `${namespace}:option.1.selected`,
|
||||||
@ -164,7 +164,7 @@ describe("Lost at Sea - Mystery Encounter", () => {
|
|||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
disabledButtonLabel: `${namespace}:option.2.label_disabled`,
|
disabledButtonLabel: `${namespace}:option.2.label_disabled`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`,
|
disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
|
@ -65,7 +65,7 @@ describe("Part-Timer - Mystery Encounter", () => {
|
|||||||
{ text: `${namespace}:intro` },
|
{ text: `${namespace}:intro` },
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(PartTimerEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(PartTimerEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
@ -219,7 +219,7 @@ describe("Part-Timer - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -207,7 +207,7 @@ describe("Teleporting Hijinks - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
|
@ -71,7 +71,7 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: "trainerNames:expert_pokemon_breeder",
|
speaker: "trainerNames:expert_pokemon_breeder",
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(TheExpertPokemonBreederEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(TheExpertPokemonBreederEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
|
@ -67,7 +67,7 @@ describe("The Pokemon Salesman - Mystery Encounter", () => {
|
|||||||
expect(dialogue).toBeDefined();
|
expect(dialogue).toBeDefined();
|
||||||
expect(dialogue.intro).toStrictEqual([
|
expect(dialogue.intro).toStrictEqual([
|
||||||
{ text: `${namespace}:intro` },
|
{ text: `${namespace}:intro` },
|
||||||
{ speaker: `${namespace}:speaker`, text: `${namespace}:intro_dialogue` },
|
{ speaker: `${namespace}:speaker`, text: `${namespace}:introDialogue` },
|
||||||
]);
|
]);
|
||||||
const { title, description, query } = dialogue.encounterOptionsDialogue!;
|
const { title, description, query } = dialogue.encounterOptionsDialogue!;
|
||||||
expect(title).toBe(`${namespace}:title`);
|
expect(title).toBe(`${namespace}:title`);
|
||||||
@ -120,7 +120,7 @@ describe("The Pokemon Salesman - Mystery Encounter", () => {
|
|||||||
buttonTooltip: expect.stringMatching(new RegExp(`^${namespace}\\:option\\.1\\.tooltip(_shiny)?$`)),
|
buttonTooltip: expect.stringMatching(new RegExp(`^${namespace}\\:option\\.1\\.tooltip(_shiny)?$`)),
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.1.selected_message`,
|
text: `${namespace}:option.1.selectedMessage`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
@ -73,7 +73,7 @@ describe("The Winstrate Challenge - Mystery Encounter", () => {
|
|||||||
{ text: `${namespace}:intro` },
|
{ text: `${namespace}:intro` },
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(TheWinstrateChallengeEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(TheWinstrateChallengeEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
|
@ -172,7 +172,7 @@ describe("Uncommon Breed - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.2.label`,
|
buttonLabel: `${namespace}:option.2.label`,
|
||||||
buttonTooltip: `${namespace}:option.2.tooltip`,
|
buttonTooltip: `${namespace}:option.2.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.2.selected`,
|
text: `${namespace}:option.2.selected`,
|
||||||
@ -237,7 +237,7 @@ describe("Uncommon Breed - Mystery Encounter", () => {
|
|||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
buttonLabel: `${namespace}:option.3.label`,
|
buttonLabel: `${namespace}:option.3.label`,
|
||||||
buttonTooltip: `${namespace}:option.3.tooltip`,
|
buttonTooltip: `${namespace}:option.3.tooltip`,
|
||||||
disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`,
|
disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`,
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
text: `${namespace}:option.3.selected`,
|
text: `${namespace}:option.3.selected`,
|
||||||
|
@ -68,7 +68,7 @@ describe("Weird Dream - Mystery Encounter", () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: `${namespace}:speaker`,
|
speaker: `${namespace}:speaker`,
|
||||||
text: `${namespace}:intro_dialogue`,
|
text: `${namespace}:introDialogue`,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(WeirdDreamEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
expect(WeirdDreamEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`);
|
||||||
|
Loading…
Reference in New Issue
Block a user