Skip to content

Q Move Overhaul

ChthonVII edited this page May 11, 2022 · 1 revision

This is a constellation of features that overhaul the RA Q-move system and port it to TD. Q-Move Overhaul first appears in CFE Patch Redux v1.8.

The overhauled system is fundamentally the same in both TD and RA, with the following differences:

  • In RA, there are three INI settings that add progressive enhancements to the vanilla RA behavior. In TD, there is one INI setting that turns the whole feature set on or off.
  • Due to limitations of the GlyphX client, the input methods for TD and RA are different.
    • In RA, simply hold the [Q] key while clicking to issue a Q-move command.
    • In TD: First, you must configure "Mod Command 1" in the game's settings menu. Let's call the chosen hotkey "[KEY]." To issue a Q-move command, you must press [KEY] before clicking. It doesn't matter if you continue to hold [KEY] while you click, but it feels better with muscle memory trained on RA. If you want to issue another Q-move command, you must release [KEY] and press it again. The effect of [KEY] is automatically canceled if you don't click to issue a move command within 3 seconds, or if you issue any command other than a move command. You can rapidly cancel the effect of [KEY] by simply hitting [KEY] again.

Features:

  • Attack-move now works with Q-move. Units will travel to each destination in their navigation queue in turn, while pausing to fight enemies it encounters.
    • For RA, requires ATTACK_MOVE=1. For TD, requires ATTACK_MOVE=1 and QMOVE_LOOPS=1.
    • Hold the [shift] key while issuing a Q-move command to put units into attack-Q-move mode.
    • Issuing another Q-move command without holding [shift] will put the unit into regular Q-move mode.
    • Therefore, whether [shift] was held for the last Q-move command issued to this unit controls whether it's in attack-Q-move or regular Q-move mode.
  • Bugfixes for RA's basic Q-move (RA only). Requires QMOVE_LOOPS=1.
    • Better behavior for when trying to add a new destination to a unit's navigation queue when the queue is full. Vanilla behavior evicts the newest destination. Fixed behavior evicts the oldest destination.
    • Better behavior for "stop" command (default [S] key) when a unit has a non-empty navigation queue. Vanilla behavior aborts movement to the current destination and begins moving to the next one. Fixed behavior stops the unit entirely.
  • Q-Move loops. The unit will loop through the destinations in its navigation queue indefinitely.
    • For RA, requires QMOVE_LOOPS=1. For TD requires Q_MOVE=1.
    • To set a unit into Q-move-loop mode, issue a Q-move command for a destination that's already in the unit's navigation queue. This is easiest accomplished by simply issuing two Q-move commands in a row without moving the mouse.
    • You can set a unit into Q-move-loop mode with only one destination in its navigation queue, however it will automatically exit Q-move-loop mode if it reaches that destination before you add at least one more destination to its navigation queue.
    • New destinations are always added to the back of the queue (and thus immediately before looping back to the first destination) regardless of where the unit is in the loop at the time the new destination is added. For example, if the current navigation queue is A → B → C → repeat, then adding a new destination will always result in A → B → C → D → repeat, regardless of whether the unit is between A and B, or between B and C, or between C and A, or yet to reach A.
  • Attack-Q-Move-Loop. The unit will loop through the destinations in its navigation queue indefinitely, while pausing to fight enemies it encounters. Essentially a guard patrol path.
    • For RA, requires ATTACK_MOVE=1 and QMOVE_LOOPS=1. For TD, requires ATTACK_MOVE=1 and Q_MOVE=1.
    • To put a unit into attack-Q-move-loop mode, issue a Q-move command while holding [shift] either to a unit that is already in Q-move-loop mode, or that puts the unit into Q-move-loop-mode (i.e., by issuing the [shift] + Q-move command for a destination already in the unit's navigation queue).
  • Aircraft Q-moves. Adds the ability for aircraft to do Q-move, attack-Q-move, Q-move-loop, and attack-Q-move-loop.
    • For RA, requires AIR_QMOVE=1, plus optionally QMOVE_LOOPS=1 and/or ATTACK_MOVE=1. For TD, requires Q_MOVE=1, plus optionally ATTACK_MOVE=1.
  • Queue memory for reloading aircraft. Enables aircraft in attack-Q-move-loop mode to remember their navigation queue while landing to reload, and then automatically return to it once reloaded. Allows for aerial base defenders somewhat like Emperor: Battle for Dune.
    • For RA, requires ATTACK_MOVE=1, QMOVE_LOOPS=1, AIR_QMOVE=1, and AIR_QAML_RECALL=1. For TD, requires ATTACK_MOVE=1 and Q_MOVE=1.
Clone this wiki locally