isaacscript-common 2.0.34 → 2.3.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 (1034) hide show
  1. package/.eslintrc.js +70 -0
  2. package/README.md +1 -1
  3. package/build.sh +27 -0
  4. package/docs.sh +21 -0
  5. package/lint.sh +34 -0
  6. package/package.json +5 -4
  7. package/project.json +37 -0
  8. package/release.sh +16 -0
  9. package/scripts/.eslintrc.js +21 -0
  10. package/scripts/docsEntryPointLint.ts +135 -0
  11. package/scripts/tsconfig.json +5 -0
  12. package/src/cachedClasses.ts +39 -0
  13. package/src/callbacks/customRevive.ts +206 -0
  14. package/src/callbacks/itemPickup.ts +101 -0
  15. package/src/callbacks/postBombInitLate.ts +36 -0
  16. package/src/callbacks/postBoneSwing.ts +64 -0
  17. package/src/callbacks/postCollectibleInitFirst.ts +39 -0
  18. package/src/callbacks/postCursedTeleport.ts +183 -0
  19. package/src/callbacks/postCustomDoorEnter.ts +297 -0
  20. package/src/callbacks/postDoorRender.ts +26 -0
  21. package/src/callbacks/postDoorUpdate.ts +26 -0
  22. package/src/callbacks/postEffectInitLate.ts +36 -0
  23. package/src/callbacks/postEffectStateChanged.ts +43 -0
  24. package/src/callbacks/postEsauJr.ts +107 -0
  25. package/src/callbacks/postFamiliarInitLate.ts +36 -0
  26. package/src/callbacks/postFamiliarStateChanged.ts +43 -0
  27. package/src/callbacks/postFlip.ts +88 -0
  28. package/src/callbacks/postGreedModeWave.ts +41 -0
  29. package/src/callbacks/postGridEntity.ts +159 -0
  30. package/src/callbacks/postGridEntityCollision.ts +69 -0
  31. package/src/callbacks/postGridEntityRender.ts +26 -0
  32. package/src/callbacks/postHolyMantleRemoved.ts +55 -0
  33. package/src/callbacks/postItemDischarged.ts +149 -0
  34. package/src/callbacks/postKnifeInitLate.ts +36 -0
  35. package/src/callbacks/postLaserInitLate.ts +36 -0
  36. package/src/callbacks/postNPCInitLate.ts +36 -0
  37. package/src/callbacks/postNPCStateChanged.ts +42 -0
  38. package/src/callbacks/postNewRoomEarly.ts +90 -0
  39. package/src/callbacks/postPickupCollect.ts +48 -0
  40. package/src/callbacks/postPickupInitLate.ts +36 -0
  41. package/src/callbacks/postPickupStateChanged.ts +43 -0
  42. package/src/callbacks/postPitRender.ts +26 -0
  43. package/src/callbacks/postPitUpdate.ts +26 -0
  44. package/src/callbacks/postPlayerChangeHealth.ts +62 -0
  45. package/src/callbacks/postPlayerChangeType.ts +56 -0
  46. package/src/callbacks/postPlayerFatalDamage.ts +98 -0
  47. package/src/callbacks/postPlayerInitLate.ts +37 -0
  48. package/src/callbacks/postPlayerReordered.ts +142 -0
  49. package/src/callbacks/postPoopRender.ts +26 -0
  50. package/src/callbacks/postPoopUpdate.ts +26 -0
  51. package/src/callbacks/postPressurePlateRender.ts +26 -0
  52. package/src/callbacks/postPressurePlateUpdate.ts +26 -0
  53. package/src/callbacks/postProjectileInitLate.ts +36 -0
  54. package/src/callbacks/postPurchase.ts +64 -0
  55. package/src/callbacks/postRockRender.ts +26 -0
  56. package/src/callbacks/postRockUpdate.ts +26 -0
  57. package/src/callbacks/postRoomClearChanged.ts +52 -0
  58. package/src/callbacks/postSacrifice.ts +62 -0
  59. package/src/callbacks/postSlotInitUpdate.ts +63 -0
  60. package/src/callbacks/postSlotRender.ts +96 -0
  61. package/src/callbacks/postSpikesRender.ts +26 -0
  62. package/src/callbacks/postSpikesUpdate.ts +26 -0
  63. package/src/callbacks/postTNTRender.ts +26 -0
  64. package/src/callbacks/postTNTUpdate.ts +26 -0
  65. package/src/callbacks/postTearInitLate.ts +36 -0
  66. package/src/callbacks/postTearInitVeryLate.ts +41 -0
  67. package/src/callbacks/postTransformation.ts +59 -0
  68. package/src/callbacks/postTrinketBreak.ts +110 -0
  69. package/src/callbacks/preBerserkDeath.ts +49 -0
  70. package/src/callbacks/preNewLevel.ts +55 -0
  71. package/src/callbacks/reorderedCallbacks.ts +166 -0
  72. package/src/callbacks/subscriptions/postBombInitLate.ts +32 -0
  73. package/src/callbacks/subscriptions/postBoneSwing.ts +24 -0
  74. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
  75. package/src/callbacks/subscriptions/postCursedTeleport.ts +24 -0
  76. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
  77. package/src/callbacks/subscriptions/postCustomRevive.ts +36 -0
  78. package/src/callbacks/subscriptions/postDoorRender.ts +35 -0
  79. package/src/callbacks/subscriptions/postDoorUpdate.ts +35 -0
  80. package/src/callbacks/subscriptions/postEffectInitLate.ts +32 -0
  81. package/src/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
  82. package/src/callbacks/subscriptions/postEsauJr.ts +24 -0
  83. package/src/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
  84. package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
  85. package/src/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
  86. package/src/callbacks/subscriptions/postFirstFlip.ts +24 -0
  87. package/src/callbacks/subscriptions/postFlip.ts +22 -0
  88. package/src/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
  89. package/src/callbacks/subscriptions/postGreedModeWave.ts +24 -0
  90. package/src/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
  91. package/src/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
  92. package/src/callbacks/subscriptions/postGridEntityInit.ts +51 -0
  93. package/src/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
  94. package/src/callbacks/subscriptions/postGridEntityRender.ts +51 -0
  95. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
  96. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
  97. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
  98. package/src/callbacks/subscriptions/postItemDischarged.ts +43 -0
  99. package/src/callbacks/subscriptions/postItemPickup.ts +64 -0
  100. package/src/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
  101. package/src/callbacks/subscriptions/postLaserInitLate.ts +32 -0
  102. package/src/callbacks/subscriptions/postNPCInitLate.ts +32 -0
  103. package/src/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
  104. package/src/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
  105. package/src/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
  106. package/src/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
  107. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
  108. package/src/callbacks/subscriptions/postPickupCollect.ts +34 -0
  109. package/src/callbacks/subscriptions/postPickupInitLate.ts +31 -0
  110. package/src/callbacks/subscriptions/postPickupStateChanged.ts +35 -0
  111. package/src/callbacks/subscriptions/postPitRender.ts +35 -0
  112. package/src/callbacks/subscriptions/postPitUpdate.ts +35 -0
  113. package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +45 -0
  114. package/src/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
  115. package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +67 -0
  116. package/src/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
  117. package/src/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
  118. package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
  119. package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
  120. package/src/callbacks/subscriptions/postPoopRender.ts +35 -0
  121. package/src/callbacks/subscriptions/postPoopUpdate.ts +35 -0
  122. package/src/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
  123. package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
  124. package/src/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
  125. package/src/callbacks/subscriptions/postPurchase.ts +31 -0
  126. package/src/callbacks/subscriptions/postRockRender.ts +35 -0
  127. package/src/callbacks/subscriptions/postRockUpdate.ts +35 -0
  128. package/src/callbacks/subscriptions/postRoomClearChanged.ts +24 -0
  129. package/src/callbacks/subscriptions/postSacrifice.ts +43 -0
  130. package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
  131. package/src/callbacks/subscriptions/postSlotDestroyed.ts +32 -0
  132. package/src/callbacks/subscriptions/postSlotInit.ts +32 -0
  133. package/src/callbacks/subscriptions/postSlotRender.ts +32 -0
  134. package/src/callbacks/subscriptions/postSlotUpdate.ts +32 -0
  135. package/src/callbacks/subscriptions/postSpikesRender.ts +35 -0
  136. package/src/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
  137. package/src/callbacks/subscriptions/postTNTRender.ts +35 -0
  138. package/src/callbacks/subscriptions/postTNTUpdate.ts +35 -0
  139. package/src/callbacks/subscriptions/postTearInitLate.ts +32 -0
  140. package/src/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
  141. package/src/callbacks/subscriptions/postTransformation.ts +40 -0
  142. package/src/callbacks/subscriptions/postTrinketBreak.ts +38 -0
  143. package/src/callbacks/subscriptions/preBerserkDeath.ts +42 -0
  144. package/src/callbacks/subscriptions/preCustomRevive.ts +45 -0
  145. package/src/callbacks/subscriptions/preItemPickup.ts +64 -0
  146. package/src/callbacks/subscriptions/preNewLevel.ts +24 -0
  147. package/src/classes/DefaultMap.ts +220 -0
  148. package/src/classes/ModUpgraded.ts +83 -0
  149. package/src/constants.ts +140 -0
  150. package/src/constantsFirstLast.ts +212 -0
  151. package/src/enums/HealthType.ts +16 -0
  152. package/src/enums/ModCallbackCustom.ts +943 -0
  153. package/src/enums/PocketItemType.ts +8 -0
  154. package/src/enums/SerializationType.ts +5 -0
  155. package/src/enums/private/CopyableIsaacAPIClassType.ts +7 -0
  156. package/src/enums/private/SaveDataKey.ts +14 -0
  157. package/src/enums/private/SerializationBrand.ts +42 -0
  158. package/src/features/characterHealthConversion.ts +116 -0
  159. package/src/features/characterStats.ts +61 -0
  160. package/src/features/debugDisplay/debugDisplay.ts +221 -0
  161. package/src/features/debugDisplay/exports.ts +368 -0
  162. package/src/features/debugDisplay/v.ts +65 -0
  163. package/src/features/deployJSONRoom.ts +672 -0
  164. package/src/features/disableInputs.ts +193 -0
  165. package/src/features/disableSound.ts +77 -0
  166. package/src/features/extraConsoleCommands/commandsDisplay.ts +290 -0
  167. package/src/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
  168. package/src/features/extraConsoleCommands/init.ts +334 -0
  169. package/src/features/extraConsoleCommands/listCommands.ts +1298 -0
  170. package/src/features/extraConsoleCommands/v.ts +14 -0
  171. package/src/features/fadeInRemover.ts +60 -0
  172. package/src/features/fastReset.ts +75 -0
  173. package/src/features/forgottenSwitch.ts +50 -0
  174. package/src/features/getCollectibleItemPoolType.ts +66 -0
  175. package/src/features/playerInventory.ts +187 -0
  176. package/src/features/ponyDetection.ts +74 -0
  177. package/src/features/preventCollectibleRotation.ts +113 -0
  178. package/src/features/runInNFrames.ts +148 -0
  179. package/src/features/saveDataManager/constants.ts +4 -0
  180. package/src/features/saveDataManager/exports.ts +230 -0
  181. package/src/features/saveDataManager/load.ts +90 -0
  182. package/src/features/saveDataManager/main.ts +187 -0
  183. package/src/features/saveDataManager/maps.ts +13 -0
  184. package/src/features/saveDataManager/merge.ts +182 -0
  185. package/src/features/saveDataManager/save.ts +66 -0
  186. package/src/features/saveDataManager/serializationBrand.ts +15 -0
  187. package/src/features/sirenHelpers.ts +129 -0
  188. package/src/features/taintedLazarusPlayers.ts +113 -0
  189. package/src/featuresInitialized.ts +20 -0
  190. package/src/functions/array.ts +412 -0
  191. package/src/functions/benchmark.ts +36 -0
  192. package/src/functions/bitwise.ts +24 -0
  193. package/src/functions/boss.ts +227 -0
  194. package/src/functions/cacheFlag.ts +12 -0
  195. package/src/functions/cards.ts +267 -0
  196. package/src/functions/challenges.ts +11 -0
  197. package/src/functions/character.ts +124 -0
  198. package/src/functions/charge.ts +237 -0
  199. package/src/functions/chargeBar.ts +67 -0
  200. package/src/functions/collectibleCacheFlag.ts +90 -0
  201. package/src/functions/collectibleSet.ts +57 -0
  202. package/src/functions/collectibleTag.ts +89 -0
  203. package/src/functions/collectibles.ts +610 -0
  204. package/src/functions/color.ts +149 -0
  205. package/src/functions/debug.ts +65 -0
  206. package/src/functions/deepCopy.ts +508 -0
  207. package/src/functions/deepCopyTests.ts +390 -0
  208. package/src/functions/direction.ts +16 -0
  209. package/src/functions/doors.ts +343 -0
  210. package/src/functions/easing.ts +182 -0
  211. package/src/functions/eden.ts +47 -0
  212. package/src/functions/entity.ts +352 -0
  213. package/src/functions/entitySpecific.ts +889 -0
  214. package/src/functions/entityTypes.ts +6 -0
  215. package/src/functions/enums.ts +145 -0
  216. package/src/functions/familiars.ts +106 -0
  217. package/src/functions/flag.ts +165 -0
  218. package/src/functions/flying.ts +117 -0
  219. package/src/functions/globals.ts +249 -0
  220. package/src/functions/gridEntity.ts +511 -0
  221. package/src/functions/gridEntitySpecific.ts +112 -0
  222. package/src/functions/input.ts +139 -0
  223. package/src/functions/isaacAPIClass.ts +65 -0
  224. package/src/functions/jsonHelpers.ts +45 -0
  225. package/src/functions/jsonRoom.ts +100 -0
  226. package/src/functions/kColor.ts +130 -0
  227. package/src/functions/language.ts +13 -0
  228. package/src/functions/level.ts +31 -0
  229. package/src/functions/log.ts +660 -0
  230. package/src/functions/map.ts +56 -0
  231. package/src/functions/math.ts +149 -0
  232. package/src/functions/mergeTests.ts +288 -0
  233. package/src/functions/npc.ts +148 -0
  234. package/src/functions/pickupVariants.ts +60 -0
  235. package/src/functions/pickups.ts +449 -0
  236. package/src/functions/pills.ts +182 -0
  237. package/src/functions/player.ts +975 -0
  238. package/src/functions/playerDataStructures.ts +150 -0
  239. package/src/functions/playerHealth.ts +318 -0
  240. package/src/functions/playerIndex.ts +195 -0
  241. package/src/functions/pocketItems.ts +149 -0
  242. package/src/functions/positionVelocity.ts +188 -0
  243. package/src/functions/random.ts +77 -0
  244. package/src/functions/revive.ts +201 -0
  245. package/src/functions/rng.ts +177 -0
  246. package/src/functions/roomData.ts +199 -0
  247. package/src/functions/roomGrid.ts +109 -0
  248. package/src/functions/roomShape.ts +80 -0
  249. package/src/functions/rooms.ts +667 -0
  250. package/src/functions/run.ts +36 -0
  251. package/src/functions/seeds.ts +19 -0
  252. package/src/functions/serialization.ts +97 -0
  253. package/src/functions/set.ts +95 -0
  254. package/src/functions/sound.ts +9 -0
  255. package/src/functions/spawnCollectible.ts +104 -0
  256. package/src/functions/sprite.ts +107 -0
  257. package/src/functions/stage.ts +125 -0
  258. package/src/functions/string.ts +47 -0
  259. package/src/functions/table.ts +139 -0
  260. package/src/functions/tears.ts +32 -0
  261. package/src/functions/transformations.ts +137 -0
  262. package/src/functions/trinketCacheFlag.ts +60 -0
  263. package/src/functions/trinketGive.ts +157 -0
  264. package/src/functions/trinkets.ts +215 -0
  265. package/src/functions/tstlClass.ts +91 -0
  266. package/src/functions/ui.ts +138 -0
  267. package/src/functions/utils.ts +200 -0
  268. package/src/functions/vector.ts +145 -0
  269. package/src/index.ts +162 -0
  270. package/src/initCustomCallbacks.ts +120 -0
  271. package/src/initFeatures.ts +37 -0
  272. package/src/interfaces/AddCallbackParameterCustom.ts +174 -0
  273. package/src/interfaces/ChargeBarSprites.ts +12 -0
  274. package/src/interfaces/JSONDoor.ts +13 -0
  275. package/src/interfaces/JSONEntity.ts +16 -0
  276. package/src/interfaces/JSONRoom.ts +36 -0
  277. package/src/interfaces/JSONRooms.ts +12 -0
  278. package/src/interfaces/JSONSpawn.ts +14 -0
  279. package/src/interfaces/PlayerHealth.ts +16 -0
  280. package/src/interfaces/PocketItemDescription.ts +9 -0
  281. package/src/interfaces/SaveData.ts +29 -0
  282. package/src/interfaces/TrinketSituation.ts +9 -0
  283. package/src/interfaces/private/TSTLClassMetatable.ts +8 -0
  284. package/src/maps/cardMap.ts +209 -0
  285. package/src/maps/characterMap.ts +87 -0
  286. package/src/maps/collectibleDescriptionMap.ts +732 -0
  287. package/src/maps/collectibleNameMap.ts +731 -0
  288. package/src/maps/defaultPlayerStatMap.ts +17 -0
  289. package/src/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
  290. package/src/maps/gridEntityXMLMap.ts +176 -0
  291. package/src/maps/pillEffectMap.ts +88 -0
  292. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
  293. package/src/maps/roomTypeMap.ts +40 -0
  294. package/src/maps/trinketDescriptionMap.ts +200 -0
  295. package/src/maps/trinketNameMap.ts +198 -0
  296. package/src/objects/LRoomShapeToRectangles.ts +44 -0
  297. package/src/objects/callbackRegisterFunctions.ts +171 -0
  298. package/src/objects/cardDescriptions.ts +105 -0
  299. package/src/objects/cardNames.ts +105 -0
  300. package/src/objects/cardTypes.ts +104 -0
  301. package/src/objects/challengeNames.ts +52 -0
  302. package/src/objects/characterNames.ts +48 -0
  303. package/src/objects/coinSubTypeToValue.ts +14 -0
  304. package/src/objects/colors.ts +16 -0
  305. package/src/objects/directionNames.ts +11 -0
  306. package/src/objects/directionToDegrees.ts +11 -0
  307. package/src/objects/directionToVector.ts +12 -0
  308. package/src/objects/doorSlotFlagToDoorSlot.ts +16 -0
  309. package/src/objects/doorSlotToDirection.ts +14 -0
  310. package/src/objects/isaacAPIClassTypeToBrand.ts +11 -0
  311. package/src/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
  312. package/src/objects/languageNames.ts +13 -0
  313. package/src/objects/pillEffectClasses.ts +63 -0
  314. package/src/objects/pillEffectNames.ts +57 -0
  315. package/src/objects/pillEffectTypes.ts +62 -0
  316. package/src/objects/roomShapeBounds.ts +71 -0
  317. package/src/objects/roomShapeLayoutSizes.ts +45 -0
  318. package/src/objects/roomShapeToBottomRightPosition.ts +25 -0
  319. package/src/objects/roomShapeToDoorSlots.ts +83 -0
  320. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
  321. package/src/objects/roomShapeToGridWidth.ts +21 -0
  322. package/src/objects/roomShapeToTopLeftPosition.ts +26 -0
  323. package/src/objects/roomShapeVolumes.ts +38 -0
  324. package/src/objects/roomTypeNames.ts +36 -0
  325. package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
  326. package/src/objects/stageTypeToLetter.ts +15 -0
  327. package/src/objects/transformationNames.ts +20 -0
  328. package/src/patchErrorFunctions.ts +92 -0
  329. package/src/sets/LRoomShapesSet.ts +8 -0
  330. package/src/sets/bossSets.ts +470 -0
  331. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
  332. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
  333. package/src/sets/charactersWithFreeDevilDealsSet.ts +4 -0
  334. package/src/sets/charactersWithNoRedHeartsSet.ts +17 -0
  335. package/src/sets/charactersWithNoSoulHeartsSet.ts +14 -0
  336. package/src/sets/chestPickupVariantsSet.ts +16 -0
  337. package/src/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
  338. package/src/sets/lostStyleCharactersSet.ts +13 -0
  339. package/src/sets/mineShaftRoomSubTypesSet.ts +10 -0
  340. package/src/sets/redHeartSubTypesSet.ts +7 -0
  341. package/src/sets/sinEntityTypesSet.ts +11 -0
  342. package/src/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
  343. package/src/sets/storyBossesSet.ts +17 -0
  344. package/src/types/AnyEntity.ts +12 -0
  345. package/src/types/AwaitingTextInput.d.ts +2 -0
  346. package/src/types/CollectibleIndex.ts +14 -0
  347. package/src/types/PickingUpItem.ts +89 -0
  348. package/src/types/PlayerIndex.ts +13 -0
  349. package/src/types/private/IsaacAPIClass.ts +3 -0
  350. package/src/types/private/SerializedIsaacAPIClass.ts +3 -0
  351. package/src/types/private/TSTLClass.ts +3 -0
  352. package/src/upgradeMod.ts +55 -0
  353. package/tsconfig.json +42 -0
  354. package/typedoc.json +158 -0
  355. package/website-root.md +11 -0
  356. package/cachedClasses.d.ts +0 -37
  357. package/cachedClasses.lua +0 -6
  358. package/callbacks/customRevive.d.ts +0 -1
  359. package/callbacks/customRevive.lua +0 -145
  360. package/callbacks/itemPickup.d.ts +0 -1
  361. package/callbacks/itemPickup.lua +0 -64
  362. package/callbacks/postBombInitLate.d.ts +0 -1
  363. package/callbacks/postBombInitLate.lua +0 -31
  364. package/callbacks/postBoneSwing.d.ts +0 -1
  365. package/callbacks/postBoneSwing.lua +0 -48
  366. package/callbacks/postCollectibleInitFirst.d.ts +0 -1
  367. package/callbacks/postCollectibleInitFirst.lua +0 -32
  368. package/callbacks/postCursedTeleport.d.ts +0 -1
  369. package/callbacks/postCursedTeleport.lua +0 -119
  370. package/callbacks/postCustomDoorEnter.d.ts +0 -50
  371. package/callbacks/postCustomDoorEnter.lua +0 -203
  372. package/callbacks/postDoorRender.d.ts +0 -1
  373. package/callbacks/postDoorRender.lua +0 -24
  374. package/callbacks/postDoorUpdate.d.ts +0 -1
  375. package/callbacks/postDoorUpdate.lua +0 -24
  376. package/callbacks/postEffectInitLate.d.ts +0 -1
  377. package/callbacks/postEffectInitLate.lua +0 -31
  378. package/callbacks/postEffectStateChanged.d.ts +0 -1
  379. package/callbacks/postEffectStateChanged.lua +0 -37
  380. package/callbacks/postEsauJr.d.ts +0 -1
  381. package/callbacks/postEsauJr.lua +0 -67
  382. package/callbacks/postFamiliarInitLate.d.ts +0 -1
  383. package/callbacks/postFamiliarInitLate.lua +0 -31
  384. package/callbacks/postFamiliarStateChanged.d.ts +0 -1
  385. package/callbacks/postFamiliarStateChanged.lua +0 -37
  386. package/callbacks/postFlip.d.ts +0 -1
  387. package/callbacks/postFlip.lua +0 -61
  388. package/callbacks/postGreedModeWave.d.ts +0 -1
  389. package/callbacks/postGreedModeWave.lua +0 -32
  390. package/callbacks/postGridEntity.d.ts +0 -1
  391. package/callbacks/postGridEntity.lua +0 -105
  392. package/callbacks/postGridEntityCollision.d.ts +0 -1
  393. package/callbacks/postGridEntityCollision.lua +0 -65
  394. package/callbacks/postGridEntityRender.d.ts +0 -1
  395. package/callbacks/postGridEntityRender.lua +0 -24
  396. package/callbacks/postHolyMantleRemoved.d.ts +0 -1
  397. package/callbacks/postHolyMantleRemoved.lua +0 -39
  398. package/callbacks/postItemDischarged.d.ts +0 -2
  399. package/callbacks/postItemDischarged.lua +0 -104
  400. package/callbacks/postKnifeInitLate.d.ts +0 -1
  401. package/callbacks/postKnifeInitLate.lua +0 -31
  402. package/callbacks/postLaserInitLate.d.ts +0 -1
  403. package/callbacks/postLaserInitLate.lua +0 -31
  404. package/callbacks/postNPCInitLate.d.ts +0 -1
  405. package/callbacks/postNPCInitLate.lua +0 -31
  406. package/callbacks/postNPCStateChanged.d.ts +0 -1
  407. package/callbacks/postNPCStateChanged.lua +0 -37
  408. package/callbacks/postNewRoomEarly.d.ts +0 -1
  409. package/callbacks/postNewRoomEarly.lua +0 -65
  410. package/callbacks/postPickupCollect.d.ts +0 -1
  411. package/callbacks/postPickupCollect.lua +0 -39
  412. package/callbacks/postPickupInitLate.d.ts +0 -1
  413. package/callbacks/postPickupInitLate.lua +0 -31
  414. package/callbacks/postPickupStateChanged.d.ts +0 -1
  415. package/callbacks/postPickupStateChanged.lua +0 -37
  416. package/callbacks/postPitRender.d.ts +0 -1
  417. package/callbacks/postPitRender.lua +0 -24
  418. package/callbacks/postPitUpdate.d.ts +0 -1
  419. package/callbacks/postPitUpdate.lua +0 -24
  420. package/callbacks/postPlayerChangeHealth.d.ts +0 -1
  421. package/callbacks/postPlayerChangeHealth.lua +0 -50
  422. package/callbacks/postPlayerChangeType.d.ts +0 -1
  423. package/callbacks/postPlayerChangeType.lua +0 -39
  424. package/callbacks/postPlayerFatalDamage.d.ts +0 -1
  425. package/callbacks/postPlayerFatalDamage.lua +0 -71
  426. package/callbacks/postPlayerInitLate.d.ts +0 -1
  427. package/callbacks/postPlayerInitLate.lua +0 -33
  428. package/callbacks/postPlayerReordered.d.ts +0 -1
  429. package/callbacks/postPlayerReordered.lua +0 -112
  430. package/callbacks/postPoopRender.d.ts +0 -1
  431. package/callbacks/postPoopRender.lua +0 -24
  432. package/callbacks/postPoopUpdate.d.ts +0 -1
  433. package/callbacks/postPoopUpdate.lua +0 -24
  434. package/callbacks/postPressurePlateRender.d.ts +0 -1
  435. package/callbacks/postPressurePlateRender.lua +0 -24
  436. package/callbacks/postPressurePlateUpdate.d.ts +0 -1
  437. package/callbacks/postPressurePlateUpdate.lua +0 -24
  438. package/callbacks/postProjectileInitLate.d.ts +0 -1
  439. package/callbacks/postProjectileInitLate.lua +0 -31
  440. package/callbacks/postPurchase.d.ts +0 -1
  441. package/callbacks/postPurchase.lua +0 -49
  442. package/callbacks/postRockRender.d.ts +0 -1
  443. package/callbacks/postRockRender.lua +0 -24
  444. package/callbacks/postRockUpdate.d.ts +0 -1
  445. package/callbacks/postRockUpdate.lua +0 -24
  446. package/callbacks/postRoomClearChanged.d.ts +0 -1
  447. package/callbacks/postRoomClearChanged.lua +0 -40
  448. package/callbacks/postSacrifice.d.ts +0 -1
  449. package/callbacks/postSacrifice.lua +0 -42
  450. package/callbacks/postSlotInitUpdate.d.ts +0 -1
  451. package/callbacks/postSlotInitUpdate.lua +0 -51
  452. package/callbacks/postSlotRender.d.ts +0 -1
  453. package/callbacks/postSlotRender.lua +0 -74
  454. package/callbacks/postSpikesRender.d.ts +0 -1
  455. package/callbacks/postSpikesRender.lua +0 -24
  456. package/callbacks/postSpikesUpdate.d.ts +0 -1
  457. package/callbacks/postSpikesUpdate.lua +0 -24
  458. package/callbacks/postTNTRender.d.ts +0 -1
  459. package/callbacks/postTNTRender.lua +0 -24
  460. package/callbacks/postTNTUpdate.d.ts +0 -1
  461. package/callbacks/postTNTUpdate.lua +0 -24
  462. package/callbacks/postTearInitLate.d.ts +0 -1
  463. package/callbacks/postTearInitLate.lua +0 -31
  464. package/callbacks/postTearInitVeryLate.d.ts +0 -1
  465. package/callbacks/postTearInitVeryLate.lua +0 -34
  466. package/callbacks/postTransformation.d.ts +0 -1
  467. package/callbacks/postTransformation.lua +0 -46
  468. package/callbacks/postTrinketBreak.d.ts +0 -1
  469. package/callbacks/postTrinketBreak.lua +0 -70
  470. package/callbacks/preBerserkDeath.d.ts +0 -1
  471. package/callbacks/preBerserkDeath.lua +0 -36
  472. package/callbacks/preNewLevel.d.ts +0 -1
  473. package/callbacks/preNewLevel.lua +0 -43
  474. package/callbacks/reorderedCallbacks.d.ts +0 -20
  475. package/callbacks/reorderedCallbacks.lua +0 -92
  476. package/callbacks/subscriptions/postBombInitLate.d.ts +0 -5
  477. package/callbacks/subscriptions/postBombInitLate.lua +0 -23
  478. package/callbacks/subscriptions/postBoneSwing.d.ts +0 -4
  479. package/callbacks/subscriptions/postBoneSwing.lua +0 -16
  480. package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +0 -5
  481. package/callbacks/subscriptions/postCollectibleInitFirst.lua +0 -23
  482. package/callbacks/subscriptions/postCursedTeleport.d.ts +0 -4
  483. package/callbacks/subscriptions/postCursedTeleport.lua +0 -16
  484. package/callbacks/subscriptions/postCustomDoorEnter.d.ts +0 -5
  485. package/callbacks/subscriptions/postCustomDoorEnter.lua +0 -29
  486. package/callbacks/subscriptions/postCustomRevive.d.ts +0 -5
  487. package/callbacks/subscriptions/postCustomRevive.lua +0 -23
  488. package/callbacks/subscriptions/postDoorRender.d.ts +0 -5
  489. package/callbacks/subscriptions/postDoorRender.lua +0 -24
  490. package/callbacks/subscriptions/postDoorUpdate.d.ts +0 -5
  491. package/callbacks/subscriptions/postDoorUpdate.lua +0 -24
  492. package/callbacks/subscriptions/postEffectInitLate.d.ts +0 -5
  493. package/callbacks/subscriptions/postEffectInitLate.lua +0 -23
  494. package/callbacks/subscriptions/postEffectStateChanged.d.ts +0 -5
  495. package/callbacks/subscriptions/postEffectStateChanged.lua +0 -23
  496. package/callbacks/subscriptions/postEsauJr.d.ts +0 -4
  497. package/callbacks/subscriptions/postEsauJr.lua +0 -16
  498. package/callbacks/subscriptions/postFamiliarInitLate.d.ts +0 -5
  499. package/callbacks/subscriptions/postFamiliarInitLate.lua +0 -23
  500. package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +0 -5
  501. package/callbacks/subscriptions/postFamiliarStateChanged.lua +0 -23
  502. package/callbacks/subscriptions/postFirstEsauJr.d.ts +0 -4
  503. package/callbacks/subscriptions/postFirstEsauJr.lua +0 -16
  504. package/callbacks/subscriptions/postFirstFlip.d.ts +0 -4
  505. package/callbacks/subscriptions/postFirstFlip.lua +0 -16
  506. package/callbacks/subscriptions/postFlip.d.ts +0 -4
  507. package/callbacks/subscriptions/postFlip.lua +0 -16
  508. package/callbacks/subscriptions/postGameStartedReordered.d.ts +0 -3
  509. package/callbacks/subscriptions/postGameStartedReordered.lua +0 -16
  510. package/callbacks/subscriptions/postGreedModeWave.d.ts +0 -4
  511. package/callbacks/subscriptions/postGreedModeWave.lua +0 -16
  512. package/callbacks/subscriptions/postGridEntityBroken.d.ts +0 -6
  513. package/callbacks/subscriptions/postGridEntityBroken.lua +0 -29
  514. package/callbacks/subscriptions/postGridEntityCollision.d.ts +0 -6
  515. package/callbacks/subscriptions/postGridEntityCollision.lua +0 -29
  516. package/callbacks/subscriptions/postGridEntityInit.d.ts +0 -6
  517. package/callbacks/subscriptions/postGridEntityInit.lua +0 -29
  518. package/callbacks/subscriptions/postGridEntityRemove.d.ts +0 -6
  519. package/callbacks/subscriptions/postGridEntityRemove.lua +0 -27
  520. package/callbacks/subscriptions/postGridEntityRender.d.ts +0 -6
  521. package/callbacks/subscriptions/postGridEntityRender.lua +0 -29
  522. package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +0 -6
  523. package/callbacks/subscriptions/postGridEntityStateChanged.lua +0 -29
  524. package/callbacks/subscriptions/postGridEntityUpdate.d.ts +0 -6
  525. package/callbacks/subscriptions/postGridEntityUpdate.lua +0 -29
  526. package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +0 -6
  527. package/callbacks/subscriptions/postHolyMantleRemoved.lua +0 -28
  528. package/callbacks/subscriptions/postItemDischarged.d.ts +0 -5
  529. package/callbacks/subscriptions/postItemDischarged.lua +0 -23
  530. package/callbacks/subscriptions/postItemPickup.d.ts +0 -11
  531. package/callbacks/subscriptions/postItemPickup.lua +0 -27
  532. package/callbacks/subscriptions/postKnifeInitLate.d.ts +0 -5
  533. package/callbacks/subscriptions/postKnifeInitLate.lua +0 -23
  534. package/callbacks/subscriptions/postLaserInitLate.d.ts +0 -5
  535. package/callbacks/subscriptions/postLaserInitLate.lua +0 -23
  536. package/callbacks/subscriptions/postNPCInitLate.d.ts +0 -5
  537. package/callbacks/subscriptions/postNPCInitLate.lua +0 -23
  538. package/callbacks/subscriptions/postNPCStateChanged.d.ts +0 -6
  539. package/callbacks/subscriptions/postNPCStateChanged.lua +0 -27
  540. package/callbacks/subscriptions/postNewLevelReordered.d.ts +0 -1
  541. package/callbacks/subscriptions/postNewLevelReordered.lua +0 -16
  542. package/callbacks/subscriptions/postNewRoomEarly.d.ts +0 -1
  543. package/callbacks/subscriptions/postNewRoomEarly.lua +0 -16
  544. package/callbacks/subscriptions/postNewRoomReordered.d.ts +0 -1
  545. package/callbacks/subscriptions/postNewRoomReordered.lua +0 -16
  546. package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +0 -6
  547. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +0 -28
  548. package/callbacks/subscriptions/postPickupCollect.d.ts +0 -4
  549. package/callbacks/subscriptions/postPickupCollect.lua +0 -23
  550. package/callbacks/subscriptions/postPickupInitLate.d.ts +0 -3
  551. package/callbacks/subscriptions/postPickupInitLate.lua +0 -23
  552. package/callbacks/subscriptions/postPickupStateChanged.d.ts +0 -5
  553. package/callbacks/subscriptions/postPickupStateChanged.lua +0 -23
  554. package/callbacks/subscriptions/postPitRender.d.ts +0 -5
  555. package/callbacks/subscriptions/postPitRender.lua +0 -24
  556. package/callbacks/subscriptions/postPitUpdate.d.ts +0 -5
  557. package/callbacks/subscriptions/postPitUpdate.lua +0 -24
  558. package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +0 -7
  559. package/callbacks/subscriptions/postPlayerChangeHealth.lua +0 -28
  560. package/callbacks/subscriptions/postPlayerChangeType.d.ts +0 -5
  561. package/callbacks/subscriptions/postPlayerChangeType.lua +0 -23
  562. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +0 -6
  563. package/callbacks/subscriptions/postPlayerFatalDamage.lua +0 -39
  564. package/callbacks/subscriptions/postPlayerInitLate.d.ts +0 -6
  565. package/callbacks/subscriptions/postPlayerInitLate.lua +0 -28
  566. package/callbacks/subscriptions/postPlayerInitReordered.d.ts +0 -6
  567. package/callbacks/subscriptions/postPlayerInitReordered.lua +0 -28
  568. package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +0 -6
  569. package/callbacks/subscriptions/postPlayerRenderReordered.lua +0 -28
  570. package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +0 -6
  571. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +0 -28
  572. package/callbacks/subscriptions/postPoopRender.d.ts +0 -5
  573. package/callbacks/subscriptions/postPoopRender.lua +0 -24
  574. package/callbacks/subscriptions/postPoopUpdate.d.ts +0 -5
  575. package/callbacks/subscriptions/postPoopUpdate.lua +0 -24
  576. package/callbacks/subscriptions/postPressurePlateRender.d.ts +0 -5
  577. package/callbacks/subscriptions/postPressurePlateRender.lua +0 -24
  578. package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +0 -5
  579. package/callbacks/subscriptions/postPressurePlateUpdate.lua +0 -24
  580. package/callbacks/subscriptions/postProjectileInitLate.d.ts +0 -5
  581. package/callbacks/subscriptions/postProjectileInitLate.lua +0 -23
  582. package/callbacks/subscriptions/postPurchase.d.ts +0 -6
  583. package/callbacks/subscriptions/postPurchase.lua +0 -16
  584. package/callbacks/subscriptions/postRockRender.d.ts +0 -5
  585. package/callbacks/subscriptions/postRockRender.lua +0 -24
  586. package/callbacks/subscriptions/postRockUpdate.d.ts +0 -5
  587. package/callbacks/subscriptions/postRockUpdate.lua +0 -24
  588. package/callbacks/subscriptions/postRoomClearChanged.d.ts +0 -3
  589. package/callbacks/subscriptions/postRoomClearChanged.lua +0 -16
  590. package/callbacks/subscriptions/postSacrifice.d.ts +0 -6
  591. package/callbacks/subscriptions/postSacrifice.lua +0 -28
  592. package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +0 -5
  593. package/callbacks/subscriptions/postSlotAnimationChanged.lua +0 -23
  594. package/callbacks/subscriptions/postSlotDestroyed.d.ts +0 -5
  595. package/callbacks/subscriptions/postSlotDestroyed.lua +0 -23
  596. package/callbacks/subscriptions/postSlotInit.d.ts +0 -5
  597. package/callbacks/subscriptions/postSlotInit.lua +0 -23
  598. package/callbacks/subscriptions/postSlotRender.d.ts +0 -5
  599. package/callbacks/subscriptions/postSlotRender.lua +0 -23
  600. package/callbacks/subscriptions/postSlotUpdate.d.ts +0 -5
  601. package/callbacks/subscriptions/postSlotUpdate.lua +0 -23
  602. package/callbacks/subscriptions/postSpikesRender.d.ts +0 -5
  603. package/callbacks/subscriptions/postSpikesRender.lua +0 -24
  604. package/callbacks/subscriptions/postSpikesUpdate.d.ts +0 -5
  605. package/callbacks/subscriptions/postSpikesUpdate.lua +0 -24
  606. package/callbacks/subscriptions/postTNTRender.d.ts +0 -5
  607. package/callbacks/subscriptions/postTNTRender.lua +0 -24
  608. package/callbacks/subscriptions/postTNTUpdate.d.ts +0 -5
  609. package/callbacks/subscriptions/postTNTUpdate.lua +0 -24
  610. package/callbacks/subscriptions/postTearInitLate.d.ts +0 -5
  611. package/callbacks/subscriptions/postTearInitLate.lua +0 -23
  612. package/callbacks/subscriptions/postTearInitVeryLate.d.ts +0 -5
  613. package/callbacks/subscriptions/postTearInitVeryLate.lua +0 -23
  614. package/callbacks/subscriptions/postTransformation.d.ts +0 -5
  615. package/callbacks/subscriptions/postTransformation.lua +0 -23
  616. package/callbacks/subscriptions/postTrinketBreak.d.ts +0 -5
  617. package/callbacks/subscriptions/postTrinketBreak.lua +0 -23
  618. package/callbacks/subscriptions/preBerserkDeath.d.ts +0 -6
  619. package/callbacks/subscriptions/preBerserkDeath.lua +0 -29
  620. package/callbacks/subscriptions/preCustomRevive.d.ts +0 -6
  621. package/callbacks/subscriptions/preCustomRevive.lua +0 -32
  622. package/callbacks/subscriptions/preItemPickup.d.ts +0 -11
  623. package/callbacks/subscriptions/preItemPickup.lua +0 -27
  624. package/callbacks/subscriptions/preNewLevel.d.ts +0 -4
  625. package/callbacks/subscriptions/preNewLevel.lua +0 -16
  626. package/classes/DefaultMap.d.ts +0 -75
  627. package/classes/DefaultMap.lua +0 -84
  628. package/classes/ModUpgraded.d.ts +0 -17
  629. package/classes/ModUpgraded.lua +0 -38
  630. package/constants.d.ts +0 -104
  631. package/constants.lua +0 -45
  632. package/constantsMax.d.ts +0 -130
  633. package/constantsMax.lua +0 -50
  634. package/enums/HealthType.d.ts +0 -16
  635. package/enums/HealthType.lua +0 -21
  636. package/enums/ModCallbackCustom.d.ts +0 -109
  637. package/enums/ModCallbackCustom.lua +0 -153
  638. package/enums/PocketItemType.d.ts +0 -8
  639. package/enums/PocketItemType.lua +0 -15
  640. package/enums/SerializationType.d.ts +0 -5
  641. package/enums/SerializationType.lua +0 -9
  642. package/enums/private/CopyableIsaacAPIClassType.d.ts +0 -7
  643. package/enums/private/CopyableIsaacAPIClassType.lua +0 -7
  644. package/enums/private/SaveDataKey.d.ts +0 -7
  645. package/enums/private/SaveDataKey.lua +0 -11
  646. package/enums/private/SerializationBrand.d.ts +0 -37
  647. package/enums/private/SerializationBrand.lua +0 -12
  648. package/features/characterHealthConversion.d.ts +0 -10
  649. package/features/characterHealthConversion.lua +0 -85
  650. package/features/characterStats.d.ts +0 -19
  651. package/features/characterStats.lua +0 -37
  652. package/features/debugDisplay/debugDisplay.d.ts +0 -2
  653. package/features/debugDisplay/debugDisplay.lua +0 -181
  654. package/features/debugDisplay/exports.d.ts +0 -199
  655. package/features/debugDisplay/exports.lua +0 -133
  656. package/features/debugDisplay/v.d.ts +0 -44
  657. package/features/debugDisplay/v.lua +0 -54
  658. package/features/deployJSONRoom.d.ts +0 -65
  659. package/features/deployJSONRoom.lua +0 -463
  660. package/features/disableInputs.d.ts +0 -62
  661. package/features/disableInputs.lua +0 -89
  662. package/features/disableSound.d.ts +0 -18
  663. package/features/disableSound.lua +0 -48
  664. package/features/extraConsoleCommands/commands.d.ts +0 -349
  665. package/features/extraConsoleCommands/commands.lua +0 -922
  666. package/features/extraConsoleCommands/commandsDisplay.d.ts +0 -162
  667. package/features/extraConsoleCommands/commandsDisplay.lua +0 -129
  668. package/features/extraConsoleCommands/commandsSubroutines.d.ts +0 -9
  669. package/features/extraConsoleCommands/commandsSubroutines.lua +0 -129
  670. package/features/extraConsoleCommands/init.d.ts +0 -25
  671. package/features/extraConsoleCommands/init.lua +0 -249
  672. package/features/extraConsoleCommands/v.d.ts +0 -13
  673. package/features/extraConsoleCommands/v.lua +0 -10
  674. package/features/fadeInRemover.d.ts +0 -14
  675. package/features/fadeInRemover.lua +0 -45
  676. package/features/fastReset.d.ts +0 -14
  677. package/features/fastReset.lua +0 -49
  678. package/features/forgottenSwitch.d.ts +0 -5
  679. package/features/forgottenSwitch.lua +0 -28
  680. package/features/getCollectibleItemPoolType.d.ts +0 -7
  681. package/features/getCollectibleItemPoolType.lua +0 -43
  682. package/features/isPonyActive.d.ts +0 -6
  683. package/features/isPonyActive.lua +0 -49
  684. package/features/playerInventory.d.ts +0 -23
  685. package/features/playerInventory.lua +0 -129
  686. package/features/preventCollectibleRotate.d.ts +0 -11
  687. package/features/preventCollectibleRotate.lua +0 -58
  688. package/features/runInNFrames.d.ts +0 -61
  689. package/features/runInNFrames.lua +0 -78
  690. package/features/saveDataManager/constants.d.ts +0 -3
  691. package/features/saveDataManager/constants.lua +0 -4
  692. package/features/saveDataManager/exports.d.ts +0 -128
  693. package/features/saveDataManager/exports.lua +0 -66
  694. package/features/saveDataManager/load.d.ts +0 -4
  695. package/features/saveDataManager/load.lua +0 -66
  696. package/features/saveDataManager/main.d.ts +0 -3
  697. package/features/saveDataManager/main.lua +0 -119
  698. package/features/saveDataManager/maps.d.ts +0 -10
  699. package/features/saveDataManager/maps.lua +0 -8
  700. package/features/saveDataManager/merge.d.ts +0 -24
  701. package/features/saveDataManager/merge.lua +0 -124
  702. package/features/saveDataManager/save.d.ts +0 -4
  703. package/features/saveDataManager/save.lua +0 -44
  704. package/features/saveDataManager/serializationBrand.d.ts +0 -1
  705. package/features/saveDataManager/serializationBrand.lua +0 -17
  706. package/features/sirenHelpers.d.ts +0 -18
  707. package/features/sirenHelpers.lua +0 -69
  708. package/features/taintedLazarusPlayers.d.ts +0 -13
  709. package/features/taintedLazarusPlayers.lua +0 -74
  710. package/featuresInitialized.d.ts +0 -1
  711. package/featuresInitialized.lua +0 -14
  712. package/functions/array.d.ts +0 -141
  713. package/functions/array.lua +0 -269
  714. package/functions/benchmark.d.ts +0 -10
  715. package/functions/benchmark.lua +0 -32
  716. package/functions/bitwise.d.ts +0 -4
  717. package/functions/bitwise.lua +0 -21
  718. package/functions/boss.d.ts +0 -56
  719. package/functions/boss.lua +0 -183
  720. package/functions/cacheFlag.d.ts +0 -8
  721. package/functions/cacheFlag.lua +0 -7
  722. package/functions/cards.d.ts +0 -95
  723. package/functions/cards.lua +0 -174
  724. package/functions/challenges.d.ts +0 -3
  725. package/functions/challenges.lua +0 -9
  726. package/functions/character.d.ts +0 -48
  727. package/functions/character.lua +0 -73
  728. package/functions/charge.d.ts +0 -54
  729. package/functions/charge.lua +0 -123
  730. package/functions/chargeBar.d.ts +0 -19
  731. package/functions/chargeBar.lua +0 -43
  732. package/functions/collectibleCacheFlag.d.ts +0 -23
  733. package/functions/collectibleCacheFlag.lua +0 -65
  734. package/functions/collectibleSet.d.ts +0 -9
  735. package/functions/collectibleSet.lua +0 -51
  736. package/functions/collectibleTag.d.ts +0 -16
  737. package/functions/collectibleTag.lua +0 -74
  738. package/functions/collectibles.d.ts +0 -211
  739. package/functions/collectibles.lua +0 -281
  740. package/functions/color.d.ts +0 -31
  741. package/functions/color.lua +0 -122
  742. package/functions/debug.d.ts +0 -27
  743. package/functions/debug.lua +0 -31
  744. package/functions/deepCopy.d.ts +0 -29
  745. package/functions/deepCopy.lua +0 -357
  746. package/functions/deepCopyTests.d.ts +0 -1
  747. package/functions/deepCopyTests.lua +0 -316
  748. package/functions/direction.d.ts +0 -4
  749. package/functions/direction.lua +0 -17
  750. package/functions/doors.d.ts +0 -117
  751. package/functions/doors.lua +0 -231
  752. package/functions/easing.d.ts +0 -30
  753. package/functions/easing.lua +0 -115
  754. package/functions/eden.d.ts +0 -3
  755. package/functions/eden.lua +0 -47
  756. package/functions/entity.d.ts +0 -131
  757. package/functions/entity.lua +0 -233
  758. package/functions/entitySpecific.d.ts +0 -250
  759. package/functions/entitySpecific.lua +0 -642
  760. package/functions/entityTypes.d.ts +0 -3
  761. package/functions/entityTypes.lua +0 -7
  762. package/functions/enums.d.ts +0 -80
  763. package/functions/enums.lua +0 -85
  764. package/functions/familiars.d.ts +0 -60
  765. package/functions/familiars.lua +0 -33
  766. package/functions/flag.d.ts +0 -99
  767. package/functions/flag.lua +0 -47
  768. package/functions/flying.d.ts +0 -19
  769. package/functions/flying.lua +0 -67
  770. package/functions/globals.d.ts +0 -14
  771. package/functions/globals.lua +0 -230
  772. package/functions/gridEntity.d.ts +0 -155
  773. package/functions/gridEntity.lua +0 -263
  774. package/functions/gridEntitySpecific.d.ts +0 -18
  775. package/functions/gridEntitySpecific.lua +0 -88
  776. package/functions/input.d.ts +0 -32
  777. package/functions/input.lua +0 -106
  778. package/functions/isaacAPIClass.d.ts +0 -23
  779. package/functions/isaacAPIClass.lua +0 -35
  780. package/functions/jsonHelpers.d.ts +0 -18
  781. package/functions/jsonHelpers.lua +0 -26
  782. package/functions/jsonRoom.d.ts +0 -12
  783. package/functions/jsonRoom.lua +0 -86
  784. package/functions/kColor.d.ts +0 -31
  785. package/functions/kColor.lua +0 -101
  786. package/functions/language.d.ts +0 -2
  787. package/functions/language.lua +0 -17
  788. package/functions/level.d.ts +0 -1
  789. package/functions/level.lua +0 -29
  790. package/functions/log.d.ts +0 -78
  791. package/functions/log.lua +0 -519
  792. package/functions/map.d.ts +0 -22
  793. package/functions/map.lua +0 -43
  794. package/functions/math.d.ts +0 -50
  795. package/functions/math.lua +0 -92
  796. package/functions/mergeTests.d.ts +0 -1
  797. package/functions/mergeTests.lua +0 -182
  798. package/functions/npc.d.ts +0 -40
  799. package/functions/npc.lua +0 -104
  800. package/functions/pickupVariants.d.ts +0 -23
  801. package/functions/pickupVariants.lua +0 -37
  802. package/functions/pickups.d.ts +0 -132
  803. package/functions/pickups.lua +0 -407
  804. package/functions/pills.d.ts +0 -69
  805. package/functions/pills.lua +0 -83
  806. package/functions/player.d.ts +0 -296
  807. package/functions/player.lua +0 -611
  808. package/functions/playerDataStructures.d.ts +0 -41
  809. package/functions/playerDataStructures.lua +0 -34
  810. package/functions/playerHealth.d.ts +0 -22
  811. package/functions/playerHealth.lua +0 -286
  812. package/functions/playerIndex.d.ts +0 -68
  813. package/functions/playerIndex.lua +0 -127
  814. package/functions/pocketItems.d.ts +0 -33
  815. package/functions/pocketItems.lua +0 -86
  816. package/functions/positionVelocity.d.ts +0 -64
  817. package/functions/positionVelocity.lua +0 -108
  818. package/functions/random.d.ts +0 -42
  819. package/functions/random.lua +0 -38
  820. package/functions/revive.d.ts +0 -31
  821. package/functions/revive.lua +0 -102
  822. package/functions/rng.d.ts +0 -53
  823. package/functions/rng.lua +0 -129
  824. package/functions/roomData.d.ts +0 -108
  825. package/functions/roomData.lua +0 -92
  826. package/functions/roomGrid.d.ts +0 -40
  827. package/functions/roomGrid.lua +0 -59
  828. package/functions/roomShape.d.ts +0 -43
  829. package/functions/roomShape.lua +0 -45
  830. package/functions/rooms.d.ts +0 -194
  831. package/functions/rooms.lua +0 -382
  832. package/functions/run.d.ts +0 -12
  833. package/functions/run.lua +0 -28
  834. package/functions/seeds.d.ts +0 -9
  835. package/functions/seeds.lua +0 -15
  836. package/functions/serialization.d.ts +0 -11
  837. package/functions/serialization.lua +0 -65
  838. package/functions/set.d.ts +0 -39
  839. package/functions/set.lua +0 -61
  840. package/functions/sound.d.ts +0 -1
  841. package/functions/sound.lua +0 -13
  842. package/functions/spawnCollectible.d.ts +0 -31
  843. package/functions/spawnCollectible.lua +0 -70
  844. package/functions/sprite.d.ts +0 -36
  845. package/functions/sprite.lua +0 -64
  846. package/functions/stage.d.ts +0 -35
  847. package/functions/stage.lua +0 -70
  848. package/functions/string.d.ts +0 -13
  849. package/functions/string.lua +0 -36
  850. package/functions/table.d.ts +0 -36
  851. package/functions/table.lua +0 -79
  852. package/functions/tears.d.ts +0 -22
  853. package/functions/tears.lua +0 -14
  854. package/functions/transformations.d.ts +0 -30
  855. package/functions/transformations.lua +0 -96
  856. package/functions/trinketCacheFlag.d.ts +0 -10
  857. package/functions/trinketCacheFlag.lua +0 -50
  858. package/functions/trinketGive.d.ts +0 -38
  859. package/functions/trinketGive.lua +0 -90
  860. package/functions/trinkets.d.ts +0 -73
  861. package/functions/trinkets.lua +0 -115
  862. package/functions/tstlClass.d.ts +0 -20
  863. package/functions/tstlClass.lua +0 -56
  864. package/functions/ui.d.ts +0 -34
  865. package/functions/ui.lua +0 -95
  866. package/functions/utils.d.ts +0 -112
  867. package/functions/utils.lua +0 -94
  868. package/functions/vector.d.ts +0 -32
  869. package/functions/vector.lua +0 -118
  870. package/index.d.ts +0 -127
  871. package/index.lua +0 -900
  872. package/initCustomCallbacks.d.ts +0 -2
  873. package/initCustomCallbacks.lua +0 -178
  874. package/initFeatures.d.ts +0 -3
  875. package/initFeatures.lua +0 -51
  876. package/lualib_bundle.lua +0 -2488
  877. package/maps/cardMap.d.ts +0 -3
  878. package/maps/cardMap.lua +0 -211
  879. package/maps/characterMap.d.ts +0 -3
  880. package/maps/characterMap.lua +0 -89
  881. package/maps/collectibleDescriptionMap.d.ts +0 -3
  882. package/maps/collectibleDescriptionMap.lua +0 -728
  883. package/maps/collectibleNameMap.d.ts +0 -3
  884. package/maps/collectibleNameMap.lua +0 -728
  885. package/maps/defaultPlayerStatMap.d.ts +0 -3
  886. package/maps/defaultPlayerStatMap.lua +0 -24
  887. package/maps/gridEntityTypeToBrokenStateMap.d.ts +0 -2
  888. package/maps/gridEntityTypeToBrokenStateMap.lua +0 -26
  889. package/maps/gridEntityXMLMap.d.ts +0 -9
  890. package/maps/gridEntityXMLMap.lua +0 -51
  891. package/maps/pillEffectMap.d.ts +0 -3
  892. package/maps/pillEffectMap.lua +0 -89
  893. package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +0 -7
  894. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +0 -15
  895. package/maps/roomTypeMap.d.ts +0 -3
  896. package/maps/roomTypeMap.lua +0 -44
  897. package/maps/trinketDescriptionMap.d.ts +0 -3
  898. package/maps/trinketDescriptionMap.lua +0 -196
  899. package/maps/trinketNameMap.d.ts +0 -3
  900. package/maps/trinketNameMap.lua +0 -196
  901. package/objects/LRoomShapeToRectangles.d.ts +0 -13
  902. package/objects/LRoomShapeToRectangles.lua +0 -33
  903. package/objects/callbackRegisterFunctions.d.ts +0 -5
  904. package/objects/callbackRegisterFunctions.lua +0 -231
  905. package/objects/cardDescriptions.d.ts +0 -5
  906. package/objects/cardDescriptions.lua +0 -105
  907. package/objects/cardNames.d.ts +0 -5
  908. package/objects/cardNames.lua +0 -105
  909. package/objects/cardTypes.d.ts +0 -5
  910. package/objects/cardTypes.lua +0 -106
  911. package/objects/challengeNames.d.ts +0 -5
  912. package/objects/challengeNames.lua +0 -53
  913. package/objects/characterNames.d.ts +0 -5
  914. package/objects/characterNames.lua +0 -49
  915. package/objects/coinSubTypeToValue.d.ts +0 -5
  916. package/objects/coinSubTypeToValue.lua +0 -15
  917. package/objects/colors.d.ts +0 -17
  918. package/objects/colors.lua +0 -12
  919. package/objects/directionNames.d.ts +0 -4
  920. package/objects/directionNames.lua +0 -11
  921. package/objects/directionToDegrees.d.ts +0 -4
  922. package/objects/directionToDegrees.lua +0 -11
  923. package/objects/directionToVector.d.ts +0 -4
  924. package/objects/directionToVector.lua +0 -13
  925. package/objects/doorSlotFlagToDoorSlot.d.ts +0 -5
  926. package/objects/doorSlotFlagToDoorSlot.lua +0 -16
  927. package/objects/doorSlotToDirection.d.ts +0 -4
  928. package/objects/doorSlotToDirection.lua +0 -16
  929. package/objects/isaacAPIClassTypeToBrand.d.ts +0 -5
  930. package/objects/isaacAPIClassTypeToBrand.lua +0 -7
  931. package/objects/isaacAPIClassTypeToCopyFunction.d.ts +0 -5
  932. package/objects/isaacAPIClassTypeToCopyFunction.lua +0 -13
  933. package/objects/pillEffectClasses.d.ts +0 -5
  934. package/objects/pillEffectClasses.lua +0 -59
  935. package/objects/pillEffectNames.d.ts +0 -5
  936. package/objects/pillEffectNames.lua +0 -57
  937. package/objects/pillEffectTypes.d.ts +0 -5
  938. package/objects/pillEffectTypes.lua +0 -58
  939. package/objects/roomShapeBounds.d.ts +0 -8
  940. package/objects/roomShapeBounds.lua +0 -24
  941. package/objects/roomShapeLayoutSizes.d.ts +0 -10
  942. package/objects/roomShapeLayoutSizes.lua +0 -25
  943. package/objects/roomShapeToBottomRightPosition.d.ts +0 -8
  944. package/objects/roomShapeToBottomRightPosition.lua +0 -20
  945. package/objects/roomShapeToDoorSlots.d.ts +0 -4
  946. package/objects/roomShapeToDoorSlots.lua +0 -46
  947. package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +0 -8
  948. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +0 -87
  949. package/objects/roomShapeToGridWidth.d.ts +0 -4
  950. package/objects/roomShapeToGridWidth.lua +0 -20
  951. package/objects/roomShapeToTopLeftPosition.d.ts +0 -8
  952. package/objects/roomShapeToTopLeftPosition.lua +0 -22
  953. package/objects/roomShapeVolumes.d.ts +0 -13
  954. package/objects/roomShapeVolumes.lua +0 -27
  955. package/objects/roomTypeNames.d.ts +0 -5
  956. package/objects/roomTypeNames.lua +0 -37
  957. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +0 -4
  958. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +0 -13
  959. package/objects/stageTypeToLetter.d.ts +0 -4
  960. package/objects/stageTypeToLetter.lua +0 -12
  961. package/objects/transformationNames.d.ts +0 -5
  962. package/objects/transformationNames.lua +0 -21
  963. package/patchErrorFunctions.d.ts +0 -1
  964. package/patchErrorFunctions.lua +0 -50
  965. package/sets/LRoomShapesSet.d.ts +0 -2
  966. package/sets/LRoomShapesSet.lua +0 -8
  967. package/sets/bossSets.d.ts +0 -4
  968. package/sets/bossSets.lua +0 -531
  969. package/sets/charactersThatStartWithAnActiveItemSet.d.ts +0 -2
  970. package/sets/charactersThatStartWithAnActiveItemSet.lua +0 -20
  971. package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +0 -2
  972. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +0 -8
  973. package/sets/charactersWithFreeDevilDealsSet.d.ts +0 -2
  974. package/sets/charactersWithFreeDevilDealsSet.lua +0 -8
  975. package/sets/charactersWithNoRedHeartsSet.d.ts +0 -6
  976. package/sets/charactersWithNoRedHeartsSet.lua +0 -17
  977. package/sets/charactersWithNoSoulHeartsSet.d.ts +0 -6
  978. package/sets/charactersWithNoSoulHeartsSet.lua +0 -14
  979. package/sets/chestPickupVariantsSet.d.ts +0 -2
  980. package/sets/chestPickupVariantsSet.lua +0 -21
  981. package/sets/familiarsThatShootPlayerTearsSet.d.ts +0 -2
  982. package/sets/familiarsThatShootPlayerTearsSet.lua +0 -17
  983. package/sets/lostStyleCharactersSet.d.ts +0 -6
  984. package/sets/lostStyleCharactersSet.lua +0 -14
  985. package/sets/mineShaftRoomSubTypesSet.d.ts +0 -2
  986. package/sets/mineShaftRoomSubTypesSet.lua +0 -14
  987. package/sets/redHeartSubTypesSet.d.ts +0 -2
  988. package/sets/redHeartSubTypesSet.lua +0 -8
  989. package/sets/sinEntityTypesSet.d.ts +0 -2
  990. package/sets/sinEntityTypesSet.lua +0 -16
  991. package/sets/singleUseActiveCollectibleTypesSet.d.ts +0 -2
  992. package/sets/singleUseActiveCollectibleTypesSet.lua +0 -17
  993. package/sets/storyBossesSet.d.ts +0 -2
  994. package/sets/storyBossesSet.lua +0 -22
  995. package/types/AddCallbackParameterCustom.d.ts +0 -153
  996. package/types/AddCallbackParameterCustom.lua +0 -4
  997. package/types/AnyEntity.d.ts +0 -2
  998. package/types/AnyEntity.lua +0 -2
  999. package/types/CollectibleIndex.d.ts +0 -16
  1000. package/types/CollectibleIndex.lua +0 -2
  1001. package/types/JSONDoor.d.ts +0 -10
  1002. package/types/JSONDoor.lua +0 -2
  1003. package/types/JSONEntity.d.ts +0 -12
  1004. package/types/JSONEntity.lua +0 -2
  1005. package/types/JSONRoom.d.ts +0 -30
  1006. package/types/JSONRoom.lua +0 -2
  1007. package/types/JSONRooms.d.ts +0 -11
  1008. package/types/JSONRooms.lua +0 -2
  1009. package/types/JSONSpawn.d.ts +0 -10
  1010. package/types/JSONSpawn.lua +0 -2
  1011. package/types/PickingUpItem.d.ts +0 -24
  1012. package/types/PickingUpItem.lua +0 -24
  1013. package/types/PlayerHealth.d.ts +0 -14
  1014. package/types/PlayerHealth.lua +0 -2
  1015. package/types/PlayerIndex.d.ts +0 -16
  1016. package/types/PlayerIndex.lua +0 -2
  1017. package/types/PocketItemDescription.d.ts +0 -7
  1018. package/types/PocketItemDescription.lua +0 -2
  1019. package/types/Primitive.d.ts +0 -1
  1020. package/types/Primitive.lua +0 -2
  1021. package/types/TrinketSituation.d.ts +0 -7
  1022. package/types/TrinketSituation.lua +0 -2
  1023. package/types/private/IsaacAPIClass.d.ts +0 -4
  1024. package/types/private/IsaacAPIClass.lua +0 -2
  1025. package/types/private/SaveData.d.ts +0 -22
  1026. package/types/private/SaveData.lua +0 -2
  1027. package/types/private/SerializedIsaacAPIClass.d.ts +0 -4
  1028. package/types/private/SerializedIsaacAPIClass.lua +0 -2
  1029. package/types/private/TSTLClass.d.ts +0 -4
  1030. package/types/private/TSTLClass.lua +0 -2
  1031. package/types/private/TSTLClassMetatable.d.ts +0 -10
  1032. package/types/private/TSTLClassMetatable.lua +0 -2
  1033. package/upgradeMod.d.ts +0 -22
  1034. package/upgradeMod.lua +0 -33
