diff options
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c | 2 | ||||
| -rw-r--r-- | TemplePushing.c4s/System.c4g/MagicLightningBolt.c | 5 |
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); |
