#pragma once
#include <cstdint>

namespace MessageType {
	//! The Internal Chat Packet Identifiers
	enum class Chat : uint32_t {
		LOGIN_SESSION_NOTIFY = 0,
		GENERAL_CHAT_MESSAGE,
		PRIVATE_CHAT_MESSAGE,
		USER_CHANNEL_CHAT_MESSAGE,
		WORLD_DISCONNECT_REQUEST,
		WORLD_PROXIMITY_RESPONSE,
		WORLD_PARCEL_RESPONSE,
		ADD_FRIEND_REQUEST,
		ADD_FRIEND_RESPONSE,
		REMOVE_FRIEND,
		GET_FRIENDS_LIST,
		ADD_IGNORE,
		REMOVE_IGNORE,
		GET_IGNORE_LIST,
		TEAM_MISSED_INVITE_CHECK,
		TEAM_INVITE,
		TEAM_INVITE_RESPONSE,
		TEAM_KICK,
		TEAM_LEAVE,
		TEAM_SET_LOOT,
		TEAM_SET_LEADER,
		TEAM_GET_STATUS,
		GUILD_CREATE,
		GUILD_INVITE,
		GUILD_INVITE_RESPONSE,
		GUILD_LEAVE,
		GUILD_KICK,
		GUILD_GET_STATUS,
		GUILD_GET_ALL,
		SHOW_ALL,
		BLUEPRINT_MODERATED,
		BLUEPRINT_MODEL_READY,
		PROPERTY_READY_FOR_APPROVAL,
		PROPERTY_MODERATION_CHANGED,
		PROPERTY_BUILDMODE_CHANGED,
		PROPERTY_BUILDMODE_CHANGED_REPORT,
		MAIL,
		WORLD_INSTANCE_LOCATION_REQUEST,
		REPUTATION_UPDATE,
		SEND_CANNED_TEXT,
		GMLEVEL_UPDATE,
		CHARACTER_NAME_CHANGE_REQUEST,
		CSR_REQUEST,
		CSR_REPLY,
		GM_KICK,
		GM_ANNOUNCE,
		GM_MUTE,
		ACTIVITY_UPDATE,
		WORLD_ROUTE_PACKET,
		GET_ZONE_POPULATIONS,
		REQUEST_MINIMUM_CHAT_MODE,
		REQUEST_MINIMUM_CHAT_MODE_PRIVATE,
		MATCH_REQUEST,
		UGCMANIFEST_REPORT_MISSING_FILE,
		UGCMANIFEST_REPORT_DONE_FILE,
		UGCMANIFEST_REPORT_DONE_BLUEPRINT,
		UGCC_REQUEST,
		WHO,
		WORLD_PLAYERS_PET_MODERATED_ACKNOWLEDGE,
		ACHIEVEMENT_NOTIFY,
		GM_CLOSE_PRIVATE_CHAT_WINDOW,
		UNEXPECTED_DISCONNECT,
		PLAYER_READY,
		GET_DONATION_TOTAL,
		UPDATE_DONATION,
		PRG_CSR_COMMAND,
		HEARTBEAT_REQUEST_FROM_WORLD,
		UPDATE_FREE_TRIAL_STATUS,
		// CUSTOM DLU MESSAGE ID FOR INTERNAL USE
		CREATE_TEAM,
	};
}
