summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c2
-rw-r--r--TemplePushing.c4s/System.c4g/MagicLightningBolt.c5
2 files changed, 5 insertions, 2 deletions
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);