aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-03-24 17:09:42 +0100
committerShauren <shauren.trinity@gmail.com>2012-03-24 17:09:42 +0100
commit78e8de5913ff4a72b8a9969e8d8a7884ebeeee79 (patch)
treeb5d9de93c89703df87bb3efc3d4d29897bdae545
parentc058e6740b33d064e46f2f693e7ae3d9aaf52a01 (diff)
Core/Scripts: Fixed script unloading
-rwxr-xr-xsrc/server/game/Scripting/ScriptMgr.cpp2
-rw-r--r--src/server/scripts/Outland/nagrand.cpp14
2 files changed, 10 insertions, 6 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index fba6b460ec9..012910210a5 100755
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -260,7 +260,7 @@ void ScriptMgr::Initialize()
void ScriptMgr::Unload()
{
#define SCR_CLEAR(T) \
- FOR_SCRIPTS(T, itr, end) \
+ for (SCR_REG_ITR(T) itr = SCR_REG_LST(T).begin(); itr != SCR_REG_LST(T).end(); ++itr) \
delete itr->second; \
SCR_REG_LST(T).clear();
diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp
index d53bb4c24a4..a89d06072a7 100644
--- a/src/server/scripts/Outland/nagrand.cpp
+++ b/src/server/scripts/Outland/nagrand.cpp
@@ -444,18 +444,22 @@ public:
void Reset()
{
+ Say_Timer = 5000;
ReleasedFromCage = false;
}
void UpdateAI(uint32 const diff)
{
- if (Say_Timer <= diff && ReleasedFromCage)
+ if (ReleasedFromCage)
{
- me->ForcedDespawn();
- ReleasedFromCage = false;
+ if (Say_Timer <= diff)
+ {
+ me->ForcedDespawn();
+ ReleasedFromCage = false;
+ }
+ else
+ Say_Timer -= diff;
}
- else
- Say_Timer -= diff;
}
void MovementInform(uint32 type, uint32 id)