The "Wait For Spoken Response" action is intended for full, predefined phrases.
You could try using the dictation mode, then checking whether the recognized phrase contains the word(s) you're looking for.
You'll want to make sure any words that need to be recognized for the command to operate (I.E. the words you'll be actively checking for) are in the speech recognition dictionary, if they're not in there by default (E.G. "X-wing", "Tie-Fighter", etc...).
Essentially, if the word is recognized (as in, the speech recognition engine correctly transcribes it; obviously there will be an "Unrecognized" entry in the log, as no
command was recognized) when you speak it in an empty profile containing no commands at all, that would indicate it's already in the dictionary.
You can click the wrench icon on VoiceAttack's main window, and on the "Recognition" tab of the VoiceAttack options window click the "Utilities >" button, then choose "Add/Remove Dictionary Words", to add words to the dictionary and record a pronunciation for them if you so wish. Note that the default words are not listed there, only those you add.
You can use the "{DICTATION}" token, a loop that checks whether that token returns something (to wait until the buffer actually contains something before continuing the command), and a set of conditions that looks for the keywords you may speak.
E.G.
Start Dictation Mode (Clearing Dictation Buffer)
Start Loop While : [{DICTATION}] Equals ''
End Loop
Stop Dictation Mode
Begin Text Compare : [{DICTATION}] Contains 'fighters'
Press F key and hold for 0,01 seconds and release
Else If Text Compare : [{DICTATION}] Contains 'bombers'
Press B key and hold for 0,01 seconds and release
Else If Text Compare : [{DICTATION}] Contains 'Darth Vader on a space moped'
Press M key and hold for 0,01 seconds and release
End Condition
These topics may be of use in addition to the official documentation:
Control flow (If, Else, ElseIf, Loop, Jump) basicsVariables and tokens summed up