mirror of
https://github.com/azerothcore/mod-ale
synced 2025-11-29 15:38:17 +08:00
feat(LuaEngine/UnitMethods): add GetThreat, ClearThreat, ResetAllThreat methods (#234)
This commit is contained in:
@@ -321,6 +321,7 @@ ElunaRegister<Unit> UnitMethods[] =
|
|||||||
// {"GetVehicle", &LuaUnit::GetVehicle}, // :GetVehicle() - UNDOCUMENTED - Gets the Vehicle kit of the vehicle the unit is on
|
// {"GetVehicle", &LuaUnit::GetVehicle}, // :GetVehicle() - UNDOCUMENTED - Gets the Vehicle kit of the vehicle the unit is on
|
||||||
{ "GetMovementType", &LuaUnit::GetMovementType },
|
{ "GetMovementType", &LuaUnit::GetMovementType },
|
||||||
{ "GetAttackers", &LuaUnit::GetAttackers },
|
{ "GetAttackers", &LuaUnit::GetAttackers },
|
||||||
|
{ "GetThreat", &LuaUnit::GetThreat },
|
||||||
|
|
||||||
// Setters
|
// Setters
|
||||||
{ "SetFaction", &LuaUnit::SetFaction },
|
{ "SetFaction", &LuaUnit::SetFaction },
|
||||||
@@ -454,6 +455,8 @@ ElunaRegister<Unit> UnitMethods[] =
|
|||||||
{ "DealHeal", &LuaUnit::DealHeal },
|
{ "DealHeal", &LuaUnit::DealHeal },
|
||||||
{ "AddThreat", &LuaUnit::AddThreat },
|
{ "AddThreat", &LuaUnit::AddThreat },
|
||||||
{ "ModifyThreatPct", &LuaUnit::ModifyThreatPct },
|
{ "ModifyThreatPct", &LuaUnit::ModifyThreatPct },
|
||||||
|
{ "ClearThreat", &LuaUnit::ClearThreat },
|
||||||
|
{ "ResetAllThreat", &LuaUnit::ResetAllThreat },
|
||||||
|
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2714,5 +2714,41 @@ namespace LuaUnit
|
|||||||
Eluna::Push(L, summon);
|
Eluna::Push(L, summon);
|
||||||
return 1;
|
return 1;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the threat of a [Unit] in the threat list.
|
||||||
|
*
|
||||||
|
* @param [Unit] target
|
||||||
|
*/
|
||||||
|
int ClearThreat(lua_State* L, Unit* unit)
|
||||||
|
{
|
||||||
|
Unit* target = Eluna::CHECKOBJ<Unit>(L, 2);
|
||||||
|
|
||||||
|
unit->GetThreatMgr().ClearThreat(target);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets the [Unit]'s threat list, setting all threat targets' threat to 0.
|
||||||
|
*/
|
||||||
|
int ResetAllThreat(lua_State* /*L*/, Unit* unit)
|
||||||
|
{
|
||||||
|
unit->GetThreatMgr().ResetAllThreat();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the threat of a [Unit].
|
||||||
|
*
|
||||||
|
* @param [Unit] target
|
||||||
|
* @return float threat
|
||||||
|
*/
|
||||||
|
int GetThreat(lua_State* L, Unit* unit)
|
||||||
|
{
|
||||||
|
Unit* target = Eluna::CHECKOBJ<Unit>(L, 2);
|
||||||
|
|
||||||
|
Eluna::Push(L, unit->GetThreatMgr().GetThreat(target));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user