New player event: PLAYER_EVENT_ON_PET_ADDED_TO_WORLD (#3)

Co-authored-by: UltraNix <ultranix@gmail.com>
This commit is contained in:
Yehonal
2021-10-08 08:56:19 +02:00
committed by GitHub
parent 63b2b84e8b
commit a3f12188b8
4 changed files with 14 additions and 3 deletions

View File

@@ -362,10 +362,10 @@ namespace LuaGlobalFunctions
* Low GUID is an ID to distinct the objects of the same type. * Low GUID is an ID to distinct the objects of the same type.
* *
* [Player] and [Creature] for example can have the same low GUID but not GUID. * [Player] and [Creature] for example can have the same low GUID but not GUID.
* *
* On TrinityCore all low GUIDs are different for all objects of the same type. * On TrinityCore all low GUIDs are different for all objects of the same type.
* For example creatures in instances are assigned new GUIDs when the Map is created. * For example creatures in instances are assigned new GUIDs when the Map is created.
* *
* On MaNGOS and cMaNGOS low GUIDs are unique only on the same map. * On MaNGOS and cMaNGOS low GUIDs are unique only on the same map.
* For example creatures in instances use the same low GUID assigned for that spawn in the database. * For example creatures in instances use the same low GUID assigned for that spawn in the database.
* This is why to identify a creature you have to know the instanceId and low GUID. See [Map:GetIntstanceId] * This is why to identify a creature you have to know the instanceId and low GUID. See [Map:GetIntstanceId]
@@ -700,6 +700,7 @@ namespace LuaGlobalFunctions
* // UNUSED = 40, // (event, player) * // UNUSED = 40, // (event, player)
* // UNUSED = 41, // (event, player) * // UNUSED = 41, // (event, player)
* PLAYER_EVENT_ON_COMMAND = 42, // (event, player, command) - player is nil if command used from console. Can return false * PLAYER_EVENT_ON_COMMAND = 42, // (event, player, command) - player is nil if command used from console. Can return false
* PLAYER_EVENT_ON_PET_ADDED_TO_WORLD = 43, // (event, player, pet)
* }; * };
* </pre> * </pre>
* *
@@ -2273,7 +2274,7 @@ namespace LuaGlobalFunctions
/** /**
* Adds a taxi path to a specified map, returns the used pathId. * Adds a taxi path to a specified map, returns the used pathId.
* *
* Note that the first taxi point needs to be near the player when he starts the taxi path. * Note that the first taxi point needs to be near the player when he starts the taxi path.
* The function should also be used only **once** per path added so use it on server startup for example. * The function should also be used only **once** per path added so use it on server startup for example.
* *

View File

@@ -204,6 +204,7 @@ namespace Hooks
// UNUSED = 40, // (event, player) // UNUSED = 40, // (event, player)
// UNUSED = 41, // (event, player) // UNUSED = 41, // (event, player)
PLAYER_EVENT_ON_COMMAND = 42, // (event, player, command) - player is nil if command used from console. Can return false PLAYER_EVENT_ON_COMMAND = 42, // (event, player, command) - player is nil if command used from console. Can return false
PLAYER_EVENT_ON_PET_ADDED_TO_WORLD = 43, // (event, player, pet)
PLAYER_EVENT_COUNT PLAYER_EVENT_COUNT
}; };

View File

@@ -364,6 +364,7 @@ public:
void OnLuaStateClose(); void OnLuaStateClose();
void OnLuaStateOpen(); void OnLuaStateOpen();
bool OnAddonMessage(Player* sender, uint32 type, std::string& msg, Player* receiver, Guild* guild, Group* group, Channel* channel); bool OnAddonMessage(Player* sender, uint32 type, std::string& msg, Player* receiver, Guild* guild, Group* group, Channel* channel);
void OnPetAddedToWorld(Player* player, Creature* pet);
/* Item */ /* Item */
void OnDummyEffect(WorldObject* pCaster, uint32 spellId, SpellEffIndex effIndex, Item* pTarget); void OnDummyEffect(WorldObject* pCaster, uint32 spellId, SpellEffIndex effIndex, Item* pTarget);

View File

@@ -544,3 +544,11 @@ bool Eluna::OnChat(Player* pPlayer, uint32 type, uint32 lang, std::string& msg,
CleanUpStack(5); CleanUpStack(5);
return result; return result;
} }
void Eluna::OnPetAddedToWorld(Player* player, Creature* pet)
{
START_HOOK(PLAYER_EVENT_ON_PET_ADDED_TO_WORLD);
Push(player);
Push(pet);
CallAllFunctions(PlayerEventBindings, key);
}