Add packets

This commit is contained in:
Bill 2021-08-22 18:20:18 -04:00
parent bff0151301
commit 6f76cf80f4
42 changed files with 537 additions and 45 deletions

View File

@ -1,5 +1,5 @@
import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration';
import { AchievementNotificationMessageEvent, ApproveNameMessageComposer, BadgeReceivedEvent, BonusRareInfoMessageEvent, CatalogApproveNameResultEvent, ChangeUserNameResultMessageEvent, FurnitureGuildInfoComposer, GetBonusRareInfoMessageComposer, MysteryBoxKeysEvent, PetExperienceEvent, PetMountComposer, PetSupplementComposer, RemoveAllRightsMessageComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RoomUnitGiveHandItemPetComposer, SellablePetPalettesEvent, TogglePetBreedingComposer, TogglePetRidingComposer, UnseenResetCategoryComposer, UnseenResetItemsComposer, UsePetProductComposer } from './messages';
import { AchievementNotificationMessageEvent, ActivityPointNotificationMessageEvent, ApproveNameMessageComposer, AvailabilityTimeMessageEvent, BadgeReceivedEvent, BonusRareInfoMessageEvent, CatalogApproveNameResultEvent, ChangeUserNameResultMessageEvent, ClubGiftNotificationEvent, FurnitureGuildInfoComposer, GetBonusRareInfoMessageComposer, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelWillCloseInMinutesEvent, InfoFeedEnableMessageEvent, InterstitialMessageEvent, MaintenanceStatusMessageEvent, MysteryBoxKeysEvent, PetExperienceEvent, PetMountComposer, PetSupplementComposer, RemoveAllRightsMessageComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RoomAdErrorEvent, RoomUnitGiveHandItemPetComposer, SellablePetPalettesEvent, TogglePetBreedingComposer, TogglePetRidingComposer, UnseenResetCategoryComposer, UnseenResetItemsComposer, UsePetProductComposer } from './messages';
import { AvailabilityStatusMessageEvent } from './messages/incoming/availability/AvailabilityStatusMessageEvent';
import { CameraPublishStatusMessageEvent } from './messages/incoming/camera/CameraPublishStatusMessageEvent';
import { CameraPurchaseOKMessageEvent } from './messages/incoming/camera/CameraPurchaseOKMessageEvent';
@ -96,7 +96,6 @@ import { TradingOtherNotAllowedEvent } from './messages/incoming/inventory/tradi
import { TradingYouAreNotAllowedEvent } from './messages/incoming/inventory/trading/TradingYouAreNotAllowedEvent';
import { PromoArticlesMessageEvent } from './messages/incoming/landingview/PromoArticlesMessageEvent';
import { CommunityGoalVoteMessageEvent } from './messages/incoming/landingview/votes/CommunityGoalVoteMessageEvent';
import { ModeratorMessageEvent } from './messages/incoming/moderation/ModeratorMessageEvent';
import { ModtoolCallForHelpTopicsEvent } from './messages/incoming/modtool/ModtoolCallForHelpTopicsEvent';
import { ModtoolMainEvent } from './messages/incoming/modtool/ModtoolMainEvent';
import { ModtoolReceivedRoomsUserEvent } from './messages/incoming/modtool/ModtoolReceivedRoomsUserEvent';
@ -117,10 +116,10 @@ import { NavigatorSettingsEvent } from './messages/incoming/navigator/NavigatorS
import { BotErrorEvent } from './messages/incoming/notifications/BotErrorEvent';
import { HabboBroadcastMessageEvent } from './messages/incoming/notifications/HabboBroadcastMessageEvent';
import { HotelWillShutdownEvent } from './messages/incoming/notifications/HotelWillShutdownEvent';
import { ModeratorMessageEvent } from './messages/incoming/notifications/ModeratorMessageEvent';
import { MOTDNotificationEvent } from './messages/incoming/notifications/MOTDNotificationEvent';
import { NotificationDialogMessageEvent } from './messages/incoming/notifications/NotificationDialogMessageEvent';
import { PetPlacingErrorEvent } from './messages/incoming/notifications/PetPlacingErrorEvent';
import { RespectReceivedEvent } from './messages/incoming/notifications/RespectReceivedEvent';
import { UnseenItemsEvent } from './messages/incoming/notifications/UnseenItemsEvent';
import { CommunityGoalEarnedPrizesMessageEvent } from './messages/incoming/quest/CommunityGoalEarnedPrizesMessageEvent';
import { CommunityGoalHallOfFameMessageEvent } from './messages/incoming/quest/CommunityGoalHallOfFameMessageEvent';
@ -225,8 +224,8 @@ import { IgnoreResultEvent } from './messages/incoming/user/IgnoreResultEvent';
import { InClientLinkEvent } from './messages/incoming/user/InClientLinkEvent';
import { UserCreditsEvent } from './messages/incoming/user/inventory/currency/UserCreditsEvent';
import { UserCurrencyEvent } from './messages/incoming/user/inventory/currency/UserCurrencyEvent';
import { UserCurrencyUpdateEvent } from './messages/incoming/user/inventory/currency/UserCurrencyUpdateEvent';
import { UserSubscriptionEvent } from './messages/incoming/user/inventory/subscription/UserSubscriptionEvent';
import { RespectReceivedEvent } from './messages/incoming/user/RespectReceivedEvent';
import { UserWardrobePageEvent } from './messages/incoming/user/wardrobe/UserWardrobePageEvent';
import { RequestAchievementsMessageComposer } from './messages/outgoing/achievements/RequestAchievementsMessageComposer';
import { PhotoCompetitionMessageComposer } from './messages/outgoing/camera/PhotoCompetitionMessageComposer';
@ -473,8 +472,19 @@ export class NitroMessages implements IMessageConfiguration
private registerEvents(): void
{
// ADVERTISEMENT
this._events.set(IncomingHeader.INTERSTITIAL_MESSAGE, InterstitialMessageEvent);
this._events.set(IncomingHeader.ROOM_AD_ERROR, RoomAdErrorEvent);
// AVAILABILITY
this._events.set(IncomingHeader.AVAILABILITY_STATUS, AvailabilityStatusMessageEvent);
this._events.set(IncomingHeader.AVAILABILITY_TIME, AvailabilityTimeMessageEvent);
this._events.set(IncomingHeader.HOTEL_CLOSED_AND_OPENS, HotelClosedAndOpensEvent);
this._events.set(IncomingHeader.HOTEL_CLOSES_AND_OPENS_AT, HotelClosesAndWillOpenAtEvent);
this._events.set(IncomingHeader.HOTEL_WILL_CLOSE_MINUTES, HotelWillCloseInMinutesEvent);
this._events.set(IncomingHeader.HOTEL_MAINTENANCE, MaintenanceStatusMessageEvent);
this._events.set(IncomingHeader.GENERIC_ERROR, GenericErrorEvent);
// AVATAR
@ -571,9 +581,6 @@ export class NitroMessages implements IMessageConfiguration
this._events.set(IncomingHeader.TRADE_OTHER_NOT_ALLOWED, TradingOtherNotAllowedEvent);
this._events.set(IncomingHeader.TRADE_YOU_NOT_ALLOWED, TradingYouAreNotAllowedEvent);
// MODERATION
this._events.set(IncomingHeader.GENERIC_ALERT_LINK, ModeratorMessageEvent);
// MODTOOL
this._events.set(IncomingHeader.MODTOOL_ROOM_INFO, ModtoolRoomInfoEvent);
this._events.set(IncomingHeader.MODTOOL_USER_CHATLOG, ModtoolUserChatlogEvent);
@ -598,10 +605,13 @@ export class NitroMessages implements IMessageConfiguration
this._events.set(IncomingHeader.GENERIC_ALERT, HabboBroadcastMessageEvent);
this._events.set(IncomingHeader.MOTD_MESSAGES, MOTDNotificationEvent);
this._events.set(IncomingHeader.NOTIFICATION_LIST, NotificationDialogMessageEvent);
this._events.set(IncomingHeader.USER_RESPECT, RespectReceivedEvent);
this._events.set(IncomingHeader.UNSEEN_ITEMS, UnseenItemsEvent);
this._events.set(IncomingHeader.HOTEL_WILL_SHUTDOWN, HotelWillShutdownEvent);
this._events.set(IncomingHeader.ACHIEVEMENT_NOTIFICATION, AchievementNotificationMessageEvent);
this._events.set(IncomingHeader.INFO_FEED_ENABLE, InfoFeedEnableMessageEvent);
this._events.set(IncomingHeader.CLUB_GIFT_NOTIFICATION, ClubGiftNotificationEvent);
this._events.set(IncomingHeader.MODERATOR_MESSAGE, ModeratorMessageEvent);
this._events.set(IncomingHeader.ACTIVITY_POINT_NOTIFICATION, ActivityPointNotificationMessageEvent);
// ROOM
@ -721,6 +731,7 @@ export class NitroMessages implements IMessageConfiguration
this._events.set(IncomingHeader.IN_CLIENT_LINK, InClientLinkEvent);
this._events.set(IncomingHeader.USER_IGNORED, IgnoredUsersEvent);
this._events.set(IncomingHeader.USER_IGNORED_RESULT, IgnoreResultEvent);
this._events.set(IncomingHeader.USER_RESPECT, RespectReceivedEvent);
// BADGES
this._events.set(IncomingHeader.USER_BADGES, BadgesEvent);
@ -753,7 +764,6 @@ export class NitroMessages implements IMessageConfiguration
// CURRENCY
this._events.set(IncomingHeader.USER_CREDITS, UserCreditsEvent);
this._events.set(IncomingHeader.USER_CURRENCY, UserCurrencyEvent);
this._events.set(IncomingHeader.USER_CURRENCY_UPDATE, UserCurrencyUpdateEvent);
// SUBSCRIPTION
this._events.set(IncomingHeader.USER_SUBSCRIPTION, UserSubscriptionEvent);

View File

@ -35,7 +35,7 @@ export class IncomingHeader
public static GAME_CENTER_GAME_LIST = 222;
public static GAME_CENTER_STATUS = 2893;
public static GENERIC_ALERT = 3801;
public static GENERIC_ALERT_LINK = 2030;
public static MODERATOR_MESSAGE = 2030;
public static GENERIC_ERROR = 1600;
public static GIFT_CONFIG = 2234;
public static GROUP_BADGES = 2402;
@ -134,7 +134,7 @@ export class IncomingHeader
public static ROOM_SETTINGS_UPDATED = 3297;
public static ROOM_SPECTATOR = 1033;
public static ROOM_THICKNESS = 3547;
public static SECURITY_DEBUG = 3284;
public static INFO_FEED_ENABLE = 3284;
public static SECURITY_MACHINE = 1488;
public static MYSTERY_BOX_KEYS = 2833;
public static TRADE_ACCEPTED = 2568;
@ -174,7 +174,7 @@ export class IncomingHeader
public static USER_CLOTHING = 1450;
public static USER_CREDITS = 3475;
public static USER_CURRENCY = 2018;
public static USER_CURRENCY_UPDATE = 2275;
public static ACTIVITY_POINT_NOTIFICATION = 2275;
public static USER_EFFECTS = 340;
public static USER_FAVORITE_ROOM = 2524;
public static USER_FAVORITE_ROOM_COUNT = 151;
@ -272,4 +272,12 @@ export class IncomingHeader
public static INIT_CAMERA = 3878;
public static THUMBNAIL_STATUS = 3595;
public static ACHIEVEMENT_NOTIFICATION = 806;
public static CLUB_GIFT_NOTIFICATION = 2188;
public static INTERSTITIAL_MESSAGE = 1808;
public static ROOM_AD_ERROR = 1759;
public static AVAILABILITY_TIME = 600;
public static HOTEL_CLOSED_AND_OPENS = 3728;
public static HOTEL_CLOSES_AND_OPENS_AT = 2771;
public static HOTEL_WILL_CLOSE_MINUTES = 1050;
public static HOTEL_MAINTENANCE = 1350;
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { InterstitialMessageParser } from '../../parser';
export class InterstitialMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, InterstitialMessageParser);
}
public getParser(): InterstitialMessageParser
{
return this.parser as InterstitialMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { RoomAdErrorMessageParser } from '../../parser';
export class RoomAdErrorEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, RoomAdErrorMessageParser);
}
public getParser(): RoomAdErrorMessageParser
{
return this.parser as RoomAdErrorMessageParser;
}
}

