isaacscript-common 3.17.0 → 4.0.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 (425) hide show
  1. package/cachedClasses.ts +39 -0
  2. package/callbacks/customRevive.lua +2 -1
  3. package/callbacks/customRevive.ts +215 -0
  4. package/callbacks/itemPickup.ts +101 -0
  5. package/callbacks/postAmbush.ts +73 -0
  6. package/callbacks/postBombExploded.ts +26 -0
  7. package/callbacks/postBombInitLate.ts +36 -0
  8. package/callbacks/postBoneSwing.ts +64 -0
  9. package/callbacks/postCollectibleInitFirst.ts +40 -0
  10. package/callbacks/postCursedTeleport.lua +2 -1
  11. package/callbacks/postCursedTeleport.ts +185 -0
  12. package/callbacks/postCustomDoorEnter.lua +0 -7
  13. package/callbacks/postCustomDoorEnter.ts +292 -0
  14. package/callbacks/postDiceRoomActivated.ts +60 -0
  15. package/callbacks/postDoorRender.ts +26 -0
  16. package/callbacks/postDoorUpdate.ts +26 -0
  17. package/callbacks/postEffectInitLate.ts +36 -0
  18. package/callbacks/postEffectStateChanged.ts +43 -0
  19. package/callbacks/postEsauJr.lua +2 -1
  20. package/callbacks/postEsauJr.ts +109 -0
  21. package/callbacks/postFamiliarInitLate.ts +36 -0
  22. package/callbacks/postFamiliarStateChanged.ts +43 -0
  23. package/callbacks/postFlip.lua +4 -3
  24. package/callbacks/postFlip.ts +90 -0
  25. package/callbacks/postGreedModeWave.ts +41 -0
  26. package/callbacks/postGridEntity.ts +164 -0
  27. package/callbacks/postGridEntityCollision.ts +69 -0
  28. package/callbacks/postGridEntityRender.ts +26 -0
  29. package/callbacks/postHolyMantleRemoved.ts +55 -0
  30. package/callbacks/postItemDischarged.lua +4 -3
  31. package/callbacks/postItemDischarged.ts +154 -0
  32. package/callbacks/postKnifeInitLate.ts +36 -0
  33. package/callbacks/postLaserInitLate.ts +36 -0
  34. package/callbacks/postNPCInitLate.ts +36 -0
  35. package/callbacks/postNPCStateChanged.ts +42 -0
  36. package/callbacks/postNewRoomEarly.lua +2 -1
  37. package/callbacks/postNewRoomEarly.ts +96 -0
  38. package/callbacks/postPickupCollect.ts +48 -0
  39. package/callbacks/postPickupInitFirst.ts +70 -0
  40. package/callbacks/postPickupInitLate.ts +36 -0
  41. package/callbacks/postPickupStateChanged.ts +43 -0
  42. package/callbacks/postPitRender.ts +26 -0
  43. package/callbacks/postPitUpdate.ts +26 -0
  44. package/callbacks/postPlayerChangeHealth.ts +62 -0
  45. package/callbacks/postPlayerChangeType.ts +56 -0
  46. package/callbacks/postPlayerCollectible.ts +113 -0
  47. package/callbacks/postPlayerFatalDamage.ts +141 -0
  48. package/callbacks/postPlayerInitLate.ts +37 -0
  49. package/callbacks/postPlayerReordered.ts +142 -0
  50. package/callbacks/postPoopRender.ts +26 -0
  51. package/callbacks/postPoopUpdate.ts +26 -0
  52. package/callbacks/postPressurePlateRender.ts +26 -0
  53. package/callbacks/postPressurePlateUpdate.ts +26 -0
  54. package/callbacks/postProjectileInitLate.ts +36 -0
  55. package/callbacks/postPurchase.ts +64 -0
  56. package/callbacks/postRockRender.ts +26 -0
  57. package/callbacks/postRockUpdate.ts +26 -0
  58. package/callbacks/postRoomClearChanged.ts +57 -0
  59. package/callbacks/postSacrifice.lua +3 -2
  60. package/callbacks/postSacrifice.ts +64 -0
  61. package/callbacks/postSlotDestroyed.ts +92 -0
  62. package/callbacks/postSlotInitUpdate.ts +68 -0
  63. package/callbacks/postSlotRender.ts +69 -0
  64. package/callbacks/postSpikesRender.ts +26 -0
  65. package/callbacks/postSpikesUpdate.ts +26 -0
  66. package/callbacks/postTNTRender.ts +26 -0
  67. package/callbacks/postTNTUpdate.ts +26 -0
  68. package/callbacks/postTearInitLate.ts +36 -0
  69. package/callbacks/postTearInitVeryLate.ts +41 -0
  70. package/callbacks/postTransformation.ts +59 -0
  71. package/callbacks/postTrinketBreak.lua +3 -2
  72. package/callbacks/postTrinketBreak.ts +112 -0
  73. package/callbacks/preBerserkDeath.ts +49 -0
  74. package/callbacks/preNewLevel.ts +55 -0
  75. package/callbacks/reorderedCallbacks.lua +1 -0
  76. package/callbacks/reorderedCallbacks.ts +168 -0
  77. package/callbacks/subscriptions/postAmbushFinished.ts +32 -0
  78. package/callbacks/subscriptions/postAmbushStarted.ts +32 -0
  79. package/callbacks/subscriptions/postBombInitLate.ts +32 -0
  80. package/callbacks/subscriptions/postBoneExploded.ts +32 -0
  81. package/callbacks/subscriptions/postBoneSwing.ts +24 -0
  82. package/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
  83. package/callbacks/subscriptions/postCursedTeleport.ts +24 -0
  84. package/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
  85. package/callbacks/subscriptions/postCustomRevive.ts +36 -0
  86. package/callbacks/subscriptions/postDiceRoomActivated.ts +38 -0
  87. package/callbacks/subscriptions/postDoorRender.ts +35 -0
  88. package/callbacks/subscriptions/postDoorUpdate.ts +35 -0
  89. package/callbacks/subscriptions/postEffectInitLate.ts +32 -0
  90. package/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
  91. package/callbacks/subscriptions/postEsauJr.ts +24 -0
  92. package/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
  93. package/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
  94. package/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
  95. package/callbacks/subscriptions/postFirstFlip.ts +24 -0
  96. package/callbacks/subscriptions/postFlip.ts +22 -0
  97. package/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
  98. package/callbacks/subscriptions/postGreedModeWave.ts +24 -0
  99. package/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
  100. package/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
  101. package/callbacks/subscriptions/postGridEntityInit.ts +51 -0
  102. package/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
  103. package/callbacks/subscriptions/postGridEntityRender.ts +51 -0
  104. package/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
  105. package/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
  106. package/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
  107. package/callbacks/subscriptions/postItemDischarged.ts +43 -0
  108. package/callbacks/subscriptions/postItemPickup.ts +64 -0
  109. package/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
  110. package/callbacks/subscriptions/postLaserInitLate.ts +32 -0
  111. package/callbacks/subscriptions/postNPCInitLate.ts +32 -0
  112. package/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
  113. package/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
  114. package/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
  115. package/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
  116. package/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
  117. package/callbacks/subscriptions/postPickupCollect.ts +35 -0
  118. package/callbacks/subscriptions/postPickupInitFirst.ts +32 -0
  119. package/callbacks/subscriptions/postPickupInitLate.ts +32 -0
  120. package/callbacks/subscriptions/postPickupStateChanged.ts +40 -0
  121. package/callbacks/subscriptions/postPitRender.ts +35 -0
  122. package/callbacks/subscriptions/postPitUpdate.ts +35 -0
  123. package/callbacks/subscriptions/postPlayerChangeHealth.ts +49 -0
  124. package/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
  125. package/callbacks/subscriptions/postPlayerCollectibleAdded.d.ts +2 -3
  126. package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -7
  127. package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
  128. package/callbacks/subscriptions/postPlayerCollectibleRemoved.d.ts +2 -3
  129. package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -7
  130. package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +38 -0
  131. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +1 -1
  132. package/callbacks/subscriptions/postPlayerFatalDamage.ts +68 -0
  133. package/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
  134. package/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
  135. package/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
  136. package/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
  137. package/callbacks/subscriptions/postPoopRender.ts +35 -0
  138. package/callbacks/subscriptions/postPoopUpdate.ts +35 -0
  139. package/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
  140. package/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
  141. package/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
  142. package/callbacks/subscriptions/postPurchase.ts +31 -0
  143. package/callbacks/subscriptions/postRockRender.ts +35 -0
  144. package/callbacks/subscriptions/postRockUpdate.ts +35 -0
  145. package/callbacks/subscriptions/postRoomClearChanged.ts +30 -0
  146. package/callbacks/subscriptions/postSacrifice.ts +43 -0
  147. package/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
  148. package/callbacks/subscriptions/postSlotDestroyed.ts +55 -0
  149. package/callbacks/subscriptions/postSlotInit.ts +32 -0
  150. package/callbacks/subscriptions/postSlotRender.ts +32 -0
  151. package/callbacks/subscriptions/postSlotUpdate.ts +32 -0
  152. package/callbacks/subscriptions/postSpikesRender.ts +35 -0
  153. package/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
  154. package/callbacks/subscriptions/postTNTRender.ts +35 -0
  155. package/callbacks/subscriptions/postTNTUpdate.ts +35 -0
  156. package/callbacks/subscriptions/postTearInitLate.ts +32 -0
  157. package/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
  158. package/callbacks/subscriptions/postTransformation.ts +40 -0
  159. package/callbacks/subscriptions/postTrinketBreak.ts +38 -0
  160. package/callbacks/subscriptions/preBerserkDeath.d.ts +1 -1
  161. package/callbacks/subscriptions/preBerserkDeath.ts +42 -0
  162. package/callbacks/subscriptions/preCustomRevive.d.ts +1 -1
  163. package/callbacks/subscriptions/preCustomRevive.ts +46 -0
  164. package/callbacks/subscriptions/preItemPickup.ts +64 -0
  165. package/callbacks/subscriptions/preNewLevel.ts +24 -0
  166. package/classes/DefaultMap.ts +174 -0
  167. package/classes/ModUpgraded.d.ts +8 -4
  168. package/classes/ModUpgraded.lua +5 -8
  169. package/classes/ModUpgraded.ts +84 -0
  170. package/constants.ts +162 -0
  171. package/constantsFirstLast.ts +217 -0
  172. package/enums/AmbushType.ts +4 -0
  173. package/enums/HealthType.ts +16 -0
  174. package/enums/ModCallbackCustom.d.ts +20 -18
  175. package/enums/ModCallbackCustom.ts +1278 -0
  176. package/enums/PocketItemType.ts +8 -0
  177. package/enums/SerializationType.ts +5 -0
  178. package/enums/SlotDestructionType.ts +4 -0
  179. package/enums/private/CopyableIsaacAPIClassType.ts +7 -0
  180. package/enums/private/SaveDataKey.ts +14 -0
  181. package/enums/private/SerializationBrand.ts +42 -0
  182. package/features/characterHealthConversion.lua +2 -9
  183. package/features/characterHealthConversion.ts +111 -0
  184. package/features/characterStats.ts +61 -0
  185. package/features/debugDisplay/debugDisplay.ts +221 -0
  186. package/features/debugDisplay/exports.ts +368 -0
  187. package/features/debugDisplay/v.ts +65 -0
  188. package/features/deployJSONRoom.ts +743 -0
  189. package/features/disableInputs.ts +193 -0
  190. package/features/disableSound.ts +77 -0
  191. package/features/extraConsoleCommands/commandsDisplay.ts +290 -0
  192. package/features/extraConsoleCommands/commandsSubroutines.lua +1 -1
  193. package/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
  194. package/features/extraConsoleCommands/init.ts +334 -0
  195. package/features/extraConsoleCommands/listCommands.ts +1299 -0
  196. package/features/extraConsoleCommands/v.ts +14 -0
  197. package/features/fadeInRemover.ts +60 -0
  198. package/features/fastReset.ts +75 -0
  199. package/features/forgottenSwitch.ts +50 -0
  200. package/features/getCollectibleItemPoolType.ts +66 -0
  201. package/features/persistentEntities.ts +183 -0
  202. package/features/playerInventory.lua +1 -0
  203. package/features/playerInventory.ts +135 -0
  204. package/features/ponyDetection.ts +74 -0
  205. package/features/preventCollectibleRotation.ts +115 -0
  206. package/features/runInNFrames.ts +148 -0
  207. package/features/saveDataManager/constants.ts +4 -0
  208. package/features/saveDataManager/exports.ts +229 -0
  209. package/features/saveDataManager/load.ts +99 -0
  210. package/features/saveDataManager/main.ts +195 -0
  211. package/features/saveDataManager/maps.ts +13 -0
  212. package/features/saveDataManager/merge.ts +194 -0
  213. package/features/saveDataManager/save.ts +74 -0
  214. package/features/saveDataManager/serializationBrand.ts +16 -0
  215. package/features/sirenHelpers.ts +129 -0
  216. package/features/taintedLazarusPlayers.ts +113 -0
  217. package/featuresInitialized.ts +20 -0
  218. package/functions/ambush.ts +47 -0
  219. package/functions/array.ts +410 -0
  220. package/functions/benchmark.ts +36 -0
  221. package/functions/bitwise.ts +24 -0
  222. package/functions/bombs.ts +12 -0
  223. package/functions/boss.ts +227 -0
  224. package/functions/cacheFlag.ts +12 -0
  225. package/functions/cards.lua +1 -1
  226. package/functions/cards.ts +271 -0
  227. package/functions/challenges.ts +13 -0
  228. package/functions/character.ts +126 -0
  229. package/functions/charge.ts +237 -0
  230. package/functions/chargeBar.ts +67 -0
  231. package/functions/collectibleCacheFlag.ts +90 -0
  232. package/functions/collectibleSet.ts +56 -0
  233. package/functions/collectibleTag.ts +89 -0
  234. package/functions/collectibles.ts +659 -0
  235. package/functions/color.d.ts +1 -1
  236. package/functions/color.lua +0 -7
  237. package/functions/color.ts +128 -0
  238. package/functions/debug.lua +2 -2
  239. package/functions/debug.ts +68 -0
  240. package/functions/deepCopy.lua +46 -51
  241. package/functions/deepCopy.ts +535 -0
  242. package/functions/deepCopyTests.ts +386 -0
  243. package/functions/direction.ts +49 -0
  244. package/functions/doors.lua +1 -2
  245. package/functions/doors.ts +347 -0
  246. package/functions/easing.ts +182 -0
  247. package/functions/eden.ts +47 -0
  248. package/functions/effects.ts +20 -0
  249. package/functions/entity.ts +439 -0
  250. package/functions/entitySpecific.ts +889 -0
  251. package/functions/entityTypes.ts +6 -0
  252. package/functions/enums.ts +146 -0
  253. package/functions/familiars.ts +106 -0
  254. package/functions/flag.ts +165 -0
  255. package/functions/flying.ts +117 -0
  256. package/functions/globals.d.ts +3 -3
  257. package/functions/globals.lua +8 -2
  258. package/functions/globals.ts +242 -0
  259. package/functions/gridEntity.ts +511 -0
  260. package/functions/gridEntitySpecific.ts +112 -0
  261. package/functions/input.ts +139 -0
  262. package/functions/isaacAPIClass.ts +67 -0
  263. package/functions/jsonHelpers.ts +45 -0
  264. package/functions/jsonRoom.ts +100 -0
  265. package/functions/kColor.d.ts +1 -1
  266. package/functions/kColor.lua +0 -7
  267. package/functions/kColor.ts +129 -0
  268. package/functions/language.ts +13 -0
  269. package/functions/level.ts +31 -0
  270. package/functions/log.ts +720 -0
  271. package/functions/map.ts +56 -0
  272. package/functions/math.ts +149 -0
  273. package/functions/mergeTests.ts +288 -0
  274. package/functions/npc.ts +148 -0
  275. package/functions/pickupVariants.ts +60 -0
  276. package/functions/pickups.ts +499 -0
  277. package/functions/pills.lua +1 -1
  278. package/functions/pills.ts +205 -0
  279. package/functions/player.lua +9 -20
  280. package/functions/player.ts +1056 -0
  281. package/functions/playerDataStructures.ts +150 -0
  282. package/functions/playerHealth.lua +28 -39
  283. package/functions/playerHealth.ts +382 -0
  284. package/functions/playerIndex.ts +195 -0
  285. package/functions/pocketItems.ts +149 -0
  286. package/functions/positionVelocity.ts +188 -0
  287. package/functions/random.ts +77 -0
  288. package/functions/revive.ts +201 -0
  289. package/functions/rng.d.ts +1 -1
  290. package/functions/rng.lua +0 -7
  291. package/functions/rng.ts +172 -0
  292. package/functions/roomData.ts +199 -0
  293. package/functions/roomGrid.ts +109 -0
  294. package/functions/roomShape.ts +80 -0
  295. package/functions/rooms.lua +1 -3
  296. package/functions/rooms.ts +648 -0
  297. package/functions/run.ts +36 -0
  298. package/functions/saveFile.ts +128 -0
  299. package/functions/seeds.ts +19 -0
  300. package/functions/serialization.lua +0 -3
  301. package/functions/serialization.ts +91 -0
  302. package/functions/set.ts +95 -0
  303. package/functions/sound.ts +9 -0
  304. package/functions/spawnCollectible.ts +104 -0
  305. package/functions/sprite.ts +107 -0
  306. package/functions/stage.ts +125 -0
  307. package/functions/string.ts +47 -0
  308. package/functions/table.ts +189 -0
  309. package/functions/tears.ts +32 -0
  310. package/functions/transformations.lua +1 -3
  311. package/functions/transformations.ts +131 -0
  312. package/functions/trinketCacheFlag.ts +60 -0
  313. package/functions/trinketGive.ts +157 -0
  314. package/functions/trinkets.ts +215 -0
  315. package/functions/tstlClass.ts +157 -0
  316. package/functions/types.ts +36 -0
  317. package/functions/ui.ts +138 -0
  318. package/functions/utils.d.ts +0 -37
  319. package/functions/utils.lua +0 -35
  320. package/functions/utils.ts +189 -0
  321. package/functions/vector.d.ts +1 -1
  322. package/functions/vector.lua +0 -7
  323. package/functions/vector.ts +126 -0
  324. package/index.ts +172 -0
  325. package/initCustomCallbacks.ts +132 -0
  326. package/initFeatures.ts +39 -0
  327. package/interfaces/AddCallbackParameterCustom.ts +188 -0
  328. package/interfaces/ChargeBarSprites.ts +12 -0
  329. package/interfaces/JSONDoor.d.ts +4 -4
  330. package/interfaces/JSONDoor.ts +13 -0
  331. package/interfaces/JSONEntity.d.ts +5 -5
  332. package/interfaces/JSONEntity.ts +16 -0
  333. package/interfaces/JSONRoom.d.ts +9 -9
  334. package/interfaces/JSONRoom.ts +36 -0
  335. package/interfaces/JSONRooms.ts +12 -0
  336. package/interfaces/JSONSpawn.d.ts +3 -3
  337. package/interfaces/JSONSpawn.ts +14 -0
  338. package/interfaces/PlayerHealth.ts +16 -0
  339. package/interfaces/PocketItemDescription.ts +9 -0
  340. package/interfaces/SaveData.ts +29 -0
  341. package/interfaces/TrinketSituation.ts +9 -0
  342. package/interfaces/private/TSTLClassMetatable.ts +8 -0
  343. package/maps/PHDPillConversions.ts +21 -0
  344. package/maps/cardMap.ts +209 -0
  345. package/maps/characterMap.ts +87 -0
  346. package/maps/collectibleDescriptionMap.ts +732 -0
  347. package/maps/collectibleNameMap.ts +731 -0
  348. package/maps/defaultPlayerStatMap.ts +17 -0
  349. package/maps/falsePHDPillConversions.ts +35 -0
  350. package/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
  351. package/maps/gridEntityXMLMap.ts +176 -0
  352. package/maps/pillEffectMap.ts +88 -0
  353. package/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
  354. package/maps/roomTypeMap.ts +40 -0
  355. package/maps/trinketDescriptionMap.ts +200 -0
  356. package/maps/trinketNameMap.ts +198 -0
  357. package/objects/LRoomShapeToRectangles.ts +44 -0
  358. package/objects/callbackRegisterFunctions.ts +187 -0
  359. package/objects/cardDescriptions.ts +105 -0
  360. package/objects/cardNames.ts +105 -0
  361. package/objects/cardTypes.ts +104 -0
  362. package/objects/challengeNames.ts +52 -0
  363. package/objects/characterNames.ts +48 -0
  364. package/objects/coinSubTypeToValue.ts +14 -0
  365. package/objects/colors.ts +16 -0
  366. package/objects/directionNames.ts +11 -0
  367. package/objects/directionToDegrees.ts +11 -0
  368. package/objects/directionToVector.ts +12 -0
  369. package/objects/doorSlotFlagToDoorSlot.ts +16 -0
  370. package/objects/doorSlotToDirection.ts +14 -0
  371. package/objects/isaacAPIClassTypeToBrand.ts +11 -0
  372. package/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
  373. package/objects/languageNames.ts +13 -0
  374. package/objects/oppositeDoorSlots.ts +15 -0
  375. package/objects/pillEffectClasses.ts +63 -0
  376. package/objects/pillEffectNames.ts +57 -0
  377. package/objects/pillEffectTypes.ts +62 -0
  378. package/objects/roomShapeBounds.ts +71 -0
  379. package/objects/roomShapeLayoutSizes.ts +45 -0
  380. package/objects/roomShapeToBottomRightPosition.ts +25 -0
  381. package/objects/roomShapeToDoorSlots.ts +83 -0
  382. package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
  383. package/objects/roomShapeToGridWidth.ts +21 -0
  384. package/objects/roomShapeToTopLeftPosition.ts +26 -0
  385. package/objects/roomShapeVolumes.ts +38 -0
  386. package/objects/roomTypeNames.ts +36 -0
  387. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
  388. package/objects/stageTypeToLetter.ts +15 -0
  389. package/objects/transformationNames.d.ts +0 -1
  390. package/objects/transformationNames.lua +0 -1
  391. package/objects/transformationNames.ts +18 -0
  392. package/package.json +2 -2
  393. package/patchErrorFunctions.ts +92 -0
  394. package/sets/LRoomShapesSet.ts +8 -0
  395. package/sets/bossSets.ts +470 -0
  396. package/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
  397. package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
  398. package/sets/charactersWithFreeDevilDealsSet.ts +4 -0
  399. package/sets/charactersWithNoRedHeartsSet.ts +17 -0
  400. package/sets/charactersWithNoSoulHeartsSet.ts +14 -0
  401. package/sets/chestPickupVariantsSet.ts +16 -0
  402. package/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
  403. package/sets/lostStyleCharactersSet.ts +13 -0
  404. package/sets/mineShaftRoomSubTypesSet.ts +10 -0
  405. package/sets/redHeartSubTypesSet.ts +7 -0
  406. package/sets/sinEntityTypesSet.ts +11 -0
  407. package/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
  408. package/sets/storyBossesSet.ts +17 -0
  409. package/types/AnyEntity.ts +12 -0
  410. package/types/AwaitingTextInput.d.ts +2 -0
  411. package/types/CollectibleIndex.d.ts +1 -1
  412. package/types/CollectibleIndex.ts +16 -0
  413. package/types/PickingUpItem.d.ts +3 -3
  414. package/types/PickingUpItem.ts +89 -0
  415. package/types/PlayerIndex.d.ts +1 -1
  416. package/types/PlayerIndex.ts +13 -0
  417. package/types/private/IsaacAPIClass.d.ts +1 -1
  418. package/types/private/IsaacAPIClass.ts +3 -0
  419. package/types/private/SerializedIsaacAPIClass.d.ts +1 -1
  420. package/types/private/SerializedIsaacAPIClass.ts +3 -0
  421. package/types/private/TSTLClass.d.ts +1 -1
  422. package/types/private/TSTLClass.ts +3 -0
  423. package/upgradeMod.d.ts +2 -2
  424. package/upgradeMod.lua +2 -2
  425. package/upgradeMod.ts +55 -0
