diff options
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; |