Compare commits
18 Commits
e03c6ff6c3
...
da32b03056
Author | SHA1 | Date |
---|---|---|
3ae3ae | da32b03056 | |
3ae3ae | 5d288b4eb2 | |
3ae3ae | 5abcd4871f | |
Niccolò | 44895d5956 | |
3ae3ae | b434b959c6 | |
3ae3ae | 700ff78998 | |
3ae3ae | db7e357bf3 | |
3ae3ae | ff17ba71ba | |
3ae3ae | 1154baf04e | |
3ae3ae | cd5a0ef2ff | |
3ae3ae | 3a2d4b93d7 | |
3ae3ae | 5d15c4a26d | |
3ae3ae | d02d28a5e0 | |
3ae3ae | b3a10e52e5 | |
3ae3ae | 93d8082f24 | |
3ae3ae | 67dde56c5d | |
3ae3ae | c56c1ff968 | |
3ae3ae | e7504b0ff7 |
|
@ -850,9 +850,10 @@ export class FrenzyTag extends BattlerTag {
|
||||||
|
|
||||||
onRemove(pokemon: Pokemon): void {
|
onRemove(pokemon: Pokemon): void {
|
||||||
super.onRemove(pokemon);
|
super.onRemove(pokemon);
|
||||||
|
if ([Moves.OUTRAGE, Moves.PETAL_DANCE, Moves.THRASH].includes(this.sourceMove)) {
|
||||||
if (this.turnCount < 2) { // Only add CONFUSED tag if a disruption occurs on the final confusion-inducing turn of FRENZY
|
if (this.turnCount < 2) { // Only add CONFUSED tag if a disruption occurs on the final confusion-inducing turn of FRENZY
|
||||||
pokemon.addTag(BattlerTagType.CONFUSED, pokemon.randSeedIntRange(2, 4));
|
pokemon.addTag(BattlerTagType.CONFUSED, pokemon.randSeedIntRange(2, 4));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4442,8 +4442,12 @@ export class TypelessAttr extends MoveAttr { }
|
||||||
export class BypassRedirectAttr extends MoveAttr { }
|
export class BypassRedirectAttr extends MoveAttr { }
|
||||||
|
|
||||||
export class FrenzyAttr extends MoveEffectAttr {
|
export class FrenzyAttr extends MoveEffectAttr {
|
||||||
constructor() {
|
private min: number;
|
||||||
|
private max: number;
|
||||||
|
constructor(min: number = 2, max: number = 3) {
|
||||||
super(true, MoveEffectTrigger.HIT, false, true);
|
super(true, MoveEffectTrigger.HIT, false, true);
|
||||||
|
this.min = min-1;
|
||||||
|
this.max = max-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) {
|
canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) {
|
||||||
|
@ -4456,7 +4460,7 @@ export class FrenzyAttr extends MoveEffectAttr {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!user.getTag(BattlerTagType.FRENZY) && !user.getMoveQueue().length) {
|
if (!user.getTag(BattlerTagType.FRENZY) && !user.getMoveQueue().length) {
|
||||||
const turnCount = user.randSeedIntRange(1, 2);
|
const turnCount = user.randSeedIntRange(this.min, this.max);
|
||||||
new Array(turnCount).fill(null).map(() => user.getMoveQueue().push({ move: move.id, targets: [ target.getBattlerIndex() ], ignorePP: true }));
|
new Array(turnCount).fill(null).map(() => user.getMoveQueue().push({ move: move.id, targets: [ target.getBattlerIndex() ], ignorePP: true }));
|
||||||
user.addTag(BattlerTagType.FRENZY, turnCount, move.id, user.id);
|
user.addTag(BattlerTagType.FRENZY, turnCount, move.id, user.id);
|
||||||
} else {
|
} else {
|
||||||
|
@ -4477,6 +4481,18 @@ export const frenzyMissFunc: UserMoveConditionFunc = (user: Pokemon, move: Move)
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export class UproarMessage extends MoveEffectAttr {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
|
user.scene.queueMessage(i18next.t("battlerTags:uproarOnAdd", {
|
||||||
|
pokemonNameWithAffix: getPokemonNameWithAffix(user),
|
||||||
|
}));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class AddBattlerTagAttr extends MoveEffectAttr {
|
export class AddBattlerTagAttr extends MoveEffectAttr {
|
||||||
public tagType: BattlerTagType;
|
public tagType: BattlerTagType;
|
||||||
public turnCountMin: integer;
|
public turnCountMin: integer;
|
||||||
|
@ -7443,6 +7459,10 @@ export function initMoves() {
|
||||||
.attr(FlinchAttr)
|
.attr(FlinchAttr)
|
||||||
.condition(new FirstMoveCondition()),
|
.condition(new FirstMoveCondition()),
|
||||||
new AttackMove(Moves.UPROAR, Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 3)
|
new AttackMove(Moves.UPROAR, Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 3)
|
||||||
|
.attr(UproarMessage)
|
||||||
|
.attr(FrenzyAttr, 3, 3)
|
||||||
|
.attr(NoEffectAttr, frenzyMissFunc)
|
||||||
|
.attr(MissEffectAttr, frenzyMissFunc)
|
||||||
.ignoresVirtual()
|
.ignoresVirtual()
|
||||||
.soundBased()
|
.soundBased()
|
||||||
.target(MoveTarget.RANDOM_NEAR_ENEMY)
|
.target(MoveTarget.RANDOM_NEAR_ENEMY)
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}} ist nun schwach gegenüber Feuer-Attacken!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}} ist nun schwach gegenüber Feuer-Attacken!",
|
||||||
"substituteOnAdd": "Ein Delegator von {{pokemonNameWithAffix}} ist erschienen!",
|
"substituteOnAdd": "Ein Delegator von {{pokemonNameWithAffix}} ist erschienen!",
|
||||||
"substituteOnHit": "Der Delegator steckt den Schlag für {{pokemonNameWithAffix}} ein!",
|
"substituteOnHit": "Der Delegator steckt den Schlag für {{pokemonNameWithAffix}} ein!",
|
||||||
"substituteOnRemove": "Der Delegator von {{pokemonNameWithAffix}} hört auf zu wirken!"
|
"substituteOnRemove": "Der Delegator von {{pokemonNameWithAffix}} hört auf zu wirken!",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}} became weaker to fire!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}} became weaker to fire!",
|
||||||
"substituteOnAdd": "{{pokemonNameWithAffix}} put in a substitute!",
|
"substituteOnAdd": "{{pokemonNameWithAffix}} put in a substitute!",
|
||||||
"substituteOnHit": "The substitute took damage for {{pokemonNameWithAffix}}!",
|
"substituteOnHit": "The substitute took damage for {{pokemonNameWithAffix}}!",
|
||||||
"substituteOnRemove": "{{pokemonNameWithAffix}}'s substitute faded!"
|
"substituteOnRemove": "{{pokemonNameWithAffix}}'s substitute faded!",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "¡{{pokemonNameWithAffix}} se ha vuelto débil ante el fuego!",
|
"tarShotOnAdd": "¡{{pokemonNameWithAffix}} se ha vuelto débil ante el fuego!",
|
||||||
"substituteOnAdd": "¡{{pokemonNameWithAffix}} creó un sustituto!",
|
"substituteOnAdd": "¡{{pokemonNameWithAffix}} creó un sustituto!",
|
||||||
"substituteOnHit": "¡El sustituto recibe daño en lugar del {{pokemonNameWithAffix}}!",
|
"substituteOnHit": "¡El sustituto recibe daño en lugar del {{pokemonNameWithAffix}}!",
|
||||||
"substituteOnRemove": "¡El sustituto del {{pokemonNameWithAffix}} se debilitó!"
|
"substituteOnRemove": "¡El sustituto del {{pokemonNameWithAffix}} se debilitó!",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}} est maintenant\nvulnérable au feu !",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}} est maintenant\nvulnérable au feu !",
|
||||||
"substituteOnAdd": "{{pokemonNameWithAffix}}\ncrée un clone !",
|
"substituteOnAdd": "{{pokemonNameWithAffix}}\ncrée un clone !",
|
||||||
"substituteOnHit": "Le clone subit les dégâts à la place\nde {{pokemonNameWithAffix}} !",
|
"substituteOnHit": "Le clone subit les dégâts à la place\nde {{pokemonNameWithAffix}} !",
|
||||||
"substituteOnRemove": "Le clone de {{pokemonNameWithAffix}}\ndisparait…"
|
"substituteOnRemove": "Le clone de {{pokemonNameWithAffix}}\ndisparait…",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}} è diventato vulnerabile\nal tipo Fuoco!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}} è diventato vulnerabile\nal tipo Fuoco!",
|
||||||
"substituteOnAdd": "Appare un sostituto di {{pokemonNameWithAffix}}!",
|
"substituteOnAdd": "Appare un sostituto di {{pokemonNameWithAffix}}!",
|
||||||
"substituteOnHit": "Il sostituto viene colpito al posto di {{pokemonNameWithAffix}}!",
|
"substituteOnHit": "Il sostituto viene colpito al posto di {{pokemonNameWithAffix}}!",
|
||||||
"substituteOnRemove": "Il sostituto di {{pokemonNameWithAffix}} svanisce!"
|
"substituteOnRemove": "Il sostituto di {{pokemonNameWithAffix}} svanisce!",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,5 +70,6 @@
|
||||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}は {{stockpiledCount}}つ たくわえた!",
|
"stockpilingOnAdd": "{{pokemonNameWithAffix}}は {{stockpiledCount}}つ たくわえた!",
|
||||||
"disabledOnAdd": "{{pokemonNameWithAffix}}の\n{{moveName}}\nを 封じこめた!",
|
"disabledOnAdd": "{{pokemonNameWithAffix}}の\n{{moveName}}\nを 封じこめた!",
|
||||||
"disabledLapse": "{{pokemonNameWithAffix}}の\nかなしばりが 解けた!",
|
"disabledLapse": "{{pokemonNameWithAffix}}の\nかなしばりが 解けた!",
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}}は ほのおに 弱くなった!"
|
"tarShotOnAdd": "{{pokemonNameWithAffix}}は ほのおに 弱くなった!",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}}[[는]] 불꽃에 약해졌다!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}}[[는]] 불꽃에 약해졌다!",
|
||||||
"substituteOnAdd": "{{pokemonNameWithAffix}}의\n대타가 나타났다!",
|
"substituteOnAdd": "{{pokemonNameWithAffix}}의\n대타가 나타났다!",
|
||||||
"substituteOnHit": "{{pokemonNameWithAffix}}[[를]] 대신하여\n대타가 공격을 받았다!",
|
"substituteOnHit": "{{pokemonNameWithAffix}}[[를]] 대신하여\n대타가 공격을 받았다!",
|
||||||
"substituteOnRemove": "{{pokemonNameWithAffix}}의\n대타는 사라져 버렸다..."
|
"substituteOnRemove": "{{pokemonNameWithAffix}}의\n대타는 사라져 버렸다...",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}} tornou-se mais fraco ao fogo!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}} tornou-se mais fraco ao fogo!",
|
||||||
"substituteOnAdd": "{{pokemonNameWithAffix}} colocou um substituto!",
|
"substituteOnAdd": "{{pokemonNameWithAffix}} colocou um substituto!",
|
||||||
"substituteOnHit": "O substituto tomou o dano pelo {{pokemonNameWithAffix}}!",
|
"substituteOnHit": "O substituto tomou o dano pelo {{pokemonNameWithAffix}}!",
|
||||||
"substituteOnRemove": "O substituto de {{pokemonNameWithAffix}} desbotou!"
|
"substituteOnRemove": "O substituto de {{pokemonNameWithAffix}} desbotou!",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}}\n变得怕火了!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}}\n变得怕火了!",
|
||||||
"substituteOnAdd": "{{pokemonNameWithAffix}}的\n替身出现了!",
|
"substituteOnAdd": "{{pokemonNameWithAffix}}的\n替身出现了!",
|
||||||
"substituteOnHit": "替身代替{{pokemonNameWithAffix}}\n承受了攻击!",
|
"substituteOnHit": "替身代替{{pokemonNameWithAffix}}\n承受了攻击!",
|
||||||
"substituteOnRemove": "{{pokemonNameWithAffix}}的\n替身消失了……"
|
"substituteOnRemove": "{{pokemonNameWithAffix}}的\n替身消失了……",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,5 +73,6 @@
|
||||||
"tarShotOnAdd": "{{pokemonNameWithAffix}}\n變得怕火了!",
|
"tarShotOnAdd": "{{pokemonNameWithAffix}}\n變得怕火了!",
|
||||||
"substituteOnAdd": "{{pokemonNameWithAffix}}的\n替身出現了!",
|
"substituteOnAdd": "{{pokemonNameWithAffix}}的\n替身出現了!",
|
||||||
"substituteOnHit": "替身代替{{pokemonNameWithAffix}}承受了攻擊!",
|
"substituteOnHit": "替身代替{{pokemonNameWithAffix}}承受了攻擊!",
|
||||||
"substituteOnRemove": "{{pokemonNameWithAffix}}的\n替身消失了……"
|
"substituteOnRemove": "{{pokemonNameWithAffix}}的\n替身消失了……",
|
||||||
|
"uproarOnAdd": "{{pokemonNameWithAffix}} caused\nan uproar!"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue