AFAIK, the (move:) macro only moves values. Ergo, $destarray2 must be an array to begin with and you must select a index to move the value into. For example:
<!-- Initialize both arrays. -->
(set: $destarray to (a: "foo", "bar", "baz", "qaz"))
(set: $destarray2 to (a:))
<!-- Move the first value within $destarray into the first value within $destarray2. -->
(move: $destarray's 1st into $destarray2's 1st)
Excellent, that gets me part of the way there. Now for the complicated part. That (move:) is part of a chain of possible move commands; if $thing1 is true, move $destarray's 1st; if $thing2 is true, move $destarray's 2nd; etc. This chain can occur several times as the player explores.
Any thoughts on how to deal with the possibility of moving $destarray's 12th into $destarray2's 3rd (as a possible example)? The only thing I can think of is after the (if:) statement, get the length of $destarray2 and use that to control a list of (if:) statements:
If length=1, move to $destarray2's 2nd
if length=2, move to $destarray2's 3rd
if length=x, move to $destarray2's x+1
etc.
Comments
Any thoughts on how to deal with the possibility of moving $destarray's 12th into $destarray2's 3rd (as a possible example)? The only thing I can think of is after the (if:) statement, get the length of $destarray2 and use that to control a list of (if:) statements: There has to be a cleaner way... right?