diff --git a/zone/lua_mob.cpp b/zone/lua_mob.cpp index 1fc1f38e3..17588caef 100644 --- a/zone/lua_mob.cpp +++ b/zone/lua_mob.cpp @@ -1816,6 +1816,52 @@ void Lua_Mob::SetDestructibleObject(bool set) { self->SetDestructibleObject(set); } +bool Lua_Mob::IsImmuneToSpell(int spell_id, Lua_Mob caster) { + Lua_Safe_Call_Bool(); + return self->IsImmuneToSpell(spell_id, caster); +} + +void Lua_Mob::BuffFadeBySpellID(int spell_id) { + Lua_Safe_Call_Void(); + self->BuffFadeBySpellID(spell_id); +} + +void Lua_Mob::BuffFadeByEffect(int effect_id) { + Lua_Safe_Call_Void(); + self->BuffFadeByEffect(effect_id); +} + +void Lua_Mob::BuffFadeByEffect(int effect_id, int skipslot) { + Lua_Safe_Call_Void(); + self->BuffFadeByEffect(effect_id, skipslot); +} + +void Lua_Mob::BuffFadeAll() { + Lua_Safe_Call_Void(); + self->BuffFadeAll(); +} + +void Lua_Mob::BuffFadeBySlot(int slot) { + Lua_Safe_Call_Void(); + self->BuffFadeBySlot(slot); +} + +void Lua_Mob::BuffFadeBySlot(int slot, bool recalc_bonuses) { + Lua_Safe_Call_Void(); + self->BuffFadeBySlot(slot, recalc_bonuses); +} + +int Lua_Mob::CanBuffStack(int spell_id, int caster_level) { + Lua_Safe_Call_Int(); + return self->CanBuffStack(spell_id, caster_level); +} + +int Lua_Mob::CanBuffStack(int spell_id, int caster_level, bool fail_if_overwrite) { + Lua_Safe_Call_Int(); + return self->CanBuffStack(spell_id, caster_level, fail_if_overwrite); +} + + luabind::scope lua_register_mob() { return luabind::class_("Mob") .def(luabind::constructor<>()) @@ -2125,7 +2171,16 @@ luabind::scope lua_register_mob() { .def("ProcessSpecialAbilities", (void(Lua_Mob::*)(std::string))&Lua_Mob::ProcessSpecialAbilities) .def("SetAppearance", (void(Lua_Mob::*)(int))&Lua_Mob::SetAppearance) .def("SetAppearance", (void(Lua_Mob::*)(int,bool))&Lua_Mob::SetAppearance) - .def("SetDestructibleObject", (void(Lua_Mob::*)(bool))&Lua_Mob::SetDestructibleObject); + .def("SetDestructibleObject", (void(Lua_Mob::*)(bool))&Lua_Mob::SetDestructibleObject) + .def("IsImmuneToSpell", (bool(Lua_Mob::*)(int,Lua_Mob))&Lua_Mob::IsImmuneToSpell) + .def("BuffFadeBySpellID", (void(Lua_Mob::*)(int))&Lua_Mob::BuffFadeBySpellID) + .def("BuffFadeByEffect", (void(Lua_Mob::*)(int))&Lua_Mob::BuffFadeByEffect) + .def("BuffFadeByEffect", (void(Lua_Mob::*)(int,int))&Lua_Mob::BuffFadeByEffect) + .def("BuffFadeAll", (void(Lua_Mob::*)(void))&Lua_Mob::BuffFadeAll) + .def("BuffFadeBySlot", (void(Lua_Mob::*)(int))&Lua_Mob::BuffFadeBySlot) + .def("BuffFadeBySlot", (void(Lua_Mob::*)(int,bool))&Lua_Mob::BuffFadeBySlot) + .def("CanBuffStack", (int(Lua_Mob::*)(int,int))&Lua_Mob::CanBuffStack) + .def("CanBuffStack", (int(Lua_Mob::*)(int,int,bool))&Lua_Mob::CanBuffStack); } luabind::scope lua_register_special_abilities() { diff --git a/zone/lua_mob.h b/zone/lua_mob.h index c57e0ca84..b3e44805a 100644 --- a/zone/lua_mob.h +++ b/zone/lua_mob.h @@ -345,6 +345,15 @@ public: void SetAppearance(int app); void SetAppearance(int app, bool ignore_self); void SetDestructibleObject(bool set); + bool IsImmuneToSpell(int spell_id, Lua_Mob caster); + void BuffFadeBySpellID(int spell_id); + void BuffFadeByEffect(int effect_id); + void BuffFadeByEffect(int effect_id, int skipslot); + void BuffFadeAll(); + void BuffFadeBySlot(int slot); + void BuffFadeBySlot(int slot, bool recalc_bonuses); + int CanBuffStack(int spell_id, int caster_level); + int CanBuffStack(int spell_id, int caster_level, bool fail_if_overwrite); }; #endif