aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/framework/Platform/Define.h2
-rw-r--r--src/game/ConfusedMovementGenerator.cpp5
-rw-r--r--src/game/Map.h33
-rw-r--r--src/game/MiscHandler.cpp1
-rw-r--r--src/game/Object.h8
-rw-r--r--src/game/RandomMovementGenerator.cpp4
-rw-r--r--src/game/Spell.h8
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 &notifier);
template<class NOTIFIER> void VisitGrid(const float &x, const float &y, float radius, NOTIFIER &notifier);
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 &notifier) 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