We will make some changes to the long untouched EventMap system on 1-2 weeks.
The current version can handle up to seven phases and one phase activated at the same time. There are several bugs which make the first of eight bits of the phase mask useless. Checking event phases requires creating masks of the absolute phases. This will be history soon…
New features
[ul][li]AddPhase method for setting an extra phase of the EventMap: If your creature is in phase two at the moment and you call AddPhase(3), it will be in both phases, two and three, afterwards.[/li][li]RemovePhase method for disabling a specific phase of the EventMap: Say your creature is in phase two and three at the same time. After calling RemovePhase(3) it will be in phase two only.[/li][li]IsInPhase method for simply checking single phases: IsInPhase(3) will return true if the creature is in phase three. It also returns true if the creature is in phase three and four at the same time.[/li][/ul]
GetPhaseMask() still exists but if your creature is in phase three it will return four, which is 0000 0100 in binary, and no longer eight, which is 0000 1000 and not correct, after the changes. So… start changing your custom scripts! All TC scripts will be updated by the commit.
Further information and details can be found in the pull request of Gacko: https://github.com/TrinityCore/TrinityCore/pull/7873
Greetings,
Your TC-Devs