@@ -0,0 +1,104 @@
1
+ import { Card, ItemConfigCardType } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_CARD_TYPE = ItemConfigCardType.MODDED;
4
+
5
+ export const CARD_TYPES: { readonly [key in Card]: ItemConfigCardType } = {
6
+ [Card.NULL]: ItemConfigCardType.NULL, // 0
7
+ [Card.FOOL]: ItemConfigCardType.TAROT, // 1
8
+ [Card.MAGICIAN]: ItemConfigCardType.TAROT, // 2
9
+ [Card.HIGH_PRIESTESS]: ItemConfigCardType.TAROT, // 3
10
+ [Card.EMPRESS]: ItemConfigCardType.TAROT, // 4
11
+ [Card.EMPEROR]: ItemConfigCardType.TAROT, // 5
12
+ [Card.HIEROPHANT]: ItemConfigCardType.TAROT, // 6
13
+ [Card.LOVERS]: ItemConfigCardType.TAROT, // 7
14
+ [Card.CHARIOT]: ItemConfigCardType.TAROT, // 8
15
+ [Card.JUSTICE]: ItemConfigCardType.TAROT, // 9
16
+ [Card.HERMIT]: ItemConfigCardType.TAROT, // 10
17
+ [Card.WHEEL_OF_FORTUNE]: ItemConfigCardType.TAROT, // 11
18
+ [Card.STRENGTH]: ItemConfigCardType.TAROT, // 12
19
+ [Card.HANGED_MAN]: ItemConfigCardType.TAROT, // 13
20
+ [Card.DEATH]: ItemConfigCardType.TAROT, // 14
21
+ [Card.TEMPERANCE]: ItemConfigCardType.TAROT, // 15
22
+ [Card.DEVIL]: ItemConfigCardType.TAROT, // 16
23
+ [Card.TOWER]: ItemConfigCardType.TAROT, // 17
24
+ [Card.STARS]: ItemConfigCardType.TAROT, // 18
25
+ [Card.MOON]: ItemConfigCardType.TAROT, // 19
26
+ [Card.SUN]: ItemConfigCardType.TAROT, // 20
27
+ [Card.JUDGEMENT]: ItemConfigCardType.TAROT, // 21
28
+ [Card.WORLD]: ItemConfigCardType.TAROT, // 22
29
+ [Card.CLUBS_2]: ItemConfigCardType.SUIT, // 23
30
+ [Card.DIAMONDS_2]: ItemConfigCardType.SUIT, // 24
31
+ [Card.SPADES_2]: ItemConfigCardType.SUIT, // 25
32
+ [Card.HEARTS_2]: ItemConfigCardType.SUIT, // 26
33
+ [Card.ACE_OF_CLUBS]: ItemConfigCardType.SUIT, // 27
34
+ [Card.ACE_OF_DIAMONDS]: ItemConfigCardType.SUIT, // 28
35
+ [Card.ACE_OF_SPADES]: ItemConfigCardType.SUIT, // 29
36
+ [Card.ACE_OF_HEARTS]: ItemConfigCardType.SUIT, // 30
37
+ [Card.JOKER]: ItemConfigCardType.SUIT, // 31
38
+ [Card.RUNE_HAGALAZ]: ItemConfigCardType.RUNE, // 32
39
+ [Card.RUNE_JERA]: ItemConfigCardType.RUNE, // 33
40
+ [Card.RUNE_EHWAZ]: ItemConfigCardType.RUNE, // 34
41
+ [Card.RUNE_DAGAZ]: ItemConfigCardType.RUNE, // 35
42
+ [Card.RUNE_ANSUZ]: ItemConfigCardType.RUNE, // 36
43
+ [Card.RUNE_PERTHRO]: ItemConfigCardType.RUNE, // 37
44
+ [Card.RUNE_BERKANO]: ItemConfigCardType.RUNE, // 38
45
+ [Card.RUNE_ALGIZ]: ItemConfigCardType.RUNE, // 39
46
+ [Card.RUNE_BLANK]: ItemConfigCardType.RUNE, // 40
47
+ [Card.RUNE_BLACK]: ItemConfigCardType.RUNE, // 41
48
+ [Card.CHAOS]: ItemConfigCardType.SPECIAL, // 42
49
+ [Card.CREDIT]: ItemConfigCardType.SPECIAL, // 43
50
+ [Card.RULES]: ItemConfigCardType.SPECIAL, // 44
51
+ [Card.AGAINST_HUMANITY]: ItemConfigCardType.SPECIAL, // 45
52
+ [Card.SUICIDE_KING]: ItemConfigCardType.SPECIAL, // 46
53
+ [Card.GET_OUT_OF_JAIL_FREE]: ItemConfigCardType.SPECIAL, // 47
54
+ [Card.QUESTION_MARK]: ItemConfigCardType.SPECIAL, // 48
55
+ [Card.DICE_SHARD]: ItemConfigCardType.SPECIAL_OBJECT, // 49
56
+ [Card.EMERGENCY_CONTACT]: ItemConfigCardType.SPECIAL_OBJECT, // 50
57
+ [Card.HOLY]: ItemConfigCardType.SPECIAL, // 51
58
+ [Card.HUGE_GROWTH]: ItemConfigCardType.SPECIAL, // 52
59
+ [Card.ANCIENT_RECALL]: ItemConfigCardType.SPECIAL, // 53
60
+ [Card.ERA_WALK]: ItemConfigCardType.SPECIAL, // 54
61
+ [Card.RUNE_SHARD]: ItemConfigCardType.RUNE, // 55
62
+ [Card.REVERSE_FOOL]: ItemConfigCardType.TAROT_REVERSE, // 56
63
+ [Card.REVERSE_MAGICIAN]: ItemConfigCardType.TAROT_REVERSE, // 57
64
+ [Card.REVERSE_HIGH_PRIESTESS]: ItemConfigCardType.TAROT_REVERSE, // 58
65
+ [Card.REVERSE_EMPRESS]: ItemConfigCardType.TAROT_REVERSE, // 59
66
+ [Card.REVERSE_EMPEROR]: ItemConfigCardType.TAROT_REVERSE, // 60
67
+ [Card.REVERSE_HIEROPHANT]: ItemConfigCardType.TAROT_REVERSE, // 61
68
+ [Card.REVERSE_LOVERS]: ItemConfigCardType.TAROT_REVERSE, // 62
69
+ [Card.REVERSE_CHARIOT]: ItemConfigCardType.TAROT_REVERSE, // 63
70
+ [Card.REVERSE_JUSTICE]: ItemConfigCardType.TAROT_REVERSE, // 64
71
+ [Card.REVERSE_HERMIT]: ItemConfigCardType.TAROT_REVERSE, // 65
72
+ [Card.REVERSE_WHEEL_OF_FORTUNE]: ItemConfigCardType.TAROT_REVERSE, // 66
73
+ [Card.REVERSE_STRENGTH]: ItemConfigCardType.TAROT_REVERSE, // 67
74
+ [Card.REVERSE_HANGED_MAN]: ItemConfigCardType.TAROT_REVERSE, // 68
75
+ [Card.REVERSE_DEATH]: ItemConfigCardType.TAROT_REVERSE, // 69
76
+ [Card.REVERSE_TEMPERANCE]: ItemConfigCardType.TAROT_REVERSE, // 70
77
+ [Card.REVERSE_DEVIL]: ItemConfigCardType.TAROT_REVERSE, // 71
78
+ [Card.REVERSE_TOWER]: ItemConfigCardType.TAROT_REVERSE, // 72
79
+ [Card.REVERSE_STARS]: ItemConfigCardType.TAROT_REVERSE, // 73
80
+ [Card.REVERSE_MOON]: ItemConfigCardType.TAROT_REVERSE, // 74
81
+ [Card.REVERSE_SUN]: ItemConfigCardType.TAROT_REVERSE, // 75
82
+ [Card.REVERSE_JUDGEMENT]: ItemConfigCardType.TAROT_REVERSE, // 76
83
+ [Card.REVERSE_WORLD]: ItemConfigCardType.TAROT_REVERSE, // 77
84
+ [Card.CRACKED_KEY]: ItemConfigCardType.SPECIAL_OBJECT, // 78
85
+ [Card.QUEEN_OF_HEARTS]: ItemConfigCardType.SUIT, // 79
86
+ [Card.WILD]: ItemConfigCardType.SPECIAL, // 80
87
+ [Card.SOUL_ISAAC]: ItemConfigCardType.RUNE, // 81
88
+ [Card.SOUL_MAGDALENE]: ItemConfigCardType.RUNE, // 82
89
+ [Card.SOUL_CAIN]: ItemConfigCardType.RUNE, // 83
90
+ [Card.SOUL_JUDAS]: ItemConfigCardType.RUNE, // 84
91
+ [Card.SOUL_BLUE_BABY]: ItemConfigCardType.RUNE, // 85
92
+ [Card.SOUL_EVE]: ItemConfigCardType.RUNE, // 86
93
+ [Card.SOUL_SAMSON]: ItemConfigCardType.RUNE, // 87
94
+ [Card.SOUL_AZAZEL]: ItemConfigCardType.RUNE, // 88
95
+ [Card.SOUL_LAZARUS]: ItemConfigCardType.RUNE, // 89
96
+ [Card.SOUL_EDEN]: ItemConfigCardType.RUNE, // 90
97
+ [Card.SOUL_LOST]: ItemConfigCardType.RUNE, // 91
98
+ [Card.SOUL_LILITH]: ItemConfigCardType.RUNE, // 92
99
+ [Card.SOUL_KEEPER]: ItemConfigCardType.RUNE, // 93
100
+ [Card.SOUL_APOLLYON]: ItemConfigCardType.RUNE, // 94
101
+ [Card.SOUL_FORGOTTEN]: ItemConfigCardType.RUNE, // 95
102
+ [Card.SOUL_BETHANY]: ItemConfigCardType.RUNE, // 96
103
+ [Card.SOUL_JACOB]: ItemConfigCardType.RUNE, // 97
104
+ } as const;
@@ -0,0 +1,52 @@
1
+ import { Challenge } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_CHALLENGE_NAME = "Unknown";
4
+
5
+ export const CHALLENGE_NAMES: { readonly [key in Challenge]: string } = {
6
+ [Challenge.NULL]: DEFAULT_CHALLENGE_NAME, // 0
7
+ [Challenge.PITCH_BLACK]: "Pitch Black", // 1
8
+ [Challenge.HIGH_BROW]: "High Brow", // 2
9
+ [Challenge.HEAD_TRAUMA]: "Head Trauma", // 3
10
+ [Challenge.DARKNESS_FALLS]: "Darkness Falls", // 4
11
+ [Challenge.THE_TANK]: "The Tank", // 5
12
+ [Challenge.SOLAR_SYSTEM]: "Solar System", // 6
13
+ [Challenge.SUICIDE_KING]: "Suicide King", // 7
14
+ [Challenge.CAT_GOT_YOUR_TONGUE]: "Cat Got Your Tongue", // 8
15
+ [Challenge.DEMO_MAN]: "Demo Man", // 9
16
+ [Challenge.CURSED]: "Cursed!", // 10
17
+ [Challenge.GLASS_CANNON]: "Glass Cannon", // 11
18
+ [Challenge.WHEN_LIFE_GIVES_LEMONS]: "When Life Gives You Lemons", // 12
19
+ [Challenge.BEANS]: "Beans!", // 13
20
+ [Challenge.ITS_IN_THE_CARDS]: "It's In The Cards", // 14
21
+ [Challenge.SLOW_ROLL]: "Slow Roll", // 15
22
+ [Challenge.COMPUTER_SAVY]: "Computer Savvy", // 16
23
+ [Challenge.WAKA_WAKA]: "Waka Waka", // 17
24
+ [Challenge.THE_HOST]: "The Host", // 18
25
+ [Challenge.THE_FAMILY_MAN]: "The Family Man", // 19
26
+ [Challenge.PURIST]: "Purist", // 20
27
+ [Challenge.XXXXXXXXL]: "XXXXXXXXL", // 21
28
+ [Challenge.SPEED]: "SPEED!", // 22
29
+ [Challenge.BLUE_BOMBER]: "Blue Bomber", // 23
30
+ [Challenge.PAY_TO_PLAY]: "PAY TO PLAY", // 24
31
+ [Challenge.HAVE_A_HEART]: "Have a Heart", // 25
32
+ [Challenge.I_RULE]: "I RULE!", // 26
33
+ [Challenge.BRAINS]: "BRAINS!", // 27
34
+ [Challenge.PRIDE_DAY]: "PRIDE DAY!", // 28
35
+ [Challenge.ONANS_STREAK]: "Onan's Streak", // 29
36
+ [Challenge.GUARDIAN]: "The Guardian", // 30
37
+ [Challenge.BACKASSWARDS]: "Backasswards", // 31
38
+ [Challenge.APRILS_FOOL]: "Aprils Fool", // 32
39
+ [Challenge.POKEY_MANS]: "Pokey Mans", // 33
40
+ [Challenge.ULTRA_HARD]: "Ultra Hard", // 34
41
+ [Challenge.PONG]: "Pong", // 35
42
+ [Challenge.SCAT_MAN]: "Scat Man", // 36
43
+ [Challenge.BLOODY_MARY]: "Bloody Mary", // 37
44
+ [Challenge.BAPTISM_BY_FIRE]: "Baptism By Fire", // 38
45
+ [Challenge.ISAACS_AWAKENING]: "Isaac's Awakening", // 39
46
+ [Challenge.SEEING_DOUBLE]: "Seeing Double", // 40
47
+ [Challenge.PICA_RUN]: "Pica Run", // 41
48
+ [Challenge.HOT_POTATO]: "Hot Potato", // 42
49
+ [Challenge.CANTRIPPED]: "Cantripped!", // 43
50
+ [Challenge.RED_REDEMPTION]: "Red Redemption", // 44
51
+ [Challenge.DELETE_THIS]: "DELETE THIS", // 45
52
+ } as const;
@@ -0,0 +1,48 @@
1
+ import { PlayerType } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_CHARACTER_NAME = "Unknown";
4
+
5
+ export const CHARACTER_NAMES: { readonly [key in PlayerType]: string } = {
6
+ [PlayerType.POSSESSOR]: "Possessor", // -1
7
+ [PlayerType.ISAAC]: "Isaac", // 0
8
+ [PlayerType.MAGDALENE]: "Magdalene", // 1
9
+ [PlayerType.CAIN]: "Cain", // 2
10
+ [PlayerType.JUDAS]: "Judas", // 3
11
+ [PlayerType.BLUE_BABY]: "Blue Baby", // 4
12
+ [PlayerType.EVE]: "Eve", // 5
13
+ [PlayerType.SAMSON]: "Samson", // 6
14
+ [PlayerType.AZAZEL]: "Azazel", // 7
15
+ [PlayerType.LAZARUS]: "Lazarus", // 8
16
+ [PlayerType.EDEN]: "Eden", // 9
17
+ [PlayerType.THE_LOST]: "The Lost", // 10
18
+ [PlayerType.LAZARUS_2]: "Lazarus II", // 11
19
+ [PlayerType.BLACK_JUDAS]: "Dark Judas", // 12
20
+ [PlayerType.LILITH]: "Lilith", // 13
21
+ [PlayerType.KEEPER]: "Keeper", // 14
22
+ [PlayerType.APOLLYON]: "Apollyon", // 15
23
+ [PlayerType.THE_FORGOTTEN]: "The Forgotten", // 16
24
+ [PlayerType.THE_SOUL]: "The Soul", // 17
25
+ [PlayerType.BETHANY]: "Bethany", // 18
26
+ [PlayerType.JACOB]: "Jacob", // 19
27
+ [PlayerType.ESAU]: "Esau", // 20
28
+ [PlayerType.ISAAC_B]: "Tainted Isaac", // 21
29
+ [PlayerType.MAGDALENE_B]: "Tainted Magdalene", // 22
30
+ [PlayerType.CAIN_B]: "Tainted Cain", // 23
31
+ [PlayerType.JUDAS_B]: "Tainted Judas", // 24
32
+ [PlayerType.BLUE_BABY_B]: "Tainted Blue Baby", // 25
33
+ [PlayerType.EVE_B]: "Tainted Eve", // 26
34
+ [PlayerType.SAMSON_B]: "Tainted Samson", // 27
35
+ [PlayerType.AZAZEL_B]: "Tainted Azazel", // 28
36
+ [PlayerType.LAZARUS_B]: "Tainted Lazarus", // 29
37
+ [PlayerType.EDEN_B]: "Tainted Eden", // 30
38
+ [PlayerType.THE_LOST_B]: "Tainted Lost", // 31
39
+ [PlayerType.LILITH_B]: "Tainted Lilith", // 32
40
+ [PlayerType.KEEPER_B]: "Tainted Keeper", // 33
41
+ [PlayerType.APOLLYON_B]: "Tainted Apollyon", // 34
42
+ [PlayerType.THE_FORGOTTEN_B]: "Tainted Forgotten", // 35
43
+ [PlayerType.BETHANY_B]: "Tainted Bethany", // 36
44
+ [PlayerType.JACOB_B]: "Tainted Jacob", // 37
45
+ [PlayerType.LAZARUS_2_B]: "Dead Tainted Lazarus", // 38
46
+ [PlayerType.JACOB_2_B]: "Dead Tainted Jacob", // 39
47
+ [PlayerType.THE_SOUL_B]: "Tainted Soul", // 40
48
+ } as const;
@@ -0,0 +1,14 @@
1
+ import { CoinSubType } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_COIN_VALUE = 1;
4
+
5
+ export const COIN_SUBTYPE_TO_VALUE: { readonly [key in CoinSubType]: int } = {
6
+ [CoinSubType.NULL]: 0, // 0
7
+ [CoinSubType.PENNY]: 1, // 1
8
+ [CoinSubType.NICKEL]: 5, // 2
9
+ [CoinSubType.DIME]: 10, // 3
10
+ [CoinSubType.DOUBLE_PACK]: 2, // 4
11
+ [CoinSubType.LUCKY_PENNY]: 1, // 5
12
+ [CoinSubType.STICKY_NICKEL]: 5, // 6
13
+ [CoinSubType.GOLDEN]: 1, // 7
14
+ } as const;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A collection of common colors that can be reused.
3
+ *
4
+ * Note that if you want to further modify these colors, you should copy them first with the
5
+ * `copyColor` function.
6
+ */
7
+ export const COLORS = {
8
+ Black: Color(1, 1, 1),
9
+ Red: Color(1, 0, 0),
10
+ Green: Color(0, 1, 0),
11
+ Blue: Color(0, 0, 1),
12
+ Yellow: Color(1, 1, 0),
13
+ Pink: Color(1, 0, 1),
14
+ Cyan: Color(0, 1, 1),
15
+ White: Color(1, 1, 1),
16
+ } as const;
@@ -0,0 +1,11 @@
1
+ import { Direction } from "isaac-typescript-definitions";
2
+
3
+ export const DIRECTION_NAMES: {
4
+ readonly [key in Direction]: string | undefined;
5
+ } = {
6
+ [Direction.NO_DIRECTION]: undefined, // -1
7
+ [Direction.LEFT]: "left", // 0
8
+ [Direction.UP]: "up", // 1
9
+ [Direction.RIGHT]: "right", // 2
10
+ [Direction.DOWN]: "down", // 3
11
+ } as const;
@@ -0,0 +1,11 @@
1
+ import { Direction } from "isaac-typescript-definitions";
2
+
3
+ export const DIRECTION_TO_DEGREES: {
4
+ readonly [key in Direction]: int;
5
+ } = {
6
+ [Direction.NO_DIRECTION]: 0, // -1
7
+ [Direction.LEFT]: 180, // 0
8
+ [Direction.UP]: 270, // 1
9
+ [Direction.RIGHT]: 0, // 2
10
+ [Direction.DOWN]: 90, // 3
11
+ } as const;
@@ -0,0 +1,12 @@
1
+ import { Direction } from "isaac-typescript-definitions";
2
+ import { VectorZero } from "../constants";
3
+
4
+ export const DIRECTION_TO_VECTOR: {
5
+ readonly [key in Direction]: Readonly<Vector>;
6
+ } = {
7
+ [Direction.NO_DIRECTION]: VectorZero, // -1
8
+ [Direction.LEFT]: Vector(-1, 0), // 0
9
+ [Direction.UP]: Vector(0, -1), // 1
10
+ [Direction.RIGHT]: Vector(1, 0), // 2
11
+ [Direction.DOWN]: Vector(0, 1), // 3
12
+ } as const;
@@ -0,0 +1,16 @@
1
+ import { DoorSlot, DoorSlotFlag } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_DOOR_SLOT = DoorSlot.NO_DOOR_SLOT;
4
+
5
+ export const DOOR_SLOT_FLAG_TO_DOOR_SLOT: {
6
+ readonly [key in DoorSlotFlag]: DoorSlot;
7
+ } = {
8
+ [DoorSlotFlag.LEFT_0]: DoorSlot.LEFT_0, // 0
9
+ [DoorSlotFlag.UP_0]: DoorSlot.UP_0, // 1
10
+ [DoorSlotFlag.RIGHT_0]: DoorSlot.RIGHT_0, // 2
11
+ [DoorSlotFlag.DOWN_0]: DoorSlot.DOWN_0, // 3
12
+ [DoorSlotFlag.LEFT_1]: DoorSlot.LEFT_1, // 4
13
+ [DoorSlotFlag.UP_1]: DoorSlot.UP_1, // 5
14
+ [DoorSlotFlag.RIGHT_1]: DoorSlot.RIGHT_1, // 6
15
+ [DoorSlotFlag.DOWN_1]: DoorSlot.DOWN_1, // 7
16
+ } as const;
@@ -0,0 +1,14 @@
1
+ import { Direction, DoorSlot } from "isaac-typescript-definitions";
2
+
3
+ export const DOOR_SLOT_TO_DIRECTION: { readonly [key in DoorSlot]: Direction } =
4
+ {
5
+ [DoorSlot.NO_DOOR_SLOT]: Direction.NO_DIRECTION, // -1
6
+ [DoorSlot.LEFT_0]: Direction.LEFT, // 0
7
+ [DoorSlot.UP_0]: Direction.UP, // 1
8
+ [DoorSlot.RIGHT_0]: Direction.RIGHT, // 2
9
+ [DoorSlot.DOWN_0]: Direction.DOWN, // 3
10
+ [DoorSlot.LEFT_1]: Direction.LEFT, // 4
11
+ [DoorSlot.UP_1]: Direction.UP, // 5
12
+ [DoorSlot.RIGHT_1]: Direction.RIGHT, // 6
13
+ [DoorSlot.DOWN_1]: Direction.DOWN, // 7
14
+ } as const;
@@ -0,0 +1,11 @@
1
+ import { CopyableIsaacAPIClassType } from "../enums/private/CopyableIsaacAPIClassType";
2
+ import { SerializationBrand } from "../enums/private/SerializationBrand";
3
+
4
+ export const ISAAC_API_CLASS_TYPE_TO_BRAND: {
5
+ readonly [key in CopyableIsaacAPIClassType]: SerializationBrand;
6
+ } = {
7
+ [CopyableIsaacAPIClassType.COLOR]: SerializationBrand.COLOR,
8
+ [CopyableIsaacAPIClassType.K_COLOR]: SerializationBrand.K_COLOR,
9
+ [CopyableIsaacAPIClassType.RNG]: SerializationBrand.RNG,
10
+ [CopyableIsaacAPIClassType.VECTOR]: SerializationBrand.VECTOR,
11
+ } as const;
@@ -0,0 +1,18 @@
1
+ import { CopyableIsaacAPIClassType } from "../enums/private/CopyableIsaacAPIClassType";
2
+ import { SerializationType } from "../enums/SerializationType";
3
+ import { copyColor } from "../functions/color";
4
+ import { copyKColor } from "../functions/kColor";
5
+ import { copyRNG } from "../functions/rng";
6
+ import { copyVector } from "../functions/vector";
7
+
8
+ export const ISAAC_API_CLASS_TYPE_TO_COPY_FUNCTION: {
9
+ readonly [key in CopyableIsaacAPIClassType]: (
10
+ object: unknown,
11
+ serializationType: SerializationType,
12
+ ) => boolean;
13
+ } = {
14
+ [CopyableIsaacAPIClassType.COLOR]: copyColor,
15
+ [CopyableIsaacAPIClassType.K_COLOR]: copyKColor,
16
+ [CopyableIsaacAPIClassType.RNG]: copyRNG,
17
+ [CopyableIsaacAPIClassType.VECTOR]: copyVector,
18
+ } as const;
@@ -0,0 +1,13 @@
1
+ import { LanguageAbbreviation } from "isaac-typescript-definitions";
2
+
3
+ export const LANGUAGE_NAMES: {
4
+ readonly [key in LanguageAbbreviation]: string;
5
+ } = {
6
+ [LanguageAbbreviation.ENGLISH]: "English",
7
+ [LanguageAbbreviation.JAPANESE]: "Japanese",
8
+ [LanguageAbbreviation.KOREAN]: "Korean",
9
+ [LanguageAbbreviation.CHINESE_SIMPLE]: "Chinese (Simple)",
10
+ [LanguageAbbreviation.RUSSIAN]: "Russian",
11
+ [LanguageAbbreviation.GERMAN]: "German",
12
+ [LanguageAbbreviation.SPANISH]: "Spanish",
13
+ } as const;
@@ -0,0 +1,15 @@
1
+ import { DoorSlot } from "isaac-typescript-definitions";
2
+
3
+ export const OPPOSITE_DOOR_SLOTS: {
4
+ readonly [key in DoorSlot]: DoorSlot | undefined;
5
+ } = {
6
+ [DoorSlot.NO_DOOR_SLOT]: undefined,
7
+ [DoorSlot.LEFT_0]: DoorSlot.RIGHT_0,
8
+ [DoorSlot.UP_0]: DoorSlot.DOWN_0,
9
+ [DoorSlot.RIGHT_0]: DoorSlot.LEFT_0,
10
+ [DoorSlot.LEFT_1]: DoorSlot.RIGHT_1,
11
+ [DoorSlot.DOWN_0]: DoorSlot.UP_0,
12
+ [DoorSlot.UP_1]: DoorSlot.DOWN_1,
13
+ [DoorSlot.RIGHT_1]: DoorSlot.LEFT_1,
14
+ [DoorSlot.DOWN_1]: DoorSlot.UP_1,
15
+ } as const;
@@ -0,0 +1,63 @@
1
+ import {
2
+ ItemConfigPillEffectClass,
3
+ PillEffect,
4
+ } from "isaac-typescript-definitions";
5
+
6
+ export const DEFAULT_PILL_EFFECT_CLASS = ItemConfigPillEffectClass.MODDED;
7
+
8
+ export const PILL_EFFECT_CLASSES: {
9
+ readonly [key in PillEffect]: ItemConfigPillEffectClass;
10
+ } = {
11
+ [PillEffect.BAD_GAS]: ItemConfigPillEffectClass.MINOR,
12
+ [PillEffect.BAD_TRIP]: ItemConfigPillEffectClass.MEDIUM,
13
+ [PillEffect.BALLS_OF_STEEL]: ItemConfigPillEffectClass.MEDIUM,
14
+ [PillEffect.BOMBS_ARE_KEYS]: ItemConfigPillEffectClass.MEDIUM,
15
+ [PillEffect.EXPLOSIVE_DIARRHEA]: ItemConfigPillEffectClass.MINOR,
16
+ [PillEffect.FULL_HEALTH]: ItemConfigPillEffectClass.MEDIUM,
17
+ [PillEffect.HEALTH_DOWN]: ItemConfigPillEffectClass.MAJOR,
18
+ [PillEffect.HEALTH_UP]: ItemConfigPillEffectClass.MAJOR,
19
+ [PillEffect.I_FOUND_PILLS]: ItemConfigPillEffectClass.JOKE,
20
+ [PillEffect.PUBERTY]: ItemConfigPillEffectClass.JOKE,
21
+ [PillEffect.PRETTY_FLY]: ItemConfigPillEffectClass.MEDIUM,
22
+ [PillEffect.RANGE_DOWN]: ItemConfigPillEffectClass.MAJOR,
23
+ [PillEffect.RANGE_UP]: ItemConfigPillEffectClass.MAJOR,
24
+ [PillEffect.SPEED_DOWN]: ItemConfigPillEffectClass.MAJOR,
25
+ [PillEffect.SPEED_UP]: ItemConfigPillEffectClass.MAJOR,
26
+ [PillEffect.TEARS_DOWN]: ItemConfigPillEffectClass.MAJOR,
27
+ [PillEffect.TEARS_UP]: ItemConfigPillEffectClass.MAJOR,
28
+ [PillEffect.LUCK_DOWN]: ItemConfigPillEffectClass.MAJOR,
29
+ [PillEffect.LUCK_UP]: ItemConfigPillEffectClass.MAJOR,
30
+ [PillEffect.TELEPILLS]: ItemConfigPillEffectClass.MAJOR,
31
+ [PillEffect.FORTY_EIGHT_HOUR_ENERGY]: ItemConfigPillEffectClass.MEDIUM,
32
+ [PillEffect.HEMATEMESIS]: ItemConfigPillEffectClass.MEDIUM,
33
+ [PillEffect.PARALYSIS]: ItemConfigPillEffectClass.MINOR,
34
+ [PillEffect.I_CAN_SEE_FOREVER]: ItemConfigPillEffectClass.MEDIUM,
35
+ [PillEffect.PHEROMONES]: ItemConfigPillEffectClass.MINOR,
36
+ [PillEffect.AMNESIA]: ItemConfigPillEffectClass.MEDIUM,
37
+ [PillEffect.LEMON_PARTY]: ItemConfigPillEffectClass.MINOR,
38
+ [PillEffect.R_U_A_WIZARD]: ItemConfigPillEffectClass.MINOR,
39
+ [PillEffect.PERCS]: ItemConfigPillEffectClass.MINOR,
40
+ [PillEffect.ADDICTED]: ItemConfigPillEffectClass.MINOR,
41
+ [PillEffect.RELAX]: ItemConfigPillEffectClass.JOKE,
42
+ [PillEffect.QUESTION_MARKS]: ItemConfigPillEffectClass.MINOR,
43
+ [PillEffect.ONE_MAKES_YOU_LARGER]: ItemConfigPillEffectClass.MINOR,
44
+ [PillEffect.ONE_MAKES_YOU_SMALL]: ItemConfigPillEffectClass.MINOR,
45
+ [PillEffect.INFESTED_EXCLAMATION]: ItemConfigPillEffectClass.MINOR,
46
+ [PillEffect.INFESTED_QUESTION]: ItemConfigPillEffectClass.MINOR,
47
+ [PillEffect.POWER]: ItemConfigPillEffectClass.MINOR,
48
+ [PillEffect.RETRO_VISION]: ItemConfigPillEffectClass.MINOR,
49
+ [PillEffect.FRIENDS_TILL_THE_END]: ItemConfigPillEffectClass.MINOR,
50
+ [PillEffect.X_LAX]: ItemConfigPillEffectClass.MINOR,
51
+ [PillEffect.SOMETHINGS_WRONG]: ItemConfigPillEffectClass.JOKE,
52
+ [PillEffect.IM_DROWSY]: ItemConfigPillEffectClass.MINOR,
53
+ [PillEffect.IM_EXCITED]: ItemConfigPillEffectClass.MINOR,
54
+ [PillEffect.GULP]: ItemConfigPillEffectClass.MEDIUM,
55
+ [PillEffect.HORF]: ItemConfigPillEffectClass.JOKE,
56
+ [PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE]:
57
+ ItemConfigPillEffectClass.MINOR,
58
+ [PillEffect.VURP]: ItemConfigPillEffectClass.MEDIUM,
59
+ [PillEffect.SHOT_SPEED_DOWN]: ItemConfigPillEffectClass.MAJOR,
60
+ [PillEffect.SHOT_SPEED_UP]: ItemConfigPillEffectClass.MAJOR,
61
+ [PillEffect.EXPERIMENTAL]: ItemConfigPillEffectClass.MAJOR,
62
+ [PillEffect.EXPERIMENTAL]: ItemConfigPillEffectClass.MAJOR,
63
+ } as const;
@@ -0,0 +1,57 @@
1
+ import { PillEffect } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_PILL_EFFECT_NAME = "Unknown";
4
+
5
+ export const PILL_EFFECT_NAMES: { readonly [key in PillEffect]: string } = {
6
+ [PillEffect.BAD_GAS]: "Bad Gas",
7
+ [PillEffect.BAD_TRIP]: "Bad Trip",
8
+ [PillEffect.BALLS_OF_STEEL]: "Balls of Steel",
9
+ [PillEffect.BOMBS_ARE_KEYS]: "Bombs Are Key",
10
+ [PillEffect.EXPLOSIVE_DIARRHEA]: "Explosive Diarrhea",
11
+ [PillEffect.FULL_HEALTH]: "Full Health",
12
+ [PillEffect.HEALTH_DOWN]: "Health Down",
13
+ [PillEffect.HEALTH_UP]: "Health Up",
14
+ [PillEffect.I_FOUND_PILLS]: "I Found Pills",
15
+ [PillEffect.PUBERTY]: "Puberty",
16
+ [PillEffect.PRETTY_FLY]: "Pretty Fly",
17
+ [PillEffect.RANGE_DOWN]: "Range Down",
18
+ [PillEffect.RANGE_UP]: "Range Up",
19
+ [PillEffect.SPEED_DOWN]: "Speed Down",
20
+ [PillEffect.SPEED_UP]: "Speed Up",
21
+ [PillEffect.TEARS_DOWN]: "Tears Down",
22
+ [PillEffect.TEARS_UP]: "Tears Up",
23
+ [PillEffect.LUCK_DOWN]: "Luck Down",
24
+ [PillEffect.LUCK_UP]: "Luck Up",
25
+ [PillEffect.TELEPILLS]: "Telepills",
26
+ [PillEffect.FORTY_EIGHT_HOUR_ENERGY]: "48 Hour Energy",
27
+ [PillEffect.HEMATEMESIS]: "Hematemesis",
28
+ [PillEffect.PARALYSIS]: "Paralysis",
29
+ [PillEffect.I_CAN_SEE_FOREVER]: "I can see forever!",
30
+ [PillEffect.PHEROMONES]: "Pheromones",
31
+ [PillEffect.AMNESIA]: "Amnesia",
32
+ [PillEffect.LEMON_PARTY]: "Lemon Party",
33
+ [PillEffect.R_U_A_WIZARD]: "R U a Wizard?",
34
+ [PillEffect.PERCS]: "Percs!",
35
+ [PillEffect.ADDICTED]: "Addicted!",
36
+ [PillEffect.RELAX]: "Re-Lax",
37
+ [PillEffect.QUESTION_MARKS]: "???",
38
+ [PillEffect.ONE_MAKES_YOU_LARGER]: "One makes you larger",
39
+ [PillEffect.ONE_MAKES_YOU_SMALL]: "One makes you small",
40
+ [PillEffect.INFESTED_EXCLAMATION]: "Infested!",
41
+ [PillEffect.INFESTED_QUESTION]: "Infested?",
42
+ [PillEffect.POWER]: "Power Pill!",
43
+ [PillEffect.RETRO_VISION]: "Retro Vision",
44
+ [PillEffect.FRIENDS_TILL_THE_END]: "Friends Till The End!",
45
+ [PillEffect.X_LAX]: "X-Lax",
46
+ [PillEffect.SOMETHINGS_WRONG]: "Something's wrong...",
47
+ [PillEffect.IM_DROWSY]: "I'm Drowsy...",
48
+ [PillEffect.IM_EXCITED]: "I'm Excited!!!",
49
+ [PillEffect.GULP]: "Gulp!",
50
+ [PillEffect.HORF]: "Horf!",
51
+ [PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE]:
52
+ "Feels like I'm walking on sunshine!",
53
+ [PillEffect.VURP]: "Vurp!",
54
+ [PillEffect.SHOT_SPEED_DOWN]: "Shot Speed Down",
55
+ [PillEffect.SHOT_SPEED_UP]: "Shot Speed Up",
56
+ [PillEffect.EXPERIMENTAL]: "Experimental Pill",
57
+ } as const;
@@ -0,0 +1,62 @@
1
+ import {
2
+ ItemConfigPillEffectType,
3
+ PillEffect,
4
+ } from "isaac-typescript-definitions";
5
+
6
+ export const DEFAULT_PILL_EFFECT_TYPE = ItemConfigPillEffectType.MODDED;
7
+
8
+ export const PILL_EFFECT_TYPES: {
9
+ readonly [key in PillEffect]: ItemConfigPillEffectType;
10
+ } = {
11
+ [PillEffect.BAD_GAS]: ItemConfigPillEffectType.POSITIVE,
12
+ [PillEffect.BAD_TRIP]: ItemConfigPillEffectType.NEGATIVE,
13
+ [PillEffect.BALLS_OF_STEEL]: ItemConfigPillEffectType.POSITIVE,
14
+ [PillEffect.BOMBS_ARE_KEYS]: ItemConfigPillEffectType.NEUTRAL,
15
+ [PillEffect.EXPLOSIVE_DIARRHEA]: ItemConfigPillEffectType.NEUTRAL,
16
+ [PillEffect.FULL_HEALTH]: ItemConfigPillEffectType.POSITIVE,
17
+ [PillEffect.HEALTH_DOWN]: ItemConfigPillEffectType.NEGATIVE,
18
+ [PillEffect.HEALTH_UP]: ItemConfigPillEffectType.POSITIVE,
19
+ [PillEffect.I_FOUND_PILLS]: ItemConfigPillEffectType.NEUTRAL,
20
+ [PillEffect.PUBERTY]: ItemConfigPillEffectType.NEUTRAL,
21
+ [PillEffect.PRETTY_FLY]: ItemConfigPillEffectType.POSITIVE,
22
+ [PillEffect.RANGE_DOWN]: ItemConfigPillEffectType.NEGATIVE,
23
+ [PillEffect.RANGE_UP]: ItemConfigPillEffectType.POSITIVE,
24
+ [PillEffect.SPEED_DOWN]: ItemConfigPillEffectType.NEGATIVE,
25
+ [PillEffect.SPEED_UP]: ItemConfigPillEffectType.POSITIVE,
26
+ [PillEffect.TEARS_DOWN]: ItemConfigPillEffectType.NEGATIVE,
27
+ [PillEffect.TEARS_UP]: ItemConfigPillEffectType.POSITIVE,
28
+ [PillEffect.LUCK_DOWN]: ItemConfigPillEffectType.NEGATIVE,
29
+ [PillEffect.LUCK_UP]: ItemConfigPillEffectType.POSITIVE,
30
+ [PillEffect.TELEPILLS]: ItemConfigPillEffectType.NEUTRAL,
31
+ [PillEffect.FORTY_EIGHT_HOUR_ENERGY]: ItemConfigPillEffectType.POSITIVE,
32
+ [PillEffect.HEMATEMESIS]: ItemConfigPillEffectType.NEUTRAL,
33
+ [PillEffect.PARALYSIS]: ItemConfigPillEffectType.NEGATIVE,
34
+ [PillEffect.I_CAN_SEE_FOREVER]: ItemConfigPillEffectType.POSITIVE,
35
+ [PillEffect.PHEROMONES]: ItemConfigPillEffectType.POSITIVE,
36
+ [PillEffect.AMNESIA]: ItemConfigPillEffectType.NEGATIVE,
37
+ [PillEffect.LEMON_PARTY]: ItemConfigPillEffectType.POSITIVE,
38
+ [PillEffect.R_U_A_WIZARD]: ItemConfigPillEffectType.NEGATIVE,
39
+ [PillEffect.PERCS]: ItemConfigPillEffectType.POSITIVE,
40
+ [PillEffect.ADDICTED]: ItemConfigPillEffectType.NEGATIVE,
41
+ [PillEffect.RELAX]: ItemConfigPillEffectType.NEUTRAL,
42
+ [PillEffect.QUESTION_MARKS]: ItemConfigPillEffectType.NEGATIVE,
43
+ [PillEffect.ONE_MAKES_YOU_LARGER]: ItemConfigPillEffectType.NEUTRAL,
44
+ [PillEffect.ONE_MAKES_YOU_SMALL]: ItemConfigPillEffectType.NEUTRAL,
45
+ [PillEffect.INFESTED_EXCLAMATION]: ItemConfigPillEffectType.POSITIVE,
46
+ [PillEffect.INFESTED_QUESTION]: ItemConfigPillEffectType.POSITIVE,
47
+ [PillEffect.POWER]: ItemConfigPillEffectType.POSITIVE,
48
+ [PillEffect.RETRO_VISION]: ItemConfigPillEffectType.NEGATIVE,
49
+ [PillEffect.FRIENDS_TILL_THE_END]: ItemConfigPillEffectType.POSITIVE,
50
+ [PillEffect.X_LAX]: ItemConfigPillEffectType.NEGATIVE,
51
+ [PillEffect.SOMETHINGS_WRONG]: ItemConfigPillEffectType.POSITIVE,
52
+ [PillEffect.IM_DROWSY]: ItemConfigPillEffectType.NEUTRAL,
53
+ [PillEffect.IM_EXCITED]: ItemConfigPillEffectType.NEUTRAL,
54
+ [PillEffect.GULP]: ItemConfigPillEffectType.POSITIVE,
55
+ [PillEffect.HORF]: ItemConfigPillEffectType.NEUTRAL,
56
+ [PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE]:
57
+ ItemConfigPillEffectType.POSITIVE,
58
+ [PillEffect.VURP]: ItemConfigPillEffectType.POSITIVE,
59
+ [PillEffect.SHOT_SPEED_DOWN]: ItemConfigPillEffectType.NEGATIVE,
60
+ [PillEffect.SHOT_SPEED_UP]: ItemConfigPillEffectType.POSITIVE,
61
+ [PillEffect.EXPERIMENTAL]: ItemConfigPillEffectType.NEUTRAL,
62
+ } as const;
@@ -0,0 +1,71 @@
1
+ import { RoomShape } from "isaac-typescript-definitions";
2
+ import {
3
+ NARROW_CONTENTS_HEIGHT,
4
+ NARROW_CONTENTS_WIDTH,
5
+ ONE_BY_ONE_CONTENTS_HEIGHT,
6
+ ONE_BY_ONE_CONTENTS_WIDTH,
7
+ } from "./roomShapeVolumes";
8
+
9
+ const TWO_BY_TWO_BOUNDS = Vector(
10
+ ONE_BY_ONE_CONTENTS_WIDTH * 2,
11
+ ONE_BY_ONE_CONTENTS_HEIGHT * 2,
12
+ );
13
+
14
+ /**
15
+ * The size of a room shape's contents. This does not include the tiles that the walls are on. L
16
+ * rooms use the same bounds as a 2x2 room.
17
+ */
18
+ export const ROOM_SHAPE_BOUNDS: {
19
+ readonly [key in RoomShape]: Vector;
20
+ } = {
21
+ // 1
22
+ [RoomShape.SHAPE_1x1]: Vector(
23
+ ONE_BY_ONE_CONTENTS_WIDTH,
24
+ ONE_BY_ONE_CONTENTS_HEIGHT,
25
+ ),
26
+
27
+ // 2
28
+ [RoomShape.IH]: Vector(ONE_BY_ONE_CONTENTS_WIDTH, NARROW_CONTENTS_HEIGHT),
29
+
30
+ // 3
31
+ [RoomShape.IV]: Vector(NARROW_CONTENTS_WIDTH, ONE_BY_ONE_CONTENTS_HEIGHT),
32
+
33
+ // 4
34
+ [RoomShape.SHAPE_1x2]: Vector(
35
+ ONE_BY_ONE_CONTENTS_WIDTH,
36
+ ONE_BY_ONE_CONTENTS_HEIGHT * 2,
37
+ ),
38
+
39
+ // 5
40
+ [RoomShape.IIV]: Vector(
41
+ NARROW_CONTENTS_WIDTH,
42
+ ONE_BY_ONE_CONTENTS_HEIGHT * 2,
43
+ ),
44
+
45
+ // 6
46
+ [RoomShape.SHAPE_2x1]: Vector(
47
+ ONE_BY_ONE_CONTENTS_WIDTH * 2,
48
+ ONE_BY_ONE_CONTENTS_HEIGHT,
49
+ ),
50
+
51
+ // 7
52
+ [RoomShape.IIH]: Vector(
53
+ ONE_BY_ONE_CONTENTS_WIDTH * 2,
54
+ NARROW_CONTENTS_HEIGHT,
55
+ ),
56
+
57
+ // 8
58
+ [RoomShape.SHAPE_2x2]: TWO_BY_TWO_BOUNDS,
59
+
60
+ // 9
61
+ [RoomShape.LTL]: TWO_BY_TWO_BOUNDS,
62
+
63
+ // 10
64
+ [RoomShape.LTR]: TWO_BY_TWO_BOUNDS,
65
+
66
+ // 11
67
+ [RoomShape.LBL]: TWO_BY_TWO_BOUNDS,
68
+
69
+ // 12
70
+ [RoomShape.LBR]: TWO_BY_TWO_BOUNDS,
71
+ } as const;