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,38 +1,35 @@
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.CustomTrapdoors = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedClasses_1 = require("../../../core/cachedClasses");
12
- const constants_1 = require("../../../core/constants");
13
- const decorators_1 = require("../../../decorators");
14
- const ISCFeature_1 = require("../../../enums/ISCFeature");
15
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
16
- const GridEntityTypeCustom_1 = require("../../../enums/private/GridEntityTypeCustom");
17
- const StageTravelState_1 = require("../../../enums/private/StageTravelState");
18
- const TrapdoorAnimation_1 = require("../../../enums/private/TrapdoorAnimation");
19
- const easing_1 = require("../../../functions/easing");
20
- const frames_1 = require("../../../functions/frames");
21
- const log_1 = require("../../../functions/log");
22
- const playerCenter_1 = require("../../../functions/playerCenter");
23
- const playerIndex_1 = require("../../../functions/playerIndex");
24
- const players_1 = require("../../../functions/players");
25
- const positionVelocity_1 = require("../../../functions/positionVelocity");
26
- const roomData_1 = require("../../../functions/roomData");
27
- const roomTransition_1 = require("../../../functions/roomTransition");
28
- const stage_1 = require("../../../functions/stage");
29
- const tstlClass_1 = require("../../../functions/tstlClass");
30
- const utils_1 = require("../../../functions/utils");
31
- const vector_1 = require("../../../functions/vector");
32
- const ReadonlySet_1 = require("../../../types/ReadonlySet");
33
- const DefaultMap_1 = require("../../DefaultMap");
34
- const Feature_1 = require("../../private/Feature");
35
- const constants_2 = require("./customStages/constants");
7
+ import { ButtonAction, Direction, EntityCollisionClass, EntityGridCollisionClass, EntityPartition, GridCollisionClass, LevelStage, ModCallback, PlayerType, RoomTransitionAnim, RoomType, StageType, } from "isaac-typescript-definitions";
8
+ import { game } from "../../../core/cachedClasses";
9
+ import { VectorZero } from "../../../core/constants";
10
+ import { Exported } from "../../../decorators";
11
+ import { ISCFeature } from "../../../enums/ISCFeature";
12
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
13
+ import { GridEntityTypeCustom } from "../../../enums/private/GridEntityTypeCustom";
14
+ import { StageTravelState } from "../../../enums/private/StageTravelState";
15
+ import { TrapdoorAnimation } from "../../../enums/private/TrapdoorAnimation";
16
+ import { easeOutSine } from "../../../functions/easing";
17
+ import { isAfterRoomFrame, isBeforeRenderFrame, onOrAfterRenderFrame, } from "../../../functions/frames";
18
+ import { log } from "../../../functions/log";
19
+ import { movePlayersToCenter } from "../../../functions/playerCenter";
20
+ import { getAllPlayers, getOtherPlayers, isChildPlayer, } from "../../../functions/playerIndex";
21
+ import { isCharacter } from "../../../functions/players";
22
+ import { anyPlayerCloserThan } from "../../../functions/positionVelocity";
23
+ import { getRoomGridIndex, getRoomListIndex, } from "../../../functions/roomData";
24
+ import { teleport } from "../../../functions/roomTransition";
25
+ import { setStage } from "../../../functions/stage";
26
+ import { getTSTLClassName } from "../../../functions/tstlClass";
27
+ import { assertDefined, isRepentancePlus } from "../../../functions/utils";
28
+ import { isVector } from "../../../functions/vector";
29
+ import { ReadonlySet } from "../../../types/ReadonlySet";
30
+ import { DefaultMap } from "../../DefaultMap";
31
+ import { Feature } from "../../private/Feature";
32
+ import { CUSTOM_FLOOR_STAGE } from "./customStages/constants";
36
33
  const DEBUG = false;
37
34
  /**
38
35
  * This also applies to crawl spaces. The value was determined through trial and error to match
@@ -42,7 +39,7 @@ const TRAPDOOR_OPEN_DISTANCE = 60;
42
39
  const TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS = TRAPDOOR_OPEN_DISTANCE * 2.5;
43
40
  const TRAPDOOR_BOSS_REACTION_FRAMES = 30;
44
41
  const TRAPDOOR_TOUCH_DISTANCE = 16.5;
45
- const ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL = new ReadonlySet_1.ReadonlySet([
42
+ const ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL = new ReadonlySet([
46
43
  "Death",
47
44
  "Happy",
48
45
  "Sad",
@@ -53,17 +50,17 @@ const OTHER_PLAYER_TRAPDOOR_JUMP_DELAY_GAME_FRAMES = 6;
53
50
  const OTHER_PLAYER_TRAPDOOR_JUMP_DURATION_GAME_FRAMES = 5;
54
51
  const v = {
55
52
  run: {
56
- state: StageTravelState_1.StageTravelState.NONE,
53
+ state: StageTravelState.NONE,
57
54
  /** The render frame that this state was reached. */
