*Fix a crash with MAP_BASED_RAND_GEN - thanks to Azuritus for research.

--HG--
branch : trunk
rename : sql/updates/4602_world_spell_bonus_data.txt => sql/updates/4602_world_spell_bonus_data.sql
rename : sql/updates/4603_world_tmp.txt => sql/updates/4603_world_tmp.sql
rename : sql/updates/4604_world.sql => sql/updates/4610_world.sql
This commit is contained in:
QAston
2009-07-27 16:06:39 +02:00
14 changed files with 282 additions and 6 deletions
+6 -5
View File
@@ -560,11 +560,12 @@ class TRINITY_DLL_SPEC WorldObject : public Object
bool IsTempWorldObject;
#ifdef MAP_BASED_RAND_GEN
int32 irand(int32 min, int32 max) const { return int32 (GetMap()->mtRand.randInt(max - min)) + min; }
uint32 urand(uint32 min, uint32 max) const { return GetMap()->mtRand.randInt(max - min) + min; }
int32 rand32() const { return GetMap()->mtRand.randInt(); }
double rand_norm() const { return GetMap()->mtRand.randExc(); }
double rand_chance() const { return GetMap()->mtRand.randExc(100.0); }
// Object may not have map assigned - use global scope rand in that case
int32 irand(int32 min, int32 max) const { return FindMap() ? int32 (GetMap()->mtRand.randInt(max - min)) + min : ::irand(min, max); }
uint32 urand(uint32 min, uint32 max) const { return FindMap() ? GetMap()->mtRand.randInt(max - min) + min : ::urand(min, max); }
int32 rand32() const { return FindMap() ? GetMap()->mtRand.randInt(): ::rand32(); }
double rand_norm() const { return FindMap() ? GetMap()->mtRand.randExc(): ::rand_norm(); }
double rand_chance() const { return FindMap() ? GetMap()->mtRand.randExc(100.0): ::rand_chance(); }
#endif
protected: