So I have a map where all the water is on cliff level 1. All of the ground is cliff level 2. There are no ramps in between the two levels. In the water I have ships that use ground movers and collision. I am trying to keep units from being unloaded in the water. I have created a Location Compare Cliff Level Validator with following values:
Target Location: (None):Target Point: Unknown Validator Compare: Greater Than Or Equal To Validator Value : 2
I then assigned this validator as the Hercules Transport Ability: Unload Validator. I expected this to keep the unload ability from being used (clicked) over the water (cliff level 1). However this validator just gives me a red invalid symbol and says "Can't unload units here" no matter where I click (in water or ground). Any help would be appreciated.
Yup I am sure. I recently changed all the water from canyon layer (0) to layer 1. If the water was still canyon layer there would be no ground pathing....
edit: I went ahead and verified the cliff levels using a trigger that saves the cliff level of the dropship when unload all is used, converts it to text, and print it out on the screen. The dropship over water returns 1, the dropship over ground returns 2. I think the issue (with the validator and triggers) lies with the target point. When I print out the target point of a trigger fired on the use unload event at generic 1 - any stage it is always equal to the location of the dropship (i cant find a way to print out from the validator but based on the behavior the target point is also equal to the dropships location here). I'm wondering if there is no way to catch the actual mouse click point when using unload. Do you know if there is perhaps an action used by the units being unloaded I could catch?
Yes my work around is to assign the units being dropped an effect. That effect fires a trigger that does some logic and will either place the units on the ground level (cliff level 2 or 3) or load them back into the transport. The logic actually pretty simple offset the location a distance of 2 in 45 degree intervals. After each iteration you check if cliff level is > 1. If so you place the unit, if not you go to the next angle offset. Once you have tried all the angle offsets with a distance of 2 you move on to a distance of 4. If you get through all the angle offsets again you simple load the units back up. Seems to work pretty well. You can of course adjust the angles and distances. I just wanted to do this in validators instead of triggers....
Under the Transport ability there is the Effect: Calldown Effect field. This uses a Use Calldown type effect (similar to the nuke of the ghost) which takes a unit from the magazine/cargo. If the Use Calldown effect has an effect specified under the Effect: Calldown Effect field it will sacrifice the unit to use the effect. If no effect is specified it will just unload the unit at the calldown location. A known problem with this method is if unloading a large number of units the collision of previously unloaded units will block the use of the calldown for further units. A simple work around is to apply a buff to unloaded units that supresses their collision for a brief period.
Perfect explanation thank you very much. I have it working right now but I think I may look into the using the calldown. However I do use the immediate unload so all cargo is unloaded at once. Not sure if I will be able to get the same behavior out of calldown. Also I have an issue where some units get placed on the cliff level 1 (water) when unloading. I have been using a trigger that looks at the cliff level of the unit and will try and move it if it is in water. I think I am going to using a buff the suppresses collisions when they are placed. That way all the cargo units should end up on the right cliff level.
On a side note, I had a weird issue where if i selected a group of units and told them to load into a transport they would randomly stop. There did not seem to be any logic to when they stop and when they keep loading. I went ahead and changed my transport mover to construction and now they all load fine. Not sure the difference between the ground mover and the construction mover other than the pathing for construction is worker and pathing for ground is ground but it works now. Any ideas why the construction mover fixed the issue? I'm guessing it has something to do with the height of the objects...
That makes perfect sense. So the construction mover must force the unit to get as close as possible? Is there anyway I could replicate this mover minus the ability that allows scvs to climb cliff levels thru buildings? I've mitigated the problem by removing building pathing for the structures on the coast but would like to understand why they have this ability. I tried digging into the "Pathing Mode" but could not find it anywhere in the editor.
So I have a map where all the water is on cliff level 1. All of the ground is cliff level 2. There are no ramps in between the two levels. In the water I have ships that use ground movers and collision. I am trying to keep units from being unloaded in the water. I have created a Location Compare Cliff Level Validator with following values:
Target Location: (None):Target Point: Unknown
Validator Compare: Greater Than Or Equal To
Validator Value : 2
I then assigned this validator as the Hercules Transport Ability: Unload Validator. I expected this to keep the unload ability from being used (clicked) over the water (cliff level 1). However this validator just gives me a red invalid symbol and says "Can't unload units here" no matter where I click (in water or ground). Any help would be appreciated.
Thank you
You sure about your cliff height indexes? Default cliffs go from 0 to 3 with 0 being the canyon layer.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Yup I am sure. I recently changed all the water from canyon layer (0) to layer 1. If the water was still canyon layer there would be no ground pathing....
edit: I went ahead and verified the cliff levels using a trigger that saves the cliff level of the dropship when unload all is used, converts it to text, and print it out on the screen. The dropship over water returns 1, the dropship over ground returns 2. I think the issue (with the validator and triggers) lies with the target point. When I print out the target point of a trigger fired on the use unload event at generic 1 - any stage it is always equal to the location of the dropship (i cant find a way to print out from the validator but based on the behavior the target point is also equal to the dropships location here). I'm wondering if there is no way to catch the actual mouse click point when using unload. Do you know if there is perhaps an action used by the units being unloaded I could catch?
Dummy Effect - Target effect that uses an Issue Order effect?
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Yes my work around is to assign the units being dropped an effect. That effect fires a trigger that does some logic and will either place the units on the ground level (cliff level 2 or 3) or load them back into the transport. The logic actually pretty simple offset the location a distance of 2 in 45 degree intervals. After each iteration you check if cliff level is > 1. If so you place the unit, if not you go to the next angle offset. Once you have tried all the angle offsets with a distance of 2 you move on to a distance of 4. If you get through all the angle offsets again you simple load the units back up. Seems to work pretty well. You can of course adjust the angles and distances. I just wanted to do this in validators instead of triggers....
Alternatively you could have unloaded using a calldown.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Not to familiar with the calldown ability. Could you give me a quick run down of how that would work?
Under the Transport ability there is the Effect: Calldown Effect field. This uses a Use Calldown type effect (similar to the nuke of the ghost) which takes a unit from the magazine/cargo. If the Use Calldown effect has an effect specified under the Effect: Calldown Effect field it will sacrifice the unit to use the effect. If no effect is specified it will just unload the unit at the calldown location. A known problem with this method is if unloading a large number of units the collision of previously unloaded units will block the use of the calldown for further units. A simple work around is to apply a buff to unloaded units that supresses their collision for a brief period.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Perfect explanation thank you very much. I have it working right now but I think I may look into the using the calldown. However I do use the immediate unload so all cargo is unloaded at once. Not sure if I will be able to get the same behavior out of calldown. Also I have an issue where some units get placed on the cliff level 1 (water) when unloading. I have been using a trigger that looks at the cliff level of the unit and will try and move it if it is in water. I think I am going to using a buff the suppresses collisions when they are placed. That way all the cargo units should end up on the right cliff level.
On a side note, I had a weird issue where if i selected a group of units and told them to load into a transport they would randomly stop. There did not seem to be any logic to when they stop and when they keep loading. I went ahead and changed my transport mover to construction and now they all load fine. Not sure the difference between the ground mover and the construction mover other than the pathing for construction is worker and pathing for ground is ground but it works now. Any ideas why the construction mover fixed the issue? I'm guessing it has something to do with the height of the objects...
Ground movers give up if there is no pathable route to where the destination is.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
That makes perfect sense. So the construction mover must force the unit to get as close as possible? Is there anyway I could replicate this mover minus the ability that allows scvs to climb cliff levels thru buildings? I've mitigated the problem by removing building pathing for the structures on the coast but would like to understand why they have this ability. I tried digging into the "Pathing Mode" but could not find it anywhere in the editor.
Think it also ignores collision?
Under the Movers data type there is the Movement: Placement - Pathing Flags field which might help.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg