Back to News

fix: correct MapTypeFlags bit layout for 6609 client

By Mohchangelogdawn
Changelog

- Stop ORing the (formerly named) DropEnable bit in MsgMapInfo.Create — bit 31 is the client's flag-war indicator (sub_57B1DB), so setting it on every map made the random reborn icon appear in the death dialog on every death

- Rewrite MapTypeFlags so each bit matches what Conquer.exe actually tests: bit 13 is RebornNowEnable (was wrongly NeverWound), bit 14 is NewbieProtect (was wrongly DeadIsland), bit 31 is FlagWar (was DropEnable)

- Annotate every bit in the enum with the binary getter that reads it (sub_945952, sub_945847, sub_57B1DB, sub_9458E4, etc.) so future verification is grounded

- Add the high-bit flags the client tests but FrostEmu had no name for: PvpZone, FactionTerritory, RefineRebornEnable, GreedyMapWarning, plus the unnamed Bit16/21/25/27/28/32/36/37/39/40/52/55

- Drop the unused legacy MapFlags enum (was dead code with a third, also-wrong layout)

- Remove dead Map.IsNeverWound property (the only consumer of the deleted NeverWound flag)

- DB stays untouched: Twin City's value 24576 = 0x6000 = RebornNowEnable | NewbieProtect now decodes correctly