mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2025-02-21 20:12:36 +01:00
Merge branch 'main' into patch/room-invite-packet
This commit is contained in:
commit
81013da436
@ -1,9 +1,8 @@
|
|||||||
image: node:15.6
|
image: node:16.3
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
- compile
|
- compile
|
||||||
|
|
||||||
|
|
||||||
ESLinter:
|
ESLinter:
|
||||||
stage: test
|
stage: test
|
||||||
@ -16,11 +15,11 @@ ESLinter:
|
|||||||
- node_modules
|
- node_modules
|
||||||
|
|
||||||
Compile:
|
Compile:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- npm i
|
- yarn install
|
||||||
- npm run compile
|
- yarn compile
|
||||||
cache:
|
cache:
|
||||||
key: ${CI_COMMIT_BRANCH}
|
key: ${CI_COMMIT_BRANCH}
|
||||||
paths:
|
paths:
|
||||||
- node_modules
|
- node_modules
|
||||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@nitrots/nitro-renderer",
|
"name": "@nitrots/nitro-renderer",
|
||||||
"version": "1.1.6",
|
"version": "1.1.16",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@nitrots/nitro-renderer",
|
"name": "@nitrots/nitro-renderer",
|
||||||
"version": "1.1.6",
|
"version": "1.1.16",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@nitrots/nitro-renderer",
|
"name": "@nitrots/nitro-renderer",
|
||||||
"description": "Javascript library for rendering Nitro in the browser using PixiJS",
|
"description": "Javascript library for rendering Nitro in the browser using PixiJS",
|
||||||
"version": "1.1.12",
|
"version": "1.1.16",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
export class NitroVersion
|
export class NitroVersion
|
||||||
{
|
{
|
||||||
public static RENDERER_VERSION: string = '1.1.12';
|
public static RENDERER_VERSION: string = '1.1.16';
|
||||||
public static UI_VERSION: string = '';
|
public static UI_VERSION: string = '';
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,16 @@ export class NitroLogger implements INitroLogger
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static error(message: string, name: string = 'Nitro'): void
|
||||||
|
{
|
||||||
|
return this.log(message, name, 'error');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static warn(message: string, name: string = 'Nitro'): void
|
||||||
|
{
|
||||||
|
return this.log(message, name, 'warn');
|
||||||
|
}
|
||||||
|
|
||||||
public static getTimestamp(): string
|
public static getTimestamp(): string
|
||||||
{
|
{
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
|
@ -159,7 +159,7 @@ export class ConfigurationManager extends NitroManager implements IConfiguration
|
|||||||
return (existing as T);
|
return (existing as T);
|
||||||
}
|
}
|
||||||
|
|
||||||
public setValue(key: string, value: string): void
|
public setValue<T>(key: string, value: T): void
|
||||||
{
|
{
|
||||||
this._definitions.set(key, value);
|
this._definitions.set(key, value);
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,6 @@ export interface IConfigurationManager extends INitroManager
|
|||||||
{
|
{
|
||||||
interpolate(value: string, regex?: RegExp): string;
|
interpolate(value: string, regex?: RegExp): string;
|
||||||
getValue<T>(key: string, value?: T): T;
|
getValue<T>(key: string, value?: T): T;
|
||||||
setValue(key: string, value: string): void;
|
setValue<T>(key: string, value: T): void;
|
||||||
definitions: Map<string, unknown>;
|
definitions: Map<string, unknown>;
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
@ -366,4 +366,7 @@ export class IncomingHeader
|
|||||||
public static GROUP_DEACTIVATE = 3129;
|
public static GROUP_DEACTIVATE = 3129;
|
||||||
public static PET_RESPECTED = 2788;
|
public static PET_RESPECTED = 2788;
|
||||||
public static PET_SUPPLEMENT = 3441;
|
public static PET_SUPPLEMENT = 3441;
|
||||||
|
public static NOOBNESS_LEVEL = 3738;
|
||||||
|
public static CAN_CREATE_ROOM_EVENT = 2599;
|
||||||
|
public static FAVORITE_GROUP_UDPATE = 3403;
|
||||||
}
|
}
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
|
||||||
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
|
||||||
import { GroupBadgesParser } from '../../parser/group/GroupBadgesParser';
|
|
||||||
|
|
||||||
export class GroupBadgesEvent extends MessageEvent implements IMessageEvent
|
|
||||||
{
|
|
||||||
constructor(callBack: Function)
|
|
||||||
{
|
|
||||||
super(callBack, GroupBadgesParser);
|
|
||||||
}
|
|
||||||
|
|
||||||
public getParser(): GroupBadgesParser
|
|
||||||
{
|
|
||||||
return this.parser as GroupBadgesParser;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +1,4 @@
|
|||||||
export * from './GroupBadgePartsEvent';
|
export * from './GroupBadgePartsEvent';
|
||||||
export * from './GroupBadgesEvent';
|
|
||||||
export * from './GroupBuyDataEvent';
|
export * from './GroupBuyDataEvent';
|
||||||
export * from './GroupConfirmMemberRemoveEvent';
|
export * from './GroupConfirmMemberRemoveEvent';
|
||||||
export * from './GroupInformationEvent';
|
export * from './GroupInformationEvent';
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { NoobnessLevelMessageParser } from '../../parser/handshake/NoobnessLevelMessageParser';
|
||||||
|
|
||||||
|
export class NoobnessLevelMessageEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, NoobnessLevelMessageParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): NoobnessLevelMessageParser
|
||||||
|
{
|
||||||
|
return this.parser as NoobnessLevelMessageParser;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
export * from './NoobnessLevelMessageEvent';
|
@ -13,6 +13,7 @@ export * from './friendlist';
|
|||||||
export * from './game';
|
export * from './game';
|
||||||
export * from './generic';
|
export * from './generic';
|
||||||
export * from './group';
|
export * from './group';
|
||||||
|
export * from './handshake';
|
||||||
export * from './help';
|
export * from './help';
|
||||||
export * from './IncomingHeader';
|
export * from './IncomingHeader';
|
||||||
export * from './inventory';
|
export * from './inventory';
|
||||||
@ -49,6 +50,7 @@ export * from './room/session';
|
|||||||
export * from './room/unit';
|
export * from './room/unit';
|
||||||
export * from './room/unit/chat';
|
export * from './room/unit/chat';
|
||||||
export * from './roomevents';
|
export * from './roomevents';
|
||||||
|
export * from './roomsettings';
|
||||||
export * from './security';
|
export * from './security';
|
||||||
export * from './sound';
|
export * from './sound';
|
||||||
export * from './talent';
|
export * from './talent';
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { CanCreateRoomEventParser } from '../../parser/navigator/CanCreateRoomEventParser';
|
||||||
|
|
||||||
|
export class CanCreateRoomEventEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, CanCreateRoomEventParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): CanCreateRoomEventParser
|
||||||
|
{
|
||||||
|
return this.parser as CanCreateRoomEventParser;
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
export * from './CanCreateRoomEventEvent';
|
||||||
export * from './NavigatorCategoriesEvent';
|
export * from './NavigatorCategoriesEvent';
|
||||||
export * from './NavigatorCollapsedEvent';
|
export * from './NavigatorCollapsedEvent';
|
||||||
export * from './NavigatorEventCategoriesEvent';
|
export * from './NavigatorEventCategoriesEvent';
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent';
|
|
||||||
import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent';
|
|
||||||
import { RoomSettingsUsersListParser } from '../../../parser/room/data/RoomSettingsUsersListParser';
|
|
||||||
|
|
||||||
export class RoomBannedUsersEvent extends MessageEvent implements IMessageEvent
|
|
||||||
{
|
|
||||||
constructor(callBack: Function)
|
|
||||||
{
|
|
||||||
super(callBack, RoomSettingsUsersListParser);
|
|
||||||
}
|
|
||||||
|
|
||||||
public getParser(): RoomSettingsUsersListParser
|
|
||||||
{
|
|
||||||
return this.parser as RoomSettingsUsersListParser;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent';
|
|
||||||
import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent';
|
|
||||||
import { RoomSettingsUsersListParser } from '../../../parser/room/data/RoomSettingsUsersListParser';
|
|
||||||
|
|
||||||
export class RoomUsersWithRightsEvent extends MessageEvent implements IMessageEvent
|
|
||||||
{
|
|
||||||
constructor(callBack: Function)
|
|
||||||
{
|
|
||||||
super(callBack, RoomSettingsUsersListParser);
|
|
||||||
}
|
|
||||||
|
|
||||||
public getParser(): RoomSettingsUsersListParser
|
|
||||||
{
|
|
||||||
return this.parser as RoomSettingsUsersListParser;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +1,4 @@
|
|||||||
export * from './GetGuestRoomResultEvent';
|
export * from './GetGuestRoomResultEvent';
|
||||||
export * from './RoomBannedUsersEvent';
|
|
||||||
export * from './RoomChatSettingsEvent';
|
export * from './RoomChatSettingsEvent';
|
||||||
export * from './RoomEntryInfoMessageEvent';
|
export * from './RoomEntryInfoMessageEvent';
|
||||||
export * from './RoomScoreEvent';
|
export * from './RoomScoreEvent';
|
||||||
@ -7,4 +6,3 @@ export * from './RoomSettingsErrorEvent';
|
|||||||
export * from './RoomSettingsEvent';
|
export * from './RoomSettingsEvent';
|
||||||
export * from './RoomSettingsSavedEvent';
|
export * from './RoomSettingsSavedEvent';
|
||||||
export * from './RoomSettingsUpdatedEvent';
|
export * from './RoomSettingsUpdatedEvent';
|
||||||
export * from './RoomUsersWithRightsEvent';
|
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { FavoriteMembershipUpdateMessageParser } from '../../../parser/room/engine/FavoriteMembershipUpdateMessageParser';
|
||||||
|
|
||||||
|
export class FavoriteMembershipUpdateMessageEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, FavoriteMembershipUpdateMessageParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): FavoriteMembershipUpdateMessageParser
|
||||||
|
{
|
||||||
|
return this.parser as FavoriteMembershipUpdateMessageParser;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IFlatUser } from './IFlatUser';
|
||||||
|
|
||||||
|
export class BannedUserData implements IFlatUser
|
||||||
|
{
|
||||||
|
private _userId: number;
|
||||||
|
private _userName: string;
|
||||||
|
|
||||||
|
constructor(wrapper: IMessageDataWrapper)
|
||||||
|
{
|
||||||
|
this._userId = wrapper.readInt();
|
||||||
|
this._userName = wrapper.readString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public get userId(): number
|
||||||
|
{
|
||||||
|
return this._userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get userName(): string
|
||||||
|
{
|
||||||
|
return this._userName;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { BannedUsersFromRoomParser } from '../../parser/roomsettings/BannedUsersFromRoomParser';
|
||||||
|
|
||||||
|
export class BannedUsersFromRoomEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, BannedUsersFromRoomParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): BannedUsersFromRoomParser
|
||||||
|
{
|
||||||
|
return this.parser as BannedUsersFromRoomParser;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { FlatControllerAddedParser } from '../../parser/roomsettings/FlatControllerAddedParser';
|
||||||
|
|
||||||
|
export class FlatControllerAddedEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, FlatControllerAddedParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): FlatControllerAddedParser
|
||||||
|
{
|
||||||
|
return this.parser as FlatControllerAddedParser;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IFlatUser } from './IFlatUser';
|
||||||
|
|
||||||
|
export class FlatControllerData implements IFlatUser
|
||||||
|
{
|
||||||
|
private _userId: number;
|
||||||
|
private _userName: string;
|
||||||
|
private _selected: boolean;
|
||||||
|
|
||||||
|
constructor(wrapper: IMessageDataWrapper)
|
||||||
|
{
|
||||||
|
this._userId = wrapper.readInt();
|
||||||
|
this._userName = wrapper.readString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public get userId(): number
|
||||||
|
{
|
||||||
|
return this._userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get userName(): string
|
||||||
|
{
|
||||||
|
return this._userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get selected(): boolean
|
||||||
|
{
|
||||||
|
return this._selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set selected(selected: boolean)
|
||||||
|
{
|
||||||
|
this._selected = selected;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { FlatControllerRemovedParser } from '../../parser/roomsettings/FlatControllerRemovedParser';
|
||||||
|
|
||||||
|
export class FlatControllerRemovedEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, FlatControllerRemovedParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): FlatControllerRemovedParser
|
||||||
|
{
|
||||||
|
return this.parser as FlatControllerRemovedParser;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { FlatControllersParser } from '../../parser/roomsettings/FlatControllersParser';
|
||||||
|
|
||||||
|
export class FlatControllersEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, FlatControllersParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): FlatControllersParser
|
||||||
|
{
|
||||||
|
return this.parser as FlatControllersParser;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
export interface IFlatUser
|
||||||
|
{
|
||||||
|
userId: number;
|
||||||
|
userName: string;
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
export * from './BannedUserData';
|
||||||
|
export * from './BannedUsersFromRoomEvent';
|
||||||
|
export * from './FlatControllerAddedEvent';
|
||||||
|
export * from './FlatControllerData';
|
||||||
|
export * from './FlatControllerRemovedEvent';
|
||||||
|
export * from './FlatControllersEvent';
|
||||||
|
export * from './IFlatUser';
|
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { HabboGroupBadgesMessageParser } from '../../parser/user/HabboGroupBadgesMessageParser';
|
||||||
|
|
||||||
|
export class HabboGroupBadgesMessageEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, HabboGroupBadgesMessageParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): HabboGroupBadgesMessageParser
|
||||||
|
{
|
||||||
|
return this.parser as HabboGroupBadgesMessageParser;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
import { PetRespectNotificationParser } from '../..';
|
|
||||||
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent';
|
||||||
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent';
|
||||||
|
import { PetRespectNotificationParser } from '../../parser/user/PetRespectNotificationParser';
|
||||||
|
|
||||||
export class PetRespectNoficationEvent extends MessageEvent implements IMessageEvent
|
export class PetRespectNoficationEvent extends MessageEvent implements IMessageEvent
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@ export * from './access';
|
|||||||
export * from './ApproveNameMessageEvent';
|
export * from './ApproveNameMessageEvent';
|
||||||
export * from './data';
|
export * from './data';
|
||||||
export * from './GuildMembershipsMessageEvent';
|
export * from './GuildMembershipsMessageEvent';
|
||||||
|
export * from './HabboGroupBadgesMessageEvent';
|
||||||
export * from './IgnoredUsersEvent';
|
export * from './IgnoredUsersEvent';
|
||||||
export * from './IgnoreResultEvent';
|
export * from './IgnoreResultEvent';
|
||||||
export * from './InClientLinkEvent';
|
export * from './InClientLinkEvent';
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
export * from './GroupAdminGiveComposer';
|
export * from './GroupAdminGiveComposer';
|
||||||
export * from './GroupAdminTakeComposer';
|
export * from './GroupAdminTakeComposer';
|
||||||
export * from './GroupBadgePartsComposer';
|
export * from './GroupBadgePartsComposer';
|
||||||
export * from './GroupBadgesComposer';
|
|
||||||
export * from './GroupBuyComposer';
|
export * from './GroupBuyComposer';
|
||||||
export * from './GroupBuyDataComposer';
|
export * from './GroupBuyDataComposer';
|
||||||
export * from './GroupConfirmRemoveMemberComposer';
|
export * from './GroupConfirmRemoveMemberComposer';
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer';
|
import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer';
|
||||||
|
|
||||||
export class GroupBadgesComposer implements IMessageComposer<ConstructorParameters<typeof GroupBadgesComposer>>
|
export class GetHabboGroupBadgesMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetHabboGroupBadgesMessageComposer>>
|
||||||
{
|
{
|
||||||
private _data: ConstructorParameters<typeof GroupBadgesComposer>;
|
private _data: ConstructorParameters<typeof GetHabboGroupBadgesMessageComposer>;
|
||||||
|
|
||||||
constructor()
|
constructor()
|
||||||
{
|
{
|
@ -1,6 +1,7 @@
|
|||||||
export * from './ApproveNameMessageComposer';
|
export * from './ApproveNameMessageComposer';
|
||||||
export * from './CatalogGroupsComposer';
|
export * from './CatalogGroupsComposer';
|
||||||
export * from './data';
|
export * from './data';
|
||||||
|
export * from './GetHabboGroupBadgesMessageComposer';
|
||||||
export * from './inventory';
|
export * from './inventory';
|
||||||
export * from './ScrGetKickbackInfoMessageComposer';
|
export * from './ScrGetKickbackInfoMessageComposer';
|
||||||
export * from './settings';
|
export * from './settings';
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
export * from './GroupBadgePartsParser';
|
export * from './GroupBadgePartsParser';
|
||||||
export * from './GroupBadgesParser';
|
|
||||||
export * from './GroupBuyDataParser';
|
export * from './GroupBuyDataParser';
|
||||||
export * from './GroupConfirmMemberRemoveParser';
|
export * from './GroupConfirmMemberRemoveParser';
|
||||||
export * from './GroupInformationParser';
|
export * from './GroupInformationParser';
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
|
||||||
|
|
||||||
|
export class NoobnessLevelMessageParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _noobnessLevel: number;
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
this._noobnessLevel = 0;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
this._noobnessLevel = wrapper.readInt();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get noobnessLevel(): number
|
||||||
|
{
|
||||||
|
return this._noobnessLevel;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
export * from './NoobnessLevelMessageParser';
|
@ -14,6 +14,7 @@ export * from './friendlist';
|
|||||||
export * from './game';
|
export * from './game';
|
||||||
export * from './generic';
|
export * from './generic';
|
||||||
export * from './group';
|
export * from './group';
|
||||||
|
export * from './handshake';
|
||||||
export * from './help';
|
export * from './help';
|
||||||
export * from './inventory';
|
export * from './inventory';
|
||||||
export * from './landingview';
|
export * from './landingview';
|
||||||
@ -27,6 +28,7 @@ export * from './poll';
|
|||||||
export * from './quest';
|
export * from './quest';
|
||||||
export * from './room';
|
export * from './room';
|
||||||
export * from './roomevents';
|
export * from './roomevents';
|
||||||
|
export * from './roomsettings';
|
||||||
export * from './security';
|
export * from './security';
|
||||||
export * from './sound';
|
export * from './sound';
|
||||||
export * from './talent';
|
export * from './talent';
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
|
||||||
|
|
||||||
|
export class CanCreateRoomEventParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _canCreate: boolean;
|
||||||
|
private _errorCode: number;
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
this._canCreate = false;
|
||||||
|
this._errorCode = 0;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
this._canCreate = wrapper.readBoolean();
|
||||||
|
this._errorCode = wrapper.readInt();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get canCreate(): boolean
|
||||||
|
{
|
||||||
|
return this._canCreate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get errorCode(): number
|
||||||
|
{
|
||||||
|
return this._errorCode;
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
export * from './CanCreateRoomEventParser';
|
||||||
export * from './NavigatorCategoriesParser';
|
export * from './NavigatorCategoriesParser';
|
||||||
export * from './NavigatorCategoryDataParser';
|
export * from './NavigatorCategoryDataParser';
|
||||||
export * from './NavigatorCollapsedParser';
|
export * from './NavigatorCollapsedParser';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IMessageDataWrapper } from '../../../../../../core';
|
import { IMessageDataWrapper } from '../../../../../../core/communication/messages';
|
||||||
|
|
||||||
export class RoomDataParser
|
export class RoomDataParser
|
||||||
{
|
{
|
||||||
@ -12,7 +12,8 @@ export class RoomDataParser
|
|||||||
public static OPEN_STATE = 0;
|
public static OPEN_STATE = 0;
|
||||||
public static DOORBELL_STATE = 1;
|
public static DOORBELL_STATE = 1;
|
||||||
public static PASSWORD_STATE = 2;
|
public static PASSWORD_STATE = 2;
|
||||||
public static INVISIBLE_STATE = 4;
|
public static INVISIBLE_STATE = 3;
|
||||||
|
public static NOOB_STATE = 4;
|
||||||
|
|
||||||
private _roomId: number;
|
private _roomId: number;
|
||||||
private _roomName: string;
|
private _roomName: string;
|
||||||
@ -41,7 +42,7 @@ export class RoomDataParser
|
|||||||
private _adExpiresIn: number;
|
private _adExpiresIn: number;
|
||||||
private _allInRoomMuted: boolean;
|
private _allInRoomMuted: boolean;
|
||||||
private _canMute: boolean;
|
private _canMute: boolean;
|
||||||
private _roomPicker: boolean;
|
|
||||||
private _officialRoomPicRef: string;
|
private _officialRoomPicRef: string;
|
||||||
|
|
||||||
constructor(wrapper: IMessageDataWrapper)
|
constructor(wrapper: IMessageDataWrapper)
|
||||||
@ -81,7 +82,6 @@ export class RoomDataParser
|
|||||||
this._adExpiresIn = 0;
|
this._adExpiresIn = 0;
|
||||||
this._allInRoomMuted = false;
|
this._allInRoomMuted = false;
|
||||||
this._canMute = false;
|
this._canMute = false;
|
||||||
this._roomPicker = false;
|
|
||||||
this._officialRoomPicRef = null;
|
this._officialRoomPicRef = null;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -279,16 +279,6 @@ export class RoomDataParser
|
|||||||
return this._displayAd;
|
return this._displayAd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get roomPicker(): boolean
|
|
||||||
{
|
|
||||||
return this._roomPicker;
|
|
||||||
}
|
|
||||||
|
|
||||||
public set roomPicker(k: boolean)
|
|
||||||
{
|
|
||||||
this._roomPicker = k;
|
|
||||||
}
|
|
||||||
|
|
||||||
public get canMute(): boolean
|
public get canMute(): boolean
|
||||||
{
|
{
|
||||||
return this._canMute;
|
return this._canMute;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { IMessageDataWrapper, IMessageParser } from '../../../../../../core';
|
import { IMessageParser } from '../../../../../../././core/communication/messages/IMessageParser';
|
||||||
|
import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
import { RoomChatSettings } from './RoomChatSettings';
|
import { RoomChatSettings } from './RoomChatSettings';
|
||||||
import { RoomDataParser } from './RoomDataParser';
|
import { RoomDataParser } from './RoomDataParser';
|
||||||
import { RoomModerationSettings } from './RoomModerationSettings';
|
import { RoomModerationSettings } from './RoomModerationSettings';
|
||||||
@ -7,8 +8,8 @@ export class RoomInfoParser implements IMessageParser
|
|||||||
{
|
{
|
||||||
private _roomEnter: boolean;
|
private _roomEnter: boolean;
|
||||||
private _roomForward: boolean;
|
private _roomForward: boolean;
|
||||||
private _staffPick: boolean;
|
|
||||||
private _data: RoomDataParser;
|
private _data: RoomDataParser;
|
||||||
|
private _staffPick: boolean;
|
||||||
private _isGroupMember: boolean;
|
private _isGroupMember: boolean;
|
||||||
private _moderation: RoomModerationSettings;
|
private _moderation: RoomModerationSettings;
|
||||||
private _chat: RoomChatSettings;
|
private _chat: RoomChatSettings;
|
||||||
@ -17,8 +18,8 @@ export class RoomInfoParser implements IMessageParser
|
|||||||
{
|
{
|
||||||
this._roomEnter = false;
|
this._roomEnter = false;
|
||||||
this._roomForward = false;
|
this._roomForward = false;
|
||||||
this._staffPick = false;
|
|
||||||
this._data = null;
|
this._data = null;
|
||||||
|
this._staffPick = false;
|
||||||
this._isGroupMember = false;
|
this._isGroupMember = false;
|
||||||
this._moderation = null;
|
this._moderation = null;
|
||||||
this._chat = null;
|
this._chat = null;
|
||||||
@ -33,7 +34,7 @@ export class RoomInfoParser implements IMessageParser
|
|||||||
this._roomEnter = wrapper.readBoolean();
|
this._roomEnter = wrapper.readBoolean();
|
||||||
this._data = new RoomDataParser(wrapper);
|
this._data = new RoomDataParser(wrapper);
|
||||||
this._roomForward = wrapper.readBoolean();
|
this._roomForward = wrapper.readBoolean();
|
||||||
this.data.roomPicker = wrapper.readBoolean();
|
this._staffPick = wrapper.readBoolean();
|
||||||
this._isGroupMember = wrapper.readBoolean();
|
this._isGroupMember = wrapper.readBoolean();
|
||||||
this.data.allInRoomMuted = wrapper.readBoolean();
|
this.data.allInRoomMuted = wrapper.readBoolean();
|
||||||
this._moderation = new RoomModerationSettings(wrapper);
|
this._moderation = new RoomModerationSettings(wrapper);
|
||||||
@ -58,6 +59,11 @@ export class RoomInfoParser implements IMessageParser
|
|||||||
return this._data;
|
return this._data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get staffPick(): boolean
|
||||||
|
{
|
||||||
|
return this._staffPick;
|
||||||
|
}
|
||||||
|
|
||||||
public get isGroupMember(): boolean
|
public get isGroupMember(): boolean
|
||||||
{
|
{
|
||||||
return this._isGroupMember;
|
return this._isGroupMember;
|
||||||
|
@ -9,4 +9,3 @@ export * from './RoomSettingsErrorParser';
|
|||||||
export * from './RoomSettingsParser';
|
export * from './RoomSettingsParser';
|
||||||
export * from './RoomSettingsSavedParser';
|
export * from './RoomSettingsSavedParser';
|
||||||
export * from './RoomSettingsUpdatedParser';
|
export * from './RoomSettingsUpdatedParser';
|
||||||
export * from './RoomSettingsUsersListParser';
|
|
||||||
|
@ -0,0 +1,51 @@
|
|||||||
|
import { IMessageDataWrapper, IMessageParser } from '../../../../../../core';
|
||||||
|
|
||||||
|
export class FavoriteMembershipUpdateMessageParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _roomIndex: number;
|
||||||
|
private _groupId: number;
|
||||||
|
private _status: number;
|
||||||
|
private _groupName: string;
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
this._roomIndex = -1;
|
||||||
|
this._groupId = -1;
|
||||||
|
this._status = 0;
|
||||||
|
this._groupName = null;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
this._roomIndex = wrapper.readInt();
|
||||||
|
this._groupId = wrapper.readInt();
|
||||||
|
this._status = wrapper.readInt();
|
||||||
|
this._groupName = wrapper.readString();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get roomIndex(): number
|
||||||
|
{
|
||||||
|
return this._roomIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get groupId(): number
|
||||||
|
{
|
||||||
|
return this._groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get status(): number
|
||||||
|
{
|
||||||
|
return this._status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get groupName(): string
|
||||||
|
{
|
||||||
|
return this._groupName;
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
export * from './FavoriteMembershipUpdateMessageParser';
|
||||||
export * from './ObjectsDataUpdateParser';
|
export * from './ObjectsDataUpdateParser';
|
||||||
export * from './ObjectsRollingParser';
|
export * from './ObjectsRollingParser';
|
||||||
export * from './RoomCreatedParser';
|
export * from './RoomCreatedParser';
|
||||||
|
@ -52,7 +52,7 @@ export class RoomUnitParser implements IMessageParser
|
|||||||
user.webID = id;
|
user.webID = id;
|
||||||
user.userType = RoomObjectType.USER;
|
user.userType = RoomObjectType.USER;
|
||||||
user.sex = this.resolveSex(wrapper.readString());
|
user.sex = this.resolveSex(wrapper.readString());
|
||||||
user.groupID = ('' + wrapper.readInt());
|
user.groupID = wrapper.readInt();
|
||||||
user.groupStatus = wrapper.readInt();
|
user.groupStatus = wrapper.readInt();
|
||||||
user.groupName = wrapper.readString();
|
user.groupName = wrapper.readString();
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ export class UserMessageData
|
|||||||
private _custom: string = '';
|
private _custom: string = '';
|
||||||
private _activityPoints: number = 0;
|
private _activityPoints: number = 0;
|
||||||
private _webID: number = 0;
|
private _webID: number = 0;
|
||||||
private _groupID: string = '';
|
private _groupID: number = 0;
|
||||||
private _groupStatus: number = 0;
|
private _groupStatus: number = 0;
|
||||||
private _groupName: string = '';
|
private _groupName: string = '';
|
||||||
private _subType: string = '';
|
private _subType: string = '';
|
||||||
@ -192,16 +192,16 @@ export class UserMessageData
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public get groupID(): string
|
public get groupID(): number
|
||||||
{
|
{
|
||||||
return this._groupID;
|
return this._groupID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public set groupID(k: string)
|
public set groupID(groupId: number)
|
||||||
{
|
{
|
||||||
if(!this._isReadOnly)
|
if(!this._isReadOnly)
|
||||||
{
|
{
|
||||||
this._groupID = k;
|
this._groupID = groupId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
|
||||||
|
import { BannedUserData } from '../../incoming/roomsettings/BannedUserData';
|
||||||
|
|
||||||
|
export class BannedUsersFromRoomParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _roomId: number;
|
||||||
|
private _bannedUsers: BannedUserData[];
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
this._roomId = 0;
|
||||||
|
this._bannedUsers = [];
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
this._roomId = wrapper.readInt();
|
||||||
|
|
||||||
|
let totalBans = wrapper.readInt();
|
||||||
|
|
||||||
|
while(totalBans > 0)
|
||||||
|
{
|
||||||
|
this._bannedUsers.push(new BannedUserData(wrapper));
|
||||||
|
|
||||||
|
totalBans--;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get roomId(): number
|
||||||
|
{
|
||||||
|
return this._roomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get bannedUsers(): BannedUserData[]
|
||||||
|
{
|
||||||
|
return this._bannedUsers;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
|
||||||
|
import { FlatControllerData } from '../../incoming/roomsettings/FlatControllerData';
|
||||||
|
|
||||||
|
export class FlatControllerAddedParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _roomId: number;
|
||||||
|
private _data: FlatControllerData;
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
this._roomId = 0;
|
||||||
|
this._data = null;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
this._roomId = wrapper.readInt();
|
||||||
|
this._data = new FlatControllerData(wrapper);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get roomId(): number
|
||||||
|
{
|
||||||
|
return this._roomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get data(): FlatControllerData
|
||||||
|
{
|
||||||
|
return this._data;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
|
||||||
|
|
||||||
|
export class FlatControllerRemovedParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _roomId: number;
|
||||||
|
private _userId: number;
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
this._roomId = 0;
|
||||||
|
this._userId = 0;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
this._roomId = wrapper.readInt();
|
||||||
|
this._userId = wrapper.readInt();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get roomId(): number
|
||||||
|
{
|
||||||
|
return this._roomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get userId(): number
|
||||||
|
{
|
||||||
|
return this._userId;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
import { IMessageDataWrapper, IMessageParser } from '../../../../../../core';
|
import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper';
|
||||||
|
import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser';
|
||||||
|
|
||||||
export class RoomSettingsUsersListParser implements IMessageParser
|
export class FlatControllersParser implements IMessageParser
|
||||||
{
|
{
|
||||||
private _roomId: number;
|
private _roomId: number;
|
||||||
private _users: Map<number, string>;
|
private _users: Map<number, string>;
|
||||||
@ -27,6 +28,7 @@ export class RoomSettingsUsersListParser implements IMessageParser
|
|||||||
const name = wrapper.readString();
|
const name = wrapper.readString();
|
||||||
|
|
||||||
this._users.set(id, name);
|
this._users.set(id, name);
|
||||||
|
|
||||||
usersCount--;
|
usersCount--;
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
|||||||
|
export * from './BannedUsersFromRoomParser';
|
||||||
|
export * from './FlatControllerAddedParser';
|
||||||
|
export * from './FlatControllerRemovedParser';
|
||||||
|
export * from './FlatControllersParser';
|
@ -1,6 +1,6 @@
|
|||||||
import { IMessageDataWrapper, IMessageParser } from '../../../../../core';
|
import { IMessageDataWrapper, IMessageParser } from '../../../../../core';
|
||||||
|
|
||||||
export class GroupBadgesParser implements IMessageParser
|
export class HabboGroupBadgesMessageParser implements IMessageParser
|
||||||
{
|
{
|
||||||
private _badges: Map<number, string>;
|
private _badges: Map<number, string>;
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
import { PetData } from '..';
|
|
||||||
import { PetType } from '../../../..';
|
|
||||||
import { IMessageDataWrapper, IMessageParser } from '../../../../../core';
|
import { IMessageDataWrapper, IMessageParser } from '../../../../../core';
|
||||||
|
import { PetType } from '../../../../avatar/pets/PetType';
|
||||||
|
import { PetData } from '../inventory/pets/PetData';
|
||||||
|
|
||||||
export class PetRespectNotificationParser implements IMessageParser
|
export class PetRespectNotificationParser implements IMessageParser
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
export * from './access';
|
export * from './access';
|
||||||
export * from './ApproveNameResultParser';
|
export * from './ApproveNameResultParser';
|
||||||
export * from './data';
|
export * from './data';
|
||||||
|
export * from './HabboGroupBadgesMessageParser';
|
||||||
export * from './HabboGroupEntryData';
|
export * from './HabboGroupEntryData';
|
||||||
export * from './IgnoredUsersParser';
|
export * from './IgnoredUsersParser';
|
||||||
export * from './IgnoreResultParser';
|
export * from './IgnoreResultParser';
|
||||||
|
@ -1964,7 +1964,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public updateRoomObjectFloor(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, state: number, data: IObjectData, extra: number = NaN): boolean
|
public updateRoomObjectFloor(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, state: number, data: IObjectData, extra: number = null): boolean
|
||||||
{
|
{
|
||||||
const object = this.getRoomObjectFloor(roomId, objectId);
|
const object = this.getRoomObjectFloor(roomId, objectId);
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ export class ObjectDataUpdateMessage extends RoomObjectUpdateMessage
|
|||||||
private _data: IObjectData;
|
private _data: IObjectData;
|
||||||
private _extra: number;
|
private _extra: number;
|
||||||
|
|
||||||
constructor(state: number, data: IObjectData, extra: number = NaN)
|
constructor(state: number, data: IObjectData, extra: number = null)
|
||||||
{
|
{
|
||||||
super(null, null);
|
super(null, null);
|
||||||
|
|
||||||
@ -30,4 +30,4 @@ export class ObjectDataUpdateMessage extends RoomObjectUpdateMessage
|
|||||||
{
|
{
|
||||||
return this._extra;
|
return this._extra;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,11 +67,21 @@ export class ObjectDataBase implements IObjectData
|
|||||||
return this._uniqueNumber;
|
return this._uniqueNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public set uniqueNumber(number: number)
|
||||||
|
{
|
||||||
|
this._uniqueNumber = number;
|
||||||
|
}
|
||||||
|
|
||||||
public get uniqueSeries(): number
|
public get uniqueSeries(): number
|
||||||
{
|
{
|
||||||
return this._uniqueSeries;
|
return this._uniqueSeries;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public set uniqueSeries(series: number)
|
||||||
|
{
|
||||||
|
this._uniqueSeries = series;
|
||||||
|
}
|
||||||
|
|
||||||
public get rarityLevel(): number
|
public get rarityLevel(): number
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { FurnitureBadgeDisplayLogic } from '.';
|
import { RoomObjectEvent } from '../../../../../room/events/RoomObjectEvent';
|
||||||
import { ObjectSelectedMessage } from '../../..';
|
|
||||||
import { RoomObjectEvent } from '../../../../..';
|
|
||||||
import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage';
|
import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage';
|
||||||
import { RoomObjectBadgeAssetEvent } from '../../../events/RoomObjectBadgeAssetEvent';
|
import { RoomObjectBadgeAssetEvent } from '../../../events/RoomObjectBadgeAssetEvent';
|
||||||
import { RoomObjectWidgetRequestEvent } from '../../../events/RoomObjectWidgetRequestEvent';
|
import { RoomObjectWidgetRequestEvent } from '../../../events/RoomObjectWidgetRequestEvent';
|
||||||
import { ObjectGroupBadgeUpdateMessage } from '../../../messages/ObjectGroupBadgeUpdateMessage';
|
import { ObjectGroupBadgeUpdateMessage } from '../../../messages/ObjectGroupBadgeUpdateMessage';
|
||||||
|
import { ObjectSelectedMessage } from '../../../messages/ObjectSelectedMessage';
|
||||||
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
||||||
|
import { FurnitureBadgeDisplayLogic } from './FurnitureBadgeDisplayLogic';
|
||||||
|
|
||||||
export class FurnitureAchievementResolutionLogic extends FurnitureBadgeDisplayLogic
|
export class FurnitureAchievementResolutionLogic extends FurnitureBadgeDisplayLogic
|
||||||
{
|
{
|
||||||
|
@ -6,6 +6,7 @@ import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
|
|||||||
export class FurnitureIceStormLogic extends FurnitureMultiStateLogic
|
export class FurnitureIceStormLogic extends FurnitureMultiStateLogic
|
||||||
{
|
{
|
||||||
private _nextState: number;
|
private _nextState: number;
|
||||||
|
private _nextStateExtra: number;
|
||||||
private _nextStateTimestamp: number;
|
private _nextStateTimestamp: number;
|
||||||
|
|
||||||
constructor()
|
constructor()
|
||||||
@ -26,7 +27,7 @@ export class FurnitureIceStormLogic extends FurnitureMultiStateLogic
|
|||||||
|
|
||||||
data.setString(this._nextState.toString());
|
data.setString(this._nextState.toString());
|
||||||
|
|
||||||
super.processUpdateMessage(new ObjectDataUpdateMessage(this._nextState, data));
|
super.processUpdateMessage(new ObjectDataUpdateMessage(this._nextState, data, this._nextStateExtra));
|
||||||
}
|
}
|
||||||
|
|
||||||
super.update(totalTimeRunning);
|
super.update(totalTimeRunning);
|
||||||
@ -34,7 +35,12 @@ export class FurnitureIceStormLogic extends FurnitureMultiStateLogic
|
|||||||
|
|
||||||
public processUpdateMessage(message: RoomObjectUpdateMessage): void
|
public processUpdateMessage(message: RoomObjectUpdateMessage): void
|
||||||
{
|
{
|
||||||
if(message instanceof ObjectDataUpdateMessage) return this.processUpdate(message);
|
if(message instanceof ObjectDataUpdateMessage)
|
||||||
|
{
|
||||||
|
this.processUpdate(message);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
super.processUpdateMessage(message);
|
super.processUpdateMessage(message);
|
||||||
}
|
}
|
||||||
@ -43,8 +49,8 @@ export class FurnitureIceStormLogic extends FurnitureMultiStateLogic
|
|||||||
{
|
{
|
||||||
if(!message) return;
|
if(!message) return;
|
||||||
|
|
||||||
const state = message.state / 1000;
|
const state = ~~(message.state / 1000);
|
||||||
const time = message.state % 1000;
|
const time = ~~(message.state % 1000);
|
||||||
|
|
||||||
if(!time)
|
if(!time)
|
||||||
{
|
{
|
||||||
@ -54,12 +60,13 @@ export class FurnitureIceStormLogic extends FurnitureMultiStateLogic
|
|||||||
|
|
||||||
data.setString(state.toString());
|
data.setString(state.toString());
|
||||||
|
|
||||||
super.processUpdateMessage(new ObjectDataUpdateMessage(state, data));
|
super.processUpdateMessage(new ObjectDataUpdateMessage(state, data, message.extra));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this._nextState = state;
|
this._nextState = state;
|
||||||
|
this._nextStateExtra = message.extra;
|
||||||
this._nextStateTimestamp = this.time + time;
|
this._nextStateTimestamp = this.time + time;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,7 +254,7 @@ export class FurnitureLogic extends MovingObjectLogic
|
|||||||
|
|
||||||
if(message.data) message.data.writeRoomObjectModel(this.object.model);
|
if(message.data) message.data.writeRoomObjectModel(this.object.model);
|
||||||
|
|
||||||
if(!isNaN(message.extra)) this.object.model.setValue(RoomObjectVariable.FURNITURE_EXTRAS, message.extra.toString());
|
if(message.extra !== null) this.object.model.setValue(RoomObjectVariable.FURNITURE_EXTRAS, message.extra.toString());
|
||||||
|
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_STATE_UPDATE_TIME, this.lastUpdateTime);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_STATE_UPDATE_TIME, this.lastUpdateTime);
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import { MovingObjectLogic } from '..';
|
import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage';
|
||||||
import { LegacyDataType } from '../..';
|
import { Vector3d } from '../../../../../room/utils/Vector3d';
|
||||||
import { ObjectDataUpdateMessage, ObjectMoveUpdateMessage } from '../../..';
|
import { ObjectDataUpdateMessage } from '../../../messages/ObjectDataUpdateMessage';
|
||||||
import { Vector3d } from '../../../../..';
|
import { ObjectMoveUpdateMessage } from '../../../messages/ObjectMoveUpdateMessage';
|
||||||
import { RoomObjectUpdateMessage } from '../../../../../room';
|
import { LegacyDataType } from '../../data/type/LegacyDataType';
|
||||||
|
import { MovingObjectLogic } from '../MovingObjectLogic';
|
||||||
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
|
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
|
||||||
|
|
||||||
export class FurniturePushableLogic extends FurnitureMultiStateLogic
|
export class FurniturePushableLogic extends FurnitureMultiStateLogic
|
||||||
|
@ -24,6 +24,8 @@ export class PetSizeData extends AnimationSizeData
|
|||||||
|
|
||||||
if(postures.defaultPosture && postures.defaultPosture.length) this._defaultPosture = postures.defaultPosture;
|
if(postures.defaultPosture && postures.defaultPosture.length) this._defaultPosture = postures.defaultPosture;
|
||||||
|
|
||||||
|
if(!postures.postures) return false;
|
||||||
|
|
||||||
for(const posture of postures.postures)
|
for(const posture of postures.postures)
|
||||||
{
|
{
|
||||||
if(this._posturesToAnimations.get(posture.id)) continue;
|
if(this._posturesToAnimations.get(posture.id)) continue;
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { IDisposable } from '../../core/common/disposable/IDisposable';
|
import { IDisposable } from '../../core/common/disposable/IDisposable';
|
||||||
import { IMessageEvent } from '../../core/communication/messages/IMessageEvent';
|
import { IMessageEvent } from '../../core/communication/messages/IMessageEvent';
|
||||||
import { GroupBadgesEvent } from '../communication/messages/incoming/group/GroupBadgesEvent';
|
import { RoomReadyMessageEvent } from '../communication';
|
||||||
import { GroupBadgesComposer } from '../communication/messages/outgoing/group/GroupBadgesComposer';
|
import { HabboGroupBadgesMessageEvent } from '../communication/messages/incoming/user/HabboGroupBadgesMessageEvent';
|
||||||
|
import { GetHabboGroupBadgesMessageComposer } from '../communication/messages/outgoing/user/GetHabboGroupBadgesMessageComposer';
|
||||||
import { SessionDataManager } from './SessionDataManager';
|
import { SessionDataManager } from './SessionDataManager';
|
||||||
|
|
||||||
export class GroupInformationManager implements IDisposable
|
export class GroupInformationManager implements IDisposable
|
||||||
@ -22,7 +23,8 @@ export class GroupInformationManager implements IDisposable
|
|||||||
if(this._sessionDataManager && this._sessionDataManager.communication)
|
if(this._sessionDataManager && this._sessionDataManager.communication)
|
||||||
{
|
{
|
||||||
this._messages = [
|
this._messages = [
|
||||||
new GroupBadgesEvent(this.onGroupBadgesEvent.bind(this))
|
new RoomReadyMessageEvent(this.onRoomReadyMessageEvent.bind(this)),
|
||||||
|
new HabboGroupBadgesMessageEvent(this.onGroupBadgesEvent.bind(this))
|
||||||
];
|
];
|
||||||
|
|
||||||
for(const message of this._messages) this._sessionDataManager.communication.registerMessageEvent(message);
|
for(const message of this._messages) this._sessionDataManager.communication.registerMessageEvent(message);
|
||||||
@ -44,20 +46,16 @@ export class GroupInformationManager implements IDisposable
|
|||||||
this._sessionDataManager = null;
|
this._sessionDataManager = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public requestGroupBadges(): void
|
private onRoomReadyMessageEvent(event: RoomReadyMessageEvent): void
|
||||||
{
|
{
|
||||||
this._sessionDataManager.send(new GroupBadgesComposer());
|
this._sessionDataManager.send(new GetHabboGroupBadgesMessageComposer());
|
||||||
}
|
}
|
||||||
|
|
||||||
private onGroupBadgesEvent(event: GroupBadgesEvent): void
|
private onGroupBadgesEvent(event: HabboGroupBadgesMessageEvent): void
|
||||||
{
|
{
|
||||||
if(!event) return;
|
|
||||||
|
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
|
|
||||||
if(!parser) return;
|
for(const [ groupId, badgeId ] of parser.badges.entries()) this._groupBadges.set(groupId, badgeId);
|
||||||
|
|
||||||
this._groupBadges = parser.badges;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public getGroupBadge(groupId: number): string
|
public getGroupBadge(groupId: number): string
|
||||||
|
@ -36,7 +36,6 @@ export interface ISessionDataManager extends INitroManager
|
|||||||
userName: string;
|
userName: string;
|
||||||
figure: string;
|
figure: string;
|
||||||
gender: string;
|
gender: string;
|
||||||
isGodMode: boolean;
|
|
||||||
realName: string;
|
realName: string;
|
||||||
ignoredUsersManager: IgnoredUsersManager;
|
ignoredUsersManager: IgnoredUsersManager;
|
||||||
groupInformationManager: GroupInformationManager;
|
groupInformationManager: GroupInformationManager;
|
||||||
@ -47,6 +46,8 @@ export interface ISessionDataManager extends INitroManager
|
|||||||
clubLevel: number;
|
clubLevel: number;
|
||||||
securityLevel: number;
|
securityLevel: number;
|
||||||
isAmbassador: boolean;
|
isAmbassador: boolean;
|
||||||
|
isNoob: boolean;
|
||||||
|
isRealNoob: boolean;
|
||||||
isSystemOpen: boolean;
|
isSystemOpen: boolean;
|
||||||
isSystemShutdown: boolean;
|
isSystemShutdown: boolean;
|
||||||
isAuthenticHabbo: boolean;
|
isAuthenticHabbo: boolean;
|
||||||
|
@ -8,7 +8,7 @@ export class RoomUserData
|
|||||||
private _custom: string = '';
|
private _custom: string = '';
|
||||||
private _activityPoints: number;
|
private _activityPoints: number;
|
||||||
private _webID: number = 0;
|
private _webID: number = 0;
|
||||||
private _groupID: string = '';
|
private _groupID: number = 0;
|
||||||
private _groupStatus: number = 0;
|
private _groupStatus: number = 0;
|
||||||
private _groupName: string = '';
|
private _groupName: string = '';
|
||||||
private _ownerId: number = 0;
|
private _ownerId: number = 0;
|
||||||
@ -104,14 +104,14 @@ export class RoomUserData
|
|||||||
this._webID = k;
|
this._webID = k;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get guildId(): string
|
public get groupId(): number
|
||||||
{
|
{
|
||||||
return this._groupID;
|
return this._groupID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public set guildId(k: string)
|
public set groupId(groupId: number)
|
||||||
{
|
{
|
||||||
this._groupID = k;
|
this._groupID = groupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get groupName(): string
|
public get groupName(): string
|
||||||
|
@ -6,6 +6,7 @@ import { FigureUpdateEvent, MysteryBoxKeysEvent } from '../communication';
|
|||||||
import { INitroCommunicationManager } from '../communication/INitroCommunicationManager';
|
import { INitroCommunicationManager } from '../communication/INitroCommunicationManager';
|
||||||
import { AvailabilityStatusMessageEvent } from '../communication/messages/incoming/availability/AvailabilityStatusMessageEvent';
|
import { AvailabilityStatusMessageEvent } from '../communication/messages/incoming/availability/AvailabilityStatusMessageEvent';
|
||||||
import { ChangeUserNameResultMessageEvent } from '../communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent';
|
import { ChangeUserNameResultMessageEvent } from '../communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent';
|
||||||
|
import { NoobnessLevelMessageEvent } from '../communication/messages/incoming/handshake/NoobnessLevelMessageEvent';
|
||||||
import { RoomReadyMessageEvent } from '../communication/messages/incoming/room/mapping/RoomReadyMessageEvent';
|
import { RoomReadyMessageEvent } from '../communication/messages/incoming/room/mapping/RoomReadyMessageEvent';
|
||||||
import { UserPermissionsEvent } from '../communication/messages/incoming/user/access/UserPermissionsEvent';
|
import { UserPermissionsEvent } from '../communication/messages/incoming/user/access/UserPermissionsEvent';
|
||||||
import { UserInfoEvent } from '../communication/messages/incoming/user/data/UserInfoEvent';
|
import { UserInfoEvent } from '../communication/messages/incoming/user/data/UserInfoEvent';
|
||||||
@ -19,6 +20,7 @@ import { NitroSettingsEvent } from '../events/NitroSettingsEvent';
|
|||||||
import { Nitro } from '../Nitro';
|
import { Nitro } from '../Nitro';
|
||||||
import { HabboWebTools } from '../utils/HabboWebTools';
|
import { HabboWebTools } from '../utils/HabboWebTools';
|
||||||
import { BadgeImageManager } from './badge/BadgeImageManager';
|
import { BadgeImageManager } from './badge/BadgeImageManager';
|
||||||
|
import { NoobnessLevelEnum } from './enum/NoobnessLevelEnum';
|
||||||
import { SecurityLevel } from './enum/SecurityLevel';
|
import { SecurityLevel } from './enum/SecurityLevel';
|
||||||
import { MysteryBoxKeysUpdateEvent } from './events';
|
import { MysteryBoxKeysUpdateEvent } from './events';
|
||||||
import { SessionDataPreferencesEvent } from './events/SessionDataPreferencesEvent';
|
import { SessionDataPreferencesEvent } from './events/SessionDataPreferencesEvent';
|
||||||
@ -53,6 +55,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
private _clubLevel: number;
|
private _clubLevel: number;
|
||||||
private _securityLevel: number;
|
private _securityLevel: number;
|
||||||
private _isAmbassador: boolean;
|
private _isAmbassador: boolean;
|
||||||
|
private _noobnessLevel: number;
|
||||||
|
|
||||||
private _systemOpen: boolean;
|
private _systemOpen: boolean;
|
||||||
private _systemShutdown: boolean;
|
private _systemShutdown: boolean;
|
||||||
@ -89,6 +92,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
this._clubLevel = 0;
|
this._clubLevel = 0;
|
||||||
this._securityLevel = 0;
|
this._securityLevel = 0;
|
||||||
this._isAmbassador = false;
|
this._isAmbassador = false;
|
||||||
|
this._noobnessLevel = -1;
|
||||||
|
|
||||||
this._systemOpen = false;
|
this._systemOpen = false;
|
||||||
this._systemShutdown = false;
|
this._systemShutdown = false;
|
||||||
@ -114,7 +118,6 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
this.onProductDataReadyEvent = this.onProductDataReadyEvent.bind(this);
|
this.onProductDataReadyEvent = this.onProductDataReadyEvent.bind(this);
|
||||||
this.onNitroSettingsEvent = this.onNitroSettingsEvent.bind(this);
|
this.onNitroSettingsEvent = this.onNitroSettingsEvent.bind(this);
|
||||||
}
|
}
|
||||||
groupInformationManager: GroupInformationManager;
|
|
||||||
|
|
||||||
protected onInit(): void
|
protected onInit(): void
|
||||||
{
|
{
|
||||||
@ -134,6 +137,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
this._communication.registerMessageEvent(new RoomReadyMessageEvent(this.onRoomModelNameEvent.bind(this)));
|
this._communication.registerMessageEvent(new RoomReadyMessageEvent(this.onRoomModelNameEvent.bind(this)));
|
||||||
this._communication.registerMessageEvent(new InClientLinkEvent(this.onInClientLinkEvent.bind(this)));
|
this._communication.registerMessageEvent(new InClientLinkEvent(this.onInClientLinkEvent.bind(this)));
|
||||||
this._communication.registerMessageEvent(new MysteryBoxKeysEvent(this.onMysteryBoxKeysEvent.bind(this)));
|
this._communication.registerMessageEvent(new MysteryBoxKeysEvent(this.onMysteryBoxKeysEvent.bind(this)));
|
||||||
|
this._communication.registerMessageEvent(new NoobnessLevelMessageEvent(this.onNoobnessLevelMessageEvent.bind(this)));
|
||||||
|
|
||||||
Nitro.instance.events.addEventListener(NitroSettingsEvent.SETTINGS_UPDATED, this.onNitroSettingsEvent);
|
Nitro.instance.events.addEventListener(NitroSettingsEvent.SETTINGS_UPDATED, this.onNitroSettingsEvent);
|
||||||
}
|
}
|
||||||
@ -398,6 +402,16 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
this.events.dispatchEvent(new MysteryBoxKeysUpdateEvent(parser.boxColor, parser.keyColor));
|
this.events.dispatchEvent(new MysteryBoxKeysUpdateEvent(parser.boxColor, parser.keyColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private onNoobnessLevelMessageEvent(event: NoobnessLevelMessageEvent): void
|
||||||
|
{
|
||||||
|
this._noobnessLevel = event.getParser().noobnessLevel;
|
||||||
|
|
||||||
|
if(this._noobnessLevel !== NoobnessLevelEnum.OLD_IDENTITY)
|
||||||
|
{
|
||||||
|
Nitro.instance.core.configuration.setValue<number>('new.identity', 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private onNitroSettingsEvent(event: NitroSettingsEvent): void
|
private onNitroSettingsEvent(event: NitroSettingsEvent): void
|
||||||
{
|
{
|
||||||
this._isRoomCameraFollowDisabled = event.cameraFollow;
|
this._isRoomCameraFollowDisabled = event.cameraFollow;
|
||||||
@ -599,6 +613,11 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
return this._ignoredUsersManager;
|
return this._ignoredUsersManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get groupInformationManager(): GroupInformationManager
|
||||||
|
{
|
||||||
|
return this._groupInformationManager;
|
||||||
|
}
|
||||||
|
|
||||||
public get respectsReceived(): number
|
public get respectsReceived(): number
|
||||||
{
|
{
|
||||||
return this._respectsReceived;
|
return this._respectsReceived;
|
||||||
@ -634,6 +653,16 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
return this._isAmbassador;
|
return this._isAmbassador;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get isNoob(): boolean
|
||||||
|
{
|
||||||
|
return (this._noobnessLevel !== NoobnessLevelEnum.OLD_IDENTITY);
|
||||||
|
}
|
||||||
|
|
||||||
|
public get isRealNoob(): boolean
|
||||||
|
{
|
||||||
|
return (this._noobnessLevel === NoobnessLevelEnum.REAL_NOOB);
|
||||||
|
}
|
||||||
|
|
||||||
public get isSystemOpen(): boolean
|
public get isSystemOpen(): boolean
|
||||||
{
|
{
|
||||||
return this._systemOpen;
|
return this._systemOpen;
|
||||||
@ -654,11 +683,6 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
|||||||
return (this._securityLevel >= SecurityLevel.MODERATOR);
|
return (this._securityLevel >= SecurityLevel.MODERATOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
public get isGodMode(): boolean
|
|
||||||
{
|
|
||||||
return this.securityLevel >= SecurityLevel.MODERATOR;
|
|
||||||
}
|
|
||||||
|
|
||||||
public get isCameraFollowDisabled(): boolean
|
public get isCameraFollowDisabled(): boolean
|
||||||
{
|
{
|
||||||
return this._isRoomCameraFollowDisabled;
|
return this._isRoomCameraFollowDisabled;
|
||||||
|
6
src/nitro/session/enum/NoobnessLevelEnum.ts
Normal file
6
src/nitro/session/enum/NoobnessLevelEnum.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export class NoobnessLevelEnum
|
||||||
|
{
|
||||||
|
public static OLD_IDENTITY: number = 0;
|
||||||
|
public static NEW_IDENTITY: number = 1;
|
||||||
|
public static REAL_NOOB: number = 2;
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
export * from './GenericErrorEnum';
|
export * from './GenericErrorEnum';
|
||||||
|
export * from './NoobnessLevelEnum';
|
||||||
export * from './RoomControllerLevel';
|
export * from './RoomControllerLevel';
|
||||||
export * from './RoomTradingLevelEnum';
|
export * from './RoomTradingLevelEnum';
|
||||||
export * from './SecurityLevel';
|
export * from './SecurityLevel';
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { IRoomSession } from '../IRoomSession';
|
import { IRoomSession } from '../IRoomSession';
|
||||||
import { RoomSessionEvent } from './RoomSessionEvent';
|
import { RoomSessionEvent } from './RoomSessionEvent';
|
||||||
|
|
||||||
export class RoomSessionFavouriteGroupUpdateEvent extends RoomSessionEvent
|
export class RoomSessionFavoriteGroupUpdateEvent extends RoomSessionEvent
|
||||||
{
|
{
|
||||||
public static FAVOURITE_GROUP_UPDATE: string = 'RSFGUE_FAVOURITE_GROUP_UPDATE';
|
public static FAVOURITE_GROUP_UPDATE: string = 'RSFGUE_FAVOURITE_GROUP_UPDATE';
|
||||||
|
|
||||||
@ -10,14 +10,14 @@ export class RoomSessionFavouriteGroupUpdateEvent extends RoomSessionEvent
|
|||||||
private _habboGroupName: string;
|
private _habboGroupName: string;
|
||||||
private _status: number;
|
private _status: number;
|
||||||
|
|
||||||
constructor(k: IRoomSession, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5: string)
|
constructor(session: IRoomSession, roomIndex: number, groupId: number, status: number, groupName: string)
|
||||||
{
|
{
|
||||||
super(RoomSessionFavouriteGroupUpdateEvent.FAVOURITE_GROUP_UPDATE, k);
|
super(RoomSessionFavoriteGroupUpdateEvent.FAVOURITE_GROUP_UPDATE, session);
|
||||||
|
|
||||||
this._roomIndex = _arg_2;
|
this._roomIndex = roomIndex;
|
||||||
this._habboGroupId = _arg_3;
|
this._habboGroupId = groupId;
|
||||||
this._habboGroupName = _arg_5;
|
this._habboGroupName = groupName;
|
||||||
this._status = _arg_4;
|
this._status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get roomIndex(): number
|
public get roomIndex(): number
|
@ -5,26 +5,26 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent
|
|||||||
{
|
{
|
||||||
public static USER_FIGURE: string = 'RSUBE_FIGURE';
|
public static USER_FIGURE: string = 'RSUBE_FIGURE';
|
||||||
|
|
||||||
private _userId: number = 0;
|
private _roomIndex: number = 0;
|
||||||
private _figure: string = '';
|
private _figure: string = '';
|
||||||
private _gender: string = '';
|
private _gender: string = '';
|
||||||
private _customInfo: string = '';
|
private _customInfo: string = '';
|
||||||
private _achievementScore: number;
|
private _achievementScore: number;
|
||||||
|
|
||||||
constructor(session: IRoomSession, userId: number, figure: string, gender: string, customInfo: string, achievementScore: number)
|
constructor(session: IRoomSession, roomIndex: number, figure: string, gender: string, customInfo: string, achievementScore: number)
|
||||||
{
|
{
|
||||||
super(RoomSessionUserFigureUpdateEvent.USER_FIGURE, session);
|
super(RoomSessionUserFigureUpdateEvent.USER_FIGURE, session);
|
||||||
|
|
||||||
this._userId = userId;
|
this._roomIndex = roomIndex;
|
||||||
this._figure = figure;
|
this._figure = figure;
|
||||||
this._gender = gender;
|
this._gender = gender;
|
||||||
this._customInfo = customInfo;
|
this._customInfo = customInfo;
|
||||||
this._achievementScore = achievementScore;
|
this._achievementScore = achievementScore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get userId(): number
|
public get roomIndex(): number
|
||||||
{
|
{
|
||||||
return this._userId;
|
return this._roomIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get figure(): string
|
public get figure(): string
|
||||||
|
@ -10,7 +10,7 @@ export * from './RoomSessionDimmerPresetsEventPresetItem';
|
|||||||
export * from './RoomSessionDoorbellEvent';
|
export * from './RoomSessionDoorbellEvent';
|
||||||
export * from './RoomSessionErrorMessageEvent';
|
export * from './RoomSessionErrorMessageEvent';
|
||||||
export * from './RoomSessionEvent';
|
export * from './RoomSessionEvent';
|
||||||
export * from './RoomSessionFavouriteGroupUpdateEvent';
|
export * from './RoomSessionFavoriteGroupUpdateEvent';
|
||||||
export * from './RoomSessionFriendRequestEvent';
|
export * from './RoomSessionFriendRequestEvent';
|
||||||
export * from './RoomSessionNestBreedingSuccessEvent';
|
export * from './RoomSessionNestBreedingSuccessEvent';
|
||||||
export * from './RoomSessionPetBreedingEvent';
|
export * from './RoomSessionPetBreedingEvent';
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import { PetSupplementedNotificationEvent, PetSupplementTypeEnum } from '../..';
|
|
||||||
import { IConnection } from '../../../core/communication/connections/IConnection';
|
import { IConnection } from '../../../core/communication/connections/IConnection';
|
||||||
import { FloodControlEvent } from '../../communication/messages/incoming/room/unit/chat/FloodControlEvent';
|
import { FloodControlEvent } from '../../communication/messages/incoming/room/unit/chat/FloodControlEvent';
|
||||||
import { RemainingMuteEvent } from '../../communication/messages/incoming/room/unit/chat/RemainingMuteEvent';
|
import { RemainingMuteEvent } from '../../communication/messages/incoming/room/unit/chat/RemainingMuteEvent';
|
||||||
@ -7,6 +6,8 @@ import { RoomUnitChatShoutEvent } from '../../communication/messages/incoming/ro
|
|||||||
import { RoomUnitChatWhisperEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent';
|
import { RoomUnitChatWhisperEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent';
|
||||||
import { RoomUnitHandItemReceivedEvent } from '../../communication/messages/incoming/room/unit/RoomUnitHandItemReceivedEvent';
|
import { RoomUnitHandItemReceivedEvent } from '../../communication/messages/incoming/room/unit/RoomUnitHandItemReceivedEvent';
|
||||||
import { PetRespectNoficationEvent } from '../../communication/messages/incoming/user/PetRespectNoficationEvent';
|
import { PetRespectNoficationEvent } from '../../communication/messages/incoming/user/PetRespectNoficationEvent';
|
||||||
|
import { PetSupplementedNotificationEvent } from '../../communication/messages/incoming/user/PetSupplementedNotificationEvent';
|
||||||
|
import { PetSupplementTypeEnum } from '../../communication/messages/incoming/user/PetSupplementTypeEnum';
|
||||||
import { RespectReceivedEvent } from '../../communication/messages/incoming/user/RespectReceivedEvent';
|
import { RespectReceivedEvent } from '../../communication/messages/incoming/user/RespectReceivedEvent';
|
||||||
import { SystemChatStyleEnum } from '../../ui/widget/enums/SystemChatStyleEnum';
|
import { SystemChatStyleEnum } from '../../ui/widget/enums/SystemChatStyleEnum';
|
||||||
import { RoomSessionChatEvent } from '../events/RoomSessionChatEvent';
|
import { RoomSessionChatEvent } from '../events/RoomSessionChatEvent';
|
||||||
|
@ -4,6 +4,7 @@ import { NewFriendRequestEvent } from '../../communication/messages/incoming/fri
|
|||||||
import { BotErrorEvent } from '../../communication/messages/incoming/notifications/BotErrorEvent';
|
import { BotErrorEvent } from '../../communication/messages/incoming/notifications/BotErrorEvent';
|
||||||
import { PetPlacingErrorEvent } from '../../communication/messages/incoming/notifications/PetPlacingErrorEvent';
|
import { PetPlacingErrorEvent } from '../../communication/messages/incoming/notifications/PetPlacingErrorEvent';
|
||||||
import { RoomDoorbellEvent } from '../../communication/messages/incoming/room/access/doorbell/RoomDoorbellEvent';
|
import { RoomDoorbellEvent } from '../../communication/messages/incoming/room/access/doorbell/RoomDoorbellEvent';
|
||||||
|
import { FavoriteMembershipUpdateMessageEvent } from '../../communication/messages/incoming/room/engine/FavoriteMembershipUpdateMessageEvent';
|
||||||
import { PetInfoEvent } from '../../communication/messages/incoming/room/pet/PetInfoEvent';
|
import { PetInfoEvent } from '../../communication/messages/incoming/room/pet/PetInfoEvent';
|
||||||
import { PetStatusUpdateEvent } from '../../communication/messages/incoming/room/pet/PetStatusUpdateEvent';
|
import { PetStatusUpdateEvent } from '../../communication/messages/incoming/room/pet/PetStatusUpdateEvent';
|
||||||
import { RoomUnitDanceEvent } from '../../communication/messages/incoming/room/unit/RoomUnitDanceEvent';
|
import { RoomUnitDanceEvent } from '../../communication/messages/incoming/room/unit/RoomUnitDanceEvent';
|
||||||
@ -16,6 +17,7 @@ import { RoomSessionPetFigureUpdateEvent, RoomSessionPetStatusUpdateEvent, RoomS
|
|||||||
import { RoomSessionDanceEvent } from '../events/RoomSessionDanceEvent';
|
import { RoomSessionDanceEvent } from '../events/RoomSessionDanceEvent';
|
||||||
import { RoomSessionDoorbellEvent } from '../events/RoomSessionDoorbellEvent';
|
import { RoomSessionDoorbellEvent } from '../events/RoomSessionDoorbellEvent';
|
||||||
import { RoomSessionErrorMessageEvent } from '../events/RoomSessionErrorMessageEvent';
|
import { RoomSessionErrorMessageEvent } from '../events/RoomSessionErrorMessageEvent';
|
||||||
|
import { RoomSessionFavoriteGroupUpdateEvent } from '../events/RoomSessionFavoriteGroupUpdateEvent';
|
||||||
import { RoomSessionFriendRequestEvent } from '../events/RoomSessionFriendRequestEvent';
|
import { RoomSessionFriendRequestEvent } from '../events/RoomSessionFriendRequestEvent';
|
||||||
import { RoomSessionPetInfoUpdateEvent } from '../events/RoomSessionPetInfoUpdateEvent';
|
import { RoomSessionPetInfoUpdateEvent } from '../events/RoomSessionPetInfoUpdateEvent';
|
||||||
import { RoomSessionUserBadgesEvent } from '../events/RoomSessionUserBadgesEvent';
|
import { RoomSessionUserBadgesEvent } from '../events/RoomSessionUserBadgesEvent';
|
||||||
@ -44,6 +46,7 @@ export class RoomUsersHandler extends BaseHandler
|
|||||||
connection.addMessageEvent(new PetFigureUpdateEvent(this.onPetFigureUpdateEvent.bind(this)));
|
connection.addMessageEvent(new PetFigureUpdateEvent(this.onPetFigureUpdateEvent.bind(this)));
|
||||||
connection.addMessageEvent(new PetPlacingErrorEvent(this.onPetPlacingError.bind(this)));
|
connection.addMessageEvent(new PetPlacingErrorEvent(this.onPetPlacingError.bind(this)));
|
||||||
connection.addMessageEvent(new BotErrorEvent(this.onBotError.bind(this)));
|
connection.addMessageEvent(new BotErrorEvent(this.onBotError.bind(this)));
|
||||||
|
connection.addMessageEvent(new FavoriteMembershipUpdateMessageEvent(this.onFavoriteMembershipUpdateMessageEvent.bind(this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private onRoomUnitEvent(event: RoomUnitEvent): void
|
private onRoomUnitEvent(event: RoomUnitEvent): void
|
||||||
@ -72,7 +75,7 @@ export class RoomUsersHandler extends BaseHandler
|
|||||||
userData.figure = user.figure;
|
userData.figure = user.figure;
|
||||||
userData.type = user.userType;
|
userData.type = user.userType;
|
||||||
userData.webID = user.webID;
|
userData.webID = user.webID;
|
||||||
userData.guildId = user.groupID;
|
userData.groupId = user.groupID;
|
||||||
userData.groupName = user.groupName;
|
userData.groupName = user.groupName;
|
||||||
userData.groupStatus = user.groupStatus;
|
userData.groupStatus = user.groupStatus;
|
||||||
userData.sex = user.sex;
|
userData.sex = user.sex;
|
||||||
@ -374,4 +377,23 @@ export class RoomUsersHandler extends BaseHandler
|
|||||||
|
|
||||||
this.listener.events.dispatchEvent(new RoomSessionErrorMessageEvent(type, session));
|
this.listener.events.dispatchEvent(new RoomSessionErrorMessageEvent(type, session));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private onFavoriteMembershipUpdateMessageEvent(event: FavoriteMembershipUpdateMessageEvent): void
|
||||||
|
{
|
||||||
|
if(!this.listener) return;
|
||||||
|
|
||||||
|
const parser = event.getParser();
|
||||||
|
const session = this.listener.getSession(this.roomId);
|
||||||
|
|
||||||
|
if(!session) return;
|
||||||
|
|
||||||
|
const userData = session.userDataManager.getUserDataByIndex(parser.roomIndex);
|
||||||
|
|
||||||
|
if(!userData) return;
|
||||||
|
|
||||||
|
userData.groupId = parser.groupId;
|
||||||
|
userData.groupName = parser.groupName;
|
||||||
|
|
||||||
|
this.listener.events.dispatchEvent(new RoomSessionFavoriteGroupUpdateEvent(session, parser.roomIndex, parser.groupId, parser.status, parser.groupName));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ export class MusicManager extends NitroManager implements IMusicManager
|
|||||||
|
|
||||||
private onEvent(event: NitroEvent): void
|
private onEvent(event: NitroEvent): void
|
||||||
{
|
{
|
||||||
console.log('music manager', event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private onTraxSongInfoMessageEvent(event: TraxSongInfoMessageEvent): void
|
private onTraxSongInfoMessageEvent(event: TraxSongInfoMessageEvent): void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user