I wanted to wait until it was finished, so I could show it off as an OMGWANT! proof of concept, but I'm stuck, so... I wanted to make a map where players could bring a Civilian near a vehicle (Tank, Vulture, etc.), and press E to enter it. (A nod to Halo: Combat Evolved's PC version.) That didn't work -- I have SCBW1.161, and EUDs (or sprites?) crash it.1
So I set about creating an EUD-less version of the trick, and thought of using a unit that can change into another unit (and back). This would have the advantage that the player could hotkey it, and use two keystrokes to use it as a controller... So the player would bring their Terran Civilian over to a Siege Tank, and bring their Hero Tank into siege mode to enter the non-hero Tank. They would later un-siege their Hero Tank to exit the vehicle. (This would also be used to enter Goliaths, etc..)
Thing is, what if they siege their Hero Tank when they're not near a vehicle? I could just make them un-siege it and re-siege it to enter a vehicle later, but... I'd rather just automatically and forcibly un-siege the Hero Tank (less work for the player, you see). Course, I rigged the trigs to move the tank and give it to a CPU, and I tried the tricks listed on the wiki, to no avail... (I'm aware that the wiki says that CPUs never unsiege a hero tank. AI fail?)
I don't want to delete and recreate the tank, because that'll unset any hotkeys. (I read somewhere that giving the tank to a CPU and returning it leaves hotkeys intact. 'Course, whatever method I end up using, the tank won't be returned instantaneously -- would the delay and the CPU ownership break a hotkey?)
Now, I could flip it -- use hero tanks as enterable vehicles, and normal tanks as controllers... But that would create inconsistency (white wireframe for tanks, normal for other vehicles). I could also use normal Siege Tanks as both vehicles and controllers, but that would complicate the triggers (and there's already a ton of them2). (There's also the fact that I want the controllers to be named: "Siege to enter vehicle" and "Un-siege to exit vehicle".)
So... Anyone know how to do the seemingly-impossible and coax a CPU into un-siegeing a hero tank?
1 While I'm on the subject, ever since I upgraded to SCBW1.161: maps with sprites crash SC; the main menu experiences random graphical glitches (everything except the actual animated sprites turns black); player colors are ignored, and the default ones are forcibly applied... WTH?
2 I use two locations for each player, to detect vehicle proximity. That way, a vehicle can be entered from within five or so tiles, but if multiple vehicles are in that range, the player'll end up entering the closest one when they siege their controller-hero-tank. I also display a message ("Siege controller to enter _____"), which means... Three triggers per vehicle (5) per range (2) per player (4), plus one or two for if no vehicles are in range. I'd rather not complicate this further by having to distinguish between a normal tank on the field and a normal tank being used as a controller.
None.