v0.9.4: moved damage bonuses out of damageRoll and into attack

This commit is contained in:
Evan Debenham 2021-07-26 17:01:24 -04:00
parent 49ef8174cf
commit 7452960c25
2 changed files with 17 additions and 8 deletions

View File

@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ArcaneArmor;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barkskin;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Berserk;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bless;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
@ -42,6 +43,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FireImbue;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FrostImbue;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hex;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
@ -332,9 +334,22 @@ public abstract class Char extends Actor {
}
dmg = Math.round(dmg*dmgMulti);
Berserk berserk = buff(Berserk.class);
if (berserk != null) dmg = berserk.damageFactor(dmg);
if (buff( Fury.class ) != null) {
dmg *= 1.5f;
}
dmg += dmgBonus;
Endure.EndureTracker endure = enemy.buff(Endure.EndureTracker.class);
//friendly endure
Endure.EndureTracker endure = buff(Endure.EndureTracker.class);
if (endure != null) dmg = endure.damageFactor(dmg);
//enemy endure
endure = enemy.buff(Endure.EndureTracker.class);
if (endure != null){
dmg = endure.adjustDamageTaken(dmg);
}

View File

@ -515,13 +515,7 @@ public class Hero extends Char {
}
if (dmg < 0) dmg = 0;
Berserk berserk = buff(Berserk.class);
if (berserk != null) dmg = berserk.damageFactor(dmg);
Endure.EndureTracker endure = buff(Endure.EndureTracker.class);
if (endure != null) dmg = endure.damageFactor(dmg);
return buff( Fury.class ) != null ? (int)(dmg * 1.5f) : dmg;
return dmg;
}
@Override