To give it modules, place focal ports around it (you can also use item frames by just swapping out the embedded iota, but focal ports are less fragile and look nicer IMO) and insert foci containing a list formatted as [[patterns], num]. The number is how many ticks the wisp will wait between execution of that focus. It does not use the Delay Wisp pattern, so no need to worry about interfering with other executions with it.
You can have a module designate something to be executed after every other module executes by sticking a pattern list in the ravenmind.
You should always make sure to test your modules before giving them to the main wisp, because as with normal wisps, any mishap will kill it, likely wasting significant accumulated media.
The code for the main wisp:
Code: Select all
//wisp hex
{
Flock's Reflection
Flock's Gambit
Bookkeeper's Gambit: v
Vacant Reflection
Huginn's Gambit
//fetch list of focal ports
{
<Focal Port entitytype>
}
Flock's Disintegration
Identity Reflection
Compass' Purification
Numerical Reflection: 2 //you may want to use a large number here if you anticipate using many modules
Zone Exaltation: Type
//thoth list
{
//check if focal port contains a readable item - assume all foci in ports are properly formatted ([[patterns], num])
Gemini Decomposition
Auditor's Purification
{
//to be extracted
Bookkeeper's Gambit: -
//add wisp reference to stack underneath pattern list
Identity Reflection
Jester's Gambit
//check if the hex may be executed this tick
Chronicler's Purification
Flock's Disintegration
Timekeeper's Reflection
Jester's Gambit
Modulus Distillation
Numerical Reflection: 0
Equality Distillation
{
Hermes' Gambit
Bookkeeper's Gambit: -
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
}
Speaker's Decomposition
Augur's Exaltation
Hermes' Gambit
Flock's Reflection
Flock's Gambit
Bookkeeper's Gambit: v
}
Jester's Gambit
Thoth's Gambit
Bookkeeper's Gambit: v
//execute anything the modules said to execute last
Muninn's Reflection
Hermes' Gambit
}
Mind's Reflection
Compass' Purification II
Floor Purification
Numerical Reflection: 0.5
Additive Distillation
Vector Reflection -Y
Additive Distillation
Numerical Reflection: 100
Summon Cyclic Wisp
Code: Select all
#define Repeat N (SOUTH_WEST ewdqdweadaddadda) = Any, Num > [Many]
{
<Wandering Wisp entitytype>
}
Flock's Disintegration
Jester's Gambit
Compass' Purification
Numerical Reflection: 3
Zone Exaltation: Type
Gemini Decomposition
Abacus Purification
//list to unroll
{
Speaker's Decomposition
Consume Wisp
}
Jester's Gambit
Gemini Decomposition
Numerical Reflection: 0
Maximus Distillation
{
Bookkeeper's Gambit: v
//you *should* be able to use any loop unrolling macro here, as long as it does [patterns], num -> [patterns num times over], and ideally leaves the ravenmind in the same state it was before
Repeat N
Hermes' Gambit
}
Speaker's Decomposition
Augur's Exaltation
Hermes' Gambit
Code: Select all
Mind's Reflection
Nurse's Purification
Numerical Reflection: 21
Minimus Distillation
{
Bookkeeper's Gambit: -
Mind's Reflection
Numerical Reflection: 10
Numerical Reflection: 0
White Sun's Zenith
Mind's Reflection
Numerical Reflection: 1
Numerical Reflection: 20
Division Distillation
Numerical Reflection: 6
White Sun's Zenith
}
Speaker's Decomposition
Augur's Exaltation
Hermes' Gambit