summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/System.c4g/Plague.c
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/System.c4g/Plague.c')
-rw-r--r--TemplePushing.c4s/System.c4g/Plague.c25
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); }