isaacscript-common 87.9.7 → 87.9.8

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 (563) hide show
  1. package/dist/cachedEnumValues.js +29 -32
  2. package/dist/callbackClasses.js +142 -289
  3. package/dist/callbacks.js +147 -183
  4. package/dist/classes/DefaultMap.js +4 -8
  5. package/dist/classes/ModFeature.js +21 -25
  6. package/dist/classes/ModUpgraded.js +43 -47
  7. package/dist/classes/callbacks/EntityTakeDmgFilter.js +6 -10
  8. package/dist/classes/callbacks/EntityTakeDmgPlayer.js +7 -11
  9. package/dist/classes/callbacks/InputActionFilter.js +4 -8
  10. package/dist/classes/callbacks/InputActionPlayer.js +4 -8
  11. package/dist/classes/callbacks/PostAmbushFinished.js +10 -14
  12. package/dist/classes/callbacks/PostAmbushStarted.js +10 -14
  13. package/dist/classes/callbacks/PostBombExploded.js +8 -12
  14. package/dist/classes/callbacks/PostBombInitFilter.js +6 -10
  15. package/dist/classes/callbacks/PostBombInitLate.js +6 -10
  16. package/dist/classes/callbacks/PostBombRenderFilter.js +6 -10
  17. package/dist/classes/callbacks/PostBombUpdateFilter.js +6 -10
  18. package/dist/classes/callbacks/PostBoneSwing.js +7 -11
  19. package/dist/classes/callbacks/PostCollectibleEmpty.js +6 -10
  20. package/dist/classes/callbacks/PostCursedTeleport.js +30 -34
  21. package/dist/classes/callbacks/PostCustomRevive.js +4 -8
  22. package/dist/classes/callbacks/PostDiceRoomActivated.js +9 -13
  23. package/dist/classes/callbacks/PostDoorRender.js +8 -12
  24. package/dist/classes/callbacks/PostDoorUpdate.js +8 -12
  25. package/dist/classes/callbacks/PostEffectInitFilter.js +6 -10
  26. package/dist/classes/callbacks/PostEffectInitLate.js +6 -10
  27. package/dist/classes/callbacks/PostEffectRenderFilter.js +6 -10
  28. package/dist/classes/callbacks/PostEffectStateChanged.js +8 -12
  29. package/dist/classes/callbacks/PostEffectUpdateFilter.js +6 -10
  30. package/dist/classes/callbacks/PostEntityKillFilter.js +6 -10
  31. package/dist/classes/callbacks/PostEntityRemoveFilter.js +6 -10
  32. package/dist/classes/callbacks/PostEsauJr.js +4 -8
  33. package/dist/classes/callbacks/PostFamiliarInitFilter.js +6 -10
  34. package/dist/classes/callbacks/PostFamiliarInitLate.js +6 -10
  35. package/dist/classes/callbacks/PostFamiliarRenderFilter.js +6 -10
  36. package/dist/classes/callbacks/PostFamiliarStateChanged.js +8 -12
  37. package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +6 -10
  38. package/dist/classes/callbacks/PostFirstEsauJr.js +4 -8
  39. package/dist/classes/callbacks/PostFirstFlip.js +4 -8
  40. package/dist/classes/callbacks/PostFlip.js +4 -8
  41. package/dist/classes/callbacks/PostGameEndFilter.js +6 -10
  42. package/dist/classes/callbacks/PostGameStartedReordered.js +6 -10
  43. package/dist/classes/callbacks/PostGameStartedReorderedLast.js +6 -10
  44. package/dist/classes/callbacks/PostGreedModeWave.js +7 -11
  45. package/dist/classes/callbacks/PostGridEntityBroken.js +6 -10
  46. package/dist/classes/callbacks/PostGridEntityCollision.js +4 -8
  47. package/dist/classes/callbacks/PostGridEntityCustomBroken.js +6 -10
  48. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +4 -8
  49. package/dist/classes/callbacks/PostGridEntityCustomInit.js +6 -10
  50. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +4 -8
  51. package/dist/classes/callbacks/PostGridEntityCustomRender.js +6 -10
  52. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +6 -10
  53. package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +6 -10
  54. package/dist/classes/callbacks/PostGridEntityInit.js +6 -10
  55. package/dist/classes/callbacks/PostGridEntityRemove.js +4 -8
  56. package/dist/classes/callbacks/PostGridEntityRender.js +6 -10
  57. package/dist/classes/callbacks/PostGridEntityStateChanged.js +6 -10
  58. package/dist/classes/callbacks/PostGridEntityUpdate.js +6 -10
  59. package/dist/classes/callbacks/PostHolyMantleRemoved.js +15 -19
  60. package/dist/classes/callbacks/PostItemDischarge.js +23 -27
  61. package/dist/classes/callbacks/PostItemPickup.js +6 -10
  62. package/dist/classes/callbacks/PostKeyboardChanged.js +9 -13
  63. package/dist/classes/callbacks/PostKnifeInitFilter.js +6 -10
  64. package/dist/classes/callbacks/PostKnifeInitLate.js +6 -10
  65. package/dist/classes/callbacks/PostKnifeRenderFilter.js +6 -10
  66. package/dist/classes/callbacks/PostKnifeUpdateFilter.js +6 -10
  67. package/dist/classes/callbacks/PostLaserInitFilter.js +6 -10
  68. package/dist/classes/callbacks/PostLaserInitLate.js +6 -10
  69. package/dist/classes/callbacks/PostLaserRenderFilter.js +6 -10
  70. package/dist/classes/callbacks/PostLaserUpdateFilter.js +6 -10
  71. package/dist/classes/callbacks/PostNPCDeathFilter.js +6 -10
  72. package/dist/classes/callbacks/PostNPCInitFilter.js +6 -10
  73. package/dist/classes/callbacks/PostNPCInitLate.js +6 -10
  74. package/dist/classes/callbacks/PostNPCRenderFilter.js +6 -10
  75. package/dist/classes/callbacks/PostNPCStateChanged.js +8 -12
  76. package/dist/classes/callbacks/PostNPCUpdateFilter.js +6 -10
  77. package/dist/classes/callbacks/PostNewLevelReordered.js +6 -10
  78. package/dist/classes/callbacks/PostNewRoomEarly.js +17 -21
  79. package/dist/classes/callbacks/PostNewRoomReordered.js +6 -10
  80. package/dist/classes/callbacks/PostPEffectUpdateReordered.js +6 -10
  81. package/dist/classes/callbacks/PostPickupChanged.js +6 -10
  82. package/dist/classes/callbacks/PostPickupCollect.js +8 -12
  83. package/dist/classes/callbacks/PostPickupInitFilter.js +6 -10
  84. package/dist/classes/callbacks/PostPickupInitFirst.js +10 -14
  85. package/dist/classes/callbacks/PostPickupInitLate.js +6 -10
  86. package/dist/classes/callbacks/PostPickupRenderFilter.js +6 -10
  87. package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -8
  88. package/dist/classes/callbacks/PostPickupStateChanged.js +8 -12
  89. package/dist/classes/callbacks/PostPickupUpdateFilter.js +6 -10
  90. package/dist/classes/callbacks/PostPitRender.js +8 -12
  91. package/dist/classes/callbacks/PostPitUpdate.js +8 -12
  92. package/dist/classes/callbacks/PostPlayerChangeHealth.js +14 -18
  93. package/dist/classes/callbacks/PostPlayerChangeStat.js +26 -30
  94. package/dist/classes/callbacks/PostPlayerChangeType.js +11 -15
  95. package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +6 -10
  96. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +6 -10
  97. package/dist/classes/callbacks/PostPlayerFatalDamage.js +24 -28
  98. package/dist/classes/callbacks/PostPlayerInitFirst.js +12 -16
  99. package/dist/classes/callbacks/PostPlayerInitLate.js +9 -13
  100. package/dist/classes/callbacks/PostPlayerRenderReordered.js +6 -10
  101. package/dist/classes/callbacks/PostPlayerUpdateReordered.js +6 -10
  102. package/dist/classes/callbacks/PostPoopRender.js +8 -12
  103. package/dist/classes/callbacks/PostPoopUpdate.js +8 -12
  104. package/dist/classes/callbacks/PostPressurePlateRender.js +8 -12
  105. package/dist/classes/callbacks/PostPressurePlateUpdate.js +8 -12
  106. package/dist/classes/callbacks/PostProjectileInitFilter.js +6 -10
  107. package/dist/classes/callbacks/PostProjectileInitLate.js +6 -10
  108. package/dist/classes/callbacks/PostProjectileKill.js +8 -12
  109. package/dist/classes/callbacks/PostProjectileRenderFilter.js +6 -10
  110. package/dist/classes/callbacks/PostProjectileUpdateFilter.js +6 -10
  111. package/dist/classes/callbacks/PostPurchase.js +21 -25
  112. package/dist/classes/callbacks/PostRockRender.js +8 -12
  113. package/dist/classes/callbacks/PostRockUpdate.js +8 -12
  114. package/dist/classes/callbacks/PostRoomClearChanged.js +9 -13
  115. package/dist/classes/callbacks/PostSacrifice.js +12 -16
  116. package/dist/classes/callbacks/PostSlotAnimationChanged.js +6 -10
  117. package/dist/classes/callbacks/PostSlotCollision.js +8 -12
  118. package/dist/classes/callbacks/PostSlotDestroyed.js +6 -10
  119. package/dist/classes/callbacks/PostSlotInit.js +6 -10
  120. package/dist/classes/callbacks/PostSlotRender.js +6 -10
  121. package/dist/classes/callbacks/PostSlotUpdate.js +6 -10
  122. package/dist/classes/callbacks/PostSpikesRender.js +8 -12
  123. package/dist/classes/callbacks/PostSpikesUpdate.js +8 -12
  124. package/dist/classes/callbacks/PostTNTRender.js +8 -12
  125. package/dist/classes/callbacks/PostTNTUpdate.js +8 -12
  126. package/dist/classes/callbacks/PostTearInitFilter.js +6 -10
  127. package/dist/classes/callbacks/PostTearInitLate.js +6 -10
  128. package/dist/classes/callbacks/PostTearInitVeryLate.js +6 -10
  129. package/dist/classes/callbacks/PostTearKill.js +8 -12
  130. package/dist/classes/callbacks/PostTearRenderFilter.js +6 -10
  131. package/dist/classes/callbacks/PostTearUpdateFilter.js +6 -10
  132. package/dist/classes/callbacks/PostTransformation.js +10 -14
  133. package/dist/classes/callbacks/PostTrinketBreak.js +16 -20
  134. package/dist/classes/callbacks/PostUsePillFilter.js +18 -22
  135. package/dist/classes/callbacks/PreBerserkDeath.js +14 -18
  136. package/dist/classes/callbacks/PreBombCollisionFilter.js +6 -10
  137. package/dist/classes/callbacks/PreCustomRevive.js +6 -10
  138. package/dist/classes/callbacks/PreEntitySpawnFilter.js +4 -8
  139. package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +6 -10
  140. package/dist/classes/callbacks/PreGetPedestal.js +8 -12
  141. package/dist/classes/callbacks/PreItemPickup.js +6 -10
  142. package/dist/classes/callbacks/PreKnifeCollisionFilter.js +6 -10
  143. package/dist/classes/callbacks/PreNPCCollisionFilter.js +6 -10
  144. package/dist/classes/callbacks/PreNPCUpdateFilter.js +6 -10
  145. package/dist/classes/callbacks/PreNewLevel.js +10 -14
  146. package/dist/classes/callbacks/PreProjectileCollisionFilter.js +6 -10
  147. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +4 -8
  148. package/dist/classes/callbacks/PreTearCollisionFilter.js +6 -10
  149. package/dist/classes/features/callbackLogic/CustomGridEntities.js +46 -50
  150. package/dist/classes/features/callbackLogic/CustomRevive.js +28 -32
  151. package/dist/classes/features/callbackLogic/EsauJrDetection.js +11 -15
  152. package/dist/classes/features/callbackLogic/FlipDetection.js +11 -15
  153. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +26 -30
  154. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +10 -14
  155. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +6 -10
  156. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +12 -16
  157. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +17 -21
  158. package/dist/classes/features/callbackLogic/PickupChangeDetection.js +6 -10
  159. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +39 -43
  160. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +18 -22
  161. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +17 -21
  162. package/dist/classes/features/callbackLogic/SlotRenderDetection.js +8 -12
  163. package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +9 -13
  164. package/dist/classes/features/other/CharacterHealthConversion.js +13 -17
  165. package/dist/classes/features/other/CharacterStats.js +9 -13
  166. package/dist/classes/features/other/CollectibleItemPoolType.js +17 -21
  167. package/dist/classes/features/other/CustomHotkeys.js +15 -19
  168. package/dist/classes/features/other/CustomItemPools.js +20 -24
  169. package/dist/classes/features/other/CustomPickups.js +15 -19
  170. package/dist/classes/features/other/CustomStages.js +116 -153
  171. package/dist/classes/features/other/CustomTrapdoors.js +119 -123
  172. package/dist/classes/features/other/DebugDisplay.js +77 -81
  173. package/dist/classes/features/other/DeployJSONRoom.js +65 -69
  174. package/dist/classes/features/other/DisableAllSound.js +14 -18
  175. package/dist/classes/features/other/DisableInputs.js +24 -28
  176. package/dist/classes/features/other/EdenStartingStatsHealth.js +36 -40
  177. package/dist/classes/features/other/ExtraConsoleCommands.js +65 -102
  178. package/dist/classes/features/other/FadeInRemover.js +9 -13
  179. package/dist/classes/features/other/FastReset.js +18 -22
  180. package/dist/classes/features/other/FlyingDetection.js +10 -14
  181. package/dist/classes/features/other/ForgottenSwitch.js +8 -12
  182. package/dist/classes/features/other/ItemPoolDetection.js +35 -39
  183. package/dist/classes/features/other/ModdedElementDetection.js +43 -47
  184. package/dist/classes/features/other/ModdedElementSets.js +135 -139
  185. package/dist/classes/features/other/NoSirenSteal.js +7 -11
  186. package/dist/classes/features/other/Pause.js +48 -52
  187. package/dist/classes/features/other/PersistentEntities.js +16 -20
  188. package/dist/classes/features/other/PickupIndexCreation.js +31 -35
  189. package/dist/classes/features/other/PlayerCollectibleTracking.js +18 -22
  190. package/dist/classes/features/other/PonyDetection.js +22 -26
  191. package/dist/classes/features/other/PressInput.js +10 -14
  192. package/dist/classes/features/other/PreventChildEntities.js +6 -10
  193. package/dist/classes/features/other/PreventGridEntityRespawn.js +34 -38
  194. package/dist/classes/features/other/RerunDetection.js +11 -15
  195. package/dist/classes/features/other/RoomClearFrame.js +11 -15
  196. package/dist/classes/features/other/RoomHistory.js +30 -34
  197. package/dist/classes/features/other/RunInNFrames.js +24 -28
  198. package/dist/classes/features/other/RunNextRoom.js +8 -12
  199. package/dist/classes/features/other/RunNextRun.js +8 -12
  200. package/dist/classes/features/other/SaveDataManager.js +61 -65
  201. package/dist/classes/features/other/SpawnRockAltRewards.js +115 -119
  202. package/dist/classes/features/other/StageHistory.js +76 -80
  203. package/dist/classes/features/other/StartAmbush.js +12 -16
  204. package/dist/classes/features/other/TaintedLazarusPlayers.js +10 -14
  205. package/dist/classes/features/other/UnlockAchievementsDetection.js +10 -14
  206. package/dist/classes/features/other/customStages/backdrop.js +68 -71
  207. package/dist/classes/features/other/customStages/constants.js +7 -10
  208. package/dist/classes/features/other/customStages/gridEntities.js +23 -30
  209. package/dist/classes/features/other/customStages/shadows.js +27 -30
  210. package/dist/classes/features/other/customStages/streakText.js +55 -60
  211. package/dist/classes/features/other/customStages/utils.js +13 -17
  212. package/dist/classes/features/other/customStages/v.js +4 -7
  213. package/dist/classes/features/other/customStages/versusScreen.js +46 -50
  214. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +8 -12
  215. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +8 -12
  216. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +8 -12
  217. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +8 -12
  218. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +8 -12
  219. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +8 -12
  220. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +8 -12
  221. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +8 -12
  222. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +8 -12
  223. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +8 -12
  224. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +8 -12
  225. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +8 -12
  226. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +8 -12
  227. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +8 -12
  228. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +8 -12
  229. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +8 -12
  230. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +8 -12
  231. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +8 -12
  232. package/dist/classes/features/other/debugDisplay/utils.js +6 -10
  233. package/dist/classes/features/other/extraConsoleCommands/commands.js +411 -557
  234. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +47 -57
  235. package/dist/classes/features/other/extraConsoleCommands/v.js +1 -4
  236. package/dist/classes/features/other/saveDataManager/constants.js +1 -4
  237. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +17 -21
  238. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +19 -22
  239. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +20 -25
  240. package/dist/classes/features/other/saveDataManager/saveToDisk.js +13 -16
  241. package/dist/classes/private/CustomCallback.js +4 -8
  242. package/dist/classes/private/Feature.js +1 -5
  243. package/dist/core/cachedClasses.js +12 -15
  244. package/dist/core/constants.js +126 -130
  245. package/dist/core/constantsFirstLast.js +22 -25
  246. package/dist/core/constantsVanilla.js +25 -28
  247. package/dist/core/upgradeMod.js +7 -10
  248. package/dist/decorators.js +6 -10
  249. package/dist/enums/AmbushType.js +2 -5
  250. package/dist/enums/CornerType.js +2 -5
  251. package/dist/enums/HealthType.js +2 -5
  252. package/dist/enums/ISCFeature.js +2 -5
  253. package/dist/enums/LadderSubTypeCustom.js +2 -5
  254. package/dist/enums/ModCallbackCustom.js +2 -5
  255. package/dist/enums/MysteriousPaperEffect.js +2 -5
  256. package/dist/enums/PlayerStat.js +2 -5
  257. package/dist/enums/PocketItemType.js +2 -5
  258. package/dist/enums/RockAltType.js +2 -5
  259. package/dist/enums/SaveDataKey.js +2 -5
  260. package/dist/enums/SerializationType.js +2 -5
  261. package/dist/enums/SlotDestructionType.js +2 -5
  262. package/dist/enums/private/GridEntityTypeCustom.js +1 -4
  263. package/dist/enums/private/SerializationBrand.js +2 -5
  264. package/dist/enums/private/StageTravelState.js +2 -5
  265. package/dist/enums/private/TrapdoorAnimation.js +2 -5
  266. package/dist/enums/private/UIStreakAnimation.js +2 -5
  267. package/dist/features.js +138 -141
  268. package/dist/functions/ambush.js +9 -12
  269. package/dist/functions/array.js +45 -76
  270. package/dist/functions/arrayLua.js +7 -16
  271. package/dist/functions/benchmark.js +4 -7
  272. package/dist/functions/bitSet128.js +19 -26
  273. package/dist/functions/bitwise.js +14 -23
  274. package/dist/functions/bombs.js +1 -4
  275. package/dist/functions/bosses.js +68 -85
  276. package/dist/functions/cards.js +44 -62
  277. package/dist/functions/challenges.js +28 -39
  278. package/dist/functions/characters.js +68 -87
  279. package/dist/functions/charge.js +41 -52
  280. package/dist/functions/chargeBar.js +2 -6
  281. package/dist/functions/collectibleTag.js +9 -13
  282. package/dist/functions/collectibles.js +133 -172
  283. package/dist/functions/color.js +29 -38
  284. package/dist/functions/console.js +4 -8
  285. package/dist/functions/curses.js +6 -10
  286. package/dist/functions/debugFunctions.js +7 -14
  287. package/dist/functions/decorators.js +13 -19
  288. package/dist/functions/deepCopy.js +96 -99
  289. package/dist/functions/deepCopyTests.js +56 -59
  290. package/dist/functions/dimensions.js +10 -14
  291. package/dist/functions/direction.js +22 -30
  292. package/dist/functions/doors.js +104 -154
  293. package/dist/functions/easing.js +30 -62
  294. package/dist/functions/effects.js +6 -10
  295. package/dist/functions/emptyRoom.js +30 -34
  296. package/dist/functions/entities.js +88 -115
  297. package/dist/functions/entitiesSpecific.js +83 -125
  298. package/dist/functions/entityTypes.js +3 -6
  299. package/dist/functions/enums.js +27 -41
  300. package/dist/functions/external.js +4 -8
  301. package/dist/functions/familiars.js +17 -25
  302. package/dist/functions/flag.js +10 -19
  303. package/dist/functions/frames.js +31 -51
  304. package/dist/functions/globals.js +26 -66
  305. package/dist/functions/gridEntities.js +231 -269
  306. package/dist/functions/gridEntitiesSpecific.js +86 -126
  307. package/dist/functions/gridIndex.js +8 -11
  308. package/dist/functions/hash.js +1 -4
  309. package/dist/functions/hex.js +7 -11
  310. package/dist/functions/input.js +65 -88
  311. package/dist/functions/isaacAPIClass.js +28 -53
  312. package/dist/functions/itemPool.js +39 -48
  313. package/dist/functions/jsonHelpers.js +5 -42
  314. package/dist/functions/jsonRoom.js +39 -46
  315. package/dist/functions/kColor.js +30 -39
  316. package/dist/functions/language.js +3 -6
  317. package/dist/functions/level.js +20 -26
  318. package/dist/functions/levelGrid.js +81 -108
  319. package/dist/functions/log.js +6 -12
  320. package/dist/functions/logEntities.js +49 -59
  321. package/dist/functions/logMisc.js +183 -214
  322. package/dist/functions/map.js +10 -20
  323. package/dist/functions/math.js +16 -31
  324. package/dist/functions/merge.js +48 -51
  325. package/dist/functions/mergeTests.js +34 -37
  326. package/dist/functions/minimap.js +34 -46
  327. package/dist/functions/modFeatures.js +1 -4
  328. package/dist/functions/newArray.js +5 -8
  329. package/dist/functions/nextStage.js +63 -67
  330. package/dist/functions/npcDataStructures.js +9 -20
  331. package/dist/functions/npcs.js +37 -45
  332. package/dist/functions/pickupVariants.js +26 -39
  333. package/dist/functions/pickups.js +43 -59
  334. package/dist/functions/pickupsSpecific.js +76 -118
  335. package/dist/functions/pills.js +52 -72
  336. package/dist/functions/playerCenter.js +13 -16
  337. package/dist/functions/playerCollectibles.js +59 -79
  338. package/dist/functions/playerDataStructures.js +18 -29
  339. package/dist/functions/playerEffects.js +12 -19
  340. package/dist/functions/playerHealth.js +91 -113
  341. package/dist/functions/playerIndex.js +22 -33
  342. package/dist/functions/playerTrinkets.js +31 -43
  343. package/dist/functions/players.js +87 -126
  344. package/dist/functions/pocketItems.js +33 -43
  345. package/dist/functions/positionVelocity.js +23 -32
  346. package/dist/functions/pressurePlate.js +7 -10
  347. package/dist/functions/projectiles.js +11 -15
  348. package/dist/functions/random.js +8 -13
  349. package/dist/functions/readOnly.js +3 -8
  350. package/dist/functions/render.js +7 -12
  351. package/dist/functions/revive.js +38 -45
  352. package/dist/functions/rng.js +31 -44
  353. package/dist/functions/rockAlt.js +18 -22
  354. package/dist/functions/roomData.js +24 -40
  355. package/dist/functions/roomGrid.js +17 -25
  356. package/dist/functions/roomShape.js +39 -55
  357. package/dist/functions/roomShapeWalls.js +67 -71
  358. package/dist/functions/roomTransition.js +13 -17
  359. package/dist/functions/rooms.js +181 -244
  360. package/dist/functions/run.js +29 -39
  361. package/dist/functions/seeds.js +6 -10
  362. package/dist/functions/serialization.js +27 -34
  363. package/dist/functions/set.js +24 -40
  364. package/dist/functions/slots.js +18 -22
  365. package/dist/functions/sort.js +9 -15
  366. package/dist/functions/sound.js +12 -16
  367. package/dist/functions/spawnCollectible.js +21 -26
  368. package/dist/functions/sprites.js +16 -24
  369. package/dist/functions/stage.js +122 -164
  370. package/dist/functions/stats.js +37 -43
  371. package/dist/functions/storyBosses.js +36 -40
  372. package/dist/functions/string.js +19 -33
  373. package/dist/functions/table.js +21 -31
  374. package/dist/functions/tears.js +6 -14
  375. package/dist/functions/transformations.js +35 -42
  376. package/dist/functions/trinketGive.js +29 -36
  377. package/dist/functions/trinkets.js +45 -60
  378. package/dist/functions/tstlClass.js +11 -20
  379. package/dist/functions/types.js +22 -46
  380. package/dist/functions/ui.js +25 -40
  381. package/dist/functions/utils.js +22 -36
  382. package/dist/functions/vector.js +33 -46
  383. package/dist/functions/versusScreen.js +12 -18
  384. package/dist/functions/weighted.js +8 -12
  385. package/dist/index.js +150 -166
  386. package/dist/indexLua.js +151 -167
  387. package/dist/interfaces/ChargeBarSprites.js +1 -2
  388. package/dist/interfaces/Corner.js +1 -2
  389. package/dist/interfaces/CustomStageTSConfig.js +1 -2
  390. package/dist/interfaces/GridEntityCustomData.js +1 -2
  391. package/dist/interfaces/JSONRoomsFile.js +1 -2
  392. package/dist/interfaces/PlayerHealth.js +1 -2
  393. package/dist/interfaces/PlayerStats.js +2 -4
  394. package/dist/interfaces/PocketItemDescription.js +1 -2
  395. package/dist/interfaces/RoomDescription.js +1 -2
  396. package/dist/interfaces/SaveData.js +1 -2
  397. package/dist/interfaces/StageHistoryEntry.js +1 -2
  398. package/dist/interfaces/TSTLClassMetatable.js +1 -2
  399. package/dist/interfaces/TrinketSituation.js +1 -2
  400. package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
  401. package/dist/interfaces/private/CustomStage.js +1 -2
  402. package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
  403. package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
  404. package/dist/isaacscript-common.lua +1 -1
  405. package/dist/maps/PHDPillConversionsMap.js +19 -22
  406. package/dist/maps/cardNameToTypeMap.js +205 -208
  407. package/dist/maps/characterNameToTypeMap.js +85 -88
  408. package/dist/maps/collectibleNameToTypeMap.js +5 -8
  409. package/dist/maps/defaultPlayerStatMap.js +10 -13
  410. package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
  411. package/dist/maps/falsePHDPillConversionsMap.js +33 -36
  412. package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
  413. package/dist/maps/gridEntityXMLMap.js +52 -55
  414. package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
  415. package/dist/maps/keyboardToStringMap.js +66 -69
  416. package/dist/maps/pillNameToEffectMap.js +83 -86
  417. package/dist/maps/roomNameToTypeMap.js +38 -41
  418. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
  419. package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
  420. package/dist/maps/trinketNameToTypeMap.js +5 -8
  421. package/dist/objects/LRoomShapeToRectangles.js +22 -25
  422. package/dist/objects/backdropTypeToRockAltType.js +65 -68
  423. package/dist/objects/batteryNames.js +8 -11
  424. package/dist/objects/bombNames.js +11 -14
  425. package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
  426. package/dist/objects/bossNamePNGFileNames.js +104 -107
  427. package/dist/objects/bossNames.js +105 -108
  428. package/dist/objects/bossPortraitPNGFileNames.js +104 -107
  429. package/dist/objects/cardDescriptions.js +101 -104
  430. package/dist/objects/cardNames.js +101 -104
  431. package/dist/objects/challengeBosses.js +49 -52
  432. package/dist/objects/challengeCharacters.js +49 -52
  433. package/dist/objects/challengeCollectibleTypes.js +160 -163
  434. package/dist/objects/challengeNames.js +49 -52
  435. package/dist/objects/challengeTrinketType.js +48 -51
  436. package/dist/objects/characterDamageMultipliers.js +44 -47
  437. package/dist/objects/characterNames.js +44 -47
  438. package/dist/objects/characterSpritePNGFileNames.js +44 -47
  439. package/dist/objects/characterStartingCollectibleTypes.js +49 -52
  440. package/dist/objects/characterStartingTrinketTypes.js +44 -47
  441. package/dist/objects/chestNames.js +15 -18
  442. package/dist/objects/coinNames.js +11 -14
  443. package/dist/objects/coinSubTypeToValue.js +11 -14
  444. package/dist/objects/collectibleDescriptions.js +725 -728
  445. package/dist/objects/collectibleNames.js +725 -728
  446. package/dist/objects/colors.js +1 -4
  447. package/dist/objects/directionNames.js +7 -10
  448. package/dist/objects/directionToDegrees.js +7 -10
  449. package/dist/objects/directionToMoveAction.js +7 -10
  450. package/dist/objects/directionToShootAction.js +7 -10
  451. package/dist/objects/directionToVector.js +9 -12
  452. package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
  453. package/dist/objects/doorSlotToDirection.js +11 -14
  454. package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
  455. package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
  456. package/dist/objects/heartNames.js +16 -19
  457. package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
  458. package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
  459. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
  460. package/dist/objects/kColors.js +1 -4
  461. package/dist/objects/keyNames.js +8 -11
  462. package/dist/objects/languageNames.js +9 -12
  463. package/dist/objects/oppositeDoorSlots.js +11 -14
  464. package/dist/objects/pillEffectClasses.js +53 -56
  465. package/dist/objects/pillEffectNames.js +53 -56
  466. package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
  467. package/dist/objects/pillEffectTypes.js +53 -56
  468. package/dist/objects/playerNamePNGFileNames.js +44 -47
  469. package/dist/objects/playerPortraitPNGFileNames.js +44 -47
  470. package/dist/objects/roomShapeBounds.js +23 -26
  471. package/dist/objects/roomShapeCorners.js +128 -131
  472. package/dist/objects/roomShapeLayoutSizes.js +23 -26
  473. package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
  474. package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
  475. package/dist/objects/roomShapeToDoorSlots.js +48 -51
  476. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
  477. package/dist/objects/roomShapeToGridWidth.js +14 -17
  478. package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
  479. package/dist/objects/roomShapeVolumes.js +21 -24
  480. package/dist/objects/roomTypeNames.js +32 -35
  481. package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
  482. package/dist/objects/sackNames.js +6 -9
  483. package/dist/objects/slotNames.js +21 -24
  484. package/dist/objects/stageIDNames.js +33 -36
  485. package/dist/objects/stageToMusic.js +69 -72
  486. package/dist/objects/stageToStageID.js +90 -93
  487. package/dist/objects/stageTypeSuffixes.js +8 -11
  488. package/dist/objects/transformationNames.js +16 -19
  489. package/dist/objects/trinketDescriptions.js +192 -195
  490. package/dist/objects/trinketNames.js +192 -195
  491. package/dist/objects/versusScreenBackgroundColors.js +39 -42
  492. package/dist/objects/versusScreenDirtSpotColors.js +39 -42
  493. package/dist/patchErrorFunctions.js +4 -7
  494. package/dist/serialization.js +6 -9
  495. package/dist/sets/LRoomShapesSet.js +7 -10
  496. package/dist/sets/bigRoomShapesSet.js +10 -13
  497. package/dist/sets/bossSets.js +261 -264
  498. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
  499. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
  500. package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
  501. package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
  502. package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
  503. package/dist/sets/consoleCommandsSet.js +2 -5
  504. package/dist/sets/entitiesWithArmorSet.js +44 -47
  505. package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
  506. package/dist/sets/itemConfigCardTypesForCards.js +7 -10
  507. package/dist/sets/lostStyleCharactersSet.js +8 -11
  508. package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
  509. package/dist/sets/narrowRoomShapesSet.js +7 -10
  510. package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
  511. package/dist/sets/redHeartSubTypesSet.js +6 -9
  512. package/dist/sets/repentanceBossIDsSet.js +26 -29
  513. package/dist/sets/sinEntityTypesSet.js +10 -13
  514. package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
  515. package/dist/shaderCrashFix.js +4 -7
  516. package/dist/shouldFire.js +28 -58
  517. package/dist/types/AddSubtract.js +1 -2
  518. package/dist/types/AllButFirst.js +1 -2
  519. package/dist/types/AllButLast.js +1 -2
  520. package/dist/types/AnyClass.js +1 -2
  521. package/dist/types/AnyEntity.js +1 -2
  522. package/dist/types/AnyFunction.js +1 -2
  523. package/dist/types/AnyGridEntity.js +1 -2
  524. package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
  525. package/dist/types/ConversionHeartSubType.js +1 -2
  526. package/dist/types/Decrement.js +1 -2
  527. package/dist/types/ERange.js +1 -2
  528. package/dist/types/EntityID.js +1 -2
  529. package/dist/types/FunctionTuple.js +1 -2
  530. package/dist/types/GridEntityID.js +1 -2
  531. package/dist/types/HasFunction.js +1 -2
  532. package/dist/types/IRange.js +1 -2
  533. package/dist/types/Immutable.js +1 -2
  534. package/dist/types/Increment.js +1 -2
  535. package/dist/types/LowercaseKeys.js +1 -2
  536. package/dist/types/NaturalNumbersLessThan.js +1 -2
  537. package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
  538. package/dist/types/ObjectValues.js +1 -2
  539. package/dist/types/PickingUpItem.js +15 -22
  540. package/dist/types/PickupIndex.js +1 -2
  541. package/dist/types/PlayerIndex.js +1 -2
  542. package/dist/types/PossibleStatType.js +1 -2
  543. package/dist/types/PublicInterface.js +1 -2
  544. package/dist/types/ReadonlyMap.js +1 -4
  545. package/dist/types/ReadonlyRecord.js +1 -2
  546. package/dist/types/ReadonlySet.js +1 -4
  547. package/dist/types/StartsWithLowercase.js +1 -2
  548. package/dist/types/StartsWithUppercase.js +1 -2
  549. package/dist/types/TSTLClass.js +1 -2
  550. package/dist/types/Tuple.js +1 -2
  551. package/dist/types/TupleKeys.js +1 -2
  552. package/dist/types/TupleToIntersection.js +1 -2
  553. package/dist/types/TupleToUnion.js +1 -2
  554. package/dist/types/TupleWithLengthBetween.js +1 -2
  555. package/dist/types/TupleWithMaxLength.js +1 -2
  556. package/dist/types/UnionToIntersection.js +1 -2
  557. package/dist/types/UppercaseKeys.js +1 -2
  558. package/dist/types/WeightedArray.js +1 -2
  559. package/dist/types/WidenLiteral.js +1 -2
  560. package/dist/types/Writable.js +1 -2
  561. package/dist/types/private/CallbackTuple.js +1 -2
  562. package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
  563. package/package.json +3 -3
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreFamiliarCollisionFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreFamiliarCollisionFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireFamiliar } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreFamiliarCollisionFilter extends CustomCallback {
8
5
  // ModCallback.PRE_FAMILIAR_COLLISION (26)
9
6
  preFamiliarCollision = (familiar, collider, low) => this.fire(familiar, collider, low);
10
- shouldFire = shouldFire_1.shouldFireFamiliar;
7
+ shouldFire = shouldFireFamiliar;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 26
15
- [isaac_typescript_definitions_1.ModCallback.PRE_FAMILIAR_COLLISION, this.preFamiliarCollision],
12
+ [ModCallback.PRE_FAMILIAR_COLLISION, this.preFamiliarCollision],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.PreFamiliarCollisionFilter = PreFamiliarCollisionFilter;
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreGetPedestal = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreGetPedestal extends CustomCallback_1.CustomCallback {
1
+ import { CollectibleType, ModCallback, PickupVariant, } from "isaac-typescript-definitions";
2
+ import { shouldFirePlayer } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreGetPedestal extends CustomCallback {
8
5
  // ModCallback.PRE_PICKUP_COLLISION (35)
9
6
  prePickupCollision = (pickup, collider, _low) => {
10
7
  const collectible = pickup;
11
- if (collectible.SubType === isaac_typescript_definitions_1.CollectibleType.NULL) {
8
+ if (collectible.SubType === CollectibleType.NULL) {
12
9
  return undefined;
13
10
  }
14
11
  const player = collider.ToPlayer();
@@ -30,17 +27,16 @@ class PreGetPedestal extends CustomCallback_1.CustomCallback {
30
27
  }
31
28
  return this.fire(player, collectible);
32
29
  };
33
- shouldFire = shouldFire_1.shouldFirePlayer;
30
+ shouldFire = shouldFirePlayer;
34
31
  constructor() {
35
32
  super();
36
33
  this.callbacksUsed = [
37
34
  // 38
38
35
  [
39
- isaac_typescript_definitions_1.ModCallback.PRE_PICKUP_COLLISION,
36
+ ModCallback.PRE_PICKUP_COLLISION,
40
37
  this.prePickupCollision,
41
- [isaac_typescript_definitions_1.PickupVariant.COLLECTIBLE],
38
+ [PickupVariant.COLLECTIBLE],
42
39
  ],
43
40
  ];
44
41
  }
45
42
  }
46
- exports.PreGetPedestal = PreGetPedestal;
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreItemPickup = void 0;
4
- const ISCFeature_1 = require("../../enums/ISCFeature");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreItemPickup extends CustomCallback_1.CustomCallback {
8
- shouldFire = shouldFire_1.shouldFireItemPickup;
1
+ import { ISCFeature } from "../../enums/ISCFeature";
2
+ import { shouldFireItemPickup } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreItemPickup extends CustomCallback {
5
+ shouldFire = shouldFireItemPickup;
9
6
  constructor() {
10
7
  super();
11
- this.featuresUsed = [ISCFeature_1.ISCFeature.ITEM_PICKUP_DETECTION];
8
+ this.featuresUsed = [ISCFeature.ITEM_PICKUP_DETECTION];
12
9
  }
13
10
  }
14
- exports.PreItemPickup = PreItemPickup;
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreKnifeCollisionFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreKnifeCollisionFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireKnife } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreKnifeCollisionFilter extends CustomCallback {
8
5
  // ModCallback.PRE_KNIFE_COLLISION (53)
9
6
  preKnifeCollision = (knife, collider, low) => this.fire(knife, collider, low);
10
- shouldFire = shouldFire_1.shouldFireKnife;
7
+ shouldFire = shouldFireKnife;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 53
15
- [isaac_typescript_definitions_1.ModCallback.PRE_KNIFE_COLLISION, this.preKnifeCollision],
12
+ [ModCallback.PRE_KNIFE_COLLISION, this.preKnifeCollision],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.PreKnifeCollisionFilter = PreKnifeCollisionFilter;
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreNPCCollisionFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreNPCCollisionFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireNPC } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreNPCCollisionFilter extends CustomCallback {
8
5
  // ModCallback.PRE_NPC_COLLISION (30)
9
6
  preNPCCollision = (npc, collider, low) => this.fire(npc, collider, low);
10
- shouldFire = shouldFire_1.shouldFireNPC;
7
+ shouldFire = shouldFireNPC;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 30
15
- [isaac_typescript_definitions_1.ModCallback.PRE_NPC_COLLISION, this.preNPCCollision],
12
+ [ModCallback.PRE_NPC_COLLISION, this.preNPCCollision],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.PreNPCCollisionFilter = PreNPCCollisionFilter;
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreNPCUpdateFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreNPCUpdateFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireNPC } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreNPCUpdateFilter extends CustomCallback {
8
5
  // ModCallback.PRE_NPC_UPDATE (69)
9
6
  preNPCUpdate = (npc) => this.fire(npc);
10
- shouldFire = shouldFire_1.shouldFireNPC;
7
+ shouldFire = shouldFireNPC;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 69
15
- [isaac_typescript_definitions_1.ModCallback.PRE_NPC_UPDATE, this.preNPCUpdate],
12
+ [ModCallback.PRE_NPC_UPDATE, this.preNPCUpdate],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.PreNPCUpdateFilter = PreNPCUpdateFilter;
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreNewLevel = void 0;
4
- const ModCallbackCustom_1 = require("../../enums/ModCallbackCustom");
5
- const sprites_1 = require("../../functions/sprites");
6
- const stage_1 = require("../../functions/stage");
7
- const ReadonlySet_1 = require("../../types/ReadonlySet");
8
- const CustomCallback_1 = require("../private/CustomCallback");
9
- const TRAVELING_TO_NEXT_FLOOR_ANIMATIONS = new ReadonlySet_1.ReadonlySet([
1
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
2
+ import { getLastFrameOfAnimation } from "../../functions/sprites";
3
+ import { getEffectiveStage } from "../../functions/stage";
4
+ import { ReadonlySet } from "../../types/ReadonlySet";
5
+ import { CustomCallback } from "../private/CustomCallback";
6
+ const TRAVELING_TO_NEXT_FLOOR_ANIMATIONS = new ReadonlySet([
10
7
  "Trapdoor",
11
8
  "LightTravel",
12
9
  ]);
@@ -15,10 +12,10 @@ const v = {
15
12
  firedOnStage: null,
16
13
  },
17
14
  };
18
- class PreNewLevel extends CustomCallback_1.CustomCallback {
15
+ export class PreNewLevel extends CustomCallback {
19
16
  // ModCallbackCustom.POST_PLAYER_RENDER_REORDERED
20
17
  postPlayerRenderReordered = (player) => {
21
- const effectiveStage = (0, stage_1.getEffectiveStage)();
18
+ const effectiveStage = getEffectiveStage();
22
19
  if (effectiveStage === v.run.firedOnStage) {
23
20
  return;
24
21
  }
@@ -31,7 +28,7 @@ class PreNewLevel extends CustomCallback_1.CustomCallback {
31
28
  // because the player will stop rendering at that point. Thus, revert to checking for the final
32
29
  // frame manually.
33
30
  const frame = sprite.GetFrame();
34
- const finalFrame = (0, sprites_1.getLastFrameOfAnimation)(sprite);
31
+ const finalFrame = getLastFrameOfAnimation(sprite);
35
32
  if (frame === finalFrame) {
36
33
  v.run.firedOnStage = effectiveStage;
37
34
  this.fire(player);
@@ -42,10 +39,9 @@ class PreNewLevel extends CustomCallback_1.CustomCallback {
42
39
  super();
43
40
  this.customCallbacksUsed = [
44
41
  [
45
- ModCallbackCustom_1.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED,
42
+ ModCallbackCustom.POST_PLAYER_RENDER_REORDERED,
46
43
  this.postPlayerRenderReordered,
47
44
  ],
48
45
  ];
49
46
  }
50
47
  }
51
- exports.PreNewLevel = PreNewLevel;
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreProjectileCollisionFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreProjectileCollisionFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireProjectile } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreProjectileCollisionFilter extends CustomCallback {
8
5
  // ModCallback.PRE_PROJECTILE_COLLISION (46)
9
6
  preProjectileCollision = (projectile, collider, low) => this.fire(projectile, collider, low);
10
- shouldFire = shouldFire_1.shouldFireProjectile;
7
+ shouldFire = shouldFireProjectile;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 46
15
- [isaac_typescript_definitions_1.ModCallback.PRE_PROJECTILE_COLLISION, this.preProjectileCollision],
12
+ [ModCallback.PRE_PROJECTILE_COLLISION, this.preProjectileCollision],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.PreProjectileCollisionFilter = PreProjectileCollisionFilter;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreRoomEntitySpawnFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const CustomCallback_1 = require("../private/CustomCallback");
6
- class PreRoomEntitySpawnFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { CustomCallback } from "../private/CustomCallback";
3
+ export class PreRoomEntitySpawnFilter extends CustomCallback {
7
4
  // ModCallback.PRE_ROOM_ENTITY_SPAWN (71)
8
5
  preRoomEntitySpawn = (entityTypeOrGridEntityXMLType, variant, subType, gridIndex, initSeed) => this.fire(entityTypeOrGridEntityXMLType, variant, subType, gridIndex, initSeed);
9
6
  shouldFire = (fireArgs, optionalArgs) => {
@@ -19,8 +16,7 @@ class PreRoomEntitySpawnFilter extends CustomCallback_1.CustomCallback {
19
16
  super();
20
17
  this.callbacksUsed = [
21
18
  // 71
22
- [isaac_typescript_definitions_1.ModCallback.PRE_ROOM_ENTITY_SPAWN, this.preRoomEntitySpawn],
19
+ [ModCallback.PRE_ROOM_ENTITY_SPAWN, this.preRoomEntitySpawn],
23
20
  ];
24
21
  }
25
22
  }
26
- exports.PreRoomEntitySpawnFilter = PreRoomEntitySpawnFilter;
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreTearCollisionFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PreTearCollisionFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireTear } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PreTearCollisionFilter extends CustomCallback {
8
5
  // ModCallback.PRE_TEAR_COLLISION (42)
9
6
  preTearCollision = (tear, collider, low) => this.fire(tear, collider, low);
10
- shouldFire = shouldFire_1.shouldFireTear;
7
+ shouldFire = shouldFireTear;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 42
15
- [isaac_typescript_definitions_1.ModCallback.PRE_TEAR_COLLISION, this.preTearCollision],
12
+ [ModCallback.PRE_TEAR_COLLISION, this.preTearCollision],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.PreTearCollisionFilter = PreTearCollisionFilter;
@@ -1,36 +1,33 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.CustomGridEntities = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedClasses_1 = require("../../../core/cachedClasses");
12
- const decorators_1 = require("../../../decorators");
13
- const ISCFeature_1 = require("../../../enums/ISCFeature");
14
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
15
- const gridEntities_1 = require("../../../functions/gridEntities");
16
- const players_1 = require("../../../functions/players");
17
- const roomData_1 = require("../../../functions/roomData");
18
- const types_1 = require("../../../functions/types");
19
- const utils_1 = require("../../../functions/utils");
20
- const vector_1 = require("../../../functions/vector");
21
- const DefaultMap_1 = require("../../DefaultMap");
22
- const Feature_1 = require("../../private/Feature");
7
+ import { CollectibleType, GridCollisionClass, GridEntityType, ModCallback, } from "isaac-typescript-definitions";
8
+ import { game } from "../../../core/cachedClasses";
9
+ import { Exported } from "../../../decorators";
10
+ import { ISCFeature } from "../../../enums/ISCFeature";
11
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
12
+ import { removeGridEntity, spawnGridEntityWithVariant, } from "../../../functions/gridEntities";
13
+ import { getPlayerFromPtr } from "../../../functions/players";
14
+ import { getRoomListIndex } from "../../../functions/roomData";
15
+ import { isInteger } from "../../../functions/types";
16
+ import { assertDefined } from "../../../functions/utils";
17
+ import { isVector } from "../../../functions/vector";
18
+ import { DefaultMap } from "../../DefaultMap";
19
+ import { Feature } from "../../private/Feature";
23
20
  const v = {
24
21
  level: {
25
22
  /** Indexed by room list index and grid index. */
26
- customGridEntities: new DefaultMap_1.DefaultMap(() => new Map()),
23
+ customGridEntities: new DefaultMap(() => new Map()),
27
24
  },
28
25
  room: {
29
26
  genericPropPtrHashes: new Set(),
30
27
  manuallyUsingShovel: false,
31
28
  },
32
29
  };
33
- class CustomGridEntities extends Feature_1.Feature {
30
+ export class CustomGridEntities extends Feature {
34
31
  runInNFrames;
35
32
  // ModCallback.PRE_USE_ITEM (23)
36
33
  // CollectibleType.WE_NEED_TO_GO_DEEPER (84)
@@ -38,8 +35,8 @@ class CustomGridEntities extends Feature_1.Feature {
38
35
  // If a player uses We Need to Go Deeper on top of a custom grid entity, then they will always
39
36
  // get a crawlspace, due to how custom grids are implemented with decorations. Thus, remove the
40
37
  // custom grid entity to prevent this from happening if needed.
41
- const room = cachedClasses_1.game.GetRoom();
42
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
38
+ const room = game.GetRoom();
39
+ const roomListIndex = getRoomListIndex();
43
40
  const roomCustomGridEntities = v.level.customGridEntities.get(roomListIndex);
44
41
  if (roomCustomGridEntities === undefined) {
45
42
  return undefined;
@@ -51,18 +48,18 @@ class CustomGridEntities extends Feature_1.Feature {
51
48
  }
52
49
  // If the custom grid entity has collision, then the player should not be able to be standing on
53
50
  // top of it.
54
- if (customGridEntity.gridCollisionClass !== isaac_typescript_definitions_1.GridCollisionClass.NONE) {
51
+ if (customGridEntity.gridCollisionClass !== GridCollisionClass.NONE) {
55
52
  return undefined;
56
53
  }
57
- (0, gridEntities_1.removeGridEntity)(customGridEntity.gridIndex, false);
54
+ removeGridEntity(customGridEntity.gridIndex, false);
58
55
  const entityPtr = EntityPtr(player);
59
56
  this.runInNFrames.runNextGameFrame(() => {
60
- const futurePlayer = (0, players_1.getPlayerFromPtr)(entityPtr);
57
+ const futurePlayer = getPlayerFromPtr(entityPtr);
61
58
  if (futurePlayer === undefined) {
62
59
  return;
63
60
  }
64
61
  v.room.manuallyUsingShovel = true;
65
- futurePlayer.UseActiveItem(isaac_typescript_definitions_1.CollectibleType.WE_NEED_TO_GO_DEEPER);
62
+ futurePlayer.UseActiveItem(CollectibleType.WE_NEED_TO_GO_DEEPER);
66
63
  v.room.manuallyUsingShovel = false;
67
64
  });
68
65
  // Cancel the original effect.
@@ -72,12 +69,12 @@ class CustomGridEntities extends Feature_1.Feature {
72
69
  postNewRoomReordered = () => {
73
70
  // When we re-enter a room, the graphics for any custom entities will be reverted back to that
74
71
  // of a normal decoration. Thus, we must re-apply the anm2.
75
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
72
+ const roomListIndex = getRoomListIndex();
76
73
  const roomCustomGridEntities = v.level.customGridEntities.get(roomListIndex);
77
74
  if (roomCustomGridEntities === undefined) {
78
75
  return;
79
76
  }
80
- const room = cachedClasses_1.game.GetRoom();
77
+ const room = game.GetRoom();
81
78
  for (const [gridIndex, data] of roomCustomGridEntities) {
82
79
  const decoration = room.GetGridEntity(gridIndex);
83
80
  if (decoration === undefined) {
@@ -97,17 +94,17 @@ class CustomGridEntities extends Feature_1.Feature {
97
94
  /** @internal */
98
95
  constructor(runInNFrames) {
99
96
  super();
100
- this.featuresUsed = [ISCFeature_1.ISCFeature.RUN_IN_N_FRAMES];
97
+ this.featuresUsed = [ISCFeature.RUN_IN_N_FRAMES];
101
98
  this.callbacksUsed = [
102
99
  // 23
103
100
  [
104
- isaac_typescript_definitions_1.ModCallback.PRE_USE_ITEM,
101
+ ModCallback.PRE_USE_ITEM,
105
102
  this.preUseItemWeNeedToGoDeeper,
106
- [isaac_typescript_definitions_1.CollectibleType.WE_NEED_TO_GO_DEEPER],
103
+ [CollectibleType.WE_NEED_TO_GO_DEEPER],
107
104
  ],
108
105
  ];
109
106
  this.customCallbacksUsed = [
110
- [ModCallbackCustom_1.ModCallbackCustom.POST_NEW_ROOM_REORDERED, this.postNewRoomReordered],
107
+ [ModCallbackCustom.POST_NEW_ROOM_REORDERED, this.postNewRoomReordered],
111
108
  ];
112
109
  this.runInNFrames = runInNFrames;
113
110
  }
@@ -192,14 +189,14 @@ class CustomGridEntities extends Feature_1.Feature {
192
189
  * this custom grid entity. Default is 0.
193
190
  * @public
194
191
  */
195
- spawnCustomGridEntity(gridEntityTypeCustom, gridIndexOrPosition, gridCollisionClass, anm2Path, defaultAnimation, baseGridEntityType = isaac_typescript_definitions_1.GridEntityType.DECORATION, baseGridEntityVariant = 0) {
196
- const room = cachedClasses_1.game.GetRoom();
197
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
198
- const gridIndex = (0, vector_1.isVector)(gridIndexOrPosition)
192
+ spawnCustomGridEntity(gridEntityTypeCustom, gridIndexOrPosition, gridCollisionClass, anm2Path, defaultAnimation, baseGridEntityType = GridEntityType.DECORATION, baseGridEntityVariant = 0) {
193
+ const room = game.GetRoom();
194
+ const roomListIndex = getRoomListIndex();
195
+ const gridIndex = isVector(gridIndexOrPosition)
199
196
  ? room.GetGridIndex(gridIndexOrPosition)
200
197
  : gridIndexOrPosition;
201
- const customGridEntity = (0, gridEntities_1.spawnGridEntityWithVariant)(baseGridEntityType, baseGridEntityVariant, gridIndexOrPosition);
202
- (0, utils_1.assertDefined)(customGridEntity, "Failed to spawn a custom grid entity.");
198
+ const customGridEntity = spawnGridEntityWithVariant(baseGridEntityType, baseGridEntityVariant, gridIndexOrPosition);
199
+ assertDefined(customGridEntity, "Failed to spawn a custom grid entity.");
203
200
  if (gridCollisionClass !== undefined) {
204
201
  customGridEntity.CollisionClass = gridCollisionClass;
205
202
  }
@@ -241,8 +238,8 @@ class CustomGridEntities extends Feature_1.Feature {
241
238
  * @public
242
239
  */
243
240
  removeCustomGridEntity(gridIndexOrPositionOrGridEntity, updateRoom = true) {
244
- const room = cachedClasses_1.game.GetRoom();
245
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
241
+ const room = game.GetRoom();
242
+ const roomListIndex = getRoomListIndex();
246
243
  let decoration;
247
244
  if (typeof gridIndexOrPositionOrGridEntity === "number") {
248
245
  const gridIndex = gridIndexOrPositionOrGridEntity;
@@ -252,7 +249,7 @@ class CustomGridEntities extends Feature_1.Feature {
252
249
  }
253
250
  decoration = gridEntity;
254
251
  }
255
- else if ((0, vector_1.isVector)(gridIndexOrPositionOrGridEntity)) {
252
+ else if (isVector(gridIndexOrPositionOrGridEntity)) {
256
253
  const position = gridIndexOrPositionOrGridEntity;
257
254
  const gridEntity = room.GetGridEntityFromPos(position);
258
255
  if (gridEntity === undefined) {
@@ -270,7 +267,7 @@ class CustomGridEntities extends Feature_1.Feature {
270
267
  return undefined;
271
268
  }
272
269
  roomCustomGridEntities.delete(gridIndex);
273
- (0, gridEntities_1.removeGridEntity)(decoration, updateRoom);
270
+ removeGridEntity(decoration, updateRoom);
274
271
  return decoration;
275
272
  }
276
273
  /**
@@ -283,12 +280,12 @@ class CustomGridEntities extends Feature_1.Feature {
283
280
  * @public
284
281
  */
285
282
  getCustomGridEntities() {
286
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
283
+ const roomListIndex = getRoomListIndex();
287
284
  const roomCustomGridEntities = v.level.customGridEntities.get(roomListIndex);
288
285
  if (roomCustomGridEntities === undefined) {
289
286
  return [];
290
287
  }
291
- const room = cachedClasses_1.game.GetRoom();
288
+ const room = game.GetRoom();
292
289
  const customGridEntities = [];
293
290
  for (const [gridIndex, data] of roomCustomGridEntities) {
294
291
  const gridEntity = room.GetGridEntity(gridIndex);
@@ -315,10 +312,10 @@ class CustomGridEntities extends Feature_1.Feature {
315
312
  if (!this.initialized) {
316
313
  return undefined;
317
314
  }
318
- const gridIndex = (0, types_1.isInteger)(gridEntityOrGridIndex)
315
+ const gridIndex = isInteger(gridEntityOrGridIndex)
319
316
  ? gridEntityOrGridIndex
320
317
  : gridEntityOrGridIndex.GetGridIndex();
321
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
318
+ const roomListIndex = getRoomListIndex();
322
319
  const roomCustomGridEntities = v.level.customGridEntities.get(roomListIndex);
323
320
  if (roomCustomGridEntities === undefined) {
324
321
  return undefined;
@@ -344,19 +341,18 @@ class CustomGridEntities extends Feature_1.Feature {
344
341
  return gridEntityTypeCustom !== undefined;
345
342
  }
346
343
  }
347
- exports.CustomGridEntities = CustomGridEntities;
348
344
  __decorate([
349
- decorators_1.Exported
345
+ Exported
350
346
  ], CustomGridEntities.prototype, "spawnCustomGridEntity", null);
351
347
  __decorate([
352
- decorators_1.Exported
348
+ Exported
353
349
  ], CustomGridEntities.prototype, "removeCustomGridEntity", null);
354
350
  __decorate([
355
- decorators_1.Exported
351
+ Exported
356
352
  ], CustomGridEntities.prototype, "getCustomGridEntities", null);
357
353
  __decorate([
358
- decorators_1.Exported
354
+ Exported
359
355
  ], CustomGridEntities.prototype, "getCustomGridEntityType", null);
360
356
  __decorate([
361
- decorators_1.Exported
357
+ Exported
362
358
  ], CustomGridEntities.prototype, "isCustomGridEntity", null);