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
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the rideable pet (horse) |
Notes: Nitro maps two constants to this ID:
PET_RIDEandPET_MOUNT. Both map to the same Arcturus handler.
Mounts a rideable pet (horse). Both PET_RIDE and PET_MOUNT Nitro constants map to this ID.
C→S 1472 - PetRideSettings
Nitro:
TOGGLE_PET_RIDINGSource:
PetRideSettingsEvent,TogglePetRidingComposer
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet to toggle riding permission on |
Toggles riding permission on a pet.
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
| Field | Type | Notes |
|---|---|---|
| petName | string | Pet type name (e.g. "cat", "dog") to get available breeds for |
Notes: Note the typo in the Nitro constant:
CATALOG_REQUESET_PET_BREEDS(missing 'T' in REQUEST). Response isCATALOG_RECEIVE_PET_BREEDS(S→C 3331).
Requests available breeds and palette colours for a pet type. Note the typo in the Nitro constant (REQUESET).
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
| Field | Type | Notes |
|---|---|---|
| petName | string | Pet name to validate |
Notes: Validates the pet name against the word filter. Response is
CATALOG_APPROVE_NAME_RESULT(S→C 1503).
Validates a proposed pet name against the word filter.
C→S 549 - PetSelected
Nitro:
PET_SELECTEDNote: No Arcturus handler - Nitro only. Source:PetSelectedMessageComposer
| Field | Type | Notes |
|---|---|---|
| petId | int | Room entity ID of the selected pet |
Notifies the server that the user has selected a pet in the room. Nitro-only.
C→S 749 - PetSupplement
Nitro:
PET_SUPPLEMENTNote: No Arcturus handler - Nitro only. Source:PetSupplementComposer
| Field | Type | Notes |
|---|---|---|
| petId | int | Room entity ID of the pet to supplement |
| supplement | int | Supplement/potion type ID |
Applies a supplement/potion item to a pet. Nitro-only.
C→S 1521 - HarvestPet
Nitro:
HARVEST_PETNote: No Arcturus handler - Nitro only. Source:HarvestPetMessageComposer
| Field | Type | Notes |
|---|---|---|
| id | int | Room entity ID of the pet to harvest |
Harvests a fully grown monsterplant pet. Nitro-only.
Harvests a fully grown monsterplant pet. Nitro-only.
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
| 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 |
Delivers detailed pet statistics (level, XP, energy, happiness, respect, owner) for the pet info panel.
S→C 1164 - PetTrainingPanel
Nitro:
PET_TRAINING_PANELSource:
PetTrainingPanelComposer,PetTrainingPanelMessageEvent
| 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 |
Delivers available and enabled pet commands for the training panel UI.
S→C 2788 - RoomPetRespect
Nitro:
PET_RESPECTEDSource:
RoomPetRespectComposer,PetRespectNoficationEvent
| Field | Type | Notes |
|---|---|---|
| type | int | Respect animation type |
| unknown | int | Always 100 |
Notifies the room that a pet received a respect, triggering its animation.
S→C 1130 - CantScratchPetNotOldEnough
Nitro:
PET_SCRATCH_FAILEDSource:
CantScratchPetNotOldEnoughComposer,PetScratchFailedMessageEvent
| Field | Type | Notes |
|---|---|---|
| currentAge | int | Pet's current age (days) |
| requiredAge | int | Minimum age required to scratch |
Notifies the user that the pet is too young to scratch, including current and required age.
S→C 859 - PetLevelUp
Nitro:
PET_LEVEL_NOTIFICATIONSource:
PetLevelUpComposer,PetLevelNotificationEvent
| 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 |
Notifies the room that a pet levelled up, with the new level and appearance details.
S→C 2824 - PetLevelUpdated
Nitro:
PET_LEVEL_UPDATESource:
PetLevelUpdatedComposer,PetLevelUpdateMessageEvent
| Field | Type | Notes |
|---|---|---|
| roomUnitId | int | Room unit ID of the pet |
| petId | int | ID of the pet |
| level | int | New level |
Notifies the room that a pet's level has been updated.
S→C 2156 - RoomPetExperience
Nitro:
PET_EXPERIENCESource:
RoomPetExperienceComposer,PetExperienceEvent
| Field | Type | Notes |
|---|---|---|
| petId | int | ID of the pet |
| roomUnitId | int | Room unit ID of the pet |
| amount | int | XP amount gained |
Notifies the room of XP gained by a pet.
S→C 1924 - RoomPetHorseFigure
Nitro:
PET_FIGURE_UPDATESource:
RoomPetHorseFigureComposer,PetFigureUpdateEvent
| 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.) |
Notifies clients of an updated horse pet figure (colour, saddle, hair parts).
S→C 634 - PetBreedingStart
Nitro:
PET_CONFIRM_BREEDING_REQUESTSource:
PetBreedingResultComposer
| Field | Type | Notes |
|---|---|---|
| state | int | Breeding state |
| petOneId | int | ID of first pet |
| petTwoId | int | ID of second pet |
Delivers the initial breeding confirmation state for two pets.
S→C 1746 - PetBreedingStart (breeding state)
Nitro:
PET_BREEDINGSource:
PetBreedingStartComposer
| Field | Type | Notes |
|---|---|---|
| state | int | Breeding state |
| petOneId | int | ID of first pet |
| petTwoId | int | ID of second pet |
Notes: Same composer class as S→C 634. The state value determines the visual feedback shown.
Delivers the active breeding state update for two pets in a breeding nest.
S→C 1553 - PetBreedingResult
Nitro:
PET_BREEDING_RESULTSource:
PetBreedingResult,PetBreedingResultEvent
| Field | Type | Notes |
|---|---|---|
| boxId | int | ID of the resulting pet package box |
| levelCount | int | Always 4 (number of outcome levels) |
Delivers the breeding result (outcome box ID and level count).
S→C 1625 - PetBreedingStartFailed
Nitro:
PET_CONFIRM_BREEDING_RESULTSource:
PetBreedingFailedComposer
| Field | Type | Notes |
|---|---|---|
| reason | int | Failure reason code |
Notifies that initiating pet breeding failed with a reason code.
S→C 2527 - PetBreedingCompleted
Nitro:
PET_NEST_BREEDING_SUCCESSSource:
PetBreedingCompleted
| Field | Type | Notes |
|---|---|---|
| type | int | Pet type of the offspring |
| race | int | Race/breed of the offspring |
Notifies that breeding completed successfully, delivering the offspring's type and breed.
S→C 2621 - PetBreedingFailed
Nitro:
PET_GO_TO_BREEDING_NEST_FAILURESource:
PetBreedingStartFailedComposer
| Field | Type | Notes |
|---|---|---|
| reasonA | int | Primary failure code |
| reasonB | int | Secondary failure code |
Notifies that the breeding process failed with two reason codes.
S→C 546 - PetPackage
Nitro:
PET_OPEN_PACKAGE_RESULTSource:
PetPackageNameValidationComposer,OpenPetPackageResultMessageEvent
| Field | Type | Notes |
|---|---|---|
| itemId | int | ID of the pet package item |
Notifies the client of a pet package item ID after opening.
S→C 2913 - PetPackageNameValidation
Nitro:
PET_PLACING_ERRORSource:
PetErrorComposer,PetPlacingErrorEvent
| Field | Type | Notes |
|---|---|---|
| itemId | int | ID of the pet package item |
| errorCode | int | Validation error code (0 = ok) |
| errorString | string | Error description |
Delivers the name validation result for a pet package opening attempt.
S→C 1111 - PetReceived
Nitro:
PET_RECEIVEDNote: No Arcturus composer - Nitro only. Source:PetBoughtNotificationComposer,PetReceivedMessageEvent
(no Arcturus composer)
Notifies that a pet was received (e.g. purchased or gifted).
| 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 |
Notifies the client that a pet was received (purchased or gifted). Nitro-only.
S→C 2101 - UserPetAdd
Nitro:
USER_PET_ADDNote: No Arcturus composer - Nitro only. Source:AddPetComposer,PetAddedToInventoryEvent
| 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 |
Adds a pet to the user's inventory. Nitro-only.
S→C 2380 - PetOpenPackageRequested
Nitro:
PET_OPEN_PACKAGE_REQUESTEDNote: No Arcturus composer - Nitro only. Source:OpenPetPackageRequestedMessageEvent
(no Arcturus composer)
| Field | Type | Notes |
|---|---|---|
| objectId | int | Pet package item ID |
| figureData | string | Pet figure data string (optional, only if bytes available) |
Prompts the client to open a pet package naming dialog. Nitro-only.
S→C 3253 - UserPetRemove
Nitro:
USER_PET_REMOVENote: No Arcturus composer - Nitro only. Source:RemovePetComposer,PetRemovedFromInventory
| Field | Type | Notes |
|---|---|---|
| petId | int | Pet item ID removed from inventory |
Notifies the client that a pet has been removed from the user's inventory.