mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-09 17:09:26 +02:00
[Bug] [Beta] Fix serializable battler tags (#6183)
Fix serializable battler tags
This commit is contained in:
parent
12433b78e5
commit
6204a6fdcb
@ -1659,7 +1659,10 @@ export function getArenaTag(
|
|||||||
* @param source - An arena tag
|
* @param source - An arena tag
|
||||||
* @returns The valid arena tag
|
* @returns The valid arena tag
|
||||||
*/
|
*/
|
||||||
export function loadArenaTag(source: ArenaTag | ArenaTagTypeData): ArenaTag {
|
export function loadArenaTag(source: ArenaTag | ArenaTagTypeData | { tagType: ArenaTagType.NONE }): ArenaTag {
|
||||||
|
if (source.tagType === ArenaTagType.NONE) {
|
||||||
|
return new NoneTag();
|
||||||
|
}
|
||||||
const tag =
|
const tag =
|
||||||
getArenaTag(source.tagType, source.turnCount, source.sourceMove, source.sourceId, source.side) ?? new NoneTag();
|
getArenaTag(source.tagType, source.turnCount, source.sourceMove, source.sourceId, source.side) ?? new NoneTag();
|
||||||
tag.loadTag(source);
|
tag.loadTag(source);
|
||||||
|
@ -201,7 +201,7 @@ export class BattlerTag implements BaseBattlerTag {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export abstract class SerializableBattlerTag extends BattlerTag {
|
export class SerializableBattlerTag extends BattlerTag {
|
||||||
/** Nonexistent, dummy field to allow typescript to distinguish this class from `BattlerTag` */
|
/** Nonexistent, dummy field to allow typescript to distinguish this class from `BattlerTag` */
|
||||||
private declare __SerializableBattlerTag: never;
|
private declare __SerializableBattlerTag: never;
|
||||||
}
|
}
|
||||||
@ -3641,7 +3641,7 @@ export function getBattlerTag(
|
|||||||
case BattlerTagType.FRENZY:
|
case BattlerTagType.FRENZY:
|
||||||
return new FrenzyTag(turnCount, sourceMove, sourceId);
|
return new FrenzyTag(turnCount, sourceMove, sourceId);
|
||||||
case BattlerTagType.CHARGING:
|
case BattlerTagType.CHARGING:
|
||||||
return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, 1, sourceMove, sourceId);
|
return new SerializableBattlerTag(tagType, BattlerTagLapseType.CUSTOM, 1, sourceMove, sourceId);
|
||||||
case BattlerTagType.ENCORE:
|
case BattlerTagType.ENCORE:
|
||||||
return new EncoreTag(sourceId);
|
return new EncoreTag(sourceId);
|
||||||
case BattlerTagType.HELPING_HAND:
|
case BattlerTagType.HELPING_HAND:
|
||||||
@ -3726,10 +3726,10 @@ export function getBattlerTag(
|
|||||||
return new DragonCheerTag();
|
return new DragonCheerTag();
|
||||||
case BattlerTagType.ALWAYS_CRIT:
|
case BattlerTagType.ALWAYS_CRIT:
|
||||||
case BattlerTagType.IGNORE_ACCURACY:
|
case BattlerTagType.IGNORE_ACCURACY:
|
||||||
return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, 2, sourceMove);
|
return new SerializableBattlerTag(tagType, BattlerTagLapseType.TURN_END, 2, sourceMove);
|
||||||
case BattlerTagType.ALWAYS_GET_HIT:
|
case BattlerTagType.ALWAYS_GET_HIT:
|
||||||
case BattlerTagType.RECEIVE_DOUBLE_DAMAGE:
|
case BattlerTagType.RECEIVE_DOUBLE_DAMAGE:
|
||||||
return new BattlerTag(tagType, BattlerTagLapseType.PRE_MOVE, 1, sourceMove);
|
return new SerializableBattlerTag(tagType, BattlerTagLapseType.PRE_MOVE, 1, sourceMove);
|
||||||
case BattlerTagType.BYPASS_SLEEP:
|
case BattlerTagType.BYPASS_SLEEP:
|
||||||
return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove);
|
return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove);
|
||||||
case BattlerTagType.IGNORE_FLYING:
|
case BattlerTagType.IGNORE_FLYING:
|
||||||
|
Loading…
Reference in New Issue
Block a user