local PetBattleConstants =
{
	Tables =
	{
		{
			Name = "PetBattleQueueStatus",
			Type = "Enumeration",
			NumValues = 22,
			MinValue = 0,
			MaxValue = 21,
			Fields =
			{
				{ Name = "None", Type = "PetBattleQueueStatus", EnumValue = 0 },
				{ Name = "Queued", Type = "PetBattleQueueStatus", EnumValue = 1 },
				{ Name = "QueuedUpdate", Type = "PetBattleQueueStatus", EnumValue = 2 },
				{ Name = "AlreadyQueued", Type = "PetBattleQueueStatus", EnumValue = 3 },
				{ Name = "JoinFailed", Type = "PetBattleQueueStatus", EnumValue = 4 },
				{ Name = "JoinFailedSlots", Type = "PetBattleQueueStatus", EnumValue = 5 },
				{ Name = "JoinFailedJournalLock", Type = "PetBattleQueueStatus", EnumValue = 6 },
				{ Name = "JoinFailedNeutral", Type = "PetBattleQueueStatus", EnumValue = 7 },
				{ Name = "MatchAccepted", Type = "PetBattleQueueStatus", EnumValue = 8 },
				{ Name = "MatchDeclined", Type = "PetBattleQueueStatus", EnumValue = 9 },
				{ Name = "MatchOpponentDeclined", Type = "PetBattleQueueStatus", EnumValue = 10 },
				{ Name = "ProposalTimedOut", Type = "PetBattleQueueStatus", EnumValue = 11 },
				{ Name = "Removed", Type = "PetBattleQueueStatus", EnumValue = 12 },
				{ Name = "RequeuedAfterInternalError", Type = "PetBattleQueueStatus", EnumValue = 13 },
				{ Name = "RequeuedAfterOpponentRemoved", Type = "PetBattleQueueStatus", EnumValue = 14 },
				{ Name = "Matchmaking", Type = "PetBattleQueueStatus", EnumValue = 15 },
				{ Name = "LostConnection", Type = "PetBattleQueueStatus", EnumValue = 16 },
				{ Name = "Shutdown", Type = "PetBattleQueueStatus", EnumValue = 17 },
				{ Name = "Suspended", Type = "PetBattleQueueStatus", EnumValue = 18 },
				{ Name = "Unsuspended", Type = "PetBattleQueueStatus", EnumValue = 19 },
				{ Name = "InBattle", Type = "PetBattleQueueStatus", EnumValue = 20 },
				{ Name = "NoBattlingHere", Type = "PetBattleQueueStatus", EnumValue = 21 },
			},
		},
		{
			Name = "PetbattleAuraStateFlags",
			Type = "Enumeration",
			NumValues = 7,
			MinValue = 0,
			MaxValue = 32,
			Fields =
			{
				{ Name = "None", Type = "PetbattleAuraStateFlags", EnumValue = 0 },
				{ Name = "Infinite", Type = "PetbattleAuraStateFlags", EnumValue = 1 },
				{ Name = "Canceled", Type = "PetbattleAuraStateFlags", EnumValue = 2 },
				{ Name = "InitDisabled", Type = "PetbattleAuraStateFlags", EnumValue = 4 },
				{ Name = "CountdownFirstRound", Type = "PetbattleAuraStateFlags", EnumValue = 8 },
				{ Name = "JustApplied", Type = "PetbattleAuraStateFlags", EnumValue = 16 },
				{ Name = "RemoveEventHandled", Type = "PetbattleAuraStateFlags", EnumValue = 32 },
			},
		},
		{
			Name = "PetbattleCheatFlags",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 0,
			MaxValue = 1,
			Fields =
			{
				{ Name = "None", Type = "PetbattleCheatFlags", EnumValue = 0 },
				{ Name = "AutoPlay", Type = "PetbattleCheatFlags", EnumValue = 1 },
			},
		},
		{
			Name = "PetbattleEffectFlags",
			Type = "Enumeration",
			NumValues = 15,
			MinValue = 0,
			MaxValue = 8192,
			Fields =
			{
				{ Name = "None", Type = "PetbattleEffectFlags", EnumValue = 0 },
				{ Name = "InvalidTarget", Type = "PetbattleEffectFlags", EnumValue = 1 },
				{ Name = "Miss", Type = "PetbattleEffectFlags", EnumValue = 2 },
				{ Name = "Crit", Type = "PetbattleEffectFlags", EnumValue = 4 },
				{ Name = "Blocked", Type = "PetbattleEffectFlags", EnumValue = 8 },
				{ Name = "Dodge", Type = "PetbattleEffectFlags", EnumValue = 16 },
				{ Name = "Heal", Type = "PetbattleEffectFlags", EnumValue = 32 },
				{ Name = "Unkillable", Type = "PetbattleEffectFlags", EnumValue = 64 },
				{ Name = "Reflect", Type = "PetbattleEffectFlags", EnumValue = 128 },
				{ Name = "Absorb", Type = "PetbattleEffectFlags", EnumValue = 256 },
				{ Name = "Immune", Type = "PetbattleEffectFlags", EnumValue = 512 },
				{ Name = "Strong", Type = "PetbattleEffectFlags", EnumValue = 1024 },
				{ Name = "Weak", Type = "PetbattleEffectFlags", EnumValue = 2048 },
				{ Name = "SuccessChain", Type = "PetbattleEffectFlags", EnumValue = 4096 },
				{ Name = "AuraReapply", Type = "PetbattleEffectFlags", EnumValue = 8192 },
			},
		},
		{
			Name = "PetbattleEffectType",
			Type = "Enumeration",
			NumValues = 18,
			MinValue = 0,
			MaxValue = 17,
			Fields =
			{
				{ Name = "SetHealth", Type = "PetbattleEffectType", EnumValue = 0 },
				{ Name = "AuraApply", Type = "PetbattleEffectType", EnumValue = 1 },
				{ Name = "AuraCancel", Type = "PetbattleEffectType", EnumValue = 2 },
				{ Name = "AuraChange", Type = "PetbattleEffectType", EnumValue = 3 },
				{ Name = "PetSwap", Type = "PetbattleEffectType", EnumValue = 4 },
				{ Name = "StatusChange", Type = "PetbattleEffectType", EnumValue = 5 },
				{ Name = "SetState", Type = "PetbattleEffectType", EnumValue = 6 },
				{ Name = "SetMaxHealth", Type = "PetbattleEffectType", EnumValue = 7 },
				{ Name = "SetSpeed", Type = "PetbattleEffectType", EnumValue = 8 },
				{ Name = "SetPower", Type = "PetbattleEffectType", EnumValue = 9 },
				{ Name = "TriggerAbility", Type = "PetbattleEffectType", EnumValue = 10 },
				{ Name = "AbilityChange", Type = "PetbattleEffectType", EnumValue = 11 },
				{ Name = "NpcEmote", Type = "PetbattleEffectType", EnumValue = 12 },
				{ Name = "AuraProcessingBegin", Type = "PetbattleEffectType", EnumValue = 13 },
				{ Name = "AuraProcessingEnd", Type = "PetbattleEffectType", EnumValue = 14 },
				{ Name = "ReplacePet", Type = "PetbattleEffectType", EnumValue = 15 },
				{ Name = "OverrideAbility", Type = "PetbattleEffectType", EnumValue = 16 },
				{ Name = "WorldStateUpdate", Type = "PetbattleEffectType", EnumValue = 17 },
			},
		},
		{
			Name = "PetbattleEnviros",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 0,
			MaxValue = 2,
			Fields =
			{
				{ Name = "Pad0", Type = "PetbattleEnviros", EnumValue = 0 },
				{ Name = "Pad1", Type = "PetbattleEnviros", EnumValue = 1 },
				{ Name = "Weather", Type = "PetbattleEnviros", EnumValue = 2 },
			},
		},
		{
			Name = "PetbattleInputMoveMsgDebugFlag",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 0,
			MaxValue = 2,
			Fields =
			{
				{ Name = "None", Type = "PetbattleInputMoveMsgDebugFlag", EnumValue = 0 },
				{ Name = "DontValidate", Type = "PetbattleInputMoveMsgDebugFlag", EnumValue = 1 },
				{ Name = "EnemyCast", Type = "PetbattleInputMoveMsgDebugFlag", EnumValue = 2 },
			},
		},
		{
			Name = "PetbattleMoveType",
			Type = "Enumeration",
			NumValues = 6,
			MinValue = 0,
			MaxValue = 5,
			Fields =
			{
				{ Name = "Quit", Type = "PetbattleMoveType", EnumValue = 0 },
				{ Name = "Ability", Type = "PetbattleMoveType", EnumValue = 1 },
				{ Name = "Swap", Type = "PetbattleMoveType", EnumValue = 2 },
				{ Name = "Trap", Type = "PetbattleMoveType", EnumValue = 3 },
				{ Name = "FinalRoundOk", Type = "PetbattleMoveType", EnumValue = 4 },
				{ Name = "Pass", Type = "PetbattleMoveType", EnumValue = 5 },
			},
		},
		{
			Name = "PetbattlePboid",
			Type = "Enumeration",
			NumValues = 9,
			MinValue = 0,
			MaxValue = 8,
			Fields =
			{
				{ Name = "P0Pet_0", Type = "PetbattlePboid", EnumValue = 0 },
				{ Name = "P0Pet_1", Type = "PetbattlePboid", EnumValue = 1 },
				{ Name = "P0Pet_2", Type = "PetbattlePboid", EnumValue = 2 },
				{ Name = "P1Pet_0", Type = "PetbattlePboid", EnumValue = 3 },
				{ Name = "P1Pet_1", Type = "PetbattlePboid", EnumValue = 4 },
				{ Name = "P1Pet_2", Type = "PetbattlePboid", EnumValue = 5 },
				{ Name = "EnvPad_0", Type = "PetbattlePboid", EnumValue = 6 },
				{ Name = "EnvPad_1", Type = "PetbattlePboid", EnumValue = 7 },
				{ Name = "EnvWeather", Type = "PetbattlePboid", EnumValue = 8 },
			},
		},
		{
			Name = "PetbattlePetStatus",
			Type = "Enumeration",
			NumValues = 5,
			MinValue = 0,
			MaxValue = 8,
			Fields =
			{
				{ Name = "FlagNone", Type = "PetbattlePetStatus", EnumValue = 0 },
				{ Name = "FlagTrapped", Type = "PetbattlePetStatus", EnumValue = 1 },
				{ Name = "Stunned", Type = "PetbattlePetStatus", EnumValue = 2 },
				{ Name = "SwapOutLocked", Type = "PetbattlePetStatus", EnumValue = 4 },
				{ Name = "SwapInLocked", Type = "PetbattlePetStatus", EnumValue = 8 },
			},
		},
		{
			Name = "PetbattlePlayer",
			Type = "Enumeration",
			NumValues = 2,
			MinValue = 0,
			MaxValue = 1,
			Fields =
			{
				{ Name = "Player_0", Type = "PetbattlePlayer", EnumValue = 0 },
				{ Name = "Player_1", Type = "PetbattlePlayer", EnumValue = 1 },
			},
		},
		{
			Name = "PetbattlePlayerInputFlags",
			Type = "Enumeration",
			NumValues = 5,
			MinValue = 0,
			MaxValue = 8,
			Fields =
			{
				{ Name = "None", Type = "PetbattlePlayerInputFlags", EnumValue = 0 },
				{ Name = "TurnInProgress", Type = "PetbattlePlayerInputFlags", EnumValue = 1 },
				{ Name = "AbilityLocked", Type = "PetbattlePlayerInputFlags", EnumValue = 2 },
				{ Name = "SwapLocked", Type = "PetbattlePlayerInputFlags", EnumValue = 4 },
				{ Name = "WaitingForPet", Type = "PetbattlePlayerInputFlags", EnumValue = 8 },
			},
		},
		{
			Name = "PetbattleResult",
			Type = "Enumeration",
			NumValues = 24,
			MinValue = 0,
			MaxValue = 23,
			Fields =
			{
				{ Name = "FailUnknown", Type = "PetbattleResult", EnumValue = 0 },
				{ Name = "FailNotHere", Type = "PetbattleResult", EnumValue = 1 },
				{ Name = "FailNotHereOnTransport", Type = "PetbattleResult", EnumValue = 2 },
				{ Name = "FailNotHereUnevenGround", Type = "PetbattleResult", EnumValue = 3 },
				{ Name = "FailNotHereObstructed", Type = "PetbattleResult", EnumValue = 4 },
				{ Name = "FailNotWhileInCombat", Type = "PetbattleResult", EnumValue = 5 },
				{ Name = "FailNotWhileDead", Type = "PetbattleResult", EnumValue = 6 },
				{ Name = "FailNotWhileFlying", Type = "PetbattleResult", EnumValue = 7 },
				{ Name = "FailTargetInvalid", Type = "PetbattleResult", EnumValue = 8 },
				{ Name = "FailTargetOutOfRange", Type = "PetbattleResult", EnumValue = 9 },
				{ Name = "FailTargetNotCapturable", Type = "PetbattleResult", EnumValue = 10 },
				{ Name = "FailNotATrainer", Type = "PetbattleResult", EnumValue = 11 },
				{ Name = "FailDeclined", Type = "PetbattleResult", EnumValue = 12 },
				{ Name = "FailInBattle", Type = "PetbattleResult", EnumValue = 13 },
				{ Name = "FailInvalidLoadout", Type = "PetbattleResult", EnumValue = 14 },
				{ Name = "FailInvalidLoadoutAllDead", Type = "PetbattleResult", EnumValue = 15 },
				{ Name = "FailInvalidLoadoutNoneSlotted", Type = "PetbattleResult", EnumValue = 16 },
				{ Name = "FailNoJournalLock", Type = "PetbattleResult", EnumValue = 17 },
				{ Name = "FailWildPetTapped", Type = "PetbattleResult", EnumValue = 18 },
				{ Name = "FailRestrictedAccount", Type = "PetbattleResult", EnumValue = 19 },
				{ Name = "FailOpponentNotAvailable", Type = "PetbattleResult", EnumValue = 20 },
				{ Name = "FailLogout", Type = "PetbattleResult", EnumValue = 21 },
				{ Name = "FailDisconnect", Type = "PetbattleResult", EnumValue = 22 },
				{ Name = "Success", Type = "PetbattleResult", EnumValue = 23 },
			},
		},
		{
			Name = "PetbattleSlot",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 0,
			MaxValue = 2,
			Fields =
			{
				{ Name = "Slot_0", Type = "PetbattleSlot", EnumValue = 0 },
				{ Name = "Slot_1", Type = "PetbattleSlot", EnumValue = 1 },
				{ Name = "Slot_2", Type = "PetbattleSlot", EnumValue = 2 },
			},
		},
		{
			Name = "PetbattleSlotAbility",
			Type = "Enumeration",
			NumValues = 3,
			MinValue = 0,
			MaxValue = 2,
			Fields =
			{
				{ Name = "Ability_0", Type = "PetbattleSlotAbility", EnumValue = 0 },
				{ Name = "Ability_1", Type = "PetbattleSlotAbility", EnumValue = 1 },
				{ Name = "Ability_2", Type = "PetbattleSlotAbility", EnumValue = 2 },
			},
		},
		{
			Name = "PetbattleSlotResult",
			Type = "Enumeration",
			NumValues = 9,
			MinValue = 0,
			MaxValue = 8,
			Fields =
			{
				{ Name = "Success", Type = "PetbattleSlotResult", EnumValue = 0 },
				{ Name = "SlotLocked", Type = "PetbattleSlotResult", EnumValue = 1 },
				{ Name = "SlotEmpty", Type = "PetbattleSlotResult", EnumValue = 2 },
				{ Name = "NoTracker", Type = "PetbattleSlotResult", EnumValue = 3 },
				{ Name = "NoSpeciesRec", Type = "PetbattleSlotResult", EnumValue = 4 },
				{ Name = "CantBattle", Type = "PetbattleSlotResult", EnumValue = 5 },
				{ Name = "Revoked", Type = "PetbattleSlotResult", EnumValue = 6 },
				{ Name = "Dead", Type = "PetbattleSlotResult", EnumValue = 7 },
				{ Name = "NoPet", Type = "PetbattleSlotResult", EnumValue = 8 },
			},
		},
		{
			Name = "PetbattleState",
			Type = "Enumeration",
			NumValues = 7,
			MinValue = 0,
			MaxValue = 6,
			Fields =
			{
				{ Name = "Created", Type = "PetbattleState", EnumValue = 0 },
				{ Name = "WaitingPreBattle", Type = "PetbattleState", EnumValue = 1 },
				{ Name = "RoundInProgress", Type = "PetbattleState", EnumValue = 2 },
				{ Name = "WaitingForFrontPets", Type = "PetbattleState", EnumValue = 3 },
				{ Name = "CreatedFailed", Type = "PetbattleState", EnumValue = 4 },
				{ Name = "FinalRound", Type = "PetbattleState", EnumValue = 5 },
				{ Name = "Finished", Type = "PetbattleState", EnumValue = 6 },
			},
		},
		{
			Name = "PetbattleTrapstatus",
			Type = "Enumeration",
			NumValues = 9,
			MinValue = 0,
			MaxValue = 8,
			Fields =
			{
				{ Name = "Invalid", Type = "PetbattleTrapstatus", EnumValue = 0 },
				{ Name = "CanTrap", Type = "PetbattleTrapstatus", EnumValue = 1 },
				{ Name = "CantTrapNewbie", Type = "PetbattleTrapstatus", EnumValue = 2 },
				{ Name = "CantTrapPetDead", Type = "PetbattleTrapstatus", EnumValue = 3 },
				{ Name = "CantTrapPetHealth", Type = "PetbattleTrapstatus", EnumValue = 4 },
				{ Name = "CantTrapNoRoomInJournal", Type = "PetbattleTrapstatus", EnumValue = 5 },
				{ Name = "CantTrapPetNotCapturable", Type = "PetbattleTrapstatus", EnumValue = 6 },
				{ Name = "CantTrapTrainerBattle", Type = "PetbattleTrapstatus", EnumValue = 7 },
				{ Name = "CantTrapTwice", Type = "PetbattleTrapstatus", EnumValue = 8 },
			},
		},
		{
			Name = "PetbattleType",
			Type = "Enumeration",
			NumValues = 4,
			MinValue = 0,
			MaxValue = 3,
			Fields =
			{
				{ Name = "PvE", Type = "PetbattleType", EnumValue = 0 },
				{ Name = "PvP", Type = "PetbattleType", EnumValue = 1 },
				{ Name = "Lfpb", Type = "PetbattleType", EnumValue = 2 },
				{ Name = "Npc", Type = "PetbattleType", EnumValue = 3 },
			},
		},
	},
};

APIDocumentation:AddDocumentationTable(PetBattleConstants);