@Override
  public MyTurnState result(BoardState oldstate) {
    Hero hero = (oldstate.getHero()).fresh();
    hero.setPowerUsed(true);
    hero.setCurrentMana(hero.getCurrentMana() - manacost);

    BoardState tempstate =
        new BoardState(
            oldstate.getViewType(),
            hero,
            oldstate.getEnemy(),
            oldstate.getOppSide(),
            oldstate.getMySide(),
            oldstate.getIdsInPlayOrder(),
            oldstate.getEnemyHandSize(),
            oldstate.isTurnEnded(),
            oldstate.getIdCounter());

    return (tempstate.getEnemy()).damage(tempstate, damage);
  }