# Overview & Setup

A robust, expandable battle pet system for FiveM:

* **Turn-based** pet battles vs wild pets, NPC trainers, or other players
* **Wild** pet encounters + **capture**
* Summon/dismiss pets that **follow** you
* **Server-authoritative** with validation and optimized packets
* Config-driven **species/info/abilities**
* Profile persistence via `oxmysql` or JSON

## Quick Start

{% stepper %}
{% step %}

### Install

Drop `hoff-battlebuddies` into your resources and add this to your server.cfg as the last ensure:

```
ensure hoff-battlebuddies
```

Edit `config.lua` or leave the defaults. Abilities are set up in `sh_abilities.lua`.
{% endstep %}

{% step %}

### Install ox\_lib (if you don't have it already)

ox\_lib is an incredibly useful function library used across many resources, and required for Battle Buddies. I suggest downloading the communityox version as it is actively maintained.

<https://github.com/communityox/ox_lib/releases/latest/>
{% endstep %}

{% step %}

### Add items

Add the provided items to your server's items definitions (examples below).

* For QBCore: `resources/[qb]/qb-core/shared/items.lua`
* For ox\_inventory: `.../ox_inventory/data/items.lua`
  {% endstep %}
  {% endstepper %}

## Items

### QB-Core

```lua
-- Battle Pet Items
battlepet_journal            = { name = "battlepet_journal", label = "Pet Journal", weight = 500, type = "item", image = "battlepet_journal.png", unique = true, useable = true, shouldClose = true, description = "Use: Open your pet journal." },
battlepet_bandage            = { name = "battlepet_bandage", label = "Pet Bandage", weight = 200, type = "item", image = "battlepet_bandage.png", unique = false, useable = true, shouldClose = true, description = "Use: Heal your pet team to full health." },
battlepet_badge              = { name = "battlepet_badge", label = "Pet Battle Badge", weight = 100, type = "item", image = "battlepet_badge.png", unique = false, useable = false, shouldClose = true, description = "A badge awarded for defeating a pet trainer." },
battlepet_cage               = { name = "battlepet_cage", label = "Pet Cage (Empty)", weight = 500, type = "item", image = "battlepet_cage.png", unique = false, useable = false, shouldClose = true, description = "An empty pet cage used to trap wild pets." },
battlepet_caged_boar         = { name = "battlepet_caged_boar", label = "Pet Cage (Boar)", weight = 500, type = "item", image = "battlepet_caged_boar.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_cat          = { name = "battlepet_caged_cat", label = "Pet Cage (Silver Tabby)", weight = 500, type = "item", image = "battlepet_caged_cat.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_cow          = { name = "battlepet_caged_cow", label = "Pet Cage (Cow)", weight = 500, type = "item", image = "battlepet_caged_cow.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_coyote       = { name = "battlepet_caged_coyote", label = "Pet Cage (Coyote)", weight = 500, type = "item", image = "battlepet_caged_coyote.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_deer         = { name = "battlepet_caged_deer", label = "Pet Cage (Deer)", weight = 500, type = "item", image = "battlepet_caged_deer.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_hen          = { name = "battlepet_caged_hen", label = "Pet Cage (Hen)", weight = 500, type = "item", image = "battlepet_caged_hen.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_husky        = { name = "battlepet_caged_husky", label = "Pet Cage (Husky)", weight = 500, type = "item", image = "battlepet_caged_husky.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_mountainlion = { name = "battlepet_caged_mountainlion", label = "Pet Cage (Mountain Lion)", weight = 500, type = "item", image = "battlepet_caged_mountainlion.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_panther      = { name = "battlepet_caged_panther", label = "Pet Cage (Panther)", weight = 500, type = "item", image = "battlepet_caged_panther.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_pig          = { name = "battlepet_caged_pig", label = "Pet Cage (Pig)", weight = 500, type = "item", image = "battlepet_caged_pig.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_poodle       = { name = "battlepet_caged_poodle", label = "Pet Cage (Poodle)", weight = 500, type = "item", image = "battlepet_caged_poodle.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_pug          = { name = "battlepet_caged_pug", label = "Pet Cage (Pug)", weight = 500, type = "item", image = "battlepet_caged_pug.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_rabbit       = { name = "battlepet_caged_rabbit", label = "Pet Cage (Rabbit)", weight = 500, type = "item", image = "battlepet_caged_rabbit.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_rat          = { name = "battlepet_caged_rat", label = "Pet Cage (Rat)", weight = 500, type = "item", image = "battlepet_caged_rat.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_retriever    = { name = "battlepet_caged_retriever", label = "Pet Cage (Golden Retriever)", weight = 500, type = "item", image = "battlepet_caged_retriever.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_rottweiler   = { name = "battlepet_caged_rottweiler", label = "Pet Cage (Rottweiler)", weight = 500, type = "item", image = "battlepet_caged_rottweiler.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_shepherd     = { name = "battlepet_caged_shepherd", label = "Pet Cage (Shepherd)", weight = 500, type = "item", image = "battlepet_caged_shepherd.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_terrier      = { name = "battlepet_caged_terrier", label = "Pet Cage (Terrier)", weight = 500, type = "item", image = "battlepet_caged_terrier.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Raccoon
-- https://popcornrp-store.tebex.io/package/6477354
battlepet_caged_raccoon      = { name = "battlepet_caged_raccoon", label = "Pet Cage (Raccoon)", weight = 500, type = "item", image = "battlepet_caged_raccoon.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Otter
-- https://popcornrp-store.tebex.io/package/6710454
battlepet_caged_otter      = { name = "battlepet_caged_otter", label = "Pet Cage (Otter)", weight = 500, type = "item", image = "battlepet_caged_otter.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Free Pets
-- https://github.com/alberttheprince/popcornrp-pets
battlepet_caged_robot_dog      = { name = "battlepet_caged_robot_dog", label = "Pet Cage (Robot Dog)", weight = 500, type = "item", image = "battlepet_caged_robot_dog.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_armadillo      = { name = "battlepet_caged_armadillo", label = "Pet Cage (Armadillo)", weight = 500, type = "item", image = "battlepet_caged_armadillo.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_chowchow      = { name = "battlepet_caged_chowchow", label = "Pet Cage (Chow Chow)", weight = 500, type = "item", image = "battlepet_caged_chowchow.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_cockroach     = { name = "battlepet_caged_cockroach", label = "Pet Cage (Cockroach)", weight = 500, type = "item", image = "battlepet_caged_cockroach.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_dalmatian     = { name = "battlepet_caged_dalmatian", label = "Pet Cage (Dalmatian)", weight = 500, type = "item", image = "battlepet_caged_dalmatian.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_doberman      = { name = "battlepet_caged_doberman", label = "Pet Cage (Doberman)", weight = 500, type = "item", image = "battlepet_caged_doberman.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_k9_male       = { name = "battlepet_caged_k9_male", label = "Pet Cage (K9 Male)", weight = 500, type = "item", image = "battlepet_caged_k9_male.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
battlepet_caged_tarantula     = { name = "battlepet_caged_tarantula", label = "Pet Cage (Tarantula)", weight = 500, type = "item", image = "battlepet_caged_tarantula.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Alligator
-- https://popcornrp-store.tebex.io/package/6828221
battlepet_caged_alligator     = { name = "battlepet_caged_alligator", label = "Pet Cage (Alligator)", weight = 500, type = "item", image = "battlepet_caged_alligator.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Capybara
-- https://popcornrp-store.tebex.io/package/6774743
battlepet_caged_capybara      = { name = "battlepet_caged_capybara", label = "Pet Cage (Capybara)", weight = 500, type = "item", image = "battlepet_caged_capybara.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP English Bulldog
-- https://popcornrp-store.tebex.io/package/6461327
battlepet_caged_englishbulldog = { name = "battlepet_caged_englishbulldog", label = "Pet Cage (English Bulldog)", weight = 500, type = "item", image = "battlepet_caged_englishbulldog.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Hippo
-- https://popcornrp-store.tebex.io/package/6807423
battlepet_caged_hippo         = { name = "battlepet_caged_hippo", label = "Pet Cage (Hippo)", weight = 500, type = "item", image = "battlepet_caged_hippo.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Arctic Fox
-- https://popcornrp-store.tebex.io/package/6551883
battlepet_caged_arcticfox     = { name = "battlepet_caged_arcticfox", label = "Pet Cage (Arctic Fox)", weight = 500, type = "item", image = "battlepet_caged_arcticfox.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Husky Puppy
-- https://popcornrp-store.tebex.io/package/6895935
battlepet_caged_huskypuppy    = { name = "battlepet_caged_huskypuppy", label = "Pet Cage (Husky Puppy)", weight = 500, type = "item", image = "battlepet_caged_huskypuppy.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Malinois / German Shepherd - Puppy
-- https://popcornrp-store.tebex.io/package/6896027
battlepet_caged_malsheppuppy  = { name = "battlepet_caged_malsheppuppy", label = "Pet Cage (Malinois Puppy)", weight = 500, type = "item", image = "battlepet_caged_malsheppuppy.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },

-- Popcorn RP Pygmy Hippo
-- https://popcornrp-store.tebex.io/package/7059803
battlepet_caged_pygmyhippo    = { name = "battlepet_caged_pygmyhippo", label = "Pet Cage (Pygmy Hippo)", weight = 500, type = "item", image = "battlepet_caged_pygmyhippo.png", unique = true, useable = true, shouldClose = true, description = "Use: Add this pet to your collection." },
```

