[Hotfix] Fix interactions of some moves not changing types (#3183)
This commit is contained in:
parent
8a883ea079
commit
a8adfc2476
|
@ -717,9 +717,13 @@ export default class Move implements Localizable {
|
|||
* @returns The calculated power of the move.
|
||||
*/
|
||||
calculateBattlePower(source: Pokemon, target: Pokemon): number {
|
||||
const power = new Utils.NumberHolder(this.power);
|
||||
if (this.category === MoveCategory.STATUS) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
const power = new Utils.NumberHolder(this.power);
|
||||
const typeChangeMovePowerMultiplier = new Utils.NumberHolder(1);
|
||||
|
||||
applyPreAttackAbAttrs(MoveTypeChangeAttr, source, target, this, typeChangeMovePowerMultiplier);
|
||||
|
||||
const sourceTeraType = source.getTeraType();
|
||||
|
|
|
@ -1836,7 +1836,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
const types = this.getTypes(true, true);
|
||||
|
||||
const cancelled = new Utils.BooleanHolder(false);
|
||||
const power = move.calculateBattlePower(source, this);
|
||||
const typeless = move.hasAttr(TypelessAttr);
|
||||
|
||||
const typeMultiplier = new Utils.NumberHolder(!typeless && (moveCategory !== MoveCategory.STATUS || move.getAttrs(StatusMoveTypeImmunityAttr).find(attr => types.includes(attr.immuneType)))
|
||||
? this.getAttackTypeEffectiveness(move, source, false, false)
|
||||
: 1);
|
||||
|
@ -1861,7 +1863,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
case MoveCategory.PHYSICAL:
|
||||
case MoveCategory.SPECIAL:
|
||||
const isPhysical = moveCategory === MoveCategory.PHYSICAL;
|
||||
const power = move.calculateBattlePower(source, this);
|
||||
const sourceTeraType = source.getTeraType();
|
||||
|
||||
if (!typeless) {
|
||||
|
|
Loading…
Reference in New Issue