eqemu-server/zone/lua_hate_list.cpp
Alex King e12368f002
[Quest API] Add Hate Entry Methods to Perl (#3459)
# Perl
- Add `$hate_entry->GetFrenzy()`.
- Add `$hate_entry->SetDamage(value)`.
- Add `$hate_entry->SetEnt(mob)`.
- Add `$hate_entry->SetFrenzy(is_frenzy)`.
- Add `$hate_entry->SetHate(value)`.

# Lua
- Convert `hate_entry:GetFrenzy()` to `bool` instead of `int`, as `is_entity_frenzy` is a `bool`.
2023-07-02 10:26:37 -04:00

66 lines
1.6 KiB
C++

#ifdef LUA_EQEMU
#include <luabind/luabind.hpp>
#include <luabind/iterator_policy.hpp>
#include "masterentity.h"
#include "lua_mob.h"
#include "lua_hate_list.h"
Lua_Mob Lua_HateEntry::GetEnt() {
Lua_Safe_Call_Class(Lua_Mob);
return Lua_Mob(self->entity_on_hatelist);
}
void Lua_HateEntry::SetEnt(Lua_Mob e) {
Lua_Safe_Call_Void();
self->entity_on_hatelist = e;
}
int64 Lua_HateEntry::GetDamage() {
Lua_Safe_Call_Int();
return self->hatelist_damage;
}
void Lua_HateEntry::SetDamage(int64 value) {
Lua_Safe_Call_Void();
self->hatelist_damage = value;
}
int64 Lua_HateEntry::GetHate() {
Lua_Safe_Call_Int();
return self->stored_hate_amount;
}
void Lua_HateEntry::SetHate(int64 value) {
Lua_Safe_Call_Void();
self->stored_hate_amount = value;
}
bool Lua_HateEntry::GetFrenzy() {
Lua_Safe_Call_Bool();
return self->is_entity_frenzy;
}
void Lua_HateEntry::SetFrenzy(bool value) {
Lua_Safe_Call_Void();
self->is_entity_frenzy = value;
}
luabind::scope lua_register_hate_entry() {
return luabind::class_<Lua_HateEntry>("HateEntry")
.property("null", &Lua_HateEntry::Null)
.property("valid", &Lua_HateEntry::Valid)
.property("damage", &Lua_HateEntry::GetDamage, &Lua_HateEntry::SetDamage)
.property("ent", &Lua_HateEntry::GetEnt, &Lua_HateEntry::SetEnt)
.property("frenzy", &Lua_HateEntry::GetFrenzy, &Lua_HateEntry::SetFrenzy)
.property("hate", &Lua_HateEntry::GetHate, &Lua_HateEntry::SetHate);
}
luabind::scope lua_register_hate_list() {
return luabind::class_<Lua_HateList>("HateList")
.def_readwrite("entries", &Lua_HateList::entries, luabind::return_stl_iterator);
}
#endif