2.8 Alias System

An alias in Aetolia is a combination of letters and/or numbers, with no spaces. Linked with this 'word' is a command. When you type the alias, the command will be executed instead.

For example, if your alias was, 'sayhi' and the command associated with it was 'say Hi everyone!' then every time you entered 'sayhi', Aetolia would turn it into 'say Hi everyone!'.

Aliases and targets
--------------------
Within aliases, you may embed what are called targets. Think of targets as an alias within an alias. All targets in an alias must be preceded with an & character.

So, for example, let's make the 'sayhi' alias from above a bit more functional so that it may be targeted to your guildmaster: whomever that happens to be at the time.

You would first set your 'sayhi' alias to equal 'hi &gm', where 'gm' is the target. You would then set that target (settarget gm <name>) to be the name of whoever your guildmaster is. If you set the 'gm' target to be 'Gawain', then 'sayhi' would execute 'hi Gawain'.

It should be pointed out that generally you do NOT need 10 aliases for claw (for instance). Instead of different aliases for 'claw hyena', 'claw rat', etc, all you need to do is use a target. For example:

setalias ml maul &tar
settarget tar <whatever>

Set up all your attacking aliases to use target, and then when you want to attack a new opponent, simply change the target, and all your attacking aliases will now work on the new target.

It should be noted that using settarget and not specifying a particular target will default to 'tar'. For example, settarget horse will set your 'tar' target to horse.


Aliases and substitution
------------------------
Sometimes you just want to make part of a command into shorthand to save you some time. For example, typing out 'CLAN CRAFTERS TELL Hello everybody' is awfully long, but in this instance using a target wouldn't work as you want to be able to chat without having to change your target each time. In this case, we can use a substitution token.

You can use a substitution token by entering $ followed by a number to indicate the word to use. $0 will use everything after your alias, whereas $2 would use the second word.

For example:
setalias crtell clan crafters tell $0

If I then entered 'crtell Hello everybody', the game would automatically expand it to 'CLAN CRAFTERS TELL Hello everybody'.

However, if I set the alias instead to:
setalias crtell clan crafters tell $2

And entered the same command, the game would expand it to 'CLAN CRAFTERS TELL 
everybody'.


Aliases and dynamic targets
---------------------------
In other instances, you may want to set a target, but want to be able to change that target easily without having to go through the SETTARGET steps. In this case, you can precede your target name with ^, example ^tar, and it will do just that.

Example, I have an alias set as follows:
setalias stf staffcast dissolution at ^tar

If I type in 'stf spider', it will set your internal target called 'tar' to spider and expand your command to 'staffcast dissolution at spider' at the same time.

Then, if I type just 'stf' afterwards, the game will expand your command to 'staffcast dissolution at spider' again without needing to reenter the target.


Overview
--------
You may name your aliases and your targets whatever you want, provided they are 12 or fewer characters long. It is important that you do _not_ name your aliases the same as any commands that you want to use, else the commands will not work for you. When you type in EAT ASH, for instance, Aetolia will first search to see if you have an alias called "eat". If you do, then it will try to execute that.

Command list:

SETALIAS <alias name> <substituted text> : Makes a new alias.
ALIASLIST/AL                             : Lists your aliases.
CLEARALIAS <alias name>                  : Clears an alias.
CLEARALLALIAS                            : Clears all aliases.
SHOWALIAS <alias name>                   : View a specific alias

SETTARGET/ST <target name> <text>        : Makes a new target.
TARGETLIST/TARLIST                       : Lists your targets.
CLEARTARGET <target>                     : Clears a target.