global func Decay: some cleanups & added 'delay' parameter for decay speed

liquid_container
David Dormagen 2016-02-20 17:57:55 +01:00
parent 9dca94a6b8
commit 63655f2763
1 changed files with 8 additions and 6 deletions

View File

@ -1,26 +1,28 @@
/**
Animals can use Decay() in their Death() function so they will slowly decay and spawn a few temporary flies.
The delay parameter specifies the amount of frames before decaying one Con.
*/
global func Decay()
global func Decay(int delay)
{
AddEffect("Decaying", this, 1, 500);
delay = delay ?? 100;
AddEffect("Decaying", this, 1, delay);
if (!GBackSemiSolid())
{
var rnd = Random(4);
for (var i = 0; i < rnd; i++)
{
var mos = CreateObject(Mosquito);
ScheduleCall(mos, "RemoveObject", 9000 + Random(300));
ScheduleCall(mos, "RemoveObject", Max(0, GetCon() - 20) * delay + Random(300));
}
}
}
global func FxDecayingTimer(object target)
global func FxDecayingTimer(object target, effect fx, int time)
{
if (target->GetCon() < 20)
target->RemoveObject();
else
target->DoCon(-5);
return true;
target->DoCon(-1);
return FX_OK;
}