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,17 @@
1
+ import { CacheFlag } from "isaac-typescript-definitions";
2
+ import { getTearsStat } from "../functions/tears";
3
+
4
+ const DEFAULT_MAX_FIRE_DELAY = 10;
5
+
6
+ /** The default fire delay is represented in the tear stat, not the `MaxFireDelay` value. */
7
+ export const DEFAULT_PLAYER_STAT_MAP: ReadonlyMap<CacheFlag, number> = new Map([
8
+ [CacheFlag.DAMAGE, 3.5], // 1 << 0
9
+
10
+ // The default tears stat is 2.73.
11
+ [CacheFlag.FIRE_DELAY, getTearsStat(DEFAULT_MAX_FIRE_DELAY)], // 1 << 1
12
+
13
+ [CacheFlag.SHOT_SPEED, 1.0], // 1 << 2
14
+ [CacheFlag.RANGE, 6.5], // 1 << 3
15
+ [CacheFlag.SPEED, 1], // 1 << 4
16
+ [CacheFlag.LUCK, 0], // 1 << 10
17
+ ]);
@@ -0,0 +1,35 @@
1
+ import { PillEffect } from "isaac-typescript-definitions";
2
+
3
+ export const FALSE_PHD_PILL_CONVERSIONS: ReadonlyMap<PillEffect, PillEffect> =
4
+ new Map([
5
+ [PillEffect.BAD_GAS, PillEffect.HEALTH_DOWN], // 0
6
+ [PillEffect.BALLS_OF_STEEL, PillEffect.BAD_TRIP], // 2
7
+ [PillEffect.BOMBS_ARE_KEYS, PillEffect.TEARS_DOWN], // 3
8
+ [PillEffect.EXPLOSIVE_DIARRHEA, PillEffect.RANGE_DOWN], // 4
9
+ [PillEffect.FULL_HEALTH, PillEffect.BAD_TRIP], // 5
10
+ [PillEffect.HEALTH_UP, PillEffect.HEALTH_DOWN], // 7
11
+ [PillEffect.PRETTY_FLY, PillEffect.LUCK_DOWN], // 10
12
+ [PillEffect.RANGE_UP, PillEffect.RANGE_DOWN], // 12
13
+ [PillEffect.SPEED_UP, PillEffect.SPEED_DOWN], // 14
14
+ [PillEffect.TEARS_UP, PillEffect.TEARS_DOWN], // 16
15
+ [PillEffect.LUCK_UP, PillEffect.LUCK_DOWN], // 18
16
+ [PillEffect.TELEPILLS, PillEffect.QUESTION_MARKS], // 19
17
+ [PillEffect.FORTY_EIGHT_HOUR_ENERGY, PillEffect.SPEED_DOWN], // 20
18
+ [PillEffect.HEMATEMESIS, PillEffect.BAD_TRIP], // 21
19
+ [PillEffect.I_CAN_SEE_FOREVER, PillEffect.AMNESIA], // 23
20
+ [PillEffect.PHEROMONES, PillEffect.PARALYSIS], // 24
21
+ [PillEffect.LEMON_PARTY, PillEffect.AMNESIA], // 26
22
+ [PillEffect.PERCS, PillEffect.ADDICTED], // 28
23
+ [PillEffect.ONE_MAKES_YOU_LARGER, PillEffect.RANGE_DOWN], // 32
24
+ [PillEffect.ONE_MAKES_YOU_SMALL, PillEffect.SPEED_DOWN], // 33
25
+ [PillEffect.INFESTED_EXCLAMATION, PillEffect.TEARS_DOWN], // 34
26
+ [PillEffect.INFESTED_QUESTION, PillEffect.LUCK_DOWN], // 35
27
+ [PillEffect.POWER, PillEffect.R_U_A_WIZARD], // 36
28
+ [PillEffect.FRIENDS_TILL_THE_END, PillEffect.HEALTH_DOWN], // 38
29
+ [PillEffect.SOMETHINGS_WRONG, PillEffect.X_LAX], // 40
30
+ [PillEffect.IM_DROWSY, PillEffect.IM_EXCITED], // 41
31
+ [PillEffect.GULP, PillEffect.HORF], // 43
32
+ [PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE, PillEffect.RETRO_VISION], // 45
33
+ [PillEffect.VURP, PillEffect.HORF], // 46
34
+ [PillEffect.SHOT_SPEED_UP, PillEffect.SHOT_SPEED_DOWN], // 48
35
+ ]);
@@ -0,0 +1,50 @@
1
+ import {
2
+ GridEntityType,
3
+ LockState,
4
+ PoopState,
5
+ RockState,
6
+ SpiderWebState,
7
+ TNTState,
8
+ } from "isaac-typescript-definitions";
9
+
10
+ // Not every grid entity can be broken, thus we can use a map to represent this.
11
+ export const GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP: ReadonlyMap<
12
+ GridEntityType,
13
+ int
14
+ > = new Map<GridEntityType, int>([
15
+ // 2
16
+ [GridEntityType.ROCK, RockState.BROKEN],
17
+
18
+ // 4
19
+ [GridEntityType.ROCK_TINTED, RockState.BROKEN],
20
+
21
+ // 5
22
+ [GridEntityType.ROCK_BOMB, RockState.BROKEN],
23
+
24
+ // 6
25
+ [GridEntityType.ROCK_ALT, RockState.BROKEN],
26
+
27
+ // 10
28
+ [GridEntityType.SPIDER_WEB, SpiderWebState.BROKEN],
29
+
30
+ // 11
31
+ [GridEntityType.LOCK, LockState.UNLOCKED],
32
+
33
+ // 12
34
+ [GridEntityType.TNT, TNTState.EXPLODED],
35
+
36
+ // 14
37
+ [GridEntityType.POOP, PoopState.COMPLETELY_DESTROYED],
38
+
39
+ // 22
40
+ [GridEntityType.ROCK_SUPER_SPECIAL, RockState.BROKEN],
41
+
42
+ // 25
43
+ [GridEntityType.ROCK_SPIKED, RockState.BROKEN],
44
+
45
+ // 26
46
+ [GridEntityType.ROCK_ALT_2, RockState.BROKEN],
47
+
48
+ // 27
49
+ [GridEntityType.ROCK_GOLD, RockState.BROKEN],
50
+ ]);
@@ -0,0 +1,176 @@
1
+ import {
2
+ CrawlSpaceVariant,
3
+ GridEntityType,
4
+ GridEntityXMLType,
5
+ PitVariant,
6
+ PoopGridEntityVariant,
7
+ PressurePlateVariant,
8
+ RockVariant,
9
+ StatueVariant,
10
+ TrapdoorVariant,
11
+ } from "isaac-typescript-definitions";
12
+
13
+ /**
14
+ * This maps the GridEntityXMLType (i.e. the type contained in the room XML/STB file) to the
15
+ * GridEntityType and the variant used by the game.
16
+ */
17
+ export const GRID_ENTITY_XML_MAP: ReadonlyMap<
18
+ GridEntityXMLType,
19
+ [GridEntityType, int]
20
+ > = new Map([
21
+ // 1000
22
+ [GridEntityXMLType.ROCK, [GridEntityType.ROCK, RockVariant.NORMAL]],
23
+
24
+ // 1001
25
+ [GridEntityXMLType.ROCK_BOMB, [GridEntityType.ROCK_BOMB, 0]],
26
+
27
+ // 1002
28
+ [GridEntityXMLType.ROCK_ALT, [GridEntityType.ROCK_ALT, 0]],
29
+
30
+ // 1003
31
+ [GridEntityXMLType.ROCK_TINTED, [GridEntityType.ROCK_TINTED, 0]],
32
+
33
+ // 1008
34
+ [GridEntityXMLType.ROCK_ALT_2, [GridEntityType.ROCK_ALT_2, 0]],
35
+
36
+ // 1009
37
+ [
38
+ GridEntityXMLType.ROCK_EVENT,
39
+ [GridEntityType.ROCK_ALT_2, RockVariant.EVENT],
40
+ ],
41
+
42
+ // 1010
43
+ [GridEntityXMLType.ROCK_SPIKED, [GridEntityType.ROCK_SPIKED, 0]],
44
+
45
+ // 1011
46
+ [GridEntityXMLType.ROCK_GOLD, [GridEntityType.ROCK_GOLD, 0]],
47
+
48
+ // 1300
49
+ [GridEntityXMLType.TNT, [GridEntityType.TNT, 0]],
50
+
51
+ // GridEntityXMLType.FIREPLACE (1400) and GridEntityXMLType.RED_FIREPLACE (1410) are intentionally
52
+ // not mapped; the game converts these to EntityType.FIREPLACE (33). Manually spawning the grid
53
+ // version of the fireplace will result in a bugged entity.
54
+
55
+ // 1490
56
+ [
57
+ GridEntityXMLType.POOP_RED,
58
+ [GridEntityType.POOP, PoopGridEntityVariant.RED],
59
+ ],
60
+
61
+ // 1494
62
+ [
63
+ GridEntityXMLType.POOP_RAINBOW,
64
+ [GridEntityType.POOP, PoopGridEntityVariant.RAINBOW],
65
+ ],
66
+
67
+ // 1495
68
+ [
69
+ GridEntityXMLType.POOP_CORN,
70
+ [GridEntityType.POOP, PoopGridEntityVariant.CORN],
71
+ ],
72
+
73
+ // 1496
74
+ [
75
+ GridEntityXMLType.POOP_GOLDEN,
76
+ [GridEntityType.POOP, PoopGridEntityVariant.GOLDEN],
77
+ ],
78
+
79
+ // 1497
80
+ [
81
+ GridEntityXMLType.POOP_BLACK,
82
+ [GridEntityType.POOP, PoopGridEntityVariant.BLACK],
83
+ ],
84
+
85
+ // 1498
86
+ [
87
+ GridEntityXMLType.POOP_WHITE,
88
+ [GridEntityType.POOP, PoopGridEntityVariant.WHITE],
89
+ ],
90
+
91
+ // GridEntityXMLType.POOP_GIGA (1499) is intentionally not mapped; the game converts this to four
92
+ // different grid entities that are all next to each other:
93
+ // - PoopVariant.GIGA_TOP_LEFT (7)
94
+ // - PoopVariant.GIGA_TOP_RIGHT (8)
95
+ // - PoopVariant.GIGA_BOTTOM_LEFT (9)
96
+ // - PoopVariant.GIGA_BOTTOM_RIGHT (10)
97
+
98
+ // 1500
99
+ [GridEntityXMLType.POOP, [GridEntityType.POOP, PoopGridEntityVariant.NORMAL]],
100
+
101
+ // 1501
102
+ [
103
+ GridEntityXMLType.POOP_CHARMING,
104
+ [GridEntityType.POOP, PoopGridEntityVariant.CHARMING],
105
+ ],
106
+
107
+ // 1900
108
+ [GridEntityXMLType.BLOCK, [GridEntityType.BLOCK, 0]],
109
+
110
+ // 1901
111
+ [GridEntityXMLType.PILLAR, [GridEntityType.PILLAR, 0]],
112
+
113
+ // 1930
114
+ [GridEntityXMLType.SPIKES, [GridEntityType.SPIKES, 0]],
115
+
116
+ // 1931
117
+ [GridEntityXMLType.SPIKES_ON_OFF, [GridEntityType.SPIKES_ON_OFF, 0]],
118
+
119
+ // 1940
120
+ [GridEntityXMLType.SPIDER_WEB, [GridEntityType.SPIDER_WEB, 0]],
121
+
122
+ // 1999
123
+ [GridEntityXMLType.WALL, [GridEntityType.WALL, 0]],
124
+
125
+ // 3000
126
+ [GridEntityXMLType.PIT, [GridEntityType.PIT, PitVariant.NORMAL]],
127
+
128
+ // 3001
129
+ [
130
+ GridEntityXMLType.FISSURE_SPAWNER,
131
+ [GridEntityType.PIT, PitVariant.FISSURE_SPAWNER],
132
+ ],
133
+
134
+ // 3009 - `GridEntityXMLType.PIT_EVENT` spawns as a normal pit with VarData equal to 1. VarData
135
+ // must be manually handled by any code that uses this mapping.)
136
+ [GridEntityXMLType.PIT_EVENT, [GridEntityType.PIT, PitVariant.NORMAL]],
137
+
138
+ // 4000
139
+ [GridEntityXMLType.LOCK, [GridEntityType.LOCK, 0]],
140
+
141
+ // 4500
142
+ [
143
+ GridEntityXMLType.PRESSURE_PLATE,
144
+ [GridEntityType.PRESSURE_PLATE, PressurePlateVariant.PRESSURE_PLATE],
145
+ ],
146
+
147
+ // 5000
148
+ [
149
+ GridEntityXMLType.STATUE_DEVIL,
150
+ [GridEntityType.STATUE, StatueVariant.DEVIL],
151
+ ],
152
+
153
+ // 5001
154
+ [
155
+ GridEntityXMLType.STATUE_ANGEL,
156
+ [GridEntityType.STATUE, StatueVariant.ANGEL],
157
+ ],
158
+
159
+ // 6100
160
+ [GridEntityXMLType.TELEPORTER, [GridEntityType.TELEPORTER, 0]],
161
+
162
+ // 9000
163
+ [
164
+ GridEntityXMLType.TRAPDOOR,
165
+ [GridEntityType.TRAPDOOR, TrapdoorVariant.NORMAL],
166
+ ],
167
+
168
+ // 9100
169
+ [
170
+ GridEntityXMLType.CRAWL_SPACE,
171
+ [GridEntityType.CRAWL_SPACE, CrawlSpaceVariant.NORMAL],
172
+ ],
173
+
174
+ // 10000
175
+ [GridEntityXMLType.GRAVITY, [GridEntityType.GRAVITY, 0]],
176
+ ]);
@@ -0,0 +1,88 @@
1
+ import { PillEffect } from "isaac-typescript-definitions";
2
+
3
+ /** Maps pill effect names to the values of the `PillEffect` enum. */
4
+ export const PILL_EFFECT_MAP: ReadonlyMap<string, PillEffect> = new Map([
5
+ ["badGas", PillEffect.BAD_GAS], // 0
6
+ ["gas", PillEffect.BAD_GAS], // 0
7
+ ["badTrip", PillEffect.BAD_TRIP], // 1
8
+ ["trip", PillEffect.BAD_TRIP], // 1
9
+ ["ballsOfSteel", PillEffect.BALLS_OF_STEEL], // 2
10
+ ["ballsSteel", PillEffect.BALLS_OF_STEEL], // 2
11
+ ["steel", PillEffect.BALLS_OF_STEEL], // 2
12
+ ["bombsAreKey", PillEffect.BOMBS_ARE_KEYS], // 3
13
+ ["bombsKey", PillEffect.BOMBS_ARE_KEYS], // 3
14
+ ["key", PillEffect.BOMBS_ARE_KEYS], // 3
15
+ ["explosiveDiarrhea", PillEffect.EXPLOSIVE_DIARRHEA], // 4
16
+ ["diarrhea", PillEffect.EXPLOSIVE_DIARRHEA], // 4
17
+ ["fullHealth", PillEffect.FULL_HEALTH], // 5
18
+ ["healthDown", PillEffect.HEALTH_DOWN], // 6
19
+ ["healthUp", PillEffect.HEALTH_UP], // 7
20
+ ["iFoundPills", PillEffect.I_FOUND_PILLS], // 8
21
+ ["foundPills", PillEffect.I_FOUND_PILLS], // 8
22
+ ["pills", PillEffect.I_FOUND_PILLS], // 8
23
+ ["puberty", PillEffect.PUBERTY], // 9
24
+ ["prettyFly", PillEffect.PRETTY_FLY], // 10
25
+ ["fly", PillEffect.PRETTY_FLY], // 10
26
+ ["rangeDown", PillEffect.RANGE_DOWN], // 11
27
+ ["rangeUp", PillEffect.RANGE_UP], // 12
28
+ ["speedDown", PillEffect.SPEED_DOWN], // 13
29
+ ["speedUp", PillEffect.SPEED_UP], // 14
30
+ ["tearsDown", PillEffect.TEARS_DOWN], // 15
31
+ ["tearsUp", PillEffect.TEARS_UP], // 16
32
+ ["luckDown", PillEffect.LUCK_DOWN], // 17
33
+ ["luckUp", PillEffect.LUCK_UP], // 18
34
+ ["telepills", PillEffect.TELEPILLS], // 19
35
+ ["48HourEnergy", PillEffect.FORTY_EIGHT_HOUR_ENERGY], // 20
36
+ ["energy", PillEffect.FORTY_EIGHT_HOUR_ENERGY], // 20
37
+ ["48", PillEffect.FORTY_EIGHT_HOUR_ENERGY], // 20
38
+ ["hematemesis", PillEffect.HEMATEMESIS], // 21
39
+ ["paralysis", PillEffect.PARALYSIS], // 22
40
+ ["iCanSeeForever!", PillEffect.I_CAN_SEE_FOREVER], // 23
41
+ ["canSee", PillEffect.I_CAN_SEE_FOREVER], // 23
42
+ ["see", PillEffect.I_CAN_SEE_FOREVER], // 23
43
+ ["pheromones", PillEffect.PHEROMONES], // 24
44
+ ["amnesia", PillEffect.AMNESIA], // 25
45
+ ["lemonParty", PillEffect.LEMON_PARTY], // 26
46
+ ["party", PillEffect.LEMON_PARTY], // 26
47
+ ["RUAWizard", PillEffect.R_U_A_WIZARD], // 27
48
+ ["areYouAWizard", PillEffect.R_U_A_WIZARD], // 27
49
+ ["wizard", PillEffect.R_U_A_WIZARD], // 27
50
+ ["percs!", PillEffect.PERCS], // 28
51
+ ["addicted!", PillEffect.ADDICTED], // 29
52
+ ["relax", PillEffect.RELAX], // 30
53
+ ["???", PillEffect.QUESTION_MARKS], // 31
54
+ ["oneMakesYouLarger", PillEffect.ONE_MAKES_YOU_LARGER], // 32
55
+ ["larger", PillEffect.ONE_MAKES_YOU_LARGER], // 32
56
+ ["oneMakesYouSmaller", PillEffect.ONE_MAKES_YOU_SMALL], // 33
57
+ ["smaller", PillEffect.ONE_MAKES_YOU_SMALL], // 33
58
+ ["infested!", PillEffect.INFESTED_EXCLAMATION], // 34
59
+ ["infest!", PillEffect.INFESTED_EXCLAMATION], // 34
60
+ ["inf!", PillEffect.INFESTED_EXCLAMATION], // 34
61
+ ["infested?", PillEffect.INFESTED_QUESTION], // 35
62
+ ["infest?", PillEffect.INFESTED_QUESTION], // 35
63
+ ["inf?", PillEffect.INFESTED_QUESTION], // 35
64
+ ["powerPill", PillEffect.POWER], // 36
65
+ ["retroVision", PillEffect.RETRO_VISION], // 37
66
+ ["vision", PillEffect.RETRO_VISION], // 37
67
+ ["friendsTillTheEnd", PillEffect.FRIENDS_TILL_THE_END], // 38
68
+ ["friendsUntilTheEnd", PillEffect.FRIENDS_TILL_THE_END], // 38
69
+ ["xlax", PillEffect.X_LAX], // 39
70
+ ["somethingsWrong", PillEffect.SOMETHINGS_WRONG], // 40
71
+ ["wrong", PillEffect.SOMETHINGS_WRONG], // 40
72
+ ["imDrowsy", PillEffect.IM_DROWSY], // 41
73
+ ["drowsy", PillEffect.IM_DROWSY], // 41
74
+ ["imExcited!!!", PillEffect.IM_EXCITED], // 42
75
+ ["excited", PillEffect.IM_EXCITED], // 42
76
+ ["gulp!", PillEffect.GULP], // 43
77
+ ["horf!", PillEffect.HORF], // 44
78
+ [
79
+ "feelsLikeImWalkingOnSunshine!",
80
+ PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE,
81
+ ], // 45
82
+ ["walking", PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE], // 45
83
+ ["sunshine", PillEffect.FEELS_LIKE_IM_WALKING_ON_SUNSHINE], // 45
84
+ ["vurp!", PillEffect.VURP], // 46
85
+ ["shotSpeedDown", PillEffect.SHOT_SPEED_DOWN], // 47
86
+ ["shotSpeedUp", PillEffect.SHOT_SPEED_UP], // 48
87
+ ["experimental", PillEffect.EXPERIMENTAL], // 49
88
+ ]);
@@ -0,0 +1,18 @@
1
+ import { RoomShape } from "isaac-typescript-definitions";
2
+
3
+ export const DEFAULT_TOP_LEFT_WALL_GRID_INDEX = 0;
4
+
5
+ /**
6
+ * Only used for special room shapes where the top left wall grid index is not equal to
7
+ * `DEFAULT_TOP_LEFT_WALL_GRID_INDEX`.
8
+ */
9
+ export const ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP: ReadonlyMap<
10
+ RoomShape,
11
+ int
12
+ > = new Map([
13
+ [RoomShape.IH, 30], // 2
14
+ [RoomShape.IV, 4], // 3
15
+ [RoomShape.IIV, 4], // 5
16
+ [RoomShape.IIH, 56], // 7
17
+ [RoomShape.LTL, 13], // 9
18
+ ]);
@@ -0,0 +1,40 @@
1
+ import { RoomType } from "isaac-typescript-definitions";
2
+
3
+ /** Maps room type names to room types. */
4
+ export const ROOM_TYPE_MAP: ReadonlyMap<string, RoomType> = new Map([
5
+ ["null", RoomType.NULL], // 0
6
+ ["default", RoomType.DEFAULT], // 1
7
+ ["shop", RoomType.SHOP], // 2
8
+ ["error", RoomType.ERROR], // 3
9
+ ["iAmError", RoomType.ERROR], // 3
10
+ ["treasure", RoomType.TREASURE], // 4
11
+ ["boss", RoomType.BOSS], // 5
12
+ ["miniBoss", RoomType.MINI_BOSS], // 6
13
+ ["secret", RoomType.SECRET], // 7
14
+ ["superSecret", RoomType.SUPER_SECRET], // 8
15
+ ["arcade", RoomType.ARCADE], // 9
16
+ ["curse", RoomType.CURSE], // 10
17
+ ["challenge", RoomType.CHALLENGE], // 11
18
+ ["library", RoomType.LIBRARY], // 12
19
+ ["sacrifice", RoomType.SACRIFICE], // 13
20
+ ["devil", RoomType.DEVIL], // 14
21
+ ["angel", RoomType.ANGEL], // 15
22
+ ["dungeon", RoomType.DUNGEON], // 16
23
+ ["crawlSpace", RoomType.DUNGEON], // 16
24
+ ["bossRush", RoomType.BOSS_RUSH], // 17
25
+ ["isaacs", RoomType.CLEAN_BEDROOM], // 18
26
+ ["bedroom", RoomType.CLEAN_BEDROOM], // 18
27
+ ["cleanBedroom", RoomType.CLEAN_BEDROOM], // 18
28
+ ["dirtyBedroom", RoomType.DIRTY_BEDROOM], // 19
29
+ ["barren", RoomType.DIRTY_BEDROOM], // 19
30
+ ["chest", RoomType.CHEST], // 20
31
+ ["dice", RoomType.DICE], // 21
32
+ ["blackMarket", RoomType.BLACK_MARKET], // 22
33
+ ["greedExit", RoomType.GREED_EXIT], // 23
34
+ ["planetarium", RoomType.PLANETARIUM], // 24
35
+ ["teleporter", RoomType.TELEPORTER], // 25
36
+ ["teleporterExit", RoomType.TELEPORTER_EXIT], // 26
37
+ ["secretExit", RoomType.SECRET_EXIT], // 27
38
+ ["blue", RoomType.BLUE], // 28
39
+ ["ultraSecret", RoomType.ULTRA_SECRET], // 29
40
+ ]);
@@ -0,0 +1,200 @@
1
+ /* eslint-disable isaacscript/strict-enums */
2
+ /* cspell:disable */
3
+
4
+ import { TrinketType } from "isaac-typescript-definitions";
5
+
6
+ export const DEFAULT_TRINKET_DESCRIPTION = "Unknown";
7
+
8
+ // This is a temporary map due to missing features in the vanilla API. (Otherwise, this would be
9
+ // converted to a type-safe object.)
10
+ export const TRINKET_DESCRIPTION_MAP: ReadonlyMap<TrinketType, string> =
11
+ new Map([
12
+ [1, "Gulp!"],
13
+ [2, "It feels lucky?"],
14
+ [3, "Trickle charge"],
15
+ [4, "It's broken"],
16
+ [5, "Challenge up"],
17
+ [6, "It kinda works"],
18
+ [7, "Faith up"],
19
+ [8, "I remember these"],
20
+ [9, "Wub wub!"],
21
+ [10, "Wiggle waggle!"],
22
+ [11, "Woop woop!"],
23
+ [12, "Blub blub!"],
24
+ [13, "YES!"],
25
+ [14, "Your feet feel stronger"],
26
+ [15, "There's something inside it"],
27
+ [16, "???"],
28
+ [17, "Evil up"],
29
+ [18, "Faith up"],
30
+ [19, "Master of lockpicking"],
31
+ [20, "Wish granted"],
32
+ [21, "???"],
33
+ [22, "Evil up"],
34
+ [23, "???"],
35
+ [24, "Wealth of gas"],
36
+ [25, "Uh-oh!"],
37
+ [26, "Zip zoop!"],
38
+ [27, "Wooosh!"],
39
+ [28, "Eternal life?"],
40
+ [29, "It stinks"],
41
+ [30, "Poison shots"],
42
+ [31, "Piercing shots"],
43
+ [32, "Touch fuzzy, get dizzy"],
44
+ [33, "Fetal protection"],
45
+ [34, "It calls out to its brothers"],
46
+ [35, "DMG up"],
47
+ [36, "It feels lucky?"],
48
+ [37, "Speed up"],
49
+ [38, "It emanates purity "],
50
+ [39, "Yay, cancer!"],
51
+ [40, "Your rage grows"],
52
+ [41, "Tastes like burning"],
53
+ [42, "Luck up!"],
54
+ [43, "Cursed?"],
55
+ [44, "Don't swallow it"],
56
+ [45, "Luck of the draw"],
57
+ [46, "Consume thy enemy"],
58
+ [48, "It glows with power"],
59
+ [49, "Wealth of health"],
60
+ [50, "Wealth of chaos"],
61
+ [51, "Wealth of answers"],
62
+ [52, "Wealth of wealth"],
63
+ [53, "Well, that's not coming off"],
64
+ [54, "Dead friend"],
65
+ [55, "Faith's reward"],
66
+ [56, "Payment received "],
67
+ [57, "Imaginary friend"],
68
+ [58, "Your rage grows"],
69
+ [59, "May you see your destination"],
70
+ [60, "Revenge from beyond"],
71
+ [61, "The left-hand path reaps dark rewards"],
72
+ [62, "It shines for its brothers"],
73
+ [63, "Fuse cutter"],
74
+ [64, "Bleep bloop blop"],
75
+ [65, "Floooooooooop!"],
76
+ [66, "Pft"],
77
+ [67, "You feel cursed... kinda."],
78
+ [68, "It pulls"],
79
+ [69, "You feel faded"],
80
+ [70, "Itchy, tasty..."],
81
+ [71, "Creepy bombs"],
82
+ [72, "Lil charge"],
83
+ [73, "Pop! Pop!"],
84
+ [74, "The ground below feels hollow..."],
85
+ [75, "Effect not found?"],
86
+ [76, "It's double down time!"],
87
+ [77, "Bounce back!"],
88
+ [78, "Extended stat effect time!"],
89
+ [79, "I'm stuck in a loop..."],
90
+ [80, "With darkness comes power"],
91
+ [81, "Blind to damage"],
92
+ [82, "Feel lucky?"],
93
+ [83, "Stores are open"],
94
+ [84, "Feels greedy"],
95
+ [85, "Karma up"],
96
+ [86, "The poop is moving..."],
97
+ [87, "You feel her love"],
98
+ [88, "Never again!"],
99
+ [89, "Keep your friends close..."],
100
+ [90, "Fartoom!"],
101
+ [91, "Eww"],
102
+ [92, "Stat booster"],
103
+ [93, "You stink"],
104
+ [94, "It also stinks!"],
105
+ [95, "It looks dead"],
106
+ [96, "Foop foop!"],
107
+ [97, "Sick..."],
108
+ [98, "Seems magic..."],
109
+ [99, "Boing!"],
110
+ [100, "It needs power"],
111
+ [101, "I think it's broken"],
112
+ [102, "Double moon"],
113
+ [103, "="],
114
+ [104, "Make a wish"],
115
+ [105, "I wonder what it is"],
116
+ [106, "Uncorked"],
117
+ [107, "Drain me"],
118
+ [108, "That's a hard nut to crack!"],
119
+ [109, "Stuck!"],
120
+ [110, "Feels lucky..."],
121
+ [111, "Drips with blood..."],
122
+ [112, "..."],
123
+ [113, "I bring War"],
124
+ [114, "I bring Pestilence"],
125
+ [115, "I bring Famine"],
126
+ [116, "I bring Death"],
127
+ [117, "I bring Conquest"],
128
+ [118, "They are growing..."],
129
+ [119, "Regen!"],
130
+ [120, "Danger charge"],
131
+ [121, "My faith protects me"],
132
+ [122, "Can't hold it!"],
133
+ [123, "Angelic spoils"],
134
+ [124, "Hold the door"],
135
+ [125, "Charged friends"],
136
+ [126, "Wealth of flies"],
137
+ [127, "Feed them magic!"],
138
+ [128, "It looks brittle"],
139
+ [129, "Don't chew on it"],
140
+ [130, "It's leaking"],
141
+ [131, "Wealth of purity"],
142
+ [132, "Mystery medicine"],
143
+ [133, "Faster explosions"],
144
+ [134, "Mega farts"],
145
+ [135, "Watch the world burn"],
146
+ [136, "Bombs are key"],
147
+ [137, "Forget me not..."],
148
+ [138, "t's broken9Reroll your dest "],
149
+ [139, "It feels lucky"],
150
+ [140, "It feels empty"],
151
+ [141, "Sing for your friends"],
152
+ [142, "My faith protects me"],
153
+ [143, "Voltage starving"],
154
+ [144, "Ding!"],
155
+ [145, "Luck way up. Don't lose it!"],
156
+ [146, "His special customer"],
157
+ [147, "Wealth of power"],
158
+ [148, "Gather round"],
159
+ [149, "Push in case of emergency"],
160
+ [150, "Look between the rooms"],
161
+ [151, "No more spikes"],
162
+ [152, "Seek the stars"],
163
+ [153, "A piece of her love"],
164
+ [154, "Bonus roll"],
165
+ [155, "Walk the path of the saint"],
166
+ [156, "HP up"],
167
+ [157, "Death awaits"],
168
+ [158, "A hole in your pocket"],
169
+ [159, "Less is more"],
170
+ [160, "Free goodies!"],
171
+ [161, "Walk the path of the wicked"],
172
+ [162, "Unleash your inner demon"],
173
+ [163, "Oops!"],
174
+ [164, "Twice the bang!"],
175
+ [165, "Don't want!"],
176
+ [166, "???"],
177
+ [167, "Friends from beyond"],
178
+ [168, "A brittle blessing"],
179
+ [169, "Looks familiar..."],
180
+ [170, "Call to the other side"],
181
+ [171, "Money talks"],
182
+ [172, "Wealth of misery"],
183
+ [173, "Give it to me"],
184
+ [174, "6"],
185
+ [175, "What could it open?"],
186
+ [176, "Mini friend"],
187
+ [177, "You feel braver"],
188
+ [178, "Bang!"],
189
+ [179, "Controllable buddies!"],
190
+ [180, "Finally!"],
191
+ [181, "Fun extras"],
192
+ [182, "Virtue's reward"],
193
+ [183, "I'm seeing double..."],
194
+ [184, "Give them a home"],
195
+ [185, "Infested"],
196
+ [186, "Attack buddy"],
197
+ [187, "Double vision?"],
198
+ [188, "Stay frosty"],
199
+ [189, "Revel in death"],
200
+ ]);