On the Subject of The Heptabutton

Seven vertices and seven edges; seven seas and seven stages.

Note:

  • A TAP is a HOLD for 0 timer ticks.
  • Keep track of the button’s color each stage.

Stage 1:

  • TAP on last digit = (number of letters on the button’s label + first digit of the S#) % 10.

Stage 2:

  • BR = (sum of Stage 1’s and Stage 2’s colors’ Red values) % 3.
  • BG = (sum of Stage 1’s and Stage 2’s colors’ Green values) % 3.
  • BB = (sum of Stage 1’s and Stage 2’s colors’ Blue values) % 3.
  • BRG = 3×BR + BG.
  • HOLD on last digit = BRG,
    RELEASE on (last digit % 3) = BB.

Stage 3:

  • Convert the first letter of the S# into Morse Code.
    d = number of dots, s = number of dashes.
  • CH = d + 3×s.
  • CR = last digit of the S#.
  • HOLD on last digit =
    • If in Zen mode, |CR - (CH % 10)|.
    • Otherwise, (CR + CH) % 10.
    HOLD for CH timer ticks (and RELEASE on last digit = CR).
    • Note whether or not the button changes color when held correctly.

Stage 4:

  • If the button changed color when held correctly in Stage 3, TAP on last digit = 0.
  • Otherwise, HOLD on last digit = batteries % 10, and for 6-8 timer ticks.

Stage 5:

  • Convert every letter on the button’s label into Tap Code.
    R = sum of row numbers,
    C = sum of column numbers,
  • To determine X:
    • If R is divisible by 7, X = 7.
    • Otherwise, if R is divisible by 11, X = (sum of S# digits) % 10.
    • Otherwise, if R does not contain any digits in the S#, X = |first S# digit - last S# digit|.
    • Otherwise, if R > C, X = (R + C).
    • Otherwise, X = 0.
  • To determine Y, follow the steps for determining X above, but swap R and C.
  • If the number of letters of the button’s label is:
    • odd, HOLD on last digit = X,
      RELEASE on last digit = Y.
    • even, HOLD on last digit = Y,
      RELEASE on last digit = X.

Stage 6:

  • If the button is the same color as it was at any previous stage, TAP on last digit = earliest stage number with the current color.
  • Otherwise, if the button’s label has exactly 7 letters, TAP on last digit = 7.
  • Otherwise, TAP on last digit = (sum of alphabetic positions of letters on the button’s label) % 10.

Stage 7:

  • S = sum of all stages’ colors’ RGB values + (sum of S# digits) % 18.
  • If the total number of modules on the bomb does not contain the digit 7, subtract S from 60.
  • If S < 10, prepend a zero to it.
  • HOLD on seconds digits = S, and for 7 timer ticks.

Morse Code

Morse Code Table

Tap Code

Tap Code is shown on the table below. Row numbers are along the left, and column numbers are along the top. K is substituted with C.

12345
1ABCDE
2FGHIJ
3LMNOP
4QRSTU
5VWXYZ

All Colors

There are 27 possible colors on this module, each with RGB values from 0 to 2.

ColorRGB
Black0000
Indigo0011
Blue0022
Forest0101
Teal0112
Azure0123
Green0202
Jade0213
Cyan0224
Maroon1001
Plum1012
Violet1023
Olive1102
Gray1113
ColorRGB
Maya1124
Lime1203
Mint1214
Aqua1225
Red2002
Rose2013
Magenta2024
Orange2103
Salmon2114
Pink2125
Yellow2204
Cream2215
White2226