If you type the name of an event key in any text box followed by the dot character, it will now bring up a menu where you can select either Length or Position. These two new functions will return an Integer value of the length of the event (in turns), or the current position of the event from the start.

These can be useful, as you can create restrictions that an event must be before or after a certain position.

I have added a new checkbox on Events, so that if you have a delay at the start of the event (i.e. the event should start off waiting for X turns) and also you have the event set to repeat on completion, you can now select this new checkbox to wait again before the event starts, effectively allowing you to insert a pause between each run of the event.

Similar to the existing Either function, there is now a OneOf function. This function can take any number of parameters, and will return one of the parameters randomly. For example, you could embed the function into a piece of text like so:

The top card is the Queen of <# OneOf("club", "spade", "diamond", "heart") #>s.

Several users have had problems with the DirectX sound interface. As a result, I have added a new interface, using WinMM. This is now the default interface for sound, as it doesn't require additional DLLs (so Runner no longer requires the Microsoft.DirectX files). You can enable or disable individual interfaces in Runner Options > Advanced in case any particular interface causes a problem on your machine.

In addition to this, the debugger will now specify which interface is being used when a sound file is being played.

Expressions can now use the function Replace. This takes three parameters - the first is the piece of text to be altered, the second is the text to find, and the third is the text to replace the found text with. So for example,