I am trying to create a new game and in this game I want the player himself to have abilities which he can use that are not necessarily connected to a unit. So for example, I would want this player to be able to press a button and be able to call in a scanner sweep wherever he chooses. There are as far as I can tell a few different ways this can be done, but they are all really undesirable for one reason or another. I will list the methods I have considered and why I do not think they work for what I want to do, in hopes that you guys will have another idea, or a way of fixing one of these.
1. Doing it entirely through triggers. I feel like this is not a great idea because the systems for detecting player mouse and key inputs through triggers are very laggy, and because I want my game to be a competitive micro-intensive game laggy systems are not ideal. I considered constructing an elaborate web of triggers to manage all of these key inputs and only turn them on/off when they are necessary but this seems really sloppy, and like there should be a much better way to do it.
2. Creating a 'commander' type unit that manages all of the abilities (similar to StarJeweled). This does not work well because players would have to select this unit before being able to use the abilities.
3. Spawn a unit and have it use the ability when the button is pressed, then just remove it after the ability completes. This does not work because there does not appear to be a way to issue a order to a unit to use a target point ability without feeding it a target. Meaning, I want to issue an order where the unit only enters the targeting part of the ability, and not the execution phase.
there is no good solution to this. do you scratch the 32 ability limit? if not add a new command card to your units with all the abilities. best way to be able to cast them fast (at least with hotkeys).
You can have a unit for each player created at start which is invulnerable and invisible. Give this unit all the abilities you want, then when you click whatever key you assign you first save what unit they are selecting at the moment, and then select the hidden unit. they can then use the command card on the hidden unit to the the abilities. *Note if the abilities need to be ranged you just have to move the hidden unit to the unit they had selected but first check that the unit was owner by the correct player..... if the ability isn't ranged controlled like scanner for instance just make sure the ability has the max range. after using the ability have a trigger select the unit you saved.