On the Subject of Cruel Colour Flash

Turns out it's a bit harder...

  • A Cruel Colour Flash module will display a continuous transmission of different words representing different colours.
  • This transmission can be broken down into six repeating Morse code transmissions, one for each of the three R, G, and B components belonging to both the words displayed and the colours they are displayed in.
  • The characters corresponding to the Morse code transmissions are to be interpreted as base 36 numbers.
  • The numbers belonging to either the words or the colours correspond to functions, with the other being the inputs of those functions.
  • Applying each function to the input that shares its RGB component yields three output values.
  • These values are used to determine the final value of the module. This value corresponds to a rule that determines which button must be pressed and when it must be pressed in order to solve the module.
    (All numbers in this manual following this sentence are in base 36.)
If there is a duplicate word number, the word numbers correspond to functions.
Otherwise if there is a duplicate colour number, the colour numbers correspond to functions.
Otherwise if any word number is the same as any colour number, the colour numbers correspond to inputs.
Otherwise if three or more transmitted numbers are less than A, the word numbers correspond to inputs.
Otherwise if no transmitted numbers are less than A, the word numbers correspond to functions.
Otherwise if the serial number contains two or more transmitted numbers, the colour numbers correspond to functions.
Otherwise if the serial number contains no transmitted numbers, the word numbers correspond to inputs.
Otherwise count the number of batteries on the bomb and zero-index into the serial number, wrapping around if there are more than five batteries:
If the serial number character at the above index is a numeric digit, the word numbers correspond to functions.
Otherwise the colour numbers correspond to functions.

Each number can be found in exactly one of the codes below,
apply the corresponding operations to the corresponding inputs.

CodeOperation
SLIMIf the input is odd, double it, otherwise halve it.
15BROUse the next input in RGB order (with wrapping).
20DGTAdd the total number of dots and dashes in the Morse code of the inputs.
34XYZSubtract the input from Z.
6WUFAdd the smallest input
7HPJIf the input is a multiple of three, divide it by three, otherwise add all inputs that are less than A.
8CAKEMultiply the number by one plus the number of transmitted numbers less than A.
9QVNSubtract the previous input, in RGB order (with wrapping), from Z.

If all three outputs are equal, the final value is also equal.
Otherwise if two of the three outputs are equal, the final value is the remaining output.
Otherwise if two of the three outputs are equal to a transmitted number, the final value is the sum of those two outputs, modulo 10.
Otherwise if one of the three outputs is equal to a transmitted number, the final value is the difference between the other two.
Otherwise if the sum of the outputs is greater than 22, the final value is the Red output.
Otherwise if the sum of the transmitted numbers is greater than 4K, the final value is the Green output.
Otherwise if the sum of the transmitted numbers is less than twice the sum of the outputs, the final value is the Blue output.
Otherwise if the serial number contains any output, the final value is the second-largest output.
Otherwise if the outputs, when arranged in RGB order, are in ascending or descending order, the final value is the largest output minus the smallest.
Otherwise if the largest output is greater than all of the word numbers, the final value is the smallest output.
Otherwise if the smallest colour number is greater than all of the outputs, the final value is the largest output.
Otherwise the final value is the hexatrigesimal digital root of the inputs.

If the final value is greater than or equal to A:

ValuePressWhen
AYesWord is White
BYesBoth Word and Colour have active B components
CNoTime remaining is a multiple of seven
DNoColour is Black
EYesWord is a primary colour, Colour is a secondary colour
FNoColour is White
GYesBoth Word and Colour have active G components
HNoBoth Word and Colour are secondary colours
INoBoth Word and Colour are primary colours
JYesEven minutes and seconds remain on the timer
KYesWord is Black
LNoWord is a secondary colour, Colour is a primary colour
MYesTens digit of the seconds timer is zero
ValuePressWhen
NNoWord and Colour match
ONoWord is Black
PYesBoth Word and Colour are primary colour
QNoEven minutes and odd seconds remain on the timer
RYesBoth Word and Colour have active R components
SYesBoth Word and Colour are secondary colours
TNoDifference between starting time and remaining time is a multiple of 7
UYesNeither Word nor Colour have an active R component
VYesNeither Word nor Colour have an active G component
WNoNeither Word nor Colour have an active B component
XNoOdd minutes and seconds remain on the timer
YYesWord and Colour match
ZNoWord is White

If the final value is less than A:

Press the correct button when the last digit of the seconds timer is equal to the final value:

If the final value is one of transmitted numbers, Yes is the correct button.
Otherwise if the sum of the numeric digits in the serial number is less than the final value, No is the correct button.
Otherwise if the final value is equal to the last minutes digit of the starting time, Yes is the correct button.
Otherwise if the final value is less than the number of ports, No is the correct button.
Otherwise if the last digit of the number of modules present is equal to the final value, Yes is the correct button.
Otherwise if the final value is less than the number of batteries, No is the correct button.
Otherwise if the final value has the same parity as the number of solved modules, Yes is the correct button.
Otherwise No is the correct button.