ServerSpellCastEnvironment.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * ServerSpellCastEnvironment.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. #include "../lib/spells/ISpellMechanics.h"
  12. class CGameHandler;
  13. class ServerSpellCastEnvironment : public SpellCastEnvironment
  14. {
  15. public:
  16. ServerSpellCastEnvironment(CGameHandler * gh);
  17. ~ServerSpellCastEnvironment() = default;
  18. void complain(const std::string & problem) override;
  19. bool describeChanges() const override;
  20. vstd::RNG * getRNG() override;
  21. void apply(CPackForClient * pack) override;
  22. void apply(BattleLogMessage * pack) override;
  23. void apply(BattleStackMoved * pack) override;
  24. void apply(BattleUnitsChanged * pack) override;
  25. void apply(SetStackEffect * pack) override;
  26. void apply(StacksInjured * pack) override;
  27. void apply(BattleObstaclesChanged * pack) override;
  28. void apply(CatapultAttack * pack) override;
  29. const CMap * getMap() const override;
  30. const CGameInfoCallback * getCb() const override;
  31. bool moveHero(ObjectInstanceID hid, int3 dst, bool teleporting) override;
  32. void genericQuery(Query * request, PlayerColor color, std::function<void(std::optional<int32_t>)> callback) override;
  33. private:
  34. CGameHandler * gh;
  35. };