isaacscript-common 6.6.1-dev.1 → 6.6.1-dev.2

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 (412) hide show
  1. package/cachedClasses.d.ts +1 -0
  2. package/cachedClasses.js +59 -0
  3. package/callbacks/customRevive.js +153 -0
  4. package/callbacks/itemPickup.js +64 -0
  5. package/callbacks/postAmbush.js +54 -0
  6. package/callbacks/postBombExploded.js +20 -0
  7. package/callbacks/postBombInitLate.js +28 -0
  8. package/callbacks/postBoneSwing.js +49 -0
  9. package/callbacks/postCollectibleEmpty.js +32 -0
  10. package/callbacks/postCollectibleInitFirst.js +27 -0
  11. package/callbacks/postCursedTeleport.js +120 -0
  12. package/callbacks/postCustomDoorEnter.js +205 -0
  13. package/callbacks/postDiceRoomActivated.js +39 -0
  14. package/callbacks/postDoorRender.js +20 -0
  15. package/callbacks/postDoorUpdate.js +20 -0
  16. package/callbacks/postEffectInitLate.js +28 -0
  17. package/callbacks/postEffectStateChanged.js +31 -0
  18. package/callbacks/postEsauJr.js +70 -0
  19. package/callbacks/postFamiliarInitLate.js +28 -0
  20. package/callbacks/postFamiliarStateChanged.js +31 -0
  21. package/callbacks/postFlip.js +59 -0
  22. package/callbacks/postGreedModeWave.js +31 -0
  23. package/callbacks/postGridEntity.js +107 -0
  24. package/callbacks/postGridEntityCollision.js +49 -0
  25. package/callbacks/postGridEntityRender.js +20 -0
  26. package/callbacks/postHolyMantleRemoved.js +33 -0
  27. package/callbacks/postItemDischarged.js +94 -0
  28. package/callbacks/postKnifeInitLate.js +28 -0
  29. package/callbacks/postLaserInitLate.js +28 -0
  30. package/callbacks/postNPCInitLate.js +28 -0
  31. package/callbacks/postNPCStateChanged.js +31 -0
  32. package/callbacks/postNewRoomEarly.js +69 -0
  33. package/callbacks/postPickupCollect.js +37 -0
  34. package/callbacks/postPickupInitFirst.js +52 -0
  35. package/callbacks/postPickupInitLate.js +28 -0
  36. package/callbacks/postPickupStateChanged.js +31 -0
  37. package/callbacks/postPitRender.js +20 -0
  38. package/callbacks/postPitUpdate.js +20 -0
  39. package/callbacks/postPlayerChangeHealth.js +43 -0
  40. package/callbacks/postPlayerChangeType.js +31 -0
  41. package/callbacks/postPlayerCollectible.js +74 -0
  42. package/callbacks/postPlayerFatalDamage.js +74 -0
  43. package/callbacks/postPlayerInitLate.js +28 -0
  44. package/callbacks/postPlayerReordered.js +109 -0
  45. package/callbacks/postPoopRender.js +20 -0
  46. package/callbacks/postPoopUpdate.js +20 -0
  47. package/callbacks/postPressurePlateRender.js +20 -0
  48. package/callbacks/postPressurePlateUpdate.js +20 -0
  49. package/callbacks/postProjectileInitLate.js +28 -0
  50. package/callbacks/postPurchase.js +39 -0
  51. package/callbacks/postRockRender.js +20 -0
  52. package/callbacks/postRockUpdate.js +20 -0
  53. package/callbacks/postRoomClearChanged.js +41 -0
  54. package/callbacks/postSacrifice.js +38 -0
  55. package/callbacks/postSlotDestroyed.js +64 -0
  56. package/callbacks/postSlotInitUpdate.js +49 -0
  57. package/callbacks/postSlotRender.js +48 -0
  58. package/callbacks/postSpikesRender.js +20 -0
  59. package/callbacks/postSpikesUpdate.js +20 -0
  60. package/callbacks/postTNTRender.js +20 -0
  61. package/callbacks/postTNTUpdate.js +20 -0
  62. package/callbacks/postTearInitLate.js +28 -0
  63. package/callbacks/postTearInitVeryLate.js +32 -0
  64. package/callbacks/postTransformation.js +37 -0
  65. package/callbacks/postTrinketBreak.js +64 -0
  66. package/callbacks/preBerserkDeath.js +35 -0
  67. package/callbacks/preNewLevel.js +45 -0
  68. package/callbacks/reorderedCallbacks.js +136 -0
  69. package/callbacks/subscriptions/postAmbushFinished.js +20 -0
  70. package/callbacks/subscriptions/postAmbushStarted.js +20 -0
  71. package/callbacks/subscriptions/postBombInitLate.js +20 -0
  72. package/callbacks/subscriptions/postBoneExploded.js +20 -0
  73. package/callbacks/subscriptions/postBoneSwing.js +16 -0
  74. package/callbacks/subscriptions/postCollectibleEmpty.js +21 -0
  75. package/callbacks/subscriptions/postCollectibleInitFirst.js +21 -0
  76. package/callbacks/subscriptions/postCursedTeleport.js +16 -0
  77. package/callbacks/subscriptions/postCustomDoorEnter.js +21 -0
  78. package/callbacks/subscriptions/postCustomRevive.js +21 -0
  79. package/callbacks/subscriptions/postDiceRoomActivated.js +21 -0
  80. package/callbacks/subscriptions/postDoorRender.js +22 -0
  81. package/callbacks/subscriptions/postDoorUpdate.js +22 -0
  82. package/callbacks/subscriptions/postEffectInitLate.js +20 -0
  83. package/callbacks/subscriptions/postEffectStateChanged.js +20 -0
  84. package/callbacks/subscriptions/postEsauJr.js +16 -0
  85. package/callbacks/subscriptions/postFamiliarInitLate.js +20 -0
  86. package/callbacks/subscriptions/postFamiliarStateChanged.js +20 -0
  87. package/callbacks/subscriptions/postFirstEsauJr.js +16 -0
  88. package/callbacks/subscriptions/postFirstFlip.js +16 -0
  89. package/callbacks/subscriptions/postFlip.js +16 -0
  90. package/callbacks/subscriptions/postGameStartedReordered.js +16 -0
  91. package/callbacks/subscriptions/postGreedModeWave.js +16 -0
  92. package/callbacks/subscriptions/postGridEntityBroken.js +28 -0
  93. package/callbacks/subscriptions/postGridEntityCollision.js +28 -0
  94. package/callbacks/subscriptions/postGridEntityInit.js +28 -0
  95. package/callbacks/subscriptions/postGridEntityRemove.js +26 -0
  96. package/callbacks/subscriptions/postGridEntityRender.js +28 -0
  97. package/callbacks/subscriptions/postGridEntityStateChanged.js +28 -0
  98. package/callbacks/subscriptions/postGridEntityUpdate.js +28 -0
  99. package/callbacks/subscriptions/postHolyMantleRemoved.js +25 -0
  100. package/callbacks/subscriptions/postItemDischarged.js +21 -0
  101. package/callbacks/subscriptions/postItemPickup.js +25 -0
  102. package/callbacks/subscriptions/postKnifeInitLate.js +20 -0
  103. package/callbacks/subscriptions/postLaserInitLate.js +20 -0
  104. package/callbacks/subscriptions/postNPCInitLate.js +20 -0
  105. package/callbacks/subscriptions/postNPCStateChanged.js +24 -0
  106. package/callbacks/subscriptions/postNewLevelReordered.js +16 -0
  107. package/callbacks/subscriptions/postNewRoomEarly.js +16 -0
  108. package/callbacks/subscriptions/postNewRoomReordered.js +16 -0
  109. package/callbacks/subscriptions/postPEffectUpdateReordered.js +25 -0
  110. package/callbacks/subscriptions/postPickupCollect.js +20 -0
  111. package/callbacks/subscriptions/postPickupInitFirst.js +20 -0
  112. package/callbacks/subscriptions/postPickupInitLate.js +20 -0
  113. package/callbacks/subscriptions/postPickupStateChanged.js +20 -0
  114. package/callbacks/subscriptions/postPitRender.js +22 -0
  115. package/callbacks/subscriptions/postPitUpdate.js +22 -0
  116. package/callbacks/subscriptions/postPlayerChangeHealth.js +25 -0
  117. package/callbacks/subscriptions/postPlayerChangeType.js +20 -0
  118. package/callbacks/subscriptions/postPlayerCollectibleAdded.js +21 -0
  119. package/callbacks/subscriptions/postPlayerCollectibleRemoved.js +21 -0
  120. package/callbacks/subscriptions/postPlayerFatalDamage.js +29 -0
  121. package/callbacks/subscriptions/postPlayerInitLate.js +25 -0
  122. package/callbacks/subscriptions/postPlayerInitReordered.js +25 -0
  123. package/callbacks/subscriptions/postPlayerRenderReordered.js +25 -0
  124. package/callbacks/subscriptions/postPlayerUpdateReordered.js +25 -0
  125. package/callbacks/subscriptions/postPoopRender.js +22 -0
  126. package/callbacks/subscriptions/postPoopUpdate.js +22 -0
  127. package/callbacks/subscriptions/postPressurePlateRender.js +22 -0
  128. package/callbacks/subscriptions/postPressurePlateUpdate.js +22 -0
  129. package/callbacks/subscriptions/postProjectileInitLate.js +21 -0
  130. package/callbacks/subscriptions/postPurchase.js +16 -0
  131. package/callbacks/subscriptions/postRockRender.js +22 -0
  132. package/callbacks/subscriptions/postRockUpdate.js +22 -0
  133. package/callbacks/subscriptions/postRoomClearChanged.js +20 -0
  134. package/callbacks/subscriptions/postSacrifice.js +25 -0
  135. package/callbacks/subscriptions/postSlotAnimationChanged.js +20 -0
  136. package/callbacks/subscriptions/postSlotDestroyed.js +26 -0
  137. package/callbacks/subscriptions/postSlotInit.js +20 -0
  138. package/callbacks/subscriptions/postSlotRender.js +20 -0
  139. package/callbacks/subscriptions/postSlotUpdate.js +20 -0
  140. package/callbacks/subscriptions/postSpikesRender.js +22 -0
  141. package/callbacks/subscriptions/postSpikesUpdate.js +22 -0
  142. package/callbacks/subscriptions/postTNTRender.js +22 -0
  143. package/callbacks/subscriptions/postTNTUpdate.js +22 -0
  144. package/callbacks/subscriptions/postTearInitLate.js +20 -0
  145. package/callbacks/subscriptions/postTearInitVeryLate.js +20 -0
  146. package/callbacks/subscriptions/postTransformation.js +20 -0
  147. package/callbacks/subscriptions/postTrinketBreak.js +21 -0
  148. package/callbacks/subscriptions/preBerserkDeath.js +26 -0
  149. package/callbacks/subscriptions/preCustomRevive.js +29 -0
  150. package/callbacks/subscriptions/preItemPickup.js +25 -0
  151. package/callbacks/subscriptions/preNewLevel.js +16 -0
  152. package/classes/DefaultMap.js +145 -0
  153. package/classes/ModUpgraded.js +57 -0
  154. package/constants.js +143 -0
  155. package/constantsFirstLast.js +156 -0
  156. package/enums/AmbushType.js +6 -0
  157. package/enums/CornerType.js +8 -0
  158. package/enums/DecorationVariant.js +11 -0
  159. package/enums/HealthType.js +18 -0
  160. package/enums/ModCallbackCustom.js +1213 -0
  161. package/enums/PocketItemType.js +10 -0
  162. package/enums/RockAltType.js +9 -0
  163. package/enums/SerializationType.js +7 -0
  164. package/enums/SlotDestructionType.js +6 -0
  165. package/enums/private/CopyableIsaacAPIClassType.js +9 -0
  166. package/enums/private/SaveDataKey.js +8 -0
  167. package/enums/private/SerializationBrand.js +41 -0
  168. package/features/characterHealthConversion.js +86 -0
  169. package/features/characterStats.js +52 -0
  170. package/features/collectibleItemPoolType.js +45 -0
  171. package/features/customGridEntity.js +148 -0
  172. package/features/customStage/backdrop.js +191 -0
  173. package/features/customStage/customStageConstants.js +2 -0
  174. package/features/customStage/exports.js +147 -0
  175. package/features/customStage/gridEntities.js +138 -0
  176. package/features/customStage/init.js +104 -0
  177. package/features/customStage/metadata.json +1 -0
  178. package/features/customStage/shadows.js +63 -0
  179. package/features/customStage/streakText.js +35 -0
  180. package/features/customStage/util.js +36 -0
  181. package/features/customStage/v.js +18 -0
  182. package/features/customStage/versusScreen.js +184 -0
  183. package/features/debugDisplay/debugDisplay.js +183 -0
  184. package/features/debugDisplay/exports.js +441 -0
  185. package/features/debugDisplay/v.d.ts +18 -0
  186. package/features/debugDisplay/v.js +61 -0
  187. package/features/deployJSONRoom.js +532 -0
  188. package/features/disableAllSound.js +63 -0
  189. package/features/disableInputs.js +130 -0
  190. package/features/extraConsoleCommands/commandsDisplay.js +236 -0
  191. package/features/extraConsoleCommands/commandsSubroutines.js +109 -0
  192. package/features/extraConsoleCommands/exports.js +53 -0
  193. package/features/extraConsoleCommands/init.js +239 -0
  194. package/features/extraConsoleCommands/listCommands.js +1081 -0
  195. package/features/extraConsoleCommands/v.js +25 -0
  196. package/features/fadeInRemover.js +51 -0
  197. package/features/fastReset.js +61 -0
  198. package/features/forgottenSwitch.js +33 -0
  199. package/features/pause.js +68 -0
  200. package/features/persistentEntities.js +120 -0
  201. package/features/playerInventory.js +89 -0
  202. package/features/ponyDetection.js +63 -0
  203. package/features/preventCollectibleRotation.js +81 -0
  204. package/features/registerHotkey.js +91 -0
  205. package/features/roomClearFrame.js +42 -0
  206. package/features/runInNFrames.js +189 -0
  207. package/features/runNextRoom.js +34 -0
  208. package/features/saveDataManager/exports.js +183 -0
  209. package/features/saveDataManager/load.js +69 -0
  210. package/features/saveDataManager/main.js +131 -0
  211. package/features/saveDataManager/maps.js +9 -0
  212. package/features/saveDataManager/merge.js +139 -0
  213. package/features/saveDataManager/save.js +43 -0
  214. package/features/saveDataManager/saveDataManagerConstants.js +4 -0
  215. package/features/saveDataManager/serializationBrand.js +12 -0
  216. package/features/sirenHelpers.js +90 -0
  217. package/features/stageHistory.js +43 -0
  218. package/features/taintedLazarusPlayers.js +92 -0
  219. package/featuresInitialized.js +16 -0
  220. package/functions/ambush.js +35 -0
  221. package/functions/array.js +423 -0
  222. package/functions/benchmark.js +28 -0
  223. package/functions/bitwise.js +74 -0
  224. package/functions/bombs.js +11 -0
  225. package/functions/boss.js +137 -0
  226. package/functions/cacheFlag.js +11 -0
  227. package/functions/cards.js +217 -0
  228. package/functions/challenges.js +9 -0
  229. package/functions/character.js +102 -0
  230. package/functions/charge.js +202 -0
  231. package/functions/chargeBar.js +44 -0
  232. package/functions/collectibleCacheFlag.js +68 -0
  233. package/functions/collectibleSet.js +108 -0
  234. package/functions/collectibleTag.js +65 -0
  235. package/functions/collectibles.js +469 -0
  236. package/functions/color.d.ts +1 -1
  237. package/functions/color.js +60 -0
  238. package/functions/debug.js +60 -0
  239. package/functions/deepCopy.js +361 -0
  240. package/functions/deepCopyTests.js +308 -0
  241. package/functions/direction.js +41 -0
  242. package/functions/doors.js +326 -0
  243. package/functions/easing.js +142 -0
  244. package/functions/eden.js +32 -0
  245. package/functions/effects.js +11 -0
  246. package/functions/entity.js +324 -0
  247. package/functions/entitySpecific.js +481 -0
  248. package/functions/entityTypes.js +6 -0
  249. package/functions/enums.js +151 -0
  250. package/functions/familiars.js +85 -0
  251. package/functions/flag.js +137 -0
  252. package/functions/flying.js +88 -0
  253. package/functions/globals.js +230 -0
  254. package/functions/gridEntity.js +488 -0
  255. package/functions/gridEntitySpecific.js +109 -0
  256. package/functions/input.js +95 -0
  257. package/functions/isaacAPIClass.js +48 -0
  258. package/functions/jsonHelpers.js +40 -0
  259. package/functions/jsonRoom.js +132 -0
  260. package/functions/kColor.d.ts +1 -1
  261. package/functions/kColor.js +63 -0
  262. package/functions/language.js +13 -0
  263. package/functions/level.js +20 -0
  264. package/functions/log.js +567 -0
  265. package/functions/map.js +45 -0
  266. package/functions/math.js +103 -0
  267. package/functions/mergeTests.js +213 -0
  268. package/functions/minimap.js +80 -0
  269. package/functions/nextStage.js +290 -0
  270. package/functions/npc.js +101 -0
  271. package/functions/pickupVariants.js +47 -0
  272. package/functions/pickups.js +219 -0
  273. package/functions/pills.js +160 -0
  274. package/functions/player.js +808 -0
  275. package/functions/playerCenter.js +50 -0
  276. package/functions/playerDataStructures.js +114 -0
  277. package/functions/playerHealth.js +321 -0
  278. package/functions/playerIndex.js +160 -0
  279. package/functions/pocketItems.js +124 -0
  280. package/functions/positionVelocity.js +136 -0
  281. package/functions/random.js +73 -0
  282. package/functions/revive.js +140 -0
  283. package/functions/rng.d.ts +1 -1
  284. package/functions/rng.js +117 -0
  285. package/functions/roomData.js +174 -0
  286. package/functions/roomGrid.js +81 -0
  287. package/functions/roomShape.js +99 -0
  288. package/functions/rooms.js +487 -0
  289. package/functions/run.js +53 -0
  290. package/functions/saveFile.js +104 -0
  291. package/functions/seeds.js +18 -0
  292. package/functions/serialization.js +52 -0
  293. package/functions/set.js +99 -0
  294. package/functions/sound.js +9 -0
  295. package/functions/spawnCollectible.js +66 -0
  296. package/functions/sprite.js +80 -0
  297. package/functions/stage.js +172 -0
  298. package/functions/string.js +37 -0
  299. package/functions/table.js +143 -0
  300. package/functions/tears.js +31 -0
  301. package/functions/transformations.js +101 -0
  302. package/functions/trinketCacheFlag.js +46 -0
  303. package/functions/trinketGive.js +121 -0
  304. package/functions/trinkets.js +169 -0
  305. package/functions/tstlClass.js +125 -0
  306. package/functions/types.js +27 -0
  307. package/functions/ui.js +124 -0
  308. package/functions/utils.js +172 -0
  309. package/functions/vector.js +68 -0
  310. package/index.js +140 -0
  311. package/initCustomCallbacks.js +133 -0
  312. package/initFeatures.js +51 -0
  313. package/interfaces/AddCallbackParameterCustom.js +2 -0
  314. package/interfaces/ChargeBarSprites.js +2 -0
  315. package/interfaces/Corner.js +2 -0
  316. package/interfaces/CustomGridEntityData.js +2 -0
  317. package/interfaces/CustomStage.js +2 -0
  318. package/interfaces/CustomStageLua.js +13 -0
  319. package/interfaces/JSONRoomsFile.js +2 -0
  320. package/interfaces/PlayerHealth.js +2 -0
  321. package/interfaces/PocketItemDescription.js +2 -0
  322. package/interfaces/SaveData.js +2 -0
  323. package/interfaces/TrinketSituation.js +2 -0
  324. package/interfaces/private/TSTLClassMetatable.js +2 -0
  325. package/maps/PHDPillConversions.js +20 -0
  326. package/maps/cardMap.js +208 -0
  327. package/maps/characterMap.js +86 -0
  328. package/maps/collectibleDescriptionMap.js +728 -0
  329. package/maps/collectibleNameMap.js +727 -0
  330. package/maps/defaultPlayerStatMap.js +14 -0
  331. package/maps/falsePHDPillConversions.js +34 -0
  332. package/maps/gridEntityTypeToBrokenStateMap.js +29 -0
  333. package/maps/gridEntityXMLMap.js +128 -0
  334. package/maps/pillEffectMap.js +88 -0
  335. package/maps/roomShapeToTopLeftWallGridIndexMap.js +14 -0
  336. package/maps/roomTypeMap.js +39 -0
  337. package/maps/trinketDescriptionMap.js +196 -0
  338. package/maps/trinketNameMap.js +195 -0
  339. package/objects/LRoomShapeToRectangles.js +33 -0
  340. package/objects/backdropTypeToRockAltType.js +66 -0
  341. package/objects/bossNamePNGFileNames.js +112 -0
  342. package/objects/bossPortraitPNGFileNames.js +115 -0
  343. package/objects/callbackRegisterFunctions.js +170 -0
  344. package/objects/cardDescriptions.js +104 -0
  345. package/objects/cardNames.js +104 -0
  346. package/objects/cardTypes.js +103 -0
  347. package/objects/challengeNames.js +51 -0
  348. package/objects/characterNames.js +46 -0
  349. package/objects/coinSubTypeToValue.js +13 -0
  350. package/objects/colors.d.ts +1 -0
  351. package/objects/colors.js +24 -0
  352. package/objects/directionNames.js +9 -0
  353. package/objects/directionToDegrees.js +9 -0
  354. package/objects/directionToVector.js +10 -0
  355. package/objects/doorSlotFlagToDoorSlot.js +13 -0
  356. package/objects/doorSlotToDirection.js +13 -0
  357. package/objects/doorSlotToDoorSlotFlag.js +13 -0
  358. package/objects/isaacAPIClassTypeToBrand.js +9 -0
  359. package/objects/isaacAPIClassTypeToCopyFunction.js +12 -0
  360. package/objects/languageNames.js +11 -0
  361. package/objects/oppositeDoorSlots.js +13 -0
  362. package/objects/pillEffectClasses.js +56 -0
  363. package/objects/pillEffectNames.js +55 -0
  364. package/objects/pillEffectTypes.js +55 -0
  365. package/objects/playerNamePNGFileNames.js +55 -0
  366. package/objects/playerPortraitPNGFileNames.js +52 -0
  367. package/objects/roomShapeBounds.js +46 -0
  368. package/objects/roomShapeCorners.js +268 -0
  369. package/objects/roomShapeLayoutSizes.js +39 -0
  370. package/objects/roomShapeToBottomRightPosition.js +22 -0
  371. package/objects/roomShapeToDoorSlotCoordinates.js +109 -0
  372. package/objects/roomShapeToDoorSlots.js +69 -0
  373. package/objects/roomShapeToDoorSlotsToGridIndexDelta.js +113 -0
  374. package/objects/roomShapeToGridWidth.js +18 -0
  375. package/objects/roomShapeToTopLeftPosition.js +23 -0
  376. package/objects/roomShapeVolumes.js +30 -0
  377. package/objects/roomTypeGotoPrefixes.js +33 -0
  378. package/objects/roomTypeNames.js +34 -0
  379. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.js +12 -0
  380. package/objects/stageTypeSuffixes.js +10 -0
  381. package/objects/stageTypeToLetter.js +12 -0
  382. package/objects/transformationNames.js +18 -0
  383. package/objects/versusScreenBackgroundColors.js +36 -0
  384. package/objects/versusScreenDirtSpotColors.js +36 -0
  385. package/package.json +1 -1
  386. package/patchErrorFunctions.js +67 -0
  387. package/sets/LRoomShapesSet.js +8 -0
  388. package/sets/bossSets.js +374 -0
  389. package/sets/charactersThatStartWithAnActiveItemSet.js +15 -0
  390. package/sets/charactersWithBlackHeartFromEternalHeartSet.js +6 -0
  391. package/sets/charactersWithFreeDevilDealsSet.js +3 -0
  392. package/sets/charactersWithNoRedHeartsSet.js +16 -0
  393. package/sets/charactersWithNoSoulHeartsSet.js +13 -0
  394. package/sets/chestPickupVariantsSet.js +16 -0
  395. package/sets/consoleCommandsSet.js +61 -0
  396. package/sets/familiarsThatShootPlayerTearsSet.js +12 -0
  397. package/sets/lostStyleCharactersSet.js +13 -0
  398. package/sets/mineShaftRoomSubTypesSet.js +9 -0
  399. package/sets/narrowRoomShapesSet.js +8 -0
  400. package/sets/redHeartSubTypesSet.js +7 -0
  401. package/sets/sinEntityTypesSet.js +11 -0
  402. package/sets/singleUseActiveCollectibleTypesSet.js +12 -0
  403. package/sets/storyBossesSet.js +17 -0
  404. package/shaderCrashFix.js +17 -0
  405. package/types/AnyEntity.js +2 -0
  406. package/types/CollectibleIndex.js +2 -0
  407. package/types/PickingUpItem.js +38 -0
  408. package/types/PlayerIndex.js +2 -0
  409. package/types/private/IsaacAPIClass.js +2 -0
  410. package/types/private/SerializedIsaacAPIClass.js +2 -0
  411. package/types/private/TSTLClass.js +2 -0
  412. package/upgradeMod.js +47 -0
