v0.9.4: balance changes to rogue abilities/T4 talents:
- Smoke bomb max range down to 6 tiles from 8. - decoy armor per level down to 1-3 from 1-5 - hasty retreat turns of haste/invis reduced by 1 - shadow step charge cost reduction down to 60% from 67% - double mark max charge cost reduction down to 75% from 80% - Shadow Clone now follows the hero at 2x speed - shadow blade bonus damage up to 7.5% from 6.25% - cloned armor bonus DR up to 15% from 12.5% - fixed perfect copy giving a little more HP than intended
This commit is contained in:
parent
12fa719716
commit
aa7b17dee0
|
@ -383,7 +383,7 @@ actors.hero.abilities.rogue.smokebomb.prompt=Choose a location to jump to
|
|||
actors.hero.abilities.rogue.smokebomb$ninjalog.name=wooden decoy
|
||||
actors.hero.abilities.rogue.smokebomb$ninjalog.desc=Somehow, enemies are easily convinced that this wooden decoy is the real Rogue!
|
||||
actors.hero.abilities.rogue.smokebomb.short_desc=The Rogue throws down a _Smoke Bomb_ while blinking away. He becomes temporarily invisible and blinds enemies near his old location.
|
||||
actors.hero.abilities.rogue.smokebomb.desc=The Rogue throws down a smoke bomb and blinks up to 8 tiles away. He can blink through hazards and enemies, but not through solid terrain like walls.\n\nEnemies that are adjacent to the Rogue's old position will be blinded for 5 turns.
|
||||
actors.hero.abilities.rogue.smokebomb.desc=The Rogue throws down a smoke bomb and blinks up to 6 tiles away. He can blink through hazards and enemies, but not through solid terrain like walls.\n\nEnemies that are adjacent to the Rogue's old position will be blinded for 5 turns.
|
||||
actors.hero.abilities.rogue.deathmark.name=death mark
|
||||
actors.hero.abilities.rogue.deathmark.ally_target=You can only mark enemies
|
||||
actors.hero.abilities.rogue.deathmark.short_desc=The Rogue places a _Death Mark_ on a chosen enemy. Marked enemies take bonus damage, but cannot die until the mark ends.
|
||||
|
@ -655,23 +655,23 @@ actors.hero.talent.speedy_stealth.title=speedy stealth
|
|||
actors.hero.talent.speedy_stealth.desc=_+1:_ The Freerunner gains 2 stacks of momentum per turn while he is invisible.\n\n_+2:_ In addition to the benefits of +1, freerunning no longer counts down while the Freerunner is invisible.\n\n_+3:_ In addition to the benefits of +1 and +2, the Freerunner moves at 2x speed while invisible, regardless of whether he is freerunning or not.
|
||||
|
||||
actors.hero.talent.hasty_retreat.title=hasty retreat
|
||||
actors.hero.talent.hasty_retreat.desc=_+1:_ After blinking the Rogue gains _2 turns_ of haste and invisibility.\n\n_+2:_ After blinking the Rogue gains _3 turns_ of haste and invisibility.\n\n_+3:_ After blinking the Rogue gains _4 turns_ of haste and invisibility.\n\n_+4:_ After blinking the Rogue gains _5 turns_ of haste and invisibility.
|
||||
actors.hero.talent.hasty_retreat.desc=_+1:_ After blinking the Rogue gains _1 turn_ of haste and invisibility.\n\n_+2:_ After blinking the Rogue gains _2 turns_ of haste and invisibility.\n\n_+3:_ After blinking the Rogue gains _3 turns_ of haste and invisibility.\n\n_+4:_ After blinking the Rogue gains _4 turns_ of haste and invisibility.
|
||||
actors.hero.talent.body_replacement.title=body replacement
|
||||
actors.hero.talent.body_replacement.desc=_+1:_ After blinking, the Rogue leaves a wooden decoy behind that has _20 health and 1-5 armor_.\n\n_+2:_ After blinking, the Rogue leaves a wooden decoy behind that has _40 health and 2-10 armor_.\n\n_+3:_ After blinking, the Rogue leaves a wooden decoy behind that has _60 health and 3-15 armor_.\n\n_+4:_ After blinking, the Rogue leaves a wooden decoy behind that has _80 health and 4-20 armor_.\n\nOnly one decoy can be active at a time.
|
||||
actors.hero.talent.body_replacement.desc=_+1:_ After blinking, the Rogue leaves a wooden decoy behind that has _20 health and 1-3 armor_.\n\n_+2:_ After blinking, the Rogue leaves a wooden decoy behind that has _40 health and 2-6 armor_.\n\n_+3:_ After blinking, the Rogue leaves a wooden decoy behind that has _60 health and 3-19 armor_.\n\n_+4:_ After blinking, the Rogue leaves a wooden decoy behind that has _80 health and 4-12 armor_.\n\nOnly one decoy can be active at a time.
|
||||
actors.hero.talent.shadow_step.title=shadow step
|
||||
actors.hero.talent.shadow_step.desc=_+1:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _24% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.\n\n_+2:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _42% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.\n\n_+3:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _56% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.\n\n_+4:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _67% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.
|
||||
actors.hero.talent.shadow_step.desc=_+1:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _20% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.\n\n_+2:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _36% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.\n\n_+3:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _50% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.\n\n_+4:_ If the rogue uses smoke bomb while invisible, it occurs instantly and has a _60% reduced_ charge cost, but it also doesn't blind enemies or trigger other talents.
|
||||
|
||||
actors.hero.talent.fear_the_reaper.title=fear the reaper
|
||||
actors.hero.talent.fear_the_reaper.desc=_+1:_ When a death marked enemy reaches 0 hp, they become _crippled_.\n\n_+2:_ When a death marked enemy reaches 0 hp, they become _feared and crippled_.\n\n_+3:_ When a death marked enemy reaches 0 hp, they become _feared and crippled_ and enemies within 3 tiles become _crippled_.\n\n_+4:_ When a death marked enemy reaches 0 hp, they become _feared and crippled_ and enemies within 3 tiles become _feared and crippled_.
|
||||
actors.hero.talent.deathly_durability.title=deathly durability
|
||||
actors.hero.talent.deathly_durability.desc=_+1:_ Enemies killed by death mark give the rogue shielding equal to _13%_ of their hp when they were marked.\n\n_+2:_ Enemies killed by death mark give the rogue shielding equal to _25%_ of their hp when they were marked.\n\n_+3:_ Enemies killed by death mark give the rogue shielding equal to _38%_ of their hp when they were marked.\n\n_+4:_ Enemies killed by death mark give the rogue shielding equal to _50%_ of their hp when they were marked.
|
||||
actors.hero.talent.double_mark.title=double mark
|
||||
actors.hero.talent.double_mark.desc=_+1:_ Marking a second target at the same time as the first one has a _33% reduced_ charge cost.\n\n_+2:_ Marking a second target at the same time as the first one has a _55% reduced_ charge cost.\n\n_+3:_ Marking a second target at the same time as the first one has a _70% reduced_ charge cost.\n\n_+4:_ Marking a second target at the same time as the first one has a _80% reduced_ charge cost.
|
||||
actors.hero.talent.double_mark.desc=_+1:_ Marking a second target at the same time as the first one has a _30% reduced_ charge cost.\n\n_+2:_ Marking a second target at the same time as the first one has a _50% reduced_ charge cost.\n\n_+3:_ Marking a second target at the same time as the first one has a _65% reduced_ charge cost.\n\n_+4:_ Marking a second target at the same time as the first one has a _75% reduced_ charge cost.
|
||||
|
||||
actors.hero.talent.shadow_blade.title=shadow blade
|
||||
actors.hero.talent.shadow_blade.desc=_+1:_ The shadow clone gains _6%_ of the hero's damage per turn, and has a _25% chance_ to use the enchantment on the hero's weapon.\n\n_+2:_ The shadow clone gains _13%_ of the hero's damage per turn, and has a _50% chance_ to use the enchantment on the hero's weapon.\n\n_+3:_ The shadow clone gains _18%_ of the hero's damage per turn, and has a _75% chance_ to use the enchantment on the hero's weapon.\n\n_+4:_ The shadow clone gains _25%_ of the hero's damage per turn, and has a _100% chance_ to use the enchantment on the hero's weapon
|
||||
actors.hero.talent.shadow_blade.desc=_+1:_ The shadow clone gains _8%_ of the hero's damage per turn, and has a _25% chance_ to use the enchantment on the hero's weapon.\n\n_+2:_ The shadow clone gains _15%_ of the hero's damage per turn, and has a _50% chance_ to use the enchantment on the hero's weapon.\n\n_+3:_ The shadow clone gains _23%_ of the hero's damage per turn, and has a _75% chance_ to use the enchantment on the hero's weapon.\n\n_+4:_ The shadow clone gains _30%_ of the hero's damage per turn, and has a _100% chance_ to use the enchantment on the hero's weapon
|
||||
actors.hero.talent.cloned_armor.title=cloned armor
|
||||
actors.hero.talent.cloned_armor.desc=_+1:_ The shadow clone gains _13%_ of the hero's armor value, and has a _25% chance_ to use the glyph on the hero's armor.\n\n_+2:_ The shadow clone gains _25%_ of the hero's armor value, and has a _50% chance_ to use the glyph on the hero's armor.\n\n_+3:_ The shadow clone gains _38%_ of the hero's armor value, and has a _75% chance_ to use the glyph on the hero's armor.\n\n_+4:_ The shadow clone gains _50%_ of the hero's armor value, and has a _100% chance_ to use the glyph on the hero's armor.
|
||||
actors.hero.talent.cloned_armor.desc=_+1:_ The shadow clone gains _15%_ of the hero's armor value, and has a _25% chance_ to use the glyph on the hero's armor.\n\n_+2:_ The shadow clone gains _30%_ of the hero's armor value, and has a _50% chance_ to use the glyph on the hero's armor.\n\n_+3:_ The shadow clone gains _45%_ of the hero's armor value, and has a _75% chance_ to use the glyph on the hero's armor.\n\n_+4:_ The shadow clone gains _60%_ of the hero's armor value, and has a _100% chance_ to use the glyph on the hero's armor.
|
||||
actors.hero.talent.perfect_copy.title=perfect copy
|
||||
actors.hero.talent.perfect_copy.desc=_+1:_ The shadow clone gains _10%_ of the hero's max HP, and can instantly swap places with the hero up to _1 tile_ away.\n\n_+2:_ The shadow clone gains _20%_ of the hero's max HP, and can instantly swap places with the hero up to _2 tiles_ away.\n\n_+3:_ The shadow clone gains _30%_ of the hero's max HP, and can instantly swap places with the hero up to _3 tiles_ away.\n\n_+4:_ The shadow clone gains _40%_ of the hero's max HP, and can instantly swap places with the hero up to _4 tiles_ away.
|
||||
|
||||
|
|
|
@ -57,8 +57,8 @@ public class DeathMark extends ArmorAbility {
|
|||
public float chargeUse( Hero hero ) {
|
||||
float chargeUse = super.chargeUse(hero);
|
||||
if (hero.buff(DoubleMarkTracker.class) != null){
|
||||
//reduced charge use by 33%/55%/70%/80%
|
||||
chargeUse *= Math.pow(0.67, hero.pointsInTalent(Talent.DOUBLE_MARK));
|
||||
//reduced charge use by 30%/50%/65%/75%
|
||||
chargeUse *= Math.pow(0.707, hero.pointsInTalent(Talent.DOUBLE_MARK));
|
||||
}
|
||||
return chargeUse;
|
||||
}
|
||||
|
|
|
@ -150,7 +150,7 @@ public class ShadowClone extends ArmorAbility {
|
|||
|
||||
public ShadowAlly( int heroLevel ){
|
||||
super();
|
||||
int hpBonus = 20 + 5*heroLevel;
|
||||
int hpBonus = 15 + 5*heroLevel;
|
||||
hpBonus = Math.round(0.1f * Dungeon.hero.pointsInTalent(Talent.PERFECT_COPY) * hpBonus);
|
||||
if (hpBonus > 0){
|
||||
HT += hpBonus;
|
||||
|
@ -192,7 +192,7 @@ public class ShadowClone extends ArmorAbility {
|
|||
int damage = Random.NormalIntRange(10, 20);
|
||||
int heroDamage = Dungeon.hero.damageRoll();
|
||||
heroDamage /= Dungeon.hero.attackDelay(); //normalize hero damage based on atk speed
|
||||
heroDamage = Math.round(0.0625f * Dungeon.hero.pointsInTalent(Talent.SHADOW_BLADE) * heroDamage);
|
||||
heroDamage = Math.round(0.075f * Dungeon.hero.pointsInTalent(Talent.SHADOW_BLADE) * heroDamage);
|
||||
if (heroDamage > 0){
|
||||
damage += heroDamage;
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ public class ShadowClone extends ArmorAbility {
|
|||
public int drRoll() {
|
||||
int dr = super.drRoll();
|
||||
int heroRoll = Dungeon.hero.drRoll();
|
||||
heroRoll = Math.round(0.125f * Dungeon.hero.pointsInTalent(Talent.CLONED_ARMOR) * heroRoll);
|
||||
heroRoll = Math.round(0.15f * Dungeon.hero.pointsInTalent(Talent.CLONED_ARMOR) * heroRoll);
|
||||
if (heroRoll > 0){
|
||||
dr += heroRoll;
|
||||
}
|
||||
|
@ -232,6 +232,18 @@ public class ShadowClone extends ArmorAbility {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float speed() {
|
||||
float speed = super.speed();
|
||||
|
||||
//moves 2 tiles at a time when returning to the hero
|
||||
if (state == WANDERING && defendingPos == -1){
|
||||
speed *= 2;
|
||||
}
|
||||
|
||||
return speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteract(Char c) {
|
||||
if (super.canInteract(c)){
|
||||
|
|
|
@ -61,8 +61,8 @@ public class SmokeBomb extends ArmorAbility {
|
|||
if (!hero.hasTalent(Talent.SHADOW_STEP) || hero.invisible <= 0){
|
||||
return super.chargeUse(hero);
|
||||
} else {
|
||||
//reduced charge use by 24%/42%/56%/67%
|
||||
return (float)(super.chargeUse(hero) * Math.pow(0.76, hero.pointsInTalent(Talent.SHADOW_STEP)));
|
||||
//reduced charge use by 20%/36%/50%/60%
|
||||
return (float)(super.chargeUse(hero) * Math.pow(0.795, hero.pointsInTalent(Talent.SHADOW_STEP)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ public class SmokeBomb extends ArmorAbility {
|
|||
protected void activate(ClassArmor armor, Hero hero, Integer target) {
|
||||
if (target != null) {
|
||||
|
||||
PathFinder.buildDistanceMap(hero.pos, BArray.not(Dungeon.level.solid,null), 8);
|
||||
PathFinder.buildDistanceMap(hero.pos, BArray.not(Dungeon.level.solid,null), 6);
|
||||
|
||||
if ( PathFinder.distance[target] == Integer.MAX_VALUE ||
|
||||
!Dungeon.level.heroFOV[target] ||
|
||||
|
@ -107,7 +107,7 @@ public class SmokeBomb extends ArmorAbility {
|
|||
}
|
||||
|
||||
if (hero.hasTalent(Talent.HASTY_RETREAT)){
|
||||
int duration = 1+hero.pointsInTalent(Talent.HASTY_RETREAT);
|
||||
int duration = hero.pointsInTalent(Talent.HASTY_RETREAT);
|
||||
Buff.affect(hero, Haste.class, duration);
|
||||
Buff.affect(hero, Invisibility.class, duration);
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ public class SmokeBomb extends ArmorAbility {
|
|||
@Override
|
||||
public int drRoll() {
|
||||
return Random.NormalIntRange(Dungeon.hero.pointsInTalent(Talent.BODY_REPLACEMENT),
|
||||
5*Dungeon.hero.pointsInTalent(Talent.BODY_REPLACEMENT));
|
||||
3*Dungeon.hero.pointsInTalent(Talent.BODY_REPLACEMENT));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user