programming

It is possible to put code in the "JotaCode" language into @succ, @osucc,
@drop, @odrop, @fail, @ofail, and @desc messages. If one of these
messages begins with an @-sign, it will be interpreted as code. This
will just be a series of functions, each of which begins with @. The 
arguments to these functions can be:
   * strings in "quote" marks; you can use a quote in the middle of
     a string by escaping it with a backslash, like "Say \"Hi\" now".
     Strings can contain %-substitutions, which are evalutated when the
     string is parsed; see help substitutions for more information.
   * numbers, with optional sign, decimal part, and # sign at beginning.
     Examples:
       1.50
       #14
       -.05
   * *variables: variables assigned by the JotaCode parser, prefixed by
     a * (see help jotavars for a list)
   * another @function
   * a valid C token (a sequence of alphanumerics and underlines not
     beginning with an underline), which is short for @g("token"); see @g.
   * lists inside { curly braces }, with elements separated by commas;
     currently, lists are only supported in @switch.

For an example, you can set the @fail of an object like so: 

@fail kitten=@switch("%s", "she", "The kitten allows you to pet it,
  but won't let you pick it up.", "he", "The kitten scratches and
  bites your hand when you try to pick it up.", "The kitten runs to
  the other side of the room, while looking at you strangely.")

You can include multiple functions in one message by putting a ;
(semicolon) between them; their output is catenated together.

Type "help functions" for a list of functions you can use.