Sugarcube
Equivalent functionality in Sugarcube v2
Last updated
Was this helpful?
Equivalent functionality in Sugarcube v2
Last updated
Was this helpful?
Examples taken from the
Sugarcube and Moontale have fundamentally different use-cases! This guide is not exhaustive - in particular, it does not cover the DOM, Input, Audio, or utility functions.
As a rule, Moontale makes no distinction between a 'macro' and a 'function'. The changer syntax $foo[Text]
makes use of foo
as a Lua function, and using it in code e.g. {$ x = foo(y) $}
is just as valid.
The following syntax is identical in Sugarcube and Moontale:
[[Passage]]
[[Link -> Target]]
[[Target <- Link]]
$variable
* Unordered lists
> Blockquote
Sugarcube
Moontale
<<print $name>>
{$ Show(name) $}
<<= 2 + 3>>
<$ 2 + 3 $>
"""No markup"""
<$ 'No markup' $>
{{{$name}}}
`$name`
[[Label|Target]]
and [[Label][Target]]
[[Label->Target]]
[[Go buy milk|Grocery][$bought to "milk"]]
$On.click<<bought = 'milk'; Jump('Grocery') end>>[Go buy milk]
[img[Image][Link]]
etc.
[[$Image('path/to/image')->Target]]
🚧
Single \
Line
\ text
New line
Single
Line
text
New line
Note the extra space to force a line break
!Heading 1
# Heading 1
!!Heading 2
## Heading 2
//Emphasis//
*Emphasis*
or _Emphasis_
''Strong''
**Strong**
or __Strong__
==Strikethrough==
~~Strikethrough~~
__Underline__
$Style.u[Underline]
# Item 1
# Item 2
1. Item 1
1. Item 2
{{{Code}}}
`Code`
{{{
Code
}}}
```
Code
```
----
---
or ***
Templates, e.g. ?He was always willing to lend ?his ear to anyone.
$Name.myTemplate[$He was always willing to lend $his ear to anyone.]
$With{He = 'She', his = 'her'}[$myTemplate]
🚧
/* Comment */
/% Comment %/
<!-- Comment -->
{$--[[ Comment --]]$}
<<capture foo bar>>
{$ local foo = foo; local bar = bar $}
<<run foo()>>
and <<script>>foo()<</script>>
{$ foo() $}
(Of course, this is Lua rather than JavaScript)
<<set $gold to 5>>
{$ gold = 5 $}
<<unset $cheese, $gold>>
{$ cheese = nil; gold = nil $}
<<include "Go West">>
[[ ->Go West]]
<< if $cash lt 5>>
$If(cash < 5)[
<<for i, name range $dwarves>>
$ForEach(dwarves)[
<<break>>
and <<continue>
Not supported in markup - use a script block with a for
loop
<<switch $hairColor>>
<<case "black" "brown">>
Dark haired, eh?
<<default>>
<</switch>>
$Switch(hairColor)
$Case('black', 'brown')[ Dark haired, eh? ]
$Else[ ]
🚧