forked from Mirrors/openclonk
New property, set for all buildings: FireproofContainer.
A fireproof container shields all contents from incendiary material (lava mainly). Structures can now be submerged in lava and the contents will not burn up.install-platforms
parent
5794e1bfb4
commit
8cb3c6f6b3
|
@ -174,6 +174,11 @@ Stand = {
|
|||
<literal_col>MaterialIncinerate</literal_col>
|
||||
<col>bool</col>
|
||||
<col>Incineration when submerged in incendiary material.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>FireproofContainer</literal_col>
|
||||
<col>bool</col>
|
||||
<col>Anything contained in this object does not catch fire when submerged in incendiary material.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>EditCursorCommands</literal_col>
|
||||
|
|
|
@ -89,5 +89,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 3, Metal = 2, Loam = 2};
|
||||
local Components = {Wood = 3, Metal = 2, Loam = 2};
|
|
@ -82,5 +82,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 3, Metal = 2};
|
||||
local Components = {Wood = 3, Metal = 2};
|
|
@ -129,5 +129,6 @@ public func Definition(def, ...)
|
|||
local Name = "$Name$";
|
||||
local Description = "$Description$";
|
||||
local HitPoints = 60;
|
||||
local FireproofContainer = true;
|
||||
local neutral = false;
|
||||
local Components = {Wood = 3, Metal = 1};
|
|
@ -200,4 +200,5 @@ local Description = "$Description$";
|
|||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local HitPoints = 100;
|
||||
local FireproofContainer = true;
|
||||
local Components = {Rock = 4, Wood = 2};
|
||||
|
|
|
@ -78,5 +78,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 4, Metal = 3};
|
|
@ -81,5 +81,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 3, Rock = 2, Metal = 1};
|
|
@ -102,5 +102,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 3, Metal = 1, Rock = 1};
|
|
@ -913,9 +913,10 @@ local ActMap = {
|
|||
|
||||
local Name = "$Name$";
|
||||
local Description = "$Description$";
|
||||
local BlastIncinerate = 50;
|
||||
local BlastIncinerate = 70;
|
||||
local NoBurnDecay = true;
|
||||
local HitPoints = 70;
|
||||
local FireproofContainer = true;
|
||||
local Components = {Wood = 1, Metal = 3};
|
||||
// Pump speed in amount of pixels to pump per 30 frames.
|
||||
local PumpSpeed = 50;
|
||||
|
|
|
@ -310,5 +310,6 @@ local Description = "$Description$";
|
|||
local SpinStep = 30;
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Rock = 4, Wood = 1};
|
||||
local Components = {Rock = 4, Wood = 1};
|
|
@ -105,5 +105,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 4, Metal = 3};
|
||||
local Components = {Wood = 4, Metal = 3};
|
|
@ -289,6 +289,7 @@ protected func Definition(def)
|
|||
local ContainBlast = true;
|
||||
local BlastIncinerate = 130;
|
||||
local HitPoints = 100;
|
||||
local FireproofContainer = true;
|
||||
local Name = "$Name$";
|
||||
local Description = "$Description$";
|
||||
local Components = {Rock = 6, Metal = 3};
|
||||
local Components = {Rock = 6, Metal = 3};
|
|
@ -103,5 +103,6 @@ local Name = "$Name$";
|
|||
local Description ="$Description$";
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Components = {Wood = 3, Metal = 2};
|
||||
local Components = {Wood = 3, Metal = 2};
|
|
@ -209,7 +209,8 @@ protected func Definition(def)
|
|||
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Name = "$Name$";
|
||||
local Description = "$Description$";
|
||||
local Components = {Rock = 6, Wood = 2};
|
||||
local Components = {Rock = 6, Wood = 2};
|
|
@ -71,6 +71,7 @@ func Definition(def) {
|
|||
}
|
||||
local ContainBlast = true;
|
||||
local BlastIncinerate = 100;
|
||||
local FireproofContainer = true;
|
||||
local HitPoints = 70;
|
||||
local Name = "$Name$";
|
||||
local Description = "$Description$";
|
||||
|
|
|
@ -78,12 +78,26 @@ global func Incinerate(
|
|||
// Called if the object is submerged in incendiary material (for example in lava).
|
||||
global func OnInIncendiaryMaterial()
|
||||
{
|
||||
if (this->IsInFireproofContainer())
|
||||
return;
|
||||
this->DoEnergy(-7, false, FX_Call_EngFire, NO_OWNER);
|
||||
// The object might have removed itself.
|
||||
if (!this) return true;
|
||||
return this->Incinerate(15, NO_OWNER);
|
||||
}
|
||||
|
||||
global func IsInFireproofContainer()
|
||||
{
|
||||
if (!this) return false;
|
||||
if (this->Contained())
|
||||
{
|
||||
if (this->Contained().FireproofContainer)
|
||||
return true;
|
||||
return this->Contained()->IsInFireproofContainer();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Makes the calling object non flammable.
|
||||
global func MakeNonFlammable()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue