direct damage handler - percent damages

This commit is contained in:
2025-03-02 15:51:14 -06:00
parent cca342e99d
commit 28bccdd3d8
+14 -3
View File
@@ -464,10 +464,21 @@ public class WpakPowerManager {
else else
focus = skill.getModifiedAmount(); focus = skill.getModifiedAmount();
float minDmg = getMinDamage(modEntry.min,caster.getStatIntCurrent(),caster.getStatSpiCurrent(),focus); float min = modEntry.min;
float maxDmg = getMaxDamage(modEntry.max,caster.getStatIntCurrent(),caster.getStatSpiCurrent(),focus); float max = modEntry.max;
float percent = modEntry.percentage;
int damage = ThreadLocalRandom.current().nextInt((int) minDmg, (int) (maxDmg + 1)); float damage;
if(percent != 0){
//handle percentage damage
percent += getModifierValues(modEntry,rank).first;
damage = target.healthMax * percent;
}else{
//flat damage range
min = getMinDamage(min + getModifierValues(modEntry,rank).first,caster.getStatIntCurrent(),caster.getStatSpiCurrent(),focus);
max = getMaxDamage(max + getModifierValues(modEntry,rank).second,caster.getStatIntCurrent(),caster.getStatSpiCurrent(),focus);
damage = ThreadLocalRandom.current().nextInt((int) min, (int) (max) + 1);
}
if(AbstractCharacter.IsAbstractCharacter(target)) { if(AbstractCharacter.IsAbstractCharacter(target)) {
AbstractCharacter absChar = (AbstractCharacter)target; AbstractCharacter absChar = (AbstractCharacter)target;