v2.4.0: simplified and slightly nerfed hearty meal

This commit is contained in:
Evan Debenham
2024-03-27 13:28:06 -04:00
parent 9f3545c1a0
commit 375368403a
3 changed files with 5 additions and 8 deletions

View File

@@ -617,7 +617,7 @@ actors.hero.talent$combinedlethalitytriggertracker.desc=The Duelist's next attac
#warrior
actors.hero.talent.hearty_meal.title=hearty meal
actors.hero.talent.hearty_meal.desc=_+1:_ Eating heals the Warrior for _2 HP_ when he is below 50% health, and _3 HP_ when he is below 25% health.\n\n_+2:_ Eating heals the Warrior for _3 HP_ when he is below 50% health, and _5 HP_ when he is below 25% health.
actors.hero.talent.hearty_meal.desc=_+1:_ Eating food heals the Warrior for _3 HP_ when he is at or below 30% health.\n\n_+2:_ Eating food heals the Warrior for _5 HP_ when is at or below 30% health.
actors.hero.talent.veterans_intuition.title=veteran's intuition
actors.hero.talent.veterans_intuition.desc=_+1:_ The Warrior identifies weapons _1.75x faster_ and armor _2.5x faster_.\n\n_+2:_ The Warrior identifies weapons _2.5x faster_ and armor _when he equips it_.
actors.hero.talent.test_subject.title=test subject

View File

@@ -462,12 +462,9 @@ public enum Talent {
public static void onFoodEaten( Hero hero, float foodVal, Item foodSource ){
if (hero.hasTalent(HEARTY_MEAL)){
if (hero.HP <= hero.HT/2) {
//2/3 HP healed, when hero is below 50% health
int healing = 1 + hero.pointsInTalent(HEARTY_MEAL);
//3/5 HP healed, when hero is below 25% health
if (hero.HP <= hero.HT/4) healing = 1 + 2 * hero.pointsInTalent(HEARTY_MEAL);
//3/5 HP healed, when hero is below 30% health
if (hero.HP/(float)hero.HT <= 0.3f) {
int healing = 1 + 2 * hero.pointsInTalent(HEARTY_MEAL);
hero.HP = Math.min(hero.HP + healing, hero.HT);
hero.sprite.showStatusWithIcon(CharSprite.POSITIVE, Integer.toString(healing), FloatingText.HEALING);

View File

@@ -249,7 +249,7 @@ public class StatusPane extends Component {
if (!Dungeon.hero.isAlive()) {
avatar.tint(0x000000, 0.5f);
} else if ((health/(float)max) < 0.3f) {
} else if ((health/(float)max) <= 0.3f) {
warning += Game.elapsed * 5f *(0.4f - (health/(float)max));
warning %= 1f;
avatar.tint(ColorMath.interpolate(warning, warningColors), 0.5f );