View File

@ -0,0 +1,2 @@
export * from './InterstitialMessageEvent';
export * from './RoomAdErrorEvent';

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { AvailabilityTimeMessageParser } from '../../parser';
export class AvailabilityTimeMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, AvailabilityTimeMessageParser);
}
public getParser(): AvailabilityTimeMessageParser
{
return this.parser as AvailabilityTimeMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { HotelClosedAndOpensMessageParser } from '../../parser';
export class HotelClosedAndOpensEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HotelClosedAndOpensMessageParser);
}
public getParser(): HotelClosedAndOpensMessageParser
{
return this.parser as HotelClosedAndOpensMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { HotelClosesAndWillOpenAtMessageParser } from '../../parser';
export class HotelClosesAndWillOpenAtEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HotelClosesAndWillOpenAtMessageParser);
}
public getParser(): HotelClosesAndWillOpenAtMessageParser
{
return this.parser as HotelClosesAndWillOpenAtMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { HotelWillCloseInMinutesMessageParser } from '../../parser';
export class HotelWillCloseInMinutesEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HotelWillCloseInMinutesMessageParser);
}
public getParser(): HotelWillCloseInMinutesMessageParser
{
return this.parser as HotelWillCloseInMinutesMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { MaintenanceStatusMessageParser } from '../../parser';
export class MaintenanceStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, MaintenanceStatusMessageParser);
}
public getParser(): MaintenanceStatusMessageParser
{
return this.parser as MaintenanceStatusMessageParser;
}
}

