Implements infestation (#184)
* Implements infestation * removes partial * wrong partial removed, fixed * appropriate tag location in enum * moved in battle-anim enumpull/186/head
parent
6b46cd533a
commit
aae40d2246
File diff suppressed because it is too large
Load Diff
|
@ -79,6 +79,7 @@ export enum CommonAnim {
|
|||
MAGMA_STORM,
|
||||
CLAMP,
|
||||
THUNDER_CAGE,
|
||||
INFESTATION,
|
||||
ORDER_UP_CURLY,
|
||||
ORDER_UP_DROOPY,
|
||||
ORDER_UP_STRETCHY,
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -22,6 +22,7 @@ export enum BattlerTagType {
|
|||
SAND_TOMB = "SAND_TOMB",
|
||||
MAGMA_STORM = "MAGMA_STORM",
|
||||
THUNDER_CAGE = "THUNDER_CAGE",
|
||||
INFESTATION = "INFESTATION",
|
||||
PROTECTED = "PROTECTED",
|
||||
SPIKY_SHIELD = "SPIKY_SHIELD",
|
||||
KINGS_SHIELD = "KINGS_SHIELD",
|
||||
|
|
|
@ -2459,6 +2459,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;
|
||||
|
@ -4160,7 +4161,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)
|
||||
|
@ -5179,7 +5191,7 @@ export function initMoves() {
|
|||
.attr(SurviveDamageAttr),
|
||||
new AttackMove(Moves.INFESTATION, Type.BUG, MoveCategory.SPECIAL, 20, 100, 20, 100, 0, 6)
|
||||
.makesContact()
|
||||
.partial(),
|
||||
.attr(TrapAttr, BattlerTagType.INFESTATION),
|
||||
new AttackMove(Moves.POWER_UP_PUNCH, Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 20, 100, 0, 6)
|
||||
.attr(StatChangeAttr, BattleStat.ATK, 1, true)
|
||||
.punchingMove(),
|
||||
|
@ -5977,7 +5989,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