Skip to content

Commit

Permalink
#272 Add effect modifier to common magic contructor
Browse files Browse the repository at this point in the history
  • Loading branch information
kyvg committed Sep 6, 2023
1 parent d540073 commit f2db38e
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/arena/Constuructors/MagicConstructor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,26 @@ export abstract class Magic {
*/
effectVal({ initiator, target, game } = this.params): number {
const effect = this.getEffectVal({ initiator, target, game });
this.status.effect = floatNumber(effect);
return floatNumber(effect);
const modifiedEffect = this.modifyEffect(effect, { initiator, target, game });
this.status.effect = modifiedEffect;
return modifiedEffect;
}

getEffectVal({ initiator } = this.params): number {
const initiatorMagicLvl = initiator.magics[this.name];
const initiatorMagicLvl = initiator.getMagicLevel(this.name);
return MiscService.dice(this.effect[initiatorMagicLvl - 1]) * initiator.proc;
}

modifyEffect(effect: number, { initiator } = this.params) {
effect = this.applyCasterModifiers(effect, initiator);

return floatNumber(effect);
}

applyCasterModifiers(effect: number, initiator: Player): number {
return effect * (1 + 0.01 * initiator.stats.val('mga'));
}

/**
* Проверка прошла ли магия
* @return
Expand Down

0 comments on commit f2db38e

Please sign in to comment.