isaacscript-common 87.9.7 → 87.10.0

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 (567) 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/index.rollup.d.ts +11 -11
  387. package/dist/indexLua.js +151 -167
  388. package/dist/interfaces/ChargeBarSprites.js +1 -2
  389. package/dist/interfaces/Corner.js +1 -2
  390. package/dist/interfaces/CustomStageTSConfig.js +1 -2
  391. package/dist/interfaces/GridEntityCustomData.js +1 -2
  392. package/dist/interfaces/JSONRoomsFile.js +1 -2
  393. package/dist/interfaces/PlayerHealth.d.ts +11 -11
  394. package/dist/interfaces/PlayerHealth.d.ts.map +1 -1
  395. package/dist/interfaces/PlayerHealth.js +1 -2
  396. package/dist/interfaces/PlayerStats.js +2 -4
  397. package/dist/interfaces/PocketItemDescription.js +1 -2
  398. package/dist/interfaces/RoomDescription.js +1 -2
  399. package/dist/interfaces/SaveData.js +1 -2
  400. package/dist/interfaces/StageHistoryEntry.js +1 -2
  401. package/dist/interfaces/TSTLClassMetatable.js +1 -2
  402. package/dist/interfaces/TrinketSituation.js +1 -2
  403. package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
  404. package/dist/interfaces/private/CustomStage.js +1 -2
  405. package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
  406. package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
  407. package/dist/isaacscript-common.lua +1 -1
  408. package/dist/maps/PHDPillConversionsMap.js +19 -22
  409. package/dist/maps/cardNameToTypeMap.js +205 -208
  410. package/dist/maps/characterNameToTypeMap.js +85 -88
  411. package/dist/maps/collectibleNameToTypeMap.js +5 -8
  412. package/dist/maps/defaultPlayerStatMap.js +10 -13
  413. package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
  414. package/dist/maps/falsePHDPillConversionsMap.js +33 -36
  415. package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
  416. package/dist/maps/gridEntityXMLMap.js +52 -55
  417. package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
  418. package/dist/maps/keyboardToStringMap.js +66 -69
  419. package/dist/maps/pillNameToEffectMap.js +83 -86
  420. package/dist/maps/roomNameToTypeMap.js +38 -41
  421. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
  422. package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
  423. package/dist/maps/trinketNameToTypeMap.js +5 -8
  424. package/dist/objects/LRoomShapeToRectangles.js +22 -25
  425. package/dist/objects/backdropTypeToRockAltType.js +65 -68
  426. package/dist/objects/batteryNames.js +8 -11
  427. package/dist/objects/bombNames.js +11 -14
  428. package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
  429. package/dist/objects/bossNamePNGFileNames.js +104 -107
  430. package/dist/objects/bossNames.js +105 -108
  431. package/dist/objects/bossPortraitPNGFileNames.js +104 -107
  432. package/dist/objects/cardDescriptions.js +101 -104
  433. package/dist/objects/cardNames.js +101 -104
  434. package/dist/objects/challengeBosses.js +49 -52
  435. package/dist/objects/challengeCharacters.js +49 -52
  436. package/dist/objects/challengeCollectibleTypes.js +160 -163
  437. package/dist/objects/challengeNames.js +49 -52
  438. package/dist/objects/challengeTrinketType.js +48 -51
  439. package/dist/objects/characterDamageMultipliers.js +44 -47
  440. package/dist/objects/characterNames.js +44 -47
  441. package/dist/objects/characterSpritePNGFileNames.js +44 -47
  442. package/dist/objects/characterStartingCollectibleTypes.js +49 -52
  443. package/dist/objects/characterStartingTrinketTypes.js +44 -47
  444. package/dist/objects/chestNames.js +15 -18
  445. package/dist/objects/coinNames.js +11 -14
  446. package/dist/objects/coinSubTypeToValue.js +11 -14
  447. package/dist/objects/collectibleDescriptions.js +725 -728
  448. package/dist/objects/collectibleNames.js +725 -728
  449. package/dist/objects/colors.js +1 -4
  450. package/dist/objects/directionNames.js +7 -10
  451. package/dist/objects/directionToDegrees.js +7 -10
  452. package/dist/objects/directionToMoveAction.js +7 -10
  453. package/dist/objects/directionToShootAction.js +7 -10
  454. package/dist/objects/directionToVector.js +9 -12
  455. package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
  456. package/dist/objects/doorSlotToDirection.js +11 -14
  457. package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
  458. package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
  459. package/dist/objects/heartNames.js +16 -19
  460. package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
  461. package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
  462. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
  463. package/dist/objects/kColors.js +1 -4
  464. package/dist/objects/keyNames.js +8 -11
  465. package/dist/objects/languageNames.js +9 -12
  466. package/dist/objects/oppositeDoorSlots.js +11 -14
  467. package/dist/objects/pillEffectClasses.js +53 -56
  468. package/dist/objects/pillEffectNames.js +53 -56
  469. package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
  470. package/dist/objects/pillEffectTypes.js +53 -56
  471. package/dist/objects/playerNamePNGFileNames.js +44 -47
  472. package/dist/objects/playerPortraitPNGFileNames.js +44 -47
  473. package/dist/objects/roomShapeBounds.js +23 -26
  474. package/dist/objects/roomShapeCorners.js +128 -131
  475. package/dist/objects/roomShapeLayoutSizes.js +23 -26
  476. package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
  477. package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
  478. package/dist/objects/roomShapeToDoorSlots.js +48 -51
  479. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
  480. package/dist/objects/roomShapeToGridWidth.js +14 -17
  481. package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
  482. package/dist/objects/roomShapeVolumes.js +21 -24
  483. package/dist/objects/roomTypeNames.js +32 -35
  484. package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
  485. package/dist/objects/sackNames.js +6 -9
  486. package/dist/objects/slotNames.js +21 -24
  487. package/dist/objects/stageIDNames.js +33 -36
  488. package/dist/objects/stageToMusic.js +69 -72
  489. package/dist/objects/stageToStageID.js +90 -93
  490. package/dist/objects/stageTypeSuffixes.js +8 -11
  491. package/dist/objects/transformationNames.js +16 -19
  492. package/dist/objects/trinketDescriptions.js +192 -195
  493. package/dist/objects/trinketNames.js +192 -195
  494. package/dist/objects/versusScreenBackgroundColors.js +39 -42
  495. package/dist/objects/versusScreenDirtSpotColors.js +39 -42
  496. package/dist/patchErrorFunctions.js +4 -7
  497. package/dist/serialization.js +6 -9
  498. package/dist/sets/LRoomShapesSet.js +7 -10
  499. package/dist/sets/bigRoomShapesSet.js +10 -13
  500. package/dist/sets/bossSets.js +261 -264
  501. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
  502. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
  503. package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
  504. package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
  505. package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
  506. package/dist/sets/consoleCommandsSet.js +2 -5
  507. package/dist/sets/entitiesWithArmorSet.js +44 -47
  508. package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
  509. package/dist/sets/itemConfigCardTypesForCards.js +7 -10
  510. package/dist/sets/lostStyleCharactersSet.js +8 -11
  511. package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
  512. package/dist/sets/narrowRoomShapesSet.js +7 -10
  513. package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
  514. package/dist/sets/redHeartSubTypesSet.js +6 -9
  515. package/dist/sets/repentanceBossIDsSet.js +26 -29
  516. package/dist/sets/sinEntityTypesSet.js +10 -13
  517. package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
  518. package/dist/shaderCrashFix.js +4 -7
  519. package/dist/shouldFire.js +28 -58
  520. package/dist/types/AddSubtract.js +1 -2
  521. package/dist/types/AllButFirst.js +1 -2
  522. package/dist/types/AllButLast.js +1 -2
  523. package/dist/types/AnyClass.js +1 -2
  524. package/dist/types/AnyEntity.js +1 -2
  525. package/dist/types/AnyFunction.js +1 -2
  526. package/dist/types/AnyGridEntity.js +1 -2
  527. package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
  528. package/dist/types/ConversionHeartSubType.js +1 -2
  529. package/dist/types/Decrement.js +1 -2
  530. package/dist/types/ERange.js +1 -2
  531. package/dist/types/EntityID.js +1 -2
  532. package/dist/types/FunctionTuple.js +1 -2
  533. package/dist/types/GridEntityID.js +1 -2
  534. package/dist/types/HasFunction.js +1 -2
  535. package/dist/types/IRange.js +1 -2
  536. package/dist/types/Immutable.js +1 -2
  537. package/dist/types/Increment.js +1 -2
  538. package/dist/types/LowercaseKeys.js +1 -2
  539. package/dist/types/NaturalNumbersLessThan.js +1 -2
  540. package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
  541. package/dist/types/ObjectValues.js +1 -2
  542. package/dist/types/PickingUpItem.js +15 -22
  543. package/dist/types/PickupIndex.js +1 -2
  544. package/dist/types/PlayerIndex.js +1 -2
  545. package/dist/types/PossibleStatType.js +1 -2
  546. package/dist/types/PublicInterface.js +1 -2
  547. package/dist/types/ReadonlyMap.js +1 -4
  548. package/dist/types/ReadonlyRecord.js +1 -2
  549. package/dist/types/ReadonlySet.js +1 -4
  550. package/dist/types/StartsWithLowercase.js +1 -2
  551. package/dist/types/StartsWithUppercase.js +1 -2
  552. package/dist/types/TSTLClass.js +1 -2
  553. package/dist/types/Tuple.js +1 -2
  554. package/dist/types/TupleKeys.js +1 -2
  555. package/dist/types/TupleToIntersection.js +1 -2
  556. package/dist/types/TupleToUnion.js +1 -2
  557. package/dist/types/TupleWithLengthBetween.js +1 -2
  558. package/dist/types/TupleWithMaxLength.js +1 -2
  559. package/dist/types/UnionToIntersection.js +1 -2
  560. package/dist/types/UppercaseKeys.js +1 -2
  561. package/dist/types/WeightedArray.js +1 -2
  562. package/dist/types/WidenLiteral.js +1 -2
  563. package/dist/types/Writable.js +1 -2
  564. package/dist/types/private/CallbackTuple.js +1 -2
  565. package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
  566. package/package.json +3 -3
  567. package/src/interfaces/PlayerHealth.ts +12 -11
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PickupChangeDetection = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const ISCFeature_1 = require("../../../enums/ISCFeature");
6
- const Feature_1 = require("../../private/Feature");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ISCFeature } from "../../../enums/ISCFeature";
3
+ import { Feature } from "../../private/Feature";
7
4
  const v = {
8
5
  room: {
9
6
  pickupVariants: new Map(),
10
7
  pickupSubTypes: new Map(),
11
8
  },
12
9
  };
13
- class PickupChangeDetection extends Feature_1.Feature {
10
+ export class PickupChangeDetection extends Feature {
14
11
  postPickupChanged;
15
12
  pickupIndexCreation;
16
13
  // ModCallback.POST_PICKUP_UPDATE (35)
@@ -31,13 +28,12 @@ class PickupChangeDetection extends Feature_1.Feature {
31
28
  v = v;
32
29
  constructor(postPickupChanged, pickupIndexCreation) {
33
30
  super();
34
- this.featuresUsed = [ISCFeature_1.ISCFeature.PICKUP_INDEX_CREATION];
31
+ this.featuresUsed = [ISCFeature.PICKUP_INDEX_CREATION];
35
32
  this.callbacksUsed = [
36
33
  // 35
37
- [isaac_typescript_definitions_1.ModCallback.POST_PICKUP_UPDATE, this.postPickupUpdate],
34
+ [ModCallback.POST_PICKUP_UPDATE, this.postPickupUpdate],
38
35
  ];
39
36
  this.postPickupChanged = postPickupChanged;
40
37
  this.pickupIndexCreation = pickupIndexCreation;
41
38
  }
42
39
  }
43
- exports.PickupChangeDetection = PickupChangeDetection;
@@ -1,26 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlayerCollectibleDetection = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const cachedEnumValues_1 = require("../../../cachedEnumValues");
6
- const ISCFeature_1 = require("../../../enums/ISCFeature");
7
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
8
- const array_1 = require("../../../functions/array");
9
- const flag_1 = require("../../../functions/flag");
10
- const playerDataStructures_1 = require("../../../functions/playerDataStructures");
11
- const players_1 = require("../../../functions/players");
12
- const sort_1 = require("../../../functions/sort");
13
- const utils_1 = require("../../../functions/utils");
14
- const DefaultMap_1 = require("../../DefaultMap");
15
- const Feature_1 = require("../../private/Feature");
1
+ import { CollectibleType, DamageFlag, ItemType, ModCallback, PlayerType, } from "isaac-typescript-definitions";
2
+ import { ACTIVE_SLOT_VALUES } from "../../../cachedEnumValues";
3
+ import { ISCFeature } from "../../../enums/ISCFeature";
4
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
5
+ import { arrayEquals } from "../../../functions/array";
6
+ import { hasFlag } from "../../../functions/flag";
7
+ import { defaultMapGetPlayer, mapSetPlayer, } from "../../../functions/playerDataStructures";
8
+ import { getPlayerFromPtr } from "../../../functions/players";
9
+ import { sortNormal } from "../../../functions/sort";
10
+ import { repeat } from "../../../functions/utils";
11
+ import { DefaultMap } from "../../DefaultMap";
12
+ import { Feature } from "../../private/Feature";
16
13
  const v = {
17
14
  run: {
18
- playersCollectibleCount: new DefaultMap_1.DefaultMap(0),
19
- playersCollectibleMap: new DefaultMap_1.DefaultMap(() => new Map()),
20
- playersActiveItemMap: new DefaultMap_1.DefaultMap(() => new Map()),
15
+ playersCollectibleCount: new DefaultMap(0),
16
+ playersCollectibleMap: new DefaultMap(() => new Map()),
17
+ playersActiveItemMap: new DefaultMap(() => new Map()),
21
18
  },
22
19
  };
23
- class PlayerCollectibleDetection extends Feature_1.Feature {
20
+ export class PlayerCollectibleDetection extends Feature {
24
21
  postPlayerCollectibleAdded;
25
22
  postPlayerCollectibleRemoved;
26
23
  moddedElementSets;
@@ -47,17 +44,17 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
47
44
  // ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER
48
45
  entityTakeDmgPlayer = (player, _amount, damageFlags, _source, _countdownFrames) => {
49
46
  // Tainted Eden's mechanic does not apply if she e.g. uses Dull Razor.
50
- if ((0, flag_1.hasFlag)(damageFlags, isaac_typescript_definitions_1.DamageFlag.FAKE)) {
47
+ if (hasFlag(damageFlags, DamageFlag.FAKE)) {
51
48
  return undefined;
52
49
  }
53
50
  const character = player.GetPlayerType();
54
- if (character !== isaac_typescript_definitions_1.PlayerType.EDEN_B) {
51
+ if (character !== PlayerType.EDEN_B) {
55
52
  return undefined;
56
53
  }
57
54
  // The items will only be rerolled after the damage is successfully applied.
58
55
  const entityPtr = EntityPtr(player);
59
56
  this.runInNFrames.runNextGameFrame(() => {
60
- const futurePlayer = (0, players_1.getPlayerFromPtr)(entityPtr);
57
+ const futurePlayer = getPlayerFromPtr(entityPtr);
61
58
  if (futurePlayer !== undefined) {
62
59
  this.updateCollectibleMapAndFire(player, undefined);
63
60
  }
@@ -70,19 +67,19 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
70
67
  */
71
68
  // ModCallbackCustom.POST_ITEM_PICKUP
72
69
  postItemPickup = (player, pickingUpItem) => {
73
- if (pickingUpItem.itemType === isaac_typescript_definitions_1.ItemType.TRINKET
74
- || pickingUpItem.itemType === isaac_typescript_definitions_1.ItemType.NULL) {
70
+ if (pickingUpItem.itemType === ItemType.TRINKET
71
+ || pickingUpItem.itemType === ItemType.NULL) {
75
72
  return;
76
73
  }
77
74
  const newCollectibleCount = player.GetCollectibleCount();
78
- (0, playerDataStructures_1.mapSetPlayer)(v.run.playersCollectibleCount, player, newCollectibleCount);
75
+ mapSetPlayer(v.run.playersCollectibleCount, player, newCollectibleCount);
79
76
  this.updateCollectibleMapAndFire(player, 1);
80
77
  };
81
78
  // ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED
82
79
  postPEffectUpdateReordered = (player) => {
83
- const oldCollectibleCount = (0, playerDataStructures_1.defaultMapGetPlayer)(v.run.playersCollectibleCount, player);
80
+ const oldCollectibleCount = defaultMapGetPlayer(v.run.playersCollectibleCount, player);
84
81
  const newCollectibleCount = player.GetCollectibleCount();
85
- (0, playerDataStructures_1.mapSetPlayer)(v.run.playersCollectibleCount, player, newCollectibleCount);
82
+ mapSetPlayer(v.run.playersCollectibleCount, player, newCollectibleCount);
86
83
  const difference = newCollectibleCount - oldCollectibleCount;
87
84
  if (difference > 0) {
88
85
  this.updateCollectibleMapAndFire(player, difference);
@@ -98,18 +95,18 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
98
95
  constructor(postPlayerCollectibleAdded, postPlayerCollectibleRemoved, moddedElementSets, runInNFrames) {
99
96
  super();
100
97
  this.featuresUsed = [
101
- ISCFeature_1.ISCFeature.MODDED_ELEMENT_SETS,
102
- ISCFeature_1.ISCFeature.RUN_IN_N_FRAMES,
98
+ ISCFeature.MODDED_ELEMENT_SETS,
99
+ ISCFeature.RUN_IN_N_FRAMES,
103
100
  ];
104
101
  this.callbacksUsed = [
105
102
  // 3
106
- [isaac_typescript_definitions_1.ModCallback.POST_USE_ITEM, this.postUseItemD4, [isaac_typescript_definitions_1.CollectibleType.D4]],
103
+ [ModCallback.POST_USE_ITEM, this.postUseItemD4, [CollectibleType.D4]],
107
104
  ];
108
105
  this.customCallbacksUsed = [
109
- [ModCallbackCustom_1.ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, this.entityTakeDmgPlayer],
110
- [ModCallbackCustom_1.ModCallbackCustom.POST_ITEM_PICKUP, this.postItemPickup],
106
+ [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, this.entityTakeDmgPlayer],
107
+ [ModCallbackCustom.POST_ITEM_PICKUP, this.postItemPickup],
111
108
  [
112
- ModCallbackCustom_1.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
109
+ ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
113
110
  this.postPEffectUpdateReordered,
114
111
  ],
115
112
  ];
@@ -131,9 +128,9 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
131
128
  * rerolled.
132
129
  */
133
130
  updateCollectibleMapAndFire(player, numCollectiblesChanged) {
134
- const oldCollectibleMap = (0, playerDataStructures_1.defaultMapGetPlayer)(v.run.playersCollectibleMap, player);
131
+ const oldCollectibleMap = defaultMapGetPlayer(v.run.playersCollectibleMap, player);
135
132
  const newCollectibleMap = this.moddedElementSets.getPlayerCollectibleMap(player);
136
- (0, playerDataStructures_1.mapSetPlayer)(v.run.playersCollectibleMap, player, newCollectibleMap);
133
+ mapSetPlayer(v.run.playersCollectibleMap, player, newCollectibleMap);
137
134
  const collectibleTypesSet = new Set([
138
135
  ...oldCollectibleMap.keys(),
139
136
  ...newCollectibleMap.keys(),
@@ -145,7 +142,7 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
145
142
  const difference = newNum - oldNum;
146
143
  const increased = difference > 0;
147
144
  const absoluteDifference = Math.abs(difference);
148
- (0, utils_1.repeat)(absoluteDifference, () => {
145
+ repeat(absoluteDifference, () => {
149
146
  if (increased) {
150
147
  this.postPlayerCollectibleAdded.fire(player, collectibleType);
151
148
  }
@@ -169,11 +166,11 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
169
166
  * collectible on the same frame, since doing so is cheap.
170
167
  */
171
168
  checkActiveItemsChanged(player) {
172
- const activeItemMap = (0, playerDataStructures_1.defaultMapGetPlayer)(v.run.playersActiveItemMap, player);
169
+ const activeItemMap = defaultMapGetPlayer(v.run.playersActiveItemMap, player);
173
170
  const oldCollectibleTypes = [];
174
171
  const newCollectibleTypes = [];
175
- for (const activeSlot of cachedEnumValues_1.ACTIVE_SLOT_VALUES) {
176
- const oldCollectibleType = activeItemMap.get(activeSlot) ?? isaac_typescript_definitions_1.CollectibleType.NULL;
172
+ for (const activeSlot of ACTIVE_SLOT_VALUES) {
173
+ const oldCollectibleType = activeItemMap.get(activeSlot) ?? CollectibleType.NULL;
177
174
  const newCollectibleType = player.GetActiveItem(activeSlot);
178
175
  activeItemMap.set(activeSlot, newCollectibleType);
179
176
  oldCollectibleTypes.push(oldCollectibleType);
@@ -182,13 +179,12 @@ class PlayerCollectibleDetection extends Feature_1.Feature {
182
179
  // For example, it is possible for the player to switch Schoolbag items, which will cause the
183
180
  // collectibles in the array to be the same, but in a different order. Thus, we sort both arrays
184
181
  // before comparing them.
185
- oldCollectibleTypes.sort(sort_1.sortNormal);
186
- newCollectibleTypes.sort(sort_1.sortNormal);
187
- if (!(0, array_1.arrayEquals)(oldCollectibleTypes, newCollectibleTypes)) {
182
+ oldCollectibleTypes.sort(sortNormal);
183
+ newCollectibleTypes.sort(sortNormal);
184
+ if (!arrayEquals(oldCollectibleTypes, newCollectibleTypes)) {
188
185
  // One or more active items have changed (with the player's total collectible count remaining
189
186
  // the same).
190
187
  this.updateCollectibleMapAndFire(player, undefined);
191
188
  }
192
189
  }
193
190
  }
194
- exports.PlayerCollectibleDetection = PlayerCollectibleDetection;
@@ -1,16 +1,13 @@
1
- "use strict";
2
1
  // This handles logic for the following callbacks:
3
2
  // - POST_PEFFECT_UPDATE_REORDERED
4
3
  // - POST_PLAYER_RENDER_REORDERED
5
4
  // - POST_PLAYER_UPDATE_REORDERED
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.PlayerReorderedCallbacks = void 0;
8
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
9
- const constants_1 = require("../../../core/constants");
10
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
11
- const array_1 = require("../../../functions/array");
12
- const playerIndex_1 = require("../../../functions/playerIndex");
13
- const Feature_1 = require("../../private/Feature");
5
+ import { ModCallback } from "isaac-typescript-definitions";
6
+ import { VectorZero } from "../../../core/constants";
7
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
8
+ import { emptyArray } from "../../../functions/array";
9
+ import { getPlayerFromIndex, getPlayerIndex, } from "../../../functions/playerIndex";
10
+ import { Feature } from "../../private/Feature";
14
11
  const v = {
15
12
  run: {
16
13
  postGameStartedFiredOnThisRun: false,
@@ -19,7 +16,7 @@ const v = {
19
16
  postPlayerRenderQueue: [],
20
17
  },
21
18
  };
22
- class PlayerReorderedCallbacks extends Feature_1.Feature {
19
+ export class PlayerReorderedCallbacks extends Feature {
23
20
  postPEffectUpdateReordered;
24
21
  postPlayerRenderReordered;
25
22
  postPlayerUpdateReordered;
@@ -30,10 +27,10 @@ class PlayerReorderedCallbacks extends Feature_1.Feature {
30
27
  }
31
28
  else {
32
29
  // Defer callback execution until the `POST_GAME_STARTED` callback fires.
33
- const playerIndex = (0, playerIndex_1.getPlayerIndex)(player);
30
+ const playerIndex = getPlayerIndex(player);
34
31
  v.run.postPEffectUpdateQueue.push({
35
32
  playerIndex,
36
- renderOffset: constants_1.VectorZero,
33
+ renderOffset: VectorZero,
37
34
  });
38
35
  }
39
36
  };
@@ -44,10 +41,10 @@ class PlayerReorderedCallbacks extends Feature_1.Feature {
44
41
  }
45
42
  else {
46
43
  // Defer callback execution until the `POST_GAME_STARTED` callback fires.
47
- const playerIndex = (0, playerIndex_1.getPlayerIndex)(player);
44
+ const playerIndex = getPlayerIndex(player);
48
45
  v.run.postPlayerUpdateQueue.push({
49
46
  playerIndex,
50
- renderOffset: constants_1.VectorZero,
47
+ renderOffset: VectorZero,
51
48
  });
52
49
  }
53
50
  };
@@ -58,7 +55,7 @@ class PlayerReorderedCallbacks extends Feature_1.Feature {
58
55
  }
59
56
  else {
60
57
  // Defer callback execution until the `POST_GAME_STARTED` callback fires.
61
- const playerIndex = (0, playerIndex_1.getPlayerIndex)(player);
58
+ const playerIndex = getPlayerIndex(player);
62
59
  v.run.postPlayerRenderQueue.push({
63
60
  playerIndex,
64
61
  renderOffset,
@@ -78,17 +75,17 @@ class PlayerReorderedCallbacks extends Feature_1.Feature {
78
75
  this.callbacksUsed = [
79
76
  // 4
80
77
  // eslint-disable-next-line @typescript-eslint/no-deprecated
81
- [isaac_typescript_definitions_1.ModCallback.POST_PEFFECT_UPDATE, this.postPEffectUpdate],
78
+ [ModCallback.POST_PEFFECT_UPDATE, this.postPEffectUpdate],
82
79
  // 31
83
80
  // eslint-disable-next-line @typescript-eslint/no-deprecated
84
- [isaac_typescript_definitions_1.ModCallback.POST_PLAYER_UPDATE, this.postPlayerUpdate],
81
+ [ModCallback.POST_PLAYER_UPDATE, this.postPlayerUpdate],
85
82
  // 32
86
83
  // eslint-disable-next-line @typescript-eslint/no-deprecated
87
- [isaac_typescript_definitions_1.ModCallback.POST_PLAYER_RENDER, this.postPlayerRender],
84
+ [ModCallback.POST_PLAYER_RENDER, this.postPlayerRender],
88
85
  ];
89
86
  this.customCallbacksUsed = [
90
87
  [
91
- ModCallbackCustom_1.ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST,
88
+ ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST,
92
89
  this.postGameStartedReorderedLast,
93
90
  ],
94
91
  ];
@@ -97,16 +94,15 @@ class PlayerReorderedCallbacks extends Feature_1.Feature {
97
94
  this.postPlayerUpdateReordered = postPlayerUpdateReordered;
98
95
  }
99
96
  }
100
- exports.PlayerReorderedCallbacks = PlayerReorderedCallbacks;
101
97
  function dequeue(
102
98
  // eslint-disable-next-line complete/prefer-readonly-parameter-types
103
99
  queue, fireFunc) {
104
100
  for (const element of queue) {
105
101
  const { playerIndex, renderOffset } = element;
106
- const player = (0, playerIndex_1.getPlayerFromIndex)(playerIndex);
102
+ const player = getPlayerFromIndex(playerIndex);
107
103
  if (player !== undefined) {
108
104
  fireFunc(player, renderOffset);
109
105
  }
110
106
  }
111
- (0, array_1.emptyArray)(queue);
107
+ emptyArray(queue);
112
108
  }
@@ -1,7 +1,4 @@
1
- "use strict";
2
1
  // For machines, destruction is detected in two ways:
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SlotDestroyedDetection = void 0;
5
2
  // 1) The main way is via a change in grid entity class. This happens when the machine is destroyed
6
3
  // with a bomb, for example. For this case, the slot will remain until the player leaves the
7
4
  // room.
@@ -10,18 +7,18 @@ exports.SlotDestroyedDetection = void 0;
10
7
  // For beggars, destruction is detected by monitoring for when a beggar despawns mid-room. Beggars
11
8
  // that are paying out with a collectible will always be playing the "Teleport" animation.
12
9
  // Otherwise, the beggar won't be playing any animation in particular.
13
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
14
- const ISCFeature_1 = require("../../../enums/ISCFeature");
15
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
16
- const SlotDestructionType_1 = require("../../../enums/SlotDestructionType");
17
- const slots_1 = require("../../../functions/slots");
18
- const Feature_1 = require("../../private/Feature");
10
+ import { EntityGridCollisionClass, EntityType, ModCallback, } from "isaac-typescript-definitions";
11
+ import { ISCFeature } from "../../../enums/ISCFeature";
12
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
13
+ import { SlotDestructionType } from "../../../enums/SlotDestructionType";
14
+ import { isSlotMachine } from "../../../functions/slots";
15
+ import { Feature } from "../../private/Feature";
19
16
  const v = {
20
17
  room: {
21
18
  destroyedSlotSet: new Set(),
22
19
  },
23
20
  };
24
- class SlotDestroyedDetection extends Feature_1.Feature {
21
+ export class SlotDestroyedDetection extends Feature {
25
22
  postSlotDestroyed;
26
23
  roomHistory;
27
24
  // ModCallback.POST_ENTITY_REMOVE (67)
@@ -33,7 +30,7 @@ class SlotDestroyedDetection extends Feature_1.Feature {
33
30
  return;
34
31
  }
35
32
  const slot = entity;
36
- if ((0, slots_1.isSlotMachine)(slot)) {
33
+ if (isSlotMachine(slot)) {
37
34
  this.postEntityRemoveSlotMachine(slot);
38
35
  }
39
36
  else {
@@ -52,30 +49,30 @@ class SlotDestroyedDetection extends Feature_1.Feature {
52
49
  v = v;
53
50
  constructor(postSlotDestroyed, roomHistory) {
54
51
  super();
55
- this.featuresUsed = [ISCFeature_1.ISCFeature.ROOM_HISTORY];
52
+ this.featuresUsed = [ISCFeature.ROOM_HISTORY];
56
53
  this.callbacksUsed = [
57
54
  // 67
58
55
  [
59
- isaac_typescript_definitions_1.ModCallback.POST_ENTITY_REMOVE,
56
+ ModCallback.POST_ENTITY_REMOVE,
60
57
  this.postEntityRemoveSlot,
61
- [isaac_typescript_definitions_1.EntityType.SLOT],
58
+ [EntityType.SLOT],
62
59
  ],
63
60
  ];
64
61
  this.customCallbacksUsed = [
65
- [ModCallbackCustom_1.ModCallbackCustom.POST_SLOT_UPDATE, this.postSlotUpdate],
62
+ [ModCallbackCustom.POST_SLOT_UPDATE, this.postSlotUpdate],
66
63
  ];
67
64
  this.postSlotDestroyed = postSlotDestroyed;
68
65
  this.roomHistory = roomHistory;
69
66
  }
70
67
  postEntityRemoveSlotMachine(slot) {
71
- this.postSlotDestroyed.fire(slot, SlotDestructionType_1.SlotDestructionType.COLLECTIBLE_PAYOUT);
68
+ this.postSlotDestroyed.fire(slot, SlotDestructionType.COLLECTIBLE_PAYOUT);
72
69
  }
73
70
  postEntityRemoveBeggar(slot) {
74
71
  const sprite = slot.GetSprite();
75
72
  const animation = sprite.GetAnimation();
76
73
  const slotDestructionType = animation === "Teleport"
77
- ? SlotDestructionType_1.SlotDestructionType.COLLECTIBLE_PAYOUT
78
- : SlotDestructionType_1.SlotDestructionType.NORMAL;
74
+ ? SlotDestructionType.COLLECTIBLE_PAYOUT
75
+ : SlotDestructionType.NORMAL;
79
76
  this.postSlotDestroyed.fire(slot, slotDestructionType);
80
77
  }
81
78
  /**
@@ -85,12 +82,11 @@ class SlotDestroyedDetection extends Feature_1.Feature {
85
82
  * `EntityGridCollisionClass.GROUND` (5).
86
83
  */
87
84
  checkDestroyedFromCollisionClass(slot) {
88
- if (slot.GridCollisionClass !== isaac_typescript_definitions_1.EntityGridCollisionClass.GROUND) {
85
+ if (slot.GridCollisionClass !== EntityGridCollisionClass.GROUND) {
89
86
  return;
90
87
  }
91
88
  const ptrHash = GetPtrHash(slot);
92
89
  v.room.destroyedSlotSet.add(ptrHash);
93
- this.postSlotDestroyed.fire(slot, SlotDestructionType_1.SlotDestructionType.NORMAL);
90
+ this.postSlotDestroyed.fire(slot, SlotDestructionType.NORMAL);
94
91
  }
95
92
  }
96
- exports.SlotDestroyedDetection = SlotDestroyedDetection;
@@ -1,25 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SlotRenderDetection = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const entitiesSpecific_1 = require("../../../functions/entitiesSpecific");
6
- const DefaultMap_1 = require("../../DefaultMap");
7
- const Feature_1 = require("../../private/Feature");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { getSlots } from "../../../functions/entitiesSpecific";
3
+ import { DefaultMap } from "../../DefaultMap";
4
+ import { Feature } from "../../private/Feature";
8
5
  const v = {
9
6
  room: {
10
- slotAnimations: new DefaultMap_1.DefaultMap((slot) => {
7
+ slotAnimations: new DefaultMap((slot) => {
11
8
  const sprite = slot.GetSprite();
12
9
  return sprite.GetAnimation();
13
10
  }),
14
11
  brokenSlots: new Set(),
15
12
  },
16
13
  };
17
- class SlotRenderDetection extends Feature_1.Feature {
14
+ export class SlotRenderDetection extends Feature {
18
15
  postSlotRender;
19
16
  postSlotAnimationChanged;
20
17
  // ModCallback.POST_RENDER (2)
21
18
  postRender = () => {
22
- for (const slot of (0, entitiesSpecific_1.getSlots)()) {
19
+ for (const slot of getSlots()) {
23
20
  this.postSlotRender.fire(slot);
24
21
  this.checkSlotAnimationChanged(slot);
25
22
  }
@@ -29,7 +26,7 @@ class SlotRenderDetection extends Feature_1.Feature {
29
26
  super();
30
27
  this.callbacksUsed = [
31
28
  // 2
32
- [isaac_typescript_definitions_1.ModCallback.POST_RENDER, this.postRender],
29
+ [ModCallback.POST_RENDER, this.postRender],
33
30
  ];
34
31
  this.postSlotRender = postSlotRender;
35
32
  this.postSlotAnimationChanged = postSlotAnimationChanged;
@@ -45,4 +42,3 @@ class SlotRenderDetection extends Feature_1.Feature {
45
42
  }
46
43
  }
47
44
  }
48
- exports.SlotRenderDetection = SlotRenderDetection;
@@ -1,28 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SlotUpdateDetection = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
6
- const entitiesSpecific_1 = require("../../../functions/entitiesSpecific");
7
- const Feature_1 = require("../../private/Feature");
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
3
+ import { getSlots } from "../../../functions/entitiesSpecific";
4
+ import { Feature } from "../../private/Feature";
8
5
  const v = {
9
6
  room: {
10
7
  initializedSlots: new Set(),
11
8
  },
12
9
  };
13
- class SlotUpdateDetection extends Feature_1.Feature {
10
+ export class SlotUpdateDetection extends Feature {
14
11
  postSlotInit;
15
12
  postSlotUpdate;
16
13
  // ModCallback.POST_UPDATE (1)
17
14
  postUpdate = () => {
18
- for (const slot of (0, entitiesSpecific_1.getSlots)()) {
15
+ for (const slot of getSlots()) {
19
16
  this.checkNewEntity(slot);
20
17
  this.postSlotUpdate.fire(slot);
21
18
  }
22
19
  };
23
20
  // ModCallbackCustom.POST_NEW_ROOM_REORDERED
24
21
  postNewRoomReordered = () => {
25
- for (const slot of (0, entitiesSpecific_1.getSlots)()) {
22
+ for (const slot of getSlots()) {
26
23
  this.checkNewEntity(slot);
27
24
  }
28
25
  };
@@ -31,12 +28,12 @@ class SlotUpdateDetection extends Feature_1.Feature {
31
28
  super();
32
29
  this.callbacksUsed = [
33
30
  // 1
34
- [isaac_typescript_definitions_1.ModCallback.POST_UPDATE, this.postUpdate],
31
+ [ModCallback.POST_UPDATE, this.postUpdate],
35
32
  ];
36
33
  this.customCallbacksUsed = [
37
34
  // This has to be the reordered callback because we don't want the `POST_SLOT_INIT` callback
38
35
  // firing on the first room of a floor before the `POST_NEW_LEVEL` callback.
39
- [ModCallbackCustom_1.ModCallbackCustom.POST_NEW_ROOM_REORDERED, this.postNewRoomReordered],
36
+ [ModCallbackCustom.POST_NEW_ROOM_REORDERED, this.postNewRoomReordered],
40
37
  ];
41
38
  this.postSlotInit = postSlotInit;
42
39
  this.postSlotUpdate = postSlotUpdate;
@@ -49,4 +46,3 @@ class SlotUpdateDetection extends Feature_1.Feature {
49
46
  }
50
47
  }
51
48
  }
52
- exports.SlotUpdateDetection = SlotUpdateDetection;
@@ -1,23 +1,20 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.CharacterHealthConversion = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const decorators_1 = require("../../../decorators");
12
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
13
- const pickups_1 = require("../../../functions/pickups");
14
- const Feature_1 = require("../../private/Feature");
15
- class CharacterHealthConversion extends Feature_1.Feature {
7
+ import { HeartSubType, ModCallback, PickupVariant, } from "isaac-typescript-definitions";
8
+ import { Exported } from "../../../decorators";
9
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
10
+ import { isRedHeart } from "../../../functions/pickups";
11
+ import { Feature } from "../../private/Feature";
12
+ export class CharacterHealthConversion extends Feature {
16
13
  characterHealthReplacementMap = new Map();
17
14
  // ModCallback.PRE_PICKUP_COLLISION (38)
18
15
  // PickupVariant.HEART (10)
19
16
  prePickupCollisionHeart = (pickup, collider) => {
20
- if (!(0, pickups_1.isRedHeart)(pickup)) {
17
+ if (!isRedHeart(pickup)) {
21
18
  return undefined;
22
19
  }
23
20
  const player = collider.ToPlayer();
@@ -49,14 +46,14 @@ class CharacterHealthConversion extends Feature_1.Feature {
49
46
  this.callbacksUsed = [
50
47
  // 38
51
48
  [
52
- isaac_typescript_definitions_1.ModCallback.PRE_PICKUP_COLLISION,
49
+ ModCallback.PRE_PICKUP_COLLISION,
53
50
  this.prePickupCollisionHeart,
54
- [isaac_typescript_definitions_1.PickupVariant.HEART],
51
+ [PickupVariant.HEART],
55
52
  ],
56
53
  ];
57
54
  this.customCallbacksUsed = [
58
55
  [
59
- ModCallbackCustom_1.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
56
+ ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
60
57
  this.postPEffectUpdateReordered,
61
58
  ],
62
59
  ];
@@ -79,9 +76,8 @@ class CharacterHealthConversion extends Feature_1.Feature {
79
76
  this.characterHealthReplacementMap.set(playerType, conversionHeartSubType);
80
77
  }
81
78
  }
82
- exports.CharacterHealthConversion = CharacterHealthConversion;
83
79
  __decorate([
84
- decorators_1.Exported
80
+ Exported
85
81
  ], CharacterHealthConversion.prototype, "registerCharacterHealthConversion", null);
86
82
  function convertRedHeartContainers(player, heartSubType) {
87
83
  const maxHearts = player.GetMaxHearts();
@@ -90,11 +86,11 @@ function convertRedHeartContainers(player, heartSubType) {
90
86
  }
91
87
  player.AddMaxHearts(-maxHearts, false);
92
88
  switch (heartSubType) {
93
- case isaac_typescript_definitions_1.HeartSubType.SOUL: {
89
+ case HeartSubType.SOUL: {
94
90
  player.AddSoulHearts(maxHearts);
95
91
  break;
96
92
  }
97
- case isaac_typescript_definitions_1.HeartSubType.BLACK: {
93
+ case HeartSubType.BLACK: {
98
94
  player.AddBlackHearts(maxHearts);
99
95
  break;
100
96
  }
@@ -1,18 +1,15 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.CharacterStats = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const decorators_1 = require("../../../decorators");
12
- const stats_1 = require("../../../functions/stats");
13
- const Feature_1 = require("../../private/Feature");
7
+ import { ModCallback } from "isaac-typescript-definitions";
8
+ import { Exported } from "../../../decorators";
9
+ import { addPlayerStat, getDefaultPlayerStat } from "../../../functions/stats";
10
+ import { Feature } from "../../private/Feature";
14
11
  /** Easily create custom characters that have base stats different from that of Isaac. */
15
- class CharacterStats extends Feature_1.Feature {
12
+ export class CharacterStats extends Feature {
16
13
  charactersStatMap = new Map();
17
14
  // ModCallback.EVALUATE_CACHE (8)
18
15
  evaluateCache = (player, cacheFlag) => {
@@ -22,19 +19,19 @@ class CharacterStats extends Feature_1.Feature {
22
19
  return;
23
20
  }
24
21
  const stat = statMap.get(cacheFlag);
25
- const defaultStat = (0, stats_1.getDefaultPlayerStat)(cacheFlag);
22
+ const defaultStat = getDefaultPlayerStat(cacheFlag);
26
23
  if (stat === undefined || defaultStat === undefined) {
27
24
  return;
28
25
  }
29
26
  const delta = stat - defaultStat;
30
- (0, stats_1.addPlayerStat)(player, cacheFlag, delta);
27
+ addPlayerStat(player, cacheFlag, delta);
31
28
  };
32
29
  /** @internal */
33
30
  constructor() {
34
31
  super();
35
32
  this.callbacksUsed = [
36
33
  // 8
37
- [isaac_typescript_definitions_1.ModCallback.EVALUATE_CACHE, this.evaluateCache],
34
+ [ModCallback.EVALUATE_CACHE, this.evaluateCache],
38
35
  ];
39
36
  }
40
37
  /**
@@ -62,7 +59,6 @@ class CharacterStats extends Feature_1.Feature {
62
59
  this.charactersStatMap.set(playerType, statMap);
63
60
  }
64
61
  }
65
- exports.CharacterStats = CharacterStats;
66
62
  __decorate([
67
- decorators_1.Exported
63
+ Exported
68
64
  ], CharacterStats.prototype, "registerCharacterStats", null);