diff options
| author | Mittendrein Markus <maxmitti@gmx.net> | 2016-03-09 22:53:18 +0100 |
|---|---|---|
| committer | Mittendrein Markus <maxmitti@gmx.net> | 2016-03-09 22:53:18 +0100 |
| commit | 8e8da78c5178c72c3621c7c869876ec75d6ff320 (patch) | |
| tree | 5918dd28987206c0bb62fae183f01b2ae6a1b859 | |
| parent | e0f54dc408b9f2948cb78100d324aaefd1600cd3 (diff) | |
| download | tempelschubsen-8e8da78c5178c72c3621c7c869876ec75d6ff320.tar.gz tempelschubsen-8e8da78c5178c72c3621c7c869876ec75d6ff320.zip | |
Fix searching of spawn positions
| -rw-r--r-- | TemplePushing.c4s/Script.c | 2 | ||||
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Debug.c | 2 | ||||
| -rw-r--r-- | TemplePushing.c4s/System.c4g/FindObjectsLayer.c | 20 |
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)
|
