@Override public void apply(Hero hero) { Buff.affect(hero, AquaHealing.class).set(hero.HT * 3); }
@Override public boolean act() { if (Dungeon.level.water[target.pos] && target.HP < target.HT){ target.HP++; target.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 ); } if (left-- <= 0){ detach(); } else { spend(TICK); if (left <= target.HT/4f){ BuffIndicator.refreshHero(); } } return true; }
return result; case 8: result.add(new QuickRecipe(new ElixirOfRestoration.Recipe())); result.add(new QuickRecipe(new ElixirOfVitality.Recipe())); result.add(new QuickRecipe(new ElixirOfHoneyedHealing.Recipe())); result.add(new QuickRecipe(new ElixirOfAquaticRejuvenation.Recipe())); result.add(null); result.add(null); result.add(new QuickRecipe(new ElixirOfDragonsBlood.Recipe())); result.add(new QuickRecipe(new ElixirOfIcyTouch.Recipe())); result.add(new QuickRecipe(new ElixirOfToxicEssence.Recipe())); result.add(new QuickRecipe(new ElixirOfMight.Recipe())); return result; case 9:
@Override public void apply( Hero hero ) { setKnown(); hero.STR++; hero.HTBoost += 5; hero.updateHT( true ); hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "msg_1") ); GLog.p( Messages.get(this, "msg_2") ); Badges.validateStrengthAttained(); }
@Override public void shatter(int cell) { if (Dungeon.level.heroFOV[cell]) { Sample.INSTANCE.play( Assets.SND_SHATTER ); splash( cell ); } Char ch = Actor.findChar(cell); if (ch != null){ Buff.affect( ch, Healing.class ).setHeal((int)(0.8f*ch.HT + 14), 0.25f, 0); PotionOfHealing.cure(ch); if (ch instanceof Bee && ch.alignment != curUser.alignment){ ch.alignment = Char.Alignment.ALLY; ((Bee)ch).setPotInfo(-1, null); } } }
return result; case 8: result.add(new QuickRecipe(new ElixirOfRestoration.Recipe())); result.add(new QuickRecipe(new ElixirOfVitality.Recipe())); result.add(new QuickRecipe(new ElixirOfHoneyedHealing.Recipe())); result.add(new QuickRecipe(new ElixirOfAquaticRejuvenation.Recipe())); result.add(null); result.add(null); result.add(new QuickRecipe(new ElixirOfDragonsBlood.Recipe())); result.add(new QuickRecipe(new ElixirOfIcyTouch.Recipe())); result.add(new QuickRecipe(new ElixirOfToxicEssence.Recipe())); result.add(new QuickRecipe(new ElixirOfMight.Recipe())); return result; case 9:
@Override public boolean act() { if (Dungeon.level.water[target.pos] && target.HP < target.HT){ target.HP++; target.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 ); } if (left-- <= 0){ detach(); } else { spend(TICK); if (left <= target.HT/4f){ BuffIndicator.refreshHero(); } } return true; }
@Override public void apply(Hero hero) { Buff.affect(hero, AquaHealing.class).set(hero.HT * 3); }
@Override public void apply( Hero hero ) { setKnown(); hero.STR++; hero.HTBoost += 5; hero.updateHT( true ); hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "msg_1") ); GLog.p( Messages.get(this, "msg_2") ); Badges.validateStrengthAttained(); }
@Override public void shatter(int cell) { if (Dungeon.level.heroFOV[cell]) { Sample.INSTANCE.play( Assets.SND_SHATTER ); splash( cell ); } Char ch = Actor.findChar(cell); if (ch != null){ Buff.affect( ch, Healing.class ).setHeal((int)(0.8f*ch.HT + 14), 0.25f, 0); PotionOfHealing.cure(ch); if (ch instanceof Bee && ch.alignment != curUser.alignment){ ch.alignment = Char.Alignment.ALLY; ((Bee)ch).setPotInfo(-1, null); } } }