Compare commits

..

No commits in common. "cbf06ffa2ca647dc9ee8a89028cc044431c8b89d" and "fbc08005715ac1b1bdb4a3e38e6bf468ad3625e7" have entirely different histories.

14 changed files with 251 additions and 300 deletions

Binary file not shown.

View File

@ -1609,27 +1609,6 @@ export class BonusCritAbAttr extends AbAttr {
} }
} }
export class MultCritAbAttr extends AbAttr {
public multAmount: number;
constructor(multAmount: number) {
super(true);
this.multAmount = multAmount;
}
apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
const critMult = args[0] as Utils.NumberHolder;
if (critMult.value > 1){
critMult.value *= this.multAmount;
return true;
}
return false;
}
}
export class BlockNonDirectDamageAbAttr extends AbAttr { export class BlockNonDirectDamageAbAttr extends AbAttr {
apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean { apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
cancelled.value = true; cancelled.value = true;
@ -2797,7 +2776,7 @@ export function initAbilities() {
.attr(MoveTypeChangeAttr, Type.NORMAL, 1.2, (user, target, move) => move.id !== Moves.HIDDEN_POWER && move.id !== Moves.WEATHER_BALL && .attr(MoveTypeChangeAttr, Type.NORMAL, 1.2, (user, target, move) => move.id !== Moves.HIDDEN_POWER && move.id !== Moves.WEATHER_BALL &&
move.id !== Moves.NATURAL_GIFT && move.id !== Moves.JUDGMENT && move.id !== Moves.TECHNO_BLAST), move.id !== Moves.NATURAL_GIFT && move.id !== Moves.JUDGMENT && move.id !== Moves.TECHNO_BLAST),
new Ability(Abilities.SNIPER, 4) new Ability(Abilities.SNIPER, 4)
.attr(MultCritAbAttr, 1.5), .unimplemented(),
new Ability(Abilities.MAGIC_GUARD, 4) new Ability(Abilities.MAGIC_GUARD, 4)
.attr(BlockNonDirectDamageAbAttr), .attr(BlockNonDirectDamageAbAttr),
new Ability(Abilities.NO_GUARD, 4) new Ability(Abilities.NO_GUARD, 4)

View File

@ -391,12 +391,6 @@ export class FrenzyTag extends BattlerTag {
} }
} }
export class ChargingTag extends BattlerTag {
constructor(sourceMove: Moves, sourceId: integer) {
super(BattlerTagType.CHARGING, BattlerTagLapseType.CUSTOM, 1, sourceMove, sourceId);
}
}
export class EncoreTag extends BattlerTag { export class EncoreTag extends BattlerTag {
public moveId: Moves; public moveId: Moves;
@ -1122,8 +1116,6 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
return new NightmareTag(); return new NightmareTag();
case BattlerTagType.FRENZY: case BattlerTagType.FRENZY:
return new FrenzyTag(sourceMove, sourceId); return new FrenzyTag(sourceMove, sourceId);
case BattlerTagType.CHARGING:
return new ChargingTag(sourceMove, sourceId);
case BattlerTagType.ENCORE: case BattlerTagType.ENCORE:
return new EncoreTag(sourceId); return new EncoreTag(sourceId);
case BattlerTagType.HELPING_HAND: case BattlerTagType.HELPING_HAND:

View File

@ -9,7 +9,6 @@ export enum BattlerTagType {
SEEDED = "SEEDED", SEEDED = "SEEDED",
NIGHTMARE = "NIGHTMARE", NIGHTMARE = "NIGHTMARE",
FRENZY = "FRENZY", FRENZY = "FRENZY",
CHARGING = "CHARGING",
ENCORE = "ENCORE", ENCORE = "ENCORE",
HELPING_HAND = "HELPING_HAND", HELPING_HAND = "HELPING_HAND",
INGRAIN = "INGRAIN", INGRAIN = "INGRAIN",

View File

@ -1325,13 +1325,10 @@ export class ChargeAttr extends OverrideMoveEffectAttr {
user.getMoveQueue().push({ move: move.id, targets: [ target.getBattlerIndex() ], ignorePP: true }); user.getMoveQueue().push({ move: move.id, targets: [ target.getBattlerIndex() ], ignorePP: true });
if (this.sameTurn) if (this.sameTurn)
user.scene.pushMovePhase(new MovePhase(user.scene, user, [ target.getBattlerIndex() ], user.moveset.find(m => m.moveId === move.id), true), this.followUpPriority); user.scene.pushMovePhase(new MovePhase(user.scene, user, [ target.getBattlerIndex() ], user.moveset.find(m => m.moveId === move.id), true), this.followUpPriority);
user.addTag(BattlerTagType.CHARGING, 1, move.id, user.id);
resolve(true); resolve(true);
}); });
} else { } else
user.lapseTag(BattlerTagType.CHARGING);
resolve(false); resolve(false);
}
}); });
} }
@ -1573,7 +1570,7 @@ export class CopyStatsAttr extends MoveEffectAttr {
user.addTag(BattlerTagType.CRIT_BOOST, 0, move.id); user.addTag(BattlerTagType.CRIT_BOOST, 0, move.id);
else else
user.removeTag(BattlerTagType.CRIT_BOOST); user.removeTag(BattlerTagType.CRIT_BOOST);
target.updateInfo();
user.updateInfo(); user.updateInfo();
target.scene.queueMessage(getPokemonMessage(user, 'copied\n') + getPokemonMessage(target, `'s stat changes!`)); target.scene.queueMessage(getPokemonMessage(user, 'copied\n') + getPokemonMessage(target, `'s stat changes!`));
@ -1589,7 +1586,7 @@ export class InvertStatsAttr extends MoveEffectAttr {
for (let s = 0; s < target.summonData.battleStats.length; s++) for (let s = 0; s < target.summonData.battleStats.length; s++)
target.summonData.battleStats[s] *= -1; target.summonData.battleStats[s] *= -1;
target.updateInfo();
user.updateInfo(); user.updateInfo();
target.scene.queueMessage(getPokemonMessage(target, `'s stat changes\nwere all reversed!`)); target.scene.queueMessage(getPokemonMessage(target, `'s stat changes\nwere all reversed!`));
@ -1605,7 +1602,7 @@ export class ResetStatsAttr extends MoveEffectAttr {
for (let s = 0; s < target.summonData.battleStats.length; s++) for (let s = 0; s < target.summonData.battleStats.length; s++)
target.summonData.battleStats[s] = 0; target.summonData.battleStats[s] = 0;
target.updateInfo();
user.updateInfo(); user.updateInfo();
target.scene.queueMessage(getPokemonMessage(target, `'s stat changes\nwere eliminated!`)); target.scene.queueMessage(getPokemonMessage(target, `'s stat changes\nwere eliminated!`));
@ -1773,13 +1770,13 @@ export class BattleStatRatioPowerAttr extends VariablePowerAttr {
if (this.invert) { if (this.invert) {
// Gyro ball uses a specific formula // Gyro ball uses a specific formula
let userSpeed = user.getBattleStat(this.stat); let userSpeed = user.getStat(this.stat);
if (userSpeed < 1) { if (userSpeed < 1) {
// Gen 6+ always have 1 base power // Gen 6+ always have 1 base power
power.value = 1; power.value = 1;
return true; return true;
} }
let bp = Math.floor(Math.min(150, 25 * target.getBattleStat(this.stat) / userSpeed + 1)); let bp = Math.floor(Math.min(150, 25 * target.getStat(this.stat) / userSpeed + 1));
power.value = bp; power.value = bp;
return true; return true;
} }

View File

@ -3300,7 +3300,7 @@ export const starterPassiveAbilities = {
[Species.ENTEI]: Abilities.MOXIE, [Species.ENTEI]: Abilities.MOXIE,
[Species.SUICUNE]: Abilities.UNAWARE, [Species.SUICUNE]: Abilities.UNAWARE,
[Species.LARVITAR]: Abilities.SAND_FORCE, [Species.LARVITAR]: Abilities.SAND_FORCE,
[Species.LUGIA]: Abilities.DELTA_STREAM, [Species.LUGIA]: Abilities.STORM_DRAIN,
[Species.HO_OH]: Abilities.MAGIC_GUARD, [Species.HO_OH]: Abilities.MAGIC_GUARD,
[Species.CELEBI]: Abilities.GRASSY_SURGE, [Species.CELEBI]: Abilities.GRASSY_SURGE,
[Species.TREECKO]: Abilities.GRASSY_SURGE, [Species.TREECKO]: Abilities.GRASSY_SURGE,
@ -3366,13 +3366,13 @@ export const starterPassiveAbilities = {
[Species.LUVDISC]: Abilities.PICKUP, [Species.LUVDISC]: Abilities.PICKUP,
[Species.BAGON]: Abilities.GALE_WINGS, [Species.BAGON]: Abilities.GALE_WINGS,
[Species.BELDUM]: Abilities.IRON_FIST, [Species.BELDUM]: Abilities.IRON_FIST,
[Species.REGIROCK]: Abilities.SAND_STREAM, [Species.REGIROCK]: Abilities.REGENERATOR,
[Species.REGICE]: Abilities.SNOW_WARNING, [Species.REGICE]: Abilities.ICE_SCALES,
[Species.REGISTEEL]: Abilities.FILTER, [Species.REGISTEEL]: Abilities.STEELY_SPIRIT,
[Species.LATIAS]: Abilities.SOUL_HEART, [Species.LATIAS]: Abilities.SERENE_GRACE,
[Species.LATIOS]: Abilities.TINTED_LENS, [Species.LATIOS]: Abilities.SERENE_GRACE,
[Species.KYOGRE]: Abilities.HYDRATION, [Species.KYOGRE]: Abilities.HYDRATION,
[Species.GROUDON]: Abilities.FLAME_BODY, [Species.GROUDON]: Abilities.EARTH_EATER,
[Species.RAYQUAZA]: Abilities.UNNERVE, [Species.RAYQUAZA]: Abilities.UNNERVE,
[Species.JIRACHI]: Abilities.COMATOSE, [Species.JIRACHI]: Abilities.COMATOSE,
[Species.DEOXYS]: Abilities.PROTEAN, [Species.DEOXYS]: Abilities.PROTEAN,
@ -3414,16 +3414,16 @@ export const starterPassiveAbilities = {
[Species.MANTYKE]: Abilities.STORM_DRAIN, [Species.MANTYKE]: Abilities.STORM_DRAIN,
[Species.SNOVER]: Abilities.SNOW_CLOAK, [Species.SNOVER]: Abilities.SNOW_CLOAK,
[Species.ROTOM]: Abilities.HADRON_ENGINE, [Species.ROTOM]: Abilities.HADRON_ENGINE,
[Species.UXIE]: Abilities.UNAWARE, [Species.UXIE]: Abilities.ILLUSION,
[Species.MESPRIT]: Abilities.MOODY, [Species.MESPRIT]: Abilities.MOODY,
[Species.AZELF]: Abilities.NEUROFORCE, [Species.AZELF]: Abilities.NEUROFORCE,
[Species.DIALGA]: Abilities.SPEED_BOOST, [Species.DIALGA]: Abilities.SPEED_BOOST,
[Species.PALKIA]: Abilities.MULTISCALE, [Species.PALKIA]: Abilities.MAGIC_BOUNCE,
[Species.HEATRAN]: Abilities.FILTER, [Species.HEATRAN]: Abilities.ROUGH_SKIN,
[Species.REGIGIGAS]: Abilities.MINDS_EYE, [Species.REGIGIGAS]: Abilities.MINDS_EYE,
[Species.GIRATINA]: Abilities.SHADOW_SHIELD, [Species.GIRATINA]: Abilities.SHADOW_TAG,
[Species.CRESSELIA]: Abilities.MAGIC_BOUNCE, [Species.CRESSELIA]: Abilities.MAGIC_BOUNCE,
[Species.PHIONE]: Abilities.SIMPLE, [Species.PHIONE]: Abilities.SWIFT_SWIM,
[Species.MANAPHY]: Abilities.SIMPLE, [Species.MANAPHY]: Abilities.SIMPLE,
[Species.DARKRAI]: Abilities.UNNERVE, [Species.DARKRAI]: Abilities.UNNERVE,
[Species.SHAYMIN]: Abilities.FLOWER_VEIL, [Species.SHAYMIN]: Abilities.FLOWER_VEIL,
@ -3500,16 +3500,16 @@ export const starterPassiveAbilities = {
[Species.LARVESTA]: Abilities.DROUGHT, [Species.LARVESTA]: Abilities.DROUGHT,
[Species.COBALION]: Abilities.INTREPID_SWORD, [Species.COBALION]: Abilities.INTREPID_SWORD,
[Species.TERRAKION]: Abilities.ROCKY_PAYLOAD, [Species.TERRAKION]: Abilities.ROCKY_PAYLOAD,
[Species.VIRIZION]: Abilities.SHARPNESS, [Species.VIRIZION]: Abilities.SYMBIOSIS,
[Species.TORNADUS]: Abilities.DRIZZLE, [Species.TORNADUS]: Abilities.DELTA_STREAM,
[Species.THUNDURUS]: Abilities.DRIZZLE, [Species.THUNDURUS]: Abilities.DRIZZLE,
[Species.RESHIRAM]: Abilities.ORICHALCUM_PULSE, [Species.RESHIRAM]: Abilities.ORICHALCUM_PULSE,
[Species.ZEKROM]: Abilities.HADRON_ENGINE, [Species.ZEKROM]: Abilities.HADRON_ENGINE,
[Species.LANDORUS]: Abilities.STORM_DRAIN, [Species.LANDORUS]: Abilities.PRANKSTER,
[Species.KYUREM]: Abilities.SNOW_WARNING, [Species.KYUREM]: Abilities.SNOW_WARNING,
[Species.KELDEO]: Abilities.GRIM_NEIGH, [Species.KELDEO]: Abilities.SHARPNESS,
[Species.MELOETTA]: Abilities.MINDS_EYE, [Species.MELOETTA]: Abilities.PUNK_ROCK,
[Species.GENESECT]: Abilities.REGENERATOR, [Species.GENESECT]: Abilities.MEGA_LAUNCHER,
[Species.CHESPIN]: Abilities.IRON_BARBS, [Species.CHESPIN]: Abilities.IRON_BARBS,
[Species.FENNEKIN]: Abilities.MAGIC_BOUNCE, [Species.FENNEKIN]: Abilities.MAGIC_BOUNCE,
[Species.FROAKIE]: Abilities.ADAPTABILITY, [Species.FROAKIE]: Abilities.ADAPTABILITY,
@ -3541,11 +3541,11 @@ export const starterPassiveAbilities = {
[Species.PUMPKABOO]: Abilities.FLASH_FIRE, [Species.PUMPKABOO]: Abilities.FLASH_FIRE,
[Species.BERGMITE]: Abilities.MIRROR_ARMOR, [Species.BERGMITE]: Abilities.MIRROR_ARMOR,
[Species.NOIBAT]: Abilities.PUNK_ROCK, [Species.NOIBAT]: Abilities.PUNK_ROCK,
[Species.XERNEAS]: Abilities.MISTY_SURGE, [Species.XERNEAS]: Abilities.COMPETITIVE,
[Species.YVELTAL]: Abilities.SOUL_HEART, [Species.YVELTAL]: Abilities.DEFIANT,
[Species.ZYGARDE]: Abilities.HUGE_POWER, [Species.ZYGARDE]: Abilities.REGENERATOR,
[Species.DIANCIE]: Abilities.LEVITATE, [Species.DIANCIE]: Abilities.QUEENLY_MAJESTY,
[Species.HOOPA]: Abilities.OPPORTUNIST, [Species.HOOPA]: Abilities.TRACE,
[Species.VOLCANION]: Abilities.FILTER, [Species.VOLCANION]: Abilities.FILTER,
[Species.ROWLET]: Abilities.SNIPER, [Species.ROWLET]: Abilities.SNIPER,
[Species.LITTEN]: Abilities.PRANKSTER, [Species.LITTEN]: Abilities.PRANKSTER,
@ -3582,26 +3582,26 @@ export const starterPassiveAbilities = {
[Species.DRAMPA]: Abilities.FLASH_FIRE, [Species.DRAMPA]: Abilities.FLASH_FIRE,
[Species.DHELMISE]: Abilities.INFILTRATOR, [Species.DHELMISE]: Abilities.INFILTRATOR,
[Species.JANGMO_O]: Abilities.DANCER, [Species.JANGMO_O]: Abilities.DANCER,
[Species.TAPU_KOKO]: Abilities.TRANSISTOR, [Species.TAPU_KOKO]: Abilities.GALVANIZE,
[Species.TAPU_LELE]: Abilities.SHEER_FORCE, [Species.TAPU_LELE]: Abilities.BERSERK,
[Species.TAPU_BULU]: Abilities.GRASS_PELT, [Species.TAPU_BULU]: Abilities.FLOWER_VEIL,
[Species.TAPU_FINI]: Abilities.FAIRY_AURA, [Species.TAPU_FINI]: Abilities.FAIRY_AURA,
[Species.COSMOG]: Abilities.BEAST_BOOST, [Species.COSMOG]: Abilities.BEAST_BOOST,
[Species.NIHILEGO]: Abilities.LEVITATE, [Species.NIHILEGO]: Abilities.POISON_PUPPETEER,
[Species.BUZZWOLE]: Abilities.MOXIE, [Species.BUZZWOLE]: Abilities.MOXIE,
[Species.PHEROMOSA]: Abilities.TINTED_LENS, [Species.PHEROMOSA]: Abilities.MOXIE,
[Species.XURKITREE]: Abilities.TRANSISTOR, [Species.XURKITREE]: Abilities.LIGHTNING_ROD,
[Species.CELESTEELA]: Abilities.HEATPROOF, [Species.CELESTEELA]: Abilities.CHLOROPHYLL,
[Species.KARTANA]: Abilities.SHARPNESS, [Species.KARTANA]: Abilities.SHARPNESS,
[Species.GUZZLORD]: Abilities.INNARDS_OUT, [Species.GUZZLORD]: Abilities.GLUTTONY,
[Species.NECROZMA]: Abilities.BEAST_BOOST, [Species.NECROZMA]: Abilities.BEAST_BOOST,
[Species.MAGEARNA]: Abilities.STEELY_SPIRIT, [Species.MAGEARNA]: Abilities.STEELY_SPIRIT,
[Species.MARSHADOW]: Abilities.IRON_FIST, [Species.MARSHADOW]: Abilities.IRON_FIST,
[Species.POIPOLE]: Abilities.SHEER_FORCE, [Species.POIPOLE]: Abilities.MERCILESS,
[Species.STAKATAKA]: Abilities.SOLID_ROCK, [Species.STAKATAKA]: Abilities.DAUNTLESS_SHIELD,
[Species.BLACEPHALON]: Abilities.MAGIC_GUARD, [Species.BLACEPHALON]: Abilities.MAGIC_GUARD,
[Species.ZERAORA]: Abilities.TOUGH_CLAWS, [Species.ZERAORA]: Abilities.MOTOR_DRIVE,
[Species.MELTAN]: Abilities.STEELY_SPIRIT, [Species.MELTAN]: Abilities.FULL_METAL_BODY,
[Species.GROOKEY]: Abilities.GRASS_PELT, [Species.GROOKEY]: Abilities.GRASS_PELT,
[Species.SCORBUNNY]: Abilities.RECKLESS, [Species.SCORBUNNY]: Abilities.RECKLESS,
[Species.SOBBLE]: Abilities.SUPER_LUCK, [Species.SOBBLE]: Abilities.SUPER_LUCK,
@ -3639,17 +3639,17 @@ export const starterPassiveAbilities = {
[Species.ARCTOVISH]: Abilities.STRONG_JAW, [Species.ARCTOVISH]: Abilities.STRONG_JAW,
[Species.DURALUDON]: Abilities.MEGA_LAUNCHER, [Species.DURALUDON]: Abilities.MEGA_LAUNCHER,
[Species.DREEPY]: Abilities.PARENTAL_BOND, [Species.DREEPY]: Abilities.PARENTAL_BOND,
[Species.ZACIAN]: Abilities.UNNERVE, [Species.ZACIAN]: Abilities.GUARD_DOG,
[Species.ZAMAZENTA]: Abilities.STAMINA, [Species.ZAMAZENTA]: Abilities.GUARD_DOG,
[Species.ETERNATUS]: Abilities.SUPREME_OVERLORD, [Species.ETERNATUS]: Abilities.SUPREME_OVERLORD,
[Species.KUBFU]: Abilities.IRON_FIST, [Species.KUBFU]: Abilities.IRON_FIST,
[Species.ZARUDE]: Abilities.GRASSY_SURGE, [Species.ZARUDE]: Abilities.PRANKSTER,
[Species.REGIELEKI]: Abilities.ELECTRIC_SURGE, [Species.REGIELEKI]: Abilities.LEVITATE,
[Species.REGIDRAGO]: Abilities.MULTISCALE, [Species.REGIDRAGO]: Abilities.INTIMIDATE,
[Species.GLASTRIER]: Abilities.FILTER, [Species.GLASTRIER]: Abilities.FILTER,
[Species.SPECTRIER]: Abilities.SHADOW_SHIELD, [Species.SPECTRIER]: Abilities.PERISH_BODY,
[Species.CALYREX]: Abilities.HARVEST, [Species.CALYREX]: Abilities.HARVEST,
[Species.ENAMORUS]: Abilities.FAIRY_AURA, [Species.ENAMORUS]: Abilities.PRANKSTER,
[Species.SPRIGATITO]: Abilities.MAGICIAN, [Species.SPRIGATITO]: Abilities.MAGICIAN,
[Species.FUECOCO]: Abilities.EARTH_EATER, [Species.FUECOCO]: Abilities.EARTH_EATER,
[Species.QUAXLY]: Abilities.DANCER, [Species.QUAXLY]: Abilities.DANCER,
@ -3688,40 +3688,40 @@ export const starterPassiveAbilities = {
[Species.DONDOZO]: Abilities.GLUTTONY, [Species.DONDOZO]: Abilities.GLUTTONY,
[Species.TATSUGIRI]: Abilities.WATER_BUBBLE, [Species.TATSUGIRI]: Abilities.WATER_BUBBLE,
[Species.GREAT_TUSK]: Abilities.INTIMIDATE, [Species.GREAT_TUSK]: Abilities.INTIMIDATE,
[Species.SCREAM_TAIL]: Abilities.UNAWARE, [Species.SCREAM_TAIL]: Abilities.PIXILATE,
[Species.BRUTE_BONNET]: Abilities.BEAST_BOOST, [Species.BRUTE_BONNET]: Abilities.BEAST_BOOST,
[Species.FLUTTER_MANE]: Abilities.DAZZLING, [Species.FLUTTER_MANE]: Abilities.DAZZLING,
[Species.SLITHER_WING]: Abilities.SCRAPPY, [Species.SLITHER_WING]: Abilities.MOXIE,
[Species.SANDY_SHOCKS]: Abilities.EARTH_EATER, [Species.SANDY_SHOCKS]: Abilities.EARTH_EATER,
[Species.IRON_TREADS]: Abilities.STEELY_SPIRIT, [Species.IRON_TREADS]: Abilities.BULLETPROOF,
[Species.IRON_BUNDLE]: Abilities.SNOW_WARNING, [Species.IRON_BUNDLE]: Abilities.SNOW_WARNING,
[Species.IRON_HANDS]: Abilities.IRON_FIST, [Species.IRON_HANDS]: Abilities.IRON_FIST,
[Species.IRON_JUGULIS]: Abilities.AERILATE, [Species.IRON_JUGULIS]: Abilities.NO_GUARD,
[Species.IRON_MOTH]: Abilities.LEVITATE, [Species.IRON_MOTH]: Abilities.LEVITATE,
[Species.IRON_THORNS]: Abilities.SAND_STREAM, [Species.IRON_THORNS]: Abilities.SAND_STREAM,
[Species.FRIGIBAX]: Abilities.THICK_FAT, [Species.FRIGIBAX]: Abilities.THICK_FAT,
[Species.GIMMIGHOUL]: Abilities.SUPER_LUCK, [Species.GIMMIGHOUL]: Abilities.SUPER_LUCK,
[Species.WO_CHIEN]: Abilities.GRASSY_SURGE, [Species.WO_CHIEN]: Abilities.TRIAGE,
[Species.CHIEN_PAO]: Abilities.INTREPID_SWORD, [Species.CHIEN_PAO]: Abilities.REFRIGERATE,
[Species.TING_LU]: Abilities.STAMINA, [Species.TING_LU]: Abilities.STAMINA,
[Species.CHI_YU]: Abilities.DROUGHT, [Species.CHI_YU]: Abilities.BLAZE,
[Species.ROARING_MOON]: Abilities.TOUGH_CLAWS, [Species.ROARING_MOON]: Abilities.AERILATE,
[Species.IRON_VALIANT]: Abilities.DOWNLOAD, [Species.IRON_VALIANT]: Abilities.DOWNLOAD,
[Species.KORAIDON]: Abilities.PROTOSYNTHESIS, [Species.KORAIDON]: Abilities.PROTOSYNTHESIS,
[Species.MIRAIDON]: Abilities.QUARK_DRIVE, [Species.MIRAIDON]: Abilities.QUARK_DRIVE,
[Species.WALKING_WAKE]: Abilities.BEAST_BOOST, [Species.WALKING_WAKE]: Abilities.BEAST_BOOST,
[Species.IRON_LEAVES]: Abilities.SHARPNESS, [Species.IRON_LEAVES]: Abilities.SHARPNESS,
[Species.POLTCHAGEIST]: Abilities.FLAME_BODY, [Species.POLTCHAGEIST]: Abilities.FLAME_BODY,
[Species.OKIDOGI]: Abilities.FUR_COAT, [Species.OKIDOGI]: Abilities.INTIMIDATE,
[Species.MUNKIDORI]: Abilities.NEUROFORCE, [Species.MUNKIDORI]: Abilities.PRANKSTER,
[Species.FEZANDIPITI]: Abilities.LEVITATE, [Species.FEZANDIPITI]: Abilities.DAZZLING,
[Species.OGERPON]: Abilities.OPPORTUNIST, [Species.OGERPON]: Abilities.OPPORTUNIST,
[Species.GOUGING_FIRE]: Abilities.BEAST_BOOST, [Species.GOUGING_FIRE]: Abilities.BEAST_BOOST,
[Species.RAGING_BOLT]: Abilities.BEAST_BOOST, [Species.RAGING_BOLT]: Abilities.BEAST_BOOST,
[Species.IRON_BOULDER]: Abilities.SHARPNESS, [Species.IRON_BOULDER]: Abilities.SHARPNESS,
[Species.IRON_CROWN]: Abilities.SHARPNESS, [Species.IRON_CROWN]: Abilities.SHARPNESS,
[Species.TERAPAGOS]: Abilities.REGENERATOR, [Species.TERAPAGOS]: Abilities.PROTEAN,
[Species.PECHARUNT]: Abilities.TOXIC_CHAIN, [Species.PECHARUNT]: Abilities.CORROSION,
[Species.ALOLA_RATTATA]: Abilities.CHEEK_POUCH, [Species.ALOLA_RATTATA]: Abilities.CHEEK_POUCH,
[Species.ALOLA_SANDSHREW]: Abilities.ICE_BODY, [Species.ALOLA_SANDSHREW]: Abilities.ICE_BODY,
[Species.ALOLA_VULPIX]: Abilities.ICE_BODY, [Species.ALOLA_VULPIX]: Abilities.ICE_BODY,
@ -3736,7 +3736,7 @@ export const starterPassiveAbilities = {
[Species.GALAR_FARFETCHD]: Abilities.SUPER_LUCK, [Species.GALAR_FARFETCHD]: Abilities.SUPER_LUCK,
[Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE, [Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE,
[Species.GALAR_ZAPDOS]: Abilities.TOUGH_CLAWS, [Species.GALAR_ZAPDOS]: Abilities.TOUGH_CLAWS,
[Species.GALAR_MOLTRES]: Abilities.DARK_AURA, [Species.GALAR_MOLTRES]: Abilities.REGENERATOR,
[Species.GALAR_CORSOLA]: Abilities.SHADOW_TAG, [Species.GALAR_CORSOLA]: Abilities.SHADOW_TAG,
[Species.GALAR_ZIGZAGOON]: Abilities.PICKPOCKET, [Species.GALAR_ZIGZAGOON]: Abilities.PICKPOCKET,
[Species.GALAR_DARUMAKA]: Abilities.FLASH_FIRE, [Species.GALAR_DARUMAKA]: Abilities.FLASH_FIRE,

View File

@ -27,7 +27,7 @@ import { TempBattleStat } from '../data/temp-battle-stat';
import { ArenaTagSide, WeakenMoveScreenTag, WeakenMoveTypeTag } from '../data/arena-tag'; import { ArenaTagSide, WeakenMoveScreenTag, WeakenMoveTypeTag } from '../data/arena-tag';
import { ArenaTagType } from "../data/enums/arena-tag-type"; import { ArenaTagType } from "../data/enums/arena-tag-type";
import { Biome } from "../data/enums/biome"; import { Biome } from "../data/enums/biome";
import { Ability, AbAttr, BattleStatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, FieldVariableMovePowerAbAttr, IgnoreOpponentStatChangesAbAttr, MoveImmunityAbAttr, MoveTypeChangeAttr, NonSuperEffectiveImmunityAbAttr, PreApplyBattlerTagAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, VariableMoveTypeAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyBattleStatMultiplierAbAttrs, applyPostDefendAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr, MultCritAbAttr } from '../data/ability'; import { Ability, AbAttr, BattleStatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, FieldVariableMovePowerAbAttr, IgnoreOpponentStatChangesAbAttr, MoveImmunityAbAttr, MoveTypeChangeAttr, NonSuperEffectiveImmunityAbAttr, PreApplyBattlerTagAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, VariableMoveTypeAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyBattleStatMultiplierAbAttrs, applyPostDefendAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr } from '../data/ability';
import { Abilities } from "#app/data/enums/abilities"; import { Abilities } from "#app/data/enums/abilities";
import PokemonData from '../system/pokemon-data'; import PokemonData from '../system/pokemon-data';
import Battle, { BattlerIndex } from '../battle'; import Battle, { BattlerIndex } from '../battle';
@ -1332,8 +1332,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
const sourceAtk = new Utils.IntegerHolder(source.getBattleStat(isPhysical ? Stat.ATK : Stat.SPATK, this, null, isCritical)); const sourceAtk = new Utils.IntegerHolder(source.getBattleStat(isPhysical ? Stat.ATK : Stat.SPATK, this, null, isCritical));
const targetDef = new Utils.IntegerHolder(this.getBattleStat(isPhysical ? Stat.DEF : Stat.SPDEF, source, move, isCritical)); const targetDef = new Utils.IntegerHolder(this.getBattleStat(isPhysical ? Stat.DEF : Stat.SPDEF, source, move, isCritical));
const criticalMultiplier = new Utils.NumberHolder(isCritical ? 1.5 : 1); const criticalMultiplier = isCritical ? 1.5 : 1;
applyAbAttrs(MultCritAbAttr, source, null, criticalMultiplier);
const screenMultiplier = new Utils.NumberHolder(1); const screenMultiplier = new Utils.NumberHolder(1);
if (!isCritical) { if (!isCritical) {
this.scene.arena.applyTagsForSide(WeakenMoveScreenTag, this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY, move.category, this.scene.currentBattle.double, screenMultiplier); this.scene.arena.applyTagsForSide(WeakenMoveScreenTag, this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY, move.category, this.scene.currentBattle.double, screenMultiplier);
@ -1356,7 +1355,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
applyMoveAttrs(VariableDefAttr, source, this, move, targetDef); applyMoveAttrs(VariableDefAttr, source, this, move, targetDef);
if (!isTypeImmune) { if (!isTypeImmune) {
damage.value = Math.ceil(((((2 * source.level / 5 + 2) * power.value * sourceAtk.value / targetDef.value) / 50) + 2) * stabMultiplier.value * typeMultiplier.value * arenaAttackTypeMultiplier * screenMultiplier.value * ((this.scene.randBattleSeedInt(15) + 85) / 100) * criticalMultiplier.value); damage.value = Math.ceil(((((2 * source.level / 5 + 2) * power.value * sourceAtk.value / targetDef.value) / 50) + 2) * stabMultiplier.value * typeMultiplier.value * arenaAttackTypeMultiplier * screenMultiplier.value * ((this.scene.randBattleSeedInt(15) + 85) / 100) * criticalMultiplier);
if (isPhysical && source.status && source.status.effect === StatusEffect.BURN) { if (isPhysical && source.status && source.status.effect === StatusEffect.BURN) {
const burnDamageReductionCancelled = new Utils.BooleanHolder(false); const burnDamageReductionCancelled = new Utils.BooleanHolder(false);
applyAbAttrs(BypassBurnDamageReductionAbAttr, source, burnDamageReductionCancelled); applyAbAttrs(BypassBurnDamageReductionAbAttr, source, burnDamageReductionCancelled);
@ -2474,7 +2473,7 @@ export class PlayerPokemon extends Pokemon {
if (newEvolution.condition.predicate(this)) { if (newEvolution.condition.predicate(this)) {
const newPokemon = this.scene.addPlayerPokemon(this.species, this.level, this.abilityIndex, this.formIndex, undefined, this.shiny, this.variant, this.ivs, this.nature); const newPokemon = this.scene.addPlayerPokemon(this.species, this.level, this.abilityIndex, this.formIndex, undefined, this.shiny, this.variant, this.ivs, this.nature);
newPokemon.natureOverride = this.natureOverride; newPokemon.natureOverride = this.natureOverride;
newPokemon.moveset = this.copyMoveset(); newPokemon.moveset = this.moveset.slice();
newPokemon.luck = this.luck; newPokemon.luck = this.luck;
newPokemon.fusionSpecies = this.fusionSpecies; newPokemon.fusionSpecies = this.fusionSpecies;
@ -2584,15 +2583,6 @@ export class PlayerPokemon extends Pokemon {
this.updateFusionPalette(); this.updateFusionPalette();
}); });
} }
/** Returns a deep copy of this Pokemon's moveset array */
copyMoveset(): PokemonMove[] {
let newMoveset = [];
this.moveset.forEach(move =>
newMoveset.push(new PokemonMove(move.moveId, 0, move.ppUp, move.virtual)));
return newMoveset;
}
} }
export class EnemyPokemon extends Pokemon { export class EnemyPokemon extends Pokemon {

View File

@ -223,7 +223,6 @@ export class LoadingScene extends SceneBase {
this.loadSe('sparkle'); this.loadSe('sparkle');
this.loadSe('restore'); this.loadSe('restore');
this.loadSe('shine'); this.loadSe('shine');
this.loadSe('shing');
this.loadSe('charge'); this.loadSe('charge');
this.loadSe('beam'); this.loadSe('beam');
this.loadSe('upgrade'); this.loadSe('upgrade');

View File

@ -605,208 +605,208 @@ export const pokemon: SimpleTranslationEntries = {
"tynamo": "Zapplardin", "tynamo": "Zapplardin",
"eelektrik": "Zapplalek", "eelektrik": "Zapplalek",
"eelektross": "Zapplarang", "eelektross": "Zapplarang",
"elgyem": "Pygraulon", "elgyem": "Elgyem",
"beheeyem": "Megalon", "beheeyem": "Beheeyem",
"litwick": "Lichtel", "litwick": "Litwick",
"lampent": "Laternecto", "lampent": "Lampent",
"chandelure": "Skelabra", "chandelure": "Chandelure",
"axew": "Milza", "axew": "Axew",
"fraxure": "Scharfax", "fraxure": "Fraxure",
"haxorus": "Maxax", "haxorus": "Haxorus",
"cubchoo": "Petznief", "cubchoo": "Cubchoo",
"beartic": "Siberio", "beartic": "Beartic",
"cryogonal": "Frigometri", "cryogonal": "Cryogonal",
"shelmet": "Schnuthelm", "shelmet": "Shelmet",
"accelgor": "Hydragil", "accelgor": "Accelgor",
"stunfisk": "Flunschlik", "stunfisk": "Stunfisk",
"mienfoo": "Lin-Fu", "mienfoo": "Mienfoo",
"mienshao": "Wie-Shu", "mienshao": "Mienshao",
"druddigon": "Shardrago", "druddigon": "Druddigon",
"golett": "Golbit", "golett": "Golett",
"golurk": "Golgantes", "golurk": "Golurk",
"pawniard": "Gladiantri", "pawniard": "Pawniard",
"bisharp": "Ceasurio", "bisharp": "Bisharp",
"bouffalant": "Bisofank", "bouffalant": "Bouffalant",
"rufflet": "Geronimatz", "rufflet": "Rufflet",
"braviary": "Washakwil", "braviary": "Braviary",
"vullaby": "Skallyk", "vullaby": "Vullaby",
"mandibuzz": "Grypheldis", "mandibuzz": "Mandibuzz",
"heatmor": "Furnifraß", "heatmor": "Heatmor",
"durant": "Fermicula", "durant": "Durant",
"deino": "Kapuno", "deino": "Deino",
"zweilous": "Duodino", "zweilous": "Zweilous",
"hydreigon": "Trikephalo", "hydreigon": "Hydreigon",
"larvesta": "Ignivor", "larvesta": "Larvesta",
"volcarona": "Ramoth", "volcarona": "Volcarona",
"cobalion": "Kobalium", "cobalion": "Cobalion",
"terrakion": "Terrakium", "terrakion": "Terrakion",
"virizion": "Viridium", "virizion": "Virizion",
"tornadus": "Boreos", "tornadus": "Tornadus",
"thundurus": "Voltolos", "thundurus": "Thundurus",
"reshiram": "Reshiram", "reshiram": "Reshiram",
"zekrom": "Zekrom", "zekrom": "Zekrom",
"landorus": "Dementeros", "landorus": "Landorus",
"kyurem": "Kyurem", "kyurem": "Kyurem",
"keldeo": "Keldeo", "keldeo": "Keldeo",
"meloetta": "Meloetta", "meloetta": "Meloetta",
"genesect": "Genesect", "genesect": "Genesect",
"chespin": "Igamaro", "chespin": "Chespin",
"quilladin": "Igastarnish", "quilladin": "Quilladin",
"chesnaught": "Brigaron", "chesnaught": "Chesnaught",
"fennekin": "Fynx", "fennekin": "Fennekin",
"braixen": "Rutena", "braixen": "Braixen",
"delphox": "Fennexis", "delphox": "Delphox",
"froakie": "Froxy", "froakie": "Froakie",
"frogadier": "Amphizel", "frogadier": "Frogadier",
"greninja": "Quajutsu", "greninja": "Greninja",
"bunnelby": "Scoppel", "bunnelby": "Bunnelby",
"diggersby": "Grebbit", "diggersby": "Diggersby",
"fletchling": "Dartiri", "fletchling": "Fletchling",
"fletchinder": "Dartignis", "fletchinder": "Fletchinder",
"talonflame": "Fiaro", "talonflame": "Talonflame",
"scatterbug": "Purmel", "scatterbug": "Scatterbug",
"spewpa": "Puponcho", "spewpa": "Spewpa",
"vivillon": "Vivillon", "vivillon": "Vivillon",
"litleo": "Leufeo", "litleo": "Litleo",
"pyroar": "Pyroleo", "pyroar": "Pyroar",
"flabebe": "Flabébé", "flabebe": "Flabébé",
"floette": "Floette", "floette": "Floette",
"florges": "Florges", "florges": "Florges",
"skiddo": "Mähikel", "skiddo": "Skiddo",
"gogoat": "Chevrumm", "gogoat": "Gogoat",
"pancham": "Pam-Pam", "pancham": "Pancham",
"pangoro": "Pandrago", "pangoro": "Pangoro",
"furfrou": "Coiffwaff", "furfrou": "Furfrou",
"espurr": "Psiau", "espurr": "Espurr",
"meowstic": "Psiaugon", "meowstic": "Meowstic",
"honedge": "Gramokles", "honedge": "Honedge",
"doublade": "Duokles", "doublade": "Doublade",
"aegislash": "Durengard", "aegislash": "Aegislash",
"spritzee": "Parfi", "spritzee": "Spritzee",
"aromatisse": "Parfinesse", "aromatisse": "Aromatisse",
"swirlix": "Flauschling", "swirlix": "Swirlix",
"slurpuff": "Sabbaione", "slurpuff": "Slurpuff",
"inkay": "Iscalar", "inkay": "Inkay",
"malamar": "Calamanero", "malamar": "Malamar",
"binacle": "Bithora", "binacle": "Binacle",
"barbaracle": "Thanathora", "barbaracle": "Barbaracle",
"skrelp": "Algitt", "skrelp": "Skrelp",
"dragalge": "Tandrak", "dragalge": "Dragalge",
"clauncher": "Scampisto", "clauncher": "Clauncher",
"clawitzer": "Wummer", "clawitzer": "Clawitzer",
"helioptile": "Eguana", "helioptile": "Helioptile",
"heliolisk": "Elezard", "heliolisk": "Heliolisk",
"tyrunt": "Balgoras", "tyrunt": "Tyrunt",
"tyrantrum": "Monargoras", "tyrantrum": "Tyrantrum",
"amaura": "Amarino", "amaura": "Amaura",
"aurorus": "Amagarga", "aurorus": "Aurorus",
"sylveon": "Feelinara", "sylveon": "Sylveon",
"hawlucha": "Resladero", "hawlucha": "Hawlucha",
"dedenne": "Dedenne", "dedenne": "Dedenne",
"carbink": "Rocara", "carbink": "Carbink",
"goomy": "Viscora", "goomy": "Goomy",
"sliggoo": "Viscargot", "sliggoo": "Sliggoo",
"goodra": "Viscogon", "goodra": "Goodra",
"klefki": "Clavion", "klefki": "Klefki",
"phantump": "Paragoni", "phantump": "Phantump",
"trevenant": "Trombork", "trevenant": "Trevenant",
"pumpkaboo": "Irrbis", "pumpkaboo": "Pumpkaboo",
"gourgeist": "Pumpdjinn", "gourgeist": "Gourgeist",
"bergmite": "Arktip", "bergmite": "Bergmite",
"avalugg": "Arktilas", "avalugg": "Avalugg",
"noibat": "eF-eM", "noibat": "Noibat",
"noivern": "UHaFnir", "noivern": "Noivern",
"xerneas": "Xerneas", "xerneas": "Xerneas",
"yveltal": "Yveltal", "yveltal": "Yveltal",
"zygarde": "Zygarde", "zygarde": "Zygarde",
"diancie": "Diancie", "diancie": "Diancie",
"hoopa": "Hoopa", "hoopa": "Hoopa",
"volcanion": "Volcanion", "volcanion": "Volcanion",
"rowlet": "Bauz", "rowlet": "Rowlet",
"dartrix": "Arboretoss", "dartrix": "Dartrix",
"decidueye": "Silvarro", "decidueye": "Decidueye",
"litten": "Flamiau", "litten": "Litten",
"torracat": "Miezunder", "torracat": "Torracat",
"incineroar": "Fuegro", "incineroar": "Incineroar",
"popplio": "Robball", "popplio": "Popplio",
"brionne": "Marikeck", "brionne": "Brionne",
"primarina": "Primarene", "primarina": "Primarina",
"pikipek": "Peppeck", "pikipek": "Pikipek",
"trumbeak": "Trompeck", "trumbeak": "Trumbeak",
"toucannon": "Tukanon", "toucannon": "Toucannon",
"yungoos": "Mangunior", "yungoos": "Yungoos",
"gumshoos": "Manguspektor", "gumshoos": "Gumshoos",
"grubbin": "Mabula", "grubbin": "Grubbin",
"charjabug": "Akkup", "charjabug": "Charjabug",
"vikavolt": "Donarion", "vikavolt": "Vikavolt",
"crabrawler": "Krabbox", "crabrawler": "Crabrawler",
"crabominable": "Krawell", "crabominable": "Crabominable",
"oricorio": "Choreogel", "oricorio": "Oricorio",
"cutiefly": "Wommel", "cutiefly": "Cutiefly",
"ribombee": "Bandelby", "ribombee": "Ribombee",
"rockruff": "Wuffels", "rockruff": "Rockruff",
"lycanroc": "Wolwerock", "lycanroc": "Lycanroc",
"wishiwashi": "Lusardin", "wishiwashi": "Wishiwashi",
"mareanie": "Garstella", "mareanie": "Mareanie",
"toxapex": "Aggrostella", "toxapex": "Toxapex",
"mudbray": "Pampuli", "mudbray": "Mudbray",
"mudsdale": "Pampross", "mudsdale": "Mudsdale",
"dewpider": "Araqua", "dewpider": "Dewpider",
"araquanid": "Aranestro", "araquanid": "Araquanid",
"fomantis": "Imantis", "fomantis": "Fomantis",
"lurantis": "Mantidea", "lurantis": "Lurantis",
"morelull": "Bubungus", "morelull": "Morelull",
"shiinotic": "Lamellus", "shiinotic": "Shiinotic",
"salandit": "Molunk", "salandit": "Salandit",
"salazzle": "Amfira", "salazzle": "Salazzle",
"stufful": "Velursi", "stufful": "Stufful",
"bewear": "Kosturso", "bewear": "Bewear",
"bounsweet": "Frubberl", "bounsweet": "Bounsweet",
"steenee": "Frubaila", "steenee": "Steenee",
"tsareena": "Fruyal", "tsareena": "Tsareena",
"comfey": "Curelei", "comfey": "Comfey",
"oranguru": "Kommandutan", "oranguru": "Oranguru",
"passimian": "Quartermak", "passimian": "Passimian",
"wimpod": "Reißlaus", "wimpod": "Wimpod",
"golisopod": "Tectass", "golisopod": "Golisopod",
"sandygast": "Sankabuh", "sandygast": "Sandygast",
"palossand": "Colossand", "palossand": "Palossand",
"pyukumuku": "Gufa", "pyukumuku": "Pyukumuku",
"type_null": "Typ:Null", "type_null": "Type: Null",
"silvally": "Amigento", "silvally": "Silvally",
"minior": "Meteno", "minior": "Minior",
"komala": "Koalelu", "komala": "Komala",
"turtonator": "Turtonator", "turtonator": "Turtonator",
"togedemaru": "Togedemaru", "togedemaru": "Togedemaru",
"mimikyu": "Mimigma", "mimikyu": "Mimikyu",
"bruxish": "Knirfish", "bruxish": "Bruxish",
"drampa": "Sen-Long", "drampa": "Drampa",
"dhelmise": "Moruda", "dhelmise": "Dhelmise",
"jangmo_o": "Miniras", "jangmo_o": "Jangmo-o",
"hakamo_o": "Mediras", "hakamo_o": "Hakamo-o",
"kommo_o": "Grandiras", "kommo_o": "Kommo-o",
"tapu_koko": "Kapu-Riki", "tapu_koko": "Tapu Koko",
"tapu_lele": "Kapu-Fala", "tapu_lele": "Tapu Lele",
"tapu_bulu": "Kapu-Toro", "tapu_bulu": "Tapu Bulu",
"tapu_fini": "Kapu-Kime", "tapu_fini": "Tapu Fini",
"cosmog": "Cosmog", "cosmog": "Cosmog",
"cosmoem": "Cosmovum", "cosmoem": "Cosmoem",
"solgaleo": "Solgaleo", "solgaleo": "Solgaleo",
"lunala": "Lunala", "lunala": "Lunala",
"nihilego": "Anego", "nihilego": "Nihilego",
"buzzwole": "Masskito", "buzzwole": "Buzzwole",
"pheromosa": "Schabelle", "pheromosa": "Pheromosa",
"xurkitree": "Voltriant", "xurkitree": "Xurkitree",
"celesteela": "Kaguron", "celesteela": "Celesteela",
"kartana": "Katagami", "kartana": "Kartana",
"guzzlord": "Schlingking", "guzzlord": "Guzzlord",
"necrozma": "Necrozma", "necrozma": "Necrozma",
"magearna": "Magearna", "magearna": "Magearna",
"marshadow": "Marshadow", "marshadow": "Marshadow",
"poipole": "Venicro", "poipole": "Poipole",
"naganadel": "Agoyon", "naganadel": "Naganadel",
"stakataka": "Muramura", "stakataka": "Stakataka",
"blacephalon": "Kopplosio", "blacephalon": "Blacephalon",
"zeraora": "Zeraora", "zeraora": "Zeraora",
"meltan": "Meltan", "meltan": "Meltan",
"melmetal": "Melmetal", "melmetal": "Melmetal",

View File

@ -13,9 +13,9 @@ export const menuUiHandler: SimpleTranslationEntries = {
"LOG_OUT": "Déconnexion", "LOG_OUT": "Déconnexion",
"slot": "Emplacement {{slotNumber}}", "slot": "Emplacement {{slotNumber}}",
"importSession": "Importer session", "importSession": "Importer session",
"importSlotSelect": "Sélectionnez lemplacement vers lequel importer les données.", "importSlotSelect": "Sélectionnez l'emplacement vers lequel importer les données.",
"exportSession": "Exporter session", "exportSession": "Exporter session",
"exportSlotSelect": "Sélectionnez lemplacement depuis lequel exporter les données.", "exportSlotSelect": "Sélectionnez l'emplacement depuis lequel exporter les données.",
"importData": "Importer données", "importData": "Importer données",
"exportData": "Exporter données", "exportData": "Exporter données",
"cancel": "Retour", "cancel": "Retour",

View File

@ -1686,8 +1686,6 @@ export class CommandPhase extends FieldPhase {
console.log(moveTargets, playerPokemon.name); console.log(moveTargets, playerPokemon.name);
if (moveTargets.targets.length <= 1 || moveTargets.multiple) if (moveTargets.targets.length <= 1 || moveTargets.multiple)
turnCommand.move.targets = moveTargets.targets; turnCommand.move.targets = moveTargets.targets;
else if(playerPokemon.getTag(BattlerTagType.CHARGING) && playerPokemon.getMoveQueue().length >= 1)
turnCommand.move.targets = playerPokemon.getMoveQueue()[0].targets;
else else
this.scene.unshiftPhase(new SelectTargetPhase(this.scene, this.fieldIndex)); this.scene.unshiftPhase(new SelectTargetPhase(this.scene, this.fieldIndex));
this.scene.currentBattle.turnCommands[this.fieldIndex] = turnCommand; this.scene.currentBattle.turnCommands[this.fieldIndex] = turnCommand;
@ -2329,12 +2327,11 @@ export class MovePhase extends BattlePhase {
showMoveText(): void { showMoveText(): void {
if (this.move.getMove().getAttrs(ChargeAttr).length) { if (this.move.getMove().getAttrs(ChargeAttr).length) {
const lastMove = this.pokemon.getLastXMoves() as TurnMove[];
if (!lastMove.length || lastMove[0].move !== this.move.getMove().id || lastMove[0].result !== MoveResult.OTHER){
this.scene.queueMessage(getPokemonMessage(this.pokemon, ` used\n${this.move.getName()}!`), 500); this.scene.queueMessage(getPokemonMessage(this.pokemon, ` used\n${this.move.getName()}!`), 500);
const lastMove = this.pokemon.getLastXMoves() as TurnMove[];
if (!lastMove.length || lastMove[0].move !== this.move.getMove().id || lastMove[0].result !== MoveResult.OTHER)
return; return;
} }
}
if (this.pokemon.getTag(BattlerTagType.RECHARGING|| BattlerTagType.INTERRUPTED)) if (this.pokemon.getTag(BattlerTagType.RECHARGING|| BattlerTagType.INTERRUPTED))
return; return;

View File

@ -1060,7 +1060,7 @@ export class GameData {
this.gameStats.shinyPokemonHatched++; this.gameStats.shinyPokemonHatched++;
} }
if (!hasPrevolution && (!pokemon.scene.gameMode.isDaily || hasNewAttr || fromEgg)) if (!hasPrevolution && (!pokemon.scene.gameMode.isDaily || hasNewAttr))
this.addStarterCandy(species, (1 * (pokemon.isShiny() ? 5 * Math.pow(2, pokemon.variant || 0) : 1)) * (fromEgg || pokemon.isBoss() ? 2 : 1)); this.addStarterCandy(species, (1 * (pokemon.isShiny() ? 5 * Math.pow(2, pokemon.variant || 0) : 1)) * (fromEgg || pokemon.isBoss() ? 2 : 1));
} }

View File

@ -69,8 +69,6 @@ export default class CandyBar extends Phaser.GameObjects.Container {
if (this.tween) if (this.tween)
this.tween.stop(); this.tween.stop();
(this.scene as BattleScene).playSound('shing');
this.tween = this.scene.tweens.add({ this.tween = this.scene.tweens.add({
targets: this, targets: this,
x: (this.scene.game.canvas.width / 6) - (this.bg.width - 5), x: (this.scene.game.canvas.width / 6) - (this.bg.width - 5),

View File

@ -258,7 +258,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
async setupWithData(data: SessionSaveData) { async setupWithData(data: SessionSaveData) {
this.remove(this.loadingLabel, true); this.remove(this.loadingLabel, true);
const gameModeLabel = addTextObject(this.scene, 8, 5, `${gameModes[data.gameMode]?.getName() || 'Unknown'} - Wave ${data.waveIndex}`, TextStyle.WINDOW); const gameModeLabel = addTextObject(this.scene, 8, 5, `${gameModes[data.gameMode].getName()} - Wave ${data.waveIndex}`, TextStyle.WINDOW);
this.add(gameModeLabel); this.add(gameModeLabel);
const timestampLabel = addTextObject(this.scene, 8, 19, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW); const timestampLabel = addTextObject(this.scene, 8, 19, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW);