v1.3.0: buffs to spirit hawk and hawk talents

This commit is contained in:
Evan Debenham
2022-05-28 22:56:27 -04:00
parent fea918f2f1
commit bea920fc7f
2 changed files with 25 additions and 9 deletions

View File

@@ -753,11 +753,11 @@ actors.hero.talent.wild_momentum.title=wild momentum
actors.hero.talent.wild_momentum.desc=_+1:_ Killing an enemy with the spirit bow prolongs the duration of nature's power by _1 turn_. The duration can be extended by a max of _2 turns_.\n\n_+2:_ Killing an enemy with the spirit bow prolongs the duration of nature's power by _2 turns_. The duration can be extended by a max of _4 turns_.\n\n_+3:_ Killing an enemy with the spirit bow prolongs the duration of nature's power by _3 turns_. The duration can be extended by a max of _6 turns_.\n\n_+4:_ Killing an enemy with the spirit bow prolongs the duration of nature's power by _4 turns_. The duration can be extended by a max of _8 turns_.
actors.hero.talent.eagle_eye.title=eagle eye
actors.hero.talent.eagle_eye.desc=_+1:_ The spirit hawk's vision range is increased to _7 tiles_ from 6.\n\n_+2:_ The spirit hawk's vision range is increased to _8 tiles_ from 6.\n\n_+3:_ The spirit hawk's vision range is increased to _8 tiles_ from 6, and it gets _2 tiles_ of mind vision.\n\n_+4:_ The spirit hawk's vision range is increased to _8 tiles_ from 6, and it gets _3 tiles_ of mind vision.
actors.hero.talent.eagle_eye.desc=_+1:_ The spirit hawk's vision range is increased to _7 tiles_ from 6.\n\n_+2:_ The spirit hawk's vision range is increased to _8 tiles_ from 6.\n\n_+3:_ The spirit hawk's vision range is increased to _9 tiles_ from 6, and it gets _2 tiles_ of mind vision.\n\n_+4:_ The spirit hawk's vision range is increased to _10 tiles_ from 6, and it gets _3 tiles_ of mind vision.
actors.hero.talent.go_for_the_eyes.title=go for the eyes
actors.hero.talent.go_for_the_eyes.desc=_+1:_ Attacks from the spirit hawk blind enemies for _2 turns_.\n\n_+2:_ Attacks from the spirit hawk blind enemies for _4 turns_.\n\n_+3:_ Attacks from the spirit hawk blind enemies for _6 turns_.\n\n_+4:_ Attacks from the spirit hawk blind enemies for _8 turns_.
actors.hero.talent.go_for_the_eyes.desc=_+1:_ Attacks from the spirit hawk blind enemies for _2 turns_.\n\n_+2:_ Attacks from the spirit hawk blind enemies for _5 turns_.\n\n_+3:_ Attacks from the spirit hawk blind enemies for _5 turns_ and cripple them for _2 turns_.\n\n_+4:_ Attacks from the spirit hawk blind enemies for _5 turns_ and cripple them for _5 turns_.
actors.hero.talent.swift_spirit.title=swift spirit
actors.hero.talent.swift_spirit.desc=_+1:_ The spirit hawk's movement speed is increased to _2.5 tiles_ from 2, and it is guaranteed to dodge the first _2 attacks_ made against it.\n\n_+2:_ The spirit hawk's movement speed is increased to _3 tiles_ from 2, and it is guaranteed to dodge the first _3 attacks_ made against it.\n\n_+3:_ The spirit hawk's movement speed is increased to _3.5 tiles_ from 2, and it is guaranteed to dodge the first _4 attacks_ made against it.\n\n_+4:_The spirit hawk's movement speed is increased to _4 tiles_ from 2, and it is guaranteed to dodge the first _5 attacks_ made against it.
actors.hero.talent.swift_spirit.desc=_+1:_ The spirit hawk's movement speed is increased to _2.5 tiles_ from 2, and it is guaranteed to dodge the first _2 attacks_ made against it.\n\n_+2:_ The spirit hawk's movement speed is increased to _3 tiles_ from 2, and it is guaranteed to dodge the first _4 attacks_ made against it.\n\n_+3:_ The spirit hawk's movement speed is increased to _3.5 tiles_ from 2, and it is guaranteed to dodge the first _6 attacks_ made against it.\n\n_+4:_The spirit hawk's movement speed is increased to _4 tiles_ from 2, and it is guaranteed to dodge the first _8 attacks_ made against it.
#universal
actors.hero.talent.heroic_energy.title=heroic energy

View File

@@ -34,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.BlobImmunity;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
@@ -173,7 +174,7 @@ public class SpiritHawk extends ArmorAbility {
@Override
public int defenseSkill(Char enemy) {
if (Dungeon.hero.hasTalent(Talent.SWIFT_SPIRIT) &&
dodgesUsed < 1 + Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT)) {
dodgesUsed < 2*Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT)) {
dodgesUsed++;
return Char.INFINITE_EVASION;
}
@@ -188,8 +189,23 @@ public class SpiritHawk extends ArmorAbility {
@Override
public int attackProc(Char enemy, int damage) {
damage = super.attackProc( enemy, damage );
if (Dungeon.hero.hasTalent(Talent.GO_FOR_THE_EYES)) {
Buff.prolong( enemy, Blindness.class, 2*Dungeon.hero.pointsInTalent(Talent.GO_FOR_THE_EYES) );
switch (Dungeon.hero.pointsInTalent(Talent.GO_FOR_THE_EYES)){
case 1:
Buff.prolong( enemy, Blindness.class, 2);
break;
case 2:
Buff.prolong( enemy, Blindness.class, 5);
break;
case 3:
Buff.prolong( enemy, Blindness.class, 5);
Buff.prolong( enemy, Cripple.class, 2);
break;
case 4:
Buff.prolong( enemy, Blindness.class, 5);
Buff.prolong( enemy, Cripple.class, 5);
break;
default:
//do nothing
}
return damage;
@@ -201,7 +217,7 @@ public class SpiritHawk extends ArmorAbility {
die(null);
return true;
}
viewDistance = (int)GameMath.gate(6, 6+Dungeon.hero.pointsInTalent(Talent.EAGLE_EYE), 8);
viewDistance = 6+Dungeon.hero.pointsInTalent(Talent.EAGLE_EYE);
baseSpeed = 2f + Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT)/2f;
boolean result = super.act();
Dungeon.level.updateFieldOfView( this, fieldOfView );
@@ -237,8 +253,8 @@ public class SpiritHawk extends ArmorAbility {
@Override
public String description() {
String message = Messages.get(this, "desc", (int)timeRemaining);
if (dodgesUsed < Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT)){
message += "\n" + Messages.get(this, "desc_dodges", (Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT) - dodgesUsed));
if (dodgesUsed < 2*Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT)){
message += "\n" + Messages.get(this, "desc_dodges", (2*Dungeon.hero.pointsInTalent(Talent.SWIFT_SPIRIT) - dodgesUsed));
}
return message;
}