f38ad4607e
Port From (https://github.com/TrinityCore/TrinityCore/commit/e59eef5432c7b70679d33f4911c88d0f7d75fd39)
625 lines
24 KiB
C#
625 lines
24 KiB
C#
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved.
|
|
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
|
|
|
|
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)
|
|
IncreaseReputation = 18,// requires the player to gain X reputation with a faction
|
|
AreaTriggerEnter = 19,
|
|
AreaTriggerExit = 20,
|
|
KillWithLabel = 21,
|
|
Max
|
|
}
|
|
|
|
[Flags]
|
|
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
|
|
HideCreditMsg = 0x10, // Skip Showing Item Objective Progress
|
|
PreserveQuestItems = 0x20,
|
|
PartOfProgressBar = 0x40, // Hidden Objective Used To Calculate Progress Bar Percent (Quests Are Limited To A Single Progress Bar Objective)
|
|
KillPlayersSameFaction = 0x80,
|
|
NoShareProgress = 0x0100,
|
|
IgnoreSoulboundItems = 0x0200,
|
|
}
|
|
|
|
[Flags]
|
|
public enum QuestObjectiveFlags2
|
|
{
|
|
QuestBoundItem = 0x1 // Item is bound to a single objective, only increments the counter for one quest if multiple require the same item and is not stored in inventory
|
|
}
|
|
|
|
public enum QuestCompleteSpellType
|
|
{
|
|
LegacyBehavior = 0,
|
|
Follower = 1,
|
|
Tradeskill = 2,
|
|
Ability = 3,
|
|
Aura = 4,
|
|
Spell = 5,
|
|
Unlock = 6,
|
|
Companion = 7,
|
|
Max
|
|
}
|
|
|
|
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 = 0x00,
|
|
Complete = 0x1,
|
|
Fail = 0x2
|
|
}
|
|
|
|
public enum QuestType
|
|
{
|
|
TurnIn = 0,
|
|
WithMaxLevel = 1,
|
|
Normal = 2,
|
|
Task = 3,
|
|
MaxDBAllowedQuestTypes = 4,
|
|
|
|
// values used in quest menu packets
|
|
InProgress = 4,
|
|
TaskInProgress = 5
|
|
}
|
|
|
|
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,
|
|
Artifact = 107,
|
|
WorldQuest = 109,
|
|
EpicWorldQuest = 110,
|
|
EliteWorldQuest = 111,
|
|
EpicEliteWorldQuest = 112,
|
|
PvpWorldQuest = 113,
|
|
FirstAidWorldQuest = 114,
|
|
BattlePetWorldQuest = 115,
|
|
BlacksmithingWorldQuest = 116,
|
|
LeatherworkingWorldQuest = 117,
|
|
AlchemyWorldQuest = 118,
|
|
HerbalismWorldQuest = 119,
|
|
MiningWorldQuest = 120,
|
|
TailoringWorldQuest = 121,
|
|
EngineeringWorldQuest = 122,
|
|
EnchantingWorldQuest = 123,
|
|
SkinningWorldQuest = 124,
|
|
JewelcraftingWorldQuest = 125,
|
|
InscriptionWorldQuest = 126,
|
|
EmissaryQuest = 128,
|
|
ArcheologyWorldQuest = 129,
|
|
FishingWorldQuest = 130,
|
|
CookingWorldQuest = 131,
|
|
RareWorldQuest = 135,
|
|
RareEliteWorldQuest = 136,
|
|
DungeonWorldQuest = 137,
|
|
LegionInvasionWorldQuest = 139,
|
|
RatedReward = 140,
|
|
RaidWorldQuest = 141,
|
|
LegionInvasionEliteWorldQuest = 142,
|
|
LegionfallContribution = 143,
|
|
LegionfallWorldQuest = 144,
|
|
LegionfallDungeonWorldQuest = 145,
|
|
LegionInvasionWorldQuestWrapper = 146,
|
|
WarfrontBarrens = 147,
|
|
Pickpocketing = 148,
|
|
MagniWorldQuestAzerite = 151,
|
|
TortollanWorldQuest = 152,
|
|
WarfrontContribution = 153,
|
|
IslandQuest = 254,
|
|
WarMode = 255,
|
|
PvpConquest = 256,
|
|
FactionAssaultWorldQuest = 259,
|
|
FactionAssaultEliteWorldQuest = 260,
|
|
IslandWeeklyQuest = 261,
|
|
PublicQuest = 263,
|
|
ThreatObjective = 264,
|
|
HiddenQuest = 265,
|
|
CombatAllyQuest = 266,
|
|
Professions = 267,
|
|
ThreatWrapper = 268,
|
|
ThreatEmissaryQuest = 270,
|
|
CallingQuest = 271,
|
|
VenthyrPartyQuest = 272,
|
|
MawSoulSpawnTracker = 273
|
|
}
|
|
|
|
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,
|
|
Artifact = 406,
|
|
DemonHunter = 407,
|
|
Mining = 408,
|
|
WeekendEvent = 409,
|
|
Enchanting = 410,
|
|
Skinning = 411,
|
|
WorldQuest = 412,
|
|
DeathKnightCampaign = 413,
|
|
DemonHunterCampaign = 416,
|
|
DruidCampaign = 417,
|
|
HunterCampaign = 418,
|
|
MonkCampaign = 419,
|
|
MageCampaign = 420,
|
|
PriestCampaign = 421,
|
|
PaladinCampaign = 422,
|
|
ShamanCampaign = 423,
|
|
RogueCampaign = 424,
|
|
WarlockCampaign = 425,
|
|
WarriorCampaign = 426,
|
|
OrderHall = 427,
|
|
LegionfallCampaign = 428,
|
|
TheHuntForIllidanStormrage = 429,
|
|
PiratesDay = 430,
|
|
ArgusExpedition = 431,
|
|
Warfronts = 432,
|
|
MoonkinFestival = 433,
|
|
TheKingsPath = 434,
|
|
TheDeathsOfChromie = 435,
|
|
RocketChicken = 436,
|
|
LightforgedDraenei = 437,
|
|
HighmountainTauren = 438,
|
|
VoidElf = 439,
|
|
Nightborne = 440,
|
|
Dungeon = 441,
|
|
Raid = 442,
|
|
AlliedRaces = 444,
|
|
TheWarchiefsAgenda = 445,
|
|
AdventureJourney = 446,
|
|
AllianceWarCampaign = 447,
|
|
HordeWarCampaign = 448,
|
|
DarkIronDwarf = 449,
|
|
MagharOrc = 450,
|
|
TheShadowHunter = 451,
|
|
IslandExpeditions = 453,
|
|
WorldPvp = 555,
|
|
ThePrideOfKulTiras = 556,
|
|
RatedPvp = 557,
|
|
ZandalariTroll = 559,
|
|
Heritage = 560,
|
|
Questfall = 561,
|
|
TyrandesVengeance = 562,
|
|
TheFateOfSaurfang = 563,
|
|
FreeTshirtDay = 564,
|
|
CrucibleOfStorms = 565,
|
|
KulTiran = 566,
|
|
Assault = 567,
|
|
HeartOfAzeroth = 569,
|
|
Professions = 571,
|
|
NazjatarFollowers = 573,
|
|
Sinfall = 574,
|
|
KorraksRevenge = 575,
|
|
CovenantSanctum = 576,
|
|
ReferAFriend = 579,
|
|
VisionsOfNzoth = 580,
|
|
Vulpera = 582,
|
|
Mechagnome = 583,
|
|
BlackEmpireCampaign = 584,
|
|
EmberCourt = 586,
|
|
ThroughTheShatteredSky = 587,
|
|
DeathRising = 588,
|
|
KyrianCallings = 589,
|
|
NightFaeCallings = 590,
|
|
NecrolordCallings = 591,
|
|
VenthyrCallings = 592,
|
|
AbominableStitching = 593,
|
|
TimewalkingCampaign = 594,
|
|
PathOfAscension = 595,
|
|
LegendaryCrafting = 596,
|
|
Campaign91 = 600,
|
|
CyphersOfTheFirstOnes = 601,
|
|
ZerethMortisCampaign = 602,
|
|
TheArchivistsCodex = 603,
|
|
CovenantAssaults = 604,
|
|
ProtoformSynthesis = 606,
|
|
Ch6SymbolTracking = 607,
|
|
}
|
|
|
|
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, // "Sharing quest with %s..."
|
|
Invalid = 1, // "%s is not eligible for that quest"
|
|
InvalidToRecipient = 2, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest."
|
|
Accepted = 3, // "%s has accepted your quest"
|
|
Declined = 4, // "%s has declined your quest"
|
|
Busy = 5, // "%s is busy"
|
|
Dead = 6, // "%s is dead."
|
|
DeadToRecipient = 7, // "%s's attempt to share quest "%s" failed. You are dead."
|
|
LogFull = 8, // "%s's quest log is full"
|
|
LogFullToRecipient = 9, // "%s's attempt to share quest "%s" failed. Your quest log is full."
|
|
OnQuest = 10, // "%s is already on that quest"
|
|
OnQuestToRecipient = 11, // "%s's attempt to share quest "%s" failed. You are already on that quest."
|
|
AlreadyDone = 12, // "%s has completed that quest"
|
|
AlreadyDoneToRecipient = 13, // "%s's attempt to share quest "%s" failed. You have completed that quest."
|
|
NotDaily = 14, // "That quest cannot be shared today"
|
|
TimerExpired = 15, // "Quest sharing timer has expired"
|
|
NotInParty = 16, // "You are not in a party"
|
|
DifferentServerDaily = 17, // "%s is not eligible for that quest today"
|
|
DifferentServerDailyToRecipient = 18, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest today."
|
|
NotAllowed = 19, // "That quest cannot be shared"
|
|
Prerequisite = 20, // "%s hasn't completed all of the prerequisite quests required for that quest."
|
|
PrerequisiteToRecipient = 21, // "%s's attempt to share quest "%s" failed. You must complete all of the prerequisite quests first."
|
|
LowLevel = 22, // "%s is too low level for that quest."
|
|
LowLevelToRecipient = 23, // "%s's attempt to share quest "%s" failed. You are too low level for that quest."
|
|
HighLevel = 24, // "%s is too high level for that quest."
|
|
HighLevelToRecipient = 25, // "%s's attempt to share quest "%s" failed. You are too high level for that quest."
|
|
Class = 26, // "%s is the wrong class for that quest."
|
|
ClassToRecipient = 27, // "%s's attempt to share quest "%s" failed. You are the wrong class for that quest."
|
|
Race = 28, // "%s is the wrong race for that quest."
|
|
RaceToRecipient = 29, // "%s's attempt to share quest "%s" failed. You are the wrong race for that quest."
|
|
LowFaction = 30, // "%s's reputation is too low for that quest."
|
|
LowFactionToRecipient = 31, // "%s's attempt to share quest "%s" failed. Your reputation is too low for that quest."
|
|
HighFaction = 32, // "%s's reputation is too high for that quest."
|
|
HighFactionToRecipient = 33, // "%s's attempt to share quest "%s" failed. Your reputation is too high for that quest."
|
|
Expansion = 34, // "%s doesn't own the required expansion for that quest."
|
|
ExpansionToRecipient = 35, // "%s's attempt to share quest "%s" failed. You do not own the required expansion for that quest."
|
|
NotGarrisonOwner = 36, // "%s must own a garrison to accept that quest."
|
|
NotGarrisonOwnerToRecipient = 37, // "%s's attempt to share quest "%s" failed. You must own a garrison to accept that quest."
|
|
WrongCovenant = 38, // "%s is in the wrong covenant for that quest."
|
|
WrongCovenantToRecipient = 39, // "%s's attempt to share quest "%s" failed. You are in the wrong covenant for that quest."
|
|
NewPlayerExperience = 40, // "%s must complete Exile's Reach to accept that quest."
|
|
NewPlayerExperienceToRecipient = 41, // "%s's attempt to share quest "%s" failed. You must complete Exile's Reach to accept that quest."
|
|
WrongFaction = 42, // "%s is the wrong faction for that quest."
|
|
WrongFactionToRecipient = 43, // "%s's attempt to share quest "%s" failed. You are the wrong faction for that quest."
|
|
CrossFactionRestricted = 44, // "Quests can't be shared in cross-faction groups."
|
|
}
|
|
|
|
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 : ulong
|
|
{
|
|
None = 0x000000000000,
|
|
Future = 0x000000000002,
|
|
FutureJourneyQuest = 0x000000000004,
|
|
FutureLegendaryQuest = 0x000000000008,
|
|
FutureImportantQuest = 0x000000000010,
|
|
TrivialRepeatableTurnin = 0x000000000020,
|
|
Trivial = 0x000000000040,
|
|
TrivialDailyQuest = 0x000000000080,
|
|
TrivialRepeatableQuest = 0x000000000100,
|
|
TrivialMetaQuest = 0x000000000200,
|
|
TrivialJourneyQuest = 0x000000000400,
|
|
TrivialLegendaryQuest = 0x000000000800,
|
|
TrivialImportantQuest = 0x000000001000,
|
|
Reward = 0x000000002000,
|
|
RepeatableReward = 0x000000004000,
|
|
MetaReward = 0x000000008000,
|
|
JourneyReward = 0x000000010000,
|
|
CovenantCallingReward = 0x000000020000,
|
|
LegendaryReward = 0x000000040000,
|
|
ImportantReward = 0x000000080000,
|
|
RepeatableTurnin = 0x000000100000,
|
|
QuestAccountCompleted = 0x000000200000,
|
|
Quest = 0x000000400000,
|
|
DailyQuest = 0x000000800000,
|
|
RepeatableQuest = 0x000001000000,
|
|
MetaQuest = 0x000002000000,
|
|
CovenantCallingQuest = 0x000004000000,
|
|
JourneyQuestAccountCompleted = 0x000008000000,
|
|
JourneyQuest = 0x000010000000,
|
|
LegendaryQuestAccountCompleted = 0x000020000000,
|
|
LegendaryQuest = 0x000040000000,
|
|
ImportantQuestAccountCompleted = 0x000080000000,
|
|
ImportantQuest = 0x000100000000,
|
|
RewardCompleteNoPOI = 0x000200000000,
|
|
RewardCompletePOI = 0x000400000000,
|
|
RepeatableRewardCompleteNoPOI = 0x000800000000,
|
|
RepeatableRewardCompletePOI = 0x001000000000,
|
|
MetaQuestRewardCompleteNoPOI = 0x002000000000,
|
|
MetaQuestRewardCompletePOI = 0x004000000000,
|
|
CovenantCallingRewardCompleteNoPOI = 0x008000000000,
|
|
CovenantCallingRewardCompletePOI = 0x010000000000,
|
|
JourneyRewardCompleteNoPOI = 0x020000000000,
|
|
JourneyRewardCompletePOI = 0x040000000000,
|
|
LegendaryRewardCompleteNoPOI = 0x080000000000,
|
|
LegendaryRewardCompletePOI = 0x100000000000,
|
|
ImportantQuestRewardCompleteNoPOI = 0x200000000000,
|
|
ImportantQuestRewardCompletePOI = 0x400000000000,
|
|
}
|
|
|
|
[Flags]
|
|
public enum QuestFlags : uint
|
|
{
|
|
None = 0x00,
|
|
CompletionNoDeath = 0x01,
|
|
CompletionEvent = 0x02,
|
|
CompletionAreaTrigger = 0x04,
|
|
Sharable = 0x08, // Can Be Shared: Player.Cansharequest()
|
|
HasCondition = 0x10, // Not Used Currently
|
|
HideRewardPoi = 0x20, // Hides questgiver turn-in minimap icon
|
|
RaidGroupOk = 0x40, // Can be completed while in raid
|
|
WarModeRewardsOptIn = 0x80, // Not Used Currently
|
|
NoMoneyForXp = 0x100, // Experience is not converted to gold at max level
|
|
HideReward = 0x200, // Items and money rewarded only sent in SMSG_QUESTGIVER_OFFER_REWARD (not in SMSG_QUEST_GIVER_QUEST_DETAILS or in client quest log(SMSG_QUEST_QUERY_RESPONSE))
|
|
TrackingEvent = 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
|
|
Deprecated = 0x4000, // Used on quests that are not generally 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
|
|
DisableCompletionText = 0x40000, // Use Objective Text As Complete Text
|
|
AutoAccept = 0x80000, // The client recognizes this flag as auto-accept.
|
|
PlayerCastAccept = 0x100000, // Accept Spell Player Cast
|
|
PlayerCastComplete = 0x200000, // Complete Spell Player Cast
|
|
UpdatePhaseshift = 0x400000, // Update Phase Shift
|
|
SorWhitelist = 0x800000, // Scroll of Resurrection Whitelist
|
|
LaunchGossipComplete = 0x1000000, // Gossip on Quest Completion - Force Gossip
|
|
RemoveSurplusItems = 0x2000000, // Remove all items from inventory that have the same id as the objective, not just the amount required by quest
|
|
WellKnown = 0x04000000, // Well-Known
|
|
PortraitInQuestLog = 0x8000000, // Portrait from Log
|
|
ShowItemWhenCompleted = 0x10000000, // Show Item When Completed
|
|
LaunchGossipAccept = 0x20000000, // Gossip on Quest Accept - Force Gossip
|
|
ItemsGlowWhenComplete = 0x40000000, // Items Glow When Done
|
|
FailOnLogout = 0x80000000 // Fail on Logout
|
|
}
|
|
|
|
[Flags]
|
|
public enum QuestFlagsEx : uint
|
|
{
|
|
None = 0x00,
|
|
NoItemRemoval = 0x01, // Keep Additional Items
|
|
SuppressGossipComplete = 0x02, // Gossip On Quest Completion - Suppress Gossip
|
|
SuppressGossipAccept = 0x04, // Gossip On Quest Accept - Suppress Gossip
|
|
DenyPlayerQuestgiver = 0x08, // Disallow Player As Questgiver (Advanced)
|
|
DisplayClassChoiceRewards = 0x10, // Choice Reward Filter - Matches Class
|
|
DisplaySpecChoiceRewards = 0x20, // Choice Reward Filter - Matches Spec
|
|
RemoveOnPeriodicReset = 0x40, // Remove From Log On Periodic Reset
|
|
Account = 0x80, // Account-Level Quest
|
|
Legendary = 0x100, // Legendary Quest
|
|
NoGuildXp = 0x200, // No Guild Xp
|
|
ResetCacheOnAccept = 0x400, // Reset Cache On Accept (Internal)
|
|
NoAbandonOnceBegun = 0x800, // No Abandon Once Any Objective Complete
|
|
RecastAcceptSpellOnLogin = 0x1000, // Recast Accept Spell On Login
|
|
UpdateZoneAuras = 0x2000, // Update Zone Auras
|
|
NoCreditForProxy = 0x4000, // No Credit For Proxy Creatures
|
|
DisplayAsDaily = 0x8000, // Display As Daily Quest
|
|
DisplayQuestLine = 0x10000,
|
|
InternalBuildsOnly = 0x20000, // Quest For Internal Builds Only
|
|
SuppressSpellLearnText = 0x40000, // Suppress Spell Learn Text Line (For Followers)
|
|
DisplayAsObjective = 0x80000, // Display Header As Objective For Tasks
|
|
AllowAllInGarrison = 0x100000, // Garrison Non-Owners Allowed
|
|
RemoveOnWeeklyReset = 0x200000, // Remove Quest On Weekly Reset
|
|
SuppressGreetingsOnAccept = 0x400000, // Suppress Farewell Audio After Quest Accept
|
|
RewardsIgnoreCaps = 0x800000, // Rewards Bypass Weekly Caps And Season Total
|
|
IsWorldQuest = 0x1000000, // Is A World Quest
|
|
NotIgnorable = 0x2000000, // Not Ignorable
|
|
AutoPush = 0x4000000, // Auto Push
|
|
NoSpellCompleteEffects = 0x8000000, // No Complete Quest Spell Effect
|
|
DoNotToastHonorReward = 0x10000000, // Do Not Toast Honor Reward
|
|
KeepRepeatableQuestOnFactionChange = 0x20000000, // Keep Repeatable Quest On Faction Change
|
|
KeepProgressOnFactionChange = 0x40000000, // Keep Quest Progress On Faction Change
|
|
PushTeamQuestUsingMapController = 0x80000000
|
|
}
|
|
|
|
public enum QuestFlagsEx2
|
|
{
|
|
ResetOnGameMilestone = 0x01,
|
|
WarModeRewardsOptOut = 0x02,
|
|
AwardHighestProfession = 0x04,
|
|
NotReplayable = 0x08,
|
|
NoReplayRewards = 0x10,
|
|
DisableWaypointPathing = 0x20,
|
|
ResetOnMythicPlusSeason = 0x40,
|
|
ResetOnPvpSeason = 0x80,
|
|
EnableOverrideSortOrder = 0x100,
|
|
ForceStartingLocOnZoneMap = 0x200,
|
|
BonusLootNever = 0x400,
|
|
BonusLootAlways = 0x800,
|
|
HideTaskOnMainMap = 0x1000,
|
|
HideTaskInTracker = 0x2000,
|
|
SkipDisabledCheck = 0x4000,
|
|
EnforceMaximumQuestLevel = 0x8000,
|
|
ContentAlert = 0x10000,
|
|
DisplayTimeRemaining = 0x20000,
|
|
ClearTaskProgressWhenAbandoned = 0x40000,
|
|
SuppressGreetingsOnComplete = 0x80000,
|
|
HideRequiredItemsOnTurnIn = 0x100000,
|
|
IgnoreSoulboundItems = 0x00200000,
|
|
DontDeferStartEffects = 0x00400000,
|
|
HideRequiredItemsPreTurnIn = 0x00800000,
|
|
|
|
AbandonOnDisable = 0x04000000,
|
|
}
|
|
|
|
public enum QuestSpecialFlags
|
|
{
|
|
None = 0x00,
|
|
// Flags For Set Specialflags In Db If Required But Used Only At Server
|
|
Repeatable = 0x01, // Set by 1 in SpecialFlags from DB
|
|
AutoPushToParty = 0x02, // Set by 2 in SpecialFlags from DB will make quest be pushed to entire party when one member accepts it
|
|
AutoAccept = 0x04, // Set by 4 in SpecialFlags in DB if the quest is to be auto-accepted.
|
|
DfQuest = 0x08, // Set by 8 in SpecialFlags in DB if the quest is used by Dungeon Finder.
|
|
Monthly = 0x010, // Set by 16 in SpecialFlags in DB if the quest is reset at the begining of the month
|
|
// Room For More Custom Flags
|
|
|
|
DbAllowed = Repeatable | AutoPushToParty | AutoAccept | DfQuest | Monthly,
|
|
|
|
SequencedObjectives = 0x20 // Internal flag computed only
|
|
}
|
|
|
|
public enum QuestSaveType
|
|
{
|
|
Default = 0,
|
|
Delete,
|
|
ForceDelete
|
|
}
|
|
|
|
public enum QuestTagType
|
|
{
|
|
Tag,
|
|
Profession,
|
|
Normal,
|
|
Pvp,
|
|
PetBattle,
|
|
Bounty,
|
|
Dungeon,
|
|
Invasion,
|
|
Raid,
|
|
Contribution,
|
|
RatedRreward,
|
|
InvasionWrapper,
|
|
FactionAssault,
|
|
Islands,
|
|
Threat,
|
|
CovenantCalling
|
|
}
|
|
|
|
public enum QuestRewardContextFlags
|
|
{
|
|
None = 0x0,
|
|
FirstCompletionBonus = 0x1,
|
|
RepeatCompletionBonus = 0x2
|
|
}
|
|
}
|