mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-09 22:20:24 +00:00
[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:
+200
-10
@@ -2357,22 +2357,26 @@ Lua_Mob Lua_Mob::GetHateClosest() {
|
||||
Lua_HateList Lua_Mob::GetHateListByDistance() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
auto list = self->GetHateListByDistance();
|
||||
for (auto hate_entry : list) {
|
||||
Lua_HateEntry entry(hate_entry);
|
||||
ret.entries.push_back(entry);
|
||||
|
||||
auto h_list = self->GetFilteredHateList();
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListByDistance(int distance) {
|
||||
Lua_HateList Lua_Mob::GetHateListByDistance(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
auto list = self->GetHateListByDistance(distance);
|
||||
for (auto hate_entry : list) {
|
||||
Lua_HateEntry entry(hate_entry);
|
||||
ret.entries.push_back(entry);
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -2503,6 +2507,166 @@ uint16 Lua_Mob::GetOwnerID() {
|
||||
return self->GetOwnerID();
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateList(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateList(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClients(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Clients);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClients(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Clients);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCs(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::NPCs);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCs(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::NPCs);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::All, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::All, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClientsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Clients, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClientsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Clients, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::NPCs, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::NPCs, true);
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListClients() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(0, HateListFilterTypes::Clients);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListClients(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance, HateListFilterTypes::Clients);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListNPCs() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(0, HateListFilterTypes::NPCs);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListNPCs(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance, HateListFilterTypes::NPCs);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef BOTS
|
||||
void Lua_Mob::DamageHateListBots(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Bots);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBots(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Bots);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBotsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Bots, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBotsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Bots, true);
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListBots() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(0, HateListFilterTypes::Bots);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListBots(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance, HateListFilterTypes::Bots);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
luabind::scope lua_register_mob() {
|
||||
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
|
||||
.def(luabind::constructor<>())
|
||||
@@ -2589,6 +2753,24 @@ luabind::scope lua_register_mob() {
|
||||
.def("Damage", (void(Lua_Mob::*)(Lua_Mob,int64,int,int,bool))&Lua_Mob::Damage)
|
||||
.def("Damage", (void(Lua_Mob::*)(Lua_Mob,int64,int,int,bool,int))&Lua_Mob::Damage)
|
||||
.def("Damage", (void(Lua_Mob::*)(Lua_Mob,int64,int,int,bool,int,bool))&Lua_Mob::Damage)
|
||||
.def("DamageHateList", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateList)
|
||||
.def("DamageHateList", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateList)
|
||||
#ifdef BOTS
|
||||
.def("DamageHateListBots", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListBots)
|
||||
.def("DamageHateListBots", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListBots)
|
||||
.def("DamageHateListBotsPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListBots)
|
||||
.def("DamageHateListBotsPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListBots)
|
||||
#endif
|
||||
.def("DamageHateListClients", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListClients)
|
||||
.def("DamageHateListClients", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListClients)
|
||||
.def("DamageHateListClientsPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListClientsPercentage)
|
||||
.def("DamageHateListClientsPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListClientsPercentage)
|
||||
.def("DamageHateListNPCs", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListNPCs)
|
||||
.def("DamageHateListNPCs", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListNPCs)
|
||||
.def("DamageHateListNPCsPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListNPCsPercentage)
|
||||
.def("DamageHateListNPCsPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListNPCsPercentage)
|
||||
.def("DamageHateListPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateListPercentage)
|
||||
.def("DamageHateListPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateListPercentage)
|
||||
.def("DelGlobal", (void(Lua_Mob::*)(const char*))&Lua_Mob::DelGlobal)
|
||||
.def("DeleteBucket", (void(Lua_Mob::*)(std::string))&Lua_Mob::DeleteBucket)
|
||||
.def("Depop", (void(Lua_Mob::*)(bool))&Lua_Mob::Depop)
|
||||
@@ -2690,8 +2872,16 @@ luabind::scope lua_register_mob() {
|
||||
.def("GetHateClosest", &Lua_Mob::GetHateClosest)
|
||||
.def("GetHateDamageTop", (Lua_Mob(Lua_Mob::*)(Lua_Mob))&Lua_Mob::GetHateDamageTop)
|
||||
.def("GetHateList", &Lua_Mob::GetHateList)
|
||||
.def("GetHateListByDistance", (Lua_HateList(Lua_Mob::*)(int))&Lua_Mob::GetHateListByDistance)
|
||||
#ifdef BOTS
|
||||
.def("GetHateListBots", (Lua_HateList(Lua_Mob::*)(void))&Lua_Mob::GetHateListBots)
|
||||
.def("GetHateListBots", (Lua_HateList(Lua_Mob::*)(uint32))&Lua_Mob::GetHateListBots)
|
||||
#endif
|
||||
.def("GetHateListClients", (Lua_HateList(Lua_Mob::*)(void))&Lua_Mob::GetHateListClients)
|
||||
.def("GetHateListClients", (Lua_HateList(Lua_Mob::*)(uint32))&Lua_Mob::GetHateListClients)
|
||||
.def("GetHateListNPCs", (Lua_HateList(Lua_Mob::*)(void))&Lua_Mob::GetHateListNPCs)
|
||||
.def("GetHateListNPCs", (Lua_HateList(Lua_Mob::*)(uint32))&Lua_Mob::GetHateListNPCs)
|
||||
.def("GetHateListByDistance", (Lua_HateList(Lua_Mob::*)(void))&Lua_Mob::GetHateListByDistance)
|
||||
.def("GetHateListByDistance", (Lua_HateList(Lua_Mob::*)(uint32))&Lua_Mob::GetHateListByDistance)
|
||||
.def("GetHateRandom", (Lua_Mob(Lua_Mob::*)(void))&Lua_Mob::GetHateRandom)
|
||||
#ifdef BOTS
|
||||
.def("GetHateRandomBot", (Lua_Bot(Lua_Mob::*)(void))&Lua_Mob::GetHateRandomBot)
|
||||
|
||||
Reference in New Issue
Block a user