v3.1.0: adjusted lethal defence talent to instead affect shield CD
This commit is contained in:
@@ -935,7 +935,7 @@ actors.hero.talent.enraged_catalyst.desc=_+1:_ Enchantments and curses on the Be
|
||||
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 _15 turns_.\n\n_+2:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _30 turns_.\n\n_+3:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _45 turns_.
|
||||
actors.hero.talent.lethal_defense.title=lethal defense
|
||||
actors.hero.talent.lethal_defense.desc=_+1:_ When the Gladiator kills an enemy with a combo move, he gains _7 shielding_.\n\n_+2:_ When the Gladiator kills an enemy with a combo move, he gains _13 shielding_.\n\n_+3:_ When the Gladiator kills an enemy with a combo move, he gains _20 shielding_.
|
||||
actors.hero.talent.lethal_defense.desc=_+1:_ When the Gladiator kills an enemy with a combo move, the cooldown on his broken seal shielding is _reduced by 33%_.\n\n_+2:_ When the Gladiator kills an enemy with a combo move, the cooldown on his broken seal shielding is _reduced by 67%_.\n\n_+3:_ When the Gladiator kills an enemy with a combo move, the cooldown on his broken seal shielding is _reduced by 100%_.\n\nThe shield cooldown can be reduced to at low as -100% this way, which means it will immediately be available again once it is activated.
|
||||
actors.hero.talent.enhanced_combo.title=enhanced combo
|
||||
actors.hero.talent.enhanced_combo.desc=_+1:_ When the Gladiator's combo is 7 or higher, Clobber's knockback range increases to 3, it inflicts vertigo, and it can knock enemies into pits.\n\n_+2:_ In addition to the benefits of +1, when the Gladiator's combo is 9 or higher Parry works on multiple attacks.\n\n_+3:_ In addition to the benefits of +1 and +2, the Gladiator can leap up to combo/3 tiles when using Slam, Crush, or Fury.
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DwarfKing;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.FloatingText;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfBlastWave;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
@@ -410,10 +410,10 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
||||
ch.sprite.bloodBurstA(target.sprite.center(), aoeHit);
|
||||
ch.sprite.flash();
|
||||
|
||||
if (!ch.isAlive() && hero.hasTalent(Talent.LETHAL_DEFENSE)) {
|
||||
int shieldToGive = Math.round(6.67f*hero.pointsInTalent(Talent.LETHAL_DEFENSE));
|
||||
hero.sprite.showStatusWithIcon(CharSprite.POSITIVE, Integer.toString(shieldToGive), FloatingText.SHIELDING);
|
||||
Buff.affect(hero, Barrier.class).setShield(shieldToGive);
|
||||
if (!ch.isAlive()
|
||||
&& hero.hasTalent(Talent.LETHAL_DEFENSE)
|
||||
&& hero.buff(BrokenSeal.WarriorShield.class) != null) {
|
||||
hero.buff(BrokenSeal.WarriorShield.class).reduceCooldown(hero.pointsInTalent(Talent.LETHAL_DEFENSE)/3f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -466,9 +466,7 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
||||
|
||||
if (!enemy.isAlive() || (!wasAlly && enemy.alignment == target.alignment)) {
|
||||
if (hero.hasTalent(Talent.LETHAL_DEFENSE)){
|
||||
int shieldToGive = Math.round(6.67f * hero.pointsInTalent(Talent.LETHAL_DEFENSE));
|
||||
hero.sprite.showStatusWithIcon(CharSprite.POSITIVE, Integer.toString(shieldToGive), FloatingText.SHIELDING);
|
||||
Buff.affect(hero, Barrier.class).setShield(shieldToGive);
|
||||
hero.buff(BrokenSeal.WarriorShield.class).reduceCooldown(hero.pointsInTalent(Talent.LETHAL_DEFENSE)/3f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -325,7 +325,6 @@ public class BrokenSeal extends Item {
|
||||
if (shielding() > 0){
|
||||
if (Dungeon.hero.visibleEnemies() == 0){
|
||||
turnsSinceEnemies++;
|
||||
//TODO
|
||||
if (turnsSinceEnemies >= 5){
|
||||
float percentLeft = shielding() / (float)maxShield();
|
||||
cooldown -= COOLDOWN_START*(percentLeft/2f); //max of 50% cooldown refund
|
||||
@@ -345,21 +344,18 @@ public class BrokenSeal extends Item {
|
||||
}
|
||||
|
||||
public synchronized void activate() {
|
||||
setShield(maxShield());
|
||||
cooldown = COOLDOWN_START;
|
||||
incShield(maxShield());
|
||||
cooldown += COOLDOWN_START;
|
||||
turnsSinceEnemies = 0;
|
||||
}
|
||||
|
||||
public boolean coolingDown(){
|
||||
return cooldown > 0;
|
||||
}
|
||||
|
||||
public synchronized void supercharge(int maxShield){
|
||||
if (maxShield > shielding()){
|
||||
setShield(maxShield);
|
||||
}
|
||||
cooldown = COOLDOWN_START;
|
||||
turnsSinceEnemies = 0;
|
||||
|
||||
public void reduceCooldown(float percentage){
|
||||
cooldown -= Math.round(COOLDOWN_START*percentage);
|
||||
cooldown = Math.max(cooldown, -COOLDOWN_START);
|
||||
}
|
||||
|
||||
public synchronized void setArmor(Armor arm){
|
||||
|
||||
Reference in New Issue
Block a user