diff --git a/src/data/move.ts b/src/data/move.ts index 938a911f057..541e8820f61 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2174,6 +2174,22 @@ export class HiddenPowerTypeAttr extends VariableMoveTypeAttr { } } +export class MatchUserTypeAttr extends VariableMoveTypeAttr { + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + const type = (args[0] as Utils.IntegerHolder); + + const userTypes = user.getTypes(); + + if (userTypes && userTypes.length > 0) { + type.value = userTypes[0]; + return true; + } + else + return false; + + } +} + export class VariableMoveTypeMultiplierAttr extends MoveAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { return false; @@ -5322,7 +5338,7 @@ export function initMoves() { .unimplemented(), new AttackMove(Moves.REVELATION_DANCE, Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7) .danceMove() - .partial(), + .attr(MatchUserTypeAttr), new AttackMove(Moves.CORE_ENFORCER, Type.DRAGON, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 7) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(),