v2.4.1: adjusted damage multiplier order, mainly fixing harvest bug
This commit is contained in:
@@ -690,10 +690,6 @@ public abstract class Char extends Actor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ChampionEnemy buff : buffs(ChampionEnemy.class)){
|
|
||||||
dmg = (int) Math.ceil(dmg * buff.damageTakenFactor());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(src instanceof LifeLink) && buff(LifeLink.class) != null){
|
if (!(src instanceof LifeLink) && buff(LifeLink.class) != null){
|
||||||
HashSet<LifeLink> links = buffs(LifeLink.class);
|
HashSet<LifeLink> links = buffs(LifeLink.class);
|
||||||
for (LifeLink link : links.toArray(new LifeLink[0])){
|
for (LifeLink link : links.toArray(new LifeLink[0])){
|
||||||
@@ -739,19 +735,6 @@ public abstract class Char extends Actor {
|
|||||||
dmg *= 1.25f;
|
dmg *= 1.25f;
|
||||||
}
|
}
|
||||||
|
|
||||||
Class<?> srcClass = src.getClass();
|
|
||||||
if (isImmune( srcClass )) {
|
|
||||||
dmg = 0;
|
|
||||||
} else {
|
|
||||||
dmg = Math.round( dmg * resist( srcClass ));
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO improve this when I have proper damage source logic
|
|
||||||
if (AntiMagic.RESISTS.contains(src.getClass()) && buff(ArcaneArmor.class) != null){
|
|
||||||
dmg -= combatRoll(0, buff(ArcaneArmor.class).level());
|
|
||||||
if (dmg < 0) dmg = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buff(Sickle.HarvestBleedTracker.class) != null){
|
if (buff(Sickle.HarvestBleedTracker.class) != null){
|
||||||
if (isImmune(Bleeding.class)){
|
if (isImmune(Bleeding.class)){
|
||||||
sprite.showStatus(CharSprite.POSITIVE, Messages.titleCase(Messages.get(this, "immune")));
|
sprite.showStatus(CharSprite.POSITIVE, Messages.titleCase(Messages.get(this, "immune")));
|
||||||
@@ -771,6 +754,23 @@ public abstract class Char extends Actor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (ChampionEnemy buff : buffs(ChampionEnemy.class)){
|
||||||
|
dmg = (int) Math.ceil(dmg * buff.damageTakenFactor());
|
||||||
|
}
|
||||||
|
|
||||||
|
Class<?> srcClass = src.getClass();
|
||||||
|
if (isImmune( srcClass )) {
|
||||||
|
dmg = 0;
|
||||||
|
} else {
|
||||||
|
dmg = Math.round( dmg * resist( srcClass ));
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO improve this when I have proper damage source logic
|
||||||
|
if (AntiMagic.RESISTS.contains(src.getClass()) && buff(ArcaneArmor.class) != null){
|
||||||
|
dmg -= combatRoll(0, buff(ArcaneArmor.class).level());
|
||||||
|
if (dmg < 0) dmg = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (buff( Paralysis.class ) != null) {
|
if (buff( Paralysis.class ) != null) {
|
||||||
buff( Paralysis.class ).processDamage(dmg);
|
buff( Paralysis.class ).processDamage(dmg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user