summaryrefslogtreecommitdiffstats
path: root/source/MobCensus.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/MobCensus.h')
-rw-r--r--source/MobCensus.h72
1 files changed, 40 insertions, 32 deletions
diff --git a/source/MobCensus.h b/source/MobCensus.h
index 8aa8f3a6c..7606efcea 100644
--- a/source/MobCensus.h
+++ b/source/MobCensus.h
@@ -4,55 +4,63 @@
#include "MobProximityCounter.h"
#include "MobFamilyCollecter.h"
+
+
+
+// fwd:
class cChunk;
class cMonster;
-// This class is used to collect, for each Mob, what is the distance of the closest player
-// it was first being designed in order to make mobs spawn / despawn / act
-// as the behaviour and even life of mobs depends on the distance to closest player
-//
-// as side effect : it also collect the chunks that are elligible for spawning
-// as side effect 2 : it also know the caps for mobs number and can compare census to this numbers
-class cMobCensus
-{
-public :
- cMobCensus();
-protected :
- cMobProximityCounter m_ProximityCounter;
- cMobFamilyCollecter m_MobFamilyCollecter;
- typedef const std::map<cMonster::eFamily,int> tCapMultipliersMap;
- static tCapMultipliersMap& m_CapMultipliers();
- std::set<cChunk*> m_EligibleForSpawnChunks;
- // count the chunks that are elligible to spawn (for now, the loaded valide not null chunks)
- int getChunkNb();
+/** This class is used to collect information, for each Mob, what is the distance of the closest player
+it was first being designed in order to make mobs spawn / despawn / act
+as the behaviour and even life of mobs depends on the distance to closest player
+as side effect : it also collect the chunks that are elligible for spawning
+as side effect 2 : it also know the caps for mobs number and can compare census to this numbers
+*/
+class cMobCensus
+{
public:
typedef const std::map<cMonster::eFamily,int> tMobSpawnRate;
- static tMobSpawnRate& m_SpawnRate();
+ static tMobSpawnRate & m_SpawnRate(void);
- // return the nested proximity counter
- cMobProximityCounter& getProximityCounter();
+ /// Returns the nested proximity counter
+ cMobProximityCounter & GetProximityCounter(void);
-public :
// collect an elligible Chunk for Mob Spawning
// MG TODO : code the correct rule (not loaded chunk but short distant from players)
- void CollectSpawnableChunk(cChunk& a_Chunk);
+ void CollectSpawnableChunk(cChunk & a_Chunk);
- // collect a mob - it's distance to player, it's family ...
+ /// Collect a mob - it's distance to player, it's family ...
void CollectMob(cMonster& a_Monster, cChunk& a_Chunk, double a_Distance);
- // return true if the family is caped (i.e. there is more mobs of this family than max)
- bool isCaped(cMonster::eFamily a_MobFamily);
+ /// Returns true if the family is capped (i.e. there are more mobs of this family than max)
+ bool IsCapped(cMonster::eFamily a_MobFamily);
+
+ /// log the results of census to server console
+ void Logd(void);
+
+protected :
+ cMobProximityCounter m_ProximityCounter;
+ cMobFamilyCollecter m_MobFamilyCollecter;
+
+ typedef const std::map<cMonster::eFamily,int> tCapMultipliersMap;
+
+ static tCapMultipliersMap & m_CapMultipliers(void);
+
+ std::set<cChunk *> m_EligibleForSpawnChunks;
+
+ /// Returns the number of chunks that are elligible for spawning (for now, the loaded, valid chunks)
+ int GetNumChunks();
+
+ static tCapMultipliersMap CapMultiplierInitializerBeforeCx11(void);
+ static tCapMultipliersMap MobSpawnRateInitializerBeforeCx11(void);
+} ;
+
- // log the results of census
- void logd();
-protected :
- static tCapMultipliersMap CapMultiplierInitializerBeforeCx11();
- static tCapMultipliersMap MobSpawnRateInitializerBeforeCx11();
-};