@Override
  public boolean doPickUp(Hero hero) {

    DewVial vial = hero.belongings.getItem(DewVial.class);

    if (vial == null || vial.isFull()) {

      int value = 2 + (Dungeon.depth - 1) / 5;
      if (hero.heroClass == HeroClass.HUNTRESS) {
        value++;
      }

      int effect = Math.min(hero.HT - hero.HP, value * quantity);
      if (effect > 0) {
        hero.HP += effect;
        hero.sprite.emitter().burst(Speck.factory(Speck.HEALING), 1);
        hero.sprite.showStatus(CharSprite.POSITIVE, TXT_VALUE, effect);
      }

    } else if (vial != null) {

      vial.collectDew(this);
    }

    Sample.INSTANCE.play(Assets.SND_DEWDROP);
    hero.spendAndNext(TIME_TO_PICK_UP);

    return true;
  }
 @Override
 public ArrayList<String> actions(Hero hero) {
   ArrayList<String> actions = super.actions(hero);
   DewVial vial = hero.belongings.getItem(DewVial.class);
   if (vial != null && vial.isFull() && !blessed) actions.add(AC_BLESS);
   return actions;
 }