Wram banks and mobile make this tough, since any address can secretly be a ghost.
As usual, mobile completely disregards 99% of the codebase. It's been ignored in kind.
SUBSTATUS_ROLLOUT was actually SUBSTATUS_RAMPAGE.
SUBSTATUS_ENCORED was actually SUBSTATUS_ROLLOUT.
Substatus 5 bit 4 was actually SUBSTATUS_ENCORED.
Also use some more (sub)status constants where needed.