@@ -71,6 +71,7 @@ void CLuaElementDefs::LoadFunctions()
71
71
{"isElementLowLOD", IsElementLowLod},
72
72
{"isElementCallPropagationEnabled", IsElementCallPropagationEnabled},
73
73
{"isElementWaitingForGroundToLoad", IsElementWaitingForGroundToLoad},
74
+ {"isElementOnFire", ArgumentParser<IsElementOnFire>},
74
75
75
76
// Element set funcs
76
77
{"createElement", CreateElement},
@@ -100,6 +101,7 @@ void CLuaElementDefs::LoadFunctions()
100
101
{"setLowLODElement", ArgumentParser<SetLowLodElement>},
101
102
{"setElementCallPropagationEnabled", SetElementCallPropagationEnabled},
102
103
{"setElementLighting", ArgumentParser<SetElementLighting>},
104
+ {"setElementOnFire", ArgumentParser<SetElementOnFire>},
103
105
};
104
106
105
107
// Add functions
@@ -170,6 +172,7 @@ void CLuaElementDefs::AddClass(lua_State* luaVM)
170
172
lua_classfunction(luaVM, "getAttachedOffsets", "getElementAttachedOffsets");
171
173
lua_classfunction(luaVM, "getData", "getElementData");
172
174
lua_classfunction(luaVM, "getAllData", "getAllElementData");
175
+ lua_classfunction(luaVM, "isOnFire", "isElementOnFire");
173
176
174
177
lua_classfunction(luaVM, "setAttachedOffsets", "setElementAttachedOffsets");
175
178
lua_classfunction(luaVM, "setData", "setElementData");
@@ -193,6 +196,7 @@ void CLuaElementDefs::AddClass(lua_State* luaVM)
193
196
lua_classfunction(luaVM, "setCallPropagationEnabled", "setElementCallPropagationEnabled");
194
197
lua_classfunction(luaVM, "setStreamable", "setElementStreamable");
195
198
lua_classfunction(luaVM, "setLighting", "setElementLighting");
199
+ lua_classfunction(luaVM, "setOnFire", "setElementOnFire");
196
200
197
201
lua_classvariable(luaVM, "callPropagationEnabled", "setElementCallPropagationEnabled", "isElementCallPropagationEnabled");
198
202
lua_classvariable(luaVM, "waitingForGroundToLoad", NULL, "isElementWaitingForGroundToLoad");
@@ -228,6 +232,7 @@ void CLuaElementDefs::AddClass(lua_State* luaVM)
228
232
lua_classvariable(luaVM, "angularVelocity", SetElementAngularVelocity, OOP_GetElementTurnVelocity);
229
233
lua_classvariable(luaVM, "isElement", NULL, "isElement");
230
234
lua_classvariable(luaVM, "lighting", "setElementLighting", "getElementLighting");
235
+ lua_classvariable(luaVM, "onFire", "setElementOnFire", "isElementOnFire");
231
236
// TODO: Support element data: player.data["age"] = 1337; <=> setElementData(player, "age", 1337)
232
237
233
238
lua_registerclass(luaVM, "Element");
@@ -2513,6 +2518,14 @@ bool CLuaElementDefs::SetLowLodElement(lua_State* luaVM, CClientEntity* pEntity,
2513
2518
return CStaticFunctionDefinitions::SetLowLodElement(*pEntity, pLowLodEntity.value_or(nullptr));
2514
2519
}
2515
2520
2521
+ bool CLuaElementDefs::SetElementOnFire(CClientEntity* entity, bool onFire) noexcept
2522
+ {
2523
+ if (!entity->IsLocalEntity())
2524
+ return false;
2525
+
2526
+ return entity->SetOnFire(onFire);
2527
+ }
2528
+
2516
2529
int CLuaElementDefs::IsElementLowLod(lua_State* luaVM)
2517
2530
{
2518
2531
// bool isElementLowLOD ( element theElement )
@@ -2646,3 +2659,8 @@ bool CLuaElementDefs::SetElementLighting(CClientEntity* entity, float lighting)
2646
2659
2647
2660
return false;
2648
2661
}
2662
+
2663
+ bool CLuaElementDefs::IsElementOnFire(CClientEntity* entity) noexcept
2664
+ {
2665
+ return entity->IsOnFire();
2666
+ }
0 commit comments