bc-stubs 129.0.0 → 130.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/Commands.d.ts +41 -2
- package/bc/NativeDeclarations/DeclarationsStatic.d.ts +3 -0
- package/bc/NativeDeclarations/Female3DCG_Types.d.ts +5 -0
- package/bc/NativeDeclarations/Messages.d.ts +130 -76
- package/bc/NativeDeclarations/Typedef.d.ts +42 -27
- package/bc/Screens/Character/Appearance/Appearance.d.ts +2 -2
- package/bc/Screens/Inventory/ItemHead/InteractiveVRHeadset/InteractiveVRHeadset.d.ts +2 -0
- package/bc/Screens/Inventory/ItemHood/TechnoHelmet1/TechnoHelmet1.d.ts +1 -0
- package/bc/Screens/Inventory/ItemMisc/MistressTimerPadlock/MistressTimerPadlock.d.ts +10 -4
- package/bc/Screens/Inventory/ItemMisc/OwnerTimerPadlock/OwnerTimerPadlock.d.ts +16 -4
- package/bc/Screens/Inventory/ItemMisc/TimerPasswordPadlock/TimerPasswordPadlock.d.ts +10 -4
- package/bc/Screens/MiniGame/ClubCard/ClubCard.d.ts +19 -8
- package/bc/Screens/MiniGame/ClubCardBuilder/ClubCardBuilder.d.ts +5 -0
- package/bc/Screens/MiniGame/MagicBattle/MagicBattle.d.ts +1 -2
- package/bc/Screens/Online/ChatRoom/ChatRoom.d.ts +37 -26
- package/bc/Screens/Online/ChatRoom/ChatRoomMapView.d.ts +3 -3
- package/bc/Screens/Online/ChatRoom/Commands.d.ts +57 -26
- package/bc/Screens/Online/Game/OnlineGame.d.ts +9 -2
- package/bc/Screens/Online/GameClubCard/GameClubCard.d.ts +34 -8
- package/bc/Screens/Online/GameLARP/GameLARP.d.ts +26 -8
- package/bc/Screens/Online/GameMagicBattle/GameMagicBattle.d.ts +35 -8
- package/bc/Screens/Room/Arcade/Arcade.d.ts +1 -2
- package/bc/Screens/Room/AsylumEntrance/AsylumEntrance.d.ts +1 -2
- package/bc/Screens/Room/AsylumGGTS/AsylumGGTS.d.ts +4 -4
- package/bc/Screens/Room/AsylumTherapy/AsylumTherapy.d.ts +1 -2
- package/bc/Screens/Room/Cafe/Cafe.d.ts +1 -2
- package/bc/Screens/Room/ClubCardLounge/ClubCardLounge.d.ts +1 -2
- package/bc/Screens/Room/CollegeChess/CollegeChess.d.ts +1 -2
- package/bc/Screens/Room/CollegeTennis/CollegeTennis.d.ts +1 -2
- package/bc/Screens/Room/DailyJob/DailyJob.d.ts +3 -11
- package/bc/Screens/Room/Infiltration/Infiltration.d.ts +1 -2
- package/bc/Screens/Room/Introduction/Introduction.d.ts +1 -2
- package/bc/Screens/Room/MagicSchoolFindsAround/MagicSchoolFindsAround.d.ts +1 -2
- package/bc/Screens/Room/Pandora/Pandora.d.ts +4 -6
- package/bc/Screens/Room/Private/Private.d.ts +6 -3
- package/bc/Screens/Room/Shibari/Shibari.d.ts +1 -2
- package/bc/Screens/Room/SlaveMarket/SlaveMarket.d.ts +4 -5
- package/bc/Screens/Room/Stable/Stable.d.ts +9 -10
- package/bc/Scripts/Activity.d.ts +11 -4
- package/bc/Scripts/Character.d.ts +6 -6
- package/bc/Scripts/Common.d.ts +34 -22
- package/bc/Scripts/Dialog.d.ts +5 -6
- package/bc/Scripts/Drawing.d.ts +7 -9
- package/bc/Scripts/DynamicDraw.d.ts +41 -27
- package/bc/Scripts/Inventory.d.ts +21 -15
- package/bc/Scripts/Layering.d.ts +0 -1
- package/bc/Scripts/MiniGame.d.ts +4 -3
- package/bc/Scripts/Pose.d.ts +1 -1
- package/bc/Scripts/Property.d.ts +2 -2
- package/bc/Scripts/Server.d.ts +6 -1
- package/bc/Scripts/Struggle.d.ts +9 -2
- package/bc/Scripts/Text.d.ts +2 -2
- package/package.json +6 -4
|
@@ -26,12 +26,51 @@ interface ICommand {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
type ArgumentDef = {
|
|
29
|
-
|
|
29
|
+
// FIXME: Make id required after some time
|
|
30
|
+
/** Unique identifier */
|
|
31
|
+
id?: string;
|
|
32
|
+
/** Name of the argument */
|
|
33
|
+
name?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
34
|
+
/** Description of the argument */
|
|
30
35
|
description?: string | Partial<Record<ServerChatRoomLanguage | "TW", string>>;
|
|
31
|
-
|
|
36
|
+
/** Thunk that returns suggestions for the argument */
|
|
37
|
+
suggestions?: Thunk<string[], [CommandSuggestionsContext]>;
|
|
32
38
|
};
|
|
33
39
|
type Subcommand = Omit<ICommand, 'Subcommands' | 'AutoComplete'>;
|
|
34
40
|
|
|
41
|
+
/** A command or subcommand definition */
|
|
42
|
+
type CommandLike = ICommand | Subcommand;
|
|
43
|
+
|
|
44
|
+
/** Command properties that can be inherited through {@link Reference} aliases */
|
|
45
|
+
type CommandResolvableKey = Exclude<keyof ICommand, "Tag" | "Reference">;
|
|
46
|
+
|
|
47
|
+
/** Resolved value type for a given inheritable command property */
|
|
48
|
+
type CommandResolvedValue<K extends CommandResolvableKey> = ICommand[K];
|
|
49
|
+
|
|
50
|
+
type CommandSuggestionsContext = {
|
|
51
|
+
/** Root command definition */
|
|
52
|
+
command: ICommand;
|
|
53
|
+
/** Selected subcommand, if any */
|
|
54
|
+
subcommand?: Subcommand;
|
|
55
|
+
/** Command or subcommand whose arguments are being completed */
|
|
56
|
+
active: ICommand | Subcommand;
|
|
57
|
+
/** Parsed argument values keyed by argument name, or id when name is absent */
|
|
58
|
+
args: Record<string, string | undefined>;
|
|
59
|
+
/** Index of the argument currently being completed */
|
|
60
|
+
argIndex: number;
|
|
61
|
+
/** Unparsed argument tokens after the command/subcommand */
|
|
62
|
+
remaining: string[];
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
type CommandHelpOptions = {
|
|
66
|
+
doShowEscapeHint?: boolean;
|
|
67
|
+
setCommand?: string;
|
|
68
|
+
publish?: boolean;
|
|
69
|
+
remaining?: string[];
|
|
70
|
+
command?: ICommand;
|
|
71
|
+
subcommand?: Subcommand;
|
|
72
|
+
};
|
|
73
|
+
|
|
35
74
|
type CommandsModListStatus = "ok" | "declined" | "error" | "timeout";
|
|
36
75
|
type CommandsModListResult = { status: CommandsModListStatus; mods?: ModSDKModInfo[] };
|
|
37
76
|
type CommandsModListRequest = {
|
|
@@ -773,6 +773,8 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
773
773
|
ExpressionPrerequisite?: AssetPrerequisite[];
|
|
774
774
|
}
|
|
775
775
|
|
|
776
|
+
type AssetAppearancePrerequisite = Extract<AssetPrerequisite, PosePrerequisite | "HasBreasts" | "HasFlatChest" | "HasVagina" | "HasPenis">;
|
|
777
|
+
|
|
776
778
|
/** Input interface for constructing {@link Asset} objects. */
|
|
777
779
|
declare namespace AssetDefinition {
|
|
778
780
|
/** An {@link AssetDefinition} subtype for assets whose group is of the `Item` category. */
|
|
@@ -806,6 +808,9 @@ declare namespace AssetDefinition {
|
|
|
806
808
|
SelfBondage?: never;
|
|
807
809
|
SelfUnlock?: false;
|
|
808
810
|
Time?: never;
|
|
811
|
+
Block?: never;
|
|
812
|
+
// We only allow a specific subset of those for clothing
|
|
813
|
+
Prerequisite?: AssetAppearancePrerequisite | AssetAppearancePrerequisite[];
|
|
809
814
|
}
|
|
810
815
|
/** An {@link AssetDefinition} subtype for assets whose group is of the `Script` category. */
|
|
811
816
|
interface Script extends AssetDefinitionBase {
|
|
@@ -9,7 +9,13 @@ type ChatRoomMapPos = {
|
|
|
9
9
|
|
|
10
10
|
type ChatRoomMapData = {
|
|
11
11
|
Pos: ChatRoomMapPos
|
|
12
|
-
PrivateState:
|
|
12
|
+
PrivateState: {
|
|
13
|
+
HasKeyBronze?: boolean;
|
|
14
|
+
HasKeySilver?: boolean;
|
|
15
|
+
HasKeyGold?: boolean;
|
|
16
|
+
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
interface ServerAccountImmutableData {
|
|
@@ -874,45 +880,6 @@ interface ServerChatRoomMessage extends ServerChatRoomMessageBase {
|
|
|
874
880
|
Timeout?: number;
|
|
875
881
|
}
|
|
876
882
|
|
|
877
|
-
interface ServerChatRoomGameStart {
|
|
878
|
-
GameProgress: "Start" | "Next" | "Stop" | "Skip";
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
interface ServerChatRoomGameMagicBattleUpdateRequest {
|
|
882
|
-
GameProgress: "Action";
|
|
883
|
-
Action:
|
|
884
|
-
/* MagicBattle */ "SpellSuccess" | "SpellFail" |
|
|
885
|
-
/* LARP */ "Pass" | "Seduce" | "Struggle" | "Hide" | "Cover" |
|
|
886
|
-
"Strip" | "Tighten" | "RestrainArms" | "RestrainLegs" | "RestrainMouth" |
|
|
887
|
-
"Silence" | "Immobilize" | "Detain" | "Dress" | "Costume"
|
|
888
|
-
;
|
|
889
|
-
Spell: number;
|
|
890
|
-
Time: number;
|
|
891
|
-
Target: number;
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
interface ServerChatRoomGameLARPUpdateRequest {
|
|
895
|
-
GameProgress: "Action";
|
|
896
|
-
Action: "Pass" | "Seduce" | "Struggle" | "Hide" | "Cover" |
|
|
897
|
-
"Strip" | "Tighten" | "RestrainArms" | "RestrainLegs" | "RestrainMouth" |
|
|
898
|
-
"Silence" | "Immobilize" | "Detain" | "Dress" | "Costume"
|
|
899
|
-
|
|
900
|
-
| "";
|
|
901
|
-
Item?: string;
|
|
902
|
-
Target: number;
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
interface ServerChatRoomGameBountyUpdateRequest {
|
|
906
|
-
OnlineBounty: {
|
|
907
|
-
finishTime: number,
|
|
908
|
-
target: number,
|
|
909
|
-
}
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
interface ServerChatRoomGameKDUpdateRequest {
|
|
913
|
-
KinkyDungeon: any;
|
|
914
|
-
}
|
|
915
|
-
|
|
916
883
|
interface ServerChatRoomGameCardGameData {
|
|
917
884
|
MemberNumber: number;
|
|
918
885
|
Playing: boolean;
|
|
@@ -932,54 +899,141 @@ interface ServerChatRoomGameCardGameData {
|
|
|
932
899
|
Sleeve: number;
|
|
933
900
|
}
|
|
934
901
|
|
|
935
|
-
interface
|
|
902
|
+
interface ServerGameLARPDataStart {
|
|
903
|
+
GameProgress: "Start";
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
interface ServerGameLARPDataStop {
|
|
907
|
+
GameProgress: "Stop";
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
interface ServerGameLARPDataNext {
|
|
911
|
+
GameProgress: "Next";
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
interface ServerGameLARPDataSkip {
|
|
915
|
+
GameProgress: "Skip";
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
type GameLARPActionName = "Pass" | "Seduce" | "Struggle" | "Hide" | "Cover"
|
|
919
|
+
| "Strip" | "Tighten" | "RestrainArms" | "RestrainLegs" | "RestrainMouth"
|
|
920
|
+
| "Silence" | "Immobilize" | "Detain" | "Dress" | "Costume" | "Charge" | "Support" | "Cheer"
|
|
921
|
+
| "Inspire" | "Control" | "Confuse"
|
|
922
|
+
|
|
923
|
+
interface ServerGameLARPDataAction {
|
|
924
|
+
GameProgress: "Action";
|
|
925
|
+
Action: GameLARPActionName;
|
|
926
|
+
Target: number;
|
|
927
|
+
Item: string;
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
interface ServerGameLARPDataQuery {
|
|
936
931
|
GameProgress: "Query";
|
|
937
|
-
CCData?: ServerChatRoomGameCardGameData[];
|
|
938
|
-
Player1?: number;
|
|
939
|
-
Player2?: number;
|
|
940
932
|
}
|
|
941
933
|
|
|
942
|
-
|
|
934
|
+
type ServerGameLARPData =
|
|
935
|
+
| ServerGameLARPDataStart
|
|
936
|
+
| ServerGameLARPDataStop
|
|
937
|
+
| ServerGameLARPDataNext
|
|
938
|
+
| ServerGameLARPDataSkip
|
|
939
|
+
| ServerGameLARPDataAction
|
|
940
|
+
;
|
|
941
|
+
|
|
942
|
+
interface ServerGameKinkyDungeonData {
|
|
943
|
+
KinkyDungeon: string;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
interface ServerGameOnlineBountyData {
|
|
947
|
+
OnlineBounty: {
|
|
948
|
+
finishTime: number,
|
|
949
|
+
target: number,
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
interface ServerGameClubCardDataStart {
|
|
943
954
|
GameProgress: "Start";
|
|
944
955
|
Player1: number;
|
|
945
956
|
Player2: number;
|
|
946
957
|
}
|
|
947
958
|
|
|
948
|
-
|
|
959
|
+
interface ServerGameClubCardDataQueryRequest {
|
|
960
|
+
GameProgress: "Query";
|
|
961
|
+
}
|
|
949
962
|
|
|
950
|
-
|
|
963
|
+
interface ServerGameClubCardDataQueryResponse {
|
|
964
|
+
GameProgress: "Query";
|
|
965
|
+
CCData: ServerChatRoomGameCardGameData[];
|
|
966
|
+
Player1: number;
|
|
967
|
+
Player2: number;
|
|
968
|
+
}
|
|
951
969
|
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
| ServerChatRoomGameBountyUpdateRequest
|
|
957
|
-
| ServerChatRoomGameKDUpdateRequest
|
|
958
|
-
| ServerChatRoomGameCardGameUpdateRequest;
|
|
959
|
-
|
|
960
|
-
interface ServerChatRoomGameResponse extends ServerChatRoomMessageBase {
|
|
961
|
-
Data: {
|
|
962
|
-
KinkyDungeon?: any;
|
|
963
|
-
OnlineBounty?: any;
|
|
964
|
-
/* LARP */
|
|
965
|
-
GameProgress?: "Start" | "Stop" | "Next" | "Skip" | "Action" | "Query";
|
|
966
|
-
Action?: undefined;
|
|
967
|
-
Target?: number;
|
|
968
|
-
Item?: string;
|
|
969
|
-
|
|
970
|
-
/* MagicBattle */
|
|
971
|
-
Spell?: string;
|
|
972
|
-
Time?: number; /* ms */
|
|
973
|
-
|
|
974
|
-
/* Club Card */
|
|
975
|
-
Player1?: number;
|
|
976
|
-
Player2?: number;
|
|
977
|
-
CCData: ServerChatRoomGameCardGameData[];
|
|
978
|
-
CCLog: ClubCardMessage;
|
|
979
|
-
};
|
|
980
|
-
RNG: number;
|
|
970
|
+
interface ServerGameClubCardDataAction {
|
|
971
|
+
GameProgress: "Action";
|
|
972
|
+
CCData?: ServerChatRoomGameCardGameData[];
|
|
973
|
+
CCLog?: ClubCardMessage;
|
|
981
974
|
}
|
|
982
975
|
|
|
976
|
+
type ServerGameClubCardData =
|
|
977
|
+
| ServerGameClubCardDataStart
|
|
978
|
+
| ServerGameClubCardDataQueryRequest
|
|
979
|
+
| ServerGameClubCardDataQueryResponse
|
|
980
|
+
| ServerGameClubCardDataAction
|
|
981
|
+
;
|
|
982
|
+
|
|
983
|
+
type ServerGameClubCardResponse = ServerChatRoomGameResponseBase<ServerGameClubCardData>;
|
|
984
|
+
|
|
985
|
+
interface ServerGameMagicBattleDataStart {
|
|
986
|
+
GameProgress: "Start";
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
interface ServerGameMagicBattleDataStop {
|
|
990
|
+
GameProgress: "Stop";
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
interface ServerGameMagicBattleDataNext {
|
|
994
|
+
GameProgress: "Next";
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
type GameMagicBattleActionName = "SpellSuccess" | "SpellFail";
|
|
998
|
+
|
|
999
|
+
interface ServerGameMagicBattleDataAction {
|
|
1000
|
+
GameProgress: "Action";
|
|
1001
|
+
Action: GameMagicBattleActionName;
|
|
1002
|
+
Target: number;
|
|
1003
|
+
Spell: number;
|
|
1004
|
+
Time: number;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
type ServerGameMagicBattleData =
|
|
1008
|
+
| ServerGameMagicBattleDataStart
|
|
1009
|
+
| ServerGameMagicBattleDataStop
|
|
1010
|
+
| ServerGameMagicBattleDataNext
|
|
1011
|
+
| ServerGameMagicBattleDataAction
|
|
1012
|
+
;
|
|
1013
|
+
|
|
1014
|
+
type ServerGameMagicBattleResponse = ServerChatRoomGameResponseBase<ServerGameMagicBattleData>
|
|
1015
|
+
|
|
1016
|
+
interface ServerChatRoomGameResponseBase<T> extends ServerChatRoomMessageBase {
|
|
1017
|
+
Data: T;
|
|
1018
|
+
RNG: number;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
type ServerChatRoomGameResponse = ServerChatRoomGameResponseBase<
|
|
1022
|
+
| ServerGameClubCardData
|
|
1023
|
+
| ServerGameLARPData
|
|
1024
|
+
| ServerGameMagicBattleData
|
|
1025
|
+
| ServerGameOnlineBountyData
|
|
1026
|
+
| ServerGameKinkyDungeonData
|
|
1027
|
+
>;
|
|
1028
|
+
|
|
1029
|
+
type ServerChatRoomGameUpdateRequest =
|
|
1030
|
+
| ServerGameClubCardData
|
|
1031
|
+
| ServerGameLARPData
|
|
1032
|
+
| ServerGameMagicBattleData
|
|
1033
|
+
| ServerGameOnlineBountyData
|
|
1034
|
+
| ServerGameKinkyDungeonData
|
|
1035
|
+
;
|
|
1036
|
+
|
|
983
1037
|
interface ServerChatRoomSyncCharacterResponse {
|
|
984
1038
|
SourceMemberNumber: number;
|
|
985
1039
|
Character: ServerAccountDataSynced;
|
|
@@ -351,7 +351,7 @@ type DialogMenuMode = (
|
|
|
351
351
|
);
|
|
352
352
|
|
|
353
353
|
type DialogMenuButtonType = "Activity" |
|
|
354
|
-
"ColorCancel" | "ColorChange" | "
|
|
354
|
+
"ColorCancel" | "ColorChange" | "ColorDefault" | "ColorPickDisabled" | "ColorSelect" |
|
|
355
355
|
"Crafting" |
|
|
356
356
|
"NormalMode" | "PermissionMode" |
|
|
357
357
|
"Dismount" | "Escape" | "Remove" |
|
|
@@ -360,13 +360,18 @@ type DialogMenuButtonType = "Activity" |
|
|
|
360
360
|
"InspectLock" | "InspectLockDisabled" |
|
|
361
361
|
"Layering" |
|
|
362
362
|
"Lock" | "LockDisabled" | "LockMenu" |
|
|
363
|
-
|
|
364
|
-
"Remote" | "RemoteDisabled" | `RemoteDisabledFor${VibratorRemoteAvailability}` |
|
|
365
|
-
"Unlock" | "Use" | "UseDisabled" | "Struggle" | "TightenLoosen"
|
|
366
|
-
// Wardrobe buttons
|
|
367
|
-
"Wardrobe" | "WardrobeDisabled" | "Reset" | "WearRandom" | "Random" | "Copy" | "Paste" | "Naked" | "Accept" | "Cancel" | "Character"
|
|
363
|
+
`PickLock${PickLockAvailability}` |
|
|
364
|
+
"Remote" | "RemoteDisabled" | `RemoteDisabledFor${Exclude<VibratorRemoteAvailability, "Available" | "InvalidItem">}` |
|
|
365
|
+
"Unlock" | "Use" | "UseDisabled" | "Struggle" | "TightenLoosen"
|
|
368
366
|
;
|
|
369
367
|
|
|
368
|
+
type AppearanceMenuButtonType = (
|
|
369
|
+
"Wardrobe" | "WardrobeDisabled" | "Reset" | "WearRandom" | "Random" | "Copy"
|
|
370
|
+
| "Paste" | "Naked" | "Accept" | "Cancel" | "Character" | "Next" | "Prev" | "Swap"
|
|
371
|
+
| "Use" | "UseDisabled" | "PermissionMode" | "ColorChange" | "ColorChangeDisabled"
|
|
372
|
+
| "ColorChangeMulti" | "ColorChangeMultiDisabled"
|
|
373
|
+
);
|
|
374
|
+
|
|
370
375
|
declare namespace ElementDOMScreen {
|
|
371
376
|
/** Options for customizing the {@link ElementDOMScreen.GetTemplate} output */
|
|
372
377
|
interface TemplateOptions {
|
|
@@ -381,7 +386,7 @@ declare namespace ElementDOMScreen {
|
|
|
381
386
|
/** Whether an extra `aside.screen-aside-r` section should be added to the right of `.screen-main` */
|
|
382
387
|
rightContent?: readonly (Node | string | HTMLOptionsUnion)[];
|
|
383
388
|
/** Text content for within the heading (see `.screen-hgroup h1`) */
|
|
384
|
-
header?: string;
|
|
389
|
+
header?: string | Node | readonly (Node | string)[];
|
|
385
390
|
/**
|
|
386
391
|
* Which section should be marked as `<main>` (if any).
|
|
387
392
|
* Defaults to `center` if unspecified.
|
|
@@ -488,6 +493,7 @@ type DialogStruggleActionType = "ActionUse" | "ActionSwap" | "ActionRemove" | "A
|
|
|
488
493
|
type CharacterType = "player" | "online" | "npc" | "simple";
|
|
489
494
|
|
|
490
495
|
type CharacterPronouns = "SheHer" | "HeHim" | "TheyThem" | "ItIt";
|
|
496
|
+
type CharacterPronounType = "Possessive" | "Self" | "Subject" | "Object";
|
|
491
497
|
|
|
492
498
|
type VibratorIntensity = -1 | 0 | 1 | 2 | 3;
|
|
493
499
|
|
|
@@ -614,7 +620,7 @@ type AssetGroupName = AssetGroupBodyName | AssetGroupItemName | AssetGroupScript
|
|
|
614
620
|
interface AssetPoseMap {
|
|
615
621
|
BodyHands: 'TapedHands',
|
|
616
622
|
BodyUpper: 'BaseUpper' | 'BackBoxTie' | 'BackCuffs' | 'BackElbowTouch' | 'OverTheHead' | 'Yoked',
|
|
617
|
-
BodyLower: 'BaseLower' | 'Kneel' | 'KneelingSpread' | 'LegsClosed' | '
|
|
623
|
+
BodyLower: 'BaseLower' | 'Kneel' | 'KneelingSpread' | 'LegsClosed' | 'Spread',
|
|
618
624
|
BodyFull: 'Hogtied' | 'AllFours',
|
|
619
625
|
BodyAddon: 'Suspension',
|
|
620
626
|
}
|
|
@@ -1058,7 +1064,10 @@ type Prettify<T> = {
|
|
|
1058
1064
|
/**
|
|
1059
1065
|
* A type that can be a value or a function returning that value.
|
|
1060
1066
|
*/
|
|
1061
|
-
type Thunk<T> = T | (() => T);
|
|
1067
|
+
type Thunk<T, A extends readonly unknown[] = []> = T | ((...args: A) => T);
|
|
1068
|
+
|
|
1069
|
+
declare function CommonUnwrapThunk<T>(thunk: Thunk<T>): T;
|
|
1070
|
+
declare function CommonUnwrapThunk<T, A extends readonly unknown[]>(thunk: Thunk<T, A>, ...args: A): T;
|
|
1062
1071
|
|
|
1063
1072
|
//#region Assets
|
|
1064
1073
|
|
|
@@ -1551,6 +1560,10 @@ interface InventoryItem extends InventoryBundle {
|
|
|
1551
1560
|
Asset: Asset;
|
|
1552
1561
|
}
|
|
1553
1562
|
|
|
1563
|
+
declare namespace InventoryPrerequisiteConflicts {
|
|
1564
|
+
type ErrMessage = "" | "CannotBeUsedOverGag" | "MustBeUsedOverGag";
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1554
1567
|
type SkillType = "Bondage" | "SelfBondage" | "LockPicking" | "Evasion" | "Willpower" | "Infiltration" | "Dressage";
|
|
1555
1568
|
|
|
1556
1569
|
interface Skill {
|
|
@@ -2513,7 +2526,7 @@ type ChatRoomCustomizationType = 0 | 1 | 2 | 3;
|
|
|
2513
2526
|
interface PlayerOnlineSettings {
|
|
2514
2527
|
AutoBanBlackList: boolean;
|
|
2515
2528
|
AutoBanGhostList: boolean;
|
|
2516
|
-
/**
|
|
2529
|
+
/**
|
|
2517
2530
|
* When true, respond to `/mods remote` hidden queries with your Mod SDK list and a declined reply otherwise
|
|
2518
2531
|
* @default true
|
|
2519
2532
|
*/
|
|
@@ -3230,12 +3243,6 @@ interface AssetDefinitionProperties {
|
|
|
3230
3243
|
*/
|
|
3231
3244
|
Opacity?: number | number[];
|
|
3232
3245
|
|
|
3233
|
-
/**
|
|
3234
|
-
* A custom background for this option that overrides the default
|
|
3235
|
-
* @see {@link Asset.CustomBlindBackground}
|
|
3236
|
-
*/
|
|
3237
|
-
CustomBlindBackground?: string;
|
|
3238
|
-
|
|
3239
3246
|
/**
|
|
3240
3247
|
* A list of fetishes affected by the item
|
|
3241
3248
|
* @see {@link Asset.Fetish}
|
|
@@ -4007,12 +4014,8 @@ interface GameLARPParameters {
|
|
|
4007
4014
|
}[];
|
|
4008
4015
|
}
|
|
4009
4016
|
|
|
4010
|
-
type GameLARPOptionName = "Pass" | "Seduce" | "Struggle" | "Hide" | "Cover" |
|
|
4011
|
-
"Strip" | "Tighten" | "RestrainArms" | "RestrainLegs" | "RestrainMouth" |
|
|
4012
|
-
"Silence" | "Immobilize" | "Detain" | "Dress" | "Costume" | "";
|
|
4013
|
-
|
|
4014
4017
|
interface GameLARPOption {
|
|
4015
|
-
Name:
|
|
4018
|
+
Name: GameLARPActionName;
|
|
4016
4019
|
Odds: number;
|
|
4017
4020
|
}
|
|
4018
4021
|
|
|
@@ -4022,8 +4025,10 @@ interface GameMagicBattleParameters {
|
|
|
4022
4025
|
TeamType: "FreeForAll" | "House";
|
|
4023
4026
|
}
|
|
4024
4027
|
|
|
4028
|
+
type GameGGTSLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4029
|
+
|
|
4025
4030
|
interface GameGGTSParameters {
|
|
4026
|
-
Level:
|
|
4031
|
+
Level: GameGGTSLevel;
|
|
4027
4032
|
Time: number;
|
|
4028
4033
|
Strike: number;
|
|
4029
4034
|
Rule: string[];
|
|
@@ -4856,10 +4861,10 @@ interface WheelFortuneOptionType {
|
|
|
4856
4861
|
// #region ClubCard
|
|
4857
4862
|
|
|
4858
4863
|
type ClubCardTag =
|
|
4859
|
-
| "All"
|
|
4864
|
+
| "All Cards"
|
|
4860
4865
|
| "Selected Cards"
|
|
4861
|
-
| "Event"
|
|
4862
|
-
| "
|
|
4866
|
+
| "Event Cards"
|
|
4867
|
+
| "Ungrouped"
|
|
4863
4868
|
| "Liability"
|
|
4864
4869
|
| "Staff"
|
|
4865
4870
|
| "Police"
|
|
@@ -4876,7 +4881,9 @@ type ClubCardTag =
|
|
|
4876
4881
|
| "Kemonomimi"
|
|
4877
4882
|
| "Submissive / Slave"
|
|
4878
4883
|
| "Exhibitionist"
|
|
4879
|
-
| "
|
|
4884
|
+
| "Latex"
|
|
4885
|
+
| "Online Player"
|
|
4886
|
+
| "Reward Cards";
|
|
4880
4887
|
|
|
4881
4888
|
interface ClubCard {
|
|
4882
4889
|
ID: number;
|
|
@@ -4894,7 +4901,6 @@ interface ClubCard {
|
|
|
4894
4901
|
RequiredLevel?: number;
|
|
4895
4902
|
Time?: number;
|
|
4896
4903
|
ExtraTime?: number;
|
|
4897
|
-
ExtraDraw?: number;
|
|
4898
4904
|
ExtraPlay?: number;
|
|
4899
4905
|
Group?: string[];
|
|
4900
4906
|
Location?: string;
|
|
@@ -4935,6 +4941,8 @@ interface ClubCard {
|
|
|
4935
4941
|
* @param C Player that owns the card
|
|
4936
4942
|
*/
|
|
4937
4943
|
onLeaveClub?: (C: ClubCardPlayer) => void;
|
|
4944
|
+
onMemberLeaveClub?: (C: ClubCardPlayer, Card: ClubCard, DidntDiscard: boolean) => void;
|
|
4945
|
+
onRender?: (C: ClubCardPlayer, X: number, Y: number, W: number) => void;
|
|
4938
4946
|
turnStart?: (C: ClubCardPlayer) => void;
|
|
4939
4947
|
onLevelUp?: (C: ClubCardPlayer) => void;
|
|
4940
4948
|
onOpponentLevelUp?: (C: ClubCardPlayer) => void;
|
|
@@ -4948,8 +4956,15 @@ interface ClubCard {
|
|
|
4948
4956
|
onCancelNegation?: (C: ClubCardPlayer) => void;
|
|
4949
4957
|
WhenDrawn?: (C: ClubCardPlayer) => void;
|
|
4950
4958
|
OnActive?: (C: ClubCardPlayer) => void;
|
|
4959
|
+
OnGameStart?: (C: ClubCardPlayer) => void;
|
|
4951
4960
|
}
|
|
4952
4961
|
|
|
4962
|
+
type ClubCardDefaultDecks =
|
|
4963
|
+
| "Default"
|
|
4964
|
+
| "Princess Treatment"
|
|
4965
|
+
| "Permanent Stay"
|
|
4966
|
+
| "Pound Town"
|
|
4967
|
+
|
|
4953
4968
|
interface ClubCardPlayer {
|
|
4954
4969
|
Character: Character;
|
|
4955
4970
|
Control: string;
|
|
@@ -432,8 +432,8 @@ declare var CharacterAppearanceMode: "" | "Wardrobe" | "Cloth" | "Color" | "Perm
|
|
|
432
432
|
declare var CharacterAppearanceMenuMode: "" | "Wardrobe" | "Cloth" | "Color" | "Permissions";
|
|
433
433
|
/** @type {null | Item} */
|
|
434
434
|
declare var CharacterAppearanceCloth: null | Item;
|
|
435
|
-
/** @type {
|
|
436
|
-
declare var AppearanceMenu:
|
|
435
|
+
/** @type {AppearanceMenuButtonType[]} */
|
|
436
|
+
declare var AppearanceMenu: AppearanceMenuButtonType[];
|
|
437
437
|
/** @type {Character[]} */
|
|
438
438
|
declare var AppearancePreviews: Character[];
|
|
439
439
|
declare var AppearanceUseCharacterInPreviewsSetting: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare function AssetsItemHoodTechnoHelmet1ScriptDraw(drawData: DynamicScriptCallbackData<AnimationPersistentData>): void;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
declare function InventoryItemMiscMistressTimerPadlockDrawHook(data: NoArchItemData, originalFunction: () => void): void;
|
|
2
2
|
declare function InventoryItemMiscMistressTimerPadlockClickHook(data: NoArchItemData, originalFunction: () => void): void;
|
|
3
3
|
declare function InventoryItemMiscMistressTimerPadlockExitHook(data: NoArchItemData, originalFunction: (() => void) | null): void;
|
|
4
|
-
declare const MistressTimerChooseOptions: {
|
|
4
|
+
declare const MistressTimerChooseOptions: ({
|
|
5
5
|
unit: {
|
|
6
|
-
label:
|
|
7
|
-
seconds:
|
|
6
|
+
readonly label: "Minutes";
|
|
7
|
+
readonly seconds: 60;
|
|
8
8
|
};
|
|
9
9
|
values: number[];
|
|
10
|
-
}
|
|
10
|
+
} | {
|
|
11
|
+
unit: {
|
|
12
|
+
readonly label: "Hours";
|
|
13
|
+
readonly seconds: 3600;
|
|
14
|
+
};
|
|
15
|
+
values: number[];
|
|
16
|
+
})[];
|
|
11
17
|
declare let MistressTimerChooseOptionsIndex: number;
|
|
12
18
|
declare let MistressTimerChooseIndexes: number[];
|
|
@@ -37,13 +37,25 @@ declare function InventoryItemMiscTimerPadlockAdd(C: Character, item: Item, lock
|
|
|
37
37
|
* @param {Item} item
|
|
38
38
|
*/
|
|
39
39
|
declare function InventoryItemMiscSendTimerPadlockChangeMessage(C: Character, item: Item): void;
|
|
40
|
-
declare const OwnerTimerChooseOptions: {
|
|
40
|
+
declare const OwnerTimerChooseOptions: ({
|
|
41
41
|
unit: {
|
|
42
|
-
label:
|
|
43
|
-
seconds:
|
|
42
|
+
readonly label: "Minutes";
|
|
43
|
+
readonly seconds: 60;
|
|
44
44
|
};
|
|
45
45
|
values: number[];
|
|
46
|
-
}
|
|
46
|
+
} | {
|
|
47
|
+
unit: {
|
|
48
|
+
readonly label: "Hours";
|
|
49
|
+
readonly seconds: 3600;
|
|
50
|
+
};
|
|
51
|
+
values: number[];
|
|
52
|
+
} | {
|
|
53
|
+
unit: {
|
|
54
|
+
readonly label: "Days";
|
|
55
|
+
readonly seconds: 86400;
|
|
56
|
+
};
|
|
57
|
+
values: number[];
|
|
58
|
+
})[];
|
|
47
59
|
declare let OwnerTimerChooseOptionsIndex: number;
|
|
48
60
|
declare let OwnerTimerChooseIndexes: number[];
|
|
49
61
|
declare let TimerPadlockAccumulatedSeconds: number;
|
|
@@ -2,12 +2,18 @@ declare function InventoryItemMiscTimerPasswordPadlockLoadHook(data: NoArchItemD
|
|
|
2
2
|
declare function InventoryItemMiscTimerPasswordPadlockDrawHook(data: NoArchItemData, originalFunction: () => void): void;
|
|
3
3
|
declare function InventoryItemMiscTimerPasswordPadlockClickHook(data: NoArchItemData, originalFunction: () => void): void;
|
|
4
4
|
declare function InventoryItemMiscTimerPasswordPadlockExitHook(data: NoArchItemData, originalFunction: (() => void) | null): void;
|
|
5
|
-
declare const PasswordTimerChooseOptions: {
|
|
5
|
+
declare const PasswordTimerChooseOptions: ({
|
|
6
6
|
unit: {
|
|
7
|
-
label:
|
|
8
|
-
seconds:
|
|
7
|
+
readonly label: "Minutes";
|
|
8
|
+
readonly seconds: 60;
|
|
9
9
|
};
|
|
10
10
|
values: number[];
|
|
11
|
-
}
|
|
11
|
+
} | {
|
|
12
|
+
unit: {
|
|
13
|
+
readonly label: "Hours";
|
|
14
|
+
readonly seconds: 3600;
|
|
15
|
+
};
|
|
16
|
+
values: number[];
|
|
17
|
+
})[];
|
|
12
18
|
declare let PasswordTimerChooseOptionsIndex: number;
|
|
13
19
|
declare let PasswordTimerChooseIndexes: number[];
|
|
@@ -8,6 +8,14 @@ declare function ClubCardIsOnline(): boolean;
|
|
|
8
8
|
* @returns {boolean} - Nothing
|
|
9
9
|
*/
|
|
10
10
|
declare function ClubCardIsPlaying(): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Start a ClubCard game against this opponent
|
|
13
|
+
* @param {Character} opponent
|
|
14
|
+
* @param {number[]} deck
|
|
15
|
+
* @param {() => void} completion
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
declare function ClubCardStart(opponent: Character, deck: number[], completion: () => void): Promise<void>;
|
|
11
19
|
/**
|
|
12
20
|
* In case one of the players disconnects from the server, the other player sends a message about it to the game chat.
|
|
13
21
|
* @param {number} disconnectedMemberNumber
|
|
@@ -421,6 +429,12 @@ declare function ClubCardAlvinCondition(CCPlayer: ClubCardPlayer): void;
|
|
|
421
429
|
* @returns {void} - Nothing
|
|
422
430
|
*/
|
|
423
431
|
declare function ClubCardTifaSelection(CCPlayer: ClubCardPlayer, Selection: string): void;
|
|
432
|
+
/**
|
|
433
|
+
* Handles Clares active effect
|
|
434
|
+
* @param {ClubCardPlayer} CCPlayer
|
|
435
|
+
* @returns {void} - Nothing
|
|
436
|
+
*/
|
|
437
|
+
declare function ClubCardClareSelection(CCPlayer: ClubCardPlayer, Card: any): void;
|
|
424
438
|
/**
|
|
425
439
|
* Removes cards from a player hand
|
|
426
440
|
* @param {ClubCardPlayer} CCPlayer - The club card player that discards
|
|
@@ -433,9 +447,9 @@ declare function ClubCardPlayerDiscardCard(CCPlayer: ClubCardPlayer, Amount: num
|
|
|
433
447
|
* @param {ClubCardPlayer} CCPlayer - The club card player that discards
|
|
434
448
|
* @param {number} Pos - The location of the card to discard
|
|
435
449
|
* @param {string} DiscardFrom - The pile to discard from
|
|
436
|
-
* @returns {
|
|
450
|
+
* @returns {boolean} - TRUE if the card was discarded
|
|
437
451
|
*/
|
|
438
|
-
declare function ClubCardDiscardCard(CCPlayer: ClubCardPlayer, Pos: number, DiscardFrom?: string):
|
|
452
|
+
declare function ClubCardDiscardCard(CCPlayer: ClubCardPlayer, Pos: number, DiscardFrom?: string): boolean;
|
|
439
453
|
/**
|
|
440
454
|
* Builds a deck array of object from a deck array of numbers
|
|
441
455
|
* @param {readonly number[]} InDeck - The array of number deck
|
|
@@ -447,6 +461,7 @@ declare function ClubCardLoadDeck(InDeck: readonly number[]): ClubCard[];
|
|
|
447
461
|
* @returns {number} - The array index position
|
|
448
462
|
*/
|
|
449
463
|
declare function ClubCardGetPlayerIndex(): number;
|
|
464
|
+
declare function ClubCardSelectDefaultDeck(): void;
|
|
450
465
|
/**
|
|
451
466
|
* Builds a deck array of object from a deck array of numbers
|
|
452
467
|
* @param {number} DeckNum - The array of number deck
|
|
@@ -503,12 +518,6 @@ declare function ClubCardEndGameSyncAndMessage(CCPlayer: any): void;
|
|
|
503
518
|
* @returns {Number} - The number of cards
|
|
504
519
|
*/
|
|
505
520
|
declare function ClubCardTurnPlayableCardCount(CCPlayer: ClubCardPlayer): number;
|
|
506
|
-
/**
|
|
507
|
-
* Returns the number of cards that will be drawn when the player choses to draw instead of playing
|
|
508
|
-
* @param {ClubCardPlayer} CCPlayer - The club card player
|
|
509
|
-
* @returns {Number} - The number of cards to draw
|
|
510
|
-
*/
|
|
511
|
-
declare function ClubCardDrawCardCount(CCPlayer: ClubCardPlayer): number;
|
|
512
521
|
/**
|
|
513
522
|
* Returns the extra time in turns for event over time
|
|
514
523
|
* @param {ClubCardPlayer} CCPlayer - The club card player
|
|
@@ -876,6 +885,8 @@ declare var ClubCardLiabilityLimit: number[];
|
|
|
876
885
|
declare var ClubCardPlayer: ClubCardPlayer[];
|
|
877
886
|
declare var ClubCardOnlinePlayerMemberNumber1: number;
|
|
878
887
|
declare var ClubCardOnlinePlayerMemberNumber2: number;
|
|
888
|
+
declare var ClubCardDefaultSelection: string;
|
|
889
|
+
declare var ClubCardUsePrecon: boolean;
|
|
879
890
|
/**
|
|
880
891
|
* Counter to ensure unique ID incrementation.
|
|
881
892
|
* It is used globally to prevent ID duplication.
|