Merge branch 'azerothcore:master' into Playerbot

This commit is contained in:
ZhengPeiRu21
2022-05-06 16:13:01 -06:00
committed by GitHub
16 changed files with 371 additions and 103 deletions

View File

@@ -38,6 +38,16 @@ void ScriptMgr::OnCreatureRemoveWorld(Creature* creature)
});
}
void ScriptMgr::OnCreatureSaveToDB(Creature* creature)
{
ASSERT(creature);
ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
{
script->OnCreatureSaveToDB(creature);
});
}
void ScriptMgr::Creature_SelectLevel(const CreatureTemplate* cinfo, Creature* creature)
{
ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)

View File

@@ -37,3 +37,13 @@ void ScriptMgr::OnGameObjectRemoveWorld(GameObject* go)
script->OnGameObjectRemoveWorld(go);
});
}
void ScriptMgr::OnGameObjectSaveToDB(GameObject* go)
{
ASSERT(go);
ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
{
script->OnGameObjectSaveToDB(go);
});
}

View File

@@ -562,6 +562,13 @@ public:
*/
virtual void OnCreatureRemoveWorld(Creature* /*creature*/) { }
/**
* @brief This hook runs after creature has been saved to DB
*
* @param creature Contains information about the Creature
*/
virtual void OnCreatureSaveToDB(Creature* /*creature*/) { }
/**
* @brief This hook called when a player opens a gossip dialog with the creature.
*
@@ -644,7 +651,12 @@ public:
* @param go Contains information about the GameObject
*/
virtual void OnGameObjectAddWorld(GameObject* /*go*/) { }
/**
* @brief This hook runs after the game object iis saved to the database
*
* @param go Contains information about the GameObject
*/
virtual void OnGameObjectSaveToDB(GameObject* /*go*/) { }
/**
* @brief This hook runs after remove game object in world
*
@@ -2433,6 +2445,10 @@ public: /* AllCreatureScript */
//listener function (OnAllCreatureUpdate) is called by OnCreatureUpdate
//void OnAllCreatureUpdate(Creature* creature, uint32 diff);
void Creature_SelectLevel(const CreatureTemplate* cinfo, Creature* creature);
void OnCreatureSaveToDB(Creature* creature);
public: /* AllGameobjectScript */
void OnGameObjectSaveToDB(GameObject* go);
public: /* AllMapScript */
void OnBeforeCreateInstanceScript(InstanceMap* instanceMap, InstanceScript* instanceData, bool load, std::string data, uint32 completedEncounterMask);