aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXTZGZoReX <none@none>2010-08-07 17:58:45 +0200
committerXTZGZoReX <none@none>2010-08-07 17:58:45 +0200
commit9794e99d8a69e02fd0fa292287d5dbb03e0574ac (patch)
tree15cc7c3419762ebd132adeca3eb2386e6bd3e9d3 /src
parentaff24e35988d172b2471db7e16a19b24eb891b9b (diff)
* Some fixes and cleanups.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp6
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp12
-rw-r--r--src/server/game/Scripting/ScriptMgr.h9
3 files changed, 15 insertions, 12 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index f5f6d25b723..ec384f9a995 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -22,8 +22,6 @@
#include "World.h"
#include "WorldPacket.h"
#include "DatabaseEnv.h"
-
-
#include "AchievementMgr.h"
#include "ArenaTeam.h"
#include "CellImpl.h"
@@ -35,7 +33,7 @@
#include "ProgressBar.h"
#include "SpellMgr.h"
#include "DisableMgr.h"
-
+#include "ScriptMgr.h"
#include "MapManager.h"
#include "BattleGround.h"
#include "BattleGroundAB.h"
@@ -314,7 +312,7 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un
return false;
return target->getGender() == gender.gender;
case ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT:
- return sScriptMgr.OnCriteriaCheck(source, target);
+ return sScriptMgr.OnCriteriaCheck(this, const_cast<Player*>(source), const_cast<Unit*>(target));
case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY:
return source->GetMap()->GetSpawnMode() == difficulty.difficulty;
case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT:
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index dc405c53e53..9917cfbe8a0 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -168,6 +168,7 @@ ScriptMgr::~ScriptMgr()
SCR_CLEAR(VehicleScript);
SCR_CLEAR(DynamicObjectScript);
SCR_CLEAR(TransportScript);
+ SCR_CLEAR(AchievementCriteriaScript);
#undef SCR_CLEAR
}
@@ -355,21 +356,21 @@ void ScriptMgr::OnSocketClose(WorldSocket* socket, bool wasNew)
FOREACH_SCRIPT(ServerScript)->OnSocketClose(socket, wasNew);
}
-void ScriptMgr::OnPacketReceive(WorldSocket* socket, WorldPacket& packet)
+void ScriptMgr::OnPacketReceive(WorldSocket* socket, WorldPacket packet)
{
ASSERT(socket);
FOREACH_SCRIPT(ServerScript)->OnPacketReceive(socket, packet);
}
-void ScriptMgr::OnPacketSend(WorldSocket* socket, WorldPacket& packet)
+void ScriptMgr::OnPacketSend(WorldSocket* socket, WorldPacket packet)
{
ASSERT(socket);
FOREACH_SCRIPT(ServerScript)->OnPacketSend(socket, packet);
}
-void ScriptMgr::OnUnknownPacketReceive(WorldSocket* socket, WorldPacket& packet)
+void ScriptMgr::OnUnknownPacketReceive(WorldSocket* socket, WorldPacket packet)
{
ASSERT(socket);
@@ -503,6 +504,7 @@ void ScriptMgr::OnDestroyMap(Map* map)
void ScriptMgr::OnLoadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy)
{
ASSERT(map);
+ ASSERT(gmap);
SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsContinent);
itr->second->OnLoadGridMap(map, gmap, gx, gy);
@@ -520,6 +522,7 @@ void ScriptMgr::OnLoadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy)
void ScriptMgr::OnUnloadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy)
{
ASSERT(map);
+ ASSERT(gmap);
SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsContinent);
itr->second->OnUnloadGridMap(map, gmap, gx, gy);
@@ -923,6 +926,7 @@ bool ScriptMgr::OnConditionCheck(Condition* condition, Player* player, Unit* tar
{
ASSERT(condition);
ASSERT(player);
+ // targetOverride can be NULL.
GET_SCRIPT_RET(ConditionScript, condition->mScriptId, tmpscript, true);
return tmpscript->OnConditionCheck(condition, player, targetOverride);
@@ -1056,7 +1060,7 @@ void ScriptMgr::OnShutdown()
bool ScriptMgr::OnCriteriaCheck(AchievementCriteriaData const* data, Player* source, Unit* target)
{
ASSERT(source);
- // target can be NULL
+ // target can be NULL.
GET_SCRIPT_RET(AchievementCriteriaScript, data->ScriptId, tmpscript, false);
return tmpscript->OnCheck(source, target);
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index c27a169880c..4ea345d142a 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -35,6 +35,7 @@
#include "ConditionMgr.h"
#include "Vehicle.h"
#include "Transport.h"
+#include "AchievementMgr.h"
class Player;
class Creature;
@@ -768,7 +769,7 @@ class AchievementCriteriaScript : public ScriptObject
bool IsDatabaseBound() const { return true; }
- // Called when additional criteria is checked
+ // Called when an additional criteria is checked.
virtual bool OnCheck(Player* source, Unit* target) = 0;
};
@@ -813,9 +814,9 @@ class ScriptMgr
void OnNetworkStop();
void OnSocketOpen(WorldSocket* socket);
void OnSocketClose(WorldSocket* socket, bool wasNew);
- void OnPacketReceive(WorldSocket* socket, WorldPacket& packet);
- void OnPacketSend(WorldSocket* socket, WorldPacket& packet);
- void OnUnknownPacketReceive(WorldSocket* socket, WorldPacket& packet);
+ void OnPacketReceive(WorldSocket* socket, WorldPacket packet);
+ void OnPacketSend(WorldSocket* socket, WorldPacket packet);
+ void OnUnknownPacketReceive(WorldSocket* socket, WorldPacket packet);
public: /* WorldScript */