### Ox Inventory

<pre class="language-lua"><code class="lang-lua">-- Battle Pet Items
	['battlepet_journal'] = {
		label = 'Pet Journal',
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = 'Use: Open your pet journal.',
		server = { export = 'hoff-battlebuddies.ox_journalitem' }
	},
	['battlepet_bandage'] = {
		label = 'Pet Bandage',
		weight = 200,
		stack = true,
		close = true,
		consume = 0,
		description = 'Use: Heal your pet team to full health.',
		server = { export = 'hoff-battlebuddies.ox_bandageitem' }
	},
	['battlepet_badge'] = {
		label = 'Pet Battle Badge',
		weight = 100,
		stack = true,
		close = true,
		consume = 0,
		description = 'A badge awarded for defeating a pet trainer.'
	},
	['battlepet_cage'] = {
		label = 'Pet Cage (Empty)',
		weight = 500,
		stack = true,
		close = true,
		consume = 0,
		description = 'An empty pet cage used to trap wild pets.'
	},
	['battlepet_caged_boar'] = {
		label = 'Pet Cage (Boar)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_cat'] = {
		label = 'Pet Cage (Silver Tabby)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_cow'] = {
		label = 'Pet Cage (Cow)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_coyote'] = {
		label = 'Pet Cage (Coyote)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_deer'] = {
		label = 'Pet Cage (Deer)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_hen'] = {
		label = 'Pet Cage (Hen)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_husky'] = {
		label = 'Pet Cage (Husky)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_mountainlion'] = {
		label = 'Pet Cage (Mountain Lion)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_panther'] = {
		label = 'Pet Cage (Panther)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_pig'] = {
		label = 'Pet Cage (Pig)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_poodle'] = {
		label = 'Pet Cage (Poodle)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_pug'] = {
		label = 'Pet Cage (Pug)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_rabbit'] = {
		label = 'Pet Cage (Rabbit)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_rat'] = {
		label = 'Pet Cage (Rat)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_retriever'] = {
		label = 'Pet Cage (Golden Retriever)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_rottweiler'] = {
		label = 'Pet Cage (Rottweiler)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_shepherd'] = {
		label = 'Pet Cage (Shepherd)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_terrier'] = {
		label = 'Pet Cage (Terrier)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},

	-- Popcorn RP Raccoon
	-- https://popcornrp-store.tebex.io/package/6477354
	['battlepet_caged_raccoon'] = {
		label = 'Pet Cage (Raccoon)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	-- Popcorn RP Otter
	-- https://popcornrp-store.tebex.io/package/6710454
	['battlepet_caged_otter'] = {
		label = 'Pet Cage (Otter)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
		-- Popcorn RP Free Pets
		-- https://github.com/alberttheprince/popcornrp-pets
	['battlepet_caged_robot_dog'] = {
		label = 'Pet Cage (Robot Dog)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_armadillo'] = {
		label = 'Pet Cage (Armadillo)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_chowchow'] = {
		label = 'Pet Cage (Chow Chow)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_cockroach'] = {
		label = 'Pet Cage (Cockroach)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_dalmatian'] = {
		label = 'Pet Cage (Dalmatian)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_doberman'] = {
		label = 'Pet Cage (Doberman)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_k9_male'] = {
		label = 'Pet Cage (K9 Male)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	['battlepet_caged_tarantula'] = {
		label = 'Pet Cage (Tarantula)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
	-- Popcorn RP Alligator
	-- https://popcornrp-store.tebex.io/package/6828221
	['battlepet_caged_alligator'] = {
		label = 'Pet Cage (Alligator)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},

<strong>	-- Popcorn RP Capybara
</strong>	-- https://popcornrp-store.tebex.io/package/6774743
	['battlepet_caged_capybara'] = {
		label = 'Pet Cage (Capybara)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
	-- Popcorn RP English Bulldog
	-- https://popcornrp-store.tebex.io/package/6461327
	['battlepet_caged_englishbulldog'] = {
		label = 'Pet Cage (English Bulldog)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
	-- Popcorn RP Hippo
	-- https://popcornrp-store.tebex.io/package/6807423
	['battlepet_caged_hippo'] = {
		label = 'Pet Cage (Hippo)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
	-- Popcorn RP Arctic Fox
	-- https://popcornrp-store.tebex.io/package/6551883
	['battlepet_caged_arcticfox'] = {
		label = 'Pet Cage (Arctic Fox)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
-- Popcorn RP Husky Puppy
-- https://popcornrp-store.tebex.io/package/6895935
	['battlepet_caged_huskypuppy'] = {
		label = 'Pet Cage (Husky Puppy)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},

	-- Popcorn RP Malinois / German Shepherd - Puppy
	-- https://popcornrp-store.tebex.io/package/6896027
	['battlepet_caged_malsheppuppy'] = {
		label = 'Pet Cage (Malinois Puppy)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
	
	-- Popcorn RP Pygmy Hippo
	-- https://popcornrp-store.tebex.io/package/7059803
	['battlepet_caged_pygmyhippo'] = {
		label = 'Pet Cage (Pygmy Hippo)',
		weight = 500,
		stack = false,
		close = true,
		consume = 1,
		description = 'Use: Add this pet to your collection.',
		server = { export = 'hoff-battlebuddies.ox_cagepetitem' }
	},
</code></pre>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hoffs-addons.gitbook.io/docs/battle-buddies/overview-and-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
