Feat(AllCreatureEvent): Add RegisterAllCreatureEvent and support for CreatureTemplate object. (#312)

This commit is contained in:
iThorgrim
2025-09-17 11:54:52 +02:00
committed by GitHub
parent 1153fcaef7
commit 313596f86e
7 changed files with 207 additions and 20 deletions

View File

@@ -57,6 +57,7 @@ public:
void OnCreatureAddWorld(Creature* creature) override
{
sEluna->OnAddToWorld(creature);
sEluna->OnAllCreatureAddToWorld(creature);
if (creature->IsGuardian() && creature->ToTempSummon() && creature->ToTempSummon()->GetSummonerGUID().IsPlayer())
sEluna->OnPetAddedToWorld(creature->ToTempSummon()->GetSummonerUnit()->ToPlayer(), creature);
@@ -65,6 +66,7 @@ public:
void OnCreatureRemoveWorld(Creature* creature) override
{
sEluna->OnRemoveFromWorld(creature);
sEluna->OnAllCreatureRemoveFromWorld(creature);
}
bool CanCreatureQuestAccept(Player* player, Creature* creature, Quest const* quest) override
@@ -92,6 +94,16 @@ public:
return nullptr;
}
void OnCreatureSelectLevel(const CreatureTemplate* cinfo, Creature* creature) override
{
sEluna->OnAllCreatureSelectLevel(cinfo, creature);
}
void OnBeforeCreatureSelectLevel(const CreatureTemplate* cinfo, Creature* creature, uint8& level) override
{
sEluna->OnAllCreatureBeforeSelectLevel(cinfo, creature, level);
}
};
class Eluna_AllGameObjectScript : public AllGameObjectScript