^Both DO and DO NOT were attempted for cliff level checks, but as the picture below shows, the cliff is not the issue.
• Created a blank region as a proxy target instead of generating a position based on another unit. No change.
• Attempted to use Global Suicide AI instead: This exhibited the same problem, which proves that the targeting trigger isn't the problem.
• Loaded bunkers placed at the top of the ramp instead of supply depots. Enemy units ignore the bunkers until attacked, at which point they climb the ramp as expected, kill the bunkers, then finish pathing as expected.
• Supply Depots lowered to allow proper pathing. Pathing does not correct until my unstuck trigger rechecks the pathing.
Brown area is marked as unpathable, while the area under the supply depot is default pathing, with the depot blocking. As you can see, as long as they don't see the depot, they can't attack it to get in. They won't even retaliate when attacked, as long as the attacking unit isn't inside the blocking building (a bunker for example).
If the units are running into cliffs that means the pathing for the units is not finding a path
A)path too far and pathing is giving up
b) path is block
c) odd loopback layouts
but pathing will path up cliffs and behind bushes
my guess is the path is blocked. but i don't understand what your trying to do.
also add
ping minimap (Position of Leader Array[(Picked player)]
to make sure that the target is correct
I'm trying to have the enemy waves Attack Move to the location of the leader unit, attacking any intervening units, as per normal Attack Move AI. They are definitely tracking the Leader, as moving him causes them to adjust, but they still never "find" the supply depot as an intervening unit.
So you're trying to make the enemy AI to attack the supply and only the supply?
I think that has in the numbers in one field of the supply/marine status...
I remember seeing a new trigger that actually displays the calculated path on the terrain.
That should allow you to view it.
Also persistent pathing may be the problem. Persistent pathing never goes away. If it is a supply depot causing the problem try switching all of their footprints to standard pathing.
@HelkMeme: Go
I'm trying to make the enemy ai attack anything that gets between it and the A-Move point, which is exactly how A-Move should work normally, but in the case of it seeing the targeted point before seeing the rest of the path, it just beelines for the target, running into cliffs/unpathable areas
I'll look for that trigger. I wasn't aware that "persistent" was an actual term. I was using it in regards to how vexing this particular pathing issue has become. I can't do any balance work or terraining until I can be confident that the enemies will actually do what they are supposed to.
I'm not seeing a relative option. Offset isn't working either, so I'm stuck until I find relative.
Found it. Testing now.
Unit - Order all units in Enemy Wave[(Picked player)] to ( Attack targeting relative points near (Position of Leader Array[(Picked player)])) (Replace Existing Orders)
^They just run around targeting random positions all over the map...
If the target unit is atop the cliff (possible by If( TargetUnit is in region TopOfCliff, and also If(AttackingUnit is NOT in region TopOfCliff)), then you could issue to the AI to attack a point just at the top of the cliff, and add the order afterwards to their queue to attack the point of the Target Hero Unit.
Now, if there are multiple ramps to the top of the cliff, you may have to get tricky with the code; you may have to dynamically pick which point will be queued for the TopOfCliff point. You may have to set up multiple points at the top of the individual different ramp entrances, and do some math to figure out which is the closest. Once you find the closest TopOfRamp point, you'll have to issue an order to that point before the Attack order towards TargetUnit. This will be a small process for each individual unit that you will have to do. However, I don't think it'll eat up much performance; if you do this for 200 units every 2 seconds, it won't be an issue really if you code it properly.
OR
In the data editor, change the Unit Vision Height to 2 and sight radius to the length of a ramp
If you do this, then if a unit is at the bottom of a ramp, the unit will be able to see the blocking supply depot and attack it, but it won't be able to attack too far up onto the cliff.
PROS:
Enemies will not be aimlessly walking into a cliff just next to the ramp
If they are within range of attacking a supply depot, they will
CONS:
Enemies will be able to see up cliffs, and will be able to attack up without walking up the ramp (which is why you set their vision radius to the smallest possible amount,the length of a ramp, to mitigate the con).
OR
You could give the enemies Vision Height of 5, and add a Validator to their attack "Cliff GE0" or something (can't remember the exact name)
If you do this, then the units will be able to see up the cliff, but won't be able to attack unless it is on the same cliff level as the unit.
PROS:
The unit will be able to see the supply depot, and perhaps attack it properly, walking up the ramp to attack it.
CONS:
The unit won't be able to attack up cliffs at all, even if the unit has vision of the high ground from its allies.
You could give the enemies Vision Height of 5, and add a Validator to their attack "Cliff GE0" or something (can't remember the exact name) If you do this, then the units will be able to see up the cliff, but won't be able to attack unless it is on the same cliff level as the unit.
PROS:
The unit will be able to see the supply depot, and perhaps attack it properly, walking up the ramp to attack it.
CONS:
The unit won't be able to attack up cliffs at all, even if the unit has vision of the high ground from its allies.
This sounds perfect. There are no Air units in this map, and even if there were, I would be disabling the ability for them to act as spotters anyway.
what would be the easiest way to do this? Would I have to go through every single AI unit in the game to add the validator, or could I just add it to them as they are spawned (the validator and the vision boost)?
After further testing, the method doesn't help. It's definitely not a weapon validator issue, as the units are melee and not even getting close enough to CHECK the validator (tested it anyway though, still didn't help). The problem seems to be in them treating all hidden structures as cliffs instead of destructibles to attack on the way to the targeted point.
Relevant Trigger:
Problem: Units run to the nearest cliff edge to the targeted position, ignoring ramps.
Qualifying Conditions:
•
Position is on high ground• Buildings OUT OF SIGHT (this means up a ramp or behind bushes) are blocking the correct path.
Troubleshooting attempted:
• Gave units 32 Vision. No change.
• Gave AI full map vision. No change.
^Both DO and DO NOT were attempted for cliff level checks, but as the picture below shows, the cliff is not the issue.
• Created a blank region as a proxy target instead of generating a position based on another unit. No change.
• Attempted to use Global Suicide AI instead: This exhibited the same problem, which proves that the targeting trigger isn't the problem.
• Loaded bunkers placed at the top of the ramp instead of supply depots. Enemy units ignore the bunkers until attacked, at which point they climb the ramp as expected, kill the bunkers, then finish pathing as expected.
• Supply Depots lowered to allow proper pathing. Pathing does not correct until my unstuck trigger rechecks the pathing.
Brown area is marked as unpathable, while the area under the supply depot is default pathing, with the depot blocking. As you can see, as long as they don't see the depot, they can't attack it to get in. They won't even retaliate when attacked, as long as the attacking unit isn't inside the blocking building (a bunker for example).
@nytemare3701: Go
2 days later...*bump*
If the units are running into cliffs that means the pathing for the units is not finding a path A)path too far and pathing is giving up b) path is block c) odd loopback layouts
but pathing will path up cliffs and behind bushes
my guess is the path is blocked. but i don't understand what your trying to do.
also add ping minimap (Position of Leader Array[(Picked player)] to make sure that the target is correct
@SoulTaker916: Go
I'm trying to have the enemy waves Attack Move to the location of the leader unit, attacking any intervening units, as per normal Attack Move AI. They are definitely tracking the Leader, as moving him causes them to adjust, but they still never "find" the supply depot as an intervening unit.
@nytemare3701: Go
So you're trying to make the enemy AI to attack the supply and only the supply? I think that has in the numbers in one field of the supply/marine status...
I remember seeing a new trigger that actually displays the calculated path on the terrain.
That should allow you to view it.
Also persistent pathing may be the problem. Persistent pathing never goes away. If it is a supply depot causing the problem try switching all of their footprints to standard pathing.
@HelkMeme: Go I'm trying to make the enemy ai attack anything that gets between it and the A-Move point, which is exactly how A-Move should work normally, but in the case of it seeing the targeted point before seeing the rest of the path, it just beelines for the target, running into cliffs/unpathable areas
@FockeWulf: Go
I'll look for that trigger. I wasn't aware that "persistent" was an actual term. I was using it in regards to how vexing this particular pathing issue has become. I can't do any balance work or terraining until I can be confident that the enemies will actually do what they are supposed to.
u need to change ur attack command to attack relative point instead of attack unit (or perhaps attack point). that will make them attack the wall
attack point relative to possition of unit is what u want
@SoulTaker916: Go
I'm not seeing a relative option. Offset isn't working either, so I'm stuck until I find relative.Found it. Testing now.
Unit - Order all units in Enemy Wave[(Picked player)] to ( Attack targeting relative points near (Position of Leader Array[(Picked player)])) (Replace Existing Orders)
^They just run around targeting random positions all over the map...
here.
Unit - Order (Picked unit) to ( Attack targeting relative points near Target Point) (Replace Existing Orders)
fill out unit and point it shouldn't run around if the unit is attackable.
@SoulTaker916: Go
That's what I have listed above, isn't it?
looks like it but i have used this many times before, it should work
@SoulTaker916: Go
Unfortunately, it is not. The units are running to random points of the map.
3 Potential solutions:
If the target unit is atop the cliff (possible by If( TargetUnit is in region TopOfCliff, and also If(AttackingUnit is NOT in region TopOfCliff)), then you could issue to the AI to attack a point just at the top of the cliff, and add the order afterwards to their queue to attack the point of the Target Hero Unit.
Now, if there are multiple ramps to the top of the cliff, you may have to get tricky with the code; you may have to dynamically pick which point will be queued for the TopOfCliff point. You may have to set up multiple points at the top of the individual different ramp entrances, and do some math to figure out which is the closest. Once you find the closest TopOfRamp point, you'll have to issue an order to that point before the Attack order towards TargetUnit. This will be a small process for each individual unit that you will have to do. However, I don't think it'll eat up much performance; if you do this for 200 units every 2 seconds, it won't be an issue really if you code it properly.
OR
In the data editor, change the Unit Vision Height to 2 and sight radius to the length of a ramp
If you do this, then if a unit is at the bottom of a ramp, the unit will be able to see the blocking supply depot and attack it, but it won't be able to attack too far up onto the cliff.
PROS:
CONS:
OR
You could give the enemies Vision Height of 5, and add a Validator to their attack "Cliff GE0" or something (can't remember the exact name) If you do this, then the units will be able to see up the cliff, but won't be able to attack unless it is on the same cliff level as the unit.
PROS:
CONS:
This sounds perfect. There are no Air units in this map, and even if there were, I would be disabling the ability for them to act as spotters anyway. what would be the easiest way to do this? Would I have to go through every single AI unit in the game to add the validator, or could I just add it to them as they are spawned (the validator and the vision boost)?
@gerudobombshell: Go
After further testing, the method doesn't help. It's definitely not a weapon validator issue, as the units are melee and not even getting close enough to CHECK the validator (tested it anyway though, still didn't help). The problem seems to be in them treating all hidden structures as cliffs instead of destructibles to attack on the way to the targeted point.
Bumping