1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/*-- Plague --*/
#strict
#appendto MGPL
func FxPoisonTimer(pClonk, iEffectNumber, iEffectTime)
{
if(iEffectTime >= 1200) return(-1);
var fSnake = EffectVar(1, pClonk, iEffectNumber);
var idType = GetID(pClonk);
CreateParticle("PoisonWave", GetX(pClonk), GetY(pClonk), 0, -1, EffectVar(0, pClonk, iEffectNumber)*5+50, RGBa(fSnake*200, 255, 0), pClonk, 1);
CreateParticle("PSpark", GetX(pClonk), GetY(pClonk), 0, -1, EffectVar(0, pClonk, iEffectNumber)*5+50, RGBa(fSnake*55, 55, 0), pClonk, 1);
if(GBackLiquid(GetX(pClonk), GetY(pClonk))) return(-1);
if(!Random(7)) DoEnergy(-2, pClonk);
var obj;
var iRadius = EffectCall(pClonk,iEffectNumber,"MaxRange");
while(obj = FindObject(0, -iRadius+GetX(pClonk),-iRadius+GetY(pClonk),iRadius*2,iRadius*2, OCF_Alive(),0,0, NoContainer(), obj))
{
if(!GetEffect("Poison", obj))
{
if(!GetAction(obj)S="Field")
{
AddEffect("Poison",obj,182,10,0,MGPL,fSnake);
}
}
}
return(1);
}
func FxPoisonMaxRange() { return(100); }
|