isaacscript-common 4.0.0 → 4.0.1-dev.0

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 (387) 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.ts +183 -0
  11. package/callbacks/postCustomDoorEnter.lua +0 -7
  12. package/callbacks/postCustomDoorEnter.ts +292 -0
  13. package/callbacks/postDiceRoomActivated.ts +60 -0
  14. package/callbacks/postDoorRender.ts +26 -0
  15. package/callbacks/postDoorUpdate.ts +26 -0
  16. package/callbacks/postEffectInitLate.ts +36 -0
  17. package/callbacks/postEffectStateChanged.ts +43 -0
  18. package/callbacks/postEsauJr.ts +107 -0
  19. package/callbacks/postFamiliarInitLate.ts +36 -0
  20. package/callbacks/postFamiliarStateChanged.ts +43 -0
  21. package/callbacks/postFlip.ts +88 -0
  22. package/callbacks/postGreedModeWave.ts +41 -0
  23. package/callbacks/postGridEntity.ts +164 -0
  24. package/callbacks/postGridEntityCollision.ts +69 -0
  25. package/callbacks/postGridEntityRender.ts +26 -0
  26. package/callbacks/postHolyMantleRemoved.ts +55 -0
  27. package/callbacks/postItemDischarged.ts +149 -0
  28. package/callbacks/postKnifeInitLate.ts +36 -0
  29. package/callbacks/postLaserInitLate.ts +36 -0
  30. package/callbacks/postNPCInitLate.ts +36 -0
  31. package/callbacks/postNPCStateChanged.ts +42 -0
  32. package/callbacks/postNewRoomEarly.ts +90 -0
  33. package/callbacks/postPickupCollect.ts +48 -0
  34. package/callbacks/postPickupInitFirst.ts +70 -0
  35. package/callbacks/postPickupInitLate.ts +36 -0
  36. package/callbacks/postPickupStateChanged.ts +43 -0
  37. package/callbacks/postPitRender.ts +26 -0
  38. package/callbacks/postPitUpdate.ts +26 -0
  39. package/callbacks/postPlayerChangeHealth.ts +62 -0
  40. package/callbacks/postPlayerChangeType.ts +56 -0
  41. package/callbacks/postPlayerCollectible.ts +113 -0
  42. package/callbacks/postPlayerFatalDamage.ts +141 -0
  43. package/callbacks/postPlayerInitLate.ts +37 -0
  44. package/callbacks/postPlayerReordered.ts +142 -0
  45. package/callbacks/postPoopRender.ts +26 -0
  46. package/callbacks/postPoopUpdate.ts +26 -0
  47. package/callbacks/postPressurePlateRender.ts +26 -0
  48. package/callbacks/postPressurePlateUpdate.ts +26 -0
  49. package/callbacks/postProjectileInitLate.ts +36 -0
  50. package/callbacks/postPurchase.ts +64 -0
  51. package/callbacks/postRockRender.ts +26 -0
  52. package/callbacks/postRockUpdate.ts +26 -0
  53. package/callbacks/postRoomClearChanged.ts +57 -0
  54. package/callbacks/postSacrifice.ts +62 -0
  55. package/callbacks/postSlotDestroyed.ts +92 -0
  56. package/callbacks/postSlotInitUpdate.ts +68 -0
  57. package/callbacks/postSlotRender.ts +69 -0
  58. package/callbacks/postSpikesRender.ts +26 -0
  59. package/callbacks/postSpikesUpdate.ts +26 -0
  60. package/callbacks/postTNTRender.ts +26 -0
  61. package/callbacks/postTNTUpdate.ts +26 -0
  62. package/callbacks/postTearInitLate.ts +36 -0
  63. package/callbacks/postTearInitVeryLate.ts +41 -0
  64. package/callbacks/postTransformation.ts +59 -0
  65. package/callbacks/postTrinketBreak.ts +110 -0
  66. package/callbacks/preBerserkDeath.ts +49 -0
  67. package/callbacks/preNewLevel.ts +55 -0
  68. package/callbacks/reorderedCallbacks.ts +166 -0
  69. package/callbacks/subscriptions/postAmbushFinished.ts +32 -0
  70. package/callbacks/subscriptions/postAmbushStarted.ts +32 -0
  71. package/callbacks/subscriptions/postBombInitLate.ts +32 -0
  72. package/callbacks/subscriptions/postBoneExploded.ts +32 -0
  73. package/callbacks/subscriptions/postBoneSwing.ts +24 -0
  74. package/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
  75. package/callbacks/subscriptions/postCursedTeleport.ts +24 -0
  76. package/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
  77. package/callbacks/subscriptions/postCustomRevive.ts +36 -0
  78. package/callbacks/subscriptions/postDiceRoomActivated.ts +38 -0
  79. package/callbacks/subscriptions/postDoorRender.ts +35 -0
  80. package/callbacks/subscriptions/postDoorUpdate.ts +35 -0
  81. package/callbacks/subscriptions/postEffectInitLate.ts +32 -0
  82. package/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
  83. package/callbacks/subscriptions/postEsauJr.ts +24 -0
  84. package/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
  85. package/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
  86. package/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
  87. package/callbacks/subscriptions/postFirstFlip.ts +24 -0
  88. package/callbacks/subscriptions/postFlip.ts +22 -0
  89. package/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
  90. package/callbacks/subscriptions/postGreedModeWave.ts +24 -0
  91. package/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
  92. package/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
  93. package/callbacks/subscriptions/postGridEntityInit.ts +51 -0
  94. package/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
  95. package/callbacks/subscriptions/postGridEntityRender.ts +51 -0
  96. package/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
  97. package/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
  98. package/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
  99. package/callbacks/subscriptions/postItemDischarged.ts +43 -0
  100. package/callbacks/subscriptions/postItemPickup.ts +64 -0
  101. package/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
  102. package/callbacks/subscriptions/postLaserInitLate.ts +32 -0
  103. package/callbacks/subscriptions/postNPCInitLate.ts +32 -0
  104. package/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
  105. package/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
  106. package/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
  107. package/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
  108. package/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
  109. package/callbacks/subscriptions/postPickupCollect.ts +35 -0
  110. package/callbacks/subscriptions/postPickupInitFirst.ts +32 -0
  111. package/callbacks/subscriptions/postPickupInitLate.ts +32 -0
  112. package/callbacks/subscriptions/postPickupStateChanged.ts +40 -0
  113. package/callbacks/subscriptions/postPitRender.ts +35 -0
  114. package/callbacks/subscriptions/postPitUpdate.ts +35 -0
  115. package/callbacks/subscriptions/postPlayerChangeHealth.ts +49 -0
  116. package/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
  117. package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
  118. package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +38 -0
  119. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +1 -1
  120. package/callbacks/subscriptions/postPlayerFatalDamage.ts +68 -0
  121. package/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
  122. package/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
  123. package/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
  124. package/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
  125. package/callbacks/subscriptions/postPoopRender.ts +35 -0
  126. package/callbacks/subscriptions/postPoopUpdate.ts +35 -0
  127. package/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
  128. package/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
  129. package/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
  130. package/callbacks/subscriptions/postPurchase.ts +31 -0
  131. package/callbacks/subscriptions/postRockRender.ts +35 -0
  132. package/callbacks/subscriptions/postRockUpdate.ts +35 -0
  133. package/callbacks/subscriptions/postRoomClearChanged.ts +30 -0
  134. package/callbacks/subscriptions/postSacrifice.ts +43 -0
  135. package/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
  136. package/callbacks/subscriptions/postSlotDestroyed.ts +55 -0
  137. package/callbacks/subscriptions/postSlotInit.ts +32 -0
  138. package/callbacks/subscriptions/postSlotRender.ts +32 -0
  139. package/callbacks/subscriptions/postSlotUpdate.ts +32 -0
  140. package/callbacks/subscriptions/postSpikesRender.ts +35 -0
  141. package/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
  142. package/callbacks/subscriptions/postTNTRender.ts +35 -0
  143. package/callbacks/subscriptions/postTNTUpdate.ts +35 -0
  144. package/callbacks/subscriptions/postTearInitLate.ts +32 -0
  145. package/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
  146. package/callbacks/subscriptions/postTransformation.ts +40 -0
  147. package/callbacks/subscriptions/postTrinketBreak.ts +38 -0
  148. package/callbacks/subscriptions/preBerserkDeath.ts +42 -0
  149. package/callbacks/subscriptions/preCustomRevive.d.ts +1 -1
  150. package/callbacks/subscriptions/preCustomRevive.ts +46 -0
  151. package/callbacks/subscriptions/preItemPickup.ts +64 -0
  152. package/callbacks/subscriptions/preNewLevel.ts +24 -0
  153. package/classes/DefaultMap.ts +174 -0
  154. package/classes/ModUpgraded.ts +77 -0
  155. package/constants.ts +162 -0
  156. package/constantsFirstLast.ts +217 -0
  157. package/enums/AmbushType.ts +4 -0
  158. package/enums/HealthType.ts +16 -0
  159. package/enums/ModCallbackCustom.d.ts +2 -2
  160. package/enums/ModCallbackCustom.ts +1278 -0
  161. package/enums/PocketItemType.ts +8 -0
  162. package/enums/SerializationType.ts +5 -0
  163. package/enums/SlotDestructionType.ts +4 -0
  164. package/enums/private/CopyableIsaacAPIClassType.ts +7 -0
  165. package/enums/private/SaveDataKey.ts +14 -0
  166. package/enums/private/SerializationBrand.ts +42 -0
  167. package/features/characterHealthConversion.lua +2 -9
  168. package/features/characterHealthConversion.ts +111 -0
  169. package/features/characterStats.ts +61 -0
  170. package/features/debugDisplay/debugDisplay.ts +221 -0
  171. package/features/debugDisplay/exports.ts +368 -0
  172. package/features/debugDisplay/v.ts +65 -0
  173. package/features/deployJSONRoom.ts +743 -0
  174. package/features/disableInputs.ts +193 -0
  175. package/features/disableSound.ts +77 -0
  176. package/features/extraConsoleCommands/commandsDisplay.ts +290 -0
  177. package/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
  178. package/features/extraConsoleCommands/init.ts +334 -0
  179. package/features/extraConsoleCommands/listCommands.ts +1299 -0
  180. package/features/extraConsoleCommands/v.ts +14 -0
  181. package/features/fadeInRemover.ts +60 -0
  182. package/features/fastReset.ts +75 -0
  183. package/features/forgottenSwitch.ts +50 -0
  184. package/features/getCollectibleItemPoolType.ts +66 -0
  185. package/features/persistentEntities.ts +183 -0
  186. package/features/playerInventory.ts +133 -0
  187. package/features/ponyDetection.ts +74 -0
  188. package/features/preventCollectibleRotation.ts +115 -0
  189. package/features/runInNFrames.ts +148 -0
  190. package/features/saveDataManager/constants.ts +4 -0
  191. package/features/saveDataManager/exports.ts +229 -0
  192. package/features/saveDataManager/load.ts +99 -0
  193. package/features/saveDataManager/main.ts +195 -0
  194. package/features/saveDataManager/maps.ts +13 -0
  195. package/features/saveDataManager/merge.ts +194 -0
  196. package/features/saveDataManager/save.ts +74 -0
  197. package/features/saveDataManager/serializationBrand.ts +16 -0
  198. package/features/sirenHelpers.ts +129 -0
  199. package/features/taintedLazarusPlayers.ts +113 -0
  200. package/featuresInitialized.ts +20 -0
  201. package/functions/ambush.ts +47 -0
  202. package/functions/array.ts +410 -0
  203. package/functions/benchmark.ts +36 -0
  204. package/functions/bitwise.ts +24 -0
  205. package/functions/bombs.ts +12 -0
  206. package/functions/boss.ts +227 -0
  207. package/functions/cacheFlag.ts +12 -0
  208. package/functions/cards.ts +271 -0
  209. package/functions/challenges.ts +13 -0
  210. package/functions/character.ts +126 -0
  211. package/functions/charge.ts +237 -0
  212. package/functions/chargeBar.ts +67 -0
  213. package/functions/collectibleCacheFlag.ts +90 -0
  214. package/functions/collectibleSet.ts +56 -0
  215. package/functions/collectibleTag.ts +89 -0
  216. package/functions/collectibles.ts +659 -0
  217. package/functions/color.lua +0 -7
  218. package/functions/color.ts +128 -0
  219. package/functions/debug.ts +68 -0
  220. package/functions/deepCopy.lua +46 -51
  221. package/functions/deepCopy.ts +535 -0
  222. package/functions/deepCopyTests.ts +386 -0
  223. package/functions/direction.ts +49 -0
  224. package/functions/doors.ts +347 -0
  225. package/functions/easing.ts +182 -0
  226. package/functions/eden.ts +47 -0
  227. package/functions/effects.ts +20 -0
  228. package/functions/entity.ts +439 -0
  229. package/functions/entitySpecific.ts +889 -0
  230. package/functions/entityTypes.ts +6 -0
  231. package/functions/enums.ts +146 -0
  232. package/functions/familiars.ts +106 -0
  233. package/functions/flag.ts +165 -0
  234. package/functions/flying.ts +117 -0
  235. package/functions/globals.ts +242 -0
  236. package/functions/gridEntity.ts +511 -0
  237. package/functions/gridEntitySpecific.ts +112 -0
  238. package/functions/input.ts +139 -0
  239. package/functions/isaacAPIClass.ts +67 -0
  240. package/functions/jsonHelpers.ts +45 -0
  241. package/functions/jsonRoom.ts +100 -0
  242. package/functions/kColor.lua +0 -7
  243. package/functions/kColor.ts +129 -0
  244. package/functions/language.ts +13 -0
  245. package/functions/level.ts +31 -0
  246. package/functions/log.ts +720 -0
  247. package/functions/map.ts +56 -0
  248. package/functions/math.ts +149 -0
  249. package/functions/mergeTests.ts +288 -0
  250. package/functions/npc.ts +148 -0
  251. package/functions/pickupVariants.ts +60 -0
  252. package/functions/pickups.ts +499 -0
  253. package/functions/pills.ts +205 -0
  254. package/functions/player.lua +0 -6
  255. package/functions/player.ts +1060 -0
  256. package/functions/playerDataStructures.ts +150 -0
  257. package/functions/playerHealth.lua +28 -39
  258. package/functions/playerHealth.ts +382 -0
  259. package/functions/playerIndex.ts +195 -0
  260. package/functions/pocketItems.ts +149 -0
  261. package/functions/positionVelocity.ts +188 -0
  262. package/functions/random.ts +77 -0
  263. package/functions/revive.ts +201 -0
  264. package/functions/rng.lua +0 -7
  265. package/functions/rng.ts +172 -0
  266. package/functions/roomData.ts +199 -0
  267. package/functions/roomGrid.ts +109 -0
  268. package/functions/roomShape.ts +80 -0
  269. package/functions/rooms.ts +648 -0
  270. package/functions/run.ts +36 -0
  271. package/functions/saveFile.ts +128 -0
  272. package/functions/seeds.ts +19 -0
  273. package/functions/serialization.ts +91 -0
  274. package/functions/set.ts +95 -0
  275. package/functions/sound.ts +9 -0
  276. package/functions/spawnCollectible.ts +104 -0
  277. package/functions/sprite.ts +107 -0
  278. package/functions/stage.ts +125 -0
  279. package/functions/string.ts +47 -0
  280. package/functions/table.ts +189 -0
  281. package/functions/tears.ts +32 -0
  282. package/functions/transformations.ts +131 -0
  283. package/functions/trinketCacheFlag.ts +60 -0
  284. package/functions/trinketGive.ts +157 -0
  285. package/functions/trinkets.ts +215 -0
  286. package/functions/tstlClass.ts +157 -0
  287. package/functions/types.ts +36 -0
  288. package/functions/ui.ts +138 -0
  289. package/functions/utils.d.ts +0 -37
  290. package/functions/utils.lua +0 -35
  291. package/functions/utils.ts +189 -0
  292. package/functions/vector.lua +0 -7
  293. package/functions/vector.ts +126 -0
  294. package/index.ts +172 -0
  295. package/initCustomCallbacks.ts +132 -0
  296. package/initFeatures.ts +39 -0
  297. package/interfaces/AddCallbackParameterCustom.ts +188 -0
  298. package/interfaces/ChargeBarSprites.ts +12 -0
  299. package/interfaces/JSONDoor.d.ts +3 -3
  300. package/interfaces/JSONDoor.ts +13 -0
  301. package/interfaces/JSONEntity.d.ts +4 -4
  302. package/interfaces/JSONEntity.ts +16 -0
  303. package/interfaces/JSONRoom.d.ts +8 -8
  304. package/interfaces/JSONRoom.ts +36 -0
  305. package/interfaces/JSONRooms.ts +12 -0
  306. package/interfaces/JSONSpawn.d.ts +2 -2
  307. package/interfaces/JSONSpawn.ts +14 -0
  308. package/interfaces/PlayerHealth.ts +16 -0
  309. package/interfaces/PocketItemDescription.ts +9 -0
  310. package/interfaces/SaveData.ts +29 -0
  311. package/interfaces/TrinketSituation.ts +9 -0
  312. package/interfaces/private/TSTLClassMetatable.ts +8 -0
  313. package/maps/PHDPillConversions.ts +21 -0
  314. package/maps/cardMap.ts +209 -0
  315. package/maps/characterMap.ts +87 -0
  316. package/maps/collectibleDescriptionMap.ts +732 -0
  317. package/maps/collectibleNameMap.ts +731 -0
  318. package/maps/defaultPlayerStatMap.ts +17 -0
  319. package/maps/falsePHDPillConversions.ts +35 -0
  320. package/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
  321. package/maps/gridEntityXMLMap.ts +176 -0
  322. package/maps/pillEffectMap.ts +88 -0
  323. package/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
  324. package/maps/roomTypeMap.ts +40 -0
  325. package/maps/trinketDescriptionMap.ts +200 -0
  326. package/maps/trinketNameMap.ts +198 -0
  327. package/objects/LRoomShapeToRectangles.ts +44 -0
  328. package/objects/callbackRegisterFunctions.ts +187 -0
  329. package/objects/cardDescriptions.ts +105 -0
  330. package/objects/cardNames.ts +105 -0
  331. package/objects/cardTypes.ts +104 -0
  332. package/objects/challengeNames.ts +52 -0
  333. package/objects/characterNames.ts +48 -0
  334. package/objects/coinSubTypeToValue.ts +14 -0
  335. package/objects/colors.ts +16 -0
  336. package/objects/directionNames.ts +11 -0
  337. package/objects/directionToDegrees.ts +11 -0
  338. package/objects/directionToVector.ts +12 -0
  339. package/objects/doorSlotFlagToDoorSlot.ts +16 -0
  340. package/objects/doorSlotToDirection.ts +14 -0
  341. package/objects/isaacAPIClassTypeToBrand.ts +11 -0
  342. package/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
  343. package/objects/languageNames.ts +13 -0
  344. package/objects/oppositeDoorSlots.ts +15 -0
  345. package/objects/pillEffectClasses.ts +63 -0
  346. package/objects/pillEffectNames.ts +57 -0
  347. package/objects/pillEffectTypes.ts +62 -0
  348. package/objects/roomShapeBounds.ts +71 -0
  349. package/objects/roomShapeLayoutSizes.ts +45 -0
  350. package/objects/roomShapeToBottomRightPosition.ts +25 -0
  351. package/objects/roomShapeToDoorSlots.ts +83 -0
  352. package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
  353. package/objects/roomShapeToGridWidth.ts +21 -0
  354. package/objects/roomShapeToTopLeftPosition.ts +26 -0
  355. package/objects/roomShapeVolumes.ts +38 -0
  356. package/objects/roomTypeNames.ts +36 -0
  357. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
  358. package/objects/stageTypeToLetter.ts +15 -0
  359. package/objects/transformationNames.d.ts +0 -1
  360. package/objects/transformationNames.lua +0 -1
  361. package/objects/transformationNames.ts +18 -0
  362. package/package.json +1 -1
  363. package/patchErrorFunctions.ts +92 -0
  364. package/sets/LRoomShapesSet.ts +8 -0
  365. package/sets/bossSets.ts +470 -0
  366. package/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
  367. package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
  368. package/sets/charactersWithFreeDevilDealsSet.ts +4 -0
  369. package/sets/charactersWithNoRedHeartsSet.ts +17 -0
  370. package/sets/charactersWithNoSoulHeartsSet.ts +14 -0
  371. package/sets/chestPickupVariantsSet.ts +16 -0
  372. package/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
  373. package/sets/lostStyleCharactersSet.ts +13 -0
  374. package/sets/mineShaftRoomSubTypesSet.ts +10 -0
  375. package/sets/redHeartSubTypesSet.ts +7 -0
  376. package/sets/sinEntityTypesSet.ts +11 -0
  377. package/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
  378. package/sets/storyBossesSet.ts +17 -0
  379. package/types/AnyEntity.ts +12 -0
  380. package/types/AwaitingTextInput.d.ts +2 -0
  381. package/types/CollectibleIndex.ts +16 -0
  382. package/types/PickingUpItem.ts +89 -0
  383. package/types/PlayerIndex.ts +13 -0
  384. package/types/private/IsaacAPIClass.ts +3 -0
  385. package/types/private/SerializedIsaacAPIClass.ts +3 -0
  386. package/types/private/TSTLClass.ts +3 -0
  387. 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
+ ]);