isaacscript-common 2.2.0 → 2.3.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 (1033) hide show
  1. package/.eslintrc.js +70 -0
  2. package/build.sh +27 -0
  3. package/docs.sh +21 -0
  4. package/lint.sh +34 -0
  5. package/package.json +5 -4
  6. package/project.json +37 -0
  7. package/release.sh +16 -0
  8. package/scripts/.eslintrc.js +21 -0
  9. package/scripts/docsEntryPointLint.ts +135 -0
  10. package/scripts/tsconfig.json +5 -0
  11. package/src/cachedClasses.ts +39 -0
  12. package/src/callbacks/customRevive.ts +206 -0
  13. package/src/callbacks/itemPickup.ts +101 -0
  14. package/src/callbacks/postBombInitLate.ts +36 -0
  15. package/src/callbacks/postBoneSwing.ts +64 -0
  16. package/src/callbacks/postCollectibleInitFirst.ts +39 -0
  17. package/src/callbacks/postCursedTeleport.ts +183 -0
  18. package/src/callbacks/postCustomDoorEnter.ts +297 -0
  19. package/src/callbacks/postDoorRender.ts +26 -0
  20. package/src/callbacks/postDoorUpdate.ts +26 -0
  21. package/src/callbacks/postEffectInitLate.ts +36 -0
  22. package/src/callbacks/postEffectStateChanged.ts +43 -0
  23. package/src/callbacks/postEsauJr.ts +107 -0
  24. package/src/callbacks/postFamiliarInitLate.ts +36 -0
  25. package/src/callbacks/postFamiliarStateChanged.ts +43 -0
  26. package/src/callbacks/postFlip.ts +88 -0
  27. package/src/callbacks/postGreedModeWave.ts +41 -0
  28. package/src/callbacks/postGridEntity.ts +159 -0
  29. package/src/callbacks/postGridEntityCollision.ts +69 -0
  30. package/src/callbacks/postGridEntityRender.ts +26 -0
  31. package/src/callbacks/postHolyMantleRemoved.ts +55 -0
  32. package/src/callbacks/postItemDischarged.ts +149 -0
  33. package/src/callbacks/postKnifeInitLate.ts +36 -0
  34. package/src/callbacks/postLaserInitLate.ts +36 -0
  35. package/src/callbacks/postNPCInitLate.ts +36 -0
  36. package/src/callbacks/postNPCStateChanged.ts +42 -0
  37. package/src/callbacks/postNewRoomEarly.ts +90 -0
  38. package/src/callbacks/postPickupCollect.ts +48 -0
  39. package/src/callbacks/postPickupInitLate.ts +36 -0
  40. package/src/callbacks/postPickupStateChanged.ts +43 -0
  41. package/src/callbacks/postPitRender.ts +26 -0
  42. package/src/callbacks/postPitUpdate.ts +26 -0
  43. package/src/callbacks/postPlayerChangeHealth.ts +62 -0
  44. package/src/callbacks/postPlayerChangeType.ts +56 -0
  45. package/src/callbacks/postPlayerFatalDamage.ts +98 -0
  46. package/src/callbacks/postPlayerInitLate.ts +37 -0
  47. package/src/callbacks/postPlayerReordered.ts +142 -0
  48. package/src/callbacks/postPoopRender.ts +26 -0
  49. package/src/callbacks/postPoopUpdate.ts +26 -0
  50. package/src/callbacks/postPressurePlateRender.ts +26 -0
  51. package/src/callbacks/postPressurePlateUpdate.ts +26 -0
  52. package/src/callbacks/postProjectileInitLate.ts +36 -0
  53. package/src/callbacks/postPurchase.ts +64 -0
  54. package/src/callbacks/postRockRender.ts +26 -0
  55. package/src/callbacks/postRockUpdate.ts +26 -0
  56. package/src/callbacks/postRoomClearChanged.ts +52 -0
  57. package/src/callbacks/postSacrifice.ts +62 -0
  58. package/src/callbacks/postSlotInitUpdate.ts +63 -0
  59. package/src/callbacks/postSlotRender.ts +96 -0
  60. package/src/callbacks/postSpikesRender.ts +26 -0
  61. package/src/callbacks/postSpikesUpdate.ts +26 -0
  62. package/src/callbacks/postTNTRender.ts +26 -0
  63. package/src/callbacks/postTNTUpdate.ts +26 -0
  64. package/src/callbacks/postTearInitLate.ts +36 -0
  65. package/src/callbacks/postTearInitVeryLate.ts +41 -0
  66. package/src/callbacks/postTransformation.ts +59 -0
  67. package/src/callbacks/postTrinketBreak.ts +110 -0
  68. package/src/callbacks/preBerserkDeath.ts +49 -0
  69. package/src/callbacks/preNewLevel.ts +55 -0
  70. package/src/callbacks/reorderedCallbacks.ts +166 -0
  71. package/src/callbacks/subscriptions/postBombInitLate.ts +32 -0
  72. package/src/callbacks/subscriptions/postBoneSwing.ts +24 -0
  73. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
  74. package/src/callbacks/subscriptions/postCursedTeleport.ts +24 -0
  75. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
  76. package/src/callbacks/subscriptions/postCustomRevive.ts +36 -0
  77. package/src/callbacks/subscriptions/postDoorRender.ts +35 -0
  78. package/src/callbacks/subscriptions/postDoorUpdate.ts +35 -0
  79. package/src/callbacks/subscriptions/postEffectInitLate.ts +32 -0
  80. package/src/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
  81. package/src/callbacks/subscriptions/postEsauJr.ts +24 -0
  82. package/src/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
  83. package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
  84. package/src/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
  85. package/src/callbacks/subscriptions/postFirstFlip.ts +24 -0
  86. package/src/callbacks/subscriptions/postFlip.ts +22 -0
  87. package/src/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
  88. package/src/callbacks/subscriptions/postGreedModeWave.ts +24 -0
  89. package/src/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
  90. package/src/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
  91. package/src/callbacks/subscriptions/postGridEntityInit.ts +51 -0
  92. package/src/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
  93. package/src/callbacks/subscriptions/postGridEntityRender.ts +51 -0
  94. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
  95. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
  96. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
  97. package/src/callbacks/subscriptions/postItemDischarged.ts +43 -0
  98. package/src/callbacks/subscriptions/postItemPickup.ts +64 -0
  99. package/src/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
  100. package/src/callbacks/subscriptions/postLaserInitLate.ts +32 -0
  101. package/src/callbacks/subscriptions/postNPCInitLate.ts +32 -0
  102. package/src/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
  103. package/src/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
  104. package/src/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
  105. package/src/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
  106. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
  107. package/src/callbacks/subscriptions/postPickupCollect.ts +34 -0
  108. package/src/callbacks/subscriptions/postPickupInitLate.ts +31 -0
  109. package/src/callbacks/subscriptions/postPickupStateChanged.ts +35 -0
  110. package/src/callbacks/subscriptions/postPitRender.ts +35 -0
  111. package/src/callbacks/subscriptions/postPitUpdate.ts +35 -0
  112. package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +45 -0
  113. package/src/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
  114. package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +67 -0
  115. package/src/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
  116. package/src/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
  117. package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
  118. package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
  119. package/src/callbacks/subscriptions/postPoopRender.ts +35 -0
  120. package/src/callbacks/subscriptions/postPoopUpdate.ts +35 -0
  121. package/src/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
  122. package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
  123. package/src/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
  124. package/src/callbacks/subscriptions/postPurchase.ts +31 -0
  125. package/src/callbacks/subscriptions/postRockRender.ts +35 -0
  126. package/src/callbacks/subscriptions/postRockUpdate.ts +35 -0
  127. package/src/callbacks/subscriptions/postRoomClearChanged.ts +24 -0
  128. package/src/callbacks/subscriptions/postSacrifice.ts +43 -0
  129. package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
  130. package/src/callbacks/subscriptions/postSlotDestroyed.ts +32 -0
  131. package/src/callbacks/subscriptions/postSlotInit.ts +32 -0
  132. package/src/callbacks/subscriptions/postSlotRender.ts +32 -0
  133. package/src/callbacks/subscriptions/postSlotUpdate.ts +32 -0
  134. package/src/callbacks/subscriptions/postSpikesRender.ts +35 -0
  135. package/src/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
  136. package/src/callbacks/subscriptions/postTNTRender.ts +35 -0
  137. package/src/callbacks/subscriptions/postTNTUpdate.ts +35 -0
  138. package/src/callbacks/subscriptions/postTearInitLate.ts +32 -0
  139. package/src/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
  140. package/src/callbacks/subscriptions/postTransformation.ts +40 -0
  141. package/src/callbacks/subscriptions/postTrinketBreak.ts +38 -0
  142. package/src/callbacks/subscriptions/preBerserkDeath.ts +42 -0
  143. package/src/callbacks/subscriptions/preCustomRevive.ts +45 -0
  144. package/src/callbacks/subscriptions/preItemPickup.ts +64 -0
  145. package/src/callbacks/subscriptions/preNewLevel.ts +24 -0
  146. package/src/classes/DefaultMap.ts +220 -0
  147. package/src/classes/ModUpgraded.ts +83 -0
  148. package/src/constants.ts +140 -0
  149. package/src/constantsFirstLast.ts +212 -0
  150. package/src/enums/HealthType.ts +16 -0
  151. package/src/enums/ModCallbackCustom.ts +943 -0
  152. package/src/enums/PocketItemType.ts +8 -0
  153. package/src/enums/SerializationType.ts +5 -0
  154. package/src/enums/private/CopyableIsaacAPIClassType.ts +7 -0
  155. package/src/enums/private/SaveDataKey.ts +14 -0
  156. package/src/enums/private/SerializationBrand.ts +42 -0
  157. package/src/features/characterHealthConversion.ts +116 -0
  158. package/src/features/characterStats.ts +61 -0
  159. package/src/features/debugDisplay/debugDisplay.ts +221 -0
  160. package/src/features/debugDisplay/exports.ts +368 -0
  161. package/src/features/debugDisplay/v.ts +65 -0
  162. package/src/features/deployJSONRoom.ts +672 -0
  163. package/src/features/disableInputs.ts +193 -0
  164. package/src/features/disableSound.ts +77 -0
  165. package/src/features/extraConsoleCommands/commandsDisplay.ts +290 -0
  166. package/src/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
  167. package/src/features/extraConsoleCommands/init.ts +334 -0
  168. package/src/features/extraConsoleCommands/listCommands.ts +1298 -0
  169. package/src/features/extraConsoleCommands/v.ts +14 -0
  170. package/src/features/fadeInRemover.ts +60 -0
  171. package/src/features/fastReset.ts +75 -0
  172. package/src/features/forgottenSwitch.ts +50 -0
  173. package/src/features/getCollectibleItemPoolType.ts +66 -0
  174. package/src/features/playerInventory.ts +187 -0
  175. package/src/features/ponyDetection.ts +74 -0
  176. package/src/features/preventCollectibleRotation.ts +113 -0
  177. package/src/features/runInNFrames.ts +148 -0
  178. package/src/features/saveDataManager/constants.ts +4 -0
  179. package/src/features/saveDataManager/exports.ts +230 -0
  180. package/src/features/saveDataManager/load.ts +90 -0
  181. package/src/features/saveDataManager/main.ts +187 -0
  182. package/src/features/saveDataManager/maps.ts +13 -0
  183. package/src/features/saveDataManager/merge.ts +182 -0
  184. package/src/features/saveDataManager/save.ts +66 -0
  185. package/src/features/saveDataManager/serializationBrand.ts +15 -0
  186. package/src/features/sirenHelpers.ts +129 -0
  187. package/src/features/taintedLazarusPlayers.ts +113 -0
  188. package/src/featuresInitialized.ts +20 -0
  189. package/src/functions/array.ts +412 -0
  190. package/src/functions/benchmark.ts +36 -0
  191. package/src/functions/bitwise.ts +24 -0
  192. package/src/functions/boss.ts +227 -0
  193. package/src/functions/cacheFlag.ts +12 -0
  194. package/src/functions/cards.ts +267 -0
  195. package/src/functions/challenges.ts +11 -0
  196. package/src/functions/character.ts +124 -0
  197. package/src/functions/charge.ts +237 -0
  198. package/src/functions/chargeBar.ts +67 -0
  199. package/src/functions/collectibleCacheFlag.ts +90 -0
  200. package/src/functions/collectibleSet.ts +57 -0
  201. package/src/functions/collectibleTag.ts +89 -0
  202. package/src/functions/collectibles.ts +610 -0
  203. package/src/functions/color.ts +149 -0
  204. package/src/functions/debug.ts +65 -0
  205. package/src/functions/deepCopy.ts +508 -0
  206. package/src/functions/deepCopyTests.ts +390 -0
  207. package/src/functions/direction.ts +16 -0
  208. package/src/functions/doors.ts +343 -0
  209. package/src/functions/easing.ts +182 -0
  210. package/src/functions/eden.ts +47 -0
  211. package/src/functions/entity.ts +352 -0
  212. package/src/functions/entitySpecific.ts +889 -0
  213. package/src/functions/entityTypes.ts +6 -0
  214. package/src/functions/enums.ts +145 -0
  215. package/src/functions/familiars.ts +106 -0
  216. package/src/functions/flag.ts +165 -0
  217. package/src/functions/flying.ts +117 -0
  218. package/src/functions/globals.ts +249 -0
  219. package/src/functions/gridEntity.ts +511 -0
  220. package/src/functions/gridEntitySpecific.ts +112 -0
  221. package/src/functions/input.ts +139 -0
  222. package/src/functions/isaacAPIClass.ts +65 -0
  223. package/src/functions/jsonHelpers.ts +45 -0
  224. package/src/functions/jsonRoom.ts +100 -0
  225. package/src/functions/kColor.ts +130 -0
  226. package/src/functions/language.ts +13 -0
  227. package/src/functions/level.ts +31 -0
  228. package/src/functions/log.ts +660 -0
  229. package/src/functions/map.ts +56 -0
  230. package/src/functions/math.ts +149 -0
  231. package/src/functions/mergeTests.ts +288 -0
  232. package/src/functions/npc.ts +148 -0
  233. package/src/functions/pickupVariants.ts +60 -0
  234. package/src/functions/pickups.ts +449 -0
  235. package/src/functions/pills.ts +182 -0
  236. package/src/functions/player.ts +975 -0
  237. package/src/functions/playerDataStructures.ts +150 -0
  238. package/src/functions/playerHealth.ts +318 -0
  239. package/src/functions/playerIndex.ts +195 -0
  240. package/src/functions/pocketItems.ts +149 -0
  241. package/src/functions/positionVelocity.ts +188 -0
  242. package/src/functions/random.ts +77 -0
  243. package/src/functions/revive.ts +201 -0
  244. package/src/functions/rng.ts +177 -0
  245. package/src/functions/roomData.ts +199 -0
  246. package/src/functions/roomGrid.ts +109 -0
  247. package/src/functions/roomShape.ts +80 -0
  248. package/src/functions/rooms.ts +667 -0
  249. package/src/functions/run.ts +36 -0
  250. package/src/functions/seeds.ts +19 -0
  251. package/src/functions/serialization.ts +97 -0
  252. package/src/functions/set.ts +95 -0
  253. package/src/functions/sound.ts +9 -0
  254. package/src/functions/spawnCollectible.ts +104 -0
  255. package/src/functions/sprite.ts +107 -0
  256. package/src/functions/stage.ts +125 -0
  257. package/src/functions/string.ts +47 -0
  258. package/src/functions/table.ts +139 -0
  259. package/src/functions/tears.ts +32 -0
  260. package/src/functions/transformations.ts +137 -0
  261. package/src/functions/trinketCacheFlag.ts +60 -0
  262. package/src/functions/trinketGive.ts +157 -0
  263. package/src/functions/trinkets.ts +215 -0
  264. package/src/functions/tstlClass.ts +91 -0
  265. package/src/functions/ui.ts +138 -0
  266. package/src/functions/utils.ts +200 -0
  267. package/src/functions/vector.ts +145 -0
  268. package/src/index.ts +162 -0
  269. package/src/initCustomCallbacks.ts +120 -0
  270. package/src/initFeatures.ts +37 -0
  271. package/src/interfaces/AddCallbackParameterCustom.ts +174 -0
  272. package/src/interfaces/ChargeBarSprites.ts +12 -0
  273. package/src/interfaces/JSONDoor.ts +13 -0
  274. package/src/interfaces/JSONEntity.ts +16 -0
  275. package/src/interfaces/JSONRoom.ts +36 -0
  276. package/src/interfaces/JSONRooms.ts +12 -0
  277. package/src/interfaces/JSONSpawn.ts +14 -0
  278. package/src/interfaces/PlayerHealth.ts +16 -0
  279. package/src/interfaces/PocketItemDescription.ts +9 -0
  280. package/src/interfaces/SaveData.ts +29 -0
  281. package/src/interfaces/TrinketSituation.ts +9 -0
  282. package/src/interfaces/private/TSTLClassMetatable.ts +8 -0
  283. package/src/maps/cardMap.ts +209 -0
  284. package/src/maps/characterMap.ts +87 -0
  285. package/src/maps/collectibleDescriptionMap.ts +732 -0
  286. package/src/maps/collectibleNameMap.ts +731 -0
  287. package/src/maps/defaultPlayerStatMap.ts +17 -0
  288. package/src/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
  289. package/src/maps/gridEntityXMLMap.ts +176 -0
  290. package/src/maps/pillEffectMap.ts +88 -0
  291. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
  292. package/src/maps/roomTypeMap.ts +40 -0
  293. package/src/maps/trinketDescriptionMap.ts +200 -0
  294. package/src/maps/trinketNameMap.ts +198 -0
  295. package/src/objects/LRoomShapeToRectangles.ts +44 -0
  296. package/src/objects/callbackRegisterFunctions.ts +171 -0
  297. package/src/objects/cardDescriptions.ts +105 -0
  298. package/src/objects/cardNames.ts +105 -0
  299. package/src/objects/cardTypes.ts +104 -0
  300. package/src/objects/challengeNames.ts +52 -0
  301. package/src/objects/characterNames.ts +48 -0
  302. package/src/objects/coinSubTypeToValue.ts +14 -0
  303. package/src/objects/colors.ts +16 -0
  304. package/src/objects/directionNames.ts +11 -0
  305. package/src/objects/directionToDegrees.ts +11 -0
  306. package/src/objects/directionToVector.ts +12 -0
  307. package/src/objects/doorSlotFlagToDoorSlot.ts +16 -0
  308. package/src/objects/doorSlotToDirection.ts +14 -0
  309. package/src/objects/isaacAPIClassTypeToBrand.ts +11 -0
  310. package/src/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
  311. package/src/objects/languageNames.ts +13 -0
  312. package/src/objects/pillEffectClasses.ts +63 -0
  313. package/src/objects/pillEffectNames.ts +57 -0
  314. package/src/objects/pillEffectTypes.ts +62 -0
  315. package/src/objects/roomShapeBounds.ts +71 -0
  316. package/src/objects/roomShapeLayoutSizes.ts +45 -0
  317. package/src/objects/roomShapeToBottomRightPosition.ts +25 -0
  318. package/src/objects/roomShapeToDoorSlots.ts +83 -0
  319. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
  320. package/src/objects/roomShapeToGridWidth.ts +21 -0
  321. package/src/objects/roomShapeToTopLeftPosition.ts +26 -0
  322. package/src/objects/roomShapeVolumes.ts +38 -0
  323. package/src/objects/roomTypeNames.ts +36 -0
  324. package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
  325. package/src/objects/stageTypeToLetter.ts +15 -0
  326. package/src/objects/transformationNames.ts +20 -0
  327. package/src/patchErrorFunctions.ts +92 -0
  328. package/src/sets/LRoomShapesSet.ts +8 -0
  329. package/src/sets/bossSets.ts +470 -0
  330. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
  331. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
  332. package/src/sets/charactersWithFreeDevilDealsSet.ts +4 -0
  333. package/src/sets/charactersWithNoRedHeartsSet.ts +17 -0
  334. package/src/sets/charactersWithNoSoulHeartsSet.ts +14 -0
  335. package/src/sets/chestPickupVariantsSet.ts +16 -0
  336. package/src/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
  337. package/src/sets/lostStyleCharactersSet.ts +13 -0
  338. package/src/sets/mineShaftRoomSubTypesSet.ts +10 -0
  339. package/src/sets/redHeartSubTypesSet.ts +7 -0
  340. package/src/sets/sinEntityTypesSet.ts +11 -0
  341. package/src/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
  342. package/src/sets/storyBossesSet.ts +17 -0
  343. package/src/types/AnyEntity.ts +12 -0
  344. package/src/types/AwaitingTextInput.d.ts +2 -0
  345. package/src/types/CollectibleIndex.ts +14 -0
  346. package/src/types/PickingUpItem.ts +89 -0
  347. package/src/types/PlayerIndex.ts +13 -0
  348. package/src/types/private/IsaacAPIClass.ts +3 -0
  349. package/src/types/private/SerializedIsaacAPIClass.ts +3 -0
  350. package/src/types/private/TSTLClass.ts +3 -0
  351. package/src/upgradeMod.ts +55 -0
  352. package/tsconfig.json +42 -0
  353. package/typedoc.json +158 -0
  354. package/website-root.md +11 -0
  355. package/cachedClasses.d.ts +0 -37
  356. package/cachedClasses.lua +0 -6
  357. package/callbacks/customRevive.d.ts +0 -1
  358. package/callbacks/customRevive.lua +0 -145
  359. package/callbacks/itemPickup.d.ts +0 -1
  360. package/callbacks/itemPickup.lua +0 -64
  361. package/callbacks/postBombInitLate.d.ts +0 -1
  362. package/callbacks/postBombInitLate.lua +0 -31
  363. package/callbacks/postBoneSwing.d.ts +0 -1
  364. package/callbacks/postBoneSwing.lua +0 -48
  365. package/callbacks/postCollectibleInitFirst.d.ts +0 -1
  366. package/callbacks/postCollectibleInitFirst.lua +0 -32
  367. package/callbacks/postCursedTeleport.d.ts +0 -1
  368. package/callbacks/postCursedTeleport.lua +0 -119
  369. package/callbacks/postCustomDoorEnter.d.ts +0 -50
  370. package/callbacks/postCustomDoorEnter.lua +0 -203
  371. package/callbacks/postDoorRender.d.ts +0 -1
  372. package/callbacks/postDoorRender.lua +0 -24
  373. package/callbacks/postDoorUpdate.d.ts +0 -1
  374. package/callbacks/postDoorUpdate.lua +0 -24
  375. package/callbacks/postEffectInitLate.d.ts +0 -1
  376. package/callbacks/postEffectInitLate.lua +0 -31
  377. package/callbacks/postEffectStateChanged.d.ts +0 -1
  378. package/callbacks/postEffectStateChanged.lua +0 -37
  379. package/callbacks/postEsauJr.d.ts +0 -1
  380. package/callbacks/postEsauJr.lua +0 -67
  381. package/callbacks/postFamiliarInitLate.d.ts +0 -1
  382. package/callbacks/postFamiliarInitLate.lua +0 -31
  383. package/callbacks/postFamiliarStateChanged.d.ts +0 -1
  384. package/callbacks/postFamiliarStateChanged.lua +0 -37
  385. package/callbacks/postFlip.d.ts +0 -1
  386. package/callbacks/postFlip.lua +0 -61
  387. package/callbacks/postGreedModeWave.d.ts +0 -1
  388. package/callbacks/postGreedModeWave.lua +0 -32
  389. package/callbacks/postGridEntity.d.ts +0 -1
  390. package/callbacks/postGridEntity.lua +0 -105
  391. package/callbacks/postGridEntityCollision.d.ts +0 -1
  392. package/callbacks/postGridEntityCollision.lua +0 -65
  393. package/callbacks/postGridEntityRender.d.ts +0 -1
  394. package/callbacks/postGridEntityRender.lua +0 -24
  395. package/callbacks/postHolyMantleRemoved.d.ts +0 -1
  396. package/callbacks/postHolyMantleRemoved.lua +0 -39
  397. package/callbacks/postItemDischarged.d.ts +0 -2
  398. package/callbacks/postItemDischarged.lua +0 -104
  399. package/callbacks/postKnifeInitLate.d.ts +0 -1
  400. package/callbacks/postKnifeInitLate.lua +0 -31
  401. package/callbacks/postLaserInitLate.d.ts +0 -1
  402. package/callbacks/postLaserInitLate.lua +0 -31
  403. package/callbacks/postNPCInitLate.d.ts +0 -1
  404. package/callbacks/postNPCInitLate.lua +0 -31
  405. package/callbacks/postNPCStateChanged.d.ts +0 -1
  406. package/callbacks/postNPCStateChanged.lua +0 -37
  407. package/callbacks/postNewRoomEarly.d.ts +0 -1
  408. package/callbacks/postNewRoomEarly.lua +0 -65
  409. package/callbacks/postPickupCollect.d.ts +0 -1
  410. package/callbacks/postPickupCollect.lua +0 -39
  411. package/callbacks/postPickupInitLate.d.ts +0 -1
  412. package/callbacks/postPickupInitLate.lua +0 -31
  413. package/callbacks/postPickupStateChanged.d.ts +0 -1
  414. package/callbacks/postPickupStateChanged.lua +0 -37
  415. package/callbacks/postPitRender.d.ts +0 -1
  416. package/callbacks/postPitRender.lua +0 -24
  417. package/callbacks/postPitUpdate.d.ts +0 -1
  418. package/callbacks/postPitUpdate.lua +0 -24
  419. package/callbacks/postPlayerChangeHealth.d.ts +0 -1
  420. package/callbacks/postPlayerChangeHealth.lua +0 -50
  421. package/callbacks/postPlayerChangeType.d.ts +0 -1
  422. package/callbacks/postPlayerChangeType.lua +0 -39
  423. package/callbacks/postPlayerFatalDamage.d.ts +0 -1
  424. package/callbacks/postPlayerFatalDamage.lua +0 -71
  425. package/callbacks/postPlayerInitLate.d.ts +0 -1
  426. package/callbacks/postPlayerInitLate.lua +0 -33
  427. package/callbacks/postPlayerReordered.d.ts +0 -1
  428. package/callbacks/postPlayerReordered.lua +0 -112
  429. package/callbacks/postPoopRender.d.ts +0 -1
  430. package/callbacks/postPoopRender.lua +0 -24
  431. package/callbacks/postPoopUpdate.d.ts +0 -1
  432. package/callbacks/postPoopUpdate.lua +0 -24
  433. package/callbacks/postPressurePlateRender.d.ts +0 -1
  434. package/callbacks/postPressurePlateRender.lua +0 -24
  435. package/callbacks/postPressurePlateUpdate.d.ts +0 -1
  436. package/callbacks/postPressurePlateUpdate.lua +0 -24
  437. package/callbacks/postProjectileInitLate.d.ts +0 -1
  438. package/callbacks/postProjectileInitLate.lua +0 -31
  439. package/callbacks/postPurchase.d.ts +0 -1
  440. package/callbacks/postPurchase.lua +0 -49
  441. package/callbacks/postRockRender.d.ts +0 -1
  442. package/callbacks/postRockRender.lua +0 -24
  443. package/callbacks/postRockUpdate.d.ts +0 -1
  444. package/callbacks/postRockUpdate.lua +0 -24
  445. package/callbacks/postRoomClearChanged.d.ts +0 -1
  446. package/callbacks/postRoomClearChanged.lua +0 -40
  447. package/callbacks/postSacrifice.d.ts +0 -1
  448. package/callbacks/postSacrifice.lua +0 -42
  449. package/callbacks/postSlotInitUpdate.d.ts +0 -1
  450. package/callbacks/postSlotInitUpdate.lua +0 -51
  451. package/callbacks/postSlotRender.d.ts +0 -1
  452. package/callbacks/postSlotRender.lua +0 -74
  453. package/callbacks/postSpikesRender.d.ts +0 -1
  454. package/callbacks/postSpikesRender.lua +0 -24
  455. package/callbacks/postSpikesUpdate.d.ts +0 -1
  456. package/callbacks/postSpikesUpdate.lua +0 -24
  457. package/callbacks/postTNTRender.d.ts +0 -1
  458. package/callbacks/postTNTRender.lua +0 -24
  459. package/callbacks/postTNTUpdate.d.ts +0 -1
  460. package/callbacks/postTNTUpdate.lua +0 -24
  461. package/callbacks/postTearInitLate.d.ts +0 -1
  462. package/callbacks/postTearInitLate.lua +0 -31
  463. package/callbacks/postTearInitVeryLate.d.ts +0 -1
  464. package/callbacks/postTearInitVeryLate.lua +0 -34
  465. package/callbacks/postTransformation.d.ts +0 -1
  466. package/callbacks/postTransformation.lua +0 -46
  467. package/callbacks/postTrinketBreak.d.ts +0 -1
  468. package/callbacks/postTrinketBreak.lua +0 -70
  469. package/callbacks/preBerserkDeath.d.ts +0 -1
  470. package/callbacks/preBerserkDeath.lua +0 -36
  471. package/callbacks/preNewLevel.d.ts +0 -1
  472. package/callbacks/preNewLevel.lua +0 -43
  473. package/callbacks/reorderedCallbacks.d.ts +0 -20
  474. package/callbacks/reorderedCallbacks.lua +0 -92
  475. package/callbacks/subscriptions/postBombInitLate.d.ts +0 -5
  476. package/callbacks/subscriptions/postBombInitLate.lua +0 -23
  477. package/callbacks/subscriptions/postBoneSwing.d.ts +0 -4
  478. package/callbacks/subscriptions/postBoneSwing.lua +0 -16
  479. package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +0 -5
  480. package/callbacks/subscriptions/postCollectibleInitFirst.lua +0 -23
  481. package/callbacks/subscriptions/postCursedTeleport.d.ts +0 -4
  482. package/callbacks/subscriptions/postCursedTeleport.lua +0 -16
  483. package/callbacks/subscriptions/postCustomDoorEnter.d.ts +0 -5
  484. package/callbacks/subscriptions/postCustomDoorEnter.lua +0 -29
  485. package/callbacks/subscriptions/postCustomRevive.d.ts +0 -5
  486. package/callbacks/subscriptions/postCustomRevive.lua +0 -23
  487. package/callbacks/subscriptions/postDoorRender.d.ts +0 -5
  488. package/callbacks/subscriptions/postDoorRender.lua +0 -24
  489. package/callbacks/subscriptions/postDoorUpdate.d.ts +0 -5
  490. package/callbacks/subscriptions/postDoorUpdate.lua +0 -24
  491. package/callbacks/subscriptions/postEffectInitLate.d.ts +0 -5
  492. package/callbacks/subscriptions/postEffectInitLate.lua +0 -23
  493. package/callbacks/subscriptions/postEffectStateChanged.d.ts +0 -5
  494. package/callbacks/subscriptions/postEffectStateChanged.lua +0 -23
  495. package/callbacks/subscriptions/postEsauJr.d.ts +0 -4
  496. package/callbacks/subscriptions/postEsauJr.lua +0 -16
  497. package/callbacks/subscriptions/postFamiliarInitLate.d.ts +0 -5
  498. package/callbacks/subscriptions/postFamiliarInitLate.lua +0 -23
  499. package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +0 -5
  500. package/callbacks/subscriptions/postFamiliarStateChanged.lua +0 -23
  501. package/callbacks/subscriptions/postFirstEsauJr.d.ts +0 -4
  502. package/callbacks/subscriptions/postFirstEsauJr.lua +0 -16
  503. package/callbacks/subscriptions/postFirstFlip.d.ts +0 -4
  504. package/callbacks/subscriptions/postFirstFlip.lua +0 -16
  505. package/callbacks/subscriptions/postFlip.d.ts +0 -4
  506. package/callbacks/subscriptions/postFlip.lua +0 -16
  507. package/callbacks/subscriptions/postGameStartedReordered.d.ts +0 -3
  508. package/callbacks/subscriptions/postGameStartedReordered.lua +0 -16
  509. package/callbacks/subscriptions/postGreedModeWave.d.ts +0 -4
  510. package/callbacks/subscriptions/postGreedModeWave.lua +0 -16
  511. package/callbacks/subscriptions/postGridEntityBroken.d.ts +0 -6
  512. package/callbacks/subscriptions/postGridEntityBroken.lua +0 -29
  513. package/callbacks/subscriptions/postGridEntityCollision.d.ts +0 -6
  514. package/callbacks/subscriptions/postGridEntityCollision.lua +0 -29
  515. package/callbacks/subscriptions/postGridEntityInit.d.ts +0 -6
  516. package/callbacks/subscriptions/postGridEntityInit.lua +0 -29
  517. package/callbacks/subscriptions/postGridEntityRemove.d.ts +0 -6
  518. package/callbacks/subscriptions/postGridEntityRemove.lua +0 -27
  519. package/callbacks/subscriptions/postGridEntityRender.d.ts +0 -6
  520. package/callbacks/subscriptions/postGridEntityRender.lua +0 -29
  521. package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +0 -6
  522. package/callbacks/subscriptions/postGridEntityStateChanged.lua +0 -29
  523. package/callbacks/subscriptions/postGridEntityUpdate.d.ts +0 -6
  524. package/callbacks/subscriptions/postGridEntityUpdate.lua +0 -29
  525. package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +0 -6
  526. package/callbacks/subscriptions/postHolyMantleRemoved.lua +0 -28
  527. package/callbacks/subscriptions/postItemDischarged.d.ts +0 -5
  528. package/callbacks/subscriptions/postItemDischarged.lua +0 -23
  529. package/callbacks/subscriptions/postItemPickup.d.ts +0 -11
  530. package/callbacks/subscriptions/postItemPickup.lua +0 -27
  531. package/callbacks/subscriptions/postKnifeInitLate.d.ts +0 -5
  532. package/callbacks/subscriptions/postKnifeInitLate.lua +0 -23
  533. package/callbacks/subscriptions/postLaserInitLate.d.ts +0 -5
  534. package/callbacks/subscriptions/postLaserInitLate.lua +0 -23
  535. package/callbacks/subscriptions/postNPCInitLate.d.ts +0 -5
  536. package/callbacks/subscriptions/postNPCInitLate.lua +0 -23
  537. package/callbacks/subscriptions/postNPCStateChanged.d.ts +0 -6
  538. package/callbacks/subscriptions/postNPCStateChanged.lua +0 -27
  539. package/callbacks/subscriptions/postNewLevelReordered.d.ts +0 -1
  540. package/callbacks/subscriptions/postNewLevelReordered.lua +0 -16
  541. package/callbacks/subscriptions/postNewRoomEarly.d.ts +0 -1
  542. package/callbacks/subscriptions/postNewRoomEarly.lua +0 -16
  543. package/callbacks/subscriptions/postNewRoomReordered.d.ts +0 -1
  544. package/callbacks/subscriptions/postNewRoomReordered.lua +0 -16
  545. package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +0 -6
  546. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +0 -28
  547. package/callbacks/subscriptions/postPickupCollect.d.ts +0 -4
  548. package/callbacks/subscriptions/postPickupCollect.lua +0 -23
  549. package/callbacks/subscriptions/postPickupInitLate.d.ts +0 -3
  550. package/callbacks/subscriptions/postPickupInitLate.lua +0 -23
  551. package/callbacks/subscriptions/postPickupStateChanged.d.ts +0 -5
  552. package/callbacks/subscriptions/postPickupStateChanged.lua +0 -23
  553. package/callbacks/subscriptions/postPitRender.d.ts +0 -5
  554. package/callbacks/subscriptions/postPitRender.lua +0 -24
  555. package/callbacks/subscriptions/postPitUpdate.d.ts +0 -5
  556. package/callbacks/subscriptions/postPitUpdate.lua +0 -24
  557. package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +0 -7
  558. package/callbacks/subscriptions/postPlayerChangeHealth.lua +0 -28
  559. package/callbacks/subscriptions/postPlayerChangeType.d.ts +0 -5
  560. package/callbacks/subscriptions/postPlayerChangeType.lua +0 -23
  561. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +0 -6
  562. package/callbacks/subscriptions/postPlayerFatalDamage.lua +0 -39
  563. package/callbacks/subscriptions/postPlayerInitLate.d.ts +0 -6
  564. package/callbacks/subscriptions/postPlayerInitLate.lua +0 -28
  565. package/callbacks/subscriptions/postPlayerInitReordered.d.ts +0 -6
  566. package/callbacks/subscriptions/postPlayerInitReordered.lua +0 -28
  567. package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +0 -6
  568. package/callbacks/subscriptions/postPlayerRenderReordered.lua +0 -28
  569. package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +0 -6
  570. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +0 -28
  571. package/callbacks/subscriptions/postPoopRender.d.ts +0 -5
  572. package/callbacks/subscriptions/postPoopRender.lua +0 -24
  573. package/callbacks/subscriptions/postPoopUpdate.d.ts +0 -5
  574. package/callbacks/subscriptions/postPoopUpdate.lua +0 -24
  575. package/callbacks/subscriptions/postPressurePlateRender.d.ts +0 -5
  576. package/callbacks/subscriptions/postPressurePlateRender.lua +0 -24
  577. package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +0 -5
  578. package/callbacks/subscriptions/postPressurePlateUpdate.lua +0 -24
  579. package/callbacks/subscriptions/postProjectileInitLate.d.ts +0 -5
  580. package/callbacks/subscriptions/postProjectileInitLate.lua +0 -23
  581. package/callbacks/subscriptions/postPurchase.d.ts +0 -6
  582. package/callbacks/subscriptions/postPurchase.lua +0 -16
  583. package/callbacks/subscriptions/postRockRender.d.ts +0 -5
  584. package/callbacks/subscriptions/postRockRender.lua +0 -24
  585. package/callbacks/subscriptions/postRockUpdate.d.ts +0 -5
  586. package/callbacks/subscriptions/postRockUpdate.lua +0 -24
  587. package/callbacks/subscriptions/postRoomClearChanged.d.ts +0 -3
  588. package/callbacks/subscriptions/postRoomClearChanged.lua +0 -16
  589. package/callbacks/subscriptions/postSacrifice.d.ts +0 -6
  590. package/callbacks/subscriptions/postSacrifice.lua +0 -28
  591. package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +0 -5
  592. package/callbacks/subscriptions/postSlotAnimationChanged.lua +0 -23
  593. package/callbacks/subscriptions/postSlotDestroyed.d.ts +0 -5
  594. package/callbacks/subscriptions/postSlotDestroyed.lua +0 -23
  595. package/callbacks/subscriptions/postSlotInit.d.ts +0 -5
  596. package/callbacks/subscriptions/postSlotInit.lua +0 -23
  597. package/callbacks/subscriptions/postSlotRender.d.ts +0 -5
  598. package/callbacks/subscriptions/postSlotRender.lua +0 -23
  599. package/callbacks/subscriptions/postSlotUpdate.d.ts +0 -5
  600. package/callbacks/subscriptions/postSlotUpdate.lua +0 -23
  601. package/callbacks/subscriptions/postSpikesRender.d.ts +0 -5
  602. package/callbacks/subscriptions/postSpikesRender.lua +0 -24
  603. package/callbacks/subscriptions/postSpikesUpdate.d.ts +0 -5
  604. package/callbacks/subscriptions/postSpikesUpdate.lua +0 -24
  605. package/callbacks/subscriptions/postTNTRender.d.ts +0 -5
  606. package/callbacks/subscriptions/postTNTRender.lua +0 -24
  607. package/callbacks/subscriptions/postTNTUpdate.d.ts +0 -5
  608. package/callbacks/subscriptions/postTNTUpdate.lua +0 -24
  609. package/callbacks/subscriptions/postTearInitLate.d.ts +0 -5
  610. package/callbacks/subscriptions/postTearInitLate.lua +0 -23
  611. package/callbacks/subscriptions/postTearInitVeryLate.d.ts +0 -5
  612. package/callbacks/subscriptions/postTearInitVeryLate.lua +0 -23
  613. package/callbacks/subscriptions/postTransformation.d.ts +0 -5
  614. package/callbacks/subscriptions/postTransformation.lua +0 -23
  615. package/callbacks/subscriptions/postTrinketBreak.d.ts +0 -5
  616. package/callbacks/subscriptions/postTrinketBreak.lua +0 -23
  617. package/callbacks/subscriptions/preBerserkDeath.d.ts +0 -6
  618. package/callbacks/subscriptions/preBerserkDeath.lua +0 -29
  619. package/callbacks/subscriptions/preCustomRevive.d.ts +0 -6
  620. package/callbacks/subscriptions/preCustomRevive.lua +0 -32
  621. package/callbacks/subscriptions/preItemPickup.d.ts +0 -11
  622. package/callbacks/subscriptions/preItemPickup.lua +0 -27
  623. package/callbacks/subscriptions/preNewLevel.d.ts +0 -4
  624. package/callbacks/subscriptions/preNewLevel.lua +0 -16
  625. package/classes/DefaultMap.d.ts +0 -79
  626. package/classes/DefaultMap.lua +0 -84
  627. package/classes/ModUpgraded.d.ts +0 -23
  628. package/classes/ModUpgraded.lua +0 -38
  629. package/constants.d.ts +0 -104
  630. package/constants.lua +0 -45
  631. package/constantsFirstLast.d.ts +0 -130
  632. package/constantsFirstLast.lua +0 -50
  633. package/enums/HealthType.d.ts +0 -16
  634. package/enums/HealthType.lua +0 -21
  635. package/enums/ModCallbackCustom.d.ts +0 -860
  636. package/enums/ModCallbackCustom.lua +0 -153
  637. package/enums/PocketItemType.d.ts +0 -8
  638. package/enums/PocketItemType.lua +0 -15
  639. package/enums/SerializationType.d.ts +0 -5
  640. package/enums/SerializationType.lua +0 -9
  641. package/enums/private/CopyableIsaacAPIClassType.d.ts +0 -7
  642. package/enums/private/CopyableIsaacAPIClassType.lua +0 -7
  643. package/enums/private/SaveDataKey.d.ts +0 -7
  644. package/enums/private/SaveDataKey.lua +0 -11
  645. package/enums/private/SerializationBrand.d.ts +0 -37
  646. package/enums/private/SerializationBrand.lua +0 -12
  647. package/features/characterHealthConversion.d.ts +0 -9
  648. package/features/characterHealthConversion.lua +0 -85
  649. package/features/characterStats.d.ts +0 -19
  650. package/features/characterStats.lua +0 -37
  651. package/features/debugDisplay/debugDisplay.d.ts +0 -2
  652. package/features/debugDisplay/debugDisplay.lua +0 -181
  653. package/features/debugDisplay/exports.d.ts +0 -199
  654. package/features/debugDisplay/exports.lua +0 -133
  655. package/features/debugDisplay/v.d.ts +0 -44
  656. package/features/debugDisplay/v.lua +0 -54
  657. package/features/deployJSONRoom.d.ts +0 -65
  658. package/features/deployJSONRoom.lua +0 -463
  659. package/features/disableInputs.d.ts +0 -62
  660. package/features/disableInputs.lua +0 -89
  661. package/features/disableSound.d.ts +0 -18
  662. package/features/disableSound.lua +0 -48
  663. package/features/extraConsoleCommands/commandsDisplay.d.ts +0 -162
  664. package/features/extraConsoleCommands/commandsDisplay.lua +0 -129
  665. package/features/extraConsoleCommands/commandsSubroutines.d.ts +0 -9
  666. package/features/extraConsoleCommands/commandsSubroutines.lua +0 -129
  667. package/features/extraConsoleCommands/init.d.ts +0 -26
  668. package/features/extraConsoleCommands/init.lua +0 -249
  669. package/features/extraConsoleCommands/listCommands.d.ts +0 -349
  670. package/features/extraConsoleCommands/listCommands.lua +0 -922
  671. package/features/extraConsoleCommands/v.d.ts +0 -13
  672. package/features/extraConsoleCommands/v.lua +0 -10
  673. package/features/fadeInRemover.d.ts +0 -14
  674. package/features/fadeInRemover.lua +0 -45
  675. package/features/fastReset.d.ts +0 -14
  676. package/features/fastReset.lua +0 -49
  677. package/features/forgottenSwitch.d.ts +0 -5
  678. package/features/forgottenSwitch.lua +0 -28
  679. package/features/getCollectibleItemPoolType.d.ts +0 -7
  680. package/features/getCollectibleItemPoolType.lua +0 -43
  681. package/features/playerInventory.d.ts +0 -23
  682. package/features/playerInventory.lua +0 -129
  683. package/features/ponyDetection.d.ts +0 -6
  684. package/features/ponyDetection.lua +0 -49
  685. package/features/preventCollectibleRotation.d.ts +0 -11
  686. package/features/preventCollectibleRotation.lua +0 -58
  687. package/features/runInNFrames.d.ts +0 -61
  688. package/features/runInNFrames.lua +0 -78
  689. package/features/saveDataManager/constants.d.ts +0 -3
  690. package/features/saveDataManager/constants.lua +0 -4
  691. package/features/saveDataManager/exports.d.ts +0 -131
  692. package/features/saveDataManager/exports.lua +0 -66
  693. package/features/saveDataManager/load.d.ts +0 -4
  694. package/features/saveDataManager/load.lua +0 -66
  695. package/features/saveDataManager/main.d.ts +0 -3
  696. package/features/saveDataManager/main.lua +0 -119
  697. package/features/saveDataManager/maps.d.ts +0 -10
  698. package/features/saveDataManager/maps.lua +0 -8
  699. package/features/saveDataManager/merge.d.ts +0 -24
  700. package/features/saveDataManager/merge.lua +0 -124
  701. package/features/saveDataManager/save.d.ts +0 -4
  702. package/features/saveDataManager/save.lua +0 -44
  703. package/features/saveDataManager/serializationBrand.d.ts +0 -1
  704. package/features/saveDataManager/serializationBrand.lua +0 -17
  705. package/features/sirenHelpers.d.ts +0 -18
  706. package/features/sirenHelpers.lua +0 -69
  707. package/features/taintedLazarusPlayers.d.ts +0 -13
  708. package/features/taintedLazarusPlayers.lua +0 -74
  709. package/featuresInitialized.d.ts +0 -1
  710. package/featuresInitialized.lua +0 -14
  711. package/functions/array.d.ts +0 -141
  712. package/functions/array.lua +0 -269
  713. package/functions/benchmark.d.ts +0 -10
  714. package/functions/benchmark.lua +0 -32
  715. package/functions/bitwise.d.ts +0 -4
  716. package/functions/bitwise.lua +0 -21
  717. package/functions/boss.d.ts +0 -56
  718. package/functions/boss.lua +0 -183
  719. package/functions/cacheFlag.d.ts +0 -8
  720. package/functions/cacheFlag.lua +0 -7
  721. package/functions/cards.d.ts +0 -95
  722. package/functions/cards.lua +0 -174
  723. package/functions/challenges.d.ts +0 -3
  724. package/functions/challenges.lua +0 -9
  725. package/functions/character.d.ts +0 -48
  726. package/functions/character.lua +0 -73
  727. package/functions/charge.d.ts +0 -54
  728. package/functions/charge.lua +0 -123
  729. package/functions/chargeBar.d.ts +0 -12
  730. package/functions/chargeBar.lua +0 -43
  731. package/functions/collectibleCacheFlag.d.ts +0 -23
  732. package/functions/collectibleCacheFlag.lua +0 -65
  733. package/functions/collectibleSet.d.ts +0 -9
  734. package/functions/collectibleSet.lua +0 -51
  735. package/functions/collectibleTag.d.ts +0 -16
  736. package/functions/collectibleTag.lua +0 -74
  737. package/functions/collectibles.d.ts +0 -211
  738. package/functions/collectibles.lua +0 -281
  739. package/functions/color.d.ts +0 -45
  740. package/functions/color.lua +0 -122
  741. package/functions/debug.d.ts +0 -27
  742. package/functions/debug.lua +0 -31
  743. package/functions/deepCopy.d.ts +0 -29
  744. package/functions/deepCopy.lua +0 -357
  745. package/functions/deepCopyTests.d.ts +0 -1
  746. package/functions/deepCopyTests.lua +0 -316
  747. package/functions/direction.d.ts +0 -4
  748. package/functions/direction.lua +0 -17
  749. package/functions/doors.d.ts +0 -117
  750. package/functions/doors.lua +0 -231
  751. package/functions/easing.d.ts +0 -30
  752. package/functions/easing.lua +0 -115
  753. package/functions/eden.d.ts +0 -3
  754. package/functions/eden.lua +0 -47
  755. package/functions/entity.d.ts +0 -131
  756. package/functions/entity.lua +0 -233
  757. package/functions/entitySpecific.d.ts +0 -264
  758. package/functions/entitySpecific.lua +0 -650
  759. package/functions/entityTypes.d.ts +0 -3
  760. package/functions/entityTypes.lua +0 -7
  761. package/functions/enums.d.ts +0 -80
  762. package/functions/enums.lua +0 -85
  763. package/functions/familiars.d.ts +0 -60
  764. package/functions/familiars.lua +0 -33
  765. package/functions/flag.d.ts +0 -99
  766. package/functions/flag.lua +0 -47
  767. package/functions/flying.d.ts +0 -19
  768. package/functions/flying.lua +0 -67
  769. package/functions/globals.d.ts +0 -14
  770. package/functions/globals.lua +0 -230
  771. package/functions/gridEntity.d.ts +0 -155
  772. package/functions/gridEntity.lua +0 -263
  773. package/functions/gridEntitySpecific.d.ts +0 -18
  774. package/functions/gridEntitySpecific.lua +0 -88
  775. package/functions/input.d.ts +0 -32
  776. package/functions/input.lua +0 -106
  777. package/functions/isaacAPIClass.d.ts +0 -23
  778. package/functions/isaacAPIClass.lua +0 -35
  779. package/functions/jsonHelpers.d.ts +0 -18
  780. package/functions/jsonHelpers.lua +0 -26
  781. package/functions/jsonRoom.d.ts +0 -12
  782. package/functions/jsonRoom.lua +0 -86
  783. package/functions/kColor.d.ts +0 -31
  784. package/functions/kColor.lua +0 -101
  785. package/functions/language.d.ts +0 -2
  786. package/functions/language.lua +0 -17
  787. package/functions/level.d.ts +0 -1
  788. package/functions/level.lua +0 -29
  789. package/functions/log.d.ts +0 -78
  790. package/functions/log.lua +0 -519
  791. package/functions/map.d.ts +0 -22
  792. package/functions/map.lua +0 -43
  793. package/functions/math.d.ts +0 -50
  794. package/functions/math.lua +0 -92
  795. package/functions/mergeTests.d.ts +0 -1
  796. package/functions/mergeTests.lua +0 -182
  797. package/functions/npc.d.ts +0 -40
  798. package/functions/npc.lua +0 -104
  799. package/functions/pickupVariants.d.ts +0 -23
  800. package/functions/pickupVariants.lua +0 -37
  801. package/functions/pickups.d.ts +0 -132
  802. package/functions/pickups.lua +0 -407
  803. package/functions/pills.d.ts +0 -69
  804. package/functions/pills.lua +0 -83
  805. package/functions/player.d.ts +0 -296
  806. package/functions/player.lua +0 -611
  807. package/functions/playerDataStructures.d.ts +0 -92
  808. package/functions/playerDataStructures.lua +0 -38
  809. package/functions/playerHealth.d.ts +0 -22
  810. package/functions/playerHealth.lua +0 -286
  811. package/functions/playerIndex.d.ts +0 -68
  812. package/functions/playerIndex.lua +0 -127
  813. package/functions/pocketItems.d.ts +0 -33
  814. package/functions/pocketItems.lua +0 -86
  815. package/functions/positionVelocity.d.ts +0 -64
  816. package/functions/positionVelocity.lua +0 -108
  817. package/functions/random.d.ts +0 -42
  818. package/functions/random.lua +0 -38
  819. package/functions/revive.d.ts +0 -31
  820. package/functions/revive.lua +0 -102
  821. package/functions/rng.d.ts +0 -53
  822. package/functions/rng.lua +0 -129
  823. package/functions/roomData.d.ts +0 -108
  824. package/functions/roomData.lua +0 -92
  825. package/functions/roomGrid.d.ts +0 -40
  826. package/functions/roomGrid.lua +0 -59
  827. package/functions/roomShape.d.ts +0 -43
  828. package/functions/roomShape.lua +0 -45
  829. package/functions/rooms.d.ts +0 -194
  830. package/functions/rooms.lua +0 -382
  831. package/functions/run.d.ts +0 -12
  832. package/functions/run.lua +0 -28
  833. package/functions/seeds.d.ts +0 -9
  834. package/functions/seeds.lua +0 -15
  835. package/functions/serialization.d.ts +0 -11
  836. package/functions/serialization.lua +0 -65
  837. package/functions/set.d.ts +0 -39
  838. package/functions/set.lua +0 -61
  839. package/functions/sound.d.ts +0 -1
  840. package/functions/sound.lua +0 -13
  841. package/functions/spawnCollectible.d.ts +0 -31
  842. package/functions/spawnCollectible.lua +0 -70
  843. package/functions/sprite.d.ts +0 -36
  844. package/functions/sprite.lua +0 -64
  845. package/functions/stage.d.ts +0 -35
  846. package/functions/stage.lua +0 -70
  847. package/functions/string.d.ts +0 -13
  848. package/functions/string.lua +0 -36
  849. package/functions/table.d.ts +0 -36
  850. package/functions/table.lua +0 -79
  851. package/functions/tears.d.ts +0 -22
  852. package/functions/tears.lua +0 -14
  853. package/functions/transformations.d.ts +0 -30
  854. package/functions/transformations.lua +0 -96
  855. package/functions/trinketCacheFlag.d.ts +0 -10
  856. package/functions/trinketCacheFlag.lua +0 -50
  857. package/functions/trinketGive.d.ts +0 -38
  858. package/functions/trinketGive.lua +0 -90
  859. package/functions/trinkets.d.ts +0 -73
  860. package/functions/trinkets.lua +0 -115
  861. package/functions/tstlClass.d.ts +0 -20
  862. package/functions/tstlClass.lua +0 -56
  863. package/functions/ui.d.ts +0 -34
  864. package/functions/ui.lua +0 -95
  865. package/functions/utils.d.ts +0 -112
  866. package/functions/utils.lua +0 -94
  867. package/functions/vector.d.ts +0 -32
  868. package/functions/vector.lua +0 -118
  869. package/index.d.ts +0 -128
  870. package/index.lua +0 -900
  871. package/initCustomCallbacks.d.ts +0 -2
  872. package/initCustomCallbacks.lua +0 -178
  873. package/initFeatures.d.ts +0 -3
  874. package/initFeatures.lua +0 -51
  875. package/interfaces/AddCallbackParameterCustom.d.ts +0 -153
  876. package/interfaces/AddCallbackParameterCustom.lua +0 -4
  877. package/interfaces/ChargeBarSprites.d.ts +0 -13
  878. package/interfaces/ChargeBarSprites.lua +0 -2
  879. package/interfaces/JSONDoor.d.ts +0 -11
  880. package/interfaces/JSONDoor.lua +0 -2
  881. package/interfaces/JSONEntity.d.ts +0 -13
  882. package/interfaces/JSONEntity.lua +0 -2
  883. package/interfaces/JSONRoom.d.ts +0 -26
  884. package/interfaces/JSONRoom.lua +0 -2
  885. package/interfaces/JSONRooms.d.ts +0 -11
  886. package/interfaces/JSONRooms.lua +0 -2
  887. package/interfaces/JSONSpawn.d.ts +0 -11
  888. package/interfaces/JSONSpawn.lua +0 -2
  889. package/interfaces/PlayerHealth.d.ts +0 -15
  890. package/interfaces/PlayerHealth.lua +0 -2
  891. package/interfaces/PocketItemDescription.d.ts +0 -8
  892. package/interfaces/PocketItemDescription.lua +0 -2
  893. package/interfaces/SaveData.d.ts +0 -29
  894. package/interfaces/SaveData.lua +0 -2
  895. package/interfaces/TrinketSituation.d.ts +0 -8
  896. package/interfaces/TrinketSituation.lua +0 -2
  897. package/interfaces/private/TSTLClassMetatable.d.ts +0 -10
  898. package/interfaces/private/TSTLClassMetatable.lua +0 -2
  899. package/lualib_bundle.lua +0 -2488
  900. package/maps/cardMap.d.ts +0 -3
  901. package/maps/cardMap.lua +0 -211
  902. package/maps/characterMap.d.ts +0 -3
  903. package/maps/characterMap.lua +0 -89
  904. package/maps/collectibleDescriptionMap.d.ts +0 -3
  905. package/maps/collectibleDescriptionMap.lua +0 -728
  906. package/maps/collectibleNameMap.d.ts +0 -3
  907. package/maps/collectibleNameMap.lua +0 -728
  908. package/maps/defaultPlayerStatMap.d.ts +0 -3
  909. package/maps/defaultPlayerStatMap.lua +0 -24
  910. package/maps/gridEntityTypeToBrokenStateMap.d.ts +0 -2
  911. package/maps/gridEntityTypeToBrokenStateMap.lua +0 -26
  912. package/maps/gridEntityXMLMap.d.ts +0 -9
  913. package/maps/gridEntityXMLMap.lua +0 -51
  914. package/maps/pillEffectMap.d.ts +0 -3
  915. package/maps/pillEffectMap.lua +0 -89
  916. package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +0 -7
  917. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +0 -15
  918. package/maps/roomTypeMap.d.ts +0 -3
  919. package/maps/roomTypeMap.lua +0 -44
  920. package/maps/trinketDescriptionMap.d.ts +0 -3
  921. package/maps/trinketDescriptionMap.lua +0 -196
  922. package/maps/trinketNameMap.d.ts +0 -3
  923. package/maps/trinketNameMap.lua +0 -196
  924. package/objects/LRoomShapeToRectangles.d.ts +0 -13
  925. package/objects/LRoomShapeToRectangles.lua +0 -33
  926. package/objects/callbackRegisterFunctions.d.ts +0 -5
  927. package/objects/callbackRegisterFunctions.lua +0 -231
  928. package/objects/cardDescriptions.d.ts +0 -5
  929. package/objects/cardDescriptions.lua +0 -105
  930. package/objects/cardNames.d.ts +0 -5
  931. package/objects/cardNames.lua +0 -105
  932. package/objects/cardTypes.d.ts +0 -5
  933. package/objects/cardTypes.lua +0 -106
  934. package/objects/challengeNames.d.ts +0 -5
  935. package/objects/challengeNames.lua +0 -53
  936. package/objects/characterNames.d.ts +0 -5
  937. package/objects/characterNames.lua +0 -49
  938. package/objects/coinSubTypeToValue.d.ts +0 -5
  939. package/objects/coinSubTypeToValue.lua +0 -15
  940. package/objects/colors.d.ts +0 -17
  941. package/objects/colors.lua +0 -12
  942. package/objects/directionNames.d.ts +0 -4
  943. package/objects/directionNames.lua +0 -11
  944. package/objects/directionToDegrees.d.ts +0 -4
  945. package/objects/directionToDegrees.lua +0 -11
  946. package/objects/directionToVector.d.ts +0 -4
  947. package/objects/directionToVector.lua +0 -13
  948. package/objects/doorSlotFlagToDoorSlot.d.ts +0 -5
  949. package/objects/doorSlotFlagToDoorSlot.lua +0 -16
  950. package/objects/doorSlotToDirection.d.ts +0 -4
  951. package/objects/doorSlotToDirection.lua +0 -16
  952. package/objects/isaacAPIClassTypeToBrand.d.ts +0 -5
  953. package/objects/isaacAPIClassTypeToBrand.lua +0 -7
  954. package/objects/isaacAPIClassTypeToCopyFunction.d.ts +0 -5
  955. package/objects/isaacAPIClassTypeToCopyFunction.lua +0 -13
  956. package/objects/pillEffectClasses.d.ts +0 -5
  957. package/objects/pillEffectClasses.lua +0 -59
  958. package/objects/pillEffectNames.d.ts +0 -5
  959. package/objects/pillEffectNames.lua +0 -57
  960. package/objects/pillEffectTypes.d.ts +0 -5
  961. package/objects/pillEffectTypes.lua +0 -58
  962. package/objects/roomShapeBounds.d.ts +0 -8
  963. package/objects/roomShapeBounds.lua +0 -24
  964. package/objects/roomShapeLayoutSizes.d.ts +0 -10
  965. package/objects/roomShapeLayoutSizes.lua +0 -25
  966. package/objects/roomShapeToBottomRightPosition.d.ts +0 -8
  967. package/objects/roomShapeToBottomRightPosition.lua +0 -20
  968. package/objects/roomShapeToDoorSlots.d.ts +0 -4
  969. package/objects/roomShapeToDoorSlots.lua +0 -46
  970. package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +0 -8
  971. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +0 -87
  972. package/objects/roomShapeToGridWidth.d.ts +0 -4
  973. package/objects/roomShapeToGridWidth.lua +0 -20
  974. package/objects/roomShapeToTopLeftPosition.d.ts +0 -8
  975. package/objects/roomShapeToTopLeftPosition.lua +0 -22
  976. package/objects/roomShapeVolumes.d.ts +0 -13
  977. package/objects/roomShapeVolumes.lua +0 -27
  978. package/objects/roomTypeNames.d.ts +0 -5
  979. package/objects/roomTypeNames.lua +0 -37
  980. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +0 -4
  981. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +0 -13
  982. package/objects/stageTypeToLetter.d.ts +0 -4
  983. package/objects/stageTypeToLetter.lua +0 -12
  984. package/objects/transformationNames.d.ts +0 -5
  985. package/objects/transformationNames.lua +0 -21
  986. package/patchErrorFunctions.d.ts +0 -1
  987. package/patchErrorFunctions.lua +0 -50
  988. package/sets/LRoomShapesSet.d.ts +0 -2
  989. package/sets/LRoomShapesSet.lua +0 -8
  990. package/sets/bossSets.d.ts +0 -4
  991. package/sets/bossSets.lua +0 -531
  992. package/sets/charactersThatStartWithAnActiveItemSet.d.ts +0 -2
  993. package/sets/charactersThatStartWithAnActiveItemSet.lua +0 -20
  994. package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +0 -2
  995. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +0 -8
  996. package/sets/charactersWithFreeDevilDealsSet.d.ts +0 -2
  997. package/sets/charactersWithFreeDevilDealsSet.lua +0 -8
  998. package/sets/charactersWithNoRedHeartsSet.d.ts +0 -6
  999. package/sets/charactersWithNoRedHeartsSet.lua +0 -17
  1000. package/sets/charactersWithNoSoulHeartsSet.d.ts +0 -6
  1001. package/sets/charactersWithNoSoulHeartsSet.lua +0 -14
  1002. package/sets/chestPickupVariantsSet.d.ts +0 -2
  1003. package/sets/chestPickupVariantsSet.lua +0 -21
  1004. package/sets/familiarsThatShootPlayerTearsSet.d.ts +0 -2
  1005. package/sets/familiarsThatShootPlayerTearsSet.lua +0 -17
  1006. package/sets/lostStyleCharactersSet.d.ts +0 -6
  1007. package/sets/lostStyleCharactersSet.lua +0 -14
  1008. package/sets/mineShaftRoomSubTypesSet.d.ts +0 -2
  1009. package/sets/mineShaftRoomSubTypesSet.lua +0 -14
  1010. package/sets/redHeartSubTypesSet.d.ts +0 -2
  1011. package/sets/redHeartSubTypesSet.lua +0 -8
  1012. package/sets/sinEntityTypesSet.d.ts +0 -2
  1013. package/sets/sinEntityTypesSet.lua +0 -16
  1014. package/sets/singleUseActiveCollectibleTypesSet.d.ts +0 -2
  1015. package/sets/singleUseActiveCollectibleTypesSet.lua +0 -17
  1016. package/sets/storyBossesSet.d.ts +0 -2
  1017. package/sets/storyBossesSet.lua +0 -22
  1018. package/types/AnyEntity.d.ts +0 -2
  1019. package/types/AnyEntity.lua +0 -2
  1020. package/types/CollectibleIndex.d.ts +0 -16
  1021. package/types/CollectibleIndex.lua +0 -2
  1022. package/types/PickingUpItem.d.ts +0 -34
  1023. package/types/PickingUpItem.lua +0 -27
  1024. package/types/PlayerIndex.d.ts +0 -16
  1025. package/types/PlayerIndex.lua +0 -2
  1026. package/types/private/IsaacAPIClass.d.ts +0 -4
  1027. package/types/private/IsaacAPIClass.lua +0 -2
  1028. package/types/private/SerializedIsaacAPIClass.d.ts +0 -4
  1029. package/types/private/SerializedIsaacAPIClass.lua +0 -2
  1030. package/types/private/TSTLClass.d.ts +0 -4
  1031. package/types/private/TSTLClass.lua +0 -2
  1032. package/upgradeMod.d.ts +0 -23
  1033. package/upgradeMod.lua +0 -33
