Use |-swapsideconditions| for Court Change (#8287)

This commit is contained in:
Karthik 2021-09-01 11:57:16 -04:00 committed by GitHub
parent 1ecaf3ae61
commit d33bbfeba5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 13 deletions

View File

@ -2713,34 +2713,22 @@ export const Moves: {[moveid: string]: MoveData} = {
const sourceSide = source.side;
const targetSide = source.side.foe;
for (const id of sideConditions) {
const effectName = this.dex.conditions.get(id).name;
if (sourceSide.sideConditions[id] && targetSide.sideConditions[id]) {
[sourceSide.sideConditions[id], targetSide.sideConditions[id]] = [
targetSide.sideConditions[id], sourceSide.sideConditions[id],
];
this.add('-sideend', sourceSide, effectName, '[silent]');
this.add('-sideend', targetSide, effectName, '[silent]');
} else if (sourceSide.sideConditions[id] && !targetSide.sideConditions[id]) {
targetSide.sideConditions[id] = sourceSide.sideConditions[id];
delete sourceSide.sideConditions[id];
this.add('-sideend', sourceSide, effectName, '[silent]');
} else if (targetSide.sideConditions[id] && !sourceSide.sideConditions[id]) {
sourceSide.sideConditions[id] = targetSide.sideConditions[id];
delete targetSide.sideConditions[id];
this.add('-sideend', targetSide, effectName, '[silent]');
} else {
continue;
}
let sourceLayers = sourceSide.sideConditions[id] ? (sourceSide.sideConditions[id].layers || 1) : 0;
let targetLayers = targetSide.sideConditions[id] ? (targetSide.sideConditions[id].layers || 1) : 0;
for (; sourceLayers > 0; sourceLayers--) {
this.add('-sidestart', sourceSide, effectName, '[silent]');
}
for (; targetLayers > 0; targetLayers--) {
this.add('-sidestart', targetSide, effectName, '[silent]');
}
success = true;
}
this.add('-swapsideconditions');
}
if (!success) return false;
this.add('-activate', source, 'move: Court Change');

View File

@ -444,6 +444,10 @@ stat boosts are minor actions.
> Indicates that the side condition `CONDITION` ended for the given `SIDE`.
`|-swapsideconditions`
> Swaps side conditions between sides. Used for Court Change.
`|-start|POKEMON|EFFECT`
> A [*volatile* status](https://bulbapedia.bulbagarden.net/wiki/Status_condition#Volatile_status)