The <<revision>>
macros provide a good deal of expressive power, though their potential uses may not be immediately obvious. Here are a few examples which may provide some inspiration.
An extended form of <<cyclinglink>>
This combination of <<cycle>>
and <<set>>
changes a variable every time you cycle the passage using the link.
<<cycle attire>> <<set $shirt="red">>[<img[redshirt.png]] You eagerly slip on a red shirt. <<becomes>> <<set $shirt="blue">>[<img[blueshirt.png]] No! Clearly, a blue shirt is required. <<becomes>> <<set $shirt="vermillion">>[<img[yellowshirt.png]] Nope, it ''has'' to be vermillion! Or so you think... <<endcycle>> <<revise attire "Reconsider shirt">>
A music picker
This uses my HTML5 sound macros to create a link that changes the currently playing music when you click it. (If the music isn't meant to loop, of course substitute <<loopsound>>
with <<playsound>>
)
<<cycle music>> <<stopallsound>><<loopsound "piano.ogg">>Piano music <<becomes>> <<stopallsound>><<loopsound "chiptune.ogg">>Chiptune music <<becomes>> <<stopallsound>><<loopsound "acapella.ogg">>A capella music <<endcycle>> <<revise music "Change current music">>
More info / Less info
This functions similar to <<replace>>
but also provides a link to hide the inserted text after it's been shown.
<<revision info>>You see here a spotted stripe frog.<<revise info "(More info)">><<gains>> Poisonous in 3 countries and illegal contraband in 7, this fearsomely shaded amphibian is an aesthetic and biological terror. <<revert info "(Less info)">> <<endrevision>>