mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 15:32:18 +02:00
Implements infestation
This commit is contained in:
parent
5bd1577667
commit
c0a877f319
1966
public/battle-anims/common-infestation.json
Normal file
1966
public/battle-anims/common-infestation.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -98,7 +98,8 @@ export enum CommonAnim {
|
||||
ELECTRIC_TERRAIN,
|
||||
GRASSY_TERRAIN,
|
||||
PSYCHIC_TERRAIN,
|
||||
LOCK_ON = 2120
|
||||
LOCK_ON = 2120,
|
||||
INFESTATION
|
||||
}
|
||||
|
||||
export class AnimConfig {
|
||||
|
@ -613,6 +613,16 @@ export class ThunderCageTag extends DamagingTrapTag {
|
||||
}
|
||||
}
|
||||
|
||||
export class InfestationTag extends DamagingTrapTag {
|
||||
constructor(turnCount: integer, sourceId: integer) {
|
||||
super(BattlerTagType.INFESTATION, CommonAnim.INFESTATION, turnCount, Moves.INFESTATION, sourceId);
|
||||
}
|
||||
|
||||
getTrapMessage(pokemon: Pokemon): string {
|
||||
return getPokemonMessage(pokemon, ` has been afflicted \nwith an infestation by ${getPokemonPrefix(pokemon.scene.getPokemonById(this.sourceId))}${pokemon.scene.getPokemonById(this.sourceId).name}!`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export class ProtectedTag extends BattlerTag {
|
||||
constructor(sourceMove: Moves, tagType: BattlerTagType = BattlerTagType.PROTECTED) {
|
||||
@ -1051,6 +1061,8 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
|
||||
return new MagmaStormTag(turnCount, sourceId);
|
||||
case BattlerTagType.THUNDER_CAGE:
|
||||
return new ThunderCageTag(turnCount, sourceId);
|
||||
case BattlerTagType.INFESTATION:
|
||||
return new InfestationTag(turnCount, sourceId);
|
||||
case BattlerTagType.PROTECTED:
|
||||
return new ProtectedTag(sourceMove);
|
||||
case BattlerTagType.SPIKY_SHIELD:
|
||||
|
@ -49,5 +49,6 @@ export enum BattlerTagType {
|
||||
IGNORE_FLYING = "IGNORE_FLYING",
|
||||
SALT_CURED = "SALT_CURED",
|
||||
CHARGED = "CHARGED",
|
||||
GROUNDED = "GROUNDED"
|
||||
GROUNDED = "GROUNDED",
|
||||
INFESTATION = "INFESTATION",
|
||||
}
|
||||
|
@ -2414,6 +2414,7 @@ export class AddBattlerTagAttr extends MoveEffectAttr {
|
||||
case BattlerTagType.SAND_TOMB:
|
||||
case BattlerTagType.MAGMA_STORM:
|
||||
case BattlerTagType.THUNDER_CAGE:
|
||||
case BattlerTagType.INFESTATION:
|
||||
return -3;
|
||||
case BattlerTagType.ENCORE:
|
||||
return -2;
|
||||
@ -4115,7 +4116,18 @@ export function initMoves() {
|
||||
.partial(),
|
||||
new AttackMove(Moves.RAPID_SPIN, Type.NORMAL, MoveCategory.PHYSICAL, 50, 100, 40, 100, 0, 2)
|
||||
.attr(StatChangeAttr, BattleStat.SPD, 1, true)
|
||||
.attr(RemoveBattlerTagAttr, [ BattlerTagType.BIND, BattlerTagType.WRAP, BattlerTagType.FIRE_SPIN, BattlerTagType.WHIRLPOOL, BattlerTagType.CLAMP, BattlerTagType.SAND_TOMB, BattlerTagType.MAGMA_STORM, BattlerTagType.THUNDER_CAGE, BattlerTagType.SEEDED ], true)
|
||||
.attr(RemoveBattlerTagAttr, [
|
||||
BattlerTagType.BIND,
|
||||
BattlerTagType.WRAP,
|
||||
BattlerTagType.FIRE_SPIN,
|
||||
BattlerTagType.WHIRLPOOL,
|
||||
BattlerTagType.CLAMP,
|
||||
BattlerTagType.SAND_TOMB,
|
||||
BattlerTagType.MAGMA_STORM,
|
||||
BattlerTagType.THUNDER_CAGE,
|
||||
BattlerTagType.SEEDED,
|
||||
BattlerTagType.INFESTATION
|
||||
], true)
|
||||
.partial(),
|
||||
new StatusMove(Moves.SWEET_SCENT, Type.NORMAL, 100, 20, -1, 0, 2)
|
||||
.attr(StatChangeAttr, BattleStat.EVA, -1)
|
||||
@ -5134,6 +5146,7 @@ export function initMoves() {
|
||||
.attr(SurviveDamageAttr),
|
||||
new AttackMove(Moves.INFESTATION, Type.BUG, MoveCategory.SPECIAL, 20, 100, 20, 100, 0, 6)
|
||||
.makesContact()
|
||||
.attr(TrapAttr, BattlerTagType.INFESTATION)
|
||||
.partial(),
|
||||
new AttackMove(Moves.POWER_UP_PUNCH, Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 20, 100, 0, 6)
|
||||
.attr(StatChangeAttr, BattleStat.ATK, 1, true)
|
||||
@ -5929,7 +5942,18 @@ export function initMoves() {
|
||||
new AttackMove(Moves.TRIPLE_DIVE, Type.WATER, MoveCategory.PHYSICAL, 30, 95, 10, -1, 0, 9)
|
||||
.attr(MultiHitAttr, MultiHitType._3),
|
||||
new AttackMove(Moves.MORTAL_SPIN, Type.POISON, MoveCategory.PHYSICAL, 30, 100, 15, 100, 0, 9)
|
||||
.attr(LapseBattlerTagAttr, [ BattlerTagType.BIND, BattlerTagType.WRAP, BattlerTagType.FIRE_SPIN, BattlerTagType.WHIRLPOOL, BattlerTagType.CLAMP, BattlerTagType.SAND_TOMB, BattlerTagType.MAGMA_STORM, BattlerTagType.THUNDER_CAGE, BattlerTagType.SEEDED ], true)
|
||||
.attr(LapseBattlerTagAttr, [
|
||||
BattlerTagType.BIND,
|
||||
BattlerTagType.WRAP,
|
||||
BattlerTagType.FIRE_SPIN,
|
||||
BattlerTagType.WHIRLPOOL,
|
||||
BattlerTagType.CLAMP,
|
||||
BattlerTagType.SAND_TOMB,
|
||||
BattlerTagType.MAGMA_STORM,
|
||||
BattlerTagType.THUNDER_CAGE,
|
||||
BattlerTagType.SEEDED,
|
||||
BattlerTagType.INFESTATION
|
||||
], true)
|
||||
.attr(StatusEffectAttr, StatusEffect.POISON)
|
||||
.target(MoveTarget.ALL_NEAR_ENEMIES),
|
||||
new StatusMove(Moves.DOODLE, Type.NORMAL, 100, 10, -1, 0, 9)
|
||||
|
Loading…
Reference in New Issue
Block a user