View File

@ -1 +1,6 @@
export * from './AvailabilityStatusMessageEvent';
export * from './AvailabilityTimeMessageEvent';
export * from './HotelClosedAndOpensEvent';
export * from './HotelClosesAndWillOpenAtEvent';
export * from './HotelWillCloseInMinutesEvent';
export * from './MaintenanceStatusMessageEvent';

View File

@ -1,3 +1,4 @@
export * from './advertisement';
export * from './availability';
export * from './avatar';
export * from './camera';
@ -23,7 +24,6 @@ export * from './inventory/marketplace';
export * from './inventory/pets';
export * from './inventory/trading';
export * from './landingview';
export * from './moderation';
export * from './modtool';
export * from './mysterybox';
export * from './navigator';

View File

@ -1 +0,0 @@
export * from './ModeratorMessageEvent';

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { ActivityPointNotificationParser } from '../../parser/notifications/ActivityPointNotificationParser';
export class ActivityPointNotificationMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ActivityPointNotificationParser);
}
public getParser(): ActivityPointNotificationParser
{
return this.parser as ActivityPointNotificationParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { ClubGiftNotificationParser } from '../../parser';
export class ClubGiftNotificationEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ClubGiftNotificationParser);
}
public getParser(): ClubGiftNotificationParser
{
return this.parser as ClubGiftNotificationParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { InfoFeedEnableMessageParser } from '../../parser';
export class InfoFeedEnableMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, InfoFeedEnableMessageParser);
}
public getParser(): InfoFeedEnableMessageParser
{
return this.parser as InfoFeedEnableMessageParser;
}
}

