mirror of
https://github.com/azerothcore/mod-ale
synced 2025-11-29 15:38:17 +08:00
Add setphasemask for gameobjects and other worldobjects
This commit is contained in:
@@ -193,6 +193,7 @@ ElunaRegister<WorldObject> WorldObjectMethods[] =
|
||||
{ "GetMap", &LuaWorldObject::GetMap },
|
||||
#if (!defined(TBC) && !defined(CLASSIC))
|
||||
{ "GetPhaseMask", &LuaWorldObject::GetPhaseMask },
|
||||
{ "SetPhaseMask", &LuaUnit::SetPhaseMask },
|
||||
#endif
|
||||
{ "GetInstanceId", &LuaWorldObject::GetInstanceId },
|
||||
{ "GetAreaId", &LuaWorldObject::GetAreaId },
|
||||
@@ -296,9 +297,6 @@ ElunaRegister<Unit> UnitMethods[] =
|
||||
{ "SetNativeDisplayId", &LuaUnit::SetNativeDisplayId },
|
||||
{ "SetFacing", &LuaUnit::SetFacing },
|
||||
{ "SetFacingToObject", &LuaUnit::SetFacingToObject },
|
||||
#if (!defined(TBC) && !defined(CLASSIC))
|
||||
{ "SetPhaseMask", &LuaUnit::SetPhaseMask },
|
||||
#endif
|
||||
{ "SetSpeed", &LuaUnit::SetSpeed },
|
||||
// {"SetStunned", &LuaUnit::SetStunned}, // :SetStunned([enable]) - UNDOCUMENTED - Stuns or removes stun
|
||||
{"SetRooted", &LuaUnit::SetRooted},
|
||||
|
||||
@@ -45,6 +45,20 @@ namespace LuaWorldObject
|
||||
Eluna::Push(L, obj->GetPhaseMask());
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the [WorldObject]'s phase mask.
|
||||
*
|
||||
* @param uint32 phaseMask
|
||||
* @param bool update = true : update visibility to nearby objects
|
||||
*/
|
||||
int SetPhaseMask(Eluna* /*E*/, lua_State* L, WorldObject* obj)
|
||||
{
|
||||
uint32 phaseMask = Eluna::CHECKVAL<uint32>(L, 2);
|
||||
bool update = Eluna::CHECKVAL<bool>(L, 3, true);
|
||||
obj->SetPhaseMask(phaseMask, update);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user