initial commit
This commit is contained in:
@@ -0,0 +1,762 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum AccountDataTypes
|
||||
{
|
||||
GlobalConfigCache = 0x00,
|
||||
PerCharacterConfigCache = 0x01,
|
||||
GlobalBindingsCache = 0x02,
|
||||
PerCharacterBindingsCache = 0x03,
|
||||
GlobalMacrosCache = 0x04,
|
||||
PerCharacterMacrosCache = 0x05,
|
||||
PerCharacterLayoutCache = 0x06,
|
||||
PerCharacterChatCache = 0x07,
|
||||
Max = 8,
|
||||
|
||||
GlobalCacheMask = 0x15,
|
||||
PerCharacterCacheMask = 0xEA
|
||||
}
|
||||
|
||||
public enum TutorialAction
|
||||
{
|
||||
Update = 0,
|
||||
Clear = 1,
|
||||
Reset = 2
|
||||
}
|
||||
|
||||
public enum AccountTypes
|
||||
{
|
||||
Player = 0,
|
||||
Moderator = 1,
|
||||
GameMaster = 2,
|
||||
Administrator = 3,
|
||||
Console = 4
|
||||
}
|
||||
|
||||
public enum RBACPermissions
|
||||
{
|
||||
None = 0,
|
||||
InstantLogout = 1,
|
||||
SkipQueue = 2,
|
||||
JoinNormalBg = 3,
|
||||
JoinRandomBg = 4,
|
||||
JoinArenas = 5,
|
||||
JoinDungeonFinder = 6,
|
||||
// 7 - Reuse
|
||||
// 8 - Reuse
|
||||
// 9 - Reuse
|
||||
UseCharacterTemplates = 10,
|
||||
LogGmTrade = 11,
|
||||
SkipCheckCharacterCreationDemonHunter = 12,
|
||||
SkipCheckInstanceRequiredBosses = 13,
|
||||
SkipCheckCharacterCreationTeammask = 14,
|
||||
SkipCheckCharacterCreationClassmask = 15,
|
||||
SkipCheckCharacterCreationRacemask = 16,
|
||||
SkipCheckCharacterCreationReservedname = 17,
|
||||
SkipCheckCharacterCreationDeathKnight = 18,
|
||||
SkipCheckChatChannelReq = 19,
|
||||
SkipCheckDisableMap = 20,
|
||||
SkipCheckMoreTalentsThanAllowed = 21,
|
||||
SkipCheckChatSpam = 22,
|
||||
SkipCheckOverspeedPing = 23,
|
||||
TwoSideCharacterCreation = 24,
|
||||
TwoSideInteractionChat = 25,
|
||||
TwoSideInteractionChannel = 26,
|
||||
TwoSideInteractionMail = 27,
|
||||
TwoSideWhoList = 28,
|
||||
TwoSideAddFriend = 29,
|
||||
CommandsSaveWithoutDelay = 30,
|
||||
CommandsUseUnstuckWithArgs = 31,
|
||||
CommandsBeAssignedTicket = 32,
|
||||
CommandsNotifyCommandNotFoundError = 33,
|
||||
CommandsAppearInGmList = 34,
|
||||
WhoSeeAllSecLevels = 35,
|
||||
CanFilterWhispers = 36,
|
||||
ChatUseStaffBadge = 37,
|
||||
ResurrectWithFullHps = 38,
|
||||
RestoreSavedGmState = 39,
|
||||
AllowGmFriend = 40,
|
||||
UseStartGmLevel = 41,
|
||||
OpcodeWorldTeleport = 42,
|
||||
OpcodeWhois = 43,
|
||||
ReceiveGlobalGmTextmessage = 44,
|
||||
SilentlyJoinChannel = 45,
|
||||
ChangeChannelNotModerator = 46,
|
||||
CheckForLowerSecurity = 47,
|
||||
CommandsPinfoCheckPersonalData = 48,
|
||||
EmailConfirmForPassChange = 49,
|
||||
MayCheckOwnEmail = 50,
|
||||
AllowTwoSideTrade = 51,
|
||||
|
||||
// Free Space For Core Permissions (Till 149)
|
||||
// Roles (Permissions With Delegated Permissions) Use 199 And Descending
|
||||
CommandRbac = 200,
|
||||
CommandRbacAcc = 201,
|
||||
CommandRbacAccPermList = 202,
|
||||
CommandRbacAccPermGrant = 203,
|
||||
CommandRbacAccPermDeny = 204,
|
||||
CommandRbacAccPermRevoke = 205,
|
||||
CommandRbacList = 206,
|
||||
CommandBnetAccount = 207,
|
||||
CommandBnetAccountCreate = 208,
|
||||
CommandBnetAccountLockCountry = 209,
|
||||
CommandBnetAccountLockIp = 210,
|
||||
CommandBnetAccountPassword = 211,
|
||||
CommandBnetAccountSet = 212,
|
||||
CommandBnetAccountSetPassword = 213,
|
||||
CommandBnetAccountLink = 214,
|
||||
CommandBnetAccountUnlink = 215,
|
||||
CommandBnetAccountCreateGame = 216,
|
||||
CommandAccount = 217,
|
||||
CommandAccountAddon = 218,
|
||||
CommandAccountCreate = 219,
|
||||
CommandAccountDelete = 220,
|
||||
CommandAccountLock = 221,
|
||||
CommandAccountLockCountry = 222,
|
||||
CommandAccountLockIp = 223,
|
||||
CommandAccountOnlineList = 224,
|
||||
CommandAccountPassword = 225,
|
||||
CommandAccountSet = 226,
|
||||
CommandAccountSetAddon = 227,
|
||||
CommandAccountSetGmlevel = 228,
|
||||
CommandAccountSetPassword = 229,
|
||||
CommandAchievement = 230,
|
||||
CommandAchievementAdd = 231,
|
||||
CommandArena = 232,
|
||||
CommandArenaCaptain = 233,
|
||||
CommandArenaCreate = 234,
|
||||
CommandArenaDisband = 235,
|
||||
CommandArenaInfo = 236,
|
||||
CommandArenaLookup = 237,
|
||||
CommandArenaRename = 238,
|
||||
CommandBan = 239,
|
||||
CommandBanAccount = 240,
|
||||
CommandBanCharacter = 241,
|
||||
CommandBanIp = 242,
|
||||
CommandBanPlayeraccount = 243,
|
||||
CommandBaninfo = 244,
|
||||
CommandBaninfoAccount = 245,
|
||||
CommandBaninfoCharacter = 246,
|
||||
CommandBaninfoIp = 247,
|
||||
CommandBanlist = 248,
|
||||
CommandBanlistAccount = 249,
|
||||
CommandBanlistCharacter = 250,
|
||||
CommandBanlistIp = 251,
|
||||
CommandUnban = 252,
|
||||
CommandUnbanAccount = 253,
|
||||
CommandUnbanCharacter = 254,
|
||||
CommandUnbanIp = 255,
|
||||
CommandUnbanPlayeraccount = 256,
|
||||
CommandBf = 257,
|
||||
CommandBfStart = 258,
|
||||
CommandBfStop = 259,
|
||||
CommandBfSwitch = 260,
|
||||
CommandBfTimer = 261,
|
||||
CommandBfEnable = 262,
|
||||
CommandAccountEmail = 263,
|
||||
CommandAccountSetSec = 264,
|
||||
CommandAccountSetSecEmail = 265,
|
||||
CommandAccountSetSecRegmail = 266,
|
||||
CommandCast = 267,
|
||||
CommandCastBack = 268,
|
||||
CommandCastDist = 269,
|
||||
CommandCastSelf = 270,
|
||||
CommandCastTarget = 271,
|
||||
CommandCastDest = 272,
|
||||
CommandCharacter = 273,
|
||||
CommandCharacterCustomize = 274,
|
||||
CommandCharacterChangefaction = 275,
|
||||
CommandCharacterChangerace = 276,
|
||||
CommandCharacterDeleted = 277,
|
||||
CommandCharacterDeletedDelete = 278,
|
||||
CommandCharacterDeletedList = 279,
|
||||
CommandCharacterDeletedRestore = 280,
|
||||
CommandCharacterDeletedOld = 281,
|
||||
CommandCharacterErase = 282,
|
||||
CommandCharacterLevel = 283,
|
||||
CommandCharacterRename = 284,
|
||||
CommandCharacterReputation = 285,
|
||||
CommandCharacterTitles = 286,
|
||||
CommandLevelup = 287,
|
||||
CommandPdump = 288,
|
||||
CommandPdumpLoad = 289,
|
||||
CommandPdumpWrite = 290,
|
||||
CommandCheat = 291,
|
||||
CommandCheatCasttime = 292,
|
||||
CommandCheatCooldown = 293,
|
||||
CommandCheatExplore = 294,
|
||||
CommandCheatGod = 295,
|
||||
CommandCheatPower = 296,
|
||||
CommandCheatStatus = 297,
|
||||
CommandCheatTaxi = 298,
|
||||
CommandCheatWaterwalk = 299,
|
||||
CommandDebug = 300,
|
||||
CommandDebugAnim = 301,
|
||||
CommandDebugAreatriggers = 302,
|
||||
CommandDebugArena = 303,
|
||||
CommandDebugBg = 304,
|
||||
CommandDebugEntervehicle = 305,
|
||||
CommandDebugGetitemstate = 306,
|
||||
CommandDebugGetitemvalue = 307,
|
||||
CommandDebugGetvalue = 308,
|
||||
CommandDebugHostil = 309,
|
||||
CommandDebugItemexpire = 310,
|
||||
CommandDebugLootrecipient = 311,
|
||||
CommandDebugLos = 312,
|
||||
CommandDebugMod32value = 313,
|
||||
CommandDebugMoveflags = 314,
|
||||
CommandDebugPlay = 315,
|
||||
CommandDebugPlayCinematic = 316,
|
||||
CommandDebugPlayMovie = 317,
|
||||
CommandDebugPlaySound = 318,
|
||||
CommandDebugSend = 319,
|
||||
CommandDebugSendBuyerror = 320,
|
||||
CommandDebugSendChannelnotify = 321,
|
||||
CommandDebugSendChatmessage = 322,
|
||||
CommandDebugSendEquiperror = 323,
|
||||
CommandDebugSendLargepacket = 324,
|
||||
CommandDebugSendOpcode = 325,
|
||||
CommandDebugSendQinvalidmsg = 326,
|
||||
CommandDebugSendQpartymsg = 327,
|
||||
CommandDebugSendSellerror = 328,
|
||||
CommandDebugSendSetphaseshift = 329,
|
||||
CommandDebugSendSpellfail = 330,
|
||||
CommandDebugSetaurastate = 331,
|
||||
CommandDebugSetbit = 332,
|
||||
CommandDebugSetitemvalue = 333,
|
||||
CommandDebugSetvalue = 334,
|
||||
CommandDebugSetvid = 335,
|
||||
CommandDebugSpawnvehicle = 336,
|
||||
CommandDebugThreat = 337,
|
||||
CommandDebugUpdate = 338,
|
||||
CommandDebugUws = 339,
|
||||
CommandWpgps = 340,
|
||||
CommandDeserter = 341,
|
||||
CommandDeserterBg = 342,
|
||||
CommandDeserterBgAdd = 343,
|
||||
CommandDeserterBgRemove = 344,
|
||||
CommandDeserterInstance = 345,
|
||||
CommandDeserterInstanceAdd = 346,
|
||||
CommandDeserterInstanceRemove = 347,
|
||||
CommandDisable = 348,
|
||||
CommandDisableAdd = 349,
|
||||
CommandDisableAddCriteria = 350,
|
||||
CommandDisableAddBattleground = 351,
|
||||
CommandDisableAddMap = 352,
|
||||
CommandDisableAddMmap = 353,
|
||||
CommandDisableAddOutdoorpvp = 354,
|
||||
CommandDisableAddQuest = 355,
|
||||
CommandDisableAddSpell = 356,
|
||||
CommandDisableAddVmap = 357,
|
||||
CommandDisableRemove = 358,
|
||||
CommandDisableRemoveCriteria = 359,
|
||||
CommandDisableRemoveBattleground = 360,
|
||||
CommandDisableRemoveMap = 361,
|
||||
CommandDisableRemoveMmap = 362,
|
||||
CommandDisableRemoveOutdoorpvp = 363,
|
||||
CommandDisableRemoveQuest = 364,
|
||||
CommandDisableRemoveSpell = 365,
|
||||
CommandDisableRemoveVmap = 366,
|
||||
CommandEvent = 367,
|
||||
CommandEventActivelist = 368,
|
||||
CommandEventStart = 369,
|
||||
CommandEventStop = 370,
|
||||
CommandGm = 371,
|
||||
CommandGmChat = 372,
|
||||
CommandGmFly = 373,
|
||||
CommandGmIngame = 374,
|
||||
CommandGmList = 375,
|
||||
CommandGmVisible = 376,
|
||||
CommandGo = 377,
|
||||
CommandGoCreature = 378,
|
||||
CommandGoGraveyard = 379,
|
||||
CommandGoGrid = 380,
|
||||
CommandGoObject = 381,
|
||||
CommandGoTaxinode = 382,
|
||||
// 383 reuse
|
||||
CommandGoTrigger = 384,
|
||||
CommandGoXyz = 385,
|
||||
CommandGoZonexy = 386,
|
||||
CommandGobject = 387,
|
||||
CommandGobjectActivate = 388,
|
||||
CommandGobjectAdd = 389,
|
||||
CommandGobjectAddTemp = 390,
|
||||
CommandGobjectDelete = 391,
|
||||
CommandGobjectInfo = 392,
|
||||
CommandGobjectMove = 393,
|
||||
CommandGobjectNear = 394,
|
||||
CommandGobjectSet = 395,
|
||||
CommandGobjectSetPhase = 396,
|
||||
CommandGobjectSetState = 397,
|
||||
CommandGobjectTarget = 398,
|
||||
CommandGobjectTurn = 399,
|
||||
CommandDebugTransport = 400,
|
||||
CommandGuild = 401,
|
||||
CommandGuildCreate = 402,
|
||||
CommandGuildDelete = 403,
|
||||
CommandGuildInvite = 404,
|
||||
CommandGuildUninvite = 405,
|
||||
CommandGuildRank = 406,
|
||||
CommandGuildRename = 407,
|
||||
CommandHonor = 408,
|
||||
CommandHonorAdd = 409,
|
||||
CommandHonorAddKill = 410,
|
||||
CommandHonorUpdate = 411,
|
||||
CommandInstance = 412,
|
||||
CommandInstanceListbinds = 413,
|
||||
CommandInstanceUnbind = 414,
|
||||
CommandInstanceStats = 415,
|
||||
CommandInstanceSavedata = 416,
|
||||
CommandLearn = 417,
|
||||
CommandLearnAll = 418,
|
||||
CommandLearnAllMy = 419,
|
||||
CommandLearnAllMyClass = 420,
|
||||
CommandLearnAllMyPettalents = 421,
|
||||
CommandLearnAllMySpells = 422,
|
||||
CommandLearnAllMyTalents = 423,
|
||||
CommandLearnAllGm = 424,
|
||||
CommandLearnAllCrafts = 425,
|
||||
CommandLearnAllDefault = 426,
|
||||
CommandLearnAllLang = 427,
|
||||
CommandLearnAllRecipes = 428,
|
||||
CommandUnlearn = 429,
|
||||
CommandLfg = 430,
|
||||
CommandLfgPlayer = 431,
|
||||
CommandLfgGroup = 432,
|
||||
CommandLfgQueue = 433,
|
||||
CommandLfgClean = 434,
|
||||
CommandLfgOptions = 435,
|
||||
CommandList = 436,
|
||||
CommandListCreature = 437,
|
||||
CommandListItem = 438,
|
||||
CommandListObject = 439,
|
||||
CommandListAuras = 440,
|
||||
CommandListMail = 441,
|
||||
CommandLookup = 442,
|
||||
CommandLookupArea = 443,
|
||||
CommandLookupCreature = 444,
|
||||
CommandLookupEvent = 445,
|
||||
CommandLookupFaction = 446,
|
||||
CommandLookupItem = 447,
|
||||
CommandLookupItemset = 448,
|
||||
CommandLookupObject = 449,
|
||||
CommandLookupQuest = 450,
|
||||
CommandLookupPlayer = 451,
|
||||
CommandLookupPlayerIp = 452,
|
||||
CommandLookupPlayerAccount = 453,
|
||||
CommandLookupPlayerEmail = 454,
|
||||
CommandLookupSkill = 455,
|
||||
CommandLookupSpell = 456,
|
||||
CommandLookupSpellId = 457,
|
||||
CommandLookupTaxinode = 458,
|
||||
CommandLookupTele = 459,
|
||||
CommandLookupTitle = 460,
|
||||
CommandLookupMap = 461,
|
||||
CommandAnnounce = 462,
|
||||
CommandChannel = 463,
|
||||
CommandChannelSet = 464,
|
||||
CommandChannelSetOwnership = 465,
|
||||
CommandGmannounce = 466,
|
||||
CommandGmnameannounce = 467,
|
||||
CommandGmnotify = 468,
|
||||
CommandNameannounce = 469,
|
||||
CommandNotify = 470,
|
||||
CommandWhispers = 471,
|
||||
CommandGroup = 472,
|
||||
CommandGroupLeader = 473,
|
||||
CommandGroupDisband = 474,
|
||||
CommandGroupRemove = 475,
|
||||
CommandGroupJoin = 476,
|
||||
CommandGroupList = 477,
|
||||
CommandGroupSummon = 478,
|
||||
CommandPet = 479,
|
||||
CommandPetCreate = 480,
|
||||
CommandPetLearn = 481,
|
||||
CommandPetUnlearn = 482,
|
||||
CommandSend = 483,
|
||||
CommandSendItems = 484,
|
||||
CommandSendMail = 485,
|
||||
CommandSendMessage = 486,
|
||||
CommandSendMoney = 487,
|
||||
CommandAdditem = 488,
|
||||
CommandAdditemset = 489,
|
||||
CommandAppear = 490,
|
||||
CommandAura = 491,
|
||||
CommandBank = 492,
|
||||
CommandBindsight = 493,
|
||||
CommandCombatstop = 494,
|
||||
CommandCometome = 495,
|
||||
CommandCommands = 496,
|
||||
CommandCooldown = 497,
|
||||
CommandDamage = 498,
|
||||
CommandDev = 499,
|
||||
CommandDie = 500,
|
||||
CommandDismount = 501,
|
||||
CommandDistance = 502,
|
||||
CommandFlusharenapoints = 503,
|
||||
CommandFreeze = 504,
|
||||
CommandGps = 505,
|
||||
CommandGuid = 506,
|
||||
CommandHelp = 507,
|
||||
CommandHidearea = 508,
|
||||
CommandItemmove = 509,
|
||||
CommandKick = 510,
|
||||
CommandLinkgrave = 511,
|
||||
CommandListfreeze = 512,
|
||||
CommandMaxskill = 513,
|
||||
CommandMovegens = 514,
|
||||
CommandMute = 515,
|
||||
CommandNeargrave = 516,
|
||||
CommandPinfo = 517,
|
||||
CommandPlayall = 518,
|
||||
CommandPossess = 519,
|
||||
CommandRecall = 520,
|
||||
CommandRepairitems = 521,
|
||||
CommandRespawn = 522,
|
||||
CommandRevive = 523,
|
||||
CommandSaveall = 524,
|
||||
CommandSave = 525,
|
||||
CommandSetskill = 526,
|
||||
CommandShowarea = 527,
|
||||
CommandSummon = 528,
|
||||
CommandUnaura = 529,
|
||||
CommandUnbindsight = 530,
|
||||
CommandUnfreeze = 531,
|
||||
CommandUnmute = 532,
|
||||
CommandUnpossess = 533,
|
||||
CommandUnstuck = 534,
|
||||
CommandWchange = 535,
|
||||
CommandMmap = 536,
|
||||
CommandMmapLoadedtiles = 537,
|
||||
CommandMmapLoc = 538,
|
||||
CommandMmapPath = 539,
|
||||
CommandMmapStats = 540,
|
||||
CommandMmapTestarea = 541,
|
||||
CommandMorph = 542,
|
||||
CommandDemorph = 543,
|
||||
CommandModify = 544,
|
||||
CommandModifyArenapoints = 545,
|
||||
CommandModifyBit = 546,
|
||||
CommandModifyDrunk = 547,
|
||||
CommandModifyEnergy = 548,
|
||||
CommandModifyFaction = 549,
|
||||
CommandModifyGender = 550,
|
||||
CommandModifyHonor = 551,
|
||||
CommandModifyHp = 552,
|
||||
CommandModifyMana = 553,
|
||||
CommandModifyMoney = 554,
|
||||
CommandModifyMount = 555,
|
||||
CommandModifyPhase = 556,
|
||||
CommandModifyRage = 557,
|
||||
CommandModifyReputation = 558,
|
||||
CommandModifyRunicpower = 559,
|
||||
CommandModifyScale = 560,
|
||||
CommandModifySpeed = 561,
|
||||
CommandModifySpeedAll = 562,
|
||||
CommandModifySpeedBackwalk = 563,
|
||||
CommandModifySpeedFly = 564,
|
||||
CommandModifySpeedWalk = 565,
|
||||
CommandModifySpeedSwim = 566,
|
||||
CommandModifySpell = 567,
|
||||
CommandModifyStandstate = 568,
|
||||
CommandModifyTalentpoints = 569,
|
||||
CommandNpc = 570,
|
||||
CommandNpcAdd = 571,
|
||||
CommandNpcAddFormation = 572,
|
||||
CommandNpcAddItem = 573,
|
||||
CommandNpcAddMove = 574,
|
||||
CommandNpcAddTemp = 575,
|
||||
CommandNpcDelete = 576,
|
||||
CommandNpcDeleteItem = 577,
|
||||
CommandNpcFollow = 578,
|
||||
CommandNpcFollowStop = 579,
|
||||
CommandNpcSet = 580,
|
||||
CommandNpcSetAllowmove = 581,
|
||||
CommandNpcSetEntry = 582,
|
||||
CommandNpcSetFactionid = 583,
|
||||
CommandNpcSetFlag = 584,
|
||||
CommandNpcSetLevel = 585,
|
||||
CommandNpcSetLink = 586,
|
||||
CommandNpcSetModel = 587,
|
||||
CommandNpcSetMovetype = 588,
|
||||
CommandNpcSetPhase = 589,
|
||||
CommandNpcSetSpawndist = 590,
|
||||
CommandNpcSetSpawntime = 591,
|
||||
CommandNpcSetData = 592,
|
||||
CommandNpcInfo = 593,
|
||||
CommandNpcNear = 594,
|
||||
CommandNpcMove = 595,
|
||||
CommandNpcPlayemote = 596,
|
||||
CommandNpcSay = 597,
|
||||
CommandNpcTextemote = 598,
|
||||
CommandNpcWhisper = 599,
|
||||
CommandNpcYell = 600,
|
||||
CommandNpcTame = 601,
|
||||
CommandQuest = 602,
|
||||
CommandQuestAdd = 603,
|
||||
CommandQuestComplete = 604,
|
||||
CommandQuestRemove = 605,
|
||||
CommandQuestReward = 606,
|
||||
CommandReload = 607,
|
||||
CommandReloadAccessRequirement = 608,
|
||||
CommandReloadCriteriaData = 609,
|
||||
CommandReloadAchievementReward = 610,
|
||||
CommandReloadAll = 611,
|
||||
CommandReloadAllAchievement = 612,
|
||||
CommandReloadAllArea = 613,
|
||||
CommandReloadBroadcastText = 614,
|
||||
CommandReloadAllGossip = 615,
|
||||
CommandReloadAllItem = 616,
|
||||
CommandReloadAllLocales = 617,
|
||||
CommandReloadAllLoot = 618,
|
||||
CommandReloadAllNpc = 619,
|
||||
CommandReloadAllQuest = 620,
|
||||
CommandReloadAllScripts = 621,
|
||||
CommandReloadAllSpell = 622,
|
||||
CommandReloadAreatriggerInvolvedrelation = 623,
|
||||
CommandReloadAreatriggerTavern = 624,
|
||||
CommandReloadAreatriggerTeleport = 625,
|
||||
CommandReloadAuctions = 626,
|
||||
CommandReloadAutobroadcast = 627,
|
||||
CommandReloadCommand = 628,
|
||||
CommandReloadConditions = 629,
|
||||
CommandReloadConfig = 630,
|
||||
CommandReloadBattlegroundTemplate = 631,
|
||||
CommandMutehistory = 632,
|
||||
CommandReloadCreatureLinkedRespawn = 633,
|
||||
CommandReloadCreatureLootTemplate = 634,
|
||||
CommandReloadCreatureOnkillReputation = 635,
|
||||
CommandReloadCreatureQuestender = 636,
|
||||
CommandReloadCreatureQueststarter = 637,
|
||||
CommandReloadCreatureSummonGroups = 638,
|
||||
CommandReloadCreatureTemplate = 639,
|
||||
CommandReloadCreatureText = 640,
|
||||
CommandReloadDisables = 641,
|
||||
CommandReloadDisenchantLootTemplate = 642,
|
||||
CommandReloadEventScripts = 643,
|
||||
CommandReloadFishingLootTemplate = 644,
|
||||
CommandReloadGraveyardZone = 645,
|
||||
CommandReloadGameTele = 646,
|
||||
CommandReloadGameobjectQuestender = 647,
|
||||
CommandReloadGameobjectQuestLootTemplate = 648,
|
||||
CommandReloadGameobjectQueststarter = 649,
|
||||
CommandReloadSupportSystem = 650,
|
||||
CommandReloadGossipMenu = 651,
|
||||
CommandReloadGossipMenuOption = 652,
|
||||
CommandReloadItemEnchantmentTemplate = 653,
|
||||
CommandReloadItemLootTemplate = 654,
|
||||
CommandReloadItemSetNames = 655,
|
||||
CommandReloadLfgDungeonRewards = 656,
|
||||
CommandReloadLocalesAchievementReward = 657,
|
||||
CommandReloadLocalesCreature = 658,
|
||||
CommandReloadLocalesCreatureText = 659,
|
||||
CommandReloadLocalesGameobject = 660,
|
||||
CommandReloadLocalesGossipMenuOption = 661,
|
||||
// 662 Unused
|
||||
CommandReloadLocalesItemSetName = 663,
|
||||
// 664 Unused
|
||||
CommandReloadLocalesPageText = 665,
|
||||
CommandReloadLocalesPointsOfInterest = 666,
|
||||
CommandReloadQuestLocale = 667,
|
||||
CommandReloadMailLevelReward = 668,
|
||||
CommandReloadMailLootTemplate = 669,
|
||||
CommandReloadMillingLootTemplate = 670,
|
||||
CommandReloadNpcSpellclickSpells = 671,
|
||||
CommandReloadNpcTrainer = 672,
|
||||
CommandReloadNpcVendor = 673,
|
||||
CommandReloadPageText = 674,
|
||||
CommandReloadPickpocketingLootTemplate = 675,
|
||||
CommandReloadPointsOfInterest = 676,
|
||||
CommandReloadProspectingLootTemplate = 677,
|
||||
CommandReloadQuestPoi = 678,
|
||||
CommandReloadQuestTemplate = 679,
|
||||
CommandReloadRbac = 680,
|
||||
CommandReloadReferenceLootTemplate = 681,
|
||||
CommandReloadReservedName = 682,
|
||||
CommandReloadReputationRewardRate = 683,
|
||||
CommandReloadSpilloverTemplate = 684,
|
||||
CommandReloadSkillDiscoveryTemplate = 685,
|
||||
CommandReloadSkillExtraItemTemplate = 686,
|
||||
CommandReloadSkillFishingBaseLevel = 687,
|
||||
CommandReloadSkinningLootTemplate = 688,
|
||||
CommandReloadSmartScripts = 689,
|
||||
CommandReloadSpellRequired = 690,
|
||||
CommandReloadSpellArea = 691,
|
||||
// 692 Unused
|
||||
CommandReloadSpellGroup = 693,
|
||||
CommandReloadSpellLearnSpell = 694,
|
||||
CommandReloadSpellLootTemplate = 695,
|
||||
CommandReloadSpellLinkedSpell = 696,
|
||||
CommandReloadSpellPetAuras = 697,
|
||||
CommandReloadSpellProcEvent = 698,
|
||||
CommandReloadSpellProc = 699,
|
||||
CommandReloadSpellScripts = 700,
|
||||
CommandReloadSpellTargetPosition = 701,
|
||||
CommandReloadSpellThreats = 702,
|
||||
CommandReloadSpellGroupStackRules = 703,
|
||||
CommandReloadCypherString = 704,
|
||||
CommandReloadWardenAction = 705,
|
||||
CommandReloadWaypointScripts = 706,
|
||||
CommandReloadWaypointData = 707,
|
||||
CommandReloadVehicleAccesory = 708,
|
||||
CommandReloadVehicleTemplateAccessory = 709,
|
||||
CommandReset = 710,
|
||||
CommandResetAchievements = 711,
|
||||
CommandResetHonor = 712,
|
||||
CommandResetLevel = 713,
|
||||
CommandResetSpells = 714,
|
||||
CommandResetStats = 715,
|
||||
CommandResetTalents = 716,
|
||||
CommandResetAll = 717,
|
||||
CommandServer = 718,
|
||||
CommandServerCorpses = 719,
|
||||
CommandServerExit = 720,
|
||||
CommandServerIdlerestart = 721,
|
||||
CommandServerIdlerestartCancel = 722,
|
||||
CommandServerIdleshutdown = 723,
|
||||
CommandServerIdleshutdownCancel = 724,
|
||||
CommandServerInfo = 725,
|
||||
CommandServerPlimit = 726,
|
||||
CommandServerRestart = 727,
|
||||
CommandServerRestartCancel = 728,
|
||||
CommandServerSet = 729,
|
||||
CommandServerSetClosed = 730,
|
||||
CommandServerSetDifftime = 731,
|
||||
CommandServerSetLoglevel = 732,
|
||||
CommandServerSetMotd = 733,
|
||||
CommandServerShutdown = 734,
|
||||
CommandServerShutdownCancel = 735,
|
||||
CommandServerMotd = 736,
|
||||
CommandTele = 737,
|
||||
CommandTeleAdd = 738,
|
||||
CommandTeleDel = 739,
|
||||
CommandTeleName = 740,
|
||||
CommandTeleGroup = 741,
|
||||
CommandTicket = 742,
|
||||
// 743 - 752 reuse
|
||||
CommandTicketReset = 753,
|
||||
// 754 - 756 reuse
|
||||
CommandTicketTogglesystem = 757,
|
||||
// 758 - 760 reuse
|
||||
CommandTitles = 761,
|
||||
CommandTitlesAdd = 762,
|
||||
CommandTitlesCurrent = 763,
|
||||
CommandTitlesRemove = 764,
|
||||
CommandTitlesSet = 765,
|
||||
CommandTitlesSetMask = 766,
|
||||
CommandWp = 767,
|
||||
CommandWpAdd = 768,
|
||||
CommandWpEvent = 769,
|
||||
CommandWpLoad = 770,
|
||||
CommandWpModify = 771,
|
||||
CommandWpUnload = 772,
|
||||
CommandWpReload = 773,
|
||||
CommandWpShow = 774,
|
||||
CommandModifyCurrency = 775, // Only 4.3.4
|
||||
CommandDebugPhase = 776, // Only 4.3.4
|
||||
CommandMailbox = 777,
|
||||
CommandAhbot = 778,
|
||||
CommandAhbotItems = 779,
|
||||
CommandAhbotItemsGray = 780,
|
||||
CommandAhbotItemsWhite = 781,
|
||||
CommandAhbotItemsGreen = 782,
|
||||
CommandAhbotItemsBlue = 783,
|
||||
CommandAhbotItemsPurple = 784,
|
||||
CommandAhbotItemsOrange = 785,
|
||||
CommandAhbotItemsYellow = 786,
|
||||
CommandAhbotRatio = 787,
|
||||
CommandAhbotRatioAlliance = 788,
|
||||
CommandAhbotRatioHorde = 789,
|
||||
CommandAhbotRatioNeutral = 790,
|
||||
CommandAhbotRebuild = 791,
|
||||
CommandAhbotReload = 792,
|
||||
CommandAhbotStatus = 793,
|
||||
CommandGuildInfo = 794,
|
||||
CommandInstanceSetBossState = 795,
|
||||
CommandInstanceGetBossState = 796,
|
||||
CommandPvpstats = 797,
|
||||
CommandModifyXp = 798,
|
||||
CommandGoBugTicket = 799,
|
||||
CommandGoComplaintTicket = 800,
|
||||
CommandGoSuggestionTicket = 801,
|
||||
CommandTicketBug = 802,
|
||||
CommandTicketComplaint = 803,
|
||||
CommandTicketSuggestion = 804,
|
||||
CommandTicketBugAssign = 805,
|
||||
CommandTicketBugClose = 806,
|
||||
CommandTicketBugClosedlist = 807,
|
||||
CommandTicketBugComment = 808,
|
||||
CommandTicketBugDelete = 809,
|
||||
CommandTicketBugList = 810,
|
||||
CommandTicketBugUnassign = 811,
|
||||
CommandTicketBugView = 812,
|
||||
CommandTicketComplaintAssign = 813,
|
||||
CommandTicketComplaintClose = 814,
|
||||
CommandTicketComplaintClosedlist = 815,
|
||||
CommandTicketComplaintComment = 816,
|
||||
CommandTicketComplaintDelete = 817,
|
||||
CommandTicketComplaintList = 818,
|
||||
CommandTicketComplaintUnassign = 819,
|
||||
CommandTicketComplaintView = 820,
|
||||
CommandTicketSuggestionAssign = 821,
|
||||
CommandTicketSuggestionClose = 822,
|
||||
CommandTicketSuggestionClosedlist = 823,
|
||||
CommandTicketSuggestionComment = 824,
|
||||
CommandTicketSuggestionDelete = 825,
|
||||
CommandTicketSuggestionList = 826,
|
||||
CommandTicketSuggestionUnassign = 827,
|
||||
CommandTicketSuggestionView = 828,
|
||||
CommandTicketResetAll = 829,
|
||||
CommandBnetAccountListGameAccounts = 830,
|
||||
CommandTicketResetBug = 831,
|
||||
CommandTicketResetComplaint = 832,
|
||||
CommandTicketResetSuggestion = 833,
|
||||
CommandGoQuest = 834,
|
||||
CommandDebugLoadcells = 835,
|
||||
CommandDebugBoundary = 836,
|
||||
CommandNpcEvade = 837,
|
||||
CommandPetLevel = 838,
|
||||
CommandServerShutdownForce = 839,
|
||||
CommandServerRestartForce = 840,
|
||||
CommandNearGraveyard = 841,
|
||||
CommandReloadCharacterTemplate = 842,
|
||||
CommandReloadQuestGreeting = 843,
|
||||
CommandScene = 844,
|
||||
CommandSceneDedug = 845,
|
||||
CommandScenePlay = 846,
|
||||
CommandScenePlayPackage = 847,
|
||||
CommandSceneCancel = 848,
|
||||
CommandListScenes = 849,
|
||||
CommandReloacSceneTemplate = 850,
|
||||
CommandReloadAreatriggerTemplate = 851,
|
||||
CommandGoOffset = 852,
|
||||
CommandReloadConversationTemplate = 853,
|
||||
CommandDebugConversation = 854,
|
||||
|
||||
// Custom Permissions 1000+
|
||||
Max
|
||||
}
|
||||
|
||||
public enum MountStatusFlags
|
||||
{
|
||||
None = 0x00,
|
||||
NeedsFanfare = 0x01,
|
||||
IsFavorite = 0x02
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,440 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum AchievementFaction : sbyte
|
||||
{
|
||||
Horde = 0,
|
||||
Alliance = 1,
|
||||
Any = -1,
|
||||
}
|
||||
|
||||
public enum CriteriaTreeFlags : ushort
|
||||
{
|
||||
ProgressBar = 0x0001,
|
||||
ProgressIsDate = 0x0004,
|
||||
ShowCurrencyIcon = 0x0008,
|
||||
AllianceOnly = 0x0200,
|
||||
HordeOnly = 0x0400,
|
||||
ShowRequiredCount = 0x0800
|
||||
}
|
||||
|
||||
public enum CriteriaTreeOperator
|
||||
{
|
||||
Single = 0,
|
||||
SinglerNotCompleted = 1,
|
||||
All = 4,
|
||||
SumChildren = 5,
|
||||
MaxChild = 6,
|
||||
CountDirectChildren = 7,
|
||||
Any = 8,
|
||||
SumChildrenWeight = 9
|
||||
}
|
||||
|
||||
public enum AchievementFlags
|
||||
{
|
||||
Counter = 0x01,
|
||||
Hidden = 0x02,
|
||||
PlayNoVisual = 0x04,
|
||||
Summ = 0x08,
|
||||
MaxUsed = 0x10,
|
||||
ReqCount = 0x20,
|
||||
Average = 0x40,
|
||||
Bar = 0x80,
|
||||
RealmFirstReach = 0x100,
|
||||
RealmFirstKill = 0x200,
|
||||
Unk3 = 0x400,
|
||||
HideIncomplete = 0x800,
|
||||
ShowInGuildNews = 0x1000,
|
||||
ShowInGuildHeader = 0x2000,
|
||||
Guild = 0x4000,
|
||||
ShowGuildMembers = 0x8000,
|
||||
ShowCriteriaMembers = 0x10000,
|
||||
Account = 0x20000,
|
||||
Unk5 = 0x00040000,
|
||||
HideZeroCounter = 0x00080000,
|
||||
TrackingFlag = 0x00100000
|
||||
}
|
||||
|
||||
public enum CriteriaFlagsCu
|
||||
{
|
||||
Player = 0x1,
|
||||
Account = 0x2,
|
||||
Guild = 0x4,
|
||||
Scenario = 0x8
|
||||
}
|
||||
|
||||
public enum CriteriaCondition
|
||||
{
|
||||
None = 0,
|
||||
NoDeath = 1,
|
||||
Unk2 = 2,
|
||||
BgMap = 3,
|
||||
NoLose = 4,
|
||||
Unk5 = 5,
|
||||
Unk8 = 8,
|
||||
NoSpellHit = 9,
|
||||
NotInGroup = 10,
|
||||
Unk13 = 13
|
||||
}
|
||||
|
||||
public enum CriteriaAdditionalCondition
|
||||
{
|
||||
SourceDrunkValue = 1,
|
||||
Unk2 = 2,
|
||||
ItemLevel = 3,
|
||||
TargetCreatureEntry = 4,
|
||||
TargetMustBePlayer = 5,
|
||||
TargetMustBeDead = 6,
|
||||
TargetMustBeEnemy = 7,
|
||||
SourceHasAura = 8,
|
||||
TargetHasAura = 10,
|
||||
TargetHasAuraType = 11,
|
||||
ItemQualityMin = 14,
|
||||
ItemQualityEquals = 15,
|
||||
Unk16 = 16,
|
||||
SourceAreaOrZone = 17,
|
||||
TargetAreaOrZone = 18,
|
||||
MapDifficultyOld = 20,
|
||||
TargetCreatureYieldsXp = 21,
|
||||
ArenaType = 24,
|
||||
SourceRace = 25,
|
||||
SourceClass = 26,
|
||||
TargetRace = 27,
|
||||
TargetClass = 28,
|
||||
MaxGroupMembers = 29,
|
||||
TargetCreatureType = 30,
|
||||
SourceMap = 32,
|
||||
ItemClass = 33,
|
||||
ItemSubclass = 34,
|
||||
CompleteQuestNotInGroup = 35,
|
||||
MinPersonalRating = 37,
|
||||
TitleBitIndex = 38,
|
||||
SourceLevel = 39,
|
||||
TargetLevel = 40,
|
||||
TargetZone = 41,
|
||||
TargetHealthPercentBelow = 46,
|
||||
Unk55 = 55,
|
||||
MinAchievementPoints = 56,
|
||||
RequiresLfgGroup = 58,
|
||||
Unk60 = 60,
|
||||
RequiresGuildGroup = 61,
|
||||
GuildReputation = 62,
|
||||
RatedBattleground = 63,
|
||||
RatedBattlegroundRating = 64,
|
||||
ProjectRarity = 65,
|
||||
ProjectRace = 66,
|
||||
WorldState = 67, // Nyi
|
||||
MapDifficulty = 68, // Nyi
|
||||
PlayerLevel = 69, // Nyi
|
||||
TargetPlayerLevel = 70, // Nyi
|
||||
//PlayerLevelOnAccount = 71, // Not Verified
|
||||
//Unk73 = 73, // References Another Modifier Tree Id
|
||||
ScenarioId = 74, // Nyi
|
||||
BattlePetFamily = 78, // Nyi
|
||||
BattlePetHealthPct = 79, // Nyi
|
||||
//Unk80 = 80 // Something To Do With World Bosses
|
||||
BattlePetEntry = 81, // Nyi
|
||||
//BattlePetEntryId = 82, // Some Sort Of Data Id?
|
||||
ChallengeModeMedal = 83, // NYI
|
||||
//CRITERIA_ADDITIONAL_CONDITION_UNK84 = 84, // Quest id
|
||||
//CRITERIA_ADDITIONAL_CONDITION_UNK86 = 86, // Some external event id
|
||||
//CRITERIA_ADDITIONAL_CONDITION_UNK87 = 87, // Achievement id
|
||||
BattlePetSpecies = 91,
|
||||
GarrisonFollowerEntry = 144,
|
||||
GarrisonFollowerQuality = 145,
|
||||
GarrisonFollowerLevel = 146,
|
||||
GarrisonRareMission = 147, // NYI
|
||||
GarrisonBuildingLevel = 149, // NYI
|
||||
GarrisonMissionType = 167, // NYI
|
||||
PLayerItemLevel = 169, // NYI
|
||||
GarrisonFollowILvl = 184,
|
||||
HonorLevel = 193,
|
||||
PrestigeLevel = 194
|
||||
}
|
||||
|
||||
public enum CriteriaFlags
|
||||
{
|
||||
ShowProgressBar = 0x01,
|
||||
Hidden = 0x02,
|
||||
FailAchievement = 0x04,
|
||||
ResetOnStart = 0x08,
|
||||
IsDate = 0x10,
|
||||
MoneyCounter = 0x20
|
||||
}
|
||||
|
||||
public enum CriteriaTimedTypes : byte
|
||||
{
|
||||
Event = 1, // Timer Is Started By Internal Event With Id In Timerstartevent
|
||||
Quest = 2, // Timer Is Started By Accepting Quest With Entry In Timerstartevent
|
||||
SpellCaster = 5, // Timer Is Started By Casting A Spell With Entry In Timerstartevent
|
||||
SpellTarget = 6, // Timer Is Started By Being Target Of Spell With Entry In Timerstartevent
|
||||
Creature = 7, // Timer Is Started By Killing Creature With Entry In Timerstartevent
|
||||
Item = 9, // Timer Is Started By Using Item With Entry In Timerstartevent
|
||||
Unk = 10, // Unknown
|
||||
Unk2 = 13, // Unknown
|
||||
ScenarioStage = 14, // Timer is started by changing stages in a scenario
|
||||
|
||||
Max
|
||||
}
|
||||
|
||||
public enum CriteriaTypes : byte
|
||||
{
|
||||
KillCreature = 0,
|
||||
WinBg = 1,
|
||||
// 2 - unused (Legion - 23420)
|
||||
CompleteArchaeologyProjects = 3, // Struct { Uint32 Itemcount; }
|
||||
SurveyGameobject = 4,
|
||||
ReachLevel = 5,
|
||||
ClearDigsite = 6,
|
||||
ReachSkillLevel = 7,
|
||||
CompleteAchievement = 8,
|
||||
CompleteQuestCount = 9,
|
||||
CompleteDailyQuestDaily = 10, // You Have To Complete A Daily Quest X Times In A Row
|
||||
CompleteQuestsInZone = 11,
|
||||
Currency = 12,
|
||||
DamageDone = 13,
|
||||
CompleteDailyQuest = 14,
|
||||
CompleteBattleground = 15,
|
||||
DeathAtMap = 16,
|
||||
Death = 17,
|
||||
DeathInDungeon = 18,
|
||||
CompleteRaid = 19,
|
||||
KilledByCreature = 20,
|
||||
ManualCompleteCriteria = 21,
|
||||
CompleteChallengeModeGuild = 22,
|
||||
KilledByPlayer = 23,
|
||||
FallWithoutDying = 24,
|
||||
// 25 - unused (Legion - 23420)
|
||||
DeathsFrom = 26,
|
||||
CompleteQuest = 27,
|
||||
BeSpellTarget = 28,
|
||||
CastSpell = 29,
|
||||
BgObjectiveCapture = 30,
|
||||
HonorableKillAtArea = 31,
|
||||
WinArena = 32,
|
||||
PlayArena = 33,
|
||||
LearnSpell = 34,
|
||||
HonorableKill = 35,
|
||||
OwnItem = 36,
|
||||
WinRatedArena = 37,
|
||||
HighestTeamRating = 38,
|
||||
HighestPersonalRating = 39,
|
||||
LearnSkillLevel = 40,
|
||||
UseItem = 41,
|
||||
LootItem = 42,
|
||||
ExploreArea = 43,
|
||||
OwnRank = 44,
|
||||
BuyBankSlot = 45,
|
||||
GainReputation = 46,
|
||||
GainExaltedReputation = 47,
|
||||
VisitBarberShop = 48,
|
||||
EquipEpicItem = 49,
|
||||
RollNeedOnLoot = 50, /// Todo Itemlevel Is Mentioned In Text But Not Present In Dbc
|
||||
RollGreedOnLoot = 51,
|
||||
HkClass = 52,
|
||||
HkRace = 53,
|
||||
DoEmote = 54,
|
||||
HealingDone = 55,
|
||||
GetKillingBlows = 56, /// Todo In Some Cases Map Not Present, And In Some Cases Need Do Without Die
|
||||
EquipItem = 57,
|
||||
// 58 - unused (Legion - 23420)
|
||||
MoneyFromVendors = 59,
|
||||
GoldSpentForTalents = 60,
|
||||
NumberOfTalentResets = 61,
|
||||
MoneyFromQuestReward = 62,
|
||||
GoldSpentForTravelling = 63,
|
||||
DefeatCreatureGroup = 64,
|
||||
GoldSpentAtBarber = 65,
|
||||
GoldSpentForMail = 66,
|
||||
LootMoney = 67,
|
||||
UseGameobject = 68,
|
||||
BeSpellTarget2 = 69,
|
||||
SpecialPvpKill = 70,
|
||||
CompleteChallengeMode = 71,
|
||||
FishInGameobject = 72,
|
||||
SendEvent = 73,
|
||||
OnLogin = 74,
|
||||
LearnSkilllineSpells = 75,
|
||||
WinDuel = 76,
|
||||
LoseDuel = 77,
|
||||
KillCreatureType = 78,
|
||||
CookRecipesGuild = 79,
|
||||
GoldEarnedByAuctions = 80,
|
||||
EarnPetBattleAchievementPoints = 81,
|
||||
CreateAuction = 82,
|
||||
HighestAuctionBid = 83,
|
||||
WonAuctions = 84,
|
||||
HighestAuctionSold = 85,
|
||||
HighestGoldValueOwned = 86,
|
||||
GainReveredReputation = 87,
|
||||
GainHonoredReputation = 88,
|
||||
KnownFactions = 89,
|
||||
LootEpicItem = 90,
|
||||
ReceiveEpicItem = 91,
|
||||
SendEventScenario = 92,
|
||||
RollNeed = 93,
|
||||
RollGreed = 94,
|
||||
ReleaseSpirit = 95,
|
||||
OwnPet = 96,
|
||||
GarrisonCompleteDungeonEncounter = 97,
|
||||
// 98 - unused (Legion - 23420)
|
||||
// 99 - unused (Legion - 23420)
|
||||
// 100 - unused (Legion - 23420)
|
||||
HighestHitDealt = 101,
|
||||
HighestHitReceived = 102,
|
||||
TotalDamageReceived = 103,
|
||||
HighestHealCasted = 104,
|
||||
TotalHealingReceived = 105,
|
||||
HighestHealingReceived = 106,
|
||||
QuestAbandoned = 107,
|
||||
FlightPathsTaken = 108,
|
||||
LootType = 109,
|
||||
CastSpell2 = 110, /// Todo Target Entry Is Missing
|
||||
// 111 - unused (Legion - 23420)
|
||||
LearnSkillLine = 112,
|
||||
EarnHonorableKill = 113,
|
||||
AcceptedSummonings = 114,
|
||||
EarnAchievementPoints = 115,
|
||||
// 116 - unused (Legion - 23420)
|
||||
// 117 - unused (Legion - 23420)
|
||||
CompleteLfgDungeon = 118,
|
||||
UseLfdToGroupWithPlayers = 119,
|
||||
LfgVoteKicksInitiatedByPlayer = 120,
|
||||
LfgVoteKicksNotInitByPlayer = 121,
|
||||
BeKickedFromLfg = 122,
|
||||
LfgLeaves = 123,
|
||||
SpentGoldGuildRepairs = 124,
|
||||
ReachGuildLevel = 125,
|
||||
CraftItemsGuild = 126,
|
||||
CatchFromPool = 127,
|
||||
BuyGuildBankSlots = 128,
|
||||
EarnGuildAchievementPoints = 129,
|
||||
WinRatedBattleground = 130,
|
||||
// 131 - unused (Legion - 23420)
|
||||
ReachBgRating = 132,
|
||||
BuyGuildTabard = 133,
|
||||
CompleteQuestsGuild = 134,
|
||||
HonorableKillsGuild = 135,
|
||||
KillCreatureTypeGuild = 136,
|
||||
CountOfLfgQueueBoostsByTank = 137,
|
||||
CompleteGuildChallengeType = 138, //Struct { Flag Flag; Uint32 Count; } 1: Guild Dungeon, 2:Guild Challenge, 3:Guild Battlefield
|
||||
CompleteGuildChallenge = 139, //Struct { Uint32 Count; } Guild Challenge
|
||||
// 140 - 1 criteria (16883), unused (Legion - 23420)
|
||||
// 141 - 1 criteria (16884), unused (Legion - 23420)
|
||||
// 142 - 1 criteria (16881), unused (Legion - 23420)
|
||||
// 143 - 1 criteria (16882), unused (Legion - 23420)
|
||||
// 144 - 1 criteria (17386), unused (Legion - 23420)
|
||||
LfrDungeonsCompleted = 145,
|
||||
LfrLeaves = 146,
|
||||
LfrVoteKicksInitiatedByPlayer = 147,
|
||||
LfrVoteKicksNotInitByPlayer = 148,
|
||||
BeKickedFromLfr = 149,
|
||||
CountOfLfrQueueBoostsByTank = 150,
|
||||
CompleteScenarioCount = 151,
|
||||
CompleteScenario = 152,
|
||||
ReachAreatriggerWithActionset = 153,
|
||||
// 154 - unused (Legion - 23420)
|
||||
OwnBattlePet = 155,
|
||||
OwnBattlePetCount = 156,
|
||||
CaptureBattlePet = 157,
|
||||
WinPetBattle = 158,
|
||||
// 159 - 2 criterias (22312,22314), unused (Legion - 23420)
|
||||
LevelBattlePet = 160,
|
||||
CaptureBattlePetCredit = 161, // Triggers A Quest Credit
|
||||
LevelBattlePetCredit = 162, // Triggers A Quest Credit
|
||||
EnterArea = 163, // Triggers A Quest Credit
|
||||
LeaveArea = 164, // Triggers A Quest Credit
|
||||
CompleteDungeonEncounter = 165,
|
||||
// 166 - unused (Legion - 23420)
|
||||
PlaceGarrisonBuilding = 167,
|
||||
UpgradeGarrisonBuilding = 168,
|
||||
ConstructGarrisonBuilding = 169,
|
||||
UpgradeGarrison = 170,
|
||||
StartGarrisonMission = 171,
|
||||
StartOrderHallMission = 172,
|
||||
CompleteGarrisonMissionCount = 173,
|
||||
CompleteGarrisonMission = 174,
|
||||
RecruitGarrisonFollowerCount = 175,
|
||||
RecruitGarrisonFollower = 176,
|
||||
// 177 - 0 criterias (Legion - 23420)
|
||||
LearnGarrisonBlueprintCount = 178,
|
||||
// 179 - 0 criterias (Legion - 23420)
|
||||
// 180 - 0 criterias (Legion - 23420)
|
||||
// 181 - 0 criterias (Legion - 23420)
|
||||
CompleteGarrisonShipment = 182,
|
||||
RaiseGarrisonFollowerItemLevel = 183,
|
||||
RaiseGarrisonFollowerLevel = 184,
|
||||
OwnToy = 185,
|
||||
OwnToyCount = 186,
|
||||
RecruitGarrisonFollowerWithQuality = 187,
|
||||
// 188 - 0 criterias (Legion - 23420)
|
||||
OwnHeirlooms = 189,
|
||||
ArtifactPowerEarned = 190,
|
||||
ArtifactTraitsUnlocked = 191,
|
||||
HonorLevelReached = 194,
|
||||
PrestigeReached = 195,
|
||||
// 196 - CRITERIA_TYPE_REACH_LEVEL_2 or something
|
||||
// 197 - Order Hall Advancement related
|
||||
OrderHallTalentLearned = 198,
|
||||
AppearanceUnlockedBySlot = 199,
|
||||
OrderHallRecruitTyoop = 200,
|
||||
// 201 - 0 criterias (Legion - 23420)
|
||||
// 202 - 0 criterias (Legion - 23420)
|
||||
CompleteWorldQuest = 203,
|
||||
// 204 - Special criteria type to award players for some external events? Comes with what looks like an identifier, so guessing it's not unique.
|
||||
TotalTypes = 208
|
||||
}
|
||||
|
||||
public enum CriteriaDataType
|
||||
{
|
||||
None = 0,
|
||||
TCreature = 1,
|
||||
TPlayerClassRace = 2,
|
||||
TPlayerLessHealth = 3,
|
||||
SAura = 5,
|
||||
TAura = 7,
|
||||
Value = 8,
|
||||
TLevel = 9,
|
||||
TGender = 10,
|
||||
Script = 11,
|
||||
// Reuse
|
||||
MapPlayerCount = 13,
|
||||
TTeam = 14,
|
||||
SDrunk = 15,
|
||||
Holiday = 16,
|
||||
BgLossTeamScore = 17,
|
||||
InstanceScript = 18,
|
||||
SEquippedItem = 19,
|
||||
MapId = 20,
|
||||
SPlayerClassRace = 21,
|
||||
// Reuse
|
||||
SKnownTitle = 23,
|
||||
GameEvent = 24,
|
||||
SItemQuality = 25,
|
||||
|
||||
Max = 25
|
||||
}
|
||||
|
||||
public enum ProgressType
|
||||
{
|
||||
Set,
|
||||
Accumulate,
|
||||
Highest
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum AreaTriggerFlags
|
||||
{
|
||||
HasAbsoluteOrientation = 0x01, // Nyi
|
||||
HasDynamicShape = 0x02, // Implemented For Spheres
|
||||
HasAttached = 0x04,
|
||||
HasFaceMovementDir = 0x08,
|
||||
HasFollowsTerrain = 0x010, // Nyi
|
||||
Unk1 = 0x020,
|
||||
HasTargetRollPitchYaw = 0x040, // Nyi
|
||||
Unk2 = 0x080,
|
||||
Unk3 = 0x100,
|
||||
Unk4 = 0x200,
|
||||
Unk5 = 0x400
|
||||
}
|
||||
|
||||
public enum AreaTriggerTypes
|
||||
{
|
||||
Sphere = 0,
|
||||
Box = 1,
|
||||
Unk = 2,
|
||||
Polygon = 3,
|
||||
Cylinder = 4,
|
||||
Max = 5
|
||||
}
|
||||
|
||||
public enum AreaTriggerActionTypes
|
||||
{
|
||||
Cast = 0,
|
||||
AddAura = 1,
|
||||
Max = 2
|
||||
}
|
||||
|
||||
public enum AreaTriggerActionUserTypes
|
||||
{
|
||||
Any = 0,
|
||||
Friend = 1,
|
||||
Enemy = 2,
|
||||
Raid = 3,
|
||||
Party = 4,
|
||||
Caster = 5,
|
||||
Max = 6
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum AuctionError
|
||||
{
|
||||
Ok = 0,
|
||||
Inventory = 1,
|
||||
DatabaseError = 2,
|
||||
NotEnoughtMoney = 3,
|
||||
ItemNotFound = 4,
|
||||
HigherBid = 5,
|
||||
BidIncrement = 7,
|
||||
BidOwn = 10,
|
||||
RestrictedAccount = 13
|
||||
}
|
||||
|
||||
public enum AuctionAction
|
||||
{
|
||||
SellItem = 0,
|
||||
Cancel = 1,
|
||||
PlaceBid = 2
|
||||
}
|
||||
|
||||
public enum MailAuctionAnswers
|
||||
{
|
||||
Outbidded = 0,
|
||||
Won = 1,
|
||||
Successful = 2,
|
||||
Expired = 3,
|
||||
CancelledToBidder = 4,
|
||||
Canceled = 5,
|
||||
SalePending = 6
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum ResponseCodes
|
||||
{
|
||||
Success = 0,
|
||||
Failure = 1,
|
||||
Cancelled = 2,
|
||||
Disconnected = 3,
|
||||
FailedToConnect = 4,
|
||||
Connected = 5,
|
||||
VersionMismatch = 6,
|
||||
|
||||
CstatusConnecting = 7,
|
||||
CstatusNegotiatingSecurity = 8,
|
||||
CstatusNegotiationComplete = 9,
|
||||
CstatusNegotiationFailed = 10,
|
||||
CstatusAuthenticating = 11,
|
||||
|
||||
RealmListInProgress = 12,
|
||||
RealmListSuccess = 13,
|
||||
RealmListFailed = 14,
|
||||
RealmListInvalid = 15,
|
||||
RealmListRealmNotFound = 16,
|
||||
|
||||
AccountCreateInProgress = 17,
|
||||
AccountCreateSuccess = 18,
|
||||
AccountCreateFailed = 19,
|
||||
|
||||
CharListRetrieving = 20,
|
||||
CharListRetrieved = 21,
|
||||
CharListFailed = 22,
|
||||
|
||||
CharCreateInProgress = 23,
|
||||
CharCreateSuccess = 24,
|
||||
CharCreateError = 25,
|
||||
CharCreateFailed = 26,
|
||||
CharCreateNameInUse = 27,
|
||||
CharCreateDisabled = 28,
|
||||
CharCreatePvpTeamsViolation = 29,
|
||||
CharCreateServerLimit = 30,
|
||||
CharCreateAccountLimit = 31,
|
||||
CharCreateServerQueue = 32,
|
||||
CharCreateOnlyExisting = 33,
|
||||
CharCreateExpansion = 34,
|
||||
CharCreateExpansionClass = 35,
|
||||
CharCreateLevelRequirement = 36,
|
||||
CharCreateUniqueClassLimit = 37,
|
||||
CharCreateCharacterInGuild = 38,
|
||||
CharCreateRestrictedRaceclass = 39,
|
||||
CharCreateCharacterChooseRace = 40,
|
||||
CharCreateCharacterArenaLeader = 41,
|
||||
CharCreateCharacterDeleteMail = 42,
|
||||
CharCreateCharacterSwapFaction = 43,
|
||||
CharCreateCharacterRaceOnly = 44,
|
||||
CharCreateCharacterGoldLimit = 45,
|
||||
CharCreateForceLogin = 46,
|
||||
CharCreateTrial = 47,
|
||||
CharCreateTimeout = 48,
|
||||
CharCreateThrottle = 49,
|
||||
|
||||
CharDeleteInProgress = 50,
|
||||
CharDeleteSuccess = 51,
|
||||
CharDeleteFailed = 52,
|
||||
CharDeleteFailedLockedForTransfer = 53,
|
||||
CharDeleteFailedGuildLeader = 54,
|
||||
CharDeleteFailedArenaCaptain = 55,
|
||||
CharDeleteFailedHasHeirloomOrMail = 56,
|
||||
CharDeleteFailedUpgradeInProgress = 57,
|
||||
CharDeleteFailedHasWowToken = 58,
|
||||
CharDeleteFailedVasTransactionInProgress = 59,
|
||||
|
||||
CharLoginInProgress = 60,
|
||||
CharLoginSuccess = 61,
|
||||
CharLoginNoWorld = 62,
|
||||
CharLoginDuplicateCharacter = 63,
|
||||
CharLoginNoInstances = 64,
|
||||
CharLoginFailed = 65,
|
||||
CharLoginDisabled = 66,
|
||||
CharLoginNoCharacter = 67,
|
||||
CharLoginLockedForTransfer = 68,
|
||||
CharLoginLockedByBilling = 69,
|
||||
CharLoginLockedByMobileAh = 70,
|
||||
CharLoginTemporaryGmLock = 71,
|
||||
CharLoginLockedByCharacterUpgrade = 72,
|
||||
CharLoginLockedByRevokedCharacterUpgrade = 73,
|
||||
CharLoginLockedByRevokedVasTransaction = 74,
|
||||
|
||||
CharNameSuccess = 75,
|
||||
CharNameFailure = 76,
|
||||
CharNameNoName = 77,
|
||||
CharNameTooShort = 78,
|
||||
CharNameTooLong = 79,
|
||||
CharNameInvalidCharacter = 80,
|
||||
CharNameMixedLanguages = 81,
|
||||
CharNameProfane = 82,
|
||||
CharNameReserved = 83,
|
||||
CharNameInvalidApostrophe = 84,
|
||||
CharNameMultipleApostrophes = 85,
|
||||
CharNameThreeConsecutive = 86,
|
||||
CharNameInvalidSpace = 87,
|
||||
CharNameConsecutiveSpaces = 88,
|
||||
CharNameRussianConsecutiveSilentCharacters = 89,
|
||||
CharNameRussianSilentCharacterAtBeginningOrEnd = 90,
|
||||
CharNameDeclensionDoesntMatchBaseName = 91
|
||||
}
|
||||
|
||||
public enum CharacterUndeleteResult
|
||||
{
|
||||
Ok = 0,
|
||||
Cooldown = 1,
|
||||
CharCreate = 2,
|
||||
Disabled = 3,
|
||||
NameTakenByThisAccount = 4,
|
||||
Unknown = 5
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,668 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum BattlenetRpcErrorCode : uint
|
||||
{
|
||||
Ok = 0x00000000,
|
||||
Internal = 0x00000001,
|
||||
TimedOut = 0x00000002,
|
||||
Denied = 0x00000003,
|
||||
NotExists = 0x00000004,
|
||||
NotStarted = 0x00000005,
|
||||
InProgress = 0x00000006,
|
||||
InvalidArgs = 0x00000007,
|
||||
InvalidSubscriber = 0x00000008,
|
||||
WaitingForDependency = 0x00000009,
|
||||
NoAuth = 0x0000000a,
|
||||
ParentalControlRestriction = 0x0000000b,
|
||||
NoGameAccount = 0x0000000c,
|
||||
NotImplemented = 0x0000000d,
|
||||
ObjectRemoved = 0x0000000e,
|
||||
InvalidEntityId = 0x0000000f,
|
||||
InvalidEntityAccountId = 0x00000010,
|
||||
InvalidEntityGameAccountId = 0x00000011,
|
||||
InvalidAgentId = 0x00000013,
|
||||
InvalidTargetId = 0x00000014,
|
||||
ModuleNotLoaded = 0x00000015,
|
||||
ModuleNoEntryPoint = 0x00000016,
|
||||
ModuleSignatureIncorrect = 0x00000017,
|
||||
ModuleCreateFailed = 0x00000018,
|
||||
NoProgram = 0x00000019,
|
||||
ApiNotReady = 0x0000001b,
|
||||
BadVersion = 0x0000001c,
|
||||
AttributeTooManyAttributesSet = 0x0000001d,
|
||||
AttributeMaxSizeExceeded = 0x0000001e,
|
||||
AttributeQuotaExceeded = 0x0000001f,
|
||||
ServerPoolServerDisappeared = 0x00000020,
|
||||
ServerIsPrivate = 0x00000021,
|
||||
Disabled = 0x00000022,
|
||||
ModuleNotFound = 0x00000024,
|
||||
ServerBusy = 0x00000025,
|
||||
NoBattletag = 0x00000026,
|
||||
IncompleteProfanityFilters = 0x00000027,
|
||||
InvalidRegion = 0x00000028,
|
||||
ExistsAlready = 0x00000029,
|
||||
InvalidServerThumbprint = 0x0000002a,
|
||||
PhoneLock = 0x0000002b,
|
||||
Squelched = 0x0000002c,
|
||||
TargetOffline = 0x0000002d,
|
||||
BadServer = 0x0000002e,
|
||||
NoCookie = 0x0000002f,
|
||||
ExpiredCookie = 0x00000030,
|
||||
TokenNotFound = 0x00000031,
|
||||
GameAccountNoTime = 0x00000032,
|
||||
GameAccountNoPlan = 0x00000033,
|
||||
GameAccountBanned = 0x00000034,
|
||||
GameAccountSuspended = 0x00000035,
|
||||
GameAccountAlreadySelected = 0x00000036,
|
||||
GameAccountCancelled = 0x00000037,
|
||||
GameAccountCreationDisabled = 0x00000038,
|
||||
GameAccountLocked = 0x00000039,
|
||||
|
||||
SessionDuplicate = 0x0000003c,
|
||||
SessionDisconnected = 0x0000003d,
|
||||
SessionDataChanged = 0x0000003e,
|
||||
SessionUpdateFailed = 0x0000003f,
|
||||
SessionNotFound = 0x00000040,
|
||||
|
||||
AdminKick = 0x00000046,
|
||||
UnplannedMaintenance = 0x00000047,
|
||||
PlannedMaintenance = 0x00000048,
|
||||
ServiceFailureAccount = 0x00000049,
|
||||
ServiceFailureSession = 0x0000004a,
|
||||
ServiceFailureAuth = 0x0000004b,
|
||||
ServiceFailureRisk = 0x0000004c,
|
||||
BadProgram = 0x0000004d,
|
||||
BadLocale = 0x0000004e,
|
||||
BadPlatform = 0x0000004f,
|
||||
LocaleRestrictedLa = 0x00000051,
|
||||
LocaleRestrictedRu = 0x00000052,
|
||||
LocaleRestrictedKo = 0x00000053,
|
||||
LocaleRestrictedTw = 0x00000054,
|
||||
LocaleRestricted = 0x00000055,
|
||||
AccountNeedsMaintenance = 0x00000056,
|
||||
ModuleApiError = 0x00000057,
|
||||
ModuleBadCacheHandle = 0x00000058,
|
||||
ModuleAlreadyLoaded = 0x00000059,
|
||||
NetworkBlacklisted = 0x0000005a,
|
||||
EventProcessorSlow = 0x0000005b,
|
||||
ServerShuttingDown = 0x0000005c,
|
||||
NetworkNotPrivileged = 0x0000005d,
|
||||
TooManyOutstandingRequests = 0x0000005e,
|
||||
NoAccountRegistered = 0x0000005f,
|
||||
BattlenetAccountBanned = 0x00000060,
|
||||
|
||||
OkDeprecated = 0x00000064,
|
||||
ServerInModeZombie = 0x00000065,
|
||||
|
||||
LogonModuleRequired = 0x000001f4,
|
||||
LogonModuleNotConfigured = 0x000001f5,
|
||||
LogonModuleTimeout = 0x000001f6,
|
||||
LogonAgreementRequired = 0x000001fe,
|
||||
LogonAgreementNotConfigured = 0x000001ff,
|
||||
|
||||
LogonInvalidServerProof = 0x00000208,
|
||||
LogonWebVerifyTimeout = 0x00000209,
|
||||
LogonInvalidAuthToken = 0x0000020a,
|
||||
|
||||
ChallengeSmsTooSoon = 0x00000258,
|
||||
ChallengeSmsThrottled = 0x00000259,
|
||||
ChallengeSmsTempOutage = 0x0000025a,
|
||||
ChallengeNoChallenge = 0x0000025b,
|
||||
ChallengeNotPicked = 0x0000025c,
|
||||
ChallengeAlreadyPicked = 0x0000025d,
|
||||
ChallengeInProgress = 0x0000025e,
|
||||
|
||||
ConfigFormatInvalid = 0x000002bc,
|
||||
ConfigNotFound = 0x000002bd,
|
||||
ConfigRetrieveFailed = 0x000002be,
|
||||
|
||||
NetworkModuleBusy = 0x000003e8,
|
||||
NetworkModuleCantResolveAddress = 0x000003e9,
|
||||
NetworkModuleConnectionRefused = 0x000003ea,
|
||||
NetworkModuleInterrupted = 0x000003eb,
|
||||
NetworkModuleConnectionAborted = 0x000003ec,
|
||||
NetworkModuleConnectionReset = 0x000003ed,
|
||||
NetworkModuleBadAddress = 0x000003ee,
|
||||
NetworkModuleNotReady = 0x000003ef,
|
||||
NetworkModuleAlreadyConnected = 0x000003f0,
|
||||
NetworkModuleCantCreateSocket = 0x000003f1,
|
||||
NetworkModuleNetworkUnreachable = 0x000003f2,
|
||||
NetworkModuleSocketPermissionDenied = 0x000003f3,
|
||||
NetworkModuleNotInitialized = 0x000003f4,
|
||||
NetworkModuleNoSslCertificateForPeer = 0x000003f5,
|
||||
NetworkModuleNoSslCommonNameForCertificate = 0x000003f6,
|
||||
NetworkModuleSslCommonNameDoesNotMatchRemoteEndpoint = 0x000003f7,
|
||||
NetworkModuleSocketClosed = 0x000003f8,
|
||||
NetworkModuleSslPeerIsNotRegisteredInCertbundle = 0x000003f9,
|
||||
NetworkModuleSslInitializeLowFirst = 0x000003fa,
|
||||
NetworkModuleSslCertBundleReadError = 0x000003fb,
|
||||
NetworkModuleNoCertBundle = 0x000003fc,
|
||||
NetworkModuleFailedToDownloadCertBundle = 0x000003fd,
|
||||
NetworkModuleNotReadyToRead = 0x000003fe,
|
||||
|
||||
NetworkModuleOpensslX509Ok = 0x000004b0,
|
||||
NetworkModuleOpensslX509UnableToGetIssuerCert = 0x000004b1,
|
||||
NetworkModuleOpensslX509UnableToGetCrl = 0x000004b2,
|
||||
NetworkModuleOpensslX509UnableToDecryptCertSignature = 0x000004b3,
|
||||
NetworkModuleOpensslX509UnableToDecryptCrlSignature = 0x000004b4,
|
||||
NetworkModuleOpensslX509UnableToDecodeIssuerPublicKey = 0x000004b5,
|
||||
NetworkModuleOpensslX509CertSignatureFailure = 0x000004b6,
|
||||
NetworkModuleOpensslX509CrlSignatureFailure = 0x000004b7,
|
||||
NetworkModuleOpensslX509CertNotYetValid = 0x000004b8,
|
||||
NetworkModuleOpensslX509CertHasExpired = 0x000004b9,
|
||||
NetworkModuleOpensslX509CrlNotYetValid = 0x000004ba,
|
||||
NetworkModuleOpensslX509CrlHasExpired = 0x000004bb,
|
||||
NetworkModuleOpensslX509InCertNotBeforeField = 0x000004bc,
|
||||
NetworkModuleOpensslX509InCertNotAfterField = 0x000004bd,
|
||||
NetworkModuleOpensslX509InCrlLastUpdateField = 0x000004be,
|
||||
NetworkModuleOpensslX509InCrlNextUpdateField = 0x000004bf,
|
||||
NetworkModuleOpensslX509OutOfMem = 0x000004c0,
|
||||
NetworkModuleOpensslX509DepthZeroSelfSignedCert = 0x000004c1,
|
||||
NetworkModuleOpensslX509SelfSignedCertInChain = 0x000004c2,
|
||||
NetworkModuleOpensslX509UnableToGetIssuerCertLocally = 0x000004c3,
|
||||
NetworkModuleOpensslX509UnableToVerifyLeafSignature = 0x000004c4,
|
||||
NetworkModuleOpensslX509CertChainTooLong = 0x000004c5,
|
||||
NetworkModuleOpensslX509CertRevoked = 0x000004c6,
|
||||
NetworkModuleOpensslX509InvalidCa = 0x000004c7,
|
||||
NetworkModuleOpensslX509PathLengthExceeded = 0x000004c8,
|
||||
NetworkModuleOpensslX509InvalidPurpose = 0x000004c9,
|
||||
NetworkModuleOpensslX509CertUntrusted = 0x000004ca,
|
||||
NetworkModuleOpensslX509CertRejected = 0x000004cb,
|
||||
NetworkModuleOpensslX509SubjectIssuerMismatch = 0x000004cc,
|
||||
NetworkModuleOpensslX509AkidSkidMismatch = 0x000004cd,
|
||||
NetworkModuleOpensslX509AkidIssuerSerialMismatch = 0x000004ce,
|
||||
NetworkModuleOpensslX509KeyusageNoCertsign = 0x000004cf,
|
||||
NetworkModuleOpensslX509ApplicationVerification = 0x000004d0,
|
||||
|
||||
NetworkModuleSchannelCannotFindOsVersion = 0x00000514,
|
||||
NetworkModuleSchannelOsNotSupported = 0x00000515,
|
||||
NetworkModuleSchannelLoadlibraryFail = 0x00000516,
|
||||
NetworkModuleSchannelCannotFindInterface = 0x00000517,
|
||||
NetworkModuleSchannelInitFail = 0x00000518,
|
||||
NetworkModuleSchannelFunctionCallFail = 0x00000519,
|
||||
NetworkModuleSchannelX509UnableToGetIssuerCert = 0x00000546,
|
||||
NetworkModuleSchannelX509TimeInvalid = 0x00000547,
|
||||
NetworkModuleSchannelX509SignatureInvalid = 0x00000548,
|
||||
NetworkModuleSchannelX509UnableToVerifyLeafSignature = 0x00000549,
|
||||
NetworkModuleSchannelX509SelfSignedLeafCertificate = 0x0000054a,
|
||||
NetworkModuleSchannelX509UnhandledError = 0x0000054b,
|
||||
NetworkModuleSchannelX509SelfSignedCertInChain = 0x0000054c,
|
||||
|
||||
WebsocketHandshake = 0x00000578,
|
||||
|
||||
NetworkModuleDurangoUnknown = 0x000005dc,
|
||||
NetworkModuleDurangoMalformedHostName = 0x000005dd,
|
||||
NetworkModuleDurangoInvalidConnectionResponse = 0x000005de,
|
||||
NetworkModuleDurangoInvalidCaCert = 0x000005df,
|
||||
|
||||
RpcWriteFailed = 0x00000bb8,
|
||||
RpcServiceNotBound = 0x00000bb9,
|
||||
RpcTooManyRequests = 0x00000bba,
|
||||
RpcPeerUnknown = 0x00000bbb,
|
||||
RpcPeerUnavailable = 0x00000bbc,
|
||||
RpcPeerDisconnected = 0x00000bbd,
|
||||
RpcRequestTimedOut = 0x00000bbe,
|
||||
RpcConnectionTimedOut = 0x00000bbf,
|
||||
RpcMalformedResponse = 0x00000bc0,
|
||||
RpcAccessDenied = 0x00000bc1,
|
||||
RpcInvalidService = 0x00000bc2,
|
||||
RpcInvalidMethod = 0x00000bc3,
|
||||
RpcInvalidObject = 0x00000bc4,
|
||||
RpcMalformedRequest = 0x00000bc5,
|
||||
RpcQuotaExceeded = 0x00000bc6,
|
||||
RpcNotImplemented = 0x00000bc7,
|
||||
RpcServerError = 0x00000bc8,
|
||||
RpcShutdown = 0x00000bc9,
|
||||
RpcDisconnect = 0x00000bca,
|
||||
RpcDisconnectIdle = 0x00000bcb,
|
||||
RpcProtocolError = 0x00000bcc,
|
||||
RpcNotReady = 0x00000bcd,
|
||||
RpcForwardFailed = 0x00000bce,
|
||||
RpcEncryptionFailed = 0x00000bcf,
|
||||
RpcInvalidAddress = 0x00000bd0,
|
||||
RpcMethodDisabled = 0x00000bd1,
|
||||
RpcShardNotFound = 0x00000bd2,
|
||||
RpcInvalidConnectionId = 0x00000bd3,
|
||||
RpcNotConnected = 0x00000bd4,
|
||||
RpcInvalidConnectionState = 0x00000bd5,
|
||||
RpcServiceAlreadyRegistered = 0x00000bd6,
|
||||
|
||||
PresenceInvalidFieldId = 0x00000fa0,
|
||||
PresenceNoValidSubscribers = 0x00000fa1,
|
||||
PresenceAlreadySubscribed = 0x00000fa2,
|
||||
PresenceConsumerNotFound = 0x00000fa3,
|
||||
PresenceConsumerIsNull = 0x00000fa4,
|
||||
PresenceTemporaryOutage = 0x00000fa5,
|
||||
PresenceTooManySubscriptions = 0x00000fa6,
|
||||
PresenceSubscriptionCancelled = 0x00000fa7,
|
||||
PresenceRichPresenceParseError = 0x00000fa8,
|
||||
PresenceRichPresenceXmlError = 0x00000fa9,
|
||||
PresenceRichPresenceLoadError = 0x00000faa,
|
||||
|
||||
FriendsTooManySentInvitations = 0x00001389,
|
||||
FriendsTooManyReceivedInvitations = 0x0000138a,
|
||||
FriendsFriendshipAlreadyExists = 0x0000138b,
|
||||
FriendsFriendshipDoesNotExist = 0x0000138c,
|
||||
FriendsInvitationAlreadyExists = 0x0000138d,
|
||||
FriendsInvalidInvitation = 0x0000138e,
|
||||
FriendsAlreadySubscribed = 0x0000138f,
|
||||
FriendsAccountBlocked = 0x00001391,
|
||||
FriendsNotSubscribed = 0x00001392,
|
||||
FriendsInvalidRoleId = 0x00001393,
|
||||
FriendsDisabledRoleId = 0x00001394,
|
||||
FriendsNoteMaxSizeExceeded = 0x00001395,
|
||||
FriendsUpdateFriendStateFailed = 0x00001396,
|
||||
FriendsInviteeAtMaxFriends = 0x00001397,
|
||||
FriendsInviterAtMaxFriends = 0x00001398,
|
||||
|
||||
PlatformStorageFileWriteDenied = 0x00001770,
|
||||
|
||||
WhisperUndeliverable = 0x00001b58,
|
||||
WhisperMaxSizeExceeded = 0x00001b59,
|
||||
|
||||
UserManagerAlreadyBlocked = 0x00001f40,
|
||||
UserManagerNotBlocked = 0x00001f41,
|
||||
UserManagerCannotBlockSelf = 0x00001f42,
|
||||
UserManagerAlreadyRegistered = 0x00001f43,
|
||||
UserManagerNotRegistered = 0x00001f44,
|
||||
UserManagerTooManyBlockedEntities = 0x00001f45,
|
||||
UserManagerTooManyIds = 0x00001f47,
|
||||
UserManagerBlockRecordUnavailable = 0x00001f4f,
|
||||
UserManagerBlockEntityFailed = 0x00001f50,
|
||||
UserManagerUnblockEntityFailed = 0x00001f51,
|
||||
UserManagerCannotBlockFriend = 0x00001f53,
|
||||
|
||||
SocialNetworkDbException = 0x00002328,
|
||||
SocialNetworkDenialFromProvider = 0x00002329,
|
||||
SocialNetworkInvalidSnsId = 0x0000232a,
|
||||
SocialNetworkCantSendToProvider = 0x0000232b,
|
||||
SocialNetworkExCommFailed = 0x0000232c,
|
||||
SocialNetworkDisabled = 0x0000232d,
|
||||
SocialNetworkMissingRequestParam = 0x0000232e,
|
||||
SocialNetworkUnsupportedOauthVersion = 0x0000232f,
|
||||
|
||||
ChannelFull = 0x00002710,
|
||||
ChannelNoChannel = 0x00002711,
|
||||
ChannelNotMember = 0x00002712,
|
||||
ChannelAlreadyMember = 0x00002713,
|
||||
ChannelNoSuchMember = 0x00002714,
|
||||
ChannelInvalidChannelId = 0x00002716,
|
||||
ChannelNoSuchInvitation = 0x00002718,
|
||||
ChannelTooManyInvitations = 0x00002719,
|
||||
ChannelInvitationAlreadyExists = 0x0000271a,
|
||||
ChannelInvalidChannelSize = 0x0000271b,
|
||||
ChannelInvalidRoleId = 0x0000271c,
|
||||
ChannelRoleNotAssignable = 0x0000271d,
|
||||
ChannelInsufficientPrivileges = 0x0000271e,
|
||||
ChannelInsufficientPrivacyLevel = 0x0000271f,
|
||||
ChannelInvalidPrivacyLevel = 0x00002720,
|
||||
ChannelTooManyChannelsJoined = 0x00002721,
|
||||
ChannelInvitationAlreadySubscribed = 0x00002722,
|
||||
ChannelInvalidChannelDelegate = 0x00002723,
|
||||
ChannelSlotAlreadyReserved = 0x00002724,
|
||||
ChannelSlotNotReserved = 0x00002725,
|
||||
ChannelNoReservedSlotsAvailable = 0x00002726,
|
||||
ChannelInvalidRoleSet = 0x00002727,
|
||||
ChannelRequireFriendValidation = 0x00002728,
|
||||
ChannelMemberOffline = 0x00002729,
|
||||
ChannelReceivedTooManyInvitations = 0x0000272a,
|
||||
ChannelInvitationInvalidGameAccountSelected = 0x0000272b,
|
||||
ChannelUnreachable = 0x0000272c,
|
||||
ChannelInvitationNotSubscribed = 0x0000272d,
|
||||
ChannelInvalidMessageSize = 0x0000272e,
|
||||
ChannelMaxMessageSizeExceeded = 0x0000272f,
|
||||
ChannelConfigNotFound = 0x00002730,
|
||||
ChannelInvalidChannelType = 0x00002731,
|
||||
|
||||
LocalStorageFileOpenError = 0x00002af8,
|
||||
LocalStorageFileCreateError = 0x00002af9,
|
||||
LocalStorageFileReadError = 0x00002afa,
|
||||
LocalStorageFileWriteError = 0x00002afb,
|
||||
LocalStorageFileDeleteError = 0x00002afc,
|
||||
LocalStorageFileCopyError = 0x00002afd,
|
||||
LocalStorageFileDecompressError = 0x00002afe,
|
||||
LocalStorageFileHashMismatch = 0x00002aff,
|
||||
LocalStorageFileUsageMismatch = 0x00002b00,
|
||||
LocalStorageDatabaseInitError = 0x00002b01,
|
||||
LocalStorageDatabaseNeedsRebuild = 0x00002b02,
|
||||
LocalStorageDatabaseInsertError = 0x00002b03,
|
||||
LocalStorageDatabaseLookupError = 0x00002b04,
|
||||
LocalStorageDatabaseUpdateError = 0x00002b05,
|
||||
LocalStorageDatabaseDeleteError = 0x00002b06,
|
||||
LocalStorageDatabaseShrinkError = 0x00002b07,
|
||||
LocalStorageCacheCrawlError = 0x00002b08,
|
||||
LocalStorageDatabaseIndexTriggerError = 0x00002b09,
|
||||
LocalStorageDatabaseRebuildInProgress = 0x00002b0a,
|
||||
LocalStorageOkButNotInCache = 0x00002b0b,
|
||||
LocalStorageDatabaseRebuildInterrupted = 0x00002b0d,
|
||||
LocalStorageDatabaseNotInitialized = 0x00002b0e,
|
||||
LocalStorageDirectoryCreateError = 0x00002b0f,
|
||||
LocalStorageFilekeyNotFound = 0x00002b10,
|
||||
LocalStorageNotAvailableOnServer = 0x00002b11,
|
||||
|
||||
RegistryCreateKeyError = 0x00002ee0,
|
||||
RegistryOpenKeyError = 0x00002ee1,
|
||||
RegistryReadError = 0x00002ee2,
|
||||
RegistryWriteError = 0x00002ee3,
|
||||
RegistryTypeError = 0x00002ee4,
|
||||
RegistryDeleteError = 0x00002ee5,
|
||||
RegistryEncryptError = 0x00002ee6,
|
||||
RegistryDecryptError = 0x00002ee7,
|
||||
RegistryKeySizeError = 0x00002ee8,
|
||||
RegistryValueSizeError = 0x00002ee9,
|
||||
RegistryNotFound = 0x00002eeb,
|
||||
RegistryMalformedString = 0x00002eec,
|
||||
|
||||
InterfaceAlreadyConnected = 0x000032c8,
|
||||
InterfaceNotReady = 0x000032c9,
|
||||
InterfaceOptionKeyTooLarge = 0x000032ca,
|
||||
InterfaceOptionValueTooLarge = 0x000032cb,
|
||||
InterfaceOptionKeyInvalidUtf8String = 0x000032cc,
|
||||
InterfaceOptionValueInvalidUtf8String = 0x000032cd,
|
||||
|
||||
HttpCouldntResolve = 0x000036b0,
|
||||
HttpCouldntConnect = 0x000036b1,
|
||||
HttpTimeout = 0x000036b2,
|
||||
HttpFailed = 0x000036b3,
|
||||
HttpMalformedUrl = 0x000036b4,
|
||||
HttpDownloadAborted = 0x000036b5,
|
||||
HttpCouldntWriteFile = 0x000036b6,
|
||||
HttpTooManyRedirects = 0x000036b7,
|
||||
HttpCouldntOpenFile = 0x000036b8,
|
||||
HttpCouldntCreateFile = 0x000036b9,
|
||||
HttpCouldntReadFile = 0x000036ba,
|
||||
HttpCouldntRenameFile = 0x000036bb,
|
||||
HttpCouldntCreateDirectory = 0x000036bc,
|
||||
HttpCurlIsNotReady = 0x000036bd,
|
||||
HttpCancelled = 0x000036be,
|
||||
|
||||
HttpFileNotFound = 0x00003844,
|
||||
|
||||
AccountMissingConfig = 0x00004650,
|
||||
AccountDataNotFound = 0x00004651,
|
||||
AccountAlreadySubscribed = 0x00004652,
|
||||
AccountNotSubscribed = 0x00004653,
|
||||
AccountFailedToParseTimezoneData = 0x00004654,
|
||||
AccountLoadFailed = 0x00004655,
|
||||
AccountLoadCancelled = 0x00004656,
|
||||
AccountDatabaseInvalidateFailed = 0x00004657,
|
||||
AccountCacheInvalidateFailed = 0x00004658,
|
||||
AccountSubscriptionPending = 0x00004659,
|
||||
AccountUnknownRegion = 0x0000465a,
|
||||
AccountDataFailedToParse = 0x0000465b,
|
||||
AccountUnderage = 0x0000465c,
|
||||
AccountIdentityCheckPending = 0x0000465d,
|
||||
AccountIdentityUnverified = 0x0000465e,
|
||||
|
||||
DatabaseBindingCountMismatch = 0x00004a38,
|
||||
DatabaseBindingParseFail = 0x00004a39,
|
||||
DatabaseResultsetColumnsMismatch = 0x00004a3a,
|
||||
DatabaseDeadlock = 0x00004a3b,
|
||||
DatabaseDuplicateKey = 0x00004a3c,
|
||||
DatabaseCannotConnect = 0x00004a3d,
|
||||
DatabaseStatementFailed = 0x00004a3e,
|
||||
DatabaseTransactionNotStarted = 0x00004a3f,
|
||||
DatabaseTransactionNotEnded = 0x00004a40,
|
||||
DatabaseTransactionLeak = 0x00004a41,
|
||||
DatabaseTransactionStateBad = 0x00004a42,
|
||||
DatabaseServerGone = 0x00004a43,
|
||||
DatabaseQueryTimeout = 0x00004a44,
|
||||
DatabaseBindingNotNullable = 0x00004a9c,
|
||||
DatabaseBindingInvalidInteger = 0x00004a9d,
|
||||
DatabaseBindingInvalidFloat = 0x00004a9e,
|
||||
DatabaseBindingInvalidTemporal = 0x00004a9f,
|
||||
DatabaseBindingInvalidProtobuf = 0x00004aa0,
|
||||
|
||||
PartyInvalidPartyId = 0x00004e20,
|
||||
PartyAlreadyInParty = 0x00004e21,
|
||||
PartyNotInParty = 0x00004e22,
|
||||
PartyInvitationUndeliverable = 0x00004e23,
|
||||
PartyInvitationAlreadyExists = 0x00004e24,
|
||||
PartyTooManyPartyInvitations = 0x00004e25,
|
||||
PartyTooManyReceivedInvitations = 0x00004e26,
|
||||
PartyNoSuchType = 0x00004e27,
|
||||
|
||||
GamesNoSuchFactory = 0x000055f0,
|
||||
GamesNoSuchGame = 0x000055f1,
|
||||
GamesNoSuchRequest = 0x000055f2,
|
||||
GamesNoSuchPartyMember = 0x000055f3,
|
||||
|
||||
ResourcesOffline = 0x000059d8,
|
||||
|
||||
GameServerCreateGameRefused = 0x00005dc0,
|
||||
GameServerAddPlayersRefused = 0x00005dc1,
|
||||
GameServerRemovePlayersRefused = 0x00005dc2,
|
||||
GameServerFinishGameRefused = 0x00005dc3,
|
||||
GameServerNoSuchGame = 0x00005dc4,
|
||||
GameServerNoSuchPlayer = 0x00005dc5,
|
||||
GameServerCreateGameRefusedTransient = 0x00005df2,
|
||||
GameServerAddPlayersRefusedTransient = 0x00005df3,
|
||||
GameServerRemovePlayersRefusedTransient = 0x00005df4,
|
||||
GameServerFinishGameRefusedTransient = 0x00005df5,
|
||||
GameServerCreateGameRefusedBusy = 0x00005e24,
|
||||
GameServerAddPlayersRefusedBusy = 0x00005e25,
|
||||
GameServerRemovePlayersRefusedBusy = 0x00005e26,
|
||||
GameServerFinishGameRefusedBusy = 0x00005e27,
|
||||
|
||||
GameMasterInvalidFactory = 0x000061a8,
|
||||
GameMasterInvalidGame = 0x000061a9,
|
||||
GameMasterGameFull = 0x000061aa,
|
||||
GameMasterRegisterFailed = 0x000061ab,
|
||||
GameMasterNoGameServer = 0x000061ac,
|
||||
GameMasterNoUtilityServer = 0x000061ad,
|
||||
GameMasterNoGameVersion = 0x000061ae,
|
||||
GameMasterGameJoinFailed = 0x000061af,
|
||||
GameMasterAlreadyRegistered = 0x000061b0,
|
||||
GameMasterNoFactory = 0x000061b1,
|
||||
GameMasterMultipleGameVersions = 0x000061b2,
|
||||
GameMasterInvalidPlayer = 0x000061b3,
|
||||
GameMasterInvalidGameRequest = 0x000061b4,
|
||||
GameMasterInsufficientPrivileges = 0x000061b5,
|
||||
GameMasterAlreadyInGame = 0x000061b6,
|
||||
GameMasterInvalidGameServerResponse = 0x000061b7,
|
||||
GameMasterGameAccountLookupFailed = 0x000061b8,
|
||||
GameMasterGameEntryCancelled = 0x000061b9,
|
||||
GameMasterGameEntryAbortedClientDropped = 0x000061ba,
|
||||
GameMasterGameEntryAbortedByService = 0x000061bb,
|
||||
GameMasterNoAvailableCapacity = 0x000061bc,
|
||||
GameMasterInvalidTeamId = 0x000061bd,
|
||||
GameMasterCreationInProgress = 0x000061be,
|
||||
|
||||
NotificationInvalidClientId = 0x00006590,
|
||||
NotificationDuplicateName = 0x00006591,
|
||||
NotificationNameNotFound = 0x00006592,
|
||||
NotificationInvalidServer = 0x00006593,
|
||||
NotificationQuotaExceeded = 0x00006594,
|
||||
NotificationInvalidNotificationType = 0x00006595,
|
||||
NotificationUndeliverable = 0x00006596,
|
||||
NotificationUndeliverableTemporary = 0x00006597,
|
||||
|
||||
AchievementsNothingToUpdate = 0x00006d60,
|
||||
AchievementsInvalidParams = 0x00006d61,
|
||||
AchievementsNotRegistered = 0x00006d62,
|
||||
AchievementsNotReady = 0x00006d63,
|
||||
AchievementsFailedToParseStaticData = 0x00006d64,
|
||||
AchievementsUnknownId = 0x00006d65,
|
||||
AchievementsMissingSnapshot = 0x00006d66,
|
||||
AchievementsAlreadyRegistered = 0x00006d67,
|
||||
AchievementsTooManyRegistrations = 0x00006d68,
|
||||
AchievementsAlreadyInProgress = 0x00006d69,
|
||||
AchievementsTemporaryOutage = 0x00006d6a,
|
||||
AchievementsInvalidProgramid = 0x00006d6b,
|
||||
AchievementsMissingRecord = 0x00006d6c,
|
||||
AchievementsRegistrationPending = 0x00006d6d,
|
||||
AchievementsEntityIdNotFound = 0x00006d6e,
|
||||
AchievementsAchievementIdNotFound = 0x00006d6f,
|
||||
AchievementsCriteriaIdNotFound = 0x00006d70,
|
||||
AchievementsStaticDataMismatch = 0x00006d71,
|
||||
AchievementsWrongThread = 0x00006d72,
|
||||
AchievementsCallbackIsNull = 0x00006d73,
|
||||
AchievementsAutoRegisterPending = 0x00006d74,
|
||||
AchievementsNotInitialized = 0x00006d75,
|
||||
AchievementsAchievementIdAlreadyExists = 0x00006d76,
|
||||
AchievementsFailedToDownloadStaticData = 0x00006d77,
|
||||
AchievementsStaticDataNotFound = 0x00006d78,
|
||||
|
||||
GameUtilityServerVariableRequestRefused = 0x000084d1,
|
||||
GameUtilityServerWrongNumberOfVariablesReturned = 0x000084d2,
|
||||
GameUtilityServerClientRequestRefused = 0x000084d3,
|
||||
GameUtilityServerPresenceChannelCreatedRefused = 0x000084d4,
|
||||
GameUtilityServerVariableRequestRefusedTransient = 0x00008502,
|
||||
GameUtilityServerClientRequestRefusedTransient = 0x00008503,
|
||||
GameUtilityServerPresenceChannelCreatedRefusedTransient = 0x00008504,
|
||||
GameUtilityServerServerRequestRefusedTransient = 0x00008505,
|
||||
GameUtilityServerVariableRequestRefusedBusy = 0x00008534,
|
||||
GameUtilityServerClientRequestRefusedBusy = 0x00008535,
|
||||
GameUtilityServerPresenceChannelCreatedRefusedBusy = 0x00008536,
|
||||
GameUtilityServerServerRequestRefusedBusy = 0x00008537,
|
||||
GameUtilityServerNoServer = 0x00008598,
|
||||
|
||||
IdentityInsufficientData = 0x0000a028,
|
||||
IdentityTooManyResults = 0x0000a029,
|
||||
IdentityBadId = 0x0000a02a,
|
||||
IdentityNoAccountBlob = 0x0000a02b,
|
||||
|
||||
RiskChallengeAction = 0x0000a410,
|
||||
RiskDelayAction = 0x0000a411,
|
||||
RiskThrottleAction = 0x0000a412,
|
||||
RiskAccountLocked = 0x0000a413,
|
||||
RiskCsDenied = 0x0000a414,
|
||||
RiskDisconnectAccount = 0x0000a415,
|
||||
RiskCheckSkipped = 0x0000a416,
|
||||
|
||||
ReportUnavailable = 0x0000afc8,
|
||||
ReportTooLarge = 0x0000afc9,
|
||||
ReportUnknownType = 0x0000afca,
|
||||
ReportAttributeInvalid = 0x0000afcb,
|
||||
ReportAttributeQuotaExceeded = 0x0000afcc,
|
||||
ReportUnconfirmed = 0x0000afcd,
|
||||
ReportNotConnected = 0x0000afce,
|
||||
ReportRejected = 0x0000afcf,
|
||||
ReportTooManyRequests = 0x0000afd0,
|
||||
|
||||
AccountAlreadyRegisterd = 0x0000bb80,
|
||||
AccountNotRegistered = 0x0000bb81,
|
||||
AccountRegistrationPending = 0x0000bb82,
|
||||
|
||||
MemcachedClientNoError = 0x00010000,
|
||||
MemcachedClientKeyNotFound = 0x00010001,
|
||||
MemcachedKeyExists = 0x00010002,
|
||||
MemcachedValueToLarge = 0x00010003,
|
||||
MemcachedInvalidArgs = 0x00010004,
|
||||
MemcachedItemNotStored = 0x00010005,
|
||||
MemcachedNonNumericValue = 0x00010006,
|
||||
MemcachedWrongServer = 0x00010007,
|
||||
MemcachedAuthenticationError = 0x00010008,
|
||||
MemcachedAuthenticationContinue = 0x00010009,
|
||||
MemcachedUnknownCommand = 0x0001000a,
|
||||
MemcachedOutOfMemory = 0x0001000b,
|
||||
MemcachedNotSupported = 0x0001000c,
|
||||
MemcachedInternalError = 0x0001000d,
|
||||
MemcachedTemporaryFailure = 0x0001000e,
|
||||
|
||||
MemcachedClientAlreadyConnected = 0x000186a0,
|
||||
MemcachedClientBadConfig = 0x000186a1,
|
||||
MemcachedClientNotConnected = 0x000186a2,
|
||||
MemcachedClientTimeout = 0x000186a3,
|
||||
MemcachedClientAborted = 0x000186a4,
|
||||
|
||||
UtilServerFailedToSerialize = 0x80000064,
|
||||
UtilServerDisconnectedFromBattlenet = 0x80000065,
|
||||
UtilServerTimedOut = 0x80000066,
|
||||
UtilServerNoMeteringData = 0x80000067,
|
||||
UtilServerFailPermissionCheck = 0x80000068,
|
||||
UtilServerUnknownRealm = 0x80000069,
|
||||
UtilServerMissingSessionKey = 0x8000006a,
|
||||
UtilServerMissingVirtualRealm = 0x8000006b,
|
||||
UtilServerInvalidSessionKey = 0x8000006c,
|
||||
UtilServerMissingRealmList = 0x8000006d,
|
||||
UtilServerInvalidIdentityArgs = 0x8000006e,
|
||||
UtilServerSessionObjectMissing = 0x8000006f,
|
||||
UtilServerInvalidBnetSession = 0x80000070,
|
||||
UtilServerInvalidVirtualRealm = 0x80000071,
|
||||
UtilServerInvalidClientAddress = 0x80000072,
|
||||
UtilServerFailedToSerializeResponse = 0x80000073,
|
||||
UtilServerUnknownRequest = 0x80000074,
|
||||
UtilServerUnableToGenerateJoinTicket = 0x80000075,
|
||||
UtilServerUnableToGenerateRealmListTicket = 0x80000076,
|
||||
UtilServerAccountDenied = 0x80000077,
|
||||
UtilServerInvalidWowAccount = 0x80000078,
|
||||
UtilServerUnableToStoreSession = 0x80000079,
|
||||
UtilServerSessionAlreadyCreated = 0x8000007a,
|
||||
|
||||
UserServerFailedToSerialize = 0x800000c8,
|
||||
UserServerDisconnectedFromUtil = 0x800000c9,
|
||||
UserServerSessionDuplicate = 0x800000ca,
|
||||
UserServerFailedToDisableBilling = 0x800000cb,
|
||||
UserServerPlayerDisconnected = 0x800000cc,
|
||||
UserServerFailedToParseAccountState = 0x800000cd,
|
||||
UserServerAccountLoadCancelled = 0x800000ce,
|
||||
UserServerBadPlatform = 0x800000cf,
|
||||
UserServerBadVirtualRealm = 0x800000d0,
|
||||
UserServerLocaleRestricted = 0x800000d1,
|
||||
UserServerMissingPropass = 0x800000d2,
|
||||
UserServerBadWowAccount = 0x800000d3,
|
||||
UserServerBadBnetAccount = 0x800000d4,
|
||||
UserServerFailedToParseGameAccountState = 0x800000d5,
|
||||
UserServerFailedToParseGameTimeRemaining = 0x800000d6,
|
||||
UserServerFailedToParseGameSessionInfo = 0x800000d7,
|
||||
UserServerAccountStatePoorlyFormed = 0x800000d8,
|
||||
UserServerGameAccountStatePoorlyFormed = 0x800000d9,
|
||||
UserServerGameTimeRemainingPoorlyFormed = 0x800000da,
|
||||
UserServerGameSessionInfoPoorlyFormed = 0x800000db,
|
||||
UserServerBadSessionTrackerState = 0x800000dc,
|
||||
UserServerFailedToParseCaisInfo = 0x800000dd,
|
||||
UserServerGameSessionDisconnected = 0x800000de,
|
||||
UserServerVersionMismatch = 0x800000df,
|
||||
UserServerAccountSuspended = 0x800000e0,
|
||||
UserServerNotPermittedOnRealm = 0x800000e1,
|
||||
UserServerLoginFailedConnect = 0x800000e2,
|
||||
|
||||
WowServicesTimedOut = 0x8000012c,
|
||||
WowServicesInvalidRealmListTicket = 0x8000012d,
|
||||
WowServicesInvalidJoinTicket = 0x8000012e,
|
||||
WowServicesInvalidServerAddresses = 0x8000012f,
|
||||
WowServicesInvalidSecretBlob = 0x80000130,
|
||||
WowServicesNoRealmJoinIpFound = 0x80000131,
|
||||
WowServicesDeniedRealmListTicket = 0x80000132,
|
||||
WowServicesMissingGameAccount = 0x80000133,
|
||||
WowServicesLogonInvalidAuthToken = 0x80000134,
|
||||
WowServicesNoAvailableRealms = 0x80000135,
|
||||
WowServicesFailedToParseDispatch = 0x80000136,
|
||||
WowServicesMissingMeteringFile = 0x80000137,
|
||||
WowServicesLoginInvalidContentType = 0x80000138,
|
||||
WowServicesLoginUnableToDecode = 0x80000139,
|
||||
WowServicesLoginPostError = 0x8000013a,
|
||||
WowServicesAuthenticatorParseFailed = 0x8000013b,
|
||||
WowServicesLegalParseFailed = 0x8000013c,
|
||||
WowServicesLoginAuthenticationParseFailed = 0x8000013d,
|
||||
WowSerivcesUserMustAcceptLegal = 0x8000013e,
|
||||
WowServicesDisconnected = 0x8000013f,
|
||||
WowServicesNoHandlerForDispatch = 0x80000140,
|
||||
WowServicesPreDispatchHandlerFailed = 0x80000141,
|
||||
WowServicesCriticalStreamingError = 0x80000142,
|
||||
WowServicesWorldLoadError = 0x80000143,
|
||||
WowServicesLoginFailed = 0x80000144,
|
||||
WowServicesLoginFailedOnChallenge = 0x80000145,
|
||||
WowServicesNoPrepaidTime = 0x80000146,
|
||||
WowServicesSubscriptionExpired = 0x80000147,
|
||||
WowServicesCantConnect = 0x80000148,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum RealmFlags
|
||||
{
|
||||
None = 0x00,
|
||||
VersionMismatch = 0x01,
|
||||
Offline = 0x02,
|
||||
SpecifyBuild = 0x04,
|
||||
Unk1 = 0x08,
|
||||
Unk2 = 0x10,
|
||||
Recommended = 0x20,
|
||||
New = 0x40,
|
||||
Full = 0x80
|
||||
}
|
||||
|
||||
public enum RealmType
|
||||
{
|
||||
Normal = 0,
|
||||
PVP = 1,
|
||||
Normal2 = 4,
|
||||
RP = 6,
|
||||
RPPVP = 8,
|
||||
|
||||
MaxType = 14,
|
||||
|
||||
FFAPVP = 16 // custom, free for all pvp mode like arena PvP in all zones except rest activated places and sanctuaries
|
||||
// replaced by REALM_PVP in realm list
|
||||
}
|
||||
|
||||
public enum RealmZones
|
||||
{
|
||||
Unknown = 0, // Any Language
|
||||
Development = 1, // Any Language
|
||||
UnitedStates = 2, // Extended-Latin
|
||||
Oceanic = 3, // Extended-Latin
|
||||
LatinAmerica = 4, // Extended-Latin
|
||||
Tournament5 = 5, // Basic-Latin At Create, Any At Login
|
||||
Korea = 6, // East-Asian
|
||||
Tournament7 = 7, // Basic-Latin At Create, Any At Login
|
||||
English = 8, // Extended-Latin
|
||||
German = 9, // Extended-Latin
|
||||
French = 10, // Extended-Latin
|
||||
Spanish = 11, // Extended-Latin
|
||||
Russian = 12, // Cyrillic
|
||||
Tournament13 = 13, // Basic-Latin At Create, Any At Login
|
||||
Taiwan = 14, // East-Asian
|
||||
Tournament15 = 15, // Basic-Latin At Create, Any At Login
|
||||
China = 16, // East-Asian
|
||||
Cn1 = 17, // Basic-Latin At Create, Any At Login
|
||||
Cn2 = 18, // Basic-Latin At Create, Any At Login
|
||||
Cn3 = 19, // Basic-Latin At Create, Any At Login
|
||||
Cn4 = 20, // Basic-Latin At Create, Any At Login
|
||||
Cn5 = 21, // Basic-Latin At Create, Any At Login
|
||||
Cn6 = 22, // Basic-Latin At Create, Any At Login
|
||||
Cn7 = 23, // Basic-Latin At Create, Any At Login
|
||||
Cn8 = 24, // Basic-Latin At Create, Any At Login
|
||||
Tournament25 = 25, // Basic-Latin At Create, Any At Login
|
||||
TestServer = 26, // Any Language
|
||||
Tournament27 = 27, // Basic-Latin At Create, Any At Login
|
||||
QaServer = 28, // Any Language
|
||||
Cn9 = 29, // Basic-Latin At Create, Any At Login
|
||||
TestServer2 = 30, // Any Language
|
||||
Cn10 = 31, // Basic-Latin At Create, Any At Login
|
||||
Ctc = 32,
|
||||
Cnc = 33,
|
||||
Cn14 = 34, // Basic-Latin At Create, Any At Login
|
||||
Cn269 = 35, // Basic-Latin At Create, Any At Login
|
||||
Cn37 = 36, // Basic-Latin At Create, Any At Login
|
||||
Cn58 = 37 // Basic-Latin At Create, Any At Login
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public struct BattlefieldSounds
|
||||
{
|
||||
public const uint HordeWins = 8454;
|
||||
public const uint AllianceWins = 8455;
|
||||
public const uint Start = 3439;
|
||||
}
|
||||
|
||||
public enum BattleFieldObjectiveStates
|
||||
{
|
||||
Neutral = 0,
|
||||
Alliance,
|
||||
Horde,
|
||||
NeutralAllianceChallenge,
|
||||
NeutralHordeChallenge,
|
||||
AllianceHordeChallenge,
|
||||
HordeAllianceChallenge
|
||||
}
|
||||
|
||||
public enum BFLeaveReason
|
||||
{
|
||||
Close = 1,
|
||||
//BF_LEAVE_REASON_UNK1 = 2, (not used)
|
||||
//BF_LEAVE_REASON_UNK2 = 4, (not used)
|
||||
Exited = 8,
|
||||
LowLevel = 10,
|
||||
NotWhileInRaid = 15,
|
||||
Deserter = 16
|
||||
}
|
||||
|
||||
public enum BattlefieldState
|
||||
{
|
||||
Inactive = 0,
|
||||
Warnup = 1,
|
||||
InProgress = 2
|
||||
}
|
||||
|
||||
public struct BattlefieldIds
|
||||
{
|
||||
public const uint WG = 1; // Wintergrasp battle
|
||||
public const uint TB = 21; // Tol Barad
|
||||
public const uint Ashran = 24; // Ashran
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,386 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public struct BattlegroundConst
|
||||
{
|
||||
//Time Intervals
|
||||
public const uint CheckPlayerPositionInverval = 1000; // Ms
|
||||
public const uint ResurrectionInterval = 30000; // Ms
|
||||
//RemindInterval = 10000, // Ms
|
||||
public const uint InvitationRemindTime = 20000; // Ms
|
||||
public const uint InviteAcceptWaitTime = 90000; // Ms
|
||||
public const uint AutocloseBattleground = 120000; // Ms
|
||||
public const uint MaxOfflineTime = 300; // Secs
|
||||
public const uint RespawnOneDay = 86400; // Secs
|
||||
public const uint RespawnImmediately = 0; // Secs
|
||||
public const uint BuffRespawnTime = 180; // Secs
|
||||
public const uint BattlegroundCountdownMax = 120; // Secs
|
||||
public const uint ArenaCountdownMax = 60; // Secs
|
||||
public const uint PlayerPositionUpdateInterval = 5; // secs
|
||||
|
||||
//EventIds
|
||||
public const int EventIdFirst = 0;
|
||||
public const int EventIdSecond = 1;
|
||||
public const int EventIdThird = 2;
|
||||
public const int EventIdFourth = 3;
|
||||
public const int EventIdCount = 4;
|
||||
|
||||
//Quests
|
||||
public const uint WsQuestReward = 43483;
|
||||
public const uint AbQuestReward = 43484;
|
||||
public const uint AvQuestReward = 43475;
|
||||
public const uint AvQuestKilledBoss = 23658;
|
||||
public const uint EyQuestReward = 43477;
|
||||
public const uint SaQuestReward = 61213;
|
||||
public const uint AbQuestReward4Bases = 24061;
|
||||
public const uint AbQuestReward5Bases = 24064;
|
||||
|
||||
//BuffObjects
|
||||
public const uint SpeedBuff = 179871;
|
||||
public const uint RegenBuff = 179904;
|
||||
public const uint BerserkerBuff = 179905;
|
||||
|
||||
//QueueGroupTypes
|
||||
public const uint BgQueuePremadeAlliance = 0;
|
||||
public const uint BgQueuePremadeHorde = 1;
|
||||
public const uint BgQueueNormalAlliance = 2;
|
||||
public const uint BgQueueNormalHorde = 3;
|
||||
public const int BgQueueTypesCount = 4;
|
||||
|
||||
//PlayerPosition
|
||||
public const sbyte PlayerPositionIconNone = 0;
|
||||
public const sbyte PlayerPositionIconHordeFlag = 1;
|
||||
public const sbyte PlayerPositionIconAllianceFlag = 2;
|
||||
|
||||
public const sbyte PlayerPositionArenaSlotNone = 1;
|
||||
public const sbyte PlayerPositionArenaSlot1 = 2;
|
||||
public const sbyte PlayerPositionArenaSlot2 = 3;
|
||||
public const sbyte PlayerPositionArenaSlot3 = 4;
|
||||
public const sbyte PlayerPositionArenaSlot4 = 5;
|
||||
public const sbyte PlayerPositionArenaSlot5 = 6;
|
||||
|
||||
//Spells
|
||||
public const uint SpellWaitingForResurrect = 2584; // Waiting To Resurrect
|
||||
public const uint SpellSpiritHealChannel = 22011; // Spirit Heal Channel
|
||||
public const uint SpellSpiritHeal = 22012; // Spirit Heal
|
||||
public const uint SpellResurrectionVisual = 24171; // Resurrection Impact Visual
|
||||
public const uint SpellArenaPreparation = 32727; // Use This One, 32728 Not Correct
|
||||
public const uint SpellPreparation = 44521; // Preparation
|
||||
public const uint SpellSpiritHealMana = 44535; // Spirit Heal
|
||||
public const uint SpellRecentlyDroppedFlag = 42792; // Recently Dropped Flag
|
||||
public const uint SpellAuraPlayerInactive = 43681; // Inactive
|
||||
public const uint SpellHonorableDefender25y = 68652; // +50% Honor When Standing At A Capture Point That You Control, 25yards Radius (Added In 3.2)
|
||||
public const uint SpellHonorableDefender60y = 66157; // +50% Honor When Standing At A Capture Point That You Control, 60yards Radius (Added In 3.2), Probably For 40+ Player Battlegrounds
|
||||
}
|
||||
|
||||
public enum BattlegroundEventFlags
|
||||
{
|
||||
None = 0x00,
|
||||
Event1 = 0x01,
|
||||
Event2 = 0x02,
|
||||
Event3 = 0x04,
|
||||
Event4 = 0x08
|
||||
}
|
||||
|
||||
// indexes of BattlemasterList.dbc
|
||||
public enum BattlegroundTypeId
|
||||
{
|
||||
None = 0, // None
|
||||
AV = 1, // Alterac Valley
|
||||
WS = 2, // Warsong Gulch
|
||||
AB = 3, // Arathi Basin
|
||||
NA = 4, // Nagrand Arena
|
||||
BE = 5, // Blade'S Edge Arena
|
||||
AA = 6, // All Arenas
|
||||
EY = 7, // Eye Of The Storm
|
||||
RL = 8, // Ruins Of Lordaernon
|
||||
SA = 9, // Strand Of The Ancients
|
||||
DS = 10, // Dalaran Sewers
|
||||
RV = 11, // The Ring Of Valor
|
||||
IC = 30, // Isle Of Conquest
|
||||
RB = 32, // Random Battleground
|
||||
Rated10Vs10 = 100, // Rated Battleground 10 Vs 10
|
||||
Rated15Vs15 = 101, // Rated Battleground 15 Vs 15
|
||||
Rated25Vs25 = 102, // Rated Battleground 25 Vs 25
|
||||
TP = 108, // Twin Peaks
|
||||
BFG = 120, // Battle For Gilneas
|
||||
// 656 = "Rated Eye Of The Storm"
|
||||
Tk = 699, // Temple Of Kotmogu
|
||||
// 706 = "Ctf3"
|
||||
SM = 708, // Silvershard Mines
|
||||
TVA = 719, // Tol'Viron Arena
|
||||
DG = 754, // Deepwind Gorge
|
||||
TTP = 757, // The Tiger'S Peak
|
||||
SSvsTM = 789, // Southshore Vs. Tarren Mill
|
||||
SmallD = 803, // Small Battleground D
|
||||
BRH = 808, // Black Rook Hold Arena
|
||||
// 809 = "New Nagrand Arena (Legion)"
|
||||
AF = 816, // Ashamane'S Fall
|
||||
// 844 = "New Blade'S Edge Arena (Legion)"
|
||||
Max = 845
|
||||
}
|
||||
|
||||
public enum BattlegroundQueueTypeId
|
||||
{
|
||||
None = 0,
|
||||
AV = 1,
|
||||
WS = 2,
|
||||
AB = 3,
|
||||
EY = 4,
|
||||
SA = 5,
|
||||
IC = 6,
|
||||
TP = 7,
|
||||
BFG = 8,
|
||||
RB = 9,
|
||||
Arena2v2 = 10,
|
||||
Arena3v3 = 11,
|
||||
Arena5v5 = 12,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum BattlegroundQueueInvitationType
|
||||
{
|
||||
NoBalance = 0, // no balance: N+M vs N players
|
||||
Balanced = 1, // teams balanced: N+1 vs N players
|
||||
Even = 2 // teams even: N vs N players
|
||||
}
|
||||
|
||||
public enum BattlegroundCriteriaId
|
||||
{
|
||||
ResilientVictory,
|
||||
SaveTheDay,
|
||||
EverythingCounts,
|
||||
AvPerfection,
|
||||
DefenseOfTheAncients,
|
||||
NotEvenAScratch,
|
||||
}
|
||||
|
||||
public enum BattlegroundSounds
|
||||
{
|
||||
HordeWins = 8454,
|
||||
AllianceWins = 8455,
|
||||
BgStart = 3439,
|
||||
BgStartL70etc = 11803
|
||||
}
|
||||
|
||||
public enum BattlegroundTeamId
|
||||
{
|
||||
Horde = 0, // Battleground: Horde, Arena: Green
|
||||
Alliance = 1, // Battleground: Alliance, Arena: Gold
|
||||
Neutral = 2 // Battleground: Neutral, Arena: None
|
||||
}
|
||||
|
||||
public enum BattlegroundMarks
|
||||
{
|
||||
SpellWsMarkLoser = 24950,
|
||||
SpellWsMarkWinner = 24951,
|
||||
SpellAbMarkLoser = 24952,
|
||||
SpellAbMarkWinner = 24953,
|
||||
SpellAvMarkLoser = 24954,
|
||||
SpellAvMarkWinner = 24955,
|
||||
SpellSaMarkWinner = 61160,
|
||||
SpellSaMarkLoser = 61159,
|
||||
ItemAvMarkOfHonor = 20560,
|
||||
ItemWsMarkOfHonor = 20558,
|
||||
ItemAbMarkOfHonor = 20559,
|
||||
ItemEyMarkOfHonor = 29024,
|
||||
ItemSaMarkOfHonor = 42425
|
||||
}
|
||||
|
||||
public enum BattlegroundMarksCount
|
||||
{
|
||||
WinnterCount = 3,
|
||||
LoserCount = 1
|
||||
}
|
||||
|
||||
public enum BattlegroundCreatures
|
||||
{
|
||||
A_SpiritGuide = 13116, // alliance
|
||||
H_SpiritGuide = 13117 // horde
|
||||
}
|
||||
|
||||
public enum BattlegroundStartTimeIntervals
|
||||
{
|
||||
Delay2m = 120000, // Ms (2 Minutes)
|
||||
Delay1m = 60000, // Ms (1 Minute)
|
||||
Delay30s = 30000, // Ms (30 Seconds)
|
||||
Delay15s = 15000, // Ms (15 Seconds) Used Only In Arena
|
||||
None = 0 // Ms
|
||||
}
|
||||
|
||||
public enum BattlegroundStatus
|
||||
{
|
||||
None = 0, // first status, should mean bg is not instance
|
||||
WaitQueue = 1, // means bg is empty and waiting for queue
|
||||
WaitJoin = 2, // this means, that BG has already started and it is waiting for more players
|
||||
InProgress = 3, // means bg is running
|
||||
WaitLeave = 4 // means some faction has won BG and it is ending
|
||||
}
|
||||
|
||||
public enum BGHonorMode
|
||||
{
|
||||
Normal = 0,
|
||||
Holiday,
|
||||
HonorModeNum
|
||||
}
|
||||
|
||||
public enum GroupJoinBattlegroundResult
|
||||
{
|
||||
None = 0,
|
||||
Deserters = 2, // You Cannot Join The BattlegroundYet Because You Or One Of Your Party Members Is Flagged As A Deserter.
|
||||
ArenaTeamPartySize = 3, // Incorrect Party Size For This Arena.
|
||||
TooManyQueues = 4, // You Can Only Be Queued For 2 Battles At Once
|
||||
CannotQueueForRated = 5, // You Cannot Queue For A Rated Match While Queued For Other Battles
|
||||
BattledgroundQueuedForRated = 6, // You Cannot Queue For Another Battle While Queued For A Rated Arena Match
|
||||
TeamLeftQueue = 7, // Your Team Has Left The Arena Queue
|
||||
NotInBattleground= 8, // You Can'T Do That In A Battleground.
|
||||
JoinXpGain = 9, // Wtf, Doesn'T Exist In Client...
|
||||
JoinRangeIndex = 10, // Cannot Join The Queue Unless All Members Of Your Party Are In The Same BattlegroundLevel Range.
|
||||
JoinTimedOut = 11, // %S Was Unavailable To Join The Queue. (Uint64 Guid Exist In Client Cache)
|
||||
//JoinTimedOut = 12, // Same As 11
|
||||
//TeamLeftQueue = 13, // Same As 7
|
||||
LfgCantUseBattleground= 14, // You Cannot Queue For A BattlegroundOr Arena While Using The Dungeon System.
|
||||
InRandomBg = 15, // Can'T Do That While In A Random BattlegroundQueue.
|
||||
InNonRandomBg = 16, // Can'T Queue For Random BattlegroundWhile In Another BattlegroundQueue.
|
||||
BgDeveloperOnly = 17,
|
||||
InvitationDeclined = 18,
|
||||
MeetingStoneNotFound = 19,
|
||||
WargameRequestFailure = 20,
|
||||
BattlefieldTeamPartySize = 22,
|
||||
NotOnTournamentRealm = 23,
|
||||
PlayersFromDifferentRealms = 24,
|
||||
RemoveFromPvpQueueGrantLevel = 33,
|
||||
RemoveFromPvpQueueFactionChange = 34,
|
||||
JoinFailed = 35,
|
||||
DupeQueue = 43,
|
||||
JoinNoValidSpecForRole = 44,
|
||||
JoinRespec = 45,
|
||||
AlreadyUsingLFGList = 46,
|
||||
JoinMustCompleteQuest = 47
|
||||
}
|
||||
|
||||
public enum ScoreType
|
||||
{
|
||||
KillingBlows = 1,
|
||||
Deaths = 2,
|
||||
HonorableKills = 3,
|
||||
BonusHonor = 4,
|
||||
DamageDone = 5,
|
||||
HealingDone = 6,
|
||||
|
||||
// Ws And Ey
|
||||
FlagCaptures = 7,
|
||||
FlagReturns = 8,
|
||||
|
||||
// Ab And Ic
|
||||
BasesAssaulted = 9,
|
||||
BasesDefended = 10,
|
||||
|
||||
// Av
|
||||
GraveyardsAssaulted = 11,
|
||||
GraveyardsDefended = 12,
|
||||
TowersAssaulted = 13,
|
||||
TowersDefended = 14,
|
||||
MinesCaptured = 15,
|
||||
|
||||
// Sota
|
||||
DestroyedDemolisher = 16,
|
||||
DestroyedWall = 17
|
||||
}
|
||||
|
||||
//Arenas
|
||||
public struct ArenaSpellIds
|
||||
{
|
||||
public const uint AllianceGoldFlag = 32724;
|
||||
public const uint AllianceGreenFlag = 32725;
|
||||
public const uint HordeGoldFlag = 35774;
|
||||
public const uint HordeGreenFlag = 35775;
|
||||
public const uint LastManStanding = 26549; // Arena Achievement Related
|
||||
}
|
||||
|
||||
public enum ArenaTeamCommandTypes
|
||||
{
|
||||
Create_S = 0x00,
|
||||
Invite_SS = 0x01,
|
||||
Quit_S = 0x03,
|
||||
Founder_S = 0x0e
|
||||
}
|
||||
|
||||
public enum ArenaTeamCommandErrors
|
||||
{
|
||||
ArenaTeamCreated = 0x00,
|
||||
ArenaTeamInternal = 0x01,
|
||||
AlreadyInArenaTeam = 0x02,
|
||||
AlreadyInArenaTeamS = 0x03,
|
||||
InvitedToArenaTeam = 0x04,
|
||||
AlreadyInvitedToArenaTeamS = 0x05,
|
||||
ArenaTeamNameInvalid = 0x06,
|
||||
ArenaTeamNameExistsS = 0x07,
|
||||
ArenaTeamLeaderLeaveS = 0x08,
|
||||
ArenaTeamPermissions = 0x08,
|
||||
ArenaTeamPlayerNotInTeam = 0x09,
|
||||
ArenaTeamPlayerNotInTeamSs = 0x0a,
|
||||
ArenaTeamPlayerNotFoundS = 0x0b,
|
||||
ArenaTeamNotAllied = 0x0c,
|
||||
ArenaTeamIgnoringYouS = 0x13,
|
||||
ArenaTeamTargetTooLowS = 0x15,
|
||||
ArenaTeamTargetTooHighS = 0x16,
|
||||
ArenaTeamTooManyMembersS = 0x17,
|
||||
ArenaTeamNotFound = 0x1b,
|
||||
ArenaTeamsLocked = 0x1e,
|
||||
ArenaTeamTooManyCreate = 0x21,
|
||||
}
|
||||
|
||||
public enum ArenaTeamEvents
|
||||
{
|
||||
JoinSs = 3, // Player Name + Arena Team Name
|
||||
LeaveSs = 4, // Player Name + Arena Team Name
|
||||
RemoveSss = 5, // Player Name + Arena Team Name + Captain Name
|
||||
LeaderIsSs = 6, // Player Name + Arena Team Name
|
||||
LeaderChangedSss = 7, // Old Captain + New Captain + Arena Team Name
|
||||
DisbandedS = 8 // Captain Name + Arena Team Name
|
||||
}
|
||||
|
||||
public enum ArenaTypes
|
||||
{
|
||||
BG = 0,
|
||||
Team2v2 = 2,
|
||||
Team3v3 = 3,
|
||||
Team5v5 = 5
|
||||
}
|
||||
|
||||
public enum ArenaErrorType
|
||||
{
|
||||
NoTeam = 0,
|
||||
ExpiredCAIS = 1,
|
||||
CantUseBattleground = 2
|
||||
}
|
||||
|
||||
public enum ArenaTeamInfoType
|
||||
{
|
||||
Id = 0,
|
||||
Type = 1, // new in 3.2 - team type?
|
||||
Member = 2, // 0 - captain, 1 - member
|
||||
GamesWeek = 3,
|
||||
GamesSeason = 4,
|
||||
WinsSeason = 5,
|
||||
PersonalRating = 6,
|
||||
End = 7
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum FlagsControlType
|
||||
{
|
||||
Apply = 1,
|
||||
Remove = 2
|
||||
}
|
||||
|
||||
public enum BattlePetError
|
||||
{
|
||||
CantHaveMorePetsOfThatType = 3,
|
||||
CantHaveMorePets = 4,
|
||||
TooHighLevelToUncage = 7,
|
||||
|
||||
// TODO: find correct values if possible and needed (also wrong order)
|
||||
DuplicateConvertedPet,
|
||||
NeedToUnlock,
|
||||
BadParam,
|
||||
LockedPetAlreadyExists,
|
||||
Ok,
|
||||
Uncapturable,
|
||||
CantInvalidCharacterGuid
|
||||
}
|
||||
|
||||
// taken from BattlePetState.db2 - it seems to store some initial values for battle pets
|
||||
// there are only values used in BattlePetSpeciesState.db2 and BattlePetBreedState.db2
|
||||
// TODO: expand this enum if needed
|
||||
public enum BattlePetState
|
||||
{
|
||||
MaxHealthBonus = 2,
|
||||
InternalInitialLevel = 17,
|
||||
StatPower = 18,
|
||||
StatStamina = 19,
|
||||
StatSpeed = 20,
|
||||
ModDamageDealtPercent = 23,
|
||||
Gender = 78, // 1 - Male, 2 - Female
|
||||
CosmeticWaterBubbled = 85,
|
||||
SpecialIsCockroach = 93,
|
||||
CosmeticFlyTier = 128,
|
||||
CosmeticBigglesworth = 144,
|
||||
PassiveElite = 153,
|
||||
PassiveBoss = 162,
|
||||
CosmeticTreasureGoblin = 176,
|
||||
// These Are Not In Battlepetstate.Db2 But Are Used In Battlepetspeciesstate.Db2
|
||||
StartWithBuff = 183,
|
||||
StartWithBuff2 = 184,
|
||||
//
|
||||
CosmeticSpectralBlue = 196
|
||||
}
|
||||
|
||||
public enum BattlePetSaveInfo
|
||||
{
|
||||
Unchanged = 0,
|
||||
Changed = 1,
|
||||
New = 2,
|
||||
Removed = 3
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public struct BlackMarketConst
|
||||
{
|
||||
public const ulong MaxBid = 1000000UL* MoneyConstants.Gold;
|
||||
}
|
||||
public enum BlackMarketError
|
||||
{
|
||||
Ok = 0,
|
||||
ItemNotFound = 1,
|
||||
AlreadyBid = 2,
|
||||
HigherBid = 4,
|
||||
DatabaseError = 6,
|
||||
NotEnoughMoney = 7,
|
||||
RestrictedAccountTrial = 9
|
||||
}
|
||||
|
||||
public enum BMAHMailAuctionAnswers
|
||||
{
|
||||
Outbid = 0,
|
||||
Won = 1,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum CalendarMailAnswers
|
||||
{
|
||||
EventRemovedMailSubject = 0,
|
||||
InviteRemovedMailSubject = 0x100
|
||||
}
|
||||
|
||||
public enum CalendarFlags
|
||||
{
|
||||
AllAllowed = 0x001,
|
||||
InvitesLocked = 0x010,
|
||||
WithoutInvites = 0x040,
|
||||
GuildEvent = 0x400
|
||||
}
|
||||
|
||||
public enum CalendarModerationRank
|
||||
{
|
||||
Player = 0,
|
||||
Moderator = 1,
|
||||
Owner = 2
|
||||
}
|
||||
|
||||
public enum CalendarSendEventType
|
||||
{
|
||||
Get = 0,
|
||||
Add = 1,
|
||||
Copy = 2
|
||||
}
|
||||
|
||||
public enum CalendarEventType
|
||||
{
|
||||
Raid = 0,
|
||||
Dungeon = 1,
|
||||
Pvp = 2,
|
||||
Meeting = 3,
|
||||
Other = 4,
|
||||
Heroic = 5
|
||||
}
|
||||
|
||||
public enum CalendarRepeatType
|
||||
{
|
||||
Never = 0,
|
||||
Weekly = 1,
|
||||
Biweekly = 2,
|
||||
Monthly = 3
|
||||
}
|
||||
|
||||
public enum CalendarInviteStatus
|
||||
{
|
||||
Invited = 0,
|
||||
Accepted = 1,
|
||||
Declined = 2,
|
||||
Confirmed = 3,
|
||||
Out = 4,
|
||||
Standby = 5,
|
||||
SignedUp = 6,
|
||||
NotSignedUp = 7,
|
||||
Tentative = 8,
|
||||
Removed = 9 // Correct Name?
|
||||
}
|
||||
|
||||
public enum CalendarError
|
||||
{
|
||||
Ok = 0,
|
||||
GuildEventsExceeded = 1,
|
||||
EventsExceeded = 2,
|
||||
SelfInvitesExceeded = 3,
|
||||
OtherInvitesExceeded = 4,
|
||||
Permissions = 5,
|
||||
EventInvalid = 6,
|
||||
NotInvited = 7,
|
||||
Internal = 8,
|
||||
GuildPlayerNotInGuild = 9,
|
||||
AlreadyInvitedToEventS = 10,
|
||||
PlayerNotFound = 11,
|
||||
NotAllied = 12,
|
||||
IgnoringYouS = 13,
|
||||
InvitesExceeded = 14,
|
||||
InvalidDate = 16,
|
||||
InvalidTime = 17,
|
||||
|
||||
NeedsTitle = 19,
|
||||
EventPassed = 20,
|
||||
EventLocked = 21,
|
||||
DeleteCreatorFailed = 22,
|
||||
SystemDisabled = 24,
|
||||
RestrictedAccount = 25,
|
||||
ArenaEventsExceeded = 26,
|
||||
RestrictedLevel = 27,
|
||||
UserSquelched = 28,
|
||||
NoInvite = 29,
|
||||
|
||||
EventWrongServer = 36,
|
||||
InviteWrongServer = 37,
|
||||
NoGuildInvites = 38,
|
||||
InvalidSignup = 39,
|
||||
NoModerator = 40
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum ChatNotify
|
||||
{
|
||||
JoinedNotice = 0x00, //+ "%S Joined Channel.";
|
||||
LeftNotice = 0x01, //+ "%S Left Channel.";
|
||||
//SuspendedNotice = 0x01, // "%S Left Channel.";
|
||||
YouJoinedNotice = 0x02, //+ "Joined Channel: [%S]"; -- You Joined
|
||||
//YouChangedNotice = 0x02, // "Changed Channel: [%S]";
|
||||
YouLeftNotice = 0x03, //+ "Left Channel: [%S]"; -- You Left
|
||||
WrongPasswordNotice = 0x04, //+ "Wrong Password For %S.";
|
||||
NotMemberNotice = 0x05, //+ "Not On Channel %S.";
|
||||
NotModeratorNotice = 0x06, //+ "Not A Moderator Of %S.";
|
||||
PasswordChangedNotice = 0x07, //+ "[%S] Password Changed By %S.";
|
||||
OwnerChangedNotice = 0x08, //+ "[%S] Owner Changed To %S.";
|
||||
PlayerNotFoundNotice = 0x09, //+ "[%S] Player %S Was Not Found.";
|
||||
NotOwnerNotice = 0x0a, //+ "[%S] You Are Not The Channel Owner.";
|
||||
ChannelOwnerNotice = 0x0b, //+ "[%S] Channel Owner Is %S.";
|
||||
ModeChangeNotice = 0x0c, //?
|
||||
AnnouncementsOnNotice = 0x0d, //+ "[%S] Channel Announcements Enabled By %S.";
|
||||
AnnouncementsOffNotice = 0x0e, //+ "[%S] Channel Announcements Disabled By %S.";
|
||||
ModerationOnNotice = 0x0f, //+ "[%S] Channel Moderation Enabled By %S.";
|
||||
ModerationOffNotice = 0x10, //+ "[%S] Channel Moderation Disabled By %S.";
|
||||
MutedNotice = 0x11, //+ "[%S] You Do Not Have Permission To Speak.";
|
||||
PlayerKickedNotice = 0x12, //? "[%S] Player %S Kicked By %S.";
|
||||
BannedNotice = 0x13, //+ "[%S] You Are Bannedstore From That Channel.";
|
||||
PlayerBannedNotice = 0x14, //? "[%S] Player %S Bannedstore By %S.";
|
||||
PlayerUnbannedNotice = 0x15, //? "[%S] Player %S Unbanned By %S.";
|
||||
PlayerNotBannedNotice = 0x16, //+ "[%S] Player %S Is Not Bannedstore.";
|
||||
PlayerAlreadyMemberNotice = 0x17, //+ "[%S] Player %S Is Already On The Channel.";
|
||||
InviteNotice = 0x18, //+ "%2$S Has Invited You To Join The Channel '%1$S'.";
|
||||
InviteWrongFactionNotice = 0x19, //+ "Target Is In The Wrong Alliance For %S.";
|
||||
WrongFactionNotice = 0x1a, //+ "Wrong Alliance For %S.";
|
||||
InvalidNameNotice = 0x1b, //+ "Invalid Channel Name";
|
||||
NotModeratedNotice = 0x1c, //+ "%S Is Not Moderated";
|
||||
PlayerInvitedNotice = 0x1d, //+ "[%S] You Invited %S To Join The Channel";
|
||||
PlayerInviteBannedNotice = 0x1e, //+ "[%S] %S Has Been Bannedstore.";
|
||||
ThrottledNotice = 0x1f, //+ "[%S] The Number Of Messages That Can Be Sent To This Channel Is Limited, Please Wait To Send Another Message.";
|
||||
NotInAreaNotice = 0x20, //+ "[%S] You Are Not In The Correct Area For This Channel."; -- The User Is Trying To Send A Chat To A Zone Specific Channel, And They'Re Not Physically In That Zone.
|
||||
NotInLfgNotice = 0x21, //+ "[%S] You Must Be Queued In Looking For Group Before Joining This Channel."; -- The User Must Be In The Looking For Group System To Join Lfg Chat Channels.
|
||||
VoiceOnNotice = 0x22, //+ "[%S] Channel Voice Enabled By %S.";
|
||||
VoiceOffNotice = 0x23, //+ "[%S] Channel Voice Disabled By %S.";
|
||||
TrialRestricted = 0x24,
|
||||
NotAllowedInChannel = 0x25
|
||||
}
|
||||
|
||||
public enum ChannelFlags
|
||||
{
|
||||
None = 0x00,
|
||||
Custom = 0x01,
|
||||
// 0x02
|
||||
Trade = 0x04,
|
||||
NotLfg = 0x08,
|
||||
General = 0x10,
|
||||
City = 0x20,
|
||||
Lfg = 0x40,
|
||||
Voice = 0x80
|
||||
// General 0x18 = 0x10 | 0x08
|
||||
// Trade 0x3C = 0x20 | 0x10 | 0x08 | 0x04
|
||||
// LocalDefence 0x18 = 0x10 | 0x08
|
||||
// GuildRecruitment 0x38 = 0x20 | 0x10 | 0x08
|
||||
// LookingForGroup 0x50 = 0x40 | 0x10
|
||||
}
|
||||
|
||||
public enum ChannelDBCFlags
|
||||
{
|
||||
None = 0x00000,
|
||||
Initial = 0x00001, // General, Trade, Localdefense, Lfg
|
||||
ZoneDep = 0x00002, // General, Trade, Localdefense, Guildrecruitment
|
||||
Global = 0x00004, // Worlddefense
|
||||
Trade = 0x00008, // Trade, Lfg
|
||||
CityOnly = 0x00010, // Trade, Guildrecruitment, Lfg
|
||||
CityOnly2 = 0x00020, // Trade, Guildrecruitment, Lfg
|
||||
Defense = 0x10000, // Localdefense, Worlddefense
|
||||
GuildReq = 0x20000, // Guildrecruitment
|
||||
Lfg = 0x40000, // Lfg
|
||||
Unk1 = 0x80000 // General
|
||||
}
|
||||
|
||||
public enum ChannelMemberFlags
|
||||
{
|
||||
None = 0x00,
|
||||
Owner = 0x01,
|
||||
Moderator = 0x02,
|
||||
Voiced = 0x04,
|
||||
Muted = 0x08,
|
||||
Custom = 0x10,
|
||||
MicMuted = 0x20
|
||||
// 0x40
|
||||
// 0x80
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum ConditionTypes
|
||||
{ // value1 value2 value3
|
||||
None = 0, // 0 0 0 Always True
|
||||
Aura = 1, // Spell_Id Effindex Use Target? True If Player (Or Target, If Value3) Has Aura Of Spell_Id With Effect Effindex
|
||||
Item = 2, // Item_Id Count Bank True If Has #Count Of Item_Ids (If 'Bank' Is Set It Searches In Bank Slots Too)
|
||||
ItemEquipped = 3, // Item_Id 0 0 True If Has Item_Id Equipped
|
||||
Zoneid = 4, // Zone_Id 0 0 True If In Zone_Id
|
||||
ReputationRank = 5, // Faction_Id Rankmask 0 True If Has Min_Rank For Faction_Id
|
||||
Team = 6, // Player_Team 0, 0 469 - Alliance, 67 - Horde)
|
||||
Skill = 7, // Skill_Id Skill_Value 0 True If Has Skill_Value For Skill_Id
|
||||
QuestRewarded = 8, // Quest_Id 0 0 True If Quest_Id Was Rewarded Before
|
||||
QuestTaken = 9, // Quest_Id 0, 0 True While Quest Active
|
||||
DrunkenState = 10, // Drunkenstate 0, 0 True If Player Is Drunk Enough
|
||||
WorldState = 11, // Index Value 0 True If World Has The Value For The Index
|
||||
ActiveEvent = 12, // Event_Id 0 0 True If Event Is Active
|
||||
InstanceInfo = 13, // Entry Data Type True If The Instance Info Defined By Type (Enum Instanceinfo) Equals Data.
|
||||
QuestNone = 14, // Quest_Id 0 0 True If Doesn'T Have Quest Saved
|
||||
Class = 15, // Class 0 0 True If Player'S Class Is Equal To Class
|
||||
Race = 16, // Race 0 0 True If Player'S Race Is Equal To Race
|
||||
Achievement = 17, // Achievement_Id 0 0 True If Achievement Is Complete
|
||||
Title = 18, // Title Id 0 0 True If Player Has Title
|
||||
Spawnmask = 19, // Spawnmask 0 0 True If In Spawnmask
|
||||
Gender = 20, // Gender 0 0 True If Player'S Gender Is Equal To Gender
|
||||
UnitState = 21, // Unitstate 0 0 True If Unit Has Unitstate
|
||||
Mapid = 22, // Map_Id 0 0 True If In Map_Id
|
||||
Areaid = 23, // Area_Id 0 0 True If In Area_Id
|
||||
CreatureType = 24, // cinfo.type 0 0 true if creature_template.type = value1
|
||||
Spell = 25, // Spell_Id 0 0 True If Player Has Learned Spell
|
||||
PhaseId = 26, // Phasemask 0 0 True If Object Is In PhaseId
|
||||
Level = 27, // Level Comparisontype 0 True If Unit'S Level Is Equal To Param1 (Param2 Can Modify The Statement)
|
||||
QuestComplete = 28, // Quest_Id 0 0 True If Player Has Quest_Id With All Objectives Complete, But Not Yet Rewarded
|
||||
NearCreature = 29, // Creature Entry Distance 0 True If There Is A Creature Of Entry In Range
|
||||
NearGameobject = 30, // Gameobject Entry Distance 0 True If There Is A Gameobject Of Entry In Range
|
||||
ObjectEntryGuid = 31, // Typeid Entry 0 True If Object Is Type Typeid And The Entry Is 0 Or Matches Entry Of The Object
|
||||
TypeMask = 32, // Typemask 0 0 True If Object Is Type Object'S Typemask Matches Provided Typemask
|
||||
RelationTo = 33, // Conditiontarget Relationtype 0 True If Object Is In Given Relation With Object Specified By Conditiontarget
|
||||
ReactionTo = 34, // Conditiontarget Rankmask 0 True If Object'S Reaction Matches Rankmask Object Specified By Conditiontarget
|
||||
DistanceTo = 35, // Conditiontarget Distance Comparisontype True If Object And Conditiontarget Are Within Distance Given By Parameters
|
||||
Alive = 36, // 0 0 0 True If Unit Is Alive
|
||||
HpVal = 37, // Hpval Comparisontype 0 True If Unit'S Hp Matches Given Value
|
||||
HpPct = 38, // Hppct Comparisontype 0 True If Unit'S Hp Matches Given Pct
|
||||
RealmAchievement = 39, // achievement_id 0 0 true if realm achievement is complete
|
||||
InWater = 40, // 0 0 0 true if unit in water
|
||||
TerrainSwap = 41, // terrainSwap 0 0 true if object is in terrainswap
|
||||
StandState = 42, // stateType state 0 true if unit matches specified sitstate (0,x: has exactly state x; 1,0: any standing state; 1,1: any sitting state;)
|
||||
DailyQuestDone = 43, // quest id 0 0 true if daily quest has been completed for the day
|
||||
Charmed = 44, // 0 0 0 true if unit is currently charmed
|
||||
PetType = 45, // mask 0 0 true if player has a pet of given type(s)
|
||||
Taxi = 46, // 0 0 0 true if player is on taxi
|
||||
Queststate = 47, // quest_id state_mask 0 true if player is in any of the provided quest states for the quest (1 = not taken, 2 = completed, 8 = in progress, 32 = failed, 64 = rewarded)
|
||||
ObjectiveComplete = 48, // ID 0 0 true if player has ID objective complete, but quest not yet rewarded
|
||||
Max = 49 // Max
|
||||
}
|
||||
|
||||
public enum ConditionSourceType
|
||||
{
|
||||
None = 0,
|
||||
CreatureLootTemplate = 1,
|
||||
DisenchantLootTemplate = 2,
|
||||
FishingLootTemplate = 3,
|
||||
GameobjectLootTemplate = 4,
|
||||
ItemLootTemplate = 5,
|
||||
MailLootTemplate = 6,
|
||||
MillingLootTemplate = 7,
|
||||
PickpocketingLootTemplate = 8,
|
||||
ProspectingLootTemplate = 9,
|
||||
ReferenceLootTemplate = 10,
|
||||
SkinningLootTemplate = 11,
|
||||
SpellLootTemplate = 12,
|
||||
SpellImplicitTarget = 13,
|
||||
GossipMenu = 14,
|
||||
GossipMenuOption = 15,
|
||||
CreatureTemplateVehicle = 16,
|
||||
Spell = 17,
|
||||
SpellClickEvent = 18,
|
||||
QuestAccept = 19,
|
||||
// Condition source type 20 unused
|
||||
VehicleSpell = 21,
|
||||
SmartEvent = 22,
|
||||
NpcVendor = 23,
|
||||
SpellProc = 24,
|
||||
TerrainSwap = 25,
|
||||
Phase = 26,
|
||||
Max = 27
|
||||
}
|
||||
|
||||
public enum RelationType
|
||||
{
|
||||
Self = 0,
|
||||
InParty,
|
||||
InRaidOrParty,
|
||||
OwnedBy,
|
||||
PassengerOf,
|
||||
CreatedBy,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum InstanceInfo
|
||||
{
|
||||
Data = 0,
|
||||
Data64,
|
||||
BossState
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum ConnectionType
|
||||
{
|
||||
Realm = 0,
|
||||
Instance = 1,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum ConnectToSerial
|
||||
{
|
||||
None = 0,
|
||||
Realm = 14,
|
||||
WorldAttempt1 = 17,
|
||||
WorldAttempt2 = 35,
|
||||
WorldAttempt3 = 53,
|
||||
WorldAttempt4 = 71,
|
||||
WorldAttempt5 = 89
|
||||
}
|
||||
|
||||
public enum LoginFailureReason
|
||||
{
|
||||
Failed = 0,
|
||||
NoWorld = 1,
|
||||
DuplicateCharacter = 2,
|
||||
NoInstances = 3,
|
||||
Disabled = 4,
|
||||
NoCharacter = 5,
|
||||
LockedForTransfer = 6,
|
||||
LockedByBilling = 7,
|
||||
LockedByMobileAH = 8,
|
||||
TemporaryGMLock = 9,
|
||||
LockedByCharacterUpgrade = 10,
|
||||
LockedByRevokedCharacterUpgrade = 11
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,338 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum CreatureLinkedRespawnType
|
||||
{
|
||||
CreatureToCreature,
|
||||
CreatureToGO, // Creature is dependant on GO
|
||||
GOToGO,
|
||||
GOToCreature // GO is dependant on creature
|
||||
}
|
||||
|
||||
public enum AiReaction
|
||||
{
|
||||
Alert = 0, // pre-aggro (used in client packet handler)
|
||||
Friendly = 1, // (NOT used in client packet handler)
|
||||
Hostile = 2, // sent on every attack, triggers aggro sound (used in client packet handler)
|
||||
Afraid = 3, // seen for polymorph (when AI not in control of self?) (NOT used in client packet handler)
|
||||
Destory = 4 // used on object destroy (NOT used in client packet handler)
|
||||
}
|
||||
|
||||
public enum CreatureEliteType
|
||||
{
|
||||
Normal = 0,
|
||||
Elite = 1,
|
||||
RareElite = 2,
|
||||
WorldBoss = 3,
|
||||
Rare = 4,
|
||||
Unknown = 5 // found in 2.2.3 for 2 mobs
|
||||
}
|
||||
|
||||
[System.Flags]
|
||||
public enum UnitFlags : uint
|
||||
{
|
||||
ServerControlled = 0x01,
|
||||
NonAttackable = 0x02,
|
||||
RemoveClientControl = 0x04, // This is a legacy flag used to disable movement player's movement while controlling other units, SMSG_CLIENT_CONTROL replaces this functionality clientside now. CONFUSED and FLEEING flags have the same effect on client movement asDISABLE_MOVE_CONTROL in addition to preventing spell casts/autoattack (they all allow climbing steeper hills and emotes while moving)
|
||||
PvpAttackable = 0x08,
|
||||
Rename = 0x10,
|
||||
Preparation = 0x20,
|
||||
Unk6 = 0x40,
|
||||
NotAttackable1 = 0x80,
|
||||
ImmuneToPc = 0x100,
|
||||
ImmuneToNpc = 0x200,
|
||||
Looting = 0x400,
|
||||
PetInCombat = 0x800,
|
||||
Pvp = 0x1000,
|
||||
Silenced = 0x2000,
|
||||
CannotSwim = 0x4000,
|
||||
Unk15 = 0x8000,
|
||||
Unk16 = 0x10000,
|
||||
Pacified = 0x20000,
|
||||
Stunned = 0x40000,
|
||||
InCombat = 0x80000,
|
||||
TaxiFlight = 0x100000,
|
||||
Disarmed = 0x200000,
|
||||
Confused = 0x400000,
|
||||
Fleeing = 0x800000,
|
||||
PlayerControlled = 0x1000000,
|
||||
NotSelectable = 0x2000000,
|
||||
Skinnable = 0x4000000,
|
||||
Mount = 0x8000000,
|
||||
Unk28 = 0x10000000,
|
||||
Unk29 = 0x20000000,
|
||||
Sheathe = 0x40000000,
|
||||
Unk31 = 0x80000000
|
||||
}
|
||||
|
||||
public enum UnitFlags2 : uint
|
||||
{
|
||||
FeignDeath = 0x01,
|
||||
Unk1 = 0x02,
|
||||
IgnoreReputation = 0x04,
|
||||
ComprehendLang = 0x08,
|
||||
MirrorImage = 0x10,
|
||||
InstantlyAppearModel = 0x20,
|
||||
ForceMove = 0x40,
|
||||
DisarmOffhand = 0x80,
|
||||
DisablePredStats = 0x100,
|
||||
DisarmRanged = 0x400,
|
||||
RegeneratePower = 0x800,
|
||||
RestrictPartyInteraction = 0x1000,
|
||||
PreventSpellClick = 0x2000,
|
||||
AllowEnemyInteract = 0x4000,
|
||||
DisableTurn = 0x8000,
|
||||
Unk2 = 0x10000,
|
||||
PlayDeathAnim = 0x20000,
|
||||
AllowCheatSpells = 0x40000,
|
||||
NoActions = 0x800000
|
||||
}
|
||||
|
||||
public enum UnitFlags3 : uint
|
||||
{
|
||||
Unk1 = 0x01,
|
||||
}
|
||||
|
||||
public enum NPCFlags : ulong
|
||||
{
|
||||
None = 0x00,
|
||||
Gossip = 0x01,
|
||||
QuestGiver = 0x02,
|
||||
Unk1 = 0x04,
|
||||
Unk2 = 0x08,
|
||||
Trainer = 0x10,
|
||||
TrainerClass = 0x20,
|
||||
TrainerProfession = 0x40,
|
||||
Vendor = 0x80,
|
||||
VendorGeneral = 0x100,
|
||||
VendorFood = 0x200,
|
||||
VendorPoison = 0x400,
|
||||
VendorReagent = 0x800,
|
||||
Repair = 0x1000,
|
||||
FlightMaster = 0x2000,
|
||||
SpiritHealer = 0x4000,
|
||||
SpiritGuide = 0x8000,
|
||||
Innkeeper = 0x10000,
|
||||
Banker = 0x20000,
|
||||
Petitioner = 0x40000,
|
||||
TabardDesigner = 0x80000,
|
||||
BattleMaster = 0x100000,
|
||||
Auctioneer = 0x200000,
|
||||
StableMaster = 0x400000,
|
||||
GuildBanker = 0x800000,
|
||||
SpellClick = 0x1000000,
|
||||
PlayerVehicle = 0x2000000,
|
||||
Mailbox = 0x4000000,
|
||||
ArtifactPowerRespec = 0x8000000,
|
||||
Transmogrifier = 0x10000000,
|
||||
VaultKeeper = 0x20000000,
|
||||
BlackMarket = 0x80000000,
|
||||
ItemUpgradeMaster = 0x100000000,
|
||||
GarrisonArchitect = 0x200000000,
|
||||
Steering = 0x400000000,
|
||||
ShipmentCrafter = 0x1000000000,
|
||||
GarrisonMissionNpc = 0x2000000000,
|
||||
TradeskillNpc = 0x4000000000,
|
||||
BlackMarketView = 0x8000000000
|
||||
}
|
||||
|
||||
public enum CreatureTypeFlags : uint
|
||||
{
|
||||
TameablePet = 0x01, // Makes the mob tameable (must also be a beast and have family set)
|
||||
GhostVisible = 0x02, // Creature are also visible for not alive player. Allow gossip interaction if npcflag allow?
|
||||
BossMob = 0x04, // Changes creature's visible level to "??" in the creature's portrait - Immune Knockback.
|
||||
DoNotPlayWoundParryAnimation = 0x08,
|
||||
HideFactionTooltip = 0x10,
|
||||
Unk5 = 0x20, // Sound related
|
||||
SpellAttackable = 0x40,
|
||||
CanInteractWhileDead = 0x80, // Player can interact with the creature if its dead (not player dead)
|
||||
HerbSkinningSkill = 0x100, // Can be looted by herbalist
|
||||
MiningSkinningSkill = 0x200, // Can be looted by miner
|
||||
DoNotLogDeath = 0x400, // Death event will not show up in combat log
|
||||
MountedCombatAllowed = 0x800, // Creature can remain mounted when entering combat
|
||||
CanAssist = 0x1000, // ? Can aid any player in combat if in range?
|
||||
IsPetBarUsed = 0x2000,
|
||||
MaskUID = 0x4000,
|
||||
EngineeringSkinningSkill = 0x8000, // Can be looted by engineer
|
||||
ExoticPet = 0x10000, // Can be tamed by hunter as exotic pet
|
||||
UseDefaultCollisionBox = 0x20000, // Collision related. (always using default collision box?)
|
||||
IsSiegeWeapon = 0x40000,
|
||||
CanCollideWithMissiles = 0x80000, // Projectiles can collide with this creature - interacts with TARGET_DEST_TRAJ
|
||||
HideNamePlate = 0x100000,
|
||||
DoNotPlayMountedAnimations = 0x200000,
|
||||
IsLinkAll = 0x400000,
|
||||
InteractOnlyWithCreator = 0x800000,
|
||||
DoNotPlayUnitEventSounds = 0x1000000,
|
||||
HasNoShadowBlob = 0x2000000,
|
||||
TreatAsRaidUnit = 0x4000000, //! Creature can be targeted by spells that require target to be in caster's party/raid
|
||||
ForceGossip = 0x8000000, // Allows the creature to display a single gossip option.
|
||||
DoNotSheathe = 0x10000000,
|
||||
DoNotTargetOnInteration = 0x20000000,
|
||||
DoNotRenderObjectName = 0x40000000,
|
||||
UnitIsQuestBoss = 0x80000000 // Not verified
|
||||
}
|
||||
|
||||
public enum CreatureFlagsExtra : uint
|
||||
{
|
||||
InstanceBind = 0x01, // Creature Kill Bind Instance With Killer And Killer'S Group
|
||||
Civilian = 0x02, // Not Aggro (Ignore Faction/Reputation Hostility)
|
||||
NoParry = 0x04, // Creature Can'T Parry
|
||||
NoParryHasten = 0x08, // Creature Can'T Counter-Attack At Parry
|
||||
NoBlock = 0x10, // Creature Can'T Block
|
||||
NoCrush = 0x20, // Creature Can'T Do Crush Attacks
|
||||
NoXpAtKill = 0x40, // Creature Kill Not Provide Xp
|
||||
Trigger = 0x80, // Trigger Creature
|
||||
NoTaunt = 0x100, // Creature Is Immune To Taunt Auras And Effect Attack Me
|
||||
Worldevent = 0x4000, // Custom Flag For World Event Creatures (Left Room For Merging)
|
||||
Guard = 0x8000, // Creature Is Guard
|
||||
NoCrit = 0x20000, // Creature Can'T Do Critical Strikes
|
||||
NoSkillgain = 0x40000, // Creature Won'T Increase Weapon Skills
|
||||
TauntDiminish = 0x80000, // Taunt Is A Subject To Diminishing Returns On This Creautre
|
||||
AllDiminish = 0x100000, // Creature Is Subject To All Diminishing Returns As Player Are
|
||||
NoPlayerDamageReq = 0x200000, // creature does not need to take player damage for kill credit
|
||||
DungeonBoss = 0x10000000, // Creature Is A Dungeon Boss (Set Dynamically, Do Not Add In Db)
|
||||
IgnorePathfinding = 0x20000000, // creature ignore pathfinding
|
||||
ImmunityKnockback = 0x40000000, // creature is immune to knockback effects
|
||||
|
||||
DBAllowed = (InstanceBind | Civilian | NoParry | NoParryHasten | NoBlock | NoCrush | NoXpAtKill |
|
||||
Trigger | NoTaunt | Worldevent | NoCrit | NoSkillgain | TauntDiminish | AllDiminish | Guard |
|
||||
IgnorePathfinding | NoPlayerDamageReq | ImmunityKnockback)
|
||||
}
|
||||
|
||||
public enum CreatureType
|
||||
{
|
||||
Beast = 1,
|
||||
Dragonkin = 2,
|
||||
Demon = 3,
|
||||
Elemental = 4,
|
||||
Giant = 5,
|
||||
Undead = 6,
|
||||
Humanoid = 7,
|
||||
Critter = 8,
|
||||
Mechanical = 9,
|
||||
NotSpecified = 10,
|
||||
Totem = 11,
|
||||
NonCombatPet = 12,
|
||||
GasCloud = 13,
|
||||
WildPet = 14,
|
||||
Aberration = 15,
|
||||
|
||||
MaskDemonOrUnDead = (1 << (Demon - 1)) | (1 << (Undead - 1)),
|
||||
MaskHumanoidOrUndead = (1 << (Humanoid - 1)) | (1 << (Undead - 1)),
|
||||
MaskMechanicalOrElemental = (1 << (Mechanical - 1)) | (1 << (Elemental - 1))
|
||||
|
||||
}
|
||||
|
||||
public enum CreatureFamily
|
||||
{
|
||||
None = 0,
|
||||
Wolf = 1,
|
||||
Cat = 2,
|
||||
Spider = 3,
|
||||
Bear = 4,
|
||||
Boar = 5,
|
||||
Crocolisk = 6,
|
||||
CarrionBird = 7,
|
||||
Crab = 8,
|
||||
Gorilla = 9,
|
||||
HorseCustom = 10, // Does Not Exist In Dbc But Used For Horse Like Beasts In Db
|
||||
Raptor = 11,
|
||||
Tallstrider = 12,
|
||||
Felhunter = 15,
|
||||
Voidwalker = 16,
|
||||
Succubus = 17,
|
||||
Doomguard = 19,
|
||||
Scorpid = 20,
|
||||
Turtle = 21,
|
||||
Imp = 23,
|
||||
Bat = 24,
|
||||
Hyena = 25,
|
||||
BirdOfPrey = 26,
|
||||
WindSerpent = 27,
|
||||
RemoteControl = 28,
|
||||
Felguard = 29,
|
||||
Dragonhawk = 30,
|
||||
Ravager = 31,
|
||||
WarpStalker = 32,
|
||||
Sporebat = 33,
|
||||
NetherRay = 34,
|
||||
Serpent = 35,
|
||||
Moth = 37,
|
||||
Chimaera = 38,
|
||||
Devilsaur = 39,
|
||||
Ghoul = 40,
|
||||
Silithid = 41,
|
||||
Worm = 42,
|
||||
Rhino = 43,
|
||||
Wasp = 44,
|
||||
CoreHound = 45,
|
||||
SpiritBeast = 46,
|
||||
WaterElemental = 49,
|
||||
Fox = 50,
|
||||
Monkey = 51,
|
||||
Dog = 52,
|
||||
Beetle = 53,
|
||||
ShaleSpider = 55,
|
||||
Zombie = 56,
|
||||
BeetleOld = 57,
|
||||
Silithid2 = 59,
|
||||
Wasp2 = 66,
|
||||
Hydra = 68,
|
||||
Felimp = 100,
|
||||
Voidlord = 101,
|
||||
Shivara = 102,
|
||||
Observer = 103,
|
||||
Wrathguard = 104,
|
||||
Infernal = 108,
|
||||
Fireelemental = 116,
|
||||
Earthelemental = 117,
|
||||
Crane = 125,
|
||||
Waterstrider = 126,
|
||||
Porcupine = 127,
|
||||
Quilen = 128,
|
||||
Goat = 129,
|
||||
Basilisk = 130,
|
||||
Direhorn = 138,
|
||||
Stormelemental = 145,
|
||||
Mtwaterelemental = 146,
|
||||
Torrorguard = 147,
|
||||
Abyssal = 148,
|
||||
Rylak = 149,
|
||||
Riverbeast = 150,
|
||||
Stag = 151
|
||||
}
|
||||
|
||||
public enum InhabitType
|
||||
{
|
||||
Ground = 1,
|
||||
Water = 2,
|
||||
Air = 4,
|
||||
Root = 8,
|
||||
Anywhere = Ground | Water | Air | Root
|
||||
}
|
||||
|
||||
public enum EvadeReason
|
||||
{
|
||||
NoHostiles, // the creature's threat list is empty
|
||||
Boundary, // the creature has moved outside its evade boundary
|
||||
NoPath, // the creature was unable to reach its target for over 5 seconds
|
||||
SequenceBreak, // this is a boss and the pre-requisite encounters for engaging it are not defeated yet
|
||||
Other
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum GameObjectTypes : byte
|
||||
{
|
||||
Door = 0,
|
||||
Button = 1,
|
||||
QuestGiver = 2,
|
||||
Chest = 3,
|
||||
Binder = 4,
|
||||
Generic = 5,
|
||||
Trap = 6,
|
||||
Chair = 7,
|
||||
SpellFocus = 8,
|
||||
Text = 9,
|
||||
Goober = 10,
|
||||
Transport = 11,
|
||||
AreaDamage = 12,
|
||||
Camera = 13,
|
||||
MapObject = 14,
|
||||
MapObjTransport = 15,
|
||||
DuelArbiter = 16,
|
||||
FishingNode = 17,
|
||||
Ritual = 18,
|
||||
Mailbox = 19,
|
||||
DoNotUse = 20,
|
||||
GuardPost = 21,
|
||||
SpellCaster = 22,
|
||||
MeetingStone = 23,
|
||||
FlagStand = 24,
|
||||
FishingHole = 25,
|
||||
FlagDrop = 26,
|
||||
MiniGame = 27,
|
||||
DoNotUse2 = 28,
|
||||
ControlZone = 29,
|
||||
AuraGenerator = 30,
|
||||
DungeonDifficulty = 31,
|
||||
BarberChair = 32,
|
||||
DestructibleBuilding = 33,
|
||||
GuildBank = 34,
|
||||
TrapDoor = 35,
|
||||
NewFlag = 36,
|
||||
NewFlagDrop = 37,
|
||||
GarrisonBuilding = 38,
|
||||
GarrisonPlot = 39,
|
||||
ClientCreature = 40,
|
||||
ClientItem = 41,
|
||||
CapturePoint = 42,
|
||||
PhaseableMo = 43,
|
||||
GarrisonMonument = 44,
|
||||
GarrisonShipment = 45,
|
||||
GarrisonMonumentPlaque = 46,
|
||||
ArtifactForge = 47,
|
||||
UILink = 48,
|
||||
KeystoneReceptacle = 49,
|
||||
GatheringNode = 50,
|
||||
ChallengeModeReward = 51,
|
||||
Max = 52
|
||||
}
|
||||
|
||||
public enum GameObjectState
|
||||
{
|
||||
Active = 0,
|
||||
Ready = 1,
|
||||
ActiveAlternative = 2,
|
||||
TransportActive = 24,
|
||||
TransportStopped = 25,
|
||||
Max = 3
|
||||
}
|
||||
|
||||
public enum GameObjectDynamicLowFlags
|
||||
{
|
||||
HideModel = 0x02,
|
||||
Activate = 0x04,
|
||||
Animate = 0x08,
|
||||
NoInteract = 0x10,
|
||||
Sparkle = 0x20,
|
||||
Stopped = 0x40
|
||||
}
|
||||
|
||||
public enum GameObjectFlags
|
||||
{
|
||||
InUse = 0x01, // Disables Interaction While Animated
|
||||
Locked = 0x02, // Require Key, Spell, Event, Etc To Be Opened. Makes "Locked" Appear In Tooltip
|
||||
InteractCond = 0x04, // cannot interact (condition to interact - requires GO_DYNFLAG_LO_ACTIVATE to enable interaction clientside)
|
||||
Transport = 0x08, // Any Kind Of Transport? Object Can Transport (Elevator, Boat, Car)
|
||||
NotSelectable = 0x10, // Not Selectable Even In Gm Mode
|
||||
NoDespawn = 0x20, // Never Despawn, Typically For Doors, They Just Change State
|
||||
AiObstacle = 0x40, // makes the client register the object in something called AIObstacleMgr, unknown what it does
|
||||
FreezeAnimation = 0x80,
|
||||
Damaged = 0x200,
|
||||
Destroyed = 0x400,
|
||||
InteractDistanceUsesTemplateModel = 0x80000, // client checks interaction distance from model sent in SMSG_QUERY_GAMEOBJECT_RESPONSE instead of GAMEOBJECT_DISPLAYID
|
||||
MapObject = 0x00100000 // pre-7.0 model loading used to be controlled by file extension (wmo vs m2)
|
||||
}
|
||||
|
||||
public enum LootState
|
||||
{
|
||||
NotReady = 0,
|
||||
Ready, // can be ready but despawned, and then not possible activate until spawn
|
||||
Activated,
|
||||
JustDeactivated
|
||||
}
|
||||
|
||||
public enum GameObjectDestructibleState
|
||||
{
|
||||
Intact = 0,
|
||||
Damaged = 1,
|
||||
Destroyed = 2,
|
||||
Rebuilding = 3
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public struct GarrisonFactionIndex
|
||||
{
|
||||
public const uint Horde = 0;
|
||||
public const uint Alliance = 1;
|
||||
}
|
||||
|
||||
public enum GarrisonBuildingFlags : byte
|
||||
{
|
||||
NeedsPlan = 0x1
|
||||
}
|
||||
|
||||
enum GarrisonFollowerFlags
|
||||
{
|
||||
Unique = 0x1
|
||||
}
|
||||
|
||||
public enum GarrisonFollowerType
|
||||
{
|
||||
Garrison = 1,
|
||||
Shipyard = 2
|
||||
}
|
||||
|
||||
public enum GarrisonAbilityFlags : ushort
|
||||
{
|
||||
Trait = 0x01,
|
||||
CannotRoll = 0x02,
|
||||
HordeOnly = 0x04,
|
||||
AllianceOnly = 0x08,
|
||||
CannotRemove = 0x10,
|
||||
Exclusive = 0x20,
|
||||
SingleMissionDuration = 0x40,
|
||||
ActiveOnlyOnZoneSupport = 0x80,
|
||||
ApplyToFirstMission = 0x100,
|
||||
IsSpecialization = 0x200,
|
||||
IsEmptySlot = 0x400
|
||||
}
|
||||
|
||||
public enum GarrisonError
|
||||
{
|
||||
Success = 0,
|
||||
NoGarrison = 1,
|
||||
GarrisonExists = 2,
|
||||
GarrisonSameTypeExists = 3,
|
||||
InvalidGarrison = 4,
|
||||
InvalidGarrisonLevel = 5,
|
||||
GarrisonLevelUnchanged = 6,
|
||||
NotInGarrison = 7,
|
||||
NoBuilding = 8,
|
||||
BuildingExists = 9,
|
||||
InvalidPlotInstanceId = 10,
|
||||
InvalidBuildingId = 11,
|
||||
InvalidUpgradeLevel = 12,
|
||||
UpgradeLevelExceedsGarrisonLevel = 13,
|
||||
PlotsNotFull = 14,
|
||||
InvalidSiteId = 15,
|
||||
InvalidPlotBuilding = 16,
|
||||
InvalidFaction = 17,
|
||||
InvalidSpecialization = 18,
|
||||
SpecializationExists = 19,
|
||||
SpecializationOnCooldown = 20,
|
||||
BlueprintExists = 21,
|
||||
RequiresBlueprint = 22,
|
||||
InvalidDoodadSetId = 23,
|
||||
BuildingTypeExists = 24,
|
||||
BuildingNotActive = 25,
|
||||
ConstructionComplete = 26,
|
||||
FollowerExists = 27,
|
||||
InvalidFollower = 28,
|
||||
FollowerAlreadyOnMission = 29,
|
||||
FollowerInBuilding = 30,
|
||||
FollowerInvalidForBuilding = 31,
|
||||
InvalidFollowerLevel = 32,
|
||||
MissionExists = 33,
|
||||
InvalidMission = 34,
|
||||
InvalidMissionTime = 35,
|
||||
InvalidMissionRewardIndex = 36,
|
||||
MissionNotOffered = 37,
|
||||
AlreadyOnMission = 38,
|
||||
MissionSizeInvalid = 39,
|
||||
FollowerSoftCapExceeded = 40,
|
||||
NotOnMission = 41,
|
||||
AlreadyCompletedMission = 42,
|
||||
MissionNotComplete = 43,
|
||||
MissionRewardsPending = 44,
|
||||
MissionExpired = 45,
|
||||
NotEnoughCurrency = 46,
|
||||
NotEnoughGold = 47,
|
||||
BuildingMissing = 48,
|
||||
NoArchitect = 49,
|
||||
ArchitectNotAvailable = 50,
|
||||
NoMissionNpc = 51,
|
||||
MissionNpcNotAvailable = 52,
|
||||
InternalError = 53,
|
||||
InvalidStaticTableValue = 54,
|
||||
InvalidItemLevel = 55,
|
||||
InvalidAvailableRecruit = 56,
|
||||
FollowerAlreadyRecruited = 57,
|
||||
RecruitmentGenerationInProgress = 58,
|
||||
RecruitmentOnCooldown = 59,
|
||||
RecruitBlockedByGeneration = 60,
|
||||
RecruitmentNpcNotAvailable = 61,
|
||||
InvalidFollowerQuality = 62,
|
||||
ProxyNotOk = 63,
|
||||
RecallPortalUsedLessThan24HoursAgo = 64,
|
||||
OnRemoveBuildingSpellFailed = 65,
|
||||
OperationNotSupported = 66,
|
||||
FollowerFatigued = 67,
|
||||
UpgradeConditionFailed = 68,
|
||||
FollowerInactive = 69,
|
||||
FollowerActive = 70,
|
||||
FollowerActivationUnavailable = 71,
|
||||
FollowerTypeMismatch = 72,
|
||||
InvalidGarrisonType = 73,
|
||||
MissionStartConditionFailed = 74,
|
||||
InvalidFollowerAbility = 75,
|
||||
InvalidMissionBonusAbility = 76,
|
||||
HigherBuildingTypeExists = 77,
|
||||
AtFollowerHardCap = 78,
|
||||
FollowerCannotGainXp = 79,
|
||||
NoOp = 80,
|
||||
AtClassSpecCap = 81,
|
||||
MissionRequires100ToStart = 82,
|
||||
MissionMissingRequiredFollower = 83,
|
||||
InvalidTalent = 84,
|
||||
AlreadyResearchingTalent = 85,
|
||||
FailedCondition = 86,
|
||||
InvalidTier = 87,
|
||||
InvalidClass = 88
|
||||
}
|
||||
|
||||
public enum GarrisonFollowerStatus
|
||||
{
|
||||
Favorite = 0x01,
|
||||
Exhausted = 0x02,
|
||||
Inactive = 0x04,
|
||||
Troop = 0x08,
|
||||
NoXpGain = 0x10
|
||||
}
|
||||
|
||||
public enum GarrisonType
|
||||
{
|
||||
Garrison = 2,
|
||||
ClassOrder = 3
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum GossipOption
|
||||
{
|
||||
None = 0, //Unit_Npc_Flag_None (0)
|
||||
Gossip = 1, //Unit_Npc_Flag_Gossip (1)
|
||||
Questgiver = 2, //Unit_Npc_Flag_Questgiver (2)
|
||||
Vendor = 3, //Unit_Npc_Flag_Vendor (128)
|
||||
Taxivendor = 4, //Unit_Npc_Flag_Taxivendor (8192)
|
||||
Trainer = 5, //Unit_Npc_Flag_Trainer (16)
|
||||
Spirithealer = 6, //Unit_Npc_Flag_Spirithealer (16384)
|
||||
Spiritguide = 7, //Unit_Npc_Flag_Spiritguide (32768)
|
||||
Innkeeper = 8, //Unit_Npc_Flag_Innkeeper (65536)
|
||||
Banker = 9, //Unit_Npc_Flag_Banker (131072)
|
||||
Petitioner = 10, //Unit_Npc_Flag_Petitioner (262144)
|
||||
Tabarddesigner = 11, //Unit_Npc_Flag_Tabarddesigner (524288)
|
||||
Battlefield = 12, //Unit_Npc_Flag_Battlefieldperson (1048576)
|
||||
Auctioneer = 13, //Unit_Npc_Flag_Auctioneer (2097152)
|
||||
Stablepet = 14, //Unit_Npc_Flag_Stable (4194304)
|
||||
Armorer = 15, //Unit_Npc_Flag_Armorer (4096)
|
||||
Unlearntalents = 16, //Unit_Npc_Flag_Trainer (16) (Bonus Option For Trainer)
|
||||
Unlearnpettalents = 17, //Unit_Npc_Flag_Trainer (16) (Bonus Option For Trainer)
|
||||
Learndualspec = 18, //Unit_Npc_Flag_Trainer (16) (Bonus Option For Trainer)
|
||||
Outdoorpvp = 19, //Added By Code (Option For Outdoor Pvp Creatures)
|
||||
Max
|
||||
}
|
||||
|
||||
public enum GossipOptionIcon
|
||||
{
|
||||
Chat = 0, // White Chat Bubble
|
||||
Vendor = 1, // Brown Bag
|
||||
Taxi = 2, // Flightmarker (Paperplane)
|
||||
Trainer = 3, // Brown Book (Trainer)
|
||||
Interact1 = 4, // Golden Interaction Wheel
|
||||
Interact2 = 5, // Golden Interaction Wheel
|
||||
MoneyBag = 6, // Brown Bag (With Gold Coin In Lower Corner)
|
||||
Talk = 7, // White Chat Bubble (With "..." Inside)
|
||||
Tabard = 8, // White Tabard
|
||||
Battle = 9, // Two Crossed Swords
|
||||
Dot = 10, // Yellow Dot/Point
|
||||
Chat11 = 11, // White Chat Bubble
|
||||
Chat12 = 12, // White Chat Bubble
|
||||
Chat13 = 13, // White Chat Bubble
|
||||
Unk14 = 14, // Invalid - Do Not Use
|
||||
Unk15 = 15, // Invalid - Do Not Use
|
||||
Chat16 = 16, // White Chat Bubble
|
||||
Chat17 = 17, // White Chat Bubble
|
||||
Chat18 = 18, // White Chat Bubble
|
||||
Chat19 = 19, // White Chat Bubble
|
||||
Chat20 = 20, // White Chat Bubble
|
||||
Chat21 = 21, // transmogrifier?
|
||||
Max
|
||||
}
|
||||
|
||||
public struct eTradeskill
|
||||
{
|
||||
// Skill Defines
|
||||
public const uint TradeskillAlchemy = 1;
|
||||
public const uint TradeskillBlacksmithing = 2;
|
||||
public const uint TradeskillCooking = 3;
|
||||
public const uint TradeskillEnchanting = 4;
|
||||
public const uint TradeskillEngineering = 5;
|
||||
public const uint TradeskillFirstaid = 6;
|
||||
public const uint TradeskillHerbalism = 7;
|
||||
public const uint TradeskillLeatherworking = 8;
|
||||
public const uint TradeskillPoisons = 9;
|
||||
public const uint TradeskillTailoring = 10;
|
||||
public const uint TradeskillMining = 11;
|
||||
public const uint TradeskillFishing = 12;
|
||||
public const uint TradeskillSkinning = 13;
|
||||
public const uint TradeskillJewlcrafting = 14;
|
||||
public const uint TradeskillInscription = 15;
|
||||
|
||||
public const uint TradeskillLevelNone = 0;
|
||||
public const uint TradeskillLevelApprentice = 1;
|
||||
public const uint TradeskillLevelJourneyman = 2;
|
||||
public const uint TradeskillLevelExpert = 3;
|
||||
public const uint TradeskillLevelArtisan = 4;
|
||||
public const uint TradeskillLevelMaster = 5;
|
||||
public const uint TradeskillLevelGrandMaster = 6;
|
||||
|
||||
// Gossip Defines
|
||||
public const uint GossipActionTrade = 1;
|
||||
public const uint GossipActionTrain = 2;
|
||||
public const uint GossipActionTaxi = 3;
|
||||
public const uint GossipActionGuild = 4;
|
||||
public const uint GossipActionBattle = 5;
|
||||
public const uint GossipActionBank = 6;
|
||||
public const uint GossipActionInn = 7;
|
||||
public const uint GossipActionHeal = 8;
|
||||
public const uint GossipActionTabard = 9;
|
||||
public const uint GossipActionAuction = 10;
|
||||
public const uint GossipActionInnInfo = 11;
|
||||
public const uint GossipActionUnlearn = 12;
|
||||
public const uint GossipActionInfoDef = 1000;
|
||||
|
||||
public const uint GossipSenderMain = 1;
|
||||
public const uint GossipSenderInnInfo = 2;
|
||||
public const uint GossipSenderInfo = 3;
|
||||
public const uint GossipSenderSecProftrain = 4;
|
||||
public const uint GossipSenderSecClasstrain = 5;
|
||||
public const uint GossipSenderSecBattleinfo = 6;
|
||||
public const uint GossipSenderSecBank = 7;
|
||||
public const uint GossipSenderSecInn = 8;
|
||||
public const uint GossipSenderSecMailbox = 9;
|
||||
public const uint GossipSenderSecStablemaster = 10;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum RemoveMethod
|
||||
{
|
||||
Default = 0,
|
||||
Kick = 1,
|
||||
Leave = 2,
|
||||
KickLFG = 3
|
||||
}
|
||||
|
||||
public enum GroupMemberOnlineStatus
|
||||
{
|
||||
Offline = 0x00,
|
||||
Online = 0x01, // Lua_UnitIsConnected
|
||||
PVP = 0x02, // Lua_UnitIsPVP
|
||||
Dead = 0x04, // Lua_UnitIsDead
|
||||
Ghost = 0x08, // Lua_UnitIsGhost
|
||||
PVPFFA = 0x10, // Lua_UnitIsPVPFreeForAll
|
||||
Unk3 = 0x20, // used in calls from Lua_GetPlayerMapPosition/Lua_GetBattlefieldFlagPosition
|
||||
AFK = 0x40, // Lua_UnitIsAFK
|
||||
DND = 0x80, // Lua_UnitIsDND
|
||||
RAF = 0x100,
|
||||
Vehicle = 0x200, // Lua_UnitInVehicle
|
||||
}
|
||||
|
||||
public enum GroupMemberFlags
|
||||
{
|
||||
Assistant = 0x01,
|
||||
MainTank = 0x02,
|
||||
MainAssist = 0x04
|
||||
}
|
||||
|
||||
public enum GroupMemberAssignment
|
||||
{
|
||||
MainTank = 0,
|
||||
MainAssist = 1
|
||||
}
|
||||
|
||||
public enum GroupType
|
||||
{
|
||||
None = 0,
|
||||
Normal = 1,
|
||||
WorldPvp = 4,
|
||||
}
|
||||
|
||||
public enum GroupFlags
|
||||
{
|
||||
None = 0x00,
|
||||
FakeRaid = 0x01,
|
||||
Raid = 0x02,
|
||||
LfgRestricted = 0x04, // Script_HasLFGRestrictions()
|
||||
Lfg = 0x08,
|
||||
Destroyed = 0x10,
|
||||
OnePersonParty = 0x020, // Script_IsOnePersonParty()
|
||||
EveryoneAssistant = 0x040, // Script_IsEveryoneAssistant()
|
||||
GuildGroup = 0x100,
|
||||
|
||||
MaskBgRaid = FakeRaid | Raid
|
||||
}
|
||||
|
||||
public enum GroupUpdateFlags
|
||||
{
|
||||
None = 0x00, // nothing
|
||||
Unk704 = 0x01, // Uint8[2] (Unk)
|
||||
Status = 0x02, // public ushort (Groupmemberstatusflag)
|
||||
PowerType = 0x04, // Uint8 (Powertype)
|
||||
Unk322 = 0x08, // public ushort (Unk)
|
||||
CurHp = 0x10, // Uint32 (Hp)
|
||||
MaxHp = 0x20, // Uint32 (Max Hp)
|
||||
CurPower = 0x40, // Int16 (Power Value)
|
||||
MaxPower = 0x80, // Int16 (Max Power Value)
|
||||
Level = 0x100, // public ushort (Level Value)
|
||||
Unk200000 = 0x200, // Int16 (Unk)
|
||||
Zone = 0x400, // public ushort (Zone Id)
|
||||
Unk2000000 = 0x800, // Int16 (Unk)
|
||||
Unk4000000 = 0x1000, // Int32 (Unk)
|
||||
Position = 0x2000, // public ushort (X), public ushort (Y), public ushort (Z)
|
||||
VehicleSeat = 0x4000, // Int32 (Vehicle Seat Id)
|
||||
Auras = 0x8000, // Uint8 (Unk), Uint64 (Mask), Uint32 (Count), For Each Bit Set: Uint32 (Spell Id) + public ushort (Auraflags) (If Has Flags Scalable -> 3x Int32 (Bps))
|
||||
Pet = 0x10000, // Complex (Pet)
|
||||
Phase = 0x20000, // Int32 (Unk), Uint32 (Phase Count), For (Count) Uint16(Phaseid)
|
||||
|
||||
Full = Unk704 | Status | PowerType | Unk322 | CurHp | MaxHp |
|
||||
CurPower | MaxPower | Level | Unk200000 | Zone | Unk2000000 |
|
||||
Unk4000000 | Position | VehicleSeat | Auras | Pet | Phase // All Known Flags
|
||||
}
|
||||
|
||||
public enum GroupUpdatePetFlags
|
||||
{
|
||||
None = 0x00000000, // nothing
|
||||
GUID = 0x00000001, // ObjectGuid (pet guid)
|
||||
Name = 0x00000002, // cstring (name, NULL terminated string)
|
||||
ModelId = 0x00000004, // public ushort (model id)
|
||||
CurHp = 0x00000008, // uint32 (HP)
|
||||
MaxHp = 0x00000010, // uint32 (max HP)
|
||||
Auras = 0x00000020, // [see GROUP_UPDATE_FLAG_AURAS]
|
||||
|
||||
Full = GUID | Name | ModelId | CurHp | MaxHp | Auras // all pet flags
|
||||
}
|
||||
|
||||
public enum PartyResult
|
||||
{
|
||||
Ok = 0,
|
||||
BadPlayerNameS = 1,
|
||||
TargetNotInGroupS = 2,
|
||||
TargetNotInInstanceS = 3,
|
||||
GroupFull = 4,
|
||||
AlreadyInGroupS = 5,
|
||||
NotInGroup = 6,
|
||||
NotLeader = 7,
|
||||
PlayerWrongFaction = 8,
|
||||
IgnoringYouS = 9,
|
||||
LfgPending = 12,
|
||||
InviteRestricted = 13,
|
||||
GroupSwapFailed = 14, // If (Partyoperation == PartyOpSwap) GroupSwapFailed Else InviteInCombat
|
||||
InviteUnknownRealm = 15,
|
||||
InviteNoPartyServer = 16,
|
||||
InvitePartyBusy = 17,
|
||||
PartyTargetAmbiguous = 18,
|
||||
PartyLfgInviteRaidLocked = 19,
|
||||
PartyLfgBootLimit = 20,
|
||||
PartyLfgBootCooldownS = 21,
|
||||
PartyLfgBootInProgress = 22,
|
||||
PartyLfgBootTooFewPlayers = 23,
|
||||
PartyLfgBootNotEligibleS = 24,
|
||||
RaidDisallowedByLevel = 25,
|
||||
PartyLfgBootInCombat = 26,
|
||||
VoteKickReasonNeeded = 27,
|
||||
PartyLfgBootDungeonComplete = 28,
|
||||
PartyLfgBootLootRolls = 29,
|
||||
PartyLfgTeleportInCombat = 30
|
||||
}
|
||||
|
||||
public enum PartyOperation
|
||||
{
|
||||
Invite = 0,
|
||||
UnInvite = 1,
|
||||
Leave = 2,
|
||||
Swap = 4
|
||||
}
|
||||
|
||||
public enum GroupCategory
|
||||
{
|
||||
Home = 0,
|
||||
Instance = 1,
|
||||
|
||||
Max
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,283 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public class GuildConst
|
||||
{
|
||||
public const int MaxBankTabs = 8;
|
||||
public const int MaxBankSlots = 98;
|
||||
public const int BankMoneyLogsTab = 100;
|
||||
|
||||
public const int WithdrawMoneyUnlimited = -1;
|
||||
public const int WithdrawSlotUnlimited = -1;
|
||||
public const uint EventLogGuidUndefined = 0xFFFFFFFF;
|
||||
|
||||
public const uint ChallengesTypes = 6;
|
||||
public const uint CharterItemId = 5863;
|
||||
|
||||
public const int RankNone = 0xFF;
|
||||
public const int MinRanks = 5;
|
||||
public const int MaxRanks = 10;
|
||||
|
||||
public const int BankLogMaxRecords = 25;
|
||||
public const int EventLogMaxRecords = 100;
|
||||
public const int NewsLogMaxRecords = 250;
|
||||
|
||||
public static int[] ChallengeGoldReward = { 0, 250, 1000, 500, 250, 500 };
|
||||
public static int[] ChallengeMaxLevelGoldReward = { 0, 125, 500, 250, 125, 250 };
|
||||
public static int[] ChallengesMaxCount = { 0, 7, 1, 3, 0, 3 };
|
||||
|
||||
public static uint MinNewsItemLevel = 353;
|
||||
|
||||
public static byte OldMaxLevel = 25;
|
||||
}
|
||||
|
||||
public enum GuildRankRights
|
||||
{
|
||||
None = 0x00000000,
|
||||
GChatListen = 0x00000001,
|
||||
GChatSpeak = 0x00000002,
|
||||
OffChatListen = 0x00000004,
|
||||
OffChatSpeak = 0x00000008,
|
||||
Invite = 0x00000010,
|
||||
Remove = 0x00000020,
|
||||
Roster = 0x00000040,
|
||||
Promote = 0x00000080,
|
||||
Demote = 0x00000100,
|
||||
Unk200 = 0x00000200,
|
||||
Unk400 = 0x00000400,
|
||||
Unk800 = 0x00000800,
|
||||
SetMotd = 0x00001000,
|
||||
EditPublicNote = 0x00002000,
|
||||
ViewOffNote = 0x00004000,
|
||||
EOffNote = 0x00008000,
|
||||
ModifyGuildInfo = 0x00010000,
|
||||
WithdrawGoldLock = 0x00020000, // remove money withdraw capacity
|
||||
WithdrawRepair = 0x00040000, // withdraw for repair
|
||||
WithdrawGold = 0x00080000, // withdraw gold
|
||||
CreateGuildEvent = 0x00100000, // wotlk
|
||||
All = 0x00DDFFBF
|
||||
}
|
||||
|
||||
public struct GuildDefaultRanks
|
||||
{
|
||||
public const int Master = 0;
|
||||
public const int Officer = 1;
|
||||
public const int Veteran = 2;
|
||||
public const int Member = 3;
|
||||
public const int Initiate = 4;
|
||||
}
|
||||
|
||||
public enum GuildMemberFlags
|
||||
{
|
||||
None = 0,
|
||||
Online = 1,
|
||||
AFK = 2,
|
||||
DND = 3,
|
||||
Mobile = 4
|
||||
}
|
||||
|
||||
public enum GuildMemberData
|
||||
{
|
||||
ZoneId,
|
||||
AchievementPoints,
|
||||
Level,
|
||||
}
|
||||
|
||||
public enum GuildCommandType
|
||||
{
|
||||
CreateGuild = 0,
|
||||
InvitePlayer = 1,
|
||||
LeaveGuild = 3,
|
||||
GetRoster = 5,
|
||||
PromotePlayer = 6,
|
||||
DemotePlayer = 7,
|
||||
RemovePlayer = 8,
|
||||
ChangeLeader = 10,
|
||||
EditMOTD = 11,
|
||||
GuildChat = 13,
|
||||
Founder = 14,
|
||||
ChangeRank = 16,
|
||||
EditPublicNote = 19,
|
||||
ViewTab = 21,
|
||||
MoveItem = 22,
|
||||
Repair = 25
|
||||
}
|
||||
|
||||
public enum GuildCommandError
|
||||
{
|
||||
Success = 0,
|
||||
GuildInternal = 1,
|
||||
AlreadyInGuild = 2,
|
||||
AlreadyInGuild_S = 3,
|
||||
InvitedToGuild = 4,
|
||||
AlreadyInvitedToGuild_S = 5,
|
||||
NameInvalid = 6,
|
||||
NameExists_S = 7,
|
||||
LeaderLeave = 8,
|
||||
Permissions = 8,
|
||||
PlayerNotInGuild = 9,
|
||||
PlayerNotInGuild_S = 10,
|
||||
PlayerNotFound_S = 11,
|
||||
NotAllied = 12,
|
||||
RankTooHigh_S = 13,
|
||||
RankTooLow_S = 14,
|
||||
RanksLocked = 17,
|
||||
RankInUse = 18,
|
||||
IgnoringYou_S = 19,
|
||||
Unk1 = 20,
|
||||
WithdrawLimit = 25,
|
||||
NotEnoughMoney = 26,
|
||||
BankFull = 28,
|
||||
ItemNotFound = 29,
|
||||
TooMuchMoney = 31,
|
||||
WrongTab = 32,
|
||||
RequiresAuthenticator = 34,
|
||||
BankVoucherFailed = 35,
|
||||
TrialAccount = 36,
|
||||
UndeletableDueToLevel = 37,
|
||||
MoveStarting = 38,
|
||||
RepTooLow = 39
|
||||
}
|
||||
|
||||
public enum GuildEventLogTypes
|
||||
{
|
||||
InvitePlayer = 1,
|
||||
JoinGuild = 2,
|
||||
PromotePlayer = 3,
|
||||
DemotePlayer = 4,
|
||||
UninvitePlayer = 5,
|
||||
LeaveGuild = 6,
|
||||
}
|
||||
|
||||
public enum GuildBankEventLogTypes
|
||||
{
|
||||
DepositItem = 1,
|
||||
WithdrawItem = 2,
|
||||
MoveItem = 3,
|
||||
DepositMoney = 4,
|
||||
WithdrawMoney = 5,
|
||||
RepairMoney = 6,
|
||||
MoveItem2 = 7,
|
||||
Unk1 = 8,
|
||||
BuySlot = 9,
|
||||
CashFlowDeposit = 10
|
||||
}
|
||||
|
||||
public enum GuildEmblemError
|
||||
{
|
||||
Success = 0,
|
||||
InvalidTabardColors = 1,
|
||||
NoGuild = 2,
|
||||
NotGuildMaster = 3,
|
||||
NotEnoughMoney = 4,
|
||||
InvalidVendor = 5
|
||||
}
|
||||
|
||||
public enum GuildBankRights : int
|
||||
{
|
||||
ViewTab = 0x01,
|
||||
PutItem = 0x02,
|
||||
UpdateText = 0x04,
|
||||
|
||||
DepositItem = ViewTab | PutItem,
|
||||
Full = -1
|
||||
}
|
||||
|
||||
public enum GuildNews
|
||||
{
|
||||
Achievement = 0,
|
||||
PlayerAchievement = 1,
|
||||
DungeonEncounter = 2,
|
||||
ItemLooted = 3,
|
||||
ItemCrafted = 4,
|
||||
ItemPurchased = 5,
|
||||
LevelUp = 6,
|
||||
Create = 7,
|
||||
Event = 8
|
||||
}
|
||||
|
||||
public enum PetitionTurns
|
||||
{
|
||||
Ok = 0,
|
||||
AlreadyInGuild = 2,
|
||||
NeedMoreSignatures = 4,
|
||||
GuildPermissions = 11,
|
||||
GuildNameInvalid = 12
|
||||
}
|
||||
|
||||
public enum PetitionSigns
|
||||
{
|
||||
Ok = 0,
|
||||
AlreadySigned = 1,
|
||||
AlreadyInGuild = 2,
|
||||
CantSignOwn = 3,
|
||||
NotServer = 4,
|
||||
Full = 5,
|
||||
AlreadySignedOther = 6,
|
||||
RestrictedAccount = 7
|
||||
}
|
||||
|
||||
public enum CharterTypes
|
||||
{
|
||||
Guild = 4,
|
||||
Arena2v2 = 2,
|
||||
Arena3v3 = 3,
|
||||
Arena5v5 = 5,
|
||||
}
|
||||
|
||||
public struct CharterCosts
|
||||
{
|
||||
public const uint Guild = 1000;
|
||||
public const uint Arena2v2 = 800000;
|
||||
public const uint Arena3v3 = 1200000;
|
||||
public const uint Arena5v5 = 2000000;
|
||||
}
|
||||
|
||||
public enum GuildFinderOptionsInterest
|
||||
{
|
||||
Questing = 0x01,
|
||||
Dungeons = 0x02,
|
||||
Raids = 0x04,
|
||||
PVP = 0x08,
|
||||
RolePlaying = 0x10,
|
||||
All = Questing | Dungeons | Raids | PVP | RolePlaying
|
||||
}
|
||||
|
||||
public enum GuildFinderOptionsAvailability
|
||||
{
|
||||
Weekdays = 0x1,
|
||||
Weekends = 0x2,
|
||||
Always = Weekdays | Weekends
|
||||
}
|
||||
|
||||
public enum GuildFinderOptionsRoles
|
||||
{
|
||||
Tank = 0x1,
|
||||
Healer = 0x2,
|
||||
DPS = 0x4,
|
||||
All = Tank | Healer | DPS
|
||||
}
|
||||
|
||||
public enum GuildFinderOptionsLevel
|
||||
{
|
||||
Any = 0x1,
|
||||
Max = 0x2,
|
||||
All = Any | Max
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,179 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
[Flags]
|
||||
public enum LfgRoles
|
||||
{
|
||||
None = 0x00,
|
||||
Leader = 0x01,
|
||||
Tank = 0x02,
|
||||
Healer = 0x04,
|
||||
Damage = 0x08
|
||||
}
|
||||
|
||||
public enum LfgUpdateType
|
||||
{
|
||||
Default = 0, // Internal Use
|
||||
LeaderUnk1 = 1, // Fixme: At Group Leave
|
||||
RolecheckAborted = 4,
|
||||
JoinQueue = 6,
|
||||
RolecheckFailed = 7,
|
||||
RemovedFromQueue = 8,
|
||||
ProposalFailed = 9,
|
||||
ProposalDeclined = 10,
|
||||
GroupFound = 11,
|
||||
AddedToQueue = 13,
|
||||
ProposalBegin = 14,
|
||||
UpdateStatus = 15,
|
||||
GroupMemberOffline = 16,
|
||||
GroupDisbandUnk16 = 17, // Fixme: Sometimes At Group Disband
|
||||
JoinQueueInitial = 24,
|
||||
DungeonFinished = 25,
|
||||
PartyRoleNotAvailable = 43,
|
||||
JoinLfgObjectFailed = 45,
|
||||
}
|
||||
|
||||
public enum LfgState
|
||||
{
|
||||
None,
|
||||
Rolecheck,
|
||||
Queued,
|
||||
Proposal,
|
||||
//Boot,
|
||||
Dungeon = 5,
|
||||
FinishedDungeon,
|
||||
Raidbrowser
|
||||
}
|
||||
|
||||
public enum LfgLockStatusType
|
||||
{
|
||||
InsufficientExpansion = 1,
|
||||
TooLowLevel = 2,
|
||||
TooHighLevel = 3,
|
||||
TooLowGearScore = 4,
|
||||
TooHighGearScore = 5,
|
||||
RaidLocked = 6,
|
||||
AttunementTooLowLevel = 1001,
|
||||
AttunementTooHighLevel = 1002,
|
||||
QuestNotCompleted = 1022,
|
||||
MissingItem = 1025,
|
||||
NotInSeason = 1031,
|
||||
MissingAchievement = 1034
|
||||
}
|
||||
|
||||
public enum LfgOptions
|
||||
{
|
||||
EnableDungeonFinder = 0x01,
|
||||
EnableRaidBrowser = 0x02,
|
||||
}
|
||||
|
||||
public enum LfgFlags
|
||||
{
|
||||
Unk1 = 0x1,
|
||||
Unk2 = 0x2,
|
||||
Seasonal = 0x4,
|
||||
Unk3 = 0x8
|
||||
}
|
||||
|
||||
public enum LfgType : byte
|
||||
{
|
||||
None = 0,
|
||||
Dungeon = 1,
|
||||
Raid = 2,
|
||||
Zone = 4,
|
||||
Quest = 5,
|
||||
RandomDungeon = 6
|
||||
}
|
||||
|
||||
public enum LfgProposalState
|
||||
{
|
||||
Initiating = 0,
|
||||
Failed = 1,
|
||||
Success = 2
|
||||
}
|
||||
|
||||
public enum LfgTeleportResult
|
||||
{
|
||||
// 7 = "You Can'T Do That Right Now" | 5 = No Client Reaction
|
||||
Ok = 0, // Internal Use
|
||||
PlayerDead = 1,
|
||||
Falling = 2,
|
||||
InVehicle = 3,
|
||||
Fatigue = 4,
|
||||
InvalidLocation = 6,
|
||||
Charming = 8 // Fixme - It Can Be 7 Or 8 (Need Proper Data)
|
||||
}
|
||||
|
||||
public enum LfgJoinResult
|
||||
{
|
||||
// 3 = No Client Reaction | 18 = "Rolecheck Failed"
|
||||
Ok = 0x00, // Joined (No Client Msg)
|
||||
Failed = 0x1b, // Rolecheck Failed
|
||||
Groupfull = 0x1c, // Your Group Is Full
|
||||
InternalError = 0x1e, // Internal Lfg Error
|
||||
NotMeetReqs = 0x1f, // You Do Not Meet The Requirements For The Chosen Dungeons
|
||||
PartyNotMeetReqs = 6, // One Or More Party Members Do Not Meet The Requirements For The Chosen Dungeons
|
||||
MixedRaidDungeon = 0x20, // You Cannot Mix Dungeons, Raids, And Random When Picking Dungeons
|
||||
MultiRealm = 0x21, // The Dungeon You Chose Does Not Support Players From Multiple Realms
|
||||
Disconnected = 0x22, // One Or More Party Members Are Pending Invites Or Disconnected
|
||||
PartyInfoFailed = 0x23, // Could Not Retrieve Information About Some Party Members
|
||||
DungeonInvalid = 0x24, // One Or More Dungeons Was Not Valid
|
||||
Deserter = 0x25, // You Can Not Queue For Dungeons Until Your Deserter Debuff Wears Off
|
||||
PartyDeserter = 0x26, // One Or More Party Members Has A Deserter Debuff
|
||||
RandomCooldown = 0x27, // You Can Not Queue For Random Dungeons While On Random Dungeon Cooldown
|
||||
PartyRandomCooldown = 0x28, // One Or More Party Members Are On Random Dungeon Cooldown
|
||||
TooMuchMembers = 0x29, // You Can Not Enter Dungeons With More That 5 Party Members
|
||||
UsingBgSystem = 0x2a, // You Can Not Use The Dungeon System While In Bg Or Arenas
|
||||
RoleCheckFailed = 0x2b // Role Check Failed, Client Shows Special Error
|
||||
}
|
||||
|
||||
public enum LfgRoleCheckState
|
||||
{
|
||||
Default = 0, // Internal Use = Not Initialized.
|
||||
Finished = 1, // Role Check Finished
|
||||
Initialiting = 2, // Role Check Begins
|
||||
MissingRole = 3, // Someone Didn'T Selected A Role After 2 Mins
|
||||
WrongRoles = 4, // Can'T Form A Group With That Role Selection
|
||||
Aborted = 5, // Someone Leave The Group
|
||||
NoRole = 6 // Someone Selected No Role
|
||||
}
|
||||
|
||||
public enum LfgAnswer
|
||||
{
|
||||
Pending = -1,
|
||||
Deny = 0,
|
||||
Agree = 1
|
||||
}
|
||||
|
||||
public enum LfgCompatibility
|
||||
{
|
||||
Pending,
|
||||
WrongGroupSize,
|
||||
TooMuchPlayers,
|
||||
MultipleLfgGroups,
|
||||
HasIgnores,
|
||||
NoRoles,
|
||||
NoDungeons,
|
||||
WithLessPlayers, // Values Under This = Not Compatible (Do Not Modify Order)
|
||||
BadStates,
|
||||
Match // Must Be The Last One
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum RollType
|
||||
{
|
||||
Pass = 0,
|
||||
Need = 1,
|
||||
Greed = 2,
|
||||
Disenchant = 3,
|
||||
NotEmitedYet = 4,
|
||||
NotValid = 5,
|
||||
|
||||
MaxTypes = 4,
|
||||
}
|
||||
|
||||
public enum RollMask
|
||||
{
|
||||
Pass = 0x01,
|
||||
Need = 0x02,
|
||||
Greed = 0x04,
|
||||
Disenchant = 0x08,
|
||||
|
||||
AllNoDisenchant = 0x07,
|
||||
AllMask = 0x0f
|
||||
}
|
||||
|
||||
public enum LootMethod
|
||||
{
|
||||
FreeForAll = 0,
|
||||
MasterLoot = 2,
|
||||
GroupLoot = 3,
|
||||
PersonalLoot = 5
|
||||
}
|
||||
|
||||
public enum LootModes
|
||||
{
|
||||
Default = 0x1,
|
||||
HardMode1 = 0x2,
|
||||
HardMode2 = 0x4,
|
||||
HardMode3 = 0x8,
|
||||
HardMode4 = 0x10,
|
||||
JunkFish = 0x8000
|
||||
}
|
||||
|
||||
public enum PermissionTypes
|
||||
{
|
||||
All = 0,
|
||||
Group = 1,
|
||||
Master = 2,
|
||||
Restricted = 3,
|
||||
Owner = 5,
|
||||
None = 6
|
||||
}
|
||||
|
||||
public enum LootType
|
||||
{
|
||||
None = 0,
|
||||
Corpse = 1,
|
||||
Pickpocketing = 2,
|
||||
Fishing = 3,
|
||||
Disenchanting = 4,
|
||||
// Ignored Always By Client
|
||||
Skinning = 6,
|
||||
Prospecting = 7,
|
||||
Milling = 8,
|
||||
|
||||
Fishinghole = 20, // Unsupported By Client, Sending Fishing Instead
|
||||
Insignia = 21, // Unsupported By Client, Sending Corpse Instead
|
||||
FishingJunk = 22 // unsupported by client, sending LOOT_FISHING instead
|
||||
}
|
||||
|
||||
public enum LootError
|
||||
{
|
||||
DidntKill = 0, // You don't have permission to loot that corpse.
|
||||
TooFar = 4, // You are too far away to loot that corpse.
|
||||
BadFacing = 5, // You must be facing the corpse to loot it.
|
||||
Locked = 6, // Someone is already looting that corpse.
|
||||
NotStanding = 8, // You need to be standing up to loot something!
|
||||
Stunned = 9, // You can't loot anything while stunned!
|
||||
PlayerNotFound = 10, // Player not found
|
||||
PlayTimeExceeded = 11, // Maximum play time exceeded
|
||||
MasterInvFull = 12, // That player's inventory is full
|
||||
MasterUniqueItem = 13, // Player has too many of that item already
|
||||
MasterOther = 14, // Can't assign item to that player
|
||||
AlreadPickPocketed = 15, // Your target has already had its pockets picked
|
||||
NotWhileShapeShifted = 16, // You can't do that while shapeshifted.
|
||||
NoLoot = 17 // There is no loot.
|
||||
}
|
||||
|
||||
// type of Loot Item in Loot View
|
||||
public enum LootSlotType
|
||||
{
|
||||
AllowLoot = 0, // Player Can Loot The Item.
|
||||
RollOngoing = 1, // Roll Is Ongoing. Player Cannot Loot.
|
||||
Locked = 2, // Item Is Shown In Red. Player Cannot Loot.
|
||||
Master = 3, // Item Can Only Be Distributed By Group Loot Master.
|
||||
Owner = 4 // Ignore Binding Confirmation And Etc, For Single Player Looting
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum MailMessageType
|
||||
{
|
||||
Normal = 0,
|
||||
Auction = 2,
|
||||
Creature = 3,
|
||||
Gameobject = 4,
|
||||
Calendar = 5,
|
||||
Blackmarket = 6
|
||||
}
|
||||
|
||||
public enum MailCheckMask
|
||||
{
|
||||
None = 0x00,
|
||||
Read = 0x01,
|
||||
Returned = 0x02, /// This Mail Was Returned. Do Not Allow Returning Mail Back Again.
|
||||
Copied = 0x04, /// This Mail Was Copied. Do Not Allow Making A Copy Of Items In Mail.
|
||||
CodPayment = 0x08,
|
||||
HasBody = 0x10 /// This Mail Has Body Text.
|
||||
}
|
||||
|
||||
public enum MailStationery
|
||||
{
|
||||
Test = 1,
|
||||
Default = 41,
|
||||
Gm = 61,
|
||||
Auction = 62,
|
||||
Val = 64, // Valentine
|
||||
Chr = 65, // Christmas
|
||||
Orp = 67 // Orphan
|
||||
}
|
||||
|
||||
public enum MailState
|
||||
{
|
||||
Unchanged = 1,
|
||||
Changed = 2,
|
||||
Deleted = 3
|
||||
}
|
||||
|
||||
public enum MailShowFlags
|
||||
{
|
||||
Unk0 = 0x0001,
|
||||
Delete = 0x0002, // Forced Show Delete Button Instead Return Button
|
||||
Auction = 0x0004, // From Old Comment
|
||||
Unk2 = 0x0008, // Unknown, Cod Will Be Shown Even Without That Flag
|
||||
Return = 0x0010
|
||||
}
|
||||
|
||||
public enum MailResponseType
|
||||
{
|
||||
Send = 0,
|
||||
MoneyTaken = 1,
|
||||
ItemTaken = 2,
|
||||
ReturnedToSender = 3,
|
||||
Deleted = 4,
|
||||
MadePermanent = 5
|
||||
}
|
||||
|
||||
public enum MailResponseResult
|
||||
{
|
||||
Ok = 0,
|
||||
EquipError = 1,
|
||||
CannotSendToSelf = 2,
|
||||
NotEnoughMoney = 3,
|
||||
RecipientNotFound = 4,
|
||||
NotYourTeam = 5,
|
||||
InternalError = 6,
|
||||
DisabledForTrialAcc = 14,
|
||||
RecipientCapReached = 15,
|
||||
CantSendWrappedCod = 16,
|
||||
MailAndChatSuspended = 17,
|
||||
TooManyAttachments = 18,
|
||||
MailAttachmentInvalid = 19,
|
||||
ItemHasExpired = 21
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public class MapConst
|
||||
{
|
||||
//Grids
|
||||
public const int MaxGrids = 64;
|
||||
public const float SizeofGrids = 533.33333f;
|
||||
public const float CenterGridCellId = (MaxCells * MaxGrids / 2);
|
||||
public const float CenterGridId = (MaxGrids / 2);
|
||||
public const float CenterGridOffset = (SizeofGrids / 2);
|
||||
public const float CenterGridCellOffset = (SizeofCells / 2);
|
||||
|
||||
//Cells
|
||||
public const int MaxCells = 8;
|
||||
public const float SizeofCells = (SizeofGrids / MaxCells);
|
||||
public const int TotalCellsPerMap = (MaxGrids * MaxCells);
|
||||
public const float MapSize = (SizeofGrids * MaxGrids);
|
||||
public const float MapHalfSize = (MapSize / 2);
|
||||
|
||||
public const uint MaxGroupSize = 5;
|
||||
public const uint MaxRaidSize = 40;
|
||||
public const uint MaxRaidSubGroups = MaxRaidSize / MaxGroupSize;
|
||||
public const uint TargetIconsCount = 8;
|
||||
public const uint RaidMarkersCount = 8;
|
||||
public const uint ReadycheckDuration = 35000;
|
||||
|
||||
//Liquid
|
||||
public const int MapLiquidTypeNoWater = 0x00;
|
||||
public const int MapLiquidTypeWater = 0x01;
|
||||
public const int MapLiquidTypeOcean = 0x02;
|
||||
public const int MapLiquidTypeMagma = 0x04;
|
||||
public const int MapLiquidTypeSlime = 0x08;
|
||||
public const int MapLiquidTypeDarkWater = 0x10;
|
||||
public const int MapLiquidTypeWMOWater = 0x20;
|
||||
public const int MapAllLiquidTypes = (MapLiquidTypeWater | MapLiquidTypeOcean | MapLiquidTypeMagma | MapLiquidTypeSlime);
|
||||
public const float LiquidTileSize = (533.333f / 128.0f);
|
||||
|
||||
public const int MinMapUpdateDelay = 50;
|
||||
public const int MinGridDelay = (Time.Minute * Time.InMilliseconds);
|
||||
|
||||
public const int MapResolution = 128;
|
||||
public const float DefaultHeightSearch = 50.0f;
|
||||
public const float InvalidHeight = -100000.0f;
|
||||
public const float MaxHeight = 100000.0f;
|
||||
public const float MaxFallDistance = 250000.0f;
|
||||
|
||||
public const string MapMagic = "MAPS";
|
||||
public const string MapVersionMagic = "v1.8";
|
||||
public const string MapAreaMagic = "AREA";
|
||||
public const string MapHeightMagic = "MHGT";
|
||||
public const string MapLiquidMagic = "MLIQ";
|
||||
|
||||
public const string mmapMagic = "MMAP";
|
||||
public const int mmapVersion = 8;
|
||||
|
||||
public const string VMapMagic = "VMAP_4.5";
|
||||
public const float VMAPInvalidHeightValue = -200000.0f;
|
||||
}
|
||||
|
||||
public enum NewWorldReason
|
||||
{
|
||||
Normal = 16, // Normal map change
|
||||
Seamless = 21, // Teleport to another map without a loading screen, used for outdoor scenarios
|
||||
}
|
||||
|
||||
public enum InstanceResetWarningType
|
||||
{
|
||||
WarningHours = 1, // WARNING! %s is scheduled to reset in %d hour(s).
|
||||
WarningMin = 2, // WARNING! %s is scheduled to reset in %d minute(s)!
|
||||
WarningMinSoon = 3, // WARNING! %s is scheduled to reset in %d minute(s). Please exit the zone or you will be returned to your bind location!
|
||||
Welcome = 4, // Welcome to %s. This raid instance is scheduled to reset in %s.
|
||||
Expired = 5
|
||||
}
|
||||
|
||||
public enum InstanceResetMethod
|
||||
{
|
||||
All,
|
||||
ChangeDifficulty,
|
||||
Global,
|
||||
GroupDisband,
|
||||
GroupJoin,
|
||||
RespawnDelay
|
||||
}
|
||||
|
||||
public enum GridMapTypeMask
|
||||
{
|
||||
None = 0x00,
|
||||
Corpse = 0x01,
|
||||
Creature = 0x02,
|
||||
DynamicObject = 0x04,
|
||||
GameObject = 0x08,
|
||||
Player = 0x10,
|
||||
AreaTrigger = 0x20,
|
||||
Conversation = 0x40,
|
||||
All = 0x7F,
|
||||
|
||||
//GameObjects, Creatures(except pets), DynamicObject, Corpse(Bones), AreaTrigger
|
||||
AllGrid = GameObject | Creature | DynamicObject | Corpse | AreaTrigger | Conversation,
|
||||
|
||||
//Player, Pets, Corpse(resurrectable), DynamicObject(farsight)
|
||||
AllWorld = Player | Creature | Corpse | DynamicObject
|
||||
}
|
||||
|
||||
public enum ZLiquidStatus
|
||||
{
|
||||
NoWater = 0x00,
|
||||
AboveWater = 0x01,
|
||||
WaterWalk = 0x02,
|
||||
InWater = 0x04,
|
||||
UnderWater = 0x08
|
||||
}
|
||||
|
||||
public enum EncounterFrameType
|
||||
{
|
||||
SetCombatResLimit = 0,
|
||||
ResetCombatResLimit = 1,
|
||||
Engage = 2,
|
||||
Disengage = 3,
|
||||
UpdatePriority = 4,
|
||||
AddTimer = 5,
|
||||
EnableObjective = 6,
|
||||
UpdateObjective = 7,
|
||||
DisableObjective = 8,
|
||||
Unk7 = 9, // Seems To Have Something To Do With Sorting The Encounter Units
|
||||
AddCombatResLimit = 10
|
||||
}
|
||||
|
||||
public enum EncounterState
|
||||
{
|
||||
NotStarted = 0,
|
||||
InProgress = 1,
|
||||
Fail = 2,
|
||||
Done = 3,
|
||||
Special = 4,
|
||||
ToBeDecided = 5
|
||||
}
|
||||
|
||||
public enum EncounterCreditType
|
||||
{
|
||||
KillCreature = 0,
|
||||
CastSpell = 1
|
||||
}
|
||||
|
||||
public enum DoorType
|
||||
{
|
||||
Room = 0, // Door can open if encounter is not in progress
|
||||
Passage = 1, // Door can open if encounter is done
|
||||
SpawnHole = 2, // Door can open if encounter is in progress, typically used for spawning places
|
||||
Max
|
||||
}
|
||||
|
||||
public enum EnterState
|
||||
{
|
||||
CanEnter = 0,
|
||||
CannotEnterAlreadyInMap = 1, // Player Is Already In The Map
|
||||
CannotEnterNoEntry, // No Map Entry Was Found For The Target Map Id
|
||||
CannotEnterUninstancedDungeon, // No Instance Template Was Found For Dungeon Map
|
||||
CannotEnterDifficultyUnavailable, // Requested Instance Difficulty Is Not Available For Target Map
|
||||
CannotEnterNotInRaid, // Target Instance Is A Raid Instance And The Player Is Not In A Raid Group
|
||||
CannotEnterCorpseInDifferentInstance, // Player Is Dead And Their Corpse Is Not In Target Instance
|
||||
CannotEnterInstanceBindMismatch, // Player'S Permanent Instance Save Is Not Compatible With Their Group'S Current Instance Bind
|
||||
CannotEnterTooManyInstances, // Player Has Entered Too Many Instances Recently
|
||||
CannotEnterMaxPlayers, // Target Map Already Has The Maximum Number Of Players Allowed
|
||||
CannotEnterZoneInCombat, // A Boss Encounter Is Currently In Progress On The Target Map
|
||||
CannotEnterUnspecifiedReason
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum MovementSlot
|
||||
{
|
||||
Idle,
|
||||
Active,
|
||||
Controlled,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum MovementGeneratorType
|
||||
{
|
||||
Idle = 0, // IdleMovement
|
||||
Random = 1, // RandomMovement
|
||||
Waypoint = 2, // WaypointMovement
|
||||
|
||||
MaxDB = 3, // *** this and below motion types can't be set in DB.
|
||||
AnimalRandom = MaxDB, // AnimalRandomMovementGenerator.h
|
||||
Confused = 4, // ConfusedMovementGenerator.h
|
||||
Chase = 5, // TargetedMovementGenerator.h
|
||||
Home = 6, // HomeMovementGenerator.h
|
||||
Flight = 7, // WaypointMovementGenerator.h
|
||||
Point = 8, // PointMovementGenerator.h
|
||||
Fleeing = 9, // FleeingMovementGenerator.h
|
||||
Distract = 10, // IdleMovementGenerator.h
|
||||
Assistance = 11, // PointMovementGenerator.h (first part of flee for assistance)
|
||||
AssistanceDistract = 12, // IdleMovementGenerator.h (second part of flee for assistance)
|
||||
TimedFleeing = 13, // FleeingMovementGenerator.h (alt.second part of flee for assistance)
|
||||
Follow = 14,
|
||||
Rotate = 15,
|
||||
Effect = 16,
|
||||
Null = 17,
|
||||
SplineChain = 18,
|
||||
Max
|
||||
}
|
||||
|
||||
public struct EventId
|
||||
{
|
||||
public const uint Charge = 1003;
|
||||
public const uint Jump = 1004;
|
||||
|
||||
/// Special charge event which is used for charge spells that have explicit targets
|
||||
/// and had a path already generated - using it in PointMovementGenerator will not
|
||||
/// create a new spline and launch it
|
||||
public const uint ChargePrepath = 1005;
|
||||
public const uint SmartRandomPoint = 0xFFFFFE;
|
||||
public const uint SmartEscortLastOCCPoint = 0xFFFFFF;
|
||||
}
|
||||
|
||||
public enum AnimType
|
||||
{
|
||||
ToGround = 0, // 460 = ToGround, index of AnimationData.dbc
|
||||
FlyToFly = 1, // 461 = FlyToFly?
|
||||
ToFly = 2, // 458 = ToFly
|
||||
FlyToGround = 3 // 463 = FlyToGround
|
||||
}
|
||||
|
||||
public enum RotateDirection
|
||||
{
|
||||
Left,
|
||||
Right
|
||||
}
|
||||
|
||||
public enum UpdateCollisionHeightReason
|
||||
{
|
||||
Scale = 0,
|
||||
Mount = 1,
|
||||
Force = 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
[Flags]
|
||||
public enum MovementFlag
|
||||
{
|
||||
None = 0x0,
|
||||
Forward = 0x1,
|
||||
Backward = 0x2,
|
||||
StrafeLeft = 0x4,
|
||||
StrafeRight = 0x8,
|
||||
Left = 0x10,
|
||||
Right = 0x20,
|
||||
PitchUp = 0x40,
|
||||
PitchDown = 0x80,
|
||||
Walking = 0x100,
|
||||
DisableGravity = 0x200,
|
||||
Root = 0x400,
|
||||
Falling = 0x800,
|
||||
FallingFar = 0x1000,
|
||||
PendingStop = 0x2000,
|
||||
PendingStrafeStop = 0x4000,
|
||||
PendingForward = 0x8000,
|
||||
PendingBackward = 0x10000,
|
||||
PendingStrafeLeft = 0x20000,
|
||||
PendingStrafeRight = 0x40000,
|
||||
PendingRoot = 0x80000,
|
||||
Swimming = 0x100000,
|
||||
Ascending = 0x200000,
|
||||
Descending = 0x400000,
|
||||
CanFly = 0x800000,
|
||||
Flying = 0x1000000,
|
||||
SplineElevation = 0x2000000,
|
||||
WaterWalk = 0x4000000,
|
||||
FallingSlow = 0x8000000,
|
||||
Hover = 0x10000000,
|
||||
DisableCollision = 0x20000000,
|
||||
|
||||
MaskMoving = Forward | Backward | StrafeLeft | StrafeRight | Falling | Ascending | Descending,
|
||||
|
||||
MaskTurning = Left | Right | PitchUp | PitchDown,
|
||||
|
||||
MaskMovingFly = Flying | Ascending | Descending,
|
||||
|
||||
MaskCreatureAllowed = Forward | DisableGravity | Root | Swimming |
|
||||
CanFly | WaterWalk | FallingSlow | Hover | DisableCollision,
|
||||
|
||||
MaskPlayerOnly = Flying,
|
||||
|
||||
MaskHasPlayerStatusOpcode = DisableGravity | Root | CanFly | WaterWalk |
|
||||
FallingSlow | Hover | DisableCollision
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum MovementFlag2
|
||||
{
|
||||
None = 0x0,
|
||||
NoStrafe = 0x1,
|
||||
NoJumping = 0x2,
|
||||
FullSpeedTurning = 0x4,
|
||||
FullSpeedPitching = 0x8,
|
||||
AlwaysAllowPitching = 0x10,
|
||||
IsVehicleExitVoluntary = 0x20,
|
||||
JumpSplineInAir = 0x40,
|
||||
AnimTierInTrans = 0x80,
|
||||
WaterwalkingFullPitch = 0x100, // will always waterwalk, even if facing the camera directly down
|
||||
VehiclePassengerIsTransitionAllowed = 0x200,
|
||||
CanSwimToFlyTrans = 0x400,
|
||||
Unk11 = 0x800, // terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag
|
||||
CanTurnWhileFalling = 0x1000,
|
||||
Unk13 = 0x2000, // will always waterwalk, even if facing the camera directly down
|
||||
IgnoreMovementForces = 0x4000,
|
||||
Unk15 = 0x8000,
|
||||
CanDoubleJump = 0x10000,
|
||||
DoubleJump = 0x20000,
|
||||
// these flags cannot be sent (18 bits in packet)
|
||||
Unk18 = 0x40000,
|
||||
Unk19 = 0x80000,
|
||||
InterpolatedMovement = 0x100000,
|
||||
InterpolatedTurning = 0x200000,
|
||||
InterpolatedPitching = 0x400000
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum MonsterMoveType
|
||||
{
|
||||
Normal = 0,
|
||||
FacingSpot = 1,
|
||||
FacingTarget = 2,
|
||||
FacingAngle = 3
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum SplineFlag : uint
|
||||
{
|
||||
None = 0x00,
|
||||
// x00-x07 used as animation Ids storage in pair with Animation flag
|
||||
Unknown0 = 0x00000008, // NOT VERIFIED - does someting related to falling/fixed orientation
|
||||
FallingSlow = 0x00000010,
|
||||
Done = 0x00000020,
|
||||
Falling = 0x00000040, // Affects elevation computation, can't be combined with Parabolic flag
|
||||
NoSpline = 0x00000080,
|
||||
Unknown1 = 0x00000100, // NOT VERIFIED
|
||||
Flying = 0x00000200, // Smooth movement(Catmullrom interpolation mode), flying animation
|
||||
OrientationFixed = 0x00000400, // Model orientation fixed
|
||||
Catmullrom = 0x00000800, // Used Catmullrom interpolation mode
|
||||
Cyclic = 0x00001000, // Movement by cycled spline
|
||||
EnterCycle = 0x00002000, // Everytimes appears with cyclic flag in monster move packet, erases first spline vertex after first cycle done
|
||||
Frozen = 0x00004000, // Will never arrive
|
||||
TransportEnter = 0x00008000,
|
||||
TransportExit = 0x00010000,
|
||||
Unknown2 = 0x00020000, // NOT VERIFIED
|
||||
Unknown3 = 0x00040000, // NOT VERIFIED
|
||||
Backward = 0x00080000,
|
||||
SmoothGroundPath = 0x00100000,
|
||||
CanSwim = 0x00200000,
|
||||
UncompressedPath = 0x00400000,
|
||||
Unknown4 = 0x00800000, // NOT VERIFIED
|
||||
Unknown5 = 0x01000000, // NOT VERIFIED
|
||||
Animation = 0x02000000, // Plays animation after some time passed
|
||||
Parabolic = 0x04000000, // Affects elevation computation, can't be combined with Falling flag
|
||||
FadeObject = 0x08000000,
|
||||
Steering = 0x10000000,
|
||||
Unknown8 = 0x20000000, // NOT VERIFIED
|
||||
Unknown9 = 0x40000000, // NOT VERIFIED
|
||||
Unknown10 = 0x80000000, // NOT VERIFIED
|
||||
|
||||
// animation ids stored here, see AnimType enum, used with Animation flag
|
||||
MaskAnimations = 0x7,
|
||||
// flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably
|
||||
MaskNoMonsterMove = MaskAnimations | Done,
|
||||
// Unused, not suported flags
|
||||
MaskUnused = NoSpline | EnterCycle | Frozen | Unknown0 | Unknown1 | Unknown2 | Unknown3 | Unknown4 | FadeObject | Steering | Unknown8 | Unknown9 | Unknown10
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
// Player state
|
||||
public enum SessionStatus
|
||||
{
|
||||
Authed = 0, // Player authenticated (_player == NULL, m_playerRecentlyLogout = false or will be reset before handler call, m_GUID have garbage)
|
||||
Loggedin, // Player in game (_player != NULL, m_GUID == _player->GetGUID(), inWorld())
|
||||
Transfer, // Player transferring to another map (_player != NULL, m_GUID == _player->GetGUID(), !inWorld())
|
||||
LoggedinOrRecentlyLogout, // _player != NULL or _player == NULL && m_playerRecentlyLogout && m_playerLogout, m_GUID store last _player guid)
|
||||
}
|
||||
|
||||
public enum PacketProcessing
|
||||
{
|
||||
Inplace = 0, //process packet whenever we receive it - mostly for non-handled or non-implemented packets
|
||||
ThreadUnsafe, //packet is not thread-safe - process it in World.UpdateSessions()
|
||||
ThreadSafe //packet is thread-safe - process it in Map.Update()
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,229 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum TypeId
|
||||
{
|
||||
Object = 0,
|
||||
Item = 1,
|
||||
Container = 2,
|
||||
Unit = 3,
|
||||
Player = 4,
|
||||
GameObject = 5,
|
||||
DynamicObject = 6,
|
||||
Corpse = 7,
|
||||
AreaTrigger = 8,
|
||||
SceneObject = 9,
|
||||
Conversation = 10
|
||||
}
|
||||
|
||||
public enum TypeMask
|
||||
{
|
||||
Object = 0x01,
|
||||
Item = 0x02,
|
||||
Container = Item | 0x04,
|
||||
Unit = 0x08,
|
||||
Player = 0x10,
|
||||
GameObject = 0x20,
|
||||
DynamicObject = 0x40,
|
||||
Corpse = 0x80,
|
||||
AreaTrigger = 0x100,
|
||||
Sceneobject = 0x200,
|
||||
Conversation = 0x400,
|
||||
Seer = Player | Unit | DynamicObject
|
||||
}
|
||||
|
||||
public enum HighGuid
|
||||
{
|
||||
Null = 0,
|
||||
Uniq = 1,
|
||||
Player = 2,
|
||||
Item = 3,
|
||||
WorldTransaction = 4,
|
||||
StaticDoor = 5, //NYI
|
||||
Transport = 6,
|
||||
Conversation = 7,
|
||||
Creature = 8,
|
||||
Vehicle = 9,
|
||||
Pet = 10,
|
||||
GameObject = 11,
|
||||
DynamicObject = 12,
|
||||
AreaTrigger = 13,
|
||||
Corpse = 14,
|
||||
LootObject = 15,
|
||||
SceneObject = 16,
|
||||
Scenario = 17,
|
||||
AIGroup = 18,
|
||||
DynamicDoor = 19,
|
||||
ClientActor = 20, //NYI
|
||||
Vignette = 21,
|
||||
CallForHelp = 22,
|
||||
AIResource = 23,
|
||||
AILock = 24,
|
||||
AILockTicket = 25,
|
||||
ChatChannel = 26,
|
||||
Party = 27,
|
||||
Guild = 28,
|
||||
WowAccount = 29,
|
||||
BNetAccount = 30,
|
||||
GMTask = 31,
|
||||
MobileSession = 32, //NYI
|
||||
RaidGroup = 33,
|
||||
Spell = 34,
|
||||
Mail = 35,
|
||||
WebObj = 36, //NYI
|
||||
LFGObject = 37, //NYI
|
||||
LFGList = 38, //NYI
|
||||
UserRouter = 39,
|
||||
PVPQueueGroup = 40,
|
||||
UserClient = 41,
|
||||
PetBattle = 42, //NYI
|
||||
UniqUserClient = 43,
|
||||
BattlePet = 44,
|
||||
CommerceObj = 45,
|
||||
ClientSession = 46,
|
||||
Cast = 47
|
||||
}
|
||||
|
||||
public enum NotifyFlags
|
||||
{
|
||||
None = 0x00,
|
||||
AIRelocation = 0x01,
|
||||
VisibilityChanged = 0x02,
|
||||
All = 0xFF
|
||||
}
|
||||
|
||||
public enum TempSummonType
|
||||
{
|
||||
TimedOrDeadDespawn = 1, // despawns after a specified time OR when the creature disappears
|
||||
TimedOrCorpseDespawn = 2, // despawns after a specified time OR when the creature dies
|
||||
TimedDespawn = 3, // despawns after a specified time
|
||||
TimedDespawnOOC = 4, // despawns after a specified time after the creature is out of combat
|
||||
CorpseDespawn = 5, // despawns instantly after death
|
||||
CorpseTimedDespawn = 6, // despawns after a specified time after death
|
||||
DeadDespawn = 7, // despawns when the creature disappears
|
||||
ManualDespawn = 8 // despawns when UnSummon() is called
|
||||
}
|
||||
|
||||
public enum SummonCategory
|
||||
{
|
||||
Wild = 0,
|
||||
Ally = 1,
|
||||
Pet = 2,
|
||||
Puppet = 3,
|
||||
Vehicle = 4,
|
||||
Unk = 5 // as of patch 3.3.5a only Bone Spike in Icecrown Citadel
|
||||
// uses this category
|
||||
}
|
||||
|
||||
public enum SummonType
|
||||
{
|
||||
None = 0,
|
||||
Pet = 1,
|
||||
Guardian = 2,
|
||||
Minion = 3,
|
||||
Totem = 4,
|
||||
Minipet = 5,
|
||||
Guardian2 = 6,
|
||||
Wild2 = 7,
|
||||
Wild3 = 8, // Related to phases and DK prequest line (3.3.5a)
|
||||
Vehicle = 9,
|
||||
Vehicle2 = 10, // Oculus and Argent Tournament vehicles (3.3.5a)
|
||||
LightWell = 11,
|
||||
Jeeves = 12,
|
||||
Unk13 = 13
|
||||
}
|
||||
|
||||
public enum SummonerType
|
||||
{
|
||||
Creature = 0,
|
||||
GameObject = 1,
|
||||
Map = 2
|
||||
}
|
||||
|
||||
public enum GhostVisibilityType
|
||||
{
|
||||
Alive = 0x1,
|
||||
Ghost = 0x2
|
||||
}
|
||||
|
||||
public enum StealthType
|
||||
{
|
||||
General = 0,
|
||||
Trap = 1,
|
||||
|
||||
Max = 2
|
||||
}
|
||||
|
||||
public enum InvisibilityType
|
||||
{
|
||||
General = 0,
|
||||
Unk1 = 1,
|
||||
Unk2 = 2,
|
||||
Trap = 3,
|
||||
Unk4 = 4,
|
||||
Unk5 = 5,
|
||||
Drunk = 6,
|
||||
Unk7 = 7,
|
||||
Unk8 = 8,
|
||||
Unk9 = 9,
|
||||
Unk10 = 10,
|
||||
Unk11 = 11,
|
||||
Unk12 = 12,
|
||||
Unk13 = 13,
|
||||
Unk14 = 14,
|
||||
Unk15 = 15,
|
||||
Unk16 = 16,
|
||||
Unk17 = 17,
|
||||
Unk18 = 18,
|
||||
Unk19 = 19,
|
||||
Unk20 = 20,
|
||||
Unk21 = 21,
|
||||
Unk22 = 22,
|
||||
Unk23 = 23,
|
||||
Unk24 = 24,
|
||||
Unk25 = 25,
|
||||
Unk26 = 26,
|
||||
Unk27 = 27,
|
||||
Unk28 = 28,
|
||||
Unk29 = 29,
|
||||
Unk30 = 30,
|
||||
Unk31 = 31,
|
||||
Unk32 = 32,
|
||||
Unk33 = 33,
|
||||
Unk34 = 34,
|
||||
Unk35 = 35,
|
||||
Unk36 = 36,
|
||||
Unk37 = 37,
|
||||
|
||||
Max = 38
|
||||
}
|
||||
|
||||
public enum ServerSideVisibilityType
|
||||
{
|
||||
GM = 0,
|
||||
Ghost = 1,
|
||||
}
|
||||
|
||||
public enum SessionFlags
|
||||
{
|
||||
None = 0x00,
|
||||
FromRedirect = 0x01,
|
||||
HasRedirected = 0x02
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum ObjectiveStates
|
||||
{
|
||||
Neutral = 0,
|
||||
Alliance,
|
||||
Horde,
|
||||
NeutralAllianceChallenge,
|
||||
NeutralHordeChallenge,
|
||||
AllianceHordeChallenge,
|
||||
HordeAllianceChallenge
|
||||
}
|
||||
|
||||
public enum OutdoorPvPTypes
|
||||
{
|
||||
HellfirePeninsula = 1,
|
||||
Nagrand = 2,
|
||||
TerokkarForest = 3,
|
||||
Zangarmarsh = 4,
|
||||
Silithus = 5,
|
||||
Max = 6
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum CharmType
|
||||
{
|
||||
Charm,
|
||||
Possess,
|
||||
Vehicle,
|
||||
Convert
|
||||
}
|
||||
|
||||
public enum PetType
|
||||
{
|
||||
Summon = 0,
|
||||
Hunter = 1,
|
||||
Max = 4
|
||||
}
|
||||
|
||||
public enum PetSaveMode
|
||||
{
|
||||
AsDeleted = -1, // not saved in fact
|
||||
AsCurrent = 0, // in current slot (with player)
|
||||
FirstStableSlot = 1,
|
||||
LastStableSlot = 4, // last in DB stable slot index (including), all higher have same meaning as PET_SAVE_NOT_IN_SLOT
|
||||
NotInSlot = 100 // for avoid conflict with stable size grow will use 100
|
||||
}
|
||||
|
||||
public enum HappinessState
|
||||
{
|
||||
UnHappy = 1,
|
||||
Content = 2,
|
||||
Happy = 3
|
||||
}
|
||||
|
||||
public enum PetSpellState
|
||||
{
|
||||
Unchanged = 0,
|
||||
Changed = 1,
|
||||
New = 2,
|
||||
Removed = 3
|
||||
}
|
||||
|
||||
public enum PetSpellType
|
||||
{
|
||||
Normal = 0,
|
||||
Family = 1,
|
||||
Talent = 2
|
||||
}
|
||||
|
||||
public enum ActionFeedback
|
||||
{
|
||||
None = 0,
|
||||
PetDead = 1,
|
||||
NothingToAtt = 2,
|
||||
CantAttTarget = 3
|
||||
}
|
||||
|
||||
public enum PetTalk
|
||||
{
|
||||
SpecialSpell = 0,
|
||||
Attack = 1
|
||||
}
|
||||
|
||||
public enum CommandStates
|
||||
{
|
||||
Stay = 0,
|
||||
Follow = 1,
|
||||
Attack = 2,
|
||||
Abandon = 3,
|
||||
MoveTo = 4
|
||||
}
|
||||
|
||||
public enum PetNameInvalidReason
|
||||
{
|
||||
// custom, not send
|
||||
Success = 0,
|
||||
|
||||
Invalid = 1,
|
||||
NoName = 2,
|
||||
TooShort = 3,
|
||||
TooLong = 4,
|
||||
MixedLanguages = 6,
|
||||
Profane = 7,
|
||||
Reserved = 8,
|
||||
ThreeConsecutive = 11,
|
||||
InvalidSpace = 12,
|
||||
ConsecutiveSpaces = 13,
|
||||
RussianConsecutiveSilentCharacters = 14,
|
||||
RussianSilentCharacterAtBeginningOrEnd = 15,
|
||||
DeclensionDoesntMatchBaseName = 16
|
||||
}
|
||||
|
||||
public enum PetStableinfo
|
||||
{
|
||||
Active = 1,
|
||||
Inactive = 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,771 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public struct PlayerConst
|
||||
{
|
||||
public const int MaxTalentTiers = 7;
|
||||
public const int MaxTalentColumns = 3;
|
||||
public const int MaxTalentRank = 5;
|
||||
public const int MinSpecializationLevel = 10;
|
||||
public const int MaxSpecializations = 4;
|
||||
public const int MaxMasterySpells = 2;
|
||||
|
||||
public const int ReqPrimaryTreeTalents = 31;
|
||||
public const int ExploredZonesSize = 256;
|
||||
public const long MaxMoneyAmount = long.MaxValue;
|
||||
public const int MaxActionButtons = 132;
|
||||
public const int MaxActionButtonActionValue = 0x00FFFFFF + 1;
|
||||
|
||||
public const uint KnowTitlesSize = 6;
|
||||
public const uint MaxTitleIndex = KnowTitlesSize * 64;
|
||||
|
||||
public const int MaxDailyQuests = 25;
|
||||
public const int QuestsCompletedBitsSize = 1750;
|
||||
|
||||
public static TimeSpan InfinityCooldownDelay = TimeSpan.FromSeconds(Time.Month); // used for set "infinity cooldowns" for spells and check
|
||||
public const uint infinityCooldownDelayCheck = Time.Month / 2;
|
||||
public const int MaxPlayerSummonDelay = 2 * Time.Minute;
|
||||
|
||||
public const int TaxiMaskSize = 243;
|
||||
|
||||
// corpse reclaim times
|
||||
public const int DeathExpireStep = (5 * Time.Minute);
|
||||
public const int MaxDeathCount = 3;
|
||||
|
||||
public const int MaxCUFProfiles = 5;
|
||||
|
||||
public static uint[] copseReclaimDelay = { 30, 60, 120 };
|
||||
|
||||
public const int MaxRunes = 7;
|
||||
public const int MaxRechargingRunes = 3;
|
||||
|
||||
public static uint[] DefaultTalentRowLevels = { 15, 30, 45, 60, 75, 90, 100 };
|
||||
public static uint[] DKTalentRowLevels = { 57, 58, 59, 60, 75, 90, 100 };
|
||||
//public static uint[] DHTalentRowLevels = { 99, 100, 102, 104, 106, 108, 110 };
|
||||
|
||||
public const int CustomDisplaySize = 3;
|
||||
|
||||
public const int ArtifactsAllWeaponsGeneralWeaponEquippedPassive = 197886;
|
||||
|
||||
public const byte MaxHonorLevel = 50;
|
||||
public const byte LevelMinHonor = 110;
|
||||
}
|
||||
|
||||
public struct MoneyConstants
|
||||
{
|
||||
public const int Copper = 1;
|
||||
public const int Silver = Copper * 100;
|
||||
public const int Gold = Silver * 100;
|
||||
}
|
||||
|
||||
public struct PlayerFieldOffsets
|
||||
{
|
||||
public const byte BytesOffsetSkinId = 0;
|
||||
public const byte BytesOffsetFaceId = 1;
|
||||
public const byte BytesOffsetHairStyleId = 2;
|
||||
public const byte BytesOffsetHairColorId = 3;
|
||||
|
||||
public const byte Bytes2OffsetCustomDisplayOption = 0; // 3 Bytes
|
||||
public const byte Bytes2OffsetFacialStyle = 3;
|
||||
|
||||
public const byte Bytes3OffsetPartyType = 0;
|
||||
public const byte Bytes3OffsetBankBagSlots = 1;
|
||||
public const byte Bytes3OffsetGender = 2;
|
||||
public const byte Bytes3OffsetInebriation = 3;
|
||||
|
||||
public const byte Bytes4OffsetPvpTitle = 0;
|
||||
public const byte Bytes4OffsetArenaFaction = 1;
|
||||
|
||||
public const byte FieldBytesOffsetRafGrantableLevel = 0;
|
||||
public const byte FieldBytesOffsetActionBarToggles = 1;
|
||||
public const byte FieldBytesOffsetLifetimeMaxPvpRank = 2;
|
||||
public const byte FieldBytesOffsetMaxArtifactPowerRanks = 3;
|
||||
|
||||
public const byte FieldBytes2OffsetIgnorePowerRegenPredictionMask = 0;
|
||||
public const byte FieldBytes2OffsetAuraVision = 1;
|
||||
|
||||
public const byte FieldBytes3OffsetOverrideSpellsId = 2; // Uint16!
|
||||
public const byte FieldBytes3OffsetOverrideSpellsIdUint16Offset = FieldBytes3OffsetOverrideSpellsId / 2;
|
||||
|
||||
public const byte FieldKillsOffsetTodayKills = 0;
|
||||
public const byte FieldKillsOffsetYesterdayKills = 1;
|
||||
|
||||
public const byte RestStateXp = 0;
|
||||
public const byte RestRestedXp = 1;
|
||||
public const byte RestStateHonor = 2;
|
||||
public const byte RestRestedHonor = 3;
|
||||
}
|
||||
|
||||
public enum TradeSlots
|
||||
{
|
||||
Invalid = -1,
|
||||
NonTraded = 6,
|
||||
TradedCount = 6,
|
||||
Count = 7
|
||||
}
|
||||
|
||||
public enum Tutorials
|
||||
{
|
||||
Talent = 0,
|
||||
Spec = 1,
|
||||
Glyph = 2,
|
||||
SpellBook = 3,
|
||||
Professions = 4,
|
||||
CoreAbilitites = 5,
|
||||
PetJournal = 6,
|
||||
WhatHasChanged = 7,
|
||||
Max = 8
|
||||
}
|
||||
|
||||
public enum TradeStatus
|
||||
{
|
||||
PlayerBusy = 0,
|
||||
Proposed = 1,
|
||||
Initiated = 2,
|
||||
Cancelled = 3,
|
||||
Accepted = 4,
|
||||
AlreadyTrading = 5,
|
||||
NoTarget = 6,
|
||||
Unaccepted = 7,
|
||||
Complete = 8,
|
||||
StateChanged = 9,
|
||||
TooFarAway = 10,
|
||||
WrongFaction = 11,
|
||||
Failed = 12,
|
||||
Petition = 13,
|
||||
PlayerIgnored = 14,
|
||||
Stunned = 15,
|
||||
TargetStunned = 16,
|
||||
Dead = 17,
|
||||
TargetDead = 18,
|
||||
LoggingOut = 19,
|
||||
TargetLoggingOut = 20,
|
||||
RestrictedAccount = 21,
|
||||
WrongRealm = 22,
|
||||
NotOnTaplist = 23,
|
||||
CurrencyNotTradable = 24,
|
||||
NotEnoughCurrency = 25,
|
||||
}
|
||||
|
||||
public enum RestFlag
|
||||
{
|
||||
Tavern = 0x01,
|
||||
City = 0x02,
|
||||
FactionArea = 0x04
|
||||
}
|
||||
|
||||
public enum ChatFlags
|
||||
{
|
||||
None = 0x00,
|
||||
AFK = 0x01,
|
||||
DND = 0x02,
|
||||
GM = 0x04,
|
||||
Com = 0x08, // Commentator
|
||||
Dev = 0x10,
|
||||
BossSound = 0x20, // Plays "RaidBossEmoteWarning" sound on raid boss emote/whisper
|
||||
Mobile = 0x40
|
||||
}
|
||||
|
||||
public enum DrunkenState
|
||||
{
|
||||
Sober = 0,
|
||||
Tipsy = 1,
|
||||
Drunk = 2,
|
||||
Smashed = 3
|
||||
}
|
||||
|
||||
public enum TalentSpecialization // talent tabs
|
||||
{
|
||||
MageArcane = 62,
|
||||
MageFire = 63,
|
||||
MageFrost = 64,
|
||||
PaladinHoly = 65,
|
||||
PaladinProtection = 66,
|
||||
PaladinRetribution = 70,
|
||||
WarriorArms = 71,
|
||||
WarriorFury = 72,
|
||||
WarriorProtection = 73,
|
||||
DruidBalance = 102,
|
||||
DruidFeralCombat = 103,
|
||||
DruidRestoration = 104,
|
||||
DeathKnightBlood = 250,
|
||||
DeathKnightFrost = 251,
|
||||
DeathKnightUnholy = 252,
|
||||
HunterBeastMastery = 253,
|
||||
HunterMarksman = 254,
|
||||
HunterSurvival = 255,
|
||||
PriestDiscipline = 256,
|
||||
PriestHoly = 257,
|
||||
PriestShadow = 258,
|
||||
RogueAssassination = 259,
|
||||
RogueCombat = 260,
|
||||
RogueSubtlety = 261,
|
||||
ShamanElemental = 262,
|
||||
ShamanEnhancement = 263,
|
||||
ShamanRestoration = 264,
|
||||
WarlockAffliction = 265,
|
||||
WarlockDemonology = 266,
|
||||
WarlockDestruction = 267,
|
||||
MonkBrewmaster = 268,
|
||||
MonkBattledancer = 269,
|
||||
MonkMistweaver = 270,
|
||||
DemonHunterHavoc = 577,
|
||||
DemonHunterVengeance = 581
|
||||
}
|
||||
|
||||
public enum SpecResetType
|
||||
{
|
||||
Talents = 0,
|
||||
Specialization = 1,
|
||||
Glyphs = 2,
|
||||
PetTalents = 3
|
||||
}
|
||||
|
||||
public enum MirrorTimerType
|
||||
{
|
||||
Disabled = -1,
|
||||
Fatigue = 0,
|
||||
Breath = 1,
|
||||
Fire = 2, // feign death
|
||||
Max = 3
|
||||
}
|
||||
|
||||
public enum TransferAbortReason
|
||||
{
|
||||
None = 0,
|
||||
Error = 1,
|
||||
MaxPlayers = 2, // Transfer ed: Instance Is Full
|
||||
NotFound = 3, // Transfer ed: Instance Not Found
|
||||
TooManyInstances = 4, // You Have Entered Too Many Instances Recently.
|
||||
ZoneInCombat = 6, // Unable To Zone In While An Encounter Is In Progress.
|
||||
InsufExpanLvl = 7, // You Must Have <Tbc, Wotlk> Expansion Installed To Access This Area.
|
||||
Difficulty = 8, // <Normal, Heroic, Epic> Difficulty Mode Is Not Available For %S.
|
||||
UniqueMessage = 9, // Until You'Ve Escaped Tlk'S Grasp, You Cannot Leave This Place!
|
||||
TooManyRealmInstances = 10, // Additional Instances Cannot Be Launched, Please Try Again Later.
|
||||
NeedGroup = 11, // Transfer ed: You Must Be In A Raid Group To Enter This Instance
|
||||
NotFound2 = 12, // Transfer ed: Instance Not Found
|
||||
NotFound3 = 13, // Transfer ed: Instance Not Found
|
||||
NotFound4 = 14, // Transfer ed: Instance Not Found
|
||||
RealmOnly = 15, // All Players In The Party Must Be From The Same Realm To Enter %S.
|
||||
MapNotAllowed = 16, // Map Cannot Be Entered At This Time.
|
||||
LockedToDifferentInstance = 18, // You Are Already Locked To %S
|
||||
AlreadyCompletedEncounter = 19, // You Are Ineligible To Participate In At Least One Encounter In This Instance Because You Are Already Locked To An Instance In Which It Has Been Defeated.
|
||||
DifficultyNotFound = 22, // Client Writes To Console "Unable To Resolve Requested Difficultyid %U To Actual Difficulty For Map %D"
|
||||
XrealmZoneDown = 24, // Transfer ed: Cross-Realm Zone Is Down
|
||||
SoloPlayerSwitchDifficulty = 26, // This Instance Is Already In Progress. You May Only Switch Difficulties From Inside The Instance.
|
||||
}
|
||||
|
||||
public enum RaidGroupReason
|
||||
{
|
||||
None = 0,
|
||||
Lowlevel = 1, // "You are too low level to enter this instance."
|
||||
Only = 2, // "You must be in a raid group to enter this instance."
|
||||
Full = 3, // "The instance is full."
|
||||
RequirementsUnmatch = 4 // "You do not meet the requirements to enter this instance."
|
||||
}
|
||||
|
||||
public enum ResetFailedReason
|
||||
{
|
||||
Failed = 0, // "Cannot reset %s. There are players still inside the instance."
|
||||
Zoning = 1, // "Cannot reset %s. There are players in your party attempting to zone into an instance."
|
||||
Offline = 2 // "Cannot reset %s. There are players offline in your party."
|
||||
}
|
||||
|
||||
public enum ActivateTaxiReply
|
||||
{
|
||||
Ok = 0,
|
||||
UnspecifiedServerError = 1,
|
||||
NoSuchPath = 2,
|
||||
NotEnoughMoney = 3,
|
||||
TooFarAway = 4,
|
||||
NoVendorNearby = 5,
|
||||
NotVisited = 6,
|
||||
PlayerBusy = 7,
|
||||
PlayerAlreadyMounted = 8,
|
||||
PlayerShapeshifted = 9,
|
||||
PlayerMoving = 10,
|
||||
SameNode = 11,
|
||||
NotStanding = 12,
|
||||
}
|
||||
|
||||
public enum TaxiNodeStatus
|
||||
{
|
||||
None = 0,
|
||||
Learned = 1,
|
||||
Unlearned = 2,
|
||||
NotEligible = 3
|
||||
}
|
||||
|
||||
public enum PlayerDelayedOperations
|
||||
{
|
||||
SavePlayer = 0x01,
|
||||
ResurrectPlayer = 0x02,
|
||||
SpellCastDeserter = 0x04,
|
||||
BGMountRestore = 0x08, ///< Flag to restore mount state after teleport from BG
|
||||
BGTaxiRestore = 0x10, ///< Flag to restore taxi state after teleport from BG
|
||||
BGGroupRestore = 0x20, ///< Flag to restore group state after teleport from BG
|
||||
End
|
||||
}
|
||||
|
||||
public enum CorpseType
|
||||
{
|
||||
Bones = 0,
|
||||
ResurrectablePVE = 1,
|
||||
ResurrectablePVP = 2,
|
||||
Max = 3
|
||||
}
|
||||
|
||||
public enum CorpseFlags
|
||||
{
|
||||
None = 0x00,
|
||||
Bones = 0x01,
|
||||
Unk1 = 0x02,
|
||||
PvP = 0x04,
|
||||
HideHelm = 0x08,
|
||||
HideCloak = 0x10,
|
||||
Skinnable = 0x20,
|
||||
FFAPvP = 0x40
|
||||
}
|
||||
|
||||
public enum ActionButtonUpdateState
|
||||
{
|
||||
UnChanged = 0,
|
||||
Changed = 1,
|
||||
New = 2,
|
||||
Deleted = 3
|
||||
}
|
||||
|
||||
public enum ActionButtonType
|
||||
{
|
||||
Spell = 0x00,
|
||||
C = 0x01, // click?
|
||||
Eqset = 0x20,
|
||||
Dropdown = 0x30,
|
||||
Macro = 0x40,
|
||||
CMacro = C | Macro,
|
||||
Mount = 0x60,
|
||||
Item = 0x80
|
||||
}
|
||||
|
||||
public enum TeleportToOptions
|
||||
{
|
||||
GMMode = 0x01,
|
||||
NotLeaveTransport = 0x02,
|
||||
NotLeaveCombat = 0x04,
|
||||
NotUnSummonPet = 0x08,
|
||||
Spell = 0x10,
|
||||
Seamless = 0x20
|
||||
}
|
||||
|
||||
/// Type of environmental damages
|
||||
public enum EnviromentalDamage
|
||||
{
|
||||
Exhausted = 0,
|
||||
Drowning = 1,
|
||||
Fall = 2,
|
||||
Lava = 3,
|
||||
Slime = 4,
|
||||
Fire = 5,
|
||||
FallToVoid = 6 // custom case for fall without durability loss
|
||||
}
|
||||
|
||||
public enum PlayerUnderwaterState
|
||||
{
|
||||
None = 0x00,
|
||||
InWater = 0x01, // terrain type is water and player is afflicted by it
|
||||
InLava = 0x02, // terrain type is lava and player is afflicted by it
|
||||
InSlime = 0x04, // terrain type is lava and player is afflicted by it
|
||||
InDarkWater = 0x08, // terrain type is dark water and player is afflicted by it
|
||||
|
||||
ExistTimers = 0x10
|
||||
}
|
||||
|
||||
public struct RuneCooldowns
|
||||
{
|
||||
public const int Base = 10000;
|
||||
public const int Miss = 1500; // cooldown applied on runes when the spell misses
|
||||
}
|
||||
|
||||
public enum PlayerFlags : uint
|
||||
{
|
||||
GroupLeader = 0x01,
|
||||
AFK = 0x02,
|
||||
DND = 0x04,
|
||||
GM = 0x08,
|
||||
Ghost = 0x10,
|
||||
Resting = 0x20,
|
||||
Unk6 = 0x40,
|
||||
Unk7 = 0x80,
|
||||
ContestedPVP = 0x100,
|
||||
InPVP = 0x200,
|
||||
HideHelm = 0x400,
|
||||
HideCloak = 0x800,
|
||||
PlayedLongTime = 0x1000,
|
||||
PlayedTooLong = 0x2000,
|
||||
IsOutOfBounds = 0x4000,
|
||||
Developer = 0x8000,
|
||||
Unk16 = 0x10000,
|
||||
TaxiBenchmark = 0x20000,
|
||||
PVPTimer = 0x40000,
|
||||
Uber = 0x80000,
|
||||
Unk20 = 0x100000,
|
||||
Unk21 = 0x200000,
|
||||
Commentator2 = 0x400000,
|
||||
AllowOnlyAbility = 0x800000,
|
||||
PetBattlesUnlocked = 0x1000000,
|
||||
NoXPGain = 0x2000000,
|
||||
Unk26 = 0x4000000,
|
||||
AutoDeclineGuild = 0x8000000,
|
||||
GuildLevelEnabled = 0x10000000,
|
||||
VoidUnlocked = 0x20000000,
|
||||
Mentor = 0x40000000,
|
||||
Unk31 = 0x80000000
|
||||
}
|
||||
|
||||
public enum PlayerFlagsEx
|
||||
{
|
||||
ReagentBankUnlocked = 0x01,
|
||||
MercenaryMode = 0x02
|
||||
}
|
||||
|
||||
public enum CharacterFlags : uint
|
||||
{
|
||||
None = 0x00000000,
|
||||
Unk1 = 0x00000001,
|
||||
Unk2 = 0x00000002,
|
||||
CharacterLockedForTransfer = 0x00000004,
|
||||
Unk4 = 0x00000008,
|
||||
Unk5 = 0x00000010,
|
||||
Unk6 = 0x00000020,
|
||||
Unk7 = 0x00000040,
|
||||
Unk8 = 0x00000080,
|
||||
Unk9 = 0x00000100,
|
||||
Unk10 = 0x00000200,
|
||||
HideHelm = 0x00000400,
|
||||
HideCloak = 0x00000800,
|
||||
Unk13 = 0x00001000,
|
||||
Ghost = 0x00002000,
|
||||
Rename = 0x00004000,
|
||||
Unk16 = 0x00008000,
|
||||
Unk17 = 0x00010000,
|
||||
Unk18 = 0x00020000,
|
||||
Unk19 = 0x00040000,
|
||||
Unk20 = 0x00080000,
|
||||
Unk21 = 0x00100000,
|
||||
Unk22 = 0x00200000,
|
||||
Unk23 = 0x00400000,
|
||||
Unk24 = 0x00800000,
|
||||
LockedByBilling = 0x01000000,
|
||||
Declined = 0x02000000,
|
||||
Unk27 = 0x04000000,
|
||||
Unk28 = 0x08000000,
|
||||
Unk29 = 0x10000000,
|
||||
Unk30 = 0x20000000,
|
||||
Unk31 = 0x40000000,
|
||||
Unk32 = 0x80000000
|
||||
}
|
||||
|
||||
public enum PlayerLocalFlags
|
||||
{
|
||||
TrackStealthed = 0x02,
|
||||
ReleaseTimer = 0x08, // Display time till auto release spirit
|
||||
NoReleaseWindow = 0x10, // Display no "release spirit" window at all
|
||||
NoPetBar = 0x00000020, // CGPetInfo::IsPetBarUsed
|
||||
OverrideCameraMinHeight = 0x00000040,
|
||||
UsingPartGarrison = 0x00000100,
|
||||
CanUseObjectsMounted = 0x00000200,
|
||||
CanVisitPartyGarrison = 0x00000400
|
||||
}
|
||||
|
||||
public enum PlayerFieldByte2Flags
|
||||
{
|
||||
None = 0x00,
|
||||
Stealth = 0x20,
|
||||
InvisibilityGlow = 0x40
|
||||
}
|
||||
|
||||
public enum AreaTeams
|
||||
{
|
||||
None = 0,
|
||||
Ally = 2,
|
||||
Horde = 4,
|
||||
Any = 6
|
||||
}
|
||||
|
||||
public enum RestTypes : byte
|
||||
{
|
||||
XP = 0,
|
||||
Honor = 1,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum PlayerRestState
|
||||
{
|
||||
Rested = 0x01,
|
||||
NotRAFLinked = 0x02,
|
||||
RAFLinked = 0x06
|
||||
}
|
||||
|
||||
public enum CharacterCustomizeFlags
|
||||
{
|
||||
None = 0x00,
|
||||
Customize = 0x01, // Name, Gender, Etc...
|
||||
Faction = 0x10000, // Name, Gender, Faction, Etc...
|
||||
Race = 0x100000 // Name, Gender, Race, Etc...
|
||||
}
|
||||
|
||||
public enum CharacterFlags3 : uint
|
||||
{
|
||||
LockedByRevokedVasTransaction = 0x100000,
|
||||
LockedByRevokedCharacterUpgrade = 0x80000000,
|
||||
}
|
||||
|
||||
public enum CharacterFlags4
|
||||
{
|
||||
TrialBoost = 0x80,
|
||||
TrialBoostLocked = 0x40000,
|
||||
}
|
||||
|
||||
public enum TextureSection // TODO: Find a better name. Used in CharSections.dbc
|
||||
{
|
||||
BaseSkin = 0,
|
||||
Face = 1,
|
||||
FacialHair = 2,
|
||||
Hair = 3,
|
||||
Underwear = 4,
|
||||
}
|
||||
|
||||
public enum AtLoginFlags
|
||||
{
|
||||
None = 0x00,
|
||||
Rename = 0x01,
|
||||
ResetSpells = 0x02,
|
||||
ResetTalents = 0x04,
|
||||
Customize = 0x08,
|
||||
ResetPetTalents = 0x10,
|
||||
FirstLogin = 0x20,
|
||||
ChangeFaction = 0x40,
|
||||
ChangeRace = 0x80,
|
||||
Resurrect = 0x100
|
||||
}
|
||||
|
||||
public enum PlayerSlots
|
||||
{
|
||||
// first slot for item stored (in any way in player items data)
|
||||
Start = 0,
|
||||
// last+1 slot for item stored (in any way in player items data)
|
||||
End = 187,
|
||||
Count = (End - Start)
|
||||
}
|
||||
|
||||
public enum PlayerTitle : ulong
|
||||
{
|
||||
Disabled = 0x0000000000000000,
|
||||
None = 0x0000000000000001,
|
||||
Private = 0x0000000000000002, // 1
|
||||
Corporal = 0x0000000000000004, // 2
|
||||
SergeantA = 0x0000000000000008, // 3
|
||||
MasterSergeant = 0x0000000000000010, // 4
|
||||
SergeantMajor = 0x0000000000000020, // 5
|
||||
Knight = 0x0000000000000040, // 6
|
||||
KnightLieutenant = 0x0000000000000080, // 7
|
||||
KnightCaptain = 0x0000000000000100, // 8
|
||||
KnightChampion = 0x0000000000000200, // 9
|
||||
LieutenantCommander = 0x0000000000000400, // 10
|
||||
Commander = 0x0000000000000800, // 11
|
||||
Marshal = 0x0000000000001000, // 12
|
||||
FieldMarshal = 0x0000000000002000, // 13
|
||||
GrandMarshal = 0x0000000000004000, // 14
|
||||
Scout = 0x0000000000008000, // 15
|
||||
Grunt = 0x0000000000010000, // 16
|
||||
SergeantH = 0x0000000000020000, // 17
|
||||
SeniorSergeant = 0x0000000000040000, // 18
|
||||
FirstSergeant = 0x0000000000080000, // 19
|
||||
StoneGuard = 0x0000000000100000, // 20
|
||||
BloodGuard = 0x0000000000200000, // 21
|
||||
Legionnaire = 0x0000000000400000, // 22
|
||||
Centurion = 0x0000000000800000, // 23
|
||||
Champion = 0x0000000001000000, // 24
|
||||
LieutenantGeneral = 0x0000000002000000, // 25
|
||||
General = 0x0000000004000000, // 26
|
||||
Warlord = 0x0000000008000000, // 27
|
||||
HighWarlord = 0x0000000010000000, // 28
|
||||
Gladiator = 0x0000000020000000, // 29
|
||||
Duelist = 0x0000000040000000, // 30
|
||||
Rival = 0x0000000080000000, // 31
|
||||
Challenger = 0x0000000100000000, // 32
|
||||
ScarabLord = 0x0000000200000000, // 33
|
||||
Conqueror = 0x0000000400000000, // 34
|
||||
Justicar = 0x0000000800000000, // 35
|
||||
ChampionOfTheNaaru = 0x0000001000000000, // 36
|
||||
MercilessGladiator = 0x0000002000000000, // 37
|
||||
OfTheShatteredSun = 0x0000004000000000, // 38
|
||||
HandOfAdal = 0x0000008000000000, // 39
|
||||
VengefulGladiator = 0x0000010000000000, // 40
|
||||
}
|
||||
|
||||
public enum PlayerExtraFlags
|
||||
{
|
||||
// gm abilities
|
||||
GMOn = 0x01,
|
||||
AcceptWhispers = 0x04,
|
||||
TaxiCheat = 0x08,
|
||||
GMInvisible = 0x10,
|
||||
GMChat = 0x20, // Show GM badge in chat messages
|
||||
|
||||
// other states
|
||||
PVPDeath = 0x100 // store PvP death status until corpse creating.
|
||||
}
|
||||
|
||||
public enum EquipmentSetUpdateState
|
||||
{
|
||||
Unchanged = 0,
|
||||
Changed = 1,
|
||||
New = 2,
|
||||
Deleted = 3
|
||||
}
|
||||
|
||||
public enum CUFBoolOptions
|
||||
{
|
||||
KeepGroupsTogether,
|
||||
DisplayPets,
|
||||
DisplayMainTankAndAssist,
|
||||
DisplayHealPrediction,
|
||||
DisplayAggroHighlight,
|
||||
DisplayOnlyDispellableDebuffs,
|
||||
DisplayPowerBar,
|
||||
DisplayBorder,
|
||||
UseClassColors,
|
||||
DisplayHorizontalGroups,
|
||||
DisplayNonBossDebuffs,
|
||||
DynamicPosition,
|
||||
Locked,
|
||||
Shown,
|
||||
AutoActivate2Players,
|
||||
AutoActivate3Players,
|
||||
AutoActivate5Players,
|
||||
AutoActivate10Players,
|
||||
AutoActivate15Players,
|
||||
AutoActivate25Players,
|
||||
AutoActivate40Players,
|
||||
AutoActivateSpec1,
|
||||
AutoActivateSpec2,
|
||||
AutoActivateSpec3,
|
||||
AutoActivateSpec4,
|
||||
AutoActivatePvp,
|
||||
AutoActivatePve,
|
||||
|
||||
BoolOptionsCount,
|
||||
}
|
||||
|
||||
public enum DuelCompleteType
|
||||
{
|
||||
Interrupted = 0,
|
||||
Won = 1,
|
||||
Fled = 2
|
||||
}
|
||||
|
||||
public enum ReferAFriendError
|
||||
{
|
||||
None = 0,
|
||||
NotReferredBy = 1,
|
||||
TargetTooHigh = 2,
|
||||
InsufficientGrantableLevels = 3,
|
||||
TooFar = 4,
|
||||
DifferentFaction = 5,
|
||||
NotNow = 6,
|
||||
GrantLevelMaxI = 7,
|
||||
NoTarget = 8,
|
||||
NotInGroup = 9,
|
||||
SummonLevelMaxI = 10,
|
||||
SummonCooldown = 11,
|
||||
InsufExpanLvl = 12,
|
||||
SummonOfflineS = 13,
|
||||
NoXrealm = 14,
|
||||
MapIncomingTransferNotAllowed = 15
|
||||
}
|
||||
|
||||
public enum PlayerCommandStates
|
||||
{
|
||||
None = 0x00,
|
||||
God = 0x01,
|
||||
Casttime = 0x02,
|
||||
Cooldown = 0x04,
|
||||
Power = 0x08,
|
||||
Waterwalk = 0x10
|
||||
}
|
||||
|
||||
public enum AttackSwingErr
|
||||
{
|
||||
CantAttack = 0,
|
||||
BadFacing = 1,
|
||||
NotInRange = 2,
|
||||
DeadTarget = 3
|
||||
}
|
||||
|
||||
public enum PlayerLogXPReason
|
||||
{
|
||||
Kill = 0,
|
||||
NoKill = 1
|
||||
}
|
||||
|
||||
public enum HeirloomPlayerFlags
|
||||
{
|
||||
None = 0x00,
|
||||
BonusLevel90 = 0x01,
|
||||
BonusLevel100 = 0x02,
|
||||
BonusLevel110 = 0x04
|
||||
}
|
||||
|
||||
public enum HeirloomItemFlags
|
||||
{
|
||||
None = 0x00,
|
||||
ShowOnlyIfKnown = 0x01,
|
||||
Pvp = 0x02
|
||||
}
|
||||
|
||||
public enum DeclinedNameResult
|
||||
{
|
||||
Success = 0,
|
||||
Error = 1
|
||||
}
|
||||
|
||||
public enum BindExtensionState
|
||||
{
|
||||
Expired = 0,
|
||||
Normal = 1,
|
||||
Extended = 2,
|
||||
Keep = 255 // special state: keep current save type
|
||||
}
|
||||
|
||||
public enum TalentLearnResult
|
||||
{
|
||||
LearnOk = 0,
|
||||
FailedUnknown = 1,
|
||||
FailedNotEnoughTalentsInPrimaryTree = 2,
|
||||
FailedNoPrimaryTreeSelected = 3,
|
||||
FailedCantDoThatRightNow = 4,
|
||||
FailedAffectingCombat = 5,
|
||||
FailedCantRemoveTalent = 6,
|
||||
FailedCantDoThatChallengeModeActive = 7,
|
||||
FailedRestArea = 8
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,339 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum QuestObjectiveType
|
||||
{
|
||||
Monster = 0,
|
||||
Item = 1,
|
||||
GameObject = 2,
|
||||
TalkTo = 3,
|
||||
Currency = 4,
|
||||
LearnSpell = 5,
|
||||
MinReputation = 6,
|
||||
MaxReputation = 7,
|
||||
Money = 8,
|
||||
PlayerKills = 9,
|
||||
AreaTrigger = 10,
|
||||
WinPetBattleAgainstNpc = 11,
|
||||
DefeatBattlePet = 12,
|
||||
WinPvpPetBattles = 13,
|
||||
CriteriaTree = 14,
|
||||
ProgressBar = 15,
|
||||
HaveCurrency = 16, // requires the player to have X currency when turning in but does not consume it
|
||||
ObtainCurrency = 17 // requires the player to gain X currency after starting the quest but not required to keep it until the end (does not consume)
|
||||
}
|
||||
|
||||
public enum QuestObjectiveFlags
|
||||
{
|
||||
TrackedOnMinimap = 0x01, // Client Displays Large Yellow Blob On Minimap For Creature/Gameobject
|
||||
Sequenced = 0x02, // Client Will Not See The Objective Displayed Until All Previous Objectives Are Completed
|
||||
Optional = 0x04, // Not Required To Complete The Quest
|
||||
Hidden = 0x08, // Never Displayed In Quest Log
|
||||
HideItemGains = 0x10, // Skip Showing Item Objective Progress
|
||||
ProgressCountsItemsInInventory = 0x20, // Item Objective Progress Counts Items In Inventory Instead Of Reading It From Updatefields
|
||||
PartOfProgressBar = 0x40, // Hidden Objective Used To Calculate Progress Bar Percent (Quests Are Limited To A Single Progress Bar Objective)
|
||||
}
|
||||
|
||||
public struct QuestSlotOffsets
|
||||
{
|
||||
public const int Id = 0;
|
||||
public const int State = 1;
|
||||
public const int Counts = 2;
|
||||
public const int Time = 14;
|
||||
public const int Max = 16;
|
||||
}
|
||||
|
||||
public enum QuestSlotStateMask
|
||||
{
|
||||
None = 0x0000,
|
||||
Complete = 0x0001,
|
||||
Fail = 0x0002
|
||||
}
|
||||
|
||||
public enum QuestType
|
||||
{
|
||||
AutoComplete= 0,
|
||||
Disabled = 1,
|
||||
Normal = 2,
|
||||
Task = 3,
|
||||
Max = 4
|
||||
}
|
||||
|
||||
public enum QuestInfos
|
||||
{
|
||||
Group = 1,
|
||||
Class = 21,
|
||||
PVP = 41,
|
||||
Raid = 62,
|
||||
Dungeon = 81,
|
||||
WorldEvent = 82,
|
||||
Legendary = 83,
|
||||
Escort = 84,
|
||||
Heroic = 85,
|
||||
Raid10 = 88,
|
||||
Raid25 = 89,
|
||||
Scenario = 98,
|
||||
Account = 102,
|
||||
SideQuest = 104
|
||||
}
|
||||
|
||||
public enum QuestSort
|
||||
{
|
||||
Epic = 1,
|
||||
HallowsEnd = 21,
|
||||
Seasonal = 22,
|
||||
Cataclysm = 23,
|
||||
Herbalism = 24,
|
||||
Battlegrounds = 25,
|
||||
DayOfTheDead = 41,
|
||||
Warlock = 61,
|
||||
Warrior = 81,
|
||||
Shaman = 82,
|
||||
Fishing = 101,
|
||||
Blacksmithing = 121,
|
||||
Paladin = 141,
|
||||
Mage = 161,
|
||||
Rogue = 162,
|
||||
Alchemy = 181,
|
||||
Leatherworking = 182,
|
||||
Engineering = 201,
|
||||
TreasureMap = 221,
|
||||
Tournament = 241,
|
||||
Hunter = 261,
|
||||
Priest = 262,
|
||||
Druid = 263,
|
||||
Tailoring = 264,
|
||||
Special = 284,
|
||||
Cooking = 304,
|
||||
FirstAid = 324,
|
||||
Legendary = 344,
|
||||
DarkmoonFaire = 364,
|
||||
AhnQirajWar = 365,
|
||||
LunarFestival = 366,
|
||||
Reputation = 367,
|
||||
Invasion = 368,
|
||||
Midsummer = 369,
|
||||
Brewfest = 370,
|
||||
Inscription = 371,
|
||||
DeathKnight = 372,
|
||||
Jewelcrafting = 373,
|
||||
Noblegarden = 374,
|
||||
PilgrimsBounty = 375,
|
||||
LoveIsInTheAir = 376,
|
||||
Archaeology = 377,
|
||||
ChildrensWeek = 378,
|
||||
FirelandsInvasion = 379,
|
||||
TheZandalari = 380,
|
||||
ElementalBonds = 381,
|
||||
PandarenBrewmaster = 391,
|
||||
Scenario = 392,
|
||||
BattlePets = 394,
|
||||
Monk = 395,
|
||||
Landfall = 396,
|
||||
PandarenCampaign = 397,
|
||||
Riding = 398,
|
||||
BrawlersGuild = 399,
|
||||
ProvingGrounds = 400,
|
||||
GarrisonCampaign = 401,
|
||||
AssaultOnTheDarkPortal = 402,
|
||||
GarrisonSupport = 403,
|
||||
Logging = 404,
|
||||
Pickpocketing = 405
|
||||
}
|
||||
|
||||
public enum QuestFailedReasons
|
||||
{
|
||||
None = 0,
|
||||
FailedLowLevel = 1, // "You Are Not High Enough Level For That Quest.""
|
||||
FailedWrongRace = 6, // "That Quest Is Not Available To Your Race."
|
||||
AlreadyDone = 7, // "You Have Completed That Daily Quest Today."
|
||||
OnlyOneTimed = 12, // "You Can Only Be On One Timed Quest At A Time"
|
||||
AlreadyOn1 = 13, // "You Are Already On That Quest"
|
||||
FailedExpansion = 16, // "This Quest Requires An Expansion Enabled Account."
|
||||
AlreadyOn2 = 18, // "You Are Already On That Quest"
|
||||
FailedMissingItems = 21, // "You Don'T Have The Required Items With You. Check Storage."
|
||||
FailedNotEnoughMoney = 23, // "You Don'T Have Enough Money For That Quest"
|
||||
FailedCais = 24, // "You Cannot Complete Quests Once You Have Reached Tired Time"
|
||||
AlreadyDoneDaily = 26, // "You Have Completed That Daily Quest Today."
|
||||
FailedSpell = 28, // "You Haven'T Learned The Required Spell."
|
||||
HasInProgress = 30 // "Progress Bar Objective Not Completed"
|
||||
}
|
||||
|
||||
public enum QuestPushReason
|
||||
{
|
||||
Success = 0,
|
||||
Invalid = 1,
|
||||
Accepted = 2,
|
||||
Declined = 3,
|
||||
Busy = 4,
|
||||
Dead = 5,
|
||||
LogFull = 6,
|
||||
OnQuest = 7,
|
||||
AlreadyDone = 8,
|
||||
NotDaily = 9,
|
||||
TimerExpired = 10,
|
||||
NotInParty = 11,
|
||||
DifferentServerDaily = 12,
|
||||
NotAllowed = 13
|
||||
}
|
||||
|
||||
public enum QuestTradeSkill
|
||||
{
|
||||
None = 0,
|
||||
Alchemy = 1,
|
||||
Blacksmithing = 2,
|
||||
Cooking = 3,
|
||||
Enchanting = 4,
|
||||
Engineering = 5,
|
||||
Firstaid = 6,
|
||||
Herbalism = 7,
|
||||
Leatherworking = 8,
|
||||
Poisons = 9,
|
||||
Tailoring = 10,
|
||||
Mining = 11,
|
||||
Fishing = 12,
|
||||
Skinning = 13,
|
||||
Jewelcrafting = 14
|
||||
}
|
||||
|
||||
public enum QuestStatus
|
||||
{
|
||||
None = 0,
|
||||
Complete = 1,
|
||||
//Unavailable = 2,
|
||||
Incomplete = 3,
|
||||
//Available = 4,
|
||||
Failed = 5,
|
||||
Rewarded = 6, // Not Used In Db
|
||||
Max
|
||||
}
|
||||
|
||||
public enum QuestGiverStatus
|
||||
{
|
||||
None = 0x000,
|
||||
Unk = 0x001,
|
||||
Unavailable = 0x002,
|
||||
LowLevelAvailable = 0x004,
|
||||
LowLevelRewardRep = 0x008,
|
||||
LowLevelAvailableRep = 0x010,
|
||||
Incomplete = 0x020,
|
||||
RewardRep = 0x040,
|
||||
AvailableRep = 0x080,
|
||||
Available = 0x100,
|
||||
Reward2 = 0x200, // No Yellow Dot On Minimap
|
||||
Reward = 0x400, // Yellow Dot On Minimap
|
||||
|
||||
// Custom value meaning that script call did not return any valid quest status
|
||||
ScriptedNoStatus = 0x1000
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum QuestFlags
|
||||
{
|
||||
None = 0x00,
|
||||
StayAlive = 0x01, // Not Used Currently
|
||||
PartyAccept = 0x02, // Not Used Currently. If Player In Party, All Players That Can Accept This Quest Will Receive Confirmation Box To Accept Quest Cmsg_Quest_Confirm_Accept/Smsg_Quest_Confirm_Accept
|
||||
Exploration = 0x04, // Not Used Currently
|
||||
Sharable = 0x08, // Can Be Shared: Player.Cansharequest()
|
||||
HasCondition = 0x10, // Not Used Currently
|
||||
HideRewardPoi = 0x20, // Not Used Currently: Unsure Of Content
|
||||
Raid = 0x40, // Can be completed while in raid
|
||||
TBC = 0x80, // Not Used Currently: Available If Tbc Expansion Enabled Only
|
||||
NoMoneyFromXp = 0x100, // Not Used Currently: Experience Is Not Converted To Gold At Max Level
|
||||
HiddenRewards = 0x200, // Items And Money Rewarded Only Sent In Smsg_Questgiver_Offer_Reward (Not In Smsg_Questgiver_Quest_Details Or In Client Quest Log(Smsg_Quest_Query_Response))
|
||||
Tracking = 0x400, // These Quests Are Automatically Rewarded On Quest Complete And They Will Never Appear In Quest Log Client Side.
|
||||
DeprecateReputation = 0x800, // Not Used Currently
|
||||
Daily = 0x1000, // Used To Know Quest Is Daily One
|
||||
Pvp = 0x2000, // Having This Quest In Log Forces Pvp Flag
|
||||
Unavailable = 0x4000, // Used On Quests That Are Not Generically Available
|
||||
Weekly = 0x8000,
|
||||
AutoComplete = 0x10000, // Quests with this flag player submit automatically by special button in player gui
|
||||
DisplayItemInTracker = 0x20000, // Displays Usable Item In Quest Tracker
|
||||
ObjText = 0x40000, // Use Objective Text As Complete Text
|
||||
AutoAccept = 0x80000, // The client recognizes this flag as auto-accept. However, NONE of the current quests (3.3.5a) have this flag. Maybe blizz used to use it, or will use it in the future.
|
||||
Unk1 = 0x100000, //
|
||||
AutoTake = 0x200000, // Automatically Suggestion Of Accepting Quest. Not From Npc.
|
||||
//Unk2 = 0x400000,
|
||||
//Unk3 = 0x800000, // Found In Quest 14069
|
||||
//Unk4 = 0x1000000,
|
||||
// ... 4.X Added Flags Up To 0x80000000 - All Unknown For Now
|
||||
}
|
||||
|
||||
// last checked in 19802
|
||||
[Flags]
|
||||
public enum QuestFlagsEx
|
||||
{
|
||||
None = 0x00,
|
||||
KeepAdditionalItems = 0x01,
|
||||
SuppressGossipComplete = 0x02,
|
||||
SuppressGossipAccept = 0x04,
|
||||
DisallowPlayerAsQuestgiver = 0x08,
|
||||
DisplayClassChoiceRewards = 0x10,
|
||||
DisplaySpecChoiceRewards = 0x20,
|
||||
RemoveFromLogOnPeriodicReset = 0x40,
|
||||
AccountLevelQuest = 0x80,
|
||||
LegendaryQuest = 0x100,
|
||||
NoGuildXp = 0x200,
|
||||
ResetCacheOnAccept = 0x400,
|
||||
NoAbandonOnceAnyObjectiveComplete = 0x800,
|
||||
RecastAcceptSpellOnLogin = 0x1000,
|
||||
UpdateZoneAuras = 0x2000,
|
||||
NoCreditForProxy = 0x4000,
|
||||
DisplayAsDailyQuest = 0x8000,
|
||||
PartOfQuestLine = 0x10000,
|
||||
QuestForInternalBuildsOnly = 0x20000,
|
||||
SuppressSpellLearnTextLine = 0x40000,
|
||||
DisplayHeaderAsObjectiveForTasks = 0x80000,
|
||||
GarrisonNonOwnersAllowed = 0x100000,
|
||||
RemoveQuestOnWeeklyReset = 0x200000,
|
||||
SuppressFarewellAudioAfterQuestAccept = 0x0400000,
|
||||
RewardsBypassWeeklyCapsAndSeasonTotal = 0x0800000,
|
||||
ClearProgressOfCriteriaTreeObjectivesOnAccept = 0x1000000
|
||||
}
|
||||
|
||||
public enum QuestSpecialFlags
|
||||
{
|
||||
None = 0x00,
|
||||
// Flags For Set Specialflags In Db If Required But Used Only At Server
|
||||
Repeatable = 0x001,
|
||||
ExplorationOrEvent = 0x002, // If Required Area Explore, Spell Spell_Effect_Quest_Complete Casting, Table `*_Script` Command Script_Command_Quest_Explored Use, Set From Script)
|
||||
AutoAccept = 0x004, // Quest Is To Be Auto-Accepted.
|
||||
DfQuest = 0x008, // Quest Is Used By Dungeon Finder.
|
||||
Monthly = 0x010, // Quest Is Reset At The Begining Of The Month
|
||||
Cast = 0x20, // Set by 32 in SpecialFlags in DB if the quest requires RequiredOrNpcGo killcredit but NOT kill (a spell cast)
|
||||
// Room For More Custom Flags
|
||||
|
||||
DbAllowed = Repeatable | ExplorationOrEvent | AutoAccept | DfQuest | Monthly | Cast,
|
||||
|
||||
Deliver = 0x080, // Internal Flag Computed Only
|
||||
Speakto = 0x100, // Internal Flag Computed Only
|
||||
Kill = 0x200, // Internal Flag Computed Only
|
||||
Timed = 0x400, // Internal Flag Computed Only
|
||||
PlayerKill = 0x800 // Internal Flag Computed Only
|
||||
}
|
||||
|
||||
public enum QuestSaveType
|
||||
{
|
||||
Default = 0,
|
||||
Delete,
|
||||
ForceDelete
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
// AuraScript interface - enum used for runtime checks of script function calls
|
||||
public enum AuraScriptHookType
|
||||
{
|
||||
None = 0,
|
||||
Registration,
|
||||
Loading,
|
||||
Unloading,
|
||||
EffectApply,
|
||||
EffectAfterApply,
|
||||
EffectRemove,
|
||||
EffectAfterRemove,
|
||||
EffectPeriodic,
|
||||
EffectUpdatePeriodic,
|
||||
EffectCalcAmount,
|
||||
EffectCalcPeriodic,
|
||||
EffectCalcSpellmod,
|
||||
EffectAbsorb,
|
||||
EffectAfterAbsorb,
|
||||
EffectManaShield,
|
||||
EffectAfterManaShield,
|
||||
EffectSplit,
|
||||
CheckAreaTarget,
|
||||
Dispel,
|
||||
AfterDispel,
|
||||
// Spell Proc Hooks
|
||||
CheckProc,
|
||||
PrepareProc,
|
||||
Proc,
|
||||
EffectProc,
|
||||
EffectAfterProc,
|
||||
AfterProc,
|
||||
//Apply,
|
||||
//Remove
|
||||
}
|
||||
|
||||
// SpellScript interface - enum used for runtime checks of script function calls
|
||||
public enum SpellScriptHookType
|
||||
{
|
||||
None = 0,
|
||||
Registration,
|
||||
Loading,
|
||||
Unloading,
|
||||
Launch,
|
||||
LaunchTarget,
|
||||
EffectHit,
|
||||
EffectHitTarget,
|
||||
EffectSuccessfulDispel,
|
||||
BeforeHit,
|
||||
OnHit,
|
||||
AfterHit,
|
||||
ObjectAreaTargetSelect,
|
||||
ObjectTargetSelect,
|
||||
DestinationTargetSelect,
|
||||
CheckCast,
|
||||
BeforeCast,
|
||||
OnCast,
|
||||
AfterCast
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum OriginalHash : uint
|
||||
{
|
||||
AccountService = 0x62DA0891u,
|
||||
AccountListener = 0x54DFDA17u,
|
||||
AuthenticationListener = 0x71240E35u,
|
||||
AuthenticationService = 0xDECFC01u,
|
||||
ChallengeService = 0xDBBF6F19u,
|
||||
ChallengeListener = 0xBBDA171Fu,
|
||||
ChannelService = 0xB732DB32u,
|
||||
ChannelListener = 0xBF8C8094u,
|
||||
ConnectionService = 0x65446991u,
|
||||
FriendsService = 0xA3DDB1BDu,
|
||||
FriendsListener = 0x6F259A13u,
|
||||
GameUtilitiesService = 0x3FC1274Du,
|
||||
PresenceService = 0xFA0796FFu,
|
||||
ReportService = 0x7CAF61C9u,
|
||||
ResourcesService = 0xECBE75BAu,
|
||||
UserManagerService = 0x3E19268Au,
|
||||
UserManagerListener = 0xBC872C22u
|
||||
}
|
||||
|
||||
public enum NameHash : uint
|
||||
{
|
||||
AccountService = 0x1E4DC42Fu,
|
||||
AccountListener = 0x7807483Cu,
|
||||
AuthenticationListener = 0x4DA86228u,
|
||||
AuthenticationService = 0xFF5A6AC3u,
|
||||
ChallengeService = 0x71BB6833u,
|
||||
ChallengeListener = 0xC6D90AB8u,
|
||||
ChannelService = 0xA913A87Bu,
|
||||
ChannelListener = 0xDA660990u,
|
||||
ConnectionService = 0x2782094Bu,
|
||||
FriendsService = 0xABDFED63u,
|
||||
FriendsListener = 0xA6717548u,
|
||||
GameUtilitiesService = 0x51923A28u,
|
||||
PresenceService = 0xD8F94B3Bu,
|
||||
ReportService = 0x724F5F47u,
|
||||
ResourcesService = 0x4B104C53u,
|
||||
UserManagerService = 0x8EE5694Eu,
|
||||
UserManagerListener = 0xB3426BB3u
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,364 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum SmartScriptType
|
||||
{
|
||||
Creature = 0,
|
||||
GameObject = 1,
|
||||
AreaTrigger = 2,
|
||||
Event = 3,
|
||||
Gossip = 4,
|
||||
Quest = 5,
|
||||
Spell = 6,
|
||||
Transport = 7,
|
||||
Instance = 8,
|
||||
TimedActionlist = 9,
|
||||
Scene = 10, // done
|
||||
Max = 11
|
||||
}
|
||||
|
||||
public struct SmartScriptTypeMaskId
|
||||
{
|
||||
public const uint Creature = 1;
|
||||
public const uint Gameobject = 2;
|
||||
public const uint Areatrigger = 4;
|
||||
public const uint Event = 8;
|
||||
public const uint Gossip = 16;
|
||||
public const uint Quest = 32;
|
||||
public const uint Spell = 64;
|
||||
public const uint Transport = 128;
|
||||
public const uint Instance = 256;
|
||||
public const uint TimedActionlist = 512;
|
||||
public const uint Scene = 1024;
|
||||
}
|
||||
|
||||
public enum SmartPhase
|
||||
{
|
||||
ALWAYS = 0,
|
||||
Phase1 = 1,
|
||||
Phase2 = 2,
|
||||
Phase3 = 3,
|
||||
Phase4 = 4,
|
||||
Phase5 = 5,
|
||||
Phase6 = 6,
|
||||
Max = 7,
|
||||
All = (Phase1 | Phase2 | Phase3 | Phase4 | Phase5 | Phase6),
|
||||
|
||||
Count = 6
|
||||
}
|
||||
|
||||
public enum SmartEventFlags
|
||||
{
|
||||
NotRepeatable = 0x01, //Event can not repeat
|
||||
Difficulty0 = 0x02, //Event only occurs in instance difficulty 0
|
||||
Difficulty1 = 0x04, //Event only occurs in instance difficulty 1
|
||||
Difficulty2 = 0x08, //Event only occurs in instance difficulty 2
|
||||
Difficulty3 = 0x10, //Event only occurs in instance difficulty 3
|
||||
Reserved5 = 0x20,
|
||||
Reserved6 = 0x40,
|
||||
DebugOnly = 0x80, //Event only occurs in debug build
|
||||
DontReset = 0x100, //Event will not reset in SmartScript.OnReset()
|
||||
WhileCharmed = 0x200, //Event occurs even if AI owner is charmed
|
||||
|
||||
DifficultyAll = (Difficulty0 | Difficulty1 | Difficulty2 | Difficulty3),
|
||||
All = (NotRepeatable | DifficultyAll | Reserved5 | Reserved6 | DebugOnly | DontReset | WhileCharmed)
|
||||
}
|
||||
|
||||
public enum SmartRespawnCondition
|
||||
{
|
||||
None = 0,
|
||||
Map = 1,
|
||||
Area = 2,
|
||||
End = 3
|
||||
}
|
||||
|
||||
public enum SmartAITemplate
|
||||
{
|
||||
Basic = 0, //nothing is preset
|
||||
Caster = 1, //spellid, repeatMin, repeatMax, range, manaPCT +JOIN: target_param1 as castFlag
|
||||
Turret = 2, //spellid, repeatMin, repeatMax +JOIN: target_param1 as castFlag
|
||||
Passive = 3,
|
||||
CagedGOPart = 4, //creatureID, give credit at point end?,
|
||||
CagedNPCPart = 5, //gameObjectID, despawntime, run?, dist, TextGroupID
|
||||
End = 6
|
||||
}
|
||||
|
||||
public enum SmartCastFlags
|
||||
{
|
||||
InterruptPrevious = 0x01, //Interrupt any spell casting
|
||||
Triggered = 0x02, //Triggered (this makes spell cost zero mana and have no cast time)
|
||||
//CAST_FORCE_CAST = 0x04, //Forces cast even if creature is out of mana or out of range
|
||||
//CAST_NO_MELEE_IF_OOM = 0x08, //Prevents creature from entering melee if out of mana or out of range
|
||||
//CAST_FORCE_TARGET_SELF = 0x10, //Forces the target to cast this spell on itself
|
||||
AuraNotPresent = 0x20, //Only casts the spell if the target does not have an aura from the spell
|
||||
CombatMove = 0x40 //Prevents combat movement if cast successful. Allows movement on range, OOM, LOS
|
||||
}
|
||||
|
||||
public enum SmartEvents
|
||||
{
|
||||
UpdateIc = 0, // Initialmin, Initialmax, Repeatmin, Repeatmax
|
||||
UpdateOoc = 1, // Initialmin, Initialmax, Repeatmin, Repeatmax
|
||||
HealtPct = 2, // Hpmin%, Hpmax%, Repeatmin, Repeatmax
|
||||
ManaPct = 3, // Manamin%, Manamax%, Repeatmin, Repeatmax
|
||||
Aggro = 4, // None
|
||||
Kill = 5, // Cooldownmin0, Cooldownmax1, Playeronly2, Else Creature Entry3
|
||||
Death = 6, // None
|
||||
Evade = 7, // None
|
||||
SpellHit = 8, // Spellid, School, Cooldownmin, Cooldownmax
|
||||
Range = 9, // Mindist, Maxdist, Repeatmin, Repeatmax
|
||||
OocLos = 10, // Nohostile, Maxrnage, Cooldownmin, Cooldownmax
|
||||
Respawn = 11, // Type, Mapid, Zoneid
|
||||
TargetHealthPct = 12, // Hpmin%, Hpmax%, Repeatmin, Repeatmax
|
||||
VictimCasting = 13, // Repeatmin, Repeatmax
|
||||
FriendlyHealth = 14, // Hpdeficit, Radius, Repeatmin, Repeatmax
|
||||
FriendlyIsCc = 15, // Radius, Repeatmin, Repeatmax
|
||||
FriendlyMissingBuff = 16, // Spellid, Radius, Repeatmin, Repeatmax
|
||||
SummonedUnit = 17, // Creatureid(0 All), Cooldownmin, Cooldownmax
|
||||
TargetManaPct = 18, // Manamin%, Manamax%, Repeatmin, Repeatmax
|
||||
AcceptedQuest = 19, // Questid(0any)
|
||||
RewardQuest = 20, // Questid(0any)
|
||||
ReachedHome = 21, // None
|
||||
ReceiveEmote = 22, // Emoteid, Cooldownmin, Cooldownmax, Condition, Val1, Val2, Val3
|
||||
HasAura = 23, // Param1 = Spellid, Param2 = Stack Amount, Param3/4 Repeatmin, Repeatmax
|
||||
TargetBuffed = 24, // Param1 = Spellid, Param2 = Stack Amount, Param3/4 Repeatmin, Repeatmax
|
||||
Reset = 25, // Called After Combat, When The Creature Respawn And Spawn.
|
||||
IcLos = 26, // Nohostile, Maxrnage, Cooldownmin, Cooldownmax
|
||||
PassengerBoarded = 27, // Cooldownmin, Cooldownmax
|
||||
PassengerRemoved = 28, // Cooldownmin, Cooldownmax
|
||||
Charmed = 29, // onRemove (0 - on apply, 1 - on remove)
|
||||
CharmedTarget = 30, // None
|
||||
SpellhitTarget = 31, // Spellid, School, Cooldownmin, Cooldownmax
|
||||
Damaged = 32, // Mindmg, Maxdmg, Cooldownmin, Cooldownmax
|
||||
DamagedTarget = 33, // Mindmg, Maxdmg, Cooldownmin, Cooldownmax
|
||||
Movementinform = 34, // Movementtype(Any), Pointid
|
||||
SummonDespawned = 35, // Entry, Cooldownmin, Cooldownmax
|
||||
CorpseRemoved = 36, // None
|
||||
AiInit = 37, // None
|
||||
DataSet = 38, // Id, Value, Cooldownmin, Cooldownmax
|
||||
WaypointStart = 39, // Pointid(0any), Pathid(0any)
|
||||
WaypointReached = 40, // Pointid(0any), Pathid(0any)
|
||||
TransportAddplayer = 41, // None
|
||||
TransportAddcreature = 42, // Entry (0 Any)
|
||||
TransportRemovePlayer = 43, // None
|
||||
TransportRelocate = 44, // Pointid
|
||||
InstancePlayerEnter = 45, // Team (0 Any), Cooldownmin, Cooldownmax
|
||||
AreatriggerOntrigger = 46, // Triggerid(0 Any)
|
||||
QuestAccepted = 47, // None
|
||||
QuestObjCompletion = 48, // None
|
||||
QuestCompletion = 49, // None
|
||||
QuestRewarded = 50, // None
|
||||
QuestFail = 51, // None
|
||||
TextOver = 52, // Groupid From CreatureText, Creature Entry Who Talks (0 Any)
|
||||
ReceiveHeal = 53, // Minheal, Maxheal, Cooldownmin, Cooldownmax
|
||||
JustSummoned = 54, // None
|
||||
WaypointPaused = 55, // Pointid(0any), Pathid(0any)
|
||||
WaypointResumed = 56, // Pointid(0any), Pathid(0any)
|
||||
WaypointStopped = 57, // Pointid(0any), Pathid(0any)
|
||||
WaypointEnded = 58, // Pointid(0any), Pathid(0any)
|
||||
TimedEventTriggered = 59, // Id
|
||||
Update = 60, // Initialmin, Initialmax, Repeatmin, Repeatmax
|
||||
Link = 61, // Internal Usage, No Params, Used To Link Together Multiple Events, Does Not Use Any Extra Resources To Iterate Event Lists Needlessly
|
||||
GossipSelect = 62, // Menuid, Actionid
|
||||
JustCreated = 63, // None
|
||||
GossipHello = 64, // None
|
||||
FollowCompleted = 65, // None
|
||||
DummyEffect = 66, // Spellid, Effectindex
|
||||
IsBehindTarget = 67, // Cooldownmin, Cooldownmax
|
||||
GameEventStart = 68, // GameEvent.Entry
|
||||
GameEventEnd = 69, // GameEvent.Entry
|
||||
GoStateChanged = 70, // Go State
|
||||
GoEventInform = 71, // Eventid
|
||||
ActionDone = 72, // Eventid (Shareddefines.Eventid)
|
||||
OnSpellclick = 73, // Clicker (Unit)
|
||||
FriendlyHealthPCT = 74,// minHpPct, maxHpPct, repeatMin, repeatMax
|
||||
DistanceCreature = 75, // guid, entry, distance, repeat
|
||||
DistanceGameobject = 76, // guid, entry, distance, repeat
|
||||
CounterSet = 77, // id, value, cooldownMin, cooldownMax
|
||||
SceneStart = 78, // none
|
||||
SceneTrigger = 79, // param_string : triggerName
|
||||
SceneCancel = 80, // none
|
||||
SceneComplete = 81, // none
|
||||
|
||||
End = 82
|
||||
}
|
||||
|
||||
public enum SmartActions
|
||||
{
|
||||
None = 0, // No Action
|
||||
Talk = 1, // Groupid From CreatureText, Duration To Wait Before TextOver Event Is Triggered, useTalkTarget (0/1) - use target as talk target
|
||||
SetFaction = 2, // Factionid (Or 0 For Default)
|
||||
MorphToEntryOrModel = 3, // CreatureTemplate Entry(Param1) Or Modelid (Param2) (Or 0 For Both To Demorph)
|
||||
Sound = 4, // Soundid, Textrange
|
||||
PlayEmote = 5, // Emoteid
|
||||
FailQuest = 6, // Questid
|
||||
OfferQuest = 7, // Questid, directAdd
|
||||
SetReactState = 8, // State
|
||||
ActivateGobject = 9, //
|
||||
RandomEmote = 10, // Emoteid1, Emoteid2, Emoteid3...
|
||||
Cast = 11, // Spellid, Castflags, TriggeredFlags
|
||||
SummonCreature = 12, // Creatureid, Summontype, Duration In Ms, Storageid, Attackinvoker,
|
||||
ThreatSinglePct = 13, // Threat%
|
||||
ThreatAllPct = 14, // Threat%
|
||||
CallAreaexploredoreventhappens = 15, // Questid
|
||||
SetIngamePhaseGroup = 16, // phaseGroupId, apply
|
||||
SetEmoteState = 17, // Emoteid
|
||||
SetUnitFlag = 18, // Flags (May Be More Than One Field Or'D Together), Target
|
||||
RemoveUnitFlag = 19, // Flags (May Be More Than One Field Or'D Together), Target
|
||||
AutoAttack = 20, // Allowattackstate (0 = Stop Attack, Anything Else Means Continue Attacking)
|
||||
AllowCombatMovement = 21, // Allowcombatmovement (0 = Stop Combat Based Movement, Anything Else Continue Attacking)
|
||||
SetEventPhase = 22, // Phase
|
||||
IncEventPhase = 23, // Value (May Be Negative To Decrement Phase, Should Not Be 0)
|
||||
Evade = 24, // No Params
|
||||
FleeForAssist = 25, // With Emote
|
||||
CallGroupeventhappens = 26, // Questid
|
||||
CombatStop = 27, //
|
||||
Removeaurasfromspell = 28, // Spellid, 0 Removes All Auras
|
||||
Follow = 29, // Distance (0 = Default), Angle (0 = Default), Endcreatureentry, Credit, Credittype (0monsterkill, 1event)
|
||||
RandomPhase = 30, // Phaseid1, Phaseid2, Phaseid3...
|
||||
RandomPhaseRange = 31, // Phasemin, Phasemax
|
||||
ResetGobject = 32, //
|
||||
CallKilledmonster = 33, // Creatureid,
|
||||
SetInstData = 34, // Field, Data, Type (0 = SetData, 1 = SetBossState)
|
||||
SetInstData64 = 35, // Field,
|
||||
UpdateTemplate = 36, // Entry
|
||||
Die = 37, // No Params
|
||||
SetInCombatWithZone = 38, // No Params
|
||||
CallForHelp = 39, // Radius, With Emote
|
||||
SetSheath = 40, // Sheath (0-Unarmed, 1-Melee, 2-Ranged)
|
||||
ForceDespawn = 41, // Timer
|
||||
SetInvincibilityHpLevel = 42, // Minhpvalue(+Pct, -Flat)
|
||||
MountToEntryOrModel = 43, // CreatureTemplate Entry(Param1) Or Modelid (Param2) (Or 0 For Both To Dismount)
|
||||
SetIngamePhaseId = 44, // Id
|
||||
SetData = 45, // Field, Data (Only Creature Todo)
|
||||
//46 Unused
|
||||
SetVisibility = 47, // On/Off
|
||||
SetActive = 48, // No Params
|
||||
AttackStart = 49, //
|
||||
SummonGo = 50, // Gameobjectid, Despawntime In Ms,
|
||||
KillUnit = 51, //
|
||||
ActivateTaxi = 52, // Taxiid
|
||||
WpStart = 53, // Run/Walk, Pathid, Canrepeat, Quest, Despawntime, Reactstate
|
||||
WpPause = 54, // Time
|
||||
WpStop = 55, // Despawntime, Quest, Fail?
|
||||
AddItem = 56, // Itemid, Count
|
||||
RemoveItem = 57, // Itemid, Count
|
||||
InstallAiTemplate = 58, // Aitemplateid
|
||||
SetRun = 59, // 0/1
|
||||
SetFly = 60, // 0/1
|
||||
SetSwim = 61, // 0/1
|
||||
Teleport = 62, // Mapid,
|
||||
SetCounter = 63, // id, value, reset (0/1)
|
||||
StoreTargetList = 64, // Varid,
|
||||
WpResume = 65, // None
|
||||
SetOrientation = 66, //
|
||||
CreateTimedEvent = 67, // Id, Initialmin, Initialmax, Repeatmin(Only If It Repeats), Repeatmax(Only If It Repeats), Chance
|
||||
Playmovie = 68, // Entry
|
||||
MoveToPos = 69, // PointId, transport, disablePathfinding
|
||||
RespawnTarget = 70, //
|
||||
Equip = 71, // Entry, Slotmask Slot1, Slot2, Slot3 , Only Slots With Mask Set Will Be Sent To Client, Bits Are 1, 2, 4, Leaving Mask 0 Is Defaulted To Mask 7 (Send All), Slots1-3 Are Only Used If No Entry Is Set
|
||||
CloseGossip = 72, // None
|
||||
TriggerTimedEvent = 73, // Id(>1)
|
||||
RemoveTimedEvent = 74, // Id(>1)
|
||||
AddAura = 75, // Spellid, Targets
|
||||
OverrideScriptBaseObject = 76, // Warning: Can Crash Core, Do Not Use If You Dont Know What You Are Doing
|
||||
ResetScriptBaseObject = 77, // None
|
||||
CallScriptReset = 78, // None
|
||||
SetRangedMovement = 79, // Distance, Angle
|
||||
CallTimedActionlist = 80, // Id (Overwrites Already Running Actionlist), Stop After Combat?(0/1), Timer Update Type(0-Ooc, 1-Ic, 2-Always)
|
||||
SetNpcFlag = 81, // Flags
|
||||
AddNpcFlag = 82, // Flags
|
||||
RemoveNpcFlag = 83, // Flags
|
||||
SimpleTalk = 84, // Groupid, Can Be Used To Make Players Say Groupid, TextOver Event Is Not Triggered, Whisper Can Not Be Used (Target Units Will Say The Text)
|
||||
InvokerCast = 85, // Spellid, Castflags, If Avaliable, Last Used Invoker Will Cast Spellid With Castflags On Targets
|
||||
CrossCast = 86, // Spellid, Castflags, Castertargettype, Castertarget Param1, Castertarget Param2, Castertarget Param3, ( + The Origonal Target Fields As Destination Target), Castertargets Will Cast Spellid On All Targets (Use With Caution If Targeting Multiple * Multiple Units)
|
||||
CallRandomTimedActionlist = 87, // Script9 Ids 1-9
|
||||
CallRandomRangeTimedActionlist = 88, // Script9 Id Min, Max
|
||||
RandomMove = 89, // Maxdist
|
||||
SetUnitFieldBytes1 = 90, // Bytes, Target
|
||||
RemoveUnitFieldBytes1 = 91, // Bytes, Target
|
||||
InterruptSpell = 92,
|
||||
SendGoCustomAnim = 93, // Anim Id
|
||||
SetDynamicFlag = 94, // Flags
|
||||
AddDynamicFlag = 95, // Flags
|
||||
RemoveDynamicFlag = 96, // Flags
|
||||
JumpToPos = 97, // Speedxy, Speedz, Targetx, Targety, Targetz
|
||||
SendGossipMenu = 98, // Menuid, Optionid
|
||||
GoSetLootState = 99, // State
|
||||
SendTargetToTarget = 100, // Id
|
||||
SetHomePos = 101, // None
|
||||
SetHealthRegen = 102, // 0/1
|
||||
SetRoot = 103, // Off/On
|
||||
SetGoFlag = 104, // Flags
|
||||
AddGoFlag = 105, // Flags
|
||||
RemoveGoFlag = 106, // Flags
|
||||
SummonCreatureGroup = 107, // Group, Attackinvoker
|
||||
SetPower = 108, // PowerType, newPower
|
||||
AddPower = 109, // PowerType, newPower
|
||||
RemovePower = 110, // PowerType, newPower
|
||||
GameEventStop = 111, // GameEventId
|
||||
GameEventStart = 112, // GameEventId
|
||||
StartClosestWaypoint = 113, // wp1, wp2, wp3, wp4, wp5, wp6, wp7
|
||||
MoveOffset = 114,
|
||||
RandomSound = 115, // SoundId1, SoundId2, SoundId3, SoundId4, SoundId5, onlySelf
|
||||
SetCorpseDelay = 116, // timer
|
||||
DisableEvade = 117, // 0/1 (1 = disabled, 0 = enabled)
|
||||
// 118 - 127 : 3.3.5 reserved
|
||||
PlayAnimkit = 128,
|
||||
ScenePlay = 129, // sceneId
|
||||
SceneCancel = 130, // sceneId
|
||||
|
||||
End = 131
|
||||
}
|
||||
|
||||
public enum SmartTargets
|
||||
{
|
||||
None = 0, // None, Defaulting To Invoket
|
||||
Self = 1, // Self Cast
|
||||
Victim = 2, // Our Current Target (Ie: Highest Aggro)
|
||||
HostileSecondAggro = 3, // Second Highest Aggro
|
||||
HostileLastAggro = 4, // Dead Last On Aggro
|
||||
HostileRandom = 5, // Just Any Random Target On Our Threat List
|
||||
HostileRandomNotTop = 6, // Any Random Target Except Top Threat
|
||||
ActionInvoker = 7, // Unit Who Caused This Event To Occur
|
||||
Position = 8, // Use Xyz From Event Params
|
||||
CreatureRange = 9, // Creatureentry(0any), Mindist, Maxdist
|
||||
CreatureGuid = 10, // Guid, Entry
|
||||
CreatureDistance = 11, // Creatureentry(0any), Maxdist
|
||||
Stored = 12, // Id, Uses Pre-Stored Target(List)
|
||||
GameobjectRange = 13, // Entry(0any), Min, Max
|
||||
GameobjectGuid = 14, // Guid, Entry
|
||||
GameobjectDistance = 15, // Entry(0any), Maxdist
|
||||
InvokerParty = 16, // Invoker'S Party Members
|
||||
PlayerRange = 17, // Min, Max
|
||||
PlayerDistance = 18, // Maxdist
|
||||
ClosestCreature = 19, // Creatureentry(0any), Maxdist, Dead?
|
||||
ClosestGameobject = 20, // Entry(0any), Maxdist
|
||||
ClosestPlayer = 21, // Maxdist
|
||||
ActionInvokerVehicle = 22, // Unit'S Vehicle Who Caused This Event To Occur
|
||||
OwnerOrSummoner = 23, // Unit'S Owner Or Summoner
|
||||
ThreatList = 24, // All Units On Creature'S Threat List
|
||||
ClosestEnemy = 25, // maxDist, playerOnly
|
||||
ClosestFriendly = 26, // maxDist, playerOnly
|
||||
LootRecipients = 27, // all players that have tagged this creature (for kill credit)
|
||||
Farthest = 28, // maxDist, playerOnly, isInLos
|
||||
VehicleAccessory = 29, // seat number (vehicle can target it's own accessory)
|
||||
|
||||
End = 30
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,246 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public struct SkillConst
|
||||
{
|
||||
public const int MaxPlayerSkills = 128;
|
||||
public const uint MaxSkillStep = 15;
|
||||
}
|
||||
|
||||
public enum SkillType
|
||||
{
|
||||
None = 0,
|
||||
|
||||
Swords = 43,
|
||||
Axes = 44,
|
||||
Bows = 45,
|
||||
Guns = 46,
|
||||
Maces = 54,
|
||||
TwoHandedSwords = 55,
|
||||
Defense = 95,
|
||||
LangCommon = 98,
|
||||
RacialDwarf = 101,
|
||||
LangOrcish = 109,
|
||||
LangDwarven = 111,
|
||||
LangDarnassian = 113,
|
||||
LangTaurahe = 115,
|
||||
DualWield = 118,
|
||||
RacialTauren = 124,
|
||||
RacialOrc = 125,
|
||||
RacialNightElf = 126,
|
||||
FirstAid = 129,
|
||||
Staves = 136,
|
||||
LangThalassian = 137,
|
||||
LangDraconic = 138,
|
||||
LangDemonTongue = 139,
|
||||
LangTitan = 140,
|
||||
LangOldTongue = 141,
|
||||
Survival = 142,
|
||||
HorseRiding = 148,
|
||||
WolfRiding = 149,
|
||||
TigerRiding = 150,
|
||||
RamRiding = 152,
|
||||
Swimming = 155,
|
||||
TwoHandedMaces = 160,
|
||||
Unarmed = 162,
|
||||
Blacksmithing = 164,
|
||||
Leatherworking = 165,
|
||||
Alchemy = 171,
|
||||
TwoHandedAxes = 172,
|
||||
Daggers = 173,
|
||||
Herbalism = 182,
|
||||
GenericDnd = 183,
|
||||
Cooking = 185,
|
||||
Mining = 186,
|
||||
PetImp = 188,
|
||||
PetFelhunter = 189,
|
||||
Tailoring = 197,
|
||||
Engineering = 202,
|
||||
PetSpider = 203,
|
||||
PetVoidwalker = 204,
|
||||
PetSuccubus = 205,
|
||||
PetInfernal = 206,
|
||||
PetDoomguard = 207,
|
||||
PetWolf = 208,
|
||||
PetCat = 209,
|
||||
PetBear = 210,
|
||||
PetBoar = 211,
|
||||
PetCrocolisk = 212,
|
||||
PetCarrionBird = 213,
|
||||
PetCrab = 214,
|
||||
PetGorilla = 215,
|
||||
PetRaptor = 217,
|
||||
PetTallstrider = 218,
|
||||
RacialUndead = 220,
|
||||
Crossbows = 226,
|
||||
Wands = 228,
|
||||
Polearms = 229,
|
||||
PetScorpid = 236,
|
||||
PetTurtle = 251,
|
||||
PetGenericHunter = 270,
|
||||
PlateMail = 293,
|
||||
LangGnomish = 313,
|
||||
LangTroll = 315,
|
||||
Enchanting = 333,
|
||||
Fishing = 356,
|
||||
Skinning = 393,
|
||||
Mail = 413,
|
||||
Leather = 414,
|
||||
Cloth = 415,
|
||||
Shield = 433,
|
||||
FistWeapons = 473,
|
||||
RaptorRiding = 533,
|
||||
MechanostriderPiloting = 553,
|
||||
UndeadHorsemanship = 554,
|
||||
PetBat = 653,
|
||||
PetHyena = 654,
|
||||
PetBirdOfPrey = 655,
|
||||
PetWindSerpent = 656,
|
||||
LangForsaken = 673,
|
||||
KodoRiding = 713,
|
||||
RacialTroll = 733,
|
||||
RacialGnome = 753,
|
||||
RacialHuman = 754,
|
||||
Jewelcrafting = 755,
|
||||
RacialBloodElf = 756,
|
||||
PetEventRemoteControl = 758,
|
||||
LangDraenei = 759,
|
||||
RacialDraenei = 760,
|
||||
PetFelguard = 761,
|
||||
Riding = 762,
|
||||
PetDragonhawk = 763,
|
||||
PetNetherRay = 764,
|
||||
PetSporebat = 765,
|
||||
PetWarpStalker = 766,
|
||||
PetRavager = 767,
|
||||
PetSerpent = 768,
|
||||
Internal = 769,
|
||||
Inscription = 773,
|
||||
PetMoth = 775,
|
||||
Mounts = 777,
|
||||
Companions = 778,
|
||||
PetExoticChimaera = 780,
|
||||
PetExoticDevilsaur = 781,
|
||||
PetGhoul = 782,
|
||||
PetExoticSilithid = 783,
|
||||
PetExoticWorm = 784,
|
||||
PetWasp = 785,
|
||||
PetExoticClefthoof = 786,
|
||||
PetExoticCoreHound = 787,
|
||||
PetExoticSpiritBeast = 788,
|
||||
RacialWorgen = 789,
|
||||
RacialGoblin = 790,
|
||||
LangGilnean = 791,
|
||||
LangGoblin = 792,
|
||||
Archaeology = 794,
|
||||
Hunter = 795,
|
||||
DeathKnight = 796,
|
||||
Druid = 798,
|
||||
Paladin = 800,
|
||||
Priest = 804,
|
||||
PetWaterElemental = 805,
|
||||
PetFox = 808,
|
||||
AllGlyphs = 810,
|
||||
PetDog = 811,
|
||||
PetMonkey = 815,
|
||||
PetShaleSpider = 817,
|
||||
Beetle = 818,
|
||||
AllGuildPerks = 821,
|
||||
PetHydra = 824,
|
||||
Monk = 829,
|
||||
Warrior = 840,
|
||||
Warlock = 849,
|
||||
RacialPandaren = 899,
|
||||
Mage = 904,
|
||||
LangPandarenNeutral = 905,
|
||||
LangPandarenAlliance = 906,
|
||||
LangPandarenHorde = 907,
|
||||
Rogue = 921,
|
||||
Shaman = 924,
|
||||
FelImp = 927,
|
||||
Voidlord = 928,
|
||||
Shivarra = 929,
|
||||
Observer = 930,
|
||||
Wrathguard = 931,
|
||||
AllSpecializations = 934,
|
||||
Runeforging = 960,
|
||||
PetPrimalFireElemental = 962,
|
||||
PetPrimalEarthElemental = 963,
|
||||
WayOfTheGrill = 975,
|
||||
WayOfTheWok = 976,
|
||||
WayOfThePot = 977,
|
||||
WayOfTheSteamer = 978,
|
||||
WayOfTheOven = 979,
|
||||
WayOfTheBrew = 980,
|
||||
ApprenticeCooking = 981,
|
||||
JourneymanCookbook = 982,
|
||||
Porcupine = 983,
|
||||
Crane = 984,
|
||||
WaterStrider = 985,
|
||||
PetExoticQuilen = 986,
|
||||
PetGoat = 987,
|
||||
Basilisk = 988,
|
||||
NoPlayers = 999,
|
||||
Direhorn = 1305,
|
||||
PetPrimalStormElemental = 1748,
|
||||
PetWaterElementalMinorTalentVersion = 1777,
|
||||
PetExoticRylak = 1818,
|
||||
PetRiverbeast = 1819,
|
||||
Unused = 1830,
|
||||
DemonHunter = 1848,
|
||||
Logging = 1945,
|
||||
PetTerrorguard = 1981,
|
||||
PetAbyssal = 1982,
|
||||
PetStag = 1993,
|
||||
TradingPost = 2000,
|
||||
Warglaives = 2152,
|
||||
PetMechanical = 2189,
|
||||
PetAbomination = 2216,
|
||||
}
|
||||
|
||||
public enum SkillState
|
||||
{
|
||||
Unchanged = 0,
|
||||
Changed = 1,
|
||||
New = 2,
|
||||
Deleted = 3
|
||||
}
|
||||
|
||||
public enum SkillCategory : byte
|
||||
{
|
||||
Unk = 0,
|
||||
Attributes = 5,
|
||||
Weapon = 6,
|
||||
Class = 7,
|
||||
Armor = 8,
|
||||
Secondary = 9,
|
||||
Languages = 10,
|
||||
Profession = 11,
|
||||
Generic = 12
|
||||
}
|
||||
|
||||
public enum SkillRangeType
|
||||
{
|
||||
Language, // 300..300
|
||||
Level, // 1..max skill for level
|
||||
Mono, // 1..1, grey monolite bar
|
||||
Rank, // 1..skill for known rank
|
||||
None // 0..0 always
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,565 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum AuraType
|
||||
{
|
||||
Any = -1,
|
||||
|
||||
None = 0,
|
||||
BindSight = 1,
|
||||
ModPossess = 2,
|
||||
PeriodicDamage = 3,
|
||||
Dummy = 4,
|
||||
ModConfuse = 5,
|
||||
ModCharm = 6,
|
||||
ModFear = 7,
|
||||
PeriodicHeal = 8,
|
||||
ModAttackspeed = 9,
|
||||
ModThreat = 10,
|
||||
ModTaunt = 11,
|
||||
ModStun = 12,
|
||||
ModDamageDone = 13,
|
||||
ModDamageTaken = 14,
|
||||
DamageShield = 15,
|
||||
ModStealth = 16,
|
||||
ModStealthDetect = 17,
|
||||
ModInvisibility = 18,
|
||||
ModInvisibilityDetect = 19,
|
||||
ObsModHealth = 20, // 20, 21 Unofficial
|
||||
ObsModPower = 21,
|
||||
ModResistance = 22,
|
||||
PeriodicTriggerSpell = 23,
|
||||
PeriodicEnergize = 24,
|
||||
ModPacify = 25,
|
||||
ModRoot = 26,
|
||||
ModSilence = 27,
|
||||
ReflectSpells = 28,
|
||||
ModStat = 29,
|
||||
ModSkill = 30,
|
||||
ModIncreaseSpeed = 31,
|
||||
ModIncreaseMountedSpeed = 32,
|
||||
ModDecreaseSpeed = 33,
|
||||
ModIncreaseHealth = 34,
|
||||
ModIncreaseEnergy = 35,
|
||||
ModShapeshift = 36,
|
||||
EffectImmunity = 37,
|
||||
StateImmunity = 38,
|
||||
SchoolImmunity = 39,
|
||||
DamageImmunity = 40,
|
||||
DispelImmunity = 41,
|
||||
ProcTriggerSpell = 42,
|
||||
ProcTriggerDamage = 43,
|
||||
TrackCreatures = 44,
|
||||
TrackResources = 45,
|
||||
Unk46 = 46, // Ignore All Gear Test Spells
|
||||
ModParryPercent = 47,
|
||||
Unk48 = 48, // One Periodic Spell
|
||||
ModDodgePercent = 49,
|
||||
ModCriticalHealingAmount = 50,
|
||||
ModBlockPercent = 51,
|
||||
ModWeaponCritPercent = 52,
|
||||
PeriodicLeech = 53,
|
||||
ModHitChance = 54,
|
||||
ModSpellHitChance = 55,
|
||||
Transform = 56,
|
||||
ModSpellCritChance = 57,
|
||||
ModIncreaseSwimSpeed = 58,
|
||||
ModDamageDoneCreature = 59,
|
||||
ModPacifySilence = 60,
|
||||
ModScale = 61,
|
||||
PeriodicHealthFunnel = 62,
|
||||
ModAdditionalPowerCost = 63, // NYI
|
||||
PeriodicManaLeech = 64,
|
||||
ModCastingSpeedNotStack = 65,
|
||||
FeignDeath = 66,
|
||||
ModDisarm = 67,
|
||||
ModStalked = 68,
|
||||
SchoolAbsorb = 69,
|
||||
ExtraAttacks = 70,
|
||||
Unk71 = 71,
|
||||
ModPowerCostSchoolPct = 72,
|
||||
ModPowerCostSchool = 73,
|
||||
ReflectSpellsSchool = 74,
|
||||
ModLanguage = 75,
|
||||
FarSight = 76,
|
||||
MechanicImmunity = 77,
|
||||
Mounted = 78,
|
||||
ModDamagePercentDone = 79,
|
||||
ModPercentStat = 80,
|
||||
SplitDamagePct = 81,
|
||||
WaterBreathing = 82,
|
||||
ModBaseResistance = 83,
|
||||
ModRegen = 84,
|
||||
ModPowerRegen = 85,
|
||||
ChannelDeathItem = 86,
|
||||
ModDamagePercentTaken = 87,
|
||||
ModHealthRegenPercent = 88,
|
||||
PeriodicDamagePercent = 89,
|
||||
Unk90 = 90, // Old ModResistChance
|
||||
ModDetectRange = 91,
|
||||
PreventsFleeing = 92,
|
||||
ModUnattackable = 93,
|
||||
InterruptRegen = 94,
|
||||
Ghost = 95,
|
||||
SpellMagnet = 96,
|
||||
ManaShield = 97,
|
||||
ModSkillTalent = 98,
|
||||
ModAttackPower = 99,
|
||||
AurasVisible = 100,
|
||||
ModResistancePct = 101,
|
||||
ModMeleeAttackPowerVersus = 102,
|
||||
ModTotalThreat = 103,
|
||||
WaterWalk = 104,
|
||||
FeatherFall = 105,
|
||||
Hover = 106,
|
||||
AddFlatModifier = 107,
|
||||
AddPctModifier = 108,
|
||||
AddTargetTrigger = 109,
|
||||
ModPowerRegenPercent = 110,
|
||||
AddCasterHitTrigger = 111,
|
||||
OverrideClassScripts = 112,
|
||||
ModRangedDamageTaken = 113,
|
||||
ModRangedDamageTakenPct = 114,
|
||||
ModHealing = 115,
|
||||
ModRegenDuringCombat = 116,
|
||||
ModMechanicResistance = 117,
|
||||
ModHealingPct = 118,
|
||||
Unk119 = 119, // Old SharePetTracking
|
||||
Untrackable = 120,
|
||||
Empathy = 121,
|
||||
ModOffhandDamagePct = 122,
|
||||
ModTargetResistance = 123,
|
||||
ModRangedAttackPower = 124,
|
||||
ModMeleeDamageTaken = 125,
|
||||
ModMeleeDamageTakenPct = 126,
|
||||
RangedAttackPowerAttackerBonus = 127,
|
||||
ModPossessPet = 128,
|
||||
ModSpeedAlways = 129,
|
||||
ModMountedSpeedAlways = 130,
|
||||
ModRangedAttackPowerVersus = 131,
|
||||
ModIncreaseEnergyPercent = 132,
|
||||
ModIncreaseHealthPercent = 133,
|
||||
ModManaRegenInterrupt = 134,
|
||||
ModHealingDone = 135,
|
||||
ModHealingDonePercent = 136,
|
||||
ModTotalStatPercentage = 137,
|
||||
ModMeleeHaste = 138,
|
||||
ForceReaction = 139,
|
||||
ModRangedHaste = 140,
|
||||
Unk141 = 141, // Old ModRangedAmmoHaste, Unused Now
|
||||
ModBaseResistancePct = 142,
|
||||
ModRecoveryRate = 143, // NYI
|
||||
SafeFall = 144,
|
||||
ModPetTalentPoints = 145,
|
||||
AllowTamePetType = 146,
|
||||
MechanicImmunityMask = 147,
|
||||
RetainComboPoints = 148,
|
||||
ReducePushback = 149, // Reduce Pushback
|
||||
ModShieldBlockvaluePct = 150,
|
||||
TrackStealthed = 151, // Track Stealthed
|
||||
ModDetectedRange = 152, // Mod Detected Range
|
||||
Unk153 = 153, // Old SplitDamageFlat. Unused 4.3.4
|
||||
ModStealthLevel = 154, // Stealth Level Modifier
|
||||
ModWaterBreathing = 155, // Mod Water Breathing
|
||||
ModReputationGain = 156, // Mod Reputation Gain
|
||||
PetDamageMulti = 157, // Mod Pet Damage
|
||||
ModShieldBlockvalue = 158,
|
||||
NoPvpCredit = 159,
|
||||
Unk160 = 160, // Old ModAoeAvoidance. Unused 4.3.4
|
||||
ModHealthRegenInCombat = 161,
|
||||
PowerBurn = 162,
|
||||
ModCritDamageBonus = 163,
|
||||
Unk164 = 164,
|
||||
MeleeAttackPowerAttackerBonus = 165,
|
||||
ModAttackPowerPct = 166,
|
||||
ModRangedAttackPowerPct = 167,
|
||||
ModDamageDoneVersus = 168,
|
||||
Unk169 = 169, // Old ModCritPercentVersus. Unused 4.3.4
|
||||
DetectAmore = 170,
|
||||
ModSpeedNotStack = 171,
|
||||
ModMountedSpeedNotStack = 172,
|
||||
ModRecoveryRate2 = 173, // NYI
|
||||
ModSpellDamageOfStatPercent = 174, // By Defeult Intelect, Dependent From ModSpellHealingOfStatPercent
|
||||
ModSpellHealingOfStatPercent = 175,
|
||||
SpiritOfRedemption = 176,
|
||||
AoeCharm = 177,
|
||||
ModMaxPowerPct = 178, // NYI
|
||||
ModPowerDisplay = 179,
|
||||
ModFlatSpellDamageVersus = 180,
|
||||
Unk181 = 181, // Old ModFlatSpellCritDamageVersus - Possible Flat Spell Crit Damage Versus
|
||||
ModResistanceOfStatPercent = 182,
|
||||
ModCriticalThreat = 183,
|
||||
ModAttackerMeleeHitChance = 184,
|
||||
ModAttackerRangedHitChance = 185,
|
||||
ModAttackerSpellHitChance = 186,
|
||||
ModAttackerMeleeCritChance = 187,
|
||||
ModAttackerRangedCritChance = 188,
|
||||
ModRating = 189,
|
||||
ModFactionReputationGain = 190,
|
||||
UseNormalMovementSpeed = 191,
|
||||
ModMeleeRangedHaste = 192,
|
||||
MeleeSlow = 193,
|
||||
ModTargetAbsorbSchool = 194,
|
||||
ModTargetAbilityAbsorbSchool = 195,
|
||||
ModCooldown = 196, // Only 24818 Noxious Breath
|
||||
ModAttackerSpellAndWeaponCritChance = 197,
|
||||
Unk198 = 198, // Old ModAllWeaponSkills
|
||||
Unk199 = 199, // Old ModIncreasesSpellPctToHit. Unused 4.3.4
|
||||
ModXpPct = 200,
|
||||
Fly = 201,
|
||||
IgnoreCombatResult = 202,
|
||||
ModAttackerMeleeCritDamage = 203,
|
||||
ModAttackerRangedCritDamage = 204,
|
||||
ModChargeCooldown = 205, // NYI
|
||||
ModIncreaseVehicleFlightSpeed = 206,
|
||||
ModIncreaseMountedFlightSpeed = 207,
|
||||
ModIncreaseFlightSpeed = 208,
|
||||
ModMountedFlightSpeedAlways = 209,
|
||||
ModVehicleSpeedAlways = 210,
|
||||
ModFlightSpeedNotStack = 211,
|
||||
ModHonorGainPct = 212,
|
||||
ModRageFromDamageDealt = 213,
|
||||
Unk214 = 214,
|
||||
ArenaPreparation = 215,
|
||||
HasteSpells = 216,
|
||||
ModMeleeHaste2 = 217,
|
||||
Unk218 = 218, // old SPELL_AURA_HASTE_RANGED
|
||||
ModManaRegenFromStat = 219,
|
||||
ModRatingFromStat = 220,
|
||||
ModDetaunt = 221,
|
||||
Unk222 = 222,
|
||||
RaidProcFromCharge = 223,
|
||||
Unk224 = 224,
|
||||
RaidProcFromChargeWithValue = 225,
|
||||
PeriodicDummy = 226,
|
||||
PeriodicTriggerSpellWithValue = 227,
|
||||
DetectStealth = 228,
|
||||
ModAoeDamageAvoidance = 229,
|
||||
ModMaxHealth = 230,
|
||||
ProcTriggerSpellWithValue = 231,
|
||||
MechanicDurationMod = 232,
|
||||
ChangeModelForAllHumanoids = 233, // Client-Side Only
|
||||
MechanicDurationModNotStack = 234,
|
||||
ModDispelResist = 235,
|
||||
ControlVehicle = 236,
|
||||
ModSpellDamageOfAttackPower = 237,
|
||||
ModSpellHealingOfAttackPower = 238,
|
||||
ModScale2 = 239,
|
||||
ModExpertise = 240,
|
||||
ForceMoveForward = 241,
|
||||
ModSpellDamageFromHealing = 242,
|
||||
ModFaction = 243,
|
||||
ComprehendLanguage = 244,
|
||||
ModAuraDurationByDispel = 245,
|
||||
ModAuraDurationByDispelNotStack = 246,
|
||||
CloneCaster = 247,
|
||||
ModCombatResultChance = 248,
|
||||
ConvertRune = 249,
|
||||
ModIncreaseHealth2 = 250,
|
||||
ModEnemyDodge = 251,
|
||||
ModSpeedSlowAll = 252,
|
||||
ModBlockCritChance = 253,
|
||||
ModDisarmOffhand = 254,
|
||||
ModMechanicDamageTakenPercent = 255,
|
||||
NoReagentUse = 256,
|
||||
ModTargetResistBySpellClass = 257,
|
||||
OverrideSummonedObject = 258,
|
||||
Unk259 = 259, // Old ModHotPct, Unused 4.3.4
|
||||
ScreenEffect = 260,
|
||||
Phase = 261,
|
||||
AbilityIgnoreAurastate = 262,
|
||||
AllowOnlyAbility = 263,
|
||||
Unk264 = 264,
|
||||
Unk265 = 265,
|
||||
Unk266 = 266,
|
||||
ModImmuneAuraApplySchool = 267,
|
||||
Unk268 = 268, // Old ModAttackPowerOfStatPercent. Unused 4.3.4
|
||||
ModIgnoreTargetResist = 269,
|
||||
ModSchoolMaskDamageFromCaster = 270, // NYI
|
||||
ModSpellDamageFromCaster = 271,
|
||||
IgnoreMeleeReset = 272,
|
||||
XRay = 273,
|
||||
Unk274 = 274, // Old AbilityConsumeNoAmmo, Unused 4.3.4
|
||||
ModIgnoreShapeshift = 275,
|
||||
ModDamageDoneForMechanic = 276,
|
||||
Unk277 = 277, // Old ModMaxAffectedTargets. Unused 4.3.4
|
||||
ModDisarmRanged = 278,
|
||||
InitializeImages = 279,
|
||||
Unk280 = 280, // Old ModArmorPenetrationPct Unused 4.3.4
|
||||
ModGuildReputationGainPct = 281, // NYI
|
||||
ModBaseHealthPct = 282,
|
||||
ModHealingReceived = 283, // Possibly Only For Some Spell Family Class Spells
|
||||
Linked = 284,
|
||||
ModAttackPowerOfArmor = 285,
|
||||
AbilityPeriodicCrit = 286,
|
||||
DeflectSpells = 287,
|
||||
IgnoreHitDirection = 288,
|
||||
PreventDurabilityLoss = 289,
|
||||
ModCritPct = 290,
|
||||
ModXpQuestPct = 291,
|
||||
OpenStable = 292,
|
||||
OverrideSpells = 293,
|
||||
PreventRegeneratePower = 294,
|
||||
Unk295 = 295,
|
||||
SetVehicleId = 296,
|
||||
BlockSpellFamily = 297,
|
||||
Strangulate = 298,
|
||||
Unk299 = 299,
|
||||
ShareDamagePct = 300,
|
||||
SchoolHealAbsorb = 301,
|
||||
Unk302 = 302,
|
||||
ModDamageDoneVersusAurastate = 303,
|
||||
ModFakeInebriate = 304,
|
||||
ModMinimumSpeed = 305,
|
||||
Unk306 = 306,
|
||||
HealAbsorbTest = 307,
|
||||
ModCritChanceForCaster = 308,
|
||||
ModResilience = 309, // NYI
|
||||
ModCreatureAoeDamageAvoidance = 310,
|
||||
Unk311 = 311,
|
||||
AnimReplacementSet = 312,
|
||||
Unk313 = 313, // Not Used In 4.3.4 - Related To Mounts
|
||||
PreventResurrection = 314,
|
||||
UnderwaterWalking = 315,
|
||||
PeriodicHaste = 316, // Not Used In 4.3.4 (Name From 3.3.5a)
|
||||
ModSpellPowerPct = 317,
|
||||
Mastery = 318,
|
||||
ModMeleeHaste3 = 319,
|
||||
ModRangedHaste2 = 320,
|
||||
ModNoActions = 321,
|
||||
InterfereTargetting = 322,
|
||||
Unk323 = 323, // Not Used In 4.3.4
|
||||
Unk324 = 324, // Spell Critical Chance (Probably By School Mask)
|
||||
Unk325 = 325, // Not Used In 4.3.4
|
||||
PhaseGroup = 326, // Phase Related
|
||||
Unk327 = 327, // Not Used In 4.3.4
|
||||
ProcOnPowerAmount = 328,
|
||||
ModPowerGainPct = 329, // Nyi
|
||||
CastWhileWalking = 330,
|
||||
ForceWeather = 331,
|
||||
OverrideActionbarSpells = 332,
|
||||
OverrideActionbarSpellsTriggered = 333, // Spells cast with this override have no cast time or power cost
|
||||
ModBlind = 334, // Nyi
|
||||
Unk335 = 335,
|
||||
ModFlyingRestrictions = 336, // Nyi
|
||||
ModVendorItemsPrices = 337,
|
||||
ModDurabilityLoss = 338,
|
||||
IncreaseSkillGainChance = 339, // Nyi
|
||||
ModResurrectedHealthByGuildMember = 340, // Increases Health Gained When Resurrected By A Guild Member By X
|
||||
ModSpellCategoryCooldown = 341,
|
||||
ModMeleeRangedHaste2 = 342,
|
||||
ModMeleeDamageFromCaster = 343,
|
||||
ModAutoattackDamage = 344,
|
||||
BypassArmorForCaster = 345,
|
||||
EnableAltPower = 346, // Nyi
|
||||
ModSpellCooldownByHaste = 347,
|
||||
DepositBonusMoneyInGuildBankOnLoot = 348, // Nyi
|
||||
ModCurrencyGain = 349,
|
||||
ModGatheringItemsGainedPercent = 350, // Nyi
|
||||
Unk351 = 351,
|
||||
Unk352 = 352,
|
||||
ModCamouflage = 353, // Nyi
|
||||
Unk354 = 354, // Restoration Shaman Mastery - Mod Healing Based On Target'S Health (Less = More Healing)
|
||||
ModCastingSpeed = 355, // NYI
|
||||
Unk356 = 356, // Arcane Mage Mastery - Mod Damage Based On Current Mana
|
||||
EnableBoss1UnitFrame = 357,
|
||||
WorgenAlteredForm = 358,
|
||||
Unk359 = 359,
|
||||
ProcTriggerSpellCopy = 360, // Procs The Same Spell That Caused This Proc (Dragonwrath, Tarecgosa'S Rest)
|
||||
OverrideAutoattackWithMeleeSpell = 361, // NYI
|
||||
Unk362 = 362, // Not Used In 4.3.4
|
||||
ModNextSpell = 363, // Used By 101601 Throw Totem - Causes The Client To Initialize Spell Cast With Specified Spell
|
||||
Unk364 = 364, // Not Used In 4.3.4
|
||||
MaxFarClipPlane = 365, // Overrides Client'S View Distance Setting To Max("Fair", CurrentSetting) And Turns Off Terrain Display
|
||||
OverrideSpellPowerByApPct = 366, // Sets Spellpower Equal To % Of Attack Power, Discarding All Other Bonuses (From Gear And Buffs)
|
||||
OverrideAutoattackWithRangedSpell = 367, // NYI
|
||||
Unk368 = 368, // Not Used In 4.3.4
|
||||
EnablePowerBarTimer = 369,
|
||||
SetFairFarClip = 370, // Overrides Client'S View Distance Setting To Max("Fair", CurrentSetting)
|
||||
Unk371 = 371,
|
||||
Unk372 = 372,
|
||||
ModSpeedNoControl = 373, // NYI
|
||||
ModifyFallDamagePct = 374,
|
||||
Unk375 = 375,
|
||||
ModCurrencyGainFromSource = 376, // NYI
|
||||
CastWhileWalking2 = 377, // NYI
|
||||
Unk378 = 378,
|
||||
Unk379 = 379,
|
||||
ModGlobalCooldownByHaste = 380, // Allows melee abilities to benefit from haste GCD reduction
|
||||
Unk381 = 381,
|
||||
ModPetStatPct = 382, // NYI
|
||||
IgnoreSpellCooldown = 383,
|
||||
Unk384 = 384,
|
||||
ChanceOverrideAutoattackWithSpellOnSelf = 385,// NYI (with triggered spell cast by the initial caster?)
|
||||
Unk386 = 386,
|
||||
Unk387 = 387,
|
||||
ModTaxiFlightSpeed = 388,
|
||||
Unk389 = 389,
|
||||
Unk390 = 390,
|
||||
Unk391 = 391,
|
||||
Unk392 = 392,
|
||||
Unk393 = 393,
|
||||
ShowConfirmationPrompt = 394,
|
||||
AreaTrigger = 395, // NYI
|
||||
ProcOnPowerAmount2 = 396,
|
||||
Unk397 = 397,
|
||||
Unk398 = 398,
|
||||
Unk399 = 399,
|
||||
ModSkill2 = 400,
|
||||
Unk401 = 401,
|
||||
ModOverridePowerDisplay = 402,
|
||||
OverrideSpellVisual = 403,
|
||||
OverrideAttackPowerBySpPct = 404,
|
||||
ModRatingPct = 405, // NYI
|
||||
KeyboundOverride = 406, // NYI
|
||||
ModFear2 = 407,
|
||||
Unk408 = 408,
|
||||
CanTurnWhileFalling = 409,
|
||||
Unk410 = 410,
|
||||
ModMaxCharges = 411,
|
||||
Unk412 = 412,
|
||||
Unk413 = 413,
|
||||
Unk414 = 414,
|
||||
Unk415 = 415,
|
||||
ModCooldownByHasteRegen = 416,
|
||||
ModGlobalCooldownByHasteRegen = 417,
|
||||
ModMaxPower = 418, // NYI
|
||||
ModBaseManaPct = 419,
|
||||
ModBattlePetXpPct = 420,
|
||||
ModAbsorbEffectsAmountPct = 421, // NYI
|
||||
Unk422 = 422,
|
||||
Unk423 = 423,
|
||||
Unk424 = 424,
|
||||
Unk425 = 425,
|
||||
Unk426 = 426,
|
||||
ScalePlayerLevel = 427, // NYI
|
||||
Unk428 = 428,
|
||||
Unk429 = 429,
|
||||
PlayScene = 430,
|
||||
ModOverrideZonePvpType = 431, // NYI
|
||||
Unk432 = 432,
|
||||
Unk433 = 433,
|
||||
Unk434 = 434,
|
||||
Unk435 = 435,
|
||||
ModEnvironmentalDamageTaken = 436, // NYI
|
||||
ModMinimumSpeedRate = 437,
|
||||
PreloadPhase = 438, // NYI
|
||||
Unk439 = 439,
|
||||
ModMultistrikeDamage = 440, // NYI
|
||||
ModMultistrikeChance = 441, // NYI
|
||||
ModReadiness = 442, // NYI
|
||||
ModLeech = 443, // NYI
|
||||
Unk444 = 444,
|
||||
Unk445 = 445,
|
||||
Unk446 = 446,
|
||||
ModXpFromCreatureType = 447,
|
||||
Unk448 = 448,
|
||||
Unk449 = 449,
|
||||
Unk450 = 450,
|
||||
OverridePetSpecs = 451,
|
||||
Unk452 = 452,
|
||||
ChargeRecoveryMod = 453,
|
||||
ChargeRecoveryMultiplier = 454,
|
||||
ModRoot2 = 455,
|
||||
ChargeRecoveryAffectedByHaste = 456,
|
||||
ChargeRecoveryAffectedByHasteRegen = 457,
|
||||
IgnoreDualWieldHitPenalty = 458,
|
||||
IgnoreMovementForces = 459,
|
||||
ResetCooldownsOnDuelStart = 460,
|
||||
Unk461 = 461,
|
||||
ModHealingAndAbsorbFromCaster = 462, // NYI
|
||||
ConvertCritRatingPctToParryRating = 463, // NYI
|
||||
ModAttackPowerOfBonusArmor = 464, // NYI
|
||||
ModBonusArmor = 465, // NYI
|
||||
ModBonusArmorPct = 466,
|
||||
ModStatBonusPct = 467,
|
||||
TriggerSpellOnHealthBelowPct = 468,
|
||||
ShowConfirmationPromptWithDifficulty = 469,
|
||||
Unk470 = 470,
|
||||
ModVersatility = 471, // NYI
|
||||
Unk472 = 472,
|
||||
PreventDurabilityLossFromCombat = 473,
|
||||
Unk474 = 474,
|
||||
AllowUsingGameobjectsWhileMounted = 475,
|
||||
ModCurrencyGainLooted = 476,
|
||||
Unk477 = 477,
|
||||
Unk478 = 478,
|
||||
Unk479 = 479,
|
||||
Unk480 = 480,
|
||||
ConvertConsumedRune = 481,
|
||||
Unk482 = 482,
|
||||
SuppressTransforms = 483, // NYI
|
||||
Unk484 = 484,
|
||||
Unk485 = 485,
|
||||
Unk486 = 486,
|
||||
Unk487 = 487,
|
||||
Unk488 = 488,
|
||||
Unk489 = 489,
|
||||
Unk490 = 490,
|
||||
Unk491 = 491,
|
||||
Total = 492
|
||||
}
|
||||
|
||||
public enum AuraEffectHandleModes
|
||||
{
|
||||
Default = 0x0,
|
||||
Real = 0x01, // Handler Applies/Removes Effect From Unit
|
||||
SendForClient = 0x02, // Handler Sends Apply/Remove Packet To Unit
|
||||
ChangeAmount = 0x04, // Handler Updates Effect On Target After Effect Amount Change
|
||||
Reapply = 0x08, // Handler Updates Effect On Target After Aura Is Reapplied On Target
|
||||
Stat = 0x10, // Handler Updates Effect On Target When Stat Removal/Apply Is Needed For Calculations By Core
|
||||
Skill = 0x20, // Handler Updates Effect On Target When Skill Removal/Apply Is Needed For Calculations By Core
|
||||
SendForClientMask = (SendForClient | Real), // Any Case Handler Need To Send Packet
|
||||
ChangeAmountMask = (ChangeAmount | Real), // Any Case Handler Applies Effect Depending On Amount
|
||||
ChangeAmountSendForClientMask = (ChangeAmountMask | SendForClientMask),
|
||||
RealOrReapplyMask = (Reapply | Real)
|
||||
}
|
||||
|
||||
// Diminishing Returns Types
|
||||
public enum DiminishingReturnsType
|
||||
{
|
||||
None = 0, // this spell is not diminished, but may have its duration limited
|
||||
Player = 1, // this spell is diminished only when applied on players
|
||||
All = 2 // this spell is diminished in every case
|
||||
}
|
||||
|
||||
// Diminishing Return Groups
|
||||
public enum DiminishingGroup
|
||||
{
|
||||
None = 0,
|
||||
Root = 1,
|
||||
Stun = 2,
|
||||
Incapacitate = 3,
|
||||
Disorient = 4,
|
||||
Silence = 5,
|
||||
AOEKnockback = 6,
|
||||
Taunt = 7,
|
||||
LimitOnly = 8,
|
||||
}
|
||||
|
||||
public enum DiminishingLevels
|
||||
{
|
||||
Level1 = 0,
|
||||
Level2 = 1,
|
||||
Level3 = 2,
|
||||
Immune = 3,
|
||||
Level4 = 3,
|
||||
TauntImmune = 4
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum GMTicketSystemStatus
|
||||
{
|
||||
Disabled = 0,
|
||||
Enabled = 1
|
||||
}
|
||||
|
||||
public enum GMSupportComplaintType
|
||||
{
|
||||
None = 0,
|
||||
Language = 2,
|
||||
PlayerName = 4,
|
||||
Cheat = 15,
|
||||
GuildName = 23,
|
||||
Spamming = 24
|
||||
}
|
||||
|
||||
public enum SupportSpamType
|
||||
{
|
||||
Mail = 0,
|
||||
Chat = 1,
|
||||
Calendar = 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,577 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum VehicleSeatFlags : uint
|
||||
{
|
||||
HasLowerAnimForEnter = 0x01,
|
||||
HasLowerAnimForRide = 0x02,
|
||||
Unk3 = 0x04,
|
||||
ShouldUseVehSeatExitAnimOnVoluntaryExit = 0x08,
|
||||
Unk5 = 0x10,
|
||||
Unk6 = 0x20,
|
||||
Unk7 = 0x40,
|
||||
Unk8 = 0x80,
|
||||
Unk9 = 0x100,
|
||||
HidePassenger = 0x200, // Passenger Is Hidden
|
||||
AllowTurning = 0x400, // Needed For CgcameraSyncfreelookfacing
|
||||
CanControl = 0x800, // LuaUnitinvehiclecontrolseat
|
||||
CanCastMountSpell = 0x1000, // Can Cast Spells With SpellAuraMounted From Seat (Possibly 4.X Only, 0 Seats On 3.3.5a)
|
||||
Uncontrolled = 0x2000, // Can Override !& CanEnterOrExit
|
||||
CanAttack = 0x4000, // Can Attack, Cast Spells And Use Items From Vehicle
|
||||
ShouldUseVehSeatExitAnimOnForcedExit = 0x8000,
|
||||
Unk17 = 0x10000,
|
||||
Unk18 = 0x20000, // Needs Research And Support (28 Vehicles): Allow Entering Vehicles While Keeping Specific Permanent(?) Auras That Impose Visuals (States Like Beeing Under Freeze/Stun Mechanic, Emote State Animations).
|
||||
HasVehExitAnimVoluntaryExit = 0x40000,
|
||||
HasVehExitAnimForcedExit = 0x80000,
|
||||
PassengerNotSelectable = 0x100000,
|
||||
Unk22 = 0x200000,
|
||||
RecHasVehicleEnterAnim = 0x400000,
|
||||
IsUsingVehicleControls = 0x800000, // LuaIsusingvehiclecontrols
|
||||
EnableVehicleZoom = 0x1000000,
|
||||
CanEnterOrExit = 0x2000000, // LuaCanexitvehicle - Can Enter And Exit At Free Will
|
||||
CanSwitch = 0x4000000, // LuaCanswitchvehicleseats
|
||||
HasStartWaritingForVehTransitionAnimEnter = 0x8000000,
|
||||
HasStartWaritingForVehTransitionAnimExit = 0x10000000,
|
||||
CanCast = 0x20000000, // LuaUnithasvehicleui
|
||||
Unk2 = 0x40000000, // Checked In Conjunction With 0x800 In Castspell2
|
||||
AllowsInteraction = 0x80000000
|
||||
}
|
||||
|
||||
public enum VehicleSeatFlagsB : uint
|
||||
{
|
||||
None = 0x00,
|
||||
UsableForced = 0x02,
|
||||
TargetsInRaidUi = 0x08, // Lua_Unittargetsvehicleinraidui
|
||||
Ejectable = 0x20, // Ejectable
|
||||
UsableForced2 = 0x40,
|
||||
UsableForced3 = 0x100,
|
||||
KeepPet = 0x20000,
|
||||
UsableForced4 = 0x02000000,
|
||||
CanSwitch = 0x4000000,
|
||||
VehiclePlayerframeUi = 0x80000000 // Lua_Unithasvehicleplayerframeui - Actually Checked For Flagsb &~ 0x80000000
|
||||
}
|
||||
|
||||
public enum SpellClickCastFlags
|
||||
{
|
||||
CasterClicker = 0x01,
|
||||
TargetClicker = 0x02,
|
||||
OrigCasterOwner = 0x04
|
||||
}
|
||||
|
||||
|
||||
public enum SummonSlot
|
||||
{
|
||||
Pet = 0,
|
||||
Totem = 1,
|
||||
MiniPet = 5,
|
||||
Quest = 6,
|
||||
}
|
||||
public enum PlayerTotemType
|
||||
{
|
||||
Fire = 63,
|
||||
Earth = 81,
|
||||
Water = 82,
|
||||
Air = 83
|
||||
}
|
||||
|
||||
public enum BaseModType
|
||||
{
|
||||
FlatMod,
|
||||
PCTmod,
|
||||
End
|
||||
}
|
||||
|
||||
//To all Immune system, if target has immunes,
|
||||
//some spell that related to ImmuneToDispel or ImmuneToSchool or ImmuneToDamage type can't cast to it,
|
||||
//some spell_effects that related to ImmuneToEffect<effect>(only this effect in the spell) can't cast to it,
|
||||
//some aura(related to Mechanics or ImmuneToState<aura>) can't apply to it.
|
||||
public enum SpellImmunity
|
||||
{
|
||||
Effect = 0, // enum SpellEffects
|
||||
State = 1, // enum AuraType
|
||||
School = 2, // enum SpellSchoolMask
|
||||
Damage = 3, // enum SpellSchoolMask
|
||||
Dispel = 4, // enum DispelType
|
||||
Mechanic = 5, // enum Mechanics
|
||||
Id = 6,
|
||||
Max = 7
|
||||
}
|
||||
|
||||
|
||||
public enum BaseModGroup
|
||||
{
|
||||
CritPercentage,
|
||||
RangedCritPercentage,
|
||||
OffhandCritPercentage,
|
||||
ShieldBlockValue,
|
||||
End
|
||||
}
|
||||
|
||||
public enum DamageEffectType
|
||||
{
|
||||
Direct = 0, // used for normal weapon damage (not for class abilities or spells)
|
||||
SpellDirect = 1, // spell/class abilities damage
|
||||
DOT = 2,
|
||||
Heal = 3,
|
||||
NoDamage = 4, // used also in case when damage applied to health but not applied to spell channelInterruptFlags/etc
|
||||
Self = 5
|
||||
}
|
||||
public enum WeaponDamageRange
|
||||
{
|
||||
MinDamage,
|
||||
MaxDamage
|
||||
}
|
||||
public enum UnitMods
|
||||
{
|
||||
StatStrength, // STAT_STRENGTH..UNIT_MOD_STAT_INTELLECT must be in existed order, it's accessed by index values of Stats enum.
|
||||
StatAgility,
|
||||
StatStamina,
|
||||
StatIntellect,
|
||||
Health,
|
||||
Mana, // MANA..RUNIC_POWER must be in existed order, it's accessed by index values of Powers enum.
|
||||
Rage,
|
||||
Focus,
|
||||
Energy,
|
||||
Unused, // Old HAPPINESS
|
||||
Rune,
|
||||
RunicPower,
|
||||
SoulShards,
|
||||
Eclipse,
|
||||
HolyPower,
|
||||
Alternative,
|
||||
Maelstrom,
|
||||
Chi,
|
||||
Insanity,
|
||||
BurningEmbers,
|
||||
DemonicFury,
|
||||
ArcaneCharges,
|
||||
Fury,
|
||||
Pain,
|
||||
Armor, // ARMOR..RESISTANCE_ARCANE must be in existed order, it's accessed by index values of SpellSchools enum.
|
||||
ResistanceHoly,
|
||||
ResistanceFire,
|
||||
ResistanceNature,
|
||||
ResistanceFrost,
|
||||
ResistanceShadow,
|
||||
ResistanceArcane,
|
||||
AttackPower,
|
||||
AttackPowerRanged,
|
||||
DamageMainHand,
|
||||
DamageOffHand,
|
||||
DamageRanged,
|
||||
End,
|
||||
// synonyms
|
||||
StatStart = StatStrength,
|
||||
StatEnd = StatIntellect + 1,
|
||||
ResistanceStart = Armor,
|
||||
ResistanceEnd = ResistanceArcane + 1,
|
||||
PowerStart = Mana,
|
||||
PowerEnd = Pain + 1
|
||||
}
|
||||
public enum UnitModifierType
|
||||
{
|
||||
BaseValue = 0,
|
||||
BasePCTExcludeCreate = 1, // percent modifier affecting all stat values from auras and gear but not player base for level
|
||||
BasePCT = 2,
|
||||
TotalValue = 3,
|
||||
TotalPCT = 4,
|
||||
End = 5
|
||||
}
|
||||
public enum VictimState
|
||||
{
|
||||
Intact = 0, // set when attacker misses
|
||||
Hit = 1, // victim got clear/blocked hit
|
||||
Dodge = 2,
|
||||
Parry = 3,
|
||||
Imterrupt = 4,
|
||||
Blocks = 5, // unused? not set when blocked, even on full block
|
||||
Evades = 6,
|
||||
Immune = 7,
|
||||
Deflects = 8
|
||||
}
|
||||
|
||||
public enum HitInfo
|
||||
{
|
||||
NormalSwing = 0x0,
|
||||
Unk1 = 0x01, // req correct packet structure
|
||||
AffectsVictim = 0x02,
|
||||
OffHand = 0x04,
|
||||
Unk2 = 0x08,
|
||||
Miss = 0x10,
|
||||
FullAbsorb = 0x20,
|
||||
PartialAbsorb = 0x40,
|
||||
FullResist = 0x80,
|
||||
PartialResist = 0x100,
|
||||
CriticalHit = 0x200, // critical hit
|
||||
Unk10 = 0x400,
|
||||
Unk11 = 0x800,
|
||||
Unk12 = 0x1000,
|
||||
Block = 0x2000, // blocked damage
|
||||
Unk14 = 0x4000, // set only if meleespellid is present// no world text when victim is hit for 0 dmg(HideWorldTextForNoDamage?)
|
||||
Unk15 = 0x8000, // player victim?// something related to blod sprut visual (BloodSpurtInBack?)
|
||||
Glancing = 0x10000,
|
||||
Crushing = 0x20000,
|
||||
NoAnimation = 0x40000,
|
||||
Unk19 = 0x80000,
|
||||
Unk20 = 0x100000,
|
||||
SwingNoHitSound = 0x200000, // unused?
|
||||
Unk22 = 0x00400000,
|
||||
RageGain = 0x800000,
|
||||
FakeDamage = 0x1000000 // enables damage animation even if no damage done, set only if no damage
|
||||
}
|
||||
|
||||
public enum ReactStates
|
||||
{
|
||||
Passive = 0,
|
||||
Defensive = 1,
|
||||
Aggressive = 2,
|
||||
Assist = 3
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnitStandStateType
|
||||
/// </summary>
|
||||
public enum UnitStandStateType
|
||||
{
|
||||
Stand = 0,
|
||||
Sit = 1,
|
||||
SitChair = 2,
|
||||
Sleep = 3,
|
||||
SitLowChair = 4,
|
||||
SitMediumChair = 5,
|
||||
SitHighChair = 6,
|
||||
Dead = 7,
|
||||
Kneel = 8,
|
||||
Submerged = 9
|
||||
}
|
||||
|
||||
public struct UnitBytes0Offsets
|
||||
{
|
||||
public const byte Race = 0;
|
||||
public const byte Class = 1;
|
||||
public const byte PlayerClass = 2;
|
||||
public const byte Gender = 3;
|
||||
}
|
||||
|
||||
public struct UnitBytes1Offsets
|
||||
{
|
||||
public const byte StandState = 0;
|
||||
public const byte PetTalents = 1; // unused
|
||||
public const byte VisFlag = 2;
|
||||
public const byte AnimTier = 3;
|
||||
}
|
||||
|
||||
public enum UnitStandFlags
|
||||
{
|
||||
Unk1 = 0x01,
|
||||
Creep = 0x02,
|
||||
Untrackable = 0x04,
|
||||
Unk4 = 0x08,
|
||||
Unk5 = 0x10,
|
||||
All = 0xFF
|
||||
}
|
||||
|
||||
public enum UnitBytes1Flags
|
||||
{
|
||||
AlwaysStand = 0x01,
|
||||
Hover = 0x02,
|
||||
Unk3 = 0x04,
|
||||
All = 0xFF
|
||||
}
|
||||
|
||||
public struct UnitBytes2Offsets
|
||||
{
|
||||
public const byte SheathState = 0;
|
||||
public const byte PvpFlag = 1;
|
||||
public const byte PetFlags = 2;
|
||||
public const byte ShapeshiftForm = 3;
|
||||
}
|
||||
|
||||
public enum UnitBytes2Flags
|
||||
{
|
||||
PvP = 0x01,
|
||||
Unk1 = 0x02,
|
||||
FFAPvp = 0x04,
|
||||
Sanctuary = 0x08,
|
||||
Unk4 = 0x10,
|
||||
Unk5 = 0x20,
|
||||
Unk6 = 0x40,
|
||||
Unk7 = 0x80,
|
||||
}
|
||||
|
||||
public enum UnitPetFlags
|
||||
{
|
||||
CanBeRenamed = 0x01,
|
||||
CanBeAbandoned = 0x02
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnitFields.Bytes2, 3
|
||||
/// </summary>
|
||||
public enum ShapeShiftForm
|
||||
{
|
||||
None = 0,
|
||||
CatForm = 1,
|
||||
TreeOfLife = 2,
|
||||
TravelForm = 3,
|
||||
AquaticForm = 4,
|
||||
BearForm = 5,
|
||||
Ambient = 6,
|
||||
Ghoul = 7,
|
||||
DireBearForm = 8,
|
||||
CraneStance = 9,
|
||||
TharonjaSkeleton = 10,
|
||||
DarkmoonTestOfStrength = 11,
|
||||
BlbPlayer = 12,
|
||||
ShadowDance = 13,
|
||||
CreatureBear = 14,
|
||||
CreatureCat = 15,
|
||||
GhostWolf = 16,
|
||||
BattleStance = 17,
|
||||
DefensiveStance = 18,
|
||||
BerserkerStance = 19,
|
||||
SerpentStance = 20,
|
||||
Zombie = 21,
|
||||
Metamorphosis = 22,
|
||||
OxStance = 23,
|
||||
TigerStance = 24,
|
||||
Undead = 25,
|
||||
Frenzy = 26,
|
||||
FlightFormEpic = 27,
|
||||
Shadowform = 28,
|
||||
FlightForm = 29,
|
||||
Stealth = 30,
|
||||
MoonkinForm = 31,
|
||||
SpiritOfRedemption = 32,
|
||||
GladiatorStance = 33
|
||||
}
|
||||
|
||||
public enum ReactiveType
|
||||
{
|
||||
Defense = 0,
|
||||
HunterParry = 1,
|
||||
OverPower = 2,
|
||||
Max = 3
|
||||
}
|
||||
|
||||
public enum SpellValueMod
|
||||
{
|
||||
BasePoint0,
|
||||
BasePoint1,
|
||||
BasePoint2,
|
||||
BasePoint3,
|
||||
BasePoint4,
|
||||
BasePoint5,
|
||||
BasePoint6,
|
||||
BasePoint7,
|
||||
BasePoint8,
|
||||
BasePoint9,
|
||||
BasePoint10,
|
||||
BasePoint11,
|
||||
BasePoint12,
|
||||
BasePoint13,
|
||||
BasePoint14,
|
||||
BasePoint15,
|
||||
BasePoint16,
|
||||
BasePoint17,
|
||||
BasePoint18,
|
||||
BasePoint19,
|
||||
BasePoint20,
|
||||
BasePoint21,
|
||||
BasePoint22,
|
||||
BasePoint23,
|
||||
BasePoint24,
|
||||
BasePoint25,
|
||||
BasePoint26,
|
||||
BasePoint27,
|
||||
BasePoint28,
|
||||
BasePoint29,
|
||||
BasePoint30,
|
||||
BasePoint31,
|
||||
End,
|
||||
RadiusMod,
|
||||
MaxTargets,
|
||||
AuraStack
|
||||
}
|
||||
|
||||
public enum CombatRating
|
||||
{
|
||||
Amplify = 0,
|
||||
DefenseSkill = 1,
|
||||
Dodge = 2,
|
||||
Parry = 3,
|
||||
Block = 4,
|
||||
HitMelee = 5,
|
||||
HitRanged = 6,
|
||||
HitSpell = 7,
|
||||
CritMelee = 8,
|
||||
CritRanged = 9,
|
||||
CritSpell = 10,
|
||||
Multistrike = 11,
|
||||
Readiness = 12,
|
||||
Speed = 13,
|
||||
ResilienceCritTaken = 14,
|
||||
ResiliencePlayerDamage = 15,
|
||||
Lifesteal = 16,
|
||||
HasteMelee = 17,
|
||||
HasteRanged = 18,
|
||||
HasteSpell = 19,
|
||||
Avoidance = 20,
|
||||
Studiness = 21,
|
||||
Unused7 = 22,
|
||||
Expertise = 23,
|
||||
ArmorPenetration = 24,
|
||||
Mastery = 25,
|
||||
PvpPower = 26,
|
||||
Cleave = 27,
|
||||
VersatilityDamageDone = 28,
|
||||
VersatilityHealingDone = 29,
|
||||
VersatilityDamageTaken = 30,
|
||||
Unused12 = 31,
|
||||
Max = 32
|
||||
}
|
||||
|
||||
public enum DeathState
|
||||
{
|
||||
Alive = 0,
|
||||
JustDied = 1,
|
||||
Corpse = 2,
|
||||
Dead = 3,
|
||||
JustRespawned = 4
|
||||
}
|
||||
public enum UnitState : uint
|
||||
{
|
||||
Died = 0x01, // Player Has Fake Death Aura
|
||||
MeleeAttacking = 0x02, // Player Is Melee Attacking Someone
|
||||
//Melee_Attack_By = 0x04, // Player Is Melee Attack By Someone
|
||||
Stunned = 0x08,
|
||||
Roaming = 0x10,
|
||||
Chase = 0x20,
|
||||
//Searching = 0x40,
|
||||
Fleeing = 0x80,
|
||||
InFlight = 0x100, // Player Is In Flight Mode
|
||||
Follow = 0x200,
|
||||
Root = 0x400,
|
||||
Confused = 0x800,
|
||||
Distracted = 0x1000,
|
||||
Isolated = 0x2000, // Area Auras Do Not Affect Other Players
|
||||
AttackPlayer = 0x4000,
|
||||
Casting = 0x8000,
|
||||
Possessed = 0x10000,
|
||||
Charging = 0x20000,
|
||||
Jumping = 0x40000,
|
||||
//Onvehicle = 0x80000,
|
||||
Move = 0x100000,
|
||||
Rotating = 0x200000,
|
||||
Evade = 0x400000,
|
||||
RoamingMove = 0x800000,
|
||||
ConfusedMove = 0x1000000,
|
||||
FleeingMove = 0x2000000,
|
||||
ChaseMove = 0x4000000,
|
||||
FollowMove = 0x8000000,
|
||||
IgnorePathfinding = 0x10000000,
|
||||
Unattackable = InFlight,
|
||||
// For Real Move Using Movegen Check And Stop (Except Unstoppable Flight)
|
||||
Moving = RoamingMove | ConfusedMove | FleeingMove | ChaseMove | FollowMove,
|
||||
Controlled = (Confused | Stunned | Fleeing),
|
||||
LostControl = (Controlled | Jumping | Charging),
|
||||
Sightless = (LostControl | Evade),
|
||||
CannotAutoattack = (LostControl | Casting),
|
||||
CannotTurn = (LostControl | Rotating),
|
||||
// Stay By Different Reasons
|
||||
NotMove = Root | Stunned | Died | Distracted,
|
||||
AllState = 0xffffffff //(Stopped | Moving | In_Combat | In_Flight)
|
||||
}
|
||||
|
||||
public enum UnitMoveType
|
||||
{
|
||||
Walk = 0,
|
||||
Run = 1,
|
||||
RunBack = 2,
|
||||
Swim = 3,
|
||||
SwimBack = 4,
|
||||
TurnRate = 5,
|
||||
Flight = 6,
|
||||
FlightBack = 7,
|
||||
PitchRate = 8,
|
||||
Max = 9
|
||||
}
|
||||
public enum WeaponAttackType
|
||||
{
|
||||
BaseAttack = 0,
|
||||
OffAttack = 1,
|
||||
RangedAttack = 2,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum UnitTypeMask
|
||||
{
|
||||
None = 0x0,
|
||||
Summon = 0x01,
|
||||
Minion = 0x02,
|
||||
Guardian = 0x04,
|
||||
Totem = 0x08,
|
||||
Pet = 0x10,
|
||||
Vehicle = 0x20,
|
||||
Puppet = 0x40,
|
||||
HunterPet = 0x80,
|
||||
ControlableGuardian = 0x100,
|
||||
Accessory = 0x200
|
||||
}
|
||||
|
||||
public enum CurrentSpellTypes
|
||||
{
|
||||
Melee = 0,
|
||||
Generic = 1,
|
||||
Channeled = 2,
|
||||
AutoRepeat = 3,
|
||||
Max = 4
|
||||
}
|
||||
public enum SheathState
|
||||
{
|
||||
Unarmed = 0, // non prepared weapon
|
||||
Melee = 1, // prepared melee weapon
|
||||
Ranged = 2, // prepared ranged weapon
|
||||
Max = 3
|
||||
}
|
||||
public enum MeleeHitOutcome
|
||||
{
|
||||
Evade,
|
||||
Miss,
|
||||
Dodge,
|
||||
Block,
|
||||
Parry,
|
||||
Glancing,
|
||||
Crit,
|
||||
Crushing,
|
||||
Normal
|
||||
}
|
||||
|
||||
public enum UnitDynFlags
|
||||
{
|
||||
None = 0x00,
|
||||
HideModel = 0x02, // Object model is not shown with this flag
|
||||
Lootable = 0x04,
|
||||
TrackUnit = 0x08,
|
||||
Tapped = 0x10, // Lua_UnitIsTapped
|
||||
SpecialInfo = 0x20,
|
||||
Dead = 0x40,
|
||||
ReferAFriend = 0x80
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,411 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum ObjectFields
|
||||
{
|
||||
Guid = 0x000, // Size: 4, Flags: Public
|
||||
Data = 0x004, // Size: 4, Flags: Public
|
||||
Type = 0x008, // Size: 1, Flags: Public
|
||||
Entry = 0x009, // Size: 1, Flags: Dynamic
|
||||
DynamicFlags = 0x00a, // Size: 1, Flags: Dynamic, Urgent
|
||||
ScaleX = 0x00b, // Size: 1, Flags: Public
|
||||
End = 0x00c,
|
||||
}
|
||||
|
||||
public enum ItemFields
|
||||
{
|
||||
Owner = ObjectFields.End + 0x000, // Size: 4, Flags: Public
|
||||
Contained = ObjectFields.End + 0x004, // Size: 4, Flags: Public
|
||||
Creator = ObjectFields.End + 0x008, // Size: 4, Flags: Public
|
||||
GiftCreator = ObjectFields.End + 0x00c, // Size: 4, Flags: Public
|
||||
StackCount = ObjectFields.End + 0x010, // Size: 1, Flags: Owner
|
||||
Duration = ObjectFields.End + 0x011, // Size: 1, Flags: Owner
|
||||
SpellCharges = ObjectFields.End + 0x012, // Size: 5, Flags: Owner
|
||||
Flags = ObjectFields.End + 0x017, // Size: 1, Flags: Public
|
||||
Enchantment = ObjectFields.End + 0x018, // Size: 39, Flags: Public
|
||||
PropertySeed = ObjectFields.End + 0x03f, // Size: 1, Flags: Public
|
||||
RandomPropertiesId = ObjectFields.End + 0x040, // Size: 1, Flags: Public
|
||||
Durability = ObjectFields.End + 0x041, // Size: 1, Flags: Owner
|
||||
MaxDurability = ObjectFields.End + 0x042, // Size: 1, Flags: Owner
|
||||
CreatePlayedTime = ObjectFields.End + 0x043, // Size: 1, Flags: Public
|
||||
ModifiersMask = ObjectFields.End + 0x044, // Size: 1, Flags: Owner
|
||||
Context = ObjectFields.End + 0x045, // Size: 1, Flags: Public
|
||||
ArtifactXp = ObjectFields.End + 0x046, // Size: 2, Flags: OWNER
|
||||
AppearanceModId = ObjectFields.End + 0x048, // Size: 1, Flags: OWNER
|
||||
End = ObjectFields.End + 0x049,
|
||||
}
|
||||
|
||||
public enum ItemDynamicFields
|
||||
{
|
||||
Modifiers = 0x000, // Flags: Owner
|
||||
BonusListIds = 0x001, // Flags: Owner, 0x100
|
||||
ArtifactPowers = 0x002, // Flags: OWNER
|
||||
Gems = 0x003, // Flags: OWNER
|
||||
End = 0x004,
|
||||
}
|
||||
|
||||
public enum ContainerFields
|
||||
{
|
||||
Slot1 = ItemFields.End + 0x000, // Size: 144, Flags: Public
|
||||
NumSlots = ItemFields.End + 0x090, // Size: 1, Flags: Public
|
||||
End = ItemFields.End + 0x091,
|
||||
}
|
||||
|
||||
public enum UnitFields
|
||||
{
|
||||
Charm = ObjectFields.End + 0x000, // Size: 4, Flags: Public
|
||||
Summon = ObjectFields.End + 0x004, // Size: 4, Flags: Public
|
||||
Critter = ObjectFields.End + 0x008, // Size: 4, Flags: Private
|
||||
CharmedBy = ObjectFields.End + 0x00c, // Size: 4, Flags: Public
|
||||
SummonedBy = ObjectFields.End + 0x010, // Size: 4, Flags: Public
|
||||
CreatedBy = ObjectFields.End + 0x014, // Size: 4, Flags: Public
|
||||
DemonCreator = ObjectFields.End + 0x018, // Size: 4, Flags: Public
|
||||
Target = ObjectFields.End + 0x01c, // Size: 4, Flags: Public
|
||||
BattlePetCompanionGuid = ObjectFields.End + 0x020, // Size: 4, Flags: Public
|
||||
BattlePetDbId = ObjectFields.End + 0x024, // Size: 2, Flags: Public
|
||||
ChannelSpell = ObjectFields.End + 0x026, // Size: 1, Flags: Public, Urgent
|
||||
ChannelSpellXSpellVisual = ObjectFields.End + 0x027, // Size: 1, Flags: Public, Urgent
|
||||
SummonedByHomeRealm = ObjectFields.End + 0x028, // Size: 1, Flags: Public
|
||||
Bytes0 = ObjectFields.End + 0x029, // Size: 1, Flags: Public
|
||||
DisplayPower = ObjectFields.End + 0x02a, // Size: 1, Flags: Public
|
||||
OverrideDisplayPowerId = ObjectFields.End + 0x02b, // Size: 1, Flags: Public
|
||||
Health = ObjectFields.End + 0x02c, // Size: 2, Flags: Public
|
||||
Power = ObjectFields.End + 0x02e, // Size: 6, Flags: Public, UrgentSelfOnly
|
||||
MaxHealth = ObjectFields.End + 0x034, // Size: 2, Flags: Public
|
||||
MaxPower = ObjectFields.End + 0x036, // Size: 6, Flags: Public
|
||||
PowerRegenFlatModifier = ObjectFields.End + 0x03c, // Size: 6, Flags: Private, Owner, UnitAll
|
||||
PowerRegenInterruptedFlatModifier = ObjectFields.End + 0x042, // Size: 6, Flags: Private, Owner, UnitAll
|
||||
Level = ObjectFields.End + 0x048, // Size: 1, Flags: Public
|
||||
EffectiveLevel = ObjectFields.End + 0x049, // Size: 1, Flags: Public
|
||||
ScalingLevelMin = ObjectFields.End + 0x04a, // Size: 1, Flags: Public
|
||||
ScalingLevelMax = ObjectFields.End + 0x04b, // Size: 1, Flags: Public
|
||||
ScalingLevelDelta = ObjectFields.End + 0x04c, // Size: 1, Flags: Public
|
||||
FactionTemplate = ObjectFields.End + 0x04d, // Size: 1, Flags: Public
|
||||
VirtualItemSlotId = ObjectFields.End + 0x04e, // Size: 6, Flags: Public
|
||||
Flags = ObjectFields.End + 0x054, // Size: 1, Flags: Public, Urgent
|
||||
Flags2 = ObjectFields.End + 0x055, // Size: 1, Flags: Public, Urgent
|
||||
Flags3 = ObjectFields.End + 0x056, // Size: 1, Flags: Public, Urgent
|
||||
AuraState = ObjectFields.End + 0x057, // Size: 1, Flags: Public
|
||||
BaseAttackTime = ObjectFields.End + 0x058, // Size: 2, Flags: Public
|
||||
RangedAttackTime = ObjectFields.End + 0x05a, // Size: 1, Flags: Private
|
||||
BoundingRadius = ObjectFields.End + 0x05b, // Size: 1, Flags: Public
|
||||
CombatReach = ObjectFields.End + 0x05c, // Size: 1, Flags: Public
|
||||
DisplayId = ObjectFields.End + 0x05d, // Size: 1, Flags: Dynamic, Urgent
|
||||
NativeDisplayId = ObjectFields.End + 0x05e, // Size: 1, Flags: Public, Urgent
|
||||
MountDisplayId = ObjectFields.End + 0x05f, // Size: 1, Flags: Public, Urgent
|
||||
MinDamage = ObjectFields.End + 0x060, // Size: 1, Flags: Private, Owner, SpecialInfo
|
||||
MaxDamage = ObjectFields.End + 0x061, // Size: 1, Flags: Private, Owner, SpecialInfo
|
||||
MinOffHandDamage = ObjectFields.End + 0x062, // Size: 1, Flags: Private, Owner, SpecialInfo
|
||||
MaxOffHandDamage = ObjectFields.End + 0x063, // Size: 1, Flags: Private, Owner, SpecialInfo
|
||||
Bytes1 = ObjectFields.End + 0x064, // Size: 1, Flags: Public
|
||||
PetNumber = ObjectFields.End + 0x065, // Size: 1, Flags: Public
|
||||
PetNameTimestamp = ObjectFields.End + 0x066, // Size: 1, Flags: Public
|
||||
PetExperience = ObjectFields.End + 0x067, // Size: 1, Flags: Owner
|
||||
PetNextLevelExp = ObjectFields.End + 0x068, // Size: 1, Flags: Owner
|
||||
ModCastSpeed = ObjectFields.End + 0x069, // Size: 1, Flags: Public
|
||||
ModCastHaste = ObjectFields.End + 0x06a, // Size: 1, Flags: Public
|
||||
ModHaste = ObjectFields.End + 0x06b, // Size: 1, Flags: Public
|
||||
ModRangedHaste = ObjectFields.End + 0x06c, // Size: 1, Flags: Public
|
||||
ModHasteRegen = ObjectFields.End + 0x06d, // Size: 1, Flags: Public
|
||||
ModTimeRate = ObjectFields.End + 0x06e, // Size: 1, Flags: Public
|
||||
CreatedBySpell = ObjectFields.End + 0x06f, // Size: 1, Flags: Public
|
||||
NpcFlags = ObjectFields.End + 0x070, // Size: 2, Flags: Public, Dynamic
|
||||
NpcEmotestate = ObjectFields.End + 0x072, // Size: 1, Flags: Public
|
||||
Stat = ObjectFields.End + 0x073, // Size: 4, Flags: Private, Owner
|
||||
PosStat = ObjectFields.End + 0x077, // Size: 4, Flags: Private, Owner
|
||||
NegStat = ObjectFields.End + 0x07b, // Size: 4, Flags: Private, Owner
|
||||
Resistances = ObjectFields.End + 0x07f, // Size: 7, Flags: Private, Owner, SpecialInfo
|
||||
ResistanceBuffModsPositive = ObjectFields.End + 0x086, // Size: 7, Flags: Private, Owner
|
||||
ResistanceBuffModsNegative = ObjectFields.End + 0x08d, // Size: 7, Flags: Private, Owner
|
||||
ModBonusArmor = ObjectFields.End + 0x094, // Size: 1, Flags: Private, Owner
|
||||
BaseMana = ObjectFields.End + 0x095, // Size: 1, Flags: Public
|
||||
BaseHealth = ObjectFields.End + 0x096, // Size: 1, Flags: Private, Owner
|
||||
Bytes2 = ObjectFields.End + 0x097, // Size: 1, Flags: Public
|
||||
AttackPower = ObjectFields.End + 0x098, // Size: 1, Flags: Private, Owner
|
||||
AttackPowerModPos = ObjectFields.End + 0x099, // Size: 1, Flags: Private, Owner
|
||||
AttackPowerModNeg = ObjectFields.End + 0x09a, // Size: 1, Flags: Private, Owner
|
||||
AttackPowerMultiplier = ObjectFields.End + 0x09b, // Size: 1, Flags: Private, Owner
|
||||
RangedAttackPower = ObjectFields.End + 0x09c, // Size: 1, Flags: Private, Owner
|
||||
RangedAttackPowerModPos = ObjectFields.End + 0x09d, // Size: 1, Flags: Private, Owner
|
||||
RangedAttackPowerModNeg = ObjectFields.End + 0x09e, // Size: 1, Flags: Private, Owner
|
||||
RangedAttackPowerMultiplier = ObjectFields.End + 0x09f, // Size: 1, Flags: Private, Owner
|
||||
AttackSpeedAura = ObjectFields.End + 0x0a0, // Size: 1, Flags: Private, Owner
|
||||
MinRangedDamage = ObjectFields.End + 0x0a1, // Size: 1, Flags: Private, Owner
|
||||
MaxRangedDamage = ObjectFields.End + 0x0a2, // Size: 1, Flags: Private, Owner
|
||||
PowerCostModifier = ObjectFields.End + 0x0a3, // Size: 7, Flags: Private, Owner
|
||||
PowerCostMultiplier = ObjectFields.End + 0x0aa, // Size: 7, Flags: Private, Owner
|
||||
Maxhealthmodifier = ObjectFields.End + 0x0b1, // Size: 1, Flags: Private, Owner
|
||||
HoverHeight = ObjectFields.End + 0x0b2, // Size: 1, Flags: Public
|
||||
MinItemLevelCutoff = ObjectFields.End + 0x0b3, // Size: 1, Flags: Public
|
||||
MinItemLevel = ObjectFields.End + 0x0b4, // Size: 1, Flags: Public
|
||||
Maxitemlevel = ObjectFields.End + 0x0b5, // Size: 1, Flags: Public
|
||||
WildBattlepetLevel = ObjectFields.End + 0x0b6, // Size: 1, Flags: Public
|
||||
BattlepetCompanionNameTimestamp = ObjectFields.End + 0x0b7, // Size: 1, Flags: Public
|
||||
InteractSpellid = ObjectFields.End + 0x0b8, // Size: 1, Flags: Public
|
||||
StateSpellVisualId = ObjectFields.End + 0x0b9, // Size: 1, Flags: Dynamic, Urgent
|
||||
StateAnimId = ObjectFields.End + 0x0ba, // Size: 1, Flags: Dynamic, Urgent
|
||||
StateAnimKitId = ObjectFields.End + 0x0bb, // Size: 1, Flags: Dynamic, Urgent
|
||||
StateWorldEffectId = ObjectFields.End + 0x0bc, // Size: 4, Flags: Dynamic, Urgent
|
||||
ScaleDuration = ObjectFields.End + 0x0c0, // Size: 1, Flags: Public
|
||||
LooksLikeMountId = ObjectFields.End + 0x0c1, // Size: 1, Flags: Public
|
||||
LooksLikeCreatureId = ObjectFields.End + 0x0c2, // Size: 1, Flags: Public
|
||||
LookAtControllerId = ObjectFields.End + 0x0c3, // Size: 1, Flags: Public
|
||||
LookAtControllerTarget = ObjectFields.End + 0x0c4, // Size: 4, Flags: Public
|
||||
End = ObjectFields.End + 0x0c8,
|
||||
}
|
||||
|
||||
public enum UnitDynamicFields
|
||||
{
|
||||
PassiveSpells = 0x000, // Flags: Public, Urgent
|
||||
WorldEffects = 0x001, // Flags: Public, Urgent
|
||||
ChannelObjects = 0x002, // Flags: PUBLIC, URGENT
|
||||
End = 0x003,
|
||||
}
|
||||
|
||||
public enum PlayerFields
|
||||
{
|
||||
DuelArbiter = UnitFields.End + 0x000, // Size: 4, Flags: Public
|
||||
WowAccount = UnitFields.End + 0x004, // Size: 4, Flags: Public
|
||||
LootTargetGuid = UnitFields.End + 0x008, // Size: 4, Flags: Public
|
||||
Flags = UnitFields.End + 0x00c, // Size: 1, Flags: Public
|
||||
FlagsEx = UnitFields.End + 0x00d, // Size: 1, Flags: Public
|
||||
GuildRank = UnitFields.End + 0x00e, // Size: 1, Flags: Public
|
||||
GuildDeleteDate = UnitFields.End + 0x00f, // Size: 1, Flags: Public
|
||||
GuildLevel = UnitFields.End + 0x010, // Size: 1, Flags: Public
|
||||
Bytes = UnitFields.End + 0x011, // Size: 1, Flags: Public
|
||||
Bytes2 = UnitFields.End + 0x012, // Size: 1, Flags: Public
|
||||
Bytes3 = UnitFields.End + 0x013, // Size: 1, Flags: Public
|
||||
Bytes4 = UnitFields.End + 0x014, // Size: 1, Flags: Public
|
||||
DuelTeam = UnitFields.End + 0x015, // Size: 1, Flags: Public
|
||||
GuildTimestamp = UnitFields.End + 0x016, // Size: 1, Flags: Public
|
||||
QuestLog = UnitFields.End + 0x017, // Size: 800, Flags: PartyMember
|
||||
VisibleItem = UnitFields.End + 0x337, // Size: 38, Flags: Public
|
||||
ChosenTitle = UnitFields.End + 0x35d, // Size: 1, Flags: Public
|
||||
FakeInebriation = UnitFields.End + 0x35e, // Size: 1, Flags: Public
|
||||
VirtualRealm = UnitFields.End + 0x35f, // Size: 1, Flags: Public
|
||||
CurrentSpecId = UnitFields.End + 0x360, // Size: 1, Flags: Public
|
||||
TaxiMountAnimKitId = UnitFields.End + 0x361, // Size: 1, Flags: Public
|
||||
AvgItemLevel = UnitFields.End + 0x362, // Size: 4, Flags: Public
|
||||
CurrentBattlePetBreedQuality = UnitFields.End + 0x366, // Size: 1, Flags: Public
|
||||
Prestige = UnitFields.End + 0x367, // Size: 1, Flags: Public
|
||||
HonorLevel = UnitFields.End + 0x368, // Size: 1, Flags: Public
|
||||
InvSlotHead = UnitFields.End + 0x369, // Size: 748, Flags: Private
|
||||
EndNotSelf = UnitFields.End + 0x369,
|
||||
|
||||
Farsight = UnitFields.End + 0x655, // Size: 4, Flags: Private
|
||||
SummonedBattlePetId = UnitFields.End + 0x659, // Size: 4, Flags: Private
|
||||
KnownTitles = UnitFields.End + 0x65d, // Size: 12, Flags: Private
|
||||
Coinage = UnitFields.End + 0x669, // Size: 2, Flags: Private
|
||||
Xp = UnitFields.End + 0x66b, // Size: 1, Flags: Private
|
||||
NextLevelXp = UnitFields.End + 0x66c, // Size: 1, Flags: Private
|
||||
SkillLineId = UnitFields.End + 0x66d, // Size: 448, Flags: Private
|
||||
SkillLineStep = UnitFields.End + 0x6AD,
|
||||
SkillLineRank = UnitFields.End + 0x6ED,
|
||||
SkillLineSubStartRank = UnitFields.End + 0x72D,
|
||||
SkillLineMaxRank = UnitFields.End + 0x76D,
|
||||
SkillLineTempBonus = UnitFields.End + 0x7AD,
|
||||
SkillLinePermBonus = UnitFields.End + 0x7ED,
|
||||
CharacterPoints = UnitFields.End + 0x82d, // Size: 1, Flags: Private
|
||||
MaxTalentTiers = UnitFields.End + 0x82e, // Size: 1, Flags: Private
|
||||
TrackCreatures = UnitFields.End + 0x82f, // Size: 1, Flags: Private
|
||||
TrackResources = UnitFields.End + 0x830, // Size: 1, Flags: Private
|
||||
Expertise = UnitFields.End + 0x831, // Size: 1, Flags: Private
|
||||
OffhandExpertise = UnitFields.End + 0x832, // Size: 1, Flags: Private
|
||||
RangedExpertise = UnitFields.End + 0x833, // Size: 1, Flags: Private
|
||||
CombatRatingExpertise = UnitFields.End + 0x834, // Size: 1, Flags: Private
|
||||
BlockPercentage = UnitFields.End + 0x835, // Size: 1, Flags: Private
|
||||
DodgePercentage = UnitFields.End + 0x836, // Size: 1, Flags: Private
|
||||
DodgePercentageFromAttribute = UnitFields.End + 0x837, // Size: 1, Flags: Private
|
||||
ParryPercentage = UnitFields.End + 0x838, // Size: 1, Flags: Private
|
||||
ParryPercentageFromAttribute = UnitFields.End + 0x839, // Size: 1, Flags: Private
|
||||
CritPercentage = UnitFields.End + 0x83a, // Size: 1, Flags: Private
|
||||
RangedCritPercentage = UnitFields.End + 0x83b, // Size: 1, Flags: Private
|
||||
OffhandCritPercentage = UnitFields.End + 0x83c, // Size: 1, Flags: Private
|
||||
SpellCritPercentage1 = UnitFields.End + 0x83d, // Size: 1, Flags: Private
|
||||
ShieldBlock = UnitFields.End + 0x83e, // Size: 1, Flags: Private
|
||||
ShieldBlockCritPercentage = UnitFields.End + 0x83f, // Size: 1, Flags: Private
|
||||
Mastery = UnitFields.End + 0x840, // Size: 1, Flags: Private
|
||||
Speed = UnitFields.End + 0x841, // Size: 1, Flags: Private
|
||||
Lifesteal = UnitFields.End + 0x842, // Size: 1, Flags: Private
|
||||
Avoidance = UnitFields.End + 0x843, // Size: 1, Flags: Private
|
||||
Sturdiness = UnitFields.End + 0x844, // Size: 1, Flags: Private
|
||||
Versatility = UnitFields.End + 0x845, // Size: 1, Flags: Private
|
||||
VersatilityBonus = UnitFields.End + 0x846, // Size: 1, Flags: Private
|
||||
FieldPvpPowerDamage = UnitFields.End + 0x847, // Size: 1, Flags: Private
|
||||
FieldPvpPowerHealing = UnitFields.End + 0x848, // Size: 1, Flags: Private
|
||||
ExploredZones1 = UnitFields.End + 0x849, // Size: 256, Flags: Private
|
||||
RestInfo = UnitFields.End + 0x949, // Size: 4, Flags: Private
|
||||
ModDamageDonePos = UnitFields.End + 0x94d, // Size: 7, Flags: Private
|
||||
ModDamageDoneNeg = UnitFields.End + 0x954, // Size: 7, Flags: Private
|
||||
ModDamageDonePct = UnitFields.End + 0x95b, // Size: 7, Flags: Private
|
||||
ModHealingDonePos = UnitFields.End + 0x962, // Size: 1, Flags: Private
|
||||
ModHealingPct = UnitFields.End + 0x963, // Size: 1, Flags: Private
|
||||
ModHealingDonePct = UnitFields.End + 0x964, // Size: 1, Flags: Private
|
||||
ModPeriodicHealingDonePercent = UnitFields.End + 0x965, // Size: 1, Flags: Private
|
||||
WeaponDmgMultipliers = UnitFields.End + 0x966, // Size: 3, Flags: Private
|
||||
WeaponAtkSpeedMultipliers = UnitFields.End + 0x969, // Size: 3, Flags: Private
|
||||
ModSpellPowerPct = UnitFields.End + 0x96c, // Size: 1, Flags: Private
|
||||
ModResiliencePercent = UnitFields.End + 0x96d, // Size: 1, Flags: Private
|
||||
OverrideSpellPowerByApPct = UnitFields.End + 0x96e, // Size: 1, Flags: Private
|
||||
OverrideApBySpellPowerPercent = UnitFields.End + 0x96f, // Size: 1, Flags: Private
|
||||
ModTargetResistance = UnitFields.End + 0x970, // Size: 1, Flags: Private
|
||||
ModTargetPhysicalResistance = UnitFields.End + 0x971, // Size: 1, Flags: Private
|
||||
LocalFlags = UnitFields.End + 0x972, // Size: 1, Flags: Private
|
||||
FieldBytes = UnitFields.End + 0x973, // Size: 1, Flags: Private
|
||||
SelfResSpell = UnitFields.End + 0x974, // Size: 1, Flags: Private
|
||||
PvpMedals = UnitFields.End + 0x975, // Size: 1, Flags: Private
|
||||
BuyBackPrice1 = UnitFields.End + 0x976, // Size: 12, Flags: Private
|
||||
BuyBackTimestamp1 = UnitFields.End + 0x982, // Size: 12, Flags: Private
|
||||
Kills = UnitFields.End + 0x98e, // Size: 1, Flags: Private
|
||||
LifetimeHonorableKills = UnitFields.End + 0x98f, // Size: 1, Flags: Private
|
||||
WatchedFactionIndex = UnitFields.End + 0x990, // Size: 1, Flags: Private
|
||||
CombatRating1 = UnitFields.End + 0x991, // Size: 32, Flags: Private
|
||||
ArenaTeamInfo11 = UnitFields.End + 0x9b1, // Size: 42, Flags: Private
|
||||
MaxLevel = UnitFields.End + 0x9db, // Size: 1, Flags: Private
|
||||
ScalingLevelDelta = UnitFields.End + 0x9dc, // Size: 1, Flags: Private
|
||||
MaxCreatureScalingLevel = UnitFields.End + 0x9dd, // Size: 1, Flags: Private
|
||||
NoReagentCost1 = UnitFields.End + 0x9de, // Size: 4, Flags: Private
|
||||
PetSpellPower = UnitFields.End + 0x9e2, // Size: 1, Flags: Private
|
||||
Researching1 = UnitFields.End + 0x9e3, // Size: 10, Flags: Private
|
||||
ProfessionSkillLine1 = UnitFields.End + 0x9ed, // Size: 2, Flags: Private
|
||||
UiHitModifier = UnitFields.End + 0x9ef, // Size: 1, Flags: Private
|
||||
UiSpellHitModifier = UnitFields.End + 0x9f0, // Size: 1, Flags: Private
|
||||
HomeRealmTimeOffset = UnitFields.End + 0x9f1, // Size: 1, Flags: Private
|
||||
ModPetHaste = UnitFields.End + 0x9f2, // Size: 1, Flags: Private
|
||||
FieldBytes2 = UnitFields.End + 0x9f3, // Size: 1, Flags: Private
|
||||
FieldBytes3 = UnitFields.End + 0x9f4, // Size: 1, Flags: Private, UrgentSelfOnly
|
||||
LfgBonusFactionId = UnitFields.End + 0x9f5, // Size: 1, Flags: Private
|
||||
LootSpecId = UnitFields.End + 0x9f6, // Size: 1, Flags: Private
|
||||
OverrideZonePvpType = UnitFields.End + 0x9f7, // Size: 1, Flags: Private, UrgentSelfOnly
|
||||
BagSlotFlags = UnitFields.End + 0x9f8, // Size: 4, Flags: Private
|
||||
BankBagSlotFlags = UnitFields.End + 0x9fc, // Size: 7, Flags: Private
|
||||
InsertItemsLeftToRight = UnitFields.End + 0xa03, // Size: 1, Flags: Private
|
||||
QuestCompleted = UnitFields.End + 0xa04, // Size: 1750, Flags: Private
|
||||
Honor = UnitFields.End + 0x10DA, // Size: 1, Flags: Private
|
||||
HonorNextLevel = UnitFields.End + 0x10DB, // Size: 1, Flags: Private
|
||||
End = UnitFields.End + 0x10DC,
|
||||
}
|
||||
|
||||
public enum PlayerDynamicFields
|
||||
{
|
||||
ReserachSite = UnitDynamicFields.End + 0x000, // Flags: Private
|
||||
ResearchSiteProgress = UnitDynamicFields.End + 0x001, // Flags: Private
|
||||
DailyQuests = UnitDynamicFields.End + 0x002, // Flags: Private
|
||||
AvailableQuestLineXQuestId = UnitDynamicFields.End + 0x003, // Flags: Private
|
||||
Heirlooms = UnitDynamicFields.End + 0x004, // Flags: Private
|
||||
HeirloomsFlags = UnitDynamicFields.End + 0x005, // Flags: PRIVATE
|
||||
Toys = UnitDynamicFields.End + 0x006, // Flags: Private
|
||||
Transmog = UnitDynamicFields.End + 0x007, // Flags: PRIVATE
|
||||
ConditionalTransmog = UnitDynamicFields.End + 0x008, // Flags: PRIVATE
|
||||
CharacterRestrictions = UnitDynamicFields.End + 0x009, // Flags: PRIVATE
|
||||
SpellPctModByLabel = UnitDynamicFields.End + 0x00A, // Flags: PRIVATE
|
||||
SpellFlatModByLabel = UnitDynamicFields.End + 0x00B, // Flags: PRIVATE
|
||||
ArenaCooldowns = UnitDynamicFields.End + 0x00C, // Flags: PUBLIC
|
||||
End = UnitDynamicFields.End + 0x00D,
|
||||
}
|
||||
|
||||
public enum GameObjectFields
|
||||
{
|
||||
CreatedBy = ObjectFields.End + 0x000, // Size: 4, Flags: Public
|
||||
DisplayId = ObjectFields.End + 0x004, // Size: 1, Flags: Dynamic, Urgent
|
||||
Flags = ObjectFields.End + 0x005, // Size: 1, Flags: Public, Urgent
|
||||
ParentRotation = ObjectFields.End + 0x006, // Size: 4, Flags: Public
|
||||
Faction = ObjectFields.End + 0x00a, // Size: 1, Flags: Public
|
||||
Level = ObjectFields.End + 0x00b, // Size: 1, Flags: Public
|
||||
Bytes1 = ObjectFields.End + 0x00c, // Size: 1, Flags: Public, Urgent
|
||||
SpellVisualId = ObjectFields.End + 0x00d, // Size: 1, Flags: Public, Dynamic, Urgent
|
||||
StateSpellVisualId = ObjectFields.End + 0x00e, // Size: 1, Flags: Dynamic, Urgent
|
||||
StateAnumId = ObjectFields.End + 0x00f, // Size: 1, Flags: Dynamic, Urgent
|
||||
StateAnimKitId = ObjectFields.End + 0x010, // Size: 1, Flags: Dynamic, Urgent
|
||||
StateWorldEffectId = ObjectFields.End + 0x011, // Size: 4, Flags: Dynamic, Urgent
|
||||
End = ObjectFields.End + 0x015,
|
||||
}
|
||||
|
||||
public enum GameObjectDynamicFields
|
||||
{
|
||||
EnableDoodadSets = 0x000, // Flags: PUBLIC
|
||||
End = 0x001,
|
||||
}
|
||||
|
||||
public enum DynamicObjectFields
|
||||
{
|
||||
Caster = ObjectFields.End + 0x000, // Size: 4, Flags: Public
|
||||
Type = ObjectFields.End + 0x004, // Size: 1, Flags: Public
|
||||
SpellXSpellVisualId = ObjectFields.End + 0x005, // Size: 1, Flags: Public
|
||||
SpellId = ObjectFields.End + 0x006, // Size: 1, Flags: Public
|
||||
Radius = ObjectFields.End + 0x007, // Size: 1, Flags: Public
|
||||
CastTime = ObjectFields.End + 0x008, // Size: 1, Flags: Public
|
||||
End = ObjectFields.End + 0x009,
|
||||
}
|
||||
|
||||
public enum CorpseFields
|
||||
{
|
||||
Owner = ObjectFields.End + 0x000, // Size: 4, Flags: Public
|
||||
Party = ObjectFields.End + 0x004, // Size: 4, Flags: Public
|
||||
DisplayId = ObjectFields.End + 0x008, // Size: 1, Flags: Public
|
||||
Item = ObjectFields.End + 0x009, // Size: 19, Flags: Public
|
||||
Bytes1 = ObjectFields.End + 0x01c, // Size: 1, Flags: Public
|
||||
Bytes2 = ObjectFields.End + 0x01d, // Size: 1, Flags: Public
|
||||
Flags = ObjectFields.End + 0x01e, // Size: 1, Flags: Public
|
||||
DynamicFlags = ObjectFields.End + 0x01f, // Size: 1, Flags: Dynamic
|
||||
FactionTemplate = ObjectFields.End + 0x020, // Size: 1, Flags: Public
|
||||
CustomDisplayOption = ObjectFields.End + 0x021, // Size: 1, Flags: PUBLIC
|
||||
End = ObjectFields.End + 0x022,
|
||||
}
|
||||
|
||||
public enum AreaTriggerFields
|
||||
{
|
||||
OverrideScaleCurve = ObjectFields.End + 0x000, // Size: 7, Flags: Public, Urgent
|
||||
ExtraScaleCurve = ObjectFields.End + 0x007, // Size: 7, Flags: Public, Urgent
|
||||
Caster = ObjectFields.End + 0x00e, // Size: 4, Flags: Public
|
||||
Duration = ObjectFields.End + 0x012, // Size: 1, Flags: Public
|
||||
TimeToTarget = ObjectFields.End + 0x013, // Size: 1, Flags: Public, Urgent
|
||||
TimeToTargetScale = ObjectFields.End + 0x014, // Size: 1, Flags: Public, Urgent
|
||||
TimeToTargetExtraScale = ObjectFields.End + 0x015, // Size: 1, Flags: Public, Urgent
|
||||
SpellId = ObjectFields.End + 0x016, // Size: 1, Flags: Public
|
||||
SpellForVisuals = ObjectFields.End + 0x017, // Size: 1, Flags: PUBLIC
|
||||
SpellXSpellVisualId = ObjectFields.End + 0x018, // Size: 1, Flags: Dynamic
|
||||
BoundsRadius2d = ObjectFields.End + 0x019, // Size: 1, Flags: Dynamic, Urgent
|
||||
DecalPropertiesId = ObjectFields.End + 0x01A, // Size: 1, Flags: Public
|
||||
CreatingEffectGuid = ObjectFields.End + 0x01B, // Size: 4, Flags: PUBLIC
|
||||
End = ObjectFields.End + 0x01F,
|
||||
}
|
||||
|
||||
public enum SceneObjectFields
|
||||
{
|
||||
ScriptPackageId = ObjectFields.End + 0x000, // Size: 1, Flags: Public
|
||||
RndSeedVal = ObjectFields.End + 0x001, // Size: 1, Flags: Public
|
||||
Createdby = ObjectFields.End + 0x002, // Size: 4, Flags: Public
|
||||
SceneType = ObjectFields.End + 0x006, // Size: 1, Flags: Public
|
||||
End = ObjectFields.End + 0x007,
|
||||
}
|
||||
|
||||
public enum ConversationFields
|
||||
{
|
||||
LastLineEndTime = ObjectFields.End + 0x000, // Size: 1, Flags: DYNAMIC
|
||||
End = ObjectFields.End + 0x001,
|
||||
}
|
||||
|
||||
public enum ConversationDynamicFields
|
||||
{
|
||||
Actors = 0x000, // Flags: Public
|
||||
Lines = 0x001, // Flags: 0x100
|
||||
End = 0x002,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
[Flags]
|
||||
public enum UpdateFlag
|
||||
{
|
||||
None = 0x0,
|
||||
Self = 0x1,
|
||||
Transport = 0x2,
|
||||
HasTarget = 0x4,
|
||||
Living = 0x8,
|
||||
StationaryPosition = 0x10,
|
||||
Vehicle = 0x20,
|
||||
TransportPosition = 0x40,
|
||||
Rotation = 0x80,
|
||||
AnimKits = 0x100,
|
||||
Areatrigger = 0x0200,
|
||||
//UPDATEFLAG_GAMEOBJECT = 0x0400,
|
||||
//UPDATEFLAG_REPLACE_ACTIVE = 0x0800,
|
||||
//UPDATEFLAG_NO_BIRTH_ANIM = 0x1000,
|
||||
//UPDATEFLAG_ENABLE_PORTALS = 0x2000,
|
||||
//UPDATEFLAG_PLAY_HOVER_ANIM = 0x4000,
|
||||
//UPDATEFLAG_IS_SUPPRESSING_GREETINGS = 0x8000
|
||||
//UPDATEFLAG_SCENEOBJECT = 0x10000,
|
||||
//UPDATEFLAG_SCENE_PENDING_INSTANCE = 0x20000
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum UpdateType
|
||||
{
|
||||
Values = 0,
|
||||
CreateObject = 1,
|
||||
CreateObject2 = 2,
|
||||
OutOfRangeObjects = 3,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum VehiclePowerType
|
||||
{
|
||||
Steam = 61,
|
||||
Pyrite = 41,
|
||||
Heat = 101,
|
||||
Ooze = 121,
|
||||
Blood = 141,
|
||||
Wrath = 142,
|
||||
ArcaneEnergy = 143,
|
||||
LifeEnergy = 144,
|
||||
SunEnergy = 145,
|
||||
SwingVelocity = 146,
|
||||
ShadowflameEnergy = 147,
|
||||
BluePower = 148,
|
||||
PurplePower = 149,
|
||||
GreenPower = 150,
|
||||
OrangePower = 151,
|
||||
Energy2 = 153,
|
||||
Arcaneenergy = 161,
|
||||
Wind1 = 162,
|
||||
Wind2 = 163,
|
||||
Wind3 = 164,
|
||||
Fuel = 165,
|
||||
SunPower = 166,
|
||||
TwilightEnergy = 169,
|
||||
Venom = 174,
|
||||
Orange2 = 176,
|
||||
ConsumingFlame = 177,
|
||||
PyroclasticFrenzy = 178,
|
||||
Flashfire = 179,
|
||||
}
|
||||
|
||||
public enum VehicleFlags
|
||||
{
|
||||
NoStrafe = 0x01, // Sets Moveflag2NoStrafe
|
||||
NoJumping = 0x02, // Sets Moveflag2NoJumping
|
||||
Fullspeedturning = 0x04, // Sets Moveflag2Fullspeedturning
|
||||
AllowPitching = 0x10, // Sets Moveflag2AllowPitching
|
||||
Fullspeedpitching = 0x20, // Sets Moveflag2Fullspeedpitching
|
||||
CustomPitch = 0x40, // If Set Use Pitchmin And Pitchmax From Dbc, Otherwise Pitchmin = -Pi/2, Pitchmax = Pi/2
|
||||
AdjustAimAngle = 0x400, // LuaIsvehicleaimangleadjustable
|
||||
AdjustAimPower = 0x800, // LuaIsvehicleaimpoweradjustable
|
||||
FixedPosition = 0x200000 // Used for cannons, when they should be rooted
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user