bc-stubs 96.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.
Files changed (312) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/bc/Assets/Female3DCG/Female3DCG.d.ts +41 -0
  4. package/bc/Assets/Female3DCG/Female3DCGExtended.d.ts +29 -0
  5. package/bc/Backgrounds/Backgrounds.d.ts +37 -0
  6. package/bc/Female3DCG_Types.d.ts +875 -0
  7. package/bc/Screens/Character/Appearance/Appearance.d.ts +392 -0
  8. package/bc/Screens/Character/BackgroundSelection/BackgroundSelection.d.ts +98 -0
  9. package/bc/Screens/Character/Cheat/Cheat.d.ts +54 -0
  10. package/bc/Screens/Character/Creation/Creation.d.ts +40 -0
  11. package/bc/Screens/Character/Disclaimer/Disclaimer.d.ts +21 -0
  12. package/bc/Screens/Character/FriendList/FriendList.d.ts +102 -0
  13. package/bc/Screens/Character/InformationSheet/InformationSheet.d.ts +46 -0
  14. package/bc/Screens/Character/ItemColor/ItemColor.d.ts +232 -0
  15. package/bc/Screens/Character/Login/Login.d.ts +194 -0
  16. package/bc/Screens/Character/OnlineProfile/OnlineProfile.d.ts +27 -0
  17. package/bc/Screens/Character/PasswordReset/PasswordReset.d.ts +28 -0
  18. package/bc/Screens/Character/Preference/Preference.d.ts +658 -0
  19. package/bc/Screens/Character/Relog/Relog.d.ts +36 -0
  20. package/bc/Screens/Character/Title/Title.d.ts +68 -0
  21. package/bc/Screens/Character/Wardrobe/Wardrobe.d.ts +93 -0
  22. package/bc/Screens/Cutscene/NPCCollaring/NPCCollaring.d.ts +26 -0
  23. package/bc/Screens/Cutscene/NPCSlaveAuction/NPCSlaveAuction.d.ts +27 -0
  24. package/bc/Screens/Cutscene/NPCWedding/NPCWedding.d.ts +35 -0
  25. package/bc/Screens/Cutscene/PlayerCollaring/PlayerCollaring.d.ts +26 -0
  26. package/bc/Screens/Cutscene/PlayerMistress/PlayerMistress.d.ts +24 -0
  27. package/bc/Screens/Cutscene/SarahIntro/SarahIntro.d.ts +22 -0
  28. package/bc/Screens/Inventory/Cloth/CheerleaderTop/CheerleaderTop.d.ts +33 -0
  29. package/bc/Screens/Inventory/Cloth/FrilledShirt/FrilledShirt.d.ts +10 -0
  30. package/bc/Screens/Inventory/ClothAccessory/Bib/Bib.d.ts +2 -0
  31. package/bc/Screens/Inventory/EyeShadow/EyeShadow.d.ts +60 -0
  32. package/bc/Screens/Inventory/Futuristic/Futuristic.d.ts +60 -0
  33. package/bc/Screens/Inventory/ItemArms/FullLatexSuit/FullLatexSuit.d.ts +6 -0
  34. package/bc/Screens/Inventory/ItemArms/HempRope/HempRope.d.ts +2 -0
  35. package/bc/Screens/Inventory/ItemArms/NylonRope/NylonRope.d.ts +2 -0
  36. package/bc/Screens/Inventory/ItemArms/PrisonLockdownSuit/PrisonLockdownSuit.d.ts +4 -0
  37. package/bc/Screens/Inventory/ItemArms/TransportJacket/TransportJacket.d.ts +10 -0
  38. package/bc/Screens/Inventory/ItemBreast/ForbiddenChastityBra/ForbiddenChastityBra.d.ts +32 -0
  39. package/bc/Screens/Inventory/ItemBreast/FuturisticBra/FuturisticBra.d.ts +24 -0
  40. package/bc/Screens/Inventory/ItemButt/AnalBeads2/AnalBeads2.d.ts +2 -0
  41. package/bc/Screens/Inventory/ItemButt/InflVibeButtPlug/InflVibeButtPlug.d.ts +2 -0
  42. package/bc/Screens/Inventory/ItemDevices/DollBox/DollBox.d.ts +2 -0
  43. package/bc/Screens/Inventory/ItemDevices/FuckMachine/FuckMachine.d.ts +16 -0
  44. package/bc/Screens/Inventory/ItemDevices/FuturisticCrate/FuturisticCrate.d.ts +8 -0
  45. package/bc/Screens/Inventory/ItemDevices/KabeshiriWall/KabeshiriWall.d.ts +13 -0
  46. package/bc/Screens/Inventory/ItemDevices/Kennel/Kennel.d.ts +18 -0
  47. package/bc/Screens/Inventory/ItemDevices/LuckyWheel/LuckyWheel.d.ts +48 -0
  48. package/bc/Screens/Inventory/ItemDevices/PetBowl/PetBowl.d.ts +6 -0
  49. package/bc/Screens/Inventory/ItemDevices/VacBedDeluxe/VacBedDeluxe.d.ts +2 -0
  50. package/bc/Screens/Inventory/ItemDevices/WheelFortune/WheelFortune.d.ts +10 -0
  51. package/bc/Screens/Inventory/ItemDevices/WoodenBox/WoodenBox.d.ts +13 -0
  52. package/bc/Screens/Inventory/ItemFeet/HempRope/HempRope.d.ts +2 -0
  53. package/bc/Screens/Inventory/ItemFeet/NylonRope/NylonRope.d.ts +2 -0
  54. package/bc/Screens/Inventory/ItemHandhelds/PortalTablet/PortalTablet.d.ts +10 -0
  55. package/bc/Screens/Inventory/ItemHead/DroneMask/DroneMask.d.ts +2 -0
  56. package/bc/Screens/Inventory/ItemHood/CanvasHood/CanvasHood.d.ts +6 -0
  57. package/bc/Screens/Inventory/ItemMisc/CombinationPadlock/CombinationPadlock.d.ts +16 -0
  58. package/bc/Screens/Inventory/ItemMisc/ExclusivePadlock/ExclusivePadlock.d.ts +6 -0
  59. package/bc/Screens/Inventory/ItemMisc/FamilyPadlock/FamilyPadlock.d.ts +6 -0
  60. package/bc/Screens/Inventory/ItemMisc/HighSecurityPadlock/HighSecurityPadlock.d.ts +15 -0
  61. package/bc/Screens/Inventory/ItemMisc/IntricatePadlock/IntricatePadlock.d.ts +6 -0
  62. package/bc/Screens/Inventory/ItemMisc/LoversPadlock/LoversPadlock.d.ts +6 -0
  63. package/bc/Screens/Inventory/ItemMisc/LoversTimerPadlock/LoversTimerPadlock.d.ts +17 -0
  64. package/bc/Screens/Inventory/ItemMisc/MetalPadlock/MetalPadlock.d.ts +6 -0
  65. package/bc/Screens/Inventory/ItemMisc/MistressPadlock/MistressPadlock.d.ts +6 -0
  66. package/bc/Screens/Inventory/ItemMisc/MistressTimerPadlock/MistressTimerPadlock.d.ts +13 -0
  67. package/bc/Screens/Inventory/ItemMisc/OwnerPadlock/OwnerPadlock.d.ts +6 -0
  68. package/bc/Screens/Inventory/ItemMisc/OwnerTimerPadlock/OwnerTimerPadlock.d.ts +22 -0
  69. package/bc/Screens/Inventory/ItemMisc/PandoraPadlock/PandoraPadlock.d.ts +6 -0
  70. package/bc/Screens/Inventory/ItemMisc/PasswordPadlock/PasswordPadlock.d.ts +17 -0
  71. package/bc/Screens/Inventory/ItemMisc/PortalLinkPadlock/PortalLinkPadlock.d.ts +6 -0
  72. package/bc/Screens/Inventory/ItemMisc/SafewordPadlock/SafewordPadlock.d.ts +12 -0
  73. package/bc/Screens/Inventory/ItemMisc/TimerPadlock/TimerPadlock.d.ts +13 -0
  74. package/bc/Screens/Inventory/ItemMisc/TimerPasswordPadlock/TimerPasswordPadlock.d.ts +13 -0
  75. package/bc/Screens/Inventory/ItemMisc/WoodenSign/WoodenSign.d.ts +2 -0
  76. package/bc/Screens/Inventory/ItemMouth/FuturisticPanelGag/FuturisticPanelGag.d.ts +49 -0
  77. package/bc/Screens/Inventory/ItemNeck/AutoShockCollar/AutoShockCollar.d.ts +4 -0
  78. package/bc/Screens/Inventory/ItemNeck/FuturisticCollar/FuturisticCollar.d.ts +59 -0
  79. package/bc/Screens/Inventory/ItemNeck/PetSuitShockCollar/PetSuitShockCollar.d.ts +4 -0
  80. package/bc/Screens/Inventory/ItemNeck/ShockCollar/ShockCollar.d.ts +4 -0
  81. package/bc/Screens/Inventory/ItemNeck/SlaveCollar/SlaveCollar.d.ts +25 -0
  82. package/bc/Screens/Inventory/ItemNeckAccessories/CollarAutoShockUnit/CollarAutoShockUnit.d.ts +15 -0
  83. package/bc/Screens/Inventory/ItemNeckAccessories/CollarNameTag/CollarNameTag.d.ts +8 -0
  84. package/bc/Screens/Inventory/ItemNeckAccessories/CollarShockUnit/CollarShockUnit.d.ts +17 -0
  85. package/bc/Screens/Inventory/ItemNeckAccessories/CustomCollarTag/CustomCollarTag.d.ts +2 -0
  86. package/bc/Screens/Inventory/ItemNeckAccessories/ElectronicTag/ElectronicTag.d.ts +2 -0
  87. package/bc/Screens/Inventory/ItemNeckRestraints/CollarLeash/CollarLeash.d.ts +4 -0
  88. package/bc/Screens/Inventory/ItemNeckRestraints/PetPost/PetPost.d.ts +2 -0
  89. package/bc/Screens/Inventory/ItemNipples/LactationPump/LactationPump.d.ts +2 -0
  90. package/bc/Screens/Inventory/ItemPelvis/ForbiddenChastityBelt/ForbiddenChastityBelt.d.ts +32 -0
  91. package/bc/Screens/Inventory/ItemPelvis/FuturisticChastityBelt/FuturisticChastityBelt.d.ts +28 -0
  92. package/bc/Screens/Inventory/ItemPelvis/FuturisticTrainingBelt/FuturisticTrainingBelt.d.ts +103 -0
  93. package/bc/Screens/Inventory/ItemPelvis/LoveChastityBelt/LoveChastityBelt.d.ts +8 -0
  94. package/bc/Screens/Inventory/ItemPelvis/ObedienceBelt/ObedienceBelt.d.ts +29 -0
  95. package/bc/Screens/Inventory/ItemPelvis/PortalPanties/PortalPanties.d.ts +10 -0
  96. package/bc/Screens/Inventory/ItemPelvis/SciFiPleasurePanties/SciFiPleasurePanties.d.ts +6 -0
  97. package/bc/Screens/Inventory/ItemTorso/FuturisticHarness/FuturisticHarness.d.ts +8 -0
  98. package/bc/Screens/Inventory/ItemVulva/ClitAndDildoVibratorbelt/ClitAndDildoVibratorbelt.d.ts +4 -0
  99. package/bc/Screens/Inventory/ItemVulva/FuturisticVibrator/FuturisticVibrator.d.ts +65 -0
  100. package/bc/Screens/Inventory/ItemVulva/LoversVibrator/LoversVibrator.d.ts +2 -0
  101. package/bc/Screens/Inventory/Wings/SteampunkWings/SteampunkWings.d.ts +16 -0
  102. package/bc/Screens/MiniGame/Chess/BondageChess.d.ts +30 -0
  103. package/bc/Screens/MiniGame/Chess/chess.d.ts +7 -0
  104. package/bc/Screens/MiniGame/ChestLockpick/ChestLockpick.d.ts +27 -0
  105. package/bc/Screens/MiniGame/ClubCard/ClubCard.d.ts +373 -0
  106. package/bc/Screens/MiniGame/ClubCardBuilder/ClubCardBuilder.d.ts +66 -0
  107. package/bc/Screens/MiniGame/DojoStruggle/DojoStruggle.d.ts +25 -0
  108. package/bc/Screens/MiniGame/GetUp/GetUp.d.ts +31 -0
  109. package/bc/Screens/MiniGame/HorseWalk/HorseWalk.d.ts +85 -0
  110. package/bc/Screens/MiniGame/Kidnap/Kidnap.d.ts +165 -0
  111. package/bc/Screens/MiniGame/KinkyDungeon/KDAutoStruggle.d.ts +99 -0
  112. package/bc/Screens/MiniGame/KinkyDungeon/KDClasses.d.ts +11 -0
  113. package/bc/Screens/MiniGame/KinkyDungeon/KDDelayedActions.d.ts +17 -0
  114. package/bc/Screens/MiniGame/KinkyDungeon/KDFixForBC.d.ts +11 -0
  115. package/bc/Screens/MiniGame/KinkyDungeon/KDModUtils.d.ts +93 -0
  116. package/bc/Screens/MiniGame/KinkyDungeon/KDParticles.d.ts +37 -0
  117. package/bc/Screens/MiniGame/KinkyDungeon/KDTypeDefs.d.ts +2161 -0
  118. package/bc/Screens/MiniGame/KinkyDungeon/KDWardrobe.d.ts +84 -0
  119. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeon.d.ts +653 -0
  120. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonAlt.d.ts +481 -0
  121. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonBones.d.ts +16 -0
  122. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonBoss.d.ts +119 -0
  123. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonBuffs.d.ts +33 -0
  124. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonBuffsList.d.ts +865 -0
  125. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonConsumables.d.ts +36 -0
  126. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonConsumablesList.d.ts +66 -0
  127. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonCurse.d.ts +44 -0
  128. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonDialogue.d.ts +171 -0
  129. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonDialogueList.d.ts +45 -0
  130. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonDialogueTriggers.d.ts +48 -0
  131. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonDraw.d.ts +738 -0
  132. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonDress.d.ts +62 -0
  133. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonDressList.d.ts +33 -0
  134. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEditor.d.ts +1124 -0
  135. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEditorGen.d.ts +113 -0
  136. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEditorTiles.d.ts +4 -0
  137. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEffectTiles.d.ts +6 -0
  138. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEnemies.d.ts +544 -0
  139. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEnemiesList.d.ts +22 -0
  140. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEnemyEventList.d.ts +18 -0
  141. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonErrors.d.ts +59 -0
  142. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonEvents.d.ts +151 -0
  143. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonFactions.d.ts +53 -0
  144. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonFactionsList.d.ts +650 -0
  145. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonFight.d.ts +453 -0
  146. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonFurniture.d.ts +28 -0
  147. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonGame.d.ts +429 -0
  148. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonHUD.d.ts +134 -0
  149. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonInput.d.ts +23 -0
  150. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonInventory.d.ts +178 -0
  151. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonItem.d.ts +33 -0
  152. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonJail.d.ts +142 -0
  153. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonJailList.d.ts +105 -0
  154. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonLoot.d.ts +66 -0
  155. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonLootList.d.ts +866 -0
  156. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonLore.d.ts +37 -0
  157. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMagic.d.ts +113 -0
  158. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMagicCode.d.ts +23 -0
  159. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMagicList.d.ts +62 -0
  160. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMapMods.d.ts +5 -0
  161. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMistress.d.ts +10 -0
  162. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMultiplayer.d.ts +26 -0
  163. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonMusic.d.ts +28 -0
  164. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonObject.d.ts +42 -0
  165. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonParams.d.ts +4 -0
  166. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonPathfinding.d.ts +36 -0
  167. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonPerks.d.ts +147 -0
  168. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonPersonality.d.ts +83 -0
  169. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonPlayerEffects.d.ts +35 -0
  170. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonQuest.d.ts +10 -0
  171. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonReputation.d.ts +229 -0
  172. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonRestraints.d.ts +766 -0
  173. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonRestraintsList.d.ts +55 -0
  174. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonSetpiece.d.ts +91 -0
  175. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonShrine.d.ts +89 -0
  176. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonSpawns.d.ts +49 -0
  177. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonStats.d.ts +282 -0
  178. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonTests.d.ts +5 -0
  179. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonTiles.d.ts +160 -0
  180. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonTilesList.d.ts +72 -0
  181. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonTraps.d.ts +34 -0
  182. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonVibe.d.ts +98 -0
  183. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonVision.d.ts +24 -0
  184. package/bc/Screens/MiniGame/KinkyDungeon/KinkyDungeonWeaponList.d.ts +5 -0
  185. package/bc/Screens/MiniGame/MagicBattle/MagicBattle.d.ts +73 -0
  186. package/bc/Screens/MiniGame/MagicPuzzle/MagicPuzzle.d.ts +75 -0
  187. package/bc/Screens/MiniGame/MaidCleaning/MaidCleaning.d.ts +51 -0
  188. package/bc/Screens/MiniGame/MaidDrinks/MaidDrinks.d.ts +82 -0
  189. package/bc/Screens/MiniGame/PlayerAuction/PlayerAuction.d.ts +36 -0
  190. package/bc/Screens/MiniGame/PuppyWalker/PuppyWalker.d.ts +39 -0
  191. package/bc/Screens/MiniGame/RhythmGame/RhythmGame.d.ts +76 -0
  192. package/bc/Screens/MiniGame/SlaveAuction/SlaveAuction.d.ts +39 -0
  193. package/bc/Screens/MiniGame/Tennis/Tennis.d.ts +52 -0
  194. package/bc/Screens/MiniGame/Therapy/Therapy.d.ts +39 -0
  195. package/bc/Screens/MiniGame/WheelFortune/WheelFortune.d.ts +105 -0
  196. package/bc/Screens/Online/AdvancedRule/AdvancedRule.d.ts +32 -0
  197. package/bc/Screens/Online/ChatAdmin/ChatAdmin.d.ts +59 -0
  198. package/bc/Screens/Online/ChatBlockItem/ChatBlockItem.d.ts +30 -0
  199. package/bc/Screens/Online/ChatCreate/ChatCreate.d.ts +66 -0
  200. package/bc/Screens/Online/ChatRoom/ChatRoom.d.ts +1342 -0
  201. package/bc/Screens/Online/ChatRoom/Commands.d.ts +66 -0
  202. package/bc/Screens/Online/ChatSearch/ChatSearch.d.ts +241 -0
  203. package/bc/Screens/Online/ChatSelect/ChatSelect.d.ts +33 -0
  204. package/bc/Screens/Online/ForbiddenWords/ForbiddenWords.d.ts +33 -0
  205. package/bc/Screens/Online/Game/OnlineGame.d.ts +69 -0
  206. package/bc/Screens/Online/GameClubCard/GameClubCard.d.ts +131 -0
  207. package/bc/Screens/Online/GameLARP/GameLARP.d.ts +279 -0
  208. package/bc/Screens/Online/GameMagicBattle/GameMagicBattle.d.ts +159 -0
  209. package/bc/Screens/Online/WheelFortuneCustomize/WheelFortuneCustomize.d.ts +24 -0
  210. package/bc/Screens/Room/Arcade/Arcade.d.ts +94 -0
  211. package/bc/Screens/Room/AsylumBedroom/AsylumBedroom.d.ts +16 -0
  212. package/bc/Screens/Room/AsylumEntrance/AsylumEntrance.d.ts +265 -0
  213. package/bc/Screens/Room/AsylumGGTS/AsylumGGTS.d.ts +330 -0
  214. package/bc/Screens/Room/AsylumMeeting/AsylumMeeting.d.ts +110 -0
  215. package/bc/Screens/Room/AsylumTherapy/AsylumTherapy.d.ts +117 -0
  216. package/bc/Screens/Room/Cafe/Cafe.d.ts +144 -0
  217. package/bc/Screens/Room/Cell/Cell.d.ts +32 -0
  218. package/bc/Screens/Room/ClubCardLounge/ClubCardLounge.d.ts +28 -0
  219. package/bc/Screens/Room/CollegeCafeteria/CollegeCafeteria.d.ts +57 -0
  220. package/bc/Screens/Room/CollegeChess/CollegeChess.d.ts +75 -0
  221. package/bc/Screens/Room/CollegeDetention/CollegeDetention.d.ts +98 -0
  222. package/bc/Screens/Room/CollegeEntrance/CollegeEntrance.d.ts +54 -0
  223. package/bc/Screens/Room/CollegeTeacher/CollegeTeacher.d.ts +71 -0
  224. package/bc/Screens/Room/CollegeTennis/CollegeTennis.d.ts +47 -0
  225. package/bc/Screens/Room/CollegeTheater/CollegeTheater.d.ts +100 -0
  226. package/bc/Screens/Room/Crafting/Crafting.d.ts +213 -0
  227. package/bc/Screens/Room/DailyJob/DailyJob.d.ts +111 -0
  228. package/bc/Screens/Room/Empty/Empty.d.ts +84 -0
  229. package/bc/Screens/Room/Gambling/Gambling.d.ts +269 -0
  230. package/bc/Screens/Room/Infiltration/Infiltration.d.ts +223 -0
  231. package/bc/Screens/Room/InfiltrationPerks/InfiltrationPerks.d.ts +42 -0
  232. package/bc/Screens/Room/Introduction/Introduction.d.ts +195 -0
  233. package/bc/Screens/Room/KidnapLeague/KidnapLeague.d.ts +253 -0
  234. package/bc/Screens/Room/LARP/LARP.d.ts +39 -0
  235. package/bc/Screens/Room/Magic/Magic.d.ts +199 -0
  236. package/bc/Screens/Room/MagicSchoolEscape/MagicSchoolEscape.d.ts +36 -0
  237. package/bc/Screens/Room/MagicSchoolLaboratory/MagicSchoolLaboratory.d.ts +170 -0
  238. package/bc/Screens/Room/MaidQuarters/MaidQuarters.d.ts +305 -0
  239. package/bc/Screens/Room/MainHall/MainHall.d.ts +255 -0
  240. package/bc/Screens/Room/Management/Management.d.ts +544 -0
  241. package/bc/Screens/Room/MovieStudio/MovieStudio.d.ts +178 -0
  242. package/bc/Screens/Room/Nursery/Nursery.d.ts +85 -0
  243. package/bc/Screens/Room/Pandora/Pandora.d.ts +348 -0
  244. package/bc/Screens/Room/PandoraPrison/PandoraPrison.d.ts +180 -0
  245. package/bc/Screens/Room/Photographic/Photographic.d.ts +53 -0
  246. package/bc/Screens/Room/Platform/Platform.d.ts +1730 -0
  247. package/bc/Screens/Room/PlatformDialog/PlatformDialog.d.ts +3966 -0
  248. package/bc/Screens/Room/PlatformIntro/PlatformIntro.d.ts +21 -0
  249. package/bc/Screens/Room/PlatformProfile/PlatformProfile.d.ts +62 -0
  250. package/bc/Screens/Room/Poker/Poker.d.ts +141 -0
  251. package/bc/Screens/Room/Poker/PokerHandValue.d.ts +65 -0
  252. package/bc/Screens/Room/Prison/Prison.d.ts +118 -0
  253. package/bc/Screens/Room/Private/Private.d.ts +781 -0
  254. package/bc/Screens/Room/PrivateBed/PrivateBed.d.ts +78 -0
  255. package/bc/Screens/Room/PrivateRansom/PrivateRansom.d.ts +28 -0
  256. package/bc/Screens/Room/Sarah/Sarah.d.ts +162 -0
  257. package/bc/Screens/Room/Shibari/Shibari.d.ts +162 -0
  258. package/bc/Screens/Room/Shop/Shop.d.ts +162 -0
  259. package/bc/Screens/Room/SlaveMarket/SlaveMarket.d.ts +90 -0
  260. package/bc/Screens/Room/Stable/Stable.d.ts +236 -0
  261. package/bc/Scripts/Activity.d.ts +270 -0
  262. package/bc/Scripts/AfkTimer.d.ts +43 -0
  263. package/bc/Scripts/Animation.d.ts +81 -0
  264. package/bc/Scripts/Asset.d.ts +216 -0
  265. package/bc/Scripts/Audio.d.ts +105 -0
  266. package/bc/Scripts/Character.d.ts +495 -0
  267. package/bc/Scripts/CharacterName.d.ts +1 -0
  268. package/bc/Scripts/ColorPicker.d.ts +155 -0
  269. package/bc/Scripts/Common.d.ts +499 -0
  270. package/bc/Scripts/CommonDraw.d.ts +34 -0
  271. package/bc/Scripts/ControllerSupport.d.ts +107 -0
  272. package/bc/Scripts/Dialog.d.ts +970 -0
  273. package/bc/Scripts/DictionaryBuilder.d.ts +210 -0
  274. package/bc/Scripts/Drawing.d.ts +581 -0
  275. package/bc/Scripts/Drawing3D.d.ts +21 -0
  276. package/bc/Scripts/DynamicDraw.d.ts +310 -0
  277. package/bc/Scripts/Element.d.ts +154 -0
  278. package/bc/Scripts/ExtendedItem.d.ts +339 -0
  279. package/bc/Scripts/GLDraw.d.ts +223 -0
  280. package/bc/Scripts/Game.d.ts +61 -0
  281. package/bc/Scripts/GameLog.d.ts +87 -0
  282. package/bc/Scripts/Graph.d.ts +46 -0
  283. package/bc/Scripts/Import.d.ts +7 -0
  284. package/bc/Scripts/Inventory.d.ts +509 -0
  285. package/bc/Scripts/MiniGame.d.ts +30 -0
  286. package/bc/Scripts/ModularItem.d.ts +286 -0
  287. package/bc/Scripts/Mouse.d.ts +34 -0
  288. package/bc/Scripts/NPC.d.ts +105 -0
  289. package/bc/Scripts/Notification.d.ts +120 -0
  290. package/bc/Scripts/PortalLink.d.ts +159 -0
  291. package/bc/Scripts/Property.d.ts +98 -0
  292. package/bc/Scripts/Reputation.d.ts +36 -0
  293. package/bc/Scripts/Server.d.ts +239 -0
  294. package/bc/Scripts/Skill.d.ts +107 -0
  295. package/bc/Scripts/Speech.d.ts +145 -0
  296. package/bc/Scripts/Struggle.d.ts +357 -0
  297. package/bc/Scripts/Testing.d.ts +30 -0
  298. package/bc/Scripts/Text.d.ts +92 -0
  299. package/bc/Scripts/TextItem.d.ts +65 -0
  300. package/bc/Scripts/TightenLoosenItem.d.ts +31 -0
  301. package/bc/Scripts/Timer.d.ts +62 -0
  302. package/bc/Scripts/Translation.d.ts +101 -0
  303. package/bc/Scripts/TypedItem.d.ts +242 -0
  304. package/bc/Scripts/Validation.d.ts +324 -0
  305. package/bc/Scripts/VariableHeight.d.ts +108 -0
  306. package/bc/Scripts/VibratorMode.d.ts +209 -0
  307. package/bc/Scripts/lib/LZString.d.ts +12 -0
  308. package/bc/Scripts/lib/three/FBXLoader.d.ts +0 -0
  309. package/bc/Scripts/lib/three/GLTFLoader.d.ts +0 -0
  310. package/bc/Scripts/lib/webgl/resources/m4.d.ts +0 -0
  311. package/bc/Typedef.d.ts +3933 -0
  312. package/package.json +19 -0
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Adds a new entry to the player's logs, renews the value if it already exists.
3
+ * @template {LogGroupType} T
4
+ * @param {LogNameType[T]} NewLogName - The name of the log
5
+ * @param {T} NewLogGroup - The name of the log's group
6
+ * @param {number} [NewLogValue] - Value for the log as the time in ms. Is undefined if the value is permanent
7
+ * @param {boolean} [Push=true] - TRUE if we must push the log to the server
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function LogAdd<T extends keyof LogNameType>(NewLogName: LogNameType[T], NewLogGroup: T, NewLogValue?: number, Push?: boolean): void;
11
+ /**
12
+ * Deletes a log entry.
13
+ * @template {LogGroupType} T
14
+ * @param {LogNameType[T]} DelLogName - The name of the log
15
+ * @param {T} DelLogGroup - The name of the log's group
16
+ * @param {boolean} [Push=true] - TRUE if we must push the log to the server
17
+ * @returns {void} - Nothing
18
+ */
19
+ declare function LogDelete<T extends keyof LogNameType>(DelLogName: LogNameType[T], DelLogGroup: T, Push?: boolean): void;
20
+ /**
21
+ * Deletes all log entries to starts with the name.
22
+ * @param {string} DelLogName - The name of the log
23
+ * @param {LogGroupType} DelLogGroup - The name of the log's group
24
+ * @param {boolean} [Push=true] - TRUE if we must push the log to the server
25
+ * @returns {void} - Nothing
26
+ */
27
+ declare function LogDeleteStarting(DelLogName: string, DelLogGroup: LogGroupType, Push?: boolean): void;
28
+ /**
29
+ * Deletes all log entries in a particular log group.
30
+ * @param {LogGroupType} DelLogGroup - The name of the log's group
31
+ * @param {boolean} [Push=true] - TRUE if we must push the log to the server
32
+ * @returns {void} - Nothing
33
+ */
34
+ declare function LogDeleteGroup(DelLogGroup: LogGroupType, Push?: boolean): void;
35
+ /**
36
+ * Searches for an existing log entry.
37
+ * @template {LogGroupType} T
38
+ * @param {LogNameType[T]} QueryLogName - The name of the log to search for
39
+ * @param {T} QueryLogGroup - The name of the log's group
40
+ * @returns {boolean} - Returns TRUE if there is an existing log matching the Name/Group with no value or a value above the current time in ms.
41
+ */
42
+ declare function LogQuery<T extends keyof LogNameType>(QueryLogName: LogNameType[T], QueryLogGroup: T): boolean;
43
+ /**
44
+ * Checks if there's a log entry with extra ID characters in the log of the player (Exemple: BlockScreenABC return true for ID: A, B or C)
45
+ * @template {LogGroupType} T
46
+ * @param {LogNameType[T]} LogName - The log name to scan
47
+ * @param {T} LogGroup - The log group to scan
48
+ * @param {string} ID - The ID to validate (letter, number or other chars are fine)
49
+ * @returns {boolean} - Returns true, if the log contains that ID
50
+ */
51
+ declare function LogContain<T extends keyof LogNameType>(LogName: LogNameType[T], LogGroup: T, ID: string): boolean;
52
+ /**
53
+ * Returns the value associated to a log.
54
+ * @template {LogGroupType} T
55
+ * @param {LogNameType[T]} QueryLogName - The name of the log to query the value
56
+ * @param {T} QueryLogGroup - The name of the log's group
57
+ * @returns {number | null} - Returns the value of the log which is a date represented in ms or undefined. Returns null if no matching log is found.
58
+ */
59
+ declare function LogValue<T extends keyof LogNameType>(QueryLogName: LogNameType[T], QueryLogGroup: T): number | null;
60
+ /**
61
+ * Loads the account log.
62
+ * @param {readonly LogRecord[]} NewLog - Existing logs received by the server
63
+ * @returns {void} - Nothing
64
+ */
65
+ declare function LogLoad(NewLog: readonly LogRecord[]): void;
66
+ /**
67
+ * Searches for an existing log entry on another character.
68
+ * @template {LogGroupType} T
69
+ * @param {Character} C - Character to search on
70
+ * @param {LogNameType[T]} QueryLogName - The name of the log to search for
71
+ * @param {T} QueryLogGroup - The name of the log's group
72
+ * @returns {boolean} - Returns TRUE if there is an existing log matching the Name/Group with no value or a value above the current time in ms.
73
+ */
74
+ declare function LogQueryRemote<T extends keyof LogNameType>(C: Character, QueryLogName: LogNameType[T], QueryLogGroup: T): boolean;
75
+ /**
76
+ * Filters the Player's log and returns the rule entries that the player's owner is allowed to see.
77
+ * @param {boolean} OwnerIsLover - Indicates that the requester is also the player's lover.
78
+ * @returns {LogRecord[]} - A list of rules that the player's owner is permitted to see
79
+ */
80
+ declare function LogGetOwnerReadableRules(OwnerIsLover: boolean): LogRecord[];
81
+ /**
82
+ * Filters the Player's log and returns the rule entries that the player's lover is allowed to see.
83
+ * @returns {LogRecord[]} - A list of rules that the player's lover is permitted to see
84
+ */
85
+ declare function LogGetLoverReadableRules(): LogRecord[];
86
+ /** @type {LogRecord[]} */
87
+ declare var Log: LogRecord[];
@@ -0,0 +1,46 @@
1
+ /**
2
+ * A class representing a directed graph. The graph consists of string nodes, and edges defined by string to/from
3
+ * 2-tuples
4
+ */
5
+ declare class DirectedGraph {
6
+ /**
7
+ * @param {string[]} vertices
8
+ * @param {[string, string][]} edges
9
+ */
10
+ constructor(vertices: string[], edges: [string, string][]);
11
+ vertices: string[];
12
+ size: number;
13
+ edges: [string, string][];
14
+ adjacencyList: Record<string, string[]>;
15
+ /**
16
+ * Constructs and sets the adjacency list for this graph based on its edge definitions
17
+ * @returns {Record<string, string[]>} - The adjacency list for the graph
18
+ */
19
+ buildAdjacencyList(): Record<string, string[]>;
20
+ /**
21
+ * Creates a new subgraph of this graph by removing a given vertex, along with all edges attached to that vertex
22
+ * @param {string} vertex - The vertex to remove
23
+ * @returns {DirectedGraph} - The subgraph of this graph obtained by removing the given vertex and all attached
24
+ * edges
25
+ */
26
+ removeVertex(vertex: string): DirectedGraph;
27
+ /**
28
+ * Creates a new subgraph of this graph by keeping only the given vertices and any edges between them
29
+ * @param {string[]} vertices - The vertices to keep
30
+ * @returns {DirectedGraph} - The subgraph of this graph obtained by only keeping the given vertices and any edges
31
+ * between them
32
+ */
33
+ subgraphFromVertices(vertices: string[]): DirectedGraph;
34
+ /**
35
+ * Calculates the strongly connected components of the graph using Tarjan's strongly connected components algorithm.
36
+ * See https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
37
+ * @returns {string[][]} - An array containing the strongly connected components of this graph, each represented as
38
+ * an array of vertex numbers
39
+ */
40
+ getStronglyConnectedComponents(): string[][];
41
+ /**
42
+ * Finds all simple cycles in this graph using Johnson's algorithm (see https://epubs.siam.org/doi/10.1137/0204007)
43
+ * @returns {string[][]}
44
+ */
45
+ findCycles(): string[][];
46
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Import the inventory from the Bondage College. Items to import were saved in localstorage previously.
3
+ * @param {Character} C - Character for which to import items to
4
+ * @returns - Nothing
5
+ */
6
+ declare function ImportBondageCollege(C: Character): void;
7
+ declare var ImportBondageCollegeData: boolean;
@@ -0,0 +1,509 @@
1
+ /**
2
+ * Add a new item by group & name to character inventory
3
+ * @param {Character} C - The character that gets the new item added to her inventory
4
+ * @param {string} NewItemName - The name of the new item to add
5
+ * @param {AssetGroupName} NewItemGroup - The group name of the new item to add
6
+ * @param {boolean} [Push=true] - Set to TRUE to push to the server
7
+ */
8
+ declare function InventoryAdd(C: Character, NewItemName: string, NewItemGroup: AssetGroupName, Push?: boolean): void;
9
+ /**
10
+ * Adds multiple new items by group & name to the character inventory
11
+ * @param {Character} C - The character that gets the new items added to her inventory
12
+ * @param {readonly ItemBundle[]} NewItems - The new items to add
13
+ * @param {Boolean} [Push=true] - Set to TRUE to push to the server, pushed by default
14
+ */
15
+ declare function InventoryAddMany(C: Character, NewItems: readonly ItemBundle[], Push?: boolean): void;
16
+ /**
17
+ * Creates a new item for a character based on asset group and name
18
+ * @param {Character} C - The character to create the item for
19
+ * @param {AssetGroupName} Group - The name of the asset group the item belongs to
20
+ * @param {string} Name - The name of the asset for the item
21
+ * @return {InventoryItem | null} A new item for character using the specified asset name, or null if the specified asset could not be
22
+ * found in the named group
23
+ */
24
+ declare function InventoryItemCreate(C: Character, Group: AssetGroupName, Name: string): InventoryItem | null;
25
+ /**
26
+ * Deletes an item from the character inventory
27
+ * @param {Character} C - The character on which we should remove the item
28
+ * @param {string} DelItemName - The name of the item to delete
29
+ * @param {AssetGroupName} DelItemGroup - The group name of the item to delete
30
+ * @param {boolean} [Push=true] - Set to TRUE to push to the server
31
+ * @return {InventoryItem}
32
+ */
33
+ declare function InventoryDelete(C: Character, DelItemName: string, DelItemGroup: AssetGroupName, Push?: boolean): InventoryItem;
34
+ /**
35
+ * Deletes all currently-owned items from a given group.
36
+ *
37
+ * @param {Character} C - The character to remove items from
38
+ * @param {AssetGroupName} group - The group name to clear
39
+ * @param {boolean} [push=true] - Whether to send an update to the server
40
+ * @return {InventoryItem[]} The list of deleted items
41
+ */
42
+ declare function InventoryDeleteGroup(C: Character, group: AssetGroupName, push?: boolean): InventoryItem[];
43
+ /**
44
+ * Loads the current inventory for a character, can be loaded from an object of Name/Group or a compressed array using
45
+ * LZString
46
+ * @param {Character} C - The character on which we should load the inventory
47
+ * @param {string | readonly ItemBundle[] | Partial<Record<AssetGroupName, readonly string[]>>} Inventory - An array of Name / Group of items to load
48
+ */
49
+ declare function InventoryLoad(C: Character, Inventory: string | readonly ItemBundle[] | Partial<Record<AssetGroupName, readonly string[]>>): void;
50
+ /**
51
+ * Checks if the character has the inventory available
52
+ * @param {Character} C - The character on which we should remove the item
53
+ * @param {string|'*'} InventoryName - The name of the item to validate, * means any
54
+ * @param {AssetGroupName} InventoryGroup - The group name of the item to validate
55
+ */
56
+ declare function InventoryAvailable(C: Character, InventoryName: string | '*', InventoryGroup: AssetGroupName): boolean;
57
+ /**
58
+ * Returns an error message if a prerequisite clashes with the character's items and clothes
59
+ * @param {Character} C - The character on which we check for prerequisites
60
+ * @param {AssetPrerequisite} Prerequisite - The name of the prerequisite
61
+ * @returns {string} - The error tag, can be converted to an error message
62
+ */
63
+ declare function InventoryPrerequisiteMessage(C: Character, Prerequisite: AssetPrerequisite): string;
64
+ /**
65
+ * Prerequisite utility function that returns TRUE if the given character has an item equipped in the provided group
66
+ * whose name matches one of the names in the provided list.
67
+ * @param {Character} C - The character for whom to check equipped items
68
+ * @param {AssetGroupName} ItemGroup - The name of the item group to check
69
+ * @param {readonly string[]} ItemList - A list of item names to check against
70
+ * @returns {boolean} - TRUE if the character has an item from the item list equipped in the named slot, FALSE
71
+ * otherwise
72
+ */
73
+ declare function InventoryIsItemInList(C: Character, ItemGroup: AssetGroupName, ItemList: readonly string[]): boolean;
74
+ /**
75
+ * Prerequisite utility function that returns TRUE if the given character has an item equipped in the provided group
76
+ * which has the provided prerequisite.
77
+ * @param {Character} C - The character whose items should be checked
78
+ * @param {AssetGroupName} ItemGroup - The name of the item group to check
79
+ * @param {AssetPrerequisite} Prerequisite - The name of the prerequisite to look for
80
+ * @returns {boolean} - TRUE if the character has an item equipped in the named slot which has the named prerequisite,
81
+ * FALSE otherwise
82
+ */
83
+ declare function InventoryDoesItemHavePrerequisite(C: Character, ItemGroup: AssetGroupName, Prerequisite: AssetPrerequisite): boolean;
84
+ /**
85
+ * Prerequisite utility function to check whether the target group for the given character is blocked by any of the
86
+ * given groups to check.
87
+ * @param {Character} C - The character whose items should be checked
88
+ * @param {AssetGroupItemName} TargetGroup - The name of the group that should be checked for being blocked
89
+ * @param {readonly AssetGroupName[]} GroupsToCheck - The name(s) of the groups whose items should be checked
90
+ * @returns {boolean} - TRUE if the character has an item equipped in any of the given groups to check which blocks the
91
+ * target group, FALSE otherwise.
92
+ */
93
+ declare function InventoryDoItemsBlockGroup(C: Character, TargetGroup: AssetGroupItemName, GroupsToCheck: readonly AssetGroupName[]): boolean;
94
+ /**
95
+ * Prerequisite utility function to check whether the target group for the given character is exposed by all of the
96
+ * given groups to check.
97
+ * @param {Character} C - The character whose items should be checked
98
+ * @param {AssetGroupItemName} TargetGroup - The name of the group that should be checked for being exposed
99
+ * @param {readonly AssetGroupName[]} GroupsToCheck - The name(s) of the groups whose items should be checked
100
+ * @returns {boolean} - FALSE if the character has an item equipped in ANY of the given groups to check that does not
101
+ * expose the target group. Returns TRUE otherwise.
102
+ */
103
+ declare function InventoryDoItemsExposeGroup(C: Character, TargetGroup: AssetGroupItemName, GroupsToCheck: readonly AssetGroupName[]): boolean;
104
+ /**
105
+ * Prerequisite utility function that returns TRUE if the given character has an item equipped in any of the named group
106
+ * slots.
107
+ * @param {Character} C - The character whose items should be checked
108
+ * @param {readonly AssetGroupName[]} GroupList - The list of groups to check for items in
109
+ * @returns {boolean} - TRUE if the character has any item equipped in any of the named groups, FALSE otherwise.
110
+ */
111
+ declare function InventoryHasItemInAnyGroup(C: Character, GroupList: readonly AssetGroupName[]): boolean;
112
+ /**
113
+ * Check if there are any gags with prerequisites that block the new gag from being applied
114
+ * @param {Character} C - The character on which we check for prerequisites
115
+ * @param {readonly AssetPrerequisite[]} BlockingPrereqs - The prerequisites we check for on lower gags
116
+ * @returns {string} - Returns the prerequisite message if the gag is blocked, or an empty string if not
117
+ */
118
+ declare function InventoryPrerequisiteConflictingGags(C: Character, BlockingPrereqs: readonly AssetPrerequisite[]): string;
119
+ /**
120
+ * Returns TRUE if we can add the item, no other items must block that prerequisite
121
+ * @param {Character} C - The character on which we check for prerequisites
122
+ * @param {Asset} asset - The asset for which prerequisites should be checked. Any item equipped in the asset's group
123
+ * will be ignored for the purposes of the prerequisite check.
124
+ * @param {AssetPrerequisite | readonly AssetPrerequisite[]} [prerequisites=asset.Prerequisite] - An array of prerequisites or a string for a single
125
+ * prerequisite. If nothing is provided, the asset's default prerequisites will be used
126
+ * @param {boolean} [setDialog=true] - If TRUE, set the screen dialog message at the same time
127
+ * @returns {boolean} - TRUE if the item can be added to the character
128
+ */
129
+ declare function InventoryAllow(C: Character, asset: Asset, prerequisites?: AssetPrerequisite | readonly AssetPrerequisite[], setDialog?: boolean): boolean;
130
+ /**
131
+ * Gets the current item / cloth worn a specific area (AssetGroup)
132
+ * @param {Character} C - The character on which we must check the appearance
133
+ * @param {AssetGroupName} AssetGroup - The name of the asset group to scan
134
+ * @returns {Item|null} - Returns the appearance which is the item / cloth asset, color and properties
135
+ */
136
+ declare function InventoryGet(C: Character, AssetGroup: AssetGroupName): Item | null;
137
+ /**
138
+ * Applies crafted properties to the item used
139
+ * @param {Character} Source - The character that used the item
140
+ * @param {Character} Target - The character on which the item is used
141
+ * @param {AssetGroupItemName} GroupName - The name of the asset group to scan
142
+ * @param {CraftingItem} Craft - The crafted properties to apply
143
+ * @param {Boolean} Refresh - TRUE if we must refresh the character
144
+ * @param {Boolean} ApplyColor - TRUE if the items color must be (re-)applied
145
+ * @param {Boolean} CraftWarn - Whether a warning should logged whenever the crafting validation fails
146
+ * @returns {void}
147
+ */
148
+ declare function InventoryCraft(Source: Character, Target: Character, GroupName: AssetGroupItemName, Craft: CraftingItem, Refresh: boolean, ApplyColor?: boolean, CraftWarn?: boolean): void;
149
+ /**
150
+ * Returns the number of items on a character with a specific property
151
+ * @param {Character} C - The character to validate
152
+ * @param {CraftingPropertyType} Property - The property to count
153
+ * @returns {Number} - The number of times the property is found
154
+ */
155
+ declare function InventoryCraftCount(C: Character, Property: CraftingPropertyType): number;
156
+ /**
157
+ * Returns TRUE if an item as the specified crafted property
158
+ * @param {Item} Item - The item to validate
159
+ * @param {CraftingPropertyType} Property - The property to check
160
+ * @returns {boolean} - TRUE if the property matches
161
+ */
162
+ declare function InventoryCraftPropertyIs(Item: Item, Property: CraftingPropertyType): boolean;
163
+ /**
164
+ * Sets the craft and type on the item, uses the achetype properties if possible.
165
+ * Note that appearance changes are _not_ pushed to the server.
166
+ * @param {Item} Item - The item being applied
167
+ * @param {Character} C - The character that must wear the item
168
+ * @param {CraftingItem} [Craft] - The crafting properties of the item
169
+ */
170
+ declare function InventoryWearCraft(Item: Item, C: Character, Craft?: CraftingItem): void;
171
+ /**
172
+ * Makes the character wear an item on a body area
173
+ * @param {Character} C - The character that must wear the item
174
+ * @param {string} AssetName - The name of the asset to wear
175
+ * @param {AssetGroupName} AssetGroup - The name of the asset group to wear
176
+ * @param {string | string[]} [ItemColor] - The hex color of the item, can be undefined or "Default"
177
+ * @param {number} [Difficulty] - The difficulty, on top of the base asset difficulty, to assign to the item
178
+ * @param {number} [MemberNumber] - The member number of the character putting the item on - defaults to -1
179
+ * @param {CraftingItem} [Craft] - The crafting properties of the item
180
+ * @param {boolean} [Refresh] - Whether to refresh the character and push the changes to the server
181
+ * @returns {null | Item} - Thew newly created item or `null` if the asset does not exist
182
+ */
183
+ declare function InventoryWear(C: Character, AssetName: string, AssetGroup: AssetGroupName, ItemColor?: string | string[], Difficulty?: number, MemberNumber?: number, Craft?: CraftingItem, Refresh?: boolean): null | Item;
184
+ /**
185
+ * Sets the difficulty to remove an item for a body area
186
+ * @param {Character} C - The character that is wearing the item
187
+ * @param {AssetGroupItemName} AssetGroup - The name of the asset group
188
+ * @param {number} Difficulty - The new difficulty level to escape from the item
189
+ */
190
+ declare function InventorySetDifficulty(C: Character, AssetGroup: AssetGroupItemName, Difficulty: number): void;
191
+ /**
192
+ * Returns TRUE if there's already a locked item at a given body area
193
+ * @param {Character} C - The character that is wearing the item
194
+ * @param {AssetGroupItemName} AssetGroup - The name of the asset group (body area)
195
+ * @param {Boolean} CheckProperties - Set to TRUE to check for additionnal properties
196
+ * @returns {Boolean} - TRUE if the item is locked
197
+ */
198
+ declare function InventoryLocked(C: Character, AssetGroup: AssetGroupItemName, CheckProperties: boolean): boolean;
199
+ /**
200
+ * Makes the character wear a random item from a body area
201
+ * @param {Character} C - The character that must wear the item
202
+ * @param {AssetGroupName} GroupName - The name of the asset group (body area)
203
+ * @param {number} [Difficulty] - The difficulty, on top of the base asset difficulty, to assign to the item
204
+ * @param {boolean} [Refresh=true] - Do not call CharacterRefresh if false
205
+ * @param {boolean} [MustOwn=false] - If TRUE, only assets that the character owns can be worn. Otherwise any asset can
206
+ * be used
207
+ * @param {boolean} [Extend=true] - Whether or not to randomly extend the item (i.e. set the item type), provided it has
208
+ * an archetype that supports random extension
209
+ * @param {readonly string[]} [AllowedAssets=null] - A list of assets from which one must be selected
210
+ * @param {boolean} [IgnoreRequirements=false] - If True, the group being blocked and prerequisites will not prevent the item being added.
211
+ * NOTE: Long-term this should be replaced with better checks before calling this function.
212
+ * @returns {Item | null} - The equipped item (if any)
213
+ */
214
+ declare function InventoryWearRandom(C: Character, GroupName: AssetGroupName, Difficulty?: number, Refresh?: boolean, MustOwn?: boolean, Extend?: boolean, AllowedAssets?: readonly string[], IgnoreRequirements?: boolean): Item | null;
215
+ /**
216
+ * Randomly extends an item (sets an item type, etc.) on a character
217
+ * @param {Character} C - The character wearing the item
218
+ * @param {AssetGroupName} GroupName - The name of the item's group
219
+ * @param {null | Character} [C_Source] - The character setting the new item option. If `null`, assume that it is _not_ the player character.
220
+ * @returns {Item | null} - The equipped item (if any)
221
+ */
222
+ declare function InventoryRandomExtend(C: Character, GroupName: AssetGroupName, C_Source?: null | Character): Item;
223
+ /**
224
+ * Select a random asset from a group, narrowed to the most preferable available options (i.e
225
+ * unblocked/visible/unlimited) based on their binary "rank"
226
+ * @param {Character} C - The character to pick the asset for
227
+ * @param {AssetGroupName} GroupName - The asset group to pick the asset from. Set to an empty string to not filter by group.
228
+ * @param {readonly Asset[]} [AllowedAssets] - Optional parameter: A list of assets from which one can be selected. If not provided,
229
+ * the full list of all assets is used.
230
+ * @param {boolean} [IgnorePrerequisites=false] - If True, skip the step to check whether prerequisites are met
231
+ * NOTE: Long-term this should be replaced with better checks before calling this function.
232
+ * @returns {Asset|null} - The randomly selected asset or `null` if none found
233
+ */
234
+ declare function InventoryGetRandom(C: Character, GroupName: AssetGroupName, AllowedAssets?: readonly Asset[], IgnorePrerequisites?: boolean): Asset | null;
235
+ /**
236
+ * Removes a specific item from a character body area
237
+ * @param {Character} C - The character on which we must remove the item
238
+ * @param {AssetGroupName} AssetGroup - The name of the asset group (body area)
239
+ * @param {boolean} [Refresh] - Whether or not to trigger a character refresh. Defaults to false
240
+ */
241
+ declare function InventoryRemove(C: Character, AssetGroup: AssetGroupName, Refresh?: boolean): void;
242
+ /**
243
+ * Returns TRUE if the body area (Asset Group) for a character is blocked and cannot be used
244
+ * @param {Character} C - The character on which we validate the group
245
+ * @param {AssetGroupItemName} [GroupName] - The name of the asset group (body area), defaults to `C.FocusGroup`
246
+ * @param {boolean} [Activity=false] - if TRUE check if activity is allowed on the asset group
247
+ * @returns {boolean} - TRUE if the group is blocked
248
+ */
249
+ declare function InventoryGroupIsBlockedForCharacter(C: Character, GroupName?: AssetGroupItemName, Activity?: boolean): boolean;
250
+ /**
251
+ * Returns TRUE if the body area is blocked by an owner rule
252
+ * @param {Character} C - The character on which we validate the group
253
+ * @param {AssetGroupName} [GroupName] - The name of the asset group (body area)
254
+ * @returns {boolean} - TRUE if the group is blocked
255
+ */
256
+ declare function InventoryGroupIsBlockedByOwnerRule(C: Character, GroupName?: AssetGroupName): boolean;
257
+ /**
258
+ * Returns TRUE if the body area (Asset Group) for a character is blocked and cannot be used
259
+ * Similar to InventoryGroupIsBlockedForCharacter but also blocks groups on all characters if the player is enclosed.
260
+ * @param {Character} C - The character on which we validate the group
261
+ * @param {AssetGroupItemName} [GroupName] - The name of the asset group (body area)
262
+ * @param {boolean} [Activity] - if TRUE check if activity is allowed on the asset group
263
+ * @returns {boolean} - TRUE if the group is blocked
264
+ */
265
+ declare function InventoryGroupIsBlocked(C: Character, GroupName?: AssetGroupItemName, Activity?: boolean): boolean;
266
+ /**
267
+ * Returns TRUE if an item has a specific effect
268
+ * @param {Item} Item - The item from appearance that must be validated
269
+ * @param {EffectName} [Effect] - The name of the effect to validate, can be undefined to check for any effect
270
+ * @param {boolean} [CheckProperties=true] - If properties should be checked (defaults to `true`)
271
+ * @returns {boolean} `true` if the effect is on the item
272
+ */
273
+ declare function InventoryItemHasEffect(Item: Item, Effect?: EffectName, CheckProperties?: boolean): boolean;
274
+ /**
275
+ * Returns TRUE if an item lock is pickable
276
+ * @param {Item} Item - The item from appearance that must be validated
277
+ * @returns {Boolean} - TRUE if PickDifficulty is on the item
278
+ */
279
+ declare function InventoryItemIsPickable(Item: Item): boolean;
280
+ /**
281
+ * Returns the value of a given property of an appearance item, prioritizes the Property object.
282
+ * @template {keyof ItemProperties | keyof Asset | keyof AssetGroup} Name
283
+ * @param {Item} Item - The appearance item to scan
284
+ * @param {Name} PropertyName - The property name to get.
285
+ * @param {boolean} [CheckGroup=false] - Whether or not to fall back to the item's group if the property is not found on
286
+ * Property or Asset.
287
+ * @returns {(ItemProperties & Asset & AssetGroup)[Name] | undefined} - The value of the requested property for the given item.
288
+ * Returns either undefined, an empty array or object if the property or the item itself does not exist.
289
+ */
290
+ declare function InventoryGetItemProperty<Name extends "Name" | "Gender" | "BuyGroup" | "ParentItem" | "Enable" | "Visible" | "NotVisibleOnScreen" | "Wear" | "Activity" | "AllowActivity" | "ActivityAudio" | "ActivityExpression" | "AllowActivityOn" | "PrerequisiteBuyGroups" | "Effect" | "Block" | "BlockRemotes" | "OpenPermission" | "OpenPermissionArm" | "OpenPermissionLeg" | "OpenPermissionChastity" | "Bonus" | "Expose" | "Hide" | "HideItem" | "HideItemExclude" | "Require" | "SetPose" | "AllowPose" | "HideForPose" | "PoseMapping" | "AllowActivePose" | "WhitelistActivePose" | "Value" | "Difficulty" | "SelfBondage" | "SelfUnlock" | "ExclusiveUnlock" | "Random" | "RemoveAtLogin" | "LayerVisibility" | "RemoveTime" | "RemoveTimer" | "MaxTimer" | "Alpha" | "Prerequisite" | "Extended" | "AlwaysExtend" | "AlwaysInteract" | "AllowLock" | "IsLock" | "PickDifficulty" | "OwnerOnly" | "LoverOnly" | "FamilyOnly" | "ExpressionTrigger" | "RemoveItemOnRemove" | "AllowEffect" | "AllowBlock" | "AllowHide" | "AllowHideItem" | "AllowType" | "AllowTighten" | "DefaultColor" | "Opacity" | "MinOpacity" | "MaxOpacity" | "Audio" | "Category" | "Fetish" | "ArousalZone" | "IsRestraint" | "BodyCosplay" | "OverrideBlinking" | "DialogSortOverride" | "DynamicDescription" | "DynamicPreviewImage" | "DynamicAllowInventoryAdd" | "DynamicName" | "DynamicGroupName" | "DynamicActivity" | "DynamicAudio" | "CharacterRestricted" | "AllowRemoveExclusive" | "InheritColor" | "DynamicBeforeDraw" | "DynamicAfterDraw" | "DynamicScriptDraw" | "HasType" | "AllowLockType" | "AllowColorize" | "AllowColorizeAll" | "AvailableLocations" | "OverrideHeight" | "FreezeActivePose" | "DrawLocks" | "AllowExpression" | "MirrorExpression" | "FixedPosition" | "CustomBlindBackground" | "Layer" | "Archetype" | "Attribute" | "HideItemAttribute" | "PreviewIcons" | "Tint" | "DefaultTint" | "CraftGroup" | "ExpressionPrerequisite" | "ColorSuffix" | "Text" | "LockPickSeed" | "CombinationNumber" | "Password" | "Hint" | "LockSet" | "Padding" | "Type" | "Door" | "Expression" | "Mode" | "Intensity" | "State" | "HeightModifier" | "OverridePriority" | "ItemMemberNumber" | "LockedBy" | "LockMemberNumber" | "MemberNumberListKeys" | "RemoveItem" | "RemoveOnUnlock" | "ShowTimer" | "EnableRandomInput" | "MemberNumberList" | "InflateLevel" | "SuctionLevel" | "Text2" | "Text3" | "LockButt" | "HeartRate" | "HeartIcon" | "AutoPunish" | "AutoPunishUndoTime" | "AutoPunishUndoTimeSetting" | "OriginalSetting" | "BlinkState" | "Option" | "PunishStruggle" | "PunishStruggleOther" | "PunishOrgasm" | "PunishStandup" | "PunishSpeech" | "PunishRequiredSpeech" | "PunishRequiredSpeechWord" | "PunishProhibitedSpeech" | "PunishProhibitedSpeechWords" | "NextShockTime" | "PublicModeCurrent" | "PublicModePermission" | "TriggerValues" | "AccessMode" | "ShockLevel" | "InsertedBeads" | "ShowText" | "TriggerCount" | "Iterations" | "Revert" | "UnHide" | "Texts" | "TargetAngle" | "PortalLinkCode" | "Underwear" | "Description" | "Group" | "ParentGroupName" | "WearTime" | "DrawingPriority" | "DrawingLeft" | "DrawingTop" | "ZoomModifier" | "ColorableLayerCount" | "AllowTint" | "Family" | "Asset" | "IsDefault" | "AllowNone" | "AllowCustomize" | "ColorSchema" | "ParentSize" | "ParentColor" | "Clothing" | "Zone" | "MirrorGroup" | "DrawingFullAlpha" | "DrawingBlink" | "PreviewZone" | "MirrorActivitiesFrom" | "HasPreviewImages" | "IsAppearance" | "IsItem" | "IsScript">(Item: Item, PropertyName: Name, CheckGroup?: boolean): (ItemProperties & Asset & AssetGroup)[Name];
291
+ /**
292
+ * Apply an item's expression trigger to a character if able
293
+ * @param {Character} C - The character to update
294
+ * @param {readonly ExpressionTrigger[]} expressions - The expression change to apply to each group
295
+ */
296
+ declare function InventoryExpressionTriggerApply(C: Character, expressions: readonly ExpressionTrigger[]): void;
297
+ /**
298
+ * Returns the padlock item that locks another item
299
+ * @param {Item} Item - The item from appearance that must be scanned
300
+ * @returns {Item} - A padlock item or NULL if none
301
+ */
302
+ declare function InventoryGetLock(Item: Item): Item;
303
+ /**
304
+ * Returns TRUE if the item has an OwnerOnly flag, such as the owner padlock
305
+ * @param {Item} Item - The item from appearance that must be scanned
306
+ * @returns {Boolean} - TRUE if owner only
307
+ */
308
+ declare function InventoryOwnerOnlyItem(Item: Item): boolean;
309
+ /**
310
+ * Returns TRUE if the item has a LoverOnly flag, such as the lover padlock
311
+ * @param {Item} Item - The item from appearance that must be scanned
312
+ * @returns {Boolean} - TRUE if lover only
313
+ */
314
+ declare function InventoryLoverOnlyItem(Item: Item): boolean;
315
+ /**
316
+ * Returns TRUE if the item has a FamilyOnly flag, such as the D/s family padlock
317
+ * @param {Item} Item - The item from appearance that must be scanned
318
+ * @returns {Boolean} - TRUE if family only
319
+ */
320
+ declare function InventoryFamilyOnlyItem(Item: Item): boolean;
321
+ /**
322
+ * Returns TRUE if the character is wearing at least one restraint that's locked with an extra lock
323
+ * @param {Character} C - The character to scan
324
+ * @returns {Boolean} - TRUE if one restraint with an extra lock is found
325
+ */
326
+ declare function InventoryCharacterHasLockedRestraint(C: Character): boolean;
327
+ /**
328
+ *
329
+ * @param {Character} C - The character to scan
330
+ * @param {AssetLockType} LockName - The type of lock to check for
331
+ * @returns {Boolean} - Returns TRUE if any item has the specified lock locked onto it
332
+ */
333
+ declare function InventoryCharacterIsWearingLock(C: Character, LockName: AssetLockType): boolean;
334
+ /**
335
+ * Returns TRUE if the character is wearing at least one item that's a restraint with a OwnerOnly flag, such as the
336
+ * owner padlock
337
+ * @param {Character} C - The character to scan
338
+ * @returns {Boolean} - TRUE if one owner only restraint is found
339
+ */
340
+ declare function InventoryCharacterHasOwnerOnlyRestraint(C: Character): boolean;
341
+ /**
342
+ * Returns TRUE if the character is wearing at least one item that's a restraint with a LoverOnly flag, such as the
343
+ * lover padlock
344
+ * @param {Character} C - The character to scan
345
+ * @returns {Boolean} - TRUE if one lover only restraint is found
346
+ */
347
+ declare function InventoryCharacterHasLoverOnlyRestraint(C: Character): boolean;
348
+ /**
349
+ * Returns TRUE if the character is wearing at least one item that's a restraint with a FamilyOnly flag
350
+ * @param {Character} C - The character to scan
351
+ * @returns {Boolean} - TRUE if one family only restraint is found
352
+ */
353
+ declare function InventoryCharacterHasFamilyOnlyRestraint(C: Character): boolean;
354
+ /**
355
+ * Returns TRUE if at least one item on the character can be locked
356
+ * @param {Character} C - The character to scan
357
+ * @returns {Boolean} - TRUE if at least one item can be locked
358
+ */
359
+ declare function InventoryHasLockableItems(C: Character): boolean;
360
+ /**
361
+ * Determines whether an item in its current state permits locks.
362
+ * @param {Item} item - The item to check
363
+ * @returns {boolean} - TRUE if the asset's current type permits locks
364
+ */
365
+ declare function InventoryDoesItemAllowLock(item: Item): boolean;
366
+ /**
367
+ * Applies a lock to an appearance item of a character
368
+ * @param {Character} C - The character on which the lock must be applied
369
+ * @param {Item|AssetGroupName} Item - The item from appearance to lock
370
+ * @param {Item|AssetLockType} Lock - The asset of the lock or the name of the lock asset
371
+ * @param {null|number|string} [MemberNumber] - The member number to put on the lock, or message to show
372
+ * @param {boolean} [Update=true] - Whether or not to update the character
373
+ */
374
+ declare function InventoryLock(C: Character, Item: Item | AssetGroupName, Lock: Item | AssetLockType, MemberNumber?: null | number | string, Update?: boolean): void;
375
+ /**
376
+ * Unlocks an item and removes all related properties
377
+ * @param {Character} C - The character on which the item must be unlocked
378
+ * @param {Item|AssetGroupItemName} Item - The item from appearance to unlock
379
+ */
380
+ declare function InventoryUnlock(C: Character, Item: Item | AssetGroupItemName): void;
381
+ /**
382
+ * Applies a random lock on an item
383
+ * @param {Character} C - The character on which the item must be locked
384
+ * @param {Item} Item - The item from appearance to lock
385
+ * @param {Boolean} FromOwner - Set to TRUE if the source is the owner, to apply owner locks
386
+ */
387
+ declare function InventoryLockRandom(C: Character, Item: Item, FromOwner: boolean): void;
388
+ /**
389
+ * Applies random locks on each character items that can be locked
390
+ * @param {Character} C - The character on which the items must be locked
391
+ * @param {Boolean} FromOwner - Set to TRUE if the source is the owner, to apply owner locks
392
+ */
393
+ declare function InventoryFullLockRandom(C: Character, FromOwner: boolean): void;
394
+ /**
395
+ * Applies a specific lock on each character items that can be locked
396
+ * @param {Character} C - The character on which the items must be locked
397
+ * @param {AssetLockType} LockType - The lock type to apply
398
+ */
399
+ declare function InventoryFullLock(C: Character, LockType: AssetLockType): void;
400
+ /**
401
+ * Removes all common keys from the player inventory
402
+ */
403
+ declare function InventoryConfiscateKey(): void;
404
+ /**
405
+ * Removes the remotes of the vibrators from the player inventory
406
+ */
407
+ declare function InventoryConfiscateRemote(): void;
408
+ /**
409
+ * Returns TRUE if the item is worn by the character
410
+ * @param {Character} C - The character to scan
411
+ * @param {String} AssetName - The asset / item name to scan
412
+ * @param {AssetGroupName} AssetGroup - The asset group name to scan
413
+ * @returns {Boolean} - TRUE if item is worn
414
+ */
415
+ declare function InventoryIsWorn(C: Character, AssetName: string, AssetGroup: AssetGroupName): boolean;
416
+ /**
417
+ * Toggles an item's permission for the player
418
+ * @param {Item} Item - Appearance item to toggle
419
+ * @param {string} [Type] - Type of the item to toggle
420
+ * @param {boolean} [Worn] - True if the player is changing permissions for an item they're wearing or if it's the first option
421
+ * @returns {void} - Nothing
422
+ */
423
+ declare function InventoryTogglePermission(Item: Item, Type?: string, Worn?: boolean): void;
424
+ /**
425
+ * Returns TRUE if a specific item / asset is blocked by the character item permissions
426
+ * @param {Character} C - The character on which we check the permissions
427
+ * @param {string} AssetName - The asset / item name to scan
428
+ * @param {AssetGroupName} AssetGroup - The asset group name to scan
429
+ * @param {string} [AssetType] - The asset type to scan
430
+ * @returns {boolean} - TRUE if asset / item is blocked
431
+ */
432
+ declare function InventoryIsPermissionBlocked(C: Character, AssetName: string, AssetGroup: AssetGroupName, AssetType?: string): boolean;
433
+ /**
434
+ * Returns TRUE if a specific item / asset is favorited by the character item permissions
435
+ * @param {Character} C - The character on which we check the permissions
436
+ * @param {string} AssetName - The asset / item name to scan
437
+ * @param {AssetGroupName} AssetGroup - The asset group name to scan
438
+ * @param {string} [AssetType] - The asset type to scan
439
+ * @returns {boolean} - TRUE if asset / item is a favorite
440
+ */
441
+ declare function InventoryIsFavorite(C: Character, AssetName: string, AssetGroup: AssetGroupName, AssetType?: string): boolean;
442
+ /**
443
+ * Returns TRUE if a specific item / asset is limited by the character item permissions
444
+ * @param {Character} C - The character on which we check the permissions
445
+ * @param {string} AssetName - The asset / item name to scan
446
+ * @param {AssetGroupName} AssetGroup - The asset group name to scan
447
+ * @param {string} [AssetType] - The asset type to scan
448
+ * @returns {boolean} - TRUE if asset / item is limited
449
+ */
450
+ declare function InventoryIsPermissionLimited(C: Character, AssetName: string, AssetGroup: AssetGroupName, AssetType?: string): boolean;
451
+ /**
452
+ * Returns TRUE if the item is not limited, if the player is an owner or a lover of the character, or on their whitelist
453
+ * @param {Character} C - The character on which we check the limited permissions for the item
454
+ * @param {Item} Item - The item being interacted with
455
+ * @param {String} [ItemType] - The asset type to scan
456
+ * @returns {Boolean} - TRUE if item is allowed
457
+ */
458
+ declare function InventoryCheckLimitedPermission(C: Character, Item: Item, ItemType?: string): boolean;
459
+ /**
460
+ * Returns TRUE if a specific item / asset is blocked or limited for the player by the character item permissions
461
+ * @param {Character} C - The character on which we check the permissions
462
+ * @param {Item} Item - The item being interacted with
463
+ * @param {string | null} [ItemType] - The asset type to scan
464
+ * @returns {Boolean} - Returns TRUE if the item cannot be used
465
+ */
466
+ declare function InventoryBlockedOrLimited(C: Character, Item: Item, ItemType?: string | null): boolean;
467
+ /**
468
+ * Determines whether a given item is an allowed limited item for the player (i.e. has limited permissions, but can be
469
+ * used by the player)
470
+ * @param {Character} C - The character whose permissions to check
471
+ * @param {Item} item - The item to check
472
+ * @param {string | undefined} [type] - the item type to check
473
+ * @returns {boolean} - Returns TRUE if the given item & type is limited but allowed for the player
474
+ */
475
+ declare function InventoryIsAllowedLimited(C: Character, item: Item, type?: string | undefined): boolean;
476
+ /**
477
+ * Returns TRUE if the item is a key, having the effect of unlocking other items
478
+ * @param {Item} Item - The item to validate
479
+ * @returns {Boolean} - TRUE if item is a key
480
+ */
481
+ declare function InventoryIsKey(Item: Item): boolean;
482
+ /**
483
+ * Serialises the provided character's inventory into a string for easy comparisons, inventory items are uniquely
484
+ * identified by their name and group
485
+ * @param {Character} C - The character whose inventory we should serialise
486
+ * @return {string} - A simple string representation of the character's inventory
487
+ */
488
+ declare function InventoryStringify(C: Character): string;
489
+ /**
490
+ * Returns TRUE if the inventory category is blocked in the current chat room
491
+ * @param {readonly ChatRoomBlockCategory[]} Category - An array of string containing all the categories to validate
492
+ * @return {boolean} - TRUE if it's blocked
493
+ */
494
+ declare function InventoryChatRoomAllow(Category: readonly ChatRoomBlockCategory[]): boolean;
495
+ /**
496
+ * Applies a preset expression from being shocked to the character if able
497
+ * @param {Character} C - The character to update
498
+ * @returns {void} - Nothing
499
+ */
500
+ declare function InventoryShockExpression(C: Character): void;
501
+ /**
502
+ * Extracts all lock-related properties from an item's property object
503
+ * @param {ItemProperties} property - The property object to extract from
504
+ * @returns {ItemProperties} - A property object containing only the lock-related properties from the provided property
505
+ * object
506
+ */
507
+ declare function InventoryExtractLockProperties(property: ItemProperties): ItemProperties;
508
+ declare const PropertiesArrayLike: Set<string>;
509
+ declare const PropertiesObjectLike: Set<string>;