eqemu-server/zone/lua_entity.h
Alex King 448a33a60c
[Quest API] Add Scripting Support to Mercenaries (#4500)
* [Quest API] Add Scripting Support to Mercenaries

* Cleanup

* Cleanup

* Update lua_merc.h

* Update mob.cpp

* XYZH

* Final

* Update attack.cpp

* Update attack.cpp

* Simplify event invocation

* Inline example

* Nullptr init example

* EVENT_TIMER simplify add EventPlayerNpcBotMerc

* EVENT_TIMER_START

* Remove has_start_event

* EVENT_TIMER_START with settimerMS

* EVENT_POPUP_RESPONSE

* Consolidation

* Update attack.cpp

* Push

* Update quest_parser_collection.h

* Comments

* Cleanup per comments

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-10-10 21:29:29 -04:00

68 lines
1.1 KiB
C++

#ifndef EQEMU_LUA_ENTITY_H
#define EQEMU_LUA_ENTITY_H
#ifdef LUA_EQEMU
#include "lua_ptr.h"
class Entity;
class Lua_Client;
class Lua_Bot;
class Lua_Merc;
class Lua_NPC;
class Lua_Mob;
struct Lua_HateList;
class Lua_Item;
class Lua_ItemInst;
class Lua_Corpse;
class Lua_Object;
class Lua_Door;
namespace luabind {
struct scope;
}
luabind::scope lua_register_entity();
class Lua_Entity : public Lua_Ptr<Entity>
{
typedef Entity NativeType;
public:
Lua_Entity() : Lua_Ptr(nullptr) { }
Lua_Entity(Entity *d) : Lua_Ptr(d) { }
virtual ~Lua_Entity() { }
operator Entity*() {
return reinterpret_cast<Entity*>(GetLuaPtrData());
}
bool IsClient();
bool IsNPC();
bool IsMob();
bool IsMerc();
bool IsCorpse();
bool IsPlayerCorpse();
bool IsNPCCorpse();
bool IsObject();
bool IsDoor();
bool IsTrap();
bool IsBeacon();
bool IsEncounter();
bool IsBot();
bool IsAura();
bool IsOfClientBot();
bool IsOfClientBotMerc();
int GetID();
Lua_Client CastToClient();
Lua_NPC CastToNPC();
Lua_Mob CastToMob();
Lua_Corpse CastToCorpse();
Lua_Object CastToObject();
Lua_Door CastToDoor();
Lua_Bot CastToBot();
Lua_Merc CastToMerc();
};
#endif
#endif