Add Annihilape with Rage Fist move
This commit is contained in:
1 parent
233e33bbed
commit
ad9d8a8507
24 files changed
+13781
-45
No files matched your search
@@ -207,6 +207,7 @@ export class ConfusedTag extends BattlerTag {
|
||||
pokemon.scene.queueMessage('It hurt itself in its\nconfusion!');
|
||||
pokemon.scene.unshiftPhase(new DamagePhase(pokemon.scene, pokemon.getBattlerIndex()));
|
||||
pokemon.damage(damage);
|
||||
pokemon.battleData.hitCount++;
|
||||
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
|
||||
}
|
||||
}
|
||||
|
||||
+16
-5
@@ -820,7 +820,8 @@ export enum Moves {
|
||||
PHANTOM_FORCE,
|
||||
GEOMANCY,
|
||||
OBLIVION_WING,
|
||||
DYNAMAX_CANNON
|
||||
DYNAMAX_CANNON,
|
||||
RAGE_FIST
|
||||
}
|
||||
|
||||
export abstract class MoveAttr {
|
||||
@@ -1618,7 +1619,7 @@ export class SolarBeamPowerAttr extends VariablePowerAttr {
|
||||
}
|
||||
}
|
||||
|
||||
export class WinCountPowerMoveAttr extends VariablePowerAttr {
|
||||
export class WinCountPowerAttr extends VariablePowerAttr {
|
||||
private invert: boolean;
|
||||
|
||||
constructor(invert?: boolean) {
|
||||
@@ -1639,6 +1640,14 @@ export class WinCountPowerMoveAttr extends VariablePowerAttr {
|
||||
}
|
||||
}
|
||||
|
||||
export class HitCountPowerAttr extends VariablePowerAttr {
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
(args[0] as Utils.NumberHolder).value += Math.min(user.battleData.hitCount, 6) * 50;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export class VariableAccuracyAttr extends MoveAttr {
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
//const accuracy = args[0] as Utils.NumberHolder;
|
||||
@@ -2901,11 +2910,11 @@ export function initMoves() {
|
||||
.target(MoveTarget.USER_AND_ALLIES)
|
||||
.soundBased(),
|
||||
new AttackMove(Moves.RETURN, "Return", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, "Power increases with higher Friendship.", -1, 0, 2)
|
||||
.attr(WinCountPowerMoveAttr),
|
||||
.attr(WinCountPowerAttr),
|
||||
new AttackMove(Moves.PRESENT, "Present (N)", Type.NORMAL, MoveCategory.PHYSICAL, -1, 90, 15, -1, "Either deals damage or heals.", -1, 0, 2)
|
||||
.makesContact(false),
|
||||
new AttackMove(Moves.FRUSTRATION, "Frustration", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, "Power decreases with higher Friendship.", -1, 0, 2)
|
||||
.attr(WinCountPowerMoveAttr, true),
|
||||
.attr(WinCountPowerAttr, true),
|
||||
new SelfStatusMove(Moves.SAFEGUARD, "Safeguard (N)", Type.NORMAL, -1, 25, -1, "The user's party is protected from status conditions.", -1, 0, 2)
|
||||
.target(MoveTarget.USER_SIDE),
|
||||
new StatusMove(Moves.PAIN_SPLIT, "Pain Split", Type.NORMAL, -1, 20, -1, "The user's and opponent's HP becomes the average of both.", -1, 0, 2)
|
||||
@@ -3634,6 +3643,8 @@ export function initMoves() {
|
||||
.target(MoveTarget.OTHER),
|
||||
new AttackMove(Moves.DYNAMAX_CANNON, "Dynamax Cannon", Type.DRAGON, MoveCategory.SPECIAL, 100, 100, 5, -1, "Power is doubled if the target is over level 200.", -1, 0, 8)
|
||||
.attr(MovePowerMultiplierAttr, (user: Pokemon, target: Pokemon, move: Move) => target.level > 200 ? 2 : 1)
|
||||
.ignoresVirtual()
|
||||
.ignoresVirtual(),
|
||||
new AttackMove(Moves.RAGE_FIST, "Rage Fist", Type.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, "The more times the user has been hit by attacks, the greater the move's power.", -1, 0, 9)
|
||||
.attr(HitCountPowerAttr)
|
||||
);
|
||||
}
|
||||
@@ -951,6 +951,9 @@ export const pokemonEvolutions: PokemonEvolutions = {
|
||||
[Species.SHELMET]: [
|
||||
new SpeciesEvolution(Species.ACCELGOR, 1, EvolutionItem.LINKING_CORD, new SpeciesEvolutionCondition((p: Pokemon) => !!p.scene.getParty().find(p => p.species.speciesId === Species.KARRABLAST)), SpeciesWildEvolutionDelay.LONG)
|
||||
],
|
||||
[Species.PRIMEAPE]: [
|
||||
new SpeciesEvolution(Species.ANNIHILAPE, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.moveset.filter(m => m.moveId === Moves.RAGE_FIST).length > 0), SpeciesWildEvolutionDelay.VERY_LONG)
|
||||
],
|
||||
[Species.PICHU]: [
|
||||
new SpeciesEvolution(Species.PIKACHU, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT)
|
||||
],
|
||||
|
||||
@@ -886,10 +886,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
||||
[ 9, Moves.FURY_SWIPES ],
|
||||
[ 13, Moves.KARATE_CHOP ],
|
||||
[ 17, Moves.SEISMIC_TOSS ],
|
||||
[ 19, Moves.SWAGGER ],
|
||||
[ 21, Moves.SCREECH ],
|
||||
[ 25, Moves.ASSURANCE ],
|
||||
[ 28, Moves.RAGE ],
|
||||
[ 35, Moves.SWAGGER ],
|
||||
[ 35, Moves.RAGE_FIST ],
|
||||
[ 41, Moves.CROSS_CHOP ],
|
||||
[ 47, Moves.THRASH ],
|
||||
[ 53, Moves.PUNISHMENT ],
|
||||
@@ -10974,7 +10975,28 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
||||
[ 72, Moves.RECOVER ],
|
||||
[ 80, Moves.HYPER_BEAM ],
|
||||
[ 88, Moves.OUTRAGE ]
|
||||
]
|
||||
],
|
||||
[Species.ANNIHILAPE]: [
|
||||
[ 1, Moves.LEER ],
|
||||
[ 1, Moves.FOCUS_ENERGY ],
|
||||
[ 1, Moves.LOW_KICK ],
|
||||
[ 1, Moves.SCRATCH ],
|
||||
[ 1, Moves.FLING ],
|
||||
[ 9, Moves.FURY_SWIPES ],
|
||||
[ 13, Moves.KARATE_CHOP ],
|
||||
[ 17, Moves.SEISMIC_TOSS ],
|
||||
[ 19, Moves.SWAGGER ],
|
||||
[ 21, Moves.SCREECH ],
|
||||
[ 25, Moves.ASSURANCE ],
|
||||
[ 28, Moves.RAGE ],
|
||||
[ 35, Moves.RAGE_FIST ],
|
||||
[ 41, Moves.CROSS_CHOP ],
|
||||
[ 47, Moves.THRASH ],
|
||||
[ 53, Moves.PUNISHMENT ],
|
||||
[ 59, Moves.CLOSE_COMBAT ],
|
||||
[ 63, Moves.FINAL_GAMBIT ],
|
||||
[ 68, Moves.OUTRAGE ]
|
||||
],
|
||||
};
|
||||
|
||||
export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Abilities } from './ability';
|
||||
import { Abilities, Ability } from './ability';
|
||||
import BattleScene, { AnySound } from '../battle-scene';
|
||||
import { GrowthRate } from './exp';
|
||||
import { SpeciesWildEvolutionDelay, pokemonEvolutions, pokemonPrevolutions } from './pokemon-evolutions';
|
||||
@@ -82,7 +82,7 @@ export abstract class PokemonSpeciesForm {
|
||||
}
|
||||
|
||||
isObtainable() {
|
||||
return this.generation <= 5 && this.getFormSpriteKey(this.formIndex) !== 'mega';
|
||||
return (this.generation <= 5 || pokemonPrevolutions.hasOwnProperty(this.speciesId)) && this.getFormSpriteKey(this.formIndex) !== 'mega';
|
||||
}
|
||||
|
||||
getSpriteAtlasPath(female: boolean, formIndex?: integer, shiny?: boolean): string {
|
||||
@@ -1186,9 +1186,10 @@ export function initSpecies() {
|
||||
),
|
||||
new PokemonSpecies(Species.XERNEAS, "Xerneas", 6, false, true, false, "Life Pokémon", Type.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 306, GrowthRate.SLOW, "Undiscovered", null, null, 120, false),
|
||||
new PokemonSpecies(Species.YVELTAL, "Yveltal", 6, false, true, false, "Destruction Pokémon", Type.DARK, Type.FLYING, 5.8, 203, Abilities.DARK_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 306, GrowthRate.SLOW, "Undiscovered", null, null, 120, false),
|
||||
new PokemonSpecies(Species.ETERNATUS, "Eternatus", 8, false, true, false, "Gigantic Pokemon", Type.POISON, Type.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false, false,
|
||||
new PokemonSpecies(Species.ETERNATUS, "Eternatus", 8, false, true, false, "Gigantic Pokémon", Type.POISON, Type.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false, false,
|
||||
new PokemonForm("Normal", "", Type.POISON, Type.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false),
|
||||
new PokemonForm("Eternamax", "eternamax", Type.POISON, Type.DRAGON, 100, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 1125, 255, 115, 250, 125, 250, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false))
|
||||
new PokemonForm("Eternamax", "eternamax", Type.POISON, Type.DRAGON, 100, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 1125, 255, 115, 250, 125, 250, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false)),
|
||||
new PokemonSpecies(Species.ANNIHILAPE, "Annihilape", 9, false, false, false, "Rage Monkey Pokémon", Type.FIGHTING, Type.GHOST, 1.2, 56, Abilities.VITAL_SPIRIT, Abilities.INNER_FOCUS, Abilities.DEFIANT, 535, 110, 115, 80, 50, 90, 90, 45, 50, 268, GrowthRate.MEDIUM_FAST, "Field", null, 50, 20, false)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -650,5 +650,6 @@ export enum Species {
|
||||
GENESECT,
|
||||
XERNEAS = 716,
|
||||
YVELTAL,
|
||||
ETERNATUS = 890
|
||||
ETERNATUS = 890,
|
||||
ANNIHILAPE = 979
|
||||
};
|
||||
Reference in new issue
Block a user