View File

@ -1,6 +1,6 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { ModeratorMessageParser } from '../../parser/moderation/ModeratorMessageParser';
import { ModeratorMessageParser } from '../../parser/notifications/ModeratorMessageParser';
export class ModeratorMessageEvent extends MessageEvent implements IMessageEvent
{
@ -13,4 +13,4 @@ export class ModeratorMessageEvent extends MessageEvent implements IMessageEvent
{
return this.parser as ModeratorMessageParser;
}
}
}

View File

@ -1,10 +1,13 @@
export * from './AchievementLevelUpData';
export * from './AchievementNotificationMessageEvent';
export * from './ActivityPointNotificationMessageEvent';
export * from './BotErrorEvent';
export * from './ClubGiftNotificationEvent';
export * from './HabboBroadcastMessageEvent';
export * from './HotelWillShutdownEvent';
export * from './InfoFeedEnableMessageEvent';
export * from './ModeratorMessageEvent';
export * from './MOTDNotificationEvent';
export * from './NotificationDialogMessageEvent';
export * from './PetPlacingErrorEvent';
export * from './RespectReceivedEvent';
export * from './UnseenItemsEvent';

View File

@ -1,6 +1,6 @@
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
import { RespectReceivedParser } from '../../parser/notifications/RespectReceivedParser';
import { RespectReceivedParser } from '../../parser/user/RespectReceivedParser';
export class RespectReceivedEvent extends MessageEvent implements IMessageEvent
{
@ -13,4 +13,4 @@ export class RespectReceivedEvent extends MessageEvent implements IMessageEvent
{
return this.parser as RespectReceivedParser;
}
}
}