package/constants.js ADDED
@@ -0,0 +1,143 @@
1
+ import { Dimension, ItemPoolType, LevelStage, RoomType, TrinketSlot, } from "isaac-typescript-definitions";
2
+ import { NUM_NORMAL_PILL_COLORS } from "./constantsFirstLast";
3
+ import { getEnumLength, getLastEnumValue } from "./functions/enums";
4
+ /**
5
+ * The distance of the laser when Azazel does not have any range up items yet. For more info, see
6
+ * the documentation for the `getAzazelBrimstoneDistance` function.
7
+ */
8
+ export const AZAZEL_DEFAULT_BRIMSTONE_DISTANCE = 75.125;
9
+ /**
10
+ * The path to the png file for collectible items during Curse of the Blind, making them appear with
11
+ * a red question mark.
12
+ */
13
+ export const BLIND_ITEM_PNG_PATH = "gfx/items/collectibles/questionmark.png";
14
+ /** Bombs explode when their frame count is equal to this value. */
15
+ export const BOMB_EXPLODE_FRAME = 45;
16
+ /** This is the initial value of the `EntityPickup.Wait` property after a collectible is spawned. */
17
+ export const COLLECTIBLE_INITIAL_WAIT = 20;
18
+ export const DEFAULT_ITEM_POOL_TYPE = ItemPoolType.TREASURE;
19
+ /** This is also the distance that a player spawns from the door that they enter a room from. */
20
+ export const DISTANCE_OF_GRID_TILE = 40;
21
+ export const DOOR_HITBOX_RADIUS = 11;
22
+ /**
23
+ * When Eggies take fatal damage, they go into NpcState.STATE_SUICIDE and spawn 14 Swarm Spiders
24
+ * while their StateFrame ticks upwards. The 14th spider appears when the StateFrame is at this
25
+ * value.
26
+ */
27
+ export const EGGY_STATE_FRAME_OF_FINAL_SPIDER = 45;
28
+ /**
29
+ * A non-existent or completely transparent PNG file for use in clearing sprites. For more
30
+ * information, see the documentation for the `clearSprite` helper function.
31
+ */
32
+ export const EMPTY_PNG_PATH = "gfx/none.png";
33
+ /**
34
+ * The random items that appear when the player has TMTRAINER are generated on the fly as they are
35
+ * encountered by the player. The first TMTRAINER item takes the final possible 32 bit number. The
36
+ * second TMTRAINER item subtracts one from that, and so on.
37
+ */
38
+ export const FIRST_GLITCHED_COLLECTIBLE_TYPE = ((1 << 32) -
39
+ 1);
40
+ /** Game frames are what is returned by the `Game.GetFrameCount` method. */
41
+ export const GAME_FRAMES_PER_SECOND = 30;
42
+ /** Render frames are what is returned by the `Isaac.GetFrameCount` method. */
43
+ export const RENDER_FRAMES_PER_SECOND = 60;
44
+ export const GRID_INDEX_CENTER_OF_1X1_ROOM = 67;
45
+ /**
46
+ * The floor is represented by a 13x13 grid. Room indexes start at 0. The first column is
47
+ * represented by grid indexes 0, 13, 26, and so on.
48
+ */
49
+ export const LEVEL_GRID_COLUMN_HEIGHT = 13;
50
+ /**
51
+ * The floor is represented by a 13x13 grid. Room indexes start at 0. The first row is represented
52
+ * by grid indexes from 0 to 12. The second row is represented by grid indexes from 13 to 25, and so
53
+ * on.
54
+ */
55
+ export const LEVEL_GRID_ROW_WIDTH = 13;
56
+ /**
57
+ * The floor is represented by a 13x13 grid. Room indexes start at 0. The first row is represented
58
+ * by grid indexes from 0 to 12. The second row is represented by grid indexes from 13 to 25, and so
59
+ * on. The maximum room index possible is 168. (It is not 169 because we start at 0 instead of 1.)
60
+ */
61
+ export const MAX_LEVEL_GRID_INDEX = 168;
62
+ /**
63
+ * The game has a limit on the number of currently spawned familiars and will refuse to spawn any
64
+ * more if it reaches the limit. Blue flies and blue spiders have a lower priority and will be
65
+ * deleted to make room for other familiars.
66
+ */
67
+ export const MAX_NUM_FAMILIARS = 64;
68
+ /** The game can only handle up to four different players. */
69
+ export const MAX_NUM_INPUTS = 4;
70
+ /** With Birthright, it is possible for Magdalene to have 18 heart containers. */
71
+ export const MAX_PLAYER_HEART_CONTAINERS = 18;
72
+ /**
73
+ * As the player continues to move in a direction, they will accelerate. When going from one wall to
74
+ * another in a 2x2 room at 2.0 speed (the maximum that the speed stat can rise to), the amount of
75
+ * units moved per update frame will climb to around 9.797 as they hit the opposite wall. The
76
+ * constant specifies a value of 9.8 to be safe.
77
+ */
78
+ export const MAX_PLAYER_SPEED_IN_UNITS = 9.8;
79
+ export const MAX_PLAYER_TRINKET_SLOTS = getEnumLength(TrinketSlot);
80
+ /** If you set `EntityPlayer.ShotSpeed` lower than this value, it will have no effect. */
81
+ export const MIN_PLAYER_SHOT_SPEED_STAT = 0.6;
82
+ /** If you set `EntityPlayer.Speed` lower than this value, it will have no effect. */
83
+ export const MIN_PLAYER_SPEED_STAT = 0.1;
84
+ export const FIRST_ROOM_TYPE = RoomType.DEFAULT;
85
+ export const LAST_ROOM_TYPE = getLastEnumValue(RoomType);
86
+ /**
87
+ * The maximum speed stat that a player can have. Any additional speed beyond this will not take
88
+ * effect.
89
+ */
90
+ export const MAX_SPEED_STAT = 2.0;
91
+ /** This is in the center of the room. */
92
+ export const NEW_FLOOR_STARTING_POSITION_NORMAL_MODE = Vector(320, 280);
93
+ /** This is near the top door. */
94
+ export const NEW_FLOOR_STARTING_POSITION_GREED_MODE = Vector(320, 280);
95
+ /**
96
+ * This is next to the bottom door. Presumably, the player does not start in the center of the room
97
+ * (like they do when getting to a new stage) so that the controls graphic is more visible.
98
+ */
99
+ export const NEW_RUN_PLAYER_STARTING_POSITION = Vector(320, 380);
100
+ export const FIRST_STAGE = LevelStage.BASEMENT_1;
101
+ export const LAST_STAGE = getLastEnumValue(LevelStage);
102
+ /** Corresponds to the maximum value for `EntityPlayer.SamsonBerserkCharge`. */
103
+ export const MAX_TAINTED_SAMSON_BERSERK_CHARGE = 100000;
104
+ export const NUM_DIMENSIONS = getEnumLength(Dimension) - 1; // Account for "Dimension.CURRENT"
105
+ /**
106
+ * The pill pool for each run is comprised of one effect for each unique pill color (minus gold and
107
+ * horse pills.)
108
+ */
109
+ export const NUM_PILLS_IN_POOL = NUM_NORMAL_PILL_COLORS;
110
+ export const SECOND_IN_MILLISECONDS = 1000;
111
+ export const MINUTE_IN_MILLISECONDS = 60 * SECOND_IN_MILLISECONDS;
112
+ export const ONE_BY_ONE_ROOM_GRID_SIZE = 135;
113
+ /** After taking damage, `EntityPlayer.SamsonBerserkCharge` is incremented by this amount. */
114
+ export const TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE = 10000;
115
+ /**
116
+ * This is the number of draw coordinates that each heart spans on the UI in the upper left hand
117
+ * corner.
118
+ */
119
+ export const UI_HEART_WIDTH = 12;
120
+ /**
121
+ * This is a safer version of the `Vector.One` constant. (Other mods can mutate `Vector.One`, so it
122
+ * is not safe to use.)
123
+ */
124
+ export const VectorOne = Vector(1, 1);
125
+ /**
126
+ * This is a safer version of the `Vector.Zero` constant. (Other mods can mutate `Vector.Zero`, so
127
+ * it is not safe to use.)
128
+ */
129
+ export const VectorZero = Vector(0, 0);
130
+ /**
131
+ * This is a safer version of the `Color.Default` constant. (Other mods can mutate `Color.Default`,
132
+ * so it is not safe to use.)
133
+ *
134
+ * If you need to mutate this, make a copy first with the `copyColor` helper function.
135
+ */
136
+ export const ColorDefault = Color(1, 1, 1);
137
+ /**
138
+ * Equal to `KColor(1, 1, 1, 1)`.
139
+ *
140
+ * If you need to mutate this, make a copy first with the `copyKColor` helper function.
141
+ */
142
+ export const KColorDefault = KColor(1, 1, 1, 1);
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvaXNhYWNzY3JpcHQtY29tbW9uL3NyYy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixXQUFXLEdBQ1osTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsTUFBTSxDQUFDO0FBRXhEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlDQUF5QyxDQUFDO0FBRTdFLG1FQUFtRTtBQUNuRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFFckMsb0dBQW9HO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO0FBRTVELGdHQUFnRztBQUNoRyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRXJDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxFQUFFLENBQUM7QUFFbkQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztBQUU3Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkQsQ0FBQyxDQUFv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
@@ -0,0 +1,156 @@
1
+ import { Card, CollectibleType, PillColor, PillEffect, PlayerType, TrinketType, } from "isaac-typescript-definitions";
2
+ import { itemConfig } from "./cachedClasses";
3
+ import { getEnumLength, getLastEnumValue } from "./functions/enums";
4
+ // ------------
5
+ // Collectibles
6
+ // ------------
7
+ /** Equal to `CollectibleType.SAD_ONION`. */
8
+ export const FIRST_COLLECTIBLE_TYPE = CollectibleType.SAD_ONION;
9
+ /**
10
+ * Will change depending on how many modded collectibles there are.
11
+ *
12
+ * Equal to `itemConfig.GetCollectibles().Size - 1`. (`Size` includes invalid collectibles. We
13
+ * subtract one to account for `CollectibleType.NULL`.)
14
+ */
15
+ export const LAST_COLLECTIBLE_TYPE = (itemConfig.GetCollectibles().Size -
16
+ 1);
17
+ /**
18
+ * Calculated from the `CollectibleType` enum.
19
+ *
20
+ * Note that this cannot be calculated from the length of the enum, because unlike all of the other
21
+ * enums, collectible types are not contiguous.
22
+ */
23
+ export const LAST_VANILLA_COLLECTIBLE_TYPE = getLastEnumValue(CollectibleType);
24
+ /**
25
+ * If there are no modded collectibles, this constant will represent a collectible type that does
26
+ * not exist.
27
+ */
28
+ export const FIRST_MODDED_COLLECTIBLE_TYPE = (LAST_VANILLA_COLLECTIBLE_TYPE + 1);
29
+ /** Calculated from the `CollectibleType` enum. `CollectibleType.NULL` is not included. */
30
+ export const NUM_VANILLA_COLLECTIBLE_TYPES = getEnumLength(CollectibleType) - 1;
31
+ /** Unlike vanilla collectible types, modded collectible types are always contiguous. */
32
+ export const NUM_MODDED_COLLECTIBLE_TYPES = LAST_COLLECTIBLE_TYPE - LAST_VANILLA_COLLECTIBLE_TYPE;
33
+ export const NUM_COLLECTIBLE_TYPES = NUM_VANILLA_COLLECTIBLE_TYPES + NUM_MODDED_COLLECTIBLE_TYPES;
34
+ // --------
35
+ // Trinkets
36
+ // --------
37
+ /**
38
+ * Will change depending on how many modded cards there are.
39
+ *
40
+ * Equal to `itemConfig.GetTrinkets().Size - 1`. (We subtract one to account for
41
+ * `TrinketType.NULL`.)
42
+ */
43
+ export const NUM_TRINKET_TYPES = itemConfig.GetTrinkets().Size - 1;
44
+ /** Calculated from the `TrinketType` enum. `TrinketType.NULL` is not included. */
45
+ export const NUM_VANILLA_TRINKET_TYPES = getEnumLength(TrinketType) - 1;
46
+ export const NUM_MODDED_TRINKET_TYPES = NUM_TRINKET_TYPES - NUM_VANILLA_TRINKET_TYPES;
47
+ /** Equal to `TrinketType.SWALLOWED_PENNY`. */
48
+ export const FIRST_TRINKET_TYPE = TrinketType.SWALLOWED_PENNY;
49
+ /**
50
+ * Will change depending on how many modded cards there are.
51
+ *
52
+ * Equal to `itemConfig.GetTrinkets().Size - 1`. (We subtract one to account for
53
+ * `TrinketType.NULL`.)
54
+ */
55
+ export const LAST_TRINKET_TYPE = NUM_TRINKET_TYPES;
56
+ /** Calculated from the `TrinketType` enum. */
57
+ export const LAST_VANILLA_TRINKET_TYPE = getLastEnumValue(TrinketType);
58
+ /**
59
+ * If there are no modded trinkets, this constant will represent a trinket type that does not exist.
60
+ */
61
+ export const FIRST_MODDED_TRINKET_TYPE = (LAST_VANILLA_TRINKET_TYPE +
62
+ 1);
63
+ // -----
64
+ // Cards
65
+ // -----
66
+ /**
67
+ * Will change depending on how many modded cards there are.
68
+ *
69
+ * Equal to `itemConfig.GetCards().Size - 1`. (We subtract one to account for `Card.NULL`.)
70
+ */
71
+ export const NUM_CARDS = itemConfig.GetCards().Size - 1;
72
+ /** Calculated from the `Card` enum. `Card.NULL` is not included. */
73
+ export const NUM_VANILLA_CARDS = getEnumLength(Card) - 1;
74
+ export const NUM_MODDED_CARDS = NUM_CARDS - NUM_VANILLA_CARDS;
75
+ /** Equal to `Card.FOOL`. */
76
+ export const FIRST_CARD = Card.FOOL;
77
+ /**
78
+ * Will change depending on how many modded cards there are.
79
+ *
80
+ * Equal to `itemConfig.GetCards().Size - 1`. (We subtract one to account for `Card.NULL`.)
81
+ */
82
+ export const LAST_CARD = NUM_CARDS;
83
+ /** Calculated from the `Card` enum. */
84
+ export const MAX_VANILLA_CARD = getLastEnumValue(Card);
85
+ /** If there are no modded cards, this constant will represent a card that does not exist. */
86
+ export const FIRST_MODDED_CARD = (MAX_VANILLA_CARD + 1);
87
+ // ------------
88
+ // Pill Effects
89
+ // ------------
90
+ /**
91
+ * Will change depending on how many modded pill effects there are.
92
+ *
93
+ * Equal to `itemConfig.GetPillEffects().Size - 1`. (We subtract one to account for
94
+ * `PillEffect.NULL`.)
95
+ */
96
+ export const NUM_PILL_EFFECTS = itemConfig.GetPillEffects().Size - 1;
97
+ /**
98
+ * Calculated from the `PillEffect` enum.
99
+ *
100
+ * (There is no `PillEffect.NULL` in the custom enum, so we don't have to subtract one here.)
101
+ */
102
+ export const NUM_VANILLA_PILL_EFFECTS = getEnumLength(PillEffect);
103
+ export const NUM_MODDED_PILL_EFFECTS = NUM_PILL_EFFECTS - NUM_VANILLA_PILL_EFFECTS;
104
+ /** Equal to `PillEffect.BAD_GAS`. */
105
+ export const FIRST_PILL_EFFECT = PillEffect.BAD_GAS;
106
+ /**
107
+ * Will change depending on how many modded pill effects there are.
108
+ *
109
+ * Equal to `itemConfig.GetPillEffects().Size - 1`. (We subtract one to account for
110
+ * `PillEffect.NULL`.)
111
+ */
112
+ export const LAST_PILL_EFFECT = NUM_PILL_EFFECTS;
113
+ /** Calculated from the `PillEffect` enum. */
114
+ export const LAST_VANILLA_PILL_EFFECT = getLastEnumValue(PillEffect);
115
+ /**
116
+ * If there are no modded pill effects, this constant will represent a pill effect that does not
117
+ * exist.
118
+ */
119
+ export const FIRST_MODDED_PILL_EFFECT = (LAST_VANILLA_PILL_EFFECT +
120
+ 1);
121
+ // -----------
122
+ // Pill Colors
123
+ // -----------
124
+ /** Equal to `PillColor.BLUE_BLUE`. */
125
+ export const FIRST_PILL_COLOR = PillColor.BLUE_BLUE;
126
+ /**
127
+ * Equal to `PillColor.WHITE_YELLOW`.
128
+ *
129
+ * Note that `PillColor.GOLD` is technically higher, but that is not considered for the purposes of
130
+ * this constant.
131
+ */
132
+ export const LAST_NORMAL_PILL_COLOR = PillColor.WHITE_YELLOW;
133
+ /** Equal to `PillColor.HORSE_BLUE_BLUE`. */
134
+ export const FIRST_HORSE_PILL_COLOR = PillColor.HORSE_BLUE_BLUE;
135
+ /**
136
+ * Equal to `PillColor.HORSE_WHITE_YELLOW`.
137
+ *
138
+ * Note that `PillColor.HORSE_GOLD` is technically higher, but that is not considered for the
139
+ * purposes of this constant.
140
+ */
141
+ export const LAST_HORSE_PILL_COLOR = PillColor.HORSE_WHITE_YELLOW;
142
+ export const NUM_NORMAL_PILL_COLORS = LAST_NORMAL_PILL_COLOR - FIRST_PILL_COLOR;
143
+ // -------
144
+ // Players
145
+ // -------
146
+ /** Equal to `PlayerType.ISAAC`. */
147
+ export const FIRST_CHARACTER = PlayerType.ISAAC;
148
+ // It is not possible to determine "LAST_PLAYER_TYPE", since there is no associated config.
149
+ /** Calculated from the `PlayerType` enum. */
150
+ export const LAST_VANILLA_CHARACTER = getLastEnumValue(PlayerType);
151
+ /**
152
+ * If there are no modded characters, this constant will represent a character that does not exist.
153
+ */
154
+ export const FIRST_MODDED_CHARACTER = (LAST_VANILLA_CHARACTER +
155
+ 1);
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzRmlyc3RMYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvaXNhYWNzY3JpcHQtY29tbW9uL3NyYy9jb25zdGFudHNGaXJzdExhc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLElBQUksRUFDSixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxHQUNaLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRSxlQUFlO0FBQ2YsZUFBZTtBQUNmLGVBQWU7QUFFZiw0Q0FBNEM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztBQUVoRTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUk7SUFDckUsQ0FBQyxDQUFvQixDQUFDO0FBRXhCOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQ3hDLENBQUUsNkJBQXFDLEdBQUcsQ0FBQyxDQUFvQixDQUFDO0FBRWxFLDBGQUEwRjtBQUMxRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWhGLHdGQUF3RjtBQUN4RixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDdkMscUJBQXFCLEdBQUcsNkJBQTZCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQ2hDLDZCQUE2QixHQUFH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
@@ -0,0 +1,6 @@
1
+ export var AmbushType;
2
+ (function (AmbushType) {
3
+ AmbushType[AmbushType["CHALLENGE_ROOM"] = 0] = "CHALLENGE_ROOM";
4
+ AmbushType[AmbushType["BOSS_RUSH"] = 1] = "BOSS_RUSH";
5
+ })(AmbushType || (AmbushType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW1idXNoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZW51bXMvQW1idXNoVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLCtEQUFjLENBQUE7SUFDZCxxREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLFVBQVUsS0FBVixVQUFVLFFBR3JCIn0=
@@ -0,0 +1,8 @@
1
+ export var CornerType;
2
+ (function (CornerType) {
3
+ CornerType[CornerType["TOP_LEFT"] = 0] = "TOP_LEFT";
4
+ CornerType[CornerType["TOP_RIGHT"] = 1] = "TOP_RIGHT";
5
+ CornerType[CornerType["BOTTOM_LEFT"] = 2] = "BOTTOM_LEFT";
6
+ CornerType[CornerType["BOTTOM_RIGHT"] = 3] = "BOTTOM_RIGHT";
7
+ })(CornerType || (CornerType = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ybmVyVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZW51bXMvQ29ybmVyVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLG1EQUFRLENBQUE7SUFDUixxREFBUyxDQUFBO0lBQ1QseURBQVcsQ0FBQTtJQUNYLDJEQUFZLENBQUE7QUFDZCxDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckIifQ==
@@ -0,0 +1,11 @@
1
+ export var DecorationVariant;
2
+ (function (DecorationVariant) {
3
+ DecorationVariant[DecorationVariant["VANILLA_DECORATION"] = 0] = "VANILLA_DECORATION";
4
+ /**
5
+ * The vanilla game does not support any custom grid entities. Under the hood, IsaacScript allows
6
+ * for custom grid entities by using decorations with this variant to represent custom grid
7
+ * entities.
8
+ */
9
+ DecorationVariant[DecorationVariant["CUSTOM_GRID_ENTITY"] = 1] = "CUSTOM_GRID_ENTITY";
10
+ })(DecorationVariant || (DecorationVariant = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjb3JhdGlvblZhcmlhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9pc2FhY3NjcmlwdC1jb21tb24vc3JjL2VudW1zL0RlY29yYXRpb25WYXJpYW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0IscUZBQXNCLENBQUE7SUFFdEI7Ozs7T0FJRztJQUNILHFGQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFUVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUzVCIn0=
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This represents the type of health that is either given or taken away from a player. Note that we
3
+ * cannot use the `HeartSubType` enum for this purpose this since it has no value for broken hearts
4
+ * or max hearts.
5
+ */
6
+ export var HealthType;
7
+ (function (HealthType) {
8
+ HealthType[HealthType["RED"] = 0] = "RED";
9
+ HealthType[HealthType["SOUL"] = 1] = "SOUL";
10
+ HealthType[HealthType["ETERNAL"] = 2] = "ETERNAL";
11
+ HealthType[HealthType["BLACK"] = 3] = "BLACK";
12
+ HealthType[HealthType["GOLDEN"] = 4] = "GOLDEN";
13
+ HealthType[HealthType["BONE"] = 5] = "BONE";
14
+ HealthType[HealthType["ROTTEN"] = 6] = "ROTTEN";
15
+ HealthType[HealthType["BROKEN"] = 7] = "BROKEN";
16
+ HealthType[HealthType["MAX_HEARTS"] = 8] = "MAX_HEARTS";
17
+ })(HealthType || (HealthType = {}));
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhbHRoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZW51bXMvSGVhbHRoVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFVWDtBQVZELFdBQVksVUFBVTtJQUNwQix5Q0FBRyxDQUFBO0lBQ0gsMkNBQUksQ0FBQTtJQUNKLGlEQUFPLENBQUE7SUFDUCw2Q0FBSyxDQUFBO0lBQ0wsK0NBQU0sQ0FBQTtJQUNOLDJDQUFJLENBQUE7SUFDSiwrQ0FBTSxDQUFBO0lBQ04sK0NBQU0sQ0FBQTtJQUNOLHVEQUFVLENBQUE7QUFDWixDQUFDLEVBVlcsVUFBVSxLQUFWLFVBQVUsUUFVckIifQ==