mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 23:42:18 +02:00
Fix Quark Drive and Moody
This commit is contained in:
parent
d5e462ba7d
commit
6122409eac
@ -1773,7 +1773,7 @@ export class PostTerrainChangeAddBattlerTagAttr extends PostTerrainChangeAbAttr
|
||||
}
|
||||
|
||||
applyPostTerrainChange(pokemon: Pokemon, passive: boolean, terrain: TerrainType, args: any[]): boolean {
|
||||
if (!this.terrainTypes.find(t => terrain === terrain))
|
||||
if (!this.terrainTypes.find(t => t === terrain))
|
||||
return false;
|
||||
|
||||
return pokemon.addTag(this.tagType, this.turnCount);
|
||||
@ -1807,6 +1807,23 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr {
|
||||
}
|
||||
}
|
||||
|
||||
export class MoodyAbAttr extends PostTurnAbAttr {
|
||||
constructor() {
|
||||
super(true);
|
||||
}
|
||||
|
||||
applyPostTurn(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
|
||||
// TODO: Edge case of not choosing to buff or debuff a stat that's already maxed
|
||||
let selectableStats = [BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD];
|
||||
let increaseStat = selectableStats[Utils.randInt(selectableStats.length)];
|
||||
selectableStats = selectableStats.filter(s => s !== increaseStat);
|
||||
let decreaseStat = selectableStats[Utils.randInt(selectableStats.length)];
|
||||
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [increaseStat], 2));
|
||||
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [decreaseStat], -1));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export class PostTurnStatChangeAbAttr extends PostTurnAbAttr {
|
||||
private stats: BattleStat[];
|
||||
private levels: integer;
|
||||
@ -2771,8 +2788,7 @@ export function initAbilities() {
|
||||
new Ability(Abilities.TELEPATHY, "Telepathy (N)", "Anticipates an ally's attack and dodges it.", 5)
|
||||
.ignorable(),
|
||||
new Ability(Abilities.MOODY, "Moody", "Raises one stat sharply and lowers another every turn.", 5)
|
||||
.attr(PostTurnStatChangeAbAttr, BattleStat.RAND, 2)
|
||||
.attr(PostTurnStatChangeAbAttr, BattleStat.RAND, -1),
|
||||
.attr(MoodyAbAttr),
|
||||
new Ability(Abilities.OVERCOAT, "Overcoat", "Protects the Pokémon from things like sand, hail, and powder.", 5)
|
||||
.attr(BlockWeatherDamageAttr)
|
||||
.attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().hasFlag(MoveFlags.POWDER_MOVE))
|
||||
|
Loading…
Reference in New Issue
Block a user