// Copyright (c) CypherCore All rights reserved. // Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information. namespace Framework.Constants { public struct GarrisonFactionIndex { public const uint Horde = 0; public const uint Alliance = 1; } public enum GarrisonBuildingFlags : int { NeedsPlan = 0x1 } enum GarrisonFollowerFlags { Unique = 0x1 } public enum GarrisonFollowerType { Garrison = 1, Shipyard = 2, ClassOrder = 4, WarCampaign = 11, Covenant = 123 } public enum GarrisonAbilityFlags : int { 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, WarCampaign = 9, Covenant = 111 } }