diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2019-04-16 00:59:52 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2019-04-16 00:59:52 +0200 |
| commit | 55b826420d7bfff520f28ff6d8788e336d0e247b (patch) | |
| tree | 46e9bcd0d5da2556e2aa0ac7d64c24fbc140b892 | |
| parent | d5e447f523bed0508cdf44047c23c85f6c61b53e (diff) | |
| download | tempelschubsen-55b826420d7bfff520f28ff6d8788e336d0e247b.tar.gz tempelschubsen-55b826420d7bfff520f28ff6d8788e336d0e247b.zip | |
Refine stopping StopNSpell on objects floating through the gravity spell to consider the hyper mode of gravity correctly
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Gravity.c | 12 |
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;
}
|
