isaacscript-common 6.6.0 → 6.6.1-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (820) hide show
  1. package/cachedClasses.d.ts +1 -0
  2. package/cachedClasses.js +59 -0
  3. package/cachedClasses.lua +2 -0
  4. package/callbacks/customRevive.js +153 -0
  5. package/callbacks/customRevive.lua +2 -0
  6. package/callbacks/itemPickup.js +64 -0
  7. package/callbacks/itemPickup.lua +2 -0
  8. package/callbacks/postAmbush.js +54 -0
  9. package/callbacks/postAmbush.lua +2 -0
  10. package/callbacks/postBombExploded.js +20 -0
  11. package/callbacks/postBombExploded.lua +2 -0
  12. package/callbacks/postBombInitLate.js +28 -0
  13. package/callbacks/postBombInitLate.lua +2 -0
  14. package/callbacks/postBoneSwing.js +49 -0
  15. package/callbacks/postBoneSwing.lua +2 -0
  16. package/callbacks/postCollectibleEmpty.js +32 -0
  17. package/callbacks/postCollectibleEmpty.lua +2 -0
  18. package/callbacks/postCollectibleInitFirst.js +27 -0
  19. package/callbacks/postCollectibleInitFirst.lua +2 -0
  20. package/callbacks/postCursedTeleport.js +120 -0
  21. package/callbacks/postCursedTeleport.lua +2 -0
  22. package/callbacks/postCustomDoorEnter.js +205 -0
  23. package/callbacks/postCustomDoorEnter.lua +2 -0
  24. package/callbacks/postDiceRoomActivated.js +39 -0
  25. package/callbacks/postDiceRoomActivated.lua +2 -0
  26. package/callbacks/postDoorRender.js +20 -0
  27. package/callbacks/postDoorRender.lua +2 -0
  28. package/callbacks/postDoorUpdate.js +20 -0
  29. package/callbacks/postDoorUpdate.lua +2 -0
  30. package/callbacks/postEffectInitLate.js +28 -0
  31. package/callbacks/postEffectInitLate.lua +2 -0
  32. package/callbacks/postEffectStateChanged.js +31 -0
  33. package/callbacks/postEffectStateChanged.lua +2 -0
  34. package/callbacks/postEsauJr.js +70 -0
  35. package/callbacks/postEsauJr.lua +2 -0
  36. package/callbacks/postFamiliarInitLate.js +28 -0
  37. package/callbacks/postFamiliarInitLate.lua +2 -0
  38. package/callbacks/postFamiliarStateChanged.js +31 -0
  39. package/callbacks/postFamiliarStateChanged.lua +2 -0
  40. package/callbacks/postFlip.js +59 -0
  41. package/callbacks/postFlip.lua +2 -0
  42. package/callbacks/postGreedModeWave.js +31 -0
  43. package/callbacks/postGreedModeWave.lua +2 -0
  44. package/callbacks/postGridEntity.js +107 -0
  45. package/callbacks/postGridEntity.lua +2 -0
  46. package/callbacks/postGridEntityCollision.js +49 -0
  47. package/callbacks/postGridEntityCollision.lua +2 -0
  48. package/callbacks/postGridEntityRender.js +20 -0
  49. package/callbacks/postGridEntityRender.lua +2 -0
  50. package/callbacks/postHolyMantleRemoved.js +33 -0
  51. package/callbacks/postHolyMantleRemoved.lua +2 -0
  52. package/callbacks/postItemDischarged.js +94 -0
  53. package/callbacks/postItemDischarged.lua +2 -0
  54. package/callbacks/postKnifeInitLate.js +28 -0
  55. package/callbacks/postKnifeInitLate.lua +2 -0
  56. package/callbacks/postLaserInitLate.js +28 -0
  57. package/callbacks/postLaserInitLate.lua +2 -0
  58. package/callbacks/postNPCInitLate.js +28 -0
  59. package/callbacks/postNPCInitLate.lua +2 -0
  60. package/callbacks/postNPCStateChanged.js +31 -0
  61. package/callbacks/postNPCStateChanged.lua +2 -0
  62. package/callbacks/postNewRoomEarly.js +69 -0
  63. package/callbacks/postNewRoomEarly.lua +2 -0
  64. package/callbacks/postPickupCollect.js +37 -0
  65. package/callbacks/postPickupCollect.lua +2 -0
  66. package/callbacks/postPickupInitFirst.js +52 -0
  67. package/callbacks/postPickupInitFirst.lua +2 -0
  68. package/callbacks/postPickupInitLate.js +28 -0
  69. package/callbacks/postPickupInitLate.lua +2 -0
  70. package/callbacks/postPickupStateChanged.js +31 -0
  71. package/callbacks/postPickupStateChanged.lua +2 -0
  72. package/callbacks/postPitRender.js +20 -0
  73. package/callbacks/postPitRender.lua +2 -0
  74. package/callbacks/postPitUpdate.js +20 -0
  75. package/callbacks/postPitUpdate.lua +2 -0
  76. package/callbacks/postPlayerChangeHealth.js +43 -0
  77. package/callbacks/postPlayerChangeHealth.lua +2 -0
  78. package/callbacks/postPlayerChangeType.js +31 -0
  79. package/callbacks/postPlayerChangeType.lua +2 -0
  80. package/callbacks/postPlayerCollectible.js +74 -0
  81. package/callbacks/postPlayerCollectible.lua +2 -0
  82. package/callbacks/postPlayerFatalDamage.js +74 -0
  83. package/callbacks/postPlayerFatalDamage.lua +2 -0
  84. package/callbacks/postPlayerInitLate.js +28 -0
  85. package/callbacks/postPlayerInitLate.lua +2 -0
  86. package/callbacks/postPlayerReordered.js +109 -0
  87. package/callbacks/postPlayerReordered.lua +2 -0
  88. package/callbacks/postPoopRender.js +20 -0
  89. package/callbacks/postPoopRender.lua +2 -0
  90. package/callbacks/postPoopUpdate.js +20 -0
  91. package/callbacks/postPoopUpdate.lua +2 -0
  92. package/callbacks/postPressurePlateRender.js +20 -0
  93. package/callbacks/postPressurePlateRender.lua +2 -0
  94. package/callbacks/postPressurePlateUpdate.js +20 -0
  95. package/callbacks/postPressurePlateUpdate.lua +2 -0
  96. package/callbacks/postProjectileInitLate.js +28 -0
  97. package/callbacks/postProjectileInitLate.lua +2 -0
  98. package/callbacks/postPurchase.js +39 -0
  99. package/callbacks/postPurchase.lua +2 -0
  100. package/callbacks/postRockRender.js +20 -0
  101. package/callbacks/postRockRender.lua +2 -0
  102. package/callbacks/postRockUpdate.js +20 -0
  103. package/callbacks/postRockUpdate.lua +2 -0
  104. package/callbacks/postRoomClearChanged.js +41 -0
  105. package/callbacks/postRoomClearChanged.lua +2 -0
  106. package/callbacks/postSacrifice.js +38 -0
  107. package/callbacks/postSacrifice.lua +2 -0
  108. package/callbacks/postSlotDestroyed.js +64 -0
  109. package/callbacks/postSlotDestroyed.lua +2 -0
  110. package/callbacks/postSlotInitUpdate.js +49 -0
  111. package/callbacks/postSlotInitUpdate.lua +2 -0
  112. package/callbacks/postSlotRender.js +48 -0
  113. package/callbacks/postSlotRender.lua +2 -0
  114. package/callbacks/postSpikesRender.js +20 -0
  115. package/callbacks/postSpikesRender.lua +2 -0
  116. package/callbacks/postSpikesUpdate.js +20 -0
  117. package/callbacks/postSpikesUpdate.lua +2 -0
  118. package/callbacks/postTNTRender.js +20 -0
  119. package/callbacks/postTNTRender.lua +2 -0
  120. package/callbacks/postTNTUpdate.js +20 -0
  121. package/callbacks/postTNTUpdate.lua +2 -0
  122. package/callbacks/postTearInitLate.js +28 -0
  123. package/callbacks/postTearInitLate.lua +2 -0
  124. package/callbacks/postTearInitVeryLate.js +32 -0
  125. package/callbacks/postTearInitVeryLate.lua +2 -0
  126. package/callbacks/postTransformation.js +37 -0
  127. package/callbacks/postTransformation.lua +2 -0
  128. package/callbacks/postTrinketBreak.js +64 -0
  129. package/callbacks/postTrinketBreak.lua +2 -0
  130. package/callbacks/preBerserkDeath.js +35 -0
  131. package/callbacks/preBerserkDeath.lua +2 -0
  132. package/callbacks/preNewLevel.js +45 -0
  133. package/callbacks/preNewLevel.lua +2 -0
  134. package/callbacks/reorderedCallbacks.js +136 -0
  135. package/callbacks/reorderedCallbacks.lua +2 -0
  136. package/callbacks/subscriptions/postAmbushFinished.js +20 -0
  137. package/callbacks/subscriptions/postAmbushFinished.lua +2 -0
  138. package/callbacks/subscriptions/postAmbushStarted.js +20 -0
  139. package/callbacks/subscriptions/postAmbushStarted.lua +2 -0
  140. package/callbacks/subscriptions/postBombInitLate.js +20 -0
  141. package/callbacks/subscriptions/postBombInitLate.lua +2 -0
  142. package/callbacks/subscriptions/postBoneExploded.js +20 -0
  143. package/callbacks/subscriptions/postBoneExploded.lua +2 -0
  144. package/callbacks/subscriptions/postBoneSwing.js +16 -0
  145. package/callbacks/subscriptions/postBoneSwing.lua +2 -0
  146. package/callbacks/subscriptions/postCollectibleEmpty.js +21 -0
  147. package/callbacks/subscriptions/postCollectibleEmpty.lua +2 -0
  148. package/callbacks/subscriptions/postCollectibleInitFirst.js +21 -0
  149. package/callbacks/subscriptions/postCollectibleInitFirst.lua +2 -0
  150. package/callbacks/subscriptions/postCursedTeleport.js +16 -0
  151. package/callbacks/subscriptions/postCursedTeleport.lua +2 -0
  152. package/callbacks/subscriptions/postCustomDoorEnter.js +21 -0
  153. package/callbacks/subscriptions/postCustomDoorEnter.lua +2 -0
  154. package/callbacks/subscriptions/postCustomRevive.js +21 -0
  155. package/callbacks/subscriptions/postCustomRevive.lua +2 -0
  156. package/callbacks/subscriptions/postDiceRoomActivated.js +21 -0
  157. package/callbacks/subscriptions/postDiceRoomActivated.lua +2 -0
  158. package/callbacks/subscriptions/postDoorRender.js +22 -0
  159. package/callbacks/subscriptions/postDoorRender.lua +2 -0
  160. package/callbacks/subscriptions/postDoorUpdate.js +22 -0
  161. package/callbacks/subscriptions/postDoorUpdate.lua +2 -0
  162. package/callbacks/subscriptions/postEffectInitLate.js +20 -0
  163. package/callbacks/subscriptions/postEffectInitLate.lua +2 -0
  164. package/callbacks/subscriptions/postEffectStateChanged.js +20 -0
  165. package/callbacks/subscriptions/postEffectStateChanged.lua +2 -0
  166. package/callbacks/subscriptions/postEsauJr.js +16 -0
  167. package/callbacks/subscriptions/postEsauJr.lua +2 -0
  168. package/callbacks/subscriptions/postFamiliarInitLate.js +20 -0
  169. package/callbacks/subscriptions/postFamiliarInitLate.lua +2 -0
  170. package/callbacks/subscriptions/postFamiliarStateChanged.js +20 -0
  171. package/callbacks/subscriptions/postFamiliarStateChanged.lua +2 -0
  172. package/callbacks/subscriptions/postFirstEsauJr.js +16 -0
  173. package/callbacks/subscriptions/postFirstEsauJr.lua +2 -0
  174. package/callbacks/subscriptions/postFirstFlip.js +16 -0
  175. package/callbacks/subscriptions/postFirstFlip.lua +2 -0
  176. package/callbacks/subscriptions/postFlip.js +16 -0
  177. package/callbacks/subscriptions/postFlip.lua +2 -0
  178. package/callbacks/subscriptions/postGameStartedReordered.js +16 -0
  179. package/callbacks/subscriptions/postGameStartedReordered.lua +2 -0
  180. package/callbacks/subscriptions/postGreedModeWave.js +16 -0
  181. package/callbacks/subscriptions/postGreedModeWave.lua +2 -0
  182. package/callbacks/subscriptions/postGridEntityBroken.js +28 -0
  183. package/callbacks/subscriptions/postGridEntityBroken.lua +2 -0
  184. package/callbacks/subscriptions/postGridEntityCollision.js +28 -0
  185. package/callbacks/subscriptions/postGridEntityCollision.lua +2 -0
  186. package/callbacks/subscriptions/postGridEntityInit.js +28 -0
  187. package/callbacks/subscriptions/postGridEntityInit.lua +2 -0
  188. package/callbacks/subscriptions/postGridEntityRemove.js +26 -0
  189. package/callbacks/subscriptions/postGridEntityRemove.lua +2 -0
  190. package/callbacks/subscriptions/postGridEntityRender.js +28 -0
  191. package/callbacks/subscriptions/postGridEntityRender.lua +2 -0
  192. package/callbacks/subscriptions/postGridEntityStateChanged.js +28 -0
  193. package/callbacks/subscriptions/postGridEntityStateChanged.lua +2 -0
  194. package/callbacks/subscriptions/postGridEntityUpdate.js +28 -0
  195. package/callbacks/subscriptions/postGridEntityUpdate.lua +2 -0
  196. package/callbacks/subscriptions/postHolyMantleRemoved.js +25 -0
  197. package/callbacks/subscriptions/postHolyMantleRemoved.lua +2 -0
  198. package/callbacks/subscriptions/postItemDischarged.js +21 -0
  199. package/callbacks/subscriptions/postItemDischarged.lua +2 -0
  200. package/callbacks/subscriptions/postItemPickup.js +25 -0
  201. package/callbacks/subscriptions/postItemPickup.lua +2 -0
  202. package/callbacks/subscriptions/postKnifeInitLate.js +20 -0
  203. package/callbacks/subscriptions/postKnifeInitLate.lua +2 -0
  204. package/callbacks/subscriptions/postLaserInitLate.js +20 -0
  205. package/callbacks/subscriptions/postLaserInitLate.lua +2 -0
  206. package/callbacks/subscriptions/postNPCInitLate.js +20 -0
  207. package/callbacks/subscriptions/postNPCInitLate.lua +2 -0
  208. package/callbacks/subscriptions/postNPCStateChanged.js +24 -0
  209. package/callbacks/subscriptions/postNPCStateChanged.lua +2 -0
  210. package/callbacks/subscriptions/postNewLevelReordered.js +16 -0
  211. package/callbacks/subscriptions/postNewLevelReordered.lua +2 -0
  212. package/callbacks/subscriptions/postNewRoomEarly.js +16 -0
  213. package/callbacks/subscriptions/postNewRoomEarly.lua +2 -0
  214. package/callbacks/subscriptions/postNewRoomReordered.js +16 -0
  215. package/callbacks/subscriptions/postNewRoomReordered.lua +2 -0
  216. package/callbacks/subscriptions/postPEffectUpdateReordered.js +25 -0
  217. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +2 -0
  218. package/callbacks/subscriptions/postPickupCollect.js +20 -0
  219. package/callbacks/subscriptions/postPickupCollect.lua +2 -0
  220. package/callbacks/subscriptions/postPickupInitFirst.js +20 -0
  221. package/callbacks/subscriptions/postPickupInitFirst.lua +2 -0
  222. package/callbacks/subscriptions/postPickupInitLate.js +20 -0
  223. package/callbacks/subscriptions/postPickupInitLate.lua +2 -0
  224. package/callbacks/subscriptions/postPickupStateChanged.js +20 -0
  225. package/callbacks/subscriptions/postPickupStateChanged.lua +2 -0
  226. package/callbacks/subscriptions/postPitRender.js +22 -0
  227. package/callbacks/subscriptions/postPitRender.lua +2 -0
  228. package/callbacks/subscriptions/postPitUpdate.js +22 -0
  229. package/callbacks/subscriptions/postPitUpdate.lua +2 -0
  230. package/callbacks/subscriptions/postPlayerChangeHealth.js +25 -0
  231. package/callbacks/subscriptions/postPlayerChangeHealth.lua +2 -0
  232. package/callbacks/subscriptions/postPlayerChangeType.js +20 -0
  233. package/callbacks/subscriptions/postPlayerChangeType.lua +2 -0
  234. package/callbacks/subscriptions/postPlayerCollectibleAdded.js +21 -0
  235. package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -0
  236. package/callbacks/subscriptions/postPlayerCollectibleRemoved.js +21 -0
  237. package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -0
  238. package/callbacks/subscriptions/postPlayerFatalDamage.js +29 -0
  239. package/callbacks/subscriptions/postPlayerFatalDamage.lua +2 -0
  240. package/callbacks/subscriptions/postPlayerInitLate.js +25 -0
  241. package/callbacks/subscriptions/postPlayerInitLate.lua +2 -0
  242. package/callbacks/subscriptions/postPlayerInitReordered.js +25 -0
  243. package/callbacks/subscriptions/postPlayerInitReordered.lua +2 -0
  244. package/callbacks/subscriptions/postPlayerRenderReordered.js +25 -0
  245. package/callbacks/subscriptions/postPlayerRenderReordered.lua +2 -0
  246. package/callbacks/subscriptions/postPlayerUpdateReordered.js +25 -0
  247. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +2 -0
  248. package/callbacks/subscriptions/postPoopRender.js +22 -0
  249. package/callbacks/subscriptions/postPoopRender.lua +2 -0
  250. package/callbacks/subscriptions/postPoopUpdate.js +22 -0
  251. package/callbacks/subscriptions/postPoopUpdate.lua +2 -0
  252. package/callbacks/subscriptions/postPressurePlateRender.js +22 -0
  253. package/callbacks/subscriptions/postPressurePlateRender.lua +2 -0
  254. package/callbacks/subscriptions/postPressurePlateUpdate.js +22 -0
  255. package/callbacks/subscriptions/postPressurePlateUpdate.lua +2 -0
  256. package/callbacks/subscriptions/postProjectileInitLate.js +21 -0
  257. package/callbacks/subscriptions/postProjectileInitLate.lua +2 -0
  258. package/callbacks/subscriptions/postPurchase.js +16 -0
  259. package/callbacks/subscriptions/postPurchase.lua +2 -0
  260. package/callbacks/subscriptions/postRockRender.js +22 -0
  261. package/callbacks/subscriptions/postRockRender.lua +2 -0
  262. package/callbacks/subscriptions/postRockUpdate.js +22 -0
  263. package/callbacks/subscriptions/postRockUpdate.lua +2 -0
  264. package/callbacks/subscriptions/postRoomClearChanged.js +20 -0
  265. package/callbacks/subscriptions/postRoomClearChanged.lua +2 -0
  266. package/callbacks/subscriptions/postSacrifice.js +25 -0
  267. package/callbacks/subscriptions/postSacrifice.lua +2 -0
  268. package/callbacks/subscriptions/postSlotAnimationChanged.js +20 -0
  269. package/callbacks/subscriptions/postSlotAnimationChanged.lua +2 -0
  270. package/callbacks/subscriptions/postSlotDestroyed.js +26 -0
  271. package/callbacks/subscriptions/postSlotDestroyed.lua +2 -0
  272. package/callbacks/subscriptions/postSlotInit.js +20 -0
  273. package/callbacks/subscriptions/postSlotInit.lua +2 -0
  274. package/callbacks/subscriptions/postSlotRender.js +20 -0
  275. package/callbacks/subscriptions/postSlotRender.lua +2 -0
  276. package/callbacks/subscriptions/postSlotUpdate.js +20 -0
  277. package/callbacks/subscriptions/postSlotUpdate.lua +2 -0
  278. package/callbacks/subscriptions/postSpikesRender.js +22 -0
  279. package/callbacks/subscriptions/postSpikesRender.lua +2 -0
  280. package/callbacks/subscriptions/postSpikesUpdate.js +22 -0
  281. package/callbacks/subscriptions/postSpikesUpdate.lua +2 -0
  282. package/callbacks/subscriptions/postTNTRender.js +22 -0
  283. package/callbacks/subscriptions/postTNTRender.lua +2 -0
  284. package/callbacks/subscriptions/postTNTUpdate.js +22 -0
  285. package/callbacks/subscriptions/postTNTUpdate.lua +2 -0
  286. package/callbacks/subscriptions/postTearInitLate.js +20 -0
  287. package/callbacks/subscriptions/postTearInitLate.lua +2 -0
  288. package/callbacks/subscriptions/postTearInitVeryLate.js +20 -0
  289. package/callbacks/subscriptions/postTearInitVeryLate.lua +2 -0
  290. package/callbacks/subscriptions/postTransformation.js +20 -0
  291. package/callbacks/subscriptions/postTransformation.lua +2 -0
  292. package/callbacks/subscriptions/postTrinketBreak.js +21 -0
  293. package/callbacks/subscriptions/postTrinketBreak.lua +2 -0
  294. package/callbacks/subscriptions/preBerserkDeath.js +26 -0
  295. package/callbacks/subscriptions/preBerserkDeath.lua +2 -0
  296. package/callbacks/subscriptions/preCustomRevive.js +29 -0
  297. package/callbacks/subscriptions/preCustomRevive.lua +2 -0
  298. package/callbacks/subscriptions/preItemPickup.js +25 -0
  299. package/callbacks/subscriptions/preItemPickup.lua +2 -0
  300. package/callbacks/subscriptions/preNewLevel.js +16 -0
  301. package/callbacks/subscriptions/preNewLevel.lua +2 -0
  302. package/classes/DefaultMap.js +145 -0
  303. package/classes/DefaultMap.lua +2 -0
  304. package/classes/ModUpgraded.js +57 -0
  305. package/classes/ModUpgraded.lua +2 -0
  306. package/constants.js +143 -0
  307. package/constants.lua +2 -0
  308. package/constantsFirstLast.js +156 -0
  309. package/constantsFirstLast.lua +2 -0
  310. package/enums/AmbushType.js +6 -0
  311. package/enums/AmbushType.lua +2 -0
  312. package/enums/CornerType.js +8 -0
  313. package/enums/CornerType.lua +2 -0
  314. package/enums/DecorationVariant.js +11 -0
  315. package/enums/DecorationVariant.lua +2 -0
  316. package/enums/HealthType.js +18 -0
  317. package/enums/HealthType.lua +2 -0
  318. package/enums/ModCallbackCustom.js +1213 -0
  319. package/enums/ModCallbackCustom.lua +2 -0
  320. package/enums/PocketItemType.js +10 -0
  321. package/enums/PocketItemType.lua +2 -0
  322. package/enums/RockAltType.js +9 -0
  323. package/enums/RockAltType.lua +2 -0
  324. package/enums/SerializationType.js +7 -0
  325. package/enums/SerializationType.lua +2 -0
  326. package/enums/SlotDestructionType.js +6 -0
  327. package/enums/SlotDestructionType.lua +2 -0
  328. package/enums/private/CopyableIsaacAPIClassType.js +9 -0
  329. package/enums/private/CopyableIsaacAPIClassType.lua +2 -0
  330. package/enums/private/SaveDataKey.js +8 -0
  331. package/enums/private/SaveDataKey.lua +2 -0
  332. package/enums/private/SerializationBrand.js +41 -0
  333. package/enums/private/SerializationBrand.lua +2 -0
  334. package/features/characterHealthConversion.js +86 -0
  335. package/features/characterHealthConversion.lua +2 -0
  336. package/features/characterStats.js +52 -0
  337. package/features/characterStats.lua +2 -0
  338. package/features/collectibleItemPoolType.js +45 -0
  339. package/features/collectibleItemPoolType.lua +2 -0
  340. package/features/customGridEntity.js +148 -0
  341. package/features/customGridEntity.lua +2 -0
  342. package/features/customStage/backdrop.js +191 -0
  343. package/features/customStage/backdrop.lua +9 -7
  344. package/features/customStage/customStageConstants.js +2 -0
  345. package/features/customStage/customStageConstants.lua +2 -0
  346. package/features/customStage/exports.js +147 -0
  347. package/features/customStage/exports.lua +8 -1
  348. package/features/customStage/gridEntities.js +138 -0
  349. package/features/customStage/gridEntities.lua +2 -0
  350. package/features/customStage/init.js +104 -0
  351. package/features/customStage/init.lua +4 -9
  352. package/features/customStage/metadata.json +1 -0
  353. package/features/customStage/metadata.lua +2 -0
  354. package/features/customStage/shadows.d.ts +0 -1
  355. package/features/customStage/shadows.js +63 -0
  356. package/features/customStage/shadows.lua +31 -19
  357. package/features/customStage/streakText.d.ts +1 -1
  358. package/features/customStage/streakText.js +35 -0
  359. package/features/customStage/streakText.lua +14 -3
  360. package/features/customStage/util.js +36 -0
  361. package/features/customStage/util.lua +2 -0
  362. package/features/customStage/v.js +18 -0
  363. package/features/customStage/v.lua +2 -0
  364. package/features/customStage/versusScreen.js +184 -0
  365. package/features/customStage/versusScreen.lua +8 -1
  366. package/features/debugDisplay/debugDisplay.js +183 -0
  367. package/features/debugDisplay/debugDisplay.lua +2 -0
  368. package/features/debugDisplay/exports.js +441 -0
  369. package/features/debugDisplay/exports.lua +2 -0
  370. package/features/debugDisplay/v.d.ts +18 -0
  371. package/features/debugDisplay/v.js +61 -0
  372. package/features/debugDisplay/v.lua +2 -0
  373. package/features/deployJSONRoom.js +532 -0
  374. package/features/deployJSONRoom.lua +2 -0
  375. package/features/disableAllSound.js +63 -0
  376. package/features/disableAllSound.lua +2 -0
  377. package/features/disableInputs.js +130 -0
  378. package/features/disableInputs.lua +2 -0
  379. package/features/extraConsoleCommands/commandsDisplay.js +236 -0
  380. package/features/extraConsoleCommands/commandsDisplay.lua +2 -0
  381. package/features/extraConsoleCommands/commandsSubroutines.js +109 -0
  382. package/features/extraConsoleCommands/commandsSubroutines.lua +2 -0
  383. package/features/extraConsoleCommands/exports.js +53 -0
  384. package/features/extraConsoleCommands/exports.lua +2 -0
  385. package/features/extraConsoleCommands/init.js +239 -0
  386. package/features/extraConsoleCommands/init.lua +2 -0
  387. package/features/extraConsoleCommands/listCommands.js +1081 -0
  388. package/features/extraConsoleCommands/listCommands.lua +2 -0
  389. package/features/extraConsoleCommands/v.js +25 -0
  390. package/features/extraConsoleCommands/v.lua +2 -0
  391. package/features/fadeInRemover.js +51 -0
  392. package/features/fadeInRemover.lua +2 -0
  393. package/features/fastReset.js +61 -0
  394. package/features/fastReset.lua +2 -0
  395. package/features/forgottenSwitch.js +33 -0
  396. package/features/forgottenSwitch.lua +2 -0
  397. package/features/pause.js +68 -0
  398. package/features/pause.lua +2 -0
  399. package/features/persistentEntities.js +120 -0
  400. package/features/persistentEntities.lua +2 -0
  401. package/features/playerInventory.js +89 -0
  402. package/features/playerInventory.lua +2 -0
  403. package/features/ponyDetection.js +63 -0
  404. package/features/ponyDetection.lua +2 -0
  405. package/features/preventCollectibleRotation.js +81 -0
  406. package/features/preventCollectibleRotation.lua +2 -0
  407. package/features/registerHotkey.js +91 -0
  408. package/features/registerHotkey.lua +2 -0
  409. package/features/roomClearFrame.js +42 -0
  410. package/features/roomClearFrame.lua +2 -0
  411. package/features/runInNFrames.js +189 -0
  412. package/features/runInNFrames.lua +2 -0
  413. package/features/runNextRoom.js +34 -0
  414. package/features/runNextRoom.lua +2 -0
  415. package/features/saveDataManager/exports.js +183 -0
  416. package/features/saveDataManager/exports.lua +2 -0
  417. package/features/saveDataManager/load.js +69 -0
  418. package/features/saveDataManager/load.lua +2 -0
  419. package/features/saveDataManager/main.js +131 -0
  420. package/features/saveDataManager/main.lua +2 -0
  421. package/features/saveDataManager/maps.js +9 -0
  422. package/features/saveDataManager/maps.lua +2 -0
  423. package/features/saveDataManager/merge.js +139 -0
  424. package/features/saveDataManager/merge.lua +2 -0
  425. package/features/saveDataManager/save.js +43 -0
  426. package/features/saveDataManager/save.lua +2 -0
  427. package/features/saveDataManager/saveDataManagerConstants.js +4 -0
  428. package/features/saveDataManager/saveDataManagerConstants.lua +2 -0
  429. package/features/saveDataManager/serializationBrand.js +12 -0
  430. package/features/saveDataManager/serializationBrand.lua +2 -0
  431. package/features/sirenHelpers.js +90 -0
  432. package/features/sirenHelpers.lua +2 -0
  433. package/features/stageHistory.js +43 -0
  434. package/features/stageHistory.lua +2 -0
  435. package/features/taintedLazarusPlayers.js +92 -0
  436. package/features/taintedLazarusPlayers.lua +2 -0
  437. package/featuresInitialized.js +16 -0
  438. package/featuresInitialized.lua +2 -0
  439. package/functions/ambush.js +35 -0
  440. package/functions/ambush.lua +2 -0
  441. package/functions/array.js +423 -0
  442. package/functions/array.lua +2 -0
  443. package/functions/benchmark.js +28 -0
  444. package/functions/benchmark.lua +2 -0
  445. package/functions/bitwise.js +74 -0
  446. package/functions/bitwise.lua +2 -0
  447. package/functions/bombs.js +11 -0
  448. package/functions/bombs.lua +2 -0
  449. package/functions/boss.js +137 -0
  450. package/functions/boss.lua +2 -0
  451. package/functions/cacheFlag.js +11 -0
  452. package/functions/cacheFlag.lua +2 -0
  453. package/functions/cards.js +217 -0
  454. package/functions/cards.lua +2 -0
  455. package/functions/challenges.js +9 -0
  456. package/functions/challenges.lua +2 -0
  457. package/functions/character.js +102 -0
  458. package/functions/character.lua +2 -0
  459. package/functions/charge.js +202 -0
  460. package/functions/charge.lua +2 -0
  461. package/functions/chargeBar.js +44 -0
  462. package/functions/chargeBar.lua +2 -0
  463. package/functions/collectibleCacheFlag.js +68 -0
  464. package/functions/collectibleCacheFlag.lua +2 -0
  465. package/functions/collectibleSet.js +108 -0
  466. package/functions/collectibleSet.lua +2 -0
  467. package/functions/collectibleTag.js +65 -0
  468. package/functions/collectibleTag.lua +2 -0
  469. package/functions/collectibles.js +469 -0
  470. package/functions/collectibles.lua +2 -0
  471. package/functions/color.d.ts +1 -1
  472. package/functions/color.js +60 -0
  473. package/functions/color.lua +2 -0
  474. package/functions/debug.js +60 -0
  475. package/functions/debug.lua +2 -0
  476. package/functions/deepCopy.js +361 -0
  477. package/functions/deepCopy.lua +2 -0
  478. package/functions/deepCopyTests.js +308 -0
  479. package/functions/deepCopyTests.lua +2 -0
  480. package/functions/direction.js +41 -0
  481. package/functions/direction.lua +2 -0
  482. package/functions/doors.js +326 -0
  483. package/functions/doors.lua +2 -0
  484. package/functions/easing.js +142 -0
  485. package/functions/easing.lua +2 -0
  486. package/functions/eden.js +32 -0
  487. package/functions/eden.lua +2 -0
  488. package/functions/effects.js +11 -0
  489. package/functions/effects.lua +2 -0
  490. package/functions/entity.js +324 -0
  491. package/functions/entity.lua +2 -0
  492. package/functions/entitySpecific.js +481 -0
  493. package/functions/entitySpecific.lua +2 -0
  494. package/functions/entityTypes.js +6 -0
  495. package/functions/entityTypes.lua +2 -0
  496. package/functions/enums.js +151 -0
  497. package/functions/enums.lua +2 -0
  498. package/functions/familiars.js +85 -0
  499. package/functions/familiars.lua +2 -0
  500. package/functions/flag.js +137 -0
  501. package/functions/flag.lua +2 -0
  502. package/functions/flying.js +88 -0
  503. package/functions/flying.lua +2 -0
  504. package/functions/globals.js +230 -0
  505. package/functions/globals.lua +2 -0
  506. package/functions/gridEntity.js +488 -0
  507. package/functions/gridEntity.lua +2 -0
  508. package/functions/gridEntitySpecific.js +109 -0
  509. package/functions/gridEntitySpecific.lua +2 -0
  510. package/functions/input.js +95 -0
  511. package/functions/input.lua +2 -0
  512. package/functions/isaacAPIClass.js +48 -0
  513. package/functions/isaacAPIClass.lua +2 -0
  514. package/functions/jsonHelpers.js +40 -0
  515. package/functions/jsonHelpers.lua +2 -0
  516. package/functions/jsonRoom.js +132 -0
  517. package/functions/jsonRoom.lua +2 -0
  518. package/functions/kColor.d.ts +1 -1
  519. package/functions/kColor.js +63 -0
  520. package/functions/kColor.lua +2 -0
  521. package/functions/language.js +13 -0
  522. package/functions/language.lua +2 -0
  523. package/functions/level.js +20 -0
  524. package/functions/level.lua +2 -0
  525. package/functions/log.js +567 -0
  526. package/functions/log.lua +2 -0
  527. package/functions/map.js +45 -0
  528. package/functions/map.lua +2 -0
  529. package/functions/math.js +103 -0
  530. package/functions/math.lua +2 -0
  531. package/functions/mergeTests.js +213 -0
  532. package/functions/mergeTests.lua +2 -0
  533. package/functions/minimap.js +80 -0
  534. package/functions/minimap.lua +2 -0
  535. package/functions/nextStage.js +290 -0
  536. package/functions/nextStage.lua +2 -0
  537. package/functions/npc.js +101 -0
  538. package/functions/npc.lua +2 -0
  539. package/functions/pickupVariants.js +47 -0
  540. package/functions/pickupVariants.lua +2 -0
  541. package/functions/pickups.js +219 -0
  542. package/functions/pickups.lua +2 -0
  543. package/functions/pills.js +160 -0
  544. package/functions/pills.lua +2 -0
  545. package/functions/player.js +808 -0
  546. package/functions/player.lua +2 -0
  547. package/functions/playerCenter.js +50 -0
  548. package/functions/playerCenter.lua +2 -0
  549. package/functions/playerDataStructures.js +114 -0
  550. package/functions/playerDataStructures.lua +2 -0
  551. package/functions/playerHealth.js +321 -0
  552. package/functions/playerHealth.lua +2 -0
  553. package/functions/playerIndex.js +160 -0
  554. package/functions/playerIndex.lua +2 -0
  555. package/functions/pocketItems.js +124 -0
  556. package/functions/pocketItems.lua +2 -0
  557. package/functions/positionVelocity.js +136 -0
  558. package/functions/positionVelocity.lua +2 -0
  559. package/functions/random.js +73 -0
  560. package/functions/random.lua +2 -0
  561. package/functions/revive.js +140 -0
  562. package/functions/revive.lua +2 -0
  563. package/functions/rng.d.ts +1 -1
  564. package/functions/rng.js +117 -0
  565. package/functions/rng.lua +2 -0
  566. package/functions/roomData.js +174 -0
  567. package/functions/roomData.lua +2 -0
  568. package/functions/roomGrid.js +81 -0
  569. package/functions/roomGrid.lua +2 -0
  570. package/functions/roomShape.js +99 -0
  571. package/functions/roomShape.lua +2 -0
  572. package/functions/rooms.js +487 -0
  573. package/functions/rooms.lua +2 -0
  574. package/functions/run.js +53 -0
  575. package/functions/run.lua +2 -0
  576. package/functions/saveFile.js +104 -0
  577. package/functions/saveFile.lua +2 -0
  578. package/functions/seeds.js +18 -0
  579. package/functions/seeds.lua +2 -0
  580. package/functions/serialization.js +52 -0
  581. package/functions/serialization.lua +2 -0
  582. package/functions/set.js +99 -0
  583. package/functions/set.lua +2 -0
  584. package/functions/sound.js +9 -0
  585. package/functions/sound.lua +2 -0
  586. package/functions/spawnCollectible.js +66 -0
  587. package/functions/spawnCollectible.lua +2 -0
  588. package/functions/sprite.js +80 -0
  589. package/functions/sprite.lua +2 -0
  590. package/functions/stage.js +172 -0
  591. package/functions/stage.lua +2 -0
  592. package/functions/string.js +37 -0
  593. package/functions/string.lua +2 -0
  594. package/functions/table.js +143 -0
  595. package/functions/table.lua +2 -0
  596. package/functions/tears.js +31 -0
  597. package/functions/tears.lua +2 -0
  598. package/functions/transformations.js +101 -0
  599. package/functions/transformations.lua +2 -0
  600. package/functions/trinketCacheFlag.js +46 -0
  601. package/functions/trinketCacheFlag.lua +2 -0
  602. package/functions/trinketGive.js +121 -0
  603. package/functions/trinketGive.lua +2 -0
  604. package/functions/trinkets.js +169 -0
  605. package/functions/trinkets.lua +2 -0
  606. package/functions/tstlClass.js +125 -0
  607. package/functions/tstlClass.lua +2 -0
  608. package/functions/types.js +27 -0
  609. package/functions/types.lua +2 -0
  610. package/functions/ui.js +124 -0
  611. package/functions/ui.lua +2 -0
  612. package/functions/utils.js +172 -0
  613. package/functions/utils.lua +2 -0
  614. package/functions/vector.js +68 -0
  615. package/functions/vector.lua +2 -0
  616. package/index.js +140 -0
  617. package/index.lua +2 -0
  618. package/initCustomCallbacks.js +133 -0
  619. package/initCustomCallbacks.lua +2 -0
  620. package/initFeatures.js +51 -0
  621. package/initFeatures.lua +2 -0
  622. package/interfaces/AddCallbackParameterCustom.js +2 -0
  623. package/interfaces/AddCallbackParameterCustom.lua +2 -0
  624. package/interfaces/ChargeBarSprites.js +2 -0
  625. package/interfaces/ChargeBarSprites.lua +2 -0
  626. package/interfaces/Corner.js +2 -0
  627. package/interfaces/Corner.lua +2 -0
  628. package/interfaces/CustomGridEntityData.js +2 -0
  629. package/interfaces/CustomGridEntityData.lua +2 -0
  630. package/interfaces/CustomStage.js +2 -0
  631. package/interfaces/CustomStage.lua +2 -0
  632. package/interfaces/CustomStageLua.d.ts +64 -24
  633. package/interfaces/CustomStageLua.js +13 -0
  634. package/interfaces/CustomStageLua.lua +2 -0
  635. package/interfaces/JSONRoomsFile.js +2 -0
  636. package/interfaces/JSONRoomsFile.lua +2 -0
  637. package/interfaces/PlayerHealth.js +2 -0
  638. package/interfaces/PlayerHealth.lua +2 -0
  639. package/interfaces/PocketItemDescription.js +2 -0
  640. package/interfaces/PocketItemDescription.lua +2 -0
  641. package/interfaces/SaveData.js +2 -0
  642. package/interfaces/SaveData.lua +2 -0
  643. package/interfaces/TrinketSituation.js +2 -0
  644. package/interfaces/TrinketSituation.lua +2 -0
  645. package/interfaces/private/TSTLClassMetatable.js +2 -0
  646. package/interfaces/private/TSTLClassMetatable.lua +2 -0
  647. package/maps/PHDPillConversions.js +20 -0
  648. package/maps/PHDPillConversions.lua +2 -0
  649. package/maps/cardMap.js +208 -0
  650. package/maps/cardMap.lua +2 -0
  651. package/maps/characterMap.js +86 -0
  652. package/maps/characterMap.lua +2 -0
  653. package/maps/collectibleDescriptionMap.js +728 -0
  654. package/maps/collectibleDescriptionMap.lua +2 -0
  655. package/maps/collectibleNameMap.js +727 -0
  656. package/maps/collectibleNameMap.lua +2 -0
  657. package/maps/defaultPlayerStatMap.js +14 -0
  658. package/maps/defaultPlayerStatMap.lua +2 -0
  659. package/maps/falsePHDPillConversions.js +34 -0
  660. package/maps/falsePHDPillConversions.lua +2 -0
  661. package/maps/gridEntityTypeToBrokenStateMap.js +29 -0
  662. package/maps/gridEntityTypeToBrokenStateMap.lua +2 -0
  663. package/maps/gridEntityXMLMap.js +128 -0
  664. package/maps/gridEntityXMLMap.lua +2 -0
  665. package/maps/pillEffectMap.js +88 -0
  666. package/maps/pillEffectMap.lua +2 -0
  667. package/maps/roomShapeToTopLeftWallGridIndexMap.js +14 -0
  668. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +2 -0
  669. package/maps/roomTypeMap.js +39 -0
  670. package/maps/roomTypeMap.lua +2 -0
  671. package/maps/trinketDescriptionMap.js +196 -0
  672. package/maps/trinketDescriptionMap.lua +2 -0
  673. package/maps/trinketNameMap.js +195 -0
  674. package/maps/trinketNameMap.lua +2 -0
  675. package/objects/LRoomShapeToRectangles.js +33 -0
  676. package/objects/LRoomShapeToRectangles.lua +2 -0
  677. package/objects/backdropTypeToRockAltType.js +66 -0
  678. package/objects/backdropTypeToRockAltType.lua +2 -0
  679. package/objects/bossNamePNGFileNames.js +112 -0
  680. package/objects/bossNamePNGFileNames.lua +2 -0
  681. package/objects/bossPortraitPNGFileNames.js +115 -0
  682. package/objects/bossPortraitPNGFileNames.lua +2 -0
  683. package/objects/callbackRegisterFunctions.js +170 -0
  684. package/objects/callbackRegisterFunctions.lua +2 -0
  685. package/objects/cardDescriptions.js +104 -0
  686. package/objects/cardDescriptions.lua +2 -0
  687. package/objects/cardNames.js +104 -0
  688. package/objects/cardNames.lua +2 -0
  689. package/objects/cardTypes.js +103 -0
  690. package/objects/cardTypes.lua +2 -0
  691. package/objects/challengeNames.js +51 -0
  692. package/objects/challengeNames.lua +2 -0
  693. package/objects/characterNames.js +46 -0
  694. package/objects/characterNames.lua +2 -0
  695. package/objects/coinSubTypeToValue.js +13 -0
  696. package/objects/coinSubTypeToValue.lua +2 -0
  697. package/objects/colors.d.ts +1 -0
  698. package/objects/colors.js +24 -0
  699. package/objects/colors.lua +2 -0
  700. package/objects/directionNames.js +9 -0
  701. package/objects/directionNames.lua +2 -0
  702. package/objects/directionToDegrees.js +9 -0
  703. package/objects/directionToDegrees.lua +2 -0
  704. package/objects/directionToVector.js +10 -0
  705. package/objects/directionToVector.lua +2 -0
  706. package/objects/doorSlotFlagToDoorSlot.js +13 -0
  707. package/objects/doorSlotFlagToDoorSlot.lua +2 -0
  708. package/objects/doorSlotToDirection.js +13 -0
  709. package/objects/doorSlotToDirection.lua +2 -0
  710. package/objects/doorSlotToDoorSlotFlag.js +13 -0
  711. package/objects/doorSlotToDoorSlotFlag.lua +2 -0
  712. package/objects/isaacAPIClassTypeToBrand.js +9 -0
  713. package/objects/isaacAPIClassTypeToBrand.lua +2 -0
  714. package/objects/isaacAPIClassTypeToCopyFunction.js +12 -0
  715. package/objects/isaacAPIClassTypeToCopyFunction.lua +2 -0
  716. package/objects/languageNames.js +11 -0
  717. package/objects/languageNames.lua +2 -0
  718. package/objects/oppositeDoorSlots.js +13 -0
  719. package/objects/oppositeDoorSlots.lua +2 -0
  720. package/objects/pillEffectClasses.js +56 -0
  721. package/objects/pillEffectClasses.lua +2 -0
  722. package/objects/pillEffectNames.js +55 -0
  723. package/objects/pillEffectNames.lua +2 -0
  724. package/objects/pillEffectTypes.js +55 -0
  725. package/objects/pillEffectTypes.lua +2 -0
  726. package/objects/playerNamePNGFileNames.js +55 -0
  727. package/objects/playerNamePNGFileNames.lua +2 -0
  728. package/objects/playerPortraitPNGFileNames.js +52 -0
  729. package/objects/playerPortraitPNGFileNames.lua +2 -0
  730. package/objects/roomShapeBounds.js +46 -0
  731. package/objects/roomShapeBounds.lua +2 -0
  732. package/objects/roomShapeCorners.js +268 -0
  733. package/objects/roomShapeCorners.lua +2 -0
  734. package/objects/roomShapeLayoutSizes.js +39 -0
  735. package/objects/roomShapeLayoutSizes.lua +2 -0
  736. package/objects/roomShapeToBottomRightPosition.js +22 -0
  737. package/objects/roomShapeToBottomRightPosition.lua +2 -0
  738. package/objects/roomShapeToDoorSlotCoordinates.js +109 -0
  739. package/objects/roomShapeToDoorSlotCoordinates.lua +2 -0
  740. package/objects/roomShapeToDoorSlots.js +69 -0
  741. package/objects/roomShapeToDoorSlots.lua +2 -0
  742. package/objects/roomShapeToDoorSlotsToGridIndexDelta.js +113 -0
  743. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +2 -0
  744. package/objects/roomShapeToGridWidth.js +18 -0
  745. package/objects/roomShapeToGridWidth.lua +2 -0
  746. package/objects/roomShapeToTopLeftPosition.js +23 -0
  747. package/objects/roomShapeToTopLeftPosition.lua +2 -0
  748. package/objects/roomShapeVolumes.js +30 -0
  749. package/objects/roomShapeVolumes.lua +2 -0
  750. package/objects/roomTypeGotoPrefixes.js +33 -0
  751. package/objects/roomTypeGotoPrefixes.lua +2 -0
  752. package/objects/roomTypeNames.js +34 -0
  753. package/objects/roomTypeNames.lua +2 -0
  754. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.js +12 -0
  755. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +2 -0
  756. package/objects/stageTypeSuffixes.js +10 -0
  757. package/objects/stageTypeSuffixes.lua +2 -0
  758. package/objects/stageTypeToLetter.js +12 -0
  759. package/objects/stageTypeToLetter.lua +2 -0
  760. package/objects/transformationNames.js +18 -0
  761. package/objects/transformationNames.lua +2 -0
  762. package/objects/versusScreenBackgroundColors.js +36 -0
  763. package/objects/versusScreenBackgroundColors.lua +2 -0
  764. package/objects/versusScreenDirtSpotColors.js +36 -0
  765. package/objects/versusScreenDirtSpotColors.lua +2 -0
  766. package/package.json +1 -1
  767. package/patchErrorFunctions.js +67 -0
  768. package/patchErrorFunctions.lua +2 -0
  769. package/sets/LRoomShapesSet.js +8 -0
  770. package/sets/LRoomShapesSet.lua +2 -0
  771. package/sets/bossSets.js +374 -0
  772. package/sets/bossSets.lua +2 -0
  773. package/sets/charactersThatStartWithAnActiveItemSet.js +15 -0
  774. package/sets/charactersThatStartWithAnActiveItemSet.lua +2 -0
  775. package/sets/charactersWithBlackHeartFromEternalHeartSet.js +6 -0
  776. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +2 -0
  777. package/sets/charactersWithFreeDevilDealsSet.js +3 -0
  778. package/sets/charactersWithFreeDevilDealsSet.lua +2 -0
  779. package/sets/charactersWithNoRedHeartsSet.js +16 -0
  780. package/sets/charactersWithNoRedHeartsSet.lua +2 -0
  781. package/sets/charactersWithNoSoulHeartsSet.js +13 -0
  782. package/sets/charactersWithNoSoulHeartsSet.lua +2 -0
  783. package/sets/chestPickupVariantsSet.js +16 -0
  784. package/sets/chestPickupVariantsSet.lua +2 -0
  785. package/sets/consoleCommandsSet.js +61 -0
  786. package/sets/consoleCommandsSet.lua +2 -0
  787. package/sets/familiarsThatShootPlayerTearsSet.js +12 -0
  788. package/sets/familiarsThatShootPlayerTearsSet.lua +2 -0
  789. package/sets/lostStyleCharactersSet.js +13 -0
  790. package/sets/lostStyleCharactersSet.lua +2 -0
  791. package/sets/mineShaftRoomSubTypesSet.js +9 -0
  792. package/sets/mineShaftRoomSubTypesSet.lua +2 -0
  793. package/sets/narrowRoomShapesSet.js +8 -0
  794. package/sets/narrowRoomShapesSet.lua +2 -0
  795. package/sets/redHeartSubTypesSet.js +7 -0
  796. package/sets/redHeartSubTypesSet.lua +2 -0
  797. package/sets/sinEntityTypesSet.js +11 -0
  798. package/sets/sinEntityTypesSet.lua +2 -0
  799. package/sets/singleUseActiveCollectibleTypesSet.js +12 -0
  800. package/sets/singleUseActiveCollectibleTypesSet.lua +2 -0
  801. package/sets/storyBossesSet.js +17 -0
  802. package/sets/storyBossesSet.lua +2 -0
  803. package/shaderCrashFix.js +17 -0
  804. package/shaderCrashFix.lua +2 -0
  805. package/types/AnyEntity.js +2 -0
  806. package/types/AnyEntity.lua +2 -0
  807. package/types/CollectibleIndex.js +2 -0
  808. package/types/CollectibleIndex.lua +2 -0
  809. package/types/PickingUpItem.js +38 -0
  810. package/types/PickingUpItem.lua +2 -0
  811. package/types/PlayerIndex.js +2 -0
  812. package/types/PlayerIndex.lua +2 -0
  813. package/types/private/IsaacAPIClass.js +2 -0
  814. package/types/private/IsaacAPIClass.lua +2 -0
  815. package/types/private/SerializedIsaacAPIClass.js +2 -0
  816. package/types/private/SerializedIsaacAPIClass.lua +2 -0
  817. package/types/private/TSTLClass.js +2 -0
  818. package/types/private/TSTLClass.lua +2 -0
  819. package/upgradeMod.js +47 -0
  820. package/upgradeMod.lua +2 -0
@@ -0,0 +1,326 @@
1
+ import { DoorSlot, DoorState, DoorVariant, GridRoom, RoomType, } from "isaac-typescript-definitions";
2
+ import { game } from "../cachedClasses";
3
+ import { DEFAULT_DOOR_SLOT, DOOR_SLOT_FLAG_TO_DOOR_SLOT, } from "../objects/doorSlotFlagToDoorSlot";
4
+ import { DOOR_SLOT_TO_DIRECTION } from "../objects/doorSlotToDirection";
5
+ import { DOOR_SLOT_TO_DOOR_SLOT_FLAG } from "../objects/doorSlotToDoorSlotFlag";
6
+ import { OPPOSITE_DOOR_SLOTS } from "../objects/oppositeDoorSlots";
7
+ import { ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES } from "../objects/roomShapeToDoorSlotCoordinates";
8
+ import { ROOM_SHAPE_TO_DOOR_SLOTS } from "../objects/roomShapeToDoorSlots";
9
+ import { arrayToBitFlags } from "./bitwise";
10
+ import { directionToVector } from "./direction";
11
+ import { getEnumValues } from "./enums";
12
+ import { isTSTLSet } from "./tstlClass";
13
+ /**
14
+ * When players enter a room, they do not appear exactly on the location of the door, because then
15
+ * they would immediately collide with the loading zone. Instead, they are offset by this amount of
16
+ * units.
17
+ */
18
+ const ROOM_ENTRY_OFFSET_FROM_DOOR = 40;
19
+ export function closeAllDoors() {
20
+ for (const door of getDoors()) {
21
+ door.Close(true);
22
+ }
23
+ }
24
+ /**
25
+ * Use this instead of the `GridEntityDoor.Close` method if you want the door to immediately close
26
+ * without an animation.
27
+ */
28
+ export function closeDoorFast(door) {
29
+ door.State = DoorState.CLOSED;
30
+ const sprite = door.GetSprite();
31
+ sprite.Play("Closed", true);
32
+ }
33
+ export function doorSlotFlagToDoorSlot(doorSlotFlag) {
34
+ const doorSlot = DOOR_SLOT_FLAG_TO_DOOR_SLOT[doorSlotFlag];
35
+ return doorSlot === undefined ? DEFAULT_DOOR_SLOT : doorSlot;
36
+ }
37
+ export function doorSlotToDirection(doorSlot) {
38
+ return DOOR_SLOT_TO_DIRECTION[doorSlot];
39
+ }
40
+ export function doorSlotToDoorSlotFlag(doorSlot) {
41
+ return DOOR_SLOT_TO_DOOR_SLOT_FLAG[doorSlot];
42
+ }
43
+ export function getAngelRoomDoor() {
44
+ const angelRoomDoors = getDoors(RoomType.ANGEL);
45
+ return angelRoomDoors.length === 0 ? undefined : angelRoomDoors[0];
46
+ }
47
+ export function getDevilRoomDoor() {
48
+ const devilRoomDoors = getDoors(RoomType.DEVIL);
49
+ return devilRoomDoors.length === 0 ? undefined : devilRoomDoors[0];
50
+ }
51
+ /**
52
+ * If there is both a Devil Room and an Angel Room door, this function will return door with the
53
+ * lowest slot number.
54
+ */
55
+ export function getDevilRoomOrAngelRoomDoor() {
56
+ const devilRoomOrAngelRoomDoors = getDoors(RoomType.DEVIL, RoomType.ANGEL);
57
+ return devilRoomOrAngelRoomDoors.length === 0
58
+ ? undefined
59
+ : devilRoomOrAngelRoomDoors[0];
60
+ }
61
+ /**
62
+ * Helper function to get the position that a player will enter a room at.
63
+ *
64
+ * When players enter a room, they do not appear exactly on the location of the door, because then
65
+ * they would immediately collide with the loading zone. Instead, they are offset by a certain
66
+ * amount of units.
67
+ */
68
+ export function getDoorEnterPosition(door) {
69
+ const offset = getDoorSlotEnterPositionOffset(door.Slot);
70
+ return door.Position.add(offset);
71
+ }
72
+ /**
73
+ * Helper function to get the offset from a door position that a player will enter a room at.
74
+ *
75
+ * When players enter a room, they do not appear exactly on the location of the door, because then
76
+ * they would immediately collide with the loading zone. Instead, they are offset by a certain
77
+ * amount of units.
78
+ */
79
+ export function getDoorSlotEnterPositionOffset(doorSlot) {
80
+ const direction = doorSlotToDirection(doorSlot);
81
+ const vector = directionToVector(direction);
82
+ // The player appears in the opposite direction of the way that the door is oriented in the room.
83
+ const oppositeVector = vector.mul(-1);
84
+ return oppositeVector.mul(ROOM_ENTRY_OFFSET_FROM_DOOR);
85
+ }
86
+ /**
87
+ * Helper function to convert an array of door slots or a set of door slots to the resulting bit
88
+ * flag number.
89
+ */
90
+ export function getDoorSlotFlags(doorSlots) {
91
+ const doorSlotArray = isTSTLSet(doorSlots)
92
+ ? [...doorSlots.values()]
93
+ : doorSlots;
94
+ const doorSlotFlagArray = doorSlotArray.map((doorSlot) => doorSlotToDoorSlotFlag(doorSlot));
95
+ return arrayToBitFlags(doorSlotFlagArray);
96
+ }
97
+ /** Helper function to get the possible door slots that can exist for a given room shape. */
98
+ export function getDoorSlotsForRoomShape(roomShape) {
99
+ return ROOM_SHAPE_TO_DOOR_SLOTS[roomShape];
100
+ }
101
+ /**
102
+ * Helper function to get all of the doors in the room. By default, it will return every door. You
103
+ * can optionally specify one or more room types to return only the doors that match the specified
104
+ * room types.
105
+ */
106
+ export function getDoors(...roomTypes) {
107
+ const room = game.GetRoom();
108
+ const roomTypesSet = new Set(roomTypes);
109
+ const doorSlots = getEnumValues(DoorSlot);
110
+ const doors = [];
111
+ for (const doorSlot of doorSlots) {
112
+ const door = room.GetDoor(doorSlot);
113
+ if (door === undefined) {
114
+ continue;
115
+ }
116
+ if (roomTypesSet.size === 0 || roomTypesSet.has(door.TargetRoomType)) {
117
+ doors.push(door);
118
+ }
119
+ }
120
+ return doors;
121
+ }
122
+ /**
123
+ * Helper function to get all of the doors in the room that lead to the provided room index.
124
+ *
125
+ * This function is variadic, meaning that you can specify N arguments to return all of the doors
126
+ * that match any of the N room grid indexes.
127
+ */
128
+ export function getDoorsToRoomIndex(...roomGridIndex) {
129
+ const roomGridIndexesSet = new Set(roomGridIndex);
130
+ const doors = getDoors();
131
+ return doors.filter((door) => roomGridIndexesSet.has(door.TargetRoomIndex));
132
+ }
133
+ export function getOppositeDoorSlot(doorSlot) {
134
+ return OPPOSITE_DOOR_SLOTS[doorSlot];
135
+ }
136
+ export function getRepentanceDoor() {
137
+ const doors = getDoors();
138
+ return doors.find((door) => isRepentanceDoor(door));
139
+ }
140
+ /**
141
+ * Helper function to get the corresponding door slot for a given room shape and grid coordinates.
142
+ */
143
+ export function getRoomShapeDoorSlot(roomShape, x, y) {
144
+ const coordinatesMap = ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape];
145
+ for (const [doorSlot, [doorX, doorY]] of coordinatesMap.entries()) {
146
+ if (x === doorX && y === doorY) {
147
+ return doorSlot;
148
+ }
149
+ }
150
+ return undefined;
151
+ }
152
+ /**
153
+ * Helper function to get the room grid coordinates for a specific room shape and door slot
154
+ * combination.
155
+ */
156
+ export function getRoomShapeDoorSlotCoordinates(roomShape, doorSlot) {
157
+ const coordinatesMap = ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape];
158
+ return coordinatesMap.get(doorSlot);
159
+ }
160
+ /** Helper function to find unused door slots in the room that can be used to make custom doors. */
161
+ export function getUnusedDoorSlots() {
162
+ const room = game.GetRoom();
163
+ const doorSlots = getEnumValues(DoorSlot);
164
+ return doorSlots.filter((doorSlot) => room.IsDoorSlotAllowed(doorSlot) && room.GetDoor(doorSlot) === undefined);
165
+ }
166
+ export function isAngelRoomDoor(door) {
167
+ return door.TargetRoomType === RoomType.ANGEL;
168
+ }
169
+ export function isDevilRoomDoor(door) {
170
+ return door.TargetRoomType === RoomType.DEVIL;
171
+ }
172
+ /** Helper function to see if a door slot could exist for a given room shape. */
173
+ export function isDoorSlotInRoomShape(doorSlot, roomShape) {
174
+ const doorSlots = getDoorSlotsForRoomShape(roomShape);
175
+ return doorSlots.has(doorSlot);
176
+ }
177
+ /**
178
+ * This refers to the Repentance door that spawns in a boss room after defeating the boss. You have
179
+ * to spend one key to open it. It has a sprite filename of "gfx/grid/door_downpour.anm2".
180
+ */
181
+ export function isDoorToDownpour(door) {
182
+ if (!isRepentanceDoor(door)) {
183
+ return false;
184
+ }
185
+ const sprite = door.GetSprite();
186
+ const fileName = sprite.GetFilename();
187
+ // On Windows, this is: "gfx/grid/Door_Downpour.anm2"
188
+ return fileName.toLowerCase() === "gfx/grid/door_downpour.anm2";
189
+ }
190
+ /**
191
+ * This refers to the Repentance door that spawns in a boss room after defeating the boss. You have
192
+ * to spend two hearts to open it. It has a sprite filename of "gfx/grid/door_mausoleum.anm2".
193
+ */
194
+ export function isDoorToMausoleum(door) {
195
+ if (!isRepentanceDoor(door)) {
196
+ return false;
197
+ }
198
+ const sprite = door.GetSprite();
199
+ const fileName = sprite.GetFilename();
200
+ // On Windows, this is: "gfx/grid/Door_Mausoleum.anm2"
201
+ return fileName.toLowerCase() === "gfx/grid/door_mausoleum.anm2";
202
+ }
203
+ /**
204
+ * This refers to the "strange door" located on the first room of Depths 2. You open it with either
205
+ * a Polaroid or a Negative. It has a sprite filename of "gfx/grid/door_mausoleum_alt.anm2".
206
+ */
207
+ export function isDoorToMausoleumAscent(door) {
208
+ if (!isRepentanceDoor(door)) {
209
+ return false;
210
+ }
211
+ const sprite = door.GetSprite();
212
+ const fileName = sprite.GetFilename();
213
+ // On Windows, this is: "gfx/grid/Door_Mausoleum_Alt.anm2"
214
+ return fileName.toLowerCase() === "gfx/grid/door_mausoleum_alt.anm2";
215
+ }
216
+ /**
217
+ * This refers to the Repentance door that spawns in a boss room after defeating the boss. You have
218
+ * to spend two bombs to open it. It has a sprite filename of "gfx/grid/door_mines.anm2".
219
+ */
220
+ export function isDoorToMines(door) {
221
+ if (!isRepentanceDoor(door)) {
222
+ return false;
223
+ }
224
+ const sprite = door.GetSprite();
225
+ const fileName = sprite.GetFilename();
226
+ // On Windows, this is: "gfx/grid/Door_Mines.anm2"
227
+ return fileName.toLowerCase() === "gfx/grid/door_mines.anm2";
228
+ }
229
+ /**
230
+ * This refers to the Repentance door that spawns after defeating Mom. You open it with the
231
+ * completed knife. It has a sprite filename of "gfx/grid/door_momsheart.anm2".
232
+ */
233
+ export function isDoorToMomsHeart(door) {
234
+ if (!isRepentanceDoor(door)) {
235
+ return false;
236
+ }
237
+ const sprite = door.GetSprite();
238
+ const fileName = sprite.GetFilename();
239
+ // On Windows, this is: "gfx/grid/Door_MomsHeart.anm2"
240
+ return fileName.toLowerCase() === "gfx/grid/door_momsheart.anm2"; // cspell:ignore momsheart
241
+ }
242
+ export function isHiddenSecretRoomDoor(door) {
243
+ const sprite = door.GetSprite();
244
+ const animation = sprite.GetAnimation();
245
+ return isSecretRoomDoor(door) && animation === "Hidden";
246
+ }
247
+ export function isRepentanceDoor(door) {
248
+ // eslint-disable-next-line isaacscript/strict-enums
249
+ return door.TargetRoomIndex === GridRoom.SECRET_EXIT;
250
+ }
251
+ /**
252
+ * This refers to the hole in the wall that appears after bombing the entrance to a secret room.
253
+ * Note that the door still exists before it has been bombed open. It has a sprite filename of
254
+ * "gfx/grid/door_08_holeinwall.anm2".
255
+ */
256
+ export function isSecretRoomDoor(door) {
257
+ const sprite = door.GetSprite();
258
+ const fileName = sprite.GetFilename();
259
+ // On Windows, this is: "gfx/grid/Door_08_HoleInWall.anm2"
260
+ return fileName.toLowerCase() === "gfx/grid/door_08_holeinwall.anm2"; // cspell:ignore holeinwall
261
+ }
262
+ /**
263
+ * Helper function to reset an unlocked door back to a locked state. Doing this is non-trivial
264
+ * because in addition to calling the `GridEntityDoor.SetLocked` method, you must also:
265
+ *
266
+ * - Set the `VisitedCount` of the room's `RoomDescription` to 0.
267
+ * - Set the variant to `DoorVariant.DOOR_LOCKED`.
268
+ * - Close the door.
269
+ */
270
+ export function lockDoor(door) {
271
+ const level = game.GetLevel();
272
+ // We can't use the "getRoomDescriptor" function since it will cause a dependency cycle.
273
+ const roomDescriptor = level.GetRoomByIdx(door.TargetRoomIndex);
274
+ roomDescriptor.VisitedCount = 0;
275
+ door.SetVariant(DoorVariant.LOCKED);
276
+ door.SetLocked(true);
277
+ door.Close(true);
278
+ }
279
+ /**
280
+ * For the purposes of this function, doors to Secret Rooms or Super Secret Rooms that have not been
281
+ * discovered yet will not be opened.
282
+ */
283
+ export function openAllDoors() {
284
+ for (const door of getDoors()) {
285
+ // If we try to open a hidden Secret Room door (or Super Secret Room door), then nothing will
286
+ // happen.
287
+ door.Open();
288
+ }
289
+ }
290
+ /**
291
+ * Use this instead of the `GridEntityDoor.Open` method if you want the door to immediately open
292
+ * without an animation.
293
+ */
294
+ export function openDoorFast(door) {
295
+ door.State = DoorState.OPEN;
296
+ const sprite = door.GetSprite();
297
+ sprite.Play("Opened", true);
298
+ }
299
+ /**
300
+ * Helper function to remove all of the doors in the room. By default, it will remove every door.
301
+ * You can optionally specify one or more room types to remove only the doors that match the
302
+ * specified room types.
303
+ *
304
+ * @returns The number of doors removed.
305
+ */
306
+ export function removeAllDoors(...roomTypes) {
307
+ const doors = getDoors(...roomTypes);
308
+ removeDoors(...doors);
309
+ return doors.length;
310
+ }
311
+ /** Helper function to remove a single door. */
312
+ export function removeDoor(door) {
313
+ const room = game.GetRoom();
314
+ room.RemoveDoor(door.Slot);
315
+ }
316
+ /**
317
+ * Helper function to remove the doors provided.
318
+ *
319
+ * This function is variadic, meaning that you can specify as many doors as you want to remove.
320
+ */
321
+ export function removeDoors(...doors) {
322
+ for (const door of doors) {
323
+ removeDoor(door);
324
+ }
325
+ }
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9vcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9pc2FhY3NjcmlwdC1jb21tb24vc3JjL2Z1bmN0aW9ucy9kb29ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUVSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsUUFBUSxFQUVSLFFBQVEsR0FDVCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLDJCQUEyQixHQUM1QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4Qzs7OztHQUlHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxFQUFFLENBQUM7QUFFdkMsTUFBTSxVQUFVLGFBQWE7SUFDM0IsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUUsRUFBRTtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztB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
@@ -333,3 +333,5 @@ function ____exports.removeAllDoors(self, ...)
333
333
  return #doors
334
334
  end
335
335
  return ____exports
336
+
337
+ --# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL2Rvb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztNQThCTTtBQTlCTiw2Q0FTTztBQVBMO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFRiwwQkFBcUI7QUFBWjtBQUNULG1DQUdPO0FBRkw7QUFDQTtBQUVGLGdDQUF1QztBQUE5QjtBQUNULG1DQUE0QztBQUFuQztBQUNULDhCQUFvQztBQUEzQjtBQUNULDJDQUFvRDtBQUEzQztBQUNULGlDQUF5QztBQUFoQztBQUNULG9CQUFnQztBQUF2QjtBQUNULHNCQUFrQztBQUF6QjtBQUNULGtCQUE4QjtBQUFyQjtBQUNULHNCQUEwQjtBQUFqQjtBQStCVCwrQ0FBb0M7QUFDbEMsV0FBTyx1QkFBdUI7QUFEaEM7Ozs7OztBQWdEQSwwREFDRTtBQUVNLHNCQUFZLHFDQUFvQjtBQUNoQyxtQkFBUyx1QkFBa0I7QUFHM0IsMkJBQWlCLFVBQVk7QUFFbkMsV0FBTyxpQkFBbUI7QUFUNUI7Ozs7QUE2Q0E7VUFBNEI7QUFDcEIsaUJBQU8sS0FBSztBQUNaLHlCQUFlLFVBQUksS0FBSTtBQUV2QixzQkFBWSxtQkFBYztBQUMxQixrQkFBMEI7QUFDaEMsY0FBVyxtQkFBWTs7QUFDZix5QkFBTyxLQUFLLFFBQVE7ZUFDdEI7QUFDRjs7ZUFHRSxxQkFBc0IsS0FBSyxhQUFhLElBQUk7QUFDOUMsb0NBQVc7Ozs7O0FBSWYsV0FBTztBQWpCVDtBQXlMQSw0Q0FBaUM7QUFFL0IsV0FBTyx3QkFBeUI7QUFGbEM7Ozs7QUFVQSw0Q0FBaUM7QUFDekIsbUJBQVMsS0FBSztBQUNkLHFCQUFXLE9BQU87QUFHeEIsV0FBTywwQkFBMkI7QUFMcEM7O0FBa0VBLHNDQUEyQjtBQUNuQixpQkFBTyxLQUFLO0lBQ2xCLEtBQUssV0FBVztBQUZsQjs7OztBQVVBO1VBQStCO0FBQzdCLGNBQVcsZUFBUTtRQUNqQiw0QkFBVzs7QUFGZjtBQXBZTSw4QkFBOEI7QUFFcEM7QUFDRSxjQUFXLGVBQVE7UUFDakIsS0FBSyxNQUFNOztBQUZmOzs7QUFVQSx5Q0FBOEI7QUFDNUIsaUJBQWE7QUFFUCxtQkFBUyxLQUFLO0lBQ3BCLE9BQU8sS0FBSyxVQUFVO0FBSnhCO0FBT0Esa0RBQXVDO0FBQy9CLHFCQUFXLDRCQUE0QjtBQUM3QyxXQUFPLG9CQUF5QixxQkFBb0I7QUFGdEQ7QUFTQSxrREFBdUM7QUFDckMsV0FBTyw0QkFBNEI7QUFEckM7QUFJQTtBQUNRLDJCQUFpQiwwQkFBUztBQUN6QjtPQUFBLG1CQUEwQjtBQUFJOztBQUFZLG9DQUFlOztBQUFoRTtBQUZGO0FBS0E7QUFDUSwyQkFBaUIsMEJBQVM7QUFDekI7T0FBQSxtQkFBMEI7QUFBSTs7QUFBWSxvQ0FBZTs7QUFBaEU7QUFGRjs7O0FBU0E7QUFDUSxzQ0FBNEIsMEJBQVMsZ0JBQWdCO0FBQ3BEO09BQUEsOEJBQXFDO0FBQ3hDOztBQUNBLCtDQUEwQjs7QUFGOUI7QUFGRjs7Ozs7O0FBY0EsZ0RBQXFDO0FBQzdCLG1CQUFTLGdEQUErQjtBQUM5QyxXQUFPLGdCQUFrQjtBQUYzQjs7O0FBNEJBLDRDQUNFO0FBTU0sMEJBQWdCLGVBQVUsZUFDNUIsRUFBQyxhQUFHLFVBQVUsZUFDYjtBQUNDLDhCQUFvQjtRQUFBO1FBQWtCLGVBQUMsVUFDM0MsK0NBQXVCLFNBRG1COztBQUk1QyxXQUFPLHFCQUFnQjtBQWR6Qjs7QUFrQkEsb0RBQ0U7QUFFQSxXQUFPLHlCQUF5QjtBQUhsQzs7Ozs7QUFxQ0E7VUFBdUM7QUFDL0IsK0JBQXFCLFVBQUksS0FBSTtBQUM3QixrQkFBUTtBQUNkLFdBQU87UUFBQTtRQUFhLGVBQUMsTUFBUywwQkFBbUIsSUFBSSxxQkFBakM7O0FBSHRCO0FBTUEsK0NBQW9DO0FBQ2xDLFdBQU8sb0JBQW9CO0FBRDdCO0FBSUE7QUFDUSxrQkFBUTtBQUNkLFdBQU87UUFBQTtRQUFXLGVBQUMsTUFBUyx5Q0FBaUIsS0FBM0I7O0FBRnBCOztBQVFBLGdEQUNFLFdBQ0EsR0FDQTtBQUVNLDJCQUFpQixvQ0FBb0M7QUFDM0QsMkJBQXlDLDhCQUFlO2NBQTVDO2NBQVc7Y0FBTztXQUN4QixLQUFNLFVBQVMsS0FBTTtBQUN2QixtQkFBTzs7O0FBSVg7QUFaRjs7O0FBbUJBLDJEQUNFLFdBQ0E7QUFFTSwyQkFBaUIsb0NBQW9DO0FBQzNELFdBQU8sZUFBZSxJQUFJO0FBTDVCOztBQVNBO0FBQ1EsaUJBQU8sS0FBSztBQUNaLHNCQUFZLG1CQUFjO0FBQ2hDLFdBQU87UUFBQTtRQUNMLGVBQUMsVUFDQyxZQUFLLGtCQUFrQixjQUFhLEtBQUssUUFBUSxnQkFEbkQ7O0FBSko7QUFTQSwyQ0FBZ0M7QUFDOUIsV0FBTyx1QkFBd0I7QUFEakM7QUFJQSwyQ0FBZ0M7QUFDOUIsV0FBTyx1QkFBd0I7QUFEakM7O0FBS0EsaURBQ0UsVUFDQTtBQUVNLHNCQUFZLDBDQUF5QjtBQUMzQyxXQUFPLFVBQVUsSUFBSTtBQUx2Qjs7O0FBWUEsNENBQWlDO1dBQzFCLGtDQUFpQjtBQUNwQixlQUFPOztBQUdILG1CQUFTLEtBQUs7QUFDZCxxQkFBVyxPQUFPO0FBR3hCLFdBQU8sMEJBQTJCO0FBVHBDOzs7QUFnQkEsNkNBQWtDO1dBQzNCLGtDQUFpQjtBQUNwQixlQUFPOztBQUdILG1CQUFTLEtBQUs7QUFDZCxxQkFBVyxPQUFPO0FBR3hCLFdBQU8sMEJBQTJCO0FBVHBDOzs7QUFnQkEsbURBQXdDO1dBQ2pDLGtDQUFpQjtBQUNwQixlQUFPOztBQUdILG1CQUFTLEtBQUs7QUFDZCxxQkFBVyxPQUFPO0FBR3hCLFdBQU8sMEJBQTJCO0FBVHBDOzs7QUFnQkEseUNBQThCO1dBQ3ZCLGtDQUFpQjtBQUNwQixlQUFPOztBQUdILG1CQUFTLEtBQUs7QUFDZCxxQkFBVyxPQUFPO0FBR3hCLFdBQU8sMEJBQTJCO0FBVHBDOzs7QUFnQkEsNkNBQWtDO1dBQzNCLGtDQUFpQjtBQUNwQixlQUFPOztBQUdILG1CQUFTLEtBQUs7QUFDZCxxQkFBVyxPQUFPO0FBR3hCLFdBQU8sMEJBQTJCO0FBVHBDO0FBWUEsa0RBQXVDO0FBQy9CLG1CQUFTLEtBQUs7QUFDZCxzQkFBWSxPQUFPO0FBRXpCLFdBQU8sa0NBQWlCLFVBQVMsYUFBYztBQUpqRDs7Ozs7OztBQWlDQSxvQ0FBeUI7QUFDakIsa0JBQVEsS0FBSztBQUdiLDJCQUFpQixNQUFNLGFBQWE7QUFDMUMsa0NBQThCO0lBRTlCLEtBQUssV0FBVztJQUNoQixLQUFLLFVBQVU7SUFDZixLQUFLLE1BQU07QUFUYjs7O0FBZ0JBO0FBQ0UsY0FBVyxlQUFRO1FBR2pCLEtBQUs7O0FBSlQ7OztBQVlBLHdDQUE2QjtBQUMzQixpQkFBYTtBQUVQLG1CQUFTLEtBQUs7SUFDcEIsT0FBTyxLQUFLLFVBQVU7QUFKeEI7Ozs7OztBQWNBO0FBQ1Esa0JBQVEsMEJBQVM7SUFDdkI7O1FBQVksYUFBRzs7QUFFZixXQUFPO0FBSlQiLCJmaWxlIjoiZG9vcnMubHVhIiwic291cmNlUm9vdCI6IiJ9
@@ -0,0 +1,142 @@
1
+ /* eslint-disable no-nested-ternary */
2
+ /* eslint-disable no-return-assign */
3
+ /* eslint-disable sort-exports/sort-exports */
4
+ // These functions are from:
5
+ // https://easings.net/
6
+ export function easeInSine(x) {
7
+ return 1 - Math.cos((x * Math.PI) / 2);
8
+ }
9
+ export function easeOutSine(x) {
10
+ return Math.sin((x * Math.PI) / 2);
11
+ }
12
+ export function easeInOutSine(x) {
13
+ return -(Math.cos(Math.PI * x) - 1) / 2;
14
+ }
15
+ export function easeInCubic(x) {
16
+ return x * x * x;
17
+ }
18
+ export function easeOutCubic(x) {
19
+ return 1 - (1 - x) ** 3;
20
+ }
21
+ export function easeInOutCubic(x) {
22
+ return x < 0.5 ? 4 * x * x * x : 1 - (-2 * x + 2) ** 3 / 2;
23
+ }
24
+ export function easeInQuint(x) {
25
+ return x * x * x * x * x;
26
+ }
27
+ export function easeOutQuint(x) {
28
+ return 1 - (1 - x) ** 5;
29
+ }
30
+ export function easeInOutQuint(x) {
31
+ return x < 0.5 ? 16 * x * x * x * x * x : 1 - (-2 * x + 2) ** 5 / 2;
32
+ }
33
+ export function easeInCirc(x) {
34
+ return 1 - Math.sqrt(1 - x ** 2);
35
+ }
36
+ export function easeOutCirc(x) {
37
+ return Math.sqrt(1 - (x - 1) ** 2);
38
+ }
39
+ export function easeInOutCirc(x) {
40
+ return x < 0.5
41
+ ? (1 - Math.sqrt(1 - (2 * x) ** 2)) / 2
42
+ : (Math.sqrt(1 - (-2 * x + 2) ** 2) + 1) / 2;
43
+ }
44
+ export function easeInElastic(x) {
45
+ const c4 = (2 * Math.PI) / 3;
46
+ return x === 0
47
+ ? 0
48
+ : x === 1
49
+ ? 1
50
+ : -(2 ** (10 * x - 10)) * Math.sin((x * 10 - 10.75) * c4);
51
+ }
52
+ export function easeOutElastic(x) {
53
+ const c4 = (2 * Math.PI) / 3;
54
+ return x === 0
55
+ ? 0
56
+ : x === 1
57
+ ? 1
58
+ : 2 ** (-10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1;
59
+ }
60
+ export function easeInOutElastic(x) {
61
+ const c5 = (2 * Math.PI) / 4.5;
62
+ return x === 0
63
+ ? 0
64
+ : x === 1
65
+ ? 1
66
+ : x < 0.5
67
+ ? -(2 ** (20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2
68
+ : (2 ** (-20 * x + 10) * Math.sin((20 * x - 11.125) * c5)) / 2 + 1;
69
+ }
70
+ export function easeInQuad(x) {
71
+ return x * x;
72
+ }
73
+ export function easeOutQuad(x) {
74
+ return 1 - (1 - x) * (1 - x);
75
+ }
76
+ export function easeInOutQuad(x) {
77
+ return x < 0.5 ? 2 * x * x : 1 - (-2 * x + 2) ** 2 / 2;
78
+ }
79
+ export function easeInQuart(x) {
80
+ return x * x * x * x;
81
+ }
82
+ export function easeOutQuart(x) {
83
+ return 1 - (1 - x) ** 4;
84
+ }
85
+ export function easeInOutQuart(x) {
86
+ return x < 0.5 ? 8 * x * x * x * x : 1 - (-2 * x + 2) ** 4 / 2;
87
+ }
88
+ export function easeInExpo(x) {
89
+ return x === 0 ? 0 : 2 ** (10 * x - 10);
90
+ }
91
+ export function easeOutExpo(x) {
92
+ return x === 1 ? 1 : 1 - 2 ** (-10 * x);
93
+ }
94
+ export function easeInOutExpo(x) {
95
+ return x === 0
96
+ ? 0
97
+ : x === 1
98
+ ? 1
99
+ : x < 0.5
100
+ ? 2 ** (20 * x - 10) / 2
101
+ : (2 - 2 ** (-20 * x + 10)) / 2;
102
+ }
103
+ export function easeInBack(x) {
104
+ const c1 = 1.70158;
105
+ const c3 = c1 + 1;
106
+ return c3 * x * x * x - c1 * x * x;
107
+ }
108
+ export function easeOutBack(x) {
109
+ const c1 = 1.70158;
110
+ const c3 = c1 + 1;
111
+ return 1 + c3 * (x - 1) ** 3 + c1 * (x - 1) ** 2;
112
+ }
113
+ export function easeInOutBack(x) {
114
+ const c1 = 1.70158;
115
+ const c2 = c1 * 1.525;
116
+ return x < 0.5
117
+ ? ((2 * x) ** 2 * ((c2 + 1) * 2 * x - c2)) / 2
118
+ : ((2 * x - 2) ** 2 * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;
119
+ }
120
+ export function easeInBounce(x) {
121
+ return 1 - easeOutBounce(1 - x);
122
+ }
123
+ export function easeOutBounce(x) {
124
+ const n1 = 7.5625;
125
+ const d1 = 2.75;
126
+ if (x < 1 / d1) {
127
+ return n1 * x * x;
128
+ }
129
+ if (x < 2 / d1) {
130
+ return n1 * (x -= 1.5 / d1) * x + 0.75;
131
+ }
132
+ if (x < 2.5 / d1) {
133
+ return n1 * (x -= 2.25 / d1) * x + 0.9375;
134
+ }
135
+ return n1 * (x -= 2.625 / d1) * x + 0.984375;
136
+ }
137
+ export function easeInOutBounce(x) {
138
+ return x < 0.5
139
+ ? (1 - easeOutBounce(1 - 2 * x)) / 2
140
+ : (1 + easeOutBounce(2 * x - 1)) / 2;
141
+ }
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvaXNhYWNzY3JpcHQtY29tbW9uL3NyYy9mdW5jdGlvbnMvZWFzaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxxQ0FBcUM7QUFDckMsOENBQThDO0FBRTlDLDRCQUE0QjtBQUM1Qix1QkFBdUI7QUFFdkIsTUFBTSxVQUFVLFVBQVUsQ0FBQyxDQUFTO0lBQ2xDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLENBQVM7SUFDbkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFTO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBUztJQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQVM7SUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLENBQVM7SUFDdEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLENBQVM7SUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQVM7SUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLENBQVM7SUFDdEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsQ0FBUztJQUNsQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBUztJQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVM7SUFDckMsT0FBTyxDQUFDLEdBQUcsR0FBRztRQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVM7SUFDckMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU3QixPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDVCxDQUFDLENBQUMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLENBQVM7SUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU3QixPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDVCxDQUFDLENBQUMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxD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QUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFTO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsQ0FBUztJQUNyQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDbEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRWhCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDZCxPQUFPLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ25CO0lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNkLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0tBQ3hDO0lBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRTtRQUNoQixPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztLQUMzQztJQUVELE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLENBQVM7SUFDdkMsT0FBTyxDQUFDLEdBQUcsR0FBRztRQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUMifQ==
@@ -113,3 +113,5 @@ function ____exports.easeInOutBounce(self, x)
113
113
  return x < 0.5 and (1 - ____exports.easeOutBounce(nil, 1 - 2 * x)) / 2 or (1 + ____exports.easeOutBounce(nil, 2 * x - 1)) / 2
114
114
  end
115
115
  return ____exports
116
+
117
+ --# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL2Vhc2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBOEpBLHlDQUE4QjtBQUN0QixlQUFLO0FBQ0wsZUFBSztPQUVQLElBQUksSUFBSTtBQUNWLGVBQU8sS0FBSyxJQUFJOztPQUdkLElBQUksSUFBSTtBQUNHLGdCQUFLLE1BQU07QUFBeEIsZUFBTyxLQUFNLElBQWlCLElBQUk7O09BR2hDLElBQUksTUFBTTtBQUNDLGdCQUFLLE9BQU87QUFBekIsZUFBTyxLQUFNLElBQWtCLElBQUk7O0FBR3hCLFlBQUssUUFBUTtBQUExQixXQUFPLEtBQU0sSUFBbUIsSUFBSTtBQWhCdEM7QUF2SkEsc0NBQTJCO0FBQ3pCLFdBQU8sSUFBSSxTQUFTLElBQUssS0FBSyxLQUFNO0FBRHRDO0FBSUEsdUNBQTRCO0FBQzFCLFdBQU8sU0FBUyxJQUFLLEtBQUssS0FBTTtBQURsQztBQUlBLHlDQUE4QjtBQUM1QixXQUFPLENBQUUsVUFBUyxLQUFLLEtBQUssS0FBSyxLQUFLO0FBRHhDO0FBSUEsdUNBQTRCO0FBQzFCLFdBQU8sSUFBSSxJQUFJO0FBRGpCO0FBSUEsd0NBQTZCO0FBQzNCLFdBQU8sSUFBSSxDQUFDLElBQUksS0FBTTtBQUR4QjtBQUlBLDBDQUErQjtBQUM3QixXQUFPLElBQUksUUFBTSxJQUFJLElBQUksSUFBSSxLQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFNLElBQUk7QUFEM0Q7QUFJQSx1Q0FBNEI7QUFDMUIsV0FBTyxJQUFJLElBQUksSUFBSSxJQUFJO0FBRHpCO0FBSUEsd0NBQTZCO0FBQzNCLFdBQU8sSUFBSSxDQUFDLElBQUksS0FBTTtBQUR4QjtBQUlBLDBDQUErQjtBQUM3QixXQUFPLElBQUksUUFBTSxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksS0FBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBTSxJQUFJO0FBRHBF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
@@ -0,0 +1,32 @@
1
+ import { ItemConfigTag } from "isaac-typescript-definitions";
2
+ import { isHiddenCollectible, isPassiveCollectible } from "./collectibles";
3
+ import { getCollectibleSet } from "./collectibleSet";
4
+ import { collectibleHasTag } from "./collectibleTag";
5
+ import { getRandomSeed } from "./rng";
6
+ import { copySet, getRandomSetElement } from "./set";
7
+ const EDEN_PASSIVE_COLLECTIBLES_SET = new Set();
8
+ function initCollectibleSet() {
9
+ const collectibleSet = getCollectibleSet();
10
+ for (const collectibleType of collectibleSet.values()) {
11
+ if (isPassiveCollectible(collectibleType) &&
12
+ !isHiddenCollectible(collectibleType) &&
13
+ !collectibleHasTag(collectibleType, ItemConfigTag.NO_EDEN)) {
14
+ EDEN_PASSIVE_COLLECTIBLES_SET.add(collectibleType);
15
+ }
16
+ }
17
+ }
18
+ export function getEdenPassives() {
19
+ // Lazy initialize the set.
20
+ if (EDEN_PASSIVE_COLLECTIBLES_SET.size === 0) {
21
+ initCollectibleSet();
22
+ }
23
+ return copySet(EDEN_PASSIVE_COLLECTIBLES_SET);
24
+ }
25
+ export function getRandomEdenPassive(seedOrRNG = getRandomSeed(), exceptions = []) {
26
+ // Lazy initialize the set.
27
+ if (EDEN_PASSIVE_COLLECTIBLES_SET.size === 0) {
28
+ initCollectibleSet();
29
+ }
30
+ return getRandomSetElement(EDEN_PASSIVE_COLLECTIBLES_SET, seedOrRNG, exceptions);
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL2VkZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFckQsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztBQUVqRSxTQUFTLGtCQUFrQjtJQUN6QixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO0lBRTNDLEtBQUssTUFBTSxlQUFlLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3JELElBQ0Usb0JBQW9CLENBQUMsZUFBZSxDQUFDO1lBQ3JDLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO1lBQ3JDLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFDMUQ7WUFDQSw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDcEQ7S0FDRjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZTtJQUM3QiwyQkFBMkI7SUFDM0IsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO1FBQzVDLGtCQUFrQixFQUFFLENBQUM7S0FDdEI7SUFFRCxPQUFPLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLFlBQXdCLGFBQWEsRUFBRSxFQUN2QyxhQUE2RCxFQUFFO0lBRS9ELDJCQUEyQjtJQUMzQixJQUFJLDZCQUE2QixDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7UUFDNUMsa0JBQWtCLEVBQUUsQ0FBQztLQUN0QjtJQUVELE9BQU8sbUJBQW1CLENBQ3hCLDZCQUE2QixFQUM3QixTQUFTLEVBQ1QsVUFBVSxDQUNYLENBQUM7QUFDSixDQUFDIn0=
@@ -45,3 +45,5 @@ function ____exports.getRandomEdenPassive(self, seedOrRNG, exceptions)
45
45
  return getRandomSetElement(nil, EDEN_PASSIVE_COLLECTIBLES_SET, seedOrRNG, exceptions)
46
46
  end
47
47
  return ____exports
48
+
49
+ --# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL2VkZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBK0M7QUFBckI7QUFDMUIseUJBQTBEO0FBQWpEO0FBQXFCO0FBQzlCLDJCQUFrQztBQUF6QjtBQUNULDJCQUFrQztBQUF6QjtBQUNULGdCQUE4QjtBQUFyQjtBQUNULGdCQUE2QztBQUFwQztBQUFTO0FBRVosc0NBQWdDLFVBQUk7QUFFMUMsZUFBUztBQUNELDJCQUFpQjtBQUV2QixjQUFXLG1CQUFtQiw4QkFBZTtXQUV6QywwQkFBcUIseUJBQ3BCLHlCQUFvQix5QkFDcEIsdUJBQWtCLGlCQUFpQjtZQUVwQyw4QkFBOEIsSUFBSTs7O0FBVHhDO0FBY0E7T0FFTSxzQ0FBdUM7UUFDekM7O0FBR0YsV0FBTyxhQUFRO0FBTmpCO0FBU0EsZ0RBQ0UsV0FDQTtPQURBO1FBQUEsWUFBd0I7O09BQ3hCO1FBQUEsYUFBNkQ7O09BR3pELHNDQUF1QztRQUN6Qzs7QUFHRixXQUFPLHlCQUNMLCtCQUNBLFdBQ0E7QUFaSiIsImZpbGUiOiJlZGVuLmx1YSIsInNvdXJjZVJvb3QiOiIifQ==
@@ -0,0 +1,11 @@
1
+ import { inRectangle } from "./math";
2
+ /** For `EntityType.EFFECT` (1000), `EffectVariant.DICE_FLOOR` (76) */
3
+ export const DICE_FLOOR_TRIGGER_SQUARE_SIZE = 75;
4
+ /** Helper function to see if a player is close enough to activate a Dice Room floor. */
5
+ export function isCloseEnoughToTriggerDiceFloor(player, diceFloor) {
6
+ // Unlike other entities, the dice floor has a rectangular hit box, not a circular one.
7
+ const topLeft = diceFloor.Position.add(Vector(-DICE_FLOOR_TRIGGER_SQUARE_SIZE, -DICE_FLOOR_TRIGGER_SQUARE_SIZE));
8
+ const bottomRight = diceFloor.Position.add(Vector(DICE_FLOOR_TRIGGER_SQUARE_SIZE, DICE_FLOOR_TRIGGER_SQUARE_SIZE));
9
+ return inRectangle(player.Position, topLeft, bottomRight);
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL2VmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyQyxzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsRUFBRSxDQUFDO0FBRWpELHdGQUF3RjtBQUN4RixNQUFNLFVBQVUsK0JBQStCLENBQzdDLE1BQW9CLEVBQ3BCLFNBQXVCO0lBRXZCLHVGQUF1RjtJQUN2RixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDcEMsTUFBTSxDQUFDLENBQUMsOEJBQThCLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUN6RSxDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ3hDLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSw4QkFBOEIsQ0FBQyxDQUN2RSxDQUFDO0lBRUYsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDNUQsQ0FBQyJ9
@@ -10,3 +10,5 @@ function ____exports.isCloseEnoughToTriggerDiceFloor(self, player, diceFloor)
10
10
  return inRectangle(nil, player.Position, topLeft, bottomRight)
11
11
  end
12
12
  return ____exports
13
+
14
+ --# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL2VmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlCQUE0QjtBQUFuQjs7QUFHSSw2Q0FBaUM7O0FBRzlDLDJEQUNFLFFBQ0E7QUFHTSxvQkFBVSxxQkFDZDtBQUVJLHdCQUFjLHFCQUNsQjtBQUdGLFdBQU8saUJBQVksaUJBQWlCLFNBQVM7QUFaL0MiLCJmaWxlIjoiZWZmZWN0cy5sdWEiLCJzb3VyY2VSb290IjoiIn0=