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,28 +1,25 @@
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.StageHistory = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedClasses_1 = require("../../../core/cachedClasses");
12
- const decorators_1 = require("../../../decorators");
13
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
14
- const nextStage_1 = require("../../../functions/nextStage");
15
- const stage_1 = require("../../../functions/stage");
16
- const Feature_1 = require("../../private/Feature");
7
+ import { GameStateFlag, LevelStage, StageType, } from "isaac-typescript-definitions";
8
+ import { game } from "../../../core/cachedClasses";
9
+ import { Exported } from "../../../decorators";
10
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
11
+ import { getNextStage, getNextStageType } from "../../../functions/nextStage";
12
+ import { calculateStageType, onRepentanceStage, } from "../../../functions/stage";
13
+ import { Feature } from "../../private/Feature";
17
14
  const v = {
18
15
  run: {
19
16
  stageHistory: [],
20
17
  },
21
18
  };
22
- class StageHistory extends Feature_1.Feature {
19
+ export class StageHistory extends Feature {
23
20
  // ModCallbackCustom.POST_NEW_LEVEL_REORDERED
24
21
  postNewLevelReordered = () => {
25
- const level = cachedClasses_1.game.GetLevel();
22
+ const level = game.GetLevel();
26
23
  const stage = level.GetStage();
27
24
  const stageType = level.GetStageType();
28
25
  v.run.stageHistory.push({
@@ -36,7 +33,7 @@ class StageHistory extends Feature_1.Feature {
36
33
  constructor() {
37
34
  super();
38
35
  this.customCallbacksUsed = [
39
- [ModCallbackCustom_1.ModCallbackCustom.POST_NEW_LEVEL_REORDERED, this.postNewLevelReordered],
36
+ [ModCallbackCustom.POST_NEW_LEVEL_REORDERED, this.postNewLevelReordered],
40
37
  ];
41
38
  }
42
39
  /**
@@ -54,63 +51,63 @@ class StageHistory extends Feature_1.Feature {
54
51
  * @public
55
52
  */
56
53
  getNextStageTypeWithHistory(upwards = false) {
57
- const backwardsPath = cachedClasses_1.game.GetStateFlag(isaac_typescript_definitions_1.GameStateFlag.BACKWARDS_PATH);
54
+ const backwardsPath = game.GetStateFlag(GameStateFlag.BACKWARDS_PATH);
58
55
  if (!backwardsPath) {
59
- return (0, nextStage_1.getNextStageType)(upwards);
56
+ return getNextStageType(upwards);
60
57
  }
61
- const level = cachedClasses_1.game.GetLevel();
58
+ const level = game.GetLevel();
62
59
  const stage = level.GetStage();
63
- const repentanceStage = (0, stage_1.onRepentanceStage)();
64
- const visitedDownpour1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_1, isaac_typescript_definitions_1.StageType.REPENTANCE);
65
- const visitedDross1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_1, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
66
- const visitedDownpour2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_2, isaac_typescript_definitions_1.StageType.REPENTANCE);
67
- const visitedDross2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_2, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
68
- const visitedMines1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.CAVES_1, isaac_typescript_definitions_1.StageType.REPENTANCE);
69
- const visitedAshpit1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.CAVES_1, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
70
- const visitedMines2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.DEPTHS_2, isaac_typescript_definitions_1.StageType.REPENTANCE);
71
- const visitedAshpit2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.DEPTHS_2, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
72
- if (repentanceStage && stage === isaac_typescript_definitions_1.LevelStage.BASEMENT_2) {
60
+ const repentanceStage = onRepentanceStage();
61
+ const visitedDownpour1 = this.hasVisitedStage(LevelStage.BASEMENT_1, StageType.REPENTANCE);
62
+ const visitedDross1 = this.hasVisitedStage(LevelStage.BASEMENT_1, StageType.REPENTANCE_B);
63
+ const visitedDownpour2 = this.hasVisitedStage(LevelStage.BASEMENT_2, StageType.REPENTANCE);
64
+ const visitedDross2 = this.hasVisitedStage(LevelStage.BASEMENT_2, StageType.REPENTANCE_B);
65
+ const visitedMines1 = this.hasVisitedStage(LevelStage.CAVES_1, StageType.REPENTANCE);
66
+ const visitedAshpit1 = this.hasVisitedStage(LevelStage.CAVES_1, StageType.REPENTANCE_B);
67
+ const visitedMines2 = this.hasVisitedStage(LevelStage.DEPTHS_2, StageType.REPENTANCE);
68
+ const visitedAshpit2 = this.hasVisitedStage(LevelStage.DEPTHS_2, StageType.REPENTANCE_B);
69
+ if (repentanceStage && stage === LevelStage.BASEMENT_2) {
73
70
  if (visitedDownpour1) {
74
- return isaac_typescript_definitions_1.StageType.REPENTANCE;
71
+ return StageType.REPENTANCE;
75
72
  }
76
73
  if (visitedDross1) {
77
- return isaac_typescript_definitions_1.StageType.REPENTANCE_B;
74
+ return StageType.REPENTANCE_B;
78
75
  }
79
76
  }
80
- if (repentanceStage && stage === isaac_typescript_definitions_1.LevelStage.CAVES_1) {
77
+ if (repentanceStage && stage === LevelStage.CAVES_1) {
81
78
  if (visitedDownpour2) {
82
- return isaac_typescript_definitions_1.StageType.REPENTANCE;
79
+ return StageType.REPENTANCE;
83
80
  }
84
81
  if (visitedDross2) {
85
- return isaac_typescript_definitions_1.StageType.REPENTANCE_B;
82
+ return StageType.REPENTANCE_B;
86
83
  }
87
84
  }
88
- if (!repentanceStage && stage === isaac_typescript_definitions_1.LevelStage.CAVES_2) {
85
+ if (!repentanceStage && stage === LevelStage.CAVES_2) {
89
86
  if (visitedDownpour2) {
90
- return isaac_typescript_definitions_1.StageType.REPENTANCE;
87
+ return StageType.REPENTANCE;
91
88
  }
92
89
  if (visitedDross2) {
93
- return isaac_typescript_definitions_1.StageType.REPENTANCE_B;
90
+ return StageType.REPENTANCE_B;
94
91
  }
95
92
  }
96
- if (repentanceStage && stage === isaac_typescript_definitions_1.LevelStage.CAVES_2) {
93
+ if (repentanceStage && stage === LevelStage.CAVES_2) {
97
94
  if (visitedMines1) {
98
- return isaac_typescript_definitions_1.StageType.REPENTANCE;
95
+ return StageType.REPENTANCE;
99
96
  }
100
97
  if (visitedAshpit1) {
101
- return isaac_typescript_definitions_1.StageType.REPENTANCE_B;
98
+ return StageType.REPENTANCE_B;
102
99
  }
103
100
  }
104
- if (!repentanceStage && stage === isaac_typescript_definitions_1.LevelStage.DEPTHS_2) {
101
+ if (!repentanceStage && stage === LevelStage.DEPTHS_2) {
105
102
  if (visitedAshpit2) {
106
- return isaac_typescript_definitions_1.StageType.REPENTANCE_B;
103
+ return StageType.REPENTANCE_B;
107
104
  }
108
105
  if (visitedMines2) {
109
- return isaac_typescript_definitions_1.StageType.REPENTANCE;
106
+ return StageType.REPENTANCE;
110
107
  }
111
108
  }
112
109
  const nextStage = this.getNextStageWithHistory();
113
- return (0, stage_1.calculateStageType)(nextStage);
110
+ return calculateStageType(nextStage);
114
111
  }
115
112
  /**
116
113
  * Helper function to get the stage that a trapdoor or heaven door would take the player to, based
@@ -123,84 +120,84 @@ class StageHistory extends Feature_1.Feature {
123
120
  * In order to use this function, you must upgrade your mod with `ISCFeature.STAGE_HISTORY`.
124
121
  */
125
122
  getNextStageWithHistory() {
126
- const backwardsPath = cachedClasses_1.game.GetStateFlag(isaac_typescript_definitions_1.GameStateFlag.BACKWARDS_PATH);
123
+ const backwardsPath = game.GetStateFlag(GameStateFlag.BACKWARDS_PATH);
127
124
  if (!backwardsPath) {
128
- return (0, nextStage_1.getNextStage)();
125
+ return getNextStage();
129
126
  }
130
- const level = cachedClasses_1.game.GetLevel();
127
+ const level = game.GetLevel();
131
128
  const stage = level.GetStage();
132
- const repentanceStage = (0, stage_1.onRepentanceStage)();
133
- const visitedDownpour1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_1, isaac_typescript_definitions_1.StageType.REPENTANCE);
134
- const visitedDross1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_1, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
135
- const visitedDownpour2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_2, isaac_typescript_definitions_1.StageType.REPENTANCE);
136
- const visitedDross2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.BASEMENT_2, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
137
- const visitedMines1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.CAVES_1, isaac_typescript_definitions_1.StageType.REPENTANCE);
138
- const visitedAshpit1 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.CAVES_1, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
139
- const visitedMines2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.DEPTHS_2, isaac_typescript_definitions_1.StageType.REPENTANCE);
140
- const visitedAshpit2 = this.hasVisitedStage(isaac_typescript_definitions_1.LevelStage.DEPTHS_2, isaac_typescript_definitions_1.StageType.REPENTANCE_B);
141
- if (stage === isaac_typescript_definitions_1.LevelStage.BASEMENT_1) {
129
+ const repentanceStage = onRepentanceStage();
130
+ const visitedDownpour1 = this.hasVisitedStage(LevelStage.BASEMENT_1, StageType.REPENTANCE);
131
+ const visitedDross1 = this.hasVisitedStage(LevelStage.BASEMENT_1, StageType.REPENTANCE_B);
132
+ const visitedDownpour2 = this.hasVisitedStage(LevelStage.BASEMENT_2, StageType.REPENTANCE);
133
+ const visitedDross2 = this.hasVisitedStage(LevelStage.BASEMENT_2, StageType.REPENTANCE_B);
134
+ const visitedMines1 = this.hasVisitedStage(LevelStage.CAVES_1, StageType.REPENTANCE);
135
+ const visitedAshpit1 = this.hasVisitedStage(LevelStage.CAVES_1, StageType.REPENTANCE_B);
136
+ const visitedMines2 = this.hasVisitedStage(LevelStage.DEPTHS_2, StageType.REPENTANCE);
137
+ const visitedAshpit2 = this.hasVisitedStage(LevelStage.DEPTHS_2, StageType.REPENTANCE_B);
138
+ if (stage === LevelStage.BASEMENT_1) {
142
139
  if (repentanceStage) {
143
140
  // From Downpour 1 to Basement 1.
144
- return isaac_typescript_definitions_1.LevelStage.BASEMENT_1;
141
+ return LevelStage.BASEMENT_1;
145
142
  }
146
143
  // From Basement 1 to Home.
147
- return isaac_typescript_definitions_1.LevelStage.HOME;
144
+ return LevelStage.HOME;
148
145
  }
149
- if (stage === isaac_typescript_definitions_1.LevelStage.BASEMENT_2) {
146
+ if (stage === LevelStage.BASEMENT_2) {
150
147
  if (repentanceStage) {
151
148
  if (visitedDownpour1 || visitedDross1) {
152
149
  // From Downpour 2 to Downpour 1.
153
- return isaac_typescript_definitions_1.LevelStage.BASEMENT_1;
150
+ return LevelStage.BASEMENT_1;
154
151
  }
155
152
  // From Downpour 2 to Basement 2.
156
- return isaac_typescript_definitions_1.LevelStage.BASEMENT_2;
153
+ return LevelStage.BASEMENT_2;
157
154
  }
158
155
  // From Basement 2 to Basement 1.
159
- return isaac_typescript_definitions_1.LevelStage.BASEMENT_1;
156
+ return LevelStage.BASEMENT_1;
160
157
  }
161
- if (stage === isaac_typescript_definitions_1.LevelStage.CAVES_1) {
158
+ if (stage === LevelStage.CAVES_1) {
162
159
  if (repentanceStage) {
163
160
  if (visitedDownpour2 || visitedDross2) {
164
161
  // From Mines 1 to Downpour 1.
165
- return isaac_typescript_definitions_1.LevelStage.BASEMENT_2;
162
+ return LevelStage.BASEMENT_2;
166
163
  }
167
164
  // From Mines 1 to Caves 1.
168
- return isaac_typescript_definitions_1.LevelStage.CAVES_1;
165
+ return LevelStage.CAVES_1;
169
166
  }
170
167
  // From Caves 1 to Basement 2.
171
- return isaac_typescript_definitions_1.LevelStage.BASEMENT_2;
168
+ return LevelStage.BASEMENT_2;
172
169
  }
173
- if (stage === isaac_typescript_definitions_1.LevelStage.CAVES_2) {
170
+ if (stage === LevelStage.CAVES_2) {
174
171
  if (repentanceStage) {
175
172
  if (visitedMines1 || visitedAshpit1) {
176
173
  // From Mines 2 to Mines 1.
177
- return isaac_typescript_definitions_1.LevelStage.CAVES_1;
174
+ return LevelStage.CAVES_1;
178
175
  }
179
176
  // From Mines 2 to Caves 2.
180
- return isaac_typescript_definitions_1.LevelStage.CAVES_2;
177
+ return LevelStage.CAVES_2;
181
178
  }
182
179
  // From Caves 2 to Caves 1.
183
- return isaac_typescript_definitions_1.LevelStage.CAVES_1;
180
+ return LevelStage.CAVES_1;
184
181
  }
185
- if (stage === isaac_typescript_definitions_1.LevelStage.DEPTHS_1) {
182
+ if (stage === LevelStage.DEPTHS_1) {
186
183
  if (repentanceStage) {
187
184
  if (visitedMines2 || visitedAshpit2) {
188
185
  // From Mausoleum 1 to Mines 2.
189
- return isaac_typescript_definitions_1.LevelStage.CAVES_2;
186
+ return LevelStage.CAVES_2;
190
187
  }
191
188
  // From Mausoleum 1 to Depths 1.
192
- return isaac_typescript_definitions_1.LevelStage.DEPTHS_1;
189
+ return LevelStage.DEPTHS_1;
193
190
  }
194
191
  // From Depths 1 to Caves 2.
195
- return isaac_typescript_definitions_1.LevelStage.CAVES_2;
192
+ return LevelStage.CAVES_2;
196
193
  }
197
- if (stage === isaac_typescript_definitions_1.LevelStage.DEPTHS_2) {
194
+ if (stage === LevelStage.DEPTHS_2) {
198
195
  if (repentanceStage) {
199
196
  // From Mausoleum 2 to Depths 2.
200
- return isaac_typescript_definitions_1.LevelStage.DEPTHS_2;
197
+ return LevelStage.DEPTHS_2;
201
198
  }
202
199
  // From Depths 2 to Depths 1.
203
- return isaac_typescript_definitions_1.LevelStage.DEPTHS_1;
200
+ return LevelStage.DEPTHS_1;
204
201
  }
205
202
  return stage - 1;
206
203
  }
@@ -232,16 +229,15 @@ class StageHistory extends Feature_1.Feature {
232
229
  && stageHistoryEntry.stageType === stageType);
233
230
  }
234
231
  }
235
- exports.StageHistory = StageHistory;
236
232
  __decorate([
237
- decorators_1.Exported
233
+ Exported
238
234
  ], StageHistory.prototype, "getNextStageTypeWithHistory", null);
239
235
  __decorate([
240
- decorators_1.Exported
236
+ Exported
241
237
  ], StageHistory.prototype, "getNextStageWithHistory", null);
242
238
  __decorate([
243
- decorators_1.Exported
239
+ Exported
244
240
  ], StageHistory.prototype, "getStageHistory", null);
245
241
  __decorate([
246
- decorators_1.Exported
242
+ Exported
247
243
  ], StageHistory.prototype, "hasVisitedStage", null);
@@ -1,26 +1,23 @@
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.StartAmbush = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const decorators_1 = require("../../../decorators");
12
- const ISCFeature_1 = require("../../../enums/ISCFeature");
13
- const entities_1 = require("../../../functions/entities");
14
- const pickupsSpecific_1 = require("../../../functions/pickupsSpecific");
15
- const Feature_1 = require("../../private/Feature");
7
+ import { SackSubType } from "isaac-typescript-definitions";
8
+ import { Exported } from "../../../decorators";
9
+ import { ISCFeature } from "../../../enums/ISCFeature";
10
+ import { removeEntities } from "../../../functions/entities";
11
+ import { getCoins, spawnSackWithSeed, } from "../../../functions/pickupsSpecific";
12
+ import { Feature } from "../../private/Feature";
16
13
  /** Hard-coding this makes it easier to clean up the pickups afterwards. */
17
14
  const SACK_SEED_THAT_SPAWNS_TWO_COINS = 6;
18
- class StartAmbush extends Feature_1.Feature {
15
+ export class StartAmbush extends Feature {
19
16
  runInNFrames;
20
17
  /** @internal */
21
18
  constructor(runInNFrames) {
22
19
  super();
23
- this.featuresUsed = [ISCFeature_1.ISCFeature.RUN_IN_N_FRAMES];
20
+ this.featuresUsed = [ISCFeature.RUN_IN_N_FRAMES];
24
21
  this.runInNFrames = runInNFrames;
25
22
  }
26
23
  /**
@@ -35,7 +32,7 @@ class StartAmbush extends Feature_1.Feature {
35
32
  */
36
33
  startAmbush() {
37
34
  const player = Isaac.GetPlayer();
38
- const sack = (0, pickupsSpecific_1.spawnSackWithSeed)(isaac_typescript_definitions_1.SackSubType.NULL, player.Position, SACK_SEED_THAT_SPAWNS_TWO_COINS);
35
+ const sack = spawnSackWithSeed(SackSubType.NULL, player.Position, SACK_SEED_THAT_SPAWNS_TWO_COINS);
39
36
  // The sack will play the "Appear" animation and the player will not be able to interact with it
40
37
  // while this is occurring. By stopping the animation, it will transition to the "Idle"
41
38
  // animation and be interactable on the next game frame.
@@ -49,14 +46,13 @@ class StartAmbush extends Feature_1.Feature {
49
46
  }
50
47
  futureSack.Remove();
51
48
  const sackPtrHash = GetPtrHash(futureSack);
52
- const coins = (0, pickupsSpecific_1.getCoins)();
49
+ const coins = getCoins();
53
50
  const coinsFromSack = coins.filter((pickup) => pickup.SpawnerEntity !== undefined
54
51
  && GetPtrHash(pickup.SpawnerEntity) === sackPtrHash);
55
- (0, entities_1.removeEntities)(coinsFromSack);
52
+ removeEntities(coinsFromSack);
56
53
  });
57
54
  }
58
55
  }
59
- exports.StartAmbush = StartAmbush;
60
56
  __decorate([
61
- decorators_1.Exported
57
+ Exported
62
58
  ], StartAmbush.prototype, "startAmbush", null);
@@ -1,16 +1,13 @@
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.TaintedLazarusPlayers = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const decorators_1 = require("../../../decorators");
12
- const log_1 = require("../../../functions/log");
13
- const Feature_1 = require("../../private/Feature");
7
+ import { ModCallback, PlayerType } from "isaac-typescript-definitions";
8
+ import { Exported } from "../../../decorators";
9
+ import { logError } from "../../../functions/log";
10
+ import { Feature } from "../../private/Feature";
14
11
  const v = {
15
12
  run: {
16
13
  queuedTaintedLazarus: [],
@@ -34,14 +31,14 @@ const v = {
34
31
  * This feature provides a way for end-users to get the `EntityPlayer` object for the other Tainted
35
32
  * Lazarus.
36
33
  */
37
- class TaintedLazarusPlayers extends Feature_1.Feature {
34
+ export class TaintedLazarusPlayers extends Feature {
38
35
  // ModCallback.POST_PLAYER_INIT (9)
39
36
  postPlayerInit = (player) => {
40
37
  const character = player.GetPlayerType();
41
- if (character === isaac_typescript_definitions_1.PlayerType.LAZARUS_B) {
38
+ if (character === PlayerType.LAZARUS_B) {
42
39
  v.run.queuedTaintedLazarus.push(player);
43
40
  }
44
- else if (character === isaac_typescript_definitions_1.PlayerType.LAZARUS_2_B) {
41
+ else if (character === PlayerType.LAZARUS_2_B) {
45
42
  v.run.queuedDeadTaintedLazarus.push(player);
46
43
  }
47
44
  else {
@@ -57,7 +54,7 @@ class TaintedLazarusPlayers extends Feature_1.Feature {
57
54
  super();
58
55
  this.callbacksUsed = [
59
56
  // 9
60
- [isaac_typescript_definitions_1.ModCallback.POST_PLAYER_INIT, this.postPlayerInit],
57
+ [ModCallback.POST_PLAYER_INIT, this.postPlayerInit],
61
58
  ];
62
59
  }
63
60
  /**
@@ -84,7 +81,7 @@ class TaintedLazarusPlayers extends Feature_1.Feature {
84
81
  const taintedLazarusPtrHash = GetPtrHash(taintedLazarus);
85
82
  const deadTaintedLazarusPtrHash = GetPtrHash(deadTaintedLazarus);
86
83
  if (taintedLazarusPtrHash === deadTaintedLazarusPtrHash) {
87
- (0, log_1.logError)("Failed to cache the Tainted Lazarus player objects, since the hash for Tainted Lazarus and Dead Tainted Lazarus were the same.");
84
+ logError("Failed to cache the Tainted Lazarus player objects, since the hash for Tainted Lazarus and Dead Tainted Lazarus were the same.");
88
85
  return;
89
86
  }
90
87
  v.run.subPlayerMap.set(taintedLazarusPtrHash, deadTaintedLazarus);
@@ -111,7 +108,6 @@ class TaintedLazarusPlayers extends Feature_1.Feature {
111
108
  return v.run.subPlayerMap.get(ptrHash);
112
109
  }
113
110
  }
114
- exports.TaintedLazarusPlayers = TaintedLazarusPlayers;
115
111
  __decorate([
116
- decorators_1.Exported
112
+ Exported
117
113
  ], TaintedLazarusPlayers.prototype, "getTaintedLazarusSubPlayer", null);
@@ -1,27 +1,24 @@
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.UnlockAchievementsDetection = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const constants_1 = require("../../../core/constants");
12
- const decorators_1 = require("../../../decorators");
13
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
14
- const entitiesSpecific_1 = require("../../../functions/entitiesSpecific");
15
- const Feature_1 = require("../../private/Feature");
7
+ import { SlotVariant } from "isaac-typescript-definitions";
8
+ import { VectorZero } from "../../../core/constants";
9
+ import { Exported } from "../../../decorators";
10
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
11
+ import { spawnSlot } from "../../../functions/entitiesSpecific";
12
+ import { Feature } from "../../private/Feature";
16
13
  const v = {
17
14
  run: {
18
15
  canRunUnlockAchievements: true,
19
16
  },
20
17
  };
21
- class UnlockAchievementsDetection extends Feature_1.Feature {
18
+ export class UnlockAchievementsDetection extends Feature {
22
19
  // ModCallbackCustom.POST_GAME_STARTED_REORDERED
23
20
  postGameStartedReordered = () => {
24
- const greedDonationMachine = (0, entitiesSpecific_1.spawnSlot)(isaac_typescript_definitions_1.SlotVariant.GREED_DONATION_MACHINE, 0, constants_1.VectorZero);
21
+ const greedDonationMachine = spawnSlot(SlotVariant.GREED_DONATION_MACHINE, 0, VectorZero);
25
22
  v.run.canRunUnlockAchievements = greedDonationMachine.Exists();
26
23
  greedDonationMachine.Remove();
27
24
  };
@@ -32,7 +29,7 @@ class UnlockAchievementsDetection extends Feature_1.Feature {
32
29
  super();
33
30
  this.customCallbacksUsed = [
34
31
  [
35
- ModCallbackCustom_1.ModCallbackCustom.POST_GAME_STARTED_REORDERED,
32
+ ModCallbackCustom.POST_GAME_STARTED_REORDERED,
36
33
  this.postGameStartedReordered,
37
34
  ],
38
35
  ];
@@ -54,7 +51,6 @@ class UnlockAchievementsDetection extends Feature_1.Feature {
54
51
  return v.run.canRunUnlockAchievements;
55
52
  }
56
53
  }
57
- exports.UnlockAchievementsDetection = UnlockAchievementsDetection;
58
54
  __decorate([
59
- decorators_1.Exported
55
+ Exported
60
56
  ], UnlockAchievementsDetection.prototype, "canRunUnlockAchievements", null);