Contents |
Chooses among several options and executes code based on the expression.
[switch(expression): case case1: body1; case case2: body2; default: defaultBody]Parameters
expression - The regular expression that determines which case is executed. Since this is a regular expression, metacharacters such as * and () will need to have backslashes in front of them if you want to match them literally.
case - A potential match for the expression, possesses a corresponding body that is executed if a match is made.
default - If the expression finds no matches within the cases, then the defaultBody is executed.
[h:powerType="at-will"][switch(powerType):case "at-will": "You may use this power as much as you like";case "encounter": "You may only use this power once per encounter";case "daily": "You may only use this power once per day"]Outputs You may use this power as much as you like
[h:powerType=".*sword.*"][switch(powerType):case "flail": "one-handed weapon; two-handed does Str*2 damage";case "shortsword": "used for jabs, so is a puncturing weapon";case "longsword": "a slashing weapon"]Outputs used for jabs, so is a puncturing weapon. Notice that the first matching clause was the one that the [switch():] option found.
When using the [code():] option with a switch option, each case body its own set of braces, like so:
[h,switch(class),code:case "Warrior": { [Armor = 6] [beginningPowers = "Sword, Shield Bash, Bow, Shield, Torch"]};
case "Rogue": { [Armor = 2] [beginningPowers = "Dagger, Hide, Backstab, Pick Lock, Torch"]};case "Wizard": { [Armor = 1] [beginningPowers = "Dagger, Staff, Light, Lightning Bolt, Fire Ball"]};case "Priest": { [Armor = 4] [beginningPowers = "Mace, Heal, Protect, Banish Undead, Torch"]};default: { [Armor = 0] [beginningPowers = "Fists, Feet"]}]