diff options
author | Spp- <u84280@epreinf21.(none)> | 2011-07-27 14:52:59 +0200 |
---|---|---|
committer | Spp- <u84280@epreinf21.(none)> | 2011-07-27 14:52:59 +0200 |
commit | 0b5c03f66b0ce82add6a9d2f8df89e67c936f21f (patch) | |
tree | 18f5be9b1c6c4102b346892aaa9010642e499254 /src | |
parent | 3e5aa2d1ff02f062ae9491b1a60a312a4f958c0d (diff) |
Core/Scripts: ScriptRegistry is no longer the part of ScriptMgr public interface, it is not required by caller side. Also remove extra function call to GetScriptId in scripts
Diffstat (limited to 'src')
12 files changed, 165 insertions, 171 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 4e37508b7d2..2e222fad61d 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -8746,11 +8746,6 @@ bool LoadTrinityStrings(char const* table, int32 start_value, int32 end_value) return sObjectMgr->LoadTrinityStrings(table, start_value, end_value); } -uint32 GetScriptId(const char *name) -{ - return sObjectMgr->GetScriptId(name); -} - CreatureBaseStats const* ObjectMgr::GetCreatureBaseStats(uint8 level, uint8 unitClass) { CreatureBaseStatsMap::const_iterator it = m_creatureBaseStatsMap.find(MAKE_PAIR16(level, unitClass)); diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 5d1cf287f87..32a71095c58 100755 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -1361,6 +1361,5 @@ class ObjectMgr // scripting access functions bool LoadTrinityStrings(char const* table, int32 start_value = MAX_CREATURE_AI_TEXT_STRING_ID, int32 end_value = std::numeric_limits<int32>::min()); -uint32 GetScriptId(const char *name); #endif diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index af301738f20..f551b268b3a 100755 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -17,6 +17,7 @@ */ #include "ScriptPCH.h" +#include "ScriptMgr.h" #include "Config.h" #include "DatabaseEnv.h" #include "DBCStores.h" @@ -26,6 +27,100 @@ #include "ScriptSystem.h" #include "Transport.h" +// This is the global static registry of scripts. +template<class TScript> +class ScriptRegistry +{ + // Counter used for code-only scripts. + static uint32 _scriptIdCounter; + +public: + typedef std::map<uint32, TScript*> ScriptMap; + typedef typename ScriptMap::iterator ScriptMapIterator; + + // The actual list of scripts. This will be accessed concurrently, so it must not be modified + // after server startup. + static ScriptMap ScriptPointerList; + + static void AddScript(TScript* const script) + { + ASSERT(script); + + // See if the script is using the same memory as another script. If this happens, it means that + // someone forgot to allocate new memory for a script. + for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it) + { + if (it->second == script) + { + sLog->outError("Script '%s' has same memory pointer as '%s'.", + script->GetName().c_str(), it->second->GetName().c_str()); + + return; + } + } + + if (script->IsDatabaseBound()) + { + // Get an ID for the script. An ID only exists if it's a script that is assigned in the database + // through a script name (or similar). + uint32 id = sObjectMgr->GetScriptId(script->GetName().c_str()); + if (id) + { + // Try to find an existing script. + bool existing = false; + for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it) + { + // If the script names match... + if (it->second->GetName() == script->GetName()) + { + // ... It exists. + existing = true; + break; + } + } + + // If the script isn't assigned -> assign it! + if (!existing) + { + ScriptPointerList[id] = script; + sScriptMgr->IncrementScriptCount(); + } + else + { + // If the script is already assigned -> delete it! + sLog->outError("Script '%s' already assigned with the same script name, so the script can't work.", + script->GetName().c_str()); + + ASSERT(false); // Error that should be fixed ASAP. + } + } + else + { + // The script uses a script name from database, but isn't assigned to anything. + if (script->GetName().find("example") == std::string::npos && script->GetName().find("Smart") == std::string::npos) + sLog->outErrorDb("Script named '%s' does not have a script name assigned in database.", + script->GetName().c_str()); + } + } + else + { + // We're dealing with a code-only script; just add it. + ScriptPointerList[_scriptIdCounter++] = script; + sScriptMgr->IncrementScriptCount(); + } + } + + // Gets a script by its ID (assigned by ObjectMgr). + static TScript* GetScriptById(uint32 id) + { + ScriptMapIterator it = ScriptPointerList.find(id); + if (it != ScriptPointerList.end()) + return it->second; + + return NULL; + } +}; + // Utility macros to refer to the script registry. #define SCR_REG_MAP(T) ScriptRegistry<T>::ScriptMap #define SCR_REG_ITR(T) ScriptRegistry<T>::ScriptMapIterator @@ -1290,25 +1385,25 @@ void ScriptMgr::OnGroupDisband(Group* group) SpellScriptLoader::SpellScriptLoader(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<SpellScriptLoader>::AddScript(this); + ScriptRegistry<SpellScriptLoader>::AddScript(this); } ServerScript::ServerScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<ServerScript>::AddScript(this); + ScriptRegistry<ServerScript>::AddScript(this); } WorldScript::WorldScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<WorldScript>::AddScript(this); + ScriptRegistry<WorldScript>::AddScript(this); } FormulaScript::FormulaScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<FormulaScript>::AddScript(this); + ScriptRegistry<FormulaScript>::AddScript(this); } WorldMapScript::WorldMapScript(const char* name, uint32 mapId) @@ -1317,7 +1412,7 @@ WorldMapScript::WorldMapScript(const char* name, uint32 mapId) if (GetEntry() && !GetEntry()->IsContinent()) sLog->outError("WorldMapScript for map %u is invalid.", mapId); - ScriptMgr::ScriptRegistry<WorldMapScript>::AddScript(this); + ScriptRegistry<WorldMapScript>::AddScript(this); } InstanceMapScript::InstanceMapScript(const char* name, uint32 mapId) @@ -1326,7 +1421,7 @@ InstanceMapScript::InstanceMapScript(const char* name, uint32 mapId) if (GetEntry() && !GetEntry()->IsDungeon()) sLog->outError("InstanceMapScript for map %u is invalid.", mapId); - ScriptMgr::ScriptRegistry<InstanceMapScript>::AddScript(this); + ScriptRegistry<InstanceMapScript>::AddScript(this); } BattlegroundMapScript::BattlegroundMapScript(const char* name, uint32 mapId) @@ -1335,140 +1430,140 @@ BattlegroundMapScript::BattlegroundMapScript(const char* name, uint32 mapId) if (GetEntry() && !GetEntry()->IsBattleground()) sLog->outError("BattlegroundMapScript for map %u is invalid.", mapId); - ScriptMgr::ScriptRegistry<BattlegroundMapScript>::AddScript(this); + ScriptRegistry<BattlegroundMapScript>::AddScript(this); } ItemScript::ItemScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<ItemScript>::AddScript(this); + ScriptRegistry<ItemScript>::AddScript(this); } CreatureScript::CreatureScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<CreatureScript>::AddScript(this); + ScriptRegistry<CreatureScript>::AddScript(this); } GameObjectScript::GameObjectScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<GameObjectScript>::AddScript(this); + ScriptRegistry<GameObjectScript>::AddScript(this); } AreaTriggerScript::AreaTriggerScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<AreaTriggerScript>::AddScript(this); + ScriptRegistry<AreaTriggerScript>::AddScript(this); } BattlegroundScript::BattlegroundScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<BattlegroundScript>::AddScript(this); + ScriptRegistry<BattlegroundScript>::AddScript(this); } OutdoorPvPScript::OutdoorPvPScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<OutdoorPvPScript>::AddScript(this); + ScriptRegistry<OutdoorPvPScript>::AddScript(this); } CommandScript::CommandScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<CommandScript>::AddScript(this); + ScriptRegistry<CommandScript>::AddScript(this); } WeatherScript::WeatherScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<WeatherScript>::AddScript(this); + ScriptRegistry<WeatherScript>::AddScript(this); } AuctionHouseScript::AuctionHouseScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<AuctionHouseScript>::AddScript(this); + ScriptRegistry<AuctionHouseScript>::AddScript(this); } ConditionScript::ConditionScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<ConditionScript>::AddScript(this); + ScriptRegistry<ConditionScript>::AddScript(this); } VehicleScript::VehicleScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<VehicleScript>::AddScript(this); + ScriptRegistry<VehicleScript>::AddScript(this); } DynamicObjectScript::DynamicObjectScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<DynamicObjectScript>::AddScript(this); + ScriptRegistry<DynamicObjectScript>::AddScript(this); } TransportScript::TransportScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<TransportScript>::AddScript(this); + ScriptRegistry<TransportScript>::AddScript(this); } AchievementCriteriaScript::AchievementCriteriaScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<AchievementCriteriaScript>::AddScript(this); + ScriptRegistry<AchievementCriteriaScript>::AddScript(this); } PlayerScript::PlayerScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<PlayerScript>::AddScript(this); + ScriptRegistry<PlayerScript>::AddScript(this); } GuildScript::GuildScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<GuildScript>::AddScript(this); + ScriptRegistry<GuildScript>::AddScript(this); } GroupScript::GroupScript(const char* name) : ScriptObject(name) { - ScriptMgr::ScriptRegistry<GroupScript>::AddScript(this); + ScriptRegistry<GroupScript>::AddScript(this); } -// Instantiate static members of ScriptMgr::ScriptRegistry. -template<class TScript> std::map<uint32, TScript*> ScriptMgr::ScriptRegistry<TScript>::ScriptPointerList; -template<class TScript> uint32 ScriptMgr::ScriptRegistry<TScript>::_scriptIdCounter = 0; +// Instantiate static members of ScriptRegistry. +template<class TScript> std::map<uint32, TScript*> ScriptRegistry<TScript>::ScriptPointerList; +template<class TScript> uint32 ScriptRegistry<TScript>::_scriptIdCounter = 0; // Specialize for each script type class like so: -template class ScriptMgr::ScriptRegistry<SpellScriptLoader>; -template class ScriptMgr::ScriptRegistry<ServerScript>; -template class ScriptMgr::ScriptRegistry<WorldScript>; -template class ScriptMgr::ScriptRegistry<FormulaScript>; -template class ScriptMgr::ScriptRegistry<WorldMapScript>; -template class ScriptMgr::ScriptRegistry<InstanceMapScript>; -template class ScriptMgr::ScriptRegistry<BattlegroundMapScript>; -template class ScriptMgr::ScriptRegistry<ItemScript>; -template class ScriptMgr::ScriptRegistry<CreatureScript>; -template class ScriptMgr::ScriptRegistry<GameObjectScript>; -template class ScriptMgr::ScriptRegistry<AreaTriggerScript>; -template class ScriptMgr::ScriptRegistry<BattlegroundScript>; -template class ScriptMgr::ScriptRegistry<OutdoorPvPScript>; -template class ScriptMgr::ScriptRegistry<CommandScript>; -template class ScriptMgr::ScriptRegistry<WeatherScript>; -template class ScriptMgr::ScriptRegistry<AuctionHouseScript>; -template class ScriptMgr::ScriptRegistry<ConditionScript>; -template class ScriptMgr::ScriptRegistry<VehicleScript>; -template class ScriptMgr::ScriptRegistry<DynamicObjectScript>; -template class ScriptMgr::ScriptRegistry<TransportScript>; -template class ScriptMgr::ScriptRegistry<AchievementCriteriaScript>; -template class ScriptMgr::ScriptRegistry<PlayerScript>; -template class ScriptMgr::ScriptRegistry<GuildScript>; -template class ScriptMgr::ScriptRegistry<GroupScript>; +template class ScriptRegistry<SpellScriptLoader>; +template class ScriptRegistry<ServerScript>; +template class ScriptRegistry<WorldScript>; +template class ScriptRegistry<FormulaScript>; +template class ScriptRegistry<WorldMapScript>; +template class ScriptRegistry<InstanceMapScript>; +template class ScriptRegistry<BattlegroundMapScript>; +template class ScriptRegistry<ItemScript>; +template class ScriptRegistry<CreatureScript>; +template class ScriptRegistry<GameObjectScript>; +template class ScriptRegistry<AreaTriggerScript>; +template class ScriptRegistry<BattlegroundScript>; +template class ScriptRegistry<OutdoorPvPScript>; +template class ScriptRegistry<CommandScript>; +template class ScriptRegistry<WeatherScript>; +template class ScriptRegistry<AuctionHouseScript>; +template class ScriptRegistry<ConditionScript>; +template class ScriptRegistry<VehicleScript>; +template class ScriptRegistry<DynamicObjectScript>; +template class ScriptRegistry<TransportScript>; +template class ScriptRegistry<AchievementCriteriaScript>; +template class ScriptRegistry<PlayerScript>; +template class ScriptRegistry<GuildScript>; +template class ScriptRegistry<GroupScript>; // Undefine utility macros. #undef GET_SCRIPT_RET diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index c2b62c67a7c..9372a7e71c2 100755 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -66,7 +66,7 @@ struct Condition; struct ItemTemplate; struct OutdoorPvPData; -#define VISIBLE_RANGE (166.0f) //MAX visible range (size of grid) +#define VISIBLE_RANGE 166.0f //MAX visible range (size of grid) // Generic scripting text function. void DoScriptText(int32 textEntry, WorldObject* pSource, Unit *pTarget = NULL); @@ -99,7 +99,7 @@ void DoScriptText(int32 textEntry, WorldObject* pSource, Unit *pTarget = NULL); MyScriptType(const char* name, uint32 someId) : ScriptObject(name), _someId(someId) { - ScriptMgr::ScriptRegistry<MyScriptType>::AddScript(this); + ScriptRegistry<MyScriptType>::AddScript(this); } public: @@ -118,7 +118,7 @@ void DoScriptText(int32 textEntry, WorldObject* pSource, Unit *pTarget = NULL); Next, you need to add a specialization for ScriptRegistry. Put this in the bottom of ScriptMgr.cpp: - template class ScriptMgr::ScriptRegistry<MyScriptType>; + template class ScriptRegistry<MyScriptType>; Now, add a cleanup routine in ScriptMgr::~ScriptMgr: @@ -762,13 +762,9 @@ class ScriptMgr friend class ACE_Singleton<ScriptMgr, ACE_Null_Mutex>; friend class ScriptObject; - ScriptMgr(); - virtual ~ScriptMgr(); - - uint32 _scriptCount; - - //atomic op counter for active scripts amount - ACE_Atomic_Op<ACE_Thread_Mutex, long> _scheduledScripts; + private: + ScriptMgr(); + virtual ~ScriptMgr(); public: /* Initialization */ @@ -981,102 +977,11 @@ class ScriptMgr uint32 DecreaseScheduledScriptCount(size_t count) { return uint32(_scheduledScripts -= count); } bool IsScriptScheduled() const { return _scheduledScripts > 0; } - public: /* ScriptRegistry */ + private: + uint32 _scriptCount; - // This is the global static registry of scripts. - template<class TScript> - class ScriptRegistry - { - // Counter used for code-only scripts. - static uint32 _scriptIdCounter; - - public: - - typedef std::map<uint32, TScript*> ScriptMap; - typedef typename ScriptMap::iterator ScriptMapIterator; - - // The actual list of scripts. This will be accessed concurrently, so it must not be modified - // after server startup. - static ScriptMap ScriptPointerList; - - static void AddScript(TScript* const script) - { - ASSERT(script); - - // See if the script is using the same memory as another script. If this happens, it means that - // someone forgot to allocate new memory for a script. - for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it) - { - if (it->second == script) - { - sLog->outError("Script '%s' has same memory pointer as '%s'.", - script->GetName().c_str(), it->second->GetName().c_str()); - - return; - } - } - - if (script->IsDatabaseBound()) - { - // Get an ID for the script. An ID only exists if it's a script that is assigned in the database - // through a script name (or similar). - uint32 id = GetScriptId(script->GetName().c_str()); - if (id) - { - // Try to find an existing script. - bool existing = false; - for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it) - { - // If the script names match... - if (it->second->GetName() == script->GetName()) - { - // ... It exists. - existing = true; - break; - } - } - - // If the script isn't assigned -> assign it! - if (!existing) - { - ScriptPointerList[id] = script; - sScriptMgr->IncrementScriptCount(); - } - else - { - // If the script is already assigned -> delete it! - sLog->outError("Script '%s' already assigned with the same script name, so the script can't work.", - script->GetName().c_str()); - - ASSERT(false); // Error that should be fixed ASAP. - } - } - else - { - // The script uses a script name from database, but isn't assigned to anything. - if (script->GetName().find("example") == std::string::npos && script->GetName().find("Smart") == std::string::npos) - sLog->outErrorDb("Script named '%s' does not have a script name assigned in database.", - script->GetName().c_str()); - } - } - else - { - // We're dealing with a code-only script; just add it. - ScriptPointerList[_scriptIdCounter++] = script; - sScriptMgr->IncrementScriptCount(); - } - } - - // Gets a script by its ID (assigned by ObjectMgr). - static TScript* GetScriptById(uint32 id) - { - ScriptMapIterator it = ScriptPointerList.find(id); - if (it != ScriptPointerList.end()) - return it->second; - - return NULL; - } - }; + //atomic op counter for active scripts amount + ACE_Atomic_Op<ACE_Thread_Mutex, long> _scheduledScripts; }; #endif diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h index 0eb10c58221..0acffc50272 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h @@ -117,7 +117,7 @@ CreatureAI* GetRubySanctumAI(Creature* creature) { if (InstanceMap* instance = creature->GetMap()->ToInstanceMap()) if (instance->GetInstanceScript()) - if (instance->GetScriptId() == GetScriptId(RSScriptName)) + if (instance->GetScriptId() == sObjectMgr->GetScriptId(RSScriptName)) return new AI(creature); return NULL; } diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index ce297af9fd8..ff579e18799 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -71,7 +71,7 @@ class boss_bronjahm : public CreatureScript void InitializeAI() { - if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(FoSScriptName)) + if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(FoSScriptName)) me->IsAIEnabled = false; else if (!me->isDead()) Reset(); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index 76839177230..4d784b1f555 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -129,7 +129,7 @@ class boss_devourer_of_souls : public CreatureScript void InitializeAI() { - if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(FoSScriptName)) + if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(FoSScriptName)) me->IsAIEnabled = false; else if (!me->isDead()) Reset(); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp index 809fa8e39ff..ec294afb79e 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp @@ -89,7 +89,7 @@ class boss_garfrost : public CreatureScript void InitializeAI() { - if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(PoSScriptName)) + if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(PoSScriptName)) me->IsAIEnabled = false; else if (!me->isDead()) Reset(); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index 2f517cefd75..e62e9508d22 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -143,7 +143,7 @@ class boss_ick : public CreatureScript void InitializeAI() { - if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(PoSScriptName)) + if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(PoSScriptName)) me->IsAIEnabled = false; else if (!me->isDead()) Reset(); @@ -297,7 +297,7 @@ class boss_krick : public CreatureScript void InitializeAI() { - if (!_instanceScript || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(PoSScriptName)) + if (!_instanceScript || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(PoSScriptName)) me->IsAIEnabled = false; else if (!me->isDead()) Reset(); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index f9f301018d5..ade2395ccc3 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -127,7 +127,7 @@ class boss_tyrannus : public CreatureScript void InitializeAI() { - if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(PoSScriptName)) + if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(PoSScriptName)) me->IsAIEnabled = false; else if (instance->GetBossState(DATA_TYRANNUS) != DONE) Reset(); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h index 19ae50ab364..7a1ab3e4f19 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h @@ -443,7 +443,7 @@ CreatureAI* GetIcecrownCitadelAI(Creature* creature) { if (InstanceMap* instance = creature->GetMap()->ToInstanceMap()) if (instance->GetInstanceScript()) - if (instance->GetScriptId() == GetScriptId(ICCScriptName)) + if (instance->GetScriptId() == sObjectMgr->GetScriptId(ICCScriptName)) return new AI(creature); return NULL; } diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/ulduar/ulduar.h index 4175d17e540..5602018f782 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/ulduar.h +++ b/src/server/scripts/Northrend/Ulduar/ulduar/ulduar.h @@ -190,7 +190,7 @@ CreatureAI* GetUlduarAI(Creature* creature) { if (InstanceMap* instance = creature->GetMap()->ToInstanceMap()) if (instance->GetInstanceScript()) - if (instance->GetScriptId() == GetScriptId(UlduarScriptName)) + if (instance->GetScriptId() == sObjectMgr->GetScriptId(UlduarScriptName)) return new AI(creature); return NULL; |