#ifndef EQEMU_LUA_BUFF_H #define EQEMU_LUA_BUFF_H #ifdef LUA_EQEMU #include "common.h" #include "lua_ptr.h" struct Buffs_Struct; namespace luabind { struct scope; } luabind::scope lua_register_buff(); class Lua_Buff : public Lua_Ptr { typedef const Buffs_Struct NativeType; public: Lua_Buff() : Lua_Ptr(nullptr) { } Lua_Buff(const Buffs_Struct *d) : Lua_Ptr(d) { } virtual ~Lua_Buff() { } operator const Buffs_Struct*() { return reinterpret_cast(GetLuaPtrData()); } uint16 GetCasterID(); uint8 GetCasterLevel(); std::string GetCasterName(); int GetCastOnX(); int GetCastOnY(); int GetCastOnZ(); uint32 GetCounters(); uint32 GetDOTRune(); int GetExtraDIChance(); uint32 GetInstrumentModifier(); uint32 GetMagicRune(); uint32 GetMeleeRune(); uint32 GetNumberOfHits(); int16 GetRootBreakChance(); uint16 GetSpellID(); int GetTicsRemaining(); int GetVirusSpreadTime(); bool IsCasterClient(); bool IsPersistentBuff(); bool SendsClientUpdate(); }; #endif #endif