i think the building might need 1 movement speed if you want it rotated manually. otherwise, i don't see how you can't rotate it by adjusting the facingreal of the unit.
save the facing real of the building and add one to it then set that as the new facing real. same way you would rotate a unit, right? units with zero movement speed also cannot rotate manually, btw. you can't even trigger a unit to have zero movement speed, the minimum will be 1, or some higher number in your gameplay constants.
-
Untitled Trigger 010
-
Events
-
Time - Every 0.10 seconds of game time
-
Conditions
-
Actions
-
Set realfacing = (realfacing + 1.00)
-
Unit - Make Well of Life 0055 <gen> face realfacing over 0.10 seconds
it would seem this would require the unit can be rotated manually. you have to set the building's max min and base movementspeed all to 1. then it can rotate as you please via the above trigger.
i'm curious to know if there's another function which would rotate a building(maybe there isn't). but anyway a building can't really move anywhere without movement speed greater than one, so it's a solution that fits.
just keep in mind if you really wanted a building rotating like the turret, that building was a model that had rotation for part of it, not the entire building was rotating, just about half of it was. so you might want to speak to a modeling animator about that.(i don't know shrike turret sc2 but i remember missile turret sc1, assuming rotation mechanic is same)
now this next bit actually works even if the building doesn't have movement speed, but it leaks like crazy and i don't remember exactly how that would work for cleaning a point in gui.
-
Untitled Trigger 010
-
Events
-
Time - Every 0.10 seconds of game time
-
Conditions
-
Actions
-
Set realfacing = ((Facing of Well of Life 0055 <gen>) + 1.00)
-
Set pointbuilding = (Position of Well of Life 0055 <gen>)
-
Unit - Move Well of Life 0055 <gen> instantly to pointbuilding, facing realfacing degrees
it seems there is a difference in the functions
one does use
SetUnitFacingTimed
and the other uses
SetUnitFacing
one can theorize that the first one needs a movement speed to work with, but the second one does not. but this is incorrect.
it's a funny thing, but it seems if a unit is incapable of minimal movement, it cannot rotate. because apparently you can rotate it if you move it to nowhere but where it already is first, and then rotate it. doesn't really make sense to me, but there you have it.
as far as i know you'll need to either make a bunch of point variables and clean the leaks from them, or just simply make all the buildings move at 1ms.