#Guardians & Carrying
Breaking an egg reveals an animal. Picking up that animal starts the guardian response; players carry the pet rather than carrying an unopened map egg.
#Player controls
| Action | Control |
|---|---|
| Break an egg or swing the bat | Equip the tool and click / activate it |
| Pick up an animal | Hold the nearby Pick Up prompt, normally E |
| Auto Swing | Toggle its HUD button; red is off, green is on |
| Drop the carried animal | Use the contextual Drop control |
| Bank the animal | Return to your own plot |
The pickup prompt takes 0.25 seconds and uses the configured pickup range. An unclaimed pickup normally expires after 40 seconds. Its remaining lifetime pauses while carried and resumes after dropping it.
#Chase behavior
GuardianService manages one guardian per zone. The current configuration uses a 1.5-second wake delay and a 25-second chase window. A guardian's speed is based on its zone's Speed requirement and the guardian speed factor.
The catch reach also accounts for the guardian model's size. It is not simply a seven-stud check for every model. Guardians currently use direct movement; this build does not include obstacle-aware pathfinding.
#Bat interactions
The bat can knock an animal from another player's carry outside the safe zone. Index rewards unlock cosmetic bat skins. This is not a base-raiding system: players cannot steal placed pets from another player's pen through this mechanic.
#HUD while carrying
HudContextClient temporarily hides the relevant HUD and menu elements for carrying or chase context, then restores their recorded states. Keep new contextual UI integrated with that controller rather than independently forcing every screen on or off.
#Server checks
The server validates tool cooldowns, range, carried state and base ownership. Changing a client button or attribute alone does not add a pet to a profile. Carry delivery and the resulting inventory change are handled by CarryService and PlayerState.