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,18 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModUpgraded = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const callbacks_1 = require("../callbacks");
6
- const decorators_1 = require("../decorators");
7
- const ISCFeature_1 = require("../enums/ISCFeature");
8
- const ModCallbackCustom_1 = require("../enums/ModCallbackCustom");
9
- const features_1 = require("../features");
10
- const debugFunctions_1 = require("../functions/debugFunctions");
11
- const enums_1 = require("../functions/enums");
12
- const log_1 = require("../functions/log");
13
- const tstlClass_1 = require("../functions/tstlClass");
14
- const types_1 = require("../functions/types");
15
- const utils_1 = require("../functions/utils");
1
+ import { CallbackPriority, ModCallback } from "isaac-typescript-definitions";
2
+ import { getCallbacks } from "../callbacks";
3
+ import { EXPORTED_METHOD_NAMES_KEY } from "../decorators";
4
+ import { ISCFeature } from "../enums/ISCFeature";
5
+ import { ModCallbackCustom } from "../enums/ModCallbackCustom";
6
+ import { getFeatures } from "../features";
7
+ import { getElapsedTimeSince, getTime } from "../functions/debugFunctions";
8
+ import { isEnumValue } from "../functions/enums";
9
+ import { getParentFunctionDescription, log } from "../functions/log";
10
+ import { getTSTLClassConstructor, getTSTLClassName, } from "../functions/tstlClass";
11
+ import { parseIntSafe } from "../functions/types";
12
+ import { assertDefined } from "../functions/utils";
16
13
  /**
17
14
  * `isaacscript-common` has many custom callbacks that you can use in your mods. Instead of
18
15
  * hijacking the vanilla `Mod` object, we provide a `ModUpgraded` object for you to use, which
@@ -24,7 +21,7 @@ const utils_1 = require("../functions/utils");
24
21
  * `ModUpgraded` that has extra methods corresponding to the features that were specified. (This
25
22
  * corresponds to the internal-type `ModUpgradedWithFeatures` type, which extends `ModUpgraded`.)
26
23
  */
27
- class ModUpgraded {
24
+ export class ModUpgraded {
28
25
  // ----------------
29
26
  // Custom variables
30
27
  // ----------------
@@ -46,8 +43,8 @@ class ModUpgraded {
46
43
  this.mod = mod;
47
44
  this.debug = debug;
48
45
  this.timeThreshold = timeThreshold;
49
- this.callbacks = (0, callbacks_1.getCallbacks)();
50
- this.features = (0, features_1.getFeatures)(this, this.callbacks);
46
+ this.callbacks = getCallbacks();
47
+ this.features = getFeatures(this, this.callbacks);
51
48
  }
52
49
  // ----------------------
53
50
  // Custom private methods
@@ -65,9 +62,9 @@ class ModUpgraded {
65
62
  feature.initialized = true;
66
63
  if (feature.v !== undefined) {
67
64
  feature.featuresUsed ??= [];
68
- if (!feature.featuresUsed.includes(ISCFeature_1.ISCFeature.SAVE_DATA_MANAGER)) {
65
+ if (!feature.featuresUsed.includes(ISCFeature.SAVE_DATA_MANAGER)) {
69
66
  // eslint-disable-next-line unicorn/no-array-front-mutation
70
- feature.featuresUsed.unshift(ISCFeature_1.ISCFeature.SAVE_DATA_MANAGER);
67
+ feature.featuresUsed.unshift(ISCFeature.SAVE_DATA_MANAGER);
71
68
  }
72
69
  }
73
70
  if (feature.featuresUsed !== undefined) {
@@ -80,20 +77,20 @@ class ModUpgraded {
80
77
  for (const callbackTuple of feature.callbacksUsed) {
81
78
  const [modCallback, callbackFunc, optionalArgs] = callbackTuple;
82
79
  // TypeScript is not smart enough to know that the arguments match the function.
83
- this.AddPriorityCallback(modCallback, isaac_typescript_definitions_1.CallbackPriority.IMPORTANT, callbackFunc, ...(optionalArgs ?? []));
80
+ this.AddPriorityCallback(modCallback, CallbackPriority.IMPORTANT, callbackFunc, ...(optionalArgs ?? []));
84
81
  }
85
82
  }
86
83
  if (feature.customCallbacksUsed !== undefined) {
87
84
  for (const callbackTuple of feature.customCallbacksUsed) {
88
85
  const [modCallback, callbackFunc, optionalArgs] = callbackTuple;
89
86
  // TypeScript is not smart enough to know that the arguments match the function.
90
- this.AddPriorityCallbackCustom(modCallback, isaac_typescript_definitions_1.CallbackPriority.IMPORTANT, callbackFunc, ...(optionalArgs ?? []));
87
+ this.AddPriorityCallbackCustom(modCallback, CallbackPriority.IMPORTANT, callbackFunc, ...(optionalArgs ?? []));
91
88
  }
92
89
  }
93
90
  if (feature.v !== undefined) {
94
- const className = (0, tstlClass_1.getTSTLClassName)(feature);
95
- (0, utils_1.assertDefined)(className, "Failed to get the name of a feature.");
96
- const saveDataManagerClass = this.features[ISCFeature_1.ISCFeature.SAVE_DATA_MANAGER];
91
+ const className = getTSTLClassName(feature);
92
+ assertDefined(className, "Failed to get the name of a feature.");
93
+ const saveDataManagerClass = this.features[ISCFeature.SAVE_DATA_MANAGER];
97
94
  saveDataManagerClass.saveDataManager(className, feature.v, feature.vConditionalFunc);
98
95
  }
99
96
  }
@@ -104,11 +101,11 @@ class ModUpgraded {
104
101
  */
105
102
  uninitFeature(feature) {
106
103
  if (feature.numConsumers <= 0) {
107
- const className = (0, tstlClass_1.getTSTLClassName)(feature) ?? "unknown";
104
+ const className = getTSTLClassName(feature) ?? "unknown";
108
105
  error(`Failed to uninit feature "${className}" since it has ${feature.numConsumers} consumers, which should never happen.`);
109
106
  }
110
107
  if (!feature.initialized) {
111
- const className = (0, tstlClass_1.getTSTLClassName)(feature) ?? "unknown";
108
+ const className = getTSTLClassName(feature) ?? "unknown";
112
109
  error(`Failed to uninit feature "${className}" since it was not initialized, which should never happen.`);
113
110
  }
114
111
  feature.numConsumers--;
@@ -135,9 +132,9 @@ class ModUpgraded {
135
132
  }
136
133
  }
137
134
  if (feature.v !== undefined) {
138
- const className = (0, tstlClass_1.getTSTLClassName)(feature);
139
- (0, utils_1.assertDefined)(className, "Failed to get the name of a feature.");
140
- const saveDataManagerClass = this.features[ISCFeature_1.ISCFeature.SAVE_DATA_MANAGER];
135
+ const className = getTSTLClassName(feature);
136
+ assertDefined(className, "Failed to get the name of a feature.");
137
+ const saveDataManagerClass = this.features[ISCFeature.SAVE_DATA_MANAGER];
141
138
  saveDataManagerClass.saveDataManagerRemove(className);
142
139
  }
143
140
  }
@@ -156,17 +153,17 @@ class ModUpgraded {
156
153
  // Vanilla methods
157
154
  // ---------------
158
155
  AddCallback(modCallback, ...args) {
159
- this.AddPriorityCallback(modCallback, isaac_typescript_definitions_1.CallbackPriority.DEFAULT, ...args);
156
+ this.AddPriorityCallback(modCallback, CallbackPriority.DEFAULT, ...args);
160
157
  }
161
158
  AddPriorityCallback(modCallback, priority, ...args) {
162
159
  if (this.debug) {
163
160
  const callback = args[0];
164
161
  const optionalArg = args[1];
165
- const parentFunctionDescription = (0, log_1.getParentFunctionDescription)();
162
+ const parentFunctionDescription = getParentFunctionDescription();
166
163
  const customCallback = type(modCallback) === "string";
167
164
  const callbackName = customCallback
168
165
  ? `${modCallback} (custom callback)`
169
- : `ModCallback.${isaac_typescript_definitions_1.ModCallback[modCallback]}`;
166
+ : `ModCallback.${ModCallback[modCallback]}`;
170
167
  const signature = parentFunctionDescription === undefined
171
168
  ? callbackName
172
169
  : `${parentFunctionDescription} - ${callbackName}`;
@@ -178,13 +175,13 @@ class ModUpgraded {
178
175
  // @ts-expect-error The compiler is not smart enough to know that the callback args should
179
176
  // match the callback.
180
177
  ...callbackArgs) => {
181
- const startTime = (0, debugFunctions_1.getTime)();
178
+ const startTime = getTime();
182
179
  Isaac.DebugString(`${signature} - START`);
183
180
  // @ts-expect-error The compiler is not smart enough to know that the callback args should
184
181
  // match the callback.
185
182
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
186
183
  const returnValue = callback(...callbackArgs);
187
- const elapsedTime = (0, debugFunctions_1.getElapsedTimeSince)(startTime);
184
+ const elapsedTime = getElapsedTimeSince(startTime);
188
185
  if (this.timeThreshold === undefined
189
186
  || this.timeThreshold <= elapsedTime) {
190
187
  Isaac.DebugString(`${signature} - END - time: ${elapsedTime}`);
@@ -230,7 +227,7 @@ class ModUpgraded {
230
227
  * explodes.
231
228
  */
232
229
  AddCallbackCustom(modCallbackCustom, ...args) {
233
- this.AddPriorityCallbackCustom(modCallbackCustom, isaac_typescript_definitions_1.CallbackPriority.DEFAULT, ...args);
230
+ this.AddPriorityCallbackCustom(modCallbackCustom, CallbackPriority.DEFAULT, ...args);
234
231
  }
235
232
  /**
236
233
  * The same as the `ModUpgraded.AddCallbackCustom` method, but allows setting a custom priority.
@@ -270,28 +267,27 @@ class ModUpgraded {
270
267
  if (callbackClass.numConsumers === 0) {
271
268
  continue;
272
269
  }
273
- const modCallbackCustom = (0, types_1.parseIntSafe)(modCallbackCustomString);
274
- (0, utils_1.assertDefined)(modCallbackCustom, `Failed to convert the string "${modCallbackCustomString}" representing a "ModCallbackCustom" value to a number.`);
275
- if (!(0, enums_1.isEnumValue)(modCallbackCustom, ModCallbackCustom_1.ModCallbackCustom)) {
270
+ const modCallbackCustom = parseIntSafe(modCallbackCustomString);
271
+ assertDefined(modCallbackCustom, `Failed to convert the string "${modCallbackCustomString}" representing a "ModCallbackCustom" value to a number.`);
272
+ if (!isEnumValue(modCallbackCustom, ModCallbackCustom)) {
276
273
  error(`Failed to convert the number ${modCallbackCustom} to a "ModCallbackCustom" value.`);
277
274
  }
278
- (0, log_1.log)(`- ModCallbackCustom.${ModCallbackCustom_1.ModCallbackCustom[modCallbackCustom]} (${modCallbackCustom})`);
275
+ log(`- ModCallbackCustom.${ModCallbackCustom[modCallbackCustom]} (${modCallbackCustom})`);
279
276
  }
280
277
  // Extra features
281
278
  for (const [iscFeatureString, featureClass] of Object.entries(this.features)) {
282
279
  if (featureClass.numConsumers === 0) {
283
280
  continue;
284
281
  }
285
- const iscFeature = (0, types_1.parseIntSafe)(iscFeatureString);
286
- (0, utils_1.assertDefined)(iscFeature, `Failed to convert the string "${iscFeatureString}" representing a "ISCFeature" value to a number.`);
287
- if (!(0, enums_1.isEnumValue)(iscFeature, ISCFeature_1.ISCFeature)) {
282
+ const iscFeature = parseIntSafe(iscFeatureString);
283
+ assertDefined(iscFeature, `Failed to convert the string "${iscFeatureString}" representing a "ISCFeature" value to a number.`);
284
+ if (!isEnumValue(iscFeature, ISCFeature)) {
288
285
  error(`Failed to convert the number ${iscFeature} to a "ISCFeature" value.`);
289
286
  }
290
- (0, log_1.log)(`- ISCFeature.${ISCFeature_1.ISCFeature[iscFeature]} (${iscFeature})`);
287
+ log(`- ISCFeature.${ISCFeature[iscFeature]} (${iscFeature})`);
291
288
  }
292
289
  }
293
290
  }
294
- exports.ModUpgraded = ModUpgraded;
295
291
  /**
296
292
  * In this context, "exported" methods are methods that are annotated with the "@Exported"
297
293
  * decorator, which signify that the method should be attached to the `ModUpgraded` class.
@@ -300,8 +296,8 @@ exports.ModUpgraded = ModUpgraded;
300
296
  * decorator.
301
297
  */
302
298
  function getExportedMethodsFromFeature(featureClass) {
303
- const constructor = (0, tstlClass_1.getTSTLClassConstructor)(featureClass);
304
- const exportedMethodNames = constructor[decorators_1.EXPORTED_METHOD_NAMES_KEY];
299
+ const constructor = getTSTLClassConstructor(featureClass);
300
+ const exportedMethodNames = constructor[EXPORTED_METHOD_NAMES_KEY];
305
301
  if (exportedMethodNames === undefined) {
306
302
  return [];
307
303
  }
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityTakeDmgFilter = 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 EntityTakeDmgFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireEntity } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class EntityTakeDmgFilter extends CustomCallback {
8
5
  // ModCallback.ENTITY_TAKE_DMG (11)
9
6
  entityTakeDmg = (entity, amount, damageFlags, source, countdownFrames) => this.fire(entity, amount, damageFlags, source, countdownFrames);
10
- shouldFire = shouldFire_1.shouldFireEntity;
7
+ shouldFire = shouldFireEntity;
11
8
  constructor() {
12
9
  super();
13
10
  this.callbacksUsed = [
14
11
  // 11
15
- [isaac_typescript_definitions_1.ModCallback.ENTITY_TAKE_DMG, this.entityTakeDmg],
12
+ [ModCallback.ENTITY_TAKE_DMG, this.entityTakeDmg],
16
13
  ];
17
14
  }
18
15
  }
19
- exports.EntityTakeDmgFilter = EntityTakeDmgFilter;
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityTakeDmgPlayer = 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 EntityTakeDmgPlayer extends CustomCallback_1.CustomCallback {
1
+ import { EntityType, ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFirePlayer } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class EntityTakeDmgPlayer extends CustomCallback {
8
5
  // ModCallback.ENTITY_TAKE_DMG (11)
9
6
  entityTakeDmgPlayer = (entity, amount, damageFlags, source, countdownFrames) => {
10
7
  const player = entity.ToPlayer();
@@ -13,17 +10,16 @@ class EntityTakeDmgPlayer extends CustomCallback_1.CustomCallback {
13
10
  }
14
11
  return this.fire(player, amount, damageFlags, source, countdownFrames);
15
12
  };
16
- shouldFire = shouldFire_1.shouldFirePlayer;
13
+ shouldFire = shouldFirePlayer;
17
14
  constructor() {
18
15
  super();
19
16
  this.callbacksUsed = [
20
17
  // 11
21
18
  [
22
- isaac_typescript_definitions_1.ModCallback.ENTITY_TAKE_DMG,
19
+ ModCallback.ENTITY_TAKE_DMG,
23
20
  this.entityTakeDmgPlayer,
24
- [isaac_typescript_definitions_1.EntityType.PLAYER],
21
+ [EntityType.PLAYER],
25
22
  ],
26
23
  ];
27
24
  }
28
25
  }
29
- exports.EntityTakeDmgPlayer = EntityTakeDmgPlayer;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InputActionFilter = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const CustomCallback_1 = require("../private/CustomCallback");
6
- class InputActionFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { CustomCallback } from "../private/CustomCallback";
3
+ export class InputActionFilter extends CustomCallback {
7
4
  // ModCallback.INPUT_ACTION (13)
8
5
  inputAction = (entity, inputHook, buttonAction) => this.fire(entity, inputHook, buttonAction);
9
6
  shouldFire = (fireArgs, optionalArgs) => {
@@ -17,8 +14,7 @@ class InputActionFilter extends CustomCallback_1.CustomCallback {
17
14
  super();
18
15
  this.callbacksUsed = [
19
16
  // 13
20
- [isaac_typescript_definitions_1.ModCallback.INPUT_ACTION, this.inputAction],
17
+ [ModCallback.INPUT_ACTION, this.inputAction],
21
18
  ];
22
19
  }
23
20
  }
24
- exports.InputActionFilter = InputActionFilter;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InputActionPlayer = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const CustomCallback_1 = require("../private/CustomCallback");
6
- class InputActionPlayer extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { CustomCallback } from "../private/CustomCallback";
3
+ export class InputActionPlayer extends CustomCallback {
7
4
  // ModCallback.INPUT_ACTION (13)
8
5
  inputAction = (entity, inputHook, buttonAction) => {
9
6
  if (entity === undefined) {
@@ -30,8 +27,7 @@ class InputActionPlayer extends CustomCallback_1.CustomCallback {
30
27
  super();
31
28
  this.callbacksUsed = [
32
29
  // 13
33
- [isaac_typescript_definitions_1.ModCallback.INPUT_ACTION, this.inputAction],
30
+ [ModCallback.INPUT_ACTION, this.inputAction],
34
31
  ];
35
32
  }
36
33
  }
37
- exports.InputActionPlayer = InputActionPlayer;
@@ -1,40 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostAmbushFinished = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const cachedClasses_1 = require("../../core/cachedClasses");
6
- const ambush_1 = require("../../functions/ambush");
7
- const shouldFire_1 = require("../../shouldFire");
8
- const CustomCallback_1 = require("../private/CustomCallback");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { game } from "../../core/cachedClasses";
3
+ import { getAmbushType } from "../../functions/ambush";
4
+ import { shouldFireAmbush } from "../../shouldFire";
5
+ import { CustomCallback } from "../private/CustomCallback";
9
6
  const v = {
10
7
  room: {
11
8
  ambushDone: false,
12
9
  },
13
10
  };
14
- class PostAmbushFinished extends CustomCallback_1.CustomCallback {
11
+ export class PostAmbushFinished extends CustomCallback {
15
12
  postUpdate = () => {
16
13
  if (v.room.ambushDone) {
17
14
  return;
18
15
  }
19
- const room = cachedClasses_1.game.GetRoom();
16
+ const room = game.GetRoom();
20
17
  const ambushDone = room.IsAmbushDone();
21
18
  if (!ambushDone) {
22
19
  return;
23
20
  }
24
21
  v.room.ambushDone = true;
25
- const ambushType = (0, ambush_1.getAmbushType)();
22
+ const ambushType = getAmbushType();
26
23
  if (ambushType !== undefined) {
27
24
  this.fire(ambushType);
28
25
  }
29
26
  };
30
27
  v = v;
31
- shouldFire = shouldFire_1.shouldFireAmbush;
28
+ shouldFire = shouldFireAmbush;
32
29
  constructor() {
33
30
  super();
34
31
  this.callbacksUsed = [
35
32
  // 1
36
- [isaac_typescript_definitions_1.ModCallback.POST_UPDATE, this.postUpdate],
33
+ [ModCallback.POST_UPDATE, this.postUpdate],
37
34
  ];
38
35
  }
39
36
  }
40
- exports.PostAmbushFinished = PostAmbushFinished;
@@ -1,40 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostAmbushStarted = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const cachedClasses_1 = require("../../core/cachedClasses");
6
- const ambush_1 = require("../../functions/ambush");
7
- const shouldFire_1 = require("../../shouldFire");
8
- const CustomCallback_1 = require("../private/CustomCallback");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { game } from "../../core/cachedClasses";
3
+ import { getAmbushType } from "../../functions/ambush";
4
+ import { shouldFireAmbush } from "../../shouldFire";
5
+ import { CustomCallback } from "../private/CustomCallback";
9
6
  const v = {
10
7
  room: {
11
8
  ambushActive: false,
12
9
  },
13
10
  };
14
- class PostAmbushStarted extends CustomCallback_1.CustomCallback {
11
+ export class PostAmbushStarted extends CustomCallback {
15
12
  postUpdate = () => {
16
13
  if (v.room.ambushActive) {
17
14
  return;
18
15
  }
19
- const room = cachedClasses_1.game.GetRoom();
16
+ const room = game.GetRoom();
20
17
  const ambushActive = room.IsAmbushActive();
21
18
  if (!ambushActive) {
22
19
  return;
23
20
  }
24
21
  v.room.ambushActive = true;
25
- const ambushType = (0, ambush_1.getAmbushType)();
22
+ const ambushType = getAmbushType();
26
23
  if (ambushType !== undefined) {
27
24
  this.fire(ambushType);
28
25
  }
29
26
  };
30
27
  v = v;
31
- shouldFire = shouldFire_1.shouldFireAmbush;
28
+ shouldFire = shouldFireAmbush;
32
29
  constructor() {
33
30
  super();
34
31
  this.callbacksUsed = [
35
32
  // 1
36
- [isaac_typescript_definitions_1.ModCallback.POST_UPDATE, this.postUpdate],
33
+ [ModCallback.POST_UPDATE, this.postUpdate],
37
34
  ];
38
35
  }
39
36
  }
40
- exports.PostAmbushStarted = PostAmbushStarted;
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostBombExploded = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const constants_1 = require("../../core/constants");
6
- const shouldFire_1 = require("../../shouldFire");
7
- const CustomCallback_1 = require("../private/CustomCallback");
8
- class PostBombExploded extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { BOMB_EXPLODE_FRAME } from "../../core/constants";
3
+ import { shouldFireBomb } from "../../shouldFire";
4
+ import { CustomCallback } from "../private/CustomCallback";
5
+ export class PostBombExploded extends CustomCallback {
9
6
  // ModCallback.POST_BOMB_UPDATE (58)
10
7
  postBombUpdate = (bomb) => {
11
- if (bomb.FrameCount === constants_1.BOMB_EXPLODE_FRAME) {
8
+ if (bomb.FrameCount === BOMB_EXPLODE_FRAME) {
12
9
  this.fire(bomb);
13
10
  }
14
11
  };
15
- shouldFire = shouldFire_1.shouldFireBomb;
12
+ shouldFire = shouldFireBomb;
16
13
  constructor() {
17
14
  super();
18
15
  this.callbacksUsed = [
19
16
  // 58
20
- [isaac_typescript_definitions_1.ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
17
+ [ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
21
18
  ];
22
19
  }
23
20
  }
24
- exports.PostBombExploded = PostBombExploded;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostBombInitFilter = 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 PostBombInitFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireBomb } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PostBombInitFilter extends CustomCallback {
8
5
  // ModCallback.POST_BOMB_INIT (57)
9
6
  postBombInit = (bomb) => {
10
7
  this.fire(bomb);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireBomb;
9
+ shouldFire = shouldFireBomb;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 57
17
- [isaac_typescript_definitions_1.ModCallback.POST_BOMB_INIT, this.postBombInit],
14
+ [ModCallback.POST_BOMB_INIT, this.postBombInit],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostBombInitFilter = PostBombInitFilter;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostBombInitLate = 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");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireBomb } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
7
4
  const v = {
8
5
  room: {
9
6
  firedSet: new Set(),
10
7
  },
11
8
  };
12
- class PostBombInitLate extends CustomCallback_1.CustomCallback {
9
+ export class PostBombInitLate extends CustomCallback {
13
10
  // ModCallback.POST_BOMB_UPDATE (58)
14
11
  postBombUpdate = (bomb) => {
15
12
  const ptrHash = GetPtrHash(bomb);
@@ -19,13 +16,12 @@ class PostBombInitLate extends CustomCallback_1.CustomCallback {
19
16
  }
20
17
  };
21
18
  v = v;
22
- shouldFire = shouldFire_1.shouldFireBomb;
19
+ shouldFire = shouldFireBomb;
23
20
  constructor() {
24
21
  super();
25
22
  this.callbacksUsed = [
26
23
  // 58
27
- [isaac_typescript_definitions_1.ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
24
+ [ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
28
25
  ];
29
26
  }
30
27
  }
31
- exports.PostBombInitLate = PostBombInitLate;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostBombRenderFilter = 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 PostBombRenderFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireBomb } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PostBombRenderFilter extends CustomCallback {
8
5
  // ModCallback.POST_BOMB_RENDER (59)
9
6
  postBombUpdate = (bomb, renderOffset) => {
10
7
  this.fire(bomb, renderOffset);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireBomb;
9
+ shouldFire = shouldFireBomb;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 59
17
- [isaac_typescript_definitions_1.ModCallback.POST_BOMB_RENDER, this.postBombUpdate],
14
+ [ModCallback.POST_BOMB_RENDER, this.postBombUpdate],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostBombRenderFilter = PostBombRenderFilter;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostBombUpdateFilter = 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 PostBombUpdateFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireBomb } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PostBombUpdateFilter extends CustomCallback {
8
5
  // ModCallback.POST_BOMB_UPDATE (58)
9
6
  postBombUpdate = (bomb) => {
10
7
  this.fire(bomb);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireBomb;
9
+ shouldFire = shouldFireBomb;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 58
17
- [isaac_typescript_definitions_1.ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
14
+ [ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostBombUpdateFilter = PostBombUpdateFilter;
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostBoneSwing = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const ReadonlySet_1 = require("../../types/ReadonlySet");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- const BONE_SWING_ANIMATIONS = new ReadonlySet_1.ReadonlySet([
1
+ import { KnifeVariant, ModCallback } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../../types/ReadonlySet";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ const BONE_SWING_ANIMATIONS = new ReadonlySet([
8
5
  "Swing",
9
6
  "Swing2",
10
7
  "Spin",
@@ -14,12 +11,12 @@ const v = {
14
11
  boneClubAnimations: new Map(),
15
12
  },
16
13
  };
17
- class PostBoneSwing extends CustomCallback_1.CustomCallback {
14
+ export class PostBoneSwing extends CustomCallback {
18
15
  // ModCallback.POST_KNIFE_RENDER (52)
19
16
  postKnifeRender = (knife) => {
20
17
  // The tertiary argument of the `POST_KNIFE_RENDER` callback takes sub-types instead of knife
21
18
  // variants.
22
- if (knife.Variant === isaac_typescript_definitions_1.KnifeVariant.BONE_CLUB) {
19
+ if (knife.Variant === KnifeVariant.BONE_CLUB) {
23
20
  this.postKnifeRenderBoneClub(knife);
24
21
  }
25
22
  };
@@ -28,7 +25,7 @@ class PostBoneSwing extends CustomCallback_1.CustomCallback {
28
25
  super();
29
26
  this.callbacksUsed = [
30
27
  // 52
31
- [isaac_typescript_definitions_1.ModCallback.POST_KNIFE_RENDER, this.postKnifeRender],
28
+ [ModCallback.POST_KNIFE_RENDER, this.postKnifeRender],
32
29
  ];
33
30
  }
34
31
  // ModCallback.POST_KNIFE_RENDER (52)
@@ -50,4 +47,3 @@ class PostBoneSwing extends CustomCallback_1.CustomCallback {
50
47
  }
51
48
  }
52
49
  }
53
- exports.PostBoneSwing = PostBoneSwing;