forked from MagicBane/Server
direct damage handler - percent damages
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user