v0.9.0: talent balance and bugfixes:
- removed health requirement for most food talents - adjusted wording for energizing upgrade - fixed bugs with ring IDing talent - buffed followup strike and added a hit sound to it
This commit is contained in:
@@ -319,15 +319,15 @@ actors.hero.talent.test_subject.desc=_+1:_ Whenever he identifies a potion by us
|
||||
actors.hero.talent.iron_will.title=iron will
|
||||
actors.hero.talent.iron_will.desc=_+1:_ The max shield provided by the Warrior's seal is _increased by 1_.\n\n_+2:_ The max shield provided by the Warrior's seal is _increased by 2_.
|
||||
actors.hero.talent.energizing_meal.title=energizing meal
|
||||
actors.hero.talent.energizing_meal.desc=_+1:_ Eating at below 50% health grants the Mage _4 turns of wand recharging_.\n\n_+2:_ Eating at below 50% health grants the Mage _6 turns of wand recharging_.
|
||||
actors.hero.talent.energizing_meal.desc=_+1:_ Eating food grants the Mage _4 turns of wand recharging_.\n\n_+2:_ Eating food grants the Mage _6 turns of wand recharging_.
|
||||
actors.hero.talent.scholars_intuition.title=scholar's intuition
|
||||
actors.hero.talent.scholars_intuition.desc=_+1:_ The Mage identifies wands _2x faster_.\n\n_+2:_ The Mage identifies wands _when he uses them_.
|
||||
actors.hero.talent.tested_hypothesis.title=tested hypothesis
|
||||
actors.hero.talent.tested_hypothesis.desc=_+1:_ Whenever he identifies a scroll by using it, the Mage gains _8 shielding_.\n\n_+2:_ Whenever he identifies a scroll by using it, the Mage gains _12 shielding_.
|
||||
actors.hero.talent.energizing_upgrade.title=energizing upgrade
|
||||
actors.hero.talent.energizing_upgrade.desc=_+1:_ The Mage's staff gains _1 extra charge_ whenever the Mage upgrades it.\n\n_+2:_ The Mage's staff gains _2 extra charges_ whenever the Mage upgrades it.
|
||||
actors.hero.talent.energizing_upgrade.desc=_+1:_ The Mage's staff recharges for _1 extra charge_ whenever the Mage upgrades it.\n\n_+2:_ The Mage's staff recharges for _2 extra charges_ whenever the Mage upgrades it.
|
||||
actors.hero.talent.rationed_meal.title=rationed meal
|
||||
actors.hero.talent.rationed_meal.desc=_+1:_ Eating at below 50% health gives the Rogue _20% more satiety_.\n\n_+2:_ Eating at below 50% health gives the Rogue _30% more satiety_.
|
||||
actors.hero.talent.rationed_meal.desc=_+1:_ Eating food gives the Rogue _15% more satiety_.\n\n_+2:_ Eating at below 50% health gives the Rogue _25% more satiety_.
|
||||
actors.hero.talent.thiefs_intuition.title=thief's intuition
|
||||
actors.hero.talent.thiefs_intuition.desc=_+1:_ The Rogue identifies rings _2x faster_, and identifies the type of a ring _when he equips it_.\n\n_+2:_ The Rogue identifies rings _when he equips them_, and identifies the type of a ring _when he picks it up_.
|
||||
actors.hero.talent.sucker_punch.title=sucker punch
|
||||
@@ -335,11 +335,11 @@ actors.hero.talent.sucker_punch.desc=_+1:_ The Rogue deals _1 bonus damage_ the
|
||||
actors.hero.talent.mending_shadows.title=mending shadows
|
||||
actors.hero.talent.mending_shadows.desc=_+1:_ The Rogue heals for 1 HP every _5 consecutive turns_ that he is hidden by his cloak.\n\n_+2:_ The Rogue heals for 1 HP every _3 consecutive turns_ that he is hidden by his cloak.
|
||||
actors.hero.talent.invigorating_meal.title=invigorating meal
|
||||
actors.hero.talent.invigorating_meal.desc=_+1:_ Eating at below 50% health takes 1 turn and grants the Huntress _2 turns of haste_.\n\n_+2:_ Eating at below 50% health takes 1 turn and grants the Huntress _3 turns of haste_.
|
||||
actors.hero.talent.invigorating_meal.desc=_+1:_ Eating food takes 1 turn and grants the Huntress _1 turn of haste_.\n\n_+2:_ Eating food takes 1 turn and grants the Huntress _2 turns of haste_.
|
||||
actors.hero.talent.survivalists_intuition.title=survivalist's intuition
|
||||
actors.hero.talent.survivalists_intuition.desc=_+1:_ The Huntress identifies all equipment _1.5x faster_.\n\n_+2:_ The Huntress identifies all equipment _2x faster_.
|
||||
actors.hero.talent.followup_strike.title=followup strike
|
||||
actors.hero.talent.followup_strike.desc=_+1:_ When the Huntress hits an enemy with her bow or a thrown weapon, her next melee attack against that enemy deals _1 bonus damage_.\n\n_+2:_ When the Huntress hits an enemy with her bow or a thrown weapon, her next melee attack against that enemy deals _1-2 bonus damage_
|
||||
actors.hero.talent.followup_strike.desc=_+1:_ When the Huntress hits an enemy with her bow or a thrown weapon, her next melee attack against that enemy deals _1-2 bonus damage_.\n\n_+2:_ When the Huntress hits an enemy with her bow or a thrown weapon, her next melee attack against that enemy deals _2-3 bonus damage_
|
||||
actors.hero.talent.natures_aid.title=nature's aid
|
||||
actors.hero.talent.natures_aid.desc=_+1:_ The Huntress gains 2 armor of barkskin for _4 turns_ when a plant is trampled in her vision.\n\n_+2:_ The Huntress gains 2 armor of barkskin for _6 turns_ when a plant is trampled in her vision.
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
@@ -38,6 +39,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
@@ -111,27 +113,25 @@ public enum Talent {
|
||||
|
||||
public static void onFoodEaten( Hero hero, float foodVal ){
|
||||
if (hero.hasTalent(HEARTY_MEAL) && hero.HP <= hero.HT/2){
|
||||
//3/5 HP healed
|
||||
//3/5 HP healed, when hero is below 50% health
|
||||
hero.HP = Math.min( hero.HP + 1 + 2*hero.pointsInTalent(HEARTY_MEAL), hero.HT );
|
||||
hero.sprite.emitter().burst( Speck.factory( Speck.HEALING ), hero.pointsInTalent(HEARTY_MEAL) );
|
||||
}
|
||||
if (hero.hasTalent(ENERGIZING_MEAL) && hero.HP <= hero.HT/2){
|
||||
if (hero.hasTalent(ENERGIZING_MEAL)){
|
||||
//4/6 turns of recharging
|
||||
Buff.affect( hero, Recharging.class, 2*(1+hero.pointsInTalent(ENERGIZING_MEAL)) );
|
||||
ScrollOfRecharging.charge( hero );
|
||||
}
|
||||
if (hero.hasTalent(RATIONED_MEAL) && hero.HP <= hero.HT/2){
|
||||
//20%/30% bonus food value
|
||||
float bonusSatiety = foodVal * 0.1f*(1+hero.pointsInTalent(RATIONED_MEAL));
|
||||
if (hero.hasTalent(RATIONED_MEAL)){
|
||||
//15%/25% bonus food value
|
||||
float bonusSatiety = foodVal * (0.05f + (0.1f * hero.pointsInTalent(RATIONED_MEAL)));
|
||||
Buff.affect(hero, Hunger.class).affectHunger(bonusSatiety, true);
|
||||
//TODO vfx
|
||||
}
|
||||
if (hero.hasTalent(INVIGORATING_MEAL) && hero.HP <= hero.HT/2){
|
||||
if (hero.hasTalent(INVIGORATING_MEAL)){
|
||||
//eating food takes 1 turn, instead of 3
|
||||
hero.spend(-2);
|
||||
//effectively 2/3 turns of haste
|
||||
Buff.affect( hero, Haste.class, 1.67f+hero.pointsInTalent(INVIGORATING_MEAL));
|
||||
//TODO VFX
|
||||
//effectively 1/2 turns of haste
|
||||
Buff.affect( hero, Haste.class, 0.67f+hero.pointsInTalent(INVIGORATING_MEAL));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +183,13 @@ public enum Talent {
|
||||
if (hero.belongings.weapon instanceof MissileWeapon) {
|
||||
Buff.affect(enemy, FollowupStrikeTracker.class);
|
||||
} else if (enemy.buff(FollowupStrikeTracker.class) != null){
|
||||
dmg += Random.IntRange(1 , hero.pointsInTalent(Talent.FOLLOWUP_STRIKE));
|
||||
dmg += Random.IntRange(1, 2);
|
||||
if (hero.pointsInTalent(FOLLOWUP_STRIKE) == 2){
|
||||
dmg += 1;
|
||||
}
|
||||
if (!(enemy instanceof Mob) || !((Mob) enemy).surprisedBy(hero)){
|
||||
Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG, 0.75f, 1.2f);
|
||||
}
|
||||
enemy.buff(FollowupStrikeTracker.class).detach();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,9 +60,6 @@ public abstract class EquipableItem extends Item {
|
||||
//This is a special case as the item is being removed from inventory, but is staying with the hero.
|
||||
int slot = Dungeon.quickslot.getSlot( this );
|
||||
doEquip(hero);
|
||||
if (isEquipped(hero)){
|
||||
Talent.onItemEquipped(hero, this);
|
||||
}
|
||||
if (slot != -1) {
|
||||
Dungeon.quickslot.setSlot( slot, this );
|
||||
updateQuickslot();
|
||||
@@ -122,6 +119,8 @@ public abstract class EquipableItem extends Item {
|
||||
if (collect) Dungeon.level.drop( this, hero.pos );
|
||||
}
|
||||
|
||||
Talent.onItemEquipped(hero, this);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user