View File

@ -4,4 +4,5 @@ export * from './IgnoredUsersEvent';
export * from './IgnoreResultEvent';
export * from './InClientLinkEvent';
export * from './inventory';
export * from './RespectReceivedEvent';
export * from './wardrobe';

View File

@ -1,16 +0,0 @@
import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent';
import { UserCurrencyUpdateParser } from '../../../../parser/user/inventory/currency/UserCurrencyUpdateParser';
export class UserCurrencyUpdateEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, UserCurrencyUpdateParser);
}
public getParser(): UserCurrencyUpdateParser
{
return this.parser as UserCurrencyUpdateParser;
}
}

View File

@ -1,3 +1,2 @@
export * from './UserCreditsEvent';
export * from './UserCurrencyEvent';
export * from './UserCurrencyUpdateEvent';

View File

@ -0,0 +1,28 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class InterstitialMessageParser implements IMessageParser
{
private _canShowInterstitial: boolean;
public flush(): boolean
{
this._canShowInterstitial = false;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._canShowInterstitial = wrapper.readBoolean();
return true;
}
public get canShowInterstitial(): boolean
{
return this._canShowInterstitial;
}
}

View File

@ -0,0 +1,36 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class RoomAdErrorMessageParser implements IMessageParser
{
private _errorCode: number;
private _filteredText: string;
public flush(): boolean
{
this._errorCode = 0;
this._filteredText = null;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._errorCode = wrapper.readInt();
this._filteredText = wrapper.readString();
return true;
}
public get errorCode(): number
{
return this._errorCode;
}
public get filteredText(): string
{
return this._filteredText;
}
}

View File

@ -0,0 +1,2 @@
export * from './InterstitialMessageParser';
export * from './RoomAdErrorMessageParser';

View File

@ -0,0 +1,36 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class AvailabilityTimeMessageParser implements IMessageParser
{
private _isOpen: boolean;
private _minutesUntilChange: number;
public flush(): boolean
{
this._isOpen = false;
this._minutesUntilChange = 0;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._isOpen = (wrapper.readInt() > 0);
this._minutesUntilChange = wrapper.readInt();
return true;
}
public get isOpen(): boolean
{
return this._isOpen;
}
public get minutesUntilChange(): number
{
return this._minutesUntilChange;
}
}

View File

@ -0,0 +1,36 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class HotelClosedAndOpensMessageParser implements IMessageParser
{
private _openHour: number;
private _openMinute: number;
public flush(): boolean
{
this._openHour = 0;
this._openMinute = 0;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._openHour = wrapper.readInt();
this._openMinute = wrapper.readInt();
return true;
}
public get openHour(): number
{
return this._openHour;
}
public get openMinute(): number
{
return this._openMinute;
}
}

View File

@ -0,0 +1,44 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class HotelClosesAndWillOpenAtMessageParser implements IMessageParser
{
private _openHour: number;
private _openMinute: number;
private _userThrownOutAtClose: boolean;
public flush(): boolean
{
this._openHour = 0;
this._openMinute = 0;
this._userThrownOutAtClose = false;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._openHour = wrapper.readInt();
this._openMinute = wrapper.readInt();
this._userThrownOutAtClose = wrapper.readBoolean();
return true;
}
public get openHour(): number
{
return this._openHour;
}
public get openMinute(): number
{
return this._openMinute;
}
public get userThrowOutAtClose(): boolean
{
return this._userThrownOutAtClose;
}
}

View File

@ -0,0 +1,28 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class HotelWillCloseInMinutesMessageParser implements IMessageParser
{
private _minutes: number;
public flush(): boolean
{
this._minutes = 0;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._minutes = wrapper.readInt();
return true;
}
public get openMinute(): number
{
return this._minutes;
}
}

View File

