On the Subject of The Teardrop

I was definitely not projecting when making this module.

  • This module has a teardrop button and a display.
  • To disarm the module, press the teardrop when the last digit of the timer matches the resulting number.

Step 1: Who is crying?

  • Take all present indicators (unlit or lit) and sort them in alphabetical order.
  • Take the first indicator from that list and use Table 1 to identify who is crying.
  • Use the first column in reading order whose conditions are satisfied.

Table 1.

Indicator Even number of ports Odd number of batteries Sum of serial number digits is composite More lit indicators than unlit indicators Otherwise:
BOBSelenaBelerickWanwanEstesLapu-Lapu
CARThamuzEsmeraldaSilvannaRafaelaFanny
CLRHarithGrangerAtlasArgusChou
FRKLeomordBadangLyliaGatotkacaVexana
FRQKimmyKhufraCecilionRogerMoskov
INDUranusGuinevereCarmillaHarleyLancelot
MSAAldousTerizlaBaratsHanabiOdette
NSAKaditaDyrrothPaquitoGrockFredrinn
SIGClaudeNolanBenedettaGusionJohnson
SNDValeLingMathildaZilongAlucard
TRNKajaLunoxRubyAlphaHayabusa
noneIxiaNovariaJulianMelissaCici

Step 2: What’s wrong?

  • First, create a string based on the alphabet (i.e., “ABCD…WXYZ”).
  • Apply the following operations to the string if their respective conditions are satisfied.

Table 2. String Operations

Condition Operation
The product of the number of batteries and the number of ports is odd. Reverse the string.
The sum of the digits of the serial number is prime. Take the letters ‘P’, ‘R’, ‘I’, ‘M’, and ‘E’ out, then place “PRIME” at the front of the string.
There are more batteries than letters in the serial number. Cut the string in half, then place the second half in front of the first.
The serial number contains at least one character in the word “TEARDROP”. Take the letters ‘C’, ‘R’, and ‘Y’ out, then place “CRY” at the end of the string.
The total number of modules is even. Take the letter in the position of the last digit* of the serial number, then place it at the end.
The total number of modules is odd. Take the letter in the position of the first digit* of the serial number, then place it at the end.
BUT! If both a single Parallel port and a Lit BOB indicator are present: Ignore all previous rules and return to the original alphabet string.
  • Then, based on this new string, place the original alphabet string above it.
  • Convert each letter of the text in the display from the top row to the bottom row to decrypt it.

Example:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
QKXYFJVDZSBGHLARNWUPIOCETM

(top row) PXLPXY → (bottom row) REGRET

*If the digit is a 0, shift the 10th letter in the string instead.

Step 3: It’s okay. I’m here.

  • Convert each letter of the name of the person crying into numbers based on their position in the alphabet (A = 1, B = 2, …, Z = 26).
  • Do the same for the decrypted word.
  • Add all of the numbers from both the name and the decrypted word and modulo 10 their sum.
  • Press the teardrop when the last digit of the timer matches this number.

Notes:

  • See Appendix T34RDR0P for the list of possible decrypted words and a useful link to convert letters to numbers conveniently.
  • See Appendix MATH for the definitions of the unfamiliar math terms used.

Appendix T34RDR0P: List of Possible Decrypted Words

SADNESSOVERWHELMEDGUILTCONFUSION
JOYNOSTALGIAEXHAUSTIONFAILURE
ANGERDISAPPOINTMENTHORMONESOVERTHINKING
PAINREJECTIONPRIDEAPPRECIATION
LOSSHOPELESSNESSSHAMEREGRET
STRESSCOMPASSIONHOPEINSECURITY
RELIEFGRATITUDELONGINGCHANGE
LONELINESSINJUSTICEFRUSTRATIONSURPRISE
FEARMOURNINGCONFLICTSYMPATHY
EMPATHYBETRAYALILLNESSJEALOUSY

Appendix MATH: Math Terms and Definitions

Math TermDefinition
Prime

A whole number that is only divisible by one and itself.

e.g., 2, 3, 5, 7, 11, …

Composite

A whole number with at least one divisor other than 1 and itself.

e.g. all even numbers greater than 2, multiples of primes

Note: 1 is neither prime nor composite.

modulo n

An operation that means to add or subtract an integer by n until it is within the range of 0 to n-1 inclusive.

Example: 8 modulo 6

8 - 6 = 2
Check: Is 2 within [0,7]?
Since this is true, the operation stops.