bc-stubs 131.0.0 → 132.0.0-Beta.2
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 +4 -4
- package/bc/NativeDeclarations/Assets/Female3DCG/Female3DCG_Types.d.ts +37 -23
- package/bc/NativeDeclarations/Screens/Character/Preference/Preference.d.ts +1 -0
- package/bc/NativeDeclarations/Screens/Character/Wardrobe/Wardrobe.d.ts +12 -0
- package/bc/NativeDeclarations/Screens/MiniGame/ClubCard/ClubCard.d.ts +260 -0
- package/bc/NativeDeclarations/Scripts/DeclarationsStatic.d.ts +3 -0
- package/bc/NativeDeclarations/Scripts/Element.d.ts +1 -1
- package/bc/NativeDeclarations/Scripts/Messages.d.ts +23 -33
- package/bc/NativeDeclarations/Scripts/Typedef.d.ts +363 -339
- package/bc/NativeDeclarations/Scripts/lib/chessboard.d.ts +68 -0
- package/bc/Screens/Character/Appearance/Appearance.d.ts +43 -30
- package/bc/Screens/Character/FriendList/FriendList.d.ts +9 -4
- package/bc/Screens/Character/ItemColor/ItemColor.d.ts +4 -4
- package/bc/Screens/Character/Login/Login.d.ts +2 -2
- package/bc/Screens/Character/Preference/Graphics.d.ts +2 -0
- package/bc/Screens/Character/Preference/Scripts.d.ts +0 -5
- package/bc/Screens/Character/Preference/Visibility.d.ts +13 -13
- package/bc/Screens/Character/Wardrobe/Wardrobe.d.ts +394 -19
- package/bc/Screens/Cutscene/NPCWedding/NPCWedding.d.ts +2 -2
- package/bc/Screens/Cutscene/PlayerCollaring/PlayerCollaring.d.ts +4 -0
- package/bc/Screens/Inventory/ItemNeck/SlaveCollar/SlaveCollar.d.ts +2 -2
- package/bc/Screens/Inventory/ItemPelvis/ModularChastityBelt/ModularChastityBelt.d.ts +7 -7
- package/bc/Screens/Inventory/ItemVulva/TechnoChastityCage/TechnoChastityCage.d.ts +4 -4
- package/bc/Screens/MiniGame/Chess/BondageChess.d.ts +4 -4
- package/bc/Screens/MiniGame/Chess/chess.d.ts +10 -4
- package/bc/Screens/MiniGame/ClubCard/ClubCard.d.ts +115 -89
- package/bc/Screens/MiniGame/ClubCardBuilder/ClubCardBuilder.d.ts +2 -3
- package/bc/Screens/MiniGame/DojoStruggle/DojoStruggle.d.ts +1 -0
- package/bc/Screens/MiniGame/MagicBattle/MagicBattle.d.ts +2 -1
- package/bc/Screens/MiniGame/WheelFortune/WheelFortune.d.ts +4 -3
- package/bc/Screens/Online/ChatRoom/ChatRoom.d.ts +50 -26
- package/bc/Screens/Online/ChatRoom/ChatRoomMapView.d.ts +146 -27
- package/bc/Screens/Online/ChatRoom/Commands.d.ts +5 -1
- package/bc/Screens/Online/ChatSearch/ChatSearch.d.ts +4 -4
- package/bc/Screens/Online/ForbiddenWords/ForbiddenWords.d.ts +6 -1
- package/bc/Screens/Online/GameClubCard/GameClubCard.d.ts +14 -2
- package/bc/Screens/Online/GameLARP/GameLARP.d.ts +15 -8
- package/bc/Screens/Online/GameMagicBattle/GameMagicBattle.d.ts +3 -1
- package/bc/Screens/Room/Arcade/Arcade.d.ts +2 -1
- package/bc/Screens/Room/AsylumEntrance/AsylumEntrance.d.ts +12 -11
- package/bc/Screens/Room/AsylumGGTS/AsylumGGTS.d.ts +43 -27
- package/bc/Screens/Room/AsylumMeeting/AsylumMeeting.d.ts +2 -2
- package/bc/Screens/Room/AsylumTherapy/AsylumTherapy.d.ts +2 -1
- package/bc/Screens/Room/Cafe/Cafe.d.ts +4 -5
- package/bc/Screens/Room/Cell/Cell.d.ts +2 -2
- package/bc/Screens/Room/ClubCardLounge/ClubCardLounge.d.ts +4 -3
- package/bc/Screens/Room/CollegeCafeteria/CollegeCafeteria.d.ts +2 -2
- package/bc/Screens/Room/CollegeChess/CollegeChess.d.ts +6 -4
- package/bc/Screens/Room/CollegeDetention/CollegeDetention.d.ts +2 -2
- package/bc/Screens/Room/CollegeEntrance/CollegeEntrance.d.ts +2 -2
- package/bc/Screens/Room/CollegeTeacher/CollegeTeacher.d.ts +2 -2
- package/bc/Screens/Room/CollegeTennis/CollegeTennis.d.ts +4 -3
- package/bc/Screens/Room/CollegeTheater/CollegeTheater.d.ts +2 -2
- package/bc/Screens/Room/Crafting/Crafting.d.ts +21 -10
- package/bc/Screens/Room/DailyJob/DailyJob.d.ts +6 -4
- package/bc/Screens/Room/Empty/Empty.d.ts +4 -4
- package/bc/Screens/Room/Infiltration/Infiltration.d.ts +10 -9
- package/bc/Screens/Room/Introduction/Introduction.d.ts +38 -28
- package/bc/Screens/Room/KidnapLeague/KidnapLeague.d.ts +10 -10
- package/bc/Screens/Room/LARP/LARP.d.ts +2 -2
- package/bc/Screens/Room/MagicSchoolEscape/MagicSchoolEscape.d.ts +2 -2
- package/bc/Screens/Room/MagicSchoolFindsAround/MagicSchoolFindsAround.d.ts +2 -1
- package/bc/Screens/Room/MagicSchoolLaboratory/MagicSchoolLaboratory.d.ts +2 -2
- package/bc/Screens/Room/MaidQuarters/MaidQuarters.d.ts +6 -8
- package/bc/Screens/Room/MainHall/MainHall.d.ts +2 -40
- package/bc/Screens/Room/MovieStudio/MovieStudio.d.ts +2 -2
- package/bc/Screens/Room/Nursery/Nursery.d.ts +13 -13
- package/bc/Screens/Room/Pandora/Pandora.d.ts +8 -5
- package/bc/Screens/Room/Photographic/Photographic.d.ts +4 -4
- package/bc/Screens/Room/Poker/Poker.d.ts +5 -3
- package/bc/Screens/Room/Prison/Prison.d.ts +20 -16
- package/bc/Screens/Room/Private/Private.d.ts +7 -5
- package/bc/Screens/Room/PrivateRansom/PrivateRansom.d.ts +4 -0
- package/bc/Screens/Room/Shibari/Shibari.d.ts +8 -7
- package/bc/Screens/Room/Shop2/Shop2.d.ts +1 -1
- package/bc/Screens/Room/SlaveMarket/SlaveMarket.d.ts +6 -4
- package/bc/Screens/Room/Stable/Stable.d.ts +156 -102
- package/bc/Scripts/Asset.d.ts +33 -13
- package/bc/Scripts/Audio.d.ts +2 -2
- package/bc/Scripts/Character.d.ts +8 -8
- package/bc/Scripts/Common.d.ts +61 -17
- package/bc/Scripts/Dialog.d.ts +22 -16
- package/bc/Scripts/Drawing.d.ts +5 -4
- package/bc/Scripts/DynamicDraw.d.ts +4 -4
- package/bc/Scripts/Element.d.ts +44 -3
- package/bc/Scripts/Fullscreen.d.ts +22 -0
- package/bc/Scripts/GLDraw.d.ts +23 -21
- package/bc/Scripts/GameLog.d.ts +1 -1
- package/bc/Scripts/Inventory.d.ts +53 -34
- package/bc/Scripts/Item.d.ts +24 -2
- package/bc/Scripts/Layering.d.ts +28 -25
- package/bc/Scripts/Map.d.ts +78 -0
- package/bc/Scripts/MiniGame.d.ts +2 -2
- package/bc/Scripts/PortalLink.d.ts +8 -2
- package/bc/Scripts/Pose.d.ts +1 -1
- package/bc/Scripts/Server.d.ts +24 -10
- package/bc/Scripts/Struggle.d.ts +4 -4
- package/bc/Scripts/Text.d.ts +3 -3
- package/bc/Scripts/Toasts.d.ts +6 -0
- package/bc/Scripts/TypedItem.d.ts +6 -6
- package/bc/Scripts/Validation.d.ts +12 -12
- package/package.json +1 -1
|
@@ -541,10 +541,10 @@ declare namespace AssetPoseMapping {
|
|
|
541
541
|
export { Hogtied_34 as Hogtied };
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
|
-
/** @type {
|
|
545
|
-
declare const AssetMalePantiesList:
|
|
546
|
-
/** @type {
|
|
547
|
-
declare const AssetMaleChasityCagesList:
|
|
544
|
+
/** @type {readonly AssetFullName[]} */
|
|
545
|
+
declare const AssetMalePantiesList: readonly AssetFullName[];
|
|
546
|
+
/** @type {readonly AssetFullName[]} */
|
|
547
|
+
declare const AssetMaleChasityCagesList: readonly AssetFullName[];
|
|
548
548
|
/**
|
|
549
549
|
* 3D Custom Girl based assets
|
|
550
550
|
* @type {AssetGroupDefinition[]}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
/** A type representing layer names (yes this is just a `string` alias). */
|
|
2
2
|
type LayerName = string;
|
|
3
3
|
|
|
4
|
+
// Do not remove, but do deprecate in order to discourage future usage
|
|
5
|
+
/**
|
|
6
|
+
* A group + asset name.
|
|
7
|
+
*
|
|
8
|
+
* @deprecated Usage of {@link AssetFullPath} instead is strongly recommended for any and all future work.
|
|
9
|
+
*/
|
|
10
|
+
type AssetFullName = `${AssetGroupName}${AssetName}`;
|
|
11
|
+
|
|
12
|
+
/** A group + asset name separated by a dash */
|
|
13
|
+
type AssetFullPath = `${AssetGroupName}/${AssetName}`;
|
|
14
|
+
|
|
4
15
|
/** A special key for {@link ItemProperties["DrawingTop"]}/{@link ItemProperties["DrawingLeft"]} that overrides the _relative_ position of each and every layer individually */
|
|
5
16
|
type AssetOverride = "ASSET_OVERRIDE";
|
|
6
17
|
|
|
@@ -33,8 +44,10 @@ declare namespace TopLeft {
|
|
|
33
44
|
*/
|
|
34
45
|
type Definition = number | Partial<Record<AssetPoseName | PoseTypeDefault, number>>;
|
|
35
46
|
/** See {@link ItemProperties["DrawingTop"]} */
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
36
48
|
type ItemData = Partial<Record<AssetOverride | LayerName, TopLeft.DataMutable>>;
|
|
37
49
|
/** See {@link ItemPropertiesConfig["DrawingTop"]} */
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
38
51
|
type ItemDefinition = Partial<Record<AssetOverride | LayerName, TopLeft.Definition>>;
|
|
39
52
|
}
|
|
40
53
|
|
|
@@ -267,7 +280,7 @@ interface AssetGroupDefinitionBase extends AssetCommonPropertiesGroupAsset, Asse
|
|
|
267
280
|
/** The internal identifier for the group */
|
|
268
281
|
Group: AssetGroupName;
|
|
269
282
|
/** The list of assets defined by the group */
|
|
270
|
-
Asset: (AssetDefinition |
|
|
283
|
+
Asset: (AssetDefinition | AssetName)[];
|
|
271
284
|
|
|
272
285
|
/** Inherited from {@link AssetCommonPropertiesGroupAssetLayer} but mandatory here */
|
|
273
286
|
Priority: number;
|
|
@@ -381,7 +394,7 @@ interface AssetGroupDefinitionBase extends AssetCommonPropertiesGroupAsset, Asse
|
|
|
381
394
|
*
|
|
382
395
|
* Used for things like auto-removing collar accessories if the collar is removed.
|
|
383
396
|
*/
|
|
384
|
-
RemoveItemOnRemove?: { Group: AssetGroupItemName, Name:
|
|
397
|
+
RemoveItemOnRemove?: { Group: AssetGroupItemName, Name: AssetName, TypeRecord?: TypeRecord }[];
|
|
385
398
|
|
|
386
399
|
/**
|
|
387
400
|
* Whether the group has a blinking variant
|
|
@@ -427,7 +440,7 @@ declare namespace AssetGroupDefinition {
|
|
|
427
440
|
/** An {@link AssetGroupDefinition} subtype for groups of the `Item` category. */
|
|
428
441
|
interface Item extends AssetGroupDefinitionBase {
|
|
429
442
|
Group: AssetGroupItemName;
|
|
430
|
-
Asset: (AssetDefinition.Item |
|
|
443
|
+
Asset: (AssetDefinition.Item | AssetName)[];
|
|
431
444
|
Category: "Item";
|
|
432
445
|
Clothing?: false;
|
|
433
446
|
Underwear?: false;
|
|
@@ -442,7 +455,7 @@ declare namespace AssetGroupDefinition {
|
|
|
442
455
|
/** An {@link AssetGroupDefinition} subtype for groups of the `Appearance` category. */
|
|
443
456
|
interface Appearance extends AssetGroupDefinitionBase {
|
|
444
457
|
Group: AssetGroupBodyName;
|
|
445
|
-
Asset: (AssetDefinition.Appearance |
|
|
458
|
+
Asset: (AssetDefinition.Appearance | AssetName)[];
|
|
446
459
|
Category?: "Appearance";
|
|
447
460
|
IsRestraint?: false;
|
|
448
461
|
Zone?: never;
|
|
@@ -451,7 +464,7 @@ declare namespace AssetGroupDefinition {
|
|
|
451
464
|
/** An {@link AssetGroupDefinition} subtype for groups of the `Script` category. */
|
|
452
465
|
interface Script extends AssetGroupDefinitionBase {
|
|
453
466
|
Group: AssetGroupScriptName;
|
|
454
|
-
Asset: (AssetDefinition.Script |
|
|
467
|
+
Asset: (AssetDefinition.Script | AssetName)[];
|
|
455
468
|
Category: "Script";
|
|
456
469
|
}
|
|
457
470
|
}
|
|
@@ -484,7 +497,7 @@ interface AssetCommonPropertiesAssetLayer {
|
|
|
484
497
|
interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetCommonPropertiesAssetLayer, AssetCommonPropertiesGroupAssetLayer {
|
|
485
498
|
|
|
486
499
|
/** The asset's internal name. */
|
|
487
|
-
Name:
|
|
500
|
+
Name: AssetName,
|
|
488
501
|
|
|
489
502
|
/** The asset's InventoryID to be synced with the server and other players */
|
|
490
503
|
InventoryID?: number,
|
|
@@ -497,7 +510,7 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
497
510
|
/** The name of the group */
|
|
498
511
|
GroupName: AssetGroupName,
|
|
499
512
|
/** The name of the asset */
|
|
500
|
-
AssetName:
|
|
513
|
+
AssetName: AssetName,
|
|
501
514
|
/** Whether to automatically assign a {@link AssetDefinition.BuyGroup} to the config and, if required, to set it for all `CopyConfig`-referenced super configs */
|
|
502
515
|
BuyGroup?: boolean,
|
|
503
516
|
};
|
|
@@ -508,7 +521,7 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
508
521
|
* Used for the random appearance generator, to ensure combined assets match.
|
|
509
522
|
* Eyes, as well as the student tops and bottoms make use of it.
|
|
510
523
|
*/
|
|
511
|
-
ParentItem?:
|
|
524
|
+
ParentItem?: AssetName;
|
|
512
525
|
|
|
513
526
|
/**
|
|
514
527
|
* Whether the asset is enabled or not.
|
|
@@ -524,7 +537,7 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
524
537
|
Visible?: boolean;
|
|
525
538
|
|
|
526
539
|
/** A list of screens where current asset won't be shown. */
|
|
527
|
-
NotVisibleOnScreen?:
|
|
540
|
+
NotVisibleOnScreen?: RoomName[];
|
|
528
541
|
|
|
529
542
|
/** Specify body type overrides that live in the asset override folder */
|
|
530
543
|
StyleOverride?: BodyStyle[];
|
|
@@ -533,8 +546,8 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
533
546
|
// Only on BodyStyles
|
|
534
547
|
DrawOffset?: {
|
|
535
548
|
Group?: AssetGroupName;
|
|
536
|
-
Asset?:
|
|
537
|
-
Layer?:
|
|
549
|
+
Asset?: AssetName;
|
|
550
|
+
Layer?: LayerName[]
|
|
538
551
|
X?: number;
|
|
539
552
|
Y?: number;
|
|
540
553
|
}[];
|
|
@@ -576,10 +589,10 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
576
589
|
Expose?: AssetGroupItemName[];
|
|
577
590
|
|
|
578
591
|
/** A list of asset names that get hidden when the asset is worn. */
|
|
579
|
-
HideItem?:
|
|
592
|
+
HideItem?: AssetFullName[];
|
|
580
593
|
|
|
581
594
|
/** A list of asset names that get shown when the asset is worn. Only useful when combined with Hide */
|
|
582
|
-
HideItemExclude?:
|
|
595
|
+
HideItemExclude?: AssetFullName[];
|
|
583
596
|
|
|
584
597
|
/**
|
|
585
598
|
* A list of body group that becomes required when this asset is worn.
|
|
@@ -670,12 +683,12 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
670
683
|
ExpressionTrigger?: ExpressionTrigger[];
|
|
671
684
|
|
|
672
685
|
/** A list of assets to also remove when the asset is taken off. */
|
|
673
|
-
RemoveItemOnRemove?: { Name:
|
|
686
|
+
RemoveItemOnRemove?: { Name: AssetName, Group: AssetGroupItemName, TypeRecord?: TypeRecord }[];
|
|
674
687
|
|
|
675
688
|
AllowEffect?: EffectName[];
|
|
676
689
|
AllowBlock?: AssetGroupItemName[];
|
|
677
690
|
AllowHide?: AssetGroupItemName[];
|
|
678
|
-
AllowHideItem?:
|
|
691
|
+
AllowHideItem?: AssetFullName[];
|
|
679
692
|
/** A list of {@link TypeRecord} keys for which a single layer expects multiple type-specific .png files. */
|
|
680
693
|
CreateLayerTypes?: string[];
|
|
681
694
|
/**
|
|
@@ -700,7 +713,7 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
700
713
|
DynamicDescription?: (C: Character) => string;
|
|
701
714
|
DynamicPreviewImage?: (C: Character) => string;
|
|
702
715
|
DynamicAllowInventoryAdd?: (C: Character) => boolean;
|
|
703
|
-
DynamicName?: (C: Character) =>
|
|
716
|
+
DynamicName?: (C: Character) => AssetName;
|
|
704
717
|
|
|
705
718
|
/** The real group name used when building the file paths for the asset's layers */
|
|
706
719
|
DynamicGroupName?: AssetGroupName;
|
|
@@ -719,7 +732,7 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
719
732
|
AllowColorizeAll?: never;
|
|
720
733
|
|
|
721
734
|
/** A list of online spaces (eg. Asylum) where the asset is automatically available */
|
|
722
|
-
AvailableLocations?:
|
|
735
|
+
AvailableLocations?: (RoomName | ServerChatRoomSpace)[];
|
|
723
736
|
|
|
724
737
|
OverrideHeight?: AssetOverrideHeight;
|
|
725
738
|
|
|
@@ -737,6 +750,7 @@ interface AssetDefinitionBase extends AssetCommonPropertiesGroupAsset, AssetComm
|
|
|
737
750
|
|
|
738
751
|
MirrorExpression?: AssetGroupBodyName;
|
|
739
752
|
|
|
753
|
+
/** See {@link BackgroundsList} */
|
|
740
754
|
CustomBlindBackground?: string;
|
|
741
755
|
|
|
742
756
|
/** The list of layers for the asset. */
|
|
@@ -867,7 +881,7 @@ interface AssetLayerDefinition extends AssetCommonPropertiesGroupAssetLayer, Ass
|
|
|
867
881
|
*/
|
|
868
882
|
Visibility?: "Player" | "AllExceptPlayerDialog" | "Others" | "OthersExceptDialog" | "Owner" | "Lovers" | "Mistresses";
|
|
869
883
|
|
|
870
|
-
HideAs?: { Group: AssetGroupName, Asset?:
|
|
884
|
+
HideAs?: { Group: AssetGroupName, Asset?: AssetName };
|
|
871
885
|
|
|
872
886
|
/** Whether the layer uses an image. Defaults to true. */
|
|
873
887
|
HasImage?: boolean;
|
|
@@ -911,7 +925,7 @@ interface AssetLayerDefinition extends AssetCommonPropertiesGroupAssetLayer, Ass
|
|
|
911
925
|
*
|
|
912
926
|
* Serves as the pose mapping equivalent of {@link AssetLayerDefinition.CopyLayerColor}.
|
|
913
927
|
*/
|
|
914
|
-
CopyLayerPoseMapping?:
|
|
928
|
+
CopyLayerPoseMapping?: LayerName;
|
|
915
929
|
|
|
916
930
|
/**
|
|
917
931
|
* A list of {@link TypeRecord} keys for which a single layer expects multiple type-specific .png files.
|
|
@@ -953,7 +967,7 @@ type ExtendedItemMainConfig = Partial<Record<AssetGroupName, ExtendedItemGroupCo
|
|
|
953
967
|
* An object containing extended item definitions for a group.
|
|
954
968
|
* Maps asset names within the group to their extended item configuration
|
|
955
969
|
*/
|
|
956
|
-
type ExtendedItemGroupConfig = Record<
|
|
970
|
+
type ExtendedItemGroupConfig = Partial<Record<AssetName, AssetArchetypeConfig>>;
|
|
957
971
|
|
|
958
972
|
/** Get the archetype config type */
|
|
959
973
|
type AssetArchetypeGetConfig<T extends keyof ExtendedArchetypes> = ExtendedArchetypes[T][0];
|
|
@@ -994,9 +1008,9 @@ interface ExtendedItemConfig<OptionType extends ExtendedItemOption> {
|
|
|
994
1008
|
/** A boolean indicating whether or not images should be drawn for the option and/or module selection screen. */
|
|
995
1009
|
DrawImages?: boolean;
|
|
996
1010
|
/** The group name and asset name of a configuration to copy - useful if multiple items share the same config */
|
|
997
|
-
CopyConfig?: { GroupName?: AssetGroupName, AssetName:
|
|
1011
|
+
CopyConfig?: { GroupName?: AssetGroupName, AssetName: AssetName };
|
|
998
1012
|
/** An interface with element-specific drawing data for a given screen. */
|
|
999
|
-
DrawData?: ExtendedItemConfigDrawData<
|
|
1013
|
+
DrawData?: ExtendedItemConfigDrawData<object>;
|
|
1000
1014
|
/**
|
|
1001
1015
|
* A list with extra to-be allowed effect names.
|
|
1002
1016
|
* Should only defined when there are effects that are exclusively managed by script hooks and thus cannot be extracted from the normal extended item options.
|
|
@@ -1466,7 +1480,7 @@ interface TestingStruct<T> {
|
|
|
1466
1480
|
/** The asset's group */
|
|
1467
1481
|
readonly Group: AssetGroupName;
|
|
1468
1482
|
/** The asset's name */
|
|
1469
|
-
readonly Name:
|
|
1483
|
+
readonly Name: AssetName;
|
|
1470
1484
|
/** A representation of the asset's missing or invalid data */
|
|
1471
1485
|
readonly Invalid: T;
|
|
1472
1486
|
}
|
|
@@ -52,6 +52,7 @@ type GraphicsFontName =
|
|
|
52
52
|
"Arial" | "TimesNewRoman" | "Papyrus" | "ComicSans" | "Impact" | "HelveticaNeue" | "Verdana" |
|
|
53
53
|
"CenturyGothic" | "Georgia" | "CourierNew" | "Copperplate"
|
|
54
54
|
;
|
|
55
|
+
type GraphicsShowFullscreenButton = "on" | "off" | "on_when_mobile";
|
|
55
56
|
|
|
56
57
|
// #endregion
|
|
57
58
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type WardrobeReorderType = "None" | "Select" | "Place";
|
|
2
|
+
type WardrobeActionPreview = "Load" | "Save";
|
|
3
|
+
type WardrobeFastLoadOptions = {
|
|
4
|
+
/** Keep body from {@link WardrobeFastLoadOptions.BodyCharacter} and apply only clothes from the slot. Honored only when {@link Wardrobe.excludeBodyparts} is set. */
|
|
5
|
+
ExcludeBodyparts?: boolean;
|
|
6
|
+
/** Body source when excluding body parts; defaults to {@link Wardrobe.selectedCharacter}. */
|
|
7
|
+
BodyCharacter?: Character;
|
|
8
|
+
/** Restore facial expressions from this character after loading. Defaults to the player when `C` is the player. */
|
|
9
|
+
ExpressionSource?: Character;
|
|
10
|
+
/** Load this bundle instead of `Player.Wardrobe[W]`. */
|
|
11
|
+
Appearance?: ItemBundle[];
|
|
12
|
+
};
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
type ClubCardTag =
|
|
2
|
+
| "All Cards"
|
|
3
|
+
| "Selected Cards"
|
|
4
|
+
| "Event Cards"
|
|
5
|
+
| "Ungrouped"
|
|
6
|
+
| "Liability"
|
|
7
|
+
| "Staff"
|
|
8
|
+
| "Police"
|
|
9
|
+
| "Criminal"
|
|
10
|
+
| "Fetishist"
|
|
11
|
+
| "Porn"
|
|
12
|
+
| "Maid"
|
|
13
|
+
| "Asylum"
|
|
14
|
+
| "Dominant / Mistress"
|
|
15
|
+
| "ABDL"
|
|
16
|
+
| "College"
|
|
17
|
+
| "Shibari"
|
|
18
|
+
| "Pet / Owner"
|
|
19
|
+
| "Kemonomimi"
|
|
20
|
+
| "Submissive / Slave"
|
|
21
|
+
| "Exhibitionist"
|
|
22
|
+
| "Latex"
|
|
23
|
+
| "Online Player"
|
|
24
|
+
| "Reward Cards"
|
|
25
|
+
;
|
|
26
|
+
|
|
27
|
+
type ClubCardType = "Member" | "Event";
|
|
28
|
+
|
|
29
|
+
type ClubCardGroup =
|
|
30
|
+
| "Fetishist"
|
|
31
|
+
| "Exhibitionist"
|
|
32
|
+
| "Shibari"
|
|
33
|
+
| "Submissive"
|
|
34
|
+
| "Sensei"
|
|
35
|
+
| "Staff"
|
|
36
|
+
| "Police"
|
|
37
|
+
| "Criminal"
|
|
38
|
+
| "Liability"
|
|
39
|
+
| "ABDLBaby"
|
|
40
|
+
| "ABDLMommy"
|
|
41
|
+
| "Maid"
|
|
42
|
+
| "Slave"
|
|
43
|
+
| "PornActress"
|
|
44
|
+
| "Porn"
|
|
45
|
+
| "Kemonomimi"
|
|
46
|
+
| "AsylumPatient"
|
|
47
|
+
| "AsylumNurse"
|
|
48
|
+
| "Dominant"
|
|
49
|
+
| "Mistress"
|
|
50
|
+
| "CollegeStudent"
|
|
51
|
+
| "CollegeTeacher"
|
|
52
|
+
| "Player"
|
|
53
|
+
| "Pet"
|
|
54
|
+
| "Knot"
|
|
55
|
+
| "Owner"
|
|
56
|
+
| "Latex"
|
|
57
|
+
| "Auction"
|
|
58
|
+
| "TimedEvent"
|
|
59
|
+
| "Video"
|
|
60
|
+
| "ContinuousEvent"
|
|
61
|
+
;
|
|
62
|
+
|
|
63
|
+
interface ClubCard {
|
|
64
|
+
ID: number;
|
|
65
|
+
UniqueID?: string;
|
|
66
|
+
Name: string;
|
|
67
|
+
ArrayIndex?: number;
|
|
68
|
+
Type?: ClubCardType;
|
|
69
|
+
Title?: string;
|
|
70
|
+
Text?: string;
|
|
71
|
+
Prerequisite?: string;
|
|
72
|
+
Reward?: string;
|
|
73
|
+
RewardMemberNumber?: number;
|
|
74
|
+
MoneyPerTurn?: number;
|
|
75
|
+
FamePerTurn?: number;
|
|
76
|
+
RequiredLevel?: 1 | 2 | 3 | 4 | 5;
|
|
77
|
+
Time?: number;
|
|
78
|
+
ExtraTime?: number;
|
|
79
|
+
ExtraPlay?: number;
|
|
80
|
+
Group?: ClubCardGroup[];
|
|
81
|
+
Location?: string;
|
|
82
|
+
Negated?: boolean; // if the card's effect should not work
|
|
83
|
+
Negating?: string; // the card that its effect is stopped by this card
|
|
84
|
+
GlowTimer?: number;
|
|
85
|
+
GlowColor?: string;
|
|
86
|
+
EffectKey?: number;
|
|
87
|
+
EffectType?: string;
|
|
88
|
+
Revealed?: boolean;
|
|
89
|
+
CanActive?: boolean;
|
|
90
|
+
//### Animations
|
|
91
|
+
AnimationState?: string;
|
|
92
|
+
DelayedAnimationState?: string;
|
|
93
|
+
CurrentX?: number;
|
|
94
|
+
CurrentY?: number;
|
|
95
|
+
CurrentW?: number;
|
|
96
|
+
IsVisible?: boolean;
|
|
97
|
+
//### ### ### ###
|
|
98
|
+
OnPlay?: (C: ClubCardPlayer) => void;
|
|
99
|
+
BeforeTurnEnd?: (C: ClubCardPlayer) => void;
|
|
100
|
+
AfterTurnEnd?: (C: ClubCardPlayer) => void;
|
|
101
|
+
BeforeOpponentTurnEnd?: (C: ClubCardPlayer) => void;
|
|
102
|
+
AfterOpponentTurnEnd?: (C: ClubCardPlayer) => void;
|
|
103
|
+
CanPlay?: (C: ClubCardPlayer) => boolean;
|
|
104
|
+
/**
|
|
105
|
+
* @param C Player that owns the card and played a card
|
|
106
|
+
* @param Card that was played
|
|
107
|
+
*/
|
|
108
|
+
onPlayedCard?: (C: ClubCardPlayer, Card: ClubCard) => void;
|
|
109
|
+
/**
|
|
110
|
+
* @param C player that owns the card (not the one who played it in this case)
|
|
111
|
+
* @param Card the card that was played
|
|
112
|
+
*/
|
|
113
|
+
onOpponentPlayedCard?: (C: ClubCardPlayer, Card: ClubCard) => void;
|
|
114
|
+
/**
|
|
115
|
+
* Hook to run when card is removed from the board.
|
|
116
|
+
* @param C Player that owns the card
|
|
117
|
+
*/
|
|
118
|
+
onLeaveClub?: (C: ClubCardPlayer) => void;
|
|
119
|
+
onMemberLeaveClub?: (C: ClubCardPlayer, Card: ClubCard, DidntDiscard: boolean) => void;
|
|
120
|
+
onRender?: (C: ClubCardPlayer, X: number, Y: number, W: number) => void;
|
|
121
|
+
turnStart?: (C: ClubCardPlayer) => void;
|
|
122
|
+
onLevelUp?: (C: ClubCardPlayer) => void;
|
|
123
|
+
onOpponentLevelUp?: (C: ClubCardPlayer) => void;
|
|
124
|
+
onDrawCard?: (C: ClubCardPlayer) => void;
|
|
125
|
+
onOpponentDrawCard?: (C: ClubCardPlayer) => void;
|
|
126
|
+
onDrawAction?: (C: ClubCardPlayer) => void;
|
|
127
|
+
onOpponentDrawAction?: (C: ClubCardPlayer) => void;
|
|
128
|
+
onSteal?: (C: ClubCardPlayer) => void;
|
|
129
|
+
StreetsTurnEnd?: (C: ClubCardPlayer) => void;
|
|
130
|
+
onDiscardCard?: (C: ClubCardPlayer, Card: ClubCard) => void;
|
|
131
|
+
onCancelNegation?: (C: ClubCardPlayer) => void;
|
|
132
|
+
WhenDrawn?: (C: ClubCardPlayer) => void;
|
|
133
|
+
OnActive?: (C: ClubCardPlayer) => void;
|
|
134
|
+
OnGameStart?: (C: ClubCardPlayer) => void;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
type ClubCardDefaultDecks =
|
|
138
|
+
| "Default"
|
|
139
|
+
| "Princess Treatment"
|
|
140
|
+
| "Permanent Stay"
|
|
141
|
+
| "Pound Town"
|
|
142
|
+
;
|
|
143
|
+
|
|
144
|
+
interface ClubCardPlayer {
|
|
145
|
+
Character: Character;
|
|
146
|
+
Control: "AI" | "Player" | "Online";
|
|
147
|
+
Index: number;
|
|
148
|
+
Sleeve: number;
|
|
149
|
+
Deck: ClubCard[];
|
|
150
|
+
FullDeck: ClubCard[];
|
|
151
|
+
Hand: ClubCard[];
|
|
152
|
+
Board: ClubCard[];
|
|
153
|
+
Event: ClubCard[];
|
|
154
|
+
RenderFullBoard: ClubCard[];
|
|
155
|
+
DiscardPile: ClubCard[];
|
|
156
|
+
Level: number;
|
|
157
|
+
Money: number;
|
|
158
|
+
Fame: number;
|
|
159
|
+
LastFamePerTurn?: number;
|
|
160
|
+
LastMoneyPerTurn?: number;
|
|
161
|
+
ClubCardTurnCounter: number;
|
|
162
|
+
CardsPlayedThisTurn: Record<number, ClubCard[]>
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
interface ClubCardPopupType {
|
|
166
|
+
Mode:
|
|
167
|
+
| "DISCARDPILE"
|
|
168
|
+
| "YESNO"
|
|
169
|
+
| "TEXT"
|
|
170
|
+
| "SEARCH"
|
|
171
|
+
| "INFO"
|
|
172
|
+
| "TIERSELECTION"
|
|
173
|
+
| "DECK"
|
|
174
|
+
| "TifaActive";
|
|
175
|
+
Text?: string;
|
|
176
|
+
Button1?: string;
|
|
177
|
+
Button2?: string;
|
|
178
|
+
Function1?: string;
|
|
179
|
+
Function2?: string;
|
|
180
|
+
CardsPool?: ClubCard[];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
type ClubCardMessageType =
|
|
184
|
+
| "Prerequisite"
|
|
185
|
+
| "StartTurnInfo"
|
|
186
|
+
| "SystemMessage"
|
|
187
|
+
| "PlayersMessage"
|
|
188
|
+
| "PlayersDisconnected"
|
|
189
|
+
| "CardsEffect"
|
|
190
|
+
| "TurnEndEffect"
|
|
191
|
+
| "KnotEvent"
|
|
192
|
+
| "Actions"
|
|
193
|
+
| "ActionSeparator"
|
|
194
|
+
| "FameMoneyInfo"
|
|
195
|
+
| "StartTurnEvent"
|
|
196
|
+
| "VictoryInfo"
|
|
197
|
+
;
|
|
198
|
+
|
|
199
|
+
type ClubCardPlaceholderKeysType =
|
|
200
|
+
| "MONEYLABEL"
|
|
201
|
+
| "FAMELABEL"
|
|
202
|
+
| "AMOUNT"
|
|
203
|
+
| "CARDNAME"
|
|
204
|
+
| "MONEYAMOUNT"
|
|
205
|
+
| "FAMEAMOUNT"
|
|
206
|
+
| "TURNNUMBER"
|
|
207
|
+
| "PLAYERNAME"
|
|
208
|
+
;
|
|
209
|
+
|
|
210
|
+
interface ClubCardMessage {
|
|
211
|
+
/** Localization key */
|
|
212
|
+
TextGetKey: string;
|
|
213
|
+
/** Type of message (e.g., ACTION, SYSTEM, IMMEDIATE) */
|
|
214
|
+
MessageType: ClubCardMessageType;
|
|
215
|
+
/** ID of the player who triggered the message */
|
|
216
|
+
PlayerId: string;
|
|
217
|
+
/** Turn number when the message was created */
|
|
218
|
+
TurnCounter: number;
|
|
219
|
+
/** Dynamic data for text replacement */
|
|
220
|
+
Placeholders: {
|
|
221
|
+
[key in ClubCardPlaceholderKeysType]?: string;
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
interface ClubCardPosition {
|
|
226
|
+
x: number;
|
|
227
|
+
y: number;
|
|
228
|
+
w: number;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Represents an active card animation in progress.
|
|
233
|
+
*/
|
|
234
|
+
interface ClubCardActiveAnimation {
|
|
235
|
+
/** The card being animated. */
|
|
236
|
+
Card: ClubCard;
|
|
237
|
+
/** The original card (if a copy is animated). */
|
|
238
|
+
OriginalCard?: ClubCard | null;
|
|
239
|
+
/** Timestamp when the animation started (in milliseconds). */
|
|
240
|
+
StartTime: number;
|
|
241
|
+
/** Total animation duration in milliseconds. */
|
|
242
|
+
Duration: number;
|
|
243
|
+
/** Initial position of the card. */
|
|
244
|
+
StartPosition: { x: number, y: number, w: number };
|
|
245
|
+
/** Target position of the card. */
|
|
246
|
+
EndPosition: { x: number, y: number, w: number };
|
|
247
|
+
/** Whether to hide the original card during animation. */
|
|
248
|
+
HideOriginal: boolean;
|
|
249
|
+
/** Whether the original card should stay hidden after animation completes. */
|
|
250
|
+
KeepOriginalHidden: boolean;
|
|
251
|
+
/** Timeout ID for fallback handling (used to restore the card state in case of failure). */
|
|
252
|
+
SafetyTimeout: number;
|
|
253
|
+
/** Callback function called when the animation completes. */
|
|
254
|
+
OnComplete?: AnyFunction|null;
|
|
255
|
+
// Processed elsewhere
|
|
256
|
+
// /** Callback function called when the animation starts. */
|
|
257
|
+
// OnStart?: Function|null;
|
|
258
|
+
/** Animation rendering level priority*/
|
|
259
|
+
Priority: number;
|
|
260
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
// Statically defined types that can be swapped out for more precise, dynamically computed alternatives during the `files:csvtypescript` CI
|
|
2
2
|
|
|
3
3
|
type TextKeysInterface = string;
|
|
4
|
+
|
|
5
|
+
/** A type representing asset names (yes this is just a `string` alias). */
|
|
6
|
+
type AssetName = string;
|
|
@@ -62,7 +62,7 @@ declare namespace ElementSearchableDropdown {
|
|
|
62
62
|
/** Imperative helpers attached to the root element returned from {@link ElementCreateSearchableDropdown}. */
|
|
63
63
|
interface SearchableDropdownInstance {
|
|
64
64
|
bcSetOptions(optionsList: readonly OptionItem[], newValue?: string): void;
|
|
65
|
-
|
|
65
|
+
bcSetNewValue(newValue: string): void;
|
|
66
66
|
bcSetDisabled(disabled: boolean): void;
|
|
67
67
|
}
|
|
68
68
|
|