[Quest API] Add Mob Hate Methods to Perl/Lua. (#2548)

* [Quest API] Add Mob Hate Methods to Perl/Lua.

# Perl
- Add `$mob->DamageHateList(damage)` to Perl.
- Add `$mob->DamageHateList(damage, distance)` to Perl.
- Add `$mob->DamageHateListPercentage(damage)` to Perl.
- Add `$mob->DamageHateListPercentage(damage, distance)` to Perl.
- Add `$mob->DamageHateListBots(damage)` to Perl.
- Add `$mob->DamageHateListBots(damage, distance)` to Perl.
- Add `$mob->DamageHateListBotsPercentage(damage)` to Perl.
- Add `$mob->DamageHateListBotsPercentage(damage, distance)` to Perl.
- Add `$mob->DamageHateListClients(damage)` to Perl.
- Add `$mob->DamageHateListClients(damage, distance)` to Perl.
- Add `$mob->DamageHateListClientsPercentage(damage)` to Perl.
- Add `$mob->DamageHateListClientsPercentage(damage, distance)` to Perl.
- Add `$mob->DamageHateListNPCs(damage)` to Perl.
- Add `$mob->DamageHateListNPCs(damage, distance)` to Perl.
- Add `$mob->DamageHateListNPCsPercentage(damage)` to Perl.
- Add `$mob->DamageHateListNPCsPercentage(damage, distance)` to Perl.
- Add `$mob->GetHateListBots()` to Perl.
- Add `$mob->GetHateListBots(distance)` to Perl.
- Add `$mob->GetHateListClients()` to Perl.
- Add `$mob->GetHateListClients(distance)` to Perl.
- Add `$mob->GetHateListNPCs()` to Perl.
- Add `$mob->GetHateListNPCs(distance)` to Perl.

# Lua
- Add `mob:DamageHateList(damage)` to Lua.
- Add `mob:DamageHateList(damage, distance)` to Lua.
- Add `mob:DamageHateListPercentage(damage)` to Lua.
- Add `mob:DamageHateListPercentage(damage, distance)` to Lua.
- Add `mob:DamageHateListBots(damage)` to Lua.
- Add `mob:DamageHateListBots(damage, distance)` to Lua.
- Add `mob:DamageHateListBotsPercentage(damage)` to Lua.
- Add `mob:DamageHateListBotsPercentage(damage, distance)` to Lua.
- Add `mob:DamageHateListClients(damage)` to Lua.
- Add `mob:DamageHateListClients(damage, distance)` to Lua.
- Add `mob:DamageHateListClientsPercentage(damage)` to Lua.
- Add `mob:DamageHateListClientsPercentage(damage, distance)` to Lua.
- Add `mob:DamageHateListNPCs(damage)` to Lua.
- Add `mob:DamageHateListNPCs(damage, distance)` to Lua.
- Add `mob:DamageHateListNPCsPercentage(damage)` to Lua.
- Add `mob:DamageHateListNPCsPercentage(damage, distance)` to Lua.
- Add `mob:GetHateListBots()` to Lua.
- Add `mob:GetHateListBots(distance)` to Lua.
- Add `mob:GetHateListClients()` to Lua.
- Add `mob:GetHateListClients(distance)` to Lua.
- Add `mob:GetHateListNPCs()` to Lua.
- Add `mob:GetHateListNPCs(distance)` to Lua.

# Notes
- Offers an extreme amount of short hands when grabbing hate list entities by a specific type or damaging a specific type of entity on an NPC's hatelist.
- Should save operators having to use `GetHateList()` then loop it to get the entries they want to do something.

* Cleanup.
This commit is contained in:
Kinglykrab
2022-11-16 08:16:47 -05:00
committed by GitHub
parent 6ff52f94c4
commit 8c994fef97
6 changed files with 485 additions and 36 deletions
+27 -1
View File
@@ -211,9 +211,17 @@ public:
uint16 GetOwnerID();
Lua_Mob GetUltimateOwner();
Lua_HateList GetHateList();
#ifdef BOTS
Lua_HateList GetHateListBots();
Lua_HateList GetHateListBots(uint32 distance);
#endif
Lua_HateList GetHateListClients();
Lua_HateList GetHateListClients(uint32 distance);
Lua_HateList GetHateListNPCs();
Lua_HateList GetHateListNPCs(uint32 distance);
Lua_HateList GetShuffledHateList();
Lua_HateList GetHateListByDistance();
Lua_HateList GetHateListByDistance(int distance);
Lua_HateList GetHateListByDistance(uint32 distance);
Lua_Mob GetHateTop();
Lua_Mob GetHateDamageTop(Lua_Mob other);
Lua_Mob GetHateRandom();
@@ -468,6 +476,24 @@ public:
void SetBuffDuration(int spell_id, int duration);
void CloneAppearance(Lua_Mob other);
void CloneAppearance(Lua_Mob other, bool clone_name);
void DamageHateList(int64 damage);
void DamageHateList(int64 damage, uint32 distance);
void DamageHateListPercentage(int64 damage);
void DamageHateListPercentage(int64 damage, uint32 distance);
#ifdef BOTS
void DamageHateListBots(int64 damage);
void DamageHateListBots(int64 damage, uint32 distance);
void DamageHateListBotsPercentage(int64 damage);
void DamageHateListBotsPercentage(int64 damage, uint32 distance);
#endif
void DamageHateListClients(int64 damage);
void DamageHateListClients(int64 damage, uint32 distance);
void DamageHateListClientsPercentage(int64 damage);
void DamageHateListClientsPercentage(int64 damage, uint32 distance);
void DamageHateListNPCs(int64 damage);
void DamageHateListNPCs(int64 damage, uint32 distance);
void DamageHateListNPCsPercentage(int64 damage);
void DamageHateListNPCsPercentage(int64 damage, uint32 distance);
};
#endif