- Joined
- Jan 17, 2010
- Messages
- 149
(UPDATE) they fixed Walkable destructables as of recent patch, but issues relating to GetLocationZ will remain.
GetLocationZ can return different values if Reforged user and Classic user are on same game and the following conditions apply:
1) you use platforms or destructables that are tagged "walkable" and use reforged assets (this means they have different local Z values as the models themselves will be different)
2) GetLocationZ sometimes returns different values on DEFAULT terrain for some reason (RIP)
+
3) you use a system (e.g Missile) which relies on some sort of GetZ that has GetLocationZ embedded in it, and/or use GetLocationZ to set global wc3 values such as unit height
=
Lets assume we use Missile jass library
Shoot 1 projectile across a platform or faulty terrain (again WTF), and reforged missile will have different Fly Height than Classic Missile
=
bye game
I can't be bothered to post screenshots and the map that you can replicate this with, at the moment. Just take my word for it.
I'm trying to figure out if there can be any viable replacement for GetLocationZ instead. And no, the BlzGetUnitZ are not viable as they are documented to be Local as well.
Most likely the only solution will be to synchronise (using TriggerHappy's sync library) player 1's GetLocationZ results across a predefined grid and use some sort of algorithm to "GetSmoothZ" or something.
Edit:
I found another cause related to force bridges (the transparent ones). Not sure if it applies to regular bridges. I don't know the mechanics of it yet. Shooting a projectile (Missile library, locust/xefx units) over to stuff located on it from water (all GetLocationZ calls removed) desyncs Reforged x Classic games.
GetLocationZ can return different values if Reforged user and Classic user are on same game and the following conditions apply:
1) you use platforms or destructables that are tagged "walkable" and use reforged assets (this means they have different local Z values as the models themselves will be different)
2) GetLocationZ sometimes returns different values on DEFAULT terrain for some reason (RIP)
+
3) you use a system (e.g Missile) which relies on some sort of GetZ that has GetLocationZ embedded in it, and/or use GetLocationZ to set global wc3 values such as unit height
=
Lets assume we use Missile jass library
Shoot 1 projectile across a platform or faulty terrain (again WTF), and reforged missile will have different Fly Height than Classic Missile
=
bye game
I can't be bothered to post screenshots and the map that you can replicate this with, at the moment. Just take my word for it.
I'm trying to figure out if there can be any viable replacement for GetLocationZ instead. And no, the BlzGetUnitZ are not viable as they are documented to be Local as well.
Most likely the only solution will be to synchronise (using TriggerHappy's sync library) player 1's GetLocationZ results across a predefined grid and use some sort of algorithm to "GetSmoothZ" or something.
Edit:
I found another cause related to force bridges (the transparent ones). Not sure if it applies to regular bridges. I don't know the mechanics of it yet. Shooting a projectile (Missile library, locust/xefx units) over to stuff located on it from water (all GetLocationZ calls removed) desyncs Reforged x Classic games.
Last edited: