isaacscript-common 2.3.0 → 2.3.1

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 (1035) hide show
  1. package/cachedClasses.d.ts +37 -0
  2. package/cachedClasses.lua +6 -0
  3. package/callbacks/customRevive.d.ts +1 -0
  4. package/callbacks/customRevive.lua +145 -0
  5. package/callbacks/itemPickup.d.ts +1 -0
  6. package/callbacks/itemPickup.lua +64 -0
  7. package/callbacks/postBombInitLate.d.ts +1 -0
  8. package/callbacks/postBombInitLate.lua +31 -0
  9. package/callbacks/postBoneSwing.d.ts +1 -0
  10. package/callbacks/postBoneSwing.lua +48 -0
  11. package/callbacks/postCollectibleInitFirst.d.ts +1 -0
  12. package/callbacks/postCollectibleInitFirst.lua +32 -0
  13. package/callbacks/postCursedTeleport.d.ts +1 -0
  14. package/callbacks/postCursedTeleport.lua +119 -0
  15. package/callbacks/postCustomDoorEnter.d.ts +50 -0
  16. package/callbacks/postCustomDoorEnter.lua +203 -0
  17. package/callbacks/postDoorRender.d.ts +1 -0
  18. package/callbacks/postDoorRender.lua +24 -0
  19. package/callbacks/postDoorUpdate.d.ts +1 -0
  20. package/callbacks/postDoorUpdate.lua +24 -0
  21. package/callbacks/postEffectInitLate.d.ts +1 -0
  22. package/callbacks/postEffectInitLate.lua +31 -0
  23. package/callbacks/postEffectStateChanged.d.ts +1 -0
  24. package/callbacks/postEffectStateChanged.lua +37 -0
  25. package/callbacks/postEsauJr.d.ts +1 -0
  26. package/callbacks/postEsauJr.lua +67 -0
  27. package/callbacks/postFamiliarInitLate.d.ts +1 -0
  28. package/callbacks/postFamiliarInitLate.lua +31 -0
  29. package/callbacks/postFamiliarStateChanged.d.ts +1 -0
  30. package/callbacks/postFamiliarStateChanged.lua +37 -0
  31. package/callbacks/postFlip.d.ts +1 -0
  32. package/callbacks/postFlip.lua +61 -0
  33. package/callbacks/postGreedModeWave.d.ts +1 -0
  34. package/callbacks/postGreedModeWave.lua +32 -0
  35. package/callbacks/postGridEntity.d.ts +1 -0
  36. package/callbacks/postGridEntity.lua +105 -0
  37. package/callbacks/postGridEntityCollision.d.ts +1 -0
  38. package/callbacks/postGridEntityCollision.lua +65 -0
  39. package/callbacks/postGridEntityRender.d.ts +1 -0
  40. package/callbacks/postGridEntityRender.lua +24 -0
  41. package/callbacks/postHolyMantleRemoved.d.ts +1 -0
  42. package/callbacks/postHolyMantleRemoved.lua +39 -0
  43. package/callbacks/postItemDischarged.d.ts +2 -0
  44. package/callbacks/postItemDischarged.lua +104 -0
  45. package/callbacks/postKnifeInitLate.d.ts +1 -0
  46. package/callbacks/postKnifeInitLate.lua +31 -0
  47. package/callbacks/postLaserInitLate.d.ts +1 -0
  48. package/callbacks/postLaserInitLate.lua +31 -0
  49. package/callbacks/postNPCInitLate.d.ts +1 -0
  50. package/callbacks/postNPCInitLate.lua +31 -0
  51. package/callbacks/postNPCStateChanged.d.ts +1 -0
  52. package/callbacks/postNPCStateChanged.lua +37 -0
  53. package/callbacks/postNewRoomEarly.d.ts +1 -0
  54. package/callbacks/postNewRoomEarly.lua +65 -0
  55. package/callbacks/postPickupCollect.d.ts +1 -0
  56. package/callbacks/postPickupCollect.lua +39 -0
  57. package/callbacks/postPickupInitLate.d.ts +1 -0
  58. package/callbacks/postPickupInitLate.lua +31 -0
  59. package/callbacks/postPickupStateChanged.d.ts +1 -0
  60. package/callbacks/postPickupStateChanged.lua +37 -0
  61. package/callbacks/postPitRender.d.ts +1 -0
  62. package/callbacks/postPitRender.lua +24 -0
  63. package/callbacks/postPitUpdate.d.ts +1 -0
  64. package/callbacks/postPitUpdate.lua +24 -0
  65. package/callbacks/postPlayerChangeHealth.d.ts +1 -0
  66. package/callbacks/postPlayerChangeHealth.lua +50 -0
  67. package/callbacks/postPlayerChangeType.d.ts +1 -0
  68. package/callbacks/postPlayerChangeType.lua +39 -0
  69. package/callbacks/postPlayerFatalDamage.d.ts +1 -0
  70. package/callbacks/postPlayerFatalDamage.lua +71 -0
  71. package/callbacks/postPlayerInitLate.d.ts +1 -0
  72. package/callbacks/postPlayerInitLate.lua +33 -0
  73. package/callbacks/postPlayerReordered.d.ts +1 -0
  74. package/callbacks/postPlayerReordered.lua +112 -0
  75. package/callbacks/postPoopRender.d.ts +1 -0
  76. package/callbacks/postPoopRender.lua +24 -0
  77. package/callbacks/postPoopUpdate.d.ts +1 -0
  78. package/callbacks/postPoopUpdate.lua +24 -0
  79. package/callbacks/postPressurePlateRender.d.ts +1 -0
  80. package/callbacks/postPressurePlateRender.lua +24 -0
  81. package/callbacks/postPressurePlateUpdate.d.ts +1 -0
  82. package/callbacks/postPressurePlateUpdate.lua +24 -0
  83. package/callbacks/postProjectileInitLate.d.ts +1 -0
  84. package/callbacks/postProjectileInitLate.lua +31 -0
  85. package/callbacks/postPurchase.d.ts +1 -0
  86. package/callbacks/postPurchase.lua +49 -0
  87. package/callbacks/postRockRender.d.ts +1 -0
  88. package/callbacks/postRockRender.lua +24 -0
  89. package/callbacks/postRockUpdate.d.ts +1 -0
  90. package/callbacks/postRockUpdate.lua +24 -0
  91. package/callbacks/postRoomClearChanged.d.ts +1 -0
  92. package/callbacks/postRoomClearChanged.lua +40 -0
  93. package/callbacks/postSacrifice.d.ts +1 -0
  94. package/callbacks/postSacrifice.lua +42 -0
  95. package/callbacks/postSlotInitUpdate.d.ts +1 -0
  96. package/callbacks/postSlotInitUpdate.lua +51 -0
  97. package/callbacks/postSlotRender.d.ts +1 -0
  98. package/callbacks/postSlotRender.lua +74 -0
  99. package/callbacks/postSpikesRender.d.ts +1 -0
  100. package/callbacks/postSpikesRender.lua +24 -0
  101. package/callbacks/postSpikesUpdate.d.ts +1 -0
  102. package/callbacks/postSpikesUpdate.lua +24 -0
  103. package/callbacks/postTNTRender.d.ts +1 -0
  104. package/callbacks/postTNTRender.lua +24 -0
  105. package/callbacks/postTNTUpdate.d.ts +1 -0
  106. package/callbacks/postTNTUpdate.lua +24 -0
  107. package/callbacks/postTearInitLate.d.ts +1 -0
  108. package/callbacks/postTearInitLate.lua +31 -0
  109. package/callbacks/postTearInitVeryLate.d.ts +1 -0
  110. package/callbacks/postTearInitVeryLate.lua +34 -0
  111. package/callbacks/postTransformation.d.ts +1 -0
  112. package/callbacks/postTransformation.lua +46 -0
  113. package/callbacks/postTrinketBreak.d.ts +1 -0
  114. package/callbacks/postTrinketBreak.lua +70 -0
  115. package/callbacks/preBerserkDeath.d.ts +1 -0
  116. package/callbacks/preBerserkDeath.lua +36 -0
  117. package/callbacks/preNewLevel.d.ts +1 -0
  118. package/callbacks/preNewLevel.lua +43 -0
  119. package/callbacks/reorderedCallbacks.d.ts +20 -0
  120. package/callbacks/reorderedCallbacks.lua +92 -0
  121. package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
  122. package/callbacks/subscriptions/postBombInitLate.lua +23 -0
  123. package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
  124. package/callbacks/subscriptions/postBoneSwing.lua +16 -0
  125. package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
  126. package/callbacks/subscriptions/postCollectibleInitFirst.lua +23 -0
  127. package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
  128. package/callbacks/subscriptions/postCursedTeleport.lua +16 -0
  129. package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
  130. package/callbacks/subscriptions/postCustomDoorEnter.lua +29 -0
  131. package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
  132. package/callbacks/subscriptions/postCustomRevive.lua +23 -0
  133. package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
  134. package/callbacks/subscriptions/postDoorRender.lua +24 -0
  135. package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
  136. package/callbacks/subscriptions/postDoorUpdate.lua +24 -0
  137. package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
  138. package/callbacks/subscriptions/postEffectInitLate.lua +23 -0
  139. package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
  140. package/callbacks/subscriptions/postEffectStateChanged.lua +23 -0
  141. package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
  142. package/callbacks/subscriptions/postEsauJr.lua +16 -0
  143. package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
  144. package/callbacks/subscriptions/postFamiliarInitLate.lua +23 -0
  145. package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
  146. package/callbacks/subscriptions/postFamiliarStateChanged.lua +23 -0
  147. package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
  148. package/callbacks/subscriptions/postFirstEsauJr.lua +16 -0
  149. package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
  150. package/callbacks/subscriptions/postFirstFlip.lua +16 -0
  151. package/callbacks/subscriptions/postFlip.d.ts +4 -0
  152. package/callbacks/subscriptions/postFlip.lua +16 -0
  153. package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
  154. package/callbacks/subscriptions/postGameStartedReordered.lua +16 -0
  155. package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
  156. package/callbacks/subscriptions/postGreedModeWave.lua +16 -0
  157. package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
  158. package/callbacks/subscriptions/postGridEntityBroken.lua +29 -0
  159. package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
  160. package/callbacks/subscriptions/postGridEntityCollision.lua +29 -0
  161. package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
  162. package/callbacks/subscriptions/postGridEntityInit.lua +29 -0
  163. package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
  164. package/callbacks/subscriptions/postGridEntityRemove.lua +27 -0
  165. package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
  166. package/callbacks/subscriptions/postGridEntityRender.lua +29 -0
  167. package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
  168. package/callbacks/subscriptions/postGridEntityStateChanged.lua +29 -0
  169. package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
  170. package/callbacks/subscriptions/postGridEntityUpdate.lua +29 -0
  171. package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
  172. package/callbacks/subscriptions/postHolyMantleRemoved.lua +28 -0
  173. package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
  174. package/callbacks/subscriptions/postItemDischarged.lua +23 -0
  175. package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
  176. package/callbacks/subscriptions/postItemPickup.lua +27 -0
  177. package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
  178. package/callbacks/subscriptions/postKnifeInitLate.lua +23 -0
  179. package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
  180. package/callbacks/subscriptions/postLaserInitLate.lua +23 -0
  181. package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
  182. package/callbacks/subscriptions/postNPCInitLate.lua +23 -0
  183. package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
  184. package/callbacks/subscriptions/postNPCStateChanged.lua +27 -0
  185. package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
  186. package/callbacks/subscriptions/postNewLevelReordered.lua +16 -0
  187. package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
  188. package/callbacks/subscriptions/postNewRoomEarly.lua +16 -0
  189. package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
  190. package/callbacks/subscriptions/postNewRoomReordered.lua +16 -0
  191. package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
  192. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +28 -0
  193. package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
  194. package/callbacks/subscriptions/postPickupCollect.lua +23 -0
  195. package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
  196. package/callbacks/subscriptions/postPickupInitLate.lua +23 -0
  197. package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
  198. package/callbacks/subscriptions/postPickupStateChanged.lua +23 -0
  199. package/callbacks/subscriptions/postPitRender.d.ts +5 -0
  200. package/callbacks/subscriptions/postPitRender.lua +24 -0
  201. package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
  202. package/callbacks/subscriptions/postPitUpdate.lua +24 -0
  203. package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
  204. package/callbacks/subscriptions/postPlayerChangeHealth.lua +28 -0
  205. package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
  206. package/callbacks/subscriptions/postPlayerChangeType.lua +23 -0
  207. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
  208. package/callbacks/subscriptions/postPlayerFatalDamage.lua +39 -0
  209. package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
  210. package/callbacks/subscriptions/postPlayerInitLate.lua +28 -0
  211. package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
  212. package/callbacks/subscriptions/postPlayerInitReordered.lua +28 -0
  213. package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
  214. package/callbacks/subscriptions/postPlayerRenderReordered.lua +28 -0
  215. package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
  216. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +28 -0
  217. package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
  218. package/callbacks/subscriptions/postPoopRender.lua +24 -0
  219. package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
  220. package/callbacks/subscriptions/postPoopUpdate.lua +24 -0
  221. package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
  222. package/callbacks/subscriptions/postPressurePlateRender.lua +24 -0
  223. package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
  224. package/callbacks/subscriptions/postPressurePlateUpdate.lua +24 -0
  225. package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
  226. package/callbacks/subscriptions/postProjectileInitLate.lua +23 -0
  227. package/callbacks/subscriptions/postPurchase.d.ts +6 -0
  228. package/callbacks/subscriptions/postPurchase.lua +16 -0
  229. package/callbacks/subscriptions/postRockRender.d.ts +5 -0
  230. package/callbacks/subscriptions/postRockRender.lua +24 -0
  231. package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
  232. package/callbacks/subscriptions/postRockUpdate.lua +24 -0
  233. package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
  234. package/callbacks/subscriptions/postRoomClearChanged.lua +16 -0
  235. package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
  236. package/callbacks/subscriptions/postSacrifice.lua +28 -0
  237. package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
  238. package/callbacks/subscriptions/postSlotAnimationChanged.lua +23 -0
  239. package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
  240. package/callbacks/subscriptions/postSlotDestroyed.lua +23 -0
  241. package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
  242. package/callbacks/subscriptions/postSlotInit.lua +23 -0
  243. package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
  244. package/callbacks/subscriptions/postSlotRender.lua +23 -0
  245. package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
  246. package/callbacks/subscriptions/postSlotUpdate.lua +23 -0
  247. package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
  248. package/callbacks/subscriptions/postSpikesRender.lua +24 -0
  249. package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
  250. package/callbacks/subscriptions/postSpikesUpdate.lua +24 -0
  251. package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
  252. package/callbacks/subscriptions/postTNTRender.lua +24 -0
  253. package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
  254. package/callbacks/subscriptions/postTNTUpdate.lua +24 -0
  255. package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
  256. package/callbacks/subscriptions/postTearInitLate.lua +23 -0
  257. package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
  258. package/callbacks/subscriptions/postTearInitVeryLate.lua +23 -0
  259. package/callbacks/subscriptions/postTransformation.d.ts +5 -0
  260. package/callbacks/subscriptions/postTransformation.lua +23 -0
  261. package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
  262. package/callbacks/subscriptions/postTrinketBreak.lua +23 -0
  263. package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
  264. package/callbacks/subscriptions/preBerserkDeath.lua +29 -0
  265. package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
  266. package/callbacks/subscriptions/preCustomRevive.lua +32 -0
  267. package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
  268. package/callbacks/subscriptions/preItemPickup.lua +27 -0
  269. package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
  270. package/callbacks/subscriptions/preNewLevel.lua +16 -0
  271. package/classes/DefaultMap.d.ts +79 -0
  272. package/classes/DefaultMap.lua +84 -0
  273. package/classes/ModUpgraded.d.ts +23 -0
  274. package/classes/ModUpgraded.lua +38 -0
  275. package/constants.d.ts +104 -0
  276. package/constants.lua +45 -0
  277. package/constantsFirstLast.d.ts +130 -0
  278. package/constantsFirstLast.lua +50 -0
  279. package/enums/HealthType.d.ts +16 -0
  280. package/enums/HealthType.lua +21 -0
  281. package/enums/ModCallbackCustom.d.ts +860 -0
  282. package/enums/ModCallbackCustom.lua +153 -0
  283. package/enums/PocketItemType.d.ts +8 -0
  284. package/enums/PocketItemType.lua +15 -0
  285. package/enums/SerializationType.d.ts +5 -0
  286. package/enums/SerializationType.lua +9 -0
  287. package/enums/private/CopyableIsaacAPIClassType.d.ts +7 -0
  288. package/enums/private/CopyableIsaacAPIClassType.lua +7 -0
  289. package/enums/private/SaveDataKey.d.ts +7 -0
  290. package/enums/private/SaveDataKey.lua +11 -0
  291. package/enums/private/SerializationBrand.d.ts +37 -0
  292. package/enums/private/SerializationBrand.lua +12 -0
  293. package/features/characterHealthConversion.d.ts +9 -0
  294. package/features/characterHealthConversion.lua +85 -0
  295. package/features/characterStats.d.ts +19 -0
  296. package/features/characterStats.lua +37 -0
  297. package/features/debugDisplay/debugDisplay.d.ts +2 -0
  298. package/features/debugDisplay/debugDisplay.lua +181 -0
  299. package/features/debugDisplay/exports.d.ts +199 -0
  300. package/features/debugDisplay/exports.lua +133 -0
  301. package/features/debugDisplay/v.d.ts +44 -0
  302. package/features/debugDisplay/v.lua +54 -0
  303. package/features/deployJSONRoom.d.ts +65 -0
  304. package/features/deployJSONRoom.lua +463 -0
  305. package/features/disableInputs.d.ts +62 -0
  306. package/features/disableInputs.lua +89 -0
  307. package/features/disableSound.d.ts +18 -0
  308. package/features/disableSound.lua +48 -0
  309. package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
  310. package/features/extraConsoleCommands/commandsDisplay.lua +129 -0
  311. package/features/extraConsoleCommands/commandsSubroutines.d.ts +9 -0
  312. package/features/extraConsoleCommands/commandsSubroutines.lua +129 -0
  313. package/features/extraConsoleCommands/init.d.ts +26 -0
  314. package/features/extraConsoleCommands/init.lua +249 -0
  315. package/features/extraConsoleCommands/listCommands.d.ts +349 -0
  316. package/features/extraConsoleCommands/listCommands.lua +922 -0
  317. package/features/extraConsoleCommands/v.d.ts +13 -0
  318. package/features/extraConsoleCommands/v.lua +10 -0
  319. package/features/fadeInRemover.d.ts +14 -0
  320. package/features/fadeInRemover.lua +45 -0
  321. package/features/fastReset.d.ts +14 -0
  322. package/features/fastReset.lua +49 -0
  323. package/features/forgottenSwitch.d.ts +5 -0
  324. package/features/forgottenSwitch.lua +28 -0
  325. package/features/getCollectibleItemPoolType.d.ts +7 -0
  326. package/features/getCollectibleItemPoolType.lua +43 -0
  327. package/features/playerInventory.d.ts +23 -0
  328. package/features/playerInventory.lua +129 -0
  329. package/features/ponyDetection.d.ts +6 -0
  330. package/features/ponyDetection.lua +49 -0
  331. package/features/preventCollectibleRotation.d.ts +11 -0
  332. package/features/preventCollectibleRotation.lua +58 -0
  333. package/features/runInNFrames.d.ts +61 -0
  334. package/features/runInNFrames.lua +78 -0
  335. package/features/saveDataManager/constants.d.ts +3 -0
  336. package/features/saveDataManager/constants.lua +4 -0
  337. package/features/saveDataManager/exports.d.ts +131 -0
  338. package/features/saveDataManager/exports.lua +66 -0
  339. package/features/saveDataManager/load.d.ts +4 -0
  340. package/features/saveDataManager/load.lua +66 -0
  341. package/features/saveDataManager/main.d.ts +3 -0
  342. package/features/saveDataManager/main.lua +119 -0
  343. package/features/saveDataManager/maps.d.ts +10 -0
  344. package/features/saveDataManager/maps.lua +8 -0
  345. package/features/saveDataManager/merge.d.ts +24 -0
  346. package/features/saveDataManager/merge.lua +124 -0
  347. package/features/saveDataManager/save.d.ts +4 -0
  348. package/features/saveDataManager/save.lua +44 -0
  349. package/features/saveDataManager/serializationBrand.d.ts +1 -0
  350. package/features/saveDataManager/serializationBrand.lua +17 -0
  351. package/features/sirenHelpers.d.ts +18 -0
  352. package/features/sirenHelpers.lua +69 -0
  353. package/features/taintedLazarusPlayers.d.ts +13 -0
  354. package/features/taintedLazarusPlayers.lua +74 -0
  355. package/featuresInitialized.d.ts +1 -0
  356. package/featuresInitialized.lua +14 -0
  357. package/functions/array.d.ts +141 -0
  358. package/functions/array.lua +269 -0
  359. package/functions/benchmark.d.ts +10 -0
  360. package/functions/benchmark.lua +32 -0
  361. package/functions/bitwise.d.ts +4 -0
  362. package/functions/bitwise.lua +21 -0
  363. package/functions/boss.d.ts +56 -0
  364. package/functions/boss.lua +183 -0
  365. package/functions/cacheFlag.d.ts +8 -0
  366. package/functions/cacheFlag.lua +7 -0
  367. package/functions/cards.d.ts +95 -0
  368. package/functions/cards.lua +174 -0
  369. package/functions/challenges.d.ts +3 -0
  370. package/functions/challenges.lua +9 -0
  371. package/functions/character.d.ts +48 -0
  372. package/functions/character.lua +73 -0
  373. package/functions/charge.d.ts +54 -0
  374. package/functions/charge.lua +123 -0
  375. package/functions/chargeBar.d.ts +12 -0
  376. package/functions/chargeBar.lua +43 -0
  377. package/functions/collectibleCacheFlag.d.ts +23 -0
  378. package/functions/collectibleCacheFlag.lua +65 -0
  379. package/functions/collectibleSet.d.ts +9 -0
  380. package/functions/collectibleSet.lua +51 -0
  381. package/functions/collectibleTag.d.ts +16 -0
  382. package/functions/collectibleTag.lua +74 -0
  383. package/functions/collectibles.d.ts +211 -0
  384. package/functions/collectibles.lua +281 -0
  385. package/functions/color.d.ts +45 -0
  386. package/functions/color.lua +122 -0
  387. package/functions/debug.d.ts +27 -0
  388. package/functions/debug.lua +31 -0
  389. package/functions/deepCopy.d.ts +29 -0
  390. package/functions/deepCopy.lua +357 -0
  391. package/functions/deepCopyTests.d.ts +1 -0
  392. package/functions/deepCopyTests.lua +316 -0
  393. package/functions/direction.d.ts +4 -0
  394. package/functions/direction.lua +17 -0
  395. package/functions/doors.d.ts +117 -0
  396. package/functions/doors.lua +231 -0
  397. package/functions/easing.d.ts +30 -0
  398. package/functions/easing.lua +115 -0
  399. package/functions/eden.d.ts +3 -0
  400. package/functions/eden.lua +47 -0
  401. package/functions/entity.d.ts +131 -0
  402. package/functions/entity.lua +233 -0
  403. package/functions/entitySpecific.d.ts +264 -0
  404. package/functions/entitySpecific.lua +650 -0
  405. package/functions/entityTypes.d.ts +3 -0
  406. package/functions/entityTypes.lua +7 -0
  407. package/functions/enums.d.ts +80 -0
  408. package/functions/enums.lua +85 -0
  409. package/functions/familiars.d.ts +60 -0
  410. package/functions/familiars.lua +33 -0
  411. package/functions/flag.d.ts +99 -0
  412. package/functions/flag.lua +47 -0
  413. package/functions/flying.d.ts +19 -0
  414. package/functions/flying.lua +67 -0
  415. package/functions/globals.d.ts +14 -0
  416. package/functions/globals.lua +230 -0
  417. package/functions/gridEntity.d.ts +155 -0
  418. package/functions/gridEntity.lua +263 -0
  419. package/functions/gridEntitySpecific.d.ts +18 -0
  420. package/functions/gridEntitySpecific.lua +88 -0
  421. package/functions/input.d.ts +32 -0
  422. package/functions/input.lua +106 -0
  423. package/functions/isaacAPIClass.d.ts +23 -0
  424. package/functions/isaacAPIClass.lua +35 -0
  425. package/functions/jsonHelpers.d.ts +18 -0
  426. package/functions/jsonHelpers.lua +26 -0
  427. package/functions/jsonRoom.d.ts +12 -0
  428. package/functions/jsonRoom.lua +86 -0
  429. package/functions/kColor.d.ts +31 -0
  430. package/functions/kColor.lua +101 -0
  431. package/functions/language.d.ts +8 -0
  432. package/functions/language.lua +8 -0
  433. package/functions/level.d.ts +1 -0
  434. package/functions/level.lua +29 -0
  435. package/functions/log.d.ts +78 -0
  436. package/functions/log.lua +519 -0
  437. package/functions/map.d.ts +22 -0
  438. package/functions/map.lua +43 -0
  439. package/functions/math.d.ts +50 -0
  440. package/functions/math.lua +92 -0
  441. package/functions/mergeTests.d.ts +1 -0
  442. package/functions/mergeTests.lua +182 -0
  443. package/functions/npc.d.ts +40 -0
  444. package/functions/npc.lua +104 -0
  445. package/functions/pickupVariants.d.ts +23 -0
  446. package/functions/pickupVariants.lua +37 -0
  447. package/functions/pickups.d.ts +132 -0
  448. package/functions/pickups.lua +407 -0
  449. package/functions/pills.d.ts +69 -0
  450. package/functions/pills.lua +83 -0
  451. package/functions/player.d.ts +296 -0
  452. package/functions/player.lua +611 -0
  453. package/functions/playerDataStructures.d.ts +92 -0
  454. package/functions/playerDataStructures.lua +38 -0
  455. package/functions/playerHealth.d.ts +22 -0
  456. package/functions/playerHealth.lua +286 -0
  457. package/functions/playerIndex.d.ts +68 -0
  458. package/functions/playerIndex.lua +127 -0
  459. package/functions/pocketItems.d.ts +33 -0
  460. package/functions/pocketItems.lua +86 -0
  461. package/functions/positionVelocity.d.ts +64 -0
  462. package/functions/positionVelocity.lua +108 -0
  463. package/functions/random.d.ts +42 -0
  464. package/functions/random.lua +38 -0
  465. package/functions/revive.d.ts +31 -0
  466. package/functions/revive.lua +102 -0
  467. package/functions/rng.d.ts +53 -0
  468. package/functions/rng.lua +129 -0
  469. package/functions/roomData.d.ts +108 -0
  470. package/functions/roomData.lua +92 -0
  471. package/functions/roomGrid.d.ts +40 -0
  472. package/functions/roomGrid.lua +59 -0
  473. package/functions/roomShape.d.ts +43 -0
  474. package/functions/roomShape.lua +45 -0
  475. package/functions/rooms.d.ts +194 -0
  476. package/functions/rooms.lua +382 -0
  477. package/functions/run.d.ts +12 -0
  478. package/functions/run.lua +28 -0
  479. package/functions/seeds.d.ts +9 -0
  480. package/functions/seeds.lua +15 -0
  481. package/functions/serialization.d.ts +11 -0
  482. package/functions/serialization.lua +65 -0
  483. package/functions/set.d.ts +39 -0
  484. package/functions/set.lua +61 -0
  485. package/functions/sound.d.ts +1 -0
  486. package/functions/sound.lua +13 -0
  487. package/functions/spawnCollectible.d.ts +31 -0
  488. package/functions/spawnCollectible.lua +70 -0
  489. package/functions/sprite.d.ts +36 -0
  490. package/functions/sprite.lua +64 -0
  491. package/functions/stage.d.ts +35 -0
  492. package/functions/stage.lua +70 -0
  493. package/functions/string.d.ts +13 -0
  494. package/functions/string.lua +36 -0
  495. package/functions/table.d.ts +36 -0
  496. package/functions/table.lua +79 -0
  497. package/functions/tears.d.ts +22 -0
  498. package/functions/tears.lua +14 -0
  499. package/functions/transformations.d.ts +30 -0
  500. package/functions/transformations.lua +96 -0
  501. package/functions/trinketCacheFlag.d.ts +10 -0
  502. package/functions/trinketCacheFlag.lua +50 -0
  503. package/functions/trinketGive.d.ts +38 -0
  504. package/functions/trinketGive.lua +90 -0
  505. package/functions/trinkets.d.ts +73 -0
  506. package/functions/trinkets.lua +115 -0
  507. package/functions/tstlClass.d.ts +20 -0
  508. package/functions/tstlClass.lua +56 -0
  509. package/functions/ui.d.ts +34 -0
  510. package/functions/ui.lua +95 -0
  511. package/functions/utils.d.ts +112 -0
  512. package/functions/utils.lua +94 -0
  513. package/functions/vector.d.ts +32 -0
  514. package/functions/vector.lua +118 -0
  515. package/index.d.ts +128 -0
  516. package/index.lua +900 -0
  517. package/initCustomCallbacks.d.ts +2 -0
  518. package/initCustomCallbacks.lua +178 -0
  519. package/initFeatures.d.ts +3 -0
  520. package/initFeatures.lua +51 -0
  521. package/interfaces/AddCallbackParameterCustom.d.ts +153 -0
  522. package/interfaces/AddCallbackParameterCustom.lua +4 -0
  523. package/interfaces/ChargeBarSprites.d.ts +13 -0
  524. package/interfaces/ChargeBarSprites.lua +2 -0
  525. package/interfaces/JSONDoor.d.ts +11 -0
  526. package/interfaces/JSONDoor.lua +2 -0
  527. package/interfaces/JSONEntity.d.ts +13 -0
  528. package/interfaces/JSONEntity.lua +2 -0
  529. package/interfaces/JSONRoom.d.ts +26 -0
  530. package/interfaces/JSONRoom.lua +2 -0
  531. package/interfaces/JSONRooms.d.ts +11 -0
  532. package/interfaces/JSONRooms.lua +2 -0
  533. package/interfaces/JSONSpawn.d.ts +11 -0
  534. package/interfaces/JSONSpawn.lua +2 -0
  535. package/interfaces/PlayerHealth.d.ts +15 -0
  536. package/interfaces/PlayerHealth.lua +2 -0
  537. package/interfaces/PocketItemDescription.d.ts +8 -0
  538. package/interfaces/PocketItemDescription.lua +2 -0
  539. package/interfaces/SaveData.d.ts +29 -0
  540. package/interfaces/SaveData.lua +2 -0
  541. package/interfaces/TrinketSituation.d.ts +8 -0
  542. package/interfaces/TrinketSituation.lua +2 -0
  543. package/interfaces/private/TSTLClassMetatable.d.ts +10 -0
  544. package/interfaces/private/TSTLClassMetatable.lua +2 -0
  545. package/lualib_bundle.lua +2488 -0
  546. package/maps/cardMap.d.ts +3 -0
  547. package/maps/cardMap.lua +211 -0
  548. package/maps/characterMap.d.ts +3 -0
  549. package/maps/characterMap.lua +89 -0
  550. package/maps/collectibleDescriptionMap.d.ts +3 -0
  551. package/maps/collectibleDescriptionMap.lua +728 -0
  552. package/maps/collectibleNameMap.d.ts +3 -0
  553. package/maps/collectibleNameMap.lua +728 -0
  554. package/maps/defaultPlayerStatMap.d.ts +3 -0
  555. package/maps/defaultPlayerStatMap.lua +24 -0
  556. package/maps/gridEntityTypeToBrokenStateMap.d.ts +2 -0
  557. package/maps/gridEntityTypeToBrokenStateMap.lua +26 -0
  558. package/maps/gridEntityXMLMap.d.ts +9 -0
  559. package/maps/gridEntityXMLMap.lua +51 -0
  560. package/maps/pillEffectMap.d.ts +3 -0
  561. package/maps/pillEffectMap.lua +89 -0
  562. package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
  563. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +15 -0
  564. package/maps/roomTypeMap.d.ts +3 -0
  565. package/maps/roomTypeMap.lua +44 -0
  566. package/maps/trinketDescriptionMap.d.ts +3 -0
  567. package/maps/trinketDescriptionMap.lua +196 -0
  568. package/maps/trinketNameMap.d.ts +3 -0
  569. package/maps/trinketNameMap.lua +196 -0
  570. package/objects/LRoomShapeToRectangles.d.ts +13 -0
  571. package/objects/LRoomShapeToRectangles.lua +33 -0
  572. package/objects/callbackRegisterFunctions.d.ts +5 -0
  573. package/objects/callbackRegisterFunctions.lua +231 -0
  574. package/objects/cardDescriptions.d.ts +5 -0
  575. package/objects/cardDescriptions.lua +105 -0
  576. package/objects/cardNames.d.ts +5 -0
  577. package/objects/cardNames.lua +105 -0
  578. package/objects/cardTypes.d.ts +5 -0
  579. package/objects/cardTypes.lua +106 -0
  580. package/objects/challengeNames.d.ts +5 -0
  581. package/objects/challengeNames.lua +53 -0
  582. package/objects/characterNames.d.ts +5 -0
  583. package/objects/characterNames.lua +49 -0
  584. package/objects/coinSubTypeToValue.d.ts +5 -0
  585. package/objects/coinSubTypeToValue.lua +15 -0
  586. package/objects/colors.d.ts +17 -0
  587. package/objects/colors.lua +12 -0
  588. package/objects/directionNames.d.ts +4 -0
  589. package/objects/directionNames.lua +11 -0
  590. package/objects/directionToDegrees.d.ts +4 -0
  591. package/objects/directionToDegrees.lua +11 -0
  592. package/objects/directionToVector.d.ts +4 -0
  593. package/objects/directionToVector.lua +13 -0
  594. package/objects/doorSlotFlagToDoorSlot.d.ts +5 -0
  595. package/objects/doorSlotFlagToDoorSlot.lua +16 -0
  596. package/objects/doorSlotToDirection.d.ts +4 -0
  597. package/objects/doorSlotToDirection.lua +16 -0
  598. package/objects/isaacAPIClassTypeToBrand.d.ts +5 -0
  599. package/objects/isaacAPIClassTypeToBrand.lua +7 -0
  600. package/objects/isaacAPIClassTypeToCopyFunction.d.ts +5 -0
  601. package/objects/isaacAPIClassTypeToCopyFunction.lua +13 -0
  602. package/objects/languageNames.d.ts +4 -0
  603. package/objects/languageNames.lua +13 -0
  604. package/objects/pillEffectClasses.d.ts +5 -0
  605. package/objects/pillEffectClasses.lua +59 -0
  606. package/objects/pillEffectNames.d.ts +5 -0
  607. package/objects/pillEffectNames.lua +57 -0
  608. package/objects/pillEffectTypes.d.ts +5 -0
  609. package/objects/pillEffectTypes.lua +58 -0
  610. package/objects/roomShapeBounds.d.ts +8 -0
  611. package/objects/roomShapeBounds.lua +24 -0
  612. package/objects/roomShapeLayoutSizes.d.ts +10 -0
  613. package/objects/roomShapeLayoutSizes.lua +25 -0
  614. package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
  615. package/objects/roomShapeToBottomRightPosition.lua +20 -0
  616. package/objects/roomShapeToDoorSlots.d.ts +4 -0
  617. package/objects/roomShapeToDoorSlots.lua +46 -0
  618. package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +8 -0
  619. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +87 -0
  620. package/objects/roomShapeToGridWidth.d.ts +4 -0
  621. package/objects/roomShapeToGridWidth.lua +20 -0
  622. package/objects/roomShapeToTopLeftPosition.d.ts +8 -0
  623. package/objects/roomShapeToTopLeftPosition.lua +22 -0
  624. package/objects/roomShapeVolumes.d.ts +13 -0
  625. package/objects/roomShapeVolumes.lua +27 -0
  626. package/objects/roomTypeNames.d.ts +5 -0
  627. package/objects/roomTypeNames.lua +37 -0
  628. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +4 -0
  629. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +13 -0
  630. package/objects/stageTypeToLetter.d.ts +4 -0
  631. package/objects/stageTypeToLetter.lua +12 -0
  632. package/objects/transformationNames.d.ts +5 -0
  633. package/objects/transformationNames.lua +21 -0
  634. package/package.json +2 -3
  635. package/patchErrorFunctions.d.ts +1 -0
  636. package/patchErrorFunctions.lua +50 -0
  637. package/sets/LRoomShapesSet.d.ts +2 -0
  638. package/sets/LRoomShapesSet.lua +8 -0
  639. package/sets/bossSets.d.ts +4 -0
  640. package/sets/bossSets.lua +531 -0
  641. package/sets/charactersThatStartWithAnActiveItemSet.d.ts +2 -0
  642. package/sets/charactersThatStartWithAnActiveItemSet.lua +20 -0
  643. package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +2 -0
  644. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +8 -0
  645. package/sets/charactersWithFreeDevilDealsSet.d.ts +2 -0
  646. package/sets/charactersWithFreeDevilDealsSet.lua +8 -0
  647. package/sets/charactersWithNoRedHeartsSet.d.ts +6 -0
  648. package/sets/charactersWithNoRedHeartsSet.lua +17 -0
  649. package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
  650. package/sets/charactersWithNoSoulHeartsSet.lua +14 -0
  651. package/sets/chestPickupVariantsSet.d.ts +2 -0
  652. package/sets/chestPickupVariantsSet.lua +21 -0
  653. package/sets/familiarsThatShootPlayerTearsSet.d.ts +2 -0
  654. package/sets/familiarsThatShootPlayerTearsSet.lua +17 -0
  655. package/sets/lostStyleCharactersSet.d.ts +6 -0
  656. package/sets/lostStyleCharactersSet.lua +14 -0
  657. package/sets/mineShaftRoomSubTypesSet.d.ts +2 -0
  658. package/sets/mineShaftRoomSubTypesSet.lua +14 -0
  659. package/sets/redHeartSubTypesSet.d.ts +2 -0
  660. package/sets/redHeartSubTypesSet.lua +8 -0
  661. package/sets/sinEntityTypesSet.d.ts +2 -0
  662. package/sets/sinEntityTypesSet.lua +16 -0
  663. package/sets/singleUseActiveCollectibleTypesSet.d.ts +2 -0
  664. package/sets/singleUseActiveCollectibleTypesSet.lua +17 -0
  665. package/sets/storyBossesSet.d.ts +2 -0
  666. package/sets/storyBossesSet.lua +22 -0
  667. package/types/AnyEntity.d.ts +2 -0
  668. package/types/AnyEntity.lua +2 -0
  669. package/types/CollectibleIndex.d.ts +16 -0
  670. package/types/CollectibleIndex.lua +2 -0
  671. package/types/PickingUpItem.d.ts +34 -0
  672. package/types/PickingUpItem.lua +27 -0
  673. package/types/PlayerIndex.d.ts +16 -0
  674. package/types/PlayerIndex.lua +2 -0
  675. package/types/private/IsaacAPIClass.d.ts +4 -0
  676. package/types/private/IsaacAPIClass.lua +2 -0
  677. package/types/private/SerializedIsaacAPIClass.d.ts +4 -0
  678. package/types/private/SerializedIsaacAPIClass.lua +2 -0
  679. package/types/private/TSTLClass.d.ts +4 -0
  680. package/types/private/TSTLClass.lua +2 -0
  681. package/upgradeMod.d.ts +23 -0
  682. package/upgradeMod.lua +33 -0
  683. package/.eslintrc.js +0 -70
  684. package/build.sh +0 -27
  685. package/docs.sh +0 -21
  686. package/lint.sh +0 -34
  687. package/project.json +0 -37
  688. package/release.sh +0 -16
  689. package/scripts/.eslintrc.js +0 -21
  690. package/scripts/docsEntryPointLint.ts +0 -135
  691. package/scripts/tsconfig.json +0 -5
  692. package/src/cachedClasses.ts +0 -39
  693. package/src/callbacks/customRevive.ts +0 -206
  694. package/src/callbacks/itemPickup.ts +0 -101
  695. package/src/callbacks/postBombInitLate.ts +0 -36
  696. package/src/callbacks/postBoneSwing.ts +0 -64
  697. package/src/callbacks/postCollectibleInitFirst.ts +0 -39
  698. package/src/callbacks/postCursedTeleport.ts +0 -183
  699. package/src/callbacks/postCustomDoorEnter.ts +0 -297
  700. package/src/callbacks/postDoorRender.ts +0 -26
  701. package/src/callbacks/postDoorUpdate.ts +0 -26
  702. package/src/callbacks/postEffectInitLate.ts +0 -36
  703. package/src/callbacks/postEffectStateChanged.ts +0 -43
  704. package/src/callbacks/postEsauJr.ts +0 -107
  705. package/src/callbacks/postFamiliarInitLate.ts +0 -36
  706. package/src/callbacks/postFamiliarStateChanged.ts +0 -43
  707. package/src/callbacks/postFlip.ts +0 -88
  708. package/src/callbacks/postGreedModeWave.ts +0 -41
  709. package/src/callbacks/postGridEntity.ts +0 -159
  710. package/src/callbacks/postGridEntityCollision.ts +0 -69
  711. package/src/callbacks/postGridEntityRender.ts +0 -26
  712. package/src/callbacks/postHolyMantleRemoved.ts +0 -55
  713. package/src/callbacks/postItemDischarged.ts +0 -149
  714. package/src/callbacks/postKnifeInitLate.ts +0 -36
  715. package/src/callbacks/postLaserInitLate.ts +0 -36
  716. package/src/callbacks/postNPCInitLate.ts +0 -36
  717. package/src/callbacks/postNPCStateChanged.ts +0 -42
  718. package/src/callbacks/postNewRoomEarly.ts +0 -90
  719. package/src/callbacks/postPickupCollect.ts +0 -48
  720. package/src/callbacks/postPickupInitLate.ts +0 -36
  721. package/src/callbacks/postPickupStateChanged.ts +0 -43
  722. package/src/callbacks/postPitRender.ts +0 -26
  723. package/src/callbacks/postPitUpdate.ts +0 -26
  724. package/src/callbacks/postPlayerChangeHealth.ts +0 -62
  725. package/src/callbacks/postPlayerChangeType.ts +0 -56
  726. package/src/callbacks/postPlayerFatalDamage.ts +0 -98
  727. package/src/callbacks/postPlayerInitLate.ts +0 -37
  728. package/src/callbacks/postPlayerReordered.ts +0 -142
  729. package/src/callbacks/postPoopRender.ts +0 -26
  730. package/src/callbacks/postPoopUpdate.ts +0 -26
  731. package/src/callbacks/postPressurePlateRender.ts +0 -26
  732. package/src/callbacks/postPressurePlateUpdate.ts +0 -26
  733. package/src/callbacks/postProjectileInitLate.ts +0 -36
  734. package/src/callbacks/postPurchase.ts +0 -64
  735. package/src/callbacks/postRockRender.ts +0 -26
  736. package/src/callbacks/postRockUpdate.ts +0 -26
  737. package/src/callbacks/postRoomClearChanged.ts +0 -52
  738. package/src/callbacks/postSacrifice.ts +0 -62
  739. package/src/callbacks/postSlotInitUpdate.ts +0 -63
  740. package/src/callbacks/postSlotRender.ts +0 -96
  741. package/src/callbacks/postSpikesRender.ts +0 -26
  742. package/src/callbacks/postSpikesUpdate.ts +0 -26
  743. package/src/callbacks/postTNTRender.ts +0 -26
  744. package/src/callbacks/postTNTUpdate.ts +0 -26
  745. package/src/callbacks/postTearInitLate.ts +0 -36
  746. package/src/callbacks/postTearInitVeryLate.ts +0 -41
  747. package/src/callbacks/postTransformation.ts +0 -59
  748. package/src/callbacks/postTrinketBreak.ts +0 -110
  749. package/src/callbacks/preBerserkDeath.ts +0 -49
  750. package/src/callbacks/preNewLevel.ts +0 -55
  751. package/src/callbacks/reorderedCallbacks.ts +0 -166
  752. package/src/callbacks/subscriptions/postBombInitLate.ts +0 -32
  753. package/src/callbacks/subscriptions/postBoneSwing.ts +0 -24
  754. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
  755. package/src/callbacks/subscriptions/postCursedTeleport.ts +0 -24
  756. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
  757. package/src/callbacks/subscriptions/postCustomRevive.ts +0 -36
  758. package/src/callbacks/subscriptions/postDoorRender.ts +0 -35
  759. package/src/callbacks/subscriptions/postDoorUpdate.ts +0 -35
  760. package/src/callbacks/subscriptions/postEffectInitLate.ts +0 -32
  761. package/src/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
  762. package/src/callbacks/subscriptions/postEsauJr.ts +0 -24
  763. package/src/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
  764. package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
  765. package/src/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
  766. package/src/callbacks/subscriptions/postFirstFlip.ts +0 -24
  767. package/src/callbacks/subscriptions/postFlip.ts +0 -22
  768. package/src/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
  769. package/src/callbacks/subscriptions/postGreedModeWave.ts +0 -24
  770. package/src/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
  771. package/src/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
  772. package/src/callbacks/subscriptions/postGridEntityInit.ts +0 -51
  773. package/src/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
  774. package/src/callbacks/subscriptions/postGridEntityRender.ts +0 -51
  775. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
  776. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
  777. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
  778. package/src/callbacks/subscriptions/postItemDischarged.ts +0 -43
  779. package/src/callbacks/subscriptions/postItemPickup.ts +0 -64
  780. package/src/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
  781. package/src/callbacks/subscriptions/postLaserInitLate.ts +0 -32
  782. package/src/callbacks/subscriptions/postNPCInitLate.ts +0 -32
  783. package/src/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
  784. package/src/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
  785. package/src/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
  786. package/src/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
  787. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
  788. package/src/callbacks/subscriptions/postPickupCollect.ts +0 -34
  789. package/src/callbacks/subscriptions/postPickupInitLate.ts +0 -31
  790. package/src/callbacks/subscriptions/postPickupStateChanged.ts +0 -35
  791. package/src/callbacks/subscriptions/postPitRender.ts +0 -35
  792. package/src/callbacks/subscriptions/postPitUpdate.ts +0 -35
  793. package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -45
  794. package/src/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
  795. package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -67
  796. package/src/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
  797. package/src/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
  798. package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
  799. package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
  800. package/src/callbacks/subscriptions/postPoopRender.ts +0 -35
  801. package/src/callbacks/subscriptions/postPoopUpdate.ts +0 -35
  802. package/src/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
  803. package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
  804. package/src/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
  805. package/src/callbacks/subscriptions/postPurchase.ts +0 -31
  806. package/src/callbacks/subscriptions/postRockRender.ts +0 -35
  807. package/src/callbacks/subscriptions/postRockUpdate.ts +0 -35
  808. package/src/callbacks/subscriptions/postRoomClearChanged.ts +0 -24
  809. package/src/callbacks/subscriptions/postSacrifice.ts +0 -43
  810. package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
  811. package/src/callbacks/subscriptions/postSlotDestroyed.ts +0 -32
  812. package/src/callbacks/subscriptions/postSlotInit.ts +0 -32
  813. package/src/callbacks/subscriptions/postSlotRender.ts +0 -32
  814. package/src/callbacks/subscriptions/postSlotUpdate.ts +0 -32
  815. package/src/callbacks/subscriptions/postSpikesRender.ts +0 -35
  816. package/src/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
  817. package/src/callbacks/subscriptions/postTNTRender.ts +0 -35
  818. package/src/callbacks/subscriptions/postTNTUpdate.ts +0 -35
  819. package/src/callbacks/subscriptions/postTearInitLate.ts +0 -32
  820. package/src/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
  821. package/src/callbacks/subscriptions/postTransformation.ts +0 -40
  822. package/src/callbacks/subscriptions/postTrinketBreak.ts +0 -38
  823. package/src/callbacks/subscriptions/preBerserkDeath.ts +0 -42
  824. package/src/callbacks/subscriptions/preCustomRevive.ts +0 -45
  825. package/src/callbacks/subscriptions/preItemPickup.ts +0 -64
  826. package/src/callbacks/subscriptions/preNewLevel.ts +0 -24
  827. package/src/classes/DefaultMap.ts +0 -220
  828. package/src/classes/ModUpgraded.ts +0 -83
  829. package/src/constants.ts +0 -140
  830. package/src/constantsFirstLast.ts +0 -212
  831. package/src/enums/HealthType.ts +0 -16
  832. package/src/enums/ModCallbackCustom.ts +0 -943
  833. package/src/enums/PocketItemType.ts +0 -8
  834. package/src/enums/SerializationType.ts +0 -5
  835. package/src/enums/private/CopyableIsaacAPIClassType.ts +0 -7
  836. package/src/enums/private/SaveDataKey.ts +0 -14
  837. package/src/enums/private/SerializationBrand.ts +0 -42
  838. package/src/features/characterHealthConversion.ts +0 -116
  839. package/src/features/characterStats.ts +0 -61
  840. package/src/features/debugDisplay/debugDisplay.ts +0 -221
  841. package/src/features/debugDisplay/exports.ts +0 -368
  842. package/src/features/debugDisplay/v.ts +0 -65
  843. package/src/features/deployJSONRoom.ts +0 -672
  844. package/src/features/disableInputs.ts +0 -193
  845. package/src/features/disableSound.ts +0 -77
  846. package/src/features/extraConsoleCommands/commandsDisplay.ts +0 -290
  847. package/src/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
  848. package/src/features/extraConsoleCommands/init.ts +0 -334
  849. package/src/features/extraConsoleCommands/listCommands.ts +0 -1298
  850. package/src/features/extraConsoleCommands/v.ts +0 -14
  851. package/src/features/fadeInRemover.ts +0 -60
  852. package/src/features/fastReset.ts +0 -75
  853. package/src/features/forgottenSwitch.ts +0 -50
  854. package/src/features/getCollectibleItemPoolType.ts +0 -66
  855. package/src/features/playerInventory.ts +0 -187
  856. package/src/features/ponyDetection.ts +0 -74
  857. package/src/features/preventCollectibleRotation.ts +0 -113
  858. package/src/features/runInNFrames.ts +0 -148
  859. package/src/features/saveDataManager/constants.ts +0 -4
  860. package/src/features/saveDataManager/exports.ts +0 -230
  861. package/src/features/saveDataManager/load.ts +0 -90
  862. package/src/features/saveDataManager/main.ts +0 -187
  863. package/src/features/saveDataManager/maps.ts +0 -13
  864. package/src/features/saveDataManager/merge.ts +0 -182
  865. package/src/features/saveDataManager/save.ts +0 -66
  866. package/src/features/saveDataManager/serializationBrand.ts +0 -15
  867. package/src/features/sirenHelpers.ts +0 -129
  868. package/src/features/taintedLazarusPlayers.ts +0 -113
  869. package/src/featuresInitialized.ts +0 -20
  870. package/src/functions/array.ts +0 -412
  871. package/src/functions/benchmark.ts +0 -36
  872. package/src/functions/bitwise.ts +0 -24
  873. package/src/functions/boss.ts +0 -227
  874. package/src/functions/cacheFlag.ts +0 -12
  875. package/src/functions/cards.ts +0 -267
  876. package/src/functions/challenges.ts +0 -11
  877. package/src/functions/character.ts +0 -124
  878. package/src/functions/charge.ts +0 -237
  879. package/src/functions/chargeBar.ts +0 -67
  880. package/src/functions/collectibleCacheFlag.ts +0 -90
  881. package/src/functions/collectibleSet.ts +0 -57
  882. package/src/functions/collectibleTag.ts +0 -89
  883. package/src/functions/collectibles.ts +0 -610
  884. package/src/functions/color.ts +0 -149
  885. package/src/functions/debug.ts +0 -65
  886. package/src/functions/deepCopy.ts +0 -508
  887. package/src/functions/deepCopyTests.ts +0 -390
  888. package/src/functions/direction.ts +0 -16
  889. package/src/functions/doors.ts +0 -343
  890. package/src/functions/easing.ts +0 -182
  891. package/src/functions/eden.ts +0 -47
  892. package/src/functions/entity.ts +0 -352
  893. package/src/functions/entitySpecific.ts +0 -889
  894. package/src/functions/entityTypes.ts +0 -6
  895. package/src/functions/enums.ts +0 -145
  896. package/src/functions/familiars.ts +0 -106
  897. package/src/functions/flag.ts +0 -165
  898. package/src/functions/flying.ts +0 -117
  899. package/src/functions/globals.ts +0 -249
  900. package/src/functions/gridEntity.ts +0 -511
  901. package/src/functions/gridEntitySpecific.ts +0 -112
  902. package/src/functions/input.ts +0 -139
  903. package/src/functions/isaacAPIClass.ts +0 -65
  904. package/src/functions/jsonHelpers.ts +0 -45
  905. package/src/functions/jsonRoom.ts +0 -100
  906. package/src/functions/kColor.ts +0 -130
  907. package/src/functions/language.ts +0 -13
  908. package/src/functions/level.ts +0 -31
  909. package/src/functions/log.ts +0 -660
  910. package/src/functions/map.ts +0 -56
  911. package/src/functions/math.ts +0 -149
  912. package/src/functions/mergeTests.ts +0 -288
  913. package/src/functions/npc.ts +0 -148
  914. package/src/functions/pickupVariants.ts +0 -60
  915. package/src/functions/pickups.ts +0 -449
  916. package/src/functions/pills.ts +0 -182
  917. package/src/functions/player.ts +0 -975
  918. package/src/functions/playerDataStructures.ts +0 -150
  919. package/src/functions/playerHealth.ts +0 -318
  920. package/src/functions/playerIndex.ts +0 -195
  921. package/src/functions/pocketItems.ts +0 -149
  922. package/src/functions/positionVelocity.ts +0 -188
  923. package/src/functions/random.ts +0 -77
  924. package/src/functions/revive.ts +0 -201
  925. package/src/functions/rng.ts +0 -177
  926. package/src/functions/roomData.ts +0 -199
  927. package/src/functions/roomGrid.ts +0 -109
  928. package/src/functions/roomShape.ts +0 -80
  929. package/src/functions/rooms.ts +0 -667
  930. package/src/functions/run.ts +0 -36
  931. package/src/functions/seeds.ts +0 -19
  932. package/src/functions/serialization.ts +0 -97
  933. package/src/functions/set.ts +0 -95
  934. package/src/functions/sound.ts +0 -9
  935. package/src/functions/spawnCollectible.ts +0 -104
  936. package/src/functions/sprite.ts +0 -107
  937. package/src/functions/stage.ts +0 -125
  938. package/src/functions/string.ts +0 -47
  939. package/src/functions/table.ts +0 -139
  940. package/src/functions/tears.ts +0 -32
  941. package/src/functions/transformations.ts +0 -137
  942. package/src/functions/trinketCacheFlag.ts +0 -60
  943. package/src/functions/trinketGive.ts +0 -157
  944. package/src/functions/trinkets.ts +0 -215
  945. package/src/functions/tstlClass.ts +0 -91
  946. package/src/functions/ui.ts +0 -138
  947. package/src/functions/utils.ts +0 -200
  948. package/src/functions/vector.ts +0 -145
  949. package/src/index.ts +0 -162
  950. package/src/initCustomCallbacks.ts +0 -120
  951. package/src/initFeatures.ts +0 -37
  952. package/src/interfaces/AddCallbackParameterCustom.ts +0 -174
  953. package/src/interfaces/ChargeBarSprites.ts +0 -12
  954. package/src/interfaces/JSONDoor.ts +0 -13
  955. package/src/interfaces/JSONEntity.ts +0 -16
  956. package/src/interfaces/JSONRoom.ts +0 -36
  957. package/src/interfaces/JSONRooms.ts +0 -12
  958. package/src/interfaces/JSONSpawn.ts +0 -14
  959. package/src/interfaces/PlayerHealth.ts +0 -16
  960. package/src/interfaces/PocketItemDescription.ts +0 -9
  961. package/src/interfaces/SaveData.ts +0 -29
  962. package/src/interfaces/TrinketSituation.ts +0 -9
  963. package/src/interfaces/private/TSTLClassMetatable.ts +0 -8
  964. package/src/maps/cardMap.ts +0 -209
  965. package/src/maps/characterMap.ts +0 -87
  966. package/src/maps/collectibleDescriptionMap.ts +0 -732
  967. package/src/maps/collectibleNameMap.ts +0 -731
  968. package/src/maps/defaultPlayerStatMap.ts +0 -17
  969. package/src/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
  970. package/src/maps/gridEntityXMLMap.ts +0 -176
  971. package/src/maps/pillEffectMap.ts +0 -88
  972. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
  973. package/src/maps/roomTypeMap.ts +0 -40
  974. package/src/maps/trinketDescriptionMap.ts +0 -200
  975. package/src/maps/trinketNameMap.ts +0 -198
  976. package/src/objects/LRoomShapeToRectangles.ts +0 -44
  977. package/src/objects/callbackRegisterFunctions.ts +0 -171
  978. package/src/objects/cardDescriptions.ts +0 -105
  979. package/src/objects/cardNames.ts +0 -105
  980. package/src/objects/cardTypes.ts +0 -104
  981. package/src/objects/challengeNames.ts +0 -52
  982. package/src/objects/characterNames.ts +0 -48
  983. package/src/objects/coinSubTypeToValue.ts +0 -14
  984. package/src/objects/colors.ts +0 -16
  985. package/src/objects/directionNames.ts +0 -11
  986. package/src/objects/directionToDegrees.ts +0 -11
  987. package/src/objects/directionToVector.ts +0 -12
  988. package/src/objects/doorSlotFlagToDoorSlot.ts +0 -16
  989. package/src/objects/doorSlotToDirection.ts +0 -14
  990. package/src/objects/isaacAPIClassTypeToBrand.ts +0 -11
  991. package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
  992. package/src/objects/languageNames.ts +0 -13
  993. package/src/objects/pillEffectClasses.ts +0 -63
  994. package/src/objects/pillEffectNames.ts +0 -57
  995. package/src/objects/pillEffectTypes.ts +0 -62
  996. package/src/objects/roomShapeBounds.ts +0 -71
  997. package/src/objects/roomShapeLayoutSizes.ts +0 -45
  998. package/src/objects/roomShapeToBottomRightPosition.ts +0 -25
  999. package/src/objects/roomShapeToDoorSlots.ts +0 -83
  1000. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
  1001. package/src/objects/roomShapeToGridWidth.ts +0 -21
  1002. package/src/objects/roomShapeToTopLeftPosition.ts +0 -26
  1003. package/src/objects/roomShapeVolumes.ts +0 -38
  1004. package/src/objects/roomTypeNames.ts +0 -36
  1005. package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
  1006. package/src/objects/stageTypeToLetter.ts +0 -15
  1007. package/src/objects/transformationNames.ts +0 -20
  1008. package/src/patchErrorFunctions.ts +0 -92
  1009. package/src/sets/LRoomShapesSet.ts +0 -8
  1010. package/src/sets/bossSets.ts +0 -470
  1011. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
  1012. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
  1013. package/src/sets/charactersWithFreeDevilDealsSet.ts +0 -4
  1014. package/src/sets/charactersWithNoRedHeartsSet.ts +0 -17
  1015. package/src/sets/charactersWithNoSoulHeartsSet.ts +0 -14
  1016. package/src/sets/chestPickupVariantsSet.ts +0 -16
  1017. package/src/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
  1018. package/src/sets/lostStyleCharactersSet.ts +0 -13
  1019. package/src/sets/mineShaftRoomSubTypesSet.ts +0 -10
  1020. package/src/sets/redHeartSubTypesSet.ts +0 -7
  1021. package/src/sets/sinEntityTypesSet.ts +0 -11
  1022. package/src/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
  1023. package/src/sets/storyBossesSet.ts +0 -17
  1024. package/src/types/AnyEntity.ts +0 -12
  1025. package/src/types/AwaitingTextInput.d.ts +0 -2
  1026. package/src/types/CollectibleIndex.ts +0 -14
  1027. package/src/types/PickingUpItem.ts +0 -89
  1028. package/src/types/PlayerIndex.ts +0 -13
  1029. package/src/types/private/IsaacAPIClass.ts +0 -3
  1030. package/src/types/private/SerializedIsaacAPIClass.ts +0 -3
  1031. package/src/types/private/TSTLClass.ts +0 -3
  1032. package/src/upgradeMod.ts +0 -55
  1033. package/tsconfig.json +0 -42
  1034. package/typedoc.json +0 -158
  1035. package/website-root.md +0 -11
