## On the Subject of Kugelblitz

S u c c u m b t h e v o i d

After the first solve, this module will display a dark orb with particles spinning around it rapidly. The particles are coloured in the colours from the rainbow. After every solve from a non-ignored module take the colours in rainbow order (ROYGBIV). If a colour is present, that bit is a 1. If not, it is a 0. For multiple Kugelblitz modules, refer to their colours in the “Coloured Kugelblitz” section of this manual. Combining every stage using bitwise XOR will present you with the final value. The final value is your starting coordinate formulated as xxxyyyR, with xxx and yyy being the binary equivalent of X and Y with (X, Y) = (0, 0) being top left.

When this module is ready to be solved, the particles will slow down drastically and turn either black or white. They will also pulse every 2.5 seconds. Starting with north go clockwise 45 degrees for each white particle on the module to obtain your initial direction.

### Iterating a Kugelblitz

Use the process below to obtain your numbers. The table (found on the second page) wraps around like a true projective plane: wrapping around vertically flips the table horizontally and wrapping around horizontally flips the table vertically. Follow the process until you obtain 7 digits.

1. Start at the starting coordinate facing in the starting direction on the table. n is initially 0.
2. Add the value of the position you are on to the current value and go forward in your direction one step.
3. Repeat step 2 another n times.
4. Modulo the resulting value by 7 to obtain a digit.
5. Rotate 135 degrees counterclockwise if you had R = 1 and 135 degrees clockwise otherwise.
 5 1 3 6 4 0 2 1 2 6 4 0 5 3 4 0 5 1 3 2 6 3 5 2 0 1 6 4 0 3 4 2 6 1 5 6 4 0 5 2 3 1 2 6 1 3 5 4 0

Convert each digit individually into its 3-bit binary representation. Keep all leading zeroes. Prepend this binary sequence with a 1.

For each bit, perform the first condition that applies to the current string of actions

• If there are already three consecutive ‘i’, the next character is ‘p’.
• If there are already two consecutive ‘p’, the next character is ‘i’.
• If the last character is a ‘p’, and the total amount of ‘i’ is even, the next character is ‘i’
• Otherwise, 0 becomes ‘p’ and 1 becomes ‘i’.

At this point, if there are an odd amount of ‘i’ in your sequence, append ‘i’ directly to the end of the sequence.

For every ‘p’, wait a pulse and for every ‘i’, alternate between holding and not holding the orb while staying within that pulse.

If everything has been done correctly, the orb will decay. Upon a strike during submission, the module will enter recovery mode. In this state, every consecutive pair of stages will be combined via a bitwise XOR operation. If there are an odd amount of stages, the last stage remains unaffected. Upon another strike, the stages will be combined even further.

Performing ‘ii’ at this point will show the next stage. Performing ‘ip’ will return the module into submission mode.

## Coloured Kugelblitz

### General information

If there are multiple Kugelblitzes present at the same time, they may be linked. Hovering over one of them will highlight all instances within its group. There will always be exactly one black Kugelblitz and one solution per group. The other linked Kugelblitzes for this group have a colour associated with them and modify the solution for this group. If multiple linked Kugelblitz modules are on the same bomb, they may swap upon a solve. Note that not every quirk displays binary. If in this case a particle is absent, that still means 0. The other values can be determined by the movement as shown in the respective diagram.

The solution can be inputted on any Kugelblitz of the group it belongs to. In stage recovery ‘ii’ will only advance a stage on the module you apply it to, and using ‘ip’ will return the entire group to submission mode. For each quirk, recovery combines consecutive stages similar to regular Kugelblitz, but makes sure to use the method you would normally use to combine the stages for that respective quirk.

### Quirks

#### Red

To combine stages, add the values at each index together and modulo them by 7. Add these values to the corresponding digit of the regular Kugelblitz’ final values right before the binary conversion, and modulo them by 7.

#### Orange

To combine stages, apply a bitwise XOR. If a bit is a 1, invert the the bits in the corresponding bit group right before the conversion to the final sequence.

#### Yellow

To combine stages, apply a bitwise XOR. Prepend this bit to the corresponding bit group right before the conversion to the final sequence. Apply this before applying the orange quirk.

#### Green

To combine stages, look at the particles’ furthest outward reaching point from the orb and add the values at each index together and modulo them by 7. Replace any 0 with a 7. This will be the total amount of times you apply step 2 within the corresponding iteration.

#### Blue

To combine stages, add the values at each index together and modulo them by 3. Replace any 0 with a 3. Add the value of the fifth (blue) digit to all other digits and discard this fifth digit to form a sequence of six digits. This will be by how much you rotate in the corresponding iteration, where 1 means a rotation of 45 degrees, 2 a rotation of 90 degrees, and 3 a rotation of 135 degrees.

#### Indigo

To combine stages, apply a bitwise XOR. If the sixth (indigo) bit is a 1, invert all other bits. Discard this sixth bit to form a sequence of six bits. This will be whether or not you switch between rotating clock- or counterclockwise in the corresponding iteration, where 1 switching between the two, and 0 means not changing. This switch happens before the rotation of the corresponding iteration.

#### Violet

To combine stages, apply a bitwise XOR. If the seventh (violet) bit is a 1, invert all other bits. Discard this seventh bit to form a sequence of six bits. Follow case 1 if either of the first two bits is a 0, or case 2 if both of the first two bits are a 1. These will be the exact actions to apply upon wrapping around.

#### Case 1

• If the third bit is a 1, wrapping around horizontally will flip the grid horizontally.
• If the fourth bit is a 1, wrapping around horizontally will flip the grid vertically.
• If the fifth bit is a 1, wrapping around vertically will flip the grid horizontally.
• If the sixth bit is a 1, wrapping around vertically will flip the grid vertically.

#### Case 2

• If exactly one out of the third and fifth bits is a 1, wrapping around will flip the grid horizontally.
• If exactly one out of the fourth and sixth bits is a 1, wrapping around will flip the grid vertically.
• Finally, wrapping around will flip the grid such that all coordinates (x, y) become (y, x).

With modsettings, it is possible to change the interval between pulses, as well as possible quirks. To change the quirks, change the `Preset` string. Quirks are in ROYGBIV order. `+` will attempt to force that quirk present, `?` will try to add that quirk if there are still slots available, and `-` will make sure to never show that quirk. To change the interval between pulses, change the `Pacing` value to the time you wish there to be between pulses in seconds. Note that these values will be overridden if specified by missions.