* Some fixes and cleanups.

--HG--
branch : trunk
This commit is contained in:
XTZGZoReX
2010-08-07 17:58:45 +02:00
parent aff24e3598
commit 9794e99d8a
3 changed files with 15 additions and 12 deletions

View File

@@ -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:

View File

@@ -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);

View File

@@ -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 */