isaacscript-common 4.0.3 → 4.0.6

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 (370) hide show
  1. package/callbacks/postPlayerCollectible.lua +4 -2
  2. package/functions/collectibleSet.d.ts +37 -2
  3. package/functions/collectibleSet.lua +62 -15
  4. package/functions/player.lua +3 -4
  5. package/package.json +2 -2
  6. package/cachedClasses.ts +0 -39
  7. package/callbacks/customRevive.ts +0 -215
  8. package/callbacks/itemPickup.ts +0 -101
  9. package/callbacks/postAmbush.ts +0 -73
  10. package/callbacks/postBombExploded.ts +0 -26
  11. package/callbacks/postBombInitLate.ts +0 -36
  12. package/callbacks/postBoneSwing.ts +0 -64
  13. package/callbacks/postCollectibleInitFirst.ts +0 -40
  14. package/callbacks/postCursedTeleport.ts +0 -185
  15. package/callbacks/postCustomDoorEnter.ts +0 -292
  16. package/callbacks/postDiceRoomActivated.ts +0 -60
  17. package/callbacks/postDoorRender.ts +0 -26
  18. package/callbacks/postDoorUpdate.ts +0 -26
  19. package/callbacks/postEffectInitLate.ts +0 -36
  20. package/callbacks/postEffectStateChanged.ts +0 -43
  21. package/callbacks/postEsauJr.ts +0 -109
  22. package/callbacks/postFamiliarInitLate.ts +0 -36
  23. package/callbacks/postFamiliarStateChanged.ts +0 -43
  24. package/callbacks/postFlip.ts +0 -90
  25. package/callbacks/postGreedModeWave.ts +0 -41
  26. package/callbacks/postGridEntity.ts +0 -164
  27. package/callbacks/postGridEntityCollision.ts +0 -69
  28. package/callbacks/postGridEntityRender.ts +0 -26
  29. package/callbacks/postHolyMantleRemoved.ts +0 -55
  30. package/callbacks/postItemDischarged.ts +0 -154
  31. package/callbacks/postKnifeInitLate.ts +0 -36
  32. package/callbacks/postLaserInitLate.ts +0 -36
  33. package/callbacks/postNPCInitLate.ts +0 -36
  34. package/callbacks/postNPCStateChanged.ts +0 -42
  35. package/callbacks/postNewRoomEarly.ts +0 -96
  36. package/callbacks/postPickupCollect.ts +0 -48
  37. package/callbacks/postPickupInitFirst.ts +0 -70
  38. package/callbacks/postPickupInitLate.ts +0 -36
  39. package/callbacks/postPickupStateChanged.ts +0 -43
  40. package/callbacks/postPitRender.ts +0 -26
  41. package/callbacks/postPitUpdate.ts +0 -26
  42. package/callbacks/postPlayerChangeHealth.ts +0 -62
  43. package/callbacks/postPlayerChangeType.ts +0 -56
  44. package/callbacks/postPlayerCollectible.ts +0 -113
  45. package/callbacks/postPlayerFatalDamage.ts +0 -141
  46. package/callbacks/postPlayerInitLate.ts +0 -37
  47. package/callbacks/postPlayerReordered.ts +0 -142
  48. package/callbacks/postPoopRender.ts +0 -26
  49. package/callbacks/postPoopUpdate.ts +0 -26
  50. package/callbacks/postPressurePlateRender.ts +0 -26
  51. package/callbacks/postPressurePlateUpdate.ts +0 -26
  52. package/callbacks/postProjectileInitLate.ts +0 -36
  53. package/callbacks/postPurchase.ts +0 -64
  54. package/callbacks/postRockRender.ts +0 -26
  55. package/callbacks/postRockUpdate.ts +0 -26
  56. package/callbacks/postRoomClearChanged.ts +0 -57
  57. package/callbacks/postSacrifice.ts +0 -64
  58. package/callbacks/postSlotDestroyed.ts +0 -92
  59. package/callbacks/postSlotInitUpdate.ts +0 -68
  60. package/callbacks/postSlotRender.ts +0 -69
  61. package/callbacks/postSpikesRender.ts +0 -26
  62. package/callbacks/postSpikesUpdate.ts +0 -26
  63. package/callbacks/postTNTRender.ts +0 -26
  64. package/callbacks/postTNTUpdate.ts +0 -26
  65. package/callbacks/postTearInitLate.ts +0 -36
  66. package/callbacks/postTearInitVeryLate.ts +0 -41
  67. package/callbacks/postTransformation.ts +0 -59
  68. package/callbacks/postTrinketBreak.ts +0 -112
  69. package/callbacks/preBerserkDeath.ts +0 -49
  70. package/callbacks/preNewLevel.ts +0 -55
  71. package/callbacks/reorderedCallbacks.ts +0 -168
  72. package/callbacks/subscriptions/postAmbushFinished.ts +0 -32
  73. package/callbacks/subscriptions/postAmbushStarted.ts +0 -32
  74. package/callbacks/subscriptions/postBombInitLate.ts +0 -32
  75. package/callbacks/subscriptions/postBoneExploded.ts +0 -32
  76. package/callbacks/subscriptions/postBoneSwing.ts +0 -24
  77. package/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
  78. package/callbacks/subscriptions/postCursedTeleport.ts +0 -24
  79. package/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
  80. package/callbacks/subscriptions/postCustomRevive.ts +0 -36
  81. package/callbacks/subscriptions/postDiceRoomActivated.ts +0 -38
  82. package/callbacks/subscriptions/postDoorRender.ts +0 -35
  83. package/callbacks/subscriptions/postDoorUpdate.ts +0 -35
  84. package/callbacks/subscriptions/postEffectInitLate.ts +0 -32
  85. package/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
  86. package/callbacks/subscriptions/postEsauJr.ts +0 -24
  87. package/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
  88. package/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
  89. package/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
  90. package/callbacks/subscriptions/postFirstFlip.ts +0 -24
  91. package/callbacks/subscriptions/postFlip.ts +0 -22
  92. package/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
  93. package/callbacks/subscriptions/postGreedModeWave.ts +0 -24
  94. package/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
  95. package/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
  96. package/callbacks/subscriptions/postGridEntityInit.ts +0 -51
  97. package/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
  98. package/callbacks/subscriptions/postGridEntityRender.ts +0 -51
  99. package/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
  100. package/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
  101. package/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
  102. package/callbacks/subscriptions/postItemDischarged.ts +0 -43
  103. package/callbacks/subscriptions/postItemPickup.ts +0 -64
  104. package/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
  105. package/callbacks/subscriptions/postLaserInitLate.ts +0 -32
  106. package/callbacks/subscriptions/postNPCInitLate.ts +0 -32
  107. package/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
  108. package/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
  109. package/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
  110. package/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
  111. package/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
  112. package/callbacks/subscriptions/postPickupCollect.ts +0 -35
  113. package/callbacks/subscriptions/postPickupInitFirst.ts +0 -32
  114. package/callbacks/subscriptions/postPickupInitLate.ts +0 -32
  115. package/callbacks/subscriptions/postPickupStateChanged.ts +0 -40
  116. package/callbacks/subscriptions/postPitRender.ts +0 -35
  117. package/callbacks/subscriptions/postPitUpdate.ts +0 -35
  118. package/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -49
  119. package/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
  120. package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +0 -38
  121. package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +0 -38
  122. package/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -68
  123. package/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
  124. package/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
  125. package/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
  126. package/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
  127. package/callbacks/subscriptions/postPoopRender.ts +0 -35
  128. package/callbacks/subscriptions/postPoopUpdate.ts +0 -35
  129. package/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
  130. package/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
  131. package/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
  132. package/callbacks/subscriptions/postPurchase.ts +0 -31
  133. package/callbacks/subscriptions/postRockRender.ts +0 -35
  134. package/callbacks/subscriptions/postRockUpdate.ts +0 -35
  135. package/callbacks/subscriptions/postRoomClearChanged.ts +0 -30
  136. package/callbacks/subscriptions/postSacrifice.ts +0 -43
  137. package/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
  138. package/callbacks/subscriptions/postSlotDestroyed.ts +0 -55
  139. package/callbacks/subscriptions/postSlotInit.ts +0 -32
  140. package/callbacks/subscriptions/postSlotRender.ts +0 -32
  141. package/callbacks/subscriptions/postSlotUpdate.ts +0 -32
  142. package/callbacks/subscriptions/postSpikesRender.ts +0 -35
  143. package/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
  144. package/callbacks/subscriptions/postTNTRender.ts +0 -35
  145. package/callbacks/subscriptions/postTNTUpdate.ts +0 -35
  146. package/callbacks/subscriptions/postTearInitLate.ts +0 -32
  147. package/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
  148. package/callbacks/subscriptions/postTransformation.ts +0 -40
  149. package/callbacks/subscriptions/postTrinketBreak.ts +0 -38
  150. package/callbacks/subscriptions/preBerserkDeath.ts +0 -42
  151. package/callbacks/subscriptions/preCustomRevive.ts +0 -46
  152. package/callbacks/subscriptions/preItemPickup.ts +0 -64
  153. package/callbacks/subscriptions/preNewLevel.ts +0 -24
  154. package/classes/DefaultMap.ts +0 -174
  155. package/classes/ModUpgraded.ts +0 -84
  156. package/constants.ts +0 -162
  157. package/constantsFirstLast.ts +0 -217
  158. package/enums/AmbushType.ts +0 -4
  159. package/enums/HealthType.ts +0 -16
  160. package/enums/ModCallbackCustom.ts +0 -1278
  161. package/enums/PocketItemType.ts +0 -8
  162. package/enums/SerializationType.ts +0 -5
  163. package/enums/SlotDestructionType.ts +0 -4
  164. package/enums/private/CopyableIsaacAPIClassType.ts +0 -7
  165. package/enums/private/SaveDataKey.ts +0 -14
  166. package/enums/private/SerializationBrand.ts +0 -42
  167. package/features/characterHealthConversion.ts +0 -111
  168. package/features/characterStats.ts +0 -61
  169. package/features/debugDisplay/debugDisplay.ts +0 -221
  170. package/features/debugDisplay/exports.ts +0 -368
  171. package/features/debugDisplay/v.ts +0 -65
  172. package/features/deployJSONRoom.ts +0 -743
  173. package/features/disableInputs.ts +0 -193
  174. package/features/disableSound.ts +0 -77
  175. package/features/extraConsoleCommands/commandsDisplay.ts +0 -290
  176. package/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
  177. package/features/extraConsoleCommands/init.ts +0 -334
  178. package/features/extraConsoleCommands/listCommands.ts +0 -1299
  179. package/features/extraConsoleCommands/v.ts +0 -14
  180. package/features/fadeInRemover.ts +0 -60
  181. package/features/fastReset.ts +0 -75
  182. package/features/forgottenSwitch.ts +0 -50
  183. package/features/getCollectibleItemPoolType.ts +0 -66
  184. package/features/persistentEntities.ts +0 -183
  185. package/features/playerInventory.ts +0 -135
  186. package/features/ponyDetection.ts +0 -74
  187. package/features/preventCollectibleRotation.ts +0 -115
  188. package/features/runInNFrames.ts +0 -148
  189. package/features/saveDataManager/constants.ts +0 -4
  190. package/features/saveDataManager/exports.ts +0 -229
  191. package/features/saveDataManager/load.ts +0 -99
  192. package/features/saveDataManager/main.ts +0 -195
  193. package/features/saveDataManager/maps.ts +0 -13
  194. package/features/saveDataManager/merge.ts +0 -194
  195. package/features/saveDataManager/save.ts +0 -74
  196. package/features/saveDataManager/serializationBrand.ts +0 -16
  197. package/features/sirenHelpers.ts +0 -129
  198. package/features/taintedLazarusPlayers.ts +0 -113
  199. package/featuresInitialized.ts +0 -20
  200. package/functions/ambush.ts +0 -47
  201. package/functions/array.ts +0 -410
  202. package/functions/benchmark.ts +0 -36
  203. package/functions/bitwise.ts +0 -24
  204. package/functions/bombs.ts +0 -12
  205. package/functions/boss.ts +0 -227
  206. package/functions/cacheFlag.ts +0 -12
  207. package/functions/cards.ts +0 -271
  208. package/functions/challenges.ts +0 -13
  209. package/functions/character.ts +0 -126
  210. package/functions/charge.ts +0 -237
  211. package/functions/chargeBar.ts +0 -67
  212. package/functions/collectibleCacheFlag.ts +0 -90
  213. package/functions/collectibleSet.ts +0 -56
  214. package/functions/collectibleTag.ts +0 -89
  215. package/functions/collectibles.ts +0 -659
  216. package/functions/color.ts +0 -128
  217. package/functions/debug.ts +0 -68
  218. package/functions/deepCopy.ts +0 -535
  219. package/functions/deepCopyTests.ts +0 -386
  220. package/functions/direction.ts +0 -49
  221. package/functions/doors.ts +0 -347
  222. package/functions/easing.ts +0 -182
  223. package/functions/eden.ts +0 -47
  224. package/functions/effects.ts +0 -20
  225. package/functions/entity.ts +0 -439
  226. package/functions/entitySpecific.ts +0 -889
  227. package/functions/entityTypes.ts +0 -6
  228. package/functions/enums.ts +0 -146
  229. package/functions/familiars.ts +0 -106
  230. package/functions/flag.ts +0 -165
  231. package/functions/flying.ts +0 -117
  232. package/functions/globals.ts +0 -242
  233. package/functions/gridEntity.ts +0 -511
  234. package/functions/gridEntitySpecific.ts +0 -112
  235. package/functions/input.ts +0 -139
  236. package/functions/isaacAPIClass.ts +0 -67
  237. package/functions/jsonHelpers.ts +0 -45
  238. package/functions/jsonRoom.ts +0 -100
  239. package/functions/kColor.ts +0 -129
  240. package/functions/language.ts +0 -13
  241. package/functions/level.ts +0 -31
  242. package/functions/log.ts +0 -720
  243. package/functions/map.ts +0 -56
  244. package/functions/math.ts +0 -149
  245. package/functions/mergeTests.ts +0 -288
  246. package/functions/npc.ts +0 -148
  247. package/functions/pickupVariants.ts +0 -60
  248. package/functions/pickups.ts +0 -499
  249. package/functions/pills.ts +0 -205
  250. package/functions/player.ts +0 -1056
  251. package/functions/playerDataStructures.ts +0 -150
  252. package/functions/playerHealth.ts +0 -382
  253. package/functions/playerIndex.ts +0 -195
  254. package/functions/pocketItems.ts +0 -149
  255. package/functions/positionVelocity.ts +0 -188
  256. package/functions/random.ts +0 -77
  257. package/functions/revive.ts +0 -201
  258. package/functions/rng.ts +0 -172
  259. package/functions/roomData.ts +0 -199
  260. package/functions/roomGrid.ts +0 -109
  261. package/functions/roomShape.ts +0 -80
  262. package/functions/rooms.ts +0 -648
  263. package/functions/run.ts +0 -36
  264. package/functions/saveFile.ts +0 -128
  265. package/functions/seeds.ts +0 -19
  266. package/functions/serialization.ts +0 -91
  267. package/functions/set.ts +0 -95
  268. package/functions/sound.ts +0 -9
  269. package/functions/spawnCollectible.ts +0 -104
  270. package/functions/sprite.ts +0 -107
  271. package/functions/stage.ts +0 -125
  272. package/functions/string.ts +0 -47
  273. package/functions/table.ts +0 -189
  274. package/functions/tears.ts +0 -32
  275. package/functions/transformations.ts +0 -131
  276. package/functions/trinketCacheFlag.ts +0 -60
  277. package/functions/trinketGive.ts +0 -157
  278. package/functions/trinkets.ts +0 -215
  279. package/functions/tstlClass.ts +0 -157
  280. package/functions/types.ts +0 -36
  281. package/functions/ui.ts +0 -138
  282. package/functions/utils.ts +0 -189
  283. package/functions/vector.ts +0 -126
  284. package/index.ts +0 -172
  285. package/initCustomCallbacks.ts +0 -132
  286. package/initFeatures.ts +0 -39
  287. package/interfaces/AddCallbackParameterCustom.ts +0 -188
  288. package/interfaces/ChargeBarSprites.ts +0 -12
  289. package/interfaces/JSONDoor.ts +0 -13
  290. package/interfaces/JSONEntity.ts +0 -16
  291. package/interfaces/JSONRoom.ts +0 -36
  292. package/interfaces/JSONRooms.ts +0 -12
  293. package/interfaces/JSONSpawn.ts +0 -14
  294. package/interfaces/PlayerHealth.ts +0 -16
  295. package/interfaces/PocketItemDescription.ts +0 -9
  296. package/interfaces/SaveData.ts +0 -29
  297. package/interfaces/TrinketSituation.ts +0 -9
  298. package/interfaces/private/TSTLClassMetatable.ts +0 -8
  299. package/maps/PHDPillConversions.ts +0 -21
  300. package/maps/cardMap.ts +0 -209
  301. package/maps/characterMap.ts +0 -87
  302. package/maps/collectibleDescriptionMap.ts +0 -732
  303. package/maps/collectibleNameMap.ts +0 -731
  304. package/maps/defaultPlayerStatMap.ts +0 -17
  305. package/maps/falsePHDPillConversions.ts +0 -35
  306. package/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
  307. package/maps/gridEntityXMLMap.ts +0 -176
  308. package/maps/pillEffectMap.ts +0 -88
  309. package/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
  310. package/maps/roomTypeMap.ts +0 -40
  311. package/maps/trinketDescriptionMap.ts +0 -200
  312. package/maps/trinketNameMap.ts +0 -198
  313. package/objects/LRoomShapeToRectangles.ts +0 -44
  314. package/objects/callbackRegisterFunctions.ts +0 -187
  315. package/objects/cardDescriptions.ts +0 -105
  316. package/objects/cardNames.ts +0 -105
  317. package/objects/cardTypes.ts +0 -104
  318. package/objects/challengeNames.ts +0 -52
  319. package/objects/characterNames.ts +0 -48
  320. package/objects/coinSubTypeToValue.ts +0 -14
  321. package/objects/colors.ts +0 -16
  322. package/objects/directionNames.ts +0 -11
  323. package/objects/directionToDegrees.ts +0 -11
  324. package/objects/directionToVector.ts +0 -12
  325. package/objects/doorSlotFlagToDoorSlot.ts +0 -16
  326. package/objects/doorSlotToDirection.ts +0 -14
  327. package/objects/isaacAPIClassTypeToBrand.ts +0 -11
  328. package/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
  329. package/objects/languageNames.ts +0 -13
  330. package/objects/oppositeDoorSlots.ts +0 -15
  331. package/objects/pillEffectClasses.ts +0 -63
  332. package/objects/pillEffectNames.ts +0 -57
  333. package/objects/pillEffectTypes.ts +0 -62
  334. package/objects/roomShapeBounds.ts +0 -71
  335. package/objects/roomShapeLayoutSizes.ts +0 -45
  336. package/objects/roomShapeToBottomRightPosition.ts +0 -25
  337. package/objects/roomShapeToDoorSlots.ts +0 -83
  338. package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
  339. package/objects/roomShapeToGridWidth.ts +0 -21
  340. package/objects/roomShapeToTopLeftPosition.ts +0 -26
  341. package/objects/roomShapeVolumes.ts +0 -38
  342. package/objects/roomTypeNames.ts +0 -36
  343. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
  344. package/objects/stageTypeToLetter.ts +0 -15
  345. package/objects/transformationNames.ts +0 -18
  346. package/patchErrorFunctions.ts +0 -92
  347. package/sets/LRoomShapesSet.ts +0 -8
  348. package/sets/bossSets.ts +0 -470
  349. package/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
  350. package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
  351. package/sets/charactersWithFreeDevilDealsSet.ts +0 -4
  352. package/sets/charactersWithNoRedHeartsSet.ts +0 -17
  353. package/sets/charactersWithNoSoulHeartsSet.ts +0 -14
  354. package/sets/chestPickupVariantsSet.ts +0 -16
  355. package/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
  356. package/sets/lostStyleCharactersSet.ts +0 -13
  357. package/sets/mineShaftRoomSubTypesSet.ts +0 -10
  358. package/sets/redHeartSubTypesSet.ts +0 -7
  359. package/sets/sinEntityTypesSet.ts +0 -11
  360. package/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
  361. package/sets/storyBossesSet.ts +0 -17
  362. package/types/AnyEntity.ts +0 -12
  363. package/types/AwaitingTextInput.d.ts +0 -2
  364. package/types/CollectibleIndex.ts +0 -16
  365. package/types/PickingUpItem.ts +0 -89
  366. package/types/PlayerIndex.ts +0 -13
  367. package/types/private/IsaacAPIClass.ts +0 -3
  368. package/types/private/SerializedIsaacAPIClass.ts +0 -3
  369. package/types/private/TSTLClass.ts +0 -3
  370. package/upgradeMod.ts +0 -55
