### Post by Tomalla on Mar 10, 2019 6:12:00 GMT -8

Here's a little thought process I had recently about the spikes and how exactly they inflict damage.

Gruntz take damage on a spikes tile only once they reach the middle point of the tile. Once they do and take the damage, they are subject to a fixed timeout during which they don't take any spikes damage at all. Once it runs out, they become vulnerable again and take another hit once (if) they reach the middle of a spikes tile. Now, Gruntz have different travelling speeds. Depending on that, they can travel further while taking the same amount of damage. Here's a breakdown how many tiles they can walk while taking only a single spikes damage:

Judging from this spreadsheet, is it possible to tell what's the actual duration of this timeout?

The first assumption we have to make is this: does a Grunt take damage if the timeout runs out exactly when he's in the middle of a tile? For now let's just assume that he does. We'll come back to this assumption later on.

For each entry in the spreadsheet you can limit the possible duration of the timeout. Let's take the 500ms/t for instance: if the timeout was less than or equal 500ms, a Grunt would take damage on every spikes tile. If it was greater than 500ms and less or equal 1000ms, it would happen once every two tiles, and so on. Since a Grunt takes damage only once every three tiles, the timeout must be greater than 1000ms, but less or equal 1500ms.

Here's the above breakdown with the limits deduced from each entry:

If we intersect all the intervals together ... we get nothing. The only possible timeout value seems to be 1000ms, which has also been proven with a stopwatch. However our first assumption seems to be problematic: if it was correct, the 500ms/t Gruntz would take damage once every 2 tiles (and not 3). If the assumption was incorrect on the other hand, the 250ms/t Gruntz would take damage once every 5 tiles (and not 4). That's a truly perplexing discovery. It all just doesn't add up.

If I didn't make any mistakes in the math, we have just one more mistery in the game, which will probably never be solved. Perhaps there's a hard limit on how many tiles a Grunt can travel without taking damage? Or the conditions whether or not a Grunt should take damage are executed in a different order depending on the circumstances and/or are more complicated? We will never know. Not until one disassembles the game of course and sees for himself what's the reason for these shenanigans.

Cheers

Gruntz take damage on a spikes tile only once they reach the middle point of the tile. Once they do and take the damage, they are subject to a fixed timeout during which they don't take any spikes damage at all. Once it runs out, they become vulnerable again and take another hit once (if) they reach the middle of a spikes tile. Now, Gruntz have different travelling speeds. Depending on that, they can travel further while taking the same amount of damage. Here's a breakdown how many tiles they can walk while taking only a single spikes damage:

- 250ms/t - 4 tiles - Spy + Superspeed
- 300ms/t - 4 tiles - Normal + Superspeed
- 400ms/t - 3 tiles - Warpstone + Superspeed
- 500ms/t - 3 tiles - Spy
- 600ms/t - 2 tiles - Normal
- 800ms/t - 2 tiles - Warpstone
- 1200ms/t - 1 tile - Baby Walker

Judging from this spreadsheet, is it possible to tell what's the actual duration of this timeout?

The first assumption we have to make is this: does a Grunt take damage if the timeout runs out exactly when he's in the middle of a tile? For now let's just assume that he does. We'll come back to this assumption later on.

For each entry in the spreadsheet you can limit the possible duration of the timeout. Let's take the 500ms/t for instance: if the timeout was less than or equal 500ms, a Grunt would take damage on every spikes tile. If it was greater than 500ms and less or equal 1000ms, it would happen once every two tiles, and so on. Since a Grunt takes damage only once every three tiles, the timeout must be greater than 1000ms, but less or equal 1500ms.

Here's the above breakdown with the limits deduced from each entry:

- 250ms/t - 4 tiles - timeout: (750ms;1000ms> - Spy + Superspeed
- 300ms/t - 4 tiles - timeout: (900ms;1200ms> - Normal + Superspeed
- 400ms/t - 3 tiles - timeout: (800ms;1200ms> - Warpstone + Superspeed
- 500ms/t - 3 tiles - timeout: (1000ms;1500ms> - Spy
- 600ms/t - 2 tiles - timeout: (600ms;1200ms> - Normal
- 800ms/t - 2 tiles - timeout: (800ms;1600ms> - Warpstone
- 1200ms/t - 1 tile - timeout: (0ms;1200ms> - Baby Walker

If we intersect all the intervals together ... we get nothing. The only possible timeout value seems to be 1000ms, which has also been proven with a stopwatch. However our first assumption seems to be problematic: if it was correct, the 500ms/t Gruntz would take damage once every 2 tiles (and not 3). If the assumption was incorrect on the other hand, the 250ms/t Gruntz would take damage once every 5 tiles (and not 4). That's a truly perplexing discovery. It all just doesn't add up.

If I didn't make any mistakes in the math, we have just one more mistery in the game, which will probably never be solved. Perhaps there's a hard limit on how many tiles a Grunt can travel without taking damage? Or the conditions whether or not a Grunt should take damage are executed in a different order depending on the circumstances and/or are more complicated? We will never know. Not until one disassembles the game of course and sees for himself what's the reason for these shenanigans.

Cheers