bc-stubs 121.0.0 → 122.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/Assets/Female3DCG/Female3DCG.d.ts +1 -0
- package/bc/NativeDeclarations/Commands.d.ts +5 -5
- package/bc/NativeDeclarations/Element.d.ts +1 -1
- package/bc/NativeDeclarations/Female3DCG_Types.d.ts +4 -0
- package/bc/NativeDeclarations/KeybindingManager.d.ts +131 -0
- package/bc/NativeDeclarations/Keybindings.d.ts +3 -0
- package/bc/NativeDeclarations/Messages.d.ts +13 -17
- package/bc/NativeDeclarations/Title.d.ts +16 -0
- package/bc/NativeDeclarations/Typedef.d.ts +143 -43
- package/bc/Screens/Character/Appearance/Appearance.d.ts +1 -4
- package/bc/Screens/Character/Cheat/Cheat.d.ts +0 -4
- package/bc/Screens/Character/Creation/Creation.d.ts +0 -4
- package/bc/Screens/Character/FriendList/FriendList.d.ts +0 -1
- package/bc/Screens/Character/InformationSheet/InformationSheet.d.ts +2 -4
- package/bc/Screens/Character/ItemColor/ItemColor.d.ts +67 -34
- package/bc/Screens/Character/OnlineProfile/OnlineProfile.d.ts +23 -2
- package/bc/Screens/Character/PasswordReset/PasswordReset.d.ts +0 -4
- package/bc/Screens/Character/Preference/Arousal.d.ts +0 -12
- package/bc/Screens/Character/Preference/General.d.ts +17 -0
- package/bc/Screens/Character/Preference/Keybindings.d.ts +74 -0
- package/bc/Screens/Character/Preference/Preference.d.ts +15 -67
- package/bc/Screens/Character/Relog/Relog.d.ts +0 -4
- package/bc/Screens/Character/Title/Title.d.ts +23 -11
- package/bc/Screens/Character/Title/TitleDefault.d.ts +7 -0
- package/bc/Screens/Character/Wardrobe/Wardrobe.d.ts +0 -4
- package/bc/Screens/Inventory/ItemNeck/SlaveCollar/SlaveCollar.d.ts +0 -2
- package/bc/Screens/Online/AdvancedRule/AdvancedRule.d.ts +0 -4
- package/bc/Screens/Online/ChatAdmin/ChatAdmin.d.ts +4 -5
- package/bc/Screens/Online/ChatAdminRoomCustomization/ChatAdminRoomCustomization.d.ts +0 -4
- package/bc/Screens/Online/ChatBlockItem/ChatBlockItem.d.ts +0 -4
- package/bc/Screens/Online/ChatRoom/ChatRoom.d.ts +24 -8
- package/bc/Screens/Online/ChatRoom/ChatRoomMapView.d.ts +3 -3
- package/bc/Screens/Online/ChatRoom/Commands.d.ts +13 -7
- package/bc/Screens/Online/ChatSearch/ChatSearch.d.ts +4 -65
- package/bc/Screens/Online/ForbiddenWords/ForbiddenWords.d.ts +0 -4
- package/bc/Screens/Online/GameClubCard/GameClubCard.d.ts +0 -4
- package/bc/Screens/Online/GameLARP/GameLARP.d.ts +17 -11
- package/bc/Screens/Online/GameMagicBattle/GameMagicBattle.d.ts +0 -4
- package/bc/Screens/Room/AsylumEntrance/AsylumEntrance.d.ts +0 -4
- package/bc/Screens/Room/Crafting/Crafting.d.ts +2 -0
- package/bc/Screens/Room/Crafting/CraftingJSON.d.ts +0 -2
- package/bc/Screens/Room/InfiltrationPerks/InfiltrationPerks.d.ts +0 -4
- package/bc/Screens/Room/PlatformProfile/PlatformProfile.d.ts +0 -4
- package/bc/Screens/Room/Private/Private.d.ts +0 -4
- package/bc/Screens/Room/PrivateBed/PrivateBed.d.ts +0 -4
- package/bc/Screens/Room/Shop2/Shop2.d.ts +0 -1
- package/bc/Scripts/Activity.d.ts +5 -0
- package/bc/Scripts/Asset.d.ts +13 -0
- package/bc/Scripts/Character.d.ts +16 -0
- package/bc/Scripts/ColorPicker.d.ts +115 -113
- package/bc/Scripts/Common.d.ts +71 -8
- package/bc/Scripts/Dialog.d.ts +1 -1
- package/bc/Scripts/Element.d.ts +160 -16
- package/bc/Scripts/ExtendedItem.d.ts +6 -0
- package/bc/Scripts/Game.d.ts +2 -1
- package/bc/Scripts/Inventory.d.ts +7 -7
- package/bc/Scripts/KeybindingDefaults.d.ts +5 -0
- package/bc/Scripts/KeybindingManager.d.ts +289 -0
- package/bc/Scripts/NPC.d.ts +1 -1
- package/bc/Scripts/Preference.d.ts +12 -6
- package/bc/Scripts/Server.d.ts +55 -0
- package/bc/Scripts/Struggle.d.ts +28 -0
- package/bc/Scripts/TextItem.d.ts +27 -0
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@ interface ICommand {
|
|
|
2
2
|
/** Name of the command */
|
|
3
3
|
Tag: string;
|
|
4
4
|
/** Description of the command */
|
|
5
|
-
Description?: string | Record<ServerChatRoomLanguage | "TW", string
|
|
5
|
+
Description?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
6
6
|
/** Reference to another command, used for aliases */
|
|
7
7
|
Reference?: string;
|
|
8
8
|
/** The function that handles the command */
|
|
@@ -17,8 +17,8 @@ interface ICommand {
|
|
|
17
17
|
PreserveCase?: boolean;
|
|
18
18
|
/** Array of commands that can be used as subcommands. */
|
|
19
19
|
Subcommands?: Subcommand[];
|
|
20
|
-
/**
|
|
21
|
-
* Array of arguments that the command accepts.
|
|
20
|
+
/**
|
|
21
|
+
* Array of arguments that the command accepts.
|
|
22
22
|
* Can be a function to generate arguments at runtime.
|
|
23
23
|
* Typically used to provide additional context for users
|
|
24
24
|
*/
|
|
@@ -26,8 +26,8 @@ interface ICommand {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
type ArgumentDef = {
|
|
29
|
-
name: string
|
|
30
|
-
description: string
|
|
29
|
+
name: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
30
|
+
description: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
31
31
|
suggestions?: string[] | (() => string[]);
|
|
32
32
|
};
|
|
33
33
|
type Subcommand = Omit<ICommand, 'Subcommands' | 'AutoComplete'>;
|
|
@@ -1050,6 +1050,10 @@ interface ExtendedItemOptionConfig {
|
|
|
1050
1050
|
PrerequisiteBuyGroup?: string;
|
|
1051
1051
|
/** If the option has an archetype, sets the config to use */
|
|
1052
1052
|
ArchetypeConfig?: null | AssetArchetypeConfig;
|
|
1053
|
+
DrawOptions?: {
|
|
1054
|
+
Mirror?: boolean;
|
|
1055
|
+
Invert?: boolean;
|
|
1056
|
+
}
|
|
1053
1057
|
}
|
|
1054
1058
|
|
|
1055
1059
|
/** Defines a single (fully parsed) extended item option */
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
declare namespace Keybindings {
|
|
2
|
+
|
|
3
|
+
type KeyCode = keyof typeof KeybindingManager.ASCIIKeyboardMap;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents a combination of a physical key and optional modifier keys.
|
|
7
|
+
*
|
|
8
|
+
* - `key` refers to the `code` property from `KeyboardEvent`, not `key`.
|
|
9
|
+
* This means the value is hardware-position-based, not character-based.
|
|
10
|
+
* See: https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values
|
|
11
|
+
* - `modifiers` is an optional set of additional keys (Shift, Alt, Ctrl)
|
|
12
|
+
* that must be pressed alongside the primary key.
|
|
13
|
+
*/
|
|
14
|
+
type KeyCombo = {
|
|
15
|
+
/**
|
|
16
|
+
* Refer to the `code` property from `KeyboardEvent`.
|
|
17
|
+
* This means the value is hardware-position-based, not character-based.
|
|
18
|
+
* See: https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values
|
|
19
|
+
*/
|
|
20
|
+
key: KeyCode | null;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* An optional set of additional keys (Shift, Alt, Ctrl)
|
|
24
|
+
* that must be pressed alongside the primary key.
|
|
25
|
+
*/
|
|
26
|
+
modifiers?: Set<ModifierKey>;
|
|
27
|
+
} | {
|
|
28
|
+
/**
|
|
29
|
+
* A layout-dependent character.
|
|
30
|
+
*/
|
|
31
|
+
char: string | null;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* An optional set of additional keys (Shift, Alt, Ctrl)
|
|
35
|
+
* that must be pressed alongside the primary key.
|
|
36
|
+
*/
|
|
37
|
+
modifiers?: Set<ModifierKey>;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Allowed modifier keys in this keybinding system.
|
|
42
|
+
* Uses human-readable names to match conceptual rather than platform-specific keys.
|
|
43
|
+
*/
|
|
44
|
+
type ModifierKey = "Shift" | "Alt" | "Ctrl";
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Unique identifier for a keybinding context.
|
|
48
|
+
* Contexts allow the same keybinding to behave differently depending
|
|
49
|
+
* on active UI states or modes.
|
|
50
|
+
*/
|
|
51
|
+
type ContextId = Context["id"];
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Groups related actions for easier navigation in a UI (e.g., "Editing", "Navigation").
|
|
55
|
+
*/
|
|
56
|
+
type Category = {
|
|
57
|
+
/** Unique identifier */
|
|
58
|
+
readonly id: "chat" | "maproom" | "navigation" | "chatroom" | "unknown";
|
|
59
|
+
|
|
60
|
+
/** User-facing label */
|
|
61
|
+
readonly name?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Defines a context in which keybindings can be active.
|
|
66
|
+
*/
|
|
67
|
+
type Context = {
|
|
68
|
+
/** Unique identifier */
|
|
69
|
+
readonly id: "chat" | "always" | "isInChatRoom" | "isOnChatRoomScreen" | "isChatRoomCharacterMode" | "isChatRoomMapMode" | "isChatRoomChatFocused" | "isChatRoomChatNOTFocused" | "noModifiers";
|
|
70
|
+
|
|
71
|
+
/** User-facing label */
|
|
72
|
+
readonly name?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
73
|
+
|
|
74
|
+
/** Function returning true if this context should be considered active */
|
|
75
|
+
readonly prerequisite: (event: KeyboardEvent) => boolean;
|
|
76
|
+
|
|
77
|
+
/** Optional flag whether to show this context in the UI */
|
|
78
|
+
readonly showInUI?: boolean;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Represents a specific keybinding configuration for an action.
|
|
83
|
+
*/
|
|
84
|
+
type Keybinding = {
|
|
85
|
+
/** Unique identifier */
|
|
86
|
+
readonly id: string;
|
|
87
|
+
|
|
88
|
+
/** User-facing label */
|
|
89
|
+
readonly name?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Function executed when triggered.
|
|
93
|
+
* Returns `true` if handled, `false` otherwise.
|
|
94
|
+
*/
|
|
95
|
+
readonly action: (event: KeyboardEvent) => boolean | void;
|
|
96
|
+
|
|
97
|
+
/** Optional description */
|
|
98
|
+
readonly description?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
99
|
+
|
|
100
|
+
/** Contexts in which the action is valid */
|
|
101
|
+
readonly contextIds: ContextId[];
|
|
102
|
+
|
|
103
|
+
/** Currently assigned key combo */
|
|
104
|
+
keyCombo?: KeyCombo;
|
|
105
|
+
|
|
106
|
+
/** Category this action belongs to */
|
|
107
|
+
readonly categoryId: Category['id'];
|
|
108
|
+
|
|
109
|
+
/** System’s original mapping for reset purposes */
|
|
110
|
+
readonly defaultKeyCombo?: KeyCombo;
|
|
111
|
+
|
|
112
|
+
/** Flag whether the binding cannot be changed by the user */
|
|
113
|
+
readonly readonly: boolean;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
type UninitializedKeybinding = {
|
|
117
|
+
id: Keybinding['id'];
|
|
118
|
+
keyCombo: KeyCombo;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* A lightweight, serialized form of a keybinding.
|
|
123
|
+
*/
|
|
124
|
+
type KeybindingSerialized = {
|
|
125
|
+
/** Unique identifier */
|
|
126
|
+
actionId: string;
|
|
127
|
+
|
|
128
|
+
/** String representation of the key combination. (e.g., "KeyK ⌃⇧") */
|
|
129
|
+
keyCombo: string;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
@@ -70,6 +70,7 @@ interface ServerAccountData extends ServerAccountImmutableData {
|
|
|
70
70
|
AssetFamily: "Female3DCG";
|
|
71
71
|
Infiltration?: InfiltrationType;
|
|
72
72
|
SavedColors?: HSVColor[];
|
|
73
|
+
/** @deprecated */
|
|
73
74
|
ChatSearchFilterTerms?: string;
|
|
74
75
|
Difficulty?: { Level: DifficultyLevel; LastChange: number };
|
|
75
76
|
MapData?: ChatRoomMapData;
|
|
@@ -119,6 +120,7 @@ interface ServerAccountData extends ServerAccountImmutableData {
|
|
|
119
120
|
FriendNames?: string;
|
|
120
121
|
SubmissivesList?: string;
|
|
121
122
|
KinkyDungeonExploredLore?: unknown[];
|
|
123
|
+
KeybindingSettings?: string;
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
// TODO: Add `Lover` after figuring out why {@link ServerPlayerSync} still passes this field to the server
|
|
@@ -177,6 +179,7 @@ type ServerAccountDataSynced = Omit<ServerAccountData, "Money" | "FriendList" |
|
|
|
177
179
|
interface ServerOwnership {
|
|
178
180
|
MemberNumber?: number;
|
|
179
181
|
Name?: string;
|
|
182
|
+
Notes?: string;
|
|
180
183
|
Stage?: number;
|
|
181
184
|
Start?: number;
|
|
182
185
|
StartTrialOfferedByMemberNumber?: number;
|
|
@@ -249,14 +252,6 @@ type ServerChatRoomData = {
|
|
|
249
252
|
Game: ServerChatRoomGame;
|
|
250
253
|
Visibility: ServerChatRoomRole[];
|
|
251
254
|
Access: ServerChatRoomRole[];
|
|
252
|
-
/**
|
|
253
|
-
* @deprecated Use {@link ServerChatRoomData.Visibility} instead, this is temporarily maintained for backwards compatibility
|
|
254
|
-
*/
|
|
255
|
-
Private: boolean; // TODO: Remove following completion of migration
|
|
256
|
-
/**
|
|
257
|
-
* @deprecated Use {@link ServerChatRoomData.Access} instead, this is temporarily maintained for backwards compatibility
|
|
258
|
-
*/
|
|
259
|
-
Locked: boolean; // TODO: Remove following completion of migration
|
|
260
255
|
BlockCategory: ServerChatRoomBlockCategory[];
|
|
261
256
|
Language: ServerChatRoomLanguage;
|
|
262
257
|
Space: ServerChatRoomSpace;
|
|
@@ -408,11 +403,19 @@ interface ServerAccountLovershipComplete {
|
|
|
408
403
|
|
|
409
404
|
type ServerAccountLovershipResponse = ServerAccountLovershipStatus | ServerAccountLovershipInfo | ServerAccountLovershipComplete;
|
|
410
405
|
|
|
411
|
-
interface
|
|
406
|
+
interface ServerAccountOwnershipAcquisitionRequest {
|
|
412
407
|
MemberNumber: number;
|
|
413
408
|
Action?: "Propose" | "Accept" | "Release" | "Break";
|
|
414
409
|
}
|
|
415
410
|
|
|
411
|
+
interface ServerAccountOwnershipUpdateNotesRequest {
|
|
412
|
+
MemberNumber: number;
|
|
413
|
+
Action: "UpdateNotes";
|
|
414
|
+
Notes?: string;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
type ServerAccountOwnershipRequest = ServerAccountOwnershipAcquisitionRequest | ServerAccountOwnershipUpdateNotesRequest;
|
|
418
|
+
|
|
416
419
|
interface ServerAccountOwnershipStatus {
|
|
417
420
|
MemberNumber: number;
|
|
418
421
|
Result: "CanOfferStartTrial" | "CanStartTrial" | "CanOfferEndTrial" | "CanEndTrial";
|
|
@@ -469,6 +472,7 @@ type ChatRoomSearchSettings = {
|
|
|
469
472
|
MapTypes: string;
|
|
470
473
|
RoomMinSize: number;
|
|
471
474
|
RoomMaxSize: number;
|
|
475
|
+
FilterTerms: string;
|
|
472
476
|
}
|
|
473
477
|
|
|
474
478
|
interface ServerChatRoomSearchData {
|
|
@@ -486,14 +490,6 @@ interface ServerChatRoomSearchData {
|
|
|
486
490
|
Space: ServerChatRoomSpace;
|
|
487
491
|
Visibility: ServerChatRoomRole[];
|
|
488
492
|
Access: ServerChatRoomRole[];
|
|
489
|
-
/**
|
|
490
|
-
* @deprecated Use {@link ServerChatRoomData.Visibility} instead, this is maintained for backwards compatibility
|
|
491
|
-
*/
|
|
492
|
-
Private?: boolean;
|
|
493
|
-
/**
|
|
494
|
-
* @deprecated Use {@link ServerChatRoomData.Access} instead, this is maintained for backwards compatibility
|
|
495
|
-
*/
|
|
496
|
-
Locked?: boolean;
|
|
497
493
|
CanJoin: boolean;
|
|
498
494
|
MapType: string;
|
|
499
495
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// NOTE: `NPCArchetype` is for NPC's only
|
|
2
|
+
type TitleName =
|
|
3
|
+
NPCArchetype | "None" | "Mistress" | "Master" | "Queen" | "King" | "Goddess" | "God" | "Mistree" | "ClubSlave" |
|
|
4
|
+
"Maid" | "HeadMaid" | "BondageMaid" | "Kidnapper" | "MasterKidnapper" | "Patient" | "PermanentPatient" |
|
|
5
|
+
"EscapedPatient" | "Nurse" | "Doctor" | "AnimeBoy" | "LadyLuck" | "LordFortune" | "Patron" | "CollegeStudent" |
|
|
6
|
+
"Nawashi" | "Houdini" | "PonyAlicorn" | "PonyPegasus" | "PonyUnicorn" | "PonyWild" | "PonyHot" | "PonyWarm" |
|
|
7
|
+
"PonyCold" | "PonyFarm" | "PonyFoal" | "InfilrationMole" | "InfilrationInfiltrator" | "InfilrationAgent" |
|
|
8
|
+
"InfilrationOperative" | "InfilrationSuperspy" | "MagicSchoolWizard" | "MagicSchoolMagus" |
|
|
9
|
+
"MagicSchoolMagician" | "MagicSchoolSorcerer" | "MagicSchoolSage" | "MagicSchoolOracle" |
|
|
10
|
+
"MagicSchoolWitch" | "MagicSchoolWarlock" | "Duchess" | "Duke" | "LittleOne" | "Baby" | "DL" |
|
|
11
|
+
"BondageBaby" | "Switch" | "Princess" | "Prince" | "Liege" | "Majesty" | "Missy" | "Sissy" | "Tomboy" | "Femboy" | "GoodOne" |
|
|
12
|
+
"Pet" | "Dragon" | "Vampire" | "Turtle" | "Thing" | "Elf" | "Drow" | "Pixie" | "Brat" | "Kitten" | "Puppy" | "Foxy" |
|
|
13
|
+
"Bunny" | "Doll" | "Demon" | "Angel" | "Alien" | "Captain" | "Admiral" | "Succubus" | "Incubus" | "Concubus" |
|
|
14
|
+
"GoodGirl" | "GoodBoy" | "GoodSlaveGirl" | "GoodSlaveBoy" | "GoodSlave" | "Drone" | "FreeUse" |
|
|
15
|
+
"Archbishop" | "Bishop" | "Archjudge" | "Judge" | "Champion" | "Matron" | "Patriarch" | "Primaris"
|
|
16
|
+
;
|