@@ -0,0 +1,69 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayFind = ____lualib.__TS__ArrayFind
3
+ local ____exports = {}
4
+ local postNPCInitSirenHelper, checkReturnFamiliarToPlayer, blacklistEntryExists, getSirenHelper, v
5
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
6
+ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
7
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
8
+ local ____featuresInitialized = require("featuresInitialized")
9
+ local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
10
+ local ____entity = require("functions.entity")
11
+ local getEntities = ____entity.getEntities
12
+ local ____exports = require("features.saveDataManager.exports")
13
+ local saveDataManager = ____exports.saveDataManager
14
+ function postNPCInitSirenHelper(self, npc)
15
+ checkReturnFamiliarToPlayer(nil, npc)
16
+ end
17
+ function checkReturnFamiliarToPlayer(self, npc)
18
+ if npc.Target == nil then
19
+ return
20
+ end
21
+ local familiar = npc.Target:ToFamiliar()
22
+ if familiar == nil then
23
+ return
24
+ end
25
+ if blacklistEntryExists(nil, familiar.Variant, familiar.SubType) then
26
+ npc:Remove()
27
+ familiar:AddToFollowers()
28
+ end
29
+ end
30
+ function blacklistEntryExists(self, incomingFamiliarVariant, incomingFamiliarSubType)
31
+ for ____, ____value in ipairs(v.run.familiarBlacklist) do
32
+ local familiarVariant = ____value[1]
33
+ local familiarSubType = ____value[2]
34
+ if incomingFamiliarVariant == familiarVariant and familiarSubType == incomingFamiliarSubType then
35
+ return true
36
+ end
37
+ if incomingFamiliarVariant == familiarVariant and familiarSubType == nil then
38
+ return true
39
+ end
40
+ end
41
+ return false
42
+ end
43
+ function getSirenHelper(self, familiar)
44
+ local familiarPtrHash = GetPtrHash(familiar)
45
+ local sirenHelpers = getEntities(nil, EntityType.SIREN_HELPER)
46
+ return __TS__ArrayFind(
47
+ sirenHelpers,
48
+ function(____, sirenHelper) return sirenHelper.Target ~= nil and GetPtrHash(sirenHelper.Target) == familiarPtrHash end
49
+ )
50
+ end
51
+ local FEATURE_NAME = "siren helpers"
52
+ v = {run = {familiarBlacklist = {}}}
53
+ function ____exports.sirenHelpersInit(self, mod)
54
+ saveDataManager(nil, "sirenHelpers", v)
55
+ mod:AddCallback(ModCallback.POST_NPC_INIT, postNPCInitSirenHelper, EntityType.SIREN_HELPER)
56
+ end
57
+ function ____exports.setFamiliarNoSirenSteal(self, familiarVariant, familiarSubType)
58
+ errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
59
+ if blacklistEntryExists(nil, familiarVariant, familiarSubType) then
60
+ return
61
+ end
62
+ local ____v_run_familiarBlacklist_0 = v.run.familiarBlacklist
63
+ ____v_run_familiarBlacklist_0[#____v_run_familiarBlacklist_0 + 1] = {familiarVariant, familiarSubType}
64
+ end
65
+ function ____exports.hasSirenStolenFamiliar(self, familiar)
66
+ errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
67
+ return getSirenHelper(nil, familiar) ~= nil
68
+ end
69
+ return ____exports
@@ -0,0 +1,13 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /**
3
+ * Helper function to get the other version of Tainted Lazarus.
4
+ *
5
+ * - On Tainted Lazarus, returns the player object for Dead Tainted Lazarus.
6
+ * - On Dead Tainted Lazarus, returns the player object for Tainted Lazarus.
7
+ * - Returns undefined if player object retrieval failed for any reason.
8
+ *
9
+ * If you call the `EntityPlayer.Exists` method on the returned object, it will return false.
10
+ * However, you can still call the other methods like you normally would (e.g.
11
+ * `EntityPlayer.AddCollectible`).
12
+ */
13
+ export declare function getTaintedLazarusSubPlayer(player: EntityPlayer): EntityPlayer | undefined;
@@ -0,0 +1,74 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Map = ____lualib.Map
3
+ local __TS__New = ____lualib.__TS__New
4
+ local ____exports = {}
5
+ local postPlayerInit, checkDequeue, v
6
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
8
+ local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
9
+ local ____featuresInitialized = require("featuresInitialized")
10
+ local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
11
+ local ____exports = require("features.saveDataManager.exports")
12
+ local saveDataManager = ____exports.saveDataManager
13
+ function postPlayerInit(self, player)
14
+ local entityPtr = EntityPtr(player)
15
+ local character = player:GetPlayerType()
16
+ if character == PlayerType.LAZARUS_B then
17
+ local ____v_run_queuedTaintedLazarus_0 = v.run.queuedTaintedLazarus
18
+ ____v_run_queuedTaintedLazarus_0[#____v_run_queuedTaintedLazarus_0 + 1] = entityPtr
19
+ elseif character == PlayerType.LAZARUS_2_B then
20
+ local ____v_run_queuedDeadTaintedLazarus_1 = v.run.queuedDeadTaintedLazarus
21
+ ____v_run_queuedDeadTaintedLazarus_1[#____v_run_queuedDeadTaintedLazarus_1 + 1] = entityPtr
22
+ else
23
+ return
24
+ end
25
+ checkDequeue(nil)
26
+ end
27
+ function checkDequeue(self)
28
+ if #v.run.queuedTaintedLazarus == 0 or #v.run.queuedDeadTaintedLazarus == 0 then
29
+ return
30
+ end
31
+ local taintedLazarusPtr = table.remove(v.run.queuedTaintedLazarus, 1)
32
+ local deadTaintedLazarusPtr = table.remove(v.run.queuedDeadTaintedLazarus, 1)
33
+ if taintedLazarusPtr == nil or deadTaintedLazarusPtr == nil then
34
+ return
35
+ end
36
+ local taintedLazarus = taintedLazarusPtr.Ref
37
+ local deadTaintedLazarus = deadTaintedLazarusPtr.Ref
38
+ if taintedLazarus == nil or deadTaintedLazarus == nil then
39
+ return
40
+ end
41
+ local taintedLazarusPtrHash = GetPtrHash(taintedLazarus)
42
+ local deadTaintedLazarusPtrHash = GetPtrHash(deadTaintedLazarus)
43
+ v.run.subPlayerMap:set(taintedLazarusPtrHash, deadTaintedLazarusPtr)
44
+ v.run.subPlayerMap:set(deadTaintedLazarusPtrHash, taintedLazarusPtr)
45
+ end
46
+ local FEATURE_NAME = "Tainted Lazarus entity finder"
47
+ v = {run = {
48
+ queuedTaintedLazarus = {},
49
+ queuedDeadTaintedLazarus = {},
50
+ subPlayerMap = __TS__New(Map)
51
+ }}
52
+ function ____exports.taintedLazarusPlayersInit(self, mod)
53
+ saveDataManager(
54
+ nil,
55
+ "taintedLazarusPlayers",
56
+ v,
57
+ function() return false end
58
+ )
59
+ mod:AddCallback(ModCallback.POST_PLAYER_INIT, postPlayerInit)
60
+ end
61
+ function ____exports.getTaintedLazarusSubPlayer(self, player)
62
+ errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
63
+ local ptrHash = GetPtrHash(player)
64
+ local entityPtr = v.run.subPlayerMap:get(ptrHash)
65
+ if entityPtr == nil then
66
+ return nil
67
+ end
68
+ local entity = entityPtr.Ref
69
+ if entity == nil then
70
+ return nil
71
+ end
72
+ return entity:ToPlayer()
73
+ end
74
+ return ____exports
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ local ____exports = {}
2
+ local featuresInitialized = false
3
+ function ____exports.areFeaturesInitialized(self)
4
+ return featuresInitialized
5
+ end
6
+ function ____exports.errorIfFeaturesNotInitialized(self, featureName)
7
+ if not ____exports.areFeaturesInitialized(nil) then
8
+ error(("The " .. featureName) .. " is not initialized. You must first upgrade your mod object by calling the \"upgradeMod\" function.")
9
+ end
10
+ end
11
+ function ____exports.setFeaturesInitialized(self)
12
+ featuresInitialized = true
13
+ end
14
+ return ____exports
@@ -0,0 +1,141 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /**
3
+ * Helper function for determining if two arrays contain the exact same elements. Note that this
4
+ * only performs a shallow comparison.
5
+ */
6
+ export declare function arrayEquals<T>(array1: T[] | readonly T[], array2: T[] | readonly T[]): boolean;
7
+ /**
8
+ * Shallow copies and removes the specified element(s) from the array. Returns the copied array. If
9
+ * the specified element(s) are not found in the array, it will simply return a shallow copy of the
10
+ * array.
11
+ *
12
+ * This function is variadic, meaning that you can specify N arguments to remove N elements.
13
+ */
14
+ export declare function arrayRemove<T>(originalArray: T[] | readonly T[], ...elementsToRemove: T[]): T[];
15
+ /**
16
+ * Removes the specified element(s) from the array. If the specified element(s) are not found in the
17
+ * array, this function will do nothing. Returns whether or not one or more elements were removed.
18
+ *
19
+ * This function is variadic, meaning that you can specify N arguments to remove N elements.
20
+ */
21
+ export declare function arrayRemoveInPlace<T>(array: T[], ...elementsToRemove: T[]): boolean;
22
+ /**
23
+ * Shallow copies and removes the elements at the specified indexes from the array. Returns the
24
+ * copied array. If the specified indexes are not found in the array, it will simply return a
25
+ * shallow copy of the array.
26
+ *
27
+ * This function is variadic, meaning that you can specify N arguments to remove N elements.
28
+ */
29
+ export declare function arrayRemoveIndex<T>(originalArray: T[] | readonly T[], ...indexesToRemove: int[]): T[];
30
+ /**
31
+ * Removes the elements at the specified indexes from the array. If the specified indexes are not
32
+ * found in the array, this function will do nothing. Returns whether or not one or more elements
33
+ * were removed.
34
+ *
35
+ * This function is variadic, meaning that you can specify N arguments to remove N elements.
36
+ */
37
+ export declare function arrayRemoveIndexInPlace<T>(array: T[], ...indexesToRemove: int[]): boolean;
38
+ export declare function arrayToString<T>(array: T[]): string;
39
+ /**
40
+ * Helper function to combine two or more arrays. Returns a new array that is the composition of all
41
+ * of the specified arrays.
42
+ *
43
+ * This function is variadic, meaning that you can specify N arguments to combine N arrays. Note
44
+ * that this will only perform a shallow copy of the array elements.
45
+ */
46
+ export declare function combineArrays<T>(...arrays: Array<T[] | readonly T[]>): T[];
47
+ /**
48
+ * Helper function to perform a shallow copy.
49
+ *
50
+ * @param oldArray The array to copy.
51
+ * @param numElements Optional. If specified, will only copy the first N elements. By default, the
52
+ * entire array will be copied.
53
+ */
54
+ export declare function copyArray<T>(oldArray: T[] | readonly T[], numElements?: int): T[];
55
+ export declare function emptyArray<T>(array: T[]): void;
56
+ /**
57
+ * Helper function to get an array containing the indexes of an array.
58
+ *
59
+ * For example, an array of `["Apple", "Banana"]` would return an array of `[0, 1]`.
60
+ */
61
+ export declare function getArrayIndexes<T>(array: T[] | readonly T[]): int[];
62
+ /**
63
+ * Helper function to return the last element of an array.
64
+ *
65
+ * If the array is empty, this will return undefined.
66
+ */
67
+ export declare function getLastElement<T>(array: T[]): T | undefined;
68
+ /**
69
+ * Helper function to get a random element from the provided array.
70
+ *
71
+ * @param array The array to get an element from.
72
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
73
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
74
+ * @param exceptions Optional. An array of elements to skip over if selected.
75
+ */
76
+ export declare function getRandomArrayElement<T>(array: T[] | readonly T[], seedOrRNG?: Seed | RNG, exceptions?: T[] | readonly T[]): T;
77
+ /**
78
+ * Helper function to get a random element from the provided array. Once the random element is
79
+ * decided, it is then removed from the array (in-place).
80
+ *
81
+ * @param array The array to get an element from.
82
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
83
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
84
+ * @param exceptions Optional. An array of elements to skip over if selected.
85
+ */
86
+ export declare function getRandomArrayElementAndRemove<T>(array: T[], seedOrRNG?: Seed | RNG, exceptions?: T[] | readonly T[]): T;
87
+ /**
88
+ * Helper function to get a random index from the provided array.
89
+ *
90
+ * @param array The array to get the index from.
91
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
92
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
93
+ */
94
+ export declare function getRandomArrayIndex<T>(array: T[] | readonly T[], seedOrRNG?: Seed | RNG): int;
95
+ /**
96
+ * Initializes an array with all elements containing the specified default value.
97
+ *
98
+ * For example:
99
+ *
100
+ * ```ts
101
+ * const playerTransformations = initArray(false, PlayerForm.NUM_PLAYER_FORMS - 1);
102
+ * ```
103
+ */
104
+ export declare function initArray<T>(defaultValue: T, size: int): T[];
105
+ /**
106
+ * Since Lua uses tables for every non-primitive data structure, it is non-trivial to determine if a
107
+ * particular table is being used as an array. `isArray` returns true if:
108
+ *
109
+ * - the table contains all numerical indexes that are contiguous, starting at 1
110
+ * - the table has no keys (i.e. an "empty" table)
111
+ */
112
+ export declare function isArray(object: unknown): object is unknown[];
113
+ /**
114
+ * Helper function to see if every element in the array is N + 1.
115
+ *
116
+ * For example, `[2, 3, 4]` would return true, and `[2, 3, 5]` would return false.
117
+ */
118
+ export declare function isArrayContiguous(array: int[]): boolean;
119
+ /** Checks if an array is in the provided 2-dimensional array. */
120
+ export declare function isArrayInArray<T>(arrayToMatch: T[] | readonly T[], parentArray: Array<T[] | readonly T[]>): boolean;
121
+ /**
122
+ * Shallow copies and shuffles the array using the Fisher-Yates algorithm. Returns the copied array.
123
+ *
124
+ * From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
125
+ *
126
+ * @param originalArray The array to shuffle.
127
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
128
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
129
+ */
130
+ export declare function shuffleArray<T>(originalArray: T[] | readonly T[], seedOrRNG?: Seed | RNG): T[];
131
+ /**
132
+ * Shuffles the provided array in-place using the Fisher-Yates algorithm.
133
+ *
134
+ * From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
135
+ *
136
+ * @param array The array to shuffle.
137
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
138
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
139
+ */
140
+ export declare function shuffleArrayInPlace<T>(array: T[], seedOrRNG?: Seed | RNG): void;
141
+ export declare function sumArray(array: number[] | readonly number[]): number;
@@ -0,0 +1,269 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
3
+ local Set = ____lualib.Set
4
+ local __TS__New = ____lualib.__TS__New
5
+ local __TS__ArrayIndexOf = ____lualib.__TS__ArrayIndexOf
6
+ local __TS__ArraySplice = ____lualib.__TS__ArraySplice
7
+ local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
8
+ local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
9
+ local __TS__ArraySort = ____lualib.__TS__ArraySort
10
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
11
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
12
+ local __TS__ArrayReduce = ____lualib.__TS__ArrayReduce
13
+ local ____exports = {}
14
+ local ____random = require("functions.random")
15
+ local getRandomInt = ____random.getRandomInt
16
+ local ____rng = require("functions.rng")
17
+ local getRandomSeed = ____rng.getRandomSeed
18
+ local isRNG = ____rng.isRNG
19
+ local newRNG = ____rng.newRNG
20
+ local ____utils = require("functions.utils")
21
+ local erange = ____utils.erange
22
+ local ____repeat = ____utils["repeat"]
23
+ function ____exports.getRandomArrayIndex(self, array, seedOrRNG)
24
+ if seedOrRNG == nil then
25
+ seedOrRNG = getRandomSeed(nil)
26
+ end
27
+ if #array == 0 then
28
+ error("Failed to get a random array index since the provided array is empty.")
29
+ end
30
+ return getRandomInt(nil, 0, #array - 1, seedOrRNG)
31
+ end
32
+ function ____exports.shuffleArrayInPlace(self, array, seedOrRNG)
33
+ if seedOrRNG == nil then
34
+ seedOrRNG = getRandomSeed(nil)
35
+ end
36
+ local currentIndex = #array
37
+ local randomIndex
38
+ local rng = isRNG(nil, seedOrRNG) and seedOrRNG or newRNG(nil, seedOrRNG)
39
+ while currentIndex > 0 do
40
+ currentIndex = currentIndex - 1
41
+ randomIndex = ____exports.getRandomArrayIndex(nil, array, rng)
42
+ local ____temp_0 = {array[randomIndex + 1], array[currentIndex + 1]}
43
+ array[currentIndex + 1] = ____temp_0[1]
44
+ array[randomIndex + 1] = ____temp_0[2]
45
+ end
46
+ end
47
+ function ____exports.arrayEquals(self, array1, array2)
48
+ if #array1 ~= #array2 then
49
+ return false
50
+ end
51
+ return __TS__ArrayEvery(
52
+ array1,
53
+ function(____, array1Element, i)
54
+ local array2Element = array2[i + 1]
55
+ return array1Element == array2Element
56
+ end
57
+ )
58
+ end
59
+ function ____exports.arrayRemove(self, originalArray, ...)
60
+ local elementsToRemove = {...}
61
+ local elementsToRemoveSet = __TS__New(Set, elementsToRemove)
62
+ local array = {}
63
+ for ____, element in ipairs(originalArray) do
64
+ if not elementsToRemoveSet:has(element) then
65
+ array[#array + 1] = element
66
+ end
67
+ end
68
+ return array
69
+ end
70
+ function ____exports.arrayRemoveInPlace(self, array, ...)
71
+ local elementsToRemove = {...}
72
+ local removedOneOrMoreElements = false
73
+ for ____, element in ipairs(elementsToRemove) do
74
+ local index = __TS__ArrayIndexOf(array, element)
75
+ if index > -1 then
76
+ removedOneOrMoreElements = true
77
+ __TS__ArraySplice(array, index, 1)
78
+ end
79
+ end
80
+ return removedOneOrMoreElements
81
+ end
82
+ function ____exports.arrayRemoveIndex(self, originalArray, ...)
83
+ local indexesToRemove = {...}
84
+ local indexesToRemoveSet = __TS__New(Set, indexesToRemove)
85
+ local array = {}
86
+ __TS__ArrayForEach(
87
+ originalArray,
88
+ function(____, element, i)
89
+ if not indexesToRemoveSet:has(i) then
90
+ array[#array + 1] = element
91
+ end
92
+ end
93
+ )
94
+ return array
95
+ end
96
+ function ____exports.arrayRemoveIndexInPlace(self, array, ...)
97
+ local indexesToRemove = {...}
98
+ local legalIndexes = __TS__ArrayFilter(
99
+ indexesToRemove,
100
+ function(____, i) return i >= 0 and i < #array end
101
+ )
102
+ __TS__ArraySort(legalIndexes)
103
+ if #legalIndexes == 0 then
104
+ return false
105
+ end
106
+ do
107
+ local i = #array - 1
108
+ while i >= 0 do
109
+ __TS__ArraySplice(array, i, 1)
110
+ i = i - 1
111
+ end
112
+ end
113
+ return true
114
+ end
115
+ function ____exports.arrayToString(self, array)
116
+ if #array == 0 then
117
+ return "[]"
118
+ end
119
+ local strings = __TS__ArrayMap(
120
+ array,
121
+ function(____, element) return tostring(element) end
122
+ )
123
+ local commaSeparatedStrings = table.concat(strings, ", ")
124
+ return ("[" .. commaSeparatedStrings) .. "]"
125
+ end
126
+ function ____exports.combineArrays(self, ...)
127
+ local arrays = {...}
128
+ local elements = {}
129
+ for ____, array in ipairs(arrays) do
130
+ for ____, element in ipairs(array) do
131
+ elements[#elements + 1] = element
132
+ end
133
+ end
134
+ return elements
135
+ end
136
+ function ____exports.copyArray(self, oldArray, numElements)
137
+ if numElements == nil then
138
+ numElements = #oldArray
139
+ end
140
+ local newArray = {}
141
+ do
142
+ local i = 0
143
+ while i < numElements do
144
+ local oldElement = oldArray[i + 1]
145
+ if oldElement ~= nil then
146
+ newArray[#newArray + 1] = oldElement
147
+ end
148
+ i = i + 1
149
+ end
150
+ end
151
+ return newArray
152
+ end
153
+ function ____exports.emptyArray(self, array)
154
+ __TS__ArraySplice(array, 0, #array)
155
+ end
156
+ function ____exports.getArrayIndexes(self, array)
157
+ return erange(nil, #array)
158
+ end
159
+ function ____exports.getLastElement(self, array)
160
+ return array[#array]
161
+ end
162
+ function ____exports.getRandomArrayElement(self, array, seedOrRNG, exceptions)
163
+ if seedOrRNG == nil then
164
+ seedOrRNG = getRandomSeed(nil)
165
+ end
166
+ if exceptions == nil then
167
+ exceptions = {}
168
+ end
169
+ if #array == 0 then
170
+ error("Failed to get a random array element since the provided array is empty.")
171
+ end
172
+ local arrayWithoutExceptions = ____exports.arrayRemove(
173
+ nil,
174
+ array,
175
+ table.unpack(exceptions)
176
+ )
177
+ local randomIndex = ____exports.getRandomArrayIndex(nil, arrayWithoutExceptions, seedOrRNG)
178
+ local randomElement = arrayWithoutExceptions[randomIndex + 1]
179
+ if randomElement == nil then
180
+ error(("Failed to get a random array element since the random index of " .. tostring(randomIndex)) .. " was not valid.")
181
+ end
182
+ return randomElement
183
+ end
184
+ function ____exports.getRandomArrayElementAndRemove(self, array, seedOrRNG, exceptions)
185
+ if seedOrRNG == nil then
186
+ seedOrRNG = getRandomSeed(nil)
187
+ end
188
+ if exceptions == nil then
189
+ exceptions = {}
190
+ end
191
+ local randomArrayElement = ____exports.getRandomArrayElement(nil, array, seedOrRNG, exceptions)
192
+ ____exports.arrayRemoveInPlace(nil, array, randomArrayElement)
193
+ return randomArrayElement
194
+ end
195
+ function ____exports.initArray(self, defaultValue, size)
196
+ local array = {}
197
+ ____repeat(
198
+ nil,
199
+ size,
200
+ function()
201
+ array[#array + 1] = defaultValue
202
+ end
203
+ )
204
+ return array
205
+ end
206
+ function ____exports.isArray(self, object)
207
+ if type(object) ~= "table" then
208
+ return false
209
+ end
210
+ local ____table = object
211
+ local metatable = getmetatable(____table)
212
+ if metatable ~= nil then
213
+ return false
214
+ end
215
+ local numEntries = 0
216
+ for key in pairs(____table) do
217
+ numEntries = numEntries + 1
218
+ if type(key) ~= "number" then
219
+ return false
220
+ end
221
+ end
222
+ if numEntries == 0 then
223
+ return true
224
+ end
225
+ do
226
+ local i = 1
227
+ while i <= numEntries do
228
+ local element = ____table[i]
229
+ if element == nil then
230
+ return false
231
+ end
232
+ i = i + 1
233
+ end
234
+ end
235
+ return true
236
+ end
237
+ function ____exports.isArrayContiguous(self, array)
238
+ local lastValue
239
+ for ____, element in ipairs(array) do
240
+ if lastValue == nil then
241
+ lastValue = element - 1
242
+ end
243
+ if element ~= lastValue - 1 then
244
+ return false
245
+ end
246
+ end
247
+ return true
248
+ end
249
+ function ____exports.isArrayInArray(self, arrayToMatch, parentArray)
250
+ return __TS__ArraySome(
251
+ parentArray,
252
+ function(____, element) return ____exports.arrayEquals(nil, element, arrayToMatch) end
253
+ )
254
+ end
255
+ function ____exports.shuffleArray(self, originalArray, seedOrRNG)
256
+ if seedOrRNG == nil then
257
+ seedOrRNG = getRandomSeed(nil)
258
+ end
259
+ local array = ____exports.copyArray(nil, originalArray)
260
+ ____exports.shuffleArrayInPlace(nil, array, seedOrRNG)
261
+ return array
262
+ end
263
+ function ____exports.sumArray(self, array)
264
+ return __TS__ArrayReduce(
265
+ array,
266
+ function(____, accumulator, element) return accumulator + element end
267
+ )
268
+ end
269
+ return ____exports
@@ -0,0 +1,10 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /**
3
+ * Helper function to benchmark the performance of a function.
4
+ *
5
+ * This function is variadic, which means that you can supply as many as you want to benchmark.
6
+ *
7
+ * @returns An array containing the average time in milliseconds for each function. (This will also
8
+ * be printed to the log.)
9
+ */
10
+ export declare function benchmark(numTrials: int, ...functions: Array<() => void>): int[];
@@ -0,0 +1,32 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
3
+ local ____exports = {}
4
+ local ____log = require("functions.log")
5
+ local log = ____log.log
6
+ function ____exports.benchmark(self, numTrials, ...)
7
+ local functions = {...}
8
+ log(((("Benchmarking " .. tostring(#functions)) .. " function(s) with ") .. tostring(numTrials)) .. " trials.")
9
+ local averages = {}
10
+ __TS__ArrayForEach(
11
+ functions,
12
+ function(____, func, i)
13
+ local totalTimeMilliseconds = 0
14
+ do
15
+ local j = 0
16
+ while j < numTrials do
17
+ local startTimeMilliseconds = Isaac.GetTime()
18
+ func(nil)
19
+ local endTimeMilliseconds = Isaac.GetTime()
20
+ local elapsedTimeMilliseconds = endTimeMilliseconds - startTimeMilliseconds
21
+ totalTimeMilliseconds = totalTimeMilliseconds + elapsedTimeMilliseconds
22
+ j = j + 1
23
+ end
24
+ end
25
+ local averageTimeMilliseconds = totalTimeMilliseconds / numTrials
26
+ log(((("The average time of the function at index " .. tostring(i)) .. " is: ") .. tostring(averageTimeMilliseconds)) .. " milliseconds")
27
+ averages[#averages + 1] = averageTimeMilliseconds
28
+ end
29
+ )
30
+ return averages
31
+ end
32
+ return ____exports
@@ -0,0 +1,4 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare function countSetBits(n: int): int;
3
+ export declare function getKBitOfN(k: int, n: int): int;
4
+ export declare function getNumBitsOfN(n: int): int;
@@ -0,0 +1,21 @@
1
+ local ____exports = {}
2
+ function ____exports.countSetBits(self, n)
3
+ local count = 0
4
+ while n > 0 do
5
+ n = n & n - 1
6
+ count = count + 1
7
+ end
8
+ return count
9
+ end
10
+ function ____exports.getKBitOfN(self, k, n)
11
+ return n >> k & 1
12
+ end
13
+ function ____exports.getNumBitsOfN(self, n)
14
+ local numBits = 0
15
+ while n > 0 do
16
+ numBits = numBits + 1
17
+ n = n >> 1
18
+ end
19
+ return numBits
20
+ end
21
+ return ____exports