ServerSpellCastEnvironment.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #include "../lib/spells/ISpellMechanics.h"
  11. class CGameHandler;
  12. class ServerSpellCastEnvironment : public SpellCastEnvironment
  13. {
  14. public:
  15. ServerSpellCastEnvironment(CGameHandler * gh);
  16. ~ServerSpellCastEnvironment() = default;
  17. void complain(const std::string & problem) override;
  18. bool describeChanges() const override;
  19. vstd::RNG * getRNG() override;
  20. void apply(CPackForClient * pack) override;
  21. void apply(BattleLogMessage * pack) override;
  22. void apply(BattleStackMoved * pack) override;
  23. void apply(BattleUnitsChanged * pack) override;
  24. void apply(SetStackEffect * pack) override;
  25. void apply(StacksInjured * pack) override;
  26. void apply(BattleObstaclesChanged * pack) override;
  27. void apply(CatapultAttack * pack) override;
  28. const CMap * getMap() const override;
  29. const CGameInfoCallback * getCb() const override;
  30. bool moveHero(ObjectInstanceID hid, int3 dst, bool teleporting) override;
  31. void genericQuery(Query * request, PlayerColor color, std::function<void(const JsonNode &)> callback) override;
  32. private:
  33. CGameHandler * gh;
  34. };