0 votes
by (230 points)

Hey all, hopefully a quick "well, duh!' question here: How do I format a datamap entry so that an Either: macro executes correctly and repeatedly? I'm trying to have some variety in text during battle when the enemy attacks. I've tried 

"STRtext", "(either: "dives", "claws", "kicks")",

but that makes the datamap fail to load. And

"STRtext", (either: "dives", "claws", "kicks"),

does choose one randomly, but then it stays the same option throughout all combat turns instead of choosing one randomly every turn.

The line in the actual combat passage for display is 

(elseif: $log is "enemy")[The (print: $monster's name) (print: $monster's STRtext), dealing (print: $monster's STR) damage.]

if that helps any.

1 Answer

+1 vote
by (63.1k points)

Warning, code is untested, as I'm not at my computer. 

Try nesting an array in your data map, i.e. 

"STRtext", (a: "dives", "claws", "kicks"),

Then use the (either:) on the array. 

(elseif: $log is "enemy")[\
The (print: $monster's name) (print: (either: ...$monster's STRtext)), dealing (print: $monster's STR) damage.]

 

by (230 points)
Yup, that does it. I knew I had to be missing something simple.
...