/* EQEmu: EQEmulator Copyright (C) 2001-2026 EQEmu Development Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "common/skills.h" #include "common/types.h" namespace AppearanceType { constexpr uint32 Die = 0; // Causes the client to keel over and zone to bind point (default action) constexpr uint32 WhoLevel = 1; // Level that shows up on /who constexpr uint32 MaxHealth = 2; constexpr uint32 Invisibility = 3; // 0 = Visible, 1 = Invisible constexpr uint32 PVP = 4; // 0 = Non-PVP, 1 = PVP constexpr uint32 Light = 5; // Light type emitted by player (lightstone, shiny shield) constexpr uint32 Animation = 14; // 100 = Standing, 102 = Freeze, 105 = Looting, 110 = Sitting, 111 = Crouching, 115 = Lying constexpr uint32 Sneak = 15; // 0 = Normal, 1 = Sneaking constexpr uint32 SpawnID = 16; // Server -> Client, sets player spawn ID constexpr uint32 Health = 17; // Client->Server, my HP has changed (like regen tic) constexpr uint32 Linkdead = 18; // 0 = Normal, 1 = Linkdead constexpr uint32 FlyMode = 19; // 0 = Off, 1 = Flying, 2 = Levitating, 3 = Water, 4 = Floating, 5 = Levitating while Running constexpr uint32 GM = 20; // 0 = Non-GM, 1 = GM constexpr uint32 Anonymous = 21; // 0 = Non-Anonymous, 1 = Anonymous, 2 = Roleplaying constexpr uint32 GuildID = 22; constexpr uint32 GuildRank = 23; constexpr uint32 AFK = 24; // 0 = Non-AFK, 1 = AFK constexpr uint32 Pet = 25; // Parameter is Entity ID of owner, or 0 for when charm breaks constexpr uint32 Summoned = 27; constexpr uint32 Split = 28; // 0 = No Split, 1 = Auto Split constexpr uint32 Size = 29; // Spawn's Size constexpr uint32 SetType = 30; // 0 = PC, 1 = NPC, 2 = Corpse constexpr uint32 NPCName = 31; // Change PC name color to NPC name color constexpr uint32 AARank = 32; // AA Rank Title ID, title in /who? constexpr uint32 CancelSneakHide = 33; // Turns off Hide and Sneak constexpr uint32 AreaHealthRegen = 35; // Guild Hall Regeneration Pool sets to value * 0.001 constexpr uint32 AreaManaRegen = 36; // Guild Hall Regeneration Pool sets to value * 0.001 constexpr uint32 AreaEnduranceRegen = 37; // Guild Hall Regeneration Pool sets to value * 0.001 constexpr uint32 FreezeBeneficialBuffs = 38; // Freezes beneficial buff timers for PCs constexpr uint32 NPCTintIndex = 39; constexpr uint32 GroupAutoConsent = 40; // Auto Consent Group constexpr uint32 RaidAutoConsent = 41; // Auto Consent Raid constexpr uint32 GuildAutoConsent = 42; // Auto Consent Guild constexpr uint32 ShowHelm = 43; // 0 = Hide, 1 = Show constexpr uint32 DamageState = 44; // The damage state of a destructible object (0 through 10) plays sound IDs, most only have 2 or 4 states though constexpr uint32 EQPlayers = 45; // EQ Players Update constexpr uint32 FindBits = 46; // Set Find Bits? constexpr uint32 TextureType = 48; // Texture Type? constexpr uint32 FacePick = 49; // Turns off face pick window? constexpr uint32 AntiCheat = 51; // Sent by the client randomly telling the server how long since last action has occurred constexpr uint32 GuildShow = 52; constexpr uint32 OfflineMode = 53; // Offline Mode } namespace Animation { constexpr uint32 Standing = 100; constexpr uint32 Freeze = 102; constexpr uint32 Looting = 105; constexpr uint32 Sitting = 110; constexpr uint32 Crouching = 111; constexpr uint32 Lying = 115; } constexpr int16 RECAST_TYPE_UNLINKED_ITEM = -1; typedef enum { eaStanding = 0, eaSitting, //1 eaCrouching, //2 eaDead, //3 eaLooting, //4 _eaMaxAppearance } EmuAppearance; namespace Chat { const uint16 White = 0; const uint16 DimGray = 1; const uint16 Default = 1; const uint16 Green = 2; const uint16 BrightBlue = 3; const uint16 LightBlue = 4; const uint16 Magenta = 5; const uint16 Gray = 6; const uint16 LightGray = 7; const uint16 NPCQuestSay = 10; const uint16 DarkGray = 12; const uint16 Red = 13; const uint16 Lime = 14; const uint16 Yellow = 15; const uint16 Blue = 16; const uint16 LightNavy = 17; const uint16 Cyan = 18; const uint16 Black = 20; /** * User colors */ const uint16 Say = 256; const uint16 Tell = 257; const uint16 Group = 258; const uint16 Guild = 259; const uint16 OOC = 260; const uint16 Auction = 261; const uint16 Shout = 262; const uint16 Emote = 263; const uint16 Spells = 264; const uint16 YouHitOther = 265; const uint16 OtherHitYou = 266; const uint16 YouMissOther = 267; const uint16 OtherMissYou = 268; const uint16 Broadcasts = 269; const uint16 Skills = 270; const uint16 Disciplines = 271; const uint16 Unused1 = 272; const uint16 DefaultText = 273; const uint16 Unused2 = 274; const uint16 MerchantOffer = 275; const uint16 MerchantExchange = 276; const uint16 YourDeath = 277; const uint16 OtherDeath = 278; const uint16 OtherHitOther = 279; const uint16 OtherMissOther = 280; const uint16 Who = 281; const uint16 YellForHelp = 282; const uint16 NonMelee = 283; const uint16 SpellWornOff = 284; const uint16 MoneySplit = 285; const uint16 Loot = 286; const uint16 DiceRoll = 287; const uint16 OtherSpells = 288; const uint16 SpellFailure = 289; const uint16 ChatChannel = 290; const uint16 Chat1 = 291; const uint16 Chat2 = 292; const uint16 Chat3 = 293; const uint16 Chat4 = 294; const uint16 Chat5 = 295; const uint16 Chat6 = 296; const uint16 Chat7 = 297; const uint16 Chat8 = 298; const uint16 Chat9 = 299; const uint16 Chat10 = 300; const uint16 MeleeCrit = 301; const uint16 SpellCrit = 302; const uint16 TooFarAway = 303; const uint16 NPCRampage = 304; const uint16 NPCFlurry = 305; const uint16 NPCEnrage = 306; const uint16 EchoSay = 307; const uint16 EchoTell = 308; const uint16 EchoGroup = 309; const uint16 EchoGuild = 310; const uint16 EchoOOC = 311; const uint16 EchoAuction = 312; const uint16 EchoShout = 313; const uint16 EchoEmote = 314; const uint16 EchoChat1 = 315; const uint16 EchoChat2 = 316; const uint16 EchoChat3 = 317; const uint16 EchoChat4 = 318; const uint16 EchoChat5 = 319; const uint16 EchoChat6 = 320; const uint16 EchoChat7 = 321; const uint16 EchoChat8 = 322; const uint16 EchoChat9 = 323; const uint16 EchoChat10 = 324; const uint16 DotDamage = 325; const uint16 ItemLink = 326; const uint16 RaidSay = 327; const uint16 MyPet = 328; const uint16 DamageShield = 329; const uint16 LeaderShip = 330; const uint16 PetFlurry = 331; const uint16 PetCritical = 332; const uint16 FocusEffect = 333; const uint16 Experience = 334; const uint16 System = 335; const uint16 PetSpell = 336; const uint16 PetResponse = 337; const uint16 ItemSpeech = 338; const uint16 StrikeThrough = 339; const uint16 Stun = 340; }; // generation SQL: // SELECT CONCAT(' constexpr uint16 ', UPPER(short_name), ' = ' , zoneidnumber, '; // ', long_name) from zone group by zoneidnumber ORDER BY zoneidnumber; namespace Zones { constexpr uint16 QEYNOS = 1; // South Qeynos constexpr uint16 QEYNOS2 = 2; // North Qeynos constexpr uint16 QRG = 3; // The Surefall Glade constexpr uint16 QEYTOQRG = 4; // The Qeynos Hills constexpr uint16 HIGHPASS = 5; // Highpass Hold constexpr uint16 HIGHKEEP = 6; // High Keep constexpr uint16 FREPORTN = 8; // North Freeport constexpr uint16 FREPORTW = 9; // West Freeport constexpr uint16 FREPORTE = 10; // East Freeport constexpr uint16 RUNNYEYE = 11; // The Liberated Citadel of Runnyeye constexpr uint16 QEY2HH1 = 12; // The Western Plains of Karana constexpr uint16 NORTHKARANA = 13; // The Northern Plains of Karana constexpr uint16 SOUTHKARANA = 14; // The Southern Plains of Karana constexpr uint16 EASTKARANA = 15; // Eastern Plains of Karana constexpr uint16 BEHOLDER = 16; // Gorge of King Xorbb constexpr uint16 BLACKBURROW = 17; // Blackburrow constexpr uint16 PAW = 18; // The Lair of the Splitpaw constexpr uint16 RIVERVALE = 19; // Rivervale constexpr uint16 KITHICOR = 20; // Kithicor Forest constexpr uint16 COMMONS = 21; // West Commonlands constexpr uint16 ECOMMONS = 22; // East Commonlands constexpr uint16 ERUDNINT = 23; // The Erudin Palace constexpr uint16 ERUDNEXT = 24; // Erudin constexpr uint16 NEKTULOS = 25; // The Nektulos Forest constexpr uint16 CSHOME = 26; // Sunset Home constexpr uint16 LAVASTORM = 27; // The Lavastorm Mountains constexpr uint16 NEKTROPOS = 28; // Nektropos constexpr uint16 HALAS = 29; // Halas constexpr uint16 EVERFROST = 30; // Everfrost Peaks constexpr uint16 SOLDUNGA = 31; // Solusek's Eye constexpr uint16 SOLDUNGB = 32; // Nagafen's Lair constexpr uint16 MISTY = 33; // Misty Thicket constexpr uint16 NRO = 34; // Northern Desert of Ro constexpr uint16 SRO = 35; // Southern Desert of Ro constexpr uint16 BEFALLEN = 36; // Befallen constexpr uint16 OASIS = 37; // Oasis of Marr constexpr uint16 TOX = 38; // Toxxulia Forest constexpr uint16 HOLE = 39; // The Hole constexpr uint16 NERIAKA = 40; // Neriak - Foreign Quarter constexpr uint16 NERIAKB = 41; // Neriak - Commons constexpr uint16 NERIAKC = 42; // Neriak - 3rd Gate constexpr uint16 NERIAKD = 43; // Neriak Palace constexpr uint16 NAJENA = 44; // Najena constexpr uint16 QCAT = 45; // The Qeynos Aqueduct System constexpr uint16 INNOTHULE = 46; // Innothule Swamp constexpr uint16 FEERROTT = 47; // The Feerrott constexpr uint16 CAZICTHULE = 48; // Accursed Temple of CazicThule constexpr uint16 OGGOK = 49; // Oggok constexpr uint16 RATHEMTN = 50; // The Rathe Mountains constexpr uint16 LAKERATHE = 51; // Lake Rathetear constexpr uint16 GROBB = 52; // Grobb constexpr uint16 AVIAK = 53; // Aviak Village constexpr uint16 GFAYDARK = 54; // The Greater Faydark constexpr uint16 AKANON = 55; // Ak'Anon constexpr uint16 STEAMFONT = 56; // Steamfont Mountains constexpr uint16 LFAYDARK = 57; // The Lesser Faydark constexpr uint16 CRUSHBONE = 58; // Crushbone constexpr uint16 MISTMOORE = 59; // The Castle of Mistmoore constexpr uint16 KALADIMA = 60; // South Kaladim constexpr uint16 FELWITHEA = 61; // Northern Felwithe constexpr uint16 FELWITHEB = 62; // Southern Felwithe constexpr uint16 UNREST = 63; // The Estate of Unrest constexpr uint16 KEDGE = 64; // Kedge Keep constexpr uint16 GUKTOP = 65; // The City of Guk constexpr uint16 GUKBOTTOM = 66; // The Ruins of Old Guk constexpr uint16 KALADIMB = 67; // North Kaladim constexpr uint16 BUTCHER = 68; // Butcherblock Mountains constexpr uint16 OOT = 69; // Ocean of Tears constexpr uint16 CAULDRON = 70; // Dagnor's Cauldron constexpr uint16 AIRPLANE = 71; // The Plane of Sky constexpr uint16 FEARPLANE = 72; // The Plane of Fear constexpr uint16 PERMAFROST = 73; // The Permafrost Caverns constexpr uint16 KERRARIDGE = 74; // Kerra Isle constexpr uint16 PAINEEL = 75; // Paineel constexpr uint16 HATEPLANE = 76; // Plane of Hate constexpr uint16 ARENA = 77; // The Arena constexpr uint16 FIELDOFBONE = 78; // The Field of Bone constexpr uint16 WARSLIKSWOOD = 79; // The Warsliks Woods constexpr uint16 SOLTEMPLE = 80; // The Temple of Solusek Ro constexpr uint16 DROGA = 81; // The Temple of Droga constexpr uint16 CABWEST = 82; // Cabilis West constexpr uint16 SWAMPOFNOHOPE = 83; // The Swamp of No Hope constexpr uint16 FIRIONA = 84; // Firiona Vie constexpr uint16 LAKEOFILLOMEN = 85; // Lake of Ill Omen constexpr uint16 DREADLANDS = 86; // The Dreadlands constexpr uint16 BURNINGWOOD = 87; // The Burning Wood constexpr uint16 KAESORA = 88; // Kaesora constexpr uint16 SEBILIS = 89; // The Ruins of Sebilis constexpr uint16 CITYMIST = 90; // The City of Mist constexpr uint16 SKYFIRE = 91; // The Skyfire Mountains constexpr uint16 FRONTIERMTNS = 92; // Frontier Mountains constexpr uint16 OVERTHERE = 93; // The Overthere constexpr uint16 EMERALDJUNGLE = 94; // The Emerald Jungle constexpr uint16 TRAKANON = 95; // Trakanon's Teeth constexpr uint16 TIMOROUS = 96; // Timorous Deep constexpr uint16 KURN = 97; // Kurn's Tower constexpr uint16 ERUDSXING = 98; // Erud's Crossing constexpr uint16 STONEBRUNT = 100; // The Stonebrunt Mountains constexpr uint16 WARRENS = 101; // The Warrens constexpr uint16 KARNOR = 102; // Karnor's Castle constexpr uint16 CHARDOK = 103; // Chardok constexpr uint16 DALNIR = 104; // The Crypt of Dalnir constexpr uint16 CHARASIS = 105; // The Howling Stones constexpr uint16 CABEAST = 106; // Cabilis East constexpr uint16 NURGA = 107; // The Mines of Nurga constexpr uint16 VEESHAN = 108; // Veeshan's Peak constexpr uint16 VEKSAR = 109; // Veksar constexpr uint16 ICECLAD = 110; // The Iceclad Ocean constexpr uint16 FROZENSHADOW = 111; // The Tower of Frozen Shadow constexpr uint16 VELKETOR = 112; // Velketor's Labyrinth constexpr uint16 KAEL = 113; // Kael Drakkel constexpr uint16 SKYSHRINE = 114; // Skyshrine constexpr uint16 THURGADINA = 115; // The City of Thurgadin constexpr uint16 EASTWASTES = 116; // Eastern Wastes constexpr uint16 COBALTSCAR = 117; // Cobaltscar constexpr uint16 GREATDIVIDE = 118; // The Great Divide constexpr uint16 WAKENING = 119; // The Wakening Land constexpr uint16 WESTWASTES = 120; // The Western Wastes constexpr uint16 CRYSTAL = 121; // The Crystal Caverns constexpr uint16 NECROPOLIS = 123; // Dragon Necropolis constexpr uint16 TEMPLEVEESHAN = 124; // The Temple of Veeshan constexpr uint16 SIRENS = 125; // Siren's Grotto constexpr uint16 MISCHIEFPLANE = 126; // The Plane of Mischief constexpr uint16 GROWTHPLANE = 127; // The Plane of Growth constexpr uint16 SLEEPER = 128; // The Sleeper's Tomb constexpr uint16 THURGADINB = 129; // Icewell Keep constexpr uint16 ERUDSXING2 = 130; // Marauders Mire constexpr uint16 SHADOWHAVEN = 150; // Shadow Haven constexpr uint16 BAZAAR = 151; // The Bazaar constexpr uint16 NEXUS = 152; // Nexus constexpr uint16 ECHO_ = 153; // The Echo Caverns constexpr uint16 ACRYLIA = 154; // The Acrylia Caverns constexpr uint16 SHARVAHL = 155; // The City of Shar Vahl constexpr uint16 PALUDAL = 156; // The Paludal Caverns constexpr uint16 FUNGUSGROVE = 157; // The Fungus Grove constexpr uint16 VEXTHAL = 158; // Vex Thal constexpr uint16 SSERU = 159; // Sanctus Seru constexpr uint16 KATTA = 160; // Katta Castellum constexpr uint16 NETHERBIAN = 161; // Netherbian Lair constexpr uint16 SSRATEMPLE = 162; // Ssraeshza Temple constexpr uint16 GRIEGSEND = 163; // Grieg's End constexpr uint16 THEDEEP = 164; // The Deep constexpr uint16 SHADEWEAVER = 165; // Shadeweaver's Thicket constexpr uint16 HOLLOWSHADE = 166; // Hollowshade Moor constexpr uint16 GRIMLING = 167; // Grimling Forest constexpr uint16 MSERU = 168; // Marus Seru constexpr uint16 LETALIS = 169; // Mons Letalis constexpr uint16 TWILIGHT = 170; // The Twilight Sea constexpr uint16 THEGREY = 171; // The Grey constexpr uint16 TENEBROUS = 172; // The Tenebrous Mountains constexpr uint16 MAIDEN = 173; // The Maiden's Eye constexpr uint16 DAWNSHROUD = 174; // The Dawnshroud Peaks constexpr uint16 SCARLET = 175; // The Scarlet Desert constexpr uint16 UMBRAL = 176; // The Umbral Plains constexpr uint16 AKHEVA = 179; // The Akheva Ruins constexpr uint16 ARENA2 = 180; // The Arena Two constexpr uint16 JAGGEDPINE = 181; // The Jaggedpine Forest constexpr uint16 NEDARIA = 182; // Nedaria's Landing constexpr uint16 TUTORIAL = 183; // EverQuest Tutorial constexpr uint16 LOAD = 184; // Loading Zone constexpr uint16 LOAD2 = 185; // New Loading Zone constexpr uint16 HATEPLANEB = 186; // The Plane of Hate constexpr uint16 SHADOWREST = 187; // Shadowrest constexpr uint16 TUTORIALA = 188; // The Mines of Gloomingdeep constexpr uint16 TUTORIALB = 189; // The Mines of Gloomingdeep constexpr uint16 CLZ = 190; // Loading constexpr uint16 CODECAY = 200; // The Crypt of Decay constexpr uint16 POJUSTICE = 201; // The Plane of Justice constexpr uint16 POKNOWLEDGE = 202; // The Plane of Knowledge constexpr uint16 POTRANQUILITY = 203; // The Plane of Tranquility constexpr uint16 PONIGHTMARE = 204; // The Plane of Nightmares constexpr uint16 PODISEASE = 205; // The Plane of Disease constexpr uint16 POINNOVATION = 206; // The Plane of Innovation constexpr uint16 POTORMENT = 207; // Torment, the Plane of Pain constexpr uint16 POVALOR = 208; // The Plane of Valor constexpr uint16 BOTHUNDER = 209; // Bastion of Thunder constexpr uint16 POSTORMS = 210; // The Plane of Storms constexpr uint16 HOHONORA = 211; // The Halls of Honor constexpr uint16 SOLROTOWER = 212; // The Tower of Solusek Ro constexpr uint16 POWAR = 213; // Plane of War constexpr uint16 POTACTICS = 214; // Drunder, the Fortress of Zek constexpr uint16 POAIR = 215; // The Plane of Air constexpr uint16 POWATER = 216; // The Plane of Water constexpr uint16 POFIRE = 217; // The Plane of Fire constexpr uint16 POEARTHA = 218; // The Plane of Earth constexpr uint16 POTIMEA = 219; // The Plane of Time constexpr uint16 HOHONORB = 220; // The Temple of Marr constexpr uint16 NIGHTMAREB = 221; // The Lair of Terris Thule constexpr uint16 POEARTHB = 222; // The Plane of Earth constexpr uint16 POTIMEB = 223; // The Plane of Time constexpr uint16 GUNTHAK = 224; // The Gulf of Gunthak constexpr uint16 DULAK = 225; // Dulak's Harbor constexpr uint16 TORGIRAN = 226; // The Torgiran Mines constexpr uint16 NADOX = 227; // The Crypt of Nadox constexpr uint16 HATESFURY = 228; // Hate's Fury constexpr uint16 GUKA = 229; // Deepest Guk: Cauldron of Lost Souls constexpr uint16 RUJA = 230; // The Rujarkian Hills: Bloodied Quarries constexpr uint16 TAKA = 231; // Takish-Hiz: Sunken Library constexpr uint16 MIRA = 232; // Miragul's Menagerie: Silent Gallery constexpr uint16 MMCA = 233; // Mistmoore's Catacombs: Forlorn Caverns constexpr uint16 GUKB = 234; // The Drowning Crypt constexpr uint16 RUJB = 235; // The Rujarkian Hills: Halls of War constexpr uint16 TAKB = 236; // Takish-Hiz: Shifting Tower constexpr uint16 MIRB = 237; // Miragul's Menagerie: Frozen Nightmare constexpr uint16 MMCB = 238; // Mistmoore's Catacombs: Dreary Grotto constexpr uint16 GUKC = 239; // Deepest Guk: Ancient Aqueducts constexpr uint16 RUJC = 240; // The Rujarkian Hills: Wind Bridges constexpr uint16 TAKC = 241; // Takish-Hiz: Within the Compact constexpr uint16 MIRC = 242; // The Spider Den constexpr uint16 MMCC = 243; // Mistmoore's Catacombs: Struggles within the Progeny constexpr uint16 GUKD = 244; // The Mushroom Grove constexpr uint16 RUJD = 245; // The Rujarkian Hills: Prison Break constexpr uint16 TAKD = 246; // Takish-Hiz: Royal Observatory constexpr uint16 MIRD = 247; // Miragul's Menagerie: Hushed Banquet constexpr uint16 MMCD = 248; // Mistmoore's Catacombs: Chambers of Eternal Affliction constexpr uint16 GUKE = 249; // Deepest Guk: The Curse Reborn constexpr uint16 RUJE = 250; // The Rujarkian Hills: Drudge Hollows constexpr uint16 TAKE = 251; // Takish-Hiz: River of Recollection constexpr uint16 MIRE = 252; // The Frosted Halls constexpr uint16 MMCE = 253; // Mistmoore's Catacombs: Sepulcher of the Damned constexpr uint16 GUKF = 254; // Deepest Guk: Chapel of the Witnesses constexpr uint16 RUJF = 255; // The Rujarkian Hills: Fortified Lair of the Taskmasters constexpr uint16 TAKF = 256; // Takish-Hiz: Sandfall Corridors constexpr uint16 MIRF = 257; // The Forgotten Wastes constexpr uint16 MMCF = 258; // Mistmoore's Catacombs: Scion Lair of Fury constexpr uint16 GUKG = 259; // The Root Garden constexpr uint16 RUJG = 260; // The Rujarkian Hills: Hidden Vale of Deceit constexpr uint16 TAKG = 261; // Takish-Hiz: Balancing Chamber constexpr uint16 MIRG = 262; // Miragul's Menagerie: Heart of the Menagerie constexpr uint16 MMCG = 263; // Mistmoore's Catacombs: Cesspits of Putrescence constexpr uint16 GUKH = 264; // Deepest Guk: Accursed Sanctuary constexpr uint16 RUJH = 265; // The Rujarkian Hills: Blazing Forge constexpr uint16 TAKH = 266; // Takish-Hiz: Sweeping Tides constexpr uint16 MIRH = 267; // The Morbid Laboratory constexpr uint16 MMCH = 268; // Mistmoore's Catacombs: Aisles of Blood constexpr uint16 RUJI = 269; // The Rujarkian Hills: Arena of Chance constexpr uint16 TAKI = 270; // Takish-Hiz: Antiquated Palace constexpr uint16 MIRI = 271; // The Theater of Imprisoned Horror constexpr uint16 MMCI = 272; // Mistmoore's Catacombs: Halls of Sanguinary Rites constexpr uint16 RUJJ = 273; // The Rujarkian Hills: Barracks of War constexpr uint16 TAKJ = 274; // Takish-Hiz: Prismatic Corridors constexpr uint16 MIRJ = 275; // Miragul's Menagerie: Grand Library constexpr uint16 MMCJ = 276; // Mistmoore's Catacombs: Infernal Sanctuary constexpr uint16 CHARDOKB = 277; // Chardok: The Halls of Betrayal constexpr uint16 SOLDUNGC = 278; // The Caverns of Exile constexpr uint16 ABYSMAL = 279; // The Abysmal Sea constexpr uint16 NATIMBI = 280; // Natimbi, the Broken Shores constexpr uint16 QINIMI = 281; // Qinimi, Court of Nihilia constexpr uint16 RIWWI = 282; // Riwwi, Coliseum of Games constexpr uint16 BARINDU = 283; // Barindu, Hanging Gardens constexpr uint16 FERUBI = 284; // Ferubi, Forgotten Temple of Taelosia constexpr uint16 SNPOOL = 285; // Sewers of Nihilia, Pool of Sludg constexpr uint16 SNLAIR = 286; // Sewers of Nihilia, Lair of Trapp constexpr uint16 SNPLANT = 287; // Sewers of Nihilia, Purifying Pla constexpr uint16 SNCREMATORY = 288; // Sewers of Nihilia, Emanating Cre constexpr uint16 TIPT = 289; // Tipt, Treacherous Crags constexpr uint16 VXED = 290; // Vxed, the Crumbling Caverns constexpr uint16 YXTTA = 291; // Yxtta, Pulpit of Exiles constexpr uint16 UQUA = 292; // Uqua, the Ocean God Chantry constexpr uint16 KODTAZ = 293; // Kod'Taz, Broken Trial Grounds constexpr uint16 IKKINZ = 294; // Ikkinz, Chambers of Transcendence constexpr uint16 QVIC = 295; // Qvic, Prayer Grounds of Calling constexpr uint16 INKTUTA = 296; // Inktu'Ta, the Unmasked Chapel constexpr uint16 TXEVU = 297; // Txevu, Lair of the Elite constexpr uint16 TACVI = 298; // Tacvi, The Broken Temple constexpr uint16 QVICB = 299; // Qvic, the Hidden Vault constexpr uint16 WALLOFSLAUGHTER = 300; // Wall of Slaughter constexpr uint16 BLOODFIELDS = 301; // The Bloodfields constexpr uint16 DRANIKSSCAR = 302; // Dranik's Scar constexpr uint16 CAUSEWAY = 303; // Nobles' Causeway constexpr uint16 CHAMBERSA = 304; // Muramite Proving Grounds constexpr uint16 CHAMBERSB = 305; // Muramite Proving Grounds constexpr uint16 CHAMBERSC = 306; // Muramite Proving Grounds constexpr uint16 CHAMBERSD = 307; // Muramite Proving Grounds constexpr uint16 CHAMBERSE = 308; // Muramite Proving Grounds constexpr uint16 CHAMBERSF = 309; // Muramite Proving Grounds constexpr uint16 PROVINGGROUNDS = 316; // Muramite Proving Grounds constexpr uint16 ANGUISH = 317; // Anguish, the Fallen Palace constexpr uint16 DRANIKHOLLOWSA = 318; // Dranik's Hollows constexpr uint16 DRANIKHOLLOWSB = 319; // Dranik's Hollows constexpr uint16 DRANIKHOLLOWSC = 320; // Dranik's Hollows constexpr uint16 DRANIKCATACOMBSA = 328; // Catacombs of Dranik constexpr uint16 DRANIKCATACOMBSB = 329; // Catacombs of Dranik constexpr uint16 DRANIKCATACOMBSC = 330; // Catacombs of Dranik constexpr uint16 DRANIKSEWERSA = 331; // Sewers of Dranik constexpr uint16 DRANIKSEWERSB = 332; // Sewers of Dranik constexpr uint16 DRANIKSEWERSC = 333; // Sewers of Dranik constexpr uint16 RIFTSEEKERS = 334; // Riftseekers' Sanctum constexpr uint16 HARBINGERS = 335; // Harbinger's Spire constexpr uint16 DRANIK = 336; // The Ruined City of Dranik constexpr uint16 BROODLANDS = 337; // The Broodlands constexpr uint16 STILLMOONA = 338; // Stillmoon Temple constexpr uint16 STILLMOONB = 339; // The Ascent constexpr uint16 THUNDERCREST = 340; // Thundercrest Isles constexpr uint16 DELVEA = 341; // Lavaspinner's Lair constexpr uint16 DELVEB = 342; // Tirranun's Delve constexpr uint16 THENEST = 343; // The Nest constexpr uint16 GUILDLOBBY = 344; // Guild Lobby constexpr uint16 GUILDHALL = 345; // Guild Hall constexpr uint16 BARTER = 346; // The Barter Hall constexpr uint16 ILLSALIN = 347; // Ruins of Illsalin constexpr uint16 ILLSALINA = 348; // Illsalin Marketplace constexpr uint16 ILLSALINB = 349; // Temple of Korlach constexpr uint16 ILLSALINC = 350; // The Nargil Pits constexpr uint16 DREADSPIRE = 351; // Dreadspire Keep constexpr uint16 DRACHNIDHIVE = 354; // The Hive constexpr uint16 DRACHNIDHIVEA = 355; // The Hatchery constexpr uint16 DRACHNIDHIVEB = 356; // The Cocoons constexpr uint16 DRACHNIDHIVEC = 357; // Queen Sendaii`s Lair constexpr uint16 WESTKORLACH = 358; // Stoneroot Falls constexpr uint16 WESTKORLACHA = 359; // Prince's Manor constexpr uint16 WESTKORLACHB = 360; // Caverns of the Lost constexpr uint16 WESTKORLACHC = 361; // Lair of the Korlach constexpr uint16 EASTKORLACH = 362; // The Undershore constexpr uint16 EASTKORLACHA = 363; // Snarlstone Dens constexpr uint16 SHADOWSPINE = 364; // Shadow Spine constexpr uint16 CORATHUS = 365; // Corathus Creep constexpr uint16 CORATHUSA = 366; // Sporali Caverns constexpr uint16 CORATHUSB = 367; // The Corathus Mines constexpr uint16 NEKTULOSA = 368; // Shadowed Grove constexpr uint16 ARCSTONE = 369; // Arcstone, Isle of Spirits constexpr uint16 RELIC = 370; // Relic, the Artifact City constexpr uint16 SKYLANCE = 371; // Skylance constexpr uint16 DEVASTATION = 372; // The Devastation constexpr uint16 DEVASTATIONA = 373; // The Seething Wall constexpr uint16 RAGE = 374; // Sverag, Stronghold of Rage constexpr uint16 RAGEA = 375; // Razorthorn, Tower of Sullon Zek constexpr uint16 TAKISHRUINS = 376; // Ruins of Takish-Hiz constexpr uint16 TAKISHRUINSA = 377; // The Root of Ro constexpr uint16 ELDDAR = 378; // The Elddar Forest constexpr uint16 ELDDARA = 379; // Tunare's Shrine constexpr uint16 THEATER = 380; // Theater of Blood constexpr uint16 THEATERA = 381; // Deathknell, Tower of Dissonance constexpr uint16 FREEPORTEAST = 382; // East Freeport constexpr uint16 FREEPORTWEST = 383; // West Freeport constexpr uint16 FREEPORTSEWERS = 384; // Freeport Sewers constexpr uint16 FREEPORTACADEMY = 385; // Academy of Arcane Sciences constexpr uint16 FREEPORTTEMPLE = 386; // Temple of Marr constexpr uint16 FREEPORTMILITIA = 387; // Freeport Militia House: My Precious constexpr uint16 FREEPORTARENA = 388; // Arena constexpr uint16 FREEPORTCITYHALL = 389; // City Hall constexpr uint16 FREEPORTTHEATER = 390; // Theater of the Tranquil constexpr uint16 FREEPORTHALL = 391; // Hall of Truth: Bounty constexpr uint16 NORTHRO = 392; // North Desert of Ro constexpr uint16 SOUTHRO = 393; // South Desert of Ro constexpr uint16 CRESCENT = 394; // Crescent Reach constexpr uint16 MOORS = 395; // Blightfire Moors constexpr uint16 STONEHIVE = 396; // Stone Hive constexpr uint16 MESA = 397; // Goru`kar Mesa constexpr uint16 ROOST = 398; // Blackfeather Roost constexpr uint16 STEPPES = 399; // The Steppes constexpr uint16 ICEFALL = 400; // Icefall Glacier constexpr uint16 VALDEHOLM = 401; // Valdeholm constexpr uint16 FROSTCRYPT = 402; // Frostcrypt, Throne of the Shade King constexpr uint16 SUNDEROCK = 403; // Sunderock Springs constexpr uint16 VERGALID = 404; // Vergalid Mines constexpr uint16 DIREWIND = 405; // Direwind Cliffs constexpr uint16 ASHENGATE = 406; // Ashengate, Reliquary of the Scale constexpr uint16 HIGHPASSHOLD = 407; // Highpass Hold constexpr uint16 COMMONLANDS = 408; // The Commonlands constexpr uint16 OCEANOFTEARS = 409; // The Ocean of Tears constexpr uint16 KITHFOREST = 410; // Kithicor Forest constexpr uint16 BEFALLENB = 411; // Befallen constexpr uint16 HIGHPASSKEEP = 412; // HighKeep constexpr uint16 INNOTHULEB = 413; // The Innothule Swamp constexpr uint16 TOXXULIA = 414; // Toxxulia Forest constexpr uint16 MISTYTHICKET = 415; // The Misty Thicket constexpr uint16 KATTACASTRUM = 416; // Katta Castrum constexpr uint16 THALASSIUS = 417; // Thalassius, the Coral Keep constexpr uint16 ATIIKI = 418; // Jewel of Atiiki constexpr uint16 ZHISZA = 419; // Zhisza, the Shissar Sanctuary constexpr uint16 SILYSSAR = 420; // Silyssar, New Chelsith constexpr uint16 SOLTERIS = 421; // Solteris, the Throne of Ro constexpr uint16 BARREN = 422; // Barren Coast constexpr uint16 BURIEDSEA = 423; // The Buried Sea constexpr uint16 JARDELSHOOK = 424; // Jardel's Hook constexpr uint16 MONKEYROCK = 425; // Monkey Rock constexpr uint16 SUNCREST = 426; // Suncrest Isle constexpr uint16 DEADBONE = 427; // Deadbone Reef constexpr uint16 BLACKSAIL = 428; // Blacksail Folly constexpr uint16 MAIDENSGRAVE = 429; // Maiden's Grave constexpr uint16 REDFEATHER = 430; // Redfeather Isle constexpr uint16 SHIPMVP = 431; // The Open Sea constexpr uint16 SHIPMVU = 432; // The Open Sea constexpr uint16 SHIPPVU = 433; // The Open Sea constexpr uint16 SHIPUVU = 434; // The Open Sea constexpr uint16 SHIPMVM = 435; // The Open Sea constexpr uint16 MECHANOTUS = 436; // Fortress Mechanotus constexpr uint16 MANSION = 437; // Meldrath's Majestic Mansion constexpr uint16 STEAMFACTORY = 438; // The Steam Factory constexpr uint16 SHIPWORKSHOP = 439; // S.H.I.P. Workshop constexpr uint16 GYROSPIREB = 440; // Gyrospire Beza constexpr uint16 GYROSPIREZ = 441; // Gyrospire Zeka constexpr uint16 DRAGONSCALE = 442; // Dragonscale Hills constexpr uint16 LOPINGPLAINS = 443; // Loping Plains constexpr uint16 HILLSOFSHADE = 444; // Hills of Shade constexpr uint16 BLOODMOON = 445; // Bloodmoon Keep constexpr uint16 CRYSTALLOS = 446; // Crystallos, Lair of the Awakened constexpr uint16 GUARDIAN = 447; // The Mechamatic Guardian constexpr uint16 STEAMFONTMTS = 448; // The Steamfont Mountains constexpr uint16 CRYPTOFSHADE = 449; // Crypt of Shade constexpr uint16 DRAGONSCALEB = 451; // Deepscar's Den constexpr uint16 OLDFIELDOFBONE = 452; // Field of Scale constexpr uint16 OLDKAESORAA = 453; // Kaesora Library constexpr uint16 OLDKAESORAB = 454; // Kaesora Hatchery constexpr uint16 OLDKURN = 455; // Kurn's Tower constexpr uint16 OLDKITHICOR = 456; // Bloody Kithicor constexpr uint16 OLDCOMMONS = 457; // Old Commonlands constexpr uint16 OLDHIGHPASS = 458; // Highpass Hold constexpr uint16 THEVOIDA = 459; // The Void constexpr uint16 THEVOIDB = 460; // The Void constexpr uint16 THEVOIDC = 461; // The Void constexpr uint16 THEVOIDD = 462; // The Void constexpr uint16 THEVOIDE = 463; // The Void constexpr uint16 THEVOIDF = 464; // The Void constexpr uint16 THEVOIDG = 465; // The Void constexpr uint16 OCEANGREENHILLS = 466; // Oceangreen Hills constexpr uint16 OCEANGREENVILLAGE = 467; // Oceangreen Village constexpr uint16 OLDBLACKBURROW = 468; // BlackBurrow constexpr uint16 BERTOXTEMPLE = 469; // Temple of Bertoxxulous constexpr uint16 DISCORD = 470; // Korafax, Home of the Riders constexpr uint16 DISCORDTOWER = 471; // Citadel of the Worldslayer constexpr uint16 OLDBLOODFIELD = 472; // Old Bloodfields constexpr uint16 PRECIPICEOFWAR = 473; // The Precipice of War constexpr uint16 OLDDRANIK = 474; // City of Dranik constexpr uint16 TOSKIRAKK = 475; // Toskirakk constexpr uint16 KORASCIAN = 476; // Korascian Warrens constexpr uint16 RATHECHAMBER = 477; // Rathe Council Chamber constexpr uint16 BRELLSREST = 480; // Brell's Rest constexpr uint16 FUNGALFOREST = 481; // Fungal Forest constexpr uint16 UNDERQUARRY = 482; // The Underquarry constexpr uint16 COOLINGCHAMBER = 483; // The Cooling Chamber constexpr uint16 SHININGCITY = 484; // Kernagir, the Shining City constexpr uint16 ARTHICREX = 485; // Arthicrex constexpr uint16 FOUNDATION = 486; // The Foundation constexpr uint16 LICHENCREEP = 487; // Lichen Creep constexpr uint16 PELLUCID = 488; // Pellucid Grotto constexpr uint16 STONESNAKE = 489; // Volska's Husk constexpr uint16 BRELLSTEMPLE = 490; // Brell's Temple constexpr uint16 CONVORTEUM = 491; // The Convorteum constexpr uint16 BRELLSARENA = 492; // Brell's Arena constexpr uint16 WEDDINGCHAPEL = 493; // Wedding Chapel constexpr uint16 WEDDINGCHAPELDARK = 494; // Wedding Chapel constexpr uint16 DRAGONCRYPT = 495; // Lair of the Risen constexpr uint16 FEERROTT2 = 700; // The Feerrott constexpr uint16 THULEHOUSE1 = 701; // House of Thule constexpr uint16 THULEHOUSE2 = 702; // House of Thule, Upper Floors constexpr uint16 HOUSEGARDEN = 703; // The Grounds constexpr uint16 THULELIBRARY = 704; // The Library constexpr uint16 WELL = 705; // The Well constexpr uint16 FALLEN = 706; // Erudin Burning constexpr uint16 MORELLCASTLE = 707; // Morell's Castle constexpr uint16 SOMNIUM = 708; // Sanctum Somnium constexpr uint16 ALKABORMARE = 709; // Al'Kabor's Nightmare constexpr uint16 MIRAGULMARE = 710; // Miragul's Nightmare constexpr uint16 THULEDREAM = 711; // Fear Itself constexpr uint16 NEIGHBORHOOD = 712; // Sunrise Hills constexpr uint16 ARGATH = 724; // Argath, Bastion of Illdaera constexpr uint16 ARELIS = 725; // Valley of Lunanyn constexpr uint16 SARITHCITY = 726; // Sarith, City of Tides constexpr uint16 RUBAK = 727; // Rubak Oseka, Temple of the Sea constexpr uint16 BEASTDOMAIN = 728; // Beasts' Domain constexpr uint16 RESPLENDENT = 729; // The Resplendent Temple constexpr uint16 PILLARSALRA = 730; // Pillars of Alra constexpr uint16 WINDSONG = 731; // Windsong Sanctuary constexpr uint16 CITYOFBRONZE = 732; // Erillion, City of Bronze constexpr uint16 SEPULCHER = 733; // Sepulcher of Order constexpr uint16 EASTSEPULCHER = 734; // Sepulcher East constexpr uint16 WESTSEPULCHER = 735; // Sepulcher West constexpr uint16 SHARDSLANDING = 752; // Shard's Landing constexpr uint16 XORBB = 753; // Valley of King Xorbb constexpr uint16 KAELSHARD = 754; // Kael Drakkel: The King's Madness constexpr uint16 EASTWASTESSHARD = 755; // East Wastes: Zeixshi-Kar's Awakening constexpr uint16 CRYSTALSHARD = 756; // The Crystal Caverns: Fragment of Fear constexpr uint16 BREEDINGGROUNDS = 757; // The Breeding Grounds constexpr uint16 EVILTREE = 758; // Evantil, the Vile Oak constexpr uint16 GRELLETH = 759; // Grelleth's Palace, the Chateau of Filth constexpr uint16 CHAPTERHOUSE = 760; // Chapterhouse of the Fallen constexpr uint16 ARTTEST = 996; // Art Testing Domain constexpr uint16 FHALLS = 998; // The Forgotten Halls constexpr uint16 APPRENTICE = 999; // Designer Apprentice } namespace Language { constexpr uint8 CommonTongue = 0; constexpr uint8 Barbarian = 1; constexpr uint8 Erudian = 2; constexpr uint8 Elvish = 3; constexpr uint8 DarkElvish = 4; constexpr uint8 Dwarvish = 5; constexpr uint8 Troll = 6; constexpr uint8 Ogre = 7; constexpr uint8 Gnomish = 8; constexpr uint8 Halfling = 9; constexpr uint8 ThievesCant = 10; constexpr uint8 OldErudian = 11; constexpr uint8 ElderElvish = 12; constexpr uint8 Froglok = 13; constexpr uint8 Goblin = 14; constexpr uint8 Gnoll = 15; constexpr uint8 CombineTongue = 16; constexpr uint8 ElderTeirDal = 17; constexpr uint8 Lizardman = 18; constexpr uint8 Orcish = 19; constexpr uint8 Faerie = 20; constexpr uint8 Dragon = 21; constexpr uint8 ElderDragon = 22; constexpr uint8 DarkSpeech = 23; constexpr uint8 VahShir = 24; constexpr uint8 Alaran = 25; constexpr uint8 Hadal = 26; constexpr uint8 Unknown27 = 27; constexpr uint8 MaxValue = 100; } namespace PetInfoType { constexpr int Current = 0; constexpr int Suspended = 1; } namespace BuffEffectType { constexpr uint8 None = 0; constexpr uint8 Buff = 2; constexpr uint8 InverseBuff = 4; } namespace AlternateCurrencyMode { constexpr uint32 Update = 7; constexpr uint32 Populate = 8; } typedef enum { FilterNone = 0, FilterGuildChat = 1, //0=hide, 1=show FilterSocials = 2, //0=hide, 1=show FilterGroupChat = 3, //0=hide, 1=show FilterShouts = 4, //0=hide, 1=show FilterAuctions = 5, //0=hide, 1=show FilterOOC = 6, //0=hide, 1=show FilterBadWords = 7, //0=hide, 1=show FilterPCSpells = 8, //0=show, 1=hide, 2=group only FilterNPCSpells = 9, //0=show, 1=hide FilterBardSongs = 10, //0=show, 1=mine only, 2=group only, 3=hide FilterSpellCrits = 11, //0=show, 1=mine only, 2=hide FilterMeleeCrits = 12, //0=show, 1=hide FilterSpellDamage = 13, //0=show, 1=mine only, 2=hide FilterMyMisses = 14, //0=hide, 1=show FilterOthersMiss = 15, //0=hide, 1=show FilterOthersHit = 16, //0=hide, 1=show FilterMissedMe = 17, //0=hide, 1=show FilterDamageShields = 18, //0=show, 1=hide FilterDOT = 19, //0=show, 1=hide FilterPetHits = 20, //0=show, 1=hide FilterPetMisses = 21, //0=show, 1=hide FilterFocusEffects = 22, //0=show, 1=hide FilterPetSpells = 23, //0=show, 1=hide FilterHealOverTime = 24, //0=show, 1=mine only, 2=hide FilterItemSpeech = 25, //0=show, 1=hide // RoF2 Confirmed FilterStrikethrough = 26, //0=show, 1=hide // RoF2 Confirmed FilterStuns = 27, //0=show, 1=hide // RoF2 Confirmed FilterBardSongsOnPets = 28, //0=show, 1=hide // RoF2 Confirmed _FilterCount } eqFilterType; typedef enum { FilterHide, FilterShow, FilterShowGroupOnly, FilterShowSelfOnly } eqFilterMode; #define STAT_STR 0 #define STAT_STA 1 #define STAT_AGI 2 #define STAT_DEX 3 #define STAT_INT 4 #define STAT_WIS 5 #define STAT_CHA 6 #define STAT_MAGIC 7 #define STAT_COLD 8 #define STAT_FIRE 9 #define STAT_POISON 10 #define STAT_DISEASE 11 #define STAT_MANA 12 #define STAT_HP 13 #define STAT_AC 14 #define STAT_ENDURANCE 15 #define STAT_ATTACK 16 #define STAT_HP_REGEN 17 #define STAT_MANA_REGEN 18 #define STAT_HASTE 19 #define STAT_DAMAGE_SHIELD 20 #define STAT_DS_MITIGATION 22 #define STAT_HEAL_AMOUNT 23 #define STAT_SPELL_DAMAGE 24 #define STAT_CLAIRVOYANCE 25 #define STAT_HEROIC_AGILITY 26 #define STAT_HEROIC_CHARISMA 27 #define STAT_HEROIC_DEXTERITY 28 #define STAT_HEROIC_INTELLIGENCE 29 #define STAT_HEROIC_STAMINA 30 #define STAT_HEROIC_STRENGTH 31 #define STAT_HEROIC_WISDOM 32 #define STAT_BASH 33 #define STAT_BACKSTAB 34 #define STAT_DRAGON_PUNCH 35 #define STAT_EAGLE_STRIKE 36 #define STAT_FLYING_KICK 37 #define STAT_KICK 38 #define STAT_ROUND_KICK 39 #define STAT_TIGER_CLAW 40 #define STAT_FRENZY 41 static const uint8 DamageTypeSomething = 0x1C; //0x1c is something... static const uint8 DamageTypeFalling = 0xFC; static const uint8 DamageTypeSpell = 0xE7; static const uint8 DamageTypeUnknown = 0xFF; /* ** Skill damage types ** ** (indexed by 'Skill' of SkillUseTypes) */ static const uint8 SkillDamageTypes[EQ::skills::HIGHEST_SKILL + 1] = // change to _SkillServerArraySize once activated { /*1HBlunt*/ 0, /*1HSlashing*/ 1, /*2HBlunt*/ 0, /*2HSlashing*/ 1, /*Abjuration*/ DamageTypeSpell, /*Alteration*/ DamageTypeSpell, /*ApplyPoison*/ DamageTypeUnknown, /*Archery*/ 7, /*Backstab*/ 8, /*BindWound*/ DamageTypeUnknown, /*Bash*/ 10, /*Block*/ DamageTypeUnknown, /*BrassInstruments*/ DamageTypeSpell, /*Channeling*/ DamageTypeUnknown, /*Conjuration*/ DamageTypeSpell, /*Defense*/ DamageTypeUnknown, /*Disarm*/ DamageTypeUnknown, /*DisarmTraps*/ DamageTypeUnknown, /*Divination*/ DamageTypeSpell, /*Dodge*/ DamageTypeUnknown, /*DoubleAttack*/ DamageTypeUnknown, /*DragonPunch*/ 21, /*DualWield*/ DamageTypeUnknown, /*EagleStrike*/ 23, /*Evocation*/ DamageTypeSpell, /*FeignDeath*/ 4, /*FlyingKick*/ 30, /*Forage*/ DamageTypeUnknown, /*HandtoHand*/ 4, /*Hide*/ DamageTypeUnknown, /*Kick*/ 30, /*Meditate*/ DamageTypeUnknown, /*Mend*/ DamageTypeUnknown, /*Offense*/ DamageTypeUnknown, /*Parry*/ DamageTypeUnknown, /*PickLock*/ DamageTypeUnknown, /*1HPiercing*/ 36, /*Riposte*/ DamageTypeUnknown, /*RoundKick*/ 30, /*SafeFall*/ DamageTypeUnknown, /*SsenseHeading*/ DamageTypeUnknown, /*Singing*/ DamageTypeSpell, /*Sneak*/ DamageTypeUnknown, /*SpecializeAbjure*/ DamageTypeUnknown, /*SpecializeAlteration*/ DamageTypeUnknown, /*SpecializeConjuration*/ DamageTypeUnknown, /*SpecializeDivination*/ DamageTypeUnknown, /*SpecializeEvocation*/ DamageTypeUnknown, /*PickPockets*/ DamageTypeUnknown, /*StringedInstruments*/ DamageTypeSpell, /*Swimming*/ DamageTypeUnknown, /*Throwing*/ 51, /*TigerClaw*/ 23, /*Tracking*/ DamageTypeUnknown, /*WindInstruments*/ DamageTypeSpell, /*Fishing*/ DamageTypeUnknown, /*MakePoison*/ DamageTypeUnknown, /*Tinkering*/ DamageTypeUnknown, /*Research*/ DamageTypeUnknown, /*Alchemy*/ DamageTypeUnknown, /*Baking*/ DamageTypeUnknown, /*Tailoring*/ DamageTypeUnknown, /*SenseTraps*/ DamageTypeUnknown, /*Blacksmithing*/ DamageTypeUnknown, /*Fletching*/ DamageTypeUnknown, /*Brewing*/ DamageTypeUnknown, /*AlcoholTolerance*/ DamageTypeUnknown, /*Begging*/ DamageTypeUnknown, /*JewelryMaking*/ DamageTypeUnknown, /*Pottery*/ DamageTypeUnknown, /*PercussionInstruments*/ DamageTypeSpell, /*Intimidation*/ DamageTypeUnknown, /*Berserking*/ DamageTypeUnknown, /*Taunt*/ DamageTypeUnknown, /*Frenzy*/ 74, /*RemoveTrap*/ DamageTypeUnknown, // Needs research (set for SenseTrap value) /*TripleAttack*/ DamageTypeUnknown, // Needs research (set for DoubleAttack value) /*2HPiercing*/ 36 // Needs research (set for 1HPiercing value - similar to slash/blunt) }; /* // Used for worn NPC inventory tracking. NPCs don't use // augments, so only the basic slots need to be kept track of. #define MAX_WORN_INVENTORY 22 */ /* ** Inventory Slot Equipment Enum ** Mostly used for third-party tools to reference inventory slots ** ** [pre-HoT] ** NOTE: Numbering for personal inventory goes top to bottom, then left to right ** It's the opposite for inside bags: left to right, then top to bottom ** Example: ** Inventory: Containers: ** 1 5 1 2 ** 2 6 3 4 ** 3 7 5 6 ** 4 8 7 8 ** - - 9 10 ** ** [HoT and Higher] ** Note: Numbering for inventory and bags goes left to right, then top to bottom ** Example: ** Inventory: Containers: ** 1 2 1 2 ** 3 4 3 4 ** 5 6 5 6 ** 7 8 7 8 ** 9 10 9 10 ** - - 11 12 [Note: Additional slots are only available in RoF and higher] ** */ #define INVALID_INDEX -1 static const uint32 MAX_SPELL_DB_ID_VAL = 65535; static const uint32 DB_FACTION_GEM_CHOPPERS = 255; static const uint32 DB_FACTION_HERETICS = 265; static const uint32 DB_FACTION_KING_AKANON = 333; enum ChatChannelNames : uint16 { ChatChannel_Guild = 0, ChatChannel_Group = 2, ChatChannel_Shout = 3, ChatChannel_Auction = 4, ChatChannel_OOC = 5, ChatChannel_Broadcast = 6, ChatChannel_Tell = 7, ChatChannel_Say = 8, ChatChannel_Petition = 10, ChatChannel_GMSAY = 11, ChatChannel_TellEcho = 14, ChatChannel_Raid = 15, ChatChannel_UNKNOWN_Guild = 17, ChatChannel_UNKNOWN_GMSAY = 18, ChatChannel_UCSRelay = 20, ChatChannel_Emotes = 22 }; namespace ZoneBlockedSpellTypes { const uint8 ZoneWide = 1; const uint8 Region = 2; }; enum StartZoneIndex { Odus = 0, Qeynos, Halas, Rivervale, Freeport, Neriak, Grobb, Oggok, Kaladim, GreaterFaydark, Felwithe, Akanon, Cabilis, SharVahl, RatheMtn }; enum FVNoDropFlagRule { Disabled = 0, Enabled = 1, AdminOnly = 2 }; enum Anonymity : uint8 { NotAnonymous, Anonymous, Roleplaying }; enum ZoningMessage : int8 { ZoneNoMessage = 0, ZoneSuccess = 1, ZoneNotReady = -1, ZoneValidPC = -2, ZoneStoryZone = -3, ZoneNoExpansion = -6, ZoneNoExperience = -7 }; enum class RecipeCountType : uint8 { Component, Container, Fail, Salvage, Success }; #define ALT_CURRENCY_ID_RADIANT 4 #define ALT_CURRENCY_ID_EBON 5 enum ResurrectionActions { Decline, Accept }; enum ScribeSpellActions { Scribe, Memorize, Unmemorize }; enum SpellTimeRestrictions { NoRestriction, Day, Night }; enum MoneyTypes { Copper, Silver, Gold, Platinum }; enum MoneySubtypes { Personal, Bank, Cursor, SharedBank // Platinum Only }; namespace RaidLootType { constexpr uint32 LeaderOnly = 1; constexpr uint32 LeaderAndGroupLeadersOnly = 2; constexpr uint32 LeaderSelected = 3; constexpr uint32 EntireRaid = 4; } namespace LeadershipAbilitySlot { constexpr uint16 HealthOfTargetsTarget = 14; } enum ExpSource { Quest, GM, Kill, Death, Resurrection, LDoNChest, Task, Sacrifice }; #define PARCEL_SEND_ITEMS 0 #define PARCEL_SEND_MONEY 1 #define PARCEL_MONEY_ITEM_ID 99990 // item id of money #define PARCEL_LIMIT 5 #define PARCEL_BEGIN_SLOT 1 namespace DoorType { constexpr uint32 BuyerStall = 155; }