|
|
|
@ -464,10 +464,21 @@ public class WpakPowerManager {
@@ -464,10 +464,21 @@ public class WpakPowerManager {
|
|
|
|
|
else |
|
|
|
|
focus = skill.getModifiedAmount(); |
|
|
|
|
|
|
|
|
|
float minDmg = getMinDamage(modEntry.min,caster.getStatIntCurrent(),caster.getStatSpiCurrent(),focus); |
|
|
|
|
float maxDmg = getMaxDamage(modEntry.max,caster.getStatIntCurrent(),caster.getStatSpiCurrent(),focus); |
|
|
|
|
|
|
|
|
|
int damage = ThreadLocalRandom.current().nextInt((int) minDmg, (int) (maxDmg + 1)); |
|
|
|
|
float min = modEntry.min; |
|
|
|
|
float max = modEntry.max; |
|
|
|
|
float percent = modEntry.percentage; |
|
|
|
|
|
|
|
|
|
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)) { |
|
|
|
|
AbstractCharacter absChar = (AbstractCharacter)target; |
|
|
|
|