bc-stubs 120.0.0 → 121.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bc/NativeDeclarations/Female3DCG_Types.d.ts +21 -5
- package/bc/NativeDeclarations/Messages.d.ts +2 -2
- package/bc/NativeDeclarations/Toasts.d.ts +5 -2
- package/bc/NativeDeclarations/Typedef.d.ts +111 -66
- package/bc/Screens/Character/Appearance/Appearance.d.ts +4 -0
- package/bc/Screens/Character/Cheat/Cheat.d.ts +4 -0
- package/bc/Screens/Character/Creation/Creation.d.ts +4 -0
- package/bc/Screens/Character/FriendList/FriendList.d.ts +1 -0
- package/bc/Screens/Character/InformationSheet/InformationSheet.d.ts +4 -0
- package/bc/Screens/Character/PasswordReset/PasswordReset.d.ts +4 -0
- package/bc/Screens/Character/Preference/Audio.d.ts +4 -3
- package/bc/Screens/Character/Preference/CensoredWords.d.ts +10 -1
- package/bc/Screens/Character/Preference/Chat.d.ts +8 -14
- package/bc/Screens/Character/Preference/Difficulty.d.ts +1 -0
- package/bc/Screens/Character/Preference/Extensions.d.ts +13 -3
- package/bc/Screens/Character/Preference/Immersion.d.ts +18 -1
- package/bc/Screens/Character/Preference/Main.d.ts +6 -0
- package/bc/Screens/Character/Preference/Online.d.ts +13 -0
- package/bc/Screens/Character/Preference/Preference.d.ts +20 -2
- package/bc/Screens/Character/Preference/Restriction.d.ts +14 -0
- package/bc/Screens/Character/Preference/Security.d.ts +20 -0
- package/bc/Screens/Character/Relog/Relog.d.ts +4 -0
- package/bc/Screens/Character/Title/Title.d.ts +4 -0
- package/bc/Screens/Character/Wardrobe/Wardrobe.d.ts +4 -0
- package/bc/Screens/Online/AdvancedRule/AdvancedRule.d.ts +4 -0
- package/bc/Screens/Online/ChatAdmin/ChatAdmin.d.ts +4 -0
- package/bc/Screens/Online/ChatAdminRoomCustomization/ChatAdminRoomCustomization.d.ts +4 -0
- package/bc/Screens/Online/ChatBlockItem/ChatBlockItem.d.ts +6 -0
- package/bc/Screens/Online/ChatRoom/ChatRoom.d.ts +19 -6
- package/bc/Screens/Online/ChatRoom/ChatRoomCharacterView.d.ts +5 -11
- package/bc/Screens/Online/ChatRoom/ChatRoomMapView.d.ts +5 -10
- package/bc/Screens/Online/ChatSearch/ChatSearch.d.ts +55 -8
- package/bc/Screens/Online/ForbiddenWords/ForbiddenWords.d.ts +4 -0
- package/bc/Screens/Online/Game/OnlineGame.d.ts +4 -0
- package/bc/Screens/Online/GameClubCard/GameClubCard.d.ts +4 -0
- package/bc/Screens/Online/GameLARP/GameLARP.d.ts +4 -0
- package/bc/Screens/Online/GameMagicBattle/GameMagicBattle.d.ts +4 -0
- package/bc/Screens/Room/AsylumEntrance/AsylumEntrance.d.ts +4 -0
- package/bc/Screens/Room/InfiltrationPerks/InfiltrationPerks.d.ts +4 -0
- package/bc/Screens/Room/PlatformProfile/PlatformProfile.d.ts +4 -0
- package/bc/Screens/Room/Private/Private.d.ts +4 -0
- package/bc/Screens/Room/PrivateBed/PrivateBed.d.ts +4 -0
- package/bc/Screens/Room/Shop2/Shop2.d.ts +1 -0
- package/bc/Scripts/Asset.d.ts +9 -0
- package/bc/Scripts/Common.d.ts +18 -13
- package/bc/Scripts/CommonDraw.d.ts +2 -1
- package/bc/Scripts/Dialog.d.ts +1 -0
- package/bc/Scripts/Element.d.ts +25 -4
- package/bc/Scripts/ExtendedItem.d.ts +8 -2
- package/bc/Scripts/Game.d.ts +6 -2
- package/bc/Scripts/Inventory.d.ts +4 -4
- package/bc/Scripts/ModularItem.d.ts +7 -0
- package/bc/Scripts/Property.d.ts +24 -0
- package/bc/Scripts/Server.d.ts +28 -6
- package/bc/Scripts/Timer.d.ts +2 -2
- package/bc/Scripts/Toasts.d.ts +7 -0
- package/package.json +1 -1
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/** A type representing layer names (yes this is just a `string` alias). */
|
|
2
|
+
type LayerName = string;
|
|
3
|
+
|
|
4
|
+
/** A special key for {@link ItemProperties["DrawingTop"]}/{@link ItemProperties["DrawingLeft"]} that overrides the _relative_ position of each and every layer individually */
|
|
5
|
+
type AssetOverride = "ASSET_OVERRIDE";
|
|
6
|
+
|
|
1
7
|
/** The definition of a fetish */
|
|
2
8
|
interface Fetish {
|
|
3
9
|
Name: FetishName;
|
|
@@ -13,12 +19,21 @@ declare namespace TopLeft {
|
|
|
13
19
|
* under their respective pose names.
|
|
14
20
|
*/
|
|
15
21
|
type Data = Readonly<Partial<Record<AssetPoseName, number>> & Record<PoseTypeDefault, number>>;
|
|
22
|
+
/**
|
|
23
|
+
* Mutable datastructure variant as to be used at the {@link ItemProperties} level.
|
|
24
|
+
* See {@link TopLeft.Data}
|
|
25
|
+
*/
|
|
26
|
+
type DataMutable = Partial<Record<AssetPoseName | PoseTypeDefault, number>>;
|
|
16
27
|
/**
|
|
17
28
|
* The unparsed top/left coordinate translation.
|
|
18
29
|
* Can be either a number or, if one wants to specify pose-specific translations, a record mapping pose names to numbers.
|
|
19
30
|
* The {@link PoseType.DEFAULT} key can be specified in the record-notation as a default pose-agnostic value.
|
|
20
31
|
*/
|
|
21
32
|
type Definition = number | Partial<Record<AssetPoseName | PoseTypeDefault, number>>;
|
|
33
|
+
/** See {@link ItemProperties["DrawingTop"]} */
|
|
34
|
+
type ItemData = Partial<Record<AssetOverride | LayerName, TopLeft.DataMutable>>;
|
|
35
|
+
/** See {@link ItemPropertiesConfig["DrawingTop"]} */
|
|
36
|
+
type ItemDefinition = Partial<Record<AssetOverride | LayerName, TopLeft.Definition>>;
|
|
22
37
|
}
|
|
23
38
|
|
|
24
39
|
/** Types for objects defining a group of alpha masks to be applied when drawing an asset layer. */
|
|
@@ -848,10 +863,10 @@ interface AttributionDefinition {
|
|
|
848
863
|
|
|
849
864
|
interface AssetLayerDefinition extends AssetCommonPropertiesGroupAssetLayer, AssetCommonPropertiesAssetLayer {
|
|
850
865
|
/** The layer's name */
|
|
851
|
-
Name?:
|
|
866
|
+
Name?: LayerName;
|
|
852
867
|
|
|
853
868
|
/** Uses the color of the named layer. */
|
|
854
|
-
CopyLayerColor?:
|
|
869
|
+
CopyLayerColor?: LayerName;
|
|
855
870
|
|
|
856
871
|
/** The color group that layer is part of. Layers part of the same color group get a selector in the Color Picker UI */
|
|
857
872
|
ColorGroup?: string;
|
|
@@ -1020,7 +1035,7 @@ interface ExtendedItemOptionConfig {
|
|
|
1020
1035
|
*/
|
|
1021
1036
|
ChangeWhenLocked?: boolean;
|
|
1022
1037
|
/** The Property object to be applied when this option is used */
|
|
1023
|
-
Property?:
|
|
1038
|
+
Property?: ItemPropertiesConfig;
|
|
1024
1039
|
/**
|
|
1025
1040
|
* Trigger this expression when changing to this option
|
|
1026
1041
|
*
|
|
@@ -1058,6 +1073,7 @@ interface ExtendedItemOption extends Omit<ExtendedItemOptionConfig, "ArchetypeCo
|
|
|
1058
1073
|
ParentData: ExtendedItemData<any>;
|
|
1059
1074
|
/** The extended item data of the subscreen associated with this option (if any) */
|
|
1060
1075
|
ArchetypeData?: null | AssetArchetypeData;
|
|
1076
|
+
Property?: ItemProperties;
|
|
1061
1077
|
}
|
|
1062
1078
|
|
|
1063
1079
|
type ExtendedItemOptionUnion = (
|
|
@@ -1117,7 +1133,7 @@ type ExtendedItemNPCCallback<OptionType extends ExtendedItemOption> = (
|
|
|
1117
1133
|
|
|
1118
1134
|
/** Partially parsed extended item option subtype for typed items */
|
|
1119
1135
|
interface TypedItemOptionConfig extends ExtendedItemOptionConfig {
|
|
1120
|
-
Property?: Omit<
|
|
1136
|
+
Property?: Omit<ItemPropertiesConfig, "TypeRecord">;
|
|
1121
1137
|
/** Whether or not this option can be selected randomly */
|
|
1122
1138
|
Random?: boolean;
|
|
1123
1139
|
/** Whether this option should be picked as default for NPC's (rather than just going for the first option) */
|
|
@@ -1277,7 +1293,7 @@ interface ModularItemOptionConfig extends Omit<ExtendedItemOptionConfig, "Name">
|
|
|
1277
1293
|
Effect?: EffectName[];
|
|
1278
1294
|
/** A list of activities enabled by that module */
|
|
1279
1295
|
AllowActivity?: ActivityName[];
|
|
1280
|
-
Property?: Omit<
|
|
1296
|
+
Property?: Omit<ItemPropertiesConfig, "TypeRecord">;
|
|
1281
1297
|
}
|
|
1282
1298
|
|
|
1283
1299
|
/** Extended item option subtype for modular items */
|
|
@@ -228,7 +228,7 @@ type ServerChatRoomRole = "All" | "Admin" | "Whitelist";
|
|
|
228
228
|
type ServerChatRoomGame = "" | "ClubCard" | "LARP" | "MagicBattle" | "GGTS" | "Prison";
|
|
229
229
|
type ServerChatRoomBlockCategory =
|
|
230
230
|
/** Those are known as AssetCategory to the client */
|
|
231
|
-
"Medical" | "Extreme" | "Pony" | "SciFi" | "ABDL" | "Fantasy" |
|
|
231
|
+
"Medical" | "Extreme" | "Pony" | "SciFi" | "ABDL" | "Fantasy" | "Smoking" |
|
|
232
232
|
/** Those are room features */
|
|
233
233
|
"Leashing" | "Photos" | "Arousal";
|
|
234
234
|
|
|
@@ -461,7 +461,6 @@ interface ServerChatRoomSearchRequest {
|
|
|
461
461
|
}
|
|
462
462
|
type ChatRoomSearchSettings = {
|
|
463
463
|
Language: "" | ServerChatRoomLanguage;
|
|
464
|
-
Query: string;
|
|
465
464
|
Space: ServerChatRoomSpace;
|
|
466
465
|
Game: ServerChatRoomGame;
|
|
467
466
|
FullRooms: boolean;
|
|
@@ -602,6 +601,7 @@ interface CharacterReferenceDictionaryEntry extends TaggedDictionaryEntry {
|
|
|
602
601
|
*/
|
|
603
602
|
interface SourceCharacterDictionaryEntry {
|
|
604
603
|
SourceCharacter: number;
|
|
604
|
+
HasSuperPowers?: true;
|
|
605
605
|
}
|
|
606
606
|
|
|
607
607
|
/**
|
|
@@ -28,6 +28,8 @@ declare namespace Toasts {
|
|
|
28
28
|
title?: string;
|
|
29
29
|
/** Type and style of the toast. */
|
|
30
30
|
type?: Type;
|
|
31
|
+
/** An user-provided category */
|
|
32
|
+
category?: string;
|
|
31
33
|
/** How long (in milliseconds) the toast remains visible. */
|
|
32
34
|
duration?: number;
|
|
33
35
|
/** Whether to show a progress bar. */
|
|
@@ -42,13 +44,14 @@ declare namespace Toasts {
|
|
|
42
44
|
onClose?: (toast: ToastElement, reason: CloseReason) => void;
|
|
43
45
|
/** Optional icon to display alongside the message. */
|
|
44
46
|
icon?: string;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
/** Optional icon color. */
|
|
48
|
+
iconColor?: IconColor;
|
|
47
49
|
/** Optional array of action buttons to render inside the toast. */
|
|
48
50
|
buttons?: ToastButton[];
|
|
49
51
|
/** Whether to clamp long messages to 3 lines. */
|
|
50
52
|
clampMessage?: boolean;
|
|
51
53
|
}
|
|
54
|
+
|
|
52
55
|
/**
|
|
53
56
|
* Defines a button to be rendered inside a toast notification.
|
|
54
57
|
* - label:
|
|
@@ -164,7 +164,7 @@ declare namespace ElementButton {
|
|
|
164
164
|
/** A button label */
|
|
165
165
|
label?: StaticNode;
|
|
166
166
|
/** The position of the button label */
|
|
167
|
-
labelPosition?: "top" | "center" | "bottom";
|
|
167
|
+
labelPosition?: "top" | "center" | "bottom" | "left" | "right";
|
|
168
168
|
/** A background image for the button */
|
|
169
169
|
image?: string;
|
|
170
170
|
/**
|
|
@@ -216,6 +216,10 @@ declare namespace ElementCheckbox {
|
|
|
216
216
|
*/
|
|
217
217
|
name?: string;
|
|
218
218
|
}
|
|
219
|
+
|
|
220
|
+
interface LabelOptions extends Options {
|
|
221
|
+
orientation?: "horizontal" | "vertical";
|
|
222
|
+
}
|
|
219
223
|
}
|
|
220
224
|
|
|
221
225
|
type Rect = { x: number, y: number, w: number, h: number };
|
|
@@ -676,11 +680,12 @@ interface PreferenceSubscreen {
|
|
|
676
680
|
description?: string;
|
|
677
681
|
icon?: string;
|
|
678
682
|
hidden?: boolean;
|
|
679
|
-
load?: () => void
|
|
683
|
+
load?: () => void | Promise<void>;
|
|
680
684
|
run: () => void;
|
|
681
685
|
click: () => void;
|
|
682
|
-
exit?: () => boolean
|
|
686
|
+
exit?: () => boolean | Promise<boolean>;
|
|
683
687
|
unload?: () => void;
|
|
688
|
+
resize?: (onLoad: boolean) => void;
|
|
684
689
|
}
|
|
685
690
|
|
|
686
691
|
interface PreferenceGenderSetting {
|
|
@@ -802,10 +807,10 @@ interface ModuleScreens {
|
|
|
802
807
|
type RoomName = ModuleScreens[ModuleType];
|
|
803
808
|
|
|
804
809
|
interface RelogDataBase<T extends ModuleType> {
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
810
|
+
Screen: ModuleScreens[T],
|
|
811
|
+
Module: T,
|
|
812
|
+
Character: Character | null,
|
|
813
|
+
ChatRoomName: string | null,
|
|
809
814
|
}
|
|
810
815
|
|
|
811
816
|
type _RelogDataMap<T> = T extends ModuleType ? RelogDataBase<T> : never;
|
|
@@ -814,7 +819,7 @@ type RelogData = _RelogDataMap<ModuleType>;
|
|
|
814
819
|
type _ScreenSpecifier<T extends ModuleType> = [module: T, screen: ModuleScreens[T]];
|
|
815
820
|
type ScreenSpecifier = _ScreenSpecifier<"Character"> | _ScreenSpecifier<"Cutscene"> | _ScreenSpecifier<"MiniGame"> | _ScreenSpecifier<"Online"> | _ScreenSpecifier<"Room">;
|
|
816
821
|
|
|
817
|
-
type AssetCategory = "Medical" | "Extreme" | "Pony" | "SciFi" | "ABDL" | "Fantasy";
|
|
822
|
+
type AssetCategory = "Medical" | "Extreme" | "Pony" | "SciFi" | "ABDL" | "Fantasy" | "Smoking";
|
|
818
823
|
|
|
819
824
|
type PortalLinkStatus = "PortalLinkInvalidCode" | "PortalLinkClipboardError" | "PortalLinkValidCode" | `PortalLinkSearching${number}` | "PortalLinkDuplicateCode" | "PortalLinkTargetNotFound" | "PortalLinkEstablished";
|
|
820
825
|
type PortalLinkFunction = "PortalLinkFunctionLock" | "PortalLinkFunctionUnlock" | "PortalLinkFunctionCycleChastity" | `PortalLinkFunctionActivity${ActivityName}`;
|
|
@@ -835,6 +840,15 @@ type ChatRoomSettings = ServerChatRoomSettings;
|
|
|
835
840
|
/** ChatRoom results once received by the client */
|
|
836
841
|
type ChatRoomSearchResult = (ServerChatRoomSearchData & { DisplayName: string, Order: number });
|
|
837
842
|
|
|
843
|
+
interface ChatSearchLobbyOptions {
|
|
844
|
+
/** Name of the chatroom game to play */
|
|
845
|
+
Game?: ServerChatRoomGame;
|
|
846
|
+
/** Name of the background to use in the lobby */
|
|
847
|
+
Background?: string;
|
|
848
|
+
/** Tags of allowed backgrounds when creating a room */
|
|
849
|
+
BackgroundTagList?: BackgroundTag[];
|
|
850
|
+
}
|
|
851
|
+
|
|
838
852
|
type StimulationAction = "Kneel" | "Walk" | "Struggle" | "StruggleFail" | "Talk";
|
|
839
853
|
|
|
840
854
|
interface StimulationEvent {
|
|
@@ -854,13 +868,13 @@ type StimulationEventType = "CrotchRope" | "Talk" | "Vibe" | "Inflated" | "Wiggl
|
|
|
854
868
|
|
|
855
869
|
interface StimulationEventItem {
|
|
856
870
|
/** The item that caused the stimulation event */
|
|
857
|
-
|
|
871
|
+
item: Item;
|
|
858
872
|
/** The type of stimulation event */
|
|
859
|
-
|
|
873
|
+
event: StimulationEventType;
|
|
860
874
|
/** The chance of the event occurring */
|
|
861
|
-
|
|
875
|
+
chance: number;
|
|
862
876
|
/** Arousal booost from the event */
|
|
863
|
-
|
|
877
|
+
arousal: number;
|
|
864
878
|
}
|
|
865
879
|
|
|
866
880
|
interface ChatRoomChatLogEntry {
|
|
@@ -909,8 +923,8 @@ interface IChatRoomMessageMetadata {
|
|
|
909
923
|
ReplyId?: string;
|
|
910
924
|
/** The ID of the message */
|
|
911
925
|
MsgId?: string;
|
|
912
|
-
|
|
913
|
-
|
|
926
|
+
/** Whether the sender has super powers active (only in map view) */
|
|
927
|
+
HasSuperPowers?: boolean;
|
|
914
928
|
}
|
|
915
929
|
|
|
916
930
|
/**
|
|
@@ -1015,7 +1029,7 @@ interface IFriendListBeepLogMessage {
|
|
|
1015
1029
|
* Opposite of {@link Readonly}
|
|
1016
1030
|
*/
|
|
1017
1031
|
type Mutable<T> = {
|
|
1018
|
-
|
|
1032
|
+
-readonly[P in keyof T]: T[P];
|
|
1019
1033
|
};
|
|
1020
1034
|
|
|
1021
1035
|
//#region Assets
|
|
@@ -1077,10 +1091,10 @@ interface AssetGroup {
|
|
|
1077
1091
|
readonly StyleOverride?: string [];
|
|
1078
1092
|
readonly CreateLayerTypesOverride?: number [];
|
|
1079
1093
|
readonly Reposition?: {
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1094
|
+
Group?: string;
|
|
1095
|
+
ShiftX?: number;
|
|
1096
|
+
ShiftY?: number;
|
|
1097
|
+
}[];
|
|
1084
1098
|
|
|
1085
1099
|
readonly MirrorActivitiesFrom?: AssetGroupItemName;
|
|
1086
1100
|
readonly ArousalZone?: AssetGroupItemName;
|
|
@@ -1138,14 +1152,14 @@ type AssetGroupMapping = (
|
|
|
1138
1152
|
/** An object defining a drawable layer of an asset */
|
|
1139
1153
|
interface AssetLayer {
|
|
1140
1154
|
/** The name of the layer - may be null if the asset only contains a single default layer */
|
|
1141
|
-
readonly Name:
|
|
1155
|
+
readonly Name: LayerName | null;
|
|
1142
1156
|
/** Specify a body type to override the asset with. */
|
|
1143
1157
|
readonly StyleOverride?: string [];
|
|
1144
1158
|
readonly CreateLayerTypesOverride?: number [];
|
|
1145
1159
|
/** Specify a list of CLT asset layers to override. */
|
|
1146
1160
|
readonly AllowColorize: boolean;
|
|
1147
1161
|
/** if not null, specifies that this layer should always copy the color of the named layer */
|
|
1148
|
-
readonly CopyLayerColor:
|
|
1162
|
+
readonly CopyLayerColor: LayerName | null;
|
|
1149
1163
|
/** specifies the name of a color group that this layer belongs to. Any layers within the same color group can be colored together via the item color UI */
|
|
1150
1164
|
readonly ColorGroup: string | null;
|
|
1151
1165
|
/** whether or not this layer can be colored in the coloring UI */
|
|
@@ -1277,12 +1291,12 @@ interface Asset {
|
|
|
1277
1291
|
readonly SupportedStyles?: string[];
|
|
1278
1292
|
readonly CreateLayerTypesOverride?: number[];
|
|
1279
1293
|
readonly DrawOffset?: {
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1294
|
+
Group?: AssetGroupName;
|
|
1295
|
+
Asset?: string;
|
|
1296
|
+
Layer?: string[];
|
|
1297
|
+
X?: number;
|
|
1298
|
+
Y?: number;
|
|
1299
|
+
}[];
|
|
1286
1300
|
/** @deprecated - Superceded by {@link Asset.PoseMapping} */
|
|
1287
1301
|
readonly AllowPose?: never;
|
|
1288
1302
|
/** @deprecated - Superceded by {@link Asset.PoseMapping} */
|
|
@@ -1597,7 +1611,7 @@ type ScreenUnloadHandler = VoidHandler;
|
|
|
1597
1611
|
type ScreenDrawHandler = VoidHandler;
|
|
1598
1612
|
type ScreenRunHandler = (time: number) => void;
|
|
1599
1613
|
type ScreenResizeHandler = (load: boolean) => void;
|
|
1600
|
-
type ScreenExitHandler = VoidHandler;
|
|
1614
|
+
type ScreenExitHandler = VoidHandler | (() => Promise<void>);
|
|
1601
1615
|
|
|
1602
1616
|
interface ScreenFunctions {
|
|
1603
1617
|
// Required
|
|
@@ -1972,7 +1986,7 @@ interface Character {
|
|
|
1972
1986
|
get Position(): ChatRoomMapPos | null;
|
|
1973
1987
|
set Position({ X, Y }: ChatRoomMapPos);
|
|
1974
1988
|
IsBirthday: () => boolean;
|
|
1975
|
-
|
|
1989
|
+
IsSiblingOfCharacter: (C: Character) => boolean;
|
|
1976
1990
|
IsFamilyOfPlayer: () => boolean;
|
|
1977
1991
|
IsInFamilyOfMemberNumber: (MemberNum: number) => boolean;
|
|
1978
1992
|
IsOnline: () => this is Character;
|
|
@@ -2455,7 +2469,6 @@ interface PlayerOnlineSettings {
|
|
|
2455
2469
|
AutoBanBlackList: boolean;
|
|
2456
2470
|
AutoBanGhostList: boolean;
|
|
2457
2471
|
DisableAnimations: boolean;
|
|
2458
|
-
SearchShowsFullRooms: boolean;
|
|
2459
2472
|
SearchFriendsFirst: boolean;
|
|
2460
2473
|
SendStatus: boolean;
|
|
2461
2474
|
ShowStatus: boolean;
|
|
@@ -2463,6 +2476,10 @@ interface PlayerOnlineSettings {
|
|
|
2463
2476
|
ShowRoomCustomization: 0 | 1 | 2 | 3; // 0 - Never, 1 - No by default, 2 - Yes by default, 3 - Always
|
|
2464
2477
|
FriendListAutoRefresh: boolean;
|
|
2465
2478
|
DefaultChatRoomBackground: string;
|
|
2479
|
+
/**
|
|
2480
|
+
* @deprecated
|
|
2481
|
+
*/
|
|
2482
|
+
SearchShowsFullRooms: never;
|
|
2466
2483
|
}
|
|
2467
2484
|
|
|
2468
2485
|
/** Pandora Player extension */
|
|
@@ -3415,10 +3432,25 @@ interface ItemPropertiesCustom {
|
|
|
3415
3432
|
|
|
3416
3433
|
/** PortalLink: Used to link a remote to its target asset. */
|
|
3417
3434
|
PortalLinkCode?: string;
|
|
3435
|
+
|
|
3436
|
+
/** Override the top-position of a layer. A value of {@link AssetOverride} will be override the _relative_ position of each and every layer individually. */
|
|
3437
|
+
DrawingTop?: TopLeft.ItemData;
|
|
3438
|
+
|
|
3439
|
+
/** Override the left-position of a layer. A value of {@link AssetOverride} will be override the _relative_ position of each and every layer individually. */
|
|
3440
|
+
DrawingLeft?: TopLeft.ItemData;
|
|
3418
3441
|
}
|
|
3419
3442
|
|
|
3420
3443
|
interface ItemProperties extends ItemPropertiesBase, AssetDefinitionProperties, ItemPropertiesCustom { }
|
|
3421
3444
|
|
|
3445
|
+
/** Base type for unparsed extended item properties */
|
|
3446
|
+
interface ItemPropertiesConfig extends Omit<ItemProperties, "DrawingTop" | "DrawingLeft"> {
|
|
3447
|
+
/** Override the top-position of a layer. A value of {@link AssetOverride} will be override the _relative_ position of each and every layer individually. */
|
|
3448
|
+
DrawingTop?: TopLeft.ItemDefinition;
|
|
3449
|
+
|
|
3450
|
+
/** Override the left-position of a layer. A value of {@link AssetOverride} will be override the _relative_ position of each and every layer individually. */
|
|
3451
|
+
DrawingLeft?: TopLeft.ItemDefinition;
|
|
3452
|
+
}
|
|
3453
|
+
|
|
3422
3454
|
/** All item/asset/group properties with all array-based values removed */
|
|
3423
3455
|
declare namespace PropertiesNoArray {
|
|
3424
3456
|
/** All {@link ItemProperties} properties with array-based values removed */
|
|
@@ -4700,6 +4732,8 @@ interface PreferenceExtensionsSettingItem {
|
|
|
4700
4732
|
* will be called afterward. And the setting screen for the extension will be closed.
|
|
4701
4733
|
*/
|
|
4702
4734
|
exit: () => boolean | void;
|
|
4735
|
+
|
|
4736
|
+
resize?: (onLoad: boolean) => void;
|
|
4703
4737
|
}
|
|
4704
4738
|
|
|
4705
4739
|
/** Preference Menu info for extensions settings*/
|
|
@@ -4709,6 +4743,18 @@ type PreferenceExtensionsMenuButtonInfo = {
|
|
|
4709
4743
|
click: () => void;
|
|
4710
4744
|
}
|
|
4711
4745
|
|
|
4746
|
+
interface PreferenceChatDropdownOption {
|
|
4747
|
+
list: string[];
|
|
4748
|
+
current: () => string;
|
|
4749
|
+
onChange: (value: string) => void;
|
|
4750
|
+
}
|
|
4751
|
+
|
|
4752
|
+
interface PreferenceChatCheckboxOption {
|
|
4753
|
+
label: string,
|
|
4754
|
+
check: () => boolean,
|
|
4755
|
+
click: () => void
|
|
4756
|
+
}
|
|
4757
|
+
|
|
4712
4758
|
// #end region
|
|
4713
4759
|
|
|
4714
4760
|
// #region fortune wheel
|
|
@@ -4718,12 +4764,12 @@ type WheelFortuneColor = "Blue" | "Gold" | "Gray" | "Green" | "Orange" | "Purple
|
|
|
4718
4764
|
|
|
4719
4765
|
/** Base type for fortune wheel options */
|
|
4720
4766
|
interface WheelFortuneOptionType {
|
|
4721
|
-
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4767
|
+
/** A single-character UTF16 string with the option's ID */
|
|
4768
|
+
ID: string;
|
|
4769
|
+
/** The color of the option button */
|
|
4770
|
+
Color: WheelFortuneColor;
|
|
4771
|
+
/** An optional script that will be executed whenever the option is picked */
|
|
4772
|
+
Script?: () => void;
|
|
4727
4773
|
}
|
|
4728
4774
|
|
|
4729
4775
|
// #end region
|
|
@@ -4844,43 +4890,43 @@ interface ClubCardPlayer {
|
|
|
4844
4890
|
interface ClubCardMessage {
|
|
4845
4891
|
TextGetKey: string; // Localization key
|
|
4846
4892
|
MessageText?: string; // Message Text
|
|
4847
|
-
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4893
|
+
MessageType: string; // Type of message (e.g., ACTION, SYSTEM, IMMEDIATE)
|
|
4894
|
+
PlayerId: string; // ID of the player who triggered the message
|
|
4895
|
+
TurnCounter: number; // Turn number when the message was created
|
|
4896
|
+
Placeholders: { // Dynamic data for text replacement
|
|
4897
|
+
[key: string]: string | number;
|
|
4852
4898
|
};
|
|
4853
4899
|
PlayerName?: string;
|
|
4854
|
-
|
|
4855
|
-
|
|
4900
|
+
SourcePlayer?: string;
|
|
4901
|
+
OpponentPlayer?: string;
|
|
4856
4902
|
}
|
|
4857
4903
|
|
|
4858
4904
|
/**
|
|
4859
4905
|
* Represents an active card animation in progress.
|
|
4860
4906
|
*/
|
|
4861
4907
|
interface ClubCardActiveAnimation {
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
|
|
4908
|
+
/** The card being animated. */
|
|
4909
|
+
Card: ClubCard;
|
|
4910
|
+
/** The original card (if a copy is animated). */
|
|
4911
|
+
OriginalCard?: ClubCard | null;
|
|
4912
|
+
/** Timestamp when the animation started (in milliseconds). */
|
|
4913
|
+
StartTime: number;
|
|
4914
|
+
/** Total animation duration in milliseconds. */
|
|
4915
|
+
Duration: number;
|
|
4916
|
+
/** Initial position of the card. */
|
|
4917
|
+
StartPosition: { x: number, y: number, w: number };
|
|
4918
|
+
/** Target position of the card. */
|
|
4919
|
+
EndPosition: { x: number, y: number, w: number };
|
|
4920
|
+
/** Whether to hide the original card during animation. */
|
|
4921
|
+
HideOriginal: boolean;
|
|
4922
|
+
/** Whether the original card should stay hidden after animation completes. */
|
|
4923
|
+
KeepOriginalHidden: boolean;
|
|
4924
|
+
/** Timeout ID for fallback handling (used to restore the card state in case of failure). */
|
|
4925
|
+
SafetyTimeout: number;
|
|
4926
|
+
/** Callback function called when the animation completes. */
|
|
4927
|
+
OnComplete?: Function|null;
|
|
4928
|
+
// Processed elsewhere
|
|
4929
|
+
// /** Callback function called when the animation starts. */
|
|
4884
4930
|
// OnStart?: Function|null;
|
|
4885
4931
|
/** Animation rendering level priority*/
|
|
4886
4932
|
Priority: number;
|
|
@@ -4931,7 +4977,6 @@ interface ChatRoomView extends Pick<ScreenFunctions, "Run" | "MouseDown" | "Mous
|
|
|
4931
4977
|
Deactivate?: () => void;
|
|
4932
4978
|
Draw: () => void;
|
|
4933
4979
|
DrawUi: () => void;
|
|
4934
|
-
DisplayMessage: (data: ServerChatRoomMessage, msg: string, SenderCharacter: Character, metadata: IChatRoomMessageMetadata) => string|null;
|
|
4935
4980
|
SyncRoomProperties?: (data: ServerChatRoomSyncMessage) => void;
|
|
4936
4981
|
CanStartWhisper?: (C: Character) => boolean;
|
|
4937
4982
|
CanLeave?: () => boolean;
|
|
@@ -247,6 +247,10 @@ declare function AppearanceClick(): void;
|
|
|
247
247
|
* @returns {void} - Nothing
|
|
248
248
|
*/
|
|
249
249
|
declare function AppearanceMenuClick(C: Character): void;
|
|
250
|
+
/**
|
|
251
|
+
* Handle the exiting of the appearance screen. The function name is created dynamically.
|
|
252
|
+
* @type {ScreenExitHandler}
|
|
253
|
+
*/
|
|
250
254
|
declare function AppearanceExit(): void;
|
|
251
255
|
/**
|
|
252
256
|
* Common cleanup that must happen when the appearance editor closes
|
|
@@ -36,6 +36,10 @@ declare function CheatRun(): void;
|
|
|
36
36
|
* @returns {void} - Nothing
|
|
37
37
|
*/
|
|
38
38
|
declare function CheatClick(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Handles exiting the cheat screen by saving the cheats and going back to the login screen.
|
|
41
|
+
* @type {ScreenExitHandler}
|
|
42
|
+
*/
|
|
39
43
|
declare function CheatExit(): void;
|
|
40
44
|
declare var CheatBackground: string;
|
|
41
45
|
declare var CheatAllow: boolean;
|
|
@@ -19,6 +19,10 @@ declare function CreationResponse(data: ServerAccountCreateResponse): void;
|
|
|
19
19
|
* @returns {void} - Nothing
|
|
20
20
|
*/
|
|
21
21
|
declare function CreationClick(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Does the cleanup, if the user exits the screen
|
|
24
|
+
* @type {ScreenExitHandler}
|
|
25
|
+
*/
|
|
22
26
|
declare function CreationExit(): void;
|
|
23
27
|
declare var CreationBackground: string;
|
|
24
28
|
declare var CreationMessage: string;
|
|
@@ -5,6 +5,7 @@ declare function FriendListDraw(): void;
|
|
|
5
5
|
declare function FriendListClick(event: MouseEvent | TouchEvent): void;
|
|
6
6
|
declare function FriendListKeyDown(event: KeyboardEvent): boolean;
|
|
7
7
|
declare function FriendListUnload(): void;
|
|
8
|
+
/** @type {ScreenExitHandler} */
|
|
8
9
|
declare function FriendListExit(): void;
|
|
9
10
|
/**
|
|
10
11
|
* Creates beep message menu
|
|
@@ -15,6 +15,10 @@ declare function InformationSheetSecondScreenRun(): void;
|
|
|
15
15
|
* @returns {void} - Nothing
|
|
16
16
|
*/
|
|
17
17
|
declare function InformationSheetClick(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Cleanup all elements, if the user exits the screen
|
|
20
|
+
* @type {ScreenExitHandler}
|
|
21
|
+
*/
|
|
18
22
|
declare function InformationSheetExit(): void;
|
|
19
23
|
/**
|
|
20
24
|
* Loads the information sheet for a character
|
|
@@ -15,6 +15,10 @@ declare function PasswordResetResponse(msg: ServerPasswordResetResponse): void;
|
|
|
15
15
|
* @returns {void} Nothing
|
|
16
16
|
*/
|
|
17
17
|
declare function PasswordResetClick(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Sends the player back to the login screen
|
|
20
|
+
* @type {ScreenExitHandler}
|
|
21
|
+
*/
|
|
18
22
|
declare function PasswordResetExit(): void;
|
|
19
23
|
declare var PasswordResetBackground: string;
|
|
20
24
|
declare var PasswordResetMessage: string;
|
|
@@ -15,6 +15,7 @@ declare function PreferenceSubscreenAudioClick(): void;
|
|
|
15
15
|
*/
|
|
16
16
|
declare function PreferenceSubscreenAudioExit(): boolean;
|
|
17
17
|
declare function PreferenceSubscreenAudioUnload(): void;
|
|
18
|
-
declare
|
|
19
|
-
declare
|
|
20
|
-
|
|
18
|
+
declare function PreferenceSubscreenAudioResize(onLoad: any): void;
|
|
19
|
+
declare namespace PreferenceSubscreenAudioIDs {
|
|
20
|
+
let grid: string;
|
|
21
|
+
}
|
|
@@ -18,6 +18,15 @@ declare function PreferenceSubscreenCensoredWordsClick(): void;
|
|
|
18
18
|
*/
|
|
19
19
|
declare function PreferenceSubscreenCensoredWordsExit(): boolean;
|
|
20
20
|
declare function PreferenceSubscreenCensoredWordsUnload(): void;
|
|
21
|
+
declare function PreferenceSubscreenCensoredWordsResize(): void;
|
|
22
|
+
declare function PreferenceSubscreenCensoredWordsBuildWords(): void;
|
|
21
23
|
/** @type {string[]} */
|
|
22
24
|
declare var PreferenceCensoredWordsList: string[];
|
|
23
|
-
declare
|
|
25
|
+
declare const PreferenceCensoredWordsIDs: Readonly<{
|
|
26
|
+
grid: "preference-censored-words-grid";
|
|
27
|
+
subtitle: "preference-censored-words-subtitle";
|
|
28
|
+
censorshipOption: "preference-censored-words-censorship-group";
|
|
29
|
+
wordInput: "InputWord";
|
|
30
|
+
wordInputGroup: "preference-censored-words-word-input-group";
|
|
31
|
+
add: "preference-censored-words-add-button";
|
|
32
|
+
}>;
|
|
@@ -14,25 +14,19 @@ declare function PreferenceSubscreenChatClick(): void;
|
|
|
14
14
|
* Exits the preference screen
|
|
15
15
|
*/
|
|
16
16
|
declare function PreferenceSubscreenChatExit(): boolean;
|
|
17
|
+
declare function PreferenceSubscreenChatResize(onLoad: any): void;
|
|
17
18
|
/** @type {ChatColorThemeType[]} */
|
|
18
19
|
declare var PreferenceChatColorThemeList: ChatColorThemeType[];
|
|
19
|
-
declare var PreferenceChatColorThemeIndex: number;
|
|
20
20
|
/** @type {ChatEnterLeaveType[]} */
|
|
21
21
|
declare var PreferenceChatEnterLeaveList: ChatEnterLeaveType[];
|
|
22
|
-
declare var PreferenceChatEnterLeaveIndex: number;
|
|
23
22
|
/** @type {ChatMemberNumbersType[]} */
|
|
24
23
|
declare var PreferenceChatMemberNumbersList: ChatMemberNumbersType[];
|
|
25
|
-
declare var PreferenceChatMemberNumbersIndex: number;
|
|
26
24
|
/** @type {ChatFontSizeType[]} */
|
|
27
25
|
declare var PreferenceChatFontSizeList: ChatFontSizeType[];
|
|
28
|
-
|
|
29
|
-
declare
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
declare const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
click: () => void;
|
|
36
|
-
}[];
|
|
37
|
-
/** @type {CommonGenerateGridParameters} */
|
|
38
|
-
declare const PreferenceSubscreenChatCheckboxGrid: CommonGenerateGridParameters;
|
|
26
|
+
/** @type {PreferenceChatCheckboxOption[]} */
|
|
27
|
+
declare const PreferenceSubscreenChatCheckboxes: PreferenceChatCheckboxOption[];
|
|
28
|
+
/** @type {Record<string, PreferenceChatDropdownOption>} */
|
|
29
|
+
declare const PreferenceSubscreenChatDropdowns: Record<string, PreferenceChatDropdownOption>;
|
|
30
|
+
declare const PreferenceSubscreenChatIDs: Readonly<{
|
|
31
|
+
grid: "preference-chat-grid";
|
|
32
|
+
}>;
|
|
@@ -8,6 +8,7 @@ declare function PreferenceSubscreenDifficultyRun(): void;
|
|
|
8
8
|
* @returns {void} - Nothing
|
|
9
9
|
*/
|
|
10
10
|
declare function PreferenceSubscreenDifficultyClick(): void;
|
|
11
|
+
declare function PreferenceSubscreenDifficultyExit(): boolean;
|
|
11
12
|
/** @type {null | DifficultyLevel} */
|
|
12
13
|
declare var PreferenceDifficultyLevel: null | DifficultyLevel;
|
|
13
14
|
declare var PreferenceDifficultyAccept: boolean;
|
|
@@ -13,19 +13,29 @@ declare function PreferenceSubscreenExtensionsRun(): void;
|
|
|
13
13
|
* @returns {void} - Nothing
|
|
14
14
|
*/
|
|
15
15
|
declare function PreferenceSubscreenExtensionsClick(): void;
|
|
16
|
-
declare function PreferenceSubscreenExtensionsExit(): boolean
|
|
16
|
+
declare function PreferenceSubscreenExtensionsExit(): Promise<boolean>;
|
|
17
17
|
/**
|
|
18
18
|
* Exit the preference subscreen for extensions, should be called when
|
|
19
19
|
* leaving custom menu of extensions if the extension exits the menu from itself.
|
|
20
|
-
* @returns {void} - Nothing
|
|
20
|
+
* @returns {Promise<void>} - Nothing
|
|
21
21
|
*/
|
|
22
|
-
declare function PreferenceSubscreenExtensionsClear(): void
|
|
22
|
+
declare function PreferenceSubscreenExtensionsClear(): Promise<void>;
|
|
23
23
|
/**
|
|
24
24
|
* Unloads the preference subscreen for extensions
|
|
25
25
|
* Cleans up the current extension, and reset the current extension to null
|
|
26
26
|
*/
|
|
27
27
|
declare function PreferenceSubscreenExtensionsUnload(): void;
|
|
28
|
+
declare function PreferenceSubscreenExtensionsResize(onLoad: any): void;
|
|
29
|
+
/**
|
|
30
|
+
* @param {string} screenIdentifier
|
|
31
|
+
* @param {ScreenSpecifier} returnScreen
|
|
32
|
+
*/
|
|
33
|
+
declare function PreferenceSubscreenExtensionsOpen(screenIdentifier: string, returnScreen: ScreenSpecifier): Promise<void>;
|
|
28
34
|
/** @type {PreferenceExtensionsMenuButtonInfo[]} */
|
|
29
35
|
declare let PreferenceExtensionsDisplay: PreferenceExtensionsMenuButtonInfo[];
|
|
30
36
|
/** @type {PreferenceExtensionsSettingItem | null}*/
|
|
31
37
|
declare let PreferenceExtensionsCurrent: PreferenceExtensionsSettingItem | null;
|
|
38
|
+
declare const PreferenceExtensionsIDs: Readonly<{
|
|
39
|
+
grid: "preference-extensions-grid";
|
|
40
|
+
noExtensionLabel: "preference-no-extensions-label";
|
|
41
|
+
}>;
|