isaacscript-common 6.11.0 → 6.12.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 (253) hide show
  1. package/dist/callbacks/postFlip.lua +2 -2
  2. package/dist/callbacks/postGridEntityCustomRender.d.ts +2 -0
  3. package/dist/callbacks/postGridEntityCustomRender.d.ts.map +1 -0
  4. package/dist/callbacks/postGridEntityCustomRender.lua +36 -0
  5. package/dist/callbacks/postGridEntityCustomUpdate.d.ts +2 -0
  6. package/dist/callbacks/postGridEntityCustomUpdate.d.ts.map +1 -0
  7. package/dist/callbacks/postGridEntityCustomUpdate.lua +36 -0
  8. package/dist/callbacks/postNewRoomEarly.lua +2 -2
  9. package/dist/callbacks/postPickupInitFirst.lua +1 -20
  10. package/dist/callbacks/postPlayerFatalDamage.lua +1 -1
  11. package/dist/callbacks/postPlayerInitFirst.d.ts +2 -0
  12. package/dist/callbacks/postPlayerInitFirst.d.ts.map +1 -0
  13. package/dist/callbacks/postPlayerInitFirst.lua +42 -0
  14. package/dist/callbacks/postPlayerInitLate.lua +5 -5
  15. package/dist/callbacks/postPlayerReorderedCallbacks.d.ts +2 -0
  16. package/dist/callbacks/postPlayerReorderedCallbacks.d.ts.map +1 -0
  17. package/dist/callbacks/{postPlayerReordered.lua → postPlayerReorderedCallbacks.lua} +11 -37
  18. package/dist/callbacks/reorderedCallbacks.d.ts +5 -5
  19. package/dist/callbacks/reorderedCallbacks.d.ts.map +1 -1
  20. package/dist/callbacks/reorderedCallbacks.lua +5 -5
  21. package/dist/callbacks/subscriptions/postFirstFlip.d.ts +1 -1
  22. package/dist/callbacks/subscriptions/postFirstFlip.d.ts.map +1 -1
  23. package/dist/callbacks/subscriptions/postFirstFlip.lua +2 -2
  24. package/dist/callbacks/subscriptions/postFlip.d.ts +1 -1
  25. package/dist/callbacks/subscriptions/postFlip.d.ts.map +1 -1
  26. package/dist/callbacks/subscriptions/postFlip.lua +2 -2
  27. package/dist/callbacks/subscriptions/postGridEntityCustomRender.d.ts +6 -0
  28. package/dist/callbacks/subscriptions/postGridEntityCustomRender.d.ts.map +1 -0
  29. package/dist/callbacks/subscriptions/postGridEntityCustomRender.lua +29 -0
  30. package/dist/callbacks/subscriptions/postGridEntityCustomUpdate.d.ts +6 -0
  31. package/dist/callbacks/subscriptions/postGridEntityCustomUpdate.d.ts.map +1 -0
  32. package/dist/callbacks/subscriptions/postGridEntityCustomUpdate.lua +29 -0
  33. package/dist/callbacks/subscriptions/{postPlayerInitReordered.d.ts → postPlayerInitFirst.d.ts} +2 -2
  34. package/dist/callbacks/subscriptions/postPlayerInitFirst.d.ts.map +1 -0
  35. package/dist/callbacks/subscriptions/{postPlayerInitReordered.lua → postPlayerInitFirst.lua} +3 -3
  36. package/dist/constants.d.ts +1 -5
  37. package/dist/constants.d.ts.map +1 -1
  38. package/dist/constants.lua +0 -7
  39. package/dist/constantsFirstLast.d.ts +5 -1
  40. package/dist/constantsFirstLast.d.ts.map +1 -1
  41. package/dist/constantsFirstLast.lua +6 -0
  42. package/dist/enums/ModCallbackCustom.d.ts +106 -81
  43. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  44. package/dist/enums/ModCallbackCustom.lua +63 -59
  45. package/dist/enums/private/StageTravelState.d.ts +9 -0
  46. package/dist/enums/private/StageTravelState.d.ts.map +1 -0
  47. package/dist/enums/private/StageTravelState.lua +15 -0
  48. package/dist/enums/private/TrapdoorAnimation.d.ts +6 -0
  49. package/dist/enums/private/TrapdoorAnimation.d.ts.map +1 -0
  50. package/dist/enums/private/TrapdoorAnimation.lua +6 -0
  51. package/dist/features/customGridEntity.d.ts +17 -5
  52. package/dist/features/customGridEntity.d.ts.map +1 -1
  53. package/dist/features/customGridEntity.lua +86 -17
  54. package/dist/features/customStage/exports.d.ts.map +1 -1
  55. package/dist/features/customStage/exports.lua +0 -13
  56. package/dist/features/customStage/init.d.ts.map +1 -1
  57. package/dist/features/customStage/init.lua +24 -2
  58. package/dist/features/customStage/streakText.d.ts +6 -0
  59. package/dist/features/customStage/streakText.d.ts.map +1 -1
  60. package/dist/features/customStage/streakText.lua +16 -12
  61. package/dist/features/customStage/versusScreen.d.ts +6 -0
  62. package/dist/features/customStage/versusScreen.d.ts.map +1 -1
  63. package/dist/features/customStage/versusScreen.lua +10 -5
  64. package/dist/features/customTrapdoor/blackSprite.d.ts +2 -0
  65. package/dist/features/customTrapdoor/blackSprite.d.ts.map +1 -0
  66. package/dist/features/customTrapdoor/blackSprite.lua +19 -0
  67. package/dist/features/customTrapdoor/customTrapdoorConstants.d.ts +15 -0
  68. package/dist/features/customTrapdoor/customTrapdoorConstants.d.ts.map +1 -0
  69. package/dist/features/customTrapdoor/customTrapdoorConstants.lua +16 -0
  70. package/dist/features/customTrapdoor/exports.d.ts +29 -0
  71. package/dist/features/customTrapdoor/exports.d.ts.map +1 -0
  72. package/dist/features/customTrapdoor/exports.lua +93 -0
  73. package/dist/features/customTrapdoor/init.d.ts +3 -0
  74. package/dist/features/customTrapdoor/init.d.ts.map +1 -0
  75. package/dist/features/customTrapdoor/init.lua +174 -0
  76. package/dist/features/customTrapdoor/openClose.d.ts +5 -0
  77. package/dist/features/customTrapdoor/openClose.d.ts.map +1 -0
  78. package/dist/features/customTrapdoor/openClose.lua +60 -0
  79. package/dist/features/customTrapdoor/touched.d.ts +4 -0
  80. package/dist/features/customTrapdoor/touched.d.ts.map +1 -0
  81. package/dist/features/customTrapdoor/touched.lua +159 -0
  82. package/dist/features/customTrapdoor/v.d.ts +18 -0
  83. package/dist/features/customTrapdoor/v.d.ts.map +1 -0
  84. package/dist/features/customTrapdoor/v.lua +17 -0
  85. package/dist/features/deployJSONRoom.d.ts +2 -2
  86. package/dist/features/deployJSONRoom.d.ts.map +1 -1
  87. package/dist/features/deployJSONRoom.lua +3 -3
  88. package/dist/features/extraConsoleCommands/init.d.ts.map +1 -1
  89. package/dist/features/extraConsoleCommands/init.lua +3 -1
  90. package/dist/features/extraConsoleCommands/listCommands.d.ts.map +1 -1
  91. package/dist/features/extraConsoleCommands/listCommands.lua +6 -6
  92. package/dist/features/pause.d.ts +1 -1
  93. package/dist/features/pause.d.ts.map +1 -1
  94. package/dist/features/pause.lua +87 -8
  95. package/dist/features/persistentEntities.d.ts.map +1 -1
  96. package/dist/features/persistentEntities.lua +7 -7
  97. package/dist/features/pickupIndex.d.ts +19 -0
  98. package/dist/features/pickupIndex.d.ts.map +1 -0
  99. package/dist/features/pickupIndex.lua +197 -0
  100. package/dist/features/roomHistory.d.ts +24 -0
  101. package/dist/features/roomHistory.d.ts.map +1 -0
  102. package/dist/features/roomHistory.lua +89 -0
  103. package/dist/features/taintedLazarusPlayers.d.ts.map +1 -1
  104. package/dist/features/taintedLazarusPlayers.lua +13 -21
  105. package/dist/functions/{character.d.ts → characters.d.ts} +3 -1
  106. package/dist/functions/characters.d.ts.map +1 -0
  107. package/dist/functions/{character.lua → characters.lua} +12 -0
  108. package/dist/functions/collectibles.d.ts +26 -13
  109. package/dist/functions/collectibles.d.ts.map +1 -1
  110. package/dist/functions/collectibles.lua +26 -13
  111. package/dist/functions/entities.d.ts +3 -3
  112. package/dist/functions/entities.d.ts.map +1 -1
  113. package/dist/functions/entities.lua +8 -3
  114. package/dist/functions/gridEntities.d.ts +2 -2
  115. package/dist/functions/gridEntities.lua +2 -2
  116. package/dist/functions/isaacAPIClass.d.ts +64 -0
  117. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  118. package/dist/functions/isaacAPIClass.lua +84 -1
  119. package/dist/functions/log.lua +3 -3
  120. package/dist/functions/pickupVariants.d.ts +2 -2
  121. package/dist/functions/pickupVariants.d.ts.map +1 -1
  122. package/dist/functions/pickupVariants.lua +2 -2
  123. package/dist/functions/playerCenter.lua +2 -2
  124. package/dist/functions/playerIndex.d.ts +11 -5
  125. package/dist/functions/playerIndex.d.ts.map +1 -1
  126. package/dist/functions/playerIndex.lua +19 -26
  127. package/dist/functions/players.lua +4 -4
  128. package/dist/functions/revive.lua +2 -2
  129. package/dist/functions/roomData.d.ts +3 -2
  130. package/dist/functions/roomData.d.ts.map +1 -1
  131. package/dist/functions/roomData.lua +3 -2
  132. package/dist/functions/rooms.d.ts +6 -6
  133. package/dist/functions/rooms.lua +6 -6
  134. package/dist/functions/stage.d.ts +1 -0
  135. package/dist/functions/stage.d.ts.map +1 -1
  136. package/dist/functions/stage.lua +4 -0
  137. package/dist/functions/table.d.ts +1 -1
  138. package/dist/functions/table.d.ts.map +1 -1
  139. package/dist/index.d.ts +6 -2
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.lua +33 -2
  142. package/dist/initCustomCallbacks.d.ts.map +1 -1
  143. package/dist/initCustomCallbacks.lua +11 -2
  144. package/dist/initFeatures.d.ts +1 -2
  145. package/dist/initFeatures.d.ts.map +1 -1
  146. package/dist/initFeatures.lua +16 -2
  147. package/dist/interfaces/AddCallbackParameterCustom.d.ts +6 -2
  148. package/dist/interfaces/AddCallbackParameterCustom.d.ts.map +1 -1
  149. package/dist/interfaces/CustomGridEntityData.d.ts +6 -2
  150. package/dist/interfaces/CustomGridEntityData.d.ts.map +1 -1
  151. package/dist/interfaces/RoomDescription.d.ts +14 -0
  152. package/dist/interfaces/RoomDescription.d.ts.map +1 -0
  153. package/dist/interfaces/RoomDescription.lua +2 -0
  154. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts +7 -0
  155. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts.map +1 -0
  156. package/dist/interfaces/private/CustomTrapdoorDescription.lua +2 -0
  157. package/dist/lib/jsonLua.lua +2 -0
  158. package/dist/objects/callbackRegisterFunctions.d.ts.map +1 -1
  159. package/dist/objects/callbackRegisterFunctions.lua +9 -3
  160. package/dist/objects/characterDamageMultipliers.d.ts +6 -0
  161. package/dist/objects/characterDamageMultipliers.d.ts.map +1 -0
  162. package/dist/objects/characterDamageMultipliers.lua +49 -0
  163. package/dist/types/CollectibleIndex.d.ts +1 -1
  164. package/dist/types/PickupIndex.d.ts +17 -0
  165. package/dist/types/PickupIndex.d.ts.map +1 -0
  166. package/dist/types/PickupIndex.lua +2 -0
  167. package/dist/types/PlayerIndex.d.ts +1 -1
  168. package/dist/upgradeMod.lua +2 -4
  169. package/package.json +2 -2
  170. package/src/callbacks/customRevive.ts +3 -3
  171. package/src/callbacks/itemPickup.ts +3 -3
  172. package/src/callbacks/postAmbush.ts +3 -3
  173. package/src/callbacks/postEsauJr.ts +3 -3
  174. package/src/callbacks/postFlip.ts +6 -5
  175. package/src/callbacks/postGridEntity.ts +5 -5
  176. package/src/callbacks/postGridEntityCustomRender.ts +44 -0
  177. package/src/callbacks/postGridEntityCustomUpdate.ts +44 -0
  178. package/src/callbacks/postNewRoomEarly.ts +2 -2
  179. package/src/callbacks/postPickupInitFirst.ts +1 -32
  180. package/src/callbacks/postPlayerCollectible.ts +2 -2
  181. package/src/callbacks/postPlayerFatalDamage.ts +5 -0
  182. package/src/callbacks/postPlayerInitFirst.ts +57 -0
  183. package/src/callbacks/postPlayerInitLate.ts +9 -5
  184. package/src/callbacks/{postPlayerReordered.ts → postPlayerReorderedCallbacks.ts} +12 -32
  185. package/src/callbacks/postSlotInitUpdate.ts +5 -2
  186. package/src/callbacks/postSlotRender.ts +2 -2
  187. package/src/callbacks/reorderedCallbacks.ts +10 -9
  188. package/src/callbacks/subscriptions/postFirstFlip.ts +6 -3
  189. package/src/callbacks/subscriptions/postFlip.ts +6 -3
  190. package/src/callbacks/subscriptions/postGridEntityCustomRender.ts +41 -0
  191. package/src/callbacks/subscriptions/postGridEntityCustomUpdate.ts +41 -0
  192. package/src/callbacks/subscriptions/{postPlayerInitReordered.ts → postPlayerInitFirst.ts} +6 -6
  193. package/src/constants.ts +1 -9
  194. package/src/constantsFirstLast.ts +16 -0
  195. package/src/enums/ModCallbackCustom.ts +52 -25
  196. package/src/enums/private/StageTravelState.ts +8 -0
  197. package/src/enums/private/TrapdoorAnimation.ts +5 -0
  198. package/src/features/customGridEntity.ts +118 -12
  199. package/src/features/customStage/exports.ts +3 -22
  200. package/src/features/customStage/init.ts +30 -1
  201. package/src/features/customStage/streakText.ts +13 -5
  202. package/src/features/customStage/versusScreen.ts +20 -12
  203. package/src/features/customTrapdoor/blackSprite.ts +16 -0
  204. package/src/features/customTrapdoor/customTrapdoorConstants.ts +23 -0
  205. package/src/features/customTrapdoor/exports.ts +99 -0
  206. package/src/features/customTrapdoor/init.ts +217 -0
  207. package/src/features/customTrapdoor/openClose.ts +103 -0
  208. package/src/features/customTrapdoor/touched.ts +195 -0
  209. package/src/features/customTrapdoor/v.ts +26 -0
  210. package/src/features/deployJSONRoom.ts +10 -5
  211. package/src/features/extraConsoleCommands/init.ts +5 -2
  212. package/src/features/extraConsoleCommands/listCommands.ts +6 -8
  213. package/src/features/pause.ts +97 -7
  214. package/src/features/persistentEntities.ts +9 -8
  215. package/src/features/pickupIndex.ts +257 -0
  216. package/src/features/playerInventory.ts +2 -2
  217. package/src/features/roomHistory.ts +113 -0
  218. package/src/features/saveDataManager/main.ts +3 -3
  219. package/src/features/taintedLazarusPlayers.ts +37 -36
  220. package/src/functions/{character.ts → characters.ts} +13 -0
  221. package/src/functions/collectibles.ts +26 -13
  222. package/src/functions/deepCopy.ts +2 -2
  223. package/src/functions/entities.ts +7 -4
  224. package/src/functions/gridEntities.ts +2 -2
  225. package/src/functions/isaacAPIClass.ts +106 -1
  226. package/src/functions/pickupVariants.ts +2 -2
  227. package/src/functions/playerCenter.ts +2 -2
  228. package/src/functions/playerIndex.ts +26 -23
  229. package/src/functions/players.ts +1 -1
  230. package/src/functions/revive.ts +1 -1
  231. package/src/functions/rng.ts +1 -1
  232. package/src/functions/roomData.ts +3 -2
  233. package/src/functions/rooms.ts +6 -6
  234. package/src/functions/stage.ts +10 -1
  235. package/src/functions/table.ts +2 -2
  236. package/src/index.ts +9 -2
  237. package/src/initCustomCallbacks.ts +7 -1
  238. package/src/initFeatures.ts +13 -2
  239. package/src/interfaces/AddCallbackParameterCustom.ts +6 -2
  240. package/src/interfaces/CustomGridEntityData.ts +7 -2
  241. package/src/interfaces/RoomDescription.ts +19 -0
  242. package/src/interfaces/private/CustomTrapdoorDescription.ts +7 -0
  243. package/src/lib/jsonLua.lua +2 -0
  244. package/src/objects/callbackRegisterFunctions.ts +8 -3
  245. package/src/objects/characterDamageMultipliers.ts +49 -0
  246. package/src/types/CollectibleIndex.ts +1 -1
  247. package/src/types/PickupIndex.ts +15 -0
  248. package/src/types/PlayerIndex.ts +1 -1
  249. package/src/upgradeMod.ts +4 -4
  250. package/dist/callbacks/postPlayerReordered.d.ts +0 -2
  251. package/dist/callbacks/postPlayerReordered.d.ts.map +0 -1
  252. package/dist/callbacks/subscriptions/postPlayerInitReordered.d.ts.map +0 -1
  253. package/dist/functions/character.d.ts.map +0 -1
@@ -56,120 +56,124 @@ ____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 23
56
56
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN] = "POST_GRID_ENTITY_BROKEN"
57
57
  ____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 24
58
58
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION] = "POST_GRID_ENTITY_COLLISION"
59
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 25
59
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER = 25
60
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER] = "POST_GRID_ENTITY_CUSTOM_RENDER"
61
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE = 26
62
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE] = "POST_GRID_ENTITY_CUSTOM_UPDATE"
63
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 27
60
64
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT] = "POST_GRID_ENTITY_INIT"
61
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 26
65
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 28
62
66
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE] = "POST_GRID_ENTITY_REMOVE"
63
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 27
67
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 29
64
68
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER] = "POST_GRID_ENTITY_RENDER"
65
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 28
69
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 30
66
70
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED] = "POST_GRID_ENTITY_STATE_CHANGED"
67
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 29
71
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 31
68
72
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE] = "POST_GRID_ENTITY_UPDATE"
69
- ____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 30
73
+ ____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 32
70
74
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED] = "POST_HOLY_MANTLE_REMOVED"
71
- ____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 31
75
+ ____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 33
72
76
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_DISCHARGE] = "POST_ITEM_DISCHARGE"
73
- ____exports.ModCallbackCustom.POST_ITEM_PICKUP = 32
77
+ ____exports.ModCallbackCustom.POST_ITEM_PICKUP = 34
74
78
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_PICKUP] = "POST_ITEM_PICKUP"
75
- ____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 33
79
+ ____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 35
76
80
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE] = "POST_KNIFE_INIT_LATE"
77
- ____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 34
81
+ ____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 36
78
82
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_LASER_INIT_LATE] = "POST_LASER_INIT_LATE"
79
- ____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 35
83
+ ____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 37
80
84
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = "POST_NEW_LEVEL_REORDERED"
81
- ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 36
85
+ ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 38
82
86
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
83
- ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 37
87
+ ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 39
84
88
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
85
- ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 38
89
+ ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 40
86
90
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
87
- ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 39
91
+ ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 41
88
92
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
89
- ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 40
93
+ ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 42
90
94
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
91
- ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 41
95
+ ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 43
92
96
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
93
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 42
97
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 44
94
98
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
95
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 43
99
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 45
96
100
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
97
- ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 44
101
+ ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 46
98
102
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
99
- ____exports.ModCallbackCustom.POST_PIT_RENDER = 45
103
+ ____exports.ModCallbackCustom.POST_PIT_RENDER = 47
100
104
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_RENDER] = "POST_PIT_RENDER"
101
- ____exports.ModCallbackCustom.POST_PIT_UPDATE = 46
105
+ ____exports.ModCallbackCustom.POST_PIT_UPDATE = 48
102
106
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
103
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 47
107
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 49
104
108
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
105
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 48
109
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 50
106
110
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
107
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 49
111
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 51
108
112
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
109
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 50
113
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 52
110
114
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
111
- ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 51
115
+ ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 53
112
116
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
113
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 52
117
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST = 54
118
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST] = "POST_PLAYER_INIT_FIRST"
119
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 55
114
120
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
115
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED = 53
116
- ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED] = "POST_PLAYER_INIT_REORDERED"
117
- ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 54
121
+ ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 56
118
122
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
119
- ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 55
123
+ ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 57
120
124
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
121
- ____exports.ModCallbackCustom.POST_POOP_RENDER = 56
125
+ ____exports.ModCallbackCustom.POST_POOP_RENDER = 58
122
126
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_RENDER] = "POST_POOP_RENDER"
123
- ____exports.ModCallbackCustom.POST_POOP_UPDATE = 57
127
+ ____exports.ModCallbackCustom.POST_POOP_UPDATE = 59
124
128
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
125
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 58
129
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 60
126
130
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
127
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 59
131
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 61
128
132
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
129
- ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 60
133
+ ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 62
130
134
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
131
- ____exports.ModCallbackCustom.POST_PURCHASE = 61
135
+ ____exports.ModCallbackCustom.POST_PURCHASE = 63
132
136
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PURCHASE] = "POST_PURCHASE"
133
- ____exports.ModCallbackCustom.POST_ROCK_RENDER = 62
137
+ ____exports.ModCallbackCustom.POST_ROCK_RENDER = 64
134
138
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
135
- ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 63
139
+ ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 65
136
140
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
137
- ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 64
141
+ ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 66
138
142
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
139
- ____exports.ModCallbackCustom.POST_SACRIFICE = 65
143
+ ____exports.ModCallbackCustom.POST_SACRIFICE = 67
140
144
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
141
- ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 66
145
+ ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 68
142
146
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
143
- ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 67
147
+ ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 69
144
148
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
145
- ____exports.ModCallbackCustom.POST_SLOT_INIT = 68
149
+ ____exports.ModCallbackCustom.POST_SLOT_INIT = 70
146
150
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
147
- ____exports.ModCallbackCustom.POST_SLOT_RENDER = 69
151
+ ____exports.ModCallbackCustom.POST_SLOT_RENDER = 71
148
152
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
149
- ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 70
153
+ ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 72
150
154
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
151
- ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 71
155
+ ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 73
152
156
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
153
- ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 72
157
+ ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 74
154
158
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
155
- ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 73
159
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 75
156
160
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
157
- ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 74
161
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 76
158
162
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
159
- ____exports.ModCallbackCustom.POST_TNT_RENDER = 75
163
+ ____exports.ModCallbackCustom.POST_TNT_RENDER = 77
160
164
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
161
- ____exports.ModCallbackCustom.POST_TNT_UPDATE = 76
165
+ ____exports.ModCallbackCustom.POST_TNT_UPDATE = 78
162
166
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
163
- ____exports.ModCallbackCustom.POST_TRANSFORMATION = 77
167
+ ____exports.ModCallbackCustom.POST_TRANSFORMATION = 79
164
168
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
165
- ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 78
169
+ ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 80
166
170
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
167
- ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 79
171
+ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 81
168
172
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
169
- ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 80
173
+ ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 82
170
174
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
171
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 81
175
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 83
172
176
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
173
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 82
177
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 84
174
178
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
175
179
  return ____exports
@@ -0,0 +1,9 @@
1
+ export declare enum StageTravelState {
2
+ NONE = 0,
3
+ PLAYERS_JUMPING_DOWN = 1,
4
+ PIXELATION_TO_BLACK = 2,
5
+ PAUSING_ON_BLACK = 3,
6
+ PIXELATION_TO_ROOM = 4,
7
+ PLAYERS_LAYING_DOWN = 5
8
+ }
9
+ //# sourceMappingURL=StageTravelState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageTravelState.d.ts","sourceRoot":"","sources":["../../../src/enums/private/StageTravelState.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,IAAI,IAAA;IACJ,oBAAoB,IAAA;IACpB,mBAAmB,IAAA;IACnB,gBAAgB,IAAA;IAChB,kBAAkB,IAAA;IAClB,mBAAmB,IAAA;CACpB"}
@@ -0,0 +1,15 @@
1
+ local ____exports = {}
2
+ ____exports.StageTravelState = {}
3
+ ____exports.StageTravelState.NONE = 0
4
+ ____exports.StageTravelState[____exports.StageTravelState.NONE] = "NONE"
5
+ ____exports.StageTravelState.PLAYERS_JUMPING_DOWN = 1
6
+ ____exports.StageTravelState[____exports.StageTravelState.PLAYERS_JUMPING_DOWN] = "PLAYERS_JUMPING_DOWN"
7
+ ____exports.StageTravelState.PIXELATION_TO_BLACK = 2
8
+ ____exports.StageTravelState[____exports.StageTravelState.PIXELATION_TO_BLACK] = "PIXELATION_TO_BLACK"
9
+ ____exports.StageTravelState.PAUSING_ON_BLACK = 3
10
+ ____exports.StageTravelState[____exports.StageTravelState.PAUSING_ON_BLACK] = "PAUSING_ON_BLACK"
11
+ ____exports.StageTravelState.PIXELATION_TO_ROOM = 4
12
+ ____exports.StageTravelState[____exports.StageTravelState.PIXELATION_TO_ROOM] = "PIXELATION_TO_ROOM"
13
+ ____exports.StageTravelState.PLAYERS_LAYING_DOWN = 5
14
+ ____exports.StageTravelState[____exports.StageTravelState.PLAYERS_LAYING_DOWN] = "PLAYERS_LAYING_DOWN"
15
+ return ____exports
@@ -0,0 +1,6 @@
1
+ export declare enum TrapdoorAnimation {
2
+ OPENED = "Opened",
3
+ CLOSED = "Closed",
4
+ OPEN_ANIMATION = "Open Animation"
5
+ }
6
+ //# sourceMappingURL=TrapdoorAnimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrapdoorAnimation.d.ts","sourceRoot":"","sources":["../../../src/enums/private/TrapdoorAnimation.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;CAClC"}
@@ -0,0 +1,6 @@
1
+ local ____exports = {}
2
+ ____exports.TrapdoorAnimation = {}
3
+ ____exports.TrapdoorAnimation.OPENED = "Opened"
4
+ ____exports.TrapdoorAnimation.CLOSED = "Closed"
5
+ ____exports.TrapdoorAnimation.OPEN_ANIMATION = "Open Animation"
6
+ return ____exports
@@ -1,6 +1,9 @@
1
1
  import { GridCollisionClass, GridEntityType } from "isaac-typescript-definitions";
2
+ import { CustomGridEntityData } from "../interfaces/CustomGridEntityData";
2
3
  /**
3
- * Helper function to spawn a custom grid entity.
4
+ * Helper function to spawn a custom grid entity. Custom grid entities are persistent in that they
5
+ * will reappear if the player leaves and re-enters the room. (It will be manually respawned in the
6
+ * `POST_NEW_ROOM` callback.)
4
7
  *
5
8
  * This is an IsaacScript feature because the vanilla game does not support any custom grid
6
9
  * entities. Under the hood, IsaacScript accomplishes this by using decorations with an arbitrary
@@ -17,12 +20,13 @@ import { GridCollisionClass, GridEntityType } from "isaac-typescript-definitions
17
20
  * @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
18
21
  * entity at. If a position is specified, the closest grid index will be
19
22
  * used.
20
- * @param anm2 The path to the ANM2 file to use for the sprite.
21
- * @param defaultAnimation The name of the animation to play after the sprite is initialized and
22
- * after the player re-enters a room with this grid entity in it.
23
23
  * @param gridCollisionClass The collision class that you want the custom grid entity to have.
24
+ * @param anm2Path The path to the ANM2 file to use for the sprite.
25
+ * @param defaultAnimation Optional. The name of the animation to play after the sprite is
26
+ * initialized and after the player re-enters a room with this grid entity
27
+ * in it. If not specified, the default animation in the anm2 will be used.
24
28
  */
25
- export declare function spawnCustomGrid(gridEntityTypeCustom: GridEntityType, gridIndexOrPosition: int | Vector, anm2: string, defaultAnimation: string, gridCollisionClass: GridCollisionClass): GridEntity;
29
+ export declare function spawnCustomGridEntity(gridEntityTypeCustom: GridEntityType, gridIndexOrPosition: int | Vector, gridCollisionClass: GridCollisionClass, anm2Path: string, defaultAnimation?: string): GridEntity;
26
30
  /**
27
31
  * Helper function to remove a custom grid entity created by the `spawnCustomGrid` function.
28
32
  *
@@ -39,4 +43,12 @@ export declare function spawnCustomGrid(gridEntityTypeCustom: GridEntityType, gr
39
43
  * given location or if the given grid entity was not a custom grid entity.
40
44
  */
41
45
  export declare function removeCustomGrid(gridIndexOrPositionOrGridEntity: int | Vector | GridEntity, updateRoom?: boolean): GridEntity | undefined;
46
+ /**
47
+ * Helper function to get the custom grid entities in the current room. Returns an array of tuples
48
+ * containing the raw decoration grid entity and the associated entity data.
49
+ */
50
+ export declare function getCustomGridEntities(): Array<[
51
+ gridEntity: GridEntity,
52
+ data: CustomGridEntityData
53
+ ]>;
42
54
  //# sourceMappingURL=customGridEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"customGridEntity.d.ts","sourceRoot":"","sources":["../../src/features/customGridEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AA6DtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAC7B,oBAAoB,EAAE,cAAc,EACpC,mBAAmB,EAAE,GAAG,GAAG,MAAM,EACjC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,kBAAkB,GACrC,UAAU,CA4CZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,+BAA+B,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,EAC1D,UAAU,UAAO,GAChB,UAAU,GAAG,SAAS,CAqCxB"}
1
+ {"version":3,"file":"customGridEntity.d.ts","sourceRoot":"","sources":["../../src/features/customGridEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAatC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAsH1E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CACnC,oBAAoB,EAAE,cAAc,EACpC,mBAAmB,EAAE,GAAG,GAAG,MAAM,EACjC,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB,UAAU,CAgDZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,+BAA+B,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,EAC1D,UAAU,UAAO,GAChB,UAAU,GAAG,SAAS,CAqCxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,KAAK,CAC5C;IAAC,UAAU,EAAE,UAAU;IAAE,IAAI,EAAE,oBAAoB;CAAC,CACrD,CAiBA"}
@@ -3,9 +3,12 @@ local Map = ____lualib.Map
3
3
  local __TS__New = ____lualib.__TS__New
4
4
  local __TS__Iterator = ____lualib.__TS__Iterator
5
5
  local ____exports = {}
6
- local postNewRoomReordered, v
6
+ local preUseItemWeNeedToGoDeeper, postNewRoomReordered, v
7
7
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
8
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
9
+ local GridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.GridCollisionClass
8
10
  local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
11
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
9
12
  local ____cachedClasses = require("cachedClasses")
10
13
  local game = ____cachedClasses.game
11
14
  local ____DefaultMap = require("classes.DefaultMap")
@@ -23,8 +26,45 @@ local ____roomData = require("functions.roomData")
23
26
  local getRoomListIndex = ____roomData.getRoomListIndex
24
27
  local ____vector = require("functions.vector")
25
28
  local isVector = ____vector.isVector
29
+ local ____runInNFrames = require("features.runInNFrames")
30
+ local runNextGameFrame = ____runInNFrames.runNextGameFrame
26
31
  local ____exports = require("features.saveDataManager.exports")
27
32
  local saveDataManager = ____exports.saveDataManager
33
+ function preUseItemWeNeedToGoDeeper(self, _collectibleType, _rng, player, _useFlags, _activeSlot, _customVarData)
34
+ local room = game:GetRoom()
35
+ local roomListIndex = getRoomListIndex(nil)
36
+ local roomCustomGridEntities = v.level.customGridEntities:get(roomListIndex)
37
+ if roomCustomGridEntities == nil then
38
+ return nil
39
+ end
40
+ local gridIndex = room:GetGridIndex(player.Position)
41
+ local customGridEntity = roomCustomGridEntities:get(gridIndex)
42
+ if customGridEntity == nil then
43
+ return nil
44
+ end
45
+ if customGridEntity.gridCollisionClass ~= GridCollisionClass.NONE then
46
+ return nil
47
+ end
48
+ removeGridEntity(nil, customGridEntity.gridIndex, false)
49
+ local playerPtr = EntityPtr(player)
50
+ runNextGameFrame(
51
+ nil,
52
+ function()
53
+ local futureEntity = playerPtr.Ref
54
+ if futureEntity == nil then
55
+ return
56
+ end
57
+ local futurePlayer = futureEntity:ToPlayer()
58
+ if futurePlayer == nil then
59
+ return
60
+ end
61
+ v.room.manuallyUsingShovel = true
62
+ futurePlayer:UseActiveItem(CollectibleType.WE_NEED_TO_GO_DEEPER)
63
+ v.room.manuallyUsingShovel = false
64
+ end
65
+ )
66
+ return true
67
+ end
28
68
  function postNewRoomReordered(self)
29
69
  local roomListIndex = getRoomListIndex(nil)
30
70
  local roomCustomGridEntities = v.level.customGridEntities:get(roomListIndex)
@@ -39,27 +79,34 @@ function postNewRoomReordered(self)
39
79
  local decoration = room:GetGridEntity(gridIndex)
40
80
  if decoration == nil then
41
81
  roomCustomGridEntities:delete(gridIndex)
42
- goto __continue6
82
+ goto __continue13
43
83
  end
44
84
  local sprite = decoration:GetSprite()
45
- sprite:Load(data.anm2, true)
46
- sprite:Play(data.defaultAnimation, true)
85
+ sprite:Load(data.anm2Path, true)
86
+ local animationToPlay = data.defaultAnimation == nil and sprite:GetDefaultAnimation() or data.defaultAnimation
87
+ sprite:Play(animationToPlay, true)
47
88
  end
48
- ::__continue6::
89
+ ::__continue13::
49
90
  end
50
91
  end
51
92
  local FEATURE_NAME = "customGridEntity"
52
- v = {level = {customGridEntities = __TS__New(
53
- DefaultMap,
54
- function() return __TS__New(Map) end
55
- )}}
93
+ v = {
94
+ level = {customGridEntities = __TS__New(
95
+ DefaultMap,
96
+ function() return __TS__New(Map) end
97
+ )},
98
+ room = {manuallyUsingShovel = false}
99
+ }
56
100
  ---
57
101
  -- @internal
58
102
  function ____exports.customGridEntityInit(self, mod)
59
103
  saveDataManager(nil, FEATURE_NAME, v)
104
+ mod:AddCallback(ModCallback.PRE_USE_ITEM, preUseItemWeNeedToGoDeeper, CollectibleType.WE_NEED_TO_GO_DEEPER)
60
105
  mod:AddCallbackCustom(ModCallbackCustom.POST_NEW_ROOM_REORDERED, postNewRoomReordered)
61
106
  end
62
- --- Helper function to spawn a custom grid entity.
107
+ --- Helper function to spawn a custom grid entity. Custom grid entities are persistent in that they
108
+ -- will reappear if the player leaves and re-enters the room. (It will be manually respawned in the
109
+ -- `POST_NEW_ROOM` callback.)
63
110
  --
64
111
  -- This is an IsaacScript feature because the vanilla game does not support any custom grid
65
112
  -- entities. Under the hood, IsaacScript accomplishes this by using decorations with an arbitrary
@@ -76,11 +123,12 @@ end
76
123
  -- @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
77
124
  -- entity at. If a position is specified, the closest grid index will be
78
125
  -- used.
79
- -- @param anm2 The path to the ANM2 file to use for the sprite.
80
- -- @param defaultAnimation The name of the animation to play after the sprite is initialized and
81
- -- after the player re-enters a room with this grid entity in it.
82
126
  -- @param gridCollisionClass The collision class that you want the custom grid entity to have.
83
- function ____exports.spawnCustomGrid(self, gridEntityTypeCustom, gridIndexOrPosition, anm2, defaultAnimation, gridCollisionClass)
127
+ -- @param anm2Path The path to the ANM2 file to use for the sprite.
128
+ -- @param defaultAnimation Optional. The name of the animation to play after the sprite is
129
+ -- initialized and after the player re-enters a room with this grid entity
130
+ -- in it. If not specified, the default animation in the anm2 will be used.
131
+ function ____exports.spawnCustomGridEntity(self, gridEntityTypeCustom, gridIndexOrPosition, gridCollisionClass, anm2Path, defaultAnimation)
84
132
  errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
85
133
  local room = game:GetRoom()
86
134
  local roomListIndex = getRoomListIndex(nil)
@@ -92,13 +140,14 @@ function ____exports.spawnCustomGrid(self, gridEntityTypeCustom, gridIndexOrPosi
92
140
  error("Failed to spawn a decoration for a custom grid entity.")
93
141
  end
94
142
  local sprite = decoration:GetSprite()
95
- sprite:Load(anm2, true)
96
- sprite:Play(defaultAnimation, true)
143
+ sprite:Load(anm2Path, true)
144
+ local animationToPlay = defaultAnimation == nil and sprite:GetDefaultAnimation() or defaultAnimation
145
+ sprite:Play(animationToPlay, true)
97
146
  local customGridEntityData = {
98
147
  gridEntityTypeCustom = gridEntityTypeCustom,
99
148
  roomListIndex = roomListIndex,
100
149
  gridIndex = gridIndex,
101
- anm2 = anm2,
150
+ anm2Path = anm2Path,
102
151
  defaultAnimation = defaultAnimation,
103
152
  gridCollisionClass = gridCollisionClass
104
153
  }
@@ -153,4 +202,24 @@ function ____exports.removeCustomGrid(self, gridIndexOrPositionOrGridEntity, upd
153
202
  removeGridEntity(nil, decoration, updateRoom)
154
203
  return decoration
155
204
  end
205
+ --- Helper function to get the custom grid entities in the current room. Returns an array of tuples
206
+ -- containing the raw decoration grid entity and the associated entity data.
207
+ function ____exports.getCustomGridEntities(self)
208
+ local roomListIndex = getRoomListIndex(nil)
209
+ local roomCustomGridEntities = v.level.customGridEntities:get(roomListIndex)
210
+ if roomCustomGridEntities == nil then
211
+ return {}
212
+ end
213
+ local room = game:GetRoom()
214
+ local customGridEntities = {}
215
+ for ____, ____value in __TS__Iterator(roomCustomGridEntities:entries()) do
216
+ local gridIndex = ____value[1]
217
+ local data = ____value[2]
218
+ local gridEntity = room:GetGridEntity(gridIndex)
219
+ if gridEntity ~= nil then
220
+ customGridEntities[#customGridEntities + 1] = {gridEntity, data}
221
+ end
222
+ end
223
+ return customGridEntities
224
+ end
156
225
  return ____exports
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAOX,MAAM,8BAA8B,CAAC;AAsBtC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,IAAI,CA+GlE;AAUD,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACtB,IAAI,CAGN"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAMX,MAAM,8BAA8B,CAAC;AAoBtC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,IAAI,CAwGlE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACtB,IAAI,CAGN"}
@@ -1,13 +1,10 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local Map = ____lualib.Map
3
3
  local ____exports = {}
4
- local postRoomTransition
5
4
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
6
- local Direction = ____isaac_2Dtypescript_2Ddefinitions.Direction
7
5
  local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
8
6
  local LevelStage = ____isaac_2Dtypescript_2Ddefinitions.LevelStage
9
7
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
10
- local RoomTransitionAnim = ____isaac_2Dtypescript_2Ddefinitions.RoomTransitionAnim
11
8
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
12
9
  local StageType = ____isaac_2Dtypescript_2Ddefinitions.StageType
13
10
  local ____cachedClasses = require("cachedClasses")
@@ -19,8 +16,6 @@ local getEntityIDFromConstituents = ____entities.getEntityIDFromConstituents
19
16
  local ____log = require("functions.log")
20
17
  local log = ____log.log
21
18
  local logError = ____log.logError
22
- local ____playerCenter = require("functions.playerCenter")
23
- local movePlayersToCenter = ____playerCenter.movePlayersToCenter
24
19
  local ____rng = require("functions.rng")
25
20
  local newRNG = ____rng.newRNG
26
21
  local ____roomData = require("functions.roomData")
@@ -30,8 +25,6 @@ local getRooms = ____rooms.getRooms
30
25
  local ____stage = require("functions.stage")
31
26
  local getGotoCommand = ____stage.getGotoCommand
32
27
  local setStage = ____stage.setStage
33
- local ____runNextRoom = require("features.runNextRoom")
34
- local runNextRoom = ____runNextRoom.runNextRoom
35
28
  local ____customStageUtils = require("features.customStage.customStageUtils")
36
29
  local getRandomCustomStageRoom = ____customStageUtils.getRandomCustomStageRoom
37
30
  local ____streakText = require("features.customStage.streakText")
@@ -41,10 +34,6 @@ local v = ____v.default
41
34
  local customBossPNGPaths = ____v.customBossPNGPaths
42
35
  local customStageCachedRoomData = ____v.customStageCachedRoomData
43
36
  local customStagesMap = ____v.customStagesMap
44
- function postRoomTransition(self)
45
- movePlayersToCenter(nil)
46
- topStreakTextStart(nil)
47
- end
48
37
  local DEFAULT_BASE_STAGE = LevelStage.BASEMENT_2
49
38
  local DEFAULT_BASE_STAGE_TYPE = StageType.ORIGINAL
50
39
  --- Helper function to warp to a custom stage/level.
@@ -116,8 +105,6 @@ function ____exports.setCustomStage(self, name, verbose)
116
105
  local stageType = StageType.WRATH_OF_THE_LAMB
117
106
  level:SetStage(stage, stageType)
118
107
  reorderedCallbacksSetStage(nil, stage, stageType)
119
- game:StartRoomTransition(startingRoomGridIndex, Direction.NO_DIRECTION, RoomTransitionAnim.FADE)
120
- runNextRoom(nil, postRoomTransition)
121
108
  end
122
109
  function ____exports.setCustomStageDebug(self)
123
110
  local customStage = v.run.currentCustomStage
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/init.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AA8BxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAoBtD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/init.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAiCxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CA4BtD"}
@@ -3,14 +3,18 @@ local Map = ____lualib.Map
3
3
  local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
4
4
  local __TS__New = ____lualib.__TS__New
5
5
  local ____exports = {}
6
- local initRoomTypeMaps, getRoomTypeMap, postRender, postGameStarted, getShaderParams, postGridEntityBrokenRockAlt, postGridEntityBrokenInit, postNewRoomReordered
6
+ local initRoomTypeMaps, getRoomTypeMap, postRender, postCurseEval, postGameStarted, getShaderParams, postGridEntityBrokenRockAlt, postGridEntityBrokenInit, postNewRoomReordered
7
7
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
8
8
  local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
9
+ local LevelCurse = ____isaac_2Dtypescript_2Ddefinitions.LevelCurse
9
10
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
10
11
  local ____ModCallbackCustom = require("enums.ModCallbackCustom")
11
12
  local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
12
13
  local ____array = require("functions.array")
13
14
  local isArray = ____array.isArray
15
+ local ____flag = require("functions.flag")
16
+ local hasFlag = ____flag.hasFlag
17
+ local removeFlag = ____flag.removeFlag
14
18
  local ____exports = require("features.saveDataManager.exports")
15
19
  local saveDataManager = ____exports.saveDataManager
16
20
  local ____backdrop = require("features.customStage.backdrop")
@@ -26,6 +30,7 @@ local ____shadows = require("features.customStage.shadows")
26
30
  local setShadows = ____shadows.setShadows
27
31
  local ____streakText = require("features.customStage.streakText")
28
32
  local streakTextGetShaderParams = ____streakText.streakTextGetShaderParams
33
+ local streakTextInit = ____streakText.streakTextInit
29
34
  local streakTextPostGameStarted = ____streakText.streakTextPostGameStarted
30
35
  local streakTextPostRender = ____streakText.streakTextPostRender
31
36
  local ____v = require("features.customStage.v")
@@ -33,6 +38,7 @@ local v = ____v.default
33
38
  local customStagesMap = ____v.customStagesMap
34
39
  local ____versusScreen = require("features.customStage.versusScreen")
35
40
  local playVersusScreenAnimation = ____versusScreen.playVersusScreenAnimation
41
+ local versusScreenInit = ____versusScreen.versusScreenInit
36
42
  local versusScreenPostRender = ____versusScreen.versusScreenPostRender
37
43
  function initRoomTypeMaps(self)
38
44
  if not isArray(nil, metadataJSON) then
@@ -78,6 +84,16 @@ function postRender(self)
78
84
  streakTextPostRender(nil)
79
85
  versusScreenPostRender(nil)
80
86
  end
87
+ function postCurseEval(self, curses)
88
+ local customStage = v.run.currentCustomStage
89
+ if customStage == nil then
90
+ return nil
91
+ end
92
+ if hasFlag(nil, curses, LevelCurse.MAZE) then
93
+ return removeFlag(nil, curses, LevelCurse.MAZE)
94
+ end
95
+ return nil
96
+ end
81
97
  function postGameStarted(self)
82
98
  streakTextPostGameStarted(nil)
83
99
  end
@@ -116,9 +132,15 @@ function postNewRoomReordered(self)
116
132
  playVersusScreenAnimation(nil, customStage)
117
133
  end
118
134
  function ____exports.customStageInit(self, mod)
119
- saveDataManager(nil, "customStage", v)
120
135
  initRoomTypeMaps(nil)
136
+ if customStagesMap.size == 0 then
137
+ return
138
+ end
139
+ saveDataManager(nil, "customStage", v)
140
+ streakTextInit(nil)
141
+ versusScreenInit(nil)
121
142
  mod:AddCallback(ModCallback.POST_RENDER, postRender)
143
+ mod:AddCallback(ModCallback.POST_CURSE_EVAL, postCurseEval)
122
144
  mod:AddCallback(ModCallback.POST_GAME_STARTED, postGameStarted)
123
145
  mod:AddCallback(ModCallback.GET_SHADER_PARAMS, getShaderParams)
124
146
  mod:AddCallbackCustom(ModCallbackCustom.POST_GRID_ENTITY_BROKEN, postGridEntityBrokenRockAlt, GridEntityType.ROCK_ALT)
@@ -1,4 +1,10 @@
1
1
  import { CustomStage } from "../../interfaces/CustomStage";
2
+ /**
3
+ * We must load the sprites in an init function to prevent issues with mods that replace the vanilla
4
+ * files. (For some reason, loading the sprites will cause the overwrite to no longer apply on the
5
+ * second and subsequent runs.)
6
+ */
7
+ export declare function streakTextInit(): void;
2
8
  export declare function streakTextPostRender(): void;
3
9
  export declare function streakTextPostGameStarted(): void;
4
10
  export declare function streakTextGetShaderParams(customStage: CustomStage, shaderName: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"streakText.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/streakText.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AA+F3D,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AAmFD,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAGD,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,GACjB,IAAI,CAYN;AAiFD,wBAAgB,kBAAkB,IAAI,IAAI,CAUzC"}
1
+ {"version":3,"file":"streakText.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/streakText.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AA0F3D;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAMrC;AAGD,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AAmFD,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAGD,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,GACjB,IAAI,CAYN;AAgFD,wBAAgB,kBAAkB,IAAI,IAAI,CAUzC"}