58
55
  stateRenderFrame: null,
59
56
  customTrapdoorActivated: null,
60
57
  },
61
58
  level: {
62
59
  /** Indexed by room list index and grid index. */
63
- trapdoors: new DefaultMap_1.DefaultMap(() => new Map()),
60
+ trapdoors: new DefaultMap(() => new Map()),
64
61
  },
65
62
  };
66
- class CustomTrapdoors extends Feature_1.Feature {
63
+ export class CustomTrapdoors extends Feature {
67
64
  /** Indexed by custom trapdoor ID. */
68
65
  destinationFuncMap = new Map();
69
66
  /**
@@ -91,7 +88,7 @@ class CustomTrapdoors extends Feature_1.Feature {
91
88
  // ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE
92
89
  // GridEntityTypeCustom.TRAPDOOR_CUSTOM
93
90
  postGridEntityCustomUpdateTrapdoor = (gridEntity) => {
94
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
91
+ const roomListIndex = getRoomListIndex();
95
92
  const gridIndex = gridEntity.GetGridIndex();
96
93
  const roomTrapdoorMap = v.level.trapdoors.getAndSetDefault(roomListIndex);
97
94
  const trapdoorDescription = roomTrapdoorMap.get(gridIndex);
@@ -111,26 +108,26 @@ class CustomTrapdoors extends Feature_1.Feature {
111
108
  constructor(customGridEntities, disableInputs, ponyDetection, roomClearFrame, runInNFrames, runNextRoom, stageHistory) {
112
109
  super();
113
110
  this.featuresUsed = [
114
- ISCFeature_1.ISCFeature.CUSTOM_GRID_ENTITIES,
115
- ISCFeature_1.ISCFeature.DISABLE_INPUTS,
116
- ISCFeature_1.ISCFeature.PONY_DETECTION,
117
- ISCFeature_1.ISCFeature.ROOM_CLEAR_FRAME,
118
- ISCFeature_1.ISCFeature.RUN_IN_N_FRAMES,
119
- ISCFeature_1.ISCFeature.RUN_NEXT_ROOM,
120
- ISCFeature_1.ISCFeature.STAGE_HISTORY,
111
+ ISCFeature.CUSTOM_GRID_ENTITIES,
112
+ ISCFeature.DISABLE_INPUTS,
113
+ ISCFeature.PONY_DETECTION,
114
+ ISCFeature.ROOM_CLEAR_FRAME,
115
+ ISCFeature.RUN_IN_N_FRAMES,
116
+ ISCFeature.RUN_NEXT_ROOM,
117
+ ISCFeature.STAGE_HISTORY,
121
118
  ];
122
119
  this.callbacksUsed = [
123
120
  // 2
124
- [isaac_typescript_definitions_1.ModCallback.POST_RENDER, this.postRender],
121
+ [ModCallback.POST_RENDER, this.postRender],
125
122
  ];
126
123
  this.customCallbacksUsed = [
127
124
  [
128
- ModCallbackCustom_1.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE,
125
+ ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE,
129
126
  this.postGridEntityCustomUpdateTrapdoor,
130
- [GridEntityTypeCustom_1.GridEntityTypeCustom.TRAPDOOR_CUSTOM],
127
+ [GridEntityTypeCustom.TRAPDOOR_CUSTOM],
131
128
  ],
132
129
  [
133
- ModCallbackCustom_1.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
130
+ ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
134
131
  this.postPEffectUpdateReordered,
135
132
  ],
136
133
  ];
@@ -143,15 +140,15 @@ class CustomTrapdoors extends Feature_1.Feature {
143
140
  this.stageHistory = stageHistory;
144
141
  }
145
142
  checkAllPlayersJumpComplete() {
146
- if (v.run.state !== StageTravelState_1.StageTravelState.PLAYERS_JUMPING_DOWN) {
143
+ if (v.run.state !== StageTravelState.PLAYERS_JUMPING_DOWN) {
147
144
  return;
148
145
  }
149
146
  if (anyPlayerPlayingExtraAnimation()) {
150
147
  return;
151
148
  }
152
149
  const renderFrameCount = Isaac.GetFrameCount();
153
- const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
154
- v.run.state = StageTravelState_1.StageTravelState.PIXELATION_TO_BLACK;
150
+ const roomGridIndex = getRoomGridIndex();
151
+ v.run.state = StageTravelState.PIXELATION_TO_BLACK;
155
152
  v.run.stateRenderFrame = renderFrameCount;
156
153
  this.logStateChanged();
157
154
  // In order to display the pixelation effect that should happen when we go to a new floor, we
@@ -159,24 +156,24 @@ class CustomTrapdoors extends Feature_1.Feature {
159
156
  // do not have to worry about Curse of the Maze here, because even if we are taken to a
160
157
  // different room, it will not matter, since we will be traveling to a new floor after the
161
158
  // screen fades to black.)
162
- (0, roomTransition_1.teleport)(roomGridIndex, isaac_typescript_definitions_1.Direction.NO_DIRECTION, isaac_typescript_definitions_1.RoomTransitionAnim.PIXELATION);
159
+ teleport(roomGridIndex, Direction.NO_DIRECTION, RoomTransitionAnim.PIXELATION);
163
160
  // Next, we wait a certain amount of render frames for the pixelation to fade the screen to
164
161
  // black.
165
162
  }
166
163
  checkPixelationToBlackComplete() {
167
- if (v.run.state !== StageTravelState_1.StageTravelState.PIXELATION_TO_BLACK
164
+ if (v.run.state !== StageTravelState.PIXELATION_TO_BLACK
168
165
  || v.run.stateRenderFrame === null) {
169
166
  return;
170
167
  }
171
168
  const renderFrameScreenBlack = v.run.stateRenderFrame + PIXELATION_TO_BLACK_FRAMES;
172
- if ((0, frames_1.isBeforeRenderFrame)(renderFrameScreenBlack)) {
169
+ if (isBeforeRenderFrame(renderFrameScreenBlack)) {
173
170
  return;
174
171
  }
175
- v.run.state = StageTravelState_1.StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END;
172
+ v.run.state = StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END;
176
173
  this.logStateChanged();
177
174
  // Now, we display a black sprite on top of the pixelation effect, to prevent showing the rest
178
175
  // of the animation.
179
- const hud = cachedClasses_1.game.GetHUD();
176
+ const hud = game.GetHUD();
180
177
  hud.SetVisible(false);
181
178
  // If the pixelation effect is not fully allowed to complete, the game's internal buffer will
182
179
  // not be flushed. The consequence of this is that after 11 custom stage transitions, the
@@ -184,24 +181,24 @@ class CustomTrapdoors extends Feature_1.Feature {
184
181
  // In order to work around this, we fully let the animation complete by only continuing the
185
182
  // stage transition on the next game frame.
186
183
  this.runInNFrames.runNextGameFrame(() => {
187
- const level = cachedClasses_1.game.GetLevel();
184
+ const level = game.GetLevel();
188
185
  const startingRoomIndex = level.GetStartingRoomIndex();
189
186
  const futureRenderFrameCount = Isaac.GetFrameCount();
190
187
  v.run.state =
191
- StageTravelState_1.StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY;
188
+ StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY;
192
189
  v.run.stateRenderFrame = futureRenderFrameCount;
193
190
  this.goToCustomTrapdoorDestination();
194
191
  // Start another pixelation effect. This time, we will keep the screen black with the sprite,
195
192
  // and then remove the black sprite once the pixelation effect is halfway complete.
196
- (0, roomTransition_1.teleport)(startingRoomIndex, isaac_typescript_definitions_1.Direction.NO_DIRECTION, isaac_typescript_definitions_1.RoomTransitionAnim.PIXELATION);
193
+ teleport(startingRoomIndex, Direction.NO_DIRECTION, RoomTransitionAnim.PIXELATION);
197
194
  });
198
195
  }
199
196
  goToCustomTrapdoorDestination() {
200
197
  // This should never be null. Regardless, we provide some sane default values.
201
198
  v.run.customTrapdoorActivated ??= {
202
199
  destinationName: undefined,
203
- destinationStage: isaac_typescript_definitions_1.LevelStage.BASEMENT_1,
204
- destinationStageType: isaac_typescript_definitions_1.StageType.ORIGINAL,
200
+ destinationStage: LevelStage.BASEMENT_1,
201
+ destinationStageType: StageType.ORIGINAL,
205
202
  open: true,
206
203
  firstSpawn: true,
207
204
  };
@@ -220,33 +217,33 @@ class CustomTrapdoors extends Feature_1.Feature {
220
217
  }
221
218
  checkSecondPixelationHalfWay() {
222
219
  if (v.run.state
223
- !== StageTravelState_1.StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
220
+ !== StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
224
221
  || v.run.stateRenderFrame === null) {
225
222
  return;
226
223
  }
227
224
  const renderFrameScreenBlack = v.run.stateRenderFrame + PIXELATION_TO_BLACK_FRAMES;
228
- if ((0, frames_1.isBeforeRenderFrame)(renderFrameScreenBlack)) {
225
+ if (isBeforeRenderFrame(renderFrameScreenBlack)) {
229
226
  return;
230
227
  }
231
- v.run.state = StageTravelState_1.StageTravelState.PIXELATION_TO_ROOM;
228
+ v.run.state = StageTravelState.PIXELATION_TO_ROOM;
232
229
  this.logStateChanged();
233
- const hud = cachedClasses_1.game.GetHUD();
230
+ const hud = game.GetHUD();
234
231
  hud.SetVisible(true);
235
232
  this.runNextRoom.runNextRoom(() => {
236
- v.run.state = StageTravelState_1.StageTravelState.PLAYERS_LAYING_DOWN;
233
+ v.run.state = StageTravelState.PLAYERS_LAYING_DOWN;
237
234
  this.logStateChanged();
238
235
  // After the room transition, the players will be placed next to a door, but they should be in
239
236
  // the center of the room to emulate what happens on a vanilla stage.
240
- (0, playerCenter_1.movePlayersToCenter)();
241
- for (const player of (0, playerIndex_1.getAllPlayers)()) {
237
+ movePlayersToCenter();
238
+ for (const player of getAllPlayers()) {
242
239
  player.AnimateAppear();
243
240
  // We need to restore the original collision classes.
244
- player.EntityCollisionClass = isaac_typescript_definitions_1.EntityCollisionClass.ALL;
245
- player.GridCollisionClass = isaac_typescript_definitions_1.EntityGridCollisionClass.GROUND;
241
+ player.EntityCollisionClass = EntityCollisionClass.ALL;
242
+ player.GridCollisionClass = EntityGridCollisionClass.GROUND;
246
243
  }
247
- const level = cachedClasses_1.game.GetLevel();
244
+ const level = game.GetLevel();
248
245
  const stage = level.GetStage();
249
- if (stage !== constants_2.CUSTOM_FLOOR_STAGE) {
246
+ if (stage !== CUSTOM_FLOOR_STAGE) {
250
247
  // The vanilla streak text shows just before the player stands up, which is a few frames
251
248
  // from now. We arbitrarily play it now instead of waiting to avoid the extra complexity.
252
249
  level.ShowName(false);
@@ -254,22 +251,22 @@ class CustomTrapdoors extends Feature_1.Feature {
254
251
  });
255
252
  }
256
253
  checkAllPlayersLayingDownComplete() {
257
- if (v.run.state !== StageTravelState_1.StageTravelState.PLAYERS_LAYING_DOWN) {
254
+ if (v.run.state !== StageTravelState.PLAYERS_LAYING_DOWN) {
258
255
  return;
259
256
  }
260
257
  if (anyPlayerPlayingExtraAnimation()) {
261
258
  return;
262
259
  }
263
- v.run.state = StageTravelState_1.StageTravelState.NONE;
260
+ v.run.state = StageTravelState.NONE;
264
261
  this.logStateChanged();
265
- const tstlClassName = (0, tstlClass_1.getTSTLClassName)(this);
266
- (0, utils_1.assertDefined)(tstlClassName, "Failed to find get the class name for the custom trapdoor feature.");
262
+ const tstlClassName = getTSTLClassName(this);
263
+ assertDefined(tstlClassName, "Failed to find get the class name for the custom trapdoor feature.");
267
264
  this.disableInputs.enableAllInputs(tstlClassName);
268
265
  }
269
266
  drawBlackSprite() {
270
- if (v.run.state !== StageTravelState_1.StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END
267
+ if (v.run.state !== StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END
271
268
  && v.run.state
272
- !== StageTravelState_1.StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY) {
269
+ !== StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY) {
273
270
  return;
274
271
  }
275
272
  if (!this.blackSprite.IsLoaded()) {
@@ -277,7 +274,7 @@ class CustomTrapdoors extends Feature_1.Feature {
277
274
  this.blackSprite.SetFrame("Scene", 0);
278
275
  this.blackSprite.Scale = Vector(100, 100);
279
276
  }
280
- this.blackSprite.RenderLayer(0, constants_1.VectorZero);
277
+ this.blackSprite.RenderLayer(0, VectorZero);
281
278
  }
282
279
  checkCustomTrapdoorOpenClose(gridEntity, trapdoorDescription) {
283
280
  /** By default, trapdoors will never close if they are already open. */
@@ -287,9 +284,9 @@ class CustomTrapdoors extends Feature_1.Feature {
287
284
  const sprite = gridEntity.GetSprite();
288
285
  const animation = sprite.GetAnimation();
289
286
  // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
290
- if (animation === TrapdoorAnimation_1.TrapdoorAnimation.CLOSED) {
287
+ if (animation === TrapdoorAnimation.CLOSED) {
291
288
  // Try it again.
292
- sprite.Play(TrapdoorAnimation_1.TrapdoorAnimation.OPEN_ANIMATION, true);
289
+ sprite.Play(TrapdoorAnimation.OPEN_ANIMATION, true);
293
290
  }
294
291
  return;
295
292
  }
@@ -298,33 +295,33 @@ class CustomTrapdoors extends Feature_1.Feature {
298
295
  }
299
296
  }
300
297
  shouldTrapdoorOpen(gridEntity, firstSpawn) {
301
- const room = cachedClasses_1.game.GetRoom();
298
+ const room = game.GetRoom();
302
299
  const roomClear = room.IsClear();
303
- return (!(0, positionVelocity_1.anyPlayerCloserThan)(gridEntity.Position, TRAPDOOR_OPEN_DISTANCE)
300
+ return (!anyPlayerCloserThan(gridEntity.Position, TRAPDOOR_OPEN_DISTANCE)
304
301
  && !this.isPlayerCloseAfterBoss(gridEntity.Position)
305
302
  && !shouldBeClosedFromStartingInRoomWithEnemies(firstSpawn, roomClear));
306
303
  }
307
304
  isPlayerCloseAfterBoss(position) {
308
- const room = cachedClasses_1.game.GetRoom();
305
+ const room = game.GetRoom();
309
306
  const roomType = room.GetType();
310
307
  const roomClearGameFrame = this.roomClearFrame.getRoomClearGameFrame();
311
308
  // In order to prevent a player from accidentally entering a freshly-spawned trapdoor after
312
309
  // killing the boss of the floor, we use a wider open distance for a short amount of frames.
313
310
  if (roomClearGameFrame === undefined
314
- || roomType !== isaac_typescript_definitions_1.RoomType.BOSS
315
- || (0, frames_1.onOrAfterRenderFrame)(roomClearGameFrame + TRAPDOOR_BOSS_REACTION_FRAMES)) {
311
+ || roomType !== RoomType.BOSS
312
+ || onOrAfterRenderFrame(roomClearGameFrame + TRAPDOOR_BOSS_REACTION_FRAMES)) {
316
313
  return false;
317
314
  }
318
- return (0, positionVelocity_1.anyPlayerCloserThan)(position, TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS);
315
+ return anyPlayerCloserThan(position, TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS);
319
316
  }
320
317
  checkCustomTrapdoorPlayerTouched(gridEntity, trapdoorDescription) {
321
- if (v.run.state !== StageTravelState_1.StageTravelState.NONE) {
318
+ if (v.run.state !== StageTravelState.NONE) {
322
319
  return;
323
320
  }
324
321
  if (!trapdoorDescription.open) {
325
322
  return;
326
323
  }
327
- const playersTouching = Isaac.FindInRadius(gridEntity.Position, TRAPDOOR_TOUCH_DISTANCE, isaac_typescript_definitions_1.EntityPartition.PLAYER);
324
+ const playersTouching = Isaac.FindInRadius(gridEntity.Position, TRAPDOOR_TOUCH_DISTANCE, EntityPartition.PLAYER);
328
325
  for (const playerEntity of playersTouching) {
329
326
  const player = playerEntity.ToPlayer();
330
327
  if (player === undefined) {
@@ -333,7 +330,7 @@ class CustomTrapdoors extends Feature_1.Feature {
333
330
  if (
334
331
  // We don't want a Pony dash to transition to a new floor or a crawl space.
335
332
  !this.ponyDetection.isPlayerUsingPony(player)
336
- && !(0, playerIndex_1.isChildPlayer)(player)
333
+ && !isChildPlayer(player)
337
334
  && canPlayerInteractWithTrapdoor(player)) {
338
335
  this.playerTouchedCustomTrapdoor(gridEntity, trapdoorDescription, player);
339
336
  return; // Prevent two players from touching the same entity.
@@ -341,23 +338,23 @@ class CustomTrapdoors extends Feature_1.Feature {
341
338
  }
342
339
  }
343
340
  playerTouchedCustomTrapdoor(gridEntity, trapdoorDescription, player) {
344
- v.run.state = StageTravelState_1.StageTravelState.PLAYERS_JUMPING_DOWN;
341
+ v.run.state = StageTravelState.PLAYERS_JUMPING_DOWN;
345
342
  v.run.customTrapdoorActivated = trapdoorDescription;
346
343
  this.logStateChanged();
347
- const tstlClassName = (0, tstlClass_1.getTSTLClassName)(this);
348
- (0, utils_1.assertDefined)(tstlClassName, "Failed to find get the class name for the custom trapdoor feature.");
344
+ const tstlClassName = getTSTLClassName(this);
345
+ assertDefined(tstlClassName, "Failed to find get the class name for the custom trapdoor feature.");
349
346
  // We don't want to allow pausing, since that will allow render frames to pass without advancing
350
347
  // the stage traveling logic. (We track how many render frames have passed to know when to move
351
348
  // to the next step.)
352
- const buttonActionConsole = (0, utils_1.isRepentancePlus)()
353
- ? isaac_typescript_definitions_1.ButtonAction.CONSOLE_REPENTANCE_PLUS
354
- : isaac_typescript_definitions_1.ButtonAction.CONSOLE_REPENTANCE;
355
- const whitelist = new ReadonlySet_1.ReadonlySet([buttonActionConsole]);
349
+ const buttonActionConsole = isRepentancePlus()
350
+ ? ButtonAction.CONSOLE_REPENTANCE_PLUS
351
+ : ButtonAction.CONSOLE_REPENTANCE;
352
+ const whitelist = new ReadonlySet([buttonActionConsole]);
356
353
  this.disableInputs.disableAllInputsExceptFor(tstlClassName, whitelist);
357
354
  setPlayerAttributes(player, gridEntity.Position);
358
355
  dropTaintedForgotten(player);
359
356
  player.PlayExtraAnimation("Trapdoor");
360
- const otherPlayers = (0, playerIndex_1.getOtherPlayers)(player);
357
+ const otherPlayers = getOtherPlayers(player);
361
358
  for (const [i, otherPlayer] of otherPlayers.entries()) {
362
359
  const gameFramesToWaitBeforeJumping = OTHER_PLAYER_TRAPDOOR_JUMP_DELAY_GAME_FRAMES * (i + 1);
363
360
  const otherPlayerPtr = EntityPtr(otherPlayer);
@@ -379,7 +376,7 @@ class CustomTrapdoors extends Feature_1.Feature {
379
376
  this.adjustPlayerPositionToTrapdoor(entityPtr, player.Position, trapdoorPosition);
380
377
  }
381
378
  adjustPlayerPositionToTrapdoor(entityPtr, startPos, endPos) {
382
- if (v.run.state !== StageTravelState_1.StageTravelState.PLAYERS_JUMPING_DOWN) {
379
+ if (v.run.state !== StageTravelState.PLAYERS_JUMPING_DOWN) {
383
380
  return;
384
381
  }
385
382
  const entity = entityPtr.Ref;
@@ -396,28 +393,28 @@ class CustomTrapdoors extends Feature_1.Feature {
396
393
  const sprite = player.GetSprite();
397
394
  if (sprite.IsFinished("Trapdoor")) {
398
395
  player.Position = endPos;
399
- player.Velocity = constants_1.VectorZero;
396
+ player.Velocity = VectorZero;
400
397
  return;
401
398
  }
402
399
  const frame = sprite.GetFrame();
403
400
  if (frame >= OTHER_PLAYER_TRAPDOOR_JUMP_DURATION_GAME_FRAMES) {
404
401
  // We have already arrived at the trapdoor.
405
402
  player.Position = endPos;
406
- player.Velocity = constants_1.VectorZero;
403
+ player.Velocity = VectorZero;
407
404
  return;
408
405
  }
409
406
  // Make the player jump towards the trapdoor. We use an easing function so that the distance
410
407
  // traveled is not linear, emulating what the game does.
411
408
  const totalDifference = endPos.sub(startPos);
412
409
  const progress = frame / OTHER_PLAYER_TRAPDOOR_JUMP_DURATION_GAME_FRAMES;
413
- const easeProgress = (0, easing_1.easeOutSine)(progress);
410
+ const easeProgress = easeOutSine(progress);
414
411
  const differenceForThisFrame = totalDifference.mul(easeProgress);
415
412
  const targetPosition = startPos.add(differenceForThisFrame);
416
413
  player.Position = targetPosition;
417
- player.Velocity = constants_1.VectorZero;
414
+ player.Velocity = VectorZero;
418
415
  }
419
416
  checkJumpComplete(player) {
420
- if (v.run.state !== StageTravelState_1.StageTravelState.PLAYERS_JUMPING_DOWN) {
417
+ if (v.run.state !== StageTravelState.PLAYERS_JUMPING_DOWN) {
421
418
  return;
422
419
  }
423
420
  // In this state, the players are jumping down the hole (i.e. playing the "Trapdoor" animation).
@@ -435,10 +432,10 @@ class CustomTrapdoors extends Feature_1.Feature {
435
432
  // into them.
436
433
  // - Trapdoors created by We Need to Go Deeper should spawn closed because the player will be
437
434
  // standing on top of them.
438
- if ((0, frames_1.isAfterRoomFrame)(0)) {
435
+ if (isAfterRoomFrame(0)) {
439
436
  return false;
440
437
  }
441
- const room = cachedClasses_1.game.GetRoom();
438
+ const room = game.GetRoom();
442
439
  const roomClear = room.IsClear();
443
440
  // If we just entered a new room with enemies in it, spawn the trapdoor closed so that the
444
441
  // player has to defeat the enemies first before using the trapdoor.
@@ -451,7 +448,7 @@ class CustomTrapdoors extends Feature_1.Feature {
451
448
  }
452
449
  logStateChanged() {
453
450
  if (DEBUG) {
454
- (0, log_1.log)(`Custom trapdoors state changed: ${StageTravelState_1.StageTravelState[v.run.state]} (${v.run.state})`);
451
+ log(`Custom trapdoors state changed: ${StageTravelState[v.run.state]} (${v.run.state})`);
455
452
  }
456
453
  }
457
454
  /**
@@ -524,13 +521,13 @@ class CustomTrapdoors extends Feature_1.Feature {
524
521
  }
525
522
  destinationStage ??= this.stageHistory.getNextStageWithHistory();
526
523
  destinationStageType ??= this.stageHistory.getNextStageTypeWithHistory();
527
- const room = cachedClasses_1.game.GetRoom();
528
- const roomListIndex = (0, roomData_1.getRoomListIndex)();
529
- const gridIndex = (0, vector_1.isVector)(gridIndexOrPosition)
524
+ const room = game.GetRoom();
525
+ const roomListIndex = getRoomListIndex();
526
+ const gridIndex = isVector(gridIndexOrPosition)
530
527
  ? room.GetGridIndex(gridIndexOrPosition)
531
528
  : gridIndexOrPosition;
532
- const gridEntity = this.customGridEntities.spawnCustomGridEntity(GridEntityTypeCustom_1.GridEntityTypeCustom.TRAPDOOR_CUSTOM, gridIndexOrPosition, isaac_typescript_definitions_1.GridCollisionClass.NONE, anm2Path, TrapdoorAnimation_1.TrapdoorAnimation.OPENED);
533
- const firstSpawn = (0, frames_1.isAfterRoomFrame)(0);
529
+ const gridEntity = this.customGridEntities.spawnCustomGridEntity(GridEntityTypeCustom.TRAPDOOR_CUSTOM, gridIndexOrPosition, GridCollisionClass.NONE, anm2Path, TrapdoorAnimation.OPENED);
530
+ const firstSpawn = isAfterRoomFrame(0);
534
531
  const open = spawnOpen ?? this.shouldTrapdoorSpawnOpen(gridEntity, firstSpawn);
535
532
  const roomTrapdoorMap = v.level.trapdoors.getAndSetDefault(roomListIndex);
536
533
  const customTrapdoorDescription = {
@@ -543,21 +540,20 @@ class CustomTrapdoors extends Feature_1.Feature {
543
540
  roomTrapdoorMap.set(gridIndex, customTrapdoorDescription);
544
541
  const sprite = gridEntity.GetSprite();
545
542
  const animation = open
546
- ? TrapdoorAnimation_1.TrapdoorAnimation.OPENED
547
- : TrapdoorAnimation_1.TrapdoorAnimation.CLOSED;
543
+ ? TrapdoorAnimation.OPENED
544
+ : TrapdoorAnimation.CLOSED;
548
545
  sprite.Play(animation, true);
549
546
  return gridEntity;
550
547
  }
551
548
  }
552
- exports.CustomTrapdoors = CustomTrapdoors;
553
549
  __decorate([
554
- decorators_1.Exported
550
+ Exported
555
551
  ], CustomTrapdoors.prototype, "registerCustomTrapdoorDestination", null);
556
552
  __decorate([
557
- decorators_1.Exported
553
+ Exported
558
554
  ], CustomTrapdoors.prototype, "spawnCustomTrapdoor", null);
559
555
  function anyPlayerPlayingExtraAnimation() {
560
- const players = (0, playerIndex_1.getAllPlayers)();
556
+ const players = getAllPlayers();
561
557
  return players.some((player) => !player.IsExtraAnimationFinished());
562
558
  }
563
559
  function shouldBeClosedFromStartingInRoomWithEnemies(firstSpawn, roomClear) {
@@ -566,7 +562,7 @@ function shouldBeClosedFromStartingInRoomWithEnemies(firstSpawn, roomClear) {
566
562
  function openCustomTrapdoor(gridEntity, trapdoorDescription) {
567
563
  trapdoorDescription.open = true;
568
564
  const sprite = gridEntity.GetSprite();
569
- sprite.Play(TrapdoorAnimation_1.TrapdoorAnimation.OPEN_ANIMATION, true);
565
+ sprite.Play(TrapdoorAnimation.OPEN_ANIMATION, true);
570
566
  }
571
567
  function canPlayerInteractWithTrapdoor(player) {
572
568
  // Players cannot interact with stage travel entities when items are queued or while playing
@@ -579,28 +575,28 @@ function canPlayerInteractWithTrapdoor(player) {
579
575
  function setPlayerAttributes(trapdoorPlayer, position) {
580
576
  // Snap the player to the exact position of the trapdoor so that they cleanly jump down the hole.
581
577
  trapdoorPlayer.Position = position;
582
- for (const player of (0, playerIndex_1.getAllPlayers)()) {
578
+ for (const player of getAllPlayers()) {
583
579
  // Disable the controls to prevent the player from moving, shooting, and so on. (We also disable
584
580
  // the inputs in the `INPUT_ACTION` callback, but that does not prevent mouse inputs.)
585
581
  player.ControlsEnabled = false;
586
582
  // Freeze all players.
587
- player.Velocity = constants_1.VectorZero;
583
+ player.Velocity = VectorZero;
588
584
  // We don't want enemy attacks to move the players.
589
- player.EntityCollisionClass = isaac_typescript_definitions_1.EntityCollisionClass.NONE;
590
- player.GridCollisionClass = isaac_typescript_definitions_1.EntityGridCollisionClass.NONE;
585
+ player.EntityCollisionClass = EntityCollisionClass.NONE;
586
+ player.GridCollisionClass = EntityGridCollisionClass.NONE;
591
587
  player.StopExtraAnimation();
592
588
  }
593
589
  }
594
590
  function dropTaintedForgotten(player) {
595
- if (!(0, players_1.isCharacter)(player, isaac_typescript_definitions_1.PlayerType.FORGOTTEN_B)) {
591
+ if (!isCharacter(player, PlayerType.FORGOTTEN_B)) {
596
592
  return;
597
593
  }
598
594
  const taintedSoul = player.GetOtherTwin();
599
595
  if (taintedSoul !== undefined) {
600
- taintedSoul.ThrowHeldEntity(constants_1.VectorZero);
596
+ taintedSoul.ThrowHeldEntity(VectorZero);
601
597
  }
602
598
  }
603
599
  /** The default `destinationFunc` for a custom trapdoor. */
604
600
  function goToVanillaStage(_destinationName, destinationStage, destinationStageType) {
605
- (0, stage_1.setStage)(destinationStage, destinationStageType);
601
+ setStage(destinationStage, destinationStageType);
606
602
  }