Compare commits

..

No commits in common. "79a87e1c65c6062e4a764aa27a21d23a7a0e2598" and "d5f82611f54adbe87bd2daa0644e0d5a44591cf4" have entirely different histories.

2 changed files with 5 additions and 9 deletions

View File

@ -9,7 +9,7 @@ import { BattlerTag } from "./battler-tags";
import { BattlerTagType } from "./enums/battler-tag-type"; import { BattlerTagType } from "./enums/battler-tag-type";
import { StatusEffect, getStatusEffectDescriptor, getStatusEffectHealText } from "./status-effect"; import { StatusEffect, getStatusEffectDescriptor, getStatusEffectHealText } from "./status-effect";
import { Gender } from "./gender"; import { Gender } from "./gender";
import Move, { AttackMove, MoveCategory, MoveFlags, MoveTarget, RecoilAttr, StatusMoveTypeImmunityAttr, FlinchAttr, OneHitKOAttr, HitHealAttr, StrengthSapHealAttr, allMoves, StatusMove, VariablePowerAttr, applyMoveAttrs } from "./move"; import Move, { AttackMove, MoveCategory, MoveFlags, MoveTarget, RecoilAttr, StatusMoveTypeImmunityAttr, FlinchAttr, OneHitKOAttr, HitHealAttr, StrengthSapHealAttr, allMoves, StatusMove } from "./move";
import { ArenaTagSide, ArenaTrapTag } from "./arena-tag"; import { ArenaTagSide, ArenaTrapTag } from "./arena-tag";
import { ArenaTagType } from "./enums/arena-tag-type"; import { ArenaTagType } from "./enums/arena-tag-type";
import { Stat } from "./pokemon-stat"; import { Stat } from "./pokemon-stat";
@ -3042,11 +3042,7 @@ export function initAbilities() {
new Ability(Abilities.STALL, 4) new Ability(Abilities.STALL, 4)
.unimplemented(), .unimplemented(),
new Ability(Abilities.TECHNICIAN, 4) new Ability(Abilities.TECHNICIAN, 4)
.attr(MovePowerBoostAbAttr, (user, target, move) => { .attr(MovePowerBoostAbAttr, (user, target, move) => move.power <= 60, 1.5),
const power = new Utils.NumberHolder(move.power);
applyMoveAttrs(VariablePowerAttr, user, target, move, power);
return power.value <= 60
}, 1.5),
new Ability(Abilities.LEAF_GUARD, 4) new Ability(Abilities.LEAF_GUARD, 4)
.attr(StatusEffectImmunityAbAttr) .attr(StatusEffectImmunityAbAttr)
.condition(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)) .condition(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN))

View File

@ -940,7 +940,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
isGrounded(): boolean { isGrounded(): boolean {
return !this.isOfType(Type.FLYING, true) && !this.hasAbility(Abilities.LEVITATE); return !this.isOfType(Type.FLYING, true) && this.getAbility().id !== Abilities.LEVITATE && !!this.getTag(BattlerTagType.GROUNDED);
} }
getAttackMoveEffectiveness(source: Pokemon, move: PokemonMove): TypeDamageMultiplier { getAttackMoveEffectiveness(source: Pokemon, move: PokemonMove): TypeDamageMultiplier {
@ -1865,7 +1865,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
const scene = sceneOverride || this.scene; const scene = sceneOverride || this.scene;
const cry = this.getSpeciesForm().cry(scene, soundConfig); const cry = this.getSpeciesForm().cry(scene, soundConfig);
let duration = cry.totalDuration * 1000; let duration = cry.totalDuration * 1000;
if (this.fusionSpecies && this.getSpeciesForm() != this.getFusionSpeciesForm()) { if (this.fusionSpecies) {
let fusionCry = this.getFusionSpeciesForm().cry(scene, soundConfig, true); let fusionCry = this.getFusionSpeciesForm().cry(scene, soundConfig, true);
duration = Math.min(duration, fusionCry.totalDuration * 1000); duration = Math.min(duration, fusionCry.totalDuration * 1000);
fusionCry.destroy(); fusionCry.destroy();
@ -1884,7 +1884,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
faintCry(callback: Function): void { faintCry(callback: Function): void {
if (this.fusionSpecies && this.getSpeciesForm() != this.getFusionSpeciesForm()) if (this.fusionSpecies)
return this.fusionFaintCry(callback); return this.fusionFaintCry(callback);
const key = this.getSpeciesForm().getCryKey(this.formIndex); const key = this.getSpeciesForm().getCryKey(this.formIndex);