Summary of recent events
Over the past several months, several users noticed that cultist mobs on the Broken Shore called 'Xorothian Cultists' had been channeling an extremely long spell. This spell was set to end January 16th, 2018, which at the time as a predicted potential release date of Patch 7.3.5.
Patch 7.3.5 did release on this date (though not at the correct time), and many at this point took it for granted that the channeling of the cultists had real meaning.
After Patch 7.3.5's release, the cultists were dormant. I assumed it was a bug that their long cast time was visible and that Blizzard had fixed the issue. Several weeks later, on approximately February 13th, 2018, it was again noted by several different sources that the Cultists had begun channeling again, and it was widely speculated that this would mean another significant event would occur.
Despite the cast ending on the wrong day, this end time by the cultists (March 7th, 2018) was attributed to a change in the battleground rotation made on March 6th to add Seething Shore. Several weeks later, on approximately April 6th, 2018, it was again noted by different sources that the Cultists had begun channeling again.
Finding a pattern
I began to see the outlines of a pattern at this point ('channel', 'end cast', 'no channel', 'channel again', repeat). I wondered: how do the dates align in this pattern?
These are the end times as written in Wowhead comments and various articles written around the time of the events.
- End Time 1 ('ET1'): 11:25 AM PST on Tuesday, January 16 (1)
- End Time 2 ('ET2'): 2:25 AM PST on Wednesday, March 7
- End Time 3 ('ET3'): 8:30 PM PDT on Wednesday, April 25 (2)
(1) Rougher estimate than others; had to guess this one because using 'hours' from the date of the post whereas the others all had precision to the minute.
(2) Note the time zone change from PST to PDT at this point. Daylight savings time has to be considered when calculating between ET2 and ET3 (consider it to be 7:30 PM PST).
Between ET1 and ET2, there is a roughly 50 day interval. To be exact (based on the limited information I have), there are 4,287,600 seconds between the two times. Between ET2 and ET3 we see another roughly 50 day interval. To be exact, there are 4,295,100 seconds between the two values. As a programmer, these numbers immediately stuck out to me. If you multiply both by 1000 to turn them into milliseconds, they're both within 0.1% of the number 4,294,967,295. In particular, the difference between ET2 and ET3 is only 0.003% off the expected value, less than 6 minutes!
Why is 4,294,967,295 important? It's the largest value that a 32-bit unsigned integer can hold. More on that in a minute.
"Why is their channeling hidden sometimes?"
So, at this point we've determined that the end times of their channeled casts are exactly 4,294,967,295 milliseconds apart (or 0xFFFFFFFF milliseconds apart if you prefer the hex version). But why do their channeled casts sometimes not have a duration displayed? Doesn't this indicate an active intervention on the part of Blizzard to change the times and make them display?
There is another explanation. To look into this half of the problem, we need to understand more about 32-bit integers. To put it simply, 32-bit numbers in computing can be read in two different ways. One way to do this is to let the first 31 bits be the number and the last bit be the sign of the number (negative or positive). However, if you don't need negative numbers, you can let a value be unsigned. This lets you use the 32nd bit for the number directly as well, doubling the range of possible positive values.
For the duration of the channeling time for the Cultists, Blizzard used 32-bit unsigned integers. However, consistency of reading integers the same way within the same code is not always required. I suspect that when checking to determine whether or not the value should be displayed to the user, Blizzard is actually checking the signed value of the cast duration. This would mean that when a Cultist finished their cast and started a new one with a duration of 4,294,967,295 milliseconds, the Blizzard channeling info API is actually reading it as '-1'. It then would not display the value to the user because a negative channel time doesn't make sense.
After a Cultist finishes its cast and the counter starts back at 4,294,967,295 milliseconds, the channeling time would then not display to the player until the 'sign' bit changes to 0 (indicating a positive number). This would happen at 2,147,483,647 milliseconds into the channel, exactly halfway through it. So let's test this theory. Let's analyze the earliest dates of the comments written about the Cultist channel times and compare them against my calculations.
Estimated start dates
- Start Time 1 ('ST1'): 12:50 PM PST on Friday, December 22, 2017 (1)
- Start Time 2 ('ST2'): 7:56 AM PST on Saturday, February 10, 2018
- Start Time 3 ('ST3'): 10:56 PM PDT on Saturday, March 31, 2018
(1) Based this calculation off of the time of ET2 instead of ET1 as ET1 had much less accurately.
Dates of earliest comments posted
- Wowhead user 'gkmnadsz' reported that he saw the channel active around 12/24/2017 ('15 days ago' from his post date of 1/8/2018).
- Wowhead user 'hashey' posted that he saw the channel active on 2/11/2018.
- Wowhead user 'rleake15' posted that he saw the channel active on 4/2/2018.
All of these sightings fall within 2 days of my estimated start times (the times after which the 32nd bit in the integer goes to 0 and the number becomes positive from a signed perspective). This is fairly convincing evidence that the same theory that explains the distance between the channel's ending times can also explain the distance between the starting time and the ending time. It also is a logical explanation why Blizzard would not need to do anything in order for this cycle to continue over and over.
Past and future timeline for Xorothian Cultist channels
Based on what we've learned here today, here is a timeline of the sightings listed in this post, plus guesses at the two next times. These predictions, if accurate, should thoroughly disprove that Blizzard is personally trying to show us something through these channeling times.
- Becomes active on: 12:50 PM PST on Friday, December 22, 2017
- Goes inactive on: 9:22 AM PST on Tuesday, January 16, 2018 (1)
- Becomes active on: 7:56 AM PST on Saturday, February 10, 2018
- Goes inactive on: 2:25 AM PST on Wednesday, March 7, 2018
- Becomes active on: 10:56 PM PDT on Saturday, March 31, 2018
- Goes inactive on: 8:30 PM PDT on Wednesday, April 25, 2018
- Becomes active on: 5:01 PM PDT on Sunday, May 20, 2018
- Goes inactive on: 1:33 PM PDT Tuesday, June 19, 2018
(1) I corrected this time by 2 hours and 3 minutes from the initial estimate, using ET2 as a base. This is probably a more accurate value than my original guesswork.
TL;DR:
The duration between the Cultists channel end dates is just the largest value of milliseconds the game can hold, and for exactly half of that time, the game masks the channeling cast from the player because it thinks the channeling time is negative. Blizzard is not directly controlling any of these values intentionally, as such any events "connected" to these casts is entirely coincidental, and the community shouldn't get hyped when they restart casting.
(I posted this on reddit too, in case you saw it this morning.)