diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/framework/Platform/Define.h | 2 | ||||
-rw-r--r-- | src/game/ConfusedMovementGenerator.cpp | 5 | ||||
-rw-r--r-- | src/game/Map.h | 33 | ||||
-rw-r--r-- | src/game/MiscHandler.cpp | 1 | ||||
-rw-r--r-- | src/game/Object.h | 8 | ||||
-rw-r--r-- | src/game/RandomMovementGenerator.cpp | 4 | ||||
-rw-r--r-- | src/game/Spell.h | 8 |
7 files changed, 36 insertions, 25 deletions
diff --git a/src/framework/Platform/Define.h b/src/framework/Platform/Define.h index 35be370d65b..1516d697048 100644 --- a/src/framework/Platform/Define.h +++ b/src/framework/Platform/Define.h @@ -129,6 +129,8 @@ typedef uint32 DWORD; typedef uint64 OBJECT_HANDLE; +#define MAP_BASED_RAND_GEN + #define MaNGOS Trinity #define MANGOS_DLL_DECL TRINITY_DLL_DECL #define MANGOS_DLL_SPEC TRINITY_DLL_SPEC diff --git a/src/game/ConfusedMovementGenerator.cpp b/src/game/ConfusedMovementGenerator.cpp index da383cc8a07..cc64a6ae31f 100644 --- a/src/game/ConfusedMovementGenerator.cpp +++ b/src/game/ConfusedMovementGenerator.cpp @@ -24,6 +24,11 @@ #include "ConfusedMovementGenerator.h" #include "DestinationHolderImp.h" +#ifdef MAP_BASED_RAND_GEN +#define rand_norm() unit.rand_norm() +#define urand(a,b) unit.urand(a,b) +#endif + template<class T> void ConfusedMovementGenerator<T>::Initialize(T &unit) diff --git a/src/game/Map.h b/src/game/Map.h index 85aeee8d6e4..241a836d249 100644 --- a/src/game/Map.h +++ b/src/game/Map.h @@ -412,34 +412,17 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj template<class NOTIFIER> void VisitWorld(const float &x, const float &y, float radius, NOTIFIER ¬ifier); template<class NOTIFIER> void VisitGrid(const float &x, const float &y, float radius, NOTIFIER ¬ifier); CreatureGroupHolderType CreatureGroupHolder; + +#ifdef MAP_BASED_RAND_GEN MTRand mtRand; + int32 irand(int32 min, int32 max) { return int32 (mtRand.randInt(max - min)) + min; } + uint32 urand(uint32 min, uint32 max) { return mtRand.randInt(max - min) + min; } + int32 rand32() { return mtRand.randInt(); } + double rand_norm() { return mtRand.randExc(); } + double rand_chance() { return mtRand.randExc(100.0); } +#endif TempSummon *SummonCreature(uint32 entry, float x, float y, float z, float angle, SummonPropertiesEntry const *properties = NULL, uint32 duration = 0, Unit *summoner = NULL); - int32 irand(int32 min, int32 max) - { - return int32 (mtRand.randInt(max - min)) + min; - } - - uint32 urand(uint32 min, uint32 max) - { - return mtRand.randInt(max - min) + min; - } - - int32 rand32() - { - return mtRand.randInt(); - } - - double rand_norm(void) - { - return mtRand.randExc(); - } - - double rand_chance(void) - { - return mtRand.randExc(100.0); - } - Creature* GetCreature(uint64 guid); GameObject* GetGameObject(uint64 guid); DynamicObject* GetDynamicObject(uint64 guid); diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp index 66b4decb56d..f7c53e536c4 100644 --- a/src/game/MiscHandler.cpp +++ b/src/game/MiscHandler.cpp @@ -613,6 +613,7 @@ void WorldSession::HandleAddFriendOpcodeCallBack(QueryResult *result, uint32 acc } session->GetPlayer()->GetSocial()->SetFriendNote(GUID_LOPART(friendGuid), friendNote); } + } } sSocialMgr.SendFriendStatus(session->GetPlayer(), friendResult, GUID_LOPART(friendGuid), false); diff --git a/src/game/Object.h b/src/game/Object.h index 2a79d2c22cb..699cdca6b7f 100644 --- a/src/game/Object.h +++ b/src/game/Object.h @@ -548,6 +548,14 @@ class TRINITY_DLL_SPEC WorldObject : public Object template<class NOTIFIER> void VisitNearbyWorldObject(const float &radius, NOTIFIER ¬ifier) const { GetMap()->VisitWorld(GetPositionX(), GetPositionY(), radius, notifier); } 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); } +#endif + protected: explicit WorldObject(); std::string m_name; diff --git a/src/game/RandomMovementGenerator.cpp b/src/game/RandomMovementGenerator.cpp index 93e10ad6115..46a3b6086db 100644 --- a/src/game/RandomMovementGenerator.cpp +++ b/src/game/RandomMovementGenerator.cpp @@ -41,6 +41,10 @@ RandomMovementGenerator<Creature>::GetDestination(float &x, float &y, float &z) return true; } +#ifdef MAP_BASED_RAND_GEN +#define rand_norm() creature.rand_norm() +#endif + template<> void RandomMovementGenerator<Creature>::_setRandomLocation(Creature &creature) diff --git a/src/game/Spell.h b/src/game/Spell.h index ef0e3266b4e..7d9163f4a0b 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -643,6 +643,14 @@ class Spell uint32 m_customAttr; bool m_skipCheck; uint32 m_effectMask; + +#ifdef MAP_BASED_RAND_GEN + int32 irand(int32 min, int32 max) { return int32 (m_caster->GetMap()->mtRand.randInt(max - min)) + min; } + uint32 urand(uint32 min, uint32 max) { return m_caster->GetMap()->mtRand.randInt(max - min) + min; } + int32 rand32() { return m_caster->GetMap()->mtRand.randInt(); } + double rand_norm() { return m_caster->GetMap()->mtRand.randExc(); } + double rand_chance() { return m_caster->GetMap()->mtRand.randExc(100.0); } +#endif }; namespace Trinity |