Through some coding I noted that many of the integer types in packets are int32.
For example the GossipID aka menu_id is int32 in the packet. However in the core code elsewhere it is treated as uint32.
https://github.com/TrinityCore/TrinityCore/blob/478cc756eb05591f36857be3ffd1895684529710/src/server/game/Server/Packets/NPCPackets.h#L80
https://github.com/TrinityCore/TrinityCore/blob/478cc756eb05591f36857be3ffd1895684529710/src/server/game/AI/CoreAI/UnitAI.h#L254
Should the core types be changed, packet types be changed or should casting be used? Currently casting is being used implicitly.