2
0

ServerSpellCastEnvironment.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 IGameInfoCallback * getCb() const override;
  31. bool moveHero(ObjectInstanceID hid, int3 dst, EMovementMode mode) override;
  32. void createBoat(const int3 & visitablePosition, BoatId type, PlayerColor initiator) override;
  33. void genericQuery(Query * request, PlayerColor color, std::function<void(std::optional<int32_t>)> callback) override;
  34. private:
  35. CGameHandler * gh;
  36. };