mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 15:32:18 +02:00
Fixed Synchronoise double battle functionality
It now does zero damage only to targets who do not share any types with it, while correctly damaging any who do. It also fails entirely if the user is UNKNOWN type.
This commit is contained in:
parent
0fac0fb9ee
commit
1ce89a1374
@ -3585,7 +3585,18 @@ export class FirstMoveCondition extends MoveCondition {
|
||||
}
|
||||
}
|
||||
|
||||
const sameTypeCondition: MoveConditionFunc = (user, target, move) => user.getTypes().some(item => target.getTypes().includes(item));
|
||||
export class hitsSameTypeAttr extends VariableMoveTypeMultiplierAttr {
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
const multiplier = args[0] as Utils.NumberHolder;
|
||||
if (!user.getTypes().some(type => target.getTypes().includes(type))){
|
||||
multiplier.value = 0;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
const unknownTypeCondition: MoveConditionFunc = (user, target, move) => !user.getTypes().includes(Type.UNKNOWN);
|
||||
|
||||
export type MoveTargetSet = {
|
||||
targets: BattlerIndex[];
|
||||
@ -4963,7 +4974,8 @@ export function initMoves() {
|
||||
.attr(CompareWeightPowerAttr),
|
||||
new AttackMove(Moves.SYNCHRONOISE, Type.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 5)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS)
|
||||
.condition(sameTypeCondition),
|
||||
.condition(unknownTypeCondition)
|
||||
.attr(hitsSameTypeAttr),
|
||||
new AttackMove(Moves.ELECTRO_BALL, Type.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5)
|
||||
.attr(BattleStatRatioPowerAttr, Stat.SPD)
|
||||
.ballBombMove(),
|
||||
|
Loading…
Reference in New Issue
Block a user