local BattlePetConstants =
{
	Tables =
	{
		{
			Name = "BattlePetAbilityFlag",
			Type = "Enumeration",
			NumValues = 6,
			MinValue = 1,
			MaxValue = 32,
			Fields =
			{
				{ Name = "DisplayAsHostileDebuff", Type = "BattlePetAbilityFlag", EnumValue = 1 },
				{ Name = "HideStrongWeakHints", Type = "BattlePetAbilityFlag", EnumValue = 2 },
				{ Name = "Passive", Type = "BattlePetAbilityFlag", EnumValue = 4 },
				{ Name = "ServerOnlyAura", Type = "BattlePetAbilityFlag", EnumValue = 8 },
				{ Name = "ShowCast", Type = "BattlePetAbilityFlag", EnumValue = 16 },
				{ Name = "StartOnCooldown", Type = "BattlePetAbilityFlag", EnumValue = 32 },
			},
		},
		{
			Name = "BattlePetAbilitySlot",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 0,
			MaxValue = 2,
			Fields =
			{
				{ Name = "A", Type = "BattlePetAbilitySlot", EnumValue = 0 },
				{ Name = "B", Type = "BattlePetAbilitySlot", EnumValue = 1 },
				{ Name = "C", Type = "BattlePetAbilitySlot", EnumValue = 2 },
			},
		},
		{
			Name = "BattlePetAbilityTargets",
			Type = "Enumeration",
			NumValues = 13,
			MinValue = 0,
			MaxValue = 12,
			Fields =
			{
				{ Name = "EnemyFrontPet", Type = "BattlePetAbilityTargets", EnumValue = 0 },
				{ Name = "FriendlyFrontPet", Type = "BattlePetAbilityTargets", EnumValue = 1 },
				{ Name = "Weather", Type = "BattlePetAbilityTargets", EnumValue = 2 },
				{ Name = "EnemyPad", Type = "BattlePetAbilityTargets", EnumValue = 3 },
				{ Name = "FriendlyPad", Type = "BattlePetAbilityTargets", EnumValue = 4 },
				{ Name = "EnemyBackPet_1", Type = "BattlePetAbilityTargets", EnumValue = 5 },
				{ Name = "EnemyBackPet_2", Type = "BattlePetAbilityTargets", EnumValue = 6 },
				{ Name = "FriendlyBackPet_1", Type = "BattlePetAbilityTargets", EnumValue = 7 },
				{ Name = "FriendlyBackPet_2", Type = "BattlePetAbilityTargets", EnumValue = 8 },
				{ Name = "Caster", Type = "BattlePetAbilityTargets", EnumValue = 9 },
				{ Name = "Owner", Type = "BattlePetAbilityTargets", EnumValue = 10 },
				{ Name = "Specific", Type = "BattlePetAbilityTargets", EnumValue = 11 },
				{ Name = "ProcTarget", Type = "BattlePetAbilityTargets", EnumValue = 12 },
			},
		},
		{
			Name = "BattlePetAbilityTurnFlag",
			Type = "Enumeration",
			NumValues = 6,
			MinValue = 1,
			MaxValue = 32,
			Fields =
			{
				{ Name = "CanProcFromProc", Type = "BattlePetAbilityTurnFlag", EnumValue = 1 },
				{ Name = "TriggerBySelf", Type = "BattlePetAbilityTurnFlag", EnumValue = 2 },
				{ Name = "TriggerByFriend", Type = "BattlePetAbilityTurnFlag", EnumValue = 4 },
				{ Name = "TriggerByEnemy", Type = "BattlePetAbilityTurnFlag", EnumValue = 8 },
				{ Name = "TriggerByWeather", Type = "BattlePetAbilityTurnFlag", EnumValue = 16 },
				{ Name = "TriggerByAuraCaster", Type = "BattlePetAbilityTurnFlag", EnumValue = 32 },
			},
		},
		{
			Name = "BattlePetAbilityTurnType",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 0,
			MaxValue = 1,
			Fields =
			{
				{ Name = "Normal", Type = "BattlePetAbilityTurnType", EnumValue = 0 },
				{ Name = "TriggeredEffect", Type = "BattlePetAbilityTurnType", EnumValue = 1 },
			},
		},
		{
			Name = "BattlePetAbilityType",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 0,
			MaxValue = 1,
			Fields =
			{
				{ Name = "Ability", Type = "BattlePetAbilityType", EnumValue = 0 },
				{ Name = "Aura", Type = "BattlePetAbilityType", EnumValue = 1 },
			},
		},
		{
			Name = "BattlePetAction",
			Type = "Enumeration",
			NumValues = 5,
			MinValue = 0,
			MaxValue = 4,
			Fields =
			{
				{ Name = "None", Type = "BattlePetAction", EnumValue = 0 },
				{ Name = "Ability", Type = "BattlePetAction", EnumValue = 1 },
				{ Name = "SwitchPet", Type = "BattlePetAction", EnumValue = 2 },
				{ Name = "Trap", Type = "BattlePetAction", EnumValue = 3 },
				{ Name = "Skip", Type = "BattlePetAction", EnumValue = 4 },
			},
		},
		{
			Name = "BattlePetBreedQuality",
			Type = "Enumeration",
			NumValues = 6,
			MinValue = 0,
			MaxValue = 5,
			Fields =
			{
				{ Name = "Poor", Type = "BattlePetBreedQuality", EnumValue = 0 },
				{ Name = "Common", Type = "BattlePetBreedQuality", EnumValue = 1 },
				{ Name = "Uncommon", Type = "BattlePetBreedQuality", EnumValue = 2 },
				{ Name = "Rare", Type = "BattlePetBreedQuality", EnumValue = 3 },
				{ Name = "Epic", Type = "BattlePetBreedQuality", EnumValue = 4 },
				{ Name = "Legendary", Type = "BattlePetBreedQuality", EnumValue = 5 },
			},
		},
		{
			Name = "BattlePetEffectFlags",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 1,
			MaxValue = 2,
			Fields =
			{
				{ Name = "EnableAbilityPicker", Type = "BattlePetEffectFlags", EnumValue = 1 },
				{ Name = "LuaNeedsAllPets", Type = "BattlePetEffectFlags", EnumValue = 2 },
			},
		},
		{
			Name = "BattlePetEffectParamType",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 0,
			MaxValue = 1,
			Fields =
			{
				{ Name = "Int", Type = "BattlePetEffectParamType", EnumValue = 0 },
				{ Name = "Ability", Type = "BattlePetEffectParamType", EnumValue = 1 },
			},
		},
		{
			Name = "BattlePetEvent",
			Type = "Enumeration",
			NumValues = 13,
			MinValue = 0,
			MaxValue = 12,
			Fields =
			{
				{ Name = "OnAuraApplied", Type = "BattlePetEvent", EnumValue = 0 },
				{ Name = "OnDamageTaken", Type = "BattlePetEvent", EnumValue = 1 },
				{ Name = "OnDamageDealt", Type = "BattlePetEvent", EnumValue = 2 },
				{ Name = "OnHealTaken", Type = "BattlePetEvent", EnumValue = 3 },
				{ Name = "OnHealDealt", Type = "BattlePetEvent", EnumValue = 4 },
				{ Name = "OnAuraRemoved", Type = "BattlePetEvent", EnumValue = 5 },
				{ Name = "OnRoundStart", Type = "BattlePetEvent", EnumValue = 6 },
				{ Name = "OnRoundEnd", Type = "BattlePetEvent", EnumValue = 7 },
				{ Name = "OnTurn", Type = "BattlePetEvent", EnumValue = 8 },
				{ Name = "OnAbility", Type = "BattlePetEvent", EnumValue = 9 },
				{ Name = "OnSwapIn", Type = "BattlePetEvent", EnumValue = 10 },
				{ Name = "OnSwapOut", Type = "BattlePetEvent", EnumValue = 11 },
				{ Name = "PostAuraTicks", Type = "BattlePetEvent", EnumValue = 12 },
			},
		},
		{
			Name = "BattlePetNpcEmote",
			Type = "Enumeration",
			NumValues = 8,
			MinValue = 0,
			MaxValue = 7,
			Fields =
			{
				{ Name = "BattleUnused", Type = "BattlePetNpcEmote", EnumValue = 0 },
				{ Name = "BattleStart", Type = "BattlePetNpcEmote", EnumValue = 1 },
				{ Name = "BattleWin", Type = "BattlePetNpcEmote", EnumValue = 2 },
				{ Name = "BattleLose", Type = "BattlePetNpcEmote", EnumValue = 3 },
				{ Name = "PetSwap", Type = "BattlePetNpcEmote", EnumValue = 4 },
				{ Name = "PetKill", Type = "BattlePetNpcEmote", EnumValue = 5 },
				{ Name = "PetDie", Type = "BattlePetNpcEmote", EnumValue = 6 },
				{ Name = "PetAbility", Type = "BattlePetNpcEmote", EnumValue = 7 },
			},
		},
		{
			Name = "BattlePetNpcTeamFlag",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 1,
			MaxValue = 2,
			Fields =
			{
				{ Name = "MatchPlayerHighPetLevel", Type = "BattlePetNpcTeamFlag", EnumValue = 1 },
				{ Name = "NoPlayerXP", Type = "BattlePetNpcTeamFlag", EnumValue = 2 },
			},
		},
		{
			Name = "BattlePetOwner",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 0,
			MaxValue = 2,
			Fields =
			{
				{ Name = "Weather", Type = "BattlePetOwner", EnumValue = 0 },
				{ Name = "Ally", Type = "BattlePetOwner", EnumValue = 1 },
				{ Name = "Enemy", Type = "BattlePetOwner", EnumValue = 2 },
			},
		},
		{
			Name = "BattlePetSources",
			Type = "Enumeration",
			NumValues = 12,
			MinValue = 0,
			MaxValue = 11,
			Fields =
			{
				{ Name = "Drop", Type = "BattlePetSources", EnumValue = 0 },
				{ Name = "Quest", Type = "BattlePetSources", EnumValue = 1 },
				{ Name = "Vendor", Type = "BattlePetSources", EnumValue = 2 },
				{ Name = "Profession", Type = "BattlePetSources", EnumValue = 3 },
				{ Name = "WildPet", Type = "BattlePetSources", EnumValue = 4 },
				{ Name = "Achievement", Type = "BattlePetSources", EnumValue = 5 },
				{ Name = "WorldEvent", Type = "BattlePetSources", EnumValue = 6 },
				{ Name = "Promotion", Type = "BattlePetSources", EnumValue = 7 },
				{ Name = "Tcg", Type = "BattlePetSources", EnumValue = 8 },
				{ Name = "PetStore", Type = "BattlePetSources", EnumValue = 9 },
				{ Name = "Discovery", Type = "BattlePetSources", EnumValue = 10 },
				{ Name = "TradingPost", Type = "BattlePetSources", EnumValue = 11 },
			},
		},
		{
			Name = "BattlePetSpeciesFlags",
			Type = "Enumeration",
			NumValues = 17,
			MinValue = 1,
			MaxValue = 65536,
			Fields =
			{
				{ Name = "NoRename", Type = "BattlePetSpeciesFlags", EnumValue = 1 },
				{ Name = "WellKnown", Type = "BattlePetSpeciesFlags", EnumValue = 2 },
				{ Name = "NotAcccountwide", Type = "BattlePetSpeciesFlags", EnumValue = 4 },
				{ Name = "Capturable", Type = "BattlePetSpeciesFlags", EnumValue = 8 },
				{ Name = "NotTradable", Type = "BattlePetSpeciesFlags", EnumValue = 16 },
				{ Name = "HideFromJournal", Type = "BattlePetSpeciesFlags", EnumValue = 32 },
				{ Name = "LegacyAccountUnique", Type = "BattlePetSpeciesFlags", EnumValue = 64 },
				{ Name = "CantBattle", Type = "BattlePetSpeciesFlags", EnumValue = 128 },
				{ Name = "HordeOnly", Type = "BattlePetSpeciesFlags", EnumValue = 256 },
				{ Name = "AllianceOnly", Type = "BattlePetSpeciesFlags", EnumValue = 512 },
				{ Name = "Boss", Type = "BattlePetSpeciesFlags", EnumValue = 1024 },
				{ Name = "RandomDisplay", Type = "BattlePetSpeciesFlags", EnumValue = 2048 },
				{ Name = "NoLicenseRequired", Type = "BattlePetSpeciesFlags", EnumValue = 4096 },
				{ Name = "AddsAllowedWithBoss", Type = "BattlePetSpeciesFlags", EnumValue = 8192 },
				{ Name = "HideUntilLearned", Type = "BattlePetSpeciesFlags", EnumValue = 16384 },
				{ Name = "MatchPlayerHighPetLevel", Type = "BattlePetSpeciesFlags", EnumValue = 32768 },
				{ Name = "NoWildPetAddsAllowed", Type = "BattlePetSpeciesFlags", EnumValue = 65536 },
			},
		},
		{
			Name = "BattlePetStateFlag",
			Type = "Enumeration",
			NumValues = 13,
			MinValue = 0,
			MaxValue = 2048,
			Fields =
			{
				{ Name = "None", Type = "BattlePetStateFlag", EnumValue = 0 },
				{ Name = "SwapOutLock", Type = "BattlePetStateFlag", EnumValue = 1 },
				{ Name = "TurnLock", Type = "BattlePetStateFlag", EnumValue = 2 },
				{ Name = "SpeedBonus", Type = "BattlePetStateFlag", EnumValue = 4 },
				{ Name = "Client", Type = "BattlePetStateFlag", EnumValue = 8 },
				{ Name = "MaxHealthBonus", Type = "BattlePetStateFlag", EnumValue = 16 },
				{ Name = "Stamina", Type = "BattlePetStateFlag", EnumValue = 32 },
				{ Name = "QualityDoesNotEffect", Type = "BattlePetStateFlag", EnumValue = 64 },
				{ Name = "DynamicScaling", Type = "BattlePetStateFlag", EnumValue = 128 },
				{ Name = "Power", Type = "BattlePetStateFlag", EnumValue = 256 },
				{ Name = "SpeedMult", Type = "BattlePetStateFlag", EnumValue = 512 },
				{ Name = "SwapInLock", Type = "BattlePetStateFlag", EnumValue = 1024 },
				{ Name = "ServerOnly", Type = "BattlePetStateFlag", EnumValue = 2048 },
			},
		},
		{
			Name = "BattlePetTypes",
			Type = "Enumeration",
			NumValues = 10,
			MinValue = 0,
			MaxValue = 9,
			Fields =
			{
				{ Name = "Humanoid", Type = "BattlePetTypes", EnumValue = 0 },
				{ Name = "Dragonkin", Type = "BattlePetTypes", EnumValue = 1 },
				{ Name = "Flying", Type = "BattlePetTypes", EnumValue = 2 },
				{ Name = "Undead", Type = "BattlePetTypes", EnumValue = 3 },
				{ Name = "Critter", Type = "BattlePetTypes", EnumValue = 4 },
				{ Name = "Magic", Type = "BattlePetTypes", EnumValue = 5 },
				{ Name = "Elemental", Type = "BattlePetTypes", EnumValue = 6 },
				{ Name = "Beast", Type = "BattlePetTypes", EnumValue = 7 },
				{ Name = "Aquatic", Type = "BattlePetTypes", EnumValue = 8 },
				{ Name = "Mechanical", Type = "BattlePetTypes", EnumValue = 9 },
			},
		},
		{
			Name = "BattlePetVisualFlag",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 1,
			MaxValue = 4,
			Fields =
			{
				{ Name = "Test1", Type = "BattlePetVisualFlag", EnumValue = 1 },
				{ Name = "Test2", Type = "BattlePetVisualFlag", EnumValue = 2 },
				{ Name = "Test3", Type = "BattlePetVisualFlag", EnumValue = 4 },
			},
		},
		{
			Name = "BattlePetVisualRange",
			Type = "Enumeration",
			NumValues = 6,
			MinValue = 0,
			MaxValue = 5,
			Fields =
			{
				{ Name = "Melee", Type = "BattlePetVisualRange", EnumValue = 0 },
				{ Name = "Ranged", Type = "BattlePetVisualRange", EnumValue = 1 },
				{ Name = "InPlace", Type = "BattlePetVisualRange", EnumValue = 2 },
				{ Name = "PointBlank", Type = "BattlePetVisualRange", EnumValue = 3 },
				{ Name = "BehindMelee", Type = "BattlePetVisualRange", EnumValue = 4 },
				{ Name = "BehindRanged", Type = "BattlePetVisualRange", EnumValue = 5 },
			},
		},
		{
			Name = "BattlepetDbFlags",
			Type = "Enumeration",
			NumValues = 13,
			MinValue = 0,
			MaxValue = 1024,
			Fields =
			{
				{ Name = "None", Type = "BattlepetDbFlags", EnumValue = 0 },
				{ Name = "Favorite", Type = "BattlepetDbFlags", EnumValue = 1 },
				{ Name = "Converted", Type = "BattlepetDbFlags", EnumValue = 2 },
				{ Name = "Revoked", Type = "BattlepetDbFlags", EnumValue = 4 },
				{ Name = "LockedForConvert", Type = "BattlepetDbFlags", EnumValue = 8 },
				{ Name = "Ability0Selection", Type = "BattlepetDbFlags", EnumValue = 16 },
				{ Name = "Ability1Selection", Type = "BattlepetDbFlags", EnumValue = 32 },
				{ Name = "Ability2Selection", Type = "BattlepetDbFlags", EnumValue = 64 },
				{ Name = "FanfareNeeded", Type = "BattlepetDbFlags", EnumValue = 128 },
				{ Name = "DisplayOverridden", Type = "BattlepetDbFlags", EnumValue = 256 },
				{ Name = "AcquiredViaLicense", Type = "BattlepetDbFlags", EnumValue = 512 },
				{ Name = "TradingPost", Type = "BattlepetDbFlags", EnumValue = 1024 },
				{ Name = "LockMask", Type = "BattlepetDbFlags", EnumValue = 12 },
			},
		},
		{
			Name = "BattlepetDeletedReason",
			Type = "Enumeration",
			NumValues = 8,
			MinValue = 0,
			MaxValue = 7,
			Fields =
			{
				{ Name = "Unknown", Type = "BattlepetDeletedReason", EnumValue = 0 },
				{ Name = "PlayerReleased", Type = "BattlepetDeletedReason", EnumValue = 1 },
				{ Name = "PlayerCaged", Type = "BattlepetDeletedReason", EnumValue = 2 },
				{ Name = "Gm", Type = "BattlepetDeletedReason", EnumValue = 3 },
				{ Name = "CageError", Type = "BattlepetDeletedReason", EnumValue = 4 },
				{ Name = "DelJournal", Type = "BattlepetDeletedReason", EnumValue = 5 },
				{ Name = "TradingPost", Type = "BattlepetDeletedReason", EnumValue = 6 },
				{ Name = "AccountStore", Type = "BattlepetDeletedReason", EnumValue = 7 },
			},
		},
		{
			Name = "BattlepetSlotLockCheat",
			Type = "Enumeration",
			NumValues = 5,
			MinValue = -3,
			MaxValue = 1,
			Fields =
			{
				{ Name = "Cheat_2_Locked", Type = "BattlepetSlotLockCheat", EnumValue = -3 },
				{ Name = "Cheat_1_Locked", Type = "BattlepetSlotLockCheat", EnumValue = -2 },
				{ Name = "Cheat_0_Locked", Type = "BattlepetSlotLockCheat", EnumValue = -1 },
				{ Name = "CheatOff", Type = "BattlepetSlotLockCheat", EnumValue = 0 },
				{ Name = "UnlockAll", Type = "BattlepetSlotLockCheat", EnumValue = 1 },
			},
		},
	},
};

APIDocumentation:AddDocumentationTable(BattlePetConstants);