From ff95658be4810ba08b176003987db81a1b55ad40 Mon Sep 17 00:00:00 2001 From: MyNameIsBatman Date: Tue, 31 Aug 2021 00:21:50 -0300 Subject: [PATCH] Group updates --- src/nitro/communication/NitroMessages.ts | 6 +- .../messages/incoming/IncomingHeader.ts | 1 + .../GroupFurniContextMenuInfoMessageEvent.ts | 16 +++++ .../messages/incoming/room/furniture/index.ts | 1 + .../messages/outgoing/OutgoingHeader.ts | 2 +- ...poser.ts => FurnitureGroupInfoComposer.ts} | 4 +- .../messages/outgoing/room/furniture/index.ts | 2 +- .../GroupFurniContextMenuInfoMessageParser.ts | 67 +++++++++++++++++++ .../messages/parser/room/furniture/index.ts | 1 + .../parser/user/HabboGroupEntryData.ts | 24 +++---- src/nitro/room/RoomObjectEventHandler.ts | 4 +- .../FurnitureGuildCustomizedLogic.ts | 6 ++ src/nitro/ui/widget/enums/ContextMenuEnum.ts | 1 + 13 files changed, 115 insertions(+), 20 deletions(-) create mode 100644 src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts rename src/nitro/communication/messages/outgoing/room/furniture/{FurnitureGuildInfoComposer.ts => FurnitureGroupInfoComposer.ts} (64%) create mode 100644 src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts diff --git a/src/nitro/communication/NitroMessages.ts b/src/nitro/communication/NitroMessages.ts index d18910ad..3fdf2e18 100644 --- a/src/nitro/communication/NitroMessages.ts +++ b/src/nitro/communication/NitroMessages.ts @@ -1,5 +1,5 @@ import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration'; -import { AchievementNotificationMessageEvent, ActivityPointNotificationMessageEvent, AddJukeboxDiskComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AvailabilityTimeMessageEvent, BadgeReceivedEvent, BonusRareInfoMessageEvent, BuildersClubFurniCountMessageEvent, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, ClubGiftNotificationEvent, DirectSMSClubBuyAvailableMessageEvent, FigureUpdateEvent, FurnitureGuildInfoComposer, GetBonusRareInfoMessageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetDirectClubBuyAvailableComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetInterstitialMessageComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOfficialSongIdMessageComposer, GetRoomAdPurchaseInfoComposer, GetSeasonalCalendarDailyOfferComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetUserSongDisksMessageComposer, HabboClubExtendOfferMessageEvent, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelWillCloseInMinutesEvent, InfoFeedEnableMessageEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsOfferGiftableMessageEvent, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LimitedOfferAppearingNextMessageEvent, MaintenanceStatusMessageEvent, MarkCatalogNewAdditionsPageOpenedComposer, MarketplaceBuyOfferComposer, MarketplaceRedeemCreditsComposer, MarketplaceRequesstItemStatsComposer, MarketplaceRequestComposer, MarketplaceRequestOffersComposer, MarketplaceRequestOwnItemsComposer, MarketplaceTakeItemBackComposer, MysteryBoxKeysEvent, NotEnoughBalanceMessageEvent, NowPlayingMessageEvent, OfficialSongIdMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, PetExperienceEvent, PetMountComposer, PetSupplementComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PurchaseBasicMembershipExtensionComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, RemoveAllRightsMessageComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RoomAdErrorEvent, RoomAdPurchaseInfoEvent, RoomUnitGiveHandItemPetComposer, SeasonalCalendarDailyOfferMessageEvent, SellablePetPalettesMessageEvent, SetTargetedOfferStateComposer, ShopTargetedOfferViewedComposer, TargetedOfferEvent, TargetedOfferNotFoundEvent, TogglePetBreedingComposer, TogglePetRidingComposer, TraxSongInfoMessageEvent, UnseenResetCategoryComposer, UnseenResetItemsComposer, UsePetProductComposer, UserSongDisksInventoryMessageEvent, WardrobeMessageEvent } from './messages'; +import { AchievementNotificationMessageEvent, ActivityPointNotificationMessageEvent, AddJukeboxDiskComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AvailabilityTimeMessageEvent, BadgeReceivedEvent, BonusRareInfoMessageEvent, BuildersClubFurniCountMessageEvent, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, ClubGiftNotificationEvent, DirectSMSClubBuyAvailableMessageEvent, FigureUpdateEvent, FurnitureGroupInfoComposer, GetBonusRareInfoMessageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetDirectClubBuyAvailableComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetInterstitialMessageComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOfficialSongIdMessageComposer, GetRoomAdPurchaseInfoComposer, GetSeasonalCalendarDailyOfferComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetUserSongDisksMessageComposer, HabboClubExtendOfferMessageEvent, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelWillCloseInMinutesEvent, InfoFeedEnableMessageEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsOfferGiftableMessageEvent, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LimitedOfferAppearingNextMessageEvent, MaintenanceStatusMessageEvent, MarkCatalogNewAdditionsPageOpenedComposer, MarketplaceBuyOfferComposer, MarketplaceRedeemCreditsComposer, MarketplaceRequesstItemStatsComposer, MarketplaceRequestComposer, MarketplaceRequestOffersComposer, MarketplaceRequestOwnItemsComposer, MarketplaceTakeItemBackComposer, MysteryBoxKeysEvent, NotEnoughBalanceMessageEvent, NowPlayingMessageEvent, OfficialSongIdMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, PetExperienceEvent, PetMountComposer, PetSupplementComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PurchaseBasicMembershipExtensionComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, RemoveAllRightsMessageComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RoomAdErrorEvent, RoomAdPurchaseInfoEvent, RoomUnitGiveHandItemPetComposer, SeasonalCalendarDailyOfferMessageEvent, SellablePetPalettesMessageEvent, SetTargetedOfferStateComposer, ShopTargetedOfferViewedComposer, TargetedOfferEvent, TargetedOfferNotFoundEvent, TogglePetBreedingComposer, TogglePetRidingComposer, TraxSongInfoMessageEvent, UnseenResetCategoryComposer, UnseenResetItemsComposer, UsePetProductComposer, UserSongDisksInventoryMessageEvent, WardrobeMessageEvent } from './messages'; import { AvailabilityStatusMessageEvent } from './messages/incoming/availability/AvailabilityStatusMessageEvent'; import { CfhSanctionMessageEvent, CfhTopicsInitEvent, SanctionStatusEvent } from './messages/incoming/callforhelp'; import { CameraPublishStatusMessageEvent } from './messages/incoming/camera/CameraPublishStatusMessageEvent'; @@ -158,6 +158,7 @@ import { FurnitureItemDataEvent } from './messages/incoming/room/furniture/Furni import { FurnitureStackHeightEvent } from './messages/incoming/room/furniture/FurnitureStackHeightEvent'; import { FurnitureState2Event } from './messages/incoming/room/furniture/FurnitureState2Event'; import { FurnitureStateEvent } from './messages/incoming/room/furniture/FurnitureStateEvent'; +import { GroupFurniContextMenuInfoMessageEvent } from './messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent'; import { LoveLockFurniFinishedEvent } from './messages/incoming/room/furniture/LoveLockFurniFinishedEvent'; import { LoveLockFurniFriendConfirmedEvent } from './messages/incoming/room/furniture/LoveLockFurniFriendConfirmedEvent'; import { LoveLockFurniStartEvent } from './messages/incoming/room/furniture/LoveLockFurniStartEvent'; @@ -701,6 +702,7 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.LOVELOCK_FURNI_FRIEND_COMFIRMED, LoveLockFurniFriendConfirmedEvent); this._events.set(IncomingHeader.LOVELOCK_FURNI_START, LoveLockFurniStartEvent); this._events.set(IncomingHeader.OBJECTS_DATA_UPDATE, ObjectsDataUpdateEvent); + this._events.set(IncomingHeader.FURNITURE_GROUP_CONTEXT_MENU_INFO, GroupFurniContextMenuInfoMessageEvent); // FLOOR this._events.set(IncomingHeader.FURNITURE_FLOOR_ADD, FurnitureFloorAddEvent); @@ -1078,7 +1080,7 @@ export class NitroMessages implements IMessageConfiguration // FURNITURE this._composers.set(OutgoingHeader.FURNITURE_ALIASES, FurnitureAliasesComposer); - this._composers.set(OutgoingHeader.FURNITURE_GUILD_INFO, FurnitureGuildInfoComposer); + this._composers.set(OutgoingHeader.FURNITURE_GROUP_INFO, FurnitureGroupInfoComposer); this._composers.set(OutgoingHeader.FURNITURE_PICKUP, FurniturePickupComposer); this._composers.set(OutgoingHeader.FURNITURE_PLACE, FurniturePlaceComposer); this._composers.set(OutgoingHeader.ITEM_PAINT, FurniturePlacePaintComposer); diff --git a/src/nitro/communication/messages/incoming/IncomingHeader.ts b/src/nitro/communication/messages/incoming/IncomingHeader.ts index b8d24cbf..711e88d8 100644 --- a/src/nitro/communication/messages/incoming/IncomingHeader.ts +++ b/src/nitro/communication/messages/incoming/IncomingHeader.ts @@ -30,6 +30,7 @@ export class IncomingHeader public static FURNITURE_FLOOR_UPDATE = 3776; public static FURNITURE_ITEMDATA = 2202; public static FURNITURE_STATE = 2376; + public static FURNITURE_GROUP_CONTEXT_MENU_INFO= 3293; public static GAME_CENTER_ACHIEVEMENTS = 2265; public static GAME_CENTER_GAME_LIST = 222; public static GAME_CENTER_STATUS = 2893; diff --git a/src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts new file mode 100644 index 00000000..6dd79a19 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { GroupFurniContextMenuInfoMessageParser } from '../../../parser/room/furniture/GroupFurniContextMenuInfoMessageParser'; + +export class GroupFurniContextMenuInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GroupFurniContextMenuInfoMessageParser); + } + + public getParser(): GroupFurniContextMenuInfoMessageParser + { + return this.parser as GroupFurniContextMenuInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/index.ts b/src/nitro/communication/messages/incoming/room/furniture/index.ts index 27e8ec63..6f6d34fe 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/index.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/index.ts @@ -5,6 +5,7 @@ export * from './FurnitureItemDataEvent'; export * from './FurnitureStackHeightEvent'; export * from './FurnitureState2Event'; export * from './FurnitureStateEvent'; +export * from './GroupFurniContextMenuInfoMessageEvent'; export * from './LoveLockFurniFinishedEvent'; export * from './LoveLockFurniFriendConfirmedEvent'; export * from './LoveLockFurniStartEvent'; diff --git a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts index 85dcb7fd..43ce08c0 100644 --- a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts +++ b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts @@ -231,7 +231,7 @@ export class OutgoingHeader public static UNIT_GIVE_HANDITEM_PET = 2768; public static PET_MOUNT = 1036; public static PET_SUPPLEMENT = 749; - public static FURNITURE_GUILD_INFO = 2651; + public static FURNITURE_GROUP_INFO = 2651; public static ACHIEVEMENT_RESOLUTION_OPEN = 359; public static USE_PET_PRODUCT = 1328; public static REMOVE_PET_SADDLE = 186; diff --git a/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGuildInfoComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGroupInfoComposer.ts similarity index 64% rename from src/nitro/communication/messages/outgoing/room/furniture/FurnitureGuildInfoComposer.ts rename to src/nitro/communication/messages/outgoing/room/furniture/FurnitureGroupInfoComposer.ts index c14028ef..59c36316 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGuildInfoComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGroupInfoComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; -export class FurnitureGuildInfoComposer implements IMessageComposer> +export class FurnitureGroupInfoComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(objectId: number, guildId: number) { diff --git a/src/nitro/communication/messages/outgoing/room/furniture/index.ts b/src/nitro/communication/messages/outgoing/room/furniture/index.ts index 613f7303..c3ec36cf 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/index.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/index.ts @@ -1,7 +1,7 @@ export * from './dimmer'; export * from './floor'; export * from './FurnitureAliasesComposer'; -export * from './FurnitureGuildInfoComposer'; +export * from './FurnitureGroupInfoComposer'; export * from './FurniturePickupComposer'; export * from './FurniturePlaceComposer'; export * from './FurniturePlacePaintComposer'; diff --git a/src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts b/src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts new file mode 100644 index 00000000..da3e8320 --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts @@ -0,0 +1,67 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; + +export class GroupFurniContextMenuInfoMessageParser implements IMessageParser +{ + private _objectId: number; + private _guildId: number; + private _guildName: string; + private _guildHomeRoomId: number; + private _userIsMember: boolean; + private _guildHasReadableForum: boolean; + + public flush(): boolean + { + this._objectId = 0; + this._guildId = 0; + this._guildName = null; + this._guildHomeRoomId = 0; + this._userIsMember = false; + this._guildHasReadableForum = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._objectId = wrapper.readInt(); + this._guildId = wrapper.readInt(); + this._guildName = wrapper.readString(); + this._guildHomeRoomId = wrapper.readInt(); + this._userIsMember = wrapper.readBoolean(); + this._guildHasReadableForum = wrapper.readBoolean(); + + return true; + } + + public get objectId(): number + { + return this._objectId; + } + + public get guildId(): number + { + return this._guildId; + } + + public get guildName(): string + { + return this._guildName; + } + + public get guildHomeRoomId(): number + { + return this._guildHomeRoomId; + } + + public get userIsMember(): boolean + { + return this._userIsMember; + } + + public get guildHasReadableForum(): boolean + { + return this._guildHasReadableForum; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/index.ts b/src/nitro/communication/messages/parser/room/furniture/index.ts index c4d77185..4e2216d4 100644 --- a/src/nitro/communication/messages/parser/room/furniture/index.ts +++ b/src/nitro/communication/messages/parser/room/furniture/index.ts @@ -5,6 +5,7 @@ export * from './FurnitureItemDataParser'; export * from './FurnitureStackHeightParser'; export * from './FurnitureState2Parser'; export * from './FurnitureStateParser'; +export * from './GroupFurniContextMenuInfoMessageParser'; export * from './LoveLockFurniFinishedParser'; export * from './LoveLockFurniFriendConfirmedParser'; export * from './LoveLockFurniStartParser'; diff --git a/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts b/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts index d8cb006c..c238e115 100644 --- a/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts +++ b/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts @@ -5,22 +5,22 @@ export class HabboGroupEntryData private _groupId: number; private _groupName: string; private _badgeCode: string; - private _Str_6751: string; - private _Str_6979: string; + private _colorA: string; + private _colorB: string; private _favourite: boolean; private _ownerId: number; - private _Str_19808: boolean; + private _hasForum: boolean; constructor(wrapper: IMessageDataWrapper) { this._groupId = wrapper.readInt(); this._groupName = wrapper.readString(); this._badgeCode = wrapper.readString(); - this._Str_6751 = wrapper.readString(); - this._Str_6979 = wrapper.readString(); + this._colorA = wrapper.readString(); + this._colorB = wrapper.readString(); this._favourite = wrapper.readBoolean(); this._ownerId = wrapper.readInt(); - this._Str_19808 = wrapper.readBoolean(); + this._hasForum = wrapper.readBoolean(); } public get groupId(): number @@ -38,14 +38,14 @@ export class HabboGroupEntryData return this._badgeCode; } - public get _Str_5845(): string + public get colorA(): string { - return this._Str_6751; + return this._colorA; } - public get _Str_6659(): string + public get colorB(): string { - return this._Str_6979; + return this._colorB; } public get favourite(): boolean @@ -58,8 +58,8 @@ export class HabboGroupEntryData return this._ownerId; } - public get _Str_21674(): boolean + public get hasForum(): boolean { - return this._Str_19808; + return this._hasForum; } } diff --git a/src/nitro/room/RoomObjectEventHandler.ts b/src/nitro/room/RoomObjectEventHandler.ts index a9ea903e..57a93491 100644 --- a/src/nitro/room/RoomObjectEventHandler.ts +++ b/src/nitro/room/RoomObjectEventHandler.ts @@ -11,7 +11,7 @@ import { IRoomGeometry } from '../../room/utils/IRoomGeometry'; import { IVector3D } from '../../room/utils/IVector3D'; import { RoomEnterEffect } from '../../room/utils/RoomEnterEffect'; import { Vector3d } from '../../room/utils/Vector3d'; -import { FurnitureGuildInfoComposer, SetObjectDataMessageComposer } from '../communication'; +import { FurnitureGroupInfoComposer, SetObjectDataMessageComposer } from '../communication'; import { BotPlaceComposer } from '../communication/messages/outgoing/room/engine/BotPlaceComposer'; import { GetItemDataComposer } from '../communication/messages/outgoing/room/engine/GetItemDataComposer'; import { PetMoveComposer } from '../communication/messages/outgoing/room/engine/PetMoveComposer'; @@ -814,7 +814,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou eventDispatcher.dispatchEvent(new RoomEngineUseProductEvent(RoomEngineUseProductEvent.USE_PRODUCT_FROM_ROOM, roomId, objectId, objectCategory)); return; case RoomObjectWidgetRequestEvent.GUILD_FURNI_CONTEXT_MENU: - this._roomEngine.connection.send(new FurnitureGuildInfoComposer(event.objectId, event.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_GUILD_ID))); + this._roomEngine.connection.send(new FurnitureGroupInfoComposer(event.objectId, event.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_GUILD_ID))); return; case RoomObjectWidgetRequestEvent.MONSTERPLANT_SEED_PLANT_CONFIRMATION_DIALOG: eventDispatcher.dispatchEvent(new RoomEngineTriggerWidgetEvent(RoomEngineTriggerWidgetEvent.REQUEST_MONSTERPLANT_SEED_PLANT_CONFIRMATION_DIALOG, roomId, objectId, objectCategory)); diff --git a/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts index f8fdd361..3d7eb024 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts @@ -1,4 +1,5 @@ import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage'; +import { ContextMenuEnum } from '../../../../ui/widget/enums/ContextMenuEnum'; import { ObjectDataUpdateMessage } from '../../../messages/ObjectDataUpdateMessage'; import { StringDataType } from '../../data/type/StringDataType'; import { RoomObjectVariable } from '../../RoomObjectVariable'; @@ -43,4 +44,9 @@ export class FurnitureGuildCustomizedLogic extends FurnitureMultiStateLogic this.object.model.setValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_1, parseInt(color1, 16)); this.object.model.setValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_2, parseInt(color2, 16)); } + + public get contextMenu(): string + { + return ContextMenuEnum.GROUP_FURNITURE; + } } diff --git a/src/nitro/ui/widget/enums/ContextMenuEnum.ts b/src/nitro/ui/widget/enums/ContextMenuEnum.ts index 94896ffa..6d7c7deb 100644 --- a/src/nitro/ui/widget/enums/ContextMenuEnum.ts +++ b/src/nitro/ui/widget/enums/ContextMenuEnum.ts @@ -8,5 +8,6 @@ export class ContextMenuEnum public static MYSTERY_TROPHY: string = 'MYSTERY_TROPHY'; public static RANDOM_TELEPORT: string = 'RANDOM_TELEPORT'; public static PURCHASABLE_CLOTHING: string = 'PURCHASABLE_CLOTHING'; + public static GROUP_FURNITURE: string = 'GROUP_FURNITURE'; public static GENERIC_USABLE: string = 'GENERIC_USABLE'; }