From a76c4082acbc908adf47760c2877d33eac9594e2 Mon Sep 17 00:00:00 2001 From: Mittendrein Markus Date: Fri, 4 Mar 2016 14:28:40 +0100 Subject: Magic lightning and lavashot don't hit allies near the caster --- .../Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c | 2 +- TemplePushing.c4s/System.c4g/MagicLightningBolt.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'TemplePushing.c4s') diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c index 4304e39..8bb4d7c 100644 --- a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c @@ -110,7 +110,7 @@ private func Advance() var obj; while (obj = FindObject( 0, iVtxX-GetX()-25, iVtxY-GetY()-25, 50, 50, OCF_Alive(), 0,0, NoContainer(),obj ) ) { - if(obj==pCaster) continue; + if(obj==pCaster || (iVtx < 4 && !Hostile(GetOwner(pCaster), GetOwner(obj)))) continue; if(!PathFree(iVtxX, iVtxY, GetX(obj), GetY(obj))) continue; Attraction(obj); break; diff --git a/TemplePushing.c4s/System.c4g/MagicLightningBolt.c b/TemplePushing.c4s/System.c4g/MagicLightningBolt.c index 9b77ef0..1370f08 100644 --- a/TemplePushing.c4s/System.c4g/MagicLightningBolt.c +++ b/TemplePushing.c4s/System.c4g/MagicLightningBolt.c @@ -43,10 +43,13 @@ private func Advance() } return(Remove()); } + + var findHostile = Find_And(); + if (iVtx < 4) findHostile = Find_Hostile(GetOwner(caster)); // Objektanziehung iVtx = GetVertexNum()-1; iVtxX = GetVertex(iVtx, 0); iVtxY = GetVertex(iVtx, 1); - for (var obj in FindObjects( Find_AtRect(iVtxX-GetX()-13, iVtxY-GetY()-13, 26, 26), Find_Or(Find_OCF(OCF_Alive), Find_Func("IsForceField")), Find_Layer(GetObjectLayer()), Find_NoContainer(), Find_Exclude(caster) ) ) + for (var obj in FindObjects( Find_AtRect(iVtxX-GetX()-13, iVtxY-GetY()-13, 26, 26), Find_Or(Find_OCF(OCF_Alive), Find_Func("IsForceField")), Find_Layer(GetObjectLayer()), Find_NoContainer(), Find_Exclude(caster), findHostile ) ) { if(!PathFree(iVtxX, iVtxY, GetX(obj), GetY(obj))) continue; Attraction(obj); -- cgit v1.2.3-54-g00ecf