forked from Mirrors/openclonk
Make sure LargeCaveMushroom does not burn forever
parent
1066c4a4b3
commit
df1d93992f
|
@ -135,10 +135,39 @@ func Damage()
|
||||||
{
|
{
|
||||||
SetClrModulation(RGB(100, 100, 100));
|
SetClrModulation(RGB(100, 100, 100));
|
||||||
RemoveTimer("Growing");
|
RemoveTimer("Growing");
|
||||||
|
if (GetDamage() > 3 * MaxDamage())
|
||||||
|
BurstIntoAshes();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func BurstIntoAshes()
|
||||||
|
{
|
||||||
|
var particles =
|
||||||
|
{
|
||||||
|
Prototype = Particles_Dust(),
|
||||||
|
R = 50, G = 50, B = 50,
|
||||||
|
Size = PV_KeyFrames(0, 0, 0, 200, PV_Random(2, 10), 1000, 0),
|
||||||
|
};
|
||||||
|
|
||||||
|
var r = GetR();
|
||||||
|
var size = GetCon() * 110 / 100;
|
||||||
|
|
||||||
|
for(var cnt = 0; cnt < 10; ++cnt)
|
||||||
|
{
|
||||||
|
var distance = Random(size/2);
|
||||||
|
var x = Sin(r, distance);
|
||||||
|
var y = -Cos(r, distance);
|
||||||
|
|
||||||
|
for(var mirror = -1; mirror <= 1; mirror += 2)
|
||||||
|
{
|
||||||
|
CreateParticle("Dust", x * mirror, y * mirror, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 2);
|
||||||
|
CastPXS("Ashes", 5, 30, x * mirror, y * mirror);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RemoveObject();
|
||||||
|
}
|
||||||
|
|
||||||
// called from the plant library
|
// called from the plant library
|
||||||
func Seed()
|
func Seed()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue