isaacscript-common 7.0.0 → 7.2.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 (254) hide show
  1. package/dist/callbacks/postPlayerChangeHealth.lua +8 -1
  2. package/dist/callbacks/postPlayerChangeStat.d.ts +3 -0
  3. package/dist/callbacks/postPlayerChangeStat.d.ts.map +1 -0
  4. package/dist/callbacks/postPlayerChangeStat.lua +88 -0
  5. package/dist/callbacks/subscriptions/postPlayerChangeHealth.d.ts +2 -2
  6. package/dist/callbacks/subscriptions/postPlayerChangeHealth.d.ts.map +1 -1
  7. package/dist/callbacks/subscriptions/postPlayerChangeHealth.lua +9 -2
  8. package/dist/callbacks/subscriptions/postPlayerChangeStat.d.ts +12 -0
  9. package/dist/callbacks/subscriptions/postPlayerChangeStat.d.ts.map +1 -0
  10. package/dist/callbacks/subscriptions/postPlayerChangeStat.lua +35 -0
  11. package/dist/classes/DefaultMap.d.ts +5 -5
  12. package/dist/classes/DefaultMap.d.ts.map +1 -1
  13. package/dist/core/constants.d.ts +1 -1
  14. package/dist/core/constants.d.ts.map +1 -1
  15. package/dist/core/constants.lua +1 -1
  16. package/dist/enums/AmbushType.d.ts +1 -0
  17. package/dist/enums/AmbushType.d.ts.map +1 -1
  18. package/dist/enums/AmbushType.lua +1 -0
  19. package/dist/enums/CornerType.d.ts +1 -0
  20. package/dist/enums/CornerType.d.ts.map +1 -1
  21. package/dist/enums/CornerType.lua +1 -0
  22. package/dist/enums/ModCallbackCustom.d.ts +70 -39
  23. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  24. package/dist/enums/ModCallbackCustom.lua +37 -35
  25. package/dist/enums/PocketItemType.d.ts +1 -0
  26. package/dist/enums/PocketItemType.d.ts.map +1 -1
  27. package/dist/enums/PocketItemType.lua +1 -0
  28. package/dist/enums/RockAltType.d.ts +1 -0
  29. package/dist/enums/RockAltType.d.ts.map +1 -1
  30. package/dist/enums/RockAltType.lua +1 -0
  31. package/dist/enums/SerializationType.d.ts +1 -0
  32. package/dist/enums/SerializationType.d.ts.map +1 -1
  33. package/dist/enums/SerializationType.lua +1 -0
  34. package/dist/enums/SlotDestructionType.d.ts +1 -0
  35. package/dist/enums/SlotDestructionType.d.ts.map +1 -1
  36. package/dist/enums/SlotDestructionType.lua +1 -0
  37. package/dist/enums/StatType.d.ts +28 -0
  38. package/dist/enums/StatType.d.ts.map +1 -0
  39. package/dist/enums/StatType.lua +28 -0
  40. package/dist/enums/index.d.ts +1 -0
  41. package/dist/enums/index.d.ts.map +1 -1
  42. package/dist/enums/index.lua +8 -0
  43. package/dist/enums/private/CopyableIsaacAPIClassType.d.ts +5 -1
  44. package/dist/enums/private/CopyableIsaacAPIClassType.d.ts.map +1 -1
  45. package/dist/enums/private/CopyableIsaacAPIClassType.lua +3 -1
  46. package/dist/enums/private/SerializationBrand.d.ts +1 -0
  47. package/dist/enums/private/SerializationBrand.d.ts.map +1 -1
  48. package/dist/enums/private/SerializationBrand.lua +1 -0
  49. package/dist/features/customStage/backdrop.d.ts +1 -1
  50. package/dist/features/customStage/backdrop.d.ts.map +1 -1
  51. package/dist/features/customStage/backdrop.lua +1 -1
  52. package/dist/features/customStage/init.lua +2 -2
  53. package/dist/features/customStage/versusScreen.lua +2 -2
  54. package/dist/features/saveDataManager/merge.d.ts +1 -0
  55. package/dist/features/saveDataManager/merge.d.ts.map +1 -1
  56. package/dist/features/saveDataManager/merge.lua +1 -0
  57. package/dist/functions/bitSet128.d.ts +25 -0
  58. package/dist/functions/bitSet128.d.ts.map +1 -0
  59. package/dist/functions/bitSet128.lua +71 -0
  60. package/dist/functions/cacheFlag.d.ts +23 -1
  61. package/dist/functions/cacheFlag.d.ts.map +1 -1
  62. package/dist/functions/cacheFlag.lua +78 -0
  63. package/dist/functions/collectibles.d.ts +2 -2
  64. package/dist/functions/collectibles.lua +2 -2
  65. package/dist/functions/color.d.ts +1 -1
  66. package/dist/functions/color.d.ts.map +1 -1
  67. package/dist/functions/color.lua +2 -2
  68. package/dist/functions/deepCopy.d.ts +1 -0
  69. package/dist/functions/deepCopy.d.ts.map +1 -1
  70. package/dist/functions/deepCopy.lua +1 -0
  71. package/dist/functions/familiars.d.ts +4 -4
  72. package/dist/functions/familiars.lua +4 -4
  73. package/dist/functions/flag.d.ts +1 -1
  74. package/dist/functions/flag.lua +1 -1
  75. package/dist/functions/flying.lua +2 -2
  76. package/dist/functions/index.d.ts +2 -1
  77. package/dist/functions/index.d.ts.map +1 -1
  78. package/dist/functions/index.lua +16 -8
  79. package/dist/functions/input.d.ts +4 -1
  80. package/dist/functions/input.d.ts.map +1 -1
  81. package/dist/functions/input.lua +10 -2
  82. package/dist/functions/jsonRoom.lua +4 -4
  83. package/dist/functions/kColor.d.ts +1 -1
  84. package/dist/functions/kColor.d.ts.map +1 -1
  85. package/dist/functions/kColor.lua +2 -2
  86. package/dist/functions/log.lua +1 -1
  87. package/dist/functions/npcs.d.ts +2 -2
  88. package/dist/functions/npcs.lua +2 -2
  89. package/dist/functions/playerIndex.d.ts +1 -1
  90. package/dist/functions/playerIndex.lua +1 -1
  91. package/dist/functions/playerStats.d.ts +6 -0
  92. package/dist/functions/playerStats.d.ts.map +1 -0
  93. package/dist/functions/playerStats.lua +21 -0
  94. package/dist/functions/players.d.ts +1 -1
  95. package/dist/functions/players.lua +1 -1
  96. package/dist/functions/rng.d.ts +1 -1
  97. package/dist/functions/rng.d.ts.map +1 -1
  98. package/dist/functions/rng.lua +2 -2
  99. package/dist/functions/rockAlt.d.ts.map +1 -1
  100. package/dist/functions/rockAlt.lua +11 -20
  101. package/dist/functions/roomTransition.d.ts +1 -1
  102. package/dist/functions/roomTransition.lua +1 -1
  103. package/dist/functions/rooms.d.ts +1 -1
  104. package/dist/functions/rooms.d.ts.map +1 -1
  105. package/dist/functions/rooms.lua +2 -1
  106. package/dist/functions/sprites.d.ts +3 -3
  107. package/dist/functions/sprites.lua +3 -3
  108. package/dist/functions/tears.d.ts +5 -4
  109. package/dist/functions/tears.d.ts.map +1 -1
  110. package/dist/functions/tears.lua +5 -4
  111. package/dist/functions/utils.d.ts +4 -1
  112. package/dist/functions/utils.d.ts.map +1 -1
  113. package/dist/functions/utils.lua +4 -1
  114. package/dist/functions/vector.d.ts +1 -1
  115. package/dist/functions/vector.d.ts.map +1 -1
  116. package/dist/functions/vector.lua +2 -2
  117. package/dist/initCustomCallbacks.d.ts.map +1 -1
  118. package/dist/initCustomCallbacks.lua +3 -0
  119. package/dist/interfaces/ChargeBarSprites.d.ts +1 -1
  120. package/dist/interfaces/Corner.d.ts +5 -0
  121. package/dist/interfaces/Corner.d.ts.map +1 -1
  122. package/dist/interfaces/CustomStageLua.d.ts +57 -0
  123. package/dist/interfaces/CustomStageLua.d.ts.map +1 -1
  124. package/dist/interfaces/GridEntityCustomData.d.ts +6 -0
  125. package/dist/interfaces/GridEntityCustomData.d.ts.map +1 -1
  126. package/dist/interfaces/JSONRoomsFile.d.ts +7 -3
  127. package/dist/interfaces/JSONRoomsFile.d.ts.map +1 -1
  128. package/dist/interfaces/PlayerHealth.d.ts +1 -1
  129. package/dist/interfaces/PlayerHealth.d.ts.map +1 -1
  130. package/dist/interfaces/PocketItemDescription.d.ts +1 -1
  131. package/dist/interfaces/PocketItemDescription.d.ts.map +1 -1
  132. package/dist/interfaces/RoomDescription.d.ts +1 -1
  133. package/dist/interfaces/RoomDescription.d.ts.map +1 -1
  134. package/dist/interfaces/SaveData.d.ts +2 -5
  135. package/dist/interfaces/SaveData.d.ts.map +1 -1
  136. package/dist/interfaces/StatTypeType.d.ts +21 -0
  137. package/dist/interfaces/StatTypeType.d.ts.map +1 -0
  138. package/dist/interfaces/StatTypeType.lua +4 -0
  139. package/dist/interfaces/TrinketSituation.d.ts +1 -1
  140. package/dist/interfaces/TrinketSituation.d.ts.map +1 -1
  141. package/dist/interfaces/index.d.ts +1 -0
  142. package/dist/interfaces/index.d.ts.map +1 -1
  143. package/dist/interfaces/private/AddCallbackParameterCustom.d.ts +2 -0
  144. package/dist/interfaces/private/AddCallbackParameterCustom.d.ts.map +1 -1
  145. package/dist/maps/keyboardToString.d.ts +4 -0
  146. package/dist/maps/keyboardToString.d.ts.map +1 -0
  147. package/dist/maps/keyboardToString.lua +73 -0
  148. package/dist/objects/callbackRegisterFunctions.d.ts.map +1 -1
  149. package/dist/objects/callbackRegisterFunctions.lua +3 -0
  150. package/dist/objects/isaacAPIClassTypeToBrand.d.ts.map +1 -1
  151. package/dist/objects/isaacAPIClassTypeToBrand.lua +7 -1
  152. package/dist/objects/isaacAPIClassTypeToFunctions.d.ts.map +1 -1
  153. package/dist/objects/isaacAPIClassTypeToFunctions.lua +12 -1
  154. package/dist/types/AnyEntity.d.ts +5 -0
  155. package/dist/types/AnyEntity.d.ts.map +1 -1
  156. package/dist/types/AnyGridEntity.d.ts +5 -0
  157. package/dist/types/AnyGridEntity.d.ts.map +1 -1
  158. package/dist/types/CollectibleIndex.d.ts +4 -3
  159. package/dist/types/CollectibleIndex.d.ts.map +1 -1
  160. package/dist/types/Immutable.d.ts +3 -1
  161. package/dist/types/Immutable.d.ts.map +1 -1
  162. package/dist/types/PickupIndex.d.ts +4 -2
  163. package/dist/types/PickupIndex.d.ts.map +1 -1
  164. package/dist/types/PlayerIndex.d.ts +3 -2
  165. package/dist/types/PlayerIndex.d.ts.map +1 -1
  166. package/dist/types/SerializedIsaacAPIClass.d.ts +6 -0
  167. package/dist/types/SerializedIsaacAPIClass.d.ts.map +1 -1
  168. package/dist/types/TSTLClass.d.ts +5 -0
  169. package/dist/types/TSTLClass.d.ts.map +1 -1
  170. package/dist/types/TrapdoorDestination.d.ts +3 -0
  171. package/dist/types/TrapdoorDestination.d.ts.map +1 -1
  172. package/package.json +2 -2
  173. package/src/callbacks/postPlayerChangeHealth.ts +7 -1
  174. package/src/callbacks/postPlayerChangeStat.ts +110 -0
  175. package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +5 -1
  176. package/src/callbacks/subscriptions/postPlayerChangeStat.ts +55 -0
  177. package/src/classes/DefaultMap.ts +7 -7
  178. package/src/core/constants.ts +1 -1
  179. package/src/enums/AmbushType.ts +1 -0
  180. package/src/enums/CornerType.ts +1 -0
  181. package/src/enums/ModCallbackCustom.ts +36 -4
  182. package/src/enums/PocketItemType.ts +1 -0
  183. package/src/enums/RockAltType.ts +1 -0
  184. package/src/enums/SerializationType.ts +1 -0
  185. package/src/enums/SlotDestructionType.ts +1 -0
  186. package/src/enums/StatType.ts +47 -0
  187. package/src/enums/index.ts +1 -0
  188. package/src/enums/indexTypeDoc.ts +1 -0
  189. package/src/enums/private/CopyableIsaacAPIClassType.ts +5 -1
  190. package/src/enums/private/SerializationBrand.ts +1 -0
  191. package/src/features/customStage/backdrop.ts +1 -1
  192. package/src/features/customStage/init.ts +2 -2
  193. package/src/features/customStage/versusScreen.ts +2 -2
  194. package/src/features/fastReset.ts +1 -1
  195. package/src/features/indexTypeDoc.ts +2 -1
  196. package/src/features/saveDataManager/merge.ts +1 -0
  197. package/src/functions/bitSet128.ts +96 -0
  198. package/src/functions/cacheFlag.ts +90 -1
  199. package/src/functions/collectibles.ts +2 -2
  200. package/src/functions/color.ts +3 -2
  201. package/src/functions/deepCopy.ts +1 -0
  202. package/src/functions/familiars.ts +4 -4
  203. package/src/functions/flag.ts +1 -1
  204. package/src/functions/flying.ts +1 -1
  205. package/src/functions/index.ts +2 -1
  206. package/src/functions/indexTypeDoc.ts +2 -1
  207. package/src/functions/input.ts +15 -2
  208. package/src/functions/jsonRoom.ts +4 -4
  209. package/src/functions/kColor.ts +2 -2
  210. package/src/functions/log.ts +1 -1
  211. package/src/functions/npcs.ts +2 -2
  212. package/src/functions/playerIndex.ts +1 -1
  213. package/src/functions/playerStats.ts +25 -0
  214. package/src/functions/players.ts +1 -1
  215. package/src/functions/rng.ts +2 -2
  216. package/src/functions/rockAlt.ts +28 -13
  217. package/src/functions/roomTransition.ts +1 -1
  218. package/src/functions/rooms.ts +2 -1
  219. package/src/functions/sprites.ts +3 -3
  220. package/src/functions/tears.ts +5 -4
  221. package/src/functions/utils.ts +5 -1
  222. package/src/functions/vector.ts +2 -2
  223. package/src/initCustomCallbacks.ts +2 -0
  224. package/src/interfaces/ChargeBarSprites.ts +1 -1
  225. package/src/interfaces/Corner.ts +5 -0
  226. package/src/interfaces/CustomStageLua.ts +66 -0
  227. package/src/interfaces/GridEntityCustomData.ts +6 -0
  228. package/src/interfaces/JSONRoomsFile.ts +7 -3
  229. package/src/interfaces/PlayerHealth.ts +1 -1
  230. package/src/interfaces/PocketItemDescription.ts +1 -1
  231. package/src/interfaces/RoomDescription.ts +1 -1
  232. package/src/interfaces/SaveData.ts +1 -5
  233. package/src/interfaces/StatTypeType.ts +21 -0
  234. package/src/interfaces/TrinketSituation.ts +1 -1
  235. package/src/interfaces/index.ts +1 -0
  236. package/src/interfaces/indexTypeDoc.ts +1 -0
  237. package/src/interfaces/private/AddCallbackParameterCustom.ts +2 -0
  238. package/src/maps/keyboardToString.ts +77 -0
  239. package/src/objects/callbackRegisterFunctions.ts +2 -0
  240. package/src/objects/isaacAPIClassTypeToBrand.ts +1 -0
  241. package/src/objects/isaacAPIClassTypeToFunctions.ts +12 -0
  242. package/src/types/AnyEntity.ts +5 -0
  243. package/src/types/AnyGridEntity.ts +5 -0
  244. package/src/types/CollectibleIndex.ts +4 -3
  245. package/src/types/Immutable.ts +3 -1
  246. package/src/types/PickupIndex.ts +4 -2
  247. package/src/types/PlayerIndex.ts +3 -2
  248. package/src/types/SerializedIsaacAPIClass.ts +6 -0
  249. package/src/types/TSTLClass.ts +5 -0
  250. package/src/types/TrapdoorDestination.ts +3 -0
  251. package/dist/functions/collectibleCacheFlag.d.ts +0 -24
  252. package/dist/functions/collectibleCacheFlag.d.ts.map +0 -1
  253. package/dist/functions/collectibleCacheFlag.lua +0 -80
  254. package/src/functions/collectibleCacheFlag.ts +0 -90
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Immutable is a type that will make the given array/map/set/object recursively read-only.
2
+ * Immutable is a utility type that will make the given array/map/set/object recursively read-only.
3
+ *
4
+ * You can use this type to easily build safe data structures.
3
5
  *
