1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Extract library entity randomization logic to separate class

This commit is contained in:
Ivan Savenko
2025-05-16 17:20:56 +03:00
parent 184e841b16
commit 54a46b77a9
55 changed files with 605 additions and 441 deletions

View File

@@ -30,6 +30,7 @@ class CStackInstance;
class CGHeroInstance;
class IGameInfoCallback;
class IGameEventCallback;
class IGameRandomizer;
class ResourceSet;
class int3;
class MetaString;
@@ -55,9 +56,9 @@ public:
/// Called on new turn by server. This method can not modify object state on its own
/// Instead all changes must be propagated via netpacks
virtual void newTurn(IGameEventCallback & gameEvents) const;
virtual void initObj(vstd::RNG & rand); //synchr
virtual void pickRandomObject(vstd::RNG & rand);
virtual void newTurn(IGameEventCallback & gameEvents, IGameRandomizer & gameRandomizer) const;
virtual void initObj(IGameRandomizer & gameRandomizer); //synchr
virtual void pickRandomObject(IGameRandomizer & gameRandomizer);
virtual void setProperty(ObjProperty what, ObjPropertyID identifier);//synchr
//Called when queries created DURING HERO VISIT are resolved