Sorry about that! Fixed now. Turns out it was an order-of-operations issue!
if( stoneNumber % DRAIN_FACTOR * DRAIN_FACTOR == 0 )
{ drainMultiplier = 2 }
Mostly because the effects periodically got swapped around during development. It also helps to distinguish factors from mathematical constants, particular when I want to Ctrl+F for everything related to a certain factor (see: https://en.wikipedia.org/wiki/Magic_number_(programming)).