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,339 @@
1
+ /**
2
+ * @template {any[]} T
3
+ * @template RT
4
+ * @param {ExtendedItemData<any>} data
5
+ * @param {string} name
6
+ * @param {null | ExtendedItemCallback<T, RT>} originalFunction
7
+ */
8
+ declare function ExtendedItemCreateCallback<T extends any[], RT>(data: ExtendedItemData<any>, name: string, originalFunction: ExtendedItemCallback<T, RT>): void;
9
+ /**
10
+ * Construct the extended item's archetypical callbacks and place them in the main namespace.
11
+ * @template {ExtendedItemOption} T
12
+ * @param {ExtendedItemData<T>} data - The extended item data
13
+ * @param {ExtendedItemCallbackStruct<T>} defaults - The default archetypical callbacks
14
+ */
15
+ declare function ExtendedItemCreateCallbacks<T extends ExtendedItemOption>(data: ExtendedItemData<T>, defaults: ExtendedItemCallbackStruct<T>): void;
16
+ /**
17
+ * Convert that passed extended item config script hooks into their item data counterpart.
18
+ * @template {ExtendedItemData<any>} DataType
19
+ * @template {ExtendedItemOption} OptionType
20
+ * @param {ExtendedItemCapsScriptHooksStruct<DataType, OptionType>} scriptHooks - The extended item config script hooks
21
+ * @returns {ExtendedItemScriptHookStruct<DataType, OptionType>} - The extended item data script hooks
22
+ */
23
+ declare function ExtendedItemParseScriptHooks<DataType extends ExtendedItemData<any>, OptionType extends ExtendedItemOption>(scriptHooks: ExtendedItemCapsScriptHooksStruct<DataType, OptionType>): ExtendedItemScriptHookStruct<DataType, OptionType>;
24
+ /**
25
+ * Initialize the extended item properties
26
+ * @param {Item} Item - The item in question
27
+ * @param {Character} C - The character that has the item equiped
28
+ * @param {boolean} Refresh - Whether the character and relevant item should be refreshed
29
+ * @returns {boolean} Whether properties were updated or not
30
+ */
31
+ declare function ExtendedItemInit(C: Character, Item: Item, Refresh?: boolean): boolean;
32
+ /**
33
+ * Helper init function for extended items without an archetype.
34
+ * Note that on the long term this function should ideally be removed in favor of adding appropriate archetypes.
35
+ * @param {Item} Item - The item in question
36
+ * @param {Character} C - The character that has the item equiped
37
+ * @param {ItemProperties} Properties - A record that maps property keys to their default value.
38
+ * The type of each value is used for basic validation.
39
+ * @param {boolean} Refresh - Whether the character and relevant item should be refreshed
40
+ * @returns {boolean} Whether properties were updated or not
41
+ */
42
+ declare function ExtendedItemInitNoArch(C: Character, Item: Item, Properties: ItemProperties, Refresh?: boolean): boolean;
43
+ /**
44
+ * Loads the item's extended item menu
45
+ * @param {ExtendedItemData<any>} data
46
+ * @returns {void} Nothing
47
+ */
48
+ declare function ExtendedItemLoad({ functionPrefix, dialogPrefix, parentOption }: ExtendedItemData<any>): void;
49
+ /**
50
+ * Draw a single button in the extended item type selection screen.
51
+ * @param {ExtendedItemOption | ModularItemModule} Option - The new extended item option
52
+ * @param {ExtendedItemOption} CurrentOption - The current extended item option
53
+ * @param {ElementData<ElementMetaData>} buttonData - The X coordinate of the button
54
+ * @param {string} DialogPrefix - The prefix to the dialog keys for the display strings describing each extended type.
55
+ * The full dialog key will be <Prefix><Option.Name>
56
+ * @param {Item} Item - The item in question; defaults to {@link DialogFocusItem}
57
+ * @param {boolean | null} IsSelected - Whether the button is already selected or not. If `null` compute this value by checking if the item's current type matches `Option`.
58
+ * @see {@link TypedItemDraw}
59
+ */
60
+ declare function ExtendedItemDrawButton(Option: ExtendedItemOption | ModularItemModule, CurrentOption: ExtendedItemOption, DialogPrefix: string, buttonData: ElementData<ElementMetaData>, Item?: Item, IsSelected?: boolean | null): void;
61
+ /**
62
+ * Determine the background color for the item option's button
63
+ * @param {Character} C - The character wearing the item
64
+ * @param {ExtendedItemOption | ModularItemModule} Option - A type for the extended item
65
+ * @param {ExtendedItemOption} CurrentOption - The currently selected option for the item
66
+ * @param {boolean} Hover - TRUE if the mouse cursor is on the button
67
+ * @param {boolean} IsSelected - TRUE if the item's current type matches Option
68
+ * @param {Item} Item - The item in question; defaults to {@link DialogFocusItem}
69
+ * @returns {string} The name or hex code of the color
70
+ */
71
+ declare function ExtendedItemGetButtonColor(C: Character, Option: ExtendedItemOption | ModularItemModule, CurrentOption: ExtendedItemOption, Hover: boolean, IsSelected: boolean, Item?: Item): string;
72
+ /**
73
+ * Exit function for the extended item dialog.
74
+ *
75
+ * This function will check if there's an extended subscreen and unload it to move back
76
+ * to the main extended subscreen, or unload the whole extended subscreen and unfocus the item.
77
+ *
78
+ * It will cleanup the shared state from extended screens appropriately, call their unload (Exit)
79
+ * callback, and set either {@link DialogFocusItem} or {@link ExtendedItemSubscreen} back to `null`.
80
+ *
81
+ * Note that you shouldn't need to call this function directly. The correct way to "exit" from an
82
+ * extended item is to call {@link DialogLeaveFocusItem}, which will call this and refresh the dialog
83
+ * UI.
84
+ * @returns {void} - Nothing
85
+ */
86
+ declare function ExtendedItemExit(): void;
87
+ /**
88
+ * Sets a typed item's type and properties to the option provided.
89
+ * @param {Character} C - The character on whom the item is equipped
90
+ * @param {Item} item - The item whose type to set
91
+ * @param {ItemProperties} previousProperty - The typed item options for the item
92
+ * @param {ItemProperties} newProperty - The option to set
93
+ * @param {boolean} [push] - Whether or not appearance updates should be persisted (only applies if the character is the
94
+ * player) - defaults to false.
95
+ * @returns {void} Nothing
96
+ */
97
+ declare function ExtendedItemSetProperty(C: Character, item: Item, previousProperty: ItemProperties, newProperty: ItemProperties, push?: boolean): void;
98
+ /**
99
+ * Checks whether the character meets the requirements for an extended type option. This will check against their Bondage
100
+ * skill if applying the item to another character, or their Self Bondage skill if applying the item to themselves.
101
+ * @template {ExtendedItemOption} T
102
+ * @param {null | ExtendedItemData<T>} data
103
+ * @param {Character} C - The character in question
104
+ * @param {Item} item - The item in question
105
+ * @param {T} Option - The selected type definition
106
+ * @param {T} CurrentOption - The current type definition
107
+ * @param {boolean} permitExisting - Determines whether the validation should allow the new option and previous option
108
+ * to be identical. Defaults to false.
109
+ * @returns {string|null} null if the player meets the option requirements. Otherwise a string message informing them
110
+ * of the requirements they do not meet
111
+ */
112
+ declare function ExtendedItemRequirementCheckMessage<T extends ExtendedItemOption>(data: ExtendedItemData<T>, C: Character, item: Item, Option: T, CurrentOption: T, permitExisting?: boolean): string | null;
113
+ /**
114
+ * Checks whether the player is able to select an option based on it's self-selection criteria (whether or not the
115
+ * wearer may select the option)
116
+ * @param {Character} C - The character on whom the bondage is applied
117
+ * @param {ExtendedItemOption} Option - The option whose requirements should be checked against
118
+ * @returns {string | undefined} - undefined if the
119
+ */
120
+ declare function ExtendedItemCheckSelfSelect(C: Character, Option: ExtendedItemOption): string | undefined;
121
+ /**
122
+ * Checks whether the player meets an option's self-bondage/bondage skill level requirements
123
+ * @param {Character} C - The character on whom the bondage is applied
124
+ * @param {Item} Item - The item whose options are being checked
125
+ * @param {ExtendedItemOption} Option - The option whose requirements should be checked against
126
+ * @returns {string|undefined} - undefined if the player meets the option's skill level requirements. Otherwise returns
127
+ * a string message informing them of the requirements they do not meet.
128
+ */
129
+ declare function ExtendedItemCheckSkillRequirements(C: Character, Item: Item, Option: ExtendedItemOption): string | undefined;
130
+ /**
131
+ * Checks whether the character meets an option's required bought items
132
+ * @param {ExtendedItemOption} Option - The option being checked
133
+ * @returns {string|undefined} undefined if the requirement is met, otherwise the error message
134
+ */
135
+ declare function ExtendedItemCheckBuyGroups(Option: ExtendedItemOption): string | undefined;
136
+ /**
137
+ * Checks whether a change from the given current option to the newly selected option is valid.
138
+ * @template {ExtendedItemOption} T
139
+ * @param {null | ExtendedItemData<T>} data - The extended item data
140
+ * @param {Character} C - The character wearing the item
141
+ * @param {Item} Item - The extended item to validate
142
+ * @param {T} newOption - The selected option
143
+ * @param {T} previousOption - The currently applied option on the item
144
+ * @param {boolean} [permitExisting] - Determines whether the validation should allow the new option and previous option
145
+ * to be identical. Defaults to false.
146
+ * @returns {string} - Returns a non-empty message string if the item failed validation, or an empty string otherwise
147
+ */
148
+ declare function ExtendedItemValidate<T extends ExtendedItemOption>(data: ExtendedItemData<T>, C: Character, Item: Item, newOption: T, previousOption: T, permitExisting?: boolean): string;
149
+ /**
150
+ * Simple getter for the function prefix used for the passed extended item - used for calling standard
151
+ * extended item functions (e.g. if the currently focused it is the hemp rope arm restraint, this will return
152
+ * "InventoryItemArmsHempRope", allowing functions like InventoryItemArmsHempRopeLoad to be called)
153
+ * @param {Item} Item - The extended item in question; defaults to {@link DialogFocusItem}
154
+ * @returns {string} The extended item function prefix for the currently focused item
155
+ */
156
+ declare function ExtendedItemFunctionPrefix(Item?: Item): string;
157
+ /**
158
+ * Simple getter for the key of the currently focused extended item in the ExtendedItemOffsets lookup
159
+ * @returns {string} The offset lookup key for the currently focused extended item
160
+ */
161
+ declare function ExtendedItemOffsetKey(): string;
162
+ /**
163
+ * Gets the pagination offset of the currently focused extended item
164
+ * @returns {number} The pagination offset for the currently focused extended item
165
+ */
166
+ declare function ExtendedItemGetOffset(): number;
167
+ /**
168
+ * Sets the pagination offset for the currently focused extended item
169
+ * @param {number} Offset - The new offset to set
170
+ * @returns {void} Nothing
171
+ */
172
+ declare function ExtendedItemSetOffset(Offset: number): void;
173
+ /**
174
+ * Maps a chat tag to a dictionary entry for use in item chatroom messages.
175
+ * @param {DictionaryBuilder} dictionary - The to-be updated dictionary builder
176
+ * @param {Character} C - The target character
177
+ * @param {Item} item - The typed item
178
+ * @param {CommonChatTags} tag - The tag to map to a dictionary entry
179
+ * @returns {DictionaryBuilder} - The originally passed dictionary builder, modified inplace
180
+ */
181
+ declare function ExtendedItemMapChatTagToDictionaryEntry(dictionary: DictionaryBuilder, C: Character, { Asset, Craft }: Item, tag: CommonChatTags): DictionaryBuilder;
182
+ /**
183
+ * Construct an array of inventory icons for a given asset and type
184
+ * @param {Character} C - The target character
185
+ * @param {Asset} Asset - The asset for the typed item
186
+ * @param {string | null} Type - The type of the asse
187
+ * @param {readonly EffectName[]} [Effects]
188
+ * @returns {InventoryIcon[]} - The inventory icons
189
+ */
190
+ declare function ExtendItemGetIcons(C: Character, Asset: Asset, Type?: string | null, Effects?: readonly EffectName[]): InventoryIcon[];
191
+ /**
192
+ * Creates an asset's extended item NPC dialog function
193
+ * @param {Asset} Asset - The asset for the typed item
194
+ * @param {string} FunctionPrefix - The prefix of the new `NpcDialog` function
195
+ * @param {string | ExtendedItemNPCCallback<ExtendedItemOption>} NpcPrefix - A dialog prefix or a function for creating one
196
+ * @returns {void} - Nothing
197
+ */
198
+ declare function ExtendedItemCreateNpcDialogFunction(Asset: Asset, FunctionPrefix: string, NpcPrefix: string | ExtendedItemNPCCallback<ExtendedItemOption>): void;
199
+ /**
200
+ * Helper click function for creating custom buttons, including extended item permission support.
201
+ * @param {string} Name - The name of the button and its pseudo-type
202
+ * @param {number} X - The X coordinate of the button
203
+ * @param {number} Y - The Y coordinate of the button
204
+ * @param {string | null} imagePath — The pa
205
+ * @param {boolean} IsSelected - Whether the button is selected or not
206
+ * @returns {void} Nothing
207
+ */
208
+ declare function ExtendedItemCustomDraw(Name: string, X: number, Y: number, imagePath?: string | null, IsSelected?: boolean): void;
209
+ /**
210
+ * Helper click function for creating custom buttons, including extended item permission support.
211
+ * @param {string} Name - The name of the button and its pseudo-type
212
+ * @param {() => void} Callback - A callback to be executed whenever the button is clicked and all requirements are met
213
+ * @param {boolean} Worn - `true` if the player is changing permissions for an item they're wearing
214
+ * @returns {boolean} `false` if the item's requirement check failed and `true` otherwise
215
+ */
216
+ declare function ExtendedItemCustomClick(Name: string, Callback: () => void, Worn?: boolean): boolean;
217
+ /**
218
+ * Helper publish + exit function for creating custom buttons whose clicks exit the dialog menu.
219
+ *
220
+ * If exiting the dialog menu is undesirable then something akin to the following example should be used instead:
221
+ * @example
222
+ * if (ServerPlayerIsInChatRoom()) {
223
+ * ChatRoomPublishCustomAction(Name, false, Dictionary);
224
+ * }
225
+ * @param {string} Name - Tag of the action to send
226
+ * @param {ChatMessageDictionary | null} Dictionary - Dictionary of tags and data to send to the room (if any).
227
+ * @returns {void} Nothing
228
+ */
229
+ declare function ExtendedItemCustomExit(Name: string, Dictionary?: ChatMessageDictionary | null): void;
230
+ /**
231
+ * Common draw function for drawing the header of the extended item menu screen.
232
+ * Automatically applies any Locked and/or Vibrating options to the preview.
233
+ * @param {number} X - Position of the preview box on the X axis
234
+ * @param {number} Y - Position of the preview box on the Y axis
235
+ * @param {Item} Item - The item for whom the preview box should be drawn
236
+ * @returns {void} Nothing
237
+ */
238
+ declare function ExtendedItemDrawHeader(X?: number, Y?: number, Item?: Item): void;
239
+ /**
240
+ * Extract the passed item's data from one of the extended item lookup tables
241
+ * @template {ExtendedArchetype} Archetype
242
+ * @param {Asset} asset - The item whose data should be extracted
243
+ * @param {Archetype} Archetype - The archetype corresponding to the lookup table
244
+ * @param {string} Type - The item's type. Only relevant in the case of {@link VariableHeightData}
245
+ * @returns {null | ExtendedDataLookupStruct[Archetype]} The item's data or `null` if the lookup failed
246
+ */
247
+ declare function ExtendedItemGetData<Archetype extends ExtendedArchetype>(asset: Asset, Archetype: Archetype, Type?: string): ExtendedDataLookupStruct[Archetype];
248
+ /**
249
+ * Constructs the chat message dictionary for the extended item based on the items configuration data.
250
+ * @template {ExtendedItemOption} OptionType
251
+ * @param {ExtendedItemChatData<OptionType>} chatData - The chat data that triggered the message.
252
+ * @param {ExtendedItemData<OptionType>} data - The extended item data for the asset
253
+ * @param {Item} item
254
+ * @returns {DictionaryBuilder} - The dictionary for the item based on its required chat tags
255
+ */
256
+ declare function ExtendedItemBuildChatMessageDictionary<OptionType extends ExtendedItemOption>(chatData: ExtendedItemChatData<OptionType>, { chatTags, dictionary }: ExtendedItemData<OptionType>, item: Item): DictionaryBuilder;
257
+ /**
258
+ * Return {@link ExtendedItemDialog.chat} if it's a string or call it using chat data based on a fictional extended item option.
259
+ * Generally used for getting a chat prefix for extended item buttons with custom functionality.
260
+ * @param {string} Name - The name of the pseudo-type
261
+ * @param {ExtendedItemData} Data - The extended item data
262
+ * @returns {string} The dialogue prefix for the custom chatroom messages
263
+ */
264
+ declare function ExtendedItemCustomChatPrefix(Name: string, Data: ExtendedItemData<any>): string;
265
+ /**
266
+ * Gather and return all subscreen properties of the passed option.
267
+ * @param {Item} item - The item in question
268
+ * @param {ExtendedItemOption} option - The extended item option
269
+ * @returns {ItemProperties} - The item properties of the option's subscreen (if any)
270
+ */
271
+ declare function ExtendedItemGatherSubscreenProperty(item: Item, option: ExtendedItemOption): ItemProperties;
272
+ /**
273
+ * Sets an extended item's type and properties to the option provided.
274
+ * @template {ModularItemOption | TypedItemOption | VibratingItemOption} OptionType
275
+ * @param {ModularItemData | TypedItemData | VibratingItemData} data - The extended item data
276
+ * @param {Character} C - The character on whom the item is equipped
277
+ * @param {Item} item - The item whose type to set
278
+ * @param {OptionType} newOption - The to-be applied extended item option
279
+ * @param {OptionType} previousOption - The previously applied extended item option
280
+ * @param {boolean} [push] - Whether or not appearance updates should be persisted (only applies if the character is the
281
+ * player) - defaults to false.
282
+ */
283
+ declare function ExtendedItemSetOption<OptionType extends TypedItemOption | ModularItemOption | VibratingItemOption>(data: ModularItemData | TypedItemData | VibratingItemData, C: Character, item: Item, newOption: OptionType, previousOption: OptionType, push?: boolean): void;
284
+ /** A temporary hack for registering extra archetypes for a single screen. */
285
+ declare function ExtendedItemManualRegister(): void;
286
+ /**
287
+ * Parse the passed draw data as passed via the extended item config
288
+ * @template {ElementMetaData} MetaData
289
+ * @param {ExtendedItemConfigDrawData<Partial<MetaData>> | undefined} drawData - The to-be parsed draw data
290
+ * @param {Pick<ExtendedItemDrawData<MetaData>, "elementData" | "itemsPerPage">} defaults - The default draw data
291
+ * @return {ExtendedItemDrawData<MetaData>} - The parsed draw data
292
+ */
293
+ declare function ExtendedItemGetDrawData<MetaData extends ElementMetaData>(drawData: ExtendedItemConfigDrawData<Partial<MetaData>>, defaults: Pick<ExtendedItemDrawData<MetaData>, "elementData" | "itemsPerPage">): ExtendedItemDrawData<MetaData>;
294
+ /**
295
+ * Utility file for handling extended items
296
+ */
297
+ /**
298
+ * A lookup for the current pagination offset for all extended item options. Offsets are only recorded if the extended
299
+ * item requires pagination. Example format:
300
+ * ```json
301
+ * {
302
+ * "ItemArms/HempRope": 4,
303
+ * "ItemArms/Web": 0
304
+ * }
305
+ * ```
306
+ * @type {Record<string, number>}
307
+ * @constant
308
+ */
309
+ declare var ExtendedItemOffsets: Record<string, number>;
310
+ /**
311
+ * The X & Y co-ordinates of each option's button, based on the number to be displayed per page.
312
+ * @type {[number, number][][]}
313
+ */
314
+ declare const ExtendedXY: [number, number][][];
315
+ /**
316
+ * The X & Y co-ordinates of each option's button, based on the number to be displayed per page.
317
+ * @type {[number, number][][]}
318
+ */
319
+ declare const ExtendedXYWithoutImages: [number, number][][];
320
+ /**
321
+ * The X & Y co-ordinates of each option's button, based on the number to be displayed per page.
322
+ * @type {[number, number][][]}
323
+ */
324
+ declare const ExtendedXYClothes: [number, number][][];
325
+ /** Memoization of the requirements check */
326
+ declare const ExtendedItemRequirementCheckMessageMemo: MemoizedFunction<typeof ExtendedItemRequirementCheckMessage>;
327
+ /**
328
+ * The current display mode
329
+ * @type {boolean}
330
+ */
331
+ declare var ExtendedItemPermissionMode: boolean;
332
+ /**
333
+ * Tracks whether a selected option's subscreen is active - if active, the value is the name of the current subscreen's
334
+ * corresponding option
335
+ * @type {string|null}
336
+ */
337
+ declare var ExtendedItemSubscreen: string | null;
338
+ /** @type {(item: Item) => ExtendedItemOption[]} */
339
+ declare function ExtendedItemGatherOptions(item: Item): ExtendedItemOption[];
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Setup WebGL rendering
3
+ *
4
+ * This will create a drawing canvas and try to initialize it for GL rendering.
5
+ * In case of failure, or if the fallback is required, it will disable GL
6
+ * rendering entirely, switching back to the normal canvas-based rendering
7
+ * (see Drawing.js).
8
+ *
9
+ * @param {Event} _evt - Unused DOM event
10
+ * @param {boolean} [force2d] - Whether to force a fallback to 2d mode
11
+ * @returns {void} - Nothing
12
+ */
13
+ declare function GLDrawLoad(_evt: Event, force2d?: boolean): void;
14
+ /**
15
+ * Loads the graphical options from localSstorage.
16
+ * @returns {WebGLContextAttributes} - WebGL context attributes based on saved settings
17
+ */
18
+ declare function GLDrawGetOptions(): WebGLContextAttributes;
19
+ /**
20
+ * Saves the graphical options in localStorage.
21
+ * @param {WebGLContextAttributes} options - WebGL context attributes based on saved settings
22
+ */
23
+ declare function GLDrawSetOptions(options: WebGLContextAttributes): void;
24
+ /**
25
+ * Handler for WebGL context lost events
26
+ * @param {WebGLContextEvent} event
27
+ * @returns {void} - Nothing
28
+ */
29
+ declare function GLDrawOnContextLost(event: WebGLContextEvent): void;
30
+ /**
31
+ * Disables GLDraw rendering, and cleans up any resources.
32
+ * @returns {void} - Nothing
33
+ */
34
+ declare function GLDrawRevertToCanvas2D(): void;
35
+ /**
36
+ * Handler for WebGL context restored events
37
+ * @returns {void} - Nothing
38
+ */
39
+ declare function GLDrawOnContextRestored(): void;
40
+ /**
41
+ * Resets the GLDraw renderer
42
+ *
43
+ * This function removes the current canvas, removes cached textures from the
44
+ * image cache, and reloads a fresh canvas unless prevented.
45
+ * @returns {void} - Nothing
46
+ */
47
+ declare function GLDrawResetCanvas(force2d?: boolean): void;
48
+ /**
49
+ * Rebuilds the canvas for any characters that are currently on screen.
50
+ * @returns {void} - Nothing
51
+ */
52
+ declare function GLDrawRebuildCharacters(): void;
53
+ /**
54
+ * Makes all programs and shaders on the GL context
55
+ * @param {WebGL2RenderingContext} gl - The WebGL context of the canvas
56
+ * @returns {void} - Nothing
57
+ */
58
+ declare function GLDrawMakeGLProgram(gl: WebGL2RenderingContext): void;
59
+ /**
60
+ * Creates a shader for the current WebGL context from a given source
61
+ * @param {WebGL2RenderingContext} gl - WebGL context
62
+ * @param {string} source - Source of the shader to create
63
+ * @param {GLenum} type - The type of the shader to create
64
+ * @returns {WebGLShader} - The created WebGL shader
65
+ */
66
+ declare function GLDrawCreateShader(gl: WebGL2RenderingContext, source: string, type: GLenum): WebGLShader;
67
+ /**
68
+ * Creates the WebGL program from the vertex and fragment shaders
69
+ * @param {WebGL2RenderingContext} gl - WebGL context
70
+ * @param {WebGLShader} vertexShader - The vertex shader to create the program with
71
+ * @param {WebGLShader} fragmentShader - The fragment shader to create the program with
72
+ * @returns {WebGLProgram} - The created WebGL program
73
+ */
74
+ declare function GLDrawCreateProgram(gl: WebGL2RenderingContext, vertexShader: WebGLShader, fragmentShader: WebGLShader): WebGLProgram;
75
+ /**
76
+ * Draws an image from a given url to a WebGLRenderingContext
77
+ * @param {string} url - URL of the image to render
78
+ * @param {WebGL2RenderingContext} gl - WebGL context
79
+ * @param {number} dstX - Position of the image on the X axis
80
+ * @param {number} dstY - Position of the image on the Y axis
81
+ * @param {number} offsetX - Additional offset to add to the X axis (for blinking)
82
+ * @param {string} color - Color of the image to draw
83
+ * @param {boolean} fullAlpha - Whether or not the full alpha should be rendered
84
+ * @param {RectTuple[]} alphaMasks - A list of alpha masks to apply to the asset
85
+ * @param {number} [opacity=1] - The opacity at which to draw the image
86
+ * @param {boolean} [rotate=false] - If the image should be rotated by 180 degrees
87
+ * @param {GlobalCompositeOperation} [blendingMode="source-over"] - blending mode for drawing the image
88
+ * @returns {void} - Nothing
89
+ */
90
+ declare function GLDrawImage(url: string, gl: WebGL2RenderingContext, dstX: number, dstY: number, offsetX: number, color: string, fullAlpha: boolean, alphaMasks: RectTuple[], opacity?: number, rotate?: boolean, blendingMode?: GlobalCompositeOperation): void;
91
+ /**
92
+ * Chooses right program using input parameters
93
+ * @param {WebGL2RenderingContext} gl - WebGL context
94
+ * @param {string} color - Color of the image to draw
95
+ * @param {boolean} fullAlpha - Whether or not the full alpha should be rendered
96
+ * @param {GlobalCompositeOperation} blendingMode - blending mode for drawing the image
97
+ * @returns {WebGLProgram} - The chosen WebGL program
98
+ */
99
+ declare function GLChooseProgram(gl: WebGL2RenderingContext, color: string, fullAlpha: boolean, blendingMode: GlobalCompositeOperation): WebGLProgram;
100
+ /**
101
+ * Draws a canvas on the WebGL canvas
102
+ * @param {WebGL2RenderingContext} gl - WebGL context
103
+ * @param {HTMLImageElement | HTMLCanvasElement} Img - Canvas to get the data of
104
+ * @param {number} X - Position of the image on the X axis
105
+ * @param {number} Y - Position of the image on the Y axis
106
+ * @param {number} blinkOffset - Offset for the blink canvas
107
+ * @param {RectTuple[]} alphaMasks - A list of alpha masks to apply to the asset
108
+ */
109
+ declare function GLDraw2DCanvas(gl: WebGL2RenderingContext, Img: HTMLImageElement | HTMLCanvasElement, X: number, Y: number, blinkOffset: number, alphaMasks: RectTuple[]): void;
110
+ /**
111
+ * Sets texture info from image data
112
+ * @param {WebGLRenderingContext} gl - WebGL context
113
+ * @param {HTMLImageElement} Img - Image to get the data of
114
+ * @param {{ width: number; height: number; texture: WebGLTexture; }} textureInfo - Texture information
115
+ * @returns {void} - Nothing
116
+ */
117
+ declare function GLDrawBingImageToTextureInfo(gl: WebGLRenderingContext, Img: HTMLImageElement, textureInfo: {
118
+ width: number;
119
+ height: number;
120
+ texture: WebGLTexture;
121
+ }): void;
122
+ /**
123
+ * Loads image texture data
124
+ * @param {WebGL2RenderingContext} gl - WebGL context
125
+ * @param {string} url - URL of the image
126
+ * @returns {{ width: number; height: number; texture: WebGLTexture; }} - The texture info of a given image
127
+ */
128
+ declare function GLDrawLoadImage(gl: WebGL2RenderingContext, url: string): {
129
+ width: number;
130
+ height: number;
131
+ texture: WebGLTexture;
132
+ };
133
+ /**
134
+ * Loads alpha mask data
135
+ * @param {WebGL2RenderingContext} gl - The WebGL context
136
+ * @param {number} texWidth - The width of the texture to mask
137
+ * @param {number} texHeight - The height of the texture to mask
138
+ * @param {number} offsetX - The X offset at which the texture is to be drawn on the target canvas
139
+ * @param {number} offsetY - The Y offset at which the texture is to be drawn on the target canvas
140
+ * @param {RectTuple[]} alphaMasks - A list of alpha masks to apply to the asset
141
+ * @return {WebGLTexture} - The WebGL texture corresponding to the mask
142
+ */
143
+ declare function GLDrawLoadMask(gl: WebGL2RenderingContext, texWidth: number, texHeight: number, offsetX: number, offsetY: number, alphaMasks: RectTuple[]): WebGLTexture;
144
+ /**
145
+ * Clears a rectangle on WebGLRenderingContext
146
+ * @param {WebGLRenderingContext} gl - WebGL context
147
+ * @param {number} x - Position of the image on the X axis
148
+ * @param {number} y - Position of the image on the Y axis
149
+ * @param {number} width - Width of the rectangle to clear
150
+ * @param {number} height - Height of the rectangle to clear
151
+ * @param {number} blinkOffset - Offset in case of a blink draw
152
+ * @returns {void} - Nothing
153
+ */
154
+ declare function GLDrawClearRect(gl: WebGLRenderingContext, x: number, y: number, width: number, height: number, blinkOffset: number): void;
155
+ /**
156
+ * Converts a hex color to a RGBA color
157
+ * @param {string} color - Hex color code to convert to RGBA
158
+ * @param {number} alpha - The alpha value to use for the resulting RGBA
159
+ * @return {number[]} - Converted color code
160
+ */
161
+ declare function GLDrawHexToRGBA(color: string, alpha?: number): number[];
162
+ /**
163
+ * Creates the given character canvas with WebGL
164
+ * @param {Character} C - Character to build the canvas for
165
+ * @returns {void} - Nothing
166
+ */
167
+ declare function GLDrawAppearanceBuild(C: Character): void;
168
+ /** @type {Map<string, HTMLImageElement>} */
169
+ declare var GLDrawImageCache: Map<string, HTMLImageElement>;
170
+ declare var GLDrawCacheLoadedImages: number;
171
+ declare var GLDrawCacheTotalImages: number;
172
+ /** @type {"webgl2"|"webgl"|"No WebGL"} */
173
+ declare var GLVersion: "webgl2" | "webgl" | "No WebGL";
174
+ /** @type {HTMLCanvasElement} */
175
+ declare var GLDrawCanvas: HTMLCanvasElement;
176
+ /**
177
+ * How many seconds to wait before forcefully resetting the canvas after a
178
+ * context loss
179
+ */
180
+ declare const GLDrawContextResetSeconds: 10;
181
+ /**
182
+ * The cooldown in seconds after resetting the canvas. If another context loss
183
+ * happens in this cooldown, we'll revert to canvas2d rendering
184
+ */
185
+ declare const GLDrawRevertToDraw2DSeconds: 50;
186
+ /** @type {ReturnType<typeof setTimeout>} */
187
+ declare let GLDrawContextLostTimeout: ReturnType<typeof setTimeout>;
188
+ declare let GLDrawRecoveryMode: boolean;
189
+ /** @type {ReturnType<typeof setTimeout>} */
190
+ declare let GLDrawCrashTimeout: ReturnType<typeof setTimeout>;
191
+ declare var GLDrawAlphaThreshold: number;
192
+ declare var GLDrawHalfAlphaLow: number;
193
+ declare var GLDrawHalfAlphaHigh: number;
194
+ /**
195
+ * Source used for the Vertex Shader
196
+ * @constant
197
+ * @type {string}
198
+ */
199
+ declare var GLDrawVertexShaderSource: string;
200
+ /**
201
+ * Source used for the Fragment Shader
202
+ * @constant
203
+ * @type {string}
204
+ */
205
+ declare var GLDrawFragmentShaderSource: string;
206
+ /**
207
+ * Source used for the Texture Mask Fragment Shader
208
+ * @constant
209
+ * @type {string}
210
+ */
211
+ declare var GLDrawFragmentShaderSourceTexMask: string;
212
+ /**
213
+ * Source used for the Full Alpha Shader
214
+ * @constant
215
+ * @type {string}
216
+ */
217
+ declare var GLDrawFragmentShaderSourceFullAlpha: string;
218
+ /**
219
+ * Source used for the Half Alpha Shader
220
+ * @constant
221
+ * @type {string}
222
+ */
223
+ declare var GLDrawFragmentShaderSourceHalfAlpha: string;
@@ -0,0 +1,61 @@
1
+ declare function GameStart(): void;
2
+ /**
3
+ * Main game running state, runs the drawing
4
+ * @param {number} Timestamp
5
+ */
6
+ declare function GameRun(Timestamp: number): void;
7
+ /**
8
+ * When the user presses a key, we send the KeyDown event to the current screen if it can accept it
9
+ * @param {KeyboardEvent} event
10
+ */
11
+ declare function GameKeyDown(event: KeyboardEvent): void;
12
+ /**
13
+ * Handler for document-wide keydown event
14
+ * @param {KeyboardEvent} event
15
+ */
16
+ declare function DocumentKeyDown(event: KeyboardEvent): void;
17
+ /**
18
+ * When mouse move, we keep the mouse position for other scripts
19
+ * @param {MouseEvent} event
20
+ */
21
+ declare function MouseMove(event: MouseEvent): void;
22
+ /**
23
+ * When the user clicks, we fire the click event for other screens
24
+ * @param {MouseEvent} event
25
+ */
26
+ declare function MouseClick(event: MouseEvent): void;
27
+ /**
28
+ * When the user touches the screen (mobile only), we fire the click event for other screens
29
+ * @param {TouchEvent} event
30
+ */
31
+ declare function TouchStart(event: TouchEvent): void;
32
+ /**
33
+ * When the user touches the screen (mobile only), we fire the click event for other screens
34
+ * @param {TouchEvent} event
35
+ */
36
+ declare function TouchEnd(event: TouchEvent): void;
37
+ /**
38
+ * When touch moves, we keep it's position for other scripts
39
+ * @param {TouchEvent} event
40
+ */
41
+ declare function TouchMove(event: TouchEvent): void;
42
+ /**
43
+ * When the mouse is away from the control, we stop keeping the coordinates,
44
+ * we also check for false positives with "relatedTarget"
45
+ * @param {MouseEvent} event
46
+ */
47
+ declare function MouseLeave(event: MouseEvent): void;
48
+ /** @deprecated */
49
+ declare function KeyDown(event: any): void;
50
+ /** @deprecated */
51
+ declare function MainRun(Timestamp: any): void;
52
+ /** @deprecated */
53
+ declare function Click(event: any): void;
54
+ /** @deprecated */
55
+ declare function LoseFocus(event: any): void;
56
+ /** BC's version */
57
+ declare var GameVersion: string;
58
+ declare const GameVersionFormat: RegExp;
59
+ declare var CommonVersionUpdated: boolean;
60
+ /** @type {TouchList | null} */
61
+ declare var CommonTouchList: TouchList | null;