Pets
Pet placement, riding, breeding, grooming, training, and monsterplant lifecycle.
C→S 2647 - PetPlace
Nitro:
PET_PLACESource:
PetPlaceEvent,PetPlaceComposer
Places a pet from the user's inventory into the room at the specified tile coordinates.
Body:
petId: int
x: int
C→S 1581 - PetPickup
Nitro:
PET_PICKUPSource:
PetPickupEvent,PetRemoveComposer
Picks up a pet from the room and returns it to the user's inventory.
Body: (empty)
C→S 3449 - MovePet
Nitro:
PET_MOVESource:
MovePetEvent,PetMoveComposer
Moves a pet to a new tile position in the room.
Body:
readInt: int
x: int
y: int
C→S 2934 - RequestPetInformation
Nitro:
PET_INFOSource:
RequestPetInformationEvent,RequestPetInfoComposer
Requests detailed stats for a pet (level, XP, energy, happiness), sent when the user clicks a pet.
Body: (empty)
C→S 2161 - RequestPetTrainingPanel
Nitro:
GET_PET_TRAINING_PANELSource:
RequestPetTrainingPanelEvent,GetPetCommandsComposer
Requests the available and enabled training commands for a pet, sent when the owner opens the training panel.
Body: (empty)
C→S 1328 - PetUseItem
Nitro:
USE_PET_PRODUCTSource:
PetUseItemEvent,UsePetProductComposer
Uses a pet product item (food, toy, etc.) on a specific pet.
Body:
itemId: int
C→S 186 - HorseRemoveSaddle
Nitro:
REMOVE_PET_SADDLESource:
HorseRemoveSaddleEvent,RemovePetSaddleComposer
Removes the saddle from a horse pet, returning it to the user's inventory.
Body: (empty)
C→S 3202 - ScratchPet
Nitro:
PET_RESPECTSource:
ScratchPetEvent,PetRespectComposer
Gives a respect scratch to a pet, triggering its happiness animation.
Body: (empty)
C→S 1036 - PetRide
Nitro:
PET_RIDE/PET_MOUNTSource:
PetRideEvent,PetMountComposer
Mounts a rideable pet (e.g. horse).
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the rideable pet (horse) |
C→S 1472 - PetRideSettings
Nitro:
TOGGLE_PET_RIDINGSource:
PetRideSettingsEvent,TogglePetRidingComposer
Toggles riding permission on a pet.
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet to toggle riding permission on |
C→S 3382 - ConfirmPetBreeding
Nitro:
PET_CONFIRM_BREEDINGSource:
ConfirmPetBreedingEvent,ConfirmPetBreedingComposer
Confirms a pet breeding attempt, sending the nest item ID, chosen name, and the two pet IDs.
Body:
itemId: int
name: string
petOneId: int
C→S 2713 - StopBreeding
Nitro:
PET_CANCEL_BREEDINGSource:
StopBreedingEvent,CancelPetBreedingComposer
Cancels an in-progress pet breeding session at the specified nest item.
Body: (empty)
C→S 1756 - RequestPetBreeds
Nitro:
CATALOG_REQUESET_PET_BREEDSSource:
RequestPetBreedsEvent,GetSellablePetPalettesComposer
Requests available breeds and palette colours for a pet type. Response is PetBreeds (3331).
| Field | Type | Notes |
|---|---|---|
| petName | string | Pet type name (e.g. "cat", "dog") to get available breeds for |
C→S 1638 - BreedMonsterplants
Nitro:
PETS_BREEDSource:
BreedMonsterplantsEvent,BreedPetsMessageComposer
Initiates or confirms monsterplant breeding, sending the acceptance state and the two pet IDs.
Body:
Something state. 2 = accept: int
readInt: int
C→S 3379 - ToggleMonsterplantBreedable
Nitro:
TOGGLE_PET_BREEDINGSource:
ToggleMonsterplantBreedableEvent,TogglePetBreedingComposer
Toggles whether a monsterplant pet is available for breeding.
Body: (empty)
C→S 3835 - CompostMonsterplant
Nitro:
COMPOST_PLANTSource:
CompostMonsterplantEvent,CompostPlantMessageComposer
Composts (permanently destroys) a monsterplant pet to free the slot.
Body: (empty)
C→S 3698 - PetPackageName
Nitro:
PET_OPEN_PACKAGESource:
PetPackageNameEvent,OpenPetPackageMessageComposer
Opens a pet package item and assigns the new pet a name.
Body:
itemId: int
C→S 2109 - CheckPetName
Nitro:
APPROVE_NAMESource:
CheckPetNameEvent,ApproveNameMessageComposer
Validates a proposed pet name against the word filter. Response is PetNameError (1503).
| Field | Type | Notes |
|---|---|---|
| petName | string | Pet name to validate |
C→S 549 - PetSelected
Nitro:
PET_SELECTEDNote: No Arcturus handler - Nitro only. Source:PetSelectedMessageComposer
Notifies the server that the user has selected a pet in the room. Nitro-only.
| Field | Type | Notes |
|---|---|---|
| petId | int | Room entity ID of the selected pet |
C→S 749 - PetSupplement
Nitro:
PET_SUPPLEMENTNote: No Arcturus handler - Nitro only. Source:PetSupplementComposer
Applies a supplement or potion item to a pet. Nitro-only.
| Field | Type | Notes |
|---|---|---|
| petId | int | Room entity ID of the pet to supplement |
| supplement | int | Supplement/potion type ID |
C→S 1521 - HarvestPet
Nitro:
HARVEST_PETNote: No Arcturus handler - Nitro only. Source:HarvestPetMessageComposer
Harvests a fully grown monsterplant pet. Nitro-only.
| Field | Type | Notes |
|---|---|---|
| id | int | Room entity ID of the pet to harvest |
S→C 1907 - PetStatusUpdate
Nitro:
PET_STATUSSource:
PetStatusUpdateComposer,PetStatusUpdateEvent
Body:
roomUnit(: int
this.pet instanceof RideablePet && ((RideablePet: int
unknown 1: boolean
(this.pet instanceof MonsterplantPet && !((MonsterplantPet: boolean
State Grown: boolean
this.pet instanceof MonsterplantPet && ((MonsterplantPet: boolean
S→C 2901 - PetInformation
Nitro:
PET_INFOSource:
PetInformationComposer,PetInfoEvent
Delivers detailed pet statistics, like level, experience, energy, happiness, respect and owner. Used by the pet info panel.
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet |
| petName | string | Pet's name |
| growthStage | int | Growth stage (monsterplants only; otherwise level) |
| maxLevel | int | Always 20 |
| experience | int | Total XP |
| xpGoal | int | XP needed for next level |
| energy | int | Current energy |
| maxEnergy | int | Maximum energy |
| happiness | int | Current happiness |
| maxHappiness | int | Always 100 |
| respect | int | Total respects received |
| ownerId | int | Account ID of the owner |
S→C 1164 - PetTrainingPanel
Nitro:
PET_TRAINING_PANELSource:
PetTrainingPanelComposer,PetTrainingPanelMessageEvent
Delivers available and enabled pet commands for the training panel UI.
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet |
| commandCount | int | Total number of available commands |
| commandIds[] | int[] | All command IDs |
| enabledCount | int | Number of currently enabled commands |
| enabledIds[] | int[] | Enabled command IDs |
S→C 2788 - RoomPetRespect
Nitro:
PET_RESPECTEDSource:
RoomPetRespectComposer,PetRespectNoficationEvent
Notifies the room that a pet received a respect. Triggers an animation.
| Field | Type | Notes |
|---|---|---|
| type | int | Respect animation type |
| unknown | int | Always 100 |
S→C 1130 - CantScratchPetNotOldEnough
Nitro:
PET_SCRATCH_FAILEDSource:
CantScratchPetNotOldEnoughComposer,PetScratchFailedMessageEvent
Notifies the user that the pet is too young to scratch, including current and required age.
| Field | Type | Notes |
|---|---|---|
| currentAge | int | Pet's current age (days) |
| requiredAge | int | Minimum age required to scratch |
S→C 859 - PetLevelUp
Nitro:
PET_LEVEL_NOTIFICATIONSource:
PetLevelUpComposer,PetLevelNotificationEvent
Notifies the room that a pet levelled up, with the new level and appearance details.
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet |
| petName | string | Pet's name |
| level | int | New level |
| petType | int | Pet type ID |
| race | int | Pet race/breed ID |
| color | string | Pet color string |
| unknown1 | int | Always 0 |
| unknown2 | int | Always 0 |
S→C 2824 - PetLevelUpdated
Nitro:
PET_LEVEL_UPDATESource:
PetLevelUpdatedComposer,PetLevelUpdateMessageEvent
Notifies the room that a pet's level has been updated.
| Field | Type | Notes |
|---|---|---|
| roomUnitId | int | Room unit ID of the pet |
| petId | int | ID of the pet |
| level | int | New level |
S→C 2156 - RoomPetExperience
Nitro:
PET_EXPERIENCESource:
RoomPetExperienceComposer,PetExperienceEvent
Notifies the room of XP gained by a pet.
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet |
| roomUnitId | int | Room unit ID of the pet |
| amount | int | XP amount gained |
S→C 1924 - RoomPetHorseFigure
Nitro:
PET_FIGURE_UPDATESource:
RoomPetHorseFigureComposer,PetFigureUpdateEvent
Notifies clients of an updated horse pet figure (colour, saddle, hair parts).
| Field | Type | Notes |
|---|---|---|
| roomUnitId | int | Room unit ID of the horse |
| petId | int | ID of the pet |
| petType | int | Pet type ID |
| race | int | Race/breed ID |
| color | string | Color string (lowercase) |
| partCount | int | Number of visual parts |
| parts[] | int[] | Part IDs (saddle type, hair style, hair color, etc.) |
S→C 634 - PetBreedingStart
Nitro:
PET_CONFIRM_BREEDING_REQUESTSource:
PetBreedingResultComposer
Delivers the initial breeding confirmation state for two pets.
| Field | Type | Notes |
|---|---|---|
| state | int | Breeding state |
| petOneId | int | ID of first pet |
| petTwoId | int | ID of second pet |
S→C 1746 - PetBreedingStart (breeding state)
Nitro:
PET_BREEDINGSource:
PetBreedingStartComposer
Delivers the active breeding state update for two pets in a breeding nest.
| Field | Type | Notes |
|---|---|---|
| state | int | Breeding state |
| petOneId | int | ID of first pet |
| petTwoId | int | ID of second pet |
S→C 1553 - PetBreedingResult
Nitro:
PET_BREEDING_RESULTSource:
PetBreedingResult,PetBreedingResultEvent
Delivers the breeding result (outcome box ID and level count).
| Field | Type | Notes |
|---|---|---|
| boxId | int | ID of the resulting pet package box |
| levelCount | int | Always 4 (number of outcome levels) |
S→C 1625 - PetBreedingStartFailed
Nitro:
PET_CONFIRM_BREEDING_RESULTSource:
PetBreedingFailedComposer
Notifies that initiating pet breeding failed with a reason code.
| Field | Type | Notes |
|---|---|---|
| reason | int | Failure reason code |
S→C 2527 - PetBreedingCompleted
Nitro:
PET_NEST_BREEDING_SUCCESSSource:
PetBreedingCompleted
Notifies that breeding completed successfully, delivering the offspring's type and breed.
| Field | Type | Notes |
|---|---|---|
| type | int | Pet type of the offspring |
| race | int | Race/breed of the offspring |
S→C 2621 - PetBreedingFailed
Nitro:
PET_GO_TO_BREEDING_NEST_FAILURESource:
PetBreedingStartFailedComposer
Notifies that the breeding process failed with two reason codes.
| Field | Type | Notes |
|---|---|---|
| reasonA | int | Primary failure code |
| reasonB | int | Secondary failure code |
S→C 546 - PetPackage
Nitro:
PET_OPEN_PACKAGE_RESULTSource:
PetPackageNameValidationComposer,OpenPetPackageResultMessageEvent
Notifies the client of a pet package item ID after opening.
| Field | Type | Notes |
|---|---|---|
| itemId | int | ID of the pet package item |
S→C 2913 - PetPackageNameValidation
Nitro:
PET_PLACING_ERRORSource:
PetErrorComposer,PetPlacingErrorEvent
Delivers the name validation result for a pet package opening attempt.
| Field | Type | Notes |
|---|---|---|
| itemId | int | ID of the pet package item |
| errorCode | int | Validation error code (0 = ok) |
| errorString | string | Error description |
S→C 1111 - PetReceived
Nitro:
PET_RECEIVEDNote: No Arcturus composer - Nitro only. Source:PetBoughtNotificationComposer,PetReceivedMessageEvent
(no Arcturus composer)
Notifies the client that a pet was received (purchased or gifted). Nitro-only.
| Field | Type | Notes |
|---|---|---|
| boughtAsGift | boolean | Whether the pet arrived as a gift |
| pet.id | int | Pet item ID |
| pet.name | string | Pet name |
| pet.typeId | int | Pet type ID |
| pet.paletteId | int | Palette ID |
| pet.color | string | Color hex string |
| pet.breedId | int | Breed ID |
| pet.level | int | Pet level |
S→C 2101 - UserPetAdd
Nitro:
USER_PET_ADDNote: No Arcturus composer - Nitro only. Source:AddPetComposer,PetAddedToInventoryEvent
Adds a pet to the user's inventory. Nitro-only.
| Field | Type | Notes |
|---|---|---|
| pet.id | int | Pet item ID |
| pet.name | string | Pet name |
| pet.typeId | int | Pet type ID |
| pet.paletteId | int | Palette ID |
| pet.color | string | Color hex string |
| pet.breedId | int | Breed ID |
| pet.level | int | Pet level |
| boughtAsGift | boolean | Whether the pet was received as a gift |
S→C 2380 - PetOpenPackageRequested
Nitro:
PET_OPEN_PACKAGE_REQUESTEDNote: No Arcturus composer - Nitro only. Source:OpenPetPackageRequestedMessageEvent
(no Arcturus composer)
Prompts the client to open a pet package naming dialog. Nitro-only.
| Field | Type | Notes |
|---|---|---|
| objectId | int | Pet package item ID |
| figureData | string | Pet figure data string (optional, only if bytes available) |
S→C 3253 - UserPetRemove
Nitro:
USER_PET_REMOVENote: No Arcturus composer - Nitro only. Source:RemovePetComposer,PetRemovedFromInventory
Notifies the client that a pet has been removed from the user's inventory.
| Field | Type | Notes |
|---|---|---|
| petId | int | Pet item ID removed from inventory |
S→C 3441 - PetSupplement
Nitro:
PET_SUPPLEMENTSource:UnknownComposer8,PetSupplementedNotificationEvent
Notifies the room that a supplement was applied to a pet.
| Field | Type | Notes |
|---|---|---|
| petId | int | Room unit ID of the pet that was supplemented |
| userId | int | Account ID of the user who gave the supplement |
| supplementType | int | Supplement type ID |