public void shieldVillage() {
    if (GameData.villageShield()) {
      showNotif("Shield is already activated.");
    } else if (shieldMana <= GameData.mana()) {
      Sfx.playShield();
      GameData.setVillageShield(true);
      GameData.setShieldDuration(3600);
      showShieldBuff();

      if (GameData.mana() - shieldMana < 0) {
        GameData.setMana(0);
        manaBar.addAction(scaleTo(0f, 1f, 1f));
      } else {
        GameData.setMana(GameData.mana() - shieldMana);
        lobby.updateLabels();
      }
      mana.setText(GameData.mana() + "/" + GameData.maxMana());

      closeUi();

    } else {
      showMagicAd();
      int neededMana = shieldMana - GameData.mana();
      showNotif("Need " + neededMana + " more mana.");
    }
  }
  public void healVillage() {
    if (GameData.villageHp() >= GameData.maxVillageHp()) {
      showNotif("Your Village Health is full.");
    } else if (healMana <= GameData.mana()) {
      Sfx.playHeal();
      healed = true;
      if (hp10 + GameData.villageHp() > GameData.maxVillageHp()) {
        GameData.setVillageHp(GameData.maxVillageHp());
        // villageHpBar.addAction(scaleTo(1f, 1f, 1f));
      } else {
        GameData.setVillageHp(GameData.villageHp() + hp10);
        // villageHpBar.addAction(scaleBy(0.1f, 0f, 1f));
      }
      if (GameData.mana() - healMana < 0) {
        GameData.setMana(0);
        manaBar.addAction(scaleTo(0f, 1f, 1f));
      } else {
        GameData.setMana(GameData.mana() - healMana);
        lobby.updateLabels();
      }
      mana.setText(GameData.mana() + "/" + GameData.maxMana());
      // villageHp.setText(GameData.villageHp() + "/" + GameData.maxVillageHp());

      closeUi();
    } else {
      showMagicAd();
      int neededMana = healMana - GameData.mana();
      showNotif("Need " + neededMana + " more mana.");
    }
  }
  public void oneHitSkill() {
    if (oneHitMana <= GameData.mana()) {
      Sfx.playWind();
      oneTapKo = true;
      oneTapDuration = 30;
      final Image oneTapBuff = new Image(AssetLoader.uiAtlas.findRegion("one-hit"));
      final Label oneTapBuffTime = new Label(oneTapDuration + "s", Skins.xSmallTxt);
      Stack oneTapBuffStack = new Stack();
      oneTapBuffStack.add(oneTapBuff);
      Table oneTapBuffTimeTbl = new Table();
      oneTapBuffTimeTbl.add(oneTapBuffTime).expand().bottom().left().pad(3);
      oneTapBuffStack.add(oneTapBuffTimeTbl);

      final Table oneTapBuffTbl = new Table();
      oneTapBuffTbl.setTransform(true);
      oneTapBuffTbl.setBounds(0, 0, Resize.getWidth(), Resize.getHeight());
      oneTapBuffTbl
          .add(oneTapBuffStack)
          .size(60, 60)
          .expand()
          .right()
          .top()
          .padTop(140)
          .padRight(10);

      GdxGame.hud_stage.addActor(oneTapBuffTbl);
      actionManager.addAction(
          repeat(
              30,
              sequence(
                  delay(1f),
                  run(
                      new Runnable() {
                        @Override
                        public void run() {
                          oneTapDuration--;
                          if (oneTapDuration <= 0) {
                            oneTapKo = false;
                            oneTapBuffTbl.remove();
                          }
                          oneTapBuffTime.setText(oneTapDuration + "s");
                        }
                      }))));

      actionManager.addAction(
          sequence(
              delay(30f),
              run(
                  new Runnable() {
                    @Override
                    public void run() {
                      oneTapKo = false;
                      oneTapBuffTbl.remove();
                    }
                  })));

      if (GameData.mana() - oneHitMana < 0) {
        GameData.setMana(0);
        manaBar.addAction(scaleTo(0f, 1f, 1f));
      } else {
        GameData.setMana(GameData.mana() - oneHitMana);
        lobby.updateLabels();
      }
      mana.setText(GameData.mana() + "/" + GameData.maxMana());

      closeUi();
    } else {
      showMagicAd();
      int neededMana = oneHitMana - GameData.mana();
      showNotif("Need " + neededMana + " more mana.");
    }
  }