Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 2.02 KB

first-macro.md

File metadata and controls

45 lines (34 loc) · 2.02 KB

The First Macro

Back to the main readme.

Based loosely on Leon's <<once>> macro and similar, <<first>>, <<then>>, and <<finally>> create code or text that is shown based on how many times the player has visited a particular passage. While it's nothing that couldn't be handled with variables or visited() and an <<if>> or <<switch>>, I believe this lightweight set of macros feel a bit better to use in some stories.

THE CODE: Minified. Pretty.
DEMO: Available.
GUIDE: Not available.

Macro: <<first>>

Syntax:<<first>>...<<then>>...<<finally>>...<</first>>

A simple, slightly sexier repalcement for <<if visited()>> and <<switch visited()>>, based loosely on Leon's <<once>> macro. <<first>> shows text on the first visit to a passage, and you can use <<then>> to show different text on subsequent visits. Use <<finally>> to show text that persists over all subsequent visits.

[!DANGER] Do not nest <<first>> macros inside each other; it won't cause an error, but it also likely won't work the way you expect. If you need nesting, you'll need to use variables.

Usage:

// show something or run code only on first visit to any given passage:
<<first>>Show only on first visit.<</first>>

// show something only on second and all subsequent visits:
<<first>><<finally>>Show me on every visit except the first.<</first>> 

// show different text on first three visits, then nothing:
<<first>>\
	First visit text.
<<then>>\
	Second visit text.
<<then>>\
	Third visit text.
<</first>>

// show different text on first two visits then different text on the third visit and subsequent visits: 
<<first>>\
	First visit text.
<<then>>\
	Second visit text.
<<finally>>\
	Third visit and subsequent visits text.
<</first>>