@ -0,0 +1,48 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class MaintenanceStatusMessageParser implements IMessageParser
{
private _isInMaintenance: boolean;
private _minutesUntilMaintenance: number;
private _duration: number;
public flush(): boolean
{
this._isInMaintenance = false;
this._minutesUntilMaintenance = 0;
this._duration = 15;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._isInMaintenance = wrapper.readBoolean();
this._minutesUntilMaintenance = wrapper.readInt();
if(wrapper.bytesAvailable)
{
this._duration = wrapper.readInt();
}
return true;
}
public get isInMaintenance(): boolean
{
return this._isInMaintenance;
}
public get minutesUntilMaintenance(): number
{
return this._minutesUntilMaintenance;
}
public get duration(): number
{
return this._duration;
}
}

View File

@ -1 +1,6 @@
export * from './AvailabilityStatusMessageParser';
export * from './AvailabilityTimeMessageParser';
export * from './HotelClosedAndOpensMessageParser';
export * from './HotelClosesAndWillOpenAtMessageParser';
export * from './HotelWillCloseInMinutesMessageParser';
export * from './MaintenanceStatusMessageParser';

View File

@ -1,3 +1,4 @@
export * from './advertisement';
export * from './availability';
export * from './avatar';
export * from './camera';
@ -11,7 +12,6 @@ export * from './group';
export * from './help';
export * from './inventory';
export * from './landingview';
export * from './moderation';
export * from './modtool';
export * from './mysterybox';
export * from './navigator';

View File

@ -1 +0,0 @@
export * from './ModeratorMessageParser';

View File

@ -1,7 +1,7 @@
import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser';
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class UserCurrencyUpdateParser implements IMessageParser
export class ActivityPointNotificationParser implements IMessageParser
{
private _amount: number;
private _amountChanged: number;
@ -41,4 +41,4 @@ export class UserCurrencyUpdateParser implements IMessageParser
{
return this._type;
}
}
}

View File

@ -0,0 +1,28 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class ClubGiftNotificationParser implements IMessageParser
{
private _numGifts: number;
public flush(): boolean
{
this._numGifts = 0;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._numGifts = wrapper.readInt();
return true;
}
public get numGifts(): number
{
return this._numGifts;
}
}

View File

@ -0,0 +1,28 @@
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
export class InfoFeedEnableMessageParser implements IMessageParser
{
private _enabled: boolean;
public flush(): boolean
{
this._enabled = false;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._enabled = wrapper.readBoolean();
return true;
}
public get enabled(): boolean
{
return this._enabled;
}
}

View File

@ -1,9 +1,12 @@
export * from './AchievementNotificationMessageParser';
export * from './ActivityPointNotificationParser';
export * from './BotErrorEventParser';
export * from './ClubGiftNotificationParser';
export * from './HabboBroadcastMessageParser';
export * from './HotelWillShutdownParser';
export * from './InfoFeedEnableMessageParser';
export * from './ModeratorMessageParser';
export * from './MOTDNotificationParser';
export * from './NotificationDialogMessageParser';
export * from './PetPlacingErrorEventParser';
export * from './RespectReceivedParser';
export * from './UnseenItemsParser';

View File

@ -4,4 +4,5 @@ export * from './IgnoredUsersParser';
export * from './IgnoreResultParser';
export * from './InClientLinkParser';
export * from './inventory';
export * from './RespectReceivedParser';
export * from './wardrobe';

View File

@ -1,3 +1,2 @@
export * from './UserCreditsParser';
export * from './UserCurrencyParser';
export * from './UserCurrencyUpdateParser';

View File

@ -1,11 +1,11 @@
import { IConnection } from '../../../core/communication/connections/IConnection';
import { RespectReceivedEvent } from '../../communication/messages/incoming/notifications/RespectReceivedEvent';
import { FloodControlEvent } from '../../communication/messages/incoming/room/unit/chat/FloodControlEvent';
import { RemainingMuteEvent } from '../../communication/messages/incoming/room/unit/chat/RemainingMuteEvent';
import { RoomUnitChatEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatEvent';
import { RoomUnitChatShoutEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatShoutEvent';
import { RoomUnitChatWhisperEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent';
import { RoomUnitHandItemReceivedEvent } from '../../communication/messages/incoming/room/unit/RoomUnitHandItemReceivedEvent';
import { RespectReceivedEvent } from '../../communication/messages/incoming/user/RespectReceivedEvent';
import { SystemChatStyleEnum } from '../../ui/widget/enums/SystemChatStyleEnum';
import { RoomSessionChatEvent } from '../events/RoomSessionChatEvent';
import { IRoomHandlerListener } from '../IRoomHandlerListener';