bc-stubs 117.0.1 → 118.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/Element.d.ts +30 -1
- package/bc/NativeDeclarations/Female3DCG_Types.d.ts +23 -3
- package/bc/NativeDeclarations/Messages.d.ts +11 -1
- package/bc/NativeDeclarations/Typedef.d.ts +68 -6
- package/bc/Screens/MiniGame/ClubCard/ClubCard.d.ts +0 -2
- package/bc/Screens/MiniGame/ClubCardBuilder/ClubCardBuilder.d.ts +22 -1
- package/bc/Screens/Online/ChatRoom/ChatRoom.d.ts +6 -0
- package/bc/Screens/Online/ChatRoom/ChatRoomMapView.d.ts +19 -2
- package/bc/Scripts/Activity.d.ts +1 -2
- package/bc/Scripts/Asset.d.ts +3 -1
- package/bc/Scripts/Common.d.ts +6 -0
- package/bc/Scripts/CommonDraw.d.ts +3 -1
- package/bc/Scripts/Dialog.d.ts +2 -1
- package/bc/Scripts/DictionaryBuilder.d.ts +11 -0
- package/bc/Scripts/Element.d.ts +63 -0
- package/bc/Scripts/Server.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
declare namespace ElementHelp {
|
|
2
|
-
type ElementOrId = HTMLElement | string;
|
|
2
|
+
type ElementOrId = HTMLElement | string;
|
|
3
3
|
type AnchorY = 'top' | 'bottom';
|
|
4
4
|
type AnchorX = 'left' | 'right';
|
|
5
5
|
type AnchorXY = `${AnchorY}-${AnchorX}`;
|
|
6
6
|
}
|
|
7
|
+
|
|
8
|
+
declare namespace ElementSwipe {
|
|
9
|
+
interface Options {
|
|
10
|
+
/**
|
|
11
|
+
* The direction one should swipe in.
|
|
12
|
+
*
|
|
13
|
+
* Defaults to `right`.
|
|
14
|
+
*/
|
|
15
|
+
direction?: "left" | "right" | "up" | "down";
|
|
16
|
+
/**
|
|
17
|
+
* The minimum distance one should swipe in pixels.
|
|
18
|
+
*
|
|
19
|
+
* Defaults to 2.5% of the browser window's width.
|
|
20
|
+
*/
|
|
21
|
+
minSwipeDistance?: number;
|
|
22
|
+
/**
|
|
23
|
+
* A callback to-be executed after succesfully swiping.
|
|
24
|
+
*
|
|
25
|
+
* Default to dispatching a `click` event.
|
|
26
|
+
*/
|
|
27
|
+
onClose?: (elem: HTMLElement, ev: TouchEvent) => any;
|
|
28
|
+
/**
|
|
29
|
+
* A custom animation to play after succesfully executing a swipe
|
|
30
|
+
*
|
|
31
|
+
* Defaults to a translation + fade-out in the {@link Options.direction} direction.
|
|
32
|
+
*/
|
|
33
|
+
animation?: Animation;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -531,11 +531,17 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
531
531
|
/** A list of screens where current asset won't be shown. */
|
|
532
532
|
NotVisibleOnScreen?: string[];
|
|
533
533
|
|
|
534
|
-
/**
|
|
534
|
+
/** Specify body type overrides that live in the asset override folder */
|
|
535
535
|
StyleOverride?: string[];
|
|
536
|
+
CreateLayerTypesOverride?: number[];
|
|
536
537
|
|
|
537
|
-
|
|
538
|
-
|
|
538
|
+
DrawOffset?: {
|
|
539
|
+
Group?: AssetGroupName;
|
|
540
|
+
Asset?: string;
|
|
541
|
+
Layer?: string[]
|
|
542
|
+
X?: number;
|
|
543
|
+
Y?: number;
|
|
544
|
+
}[];
|
|
539
545
|
|
|
540
546
|
/**
|
|
541
547
|
* Whether the asset can be worn.
|
|
@@ -749,6 +755,8 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
749
755
|
/** The list of layers for the asset. */
|
|
750
756
|
Layer?: AssetLayerDefinition[];
|
|
751
757
|
|
|
758
|
+
Attribution?: AttributionDefinition;
|
|
759
|
+
|
|
752
760
|
/** A list of attributes the asset has */
|
|
753
761
|
Attribute?: AssetAttribute[];
|
|
754
762
|
|
|
@@ -829,6 +837,12 @@ interface AssetLayerMaskTexureDefinition {
|
|
|
829
837
|
ApplyToAbove?: boolean;
|
|
830
838
|
}
|
|
831
839
|
|
|
840
|
+
interface AttributionDefinition {
|
|
841
|
+
Author?: string;
|
|
842
|
+
Email?: string;
|
|
843
|
+
License?: string;
|
|
844
|
+
}
|
|
845
|
+
|
|
832
846
|
interface AssetLayerDefinition extends AssetCommonPropertiesGroupAssetLayer, AssetCommonPropertiesAssetLayer {
|
|
833
847
|
/** The layer's name */
|
|
834
848
|
Name?: string;
|
|
@@ -887,6 +901,12 @@ interface AssetLayerDefinition extends AssetCommonPropertiesGroupAssetLayer, Ass
|
|
|
887
901
|
*/
|
|
888
902
|
LockLayer?: boolean;
|
|
889
903
|
|
|
904
|
+
/**
|
|
905
|
+
* Specify body type overrides that live in the asset override folder
|
|
906
|
+
*/
|
|
907
|
+
StyleOverride?: string[];
|
|
908
|
+
CreateLayerTypesOverride?: number[];
|
|
909
|
+
|
|
890
910
|
MirrorExpression?: AssetGroupName;
|
|
891
911
|
PoseMapping?: AssetPoseMapping;
|
|
892
912
|
/** Let layer inherit the asset's pose mapping on an individual pose by pose basis, rather than inheriting the pose mapping as a whole (_i.e._ all or nothing) */
|
|
@@ -775,6 +775,15 @@ interface MsgIdDictionaryEntry {
|
|
|
775
775
|
MsgId: string;
|
|
776
776
|
Tag: "MsgId";
|
|
777
777
|
}
|
|
778
|
+
|
|
779
|
+
/**
|
|
780
|
+
* A dictionary entry for teleport events
|
|
781
|
+
*/
|
|
782
|
+
interface MapViewTeleportEventDictionaryEntry {
|
|
783
|
+
Tag: "MapViewTeleport";
|
|
784
|
+
Position: ChatRoomMapPos;
|
|
785
|
+
}
|
|
786
|
+
|
|
778
787
|
/**
|
|
779
788
|
* A dictionary entry with metadata about the chat message transmitted.
|
|
780
789
|
*
|
|
@@ -804,7 +813,8 @@ type ChatMessageDictionaryEntry =
|
|
|
804
813
|
| ActivityNameDictionaryEntry
|
|
805
814
|
| MessageEffectEntry
|
|
806
815
|
| MsgIdDictionaryEntry
|
|
807
|
-
| ReplyIdDictionaryEntry
|
|
816
|
+
| ReplyIdDictionaryEntry
|
|
817
|
+
| MapViewTeleportEventDictionaryEntry;
|
|
808
818
|
|
|
809
819
|
|
|
810
820
|
type ChatMessageDictionary = ChatMessageDictionaryEntry[];
|
|
@@ -335,6 +335,34 @@ type DialogMenuButton = "Activity" |
|
|
|
335
335
|
"Wardrobe" | "WardrobeDisabled" | "Reset" | "WearRandom" | "Random" | "Copy" | "Paste" | "Naked" | "Accept" | "Cancel" | "Character"
|
|
336
336
|
;
|
|
337
337
|
|
|
338
|
+
declare namespace ElementDOMScreen {
|
|
339
|
+
/** Options for customizing the {@link ElementDOMScreen.GetTemplate} output */
|
|
340
|
+
interface TemplateOptions {
|
|
341
|
+
/** The parent element of the to-be returned screen (if any) */
|
|
342
|
+
parent?: Node;
|
|
343
|
+
/** Buttons for in the header's menubar (see `.screen-header [role="menubar"]`) */
|
|
344
|
+
menubarButtons?: readonly HTMLButtonElement[];
|
|
345
|
+
/** Content for within the main section (see `.screen-main`) */
|
|
346
|
+
mainContent?: readonly (Node | string)[];
|
|
347
|
+
/** Text content for within the heading (see `.screen-hgroup h1`) */
|
|
348
|
+
header?: string;
|
|
349
|
+
/**
|
|
350
|
+
* Whether the main section (see `.screen-main`) is a `<main>` or `<aside>` element.
|
|
351
|
+
*
|
|
352
|
+
* As a rule of thumb: use `"main"` (aka the default) _unless_ another `<main>` element is already visible on the page,
|
|
353
|
+
* as the HTML spec demands that only a single non-hidden main element may be present at any time.
|
|
354
|
+
*/
|
|
355
|
+
mainTag?: "main" | "aside";
|
|
356
|
+
/**
|
|
357
|
+
* Whether to content of the DOM screen root is embedded within a [shadow root](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM) or not,
|
|
358
|
+
* storing the DOM tree in an isolated namespace with its own set of element IDs and CSS style sheets
|
|
359
|
+
*/
|
|
360
|
+
asShadow?: boolean;
|
|
361
|
+
/** Additional CSS files to load when the `asShadow` option is specified */
|
|
362
|
+
cssFiles?: readonly string[];
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
338
366
|
declare namespace DialogMenu {
|
|
339
367
|
/** Customization options for {@link DialogMenu.Reload} */
|
|
340
368
|
interface ReloadOptions {
|
|
@@ -423,7 +451,7 @@ type DialogStruggleActionType = "ActionUse" | "ActionSwap" | "ActionRemove" | "A
|
|
|
423
451
|
|
|
424
452
|
type CharacterType = "player" | "online" | "npc" | "simple";
|
|
425
453
|
|
|
426
|
-
type CharacterPronouns = "SheHer" | "HeHim";
|
|
454
|
+
type CharacterPronouns = "SheHer" | "HeHim" | "TheyThem";
|
|
427
455
|
|
|
428
456
|
type VibratorIntensity = -1 | 0 | 1 | 2 | 3;
|
|
429
457
|
|
|
@@ -1047,7 +1075,12 @@ interface AssetGroup {
|
|
|
1047
1075
|
readonly PreviewZone?: RectTuple;
|
|
1048
1076
|
readonly DynamicGroupName: AssetGroupName;
|
|
1049
1077
|
readonly StyleOverride?: string [];
|
|
1050
|
-
readonly
|
|
1078
|
+
readonly CreateLayerTypesOverride?: number [];
|
|
1079
|
+
readonly Reposition?: {
|
|
1080
|
+
Group?: string;
|
|
1081
|
+
ShiftX?: number;
|
|
1082
|
+
ShiftY?: number;
|
|
1083
|
+
}[];
|
|
1051
1084
|
|
|
1052
1085
|
readonly MirrorActivitiesFrom?: AssetGroupItemName;
|
|
1053
1086
|
readonly ArousalZone?: AssetGroupItemName;
|
|
@@ -1106,7 +1139,10 @@ type AssetGroupMapping = (
|
|
|
1106
1139
|
interface AssetLayer {
|
|
1107
1140
|
/** The name of the layer - may be null if the asset only contains a single default layer */
|
|
1108
1141
|
readonly Name: string | null;
|
|
1109
|
-
/**
|
|
1142
|
+
/** Specify a body type to override the asset with. */
|
|
1143
|
+
readonly StyleOverride?: string [];
|
|
1144
|
+
readonly CreateLayerTypesOverride?: number [];
|
|
1145
|
+
/** Specify a list of CLT asset layers to override. */
|
|
1110
1146
|
readonly AllowColorize: boolean;
|
|
1111
1147
|
/** if not null, specifies that this layer should always copy the color of the named layer */
|
|
1112
1148
|
readonly CopyLayerColor: string | null;
|
|
@@ -1239,6 +1275,14 @@ interface Asset {
|
|
|
1239
1275
|
readonly SetPose?: readonly AssetPoseName[];
|
|
1240
1276
|
readonly StyleOverride?: string[];
|
|
1241
1277
|
readonly SupportedStyles?: string[];
|
|
1278
|
+
readonly CreateLayerTypesOverride?: number[];
|
|
1279
|
+
readonly DrawOffset?: {
|
|
1280
|
+
Group?: AssetGroupName;
|
|
1281
|
+
Asset?: string;
|
|
1282
|
+
Layer?: string[];
|
|
1283
|
+
X?: number;
|
|
1284
|
+
Y?: number;
|
|
1285
|
+
}[];
|
|
1242
1286
|
/** @deprecated - Superceded by {@link Asset.PoseMapping} */
|
|
1243
1287
|
readonly AllowPose?: never;
|
|
1244
1288
|
/** @deprecated - Superceded by {@link Asset.PoseMapping} */
|
|
@@ -1392,7 +1436,7 @@ interface Pose {
|
|
|
1392
1436
|
MovePosition?: { Group: AssetGroupName; X: number; Y: number; }[];
|
|
1393
1437
|
}
|
|
1394
1438
|
|
|
1395
|
-
type ActivityNameBasic = "Bite" | "Caress" | "Choke" | "Cuddle" | "FrenchKiss" |
|
|
1439
|
+
type ActivityNameBasic = "Bite" | "Brush" | "Caress" | "Choke" | "Clean" | "Cuddle" | "FrenchKiss" |
|
|
1396
1440
|
"GagKiss" | "GaggedKiss" | "Grope" | "HandGag" | "Kick" |
|
|
1397
1441
|
"Kiss" | "Lick" | "MassageFeet" | "MassageHands" | "MasturbateFist" |
|
|
1398
1442
|
"MasturbateFoot" |"MasturbateHand" | "MasturbateTongue" |
|
|
@@ -1404,7 +1448,7 @@ type ActivityNameBasic = "Bite" | "Caress" | "Choke" | "Cuddle" | "FrenchKiss" |
|
|
|
1404
1448
|
"SistersHug" | "BrothersHandshake" | "SiblingsCheekKiss" | "CollarGrab"
|
|
1405
1449
|
;
|
|
1406
1450
|
|
|
1407
|
-
type ActivityNameItem = "Inject" | "MasturbateItem" | "PenetrateItem" | "PourItem" | "RollItem" | "RubItem" | "ShockItem" | "SipItem" | "SpankItem" | "TickleItem" | "EatItem" | "Scratch" | "ThrowItem";
|
|
1451
|
+
type ActivityNameItem = "Inject" | "MasturbateItem" | "PenetrateItem" | "PourItem" | "RollItem" | "RubItem" | "BrushItem" | "ShockItem" | "SipItem" | "SpankItem" | "TickleItem" | "EatItem" | "Scratch" | "ThrowItem";
|
|
1408
1452
|
|
|
1409
1453
|
type ActivityName = ActivityNameBasic | ActivityNameItem;
|
|
1410
1454
|
|
|
@@ -1658,6 +1702,14 @@ interface DialogInfo {
|
|
|
1658
1702
|
name: string;
|
|
1659
1703
|
}
|
|
1660
1704
|
|
|
1705
|
+
declare namespace DialogLeave {
|
|
1706
|
+
/** Further options for {@link DialogLeave} */
|
|
1707
|
+
export interface Options {
|
|
1708
|
+
/** Whether to call the {@link ScreenLoadHandler} and {@link ScreenResizeHandler} functions of the current screen after leaving the dialog */
|
|
1709
|
+
reload?: boolean;
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1661
1713
|
/** The packed representation of a Private Room NPC */
|
|
1662
1714
|
interface PrivateCharacterData {
|
|
1663
1715
|
Name: string;
|
|
@@ -1913,6 +1965,12 @@ interface Character {
|
|
|
1913
1965
|
CanPickLocks: () => boolean;
|
|
1914
1966
|
IsEdged: () => boolean;
|
|
1915
1967
|
IsPlayer: () => this is PlayerCharacter;
|
|
1968
|
+
get X(): number | null;
|
|
1969
|
+
get Y(): number | null;
|
|
1970
|
+
set X(X: number);
|
|
1971
|
+
set Y(Y: number);
|
|
1972
|
+
get Position(): ChatRoomMapPos | null;
|
|
1973
|
+
set Position({ X, Y }: ChatRoomMapPos);
|
|
1916
1974
|
IsBirthday: () => boolean;
|
|
1917
1975
|
IsSiblingOfCharacter: (C: Character) => boolean;
|
|
1918
1976
|
IsFamilyOfPlayer: () => boolean;
|
|
@@ -3816,7 +3874,11 @@ interface GameClubCardParameters {
|
|
|
3816
3874
|
PlayerSlot?: number;
|
|
3817
3875
|
Background?: string;
|
|
3818
3876
|
CardBack?: number;
|
|
3819
|
-
|
|
3877
|
+
// General game settings
|
|
3878
|
+
Settings?: {
|
|
3879
|
+
AutoSpectate?: boolean;
|
|
3880
|
+
IsAnimation?: boolean;
|
|
3881
|
+
};
|
|
3820
3882
|
}
|
|
3821
3883
|
|
|
3822
3884
|
interface GamePrisonParameters {
|
|
@@ -792,8 +792,6 @@ declare var ClubCardHover: null | ClubCard;
|
|
|
792
792
|
* */
|
|
793
793
|
declare var ClubCardFocus: null | ClubCard;
|
|
794
794
|
declare var ClubCardFocusAI: any;
|
|
795
|
-
/** @type {null | TextCache} */
|
|
796
|
-
declare var ClubCardTextCache: null | TextCache;
|
|
797
795
|
declare var ClubCardTurnIndex: number;
|
|
798
796
|
declare var ClubCardTurnCardPlayed: number;
|
|
799
797
|
declare var ClubCardTurnEndDraw: boolean;
|
|
@@ -21,6 +21,23 @@ declare function ClubCardBuilderSaveName(Save: boolean): void;
|
|
|
21
21
|
* @returns {void} - Nothing
|
|
22
22
|
*/
|
|
23
23
|
declare function ClubCardBuilderSaveCardBack(CardBack: number): void;
|
|
24
|
+
/**
|
|
25
|
+
* Opens the deck editor and remember if we came from an online room
|
|
26
|
+
* @param {boolean} FromChatRoom - TRUE if we came from an online room
|
|
27
|
+
* @returns {void} - Nothing
|
|
28
|
+
*/
|
|
29
|
+
declare function ClubCardBuilderShowScreen(FromChatRoom: boolean): void;
|
|
30
|
+
declare function ClubCardBuilderTagChanged(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Resets the tag selection and remove the elements when we finish editing the deck
|
|
33
|
+
* @returns {void} - Nothing
|
|
34
|
+
*/
|
|
35
|
+
declare function ClubCardBuilderFinishEdit(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Handles input in the text box for cards search
|
|
38
|
+
* @returns {void} - Nothing
|
|
39
|
+
*/
|
|
40
|
+
declare function ClubCardBuilderInputChanged(): void;
|
|
24
41
|
/**
|
|
25
42
|
* Loads the filtered cards
|
|
26
43
|
* @returns {void} - Nothing
|
|
@@ -53,6 +70,7 @@ declare function ClubCardBuilderRun(): void;
|
|
|
53
70
|
* @returns {void} - Nothing
|
|
54
71
|
*/
|
|
55
72
|
declare function ClubCardBuilderClick(): void;
|
|
73
|
+
declare function ClubCardBuilderUnload(): void;
|
|
56
74
|
declare var ClubCardBuilderBackground: string;
|
|
57
75
|
declare var ClubCardBuilderDeckIndex: number;
|
|
58
76
|
/** @type {null | ClubCard} */
|
|
@@ -64,13 +82,14 @@ declare var ClubCardBuilderOffset: number;
|
|
|
64
82
|
declare var ClubCardBuilderDeckCurrent: number[];
|
|
65
83
|
declare var ClubCardBuilderMinDeckSize: number;
|
|
66
84
|
declare var ClubCardBuilderMaxDeckSize: number;
|
|
67
|
-
declare var
|
|
85
|
+
declare var ClubCardBuilderSelectedTag: string;
|
|
68
86
|
declare var ClubCardBuilderFilterGroup: string[];
|
|
69
87
|
declare var ClubCardBuilderRenameIndex: number;
|
|
70
88
|
declare var ClubCardBuilderCustomizationIndex: string;
|
|
71
89
|
declare var ClubCardBuilderSelectedCardBack: number;
|
|
72
90
|
declare var ClubCardBuilderCardBackFocus: any;
|
|
73
91
|
declare var ClubCardBuilderCardBackCount: number;
|
|
92
|
+
declare var ClubCardBuilderView: ClubCard[];
|
|
74
93
|
declare var ClubCardBuilderDefaultDeck: number[];
|
|
75
94
|
declare var ClubCardBuilderMaidDeck: number[];
|
|
76
95
|
declare var ClubCardBuilderDominantDeck: number[];
|
|
@@ -79,3 +98,5 @@ declare var ClubCardBuilderAsylumDeck: number[];
|
|
|
79
98
|
declare var ClubCardBuilderABDLDeck: number[];
|
|
80
99
|
declare var ClubCardBuilderCollegeDeck: number[];
|
|
81
100
|
declare var ClubCardBuilderLiabilityDeck: number[];
|
|
101
|
+
/** Whether exiting the builder should return you to the chatroom or, otherwise, the club card lounge. */
|
|
102
|
+
declare let ClubCardBuilderReturnToChatroom: boolean;
|
|
@@ -1483,6 +1483,12 @@ declare function ChatRoomPronounSubstitutions(C: Character, key: string, hideIde
|
|
|
1483
1483
|
* @return {ChatRoomSettings}
|
|
1484
1484
|
*/
|
|
1485
1485
|
declare function ChatRoomGetSettings(room: ChatRoom): ChatRoomSettings;
|
|
1486
|
+
/**
|
|
1487
|
+
* Gets a character by MemberNumber or name or nickname
|
|
1488
|
+
* @param {string|number} spec
|
|
1489
|
+
* @return {Character|null}
|
|
1490
|
+
*/
|
|
1491
|
+
declare function ChatRoomGetCharacter(spec: string | number): Character | null;
|
|
1486
1492
|
declare namespace ChatRoomSpaceType {
|
|
1487
1493
|
let MIXED: "X";
|
|
1488
1494
|
let FEMALE_ONLY: "";
|
|
@@ -17,10 +17,15 @@ declare function ChatRoomMapViewInitialize(mode: ChatRoomMapType): ServerChatRoo
|
|
|
17
17
|
declare function ChatRoomMapViewInitializeCharacter(C: Character): ChatRoomMapData;
|
|
18
18
|
/**
|
|
19
19
|
* Validate the passed chat room map positions.
|
|
20
|
-
* @param {unknown}
|
|
20
|
+
* @param {unknown} position
|
|
21
21
|
* @returns {ChatRoomMapPos}
|
|
22
22
|
*/
|
|
23
|
-
declare function
|
|
23
|
+
declare function ChatRoomMapViewValidatePosition(position: unknown): ChatRoomMapPos;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if the coordinates are out of bounds relative to the map
|
|
26
|
+
* @param {ChatRoomMapPos} position
|
|
27
|
+
*/
|
|
28
|
+
declare function ChatRoomMapViewIsOutOfBounds(position: ChatRoomMapPos): boolean;
|
|
24
29
|
/**
|
|
25
30
|
* Performs cleanup when leaving the chat room map
|
|
26
31
|
* @returns {void} - Nothing
|
|
@@ -275,6 +280,18 @@ declare function ChatRoomMapViewDraw(): void;
|
|
|
275
280
|
* @returns {void} - Nothing
|
|
276
281
|
*/
|
|
277
282
|
declare function ChatRoomMapViewDrawUi(): void;
|
|
283
|
+
/**
|
|
284
|
+
* Teleport a character to a specific tile
|
|
285
|
+
* @param {Character} target
|
|
286
|
+
* @param {ChatRoomMapPos} position
|
|
287
|
+
*/
|
|
288
|
+
declare function ChatRoomMapViewTeleport(target: Character, position: ChatRoomMapPos): void;
|
|
289
|
+
/**
|
|
290
|
+
* Teleport a character to a specific tile from a hidden message
|
|
291
|
+
* @param {Character} sender
|
|
292
|
+
* @param {ServerChatRoomMessage} data
|
|
293
|
+
*/
|
|
294
|
+
declare function ChatRoomMapViewTeleportHiddenMessage(sender: Character, data: ServerChatRoomMessage): void;
|
|
278
295
|
/**
|
|
279
296
|
* Check if a tile on the map can be entered by a player, and return the number of milliseconds required to reach it
|
|
280
297
|
* @param {number} X - The X position on the map
|
package/bc/Scripts/Activity.d.ts
CHANGED
|
@@ -77,14 +77,13 @@ declare function ActivityCheckPrerequisite(prereq: ActivityPrerequisite, acting:
|
|
|
77
77
|
declare function ActivityCheckPrerequisites(activity: Activity, acting: Character | PlayerCharacter, acted: Character | PlayerCharacter, group: AssetGroup): boolean;
|
|
78
78
|
/**
|
|
79
79
|
*
|
|
80
|
-
* @param {ItemActivity[]} allowed
|
|
81
80
|
* @param {Character} acting
|
|
82
81
|
* @param {Character} acted
|
|
83
82
|
* @param {ActivityNameItem} needsItem
|
|
84
83
|
* @param {Activity} activity
|
|
85
84
|
* @param {AssetGroup} targetGroup
|
|
86
85
|
*/
|
|
87
|
-
declare function ActivityGenerateItemActivitiesFromNeed(
|
|
86
|
+
declare function ActivityGenerateItemActivitiesFromNeed(acting: Character, acted: Character, needsItem: ActivityNameItem, activity: Activity, targetGroup: AssetGroup): any[];
|
|
88
87
|
/**
|
|
89
88
|
* Builds the allowed activities on a group given the character's settings.
|
|
90
89
|
* @param {Character} character - The character for which to build the activity dialog options
|
package/bc/Scripts/Asset.d.ts
CHANGED
|
@@ -29,11 +29,12 @@ declare function AssetAdd(Group: AssetGroup, AssetDef: AssetDefinition, Extended
|
|
|
29
29
|
/**
|
|
30
30
|
* Automatically generated pose-related asset prerequisites
|
|
31
31
|
* @param {Partial<Pick<Asset, "AllowActivePose" | "SetPose" | "Prerequisite" | "Effect">>} asset The asset or any other object with the expected asset interface subset
|
|
32
|
-
* @returns {{ Prerequisite?: AssetPrerequisite[], AllowActivePose?: AssetPoseName[] }} The newly generated prerequisites
|
|
32
|
+
* @returns {{ Prerequisite?: AssetPrerequisite[], AllowActivePose?: AssetPoseName[], SetPose?: AssetPoseName[] }} The newly generated prerequisites
|
|
33
33
|
*/
|
|
34
34
|
declare function AssetParsePosePrerequisite({ SetPose, AllowActivePose, Effect, Prerequisite }: Partial<Pick<Asset, "AllowActivePose" | "SetPose" | "Prerequisite" | "Effect">>): {
|
|
35
35
|
Prerequisite?: AssetPrerequisite[];
|
|
36
36
|
AllowActivePose?: AssetPoseName[];
|
|
37
|
+
SetPose?: AssetPoseName[];
|
|
37
38
|
};
|
|
38
39
|
/**
|
|
39
40
|
* Constructs extended item functions for an asset, if extended item configuration exists for the asset.
|
|
@@ -219,6 +220,7 @@ declare function AssetTextGet(msg: string): string;
|
|
|
219
220
|
* Outputs all possible errors in the console log, it runs aynscronious
|
|
220
221
|
*/
|
|
221
222
|
declare function AssetInventoryIDValidate(): Promise<void>;
|
|
223
|
+
declare function AssetLoadCheckActivities(): void;
|
|
222
224
|
/** @type {Asset[]} */
|
|
223
225
|
declare var Asset: Asset[];
|
|
224
226
|
/** @type {AssetGroup[]} */
|
package/bc/Scripts/Common.d.ts
CHANGED
|
@@ -23,6 +23,12 @@ declare function CommonGetBrowser(): {
|
|
|
23
23
|
Name: string;
|
|
24
24
|
Version: string;
|
|
25
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Parses a string into a number
|
|
28
|
+
* @param {string} val The string to parse into a number
|
|
29
|
+
* @returns {number | null}
|
|
30
|
+
*/
|
|
31
|
+
declare function CommonParseNumber(val: string): number | null;
|
|
26
32
|
/**
|
|
27
33
|
* Parse a CSV file content into an array
|
|
28
34
|
* @param {string} str - Content of the CSV
|
|
@@ -9,10 +9,12 @@ declare function CommonDrawCanvasPrepare(C: Character): void;
|
|
|
9
9
|
* @param {AssetGroup} group - The asset group
|
|
10
10
|
* @param {AssetGroupName} groupName - The asset group.
|
|
11
11
|
* @param {AssetPoseName | PoseType} pose - The pose the user is in.
|
|
12
|
+
* @param {AssetLayer} layer - the layer of the asset.
|
|
13
|
+
* @param {string} layerType - CLT layer name, e.g. typed3
|
|
12
14
|
* @param {Asset} asset - target asset
|
|
13
15
|
* @returns {string} baseURL - URL pointing to asset art to load
|
|
14
16
|
*/
|
|
15
|
-
declare function AssetBaseURL(C: Character, group: AssetGroup, groupName: AssetGroupName, pose: AssetPoseName | PoseType, asset: Asset): string;
|
|
17
|
+
declare function AssetBaseURL(C: Character, group: AssetGroup, groupName: AssetGroupName, pose: AssetPoseName | PoseType, layer: AssetLayer, layerType: string, asset: Asset): string;
|
|
16
18
|
/**
|
|
17
19
|
* @typedef { Map<AssetGroupName, TextureAlphaMask[]> } MaskLayersMap
|
|
18
20
|
* @param {Character} C - The character to prepare
|
package/bc/Scripts/Dialog.d.ts
CHANGED
|
@@ -326,9 +326,10 @@ declare function DialogIntro(C: Character): string;
|
|
|
326
326
|
/**
|
|
327
327
|
* Generic dialog function to leave conversation. De-inititalizes global variables and reverts the
|
|
328
328
|
* FocusGroup of the player and the current character to null
|
|
329
|
+
* @param {null | DialogLeave.Options} options - Further customization options
|
|
329
330
|
* @returns {void} - Nothing
|
|
330
331
|
*/
|
|
331
|
-
declare function DialogLeave(): void;
|
|
332
|
+
declare function DialogLeave(options?: null | DialogLeave.Options): void;
|
|
332
333
|
/**
|
|
333
334
|
* Generic dialog function to remove a piece of the conversation that's already done
|
|
334
335
|
* @returns {void} - Nothing
|
|
@@ -84,6 +84,11 @@ declare function IsReplyIdDictionaryEntry(entry: ChatMessageDictionaryEntry): en
|
|
|
84
84
|
* @returns {entry is MsgIdDictionaryEntry}
|
|
85
85
|
*/
|
|
86
86
|
declare function IsMsgIdDictionaryEntry(entry: ChatMessageDictionaryEntry): entry is MsgIdDictionaryEntry;
|
|
87
|
+
/**
|
|
88
|
+
* @param {ChatMessageDictionaryEntry} entry
|
|
89
|
+
* @returns {entry is MapViewTeleportEventDictionaryEntry}
|
|
90
|
+
*/
|
|
91
|
+
declare function IsMapViewTeleportEventDictionaryEntry(entry: ChatMessageDictionaryEntry): entry is MapViewTeleportEventDictionaryEntry;
|
|
87
92
|
/**
|
|
88
93
|
* Build class for chat message dictionaries
|
|
89
94
|
*/
|
|
@@ -202,6 +207,12 @@ declare class DictionaryBuilder {
|
|
|
202
207
|
* @returns
|
|
203
208
|
*/
|
|
204
209
|
performActivity(name: ActivityName, group: AssetGroup, item?: Item, count?: number): this;
|
|
210
|
+
/**
|
|
211
|
+
* Adds a teleport dictionary entry
|
|
212
|
+
* @param {ChatRoomMapPos} position - The position to teleport to
|
|
213
|
+
* @returns
|
|
214
|
+
*/
|
|
215
|
+
mapViewTeleport(position: ChatRoomMapPos): this;
|
|
205
216
|
/**
|
|
206
217
|
* Adds a dictionary entry to the builder
|
|
207
218
|
* @param {ChatMessageDictionaryEntry} entry - The dictionary entry to add
|
package/bc/Scripts/Element.d.ts
CHANGED
|
@@ -511,3 +511,66 @@ declare namespace ElementCheckbox {
|
|
|
511
511
|
*/
|
|
512
512
|
function Create(id?: null | string, onChange?: null | ((this: HTMLInputElement, ev: Event) => any), options?: null | ElementCheckbox.Options, htmlOptions?: null | Partial<Record<"checkbox", Omit<HTMLOptions<any>, "tag">>>): HTMLElement;
|
|
513
513
|
}
|
|
514
|
+
declare namespace ElementSwipe {
|
|
515
|
+
/**
|
|
516
|
+
* @param {HTMLElement} elem
|
|
517
|
+
* @param {null | ElementSwipe.Options} options
|
|
518
|
+
*/
|
|
519
|
+
function setListeners(elem: HTMLElement, options?: null | ElementSwipe.Options): void;
|
|
520
|
+
}
|
|
521
|
+
declare namespace ElementDOMScreen {
|
|
522
|
+
/**
|
|
523
|
+
* Construct and return a template for a basic DOM screen.
|
|
524
|
+
*
|
|
525
|
+
* Important points:
|
|
526
|
+
* * Screen dimensions of `[x, 0, y, 1000]` are generally recommended
|
|
527
|
+
* * The standard child elements of the to-be returned screen _may_ freely be moved around in the DOM tree as one sees fit
|
|
528
|
+
* * The standard child elements of the to-be returned screen _should_ not be removed; do so at your own risk. They _may_ remain unused however.
|
|
529
|
+
* @example
|
|
530
|
+
* <div id="my-fancy-id" class="screen">
|
|
531
|
+
* <!--
|
|
532
|
+
* The first row: a banner containing a menubar,
|
|
533
|
+
* the latter of which _should_ contain an exit button as its first entry
|
|
534
|
+
* -->
|
|
535
|
+
* <header class="screen-header">
|
|
536
|
+
* <div role="menubar" />
|
|
537
|
+
* </header>
|
|
538
|
+
*
|
|
539
|
+
* <!--
|
|
540
|
+
* The second row: the screen's main heading/label/description
|
|
541
|
+
* and a dedicated field for anyand all temporary status messages (see `ElementDOMScreen.SetStatus()`)
|
|
542
|
+
* -->
|
|
543
|
+
* <hgroup class="screen-hgroup">
|
|
544
|
+
* <h1 />
|
|
545
|
+
* <p role="status" />
|
|
546
|
+
* </hgroup>
|
|
547
|
+
*
|
|
548
|
+
* <!--
|
|
549
|
+
* The third and final row: a scrollable section with the main content of the screen.
|
|
550
|
+
* As a rule of thumb, it is recommended to embed the immediate child elements into some sort of
|
|
551
|
+
* grouping element like `<fieldset>`, `<section>` and/or `<article>`.
|
|
552
|
+
* -->
|
|
553
|
+
* <main class="screen-main" />
|
|
554
|
+
* </div>
|
|
555
|
+
* @param {string} id - The ID of the screen
|
|
556
|
+
* @param {null | ElementDOMScreen.TemplateOptions} options - Further customization options
|
|
557
|
+
* @returns {HTMLDivElement} - The newly created DOM screen
|
|
558
|
+
*/
|
|
559
|
+
function getTemplate(id: string, options?: null | ElementDOMScreen.TemplateOptions): HTMLDivElement;
|
|
560
|
+
let _statusIDMap: WeakMap<Element, number>;
|
|
561
|
+
/**
|
|
562
|
+
* Timer handler for {@link ElementDOMScreen.SetStatus}
|
|
563
|
+
* @private
|
|
564
|
+
* @satisfies {TimerHandler}
|
|
565
|
+
* @param {Element} headingElem The screen's `h1` element
|
|
566
|
+
* @param {Element} statusElem The screen's `[role='status']` element
|
|
567
|
+
*/
|
|
568
|
+
function _setStatusTimerHandler(headingElem: Element, statusElem: Element): void;
|
|
569
|
+
/**
|
|
570
|
+
* Set a temporary status message for the screen.
|
|
571
|
+
* @param {HTMLElement} root The screen on which the status is the be set; it _must_ contain a single `h1` and `[role='status']` element
|
|
572
|
+
* @param {string} status The to-be displayed status message
|
|
573
|
+
* @param {number} timeout How long the status message should be shown in ms; defaults to 5000 ms
|
|
574
|
+
*/
|
|
575
|
+
function setStatus(root: HTMLElement, status: string, timeout?: number): void;
|
|
576
|
+
}
|
package/bc/Scripts/Server.d.ts
CHANGED
|
@@ -209,6 +209,7 @@ declare function ServerSendBeepMessage(target: number, msg?: string, options?: {
|
|
|
209
209
|
* @param {string} [options.memberName]
|
|
210
210
|
* @param {string} [options.chatRoomName]
|
|
211
211
|
* @param {boolean} [options.silent]
|
|
212
|
+
* @param {string} [title]
|
|
212
213
|
*/
|
|
213
214
|
declare function ServerShowBeep(message: string, duration: number, options?: {
|
|
214
215
|
onClick?: (this: HTMLDivElement, event: MouseEvent) => void;
|
|
@@ -216,7 +217,7 @@ declare function ServerShowBeep(message: string, duration: number, options?: {
|
|
|
216
217
|
memberName?: string;
|
|
217
218
|
chatRoomName?: string;
|
|
218
219
|
silent?: boolean;
|
|
219
|
-
}): void;
|
|
220
|
+
}, title?: string): void;
|
|
220
221
|
/** Draws the last beep sent by the server if the timer is still valid, used during the drawing process
|
|
221
222
|
* @deprecated
|
|
222
223
|
*/
|