4
6
  * From: https://stackoverflow.com/questions/41879327/deepreadonly-object-typescript
5
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Immutable.d.ts","sourceRoot":"","sources":["../../src/types/Immutable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,GACnD,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,GACf,eAAe,CAAC,CAAC,CAAC,CAAC;AAEvB,aAAK,kBAAkB,GACnB,SAAS,GACT,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AACb,aAAK,cAAc,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,aAAK,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,aAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,aAAK,eAAe,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
1
+ {"version":3,"file":"Immutable.d.ts","sourceRoot":"","sources":["../../src/types/Immutable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,GACnD,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,GACf,eAAe,CAAC,CAAC,CAAC,CAAC;AAEvB,aAAK,kBAAkB,GACnB,SAAS,GACT,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AACb,aAAK,cAAc,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,aAAK,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,aAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,aAAK,eAAe,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -1,7 +1,9 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
2
  /**
3
- * `PickupIndex` is a specific type of string; see the documentation for the `getPickupIndex`
4
- * function. Mods can signify that data structures handle collectibles by using this type.
3
+ * `PickupIndex` is a specific type of number that represents a unique identifier for a pickup. Mods
4
+ * can signify that data structures handle collectibles by using this type.
5
+ *
6
+ * For more information, see the documentation for the `getPickupIndex` function.
5
7
  *
6
8
  * For example:
7
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PickupIndex.d.ts","sourceRoot":"","sources":["../../src/types/PickupIndex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,oBAAY,WAAW,GAAG,GAAG,GAAG;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"PickupIndex.d.ts","sourceRoot":"","sources":["../../src/types/PickupIndex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,oBAAY,WAAW,GAAG,GAAG,GAAG;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
2
  /**
3
3
  * `PlayerIndex` is a specific type of number that represents a unique identifier for a player. Mods
4
- * can signify that data structures handle `EntityPlayer` by using this type. For more information,
5
- * see the documentation for the `getPlayerIndex` function.
4
+ * can signify that data structures handle `EntityPlayer` by using this type.
5
+ *
6
+ * For more information, see the documentation for the `getPlayerIndex` function.
6
7
  *
7
8
  * For example:
8
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerIndex.d.ts","sourceRoot":"","sources":["../../src/types/PlayerIndex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AACH,oBAAY,WAAW,GAAG,GAAG,GAAG;IAAE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"PlayerIndex.d.ts","sourceRoot":"","sources":["../../src/types/PlayerIndex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,oBAAY,WAAW,GAAG,GAAG,GAAG;IAAE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1,4 +1,10 @@
1
1
  /// <reference types="typescript-to-lua/language-extensions" />
2
+ /**
3
+ * This is a type representing an Isaac API class like `Color` or `RNG` that has been written to the
4
+ * "save#.dat" file. It is used by the save data manager when reading and writing to that file.
5
+ *
6
+ * For the list of supported classes, see the `CopyableIsaacAPIClassType` enum.
7
+ */
2
8
  export declare type SerializedIsaacAPIClass = LuaMap<string, unknown> & {
3
9
  readonly __serializedIsaacAPIClassBrand: symbol;
4
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SerializedIsaacAPIClass.d.ts","sourceRoot":"","sources":["../../src/types/SerializedIsaacAPIClass.ts"],"names":[],"mappings":";AAAA,oBAAY,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC9D,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;CACjD,CAAC"}
1
+ {"version":3,"file":"SerializedIsaacAPIClass.d.ts","sourceRoot":"","sources":["../../src/types/SerializedIsaacAPIClass.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,oBAAY,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC9D,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;CACjD,CAAC"}
@@ -1,4 +1,9 @@
1
1
  /// <reference types="typescript-to-lua/language-extensions" />
2
+ /**
3
+ * This is a type representing a user-created class from TypeScript code.
4
+ *
5
+ * This type is used by the save data manager to when copying, serializing, and deserializing.
6
+ */
2
7
  export declare type TSTLClass = LuaMap<AnyNotNil, unknown> & {
3
8
  readonly __tstlClassBrand: symbol;
4
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TSTLClass.d.ts","sourceRoot":"","sources":["../../src/types/TSTLClass.ts"],"names":[],"mappings":";AAAA,oBAAY,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACnD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"TSTLClass.d.ts","sourceRoot":"","sources":["../../src/types/TSTLClass.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,oBAAY,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACnD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import { LevelStage, StageType } from "isaac-typescript-definitions";
2
+ /**
3
+ * This is the type that you need to specify when using the `spawnCustomTrapdoor` helper function.
4
+ */
2
5
  export declare type TrapdoorDestination = [stage: LevelStage, stageType: StageType] | [customStageName: string, floorNum: int];
3
6
  //# sourceMappingURL=TrapdoorDestination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrapdoorDestination.d.ts","sourceRoot":"","sources":["../../src/types/TrapdoorDestination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAErE,oBAAY,mBAAmB,GAC3B,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACzC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"TrapdoorDestination.d.ts","sourceRoot":"","sources":["../../src/types/TrapdoorDestination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAErE;;GAEG;AACH,oBAAY,mBAAmB,GAC3B,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACzC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "7.0.0",
3
+ "version": "7.2.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -22,6 +22,6 @@
22
22
  "main": "dist/index",
23
23
  "types": "dist/index.d.ts",
24
24
  "dependencies": {
25
- "isaac-typescript-definitions": "^3.2.1"
25
+ "isaac-typescript-definitions": "^3.2.4"
26
26
  }
27
27
  }
@@ -55,7 +55,13 @@ function postPEffectUpdateReordered(player: EntityPlayer) {
55
55
  storedHealthValue !== currentHealthValue
56
56
  ) {
57
57
  const difference = currentHealthValue - storedHealthValue;
58
- postPlayerChangeHealthFire(player, healthType, difference);
58
+ postPlayerChangeHealthFire(
59
+ player,
60
+ healthType,
61
+ difference,
62
+ storedHealthValue,
63
+ currentHealthValue,
64
+ );
59
65
  }
60
66
  }
61
67
  }
@@ -0,0 +1,110 @@
1
+ import { TearFlag } from "isaac-typescript-definitions";
2
+ import { DefaultMap } from "../classes/DefaultMap";
3
+ import { ModUpgraded } from "../classes/ModUpgraded";
4
+ import { StatType } from "../enums";
5
+ import { ModCallbackCustom } from "../enums/ModCallbackCustom";
6
+ import { saveDataManager } from "../features/saveDataManager/exports";
7
+ import {
8
+ colorEquals,
9
+ getPlayerStat,
10
+ isBitSet128,
11
+ isBoolean,
12
+ isColor,
13
+ isNumber,
14
+ } from "../functions";
15
+ import { getEnumValues } from "../functions/enums";
16
+ import { getPlayerIndex } from "../functions/playerIndex";
17
+ import { PlayerIndex } from "../types/PlayerIndex";
18
+ import {
19
+ postPlayerChangeStatFire,
20
+ postPlayerChangeStatHasSubscriptions,
21
+ } from "./subscriptions/postPlayerChangeStat";
22
+
23
+ type PossibleStatType = number | boolean | BitFlags<TearFlag> | Color;
24
+
25
+ const v = {
26
+ run: {
27
+ playersStatMap: new DefaultMap<
28
+ PlayerIndex,
29
+ Map<StatType, PossibleStatType>
30
+ >(() => new Map()),
31
+ },
32
+ };
33
+
34
+ export function postPlayerChangeStatInit(mod: ModUpgraded): void {
35
+ saveDataManager("postPlayerChangeStat", v, hasSubscriptions);
36
+
37
+ mod.AddCallbackCustom(
38
+ ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
39
+ postPEffectUpdateReordered,
40
+ );
41
+ }
42
+
43
+ function hasSubscriptions() {
44
+ return postPlayerChangeStatHasSubscriptions();
45
+ }
46
+
47
+ // ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED
48
+ function postPEffectUpdateReordered(player: EntityPlayer) {
49
+ if (!hasSubscriptions()) {
50
+ return;
51
+ }
52
+
53
+ // We call the "getPlayerIndex" function with the "differentiateForgottenAndSoul" argument. If we
54
+ // don't differentiate between The Forgotten and The Soul, the callback will fire every time the
55
+ // player switches between the two.
56
+ const playerIndex = getPlayerIndex(player, true);
57
+ const playerStatMap = v.run.playersStatMap.getAndSetDefault(playerIndex);
58
+
59
+ for (const statType of getEnumValues(StatType)) {
60
+ const storedStatValue = playerStatMap.get(statType);
61
+ const currentStatValue = getPlayerStat(player, statType);
62
+ playerStatMap.set(statType, currentStatValue);
63
+
64
+ if (storedStatValue === undefined) {
65
+ continue;
66
+ }
67
+
68
+ if (!statEquals(storedStatValue, currentStatValue)) {
69
+ const isNumberStat =
70
+ isNumber(storedStatValue) && isNumber(currentStatValue);
71
+ const difference = isNumberStat ? currentStatValue - storedStatValue : 0;
72
+ postPlayerChangeStatFire(
73
+ player,
74
+ statType,
75
+ difference,
76
+ storedStatValue,
77
+ currentStatValue,
78
+ );
79
+ }
80
+ }
81
+ }
82
+
83
+ function statEquals(
84
+ oldValue: PossibleStatType,
85
+ newValue: PossibleStatType,
86
+ ): boolean {
87
+ const isNumberStat = isNumber(oldValue) && isNumber(newValue);
88
+ if (isNumberStat) {
89
+ return oldValue === newValue;
90
+ }
91
+
92
+ const isBooleanStat = isBoolean(oldValue) && isBoolean(newValue);
93
+ if (isBooleanStat) {
94
+ return oldValue === newValue;
95
+ }
96
+
97
+ const isBitSet128Stat = isBitSet128(oldValue) && isBitSet128(newValue);
98
+ if (isBitSet128Stat) {
99
+ return oldValue === newValue; // The class has the "__eq" meta-method.
100
+ }
101
+
102
+ const isColorStat = isColor(oldValue) && isColor(newValue);
103
+ if (isColorStat) {
104
+ return colorEquals(oldValue, newValue);
105
+ }
106
+
107
+ error(
108
+ 'Failed to determine the type of a stat in the "POST_PLAYER_CHANGE_STAT" callback.',
109
+ );
110
+ }
@@ -6,6 +6,8 @@ export type PostPlayerChangeHealthRegisterParameters = [
6
6
  player: EntityPlayer,
7
7
  healthType: HealthType,
8
8
  difference: int,
9
+ oldValue: int,
10
+ newValue: int,
9
11
  ) => void,
10
12
  playerVariant?: PlayerVariant,
11
13
  character?: PlayerType,
@@ -27,6 +29,8 @@ export function postPlayerChangeHealthFire(
27
29
  player: EntityPlayer,
28
30
  healthType: HealthType,
29
31
  difference: int,
32
+ oldValue: int,
33
+ newValue: int,
30
34
  ): void {
31
35
  const character = player.GetPlayerType();
32
36
 
@@ -41,6 +45,6 @@ export function postPlayerChangeHealthFire(
41
45
  continue;
42
46
  }
43
47
 
44
- callback(player, healthType, difference);
48
+ callback(player, healthType, difference, oldValue, newValue);
45
49
  }
46
50
  }
@@ -0,0 +1,55 @@
1
+ import {
2
+ PlayerType,
3
+ PlayerVariant,
4
+ TearFlag,
5
+ } from "isaac-typescript-definitions";
6
+ import { StatType } from "../../enums/StatType";
7
+ import { StatTypeType } from "../../interfaces/StatTypeType";
8
+
9
+ export type PostPlayerChangeStatRegisterParameters = [
10
+ callback: (
11
+ player: EntityPlayer,
12
+ statType: StatType,
13
+ difference: int,
14
+ oldValue: number | boolean | BitFlags<TearFlag> | Color | Vector,
15
+ newValue: number | boolean | BitFlags<TearFlag> | Color | Vector,
16
+ ) => void,
17
+ playerVariant?: PlayerVariant,
18
+ character?: PlayerType,
19
+ ];
20
+
21
+ const subscriptions: PostPlayerChangeStatRegisterParameters[] = [];
22
+
23
+ export function postPlayerChangeStatHasSubscriptions(): boolean {
24
+ return subscriptions.length > 0;
25
+ }
26
+
27
+ export function postPlayerChangeStatRegister(
28
+ ...args: PostPlayerChangeStatRegisterParameters
29
+ ): void {
30
+ subscriptions.push(args);
31
+ }
32
+
33
+ export function postPlayerChangeStatFire<T extends StatType>(
34
+ player: EntityPlayer,
35
+ statType: T,
36
+ difference: int,
37
+ oldValue: StatTypeType[T],
38
+ newValue: StatTypeType[T],
39
+ ): void {
40
+ const character = player.GetPlayerType();
41
+
42
+ for (const [callback, playerVariant, callbackCharacter] of subscriptions) {
43
+ // Handle the optional 2nd callback argument.
44
+ if (playerVariant !== undefined && playerVariant !== player.Variant) {
45
+ continue;
46
+ }
47
+
48
+ // Handle the optional 3rd callback argument.
49
+ if (callbackCharacter !== undefined && callbackCharacter !== character) {
50
+ continue;
51
+ }
52
+
53
+ callback(player, statType, difference, oldValue, newValue);
54
+ }
55
+ }
@@ -1,12 +1,5 @@
1
1
  import { isFunction, isPrimitive } from "../functions/types";
2
2
 
3
- // eslint-disable-next-line isaacscript/complete-sentences-jsdoc
4
- /**
5
- * A function that creates the default value for your `DefaultMap`. For example, if it was a
6
- * `DefaultMap` containing maps, the factory function would be: `() => new Map()`
7
- */
8
- export type FactoryFunction<V, Args extends unknown[]> = (...args: Args) => V;
9
-
10
3
  /**
11
4
  * `DefaultMap` is a data structure that makes working with default values easier.
12
5
  *
@@ -169,6 +162,13 @@ export class DefaultMap<Key, Value, Args extends unknown[] = []> extends Map<
169
162
  }
170
163
  }
171
164
 
165
+ // eslint-disable-next-line isaacscript/complete-sentences-jsdoc
166
+ /**
167
+ * A function that creates the default value for your `DefaultMap`. For example, if it was a
168
+ * `DefaultMap` containing maps, the factory function would be: `() => new Map()`
169
+ */
170
+ export type FactoryFunction<V, Args extends unknown[]> = (...args: Args) => V;
171
+
172
172
  /* eslint-disable @typescript-eslint/no-unused-vars */
173
173
  function test() {
174
174
  // Boolean
@@ -36,7 +36,7 @@ export const BLIND_ITEM_PNG_PATH = "gfx/items/collectibles/questionmark.png";
36
36
  /** Bombs explode when their frame count is equal to this value. */
37
37
  export const BOMB_EXPLODE_FRAME = 45;
38
38
 
39
- /** This is the initial value of the `EntityPickup.Wait` property after a collectible is spawned. */
39
+ /** This is the initial value of the `EntityPickup.Wait` field after a collectible is spawned. */
40
40
  export const COLLECTIBLE_INITIAL_WAIT = 20;
41
41
 
42
42
  export const DEFAULT_ITEM_POOL_TYPE = ItemPoolType.TREASURE;
@@ -1,3 +1,4 @@
1
+ /** This is used by the `POST_AMBUSH_STARTED` and `POST_AMBUSH_FINISHED` custom callbacks. */
1
2
  export enum AmbushType {
2
3
  CHALLENGE_ROOM,
3
4
  BOSS_RUSH,
@@ -1,3 +1,4 @@
1
+ /** This is used by the `getRoomShapeCorners` helper function. */
1
2
  export enum CornerType {
2
3
  TOP_LEFT,
3
4
  TOP_RIGHT,
@@ -798,8 +798,8 @@ export enum ModCallbackCustom {
798
798
  POST_PIT_UPDATE,
799
799
 
800
800
  /**
801
- * Fires from the `POST_PEFFECT_UPDATE` callback when a player entity gains or loses any health
802
- * (i.e. hearts). For more information, see the `PlayerHealth` enum.
801
+ * Fires from the `POST_PEFFECT_UPDATE` callback when a player's health (i.e. hearts) is different
802
+ * than what it was on the previous frame. For more information, see the `PlayerHealth` enum.
803
803
  *
804
804
  * - When registering the callback, takes an optional second argument that will make the callback
805
805
  * only fire if the player matches the `PlayerVariant` provided.
@@ -811,15 +811,47 @@ export enum ModCallbackCustom {
811
811
  * player: EntityPlayer,
812
812
  * healthType: HealthType,
813
813
  * difference: int,
814
+ * oldValue: int,
815
+ * newValue: int,
814
816
  * ): void {}
815
817
  * ```
816
818
  */
817
819
  POST_PLAYER_CHANGE_HEALTH,
818
820
 
821
+ /**
822
+ * Fires from the `POST_PEFFECT_UPDATE` callback when one of the player's stats change from what
823
+ * they were on the previous frame.
824
+ *
825
+ * The type of `oldValue` and `newValue` will depend on what kind of stat it is. For example,
826
+ * `StatType.FLYING` will be a boolean. (You can use the "Types" helper functions to narrow the
827
+ * type.)
828
+ *
829
+ * For `StatType.TEAR_FLAG`, `StatType.TEAR_COLOR`, `StatType.FLYING`, and `StatType.SIZE`, the
830
+ * `difference` argument will always be a value of 0, since the type of these stats are not
831
+ * numbers. (For these cases, you should examine the `oldValue` and `newValue` arguments
832
+ * accordingly.)
833
+ *
834
+ * - When registering the callback, takes an optional second argument that will make the callback
835
+ * only fire if the player matches the `PlayerVariant` provided.
836
+ * - When registering the callback, takes an optional third argument that will make the callback
837
+ * only fire if the player matches the `PlayerType` provided.
838
+ *
839
+ * ```ts
840
+ * function postPlayerChangeStat(
841
+ * player: EntityPlayer,
842
+ * statType: StatType,
843
+ * difference: int,
844
+ * oldValue: number | boolean | BitFlags<TearFlag> | Color | Vector,
845
+ * newValue: number | boolean | BitFlags<TearFlag> | Color | Vector,
846
+ * ): void {}
847
+ * ```
848
+ */
849
+ POST_PLAYER_CHANGE_STAT,
850
+
819
851
  /**
820
852
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player entity changes its player type
821
- * (i.e. character). For example, it will fire after using Clicker, after dying with the Judas'
822
- * Shadow collectible, etc.
853
+ * (i.e. character) from what it was on the previous frame. For example, it will fire after using
854
+ * Clicker, after dying with the Judas' Shadow collectible, etc.
823
855
  *
824
856
  * Notably, it does not fire after the player uses the Flip item or the Esau Jr. item, because
825
857
  * those items cause separate player entities to be created. Use the `POST_FLIP` and
@@ -1,3 +1,4 @@
1
+ /** This is used in the various pocket item helper functions. */
1
2
  export enum PocketItemType {
2
3
  EMPTY,
3
4
  CARD,
@@ -1,3 +1,4 @@
1
+ /** This is used in the various rock alt type helper functions. */
1
2
  export enum RockAltType {
2
3
  URN,
3
4
  MUSHROOM,
@@ -1,3 +1,4 @@
1
+ /** This is used with the `deepCopy` and `merge` functions. */
1
2
  export enum SerializationType {
2
3
  NONE,
3
4
  SERIALIZE,
@@ -1,3 +1,4 @@
1
+ /** This is used in the `POST_SLOT_DESTROYED` custom callback. */
1
2
  export enum SlotDestructionType {
2
3
  NORMAL,
3
4
  COLLECTIBLE_PAYOUT,
@@ -0,0 +1,47 @@
1
+ /** This represents the kinds of stats that a player can have. */
2
+ export enum StatType {
3
+ /** Corresponds to `CacheFlag.DAMAGE` (1 << 0) and `EntityPlayer.Damage`. */
4
+ DAMAGE,
5
+
6
+ /** Corresponds to `CacheFlag.FIRE_DELAY` (1 << 1) and `EntityPlayer.MaxFireDelay`. */
7
+ FIRE_DELAY,
8
+
9
+ /** Corresponds to `CacheFlag.SHOT_SPEED` (1 << 2) and `EntityPlayer.ShotSpeed`. */
10
+ SHOT_SPEED,
11
+
12
+ /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearHeight`. */
13
+ TEAR_HEIGHT,
14
+
15
+ /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearRange`. */
16
+ TEAR_RANGE,
17
+
18
+ /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearFallingAcceleration`. */
19
+ TEAR_FALLING_ACCELERATION,
20
+
21
+ /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearFallingSpeed`. */
22
+ TEAR_FALLING_SPEED,
23
+
24
+ /** Corresponds to `CacheFlag.SPEED` (1 << 4) and `EntityPlayer.MoveSpeed`. */
25
+ MOVE_SPEED,
26
+
27
+ /** Corresponds to `CacheFlag.TEAR_FLAG` (1 << 5) and `EntityPlayer.TearFlags`. */
28
+ TEAR_FLAG,
29
+
30
+ /** Corresponds to `CacheFlag.TEAR_COLOR` (1 << 6) and `EntityPlayer.TearColor`. */
31
+ TEAR_COLOR,
32
+
33
+ /** Corresponds to `CacheFlag.FLYING` (1 << 7) and `EntityPlayer.CanFly`. */
34
+ FLYING,
35
+
36
+ // - `CacheFlag.WEAPON` (1 << 8) does not have a corresponding `EntityPlayer` field.
37
+ // - `CacheFlag.FAMILIARS` (1 << 9) does not have a corresponding `EntityPlayer` field.
38
+
39
+ /** Corresponds to `CacheFlag.LUCK` (1 << 10) and `EntityPlayer.Luck`. */
40
+ LUCK,
41
+
42
+ // - `CacheFlag.SIZE` (1 << 12) does not have a corresponding `EntityPlayer` field. (After picking
43
+ // up Magic Mushroom, the values of `EntityPlayer.Size` and `EntityPlayer.SizeMulti` do not
44
+ // change.)
45
+ // - `CacheFlag.COLOR` (1 << 12) does not have a corresponding `EntityPlayer` field.
46
+ // - `CacheFlag.PICKUP_VISION` (1 << 13) does not have a corresponding `EntityPlayer` field.
47
+ }
@@ -6,3 +6,4 @@ export * from "./PocketItemType";
6
6
  export * from "./RockAltType";
7
7
  export * from "./SerializationType";
8
8
  export * from "./SlotDestructionType";
9
+ export * from "./StatType";
@@ -6,3 +6,4 @@ export * as PocketItemType from "./PocketItemType";
6
6
  export * as RockAltType from "./RockAltType";
7
7
  export * as SerializationType from "./SerializationType";
8
8
  export * as SlotDestructionType from "./SlotDestructionType";
9
+ export * as StatType from "./StatType";
@@ -1,5 +1,9 @@
1
- /** This must match the enumeration in the JSDoc comments for `deepCopy` and `merge`. */
1
+ /**
2
+ * - This must match the JSDoc comments for `deepCopy` and `merge`.
3
+ * - This must match the `SerializableIsaacAPIClass` type union.
4
+ */
2
5
  export enum CopyableIsaacAPIClassType {
6
+ BIT_SET_128 = "BitSet128",
3
7
  COLOR = "Color",
4
8
  K_COLOR = "KColor",
5
9
  RNG = "RNG",
@@ -12,6 +12,7 @@ export enum SerializationBrand {
12
12
  SET = "__TSTL_SET",
13
13
 
14
14
  // Specific Isaac API class brands:
15
+ BIT_SET_128 = "__BIT_SET_128",
15
16
  COLOR = "__COLOR",
16
17
  K_COLOR = "__K_COLOR",
17
18
  RNG = "__RNG",
@@ -91,7 +91,7 @@ const BACKDROP_ROOM_TYPE_SET: ReadonlySet<RoomType> = new Set([
91
91
  RoomType.MINI_BOSS,
92
92
  ]);
93
93
 
94
- export function setBackdrop(customStage: CustomStage): void {
94
+ export function setCustomStageBackdrop(customStage: CustomStage): void {
95
95
  const room = game.GetRoom();
96
96
  const roomType = room.GetType();
97
97
  const decorationSeed = room.GetDecorationSeed();
@@ -16,7 +16,7 @@ import {
16
16
  } from "../../interfaces/CustomStageLua";
17
17
  import { CustomStage, RoomTypeMap } from "../../interfaces/private/CustomStage";
18
18
  import { saveDataManager } from "../saveDataManager/exports";
19
- import { setBackdrop } from "./backdrop";
19
+ import { setCustomStageBackdrop } from "./backdrop";
20
20
  import {
21
21
  convertVanillaTrapdoors,
22
22
  removeUrnRewards,
@@ -196,7 +196,7 @@ function postNewRoomReordered() {
196
196
  return;
197
197
  }
198
198
 
199
- setBackdrop(customStage);
199
+ setCustomStageBackdrop(customStage);
200
200
  setShadows(customStage);
201
201
  playVersusScreenAnimation(customStage);
202
202
  }
@@ -76,13 +76,13 @@ const versusScreenSprite = Sprite();
76
76
 
77
77
  /**
78
78
  * Unfortunately, we must split the background layer into an entirely different sprite so that we
79
- * can color it with the `Color` property.
79
+ * can color it with the `Color` field.
80
80
  */
81
81
  const versusScreenBackgroundSprite = Sprite();
82
82
 
83
83
  /**
84
84
  * Unfortunately, we must split the dirt layer into an entirely different sprite so that we can
85
- * color it with the `Color` property.
85
+ * color it with the `Color` field.
86
86
  */
87
87
  const versusScreenDirtSpotSprite = Sprite();
88
88
 
@@ -34,7 +34,7 @@ function checkResetInput() {
34
34
  return;
35
35
  }
36
36
 
37
- // Disable the fast-reset feature if the custom console is open.
37
+ // Disable the fast-reset feature if any custom consoles are open.
38
38
  if (AwaitingTextInput) {
39
39
  return;
40
40
  }
@@ -9,7 +9,8 @@ export * as DebugDisplay from "./debugDisplay/exports";
9
9
  export * as DeployJSONRoom from "./deployJSONRoom";
10
10
  export * as DisableAllSound from "./disableAllSound";
11
11
  export * as DisableInputs from "./disableInputs";
12
- export * as ExtraConsoleCommands from "./extraConsoleCommands/exports";
12
+ export * as ExtraConsoleCommandsInit from "./extraConsoleCommands/exports";
13
+ export * as ExtraConsoleCommandsList from "./extraConsoleCommands/listCommands";
13
14
  export * as FadeInRemover from "./fadeInRemover";
14
15
  export * as FastReset from "./fastReset";
15
16
  export * as ForgottenSwitch from "./forgottenSwitch";
@@ -25,6 +25,7 @@ import { isSerializationBrand } from "./serializationBrands";
25
25
  * - TSTL `Set`
26
26
  * - TSTL classes
27
27
  * - `DefaultMap`
28
+ * - Isaac `BitSet128` objects
28
29
  * - Isaac `Color` objects
29
30
  * - Isaac `KColor` objects
30
31
  * - Isaac `RNG` objects