diff --git a/docs/sdk/definition/properties.xml b/docs/sdk/definition/properties.xml index 01a57e684..12afca454 100644 --- a/docs/sdk/definition/properties.xml +++ b/docs/sdk/definition/properties.xml @@ -168,7 +168,12 @@ Stand = { ContactIncinerate Integer - Probability of incineration by contact: 0 none, or 1 (high) to 5 (low). + Probability of incineration by contact: 0 none, or 1 (high) to 5 (low). Implies MaterialIncinerate. + + + MaterialIncinerate + bool + Incineration when submerged in incendiary material. EditCursorCommands diff --git a/src/object/C4Object.cpp b/src/object/C4Object.cpp index f31bf90cf..8b1eb67b5 100644 --- a/src/object/C4Object.cpp +++ b/src/object/C4Object.cpp @@ -878,7 +878,7 @@ bool C4Object::ExecLife() if (!::Game.iTick10) if (InMat!=MNone) if (::MaterialMap.Map[InMat].Incendiary) - if (GetPropertyInt(P_ContactIncinerate) > 0) + if (GetPropertyInt(P_ContactIncinerate) > 0 || GetPropertyBool(P_MaterialIncinerate) > 0) { Call(PSF_OnInIncendiaryMaterial, &C4AulParSet()); } diff --git a/src/script/C4StringTable.cpp b/src/script/C4StringTable.cpp index e9d4fe43c..bffd88258 100644 --- a/src/script/C4StringTable.cpp +++ b/src/script/C4StringTable.cpp @@ -165,6 +165,7 @@ C4StringTable::C4StringTable() P[P_ContainBlast] = "ContainBlast"; P[P_BlastIncinerate] = "BlastIncinerate"; P[P_ContactIncinerate] = "ContactIncinerate"; + P[P_MaterialIncinerate] = "MaterialIncinerate"; P[P_Global] = "Global"; P[P_Scenario] = "Scenario"; P[P_JumpSpeed] = "JumpSpeed"; diff --git a/src/script/C4StringTable.h b/src/script/C4StringTable.h index a357c723c..4d66db393 100644 --- a/src/script/C4StringTable.h +++ b/src/script/C4StringTable.h @@ -391,6 +391,7 @@ enum C4PropertyName P_ContainBlast, P_BlastIncinerate, P_ContactIncinerate, + P_MaterialIncinerate, P_Global, P_Scenario, P_JumpSpeed,