v0.9.2: various berserk balance changes and berserking stamina talent

This commit is contained in:
Evan Debenham 2021-02-07 17:20:11 -05:00
parent d8f906308c
commit f864f95c9f
3 changed files with 11 additions and 7 deletions

View File

@ -338,6 +338,8 @@ actors.hero.talent.strongman.title=strongman
actors.hero.talent.strongman.desc=_+1:_ The Warrior needs _1 less strength_ to use armor.\n\n_+2:_ The Warrior needs _1 less strength_ to use armor and _1 less strength_ to use weapons.\n\n_+3:_ The Warrior needs _2 less strength_ to use armor and _1 less strength_ to use weapons.
actors.hero.talent.endless_rage.title=endless rage
actors.hero.talent.endless_rage.desc=_+1:_ The Berserker can reach a max of _115% rage_.\n\n_+2:_ The Berserker can reach a max of _130% rage_.\n\n_+3:_ The Berserker can reach a max of _145% rage_.\n\nNote that rage above 100% will not grant more than +50% damage.
actors.hero.talent.berserking_stamina.title=berserking stamina
actors.hero.talent.berserking_stamina.desc=_+1:_ The Berserker gains _17% more shield_ when berserking, and the berserking cooldown is reduced to _2.5 levels_ from 3.\n\n_+2:_ The Berserker gains _33% more shield_ when berserking, and the berserking cooldown is reduced to _2 levels_ from 3.\n\n_+3:_ The Berserker gains _50% more shield_ when berserking, and the berserking cooldown is reduced to _1.5 levels_ from 3.
actors.hero.talent.cleave.title=cleave
actors.hero.talent.cleave.desc=_+1:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _10 turns_.\n\n_+2:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _20 turns_.\n\n_+3:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _30 turns_.
actors.hero.talent.lethal_defense.title=lethal defense

View File

@ -42,7 +42,7 @@ public class Berserk extends Buff {
}
private State state = State.NORMAL;
private static final float LEVEL_RECOVER_START = 2f;
private static final float LEVEL_RECOVER_START = 3f;
private float levelRecovery;
private float power = 0;
@ -73,7 +73,7 @@ public class Berserk extends Buff {
if (berserking()){
ShieldBuff buff = target.buff(WarriorShield.class);
if (target.HP <= 0) {
int dmg = 1 + (int)Math.ceil(target.shielding() * 0.1f);
int dmg = 1 + (int)Math.ceil(target.shielding() * 0.05f);
if (buff != null && buff.shielding() > 0) {
buff.absorbDamage(dmg);
} else {
@ -89,7 +89,7 @@ public class Berserk extends Buff {
}
} else {
state = State.RECOVERING;
levelRecovery = LEVEL_RECOVER_START;
levelRecovery = LEVEL_RECOVER_START - 0.5f*Dungeon.hero.pointsInTalent(Talent.BERSERKING_STAMINA);
if (buff != null) buff.absorbDamage(buff.shielding());
power = 0f;
}
@ -115,7 +115,9 @@ public class Berserk extends Buff {
WarriorShield shield = target.buff(WarriorShield.class);
if (shield != null){
state = State.BERSERK;
shield.supercharge(shield.maxShield() * 10);
int shieldAmount = shield.maxShield() * 8;
shieldAmount = Math.round(shieldAmount * (1f + Dungeon.hero.pointsInTalent(Talent.BERSERKING_STAMINA)/6f));
shield.supercharge(shieldAmount);
SpellSprite.show(target, SpellSprite.BERSERK);
Sample.INSTANCE.play( Assets.Sounds.CHALLENGE );
@ -173,7 +175,7 @@ public class Berserk extends Buff {
case BERSERK:
return 0f;
case RECOVERING:
return 1f - levelRecovery/2f;
return 1f - levelRecovery/LEVEL_RECOVER_START;
}
}

View File

@ -73,7 +73,7 @@ public enum Talent {
//Warrior T3
STRONGMAN(9, 3), WARRIOR_T3_2(10, 3),
//Berserker T3
ENDLESS_RAGE(11, 3), BERSERKER_T3_2(12, 3), BERSERKER_T3_3(13, 3),
ENDLESS_RAGE(11, 3), BERSERKING_STAMINA(12, 3), BERSERKER_T3_3(13, 3),
//Gladiator T3
CLEAVE(14, 3), LETHAL_DEFENSE(15, 3), GLADIATOR_T3_3(16, 3),
@ -458,7 +458,7 @@ public enum Talent {
//tier 3
switch (cls){
case BERSERKER: default:
Collections.addAll(tierTalents, ENDLESS_RAGE, BERSERKER_T3_2, BERSERKER_T3_3);
Collections.addAll(tierTalents, ENDLESS_RAGE, BERSERKING_STAMINA, BERSERKER_T3_3);
break;
case GLADIATOR:
Collections.addAll(tierTalents, CLEAVE, LETHAL_DEFENSE, GLADIATOR_T3_3);