From 55b826420d7bfff520f28ff6d8788e336d0e247b Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Tue, 16 Apr 2019 00:59:52 +0200 Subject: Refine stopping StopNSpell on objects floating through the gravity spell to consider the hyper mode of gravity correctly --- TemplePushing.c4s/System.c4g/Gravity.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'TemplePushing.c4s/System.c4g') 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; } -- cgit v1.2.3-54-g00ecf