@@ -0,0 +1,139 @@
1
+ import {
2
+ ButtonAction,
3
+ Controller,
4
+ ControllerIndex,
5
+ Keyboard,
6
+ } from "isaac-typescript-definitions";
7
+ import { MAX_NUM_INPUTS } from "../constants";
8
+ import { copySet } from "./set";
9
+ import { trimPrefix } from "./string";
10
+ import { erange } from "./utils";
11
+
12
+ const MODIFIER_KEYS: readonly Keyboard[] = [
13
+ Keyboard.LEFT_SHIFT, // 340
14
+ Keyboard.LEFT_CONTROL, // 341
15
+ Keyboard.LEFT_ALT, // 342
16
+ Keyboard.LEFT_SUPER, // 343
17
+ Keyboard.RIGHT_SHIFT, // 344
18
+ Keyboard.RIGHT_CONTROL, // 345
19
+ Keyboard.RIGHT_ALT, // 346
20
+ Keyboard.RIGHT_SUPER, // 347
21
+ ];
22
+
23
+ const MOVEMENT_ACTIONS: readonly ButtonAction[] = [
24
+ ButtonAction.LEFT, // 0
25
+ ButtonAction.RIGHT, // 1
26
+ ButtonAction.UP, // 2
27
+ ButtonAction.DOWN, // 3
28
+ ];
29
+
30
+ const MOVEMENT_ACTIONS_SET: ReadonlySet<ButtonAction> = new Set(
31
+ MOVEMENT_ACTIONS,
32
+ );
33
+
34
+ const SHOOTING_ACTIONS: readonly ButtonAction[] = [
35
+ ButtonAction.SHOOT_LEFT, // 4
36
+ ButtonAction.SHOOT_RIGHT, // 5
37
+ ButtonAction.SHOOT_UP, // 6
38
+ ButtonAction.SHOOT_DOWN, // 7
39
+ ];
40
+
41
+ const SHOOTING_ACTIONS_SET: ReadonlySet<ButtonAction> = new Set(
42
+ SHOOTING_ACTIONS,
43
+ );
44
+
45
+ /** Helper function to get the enum name for the specified `Controller` value. */
46
+ export function controllerToString(controller: Controller): string {
47
+ const key = Controller[controller];
48
+ if (key === undefined) {
49
+ return "unknown";
50
+ }
51
+
52
+ return trimPrefix(key, "BUTTON_");
53
+ }
54
+
55
+ export function getMoveActions(): Set<ButtonAction> {
56
+ return copySet(MOVEMENT_ACTIONS_SET);
57
+ }
58
+
59
+ export function getShootActions(): Set<ButtonAction> {
60
+ return copySet(SHOOTING_ACTIONS_SET);
61
+ }
62
+
63
+ /** Iterates over all inputs to determine if a particular button is pressed (i.e. held down). */
64
+ export function isActionPressedOnAnyInput(buttonAction: ButtonAction): boolean {
65
+ const validInputs = erange(MAX_NUM_INPUTS);
66
+ return validInputs.some((input) =>
67
+ Input.IsActionPressed(buttonAction, input),
68
+ );
69
+ }
70
+
71
+ /**
72
+ * Iterates over all inputs to determine if a particular button is triggered (i.e. held down and
73
+ * then released).
74
+ */
75
+ export function isActionTriggeredOnAnyInput(
76
+ buttonAction: ButtonAction,
77
+ ): boolean {
78
+ const validInputs = erange(MAX_NUM_INPUTS);
79
+ return validInputs.some((input) =>
80
+ Input.IsActionTriggered(buttonAction, input),
81
+ );
82
+ }
83
+
84
+ /**
85
+ * Helper function to see if a particular keyboard key is being pressed down by the player.
86
+ *
87
+ * This function is variadic, meaning you can pass as many keyboard values as you want to check for.
88
+ * This function will return true if any of the values are pressed.
89
+ */
90
+ export function isKeyboardPressed(...keys: Keyboard[]): boolean {
91
+ return keys.some((key) =>
92
+ Input.IsButtonPressed(key, ControllerIndex.KEYBOARD),
93
+ );
94
+ }
95
+
96
+ /**
97
+ * Helper function to check if one or more modifier keys are being pressed down on the keyboard.
98
+ *
99
+ * A modifier key is defined as shift, control, alt, or Windows.
100
+ */
101
+ export function isModifierKeyPressed(): boolean {
102
+ return isKeyboardPressed(...MODIFIER_KEYS);
103
+ }
104
+
105
+ export function isMoveAction(buttonAction: ButtonAction): boolean {
106
+ return MOVEMENT_ACTIONS_SET.has(buttonAction);
107
+ }
108
+
109
+ export function isMoveActionPressedOnAnyInput(): boolean {
110
+ return MOVEMENT_ACTIONS.some((moveAction) =>
111
+ isActionPressedOnAnyInput(moveAction),
112
+ );
113
+ }
114
+
115
+ export function isMoveActionTriggeredOnAnyInput(): boolean {
116
+ return MOVEMENT_ACTIONS.some((moveAction) =>
117
+ isActionTriggeredOnAnyInput(moveAction),
118
+ );
119
+ }
120
+
121
+ export function isShootAction(buttonAction: ButtonAction): boolean {
122
+ return SHOOTING_ACTIONS_SET.has(buttonAction);
123
+ }
124
+
125
+ export function isShootActionPressedOnAnyInput(): boolean {
126
+ return SHOOTING_ACTIONS.some((shootAction) =>
127
+ isActionPressedOnAnyInput(shootAction),
128
+ );
129
+ }
130
+
131
+ export function isShootActionTriggeredOnAnyInput(): boolean {
132
+ return SHOOTING_ACTIONS.some((shootAction) =>
133
+ isActionTriggeredOnAnyInput(shootAction),
134
+ );
135
+ }
136
+
137
+ export function keyboardToString(keyboard: Keyboard): string {
138
+ return Keyboard[keyboard] ?? "unknown";
139
+ }
@@ -0,0 +1,65 @@
1
+ import { IsaacAPIClass } from "../types/private/IsaacAPIClass";
2
+
3
+ /**
4
+ * Helper function to get the type of a class from the Isaac API. This is contained within the
5
+ * "__type" metatable key. In this context, the type of the class is equivalent to the name.
6
+ *
7
+ * For example, a `Vector` class is has a type of "Vector".
8
+ *
9
+ * Returns undefined if the object is not of type `userdata` or if the "__type" metatable key does
10
+ * not exist.
11
+ */
12
+ export function getIsaacAPIClassType(object: unknown): string | undefined {
13
+ const objectType = type(object);
14
+ if (objectType !== "userdata") {
15
+ return undefined;
16
+ }
17
+
18
+ const metatable = getmetatable(object) as LuaTable<string, unknown>;
19
+ if (metatable === undefined) {
20
+ return undefined;
21
+ }
22
+
23
+ const classType = metatable.get("__type");
24
+ if (typeof classType !== "string") {
25
+ return undefined;
26
+ }
27
+
28
+ return classType;
29
+ }
30
+
31
+ /**
32
+ * Helper function to check if something is an instantiated class from the Isaac API. (All classes
33
+ * from the Isaac API have a type of "userdata" in Lua with a metatable key of "__type" equal to the
34
+ * name of the class.)
35
+ */
36
+ export function isIsaacAPIClass(object: unknown): object is IsaacAPIClass {
37
+ const isaacAPIClassType = getIsaacAPIClassType(object);
38
+ return isaacAPIClassType !== undefined;
39
+ }
40
+
41
+ export function isIsaacAPIClassOfType(
42
+ object: unknown,
43
+ classType: string,
44
+ ): boolean {
45
+ const isaacAPIClassType = getIsaacAPIClassType(object);
46
+ return (
47
+ isaacAPIClassType === classType ||
48
+ isaacAPIClassType === `const ${classType}`
49
+ );
50
+ }
51
+
52
+ /**
53
+ * Helper function to check if an instantiated Isaac API class is equal to another one of the same
54
+ * type. You must provide the list of keys to check for.
55
+ */
56
+ export function isaacAPIClassEquals(
57
+ object1: unknown,
58
+ object2: unknown,
59
+ keys: string[],
60
+ ): boolean {
61
+ const table1 = object1 as LuaTable<AnyNotNil, unknown>;
62
+ const table2 = object2 as LuaTable<AnyNotNil, unknown>;
63
+
64
+ return keys.every((key) => table1.get(key) === table2.get(key));
65
+ }
@@ -0,0 +1,45 @@
1
+ import * as json from "json";
2
+ import { logError } from "./log";
3
+
4
+ function tryDecode(this: void, jsonString: string) {
5
+ return json.decode(jsonString) as LuaTable;
6
+ }
7
+
8
+ function tryEncode(this: void, table: unknown) {
9
+ return json.encode(table);
10
+ }
11
+
12
+ /**
13
+ * Converts a JSON string to a Lua table.
14
+ *
15
+ * In most cases, this function will be used for reading data from a "save#.dat" file. If decoding
16
+ * fails, it will return a blank Lua table instead of throwing an error. (This allows execution to
17
+ * continue in cases where users have no current save data or have manually removed their existing
18
+ * save data.)
19
+ */
20
+ export function jsonDecode(jsonString: string): LuaTable<AnyNotNil, unknown> {
21
+ const [ok, luaTableOrErrMsg] = pcall(tryDecode, jsonString);
22
+ if (!ok) {
23
+ // Instead of throwing an error, continue execution of the callback.
24
+ logError(`Failed to convert the JSON string to a Lua table: ${jsonString}`);
25
+ return new LuaTable();
26
+ }
27
+
28
+ return luaTableOrErrMsg;
29
+ }
30
+
31
+ /**
32
+ * Converts a Lua table to a JSON string.
33
+ *
34
+ * In most cases, this function will be used for writing data to a "save#.dat" file. If encoding
35
+ * fails, it will throw an error to prevent writing a blank string or corrupted data to a user's
36
+ * "save#.dat" file.
37
+ */
38
+ export function jsonEncode(table: unknown): string {
39
+ const [ok, jsonStringOrErrMsg] = pcall(tryEncode, table);
40
+ if (!ok) {
41
+ error(`Failed to convert the Lua table to JSON: ${jsonStringOrErrMsg}`);
42
+ }
43
+
44
+ return jsonStringOrErrMsg;
45
+ }
@@ -0,0 +1,100 @@
1
+ import { JSONRoom } from "../interfaces/JSONRoom";
2
+ import { sumArray } from "./array";
3
+ import { log } from "./log";
4
+ import { getRandomFloat } from "./random";
5
+ import { getRandomSeed } from "./rng";
6
+
7
+ export function getJSONRoomOfVariant(
8
+ jsonRooms: JSONRoom[],
9
+ variant: int,
10
+ ): JSONRoom | undefined {
11
+ const jsonRoomsOfVariant = jsonRooms.filter((jsonRoom) => {
12
+ const roomVariantString = jsonRoom.$.variant;
13
+ const roomVariant = tonumber(roomVariantString);
14
+ return roomVariant === variant;
15
+ });
16
+
17
+ // The room variant acts as an ID for the room. We assume that there should only be a single room
18
+ // per variant.
19
+ if (jsonRoomsOfVariant.length === 0) {
20
+ return undefined;
21
+ }
22
+
23
+ if (jsonRoomsOfVariant.length === 1) {
24
+ return jsonRoomsOfVariant[0];
25
+ }
26
+
27
+ return error(
28
+ `Found ${jsonRoomsOfVariant.length} JSON rooms with a variant of ${variant}, when there should only be 1.`,
29
+ );
30
+ }
31
+
32
+ export function getJSONRoomsOfSubType(
33
+ jsonRooms: JSONRoom[],
34
+ subType: int,
35
+ ): JSONRoom[] {
36
+ return jsonRooms.filter((jsonRoom) => {
37
+ const roomSubTypeString = jsonRoom.$.subtype;
38
+ const roomSubType = tonumber(roomSubTypeString);
39
+ return roomSubType === subType;
40
+ });
41
+ }
42
+
43
+ /**
44
+ * Helper function to get a random JSON room from an array of JSON rooms.
45
+ *
46
+ * Note that this function does not simply choose a random element in the provided array; it will
47
+ * properly account for each room weight using the algorithm from:
48
+ * https://stackoverflow.com/questions/1761626/weighted-random-numbers
49
+ */
50
+ export function getRandomJSONRoom(
51
+ jsonRooms: JSONRoom[],
52
+ seedOrRNG: Seed | RNG = getRandomSeed(),
53
+ verbose = false,
54
+ ): JSONRoom {
55
+ const totalWeight = getTotalWeightOfJSONRooms(jsonRooms);
56
+ if (verbose) {
57
+ log(`Total weight of the JSON rooms provided: ${totalWeight}`);
58
+ }
59
+
60
+ const chosenWeight = getRandomFloat(0, totalWeight, seedOrRNG);
61
+ if (verbose) {
62
+ log(`Randomly chose weight for JSON room: ${chosenWeight}`);
63
+ }
64
+
65
+ return getJSONRoomWithChosenWeight(jsonRooms, chosenWeight);
66
+ }
67
+
68
+ function getTotalWeightOfJSONRooms(jsonRooms: JSONRoom[]) {
69
+ const weights = jsonRooms.map((jsonRoom) => {
70
+ const roomWeightString = jsonRoom.$.weight;
71
+ const roomWeight = tonumber(roomWeightString);
72
+ if (roomWeight === undefined) {
73
+ error(`Failed to parse the weight of a JSON room: ${roomWeightString}.`);
74
+ }
75
+ return roomWeight;
76
+ });
77
+
78
+ return sumArray(weights);
79
+ }
80
+
81
+ function getJSONRoomWithChosenWeight(
82
+ jsonRooms: JSONRoom[],
83
+ chosenWeight: float,
84
+ ) {
85
+ for (const jsonRoom of jsonRooms) {
86
+ const roomWeightString = jsonRoom.$.weight;
87
+ const roomWeight = tonumber(roomWeightString);
88
+ if (roomWeight === undefined) {
89
+ error(`Failed to parse the weight of a JSON room: ${roomWeightString}`);
90
+ }
91
+
92
+ if (chosenWeight < roomWeight) {
93
+ return jsonRoom;
94
+ }
95
+
96
+ chosenWeight -= roomWeight;
97
+ }
98
+
99
+ return error(`Failed to get a JSON room with chosen weight: ${chosenWeight}`);
100
+ }
@@ -0,0 +1,130 @@
1
+ import { SerializationBrand } from "../enums/private/SerializationBrand";
2
+ import { SerializationType } from "../enums/SerializationType";
3
+ import { isaacAPIClassEquals, isIsaacAPIClassOfType } from "./isaacAPIClass";
4
+ import { copyValuesToTable, getNumbersFromTable, tableHasKeys } from "./table";
5
+ import { ensureAllCases } from "./utils";
6
+
7
+ type SerializedKColor = LuaTable<string, unknown> & {
8
+ __serializedKColorBrand: void;
9
+ };
10
+
11
+ interface CopyKColorReturn {
12
+ [SerializationType.NONE]: KColor;
13
+ [SerializationType.SERIALIZE]: SerializedKColor;
14
+ [SerializationType.DESERIALIZE]: KColor;
15
+ }
16
+
17
+ const KEYS = ["Red", "Green", "Blue", "Alpha"];
18
+ const OBJECT_NAME = "KColor";
19
+
20
+ /**
21
+ * Helper function to copy a `KColor` object.
22
+ *
23
+ * @param kColor The KColor object to copy. In the case of deserialization, this will actually be a
24
+ * Lua table instead of an instantiated KColor class.
25
+ * @param serializationType Default is `SerializationType.NONE`.
26
+ */
27
+ export function copyKColor<
28
+ K extends KColor | SerializedKColor,
29
+ S extends SerializationType,
30
+ >(kColor: K, serializationType: S): CopyKColorReturn[S];
31
+ export function copyKColor<K extends KColor | SerializedKColor>(
32
+ kColor: K,
33
+ ): CopyKColorReturn[SerializationType.NONE];
34
+ export function copyKColor(
35
+ kColor: KColor | SerializedKColor,
36
+ serializationType = SerializationType.NONE,
37
+ ): CopyKColorReturn[keyof CopyKColorReturn] {
38
+ switch (serializationType) {
39
+ case SerializationType.NONE: {
40
+ if (!isKColor(kColor)) {
41
+ error(
42
+ `Failed to copy a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
43
+ );
44
+ }
45
+
46
+ return KColor(kColor.Red, kColor.Green, kColor.Blue, kColor.Alpha);
47
+ }
48
+
49
+ case SerializationType.SERIALIZE: {
50
+ if (!isKColor(kColor)) {
51
+ error(
52
+ `Failed to serialize a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
53
+ );
54
+ }
55
+
56
+ const kColorTable = new LuaTable<string, unknown>();
57
+ copyValuesToTable(kColor, KEYS, kColorTable);
58
+ kColorTable.set(SerializationBrand.K_COLOR, "");
59
+ return kColorTable as SerializedKColor;
60
+ }
61
+
62
+ case SerializationType.DESERIALIZE: {
63
+ const kColorType = type(kColor);
64
+ if (isKColor(kColor) || kColorType !== "table") {
65
+ error(
66
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object was not a Lua table.`,
67
+ );
68
+ }
69
+
70
+ const [r, g, b, a] = getNumbersFromTable(kColor, OBJECT_NAME, ...KEYS);
71
+
72
+ if (r === undefined) {
73
+ error(
74
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: r`,
75
+ );
76
+ }
77
+ if (g === undefined) {
78
+ error(
79
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: g`,
80
+ );
81
+ }
82
+ if (b === undefined) {
83
+ error(
84
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: b`,
85
+ );
86
+ }
87
+ if (a === undefined) {
88
+ error(
89
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: a`,
90
+ );
91
+ }
92
+
93
+ return KColor(r, g, b, a);
94
+ }
95
+
96
+ default: {
97
+ return ensureAllCases(serializationType);
98
+ }
99
+ }
100
+ }
101
+
102
+ /** Returns `KColor(1, 1, 1, 1)`. */
103
+ export function getDefaultKColor(): KColor {
104
+ return KColor(1, 1, 1, 1);
105
+ }
106
+
107
+ /** Helper function to check if something is an instantiated KColor object. */
108
+ export function isKColor(object: unknown): object is KColor {
109
+ return isIsaacAPIClassOfType(object, OBJECT_NAME);
110
+ }
111
+
112
+ /**
113
+ * Used to determine is the given table is a serialized `KColor` object created by the save data
114
+ * manager and/or the `deepCopy` function.
115
+ */
116
+ export function isSerializedKColor(
117
+ object: unknown,
118
+ ): object is SerializedKColor {
119
+ const objectType = type(object);
120
+ if (objectType !== "table") {
121
+ return false;
122
+ }
123
+
124
+ const table = object as LuaTable<AnyNotNil, unknown>;
125
+ return tableHasKeys(table, ...KEYS) && table.has(SerializationBrand.K_COLOR);
126
+ }
127
+
128
+ export function kColorEquals(kColor1: KColor, kColor2: KColor): boolean {
129
+ return isaacAPIClassEquals(kColor1, kColor2, KEYS);
130
+ }
@@ -0,0 +1,13 @@
1
+ import { LANGUAGE_NAMES } from "../objects/languageNames";
2
+
3
+ /**
4
+ * Helper function to convert the language abbreviation from `Options.Language` to the "full"
5
+ * language name.
6
+ *
7
+ * For example, if the current language is set to Korean, `Options.Language` will be set to "kr",
8
+ * and this function will return "Korean".
9
+ */
10
+ export function getLanguageName(): string {
11
+ const languageAbbreviation = Options.Language;
12
+ return LANGUAGE_NAMES[languageAbbreviation];
13
+ }
@@ -0,0 +1,31 @@
1
+ import { DoorSlot } from "isaac-typescript-definitions";
2
+ import { game } from "../cachedClasses";
3
+ import { getEnumValues } from "./enums";
4
+ import {
5
+ getNumRooms,
6
+ getRooms,
7
+ isDoorSlotValidAtGridIndexForRedRoom,
8
+ } from "./rooms";
9
+
10
+ export function fillLevelWithRedRooms(): void {
11
+ const level = game.GetLevel();
12
+
13
+ let numRooms: int;
14
+ do {
15
+ const rooms = getRooms();
16
+ numRooms = rooms.length;
17
+
18
+ for (const roomDescriptor of rooms) {
19
+ for (const doorSlot of getEnumValues(DoorSlot)) {
20
+ if (
21
+ isDoorSlotValidAtGridIndexForRedRoom(
22
+ doorSlot,
23
+ roomDescriptor.GridIndex,
24
+ )
25
+ ) {
26
+ level.MakeRedRoomDoor(roomDescriptor.GridIndex, doorSlot);
27
+ }
28
+ }
29
+ }
30
+ } while (numRooms !== getNumRooms());
31
+ }