@Override public int proc(Char attacker, Char defender, int damage) { //heals 30 hp at base, scaling with enemy HT Buff.affect( defender, Healing.class ).setHeal((int)(0.5f*defender.HT + 30), 0.25f, 0); PotionOfHealing.cure( defender ); if (attacker.alignment == defender.alignment){ return 0; } return super.proc(attacker, defender, damage); }
@Override public int proc(Char attacker, Char defender, int damage) { //heals 30 hp at base, scaling with enemy HT Buff.affect( defender, Healing.class ).setHeal((int)(0.5f*defender.HT + 30), 0.25f, 0); PotionOfHealing.cure( defender ); if (attacker.alignment == defender.alignment){ return 0; } return super.proc(attacker, defender, damage); }
@Override public void apply(Hero hero) { Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0); PotionOfHealing.cure(hero); Buff.affect(hero, Barrier.class).setShield((int)(0.6f*hero.HT + 10)); }
@Override public void apply(Hero hero) { Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0); PotionOfHealing.cure(hero); hero.buff(Hunger.class).satisfy(Hunger.STARVING/5f); }
@Override public void apply(Hero hero) { Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0); PotionOfHealing.cure(hero); Buff.affect(hero, Barrier.class).setShield((int)(0.6f*hero.HT + 10)); }
@Override public void apply(Hero hero) { Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0); PotionOfHealing.cure(hero); hero.buff(Hunger.class).satisfy(Hunger.STARVING/5f); }
@Override public void apply( Hero hero ) { setKnown(); //starts out healing 30 hp, equalizes with hero health total at level 11 Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0); cure( hero ); GLog.p( Messages.get(this, "heal") ); }
@Override public void apply( Hero hero ) { setKnown(); //starts out healing 30 hp, equalizes with hero health total at level 11 Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0); cure( hero ); GLog.p( Messages.get(this, "heal") ); }
@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); } } }
@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); } } }
PotionOfHealing.cure(ch);
PotionOfHealing.cure(ch);
@Override protected boolean affectHero( Hero hero ) { if (!hero.isAlive()) return false; Sample.INSTANCE.play( Assets.SND_DRINK ); hero.HP = hero.HT; hero.sprite.emitter().start( Speck.factory( Speck.HEALING ), 0.4f, 4 ); PotionOfHealing.cure( hero ); hero.belongings.uncurseEquipped(); ((Hunger)hero.buff( Hunger.class )).satisfy( Hunger.STARVING ); CellEmitter.get( hero.pos ).start( ShaftParticle.FACTORY, 0.2f, 3 ); Dungeon.hero.interrupt(); GLog.p( Messages.get(this, "procced") ); return true; }
@Override protected boolean affectHero( Hero hero ) { if (!hero.isAlive()) return false; Sample.INSTANCE.play( Assets.SND_DRINK ); hero.HP = hero.HT; hero.sprite.emitter().start( Speck.factory( Speck.HEALING ), 0.4f, 4 ); PotionOfHealing.cure( hero ); hero.belongings.uncurseEquipped(); ((Hunger)hero.buff( Hunger.class )).satisfy( Hunger.STARVING ); CellEmitter.get( hero.pos ).start( ShaftParticle.FACTORY, 0.2f, 3 ); Dungeon.hero.interrupt(); GLog.p( Messages.get(this, "procced") ); return true; }