summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2019-04-16 00:59:52 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2019-04-16 00:59:52 +0200
commit55b826420d7bfff520f28ff6d8788e336d0e247b (patch)
tree46e9bcd0d5da2556e2aa0ac7d64c24fbc140b892 /TemplePushing.c4s
parentd5e447f523bed0508cdf44047c23c85f6c61b53e (diff)
downloadtempelschubsen-55b826420d7bfff520f28ff6d8788e336d0e247b.tar.gz
tempelschubsen-55b826420d7bfff520f28ff6d8788e336d0e247b.zip
Refine stopping StopNSpell on objects floating through the gravity spell to consider the hyper mode of gravity correctly
Diffstat (limited to 'TemplePushing.c4s')
-rw-r--r--TemplePushing.c4s/System.c4g/Gravity.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/TemplePushing.c4s/System.c4g/Gravity.c b/TemplePushing.c4s/System.c4g/Gravity.c
index a5ddca8..18043e6 100644
--- a/TemplePushing.c4s/System.c4g/Gravity.c
+++ b/TemplePushing.c4s/System.c4g/Gravity.c
@@ -43,7 +43,16 @@ func FxStopNSpellTimer(pTarget, iNumber, iEffectTime)
SetXDir(0,pTarget);
SetYDir(-2 * GetGravity(),pTarget,1000);
- if (!FindObject2(Find_ID(GVTY), Find_Distance(GetRange(), GetX(pTarget), GetY(pTarget)))) return -1;
+ for(var clonk in FindObjects(Find_Distance(GetRange(), GetX(pTarget), GetY(pTarget)), Find_Effect("FloatPSpell")))
+ {
+ var effect = GetEffect("FloatPSpell", clonk);
+ if(!EffectVar(2, clonk, effect) || Hostile(GetOwner(clonk), GetController(pTarget)))
+ {
+ return;
+ }
+ }
+
+ return -1;
}
func DoStop(object pObj, object pCaller, bool hyper)
@@ -59,6 +68,7 @@ func FxFloatPSpellStart(pClonk, iEffectNumber, iTemp)
if(iTemp) return;
var ret = _inherited(pClonk, iEffectNumber, iTemp, ...);
EffectVar(0,pClonk,iEffectNumber) = 360;
+
return ret;
}