From 8e8da78c5178c72c3621c7c869876ec75d6ff320 Mon Sep 17 00:00:00 2001 From: Mittendrein Markus Date: Wed, 9 Mar 2016 22:53:18 +0100 Subject: Fix searching of spawn positions --- TemplePushing.c4s/Script.c | 2 +- TemplePushing.c4s/System.c4g/Debug.c | 2 +- TemplePushing.c4s/System.c4g/FindObjectsLayer.c | 20 ++++++++++++++++---- 3 files changed, 18 insertions(+), 6 deletions(-) (limited to 'TemplePushing.c4s') diff --git a/TemplePushing.c4s/Script.c b/TemplePushing.c4s/Script.c index 41b1bca..4caae43 100644 --- a/TemplePushing.c4s/Script.c +++ b/TemplePushing.c4s/Script.c @@ -528,7 +528,7 @@ func LaunchClonk(int player, object clonk, bool relaunch) wipf->RemoveObject(); // Get distance to closest enemy - var closestEnemy = FindObject2(Find_OCF(OCF_CrewMember | OCF_Alive), Find_Hostile(player), Sort_Distance(pos[0], pos[1])); + var closestEnemy = FindObject2AllLayers(Find_OCF(OCF_CrewMember | OCF_Alive), Find_Hostile(player), Sort_Distance(pos[0], pos[1])); var enemyDistance; if (closestEnemy) enemyDistance = Distance(pos[0], pos[1], closestEnemy->GetX(), closestEnemy->GetY()); diff --git a/TemplePushing.c4s/System.c4g/Debug.c b/TemplePushing.c4s/System.c4g/Debug.c index f0cd420..31d61bf 100644 --- a/TemplePushing.c4s/System.c4g/Debug.c +++ b/TemplePushing.c4s/System.c4g/Debug.c @@ -3,7 +3,7 @@ global func VerifyHostileSortDistance(int player) { var crew = GetCrew(player); - var searchResult = crew->FindObjects( + var searchResult = crew->FindObjectsAllLayers( Find_OCF(OCF_CrewMember | OCF_Alive), Find_Hostile(player), Sort_Distance(crew->GetX(), crew->GetY())); diff --git a/TemplePushing.c4s/System.c4g/FindObjectsLayer.c b/TemplePushing.c4s/System.c4g/FindObjectsLayer.c index ac570e2..1b96060 100644 --- a/TemplePushing.c4s/System.c4g/FindObjectsLayer.c +++ b/TemplePushing.c4s/System.c4g/FindObjectsLayer.c @@ -1,13 +1,25 @@ #strict 2 -global func FindObjects() +global func FindObjects(noOverload) { - return _inherited(Find_Layer(GetObjectLayer()), ...); + if (GetType(noOverload) == C4V_Bool) return _inherited(...); + else return _inherited(Find_Layer(GetObjectLayer()), noOverload, ...); } -global func FindObject2() +global func FindObjectsAllLayers() { - return _inherited(Find_Layer(GetObjectLayer()), ...); + return FindObjects(true, ...); +} + +global func FindObject2(noOverload) +{ + if (GetType(noOverload) == C4V_Bool) return _inherited(...); + else return _inherited(Find_Layer(GetObjectLayer()), noOverload, ...); +} + +global func FindObject2AllLayers() +{ + return FindObject2(true, ...); } global func FindObject(a, b, c, d, e, f, g, h, i, object findNext) -- cgit v1.2.3-54-g00ecf