v2.0.0: added a final T1 talent for the Duelist
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
@@ -808,8 +808,8 @@ actors.hero.talent.strengthening_meal.title=strengthening meal
|
||||
actors.hero.talent.strengthening_meal.desc=_+1:_ Eating food grants the Duelist 2 bonus damage on her next _2 physical attacks_.\n\n_+2:_ Eating food grants the Duelist 2 bonus damage on her next _3 physical attacks_.
|
||||
actors.hero.talent.adventurers_intuition.title=adventurer's intuition
|
||||
actors.hero.talent.adventurers_intuition.desc=_+1:_ The Duelist identifies weapons _2.5x faster_ and armor _1.75x faster_.\n\n_+2:_ The Duelist identifies weapons _when she equips them_ and armor _2.5x faster_.
|
||||
actors.hero.talent.aaa.title=aaa
|
||||
actors.hero.talent.aaa.desc=
|
||||
actors.hero.talent.patient_strike.title=patient strike
|
||||
actors.hero.talent.patient_strike.desc=If the Duelist waits before performing a melee attack, she will deal _1-2 bonus damage_.\n\nIf the Duelist waits before performing a melee attack, she will deal _2 bonus damage_.
|
||||
actors.hero.talent.aggressive_barrier.title=aggressive barrier
|
||||
actors.hero.talent.aggressive_barrier.desc=_+1:_ The Duelist gain 2 shielding when she uses a weapon ability and is below _33% health_.\n\n_+2:_ The Duelist gain 2 shielding when she uses a weapon ability and is below _50% health_.
|
||||
actors.hero.talent.aggressive_barrier.meta_desc=_If this talent is gained by a different hero_ it will instead grant shielding when making a melee attack at low health, with a 50 turn cooldown.
|
||||
|
||||
@@ -1221,6 +1221,9 @@ public class Hero extends Char {
|
||||
if (hasTalent(Talent.HOLD_FAST)){
|
||||
Buff.affect(this, HoldFast.class).pos = pos;
|
||||
}
|
||||
if (hasTalent(Talent.PATIENT_STRIKE)){
|
||||
Buff.prolong(this, Talent.PatientStrikeTracker.class, cooldown());
|
||||
}
|
||||
if (!fullRest) {
|
||||
if (sprite != null) {
|
||||
sprite.showStatus(CharSprite.DEFAULT, Messages.get(this, "wait"));
|
||||
|
||||
@@ -148,7 +148,7 @@ public enum Talent {
|
||||
EAGLE_EYE(119, 4), GO_FOR_THE_EYES(120, 4), SWIFT_SPIRIT(121, 4),
|
||||
|
||||
//Duelist T1
|
||||
STRENGTHENING_MEAL(128), ADVENTURERS_INTUITION(129), DUELIST_T1_3(130), AGGRESSIVE_BARRIER(131),
|
||||
STRENGTHENING_MEAL(128), ADVENTURERS_INTUITION(129), PATIENT_STRIKE(130), AGGRESSIVE_BARRIER(131),
|
||||
//Duelist T2
|
||||
FOCUSED_MEAL(132), RESTORED_AGILITY(133), WEAPON_RECHARGING(134), LETHAL_HASTE(135), SWIFT_EQUIP(136),
|
||||
//Duelist T3
|
||||
@@ -228,6 +228,7 @@ public enum Talent {
|
||||
public float iconFadePercent() { return Math.max(0, visualcooldown() / 20); }
|
||||
};
|
||||
public static class SpiritBladesTracker extends FlavourBuff{};
|
||||
public static class PatientStrikeTracker extends FlavourBuff{};
|
||||
public static class AggressiveBarrierCooldown extends FlavourBuff{
|
||||
public int icon() { return BuffIndicator.TIME; }
|
||||
public void tintIcon(Image icon) { icon.hardlight(0.35f, 0f, 0.7f); }
|
||||
@@ -613,6 +614,16 @@ public enum Talent {
|
||||
hero.buff(Talent.SpiritBladesTracker.class).detach();
|
||||
}
|
||||
|
||||
if (hero.hasTalent(PATIENT_STRIKE)){
|
||||
if (hero.buff(PatientStrikeTracker.class) != null){
|
||||
hero.buff(PatientStrikeTracker.class).detach();
|
||||
dmg += Random.IntRange(hero.pointsInTalent(Talent.PATIENT_STRIKE), 2);
|
||||
if (!(enemy instanceof Mob) || !((Mob) enemy).surprisedBy(hero)){
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG, 0.75f, 1.2f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (hero.hasTalent(DEADLY_FOLLOWUP)) {
|
||||
if (hero.belongings.weapon() instanceof MissileWeapon) {
|
||||
Buff.prolong(enemy, DeadlyFollowupTracker.class, 5f);
|
||||
@@ -662,7 +673,7 @@ public enum Talent {
|
||||
Collections.addAll(tierTalents, NATURES_BOUNTY, SURVIVALISTS_INTUITION, FOLLOWUP_STRIKE, NATURES_AID);
|
||||
break;
|
||||
case DUELIST:
|
||||
Collections.addAll(tierTalents, STRENGTHENING_MEAL, ADVENTURERS_INTUITION, DUELIST_T1_3, AGGRESSIVE_BARRIER);
|
||||
Collections.addAll(tierTalents, STRENGTHENING_MEAL, ADVENTURERS_INTUITION, PATIENT_STRIKE, AGGRESSIVE_BARRIER);
|
||||
break;
|
||||
}
|
||||
for (Talent talent : tierTalents){
|
||||
|
||||
@@ -254,10 +254,13 @@ public class Toolbar extends Component {
|
||||
Dungeon.hero.waitOrPickup = true;
|
||||
if ((Dungeon.level.heaps.get(Dungeon.hero.pos) != null || Dungeon.hero.canSelfTrample())
|
||||
&& Dungeon.hero.handle(Dungeon.hero.pos)){
|
||||
//trigger hold fast here, even if the hero didn't specifically wait
|
||||
//trigger hold fast and patient strike here, even if the hero didn't specifically wait
|
||||
if (Dungeon.hero.hasTalent(Talent.HOLD_FAST)){
|
||||
Buff.affect(Dungeon.hero, HoldFast.class).pos = Dungeon.hero.pos;
|
||||
}
|
||||
if (Dungeon.hero.hasTalent(Talent.PATIENT_STRIKE)){
|
||||
Buff.prolong(Dungeon.hero, Talent.PatientStrikeTracker.class, Dungeon.hero.cooldown());
|
||||
}
|
||||
Dungeon.hero.next();
|
||||
} else {
|
||||
examining = false;
|
||||
|
||||
Reference in New Issue
Block a user