#ifndef EQEMU_LUA_SPAWN_H #define EQEMU_LUA_SPAWN_H #ifdef LUA_EQEMU #include "lua_ptr.h" class Spawn2; class Lua_NPC; namespace luabind { struct scope; } luabind::scope lua_register_spawn(); class Lua_Spawn : public Lua_Ptr { typedef Spawn2 NativeType; public: Lua_Spawn() : Lua_Ptr(nullptr) { } Lua_Spawn(Spawn2 *d) : Lua_Ptr(d) { } virtual ~Lua_Spawn() { } operator Spawn2*() { return reinterpret_cast(GetLuaPtrData()); } void LoadGrid(); void Enable(); void Disable(); bool Enabled(); void Reset(); void Depop(); void Repop(); void Repop(uint32 delay); void ForceDespawn(); uint32 GetID(); float GetX(); float GetY(); float GetZ(); float GetHeading(); void SetRespawnTimer(uint32 newrespawntime); void SetVariance(uint32 newvariance); uint32 GetVariance(); uint32 RespawnTimer(); uint32 SpawnGroupID(); uint32 CurrentNPCID(); void SetCurrentNPCID(uint32 nid); uint32 GetSpawnCondition(); bool NPCPointerValid(); void SetNPCPointer(Lua_NPC n); void SetTimer(uint32 duration); uint32 GetKillCount(); }; #endif #endif