mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-10 15:00:25 +00:00
[Quest API] Add Area Damage Methods to Perl/Lua. (#2549)
* [Quest API] Add Area Damage Methods to Perl/Lua. # Perl - Add `$mob->DamageArea(damage)`. - Add `$mob->DamageArea(damage, distance)`. - Add `$mob->DamageAreaBots(damage)`. - Add `$mob->DamageAreaBots(damage, distance)`. - Add `$mob->DamageAreaClients(damage)`. - Add `$mob->DamageAreaClients(damage, distance)`. - Add `$mob->DamageAreaNPCs(damage)`. - Add `$mob->DamageAreaNPCs(damage, distance)`. - Add `$mob->DamageAreaPercentage(damage)`. - Add `$mob->DamageAreaPercentage(damage, distance)`. - Add `$mob->DamageAreaBotsPercentage(damage)`. - Add `$mob->DamageAreaBotsPercentage(damage, distance)`. - Add `$mob->DamageAreaClientsPercentage(damage)`. - Add `$mob->DamageAreaClientsPercentage(damage, distance)`. - Add `$mob->DamageAreaNPCsPercentage(damage)`. - Add `$mob->DamageAreaNPCsPercentage(damage, distance)`. # Lua - Add `mob:DamageArea(damage)`. - Add `mob:DamageArea(damage, distance)`. - Add `mob:DamageAreaBots(damage)`. - Add `mob:DamageAreaBots(damage, distance)`. - Add `mob:DamageAreaClients(damage)`. - Add `mob:DamageAreaClients(damage, distance)`. - Add `mob:DamageAreaNPCs(damage)`. - Add `mob:DamageAreaNPCs(damage, distance)`. - Add `mob:DamageAreaPercentage(damage)`. - Add `mob:DamageAreaPercentage(damage, distance)`. - Add `mob:DamageAreaBotsPercentage(damage)`. - Add `mob:DamageAreaBotsPercentage(damage, distance)`. - Add `mob:DamageAreaClientsPercentage(damage)`. - Add `mob:DamageAreaClientsPercentage(damage, distance)`. - Add `mob:DamageAreaNPCsPercentage(damage)`. - Add `mob:DamageAreaNPCsPercentage(damage, distance)`. # Notes - Cleanup parameter order of damage methods. - These methods allow you to damage all Bots, Clients, Mobs, or NPCs in a zone or by distance from the Mob. - Fix math with percentage damage. * Update entity.cpp
This commit is contained in:
+118
-20
@@ -2524,59 +2524,59 @@ void Lua_Mob::DamageHateList(int64 damage, uint32 distance) {
|
||||
|
||||
void Lua_Mob::DamageHateListClients(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Clients);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::Clients);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClients(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Clients);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::Clients);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCs(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::NPCs);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::NPCs);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCs(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::NPCs);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::NPCs);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::All, true);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::All, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::All, true);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::All, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClientsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Clients, true);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::Clients, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListClientsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Clients, true);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::Clients, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::NPCs, true);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::NPCs, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListNPCsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::NPCs, true);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::NPCs, true);
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListClients() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(0, HateListFilterTypes::Clients);
|
||||
auto h_list = self->GetFilteredHateList(EntityFilterTypes::Clients);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
@@ -2589,7 +2589,7 @@ Lua_HateList Lua_Mob::GetHateListClients(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance, HateListFilterTypes::Clients);
|
||||
auto h_list = self->GetFilteredHateList(EntityFilterTypes::Clients, distance);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
@@ -2602,7 +2602,7 @@ Lua_HateList Lua_Mob::GetHateListNPCs() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(0, HateListFilterTypes::NPCs);
|
||||
auto h_list = self->GetFilteredHateList(EntityFilterTypes::NPCs);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
@@ -2615,7 +2615,7 @@ Lua_HateList Lua_Mob::GetHateListNPCs(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance, HateListFilterTypes::NPCs);
|
||||
auto h_list = self->GetFilteredHateList(EntityFilterTypes::NPCs, distance);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
@@ -2624,32 +2624,112 @@ Lua_HateList Lua_Mob::GetHateListNPCs(uint32 distance) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageArea(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageArea(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::All, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::All, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaClients(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::Clients);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaClients(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::Clients);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaClientsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::Clients, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaClientsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::Clients, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaNPCs(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::NPCs);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaNPCs(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::NPCs);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaNPCsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::NPCs, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaNPCsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::NPCs, true);
|
||||
}
|
||||
|
||||
#ifdef BOTS
|
||||
void Lua_Mob::DamageAreaBots(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::Bots);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaBots(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::Bots);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaBotsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, 0, EntityFilterTypes::Bots, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageAreaBotsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageArea(damage, distance, EntityFilterTypes::Bots, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBots(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Bots);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::Bots);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBots(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Bots);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::Bots);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBotsPercentage(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, 0, HateListFilterTypes::Bots, true);
|
||||
self->DamageHateList(damage, 0, EntityFilterTypes::Bots, true);
|
||||
}
|
||||
|
||||
void Lua_Mob::DamageHateListBotsPercentage(int64 damage, uint32 distance) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->DamageHateList(damage, distance, HateListFilterTypes::Bots, true);
|
||||
self->DamageHateList(damage, distance, EntityFilterTypes::Bots, true);
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetHateListBots() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(0, HateListFilterTypes::Bots);
|
||||
auto h_list = self->GetFilteredHateList(EntityFilterTypes::Bots);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
@@ -2662,7 +2742,7 @@ Lua_HateList Lua_Mob::GetHateListBots(uint32 distance) {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetFilteredHateList(distance, HateListFilterTypes::Bots);
|
||||
auto h_list = self->GetFilteredHateList(EntityFilterTypes::Bots, distance);
|
||||
for (auto h : h_list) {
|
||||
Lua_HateEntry e(h);
|
||||
ret.entries.push_back(e);
|
||||
@@ -2758,6 +2838,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("DamageArea", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageArea)
|
||||
.def("DamageArea", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageArea)
|
||||
.def("DamageAreaPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaPercentage)
|
||||
.def("DamageAreaPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaPercentage)
|
||||
#ifdef BOTS
|
||||
.def("DamageAreaBots", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaBots)
|
||||
.def("DamageAreaBots", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaBots)
|
||||
.def("DamageAreaBotsPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaBotsPercentage)
|
||||
.def("DamageAreaBotsPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaBotsPercentage)
|
||||
#endif
|
||||
.def("DamageAreaClients", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaClients)
|
||||
.def("DamageAreaClients", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaClients)
|
||||
.def("DamageAreaClientsPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaClientsPercentage)
|
||||
.def("DamageAreaClientsPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaClientsPercentage)
|
||||
.def("DamageAreaNPCs", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaNPCs)
|
||||
.def("DamageAreaNPCs", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaNPCs)
|
||||
.def("DamageAreaNPCsPercentage", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageAreaNPCsPercentage)
|
||||
.def("DamageAreaNPCsPercentage", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageAreaNPCsPercentage)
|
||||
.def("DamageHateList", (void(Lua_Mob::*)(int64))&Lua_Mob::DamageHateList)
|
||||
.def("DamageHateList", (void(Lua_Mob::*)(int64,uint32))&Lua_Mob::DamageHateList)
|
||||
#ifdef BOTS
|
||||
|
||||
Reference in New Issue
Block a user