We were having a discussion in the Reviewer's Reserve forum regarding ways of making the model testing process more streamlined, and i got the idea to make a system which allows you to test attachments on units using simple text commands. I was quite happy with the result and i figured it might be useful to other people!
These are the commands that are available to you in the map:
- -create [name] Creates a unit by name at the center of your screen. Example: "-create Ghoul".
- -kill Kills all selected units.
- -play [name] Plays the specified animation on all selected units. Example: "-play Death". You can queue multiple animations by using "then", as such: "-play attack then Death then Dissipate".
- -play [value] Plays an animation by index on all selected units. Indices range from 0 up to the max animation count of the model.
- -tag [name] Toggles animation tag on all selected units. Example: "-tag Alternate".
- -attach [path] to [name] Attaches a model with path [path] to attachment point [name] of all selected units. You can choose to omit the ".mdx" ending of the path as this will then be added automatically. It is also possible to specify multiple attachment points by separating them with "and". Example: "-attach axe to hand left and hand right"
- -remove [name] Removes all attachments from attachment point [name] of all selected units. Just like -attach, this can use "and" to add more points. Example: "-remove hand left and hand right".
- -clear Clears all attachments from selected units.
- -path Allows you to specify a path which will be automatically added to all "-attach" commands you make. Example: "-path Abilities\Spells\Human\"
- -owner [0-11] Changes the owner of all selected units to player [value], where value is a number in the range of 0-11. You can use this in conjunction with "-create" to stage battles.
- -alpha [0-100] Sets the transparency of all selected units to a percentage between 0-100.
- -time [0-24] Sets the current time of day.
- -define [name] as [command] Lets you create a macro command. More info below.
- -undefine [name] Removes a created macro command.
- -l Repeats the last used valid command.
- -help Displays a list of all commands.
The way you use this is that you simply import the models you want to test into the map and run it. Then, you can spawn in whatever units you want to test them on and do "-attach myAttachmentModel to overhead", or wherever you want to try them! It's also useful for finding out the animation indices of a model. Check out the images for more detailed examples. I hope you enjoy!
The following extra models are available in the test map:
- axe.mdx
- torch.mdx
- piratehat.mdx
- centaur_axe.mdx
- buckler.mdx
- helmet.mdx
Of course you can also use any of the models that are already in the game! Adding to this, there are a few macros you can use to access some useful ingame attachments without the hassle of memorizing their paths, here is a list of them:
- #brilliance (brilliance aura)
- #bloodlust
- #ensnare
- #spikes (spiked barricades)
- #innerfire
- #magicsentry
- #frostarmor
- #sleep
- #fire (small building fire)
To use these, simply type "-attach #bloodlust to hand left and hand right", or whichever attachment points you prefer! Macros will auto-complete, so for maximum laziness you can even type "-attach #blo" to hand left" and it will understand what you want!
Finally, to minimize the amount of typing, you can create your own test suites using the "-define" command. If you type -"define test as -attach #bloodlust to hand left and hand right", then you only have to type "test" to execute this. "Overwriting" a command just adds more lines to it, so if you'd continue to type "-define test as -attach #brilliance to origin", then typing "test" will do both these things, in the order they were defined! Typing "-undefine test" removes the definition.
UPDATE:
The system will now auto-complete ALL commands, not just macros. This means that for maximum laziness, you can type "-at #br to origin", which will be interpreted as "-attach #brilliance to origin". Note that attachment point names and words like "to", "and" cannot be shortened. There are now also some pre-defined definitions such as "morph", which essentially does "tag alternate" and "play morph". You can find these built-in definitions in the "Configuration" trigger and add your own if you want.