summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMittendrein Markus <maxmitti@gmx.net>2016-03-09 22:53:18 +0100
committerMittendrein Markus <maxmitti@gmx.net>2016-03-09 22:53:18 +0100
commit8e8da78c5178c72c3621c7c869876ec75d6ff320 (patch)
tree5918dd28987206c0bb62fae183f01b2ae6a1b859
parente0f54dc408b9f2948cb78100d324aaefd1600cd3 (diff)
downloadtempelschubsen-8e8da78c5178c72c3621c7c869876ec75d6ff320.tar.gz
tempelschubsen-8e8da78c5178c72c3621c7c869876ec75d6ff320.zip
Fix searching of spawn positions
-rw-r--r--TemplePushing.c4s/Script.c2
-rw-r--r--TemplePushing.c4s/System.c4g/Debug.c2
-rw-r--r--TemplePushing.c4s/System.c4g/FindObjectsLayer.c20
3 files changed, 18 insertions, 6 deletions
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)