diff options
| author | Jan <> | 2015-07-10 18:11:22 +0200 |
|---|---|---|
| committer | Jan <_> | 2015-07-10 18:47:01 +0200 |
| commit | f1ece16c08d8c01e1d49a25f0314a96c021e73cb (patch) | |
| tree | 9bc9f547f2524dee8e62f168f317df465a6cbcdd /TemplePushing.c4s/System.c4g/Plague.c | |
| parent | 80b15646d73587f4e15a2897314692b58aa1a47f (diff) | |
| download | tempelschubsen-f1ece16c08d8c01e1d49a25f0314a96c021e73cb.tar.gz tempelschubsen-f1ece16c08d8c01e1d49a25f0314a96c021e73cb.zip | |
r0.921
Diffstat (limited to 'TemplePushing.c4s/System.c4g/Plague.c')
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Plague.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/TemplePushing.c4s/System.c4g/Plague.c b/TemplePushing.c4s/System.c4g/Plague.c index ea80c2e..ec7268e 100644 --- a/TemplePushing.c4s/System.c4g/Plague.c +++ b/TemplePushing.c4s/System.c4g/Plague.c @@ -4,6 +4,20 @@ #appendto MGPL +protected func Slay() { + var pClonk; + while(pClonk=FindObject(0,-iRand/6,-iRand/6,iRand/3,iRand/3,OCF_Alive(),0,0,0, pClonk)) + if(GetActionTarget() != pClonk) + AddEffect("Poison",pClonk,182,10,0,GetID(), fSnake, GetActionTarget()); + RemoveObject(); +} + +func FxPoisonStart(object pClonk,int iEffectNumber, int iTemp, fSnake, pCaster) +{ + EffectVar(2, pClonk, iEffectNumber) = GetController(pCaster); + return _inherited(pClonk, iEffectNumber, iTemp, fSnake); +} + func FxPoisonTimer(pClonk, iEffectNumber, iEffectTime) { if(iEffectTime >= 1200) return(-1); @@ -13,7 +27,12 @@ func FxPoisonTimer(pClonk, iEffectNumber, iEffectTime) 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 pFrom = GetCursor(EffectVar(2, pClonk, iEffectNumber)); + if(!Random(5)) + { + if(pFrom) pFrom->DoEnergy(-2, pClonk); + else 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)) @@ -22,12 +41,12 @@ func FxPoisonTimer(pClonk, iEffectNumber, iEffectTime) { if(!GetAction(obj)S="Field") { - AddEffect("Poison",obj,182,10,0,MGPL,fSnake); + AddEffect("Poison",obj,182,10,0,MGPL,fSnake,pFrom); } } } return(1); } -func FxPoisonMaxRange() { return(100); } +func FxPoisonMaxRange() { return(175); } |