@@ -1,334 +0,0 @@
1
- /* eslint-disable sort-exports/sort-exports */
2
-
3
- import {
4
- CacheFlag,
5
- CollectibleType,
6
- EntityType,
7
- LevelCurse,
8
- ModCallback,
9
- TearVariant,
10
- } from "isaac-typescript-definitions";
11
- import { ModUpgraded } from "../../classes/ModUpgraded";
12
- import { MAX_SPEED_STAT } from "../../constants";
13
- import { getMapPartialMatch } from "../../functions/map";
14
- import { printConsole } from "../../functions/utils";
15
- import { debugDisplayInit } from "../debugDisplay/debugDisplay";
16
- import { saveDataManager } from "../saveDataManager/exports";
17
- import * as commandsDisplay from "./commandsDisplay";
18
- import * as commands from "./listCommands";
19
- import v from "./v";
20
-
21
- const commandFunctionsMap = new Map<string, (params: string) => void>();
22
-
23
- // Most features are turned on via invoking the "upgradeMod" function. However, this feature is
24
- // turned on via invoking "enableExtraConsoleCommands", so we need a separate variable to track
25
- // whether it is initialized.
26
- let initialized = false;
27
-
28
- /**
29
- * Enables extra console commands which are useful for debugging. See [the
30
- * docs](https://isaacscript.github.io/isaacscript-common/features/extraConsoleCommands_listCommands)
31
- * for the specific commands that are added.
32
- */
33
- export function enableExtraConsoleCommands(mod: ModUpgraded): void {
34
- initialized = true;
35
- saveDataManager("extraConsoleCommands", v, featureEnabled);
36
- debugDisplayInit(mod);
37
-
38
- mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
39
- mod.AddCallback(
40
- ModCallback.EVALUATE_CACHE,
41
- evaluateCacheFireDelay,
42
- CacheFlag.FIRE_DELAY, // 1 << 1
43
- ); // 8
44
- mod.AddCallback(
45
- ModCallback.EVALUATE_CACHE,
46
- evaluateCacheSpeed,
47
- CacheFlag.SPEED, // 1 << 4
48
- ); // 8
49
- mod.AddCallback(
50
- ModCallback.ENTITY_TAKE_DMG,
51
- entityTakeDmgPlayer,
52
- EntityType.PLAYER,
53
- ); // 11
54
- mod.AddCallback(ModCallback.POST_CURSE_EVAL, postCurseEval); // 12
55
- mod.AddCallback(ModCallback.EXECUTE_CMD, executeCmd); // 22
56
- mod.AddCallback(ModCallback.POST_FIRE_TEAR, postFireTear); // 61
57
- }
58
-
59
- function featureEnabled() {
60
- return initialized;
61
- }
62
-
63
- // ModCallback.POST_UPDATE (1)
64
- function postUpdate() {
65
- if (v.run.spamBloodRights) {
66
- const player = Isaac.GetPlayer();
67
- player.UseActiveItem(CollectibleType.BLOOD_RIGHTS);
68
- }
69
- }
70
-
71
- // ModCallback.EVALUATE_CACHE (8)
72
- // CacheFlag.FIRE_DELAY (1 << 1)
73
- function evaluateCacheFireDelay(player: EntityPlayer) {
74
- if (v.run.maxTears) {
75
- player.FireDelay = 1; // Equivalent to Soy Milk
76
- }
77
- }
78
-
79
- // ModCallback.EVALUATE_CACHE (8)
80
- // CacheFlag.SPEED (1 << 4)
81
- function evaluateCacheSpeed(player: EntityPlayer) {
82
- if (v.run.maxSpeed) {
83
- player.MoveSpeed = MAX_SPEED_STAT;
84
- }
85
- }
86
-
87
- // ModCallback.ENTITY_TAKE_DMG (11)
88
- // EntityType.PLAYER (1)
89
- function entityTakeDmgPlayer() {
90
- if (v.run.spamBloodRights) {
91
- return false;
92
- }
93
-
94
- return undefined;
95
- }
96
-
97
- // ModCallback.POST_CURSE_EVAL (12)
98
- function postCurseEval(curses: int) {
99
- return v.persistent.disableCurses ? LevelCurse.NONE : curses;
100
- }
101
-
102
- // ModCallback.EXECUTE_CMD (22)
103
- function executeCmd(command: string, params: string) {
104
- const resultTuple = getMapPartialMatch(command, commandFunctionsMap);
105
- if (resultTuple === undefined) {
106
- printConsole("That is an invalid console command.");
107
- return;
108
- }
109
-
110
- const [commandName, commandFunction] = resultTuple;
111
- printConsole(`Command: ${commandName}`);
112
- commandFunction(params);
113
- }
114
-
115
- // ModCallback.POST_FIRE_TEAR (61)
116
- function postFireTear(tear: EntityTear) {
117
- if (v.run.chaosCardTears) {
118
- tear.ChangeVariant(TearVariant.CHAOS_CARD);
119
- }
120
-
121
- if (v.run.maxDamage) {
122
- // If we increase the damage stat too high, then the tears will become bigger than the screen.
123
- // Instead, increase the collision damage of the tear.
124
- tear.CollisionDamage *= 1000;
125
-
126
- // Change the visual of the tear so that it is more clear that we have debug-damage turned on.
127
- tear.ChangeVariant(TearVariant.TOOTH);
128
- }
129
- }
130
-
131
- /**
132
- * Helper function to add a custom console command.
133
- *
134
- * The standard library comes with many existing console commands that are useful for debugging, but
135
- * you can also add your own commands that are useful for your particular mod. It's easier to add
136
- * commands to the existing command system than to add logic manually to the ExecuteCmd callback.
137
- *
138
- * Before using this function, you must first invoke `enableExtraConsoleCommands`.
139
- */
140
- export function addConsoleCommand(
141
- commandName: string,
142
- commandFunction: (params: string) => void,
143
- ): void {
144
- if (!initialized) {
145
- error(
146
- 'Before adding extra console commands, you must first enable the feature by invoking the "enableExtraConsoleCommands" function.',
147
- );
148
- }
149
-
150
- if (commandFunctionsMap.has(commandName)) {
151
- error(
152
- `You cannot add a new console command of "${commandName}" because there is already an existing command by that name. If you want to overwrite a command from the standard library, you can use the "removeExtraConsoleCommand" function.`,
153
- );
154
- }
155
-
156
- commandFunctionsMap.set(commandName, commandFunction);
157
- }
158
-
159
- /**
160
- * Helper function to remove a custom console command.
161
- *
162
- * The standard library comes with many existing console commands that are useful for debugging. If
163
- * you want to disable one of them, use this function.
164
- *
165
- * Before using this function, you must first invoke `enableExtraConsoleCommands`.
166
- */
167
- export function removeConsoleCommand(commandName: string): void {
168
- if (!initialized) {
169
- error(
170
- 'Before removing console commands, you must first enable the feature by invoking the "enableExtraConsoleCommands" function.',
171
- );
172
- }
173
-
174
- if (!commandFunctionsMap.has(commandName)) {
175
- error(
176
- `The console command of "${commandName}" does not exist, so you cannot remove it.`,
177
- );
178
- }
179
-
180
- commandFunctionsMap.delete(commandName);
181
- }
182
-
183
- commandFunctionsMap.set("1hp", commands.oneHP);
184
- commandFunctionsMap.set("addCharges", commands.addCharges);
185
- commandFunctionsMap.set("angel", commands.angel);
186
- commandFunctionsMap.set("ascent", commands.ascent);
187
- commandFunctionsMap.set("bedroom", commands.bedroom);
188
- commandFunctionsMap.set("bh", commands.bh);
189
- commandFunctionsMap.set("blackhearts", commands.blackHearts);
190
- commandFunctionsMap.set("blackMarket", commands.blackMarket);
191
- commandFunctionsMap.set("bloodCharges", commands.bloodCharges);
192
- commandFunctionsMap.set("bm", commands.bm);
193
- commandFunctionsMap.set("bomb", commands.bomb);
194
- commandFunctionsMap.set("bombDisplay", commandsDisplay.bombDisplay);
195
- commandFunctionsMap.set("bombsDisplay", commandsDisplay.bombsDisplay);
196
- commandFunctionsMap.set("bombs", commands.bombs);
197
- commandFunctionsMap.set("boneHearts", commands.boneHearts);
198
- commandFunctionsMap.set("boss", commands.boss);
199
- commandFunctionsMap.set("bossRush", commands.bossRush);
200
- commandFunctionsMap.set("brokenHearts", commands.brokenHearts);
201
- commandFunctionsMap.set("card", commands.card);
202
- commandFunctionsMap.set("cards", commands.cards);
203
- commandFunctionsMap.set("cc", commands.cc);
204
- commandFunctionsMap.set("chaosCardTears", commands.chaosCardTears);
205
- commandFunctionsMap.set("character", commands.characterCommand);
206
- commandFunctionsMap.set("charge", commands.charge);
207
- commandFunctionsMap.set("cleanBedroom", commands.cleanBedroom);
208
- commandFunctionsMap.set("coin", commands.coin);
209
- commandFunctionsMap.set("coins", commands.coins);
210
- commandFunctionsMap.set("crawlspace", commands.crawlspace);
211
- commandFunctionsMap.set("d20", commands.d20);
212
- commandFunctionsMap.set("d6", commands.d6);
213
- commandFunctionsMap.set("damage", commands.damage);
214
- commandFunctionsMap.set("dd", commands.dd);
215
- commandFunctionsMap.set("devil", commands.devil);
216
- commandFunctionsMap.set("dirtyBedroom", commands.dirtyBedroom);
217
- commandFunctionsMap.set("disableCurses", commands.disableCurses);
218
- commandFunctionsMap.set("doorDisplay", commandsDisplay.doorDisplay);
219
- commandFunctionsMap.set("doorsDisplay", commandsDisplay.doorsDisplay);
220
- commandFunctionsMap.set("down", commands.down);
221
- commandFunctionsMap.set("dungeon", commands.dungeon);
222
- commandFunctionsMap.set("effectDisplay", commandsDisplay.effectDisplay);
223
- commandFunctionsMap.set("effects", commands.effects);
224
- commandFunctionsMap.set("effectsDisplay", commandsDisplay.effectsDisplay);
225
- commandFunctionsMap.set("eh", commands.eh);
226
- commandFunctionsMap.set("error", commands.error);
227
- commandFunctionsMap.set("eternalHearts", commands.eternalHearts);
228
- commandFunctionsMap.set("familiarDisplay", commandsDisplay.familiarDisplay);
229
- commandFunctionsMap.set("familiarsDisplay", commandsDisplay.familiarsDisplay);
230
- commandFunctionsMap.set("fool", commands.fool);
231
- commandFunctionsMap.set("getPosition", commands.getPosition);
232
- commandFunctionsMap.set("gigaBomb", commands.gigaBomb);
233
- commandFunctionsMap.set("goldBomb", commands.goldBomb);
234
- commandFunctionsMap.set("goldHearts", commands.goldHearts);
235
- commandFunctionsMap.set("goldKey", commands.goldKey);
236
- commandFunctionsMap.set("goldenBomb", commands.goldenBomb);
237
- commandFunctionsMap.set("goldenHearts", commands.goldenHearts);
238
- commandFunctionsMap.set("goldenKey", commands.goldenKey);
239
- commandFunctionsMap.set("grid", commands.grid);
240
- commandFunctionsMap.set("grid2", commands.grid2);
241
- commandFunctionsMap.set("gridEntities", commands.gridEntities);
242
- commandFunctionsMap.set("h", commands.h);
243
- commandFunctionsMap.set("hearts", commands.hearts);
244
- commandFunctionsMap.set("hitboxes", commands.hitboxes);
245
- commandFunctionsMap.set("iAmError", commands.iAmError);
246
- commandFunctionsMap.set("key", commands.key);
247
- commandFunctionsMap.set("keys", commands.keys);
248
- commandFunctionsMap.set("knifeDisplay", commandsDisplay.knifeDisplay);
249
- commandFunctionsMap.set("knivesDisplay", commandsDisplay.knivesDisplay);
250
- commandFunctionsMap.set("laserDisplay", commandsDisplay.laserDisplay);
251
- commandFunctionsMap.set("lasersDisplay", commandsDisplay.lasersDisplay);
252
- commandFunctionsMap.set("left", commands.left);
253
- commandFunctionsMap.set("library", commands.library);
254
- commandFunctionsMap.set("list", commands.list);
255
- commandFunctionsMap.set("listAll", commands.listAll);
256
- commandFunctionsMap.set("listGrid", commands.listGrid);
257
- commandFunctionsMap.set("listGridAll", commands.listGridAll);
258
- commandFunctionsMap.set("lowHP", commands.lowHP);
259
- commandFunctionsMap.set("luck", commands.luck);
260
- commandFunctionsMap.set("map", commands.map);
261
- commandFunctionsMap.set("maxHearts", commands.maxHearts);
262
- commandFunctionsMap.set("mh", commands.mh);
263
- commandFunctionsMap.set("miniboss", commands.miniboss);
264
- commandFunctionsMap.set("noCurses", commands.noCurses);
265
- commandFunctionsMap.set("npcDisplay", commandsDisplay.npcDisplay);
266
- commandFunctionsMap.set("npcsDisplay", commandsDisplay.npcsDisplay);
267
- commandFunctionsMap.set("pickupDisplay", commandsDisplay.pickupDisplay);
268
- commandFunctionsMap.set("pickupsDisplay", commandsDisplay.pickupsDisplay);
269
- commandFunctionsMap.set("pill", commands.pill);
270
- commandFunctionsMap.set("pills", commands.pills);
271
- commandFunctionsMap.set("pitDisplay", commandsDisplay.pitDisplay);
272
- commandFunctionsMap.set("pitsDisplay", commandsDisplay.pitsDisplay);
273
- commandFunctionsMap.set("planetarium", commands.planetarium);
274
- commandFunctionsMap.set("playerDisplay", commandsDisplay.playerDisplay);
275
- commandFunctionsMap.set("playersDisplay", commandsDisplay.playersDisplay);
276
- commandFunctionsMap.set("playSound", commands.playSound);
277
- commandFunctionsMap.set("pocket", commands.pocket);
278
- commandFunctionsMap.set("poopDisplay", commandsDisplay.poopDisplay);
279
- commandFunctionsMap.set("poopMana", commands.poopMana);
280
- commandFunctionsMap.set("poopsDisplay", commandsDisplay.poopsDisplay);
281
- commandFunctionsMap.set("position", commands.positionCommand);
282
- commandFunctionsMap.set(
283
- "pressurePlateDisplay",
284
- commandsDisplay.pressurePlateDisplay,
285
- );
286
- commandFunctionsMap.set(
287
- "pressurePlatesDisplay",
288
- commandsDisplay.pressurePlatesDisplay,
289
- );
290
- commandFunctionsMap.set("projectileDisplay", commandsDisplay.projectileDisplay);
291
- commandFunctionsMap.set(
292
- "projectilesDisplay",
293
- commandsDisplay.projectilesDisplay,
294
- );
295
- commandFunctionsMap.set("redHearts", commands.redHearts);
296
- commandFunctionsMap.set("rh", commands.rh);
297
- commandFunctionsMap.set("right", commands.right);
298
- commandFunctionsMap.set("rockDisplay", commandsDisplay.rockDisplay);
299
- commandFunctionsMap.set("rocksDisplay", commandsDisplay.rocksDisplay);
300
- commandFunctionsMap.set("room", commands.roomCommand);
301
- commandFunctionsMap.set("rottenHearts", commands.rottenHearts);
302
- commandFunctionsMap.set("s", commands.s);
303
- commandFunctionsMap.set("sacrifice", commands.sacrifice);
304
- commandFunctionsMap.set("secret", commands.secret);
305
- commandFunctionsMap.set("seedStick", commands.seedStick);
306
- commandFunctionsMap.set("seeds", commands.seedsCommand);
307
- commandFunctionsMap.set("setCharges", commands.setCharges);
308
- commandFunctionsMap.set("setPosition", commands.setPosition);
309
- commandFunctionsMap.set("sh", commands.sh);
310
- commandFunctionsMap.set("shop", commands.shop);
311
- commandFunctionsMap.set("slotDisplay", commandsDisplay.slotDisplay);
312
- commandFunctionsMap.set("slotsDisplay", commandsDisplay.slotsDisplay);
313
- commandFunctionsMap.set("smelt", commands.smelt);
314
- commandFunctionsMap.set("soulCharges", commands.soulCharges);
315
- commandFunctionsMap.set("soulHearts", commands.soulHearts);
316
- commandFunctionsMap.set("sound", commands.sound);
317
- commandFunctionsMap.set("sounds", commands.sounds);
318
- commandFunctionsMap.set("spam", commands.spam);
319
- commandFunctionsMap.set("spawnGoldenTrinket", commands.spawnGoldenTrinket);
320
- commandFunctionsMap.set("speed", commands.speed);
321
- commandFunctionsMap.set("spikeDisplay", commandsDisplay.spikeDisplay);
322
- commandFunctionsMap.set("spikesDisplay", commandsDisplay.spikesDisplay);
323
- commandFunctionsMap.set("supersecret", commands.superSecret);
324
- commandFunctionsMap.set("startingRoom", commands.startingRoom);
325
- commandFunctionsMap.set("tearDisplay", commandsDisplay.tearDisplay);
326
- commandFunctionsMap.set("tears", commands.tears);
327
- commandFunctionsMap.set("tearsDisplay", commandsDisplay.tearsDisplay);
328
- commandFunctionsMap.set("tntDisplay", commandsDisplay.tntDisplay);
329
- commandFunctionsMap.set("tntsDisplay", commandsDisplay.tntsDisplay);
330
- commandFunctionsMap.set("trapdoor", commands.trapdoorCommand);
331
- commandFunctionsMap.set("treasure", commands.treasure);
332
- commandFunctionsMap.set("ultraSecret", commands.ultraSecret);
333
- commandFunctionsMap.set("up", commands.up);
334
- commandFunctionsMap.set("warp", commands.warp);