namespace Decal.Constants { static class MessageTypes { /// Sent every time an object you are aware of ceases to exist. Merely running out of range does not generate this message - in that case, the client just automatically stops tracking it after receiving no updates for a while (which I presume is a very short while). public const int DestroyObject = 0x0024; /// For stackable items, this changes the number of items in the stack. public const int AdjustStackSize = 0x0197; /// A Player Kill occurred nearby (also sent for suicides). This could be interesting to monitor for tournements. public const int PlayerKilled = 0x019E; /// Indirect '/e' text. public const int IndirectText = 0x01E0; /// Contains the text associated with an emote action. public const int EmoteText = 0x01E2; /// A message to be displayed in the chat window, spoken by a nearby player, NPC or creature public const int CreatureMessage = 0x02BB; /// A message to be displayed in the chat window, spoken by a nearby player, NPC or creature public const int CreatureMessage_Ranged = 0x02BC; /// Set or update a Character DWORD property value public const int SetCharacterDword = 0x02CD; /// Set or update an Object DWORD property value public const int SetObjectDword = 0x02CE; /// Set or update a Character QWORD property value public const int SetCharacterQword = 0x02CF; /// Set or update a Character Boolean property value public const int SetCharacterBoolean = 0x02D1; /// Set or update an Object Boolean property value public const int SetObjectBoolean = 0x02D2; /// Set or update an Object String property value public const int SetObjectString = 0x02D6; /// Set or update an Object Resource property value public const int SetObjectResource = 0x02D8; /// Set or update a Character Link property value public const int SetCharacterLink = 0x02D9; /// Set or update an Object Link property value public const int SetObjectLink = 0x02DA; /// Set or update a Character Position property value public const int SetCharacterPosition = 0x02DB; /// Set or update a Character Skill value public const int SetCharacterSkillLevel = 0x02DD; /// Set or update a Character Skill state public const int SetCharacterSkillState = 0x02E1; /// Set or update a Character Attribute value public const int SetCharacterAttribute = 0x02E3; /// Set or update a Character Vital value public const int SetCharacterVital = 0x02E7; /// Set or update a Character Vital value public const int SetCharacterCurrentVital = 0x02E9; /// Sent when a character rematerializes at the lifestone after death. public const int LifestoneMaterialize = 0xF619; /// Sent whenever a character changes their clothes. It contains the entire description of what their wearing (and possibly their facial features as well). This message is only sent for changes, when the character is first created, the body of this message is included inside the creation message. public const int ChangeModel = 0xF625; /// Uncracked - Character creation screen initilised. public const int CharCreationInitilisation = 0xF643; /// Instructs the client to return to 2D mode - the character list. public const int End3DMode = 0xF653; /// A character was marked for delete. public const int CharDeletion = 0xF655; /// The character to log in. public const int RequestLogin = 0xF657; /// The list of characters on the current account. public const int CharacterList = 0xF658; /// Failure to log in public const int CharacterLoginFailure = 0xF659; /// Create an object somewhere in the world public const int CreateObject = 0xF745; /// public const int LoginCharacter = 0xF746; /// Sent whenever an object is removed from the scene. public const int RemoveItem = 0xF747; /// Set position - the server pathologically sends these after every actions - sometimes more than once. If has options for setting a fixed velocity or an arc for thrown weapons and arrows. public const int SetPositionAndMotion = 0xF748; /// Multipurpose message. So far object wielding has been decoded. Lots of unknowns public const int WieldObject = 0xF749; /// public const int MoveObjectIntoInventory = 0xF74A; /// Signals your client to end the portal animation for you or another char and also is fired when war spells dissapear as they hit an object blocking their path. public const int ToggleObjectVisibility = 0xF74B; /// These are animations. Whenever a human, monster or object moves - one of these little messages is sent. Even idle emotes (like head scratching and nodding) are sent in this manner. public const int Animation = 0xF74C; /// An object has jumped public const int Jumping = 0xF74E; /// Applies a sound effect. public const int ApplySoundEffect = 0xF750; /// Instructs the client to show the portal graphic. public const int EnterPortalMode = 0xF751; /// Applies an effect with visual and sound. public const int ApplyVisualOrSoundEffect = 0xF755; /// Game Events are messages that are sequenced. public const int GameEvent = 0xF7B0; /// Game Actions are outgoing messages that are sequenced. public const int GameAction = 0xF7B1; /// The user has clicked 'Enter'. This message does not contain the ID of the character logging on; that comes later. public const int EnterGame = 0xF7C8; /// Update an existing object's data. public const int UpdateObject = 0xF7DB; /// Send or receive a message using Turbine Chat. public const int TurbineChat = 0xF7DE; /// Switch from the character display to the game display. public const int Start3DMode = 0xF7DF; /// Display a message in the chat window. public const int ServerMessage = 0xF7E0; /// The name of the current world. public const int ServerName = 0xF7E1; /// Add or update a dat file Resource. public const int UpdateResource = 0xF7E2; /// A list of dat files that need to be patched public const int DatFilePatchList = 0xF7E7; } static class GameEvents { /// Display a message in a popup message window. public const int MessageBox = 0x0004; /// Information describing your character. public const int LoginCharacter = 0x0013; /// Returns info related to your monarch, patron and vassals. public const int AllegianceInfo = 0x0020; /// Store an item in a container. public const int InsertInventoryItem = 0x0022; /// Equip an item. public const int WearItem = 0x0023; /// Titles for the current character. public const int TitleList = 0x0029; /// Set a title for the current character. public const int SetTitle = 0x002b; /// Close Container - Only sent when explicitly closed public const int CloseContainer = 0x0052; /// Open the buy/sell panel for a merchant. public const int ApproachVendor = 0x0062; /// Failure to give an item public const int FailureToGiveItem = 0x00A0; /// Member left fellowship public const int FellowshipMemberQuit = 0x00A3; /// Member dismissed from fellowship public const int FellowshipMemberDismissed = 0x00A4; /// Sent when you first open a book, contains the entire table of contents. public const int ReadTableOfContents = 0x00B4; /// Contains the text of a single page of a book, parchment or sign. public const int ReadPage = 0x00B8; /// The result of an attempt to assess an item or creature. public const int IdentifyObject = 0x00C9; /// Group Chat public const int GroupChat = 0x0147; /// Set Pack Contents public const int SetPackContents = 0x0196; /// Removes an item from inventory (when you place it on the ground or give it away) public const int DropFromInventory = 0x019A; /// Melee attack completed public const int AttackCompleted = 0x01A7; /// Delete a spell from your spellbook. public const int DeleteSpellFromSpellbook = 0x01A8; /// You just died. public const int YourDeath = 0x01AC; /// Message for a death, something you killed or your own death message. public const int KillOrDeathMessage = 0x01AD; /// You have hit your target with a melee attack. public const int InflictMeleeDamage = 0x01B1; /// You have been hit by a creature's melee attack. public const int ReceiveMeleeDamage = 0x01B2; /// Your target has evaded your melee attack. public const int OtherMeleeEvade = 0x01B3; /// You have evaded a creature's melee attack. public const int SelfMeleeEvade = 0x01B4; /// Start melee attack public const int StartMeleeAttack = 0x01B8; /// Update a creature's health bar. public const int UpdateHealth = 0x01C0; /// Age Command Result - happens when you do /age in the game public const int AgeCommandResult = 0x01C3; /// Ready. Previous action complete public const int ReadyPreviousActionComplete = 0x01C7; /// Update Allegiance info, sent when allegiance panel is open public const int UpdateAllegianceInfo = 0x01C8; /// Close Assess Panel public const int CloseAssessPanel = 0x01CB; /// Ping Reply public const int PingReply = 0x01EA; /// Squelched Users List public const int SquelchedUsersList = 0x01F4; /// Send to begin a trade and display the trade window public const int EnterTrade = 0x01FD; /// End trading public const int EndTrade = 0x01FF; /// Item was added to trade window - you will receive a Create Object (0xF745) with details of the item public const int AddTradeItem = 0x0200; /// The trade was accepted public const int AcceptTrade = 0x0202; /// The trade was un-accepted public const int UnacceptTrade = 0x0203; /// The trade window was reset public const int ResetTrade = 0x0205; /// Failure to add a trade item public const int FailureToAddATradeItem = 0x0207; /// Failure to complete a trade public const int FailureToCompleteATrade = 0x0208; /// Buy a dwelling or pay maintenance public const int DisplayDwellingPurchaseOrMaintenancePanel = 0x021D; /// House panel information for owners. public const int HouseInformationForOwners = 0x0225; /// House panel information for non-owners. public const int HouseInformationForNonowners = 0x0226; /// House Guest List, Sent in response to asking for one. public const int HouseGuestList = 0x0257; /// Update an item's mana bar. public const int UpdateItemManaBar = 0x0264; /// Display a list of available dwellings in the chat window. public const int HousesAvailable = 0x0271; /// Display a confirmation panel. public const int ConfirmationPanel = 0x0274; /// A player has closed your confirmation panel. public const int ConfirmationPanelClosed = 0x0276; /// Display an allegiance login/logout message in the chat window. public const int AllegianceMemberLoginOrOut = 0x027A; /// Display a status message in the chat window. public const int DisplayStatusMessage = 0x028A; /// Display a parameterized status message in the chat window. public const int DisplayParameterizedStatusMessage = 0x028B; /// Set Turbine Chat channel numbers. public const int SetTurbineChatChannels = 0x0295; /// Someone has sent you a @tell. public const int Tell = 0x02BD; /// Create or join a fellowship public const int CreateFellowship = 0x02BE; /// Disband your fellowship. public const int DisbandFellowship = 0x02BF; /// Add a member to your fellowship. public const int AddFellowshipMember = 0x02C0; /// Add a spell to your spellbook. public const int AddSpellToSpellbook = 0x02C1; /// Apply an enchantment to your character. public const int AddCharacterEnchantment = 0x02C2; /// Remove an enchantment from your character. public const int RemoveCharacterEnchantment = 0x02C3; /// Remove multiple enchantments from your character. public const int RemoveMultipleCharacterEnchantments = 0x02C5; /// Silently remove all enchantments from your character, e.g. when you die (no message in the chat window). public const int RemoveAllCharacterEnchantments_Silent = 0x02C6; /// Silently remove An enchantment from your character. public const int RemoveCharacterEnchantment_Silent = 0x02C7; /// Silently remove multiple enchantments from your character (no message in the chat window). public const int RemoveMultipleCharacterEnchantments_Silent = 0x02C8; /// A portal storm is brewing. public const int MildPortalStorm = 0x02C9; /// A portal storm is imminent. public const int HeavyPortalStorm = 0x02CA; /// You have been portal stormed. public const int PortalStormed = 0x02CB; /// The portal storm has subsided. public const int EndPortalStorm = 0x02CC; /// Display a status message on the Action Viewscreen (the red text overlaid on the 3D area). public const int StatusMessage = 0x02EB; } static class GameActions { /// Set a single character option. public const int SetSingleCharacterOption = 0x0005; /// Set AFK message. public const int SetAfkMessage = 0x0010; /// Store an item in a container. public const int StoreItem = 0x0019; /// Equip an item. public const int EquipItem = 0x001A; /// Drop an item. public const int DropItem = 0x001B; /// Attempt to use an item. public const int UseItem = 0x0036; /// Spend XP to raise a vital. public const int RaiseVital = 0x0044; /// Spend XP to raise an attribute. public const int RaiseAttribute = 0x0045; /// Spend XP to raise a skill. public const int RaiseSkill = 0x0046; /// Spend skill credits to train a skill. public const int TrainSkill = 0x0047; /// Cast a spell. public const int CastSpell = 0x0048; /// Cast a spell. public const int CastSpellOnObject = 0x004A; /// The client is ready for the character to materialize after portalling or logging on. public const int Materialize = 0x00A1; /// Give an item to someone. public const int GiveItem = 0x00CD; /// Add an item to the shortcut bar. public const int MakeShortcut = 0x019C; /// Remove an item from the shortcut bar. public const int RemoveShortcut = 0x019D; /// Set multiple character options. public const int SetCharacterOptions = 0x01A1; /// Add a spell to a spell bar. public const int AddSpellToSpellbar = 0x01E3; /// Remove a spell from a spell bar. public const int RemoveSpellFromSpellbar = 0x01E4; } }