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,43 +1,39 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostHolyMantleRemoved = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const ModCallbackCustom_1 = require("../../enums/ModCallbackCustom");
6
- const frames_1 = require("../../functions/frames");
7
- const playerDataStructures_1 = require("../../functions/playerDataStructures");
8
- const shouldFire_1 = require("../../shouldFire");
9
- const DefaultMap_1 = require("../DefaultMap");
10
- const CustomCallback_1 = require("../private/CustomCallback");
1
+ import { CollectibleType } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { isAfterRoomFrame } from "../../functions/frames";
4
+ import { defaultMapGetPlayer, mapSetPlayer, } from "../../functions/playerDataStructures";
5
+ import { shouldFirePlayer } from "../../shouldFire";
6
+ import { DefaultMap } from "../DefaultMap";
7
+ import { CustomCallback } from "../private/CustomCallback";
11
8
  const v = {
12
9
  run: {
13
- playersHolyMantleMap: new DefaultMap_1.DefaultMap(0),
10
+ playersHolyMantleMap: new DefaultMap(0),
14
11
  },
15
12
  };
16
- class PostHolyMantleRemoved extends CustomCallback_1.CustomCallback {
13
+ export class PostHolyMantleRemoved extends CustomCallback {
17
14
  // ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED
18
15
  postPEffectUpdateReordered = (player) => {
19
16
  const effects = player.GetEffects();
20
- const newNumHolyMantles = effects.GetCollectibleEffectNum(isaac_typescript_definitions_1.CollectibleType.HOLY_MANTLE);
21
- const oldNumHolyMantles = (0, playerDataStructures_1.defaultMapGetPlayer)(v.run.playersHolyMantleMap, player);
22
- (0, playerDataStructures_1.mapSetPlayer)(v.run.playersHolyMantleMap, player, newNumHolyMantles);
17
+ const newNumHolyMantles = effects.GetCollectibleEffectNum(CollectibleType.HOLY_MANTLE);
18
+ const oldNumHolyMantles = defaultMapGetPlayer(v.run.playersHolyMantleMap, player);
19
+ mapSetPlayer(v.run.playersHolyMantleMap, player, newNumHolyMantles);
23
20
  // We check for being after room frame 0 to prevent the callback from firing when the player
24
21
  // loses a lost curse from a white fire. (In this case, the player will have a Holy Mantle
25
22
  // effect from the lost curse, and then when losing the curse, they will also lose the Holy
26
23
  // Mantle.)
27
- if (newNumHolyMantles < oldNumHolyMantles && (0, frames_1.isAfterRoomFrame)(0)) {
24
+ if (newNumHolyMantles < oldNumHolyMantles && isAfterRoomFrame(0)) {
28
25
  this.fire(player, oldNumHolyMantles, newNumHolyMantles);
29
26
  }
30
27
  };
31
28
  v = v;
32
- shouldFire = shouldFire_1.shouldFirePlayer;
29
+ shouldFire = shouldFirePlayer;
33
30
  constructor() {
34
31
  super();
35
32
  this.customCallbacksUsed = [
36
33
  [
37
- ModCallbackCustom_1.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
34
+ ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
38
35
  this.postPEffectUpdateReordered,
39
36
  ],
40
37
  ];
41
38
  }
42
39
  }
43
- exports.PostHolyMantleRemoved = PostHolyMantleRemoved;
@@ -1,38 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostItemDischarge = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const cachedEnumValues_1 = require("../../cachedEnumValues");
6
- const cachedClasses_1 = require("../../core/cachedClasses");
7
- const ModCallbackCustom_1 = require("../../enums/ModCallbackCustom");
8
- const charge_1 = require("../../functions/charge");
9
- const playerDataStructures_1 = require("../../functions/playerDataStructures");
10
- const DefaultMap_1 = require("../DefaultMap");
11
- const CustomCallback_1 = require("../private/CustomCallback");
1
+ import { EntityType, ModCallback, SuckerVariant, } from "isaac-typescript-definitions";
2
+ import { ACTIVE_SLOT_VALUES } from "../../cachedEnumValues";
3
+ import { game } from "../../core/cachedClasses";
4
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
5
+ import { getTotalCharge } from "../../functions/charge";
6
+ import { defaultMapGetPlayer, mapGetPlayer, mapSetPlayer, } from "../../functions/playerDataStructures";
7
+ import { DefaultMap } from "../DefaultMap";
8
+ import { CustomCallback } from "../private/CustomCallback";
12
9
  const v = {
13
10
  run: {
14
- playersActiveItemMap: new DefaultMap_1.DefaultMap(() => new Map()),
15
- playersActiveChargeMap: new DefaultMap_1.DefaultMap(() => new Map()),
11
+ playersActiveItemMap: new DefaultMap(() => new Map()),
12
+ playersActiveChargeMap: new DefaultMap(() => new Map()),
16
13
  },
17
14
  room: {
18
15
  playersBulbLastCollisionFrame: new Map(),
19
16
  },
20
17
  };
21
- class PostItemDischarge extends CustomCallback_1.CustomCallback {
18
+ export class PostItemDischarge extends CustomCallback {
22
19
  // ModCallback.PRE_NPC_COLLISION (30)
23
20
  // EntityType.SUCKER (61)
24
21
  preNPCCollisionSucker = (npc, collider) => {
25
22
  // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
26
- if (npc.Variant === isaac_typescript_definitions_1.SuckerVariant.BULB) {
23
+ if (npc.Variant === SuckerVariant.BULB) {
27
24
  return this.preNPCCollisionBulb(npc, collider);
28
25
  }
29
26
  return undefined;
30
27
  };
31
28
  // ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED
32
29
  postPEffectUpdateReordered = (player) => {
33
- const activeItemMap = (0, playerDataStructures_1.defaultMapGetPlayer)(v.run.playersActiveItemMap, player);
34
- const chargeMap = (0, playerDataStructures_1.defaultMapGetPlayer)(v.run.playersActiveChargeMap, player);
35
- for (const activeSlot of cachedEnumValues_1.ACTIVE_SLOT_VALUES) {
30
+ const activeItemMap = defaultMapGetPlayer(v.run.playersActiveItemMap, player);
31
+ const chargeMap = defaultMapGetPlayer(v.run.playersActiveChargeMap, player);
32
+ for (const activeSlot of ACTIVE_SLOT_VALUES) {
36
33
  const currentActiveItem = player.GetActiveItem();
37
34
  let previousActiveItem = activeItemMap.get(activeSlot);
38
35
  previousActiveItem ??= currentActiveItem;
@@ -42,7 +39,7 @@ class PostItemDischarge extends CustomCallback_1.CustomCallback {
42
39
  // for the discharge callback to fire on this frame.
43
40
  continue;
44
41
  }
45
- const currentCharge = (0, charge_1.getTotalCharge)(player, activeSlot);
42
+ const currentCharge = getTotalCharge(player, activeSlot);
46
43
  let previousCharge = chargeMap.get(activeSlot);
47
44
  previousCharge ??= currentCharge;
48
45
  chargeMap.set(activeSlot, currentCharge);
@@ -67,14 +64,14 @@ class PostItemDischarge extends CustomCallback_1.CustomCallback {
67
64
  this.callbacksUsed = [
68
65
  // 30
69
66
  [
70
- isaac_typescript_definitions_1.ModCallback.PRE_NPC_COLLISION,
67
+ ModCallback.PRE_NPC_COLLISION,
71
68
  this.preNPCCollisionSucker,
72
- [isaac_typescript_definitions_1.EntityType.SUCKER],
69
+ [EntityType.SUCKER],
73
70
  ],
74
71
  ];
75
72
  this.customCallbacksUsed = [
76
73
  [
77
- ModCallbackCustom_1.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
74
+ ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
78
75
  this.postPEffectUpdateReordered,
79
76
  ],
80
77
  ];
@@ -101,19 +98,18 @@ class PostItemDischarge extends CustomCallback_1.CustomCallback {
101
98
  if (player === undefined) {
102
99
  return;
103
100
  }
104
- const gameFrameCount = cachedClasses_1.game.GetFrameCount();
105
- (0, playerDataStructures_1.mapSetPlayer)(v.room.playersBulbLastCollisionFrame, player, gameFrameCount);
101
+ const gameFrameCount = game.GetFrameCount();
102
+ mapSetPlayer(v.room.playersBulbLastCollisionFrame, player, gameFrameCount);
106
103
  }
107
104
  /**
108
105
  * If the player collided with a Bulb on either this frame or the last frame, then assume a zap
109
106
  * has occurred. (We do not want to fire the discharge callback if this is the case.)
110
107
  */
111
108
  playerRecentlyCollidedWithBulb(player) {
112
- const gameFrameCount = cachedClasses_1.game.GetFrameCount();
113
- const bulbLastCollisionFrame = (0, playerDataStructures_1.mapGetPlayer)(v.room.playersBulbLastCollisionFrame, player);
109
+ const gameFrameCount = game.GetFrameCount();
110
+ const bulbLastCollisionFrame = mapGetPlayer(v.room.playersBulbLastCollisionFrame, player);
114
111
  const collidedOnThisFrame = gameFrameCount === bulbLastCollisionFrame;
115
112
  const collidedOnLastFrame = gameFrameCount - 1 === bulbLastCollisionFrame;
116
113
  return collidedOnThisFrame || collidedOnLastFrame;
117
114
  }
118
115
  }
119
- exports.PostItemDischarge = PostItemDischarge;
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostItemPickup = void 0;
4
- const ISCFeature_1 = require("../../enums/ISCFeature");
5
- const shouldFire_1 = require("../../shouldFire");
6
- const CustomCallback_1 = require("../private/CustomCallback");
7
- class PostItemPickup 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 PostItemPickup 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.PostItemPickup = PostItemPickup;
@@ -1,29 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostKeyboardChanged = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const cachedEnumValues_1 = require("../../cachedEnumValues");
6
- const input_1 = require("../../functions/input");
7
- const CustomCallback_1 = require("../private/CustomCallback");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { KEYBOARD_VALUES } from "../../cachedEnumValues";
3
+ import { isKeyboardPressed } from "../../functions/input";
4
+ import { CustomCallback } from "../private/CustomCallback";
8
5
  const v = {
9
6
  run: {
10
7
  pressedKeys: new Set(),
11
8
  },
12
9
  };
13
- class PostKeyboardChanged extends CustomCallback_1.CustomCallback {
10
+ export class PostKeyboardChanged extends CustomCallback {
14
11
  postRender = () => {
15
12
  for (const keyboard of v.run.pressedKeys) {
16
- if ((0, input_1.isKeyboardPressed)(keyboard)) {
13
+ if (isKeyboardPressed(keyboard)) {
17
14
  continue;
18
15
  }
19
16
  v.run.pressedKeys.delete(keyboard);
20
17
  this.fire(keyboard, false);
21
18
  }
22
- for (const keyboard of cachedEnumValues_1.KEYBOARD_VALUES) {
19
+ for (const keyboard of KEYBOARD_VALUES) {
23
20
  if (v.run.pressedKeys.has(keyboard)) {
24
21
  continue;
25
22
  }
26
- if ((0, input_1.isKeyboardPressed)(keyboard)) {
23
+ if (isKeyboardPressed(keyboard)) {
27
24
  v.run.pressedKeys.add(keyboard);
28
25
  this.fire(keyboard, true);
29
26
  }
@@ -40,8 +37,7 @@ class PostKeyboardChanged extends CustomCallback_1.CustomCallback {
40
37
  super();
41
38
  this.callbacksUsed = [
42
39
  // 2
43
- [isaac_typescript_definitions_1.ModCallback.POST_RENDER, this.postRender],
40
+ [ModCallback.POST_RENDER, this.postRender],
44
41
  ];
45
42
  }
46
43
  }
47
- exports.PostKeyboardChanged = PostKeyboardChanged;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostKnifeInitFilter = 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 PostKnifeInitFilter 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 PostKnifeInitFilter extends CustomCallback {
8
5
  // ModCallback.POST_KNIFE_INIT (50)
9
6
  postKnifeInit = (knife) => {
10
7
  this.fire(knife);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireKnife;
9
+ shouldFire = shouldFireKnife;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 50
17
- [isaac_typescript_definitions_1.ModCallback.POST_KNIFE_INIT, this.postKnifeInit],
14
+ [ModCallback.POST_KNIFE_INIT, this.postKnifeInit],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostKnifeInitFilter = PostKnifeInitFilter;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostKnifeInitLate = 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 { shouldFireKnife } 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 PostKnifeInitLate extends CustomCallback_1.CustomCallback {
9
+ export class PostKnifeInitLate extends CustomCallback {
13
10
  // ModCallback.POST_KNIFE_UPDATE (51)
14
11
  postKnifeUpdate = (knife) => {
15
12
  const ptrHash = GetPtrHash(knife);
@@ -19,13 +16,12 @@ class PostKnifeInitLate extends CustomCallback_1.CustomCallback {
19
16
  }
20
17
  };
21
18
  v = v;
22
- shouldFire = shouldFire_1.shouldFireKnife;
19
+ shouldFire = shouldFireKnife;
23
20
  constructor() {
24
21
  super();
25
22
  this.callbacksUsed = [
26
23
  // 51
27
- [isaac_typescript_definitions_1.ModCallback.POST_KNIFE_UPDATE, this.postKnifeUpdate],
24
+ [ModCallback.POST_KNIFE_UPDATE, this.postKnifeUpdate],
28
25
  ];
29
26
  }
30
27
  }
31
- exports.PostKnifeInitLate = PostKnifeInitLate;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostKnifeRenderFilter = 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 PostKnifeRenderFilter 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 PostKnifeRenderFilter extends CustomCallback {
8
5
  // ModCallback.POST_KNIFE_RENDER (52)
9
6
  postKnifeRender = (knife, renderOffset) => {
10
7
  this.fire(knife, renderOffset);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireKnife;
9
+ shouldFire = shouldFireKnife;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 52
17
- [isaac_typescript_definitions_1.ModCallback.POST_KNIFE_RENDER, this.postKnifeRender],
14
+ [ModCallback.POST_KNIFE_RENDER, this.postKnifeRender],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostKnifeRenderFilter = PostKnifeRenderFilter;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostKnifeUpdateFilter = 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 PostKnifeUpdateFilter 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 PostKnifeUpdateFilter extends CustomCallback {
8
5
  // ModCallback.POST_KNIFE_UPDATE (51)
9
6
  postKnifeUpdate = (knife) => {
10
7
  this.fire(knife);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireKnife;
9
+ shouldFire = shouldFireKnife;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 51
17
- [isaac_typescript_definitions_1.ModCallback.POST_KNIFE_UPDATE, this.postKnifeUpdate],
14
+ [ModCallback.POST_KNIFE_UPDATE, this.postKnifeUpdate],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostKnifeUpdateFilter = PostKnifeUpdateFilter;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostLaserInitFilter = 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 PostLaserInitFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireLaser } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PostLaserInitFilter extends CustomCallback {
8
5
  // ModCallback.POST_LASER_INIT (47)
9
6
  postLaserInit = (laser) => {
10
7
  this.fire(laser);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireLaser;
9
+ shouldFire = shouldFireLaser;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 47
17
- [isaac_typescript_definitions_1.ModCallback.POST_LASER_INIT, this.postLaserInit],
14
+ [ModCallback.POST_LASER_INIT, this.postLaserInit],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostLaserInitFilter = PostLaserInitFilter;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostLaserInitLate = 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 { shouldFireLaser } 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 PostLaserInitLate extends CustomCallback_1.CustomCallback {
9
+ export class PostLaserInitLate extends CustomCallback {
13
10
  // ModCallback.POST_LASER_UPDATE (48)
14
11
  postLaserUpdate = (laser) => {
15
12
  const index = GetPtrHash(laser);
@@ -19,13 +16,12 @@ class PostLaserInitLate extends CustomCallback_1.CustomCallback {
19
16
  }
20
17
  };
21
18
  v = v;
22
- shouldFire = shouldFire_1.shouldFireLaser;
19
+ shouldFire = shouldFireLaser;
23
20
  constructor() {
24
21
  super();
25
22
  this.callbacksUsed = [
26
23
  // 48
27
- [isaac_typescript_definitions_1.ModCallback.POST_LASER_UPDATE, this.postLaserUpdate],
24
+ [ModCallback.POST_LASER_UPDATE, this.postLaserUpdate],
28
25
  ];
29
26
  }
30
27
  }
31
- exports.PostLaserInitLate = PostLaserInitLate;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostLaserRenderFilter = 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 PostLaserRenderFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireLaser } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PostLaserRenderFilter extends CustomCallback {
8
5
  // ModCallback.POST_LASER_RENDER (49)
9
6
  postLaserRender = (laser, renderOffset) => {
10
7
  this.fire(laser, renderOffset);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireLaser;
9
+ shouldFire = shouldFireLaser;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 49
17
- [isaac_typescript_definitions_1.ModCallback.POST_LASER_RENDER, this.postLaserRender],
14
+ [ModCallback.POST_LASER_RENDER, this.postLaserRender],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostLaserRenderFilter = PostLaserRenderFilter;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostLaserUpdateFilter = 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 PostLaserUpdateFilter extends CustomCallback_1.CustomCallback {
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { shouldFireLaser } from "../../shouldFire";
3
+ import { CustomCallback } from "../private/CustomCallback";
4
+ export class PostLaserUpdateFilter extends CustomCallback {
8
5
  // ModCallback.POST_LASER_UPDATE (48)
9
6
  postLaserUpdate = (laser) => {
10
7
  this.fire(laser);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireLaser;
9
+ shouldFire = shouldFireLaser;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 48
17
- [isaac_typescript_definitions_1.ModCallback.POST_LASER_UPDATE, this.postLaserUpdate],
14
+ [ModCallback.POST_LASER_UPDATE, this.postLaserUpdate],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostLaserUpdateFilter = PostLaserUpdateFilter;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostNPCDeathFilter = 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 PostNPCDeathFilter 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 PostNPCDeathFilter extends CustomCallback {
8
5
  // ModCallback.POST_NPC_DEATH (29)
9
6
  postNPCDeath = (npc) => {
10
7
  this.fire(npc);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireNPC;
9
+ shouldFire = shouldFireNPC;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 29
17
- [isaac_typescript_definitions_1.ModCallback.POST_NPC_DEATH, this.postNPCDeath],
14
+ [ModCallback.POST_NPC_DEATH, this.postNPCDeath],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostNPCDeathFilter = PostNPCDeathFilter;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostNPCInitFilter = 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 PostNPCInitFilter 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 PostNPCInitFilter extends CustomCallback {
8
5
  // ModCallback.POST_NPC_INIT (27)
9
6
  postNPCInit = (npc) => {
10
7
  this.fire(npc);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireNPC;
9
+ shouldFire = shouldFireNPC;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 27
17
- [isaac_typescript_definitions_1.ModCallback.POST_NPC_INIT, this.postNPCInit],
14
+ [ModCallback.POST_NPC_INIT, this.postNPCInit],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostNPCInitFilter = PostNPCInitFilter;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostNPCInitLate = 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 { shouldFireNPC } 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 PostNPCInitLate extends CustomCallback_1.CustomCallback {
9
+ export class PostNPCInitLate extends CustomCallback {
13
10
  // ModCallback.POST_NPC_UPDATE (0)
14
11
  postNPCUpdate = (npc) => {
15
12
  const index = GetPtrHash(npc);
@@ -19,13 +16,12 @@ class PostNPCInitLate extends CustomCallback_1.CustomCallback {
19
16
  }
20
17
  };
21
18
  v = v;
22
- shouldFire = shouldFire_1.shouldFireNPC;
19
+ shouldFire = shouldFireNPC;
23
20
  constructor() {
24
21
  super();
25
22
  this.callbacksUsed = [
26
23
  // 0
27
- [isaac_typescript_definitions_1.ModCallback.POST_NPC_UPDATE, this.postNPCUpdate],
24
+ [ModCallback.POST_NPC_UPDATE, this.postNPCUpdate],
28
25
  ];
29
26
  }
30
27
  }
31
- exports.PostNPCInitLate = PostNPCInitLate;
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostNPCRenderFilter = 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 PostNPCRenderFilter 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 PostNPCRenderFilter extends CustomCallback {
8
5
  // ModCallback.POST_NPC_RENDER (28)
9
6
  postNPCRender = (npc, renderOffset) => {
10
7
  this.fire(npc, renderOffset);
11
8
  };
12
- shouldFire = shouldFire_1.shouldFireNPC;
9
+ shouldFire = shouldFireNPC;
13
10
  constructor() {
14
11
  super();
15
12
  this.callbacksUsed = [
16
13
  // 28
17
- [isaac_typescript_definitions_1.ModCallback.POST_NPC_RENDER, this.postNPCRender],
14
+ [ModCallback.POST_NPC_RENDER, this.postNPCRender],
18
15
  ];
19
16
  }
20
17
  }
21
- exports.PostNPCRenderFilter = PostNPCRenderFilter;