mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-29 14:01:29 +00:00
[Quest API] Add Lua_Mob::GetShuffledHateList (#1381)
This returns the hate list but in a random order. This is useful to prevent repeated (potentially infinite ...) calls to GetHateRandom()
This commit is contained in:
parent
854a09fc84
commit
02526072f3
@ -967,6 +967,23 @@ Lua_HateList Lua_Mob::GetHateList() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_HateList Lua_Mob::GetShuffledHateList() {
|
||||
Lua_Safe_Call_Class(Lua_HateList);
|
||||
Lua_HateList ret;
|
||||
|
||||
auto h_list = self->GetHateList();
|
||||
auto iter = h_list.begin();
|
||||
while(iter != h_list.end()) {
|
||||
Lua_HateEntry e(*iter);
|
||||
ret.entries.push_back(e);
|
||||
++iter;
|
||||
}
|
||||
|
||||
zone->random.Shuffle(ret.entries.begin(), ret.entries.end());
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Lua_Mob Lua_Mob::GetHateTop() {
|
||||
Lua_Safe_Call_Class(Lua_Mob);
|
||||
return Lua_Mob(self->GetHateTop());
|
||||
@ -2513,6 +2530,7 @@ luabind::scope lua_register_mob() {
|
||||
.def("GetPet", &Lua_Mob::GetPet)
|
||||
.def("GetOwner", &Lua_Mob::GetOwner)
|
||||
.def("GetHateList", &Lua_Mob::GetHateList)
|
||||
.def("GetShuffledHateList", &Lua_Mob::GetShuffledHateList)
|
||||
.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)
|
||||
|
||||
@ -199,6 +199,7 @@ public:
|
||||
Lua_Mob GetPet();
|
||||
Lua_Mob GetOwner();
|
||||
Lua_HateList GetHateList();
|
||||
Lua_HateList GetShuffledHateList();
|
||||
Lua_HateList GetHateListByDistance();
|
||||
Lua_HateList GetHateListByDistance(int distance);
|
||||
Lua_Mob GetHateTop();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user