@@ -0,0 +1,267 @@
1
+ import { Card, ItemConfigCardType } from "isaac-typescript-definitions";
2
+ import { itemConfig } from "../cachedClasses";
3
+ import {
4
+ FIRST_CARD,
5
+ FIRST_MODDED_CARD,
6
+ LAST_CARD,
7
+ MAX_VANILLA_CARD,
8
+ } from "../constantsFirstLast";
9
+ import {
10
+ CARD_DESCRIPTIONS,
11
+ DEFAULT_CARD_DESCRIPTION,
12
+ } from "../objects/cardDescriptions";
13
+ import { CARD_NAMES, DEFAULT_CARD_NAME } from "../objects/cardNames";
14
+ import { CARD_TYPES, DEFAULT_CARD_TYPE } from "../objects/cardTypes";
15
+ import { getEnumValues } from "./enums";
16
+ import { getRandomSeed } from "./rng";
17
+ import { addSetsToSet, getRandomSetElement } from "./set";
18
+ import { irange } from "./utils";
19
+
20
+ const CARD_TYPE_TO_CARDS_MAP: Map<ItemConfigCardType, Set<Card>> = new Map();
21
+
22
+ /**
23
+ * Contains all of the entries in the `Card` enum with the following types:
24
+ * - ItemConfigCardType.TAROT
25
+ * - ItemConfigCardType.SUIT
26
+ * - ItemConfigCardType.SPECIAL
27
+ * - ItemConfigCardType.TAROT_REVERSE
28
+ */
29
+ const CARD_SET: Set<Card> = new Set();
30
+
31
+ function initCardObjects() {
32
+ // The card type to cards map should be valid for every card type, so we initialize it with empty
33
+ // sets.
34
+ for (const cardType of getEnumValues(ItemConfigCardType)) {
35
+ CARD_TYPE_TO_CARDS_MAP.set(cardType, new Set<Card>());
36
+ }
37
+
38
+ for (const card of getAllCards()) {
39
+ const cardType = getCardType(card);
40
+ const cardTypeSet = CARD_TYPE_TO_CARDS_MAP.get(cardType);
41
+ if (cardTypeSet === undefined) {
42
+ error(`Failed to get the card set for card type: ${cardType}`);
43
+ }
44
+ cardTypeSet.add(card);
45
+ }
46
+
47
+ // i.e. everything except for:
48
+ // - ItemConfigCardType.RUNE
49
+ // - ItemConfigCardType.SPECIAL_OBJECT
50
+ // - ItemConfigCardType.MODDED
51
+ const cards = getCardsOfType(
52
+ ItemConfigCardType.TAROT,
53
+ ItemConfigCardType.SUIT,
54
+ ItemConfigCardType.SPECIAL,
55
+ ItemConfigCardType.TAROT_REVERSE,
56
+ );
57
+ addSetsToSet(CARD_SET, cards);
58
+ }
59
+
60
+ /** Helper function to get an array with every valid card sub-type. This includes modded cards. */
61
+ export function getAllCards(): Card[] {
62
+ return irange(FIRST_CARD, LAST_CARD) as Card[];
63
+ }
64
+
65
+ /**
66
+ * Helper function to get a card description from a Card enum value.
67
+ *
68
+ * For example:
69
+ *
70
+ * ```ts
71
+ * const card = Card.FOOL;
72
+ * const cardDescription = getCardDescription(card); // cardDescription is "Where journey begins"
73
+ * ```
74
+ */
75
+ export function getCardDescription(card: Card): string {
76
+ // "ItemConfigCard.Description" is bugged with vanilla cards on patch v1.7.6, so we use a
77
+ // hard-coded map as a workaround.
78
+ const cardDescription = CARD_DESCRIPTIONS[card];
79
+ if (cardDescription !== undefined) {
80
+ return cardDescription;
81
+ }
82
+
83
+ const itemConfigCard = itemConfig.GetCard(card);
84
+ if (itemConfigCard !== undefined) {
85
+ return itemConfigCard.Description;
86
+ }
87
+
88
+ return DEFAULT_CARD_DESCRIPTION;
89
+ }
90
+
91
+ /**
92
+ * Helper function to get a card name from a Card.
93
+ *
94
+ * For example:
95
+ *
96
+ * ```ts
97
+ * const card = Card.FOOL;
98
+ * const cardName = getCardName(card); // cardName is "0 - The Fool"
99
+ * ```
100
+ */
101
+ export function getCardName(card: Card): string {
102
+ // "ItemConfigCard.Name" is bugged with vanilla cards on patch v1.7.6, so we use a hard-coded map
103
+ // as a workaround.
104
+ const cardName = CARD_NAMES[card];
105
+ if (cardName !== undefined && cardName !== DEFAULT_CARD_NAME) {
106
+ return cardName;
107
+ }
108
+
109
+ const itemConfigCard = itemConfig.GetCard(card);
110
+ if (itemConfigCard !== undefined) {
111
+ return itemConfigCard.Name;
112
+ }
113
+
114
+ return DEFAULT_CARD_NAME;
115
+ }
116
+
117
+ export function getCardType(card: Card): ItemConfigCardType {
118
+ const cardType = CARD_TYPES[card];
119
+ return cardType === undefined ? DEFAULT_CARD_TYPE : cardType;
120
+ }
121
+
122
+ /**
123
+ * Helper function to get a set of cards matching the type. Also see the `CardType` enum.
124
+ *
125
+ * This function is variadic, meaning that you can you can specify N card types to get a set
126
+ * containing cards that match any of the specified types.
127
+ */
128
+ export function getCardsOfType(...cardTypes: ItemConfigCardType[]): Set<Card> {
129
+ if (CARD_TYPE_TO_CARDS_MAP.size === 0) {
130
+ initCardObjects();
131
+ }
132
+
133
+ const matchingCards = new Set<Card>();
134
+ for (const cardType of cardTypes) {
135
+ const cardSet = CARD_TYPE_TO_CARDS_MAP.get(cardType);
136
+ if (cardSet === undefined) {
137
+ error(`Failed to get the cards for type: ${cardType}`);
138
+ }
139
+
140
+ for (const card of cardSet.values()) {
141
+ matchingCards.add(card);
142
+ }
143
+ }
144
+
145
+ return matchingCards;
146
+ }
147
+
148
+ /**
149
+ * Helper function to get an array with every modded card sub-type.
150
+ *
151
+ * Returns an empty array if there are no modded cards.
152
+ */
153
+ export function getModdedCards(): Card[] {
154
+ if (MAX_VANILLA_CARD === LAST_CARD) {
155
+ return [];
156
+ }
157
+
158
+ return irange(FIRST_MODDED_CARD, LAST_CARD) as Card[];
159
+ }
160
+
161
+ /**
162
+ * Has an equal chance of returning any card (e.g. Fool, Reverse Fool, Wild Card, etc.).
163
+ *
164
+ * This will not return:
165
+ * - any runes
166
+ * - any objects like Dice Shard
167
+ * - any modded cards (since there is not a way to distinguish between modded cards and modded
168
+ * runes/objects)
169
+ *
170
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
171
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
172
+ * @param exceptions Optional. An array of cards to not select.
173
+ */
174
+ export function getRandomCard(
175
+ seedOrRNG: Seed | RNG = getRandomSeed(),
176
+ exceptions: Card[] = [],
177
+ ): Card {
178
+ return getRandomSetElement(CARD_SET, seedOrRNG, exceptions);
179
+ }
180
+
181
+ /**
182
+ * @param cardType The card type that represents the pool of cards to select from.
183
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
184
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
185
+ * @param exceptions Optional. An array of cards to not select.
186
+ */
187
+ export function getRandomCardOfType(
188
+ cardType: ItemConfigCardType,
189
+ seedOrRNG: Seed | RNG = getRandomSeed(),
190
+ exceptions: Card[] = [],
191
+ ): Card {
192
+ const cardSet = getCardsOfType(cardType);
193
+ return getRandomSetElement(cardSet, seedOrRNG, exceptions);
194
+ }
195
+
196
+ /**
197
+ * Has an equal chance of returning any rune (e.g. Rune of Hagalaz, Blank Rune, Black Rune, Soul of
198
+ * Isaac, etc.). This will never return a Rune Shard.
199
+ *
200
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
201
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
202
+ * @param exceptions Optional. An array of runes to not select.
203
+ */
204
+ export function getRandomRune(
205
+ seedOrRNG: Seed | RNG = getRandomSeed(),
206
+ exceptions: Card[] = [],
207
+ ): Card {
208
+ const runesSet = getCardsOfType(ItemConfigCardType.RUNE);
209
+ runesSet.delete(Card.RUNE_SHARD);
210
+ return getRandomSetElement(runesSet, seedOrRNG, exceptions);
211
+ }
212
+
213
+ /** Helper function to get an array with every valid vanilla card sub-type. */
214
+ export function getVanillaCards(): Card[] {
215
+ return irange(FIRST_CARD, MAX_VANILLA_CARD) as Card[];
216
+ }
217
+
218
+ /**
219
+ * Returns true for cards that have the following card type:
220
+ * - CardType.TAROT
221
+ * - CardType.SUIT
222
+ * - CardType.SPECIAL
223
+ * - CardType.TAROT_REVERSE
224
+ */
225
+ export function isCard(card: Card): boolean {
226
+ return CARD_SET.has(card);
227
+ }
228
+
229
+ /** Returns whether or not the given card matches the specified card type. */
230
+ export function isCardType(card: Card, cardType: ItemConfigCardType): boolean {
231
+ return cardType === getCardType(card);
232
+ }
233
+
234
+ /** Returns true for cards that have `CardType.MODDED`. */
235
+ export function isModdedCard(card: Card): boolean {
236
+ return isCardType(card, ItemConfigCardType.MODDED);
237
+ }
238
+
239
+ /** Returns true for cards that have `CardType.SPECIAL_OBJECT`. */
240
+ export function isPocketItemObject(card: Card): boolean {
241
+ return isCardType(card, ItemConfigCardType.SPECIAL_OBJECT);
242
+ }
243
+
244
+ /** Returns true for cards that have `CardType.TAROT_REVERSE`. */
245
+ export function isReverseTarotCard(card: Card): boolean {
246
+ return isCardType(card, ItemConfigCardType.TAROT_REVERSE);
247
+ }
248
+
249
+ /** Returns true for cards that have `CardType.RUNE`. */
250
+ export function isRune(card: Card): boolean {
251
+ return isCardType(card, ItemConfigCardType.RUNE);
252
+ }
253
+
254
+ /** Returns true for cards that have `CardType.SPECIAL`. */
255
+ export function isSpecialCard(card: Card): boolean {
256
+ return isCardType(card, ItemConfigCardType.SPECIAL);
257
+ }
258
+
259
+ /** Returns true for cards that have `CardType.SUIT`. */
260
+ export function isSuitCard(card: Card): boolean {
261
+ return isCardType(card, ItemConfigCardType.SUIT);
262
+ }
263
+
264
+ /** Returns true for cards that have `CardType.TAROT`. */
265
+ export function isTarotCard(card: Card): boolean {
266
+ return isCardType(card, ItemConfigCardType.TAROT);
267
+ }
@@ -0,0 +1,11 @@
1
+ import { Challenge } from "isaac-typescript-definitions";
2
+ import {
3
+ CHALLENGE_NAMES,
4
+ DEFAULT_CHALLENGE_NAME,
5
+ } from "../objects/challengeNames";
6
+
7
+ /** Get the proper name for a `Challenge` enum. This will only work for vanilla challenges. */
8
+ export function getChallengeName(challenge: Challenge): string {
9
+ const challengeName = CHALLENGE_NAMES[challenge];
10
+ return challengeName === undefined ? DEFAULT_CHALLENGE_NAME : challengeName;
11
+ }
@@ -0,0 +1,124 @@
1
+ import { PlayerType } from "isaac-typescript-definitions";
2
+ import { LAST_VANILLA_CHARACTER } from "../constantsFirstLast";
3
+ import {
4
+ CHARACTER_NAMES,
5
+ DEFAULT_CHARACTER_NAME,
6
+ } from "../objects/characterNames";
7
+ import { CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET } from "../sets/charactersThatStartWithAnActiveItemSet";
8
+ import { CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET } from "../sets/charactersWithBlackHeartFromEternalHeartSet";
9
+ import { CHARACTERS_WITH_FREE_DEVIL_DEALS_SET } from "../sets/charactersWithFreeDevilDealsSet";
10
+ import { CHARACTERS_WITH_NO_RED_HEARTS_SET } from "../sets/charactersWithNoRedHeartsSet";
11
+ import { CHARACTERS_WITH_NO_SOUL_HEARTS_SET } from "../sets/charactersWithNoSoulHeartsSet";
12
+ import { LOST_STYLE_CHARACTERS_SET } from "../sets/lostStyleCharactersSet";
13
+
14
+ /**
15
+ * Helper function to determine if the given character can have red heart containers. Returns true
16
+ * for characters like Isaac, Magdalene, or Cain. Returns true for Keeper and Tainted Keeper, even
17
+ * though coin containers are not technically the same as red heart containers. Returns false for
18
+ * characters like Blue Baby. Returns false for The Lost and Tainted Lost.
19
+ */
20
+ export function characterCanHaveRedHearts(character: PlayerType): boolean {
21
+ return !CHARACTERS_WITH_NO_RED_HEARTS_SET.has(character);
22
+ }
23
+
24
+ /**
25
+ * Helper function to determine if the given character can have soul hearts. Returns true for
26
+ * characters like Isaac, Magdalene, or Cain. Returns false for characters like Bethany. Returns
27
+ * false for The Lost and Tainted Lost.
28
+ */
29
+ export function characterCanHaveSoulHearts(character: PlayerType): boolean {
30
+ return !CHARACTERS_WITH_NO_SOUL_HEARTS_SET.has(character);
31
+ }
32
+
33
+ /**
34
+ * Helper function for determining whether the given character can take free Devil Deals. (e.g. The
35
+ * Lost, Tainted Lost, etc.)
36
+ */
37
+ export function characterCanTakeFreeDevilDeals(character: PlayerType): boolean {
38
+ return CHARACTERS_WITH_FREE_DEVIL_DEALS_SET.has(character);
39
+ }
40
+
41
+ /**
42
+ * Normally, characters get a red heart container upon reaching a new floor with an eternal heart,
43
+ * but some characters grant a black heart instead. Returns true for Dark Judas and Tainted Judas.
44
+ * Otherwise, returns false.
45
+ */
46
+ export function characterGetsBlackHeartFromEternalHeart(
47
+ character: PlayerType,
48
+ ): boolean {
49
+ return CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET.has(character);
50
+ }
51
+
52
+ /**
53
+ * Helper function to determine if the specified character starts with an active item.
54
+ *
55
+ * For the purposes of this function, the save file is considered to be fully unlocked (e.g. Isaac
56
+ * is considered to starts with the D6, but this is not the case on a brand new save file).
57
+ */
58
+ export function characterStartsWithActiveItem(character: PlayerType): boolean {
59
+ return CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET.has(character);
60
+ }
61
+
62
+ /**
63
+ * - Most characters have a 56 frame death animation (i.e. the "Death" animation).
64
+ * - The Lost and Tainted Lost have a 38 frame death animation (i.e. the "LostDeath" animation).
65
+ * - Tainted Forgotten have a 20 frame death animation (i.e. the "ForgottenDeath" animation).
66
+ */
67
+ export function getCharacterDeathAnimationName(character: PlayerType): string {
68
+ if (LOST_STYLE_CHARACTERS_SET.has(character)) {
69
+ return "LostDeath";
70
+ }
71
+
72
+ if (character === PlayerType.THE_FORGOTTEN_B) {
73
+ return "ForgottenDeath";
74
+ }
75
+
76
+ return "Death";
77
+ }
78
+
79
+ /**
80
+ * Returns the maximum heart containers that the provided character can have. Normally, this is 12,
81
+ * but with Keeper it is 3, and with Tainted Keeper it is 2. This does not account for Birthright or
82
+ * Mother's Kiss; use the `getPlayerMaxHeartContainers` helper function for that.
83
+ */
84
+ export function getCharacterMaxHeartContainers(character: PlayerType): int {
85
+ // 14
86
+ if (character === PlayerType.KEEPER) {
87
+ return 3;
88
+ }
89
+
90
+ // 16
91
+ if (character === PlayerType.THE_FORGOTTEN) {
92
+ return 6;
93
+ }
94
+
95
+ // 17
96
+ if (character === PlayerType.THE_SOUL) {
97
+ return 6;
98
+ }
99
+
100
+ // 33
101
+ if (character === PlayerType.KEEPER_B) {
102
+ return 2;
103
+ }
104
+
105
+ return 12;
106
+ }
107
+
108
+ /** Helper function to get the name of a character. Returns "unknown" for modded characters. */
109
+ export function getCharacterName(character: PlayerType): string {
110
+ if (isVanillaCharacter(character)) {
111
+ return "unknown";
112
+ }
113
+
114
+ const characterName = CHARACTER_NAMES[character];
115
+ return characterName === undefined ? DEFAULT_CHARACTER_NAME : characterName;
116
+ }
117
+
118
+ export function isModdedCharacter(character: PlayerType): boolean {
119
+ return !isVanillaCharacter(character);
120
+ }
121
+
122
+ export function isVanillaCharacter(character: PlayerType): boolean {
123
+ return character <= LAST_VANILLA_CHARACTER;
124
+ }
@@ -0,0 +1,237 @@
1
+ import {
2
+ ActiveSlot,
3
+ CollectibleType,
4
+ RoomShape,
5
+ SoundEffect,
6
+ TrinketType,
7
+ } from "isaac-typescript-definitions";
8
+ import { game, sfxManager } from "../cachedClasses";
9
+ import { getCollectibleMaxCharges } from "./collectibles";
10
+ import { getPlayers } from "./playerIndex";
11
+
12
+ /**
13
+ * Helper function to add a charge to a player's active item, emulating what happens when a room is
14
+ * cleared.
15
+ *
16
+ * This function will take the following things into account:
17
+ * - L rooms and 2x2 rooms granting a double charge
18
+ * - The Battery
19
+ * - AAA Battery
20
+ *
21
+ * @param player The player to grant the charges to.
22
+ * @param ignoreBigRoomDoubleCharge Optional. If set to true, it will treat the current room as a
23
+ * 1x1 room for the purposes of calculating how much charge to
24
+ * grant. Default is false.
25
+ */
26
+ export function addRoomClearCharge(
27
+ player: EntityPlayer,
28
+ ignoreBigRoomDoubleCharge = false,
29
+ ): void {
30
+ for (const activeSlot of [
31
+ ActiveSlot.PRIMARY,
32
+ ActiveSlot.SECONDARY,
33
+ ActiveSlot.POCKET,
34
+ ]) {
35
+ addRoomClearChargeToSlot(player, activeSlot, ignoreBigRoomDoubleCharge);
36
+ }
37
+ }
38
+
39
+ /**
40
+ * Helper function to add a charge to one of a player's active items, emulating what happens when a
41
+ * room is cleared.
42
+ *
43
+ * This function will take the following things into account:
44
+ * - L rooms and 2x2 rooms granting a double charge
45
+ * - The Battery
46
+ * - AAA Battery
47
+ *
48
+ * @param player The player to grant the charges to.
49
+ * @param activeSlot The active item slot to grant the charges to.
50
+ * @param ignoreBigRoomDoubleCharge Optional. If set to true, it will treat the current room as a
51
+ * 1x1 room for the purposes of calculating how much charge to
52
+ * grant. Default is false.
53
+ */
54
+ export function addRoomClearChargeToSlot(
55
+ player: EntityPlayer,
56
+ activeSlot: ActiveSlot,
57
+ ignoreBigRoomDoubleCharge = false,
58
+ ): void {
59
+ if (!player.NeedsCharge(activeSlot)) {
60
+ return;
61
+ }
62
+
63
+ const hud = game.GetHUD();
64
+
65
+ // Find out the new charge to set on the item.
66
+ const totalCharge = getTotalCharge(player, activeSlot);
67
+ const chargesToAdd = getNumChargesToAdd(
68
+ player,
69
+ activeSlot,
70
+ ignoreBigRoomDoubleCharge,
71
+ );
72
+ const modifiedChargesToAdd = getNumChargesWithAAAModifier(
73
+ player,
74
+ activeSlot,
75
+ chargesToAdd,
76
+ );
77
+ const newCharge = totalCharge + modifiedChargesToAdd;
78
+
79
+ player.SetActiveCharge(newCharge, activeSlot);
80
+ hud.FlashChargeBar(player, activeSlot);
81
+
82
+ playChargeSoundEffect(player, activeSlot);
83
+ }
84
+
85
+ function getNumChargesToAdd(
86
+ player: EntityPlayer,
87
+ activeSlot: ActiveSlot,
88
+ ignoreBigRoomDoubleCharge = false,
89
+ ) {
90
+ const room = game.GetRoom();
91
+ const roomShape = room.GetRoomShape();
92
+ const activeItem = player.GetActiveItem(activeSlot);
93
+ const activeCharge = player.GetActiveCharge(activeSlot);
94
+ const batteryCharge = player.GetBatteryCharge(activeSlot);
95
+ const hasBattery = player.HasCollectible(CollectibleType.BATTERY);
96
+ const maxCharges = getCollectibleMaxCharges(activeItem);
97
+
98
+ if (!hasBattery && activeCharge === maxCharges) {
99
+ return 0;
100
+ }
101
+
102
+ if (hasBattery && batteryCharge === maxCharges) {
103
+ return 0;
104
+ }
105
+
106
+ if (!hasBattery && activeCharge + 1 === maxCharges) {
107
+ // We are only 1 charge away from a full charge, so only add one charge to avoid an overcharge.
108
+ // (It is possible to set orange charges without the player actually having The Battery.)
109
+ return 1;
110
+ }
111
+
112
+ if (hasBattery && batteryCharge + 1 === maxCharges) {
113
+ // We are only 1 charge away from a full double-charge, so only add one charge to avoid an
114
+ // overcharge.
115
+ return 1;
116
+ }
117
+
118
+ if (roomShape >= RoomShape.SHAPE_2x2 && !ignoreBigRoomDoubleCharge) {
119
+ // 2x2 rooms and L rooms should grant 2 charges.
120
+ return 2;
121
+ }
122
+
123
+ // Clearing a room grants 1 charge by default.
124
+ return 1;
125
+ }
126
+
127
+ /**
128
+ * The AAA Battery should grant an extra charge when the active item is one away from being fully
129
+ * charged.
130
+ */
131
+ function getNumChargesWithAAAModifier(
132
+ player: EntityPlayer,
133
+ activeSlot: ActiveSlot,
134
+ chargesToAdd: int,
135
+ ) {
136
+ const activeItem = player.GetActiveItem(activeSlot);
137
+ const activeCharge = player.GetActiveCharge(activeSlot);
138
+ const batteryCharge = player.GetBatteryCharge(activeSlot);
139
+ const hasBattery = player.HasCollectible(CollectibleType.BATTERY);
140
+ const hasAAABattery = player.HasTrinket(TrinketType.AAA_BATTERY);
141
+ const maxCharges = getCollectibleMaxCharges(activeItem);
142
+
143
+ if (!hasAAABattery) {
144
+ return chargesToAdd;
145
+ }
146
+
147
+ if (!hasBattery && activeCharge + chargesToAdd === maxCharges - 1) {
148
+ return maxCharges + 1;
149
+ }
150
+
151
+ if (hasBattery && batteryCharge + chargesToAdd === maxCharges - 1) {
152
+ return maxCharges + 1;
153
+ }
154
+
155
+ return chargesToAdd;
156
+ }
157
+
158
+ /**
159
+ * Helper function to add a charge to every player's active item, emulating what happens when a room
160
+ * is cleared.
161
+ *
162
+ * This function will take the following things into account:
163
+ * - L rooms and 2x2 rooms granting a double charge
164
+ * - The Battery
165
+ * - AAA Battery
166
+ *
167
+ * @param ignoreBigRoomDoubleCharge Optional. If set to true, it will treat the current room as a
168
+ * 1x1 room for the purposes of calculating how much charge to
169
+ * grant. Default is false.
170
+ */
171
+ export function addRoomClearCharges(ignoreBigRoomDoubleCharge = false): void {
172
+ for (const player of getPlayers()) {
173
+ addRoomClearCharge(player, ignoreBigRoomDoubleCharge);
174
+ }
175
+ }
176
+
177
+ /**
178
+ * Helper function to get the combined normal charge and the battery charge for the player's active
179
+ * item. This is useful because you have to add these two values together when setting the active
180
+ * charge.
181
+ */
182
+ export function getTotalCharge(
183
+ player: EntityPlayer,
184
+ activeSlot: ActiveSlot,
185
+ ): int {
186
+ const activeCharge = player.GetActiveCharge(activeSlot);
187
+ const batteryCharge = player.GetBatteryCharge(activeSlot);
188
+
189
+ return activeCharge + batteryCharge;
190
+ }
191
+
192
+ export function isActiveSlotDoubleCharged(
193
+ player: EntityPlayer,
194
+ activeSlot: ActiveSlot,
195
+ ): boolean {
196
+ const collectibleType = player.GetActiveItem(activeSlot);
197
+ const batteryCharge = player.GetBatteryCharge(activeSlot);
198
+ const maxCharges = getCollectibleMaxCharges(collectibleType);
199
+
200
+ return batteryCharge >= maxCharges;
201
+ }
202
+
203
+ export function playChargeSoundEffect(
204
+ player: EntityPlayer,
205
+ activeSlot: ActiveSlot,
206
+ ): void {
207
+ for (const soundEffect of [SoundEffect.BATTERY_CHARGE, SoundEffect.BEEP]) {
208
+ sfxManager.Stop(soundEffect);
209
+ }
210
+
211
+ const chargeSoundEffect = shouldPlayFullRechargeSound(player, activeSlot)
212
+ ? SoundEffect.BATTERY_CHARGE
213
+ : SoundEffect.BEEP;
214
+ sfxManager.Play(chargeSoundEffect);
215
+ }
216
+
217
+ function shouldPlayFullRechargeSound(
218
+ player: EntityPlayer,
219
+ activeSlot: ActiveSlot,
220
+ ) {
221
+ const activeItem = player.GetActiveItem(activeSlot);
222
+ const activeCharge = player.GetActiveCharge(activeSlot);
223
+ const batteryCharge = player.GetBatteryCharge(activeSlot);
224
+ const hasBattery = player.HasCollectible(CollectibleType.BATTERY);
225
+ const maxCharges = getCollectibleMaxCharges(activeItem);
226
+
227
+ if (!hasBattery) {
228
+ // Play the full recharge sound if we are now fully charged.
229
+ return !player.NeedsCharge(activeSlot);
230
+ }
231
+
232
+ // Play the full recharge sound if we are now fully charged or we are exactly half-way charged.
233
+ return (
234
+ !player.NeedsCharge(activeSlot) ||
235
+ (activeCharge === maxCharges && batteryCharge === 0)
236
+ );
237
+ }
@@ -0,0 +1,67 @@
1
+ import { VectorZero } from "../constants";
2
+ import { ChargeBarSprites } from "../interfaces/ChargeBarSprites";
3
+
4
+ const CHARGE_BAR_ANM2 = "gfx/ui/ui_chargebar.anm2";
5
+
6
+ /**
7
+ * Constructor for a `ChargeBarSprites` object. For more information, see the `renderChargeBar`
8
+ * helper function.
9
+ */
10
+ export function newChargeBarSprites(maxCharges: int): ChargeBarSprites {
11
+ const back = Sprite();
12
+ back.Load(CHARGE_BAR_ANM2, true);
13
+ back.Play("BarEmpty", true);
14
+
15
+ const meter = Sprite();
16
+ meter.Load(CHARGE_BAR_ANM2, true);
17
+ meter.Play("BarFull", true);
18
+
19
+ const meterBattery = Sprite();
20
+ meterBattery.Load(CHARGE_BAR_ANM2, true);
21
+ meterBattery.Play("BarFull", true);
22
+
23
+ const lines = Sprite();
24
+ lines.Load(CHARGE_BAR_ANM2, true);
25
+ lines.Play(`BarOverlay${maxCharges}`, true);
26
+
27
+ return {
28
+ back,
29
+ meter,
30
+ meterBattery,
31
+ lines,
32
+ maxCharges,
33
+ };
34
+ }
35
+
36
+ /**
37
+ * Helper function to render a charge bar on the screen. First, call the `newChargeBarSprites`
38
+ * function to initialize the sprites, and then call this function on every render frame.
39
+ */
40
+ export function renderChargeBar(
41
+ sprites: ChargeBarSprites,
42
+ position: Vector,
43
+ normalCharges: int,
44
+ batteryCharges: int,
45
+ ): void {
46
+ sprites.back.Render(position, VectorZero, VectorZero);
47
+
48
+ const normalChargesClamp = getChargeBarClamp(
49
+ normalCharges,
50
+ sprites.maxCharges,
51
+ );
52
+ sprites.meter.Render(position, normalChargesClamp, VectorZero);
53
+
54
+ const batteryChargesClamp = getChargeBarClamp(
55
+ batteryCharges,
56
+ sprites.maxCharges,
57
+ );
58
+ sprites.meterBattery.Render(position, batteryChargesClamp, VectorZero);
59
+
60
+ sprites.lines.Render(position, VectorZero, VectorZero);
61
+ }
62
+
63
+ function getChargeBarClamp(charges: int, maxCharges: int) {
64
+ const meterMultiplier = 24 / maxCharges;
65
+ const meterClip = 26 - charges * meterMultiplier;
66
+ return Vector(0, meterClip);
67
+ }