diff --git a/src/nitro/communication/NitroMessages.ts b/src/nitro/communication/NitroMessages.ts index 220e916b..5345fc89 100644 --- a/src/nitro/communication/NitroMessages.ts +++ b/src/nitro/communication/NitroMessages.ts @@ -383,7 +383,9 @@ import { SaveRoomSettingsComposer } from './messages/outgoing/room/data/SaveRoom import { BotPlaceComposer } from './messages/outgoing/room/engine/BotPlaceComposer'; import { BotRemoveComposer } from './messages/outgoing/room/engine/BotRemoveComposer'; import { BotSkillSaveComposer } from './messages/outgoing/room/engine/BotSkillSaveComposer'; +import { CompostPlantMessageComposer } from './messages/outgoing/room/engine/CompostPlantMessageComposer'; import { GetItemDataComposer } from './messages/outgoing/room/engine/GetItemDataComposer'; +import { HarvestPetMessageComposer } from './messages/outgoing/room/engine/HarvestPetMessageComposer'; import { PetMoveComposer } from './messages/outgoing/room/engine/PetMoveComposer'; import { PetPlaceComposer } from './messages/outgoing/room/engine/PetPlaceComposer'; import { PetRemoveComposer } from './messages/outgoing/room/engine/PetRemoveComposer'; @@ -1176,6 +1178,8 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.PET_PICKUP, PetRemoveComposer); this._composers.set(OutgoingHeader.SET_ITEM_DATA, SetItemDataMessageComposer); this._composers.set(OutgoingHeader.SET_OBJECT_DATA, SetObjectDataMessageComposer); + this._composers.set(OutgoingHeader.COMPOST_PLANT, CompostPlantMessageComposer); + this._composers.set(OutgoingHeader.HARVEST_PET, HarvestPetMessageComposer); // FURNITURE this._composers.set(OutgoingHeader.FURNITURE_ALIASES, FurnitureAliasesComposer); diff --git a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts index c9e8876d..e53c523c 100644 --- a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts +++ b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts @@ -379,4 +379,6 @@ export class OutgoingHeader public static POLL_START = 109; public static DISCONNECT = 2445; public static SCR_GET_KICKBACK_INFO = 869; + public static COMPOST_PLANT = 3835; + public static HARVEST_PET = 1521; } diff --git a/src/nitro/communication/messages/outgoing/room/engine/CompostPlantMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/engine/CompostPlantMessageComposer.ts new file mode 100644 index 00000000..bc23ccbd --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/engine/CompostPlantMessageComposer.ts @@ -0,0 +1,9 @@ +import { PetMessageComposer } from './PetMessageComposer'; + +export class CompostPlantMessageComposer extends PetMessageComposer +{ + constructor(id: number) + { + super(id); + } +} diff --git a/src/nitro/communication/messages/outgoing/room/engine/HarvestPetMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/engine/HarvestPetMessageComposer.ts new file mode 100644 index 00000000..8c14acc8 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/engine/HarvestPetMessageComposer.ts @@ -0,0 +1,9 @@ +import { PetMessageComposer } from './PetMessageComposer'; + +export class HarvestPetMessageComposer extends PetMessageComposer +{ + constructor(id: number) + { + super(id); + } +} diff --git a/src/nitro/communication/messages/outgoing/room/engine/PetMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/engine/PetMessageComposer.ts new file mode 100644 index 00000000..2729d870 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/engine/PetMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; + +export class PetMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(id: number) + { + this._data = [ id ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/engine/index.ts b/src/nitro/communication/messages/outgoing/room/engine/index.ts index 66c46372..e7fa269a 100644 --- a/src/nitro/communication/messages/outgoing/room/engine/index.ts +++ b/src/nitro/communication/messages/outgoing/room/engine/index.ts @@ -1,7 +1,10 @@ export * from './BotPlaceComposer'; export * from './BotRemoveComposer'; export * from './BotSkillSaveComposer'; +export * from './CompostPlantMessageComposer'; export * from './GetItemDataComposer'; +export * from './HarvestPetMessageComposer'; +export * from './PetMessageComposer'; export * from './PetMoveComposer'; export * from './PetPlaceComposer'; export * from './PetRemoveComposer'; diff --git a/src/nitro/session/IRoomSession.ts b/src/nitro/session/IRoomSession.ts index 8b3ee921..bfb60cea 100644 --- a/src/nitro/session/IRoomSession.ts +++ b/src/nitro/session/IRoomSession.ts @@ -43,6 +43,8 @@ export interface IRoomSession extends IDisposable togglePetBreeding(id: number): void; togglePetRiding(id: number): void; useMultistateItem(id: number): void; + harvestPet(id: number): void; + compostPlant(id: number): void; connection: IConnection; userDataManager: UserDataManager; roomId: number; diff --git a/src/nitro/session/RoomSession.ts b/src/nitro/session/RoomSession.ts index 751eaeaf..06050bdd 100644 --- a/src/nitro/session/RoomSession.ts +++ b/src/nitro/session/RoomSession.ts @@ -1,6 +1,6 @@ import { Disposable } from '../../core/common/disposable/Disposable'; import { IConnection } from '../../core/communication/connections/IConnection'; -import { FurnitureMultiStateComposer, PetMountComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer } from '../communication'; +import { CompostPlantMessageComposer, FurnitureMultiStateComposer, HarvestPetMessageComposer, PetMountComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer } from '../communication'; import { RoomDoorbellAccessComposer } from '../communication/messages/outgoing/room/access/RoomDoorbellAccessComposer'; import { RoomEnterComposer } from '../communication/messages/outgoing/room/access/RoomEnterComposer'; import { RoomAmbassadorAlertComposer } from '../communication/messages/outgoing/room/action/RoomAmbassadorAlertComposer'; @@ -314,6 +314,16 @@ export class RoomSession extends Disposable implements IRoomSession this._connection.send(new FurnitureMultiStateComposer(id)); } + public harvestPet(id: number): void + { + this._connection.send(new HarvestPetMessageComposer(id)); + } + + public compostPlant(id: number): void + { + this._connection.send(new CompostPlantMessageComposer(id)); + } + public get connection(): IConnection { return this._connection;