From 40be434792d3242414c4da4a1d845fbfca1b03b0 Mon Sep 17 00:00:00 2001 From: Bill Date: Sat, 22 May 2021 12:16:40 -0400 Subject: [PATCH] Add packets --- src/nitro/communication/NitroMessages.ts | 4 ++- .../messages/incoming/IncomingHeader.ts | 1 + .../catalog/CatalogApproveNameResultEvent.ts | 16 +++++++++ .../messages/incoming/catalog/index.ts | 1 + .../messages/outgoing/OutgoingHeader.ts | 1 + .../user/ApproveNameMessageComposer.ts | 21 +++++++++++ .../messages/outgoing/user/index.ts | 1 + .../catalog/CatalogApproveNameResultParser.ts | 36 +++++++++++++++++++ .../messages/parser/catalog/index.ts | 1 + 9 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts create mode 100644 src/nitro/communication/messages/outgoing/user/ApproveNameMessageComposer.ts create mode 100644 src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts diff --git a/src/nitro/communication/NitroMessages.ts b/src/nitro/communication/NitroMessages.ts index df391a83..54ad2d5e 100644 --- a/src/nitro/communication/NitroMessages.ts +++ b/src/nitro/communication/NitroMessages.ts @@ -1,5 +1,5 @@ import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration'; -import { SellablePetPalettesEvent } from './messages'; +import { ApproveNameMessageComposer, CatalogApproveNameResultEvent, SellablePetPalettesEvent } from './messages'; import { AvailabilityStatusMessageEvent } from './messages/incoming/availability/AvailabilityStatusMessageEvent'; import { ChangeNameUpdateEvent } from './messages/incoming/avatar/ChangeNameUpdateEvent'; import { CatalogClubEvent } from './messages/incoming/catalog/CatalogClubEvent'; @@ -444,6 +444,7 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.REDEEM_VOUCHER_ERROR, CatalogRedeemVoucherErrorEvent); this._events.set(IncomingHeader.REDEEM_VOUCHER_OK, CatalogRedeemVoucherOkEvent); this._events.set(IncomingHeader.CATALOG_RECEIVE_PET_BREEDS, SellablePetPalettesEvent); + this._events.set(IncomingHeader.CATALOG_APPROVE_NAME_RESULT, CatalogApproveNameResultEvent); // CLIENT this._events.set(IncomingHeader.CLIENT_PING, ClientPingEvent); @@ -938,6 +939,7 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.ROOM_MUTE, RoomMuteComposer); // USER + this._composers.set(OutgoingHeader.APPROVE_NAME, ApproveNameMessageComposer); this._composers.set(OutgoingHeader.USER_RESPECT, UserRespectComposer); // DATA diff --git a/src/nitro/communication/messages/incoming/IncomingHeader.ts b/src/nitro/communication/messages/incoming/IncomingHeader.ts index 6cdecd59..35522812 100644 --- a/src/nitro/communication/messages/incoming/IncomingHeader.ts +++ b/src/nitro/communication/messages/incoming/IncomingHeader.ts @@ -246,4 +246,5 @@ export class IncomingHeader public static MARKETPLACE_ITEMS_SEARCHED = 680; public static MARKETPLACE_AFTER_ORDER_STATUS = 2032; public static CATALOG_RECEIVE_PET_BREEDS = 3331; + public static CATALOG_APPROVE_NAME_RESULT = 1503; } diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts new file mode 100644 index 00000000..d10cea5f --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CatalogApproveNameResultParser } from '../../parser'; + +export class CatalogApproveNameResultEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CatalogApproveNameResultParser); + } + + public getParser(): CatalogApproveNameResultParser + { + return this.parser as CatalogApproveNameResultParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/index.ts b/src/nitro/communication/messages/incoming/catalog/index.ts index ffda2bbb..518c657a 100644 --- a/src/nitro/communication/messages/incoming/catalog/index.ts +++ b/src/nitro/communication/messages/incoming/catalog/index.ts @@ -1,3 +1,4 @@ +export * from './CatalogApproveNameResultEvent'; export * from './CatalogClubEvent'; export * from './CatalogClubGiftsEvent'; export * from './CatalogGiftConfigurationEvent'; diff --git a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts index 6edbd82d..52a7906d 100644 --- a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts +++ b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts @@ -231,4 +231,5 @@ export class OutgoingHeader public static MARKETPLACE_REQUEST_OFFERS = 2407; public static MARKETPLACE_BUY_OFFER = 1603; public static CATALOG_REQUESET_PET_BREEDS = 1756; + public static APPROVE_NAME = 2109; } diff --git a/src/nitro/communication/messages/outgoing/user/ApproveNameMessageComposer.ts b/src/nitro/communication/messages/outgoing/user/ApproveNameMessageComposer.ts new file mode 100644 index 00000000..64ef6ace --- /dev/null +++ b/src/nitro/communication/messages/outgoing/user/ApproveNameMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ApproveNameMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(name: string, type: number) + { + this._data = [ name, type ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/user/index.ts b/src/nitro/communication/messages/outgoing/user/index.ts index c946f640..006b940b 100644 --- a/src/nitro/communication/messages/outgoing/user/index.ts +++ b/src/nitro/communication/messages/outgoing/user/index.ts @@ -1,3 +1,4 @@ +export * from './ApproveNameMessageComposer'; export * from './data'; export * from './inventory'; export * from './settings'; diff --git a/src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts new file mode 100644 index 00000000..c16a7100 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts @@ -0,0 +1,36 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class CatalogApproveNameResultParser implements IMessageParser +{ + private _result: number; + private _validationInfo: string; + + public flush(): boolean + { + this._result = -1; + this._validationInfo = ''; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._result = wrapper.readInt(); + this._validationInfo = wrapper.readString(); + + return true; + } + + public get result(): number + { + return this._result; + } + + public get validationInfo(): string + { + return this._validationInfo; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/index.ts b/src/nitro/communication/messages/parser/catalog/index.ts index 1ec017ed..dfe50c21 100644 --- a/src/nitro/communication/messages/parser/catalog/index.ts +++ b/src/nitro/communication/messages/parser/catalog/index.ts @@ -1,3 +1,4 @@ +export * from './CatalogApproveNameResultParser'; export * from './CatalogClubGiftsParser'; export * from './CatalogClubParser'; export * from './CatalogGiftConfigurationParser';