[Quest API] Add GetHateClosest() and GetHateListByDistance(distance) to Perl/Lua.

This commit is contained in:
Kinglykrab
2021-02-25 22:53:33 -05:00
parent 2957f5084d
commit 1af1b7bbdc
6 changed files with 90 additions and 0 deletions
+31
View File
@@ -2309,6 +2309,34 @@ void Lua_Mob::SetBucket(std::string bucket_name, std::string bucket_value, std::
self->SetBucket(bucket_name, bucket_value, expiration);
}
Lua_Mob Lua_Mob::GetHateClosest() {
Lua_Safe_Call_Class(Lua_Mob);
return Lua_Mob(self->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);
}
return ret;
}
Lua_HateList Lua_Mob::GetHateListByDistance(int 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);
}
return ret;
}
luabind::scope lua_register_mob() {
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
.def(luabind::constructor<>())
@@ -2475,9 +2503,12 @@ luabind::scope lua_register_mob() {
.def("GetPet", &Lua_Mob::GetPet)
.def("GetOwner", &Lua_Mob::GetOwner)
.def("GetHateList", &Lua_Mob::GetHateList)
.def("GetHateListByDistance", (Lua_HateList(Lua_Mob::*)(void))&Lua_Mob::GetHateListByDistance)
.def("GetHateListByDistance", (Lua_HateList(Lua_Mob::*)(int))&Lua_Mob::GetHateListByDistance)
.def("GetHateTop", (Lua_Mob(Lua_Mob::*)(void))&Lua_Mob::GetHateTop)
.def("GetHateDamageTop", (Lua_Mob(Lua_Mob::*)(Lua_Mob))&Lua_Mob::GetHateDamageTop)
.def("GetHateRandom", (Lua_Mob(Lua_Mob::*)(void))&Lua_Mob::GetHateRandom)
.def("GetHateClosest", &Lua_Mob::GetHateClosest)
.def("AddToHateList", (void(Lua_Mob::*)(Lua_Mob))&Lua_Mob::AddToHateList)
.def("AddToHateList", (void(Lua_Mob::*)(Lua_Mob,int))&Lua_Mob::AddToHateList)
.def("AddToHateList", (void(Lua_Mob::*)(Lua_Mob,int,int))&Lua_Mob::AddToHateList)