v2.1.0: fixed lethal haste triggering on ally kills
This commit is contained in:
@@ -623,7 +623,7 @@ actors.hero.talent.runic_transference.title=runic transference
|
||||
actors.hero.talent.runic_transference.desc=_+1:_ The Warrior's broken seal can transfer _regular glyphs_ in the same way it transfers an upgrade.\n\n_+2:_ The Warrior's broken seal can transfer _regular, powerful, and curse glyphs_ in the same way it transfers an upgrade.
|
||||
actors.hero.talent.runic_transference.meta_desc=_If this talent is gained by a different hero_ it will instead increase the level that armor glyphs are guaranteed to be preserved at when upgrading armor up to level 6 from 4 at +1, or level 7 from 4 at +2.
|
||||
actors.hero.talent.lethal_momentum.title=lethal momentum
|
||||
actors.hero.talent.lethal_momentum.desc=_+1:_ When the Warrior lands a killing blow with a physical weapon, it has a _67% chance_ to take 0 turns.\n\n_+2:_ When the Warrior lands a killing blow with a physical weapon, it has a _100% chance_ to take 0 turns.
|
||||
actors.hero.talent.lethal_momentum.desc=_+1:_ When the Warrior lands a killing blow on an enemy with a physical weapon, it has a _67% chance_ to take 0 turns.\n\n_+2:_ When the Warrior lands a killing blow on an enemy with a physical weapon, it has a _100% chance_ to take 0 turns.
|
||||
actors.hero.talent.improvised_projectiles.title=improvised projectiles
|
||||
actors.hero.talent.improvised_projectiles.desc=_+1:_ The Warrior can blind an enemy for _2 turns_ by throwing any item that isn’t a thrown weapon at them. This has a 50 turn cooldown.\n\n_+2:_ The Warrior can blind an enemy for _3 turns_ by throwing any item that isn’t a thrown weapon at them. This has a 50 turn cooldown.
|
||||
|
||||
@@ -877,7 +877,7 @@ actors.hero.talent.weapon_recharging.title=weapon recharging
|
||||
actors.hero.talent.weapon_recharging.desc=_+1:_ The Duelist gains one primary weapon charge every _10 turns_ when under the effect of wand or artifact recharging buffs.\n\n_+2:_ The Duelist gains one primary weapon charge every _6 turns_ when under the effect of wand or artifact recharging buffs.
|
||||
actors.hero.talent.weapon_recharging.meta_desc=_If this talent is gained by a different hero_ it will instead cause them to deal +5% melee damage while recharging at +1, or +7.5% melee damage while recharging at +2.
|
||||
actors.hero.talent.lethal_haste.title=lethal haste
|
||||
actors.hero.talent.lethal_haste.desc=_+1:_ When the Duelist lands a killing blow with a weapon ability, she gains _2 turns_ of haste.\n\n_+2:_ When the Duelist lands a killing blow with a weapon ability, she gains _3 turns_ of haste.
|
||||
actors.hero.talent.lethal_haste.desc=_+1:_ When the Duelist lands a killing blow on an enemy with a weapon ability, she gains _2 turns_ of haste.\n\n_+2:_ When the Duelist lands a killing blow on an enemy with a weapon ability, she gains _3 turns_ of haste.
|
||||
actors.hero.talent.lethal_haste.meta_desc=_If this talent is gained by a different hero_ it will instead trigger with regular weapon attacks, with a 100 turn cooldown.
|
||||
actors.hero.talent.swift_equip.title=swift equip
|
||||
actors.hero.talent.swift_equip.desc=_+1:_ The Duelist can switch her equipped weapon instantly _one time_, with a 20 turn cooldown.\n\n_+2:_ The Duelist can switch her equipped weapon instantly _twice within 5 turns_, with a 20 turn cooldown.\n\nIf the Duelist has this talent and it is not on cooldown, quick-using an unequipped weapon will equip it.
|
||||
|
||||
@@ -116,7 +116,7 @@ public class Bleeding extends Buff {
|
||||
}
|
||||
|
||||
if (source == Sickle.HarvestBleedTracker.class && !target.isAlive()){
|
||||
MeleeWeapon.onAbilityKill(Dungeon.hero);
|
||||
MeleeWeapon.onAbilityKill(Dungeon.hero, target);
|
||||
}
|
||||
|
||||
spend( TICK );
|
||||
|
||||
@@ -214,7 +214,7 @@ public class Pickaxe extends MeleeWeapon {
|
||||
if (enemy.isAlive()) {
|
||||
Buff.affect(enemy, Vulnerable.class, 3f);
|
||||
} else {
|
||||
onAbilityKill(hero);
|
||||
onAbilityKill(hero, enemy);
|
||||
}
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public class Flail extends MeleeWeapon {
|
||||
@Override
|
||||
protected boolean act() {
|
||||
if (owner instanceof Hero && !target.isAlive()){
|
||||
onAbilityKill((Hero)owner);
|
||||
onAbilityKill((Hero)owner, target);
|
||||
}
|
||||
Actor.remove(this);
|
||||
return true;
|
||||
|
||||
@@ -93,7 +93,7 @@ public class Greataxe extends MeleeWeapon {
|
||||
if (hero.attack(enemy, 1.35f, 0, Char.INFINITE_ACCURACY)){
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG);
|
||||
if (!enemy.isAlive()){
|
||||
onAbilityKill(hero);
|
||||
onAbilityKill(hero, enemy);
|
||||
}
|
||||
}
|
||||
Invisibility.dispel();
|
||||
|
||||
@@ -94,7 +94,7 @@ public class Mace extends MeleeWeapon {
|
||||
Buff.affect(enemy, Vulnerable.class, 5f);
|
||||
Buff.affect(enemy, Weakness.class, 5f);
|
||||
} else {
|
||||
wep.onAbilityKill(hero);
|
||||
wep.onAbilityKill(hero, enemy);
|
||||
}
|
||||
}
|
||||
Invisibility.dispel();
|
||||
|
||||
@@ -253,8 +253,8 @@ public class MeleeWeapon extends Weapon {
|
||||
}
|
||||
}
|
||||
|
||||
public static void onAbilityKill( Hero hero ){
|
||||
if (hero.hasTalent(Talent.LETHAL_HASTE)){
|
||||
public static void onAbilityKill( Hero hero, Char killed ){
|
||||
if (killed.alignment == Char.Alignment.ENEMY && hero.hasTalent(Talent.LETHAL_HASTE)){
|
||||
//effectively 2/3 turns of haste
|
||||
Buff.prolong(hero, Haste.class, 1.67f+hero.pointsInTalent(Talent.LETHAL_HASTE));
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ public class Rapier extends MeleeWeapon {
|
||||
if (hero.attack(enemy, dmgMulti, dmgBoost, Char.INFINITE_ACCURACY)) {
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG);
|
||||
if (!enemy.isAlive()) {
|
||||
wep.onAbilityKill(hero);
|
||||
wep.onAbilityKill(hero, enemy);
|
||||
}
|
||||
}
|
||||
Invisibility.dispel();
|
||||
|
||||
@@ -91,7 +91,7 @@ public class RunicBlade extends MeleeWeapon {
|
||||
if (hero.attack(enemy, 1f, 0, Char.INFINITE_ACCURACY)){
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG);
|
||||
if (!enemy.isAlive()){
|
||||
onAbilityKill(hero);
|
||||
onAbilityKill(hero, enemy);
|
||||
}
|
||||
}
|
||||
tracker.detach();
|
||||
|
||||
@@ -98,7 +98,7 @@ public class Sai extends MeleeWeapon {
|
||||
|
||||
boolean hit = hero.attack(enemy, 1f + boostPerHit*recentHits, 0, Char.INFINITE_ACCURACY);
|
||||
if (hit && !enemy.isAlive()){
|
||||
wep.onAbilityKill(hero);
|
||||
wep.onAbilityKill(hero, enemy);
|
||||
}
|
||||
|
||||
Invisibility.dispel();
|
||||
|
||||
@@ -97,7 +97,7 @@ public class Sickle extends MeleeWeapon {
|
||||
Invisibility.dispel();
|
||||
hero.spendAndNext(hero.attackDelay());
|
||||
if (!enemy.isAlive()){
|
||||
wep.onAbilityKill(hero);
|
||||
wep.onAbilityKill(hero, enemy);
|
||||
Buff.prolong(hero, Sword.CleaveTracker.class, 5f);
|
||||
} else {
|
||||
if (hero.buff(Sword.CleaveTracker.class) != null) {
|
||||
|
||||
@@ -97,7 +97,7 @@ public class Spear extends MeleeWeapon {
|
||||
//knock them back along that ballistica
|
||||
WandOfBlastWave.throwChar(enemy, trajectory, 1, true, false, hero.getClass());
|
||||
} else {
|
||||
wep.onAbilityKill(hero);
|
||||
wep.onAbilityKill(hero, enemy);
|
||||
}
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG);
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ public class Sword extends MeleeWeapon {
|
||||
Invisibility.dispel();
|
||||
hero.spendAndNext(hero.attackDelay());
|
||||
if (!enemy.isAlive()){
|
||||
wep.onAbilityKill(hero);
|
||||
wep.onAbilityKill(hero, enemy);
|
||||
Buff.prolong(hero, CleaveTracker.class, 5f);
|
||||
} else {
|
||||
if (hero.buff(CleaveTracker.class) != null) {
|
||||
|
||||
@@ -81,7 +81,7 @@ public class Whip extends MeleeWeapon {
|
||||
for (Char ch : targets) {
|
||||
hero.attack(ch);
|
||||
if (!ch.isAlive()){
|
||||
onAbilityKill(hero);
|
||||
onAbilityKill(hero, ch);
|
||||
}
|
||||
}
|
||||
Invisibility.dispel();
|
||||
|
||||
@@ -176,7 +176,7 @@ public class Dart extends MissileWeapon {
|
||||
@Override
|
||||
protected boolean act() {
|
||||
if (!ch.isAlive()){
|
||||
bow.onAbilityKill(Dungeon.hero);
|
||||
bow.onAbilityKill(Dungeon.hero, ch);
|
||||
}
|
||||
Actor.remove(this);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user