isaacscript-common 6.6.0 → 6.6.1-dev.2

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 (820) hide show
  1. package/cachedClasses.d.ts +1 -0
  2. package/cachedClasses.js +59 -0
  3. package/cachedClasses.lua +2 -0
  4. package/callbacks/customRevive.js +153 -0
  5. package/callbacks/customRevive.lua +2 -0
  6. package/callbacks/itemPickup.js +64 -0
  7. package/callbacks/itemPickup.lua +2 -0
  8. package/callbacks/postAmbush.js +54 -0
  9. package/callbacks/postAmbush.lua +2 -0
  10. package/callbacks/postBombExploded.js +20 -0
  11. package/callbacks/postBombExploded.lua +2 -0
  12. package/callbacks/postBombInitLate.js +28 -0
  13. package/callbacks/postBombInitLate.lua +2 -0
  14. package/callbacks/postBoneSwing.js +49 -0
  15. package/callbacks/postBoneSwing.lua +2 -0
  16. package/callbacks/postCollectibleEmpty.js +32 -0
  17. package/callbacks/postCollectibleEmpty.lua +2 -0
  18. package/callbacks/postCollectibleInitFirst.js +27 -0
  19. package/callbacks/postCollectibleInitFirst.lua +2 -0
  20. package/callbacks/postCursedTeleport.js +120 -0
  21. package/callbacks/postCursedTeleport.lua +2 -0
  22. package/callbacks/postCustomDoorEnter.js +205 -0
  23. package/callbacks/postCustomDoorEnter.lua +2 -0
  24. package/callbacks/postDiceRoomActivated.js +39 -0
  25. package/callbacks/postDiceRoomActivated.lua +2 -0
  26. package/callbacks/postDoorRender.js +20 -0
  27. package/callbacks/postDoorRender.lua +2 -0
  28. package/callbacks/postDoorUpdate.js +20 -0
  29. package/callbacks/postDoorUpdate.lua +2 -0
  30. package/callbacks/postEffectInitLate.js +28 -0
  31. package/callbacks/postEffectInitLate.lua +2 -0
  32. package/callbacks/postEffectStateChanged.js +31 -0
  33. package/callbacks/postEffectStateChanged.lua +2 -0
  34. package/callbacks/postEsauJr.js +70 -0
  35. package/callbacks/postEsauJr.lua +2 -0
  36. package/callbacks/postFamiliarInitLate.js +28 -0
  37. package/callbacks/postFamiliarInitLate.lua +2 -0
  38. package/callbacks/postFamiliarStateChanged.js +31 -0
  39. package/callbacks/postFamiliarStateChanged.lua +2 -0
  40. package/callbacks/postFlip.js +59 -0
  41. package/callbacks/postFlip.lua +2 -0
  42. package/callbacks/postGreedModeWave.js +31 -0
  43. package/callbacks/postGreedModeWave.lua +2 -0
  44. package/callbacks/postGridEntity.js +107 -0
  45. package/callbacks/postGridEntity.lua +2 -0
  46. package/callbacks/postGridEntityCollision.js +49 -0
  47. package/callbacks/postGridEntityCollision.lua +2 -0
  48. package/callbacks/postGridEntityRender.js +20 -0
  49. package/callbacks/postGridEntityRender.lua +2 -0
  50. package/callbacks/postHolyMantleRemoved.js +33 -0
  51. package/callbacks/postHolyMantleRemoved.lua +2 -0
  52. package/callbacks/postItemDischarged.js +94 -0
  53. package/callbacks/postItemDischarged.lua +2 -0
  54. package/callbacks/postKnifeInitLate.js +28 -0
  55. package/callbacks/postKnifeInitLate.lua +2 -0
  56. package/callbacks/postLaserInitLate.js +28 -0
  57. package/callbacks/postLaserInitLate.lua +2 -0
  58. package/callbacks/postNPCInitLate.js +28 -0
  59. package/callbacks/postNPCInitLate.lua +2 -0
  60. package/callbacks/postNPCStateChanged.js +31 -0
  61. package/callbacks/postNPCStateChanged.lua +2 -0
  62. package/callbacks/postNewRoomEarly.js +69 -0
  63. package/callbacks/postNewRoomEarly.lua +2 -0
  64. package/callbacks/postPickupCollect.js +37 -0
  65. package/callbacks/postPickupCollect.lua +2 -0
  66. package/callbacks/postPickupInitFirst.js +52 -0
  67. package/callbacks/postPickupInitFirst.lua +2 -0
  68. package/callbacks/postPickupInitLate.js +28 -0
  69. package/callbacks/postPickupInitLate.lua +2 -0
  70. package/callbacks/postPickupStateChanged.js +31 -0
  71. package/callbacks/postPickupStateChanged.lua +2 -0
  72. package/callbacks/postPitRender.js +20 -0
  73. package/callbacks/postPitRender.lua +2 -0
  74. package/callbacks/postPitUpdate.js +20 -0
  75. package/callbacks/postPitUpdate.lua +2 -0
  76. package/callbacks/postPlayerChangeHealth.js +43 -0
  77. package/callbacks/postPlayerChangeHealth.lua +2 -0
  78. package/callbacks/postPlayerChangeType.js +31 -0
  79. package/callbacks/postPlayerChangeType.lua +2 -0
  80. package/callbacks/postPlayerCollectible.js +74 -0
  81. package/callbacks/postPlayerCollectible.lua +2 -0
  82. package/callbacks/postPlayerFatalDamage.js +74 -0
  83. package/callbacks/postPlayerFatalDamage.lua +2 -0
  84. package/callbacks/postPlayerInitLate.js +28 -0
  85. package/callbacks/postPlayerInitLate.lua +2 -0
  86. package/callbacks/postPlayerReordered.js +109 -0
  87. package/callbacks/postPlayerReordered.lua +2 -0
  88. package/callbacks/postPoopRender.js +20 -0
  89. package/callbacks/postPoopRender.lua +2 -0
  90. package/callbacks/postPoopUpdate.js +20 -0
  91. package/callbacks/postPoopUpdate.lua +2 -0
  92. package/callbacks/postPressurePlateRender.js +20 -0
  93. package/callbacks/postPressurePlateRender.lua +2 -0
  94. package/callbacks/postPressurePlateUpdate.js +20 -0
  95. package/callbacks/postPressurePlateUpdate.lua +2 -0
  96. package/callbacks/postProjectileInitLate.js +28 -0
  97. package/callbacks/postProjectileInitLate.lua +2 -0
  98. package/callbacks/postPurchase.js +39 -0
  99. package/callbacks/postPurchase.lua +2 -0
  100. package/callbacks/postRockRender.js +20 -0
  101. package/callbacks/postRockRender.lua +2 -0
  102. package/callbacks/postRockUpdate.js +20 -0
  103. package/callbacks/postRockUpdate.lua +2 -0
  104. package/callbacks/postRoomClearChanged.js +41 -0
  105. package/callbacks/postRoomClearChanged.lua +2 -0
  106. package/callbacks/postSacrifice.js +38 -0
  107. package/callbacks/postSacrifice.lua +2 -0
  108. package/callbacks/postSlotDestroyed.js +64 -0
  109. package/callbacks/postSlotDestroyed.lua +2 -0
  110. package/callbacks/postSlotInitUpdate.js +49 -0
  111. package/callbacks/postSlotInitUpdate.lua +2 -0
  112. package/callbacks/postSlotRender.js +48 -0
  113. package/callbacks/postSlotRender.lua +2 -0
  114. package/callbacks/postSpikesRender.js +20 -0
  115. package/callbacks/postSpikesRender.lua +2 -0
  116. package/callbacks/postSpikesUpdate.js +20 -0
  117. package/callbacks/postSpikesUpdate.lua +2 -0
  118. package/callbacks/postTNTRender.js +20 -0
  119. package/callbacks/postTNTRender.lua +2 -0
  120. package/callbacks/postTNTUpdate.js +20 -0
  121. package/callbacks/postTNTUpdate.lua +2 -0
  122. package/callbacks/postTearInitLate.js +28 -0
  123. package/callbacks/postTearInitLate.lua +2 -0
  124. package/callbacks/postTearInitVeryLate.js +32 -0
  125. package/callbacks/postTearInitVeryLate.lua +2 -0
  126. package/callbacks/postTransformation.js +37 -0
  127. package/callbacks/postTransformation.lua +2 -0
  128. package/callbacks/postTrinketBreak.js +64 -0
  129. package/callbacks/postTrinketBreak.lua +2 -0
  130. package/callbacks/preBerserkDeath.js +35 -0
  131. package/callbacks/preBerserkDeath.lua +2 -0
  132. package/callbacks/preNewLevel.js +45 -0
  133. package/callbacks/preNewLevel.lua +2 -0
  134. package/callbacks/reorderedCallbacks.js +136 -0
  135. package/callbacks/reorderedCallbacks.lua +2 -0
  136. package/callbacks/subscriptions/postAmbushFinished.js +20 -0
  137. package/callbacks/subscriptions/postAmbushFinished.lua +2 -0
  138. package/callbacks/subscriptions/postAmbushStarted.js +20 -0
  139. package/callbacks/subscriptions/postAmbushStarted.lua +2 -0
  140. package/callbacks/subscriptions/postBombInitLate.js +20 -0
  141. package/callbacks/subscriptions/postBombInitLate.lua +2 -0
  142. package/callbacks/subscriptions/postBoneExploded.js +20 -0
  143. package/callbacks/subscriptions/postBoneExploded.lua +2 -0
  144. package/callbacks/subscriptions/postBoneSwing.js +16 -0
  145. package/callbacks/subscriptions/postBoneSwing.lua +2 -0
  146. package/callbacks/subscriptions/postCollectibleEmpty.js +21 -0
  147. package/callbacks/subscriptions/postCollectibleEmpty.lua +2 -0
  148. package/callbacks/subscriptions/postCollectibleInitFirst.js +21 -0
  149. package/callbacks/subscriptions/postCollectibleInitFirst.lua +2 -0
  150. package/callbacks/subscriptions/postCursedTeleport.js +16 -0
  151. package/callbacks/subscriptions/postCursedTeleport.lua +2 -0
  152. package/callbacks/subscriptions/postCustomDoorEnter.js +21 -0
  153. package/callbacks/subscriptions/postCustomDoorEnter.lua +2 -0
  154. package/callbacks/subscriptions/postCustomRevive.js +21 -0
  155. package/callbacks/subscriptions/postCustomRevive.lua +2 -0
  156. package/callbacks/subscriptions/postDiceRoomActivated.js +21 -0
  157. package/callbacks/subscriptions/postDiceRoomActivated.lua +2 -0
  158. package/callbacks/subscriptions/postDoorRender.js +22 -0
  159. package/callbacks/subscriptions/postDoorRender.lua +2 -0
  160. package/callbacks/subscriptions/postDoorUpdate.js +22 -0
  161. package/callbacks/subscriptions/postDoorUpdate.lua +2 -0
  162. package/callbacks/subscriptions/postEffectInitLate.js +20 -0
  163. package/callbacks/subscriptions/postEffectInitLate.lua +2 -0
  164. package/callbacks/subscriptions/postEffectStateChanged.js +20 -0
  165. package/callbacks/subscriptions/postEffectStateChanged.lua +2 -0
  166. package/callbacks/subscriptions/postEsauJr.js +16 -0
  167. package/callbacks/subscriptions/postEsauJr.lua +2 -0
  168. package/callbacks/subscriptions/postFamiliarInitLate.js +20 -0
  169. package/callbacks/subscriptions/postFamiliarInitLate.lua +2 -0
  170. package/callbacks/subscriptions/postFamiliarStateChanged.js +20 -0
  171. package/callbacks/subscriptions/postFamiliarStateChanged.lua +2 -0
  172. package/callbacks/subscriptions/postFirstEsauJr.js +16 -0
  173. package/callbacks/subscriptions/postFirstEsauJr.lua +2 -0
  174. package/callbacks/subscriptions/postFirstFlip.js +16 -0
  175. package/callbacks/subscriptions/postFirstFlip.lua +2 -0
  176. package/callbacks/subscriptions/postFlip.js +16 -0
  177. package/callbacks/subscriptions/postFlip.lua +2 -0
  178. package/callbacks/subscriptions/postGameStartedReordered.js +16 -0
  179. package/callbacks/subscriptions/postGameStartedReordered.lua +2 -0
  180. package/callbacks/subscriptions/postGreedModeWave.js +16 -0
  181. package/callbacks/subscriptions/postGreedModeWave.lua +2 -0
  182. package/callbacks/subscriptions/postGridEntityBroken.js +28 -0
  183. package/callbacks/subscriptions/postGridEntityBroken.lua +2 -0
  184. package/callbacks/subscriptions/postGridEntityCollision.js +28 -0
  185. package/callbacks/subscriptions/postGridEntityCollision.lua +2 -0
  186. package/callbacks/subscriptions/postGridEntityInit.js +28 -0
  187. package/callbacks/subscriptions/postGridEntityInit.lua +2 -0
  188. package/callbacks/subscriptions/postGridEntityRemove.js +26 -0
  189. package/callbacks/subscriptions/postGridEntityRemove.lua +2 -0
  190. package/callbacks/subscriptions/postGridEntityRender.js +28 -0
  191. package/callbacks/subscriptions/postGridEntityRender.lua +2 -0
  192. package/callbacks/subscriptions/postGridEntityStateChanged.js +28 -0
  193. package/callbacks/subscriptions/postGridEntityStateChanged.lua +2 -0
  194. package/callbacks/subscriptions/postGridEntityUpdate.js +28 -0
  195. package/callbacks/subscriptions/postGridEntityUpdate.lua +2 -0
  196. package/callbacks/subscriptions/postHolyMantleRemoved.js +25 -0
  197. package/callbacks/subscriptions/postHolyMantleRemoved.lua +2 -0
  198. package/callbacks/subscriptions/postItemDischarged.js +21 -0
  199. package/callbacks/subscriptions/postItemDischarged.lua +2 -0
  200. package/callbacks/subscriptions/postItemPickup.js +25 -0
  201. package/callbacks/subscriptions/postItemPickup.lua +2 -0
  202. package/callbacks/subscriptions/postKnifeInitLate.js +20 -0
  203. package/callbacks/subscriptions/postKnifeInitLate.lua +2 -0
  204. package/callbacks/subscriptions/postLaserInitLate.js +20 -0
  205. package/callbacks/subscriptions/postLaserInitLate.lua +2 -0
  206. package/callbacks/subscriptions/postNPCInitLate.js +20 -0
  207. package/callbacks/subscriptions/postNPCInitLate.lua +2 -0
  208. package/callbacks/subscriptions/postNPCStateChanged.js +24 -0
  209. package/callbacks/subscriptions/postNPCStateChanged.lua +2 -0
  210. package/callbacks/subscriptions/postNewLevelReordered.js +16 -0
  211. package/callbacks/subscriptions/postNewLevelReordered.lua +2 -0
  212. package/callbacks/subscriptions/postNewRoomEarly.js +16 -0
  213. package/callbacks/subscriptions/postNewRoomEarly.lua +2 -0
  214. package/callbacks/subscriptions/postNewRoomReordered.js +16 -0
  215. package/callbacks/subscriptions/postNewRoomReordered.lua +2 -0
  216. package/callbacks/subscriptions/postPEffectUpdateReordered.js +25 -0
  217. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +2 -0
  218. package/callbacks/subscriptions/postPickupCollect.js +20 -0
  219. package/callbacks/subscriptions/postPickupCollect.lua +2 -0
  220. package/callbacks/subscriptions/postPickupInitFirst.js +20 -0
  221. package/callbacks/subscriptions/postPickupInitFirst.lua +2 -0
  222. package/callbacks/subscriptions/postPickupInitLate.js +20 -0
  223. package/callbacks/subscriptions/postPickupInitLate.lua +2 -0
  224. package/callbacks/subscriptions/postPickupStateChanged.js +20 -0
  225. package/callbacks/subscriptions/postPickupStateChanged.lua +2 -0
  226. package/callbacks/subscriptions/postPitRender.js +22 -0
  227. package/callbacks/subscriptions/postPitRender.lua +2 -0
  228. package/callbacks/subscriptions/postPitUpdate.js +22 -0
  229. package/callbacks/subscriptions/postPitUpdate.lua +2 -0
  230. package/callbacks/subscriptions/postPlayerChangeHealth.js +25 -0
  231. package/callbacks/subscriptions/postPlayerChangeHealth.lua +2 -0
  232. package/callbacks/subscriptions/postPlayerChangeType.js +20 -0
  233. package/callbacks/subscriptions/postPlayerChangeType.lua +2 -0
  234. package/callbacks/subscriptions/postPlayerCollectibleAdded.js +21 -0
  235. package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -0
  236. package/callbacks/subscriptions/postPlayerCollectibleRemoved.js +21 -0
  237. package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -0
  238. package/callbacks/subscriptions/postPlayerFatalDamage.js +29 -0
  239. package/callbacks/subscriptions/postPlayerFatalDamage.lua +2 -0
  240. package/callbacks/subscriptions/postPlayerInitLate.js +25 -0
  241. package/callbacks/subscriptions/postPlayerInitLate.lua +2 -0
  242. package/callbacks/subscriptions/postPlayerInitReordered.js +25 -0
  243. package/callbacks/subscriptions/postPlayerInitReordered.lua +2 -0
  244. package/callbacks/subscriptions/postPlayerRenderReordered.js +25 -0
  245. package/callbacks/subscriptions/postPlayerRenderReordered.lua +2 -0
  246. package/callbacks/subscriptions/postPlayerUpdateReordered.js +25 -0
  247. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +2 -0
  248. package/callbacks/subscriptions/postPoopRender.js +22 -0
  249. package/callbacks/subscriptions/postPoopRender.lua +2 -0
  250. package/callbacks/subscriptions/postPoopUpdate.js +22 -0
  251. package/callbacks/subscriptions/postPoopUpdate.lua +2 -0
  252. package/callbacks/subscriptions/postPressurePlateRender.js +22 -0
  253. package/callbacks/subscriptions/postPressurePlateRender.lua +2 -0
  254. package/callbacks/subscriptions/postPressurePlateUpdate.js +22 -0
  255. package/callbacks/subscriptions/postPressurePlateUpdate.lua +2 -0
  256. package/callbacks/subscriptions/postProjectileInitLate.js +21 -0
  257. package/callbacks/subscriptions/postProjectileInitLate.lua +2 -0
  258. package/callbacks/subscriptions/postPurchase.js +16 -0
  259. package/callbacks/subscriptions/postPurchase.lua +2 -0
  260. package/callbacks/subscriptions/postRockRender.js +22 -0
  261. package/callbacks/subscriptions/postRockRender.lua +2 -0
  262. package/callbacks/subscriptions/postRockUpdate.js +22 -0
  263. package/callbacks/subscriptions/postRockUpdate.lua +2 -0
  264. package/callbacks/subscriptions/postRoomClearChanged.js +20 -0
  265. package/callbacks/subscriptions/postRoomClearChanged.lua +2 -0
  266. package/callbacks/subscriptions/postSacrifice.js +25 -0
  267. package/callbacks/subscriptions/postSacrifice.lua +2 -0
  268. package/callbacks/subscriptions/postSlotAnimationChanged.js +20 -0
  269. package/callbacks/subscriptions/postSlotAnimationChanged.lua +2 -0
  270. package/callbacks/subscriptions/postSlotDestroyed.js +26 -0
  271. package/callbacks/subscriptions/postSlotDestroyed.lua +2 -0
  272. package/callbacks/subscriptions/postSlotInit.js +20 -0
  273. package/callbacks/subscriptions/postSlotInit.lua +2 -0
  274. package/callbacks/subscriptions/postSlotRender.js +20 -0
  275. package/callbacks/subscriptions/postSlotRender.lua +2 -0
  276. package/callbacks/subscriptions/postSlotUpdate.js +20 -0
  277. package/callbacks/subscriptions/postSlotUpdate.lua +2 -0
  278. package/callbacks/subscriptions/postSpikesRender.js +22 -0
  279. package/callbacks/subscriptions/postSpikesRender.lua +2 -0
  280. package/callbacks/subscriptions/postSpikesUpdate.js +22 -0
  281. package/callbacks/subscriptions/postSpikesUpdate.lua +2 -0
  282. package/callbacks/subscriptions/postTNTRender.js +22 -0
  283. package/callbacks/subscriptions/postTNTRender.lua +2 -0
  284. package/callbacks/subscriptions/postTNTUpdate.js +22 -0
  285. package/callbacks/subscriptions/postTNTUpdate.lua +2 -0
  286. package/callbacks/subscriptions/postTearInitLate.js +20 -0
  287. package/callbacks/subscriptions/postTearInitLate.lua +2 -0
  288. package/callbacks/subscriptions/postTearInitVeryLate.js +20 -0
  289. package/callbacks/subscriptions/postTearInitVeryLate.lua +2 -0
  290. package/callbacks/subscriptions/postTransformation.js +20 -0
  291. package/callbacks/subscriptions/postTransformation.lua +2 -0
  292. package/callbacks/subscriptions/postTrinketBreak.js +21 -0
  293. package/callbacks/subscriptions/postTrinketBreak.lua +2 -0
  294. package/callbacks/subscriptions/preBerserkDeath.js +26 -0
  295. package/callbacks/subscriptions/preBerserkDeath.lua +2 -0
  296. package/callbacks/subscriptions/preCustomRevive.js +29 -0
  297. package/callbacks/subscriptions/preCustomRevive.lua +2 -0
  298. package/callbacks/subscriptions/preItemPickup.js +25 -0
  299. package/callbacks/subscriptions/preItemPickup.lua +2 -0
  300. package/callbacks/subscriptions/preNewLevel.js +16 -0
  301. package/callbacks/subscriptions/preNewLevel.lua +2 -0
  302. package/classes/DefaultMap.js +145 -0
  303. package/classes/DefaultMap.lua +2 -0
  304. package/classes/ModUpgraded.js +57 -0
  305. package/classes/ModUpgraded.lua +2 -0
  306. package/constants.js +143 -0
  307. package/constants.lua +2 -0
  308. package/constantsFirstLast.js +156 -0
  309. package/constantsFirstLast.lua +2 -0
  310. package/enums/AmbushType.js +6 -0
  311. package/enums/AmbushType.lua +2 -0
  312. package/enums/CornerType.js +8 -0
  313. package/enums/CornerType.lua +2 -0
  314. package/enums/DecorationVariant.js +11 -0
  315. package/enums/DecorationVariant.lua +2 -0
  316. package/enums/HealthType.js +18 -0
  317. package/enums/HealthType.lua +2 -0
  318. package/enums/ModCallbackCustom.js +1213 -0
  319. package/enums/ModCallbackCustom.lua +2 -0
  320. package/enums/PocketItemType.js +10 -0
  321. package/enums/PocketItemType.lua +2 -0
  322. package/enums/RockAltType.js +9 -0
  323. package/enums/RockAltType.lua +2 -0
  324. package/enums/SerializationType.js +7 -0
  325. package/enums/SerializationType.lua +2 -0
  326. package/enums/SlotDestructionType.js +6 -0
  327. package/enums/SlotDestructionType.lua +2 -0
  328. package/enums/private/CopyableIsaacAPIClassType.js +9 -0
  329. package/enums/private/CopyableIsaacAPIClassType.lua +2 -0
  330. package/enums/private/SaveDataKey.js +8 -0
  331. package/enums/private/SaveDataKey.lua +2 -0
  332. package/enums/private/SerializationBrand.js +41 -0
  333. package/enums/private/SerializationBrand.lua +2 -0
  334. package/features/characterHealthConversion.js +86 -0
  335. package/features/characterHealthConversion.lua +2 -0
  336. package/features/characterStats.js +52 -0
  337. package/features/characterStats.lua +2 -0
  338. package/features/collectibleItemPoolType.js +45 -0
  339. package/features/collectibleItemPoolType.lua +2 -0
  340. package/features/customGridEntity.js +148 -0
  341. package/features/customGridEntity.lua +2 -0
  342. package/features/customStage/backdrop.js +191 -0
  343. package/features/customStage/backdrop.lua +9 -7
  344. package/features/customStage/customStageConstants.js +2 -0
  345. package/features/customStage/customStageConstants.lua +2 -0
  346. package/features/customStage/exports.js +147 -0
  347. package/features/customStage/exports.lua +8 -1
  348. package/features/customStage/gridEntities.js +138 -0
  349. package/features/customStage/gridEntities.lua +2 -0
  350. package/features/customStage/init.js +104 -0
  351. package/features/customStage/init.lua +4 -9
  352. package/features/customStage/metadata.json +1 -0
  353. package/features/customStage/metadata.lua +2 -0
  354. package/features/customStage/shadows.d.ts +0 -1
  355. package/features/customStage/shadows.js +63 -0
  356. package/features/customStage/shadows.lua +31 -19
  357. package/features/customStage/streakText.d.ts +1 -1
  358. package/features/customStage/streakText.js +35 -0
  359. package/features/customStage/streakText.lua +14 -3
  360. package/features/customStage/util.js +36 -0
  361. package/features/customStage/util.lua +2 -0
  362. package/features/customStage/v.js +18 -0
  363. package/features/customStage/v.lua +2 -0
  364. package/features/customStage/versusScreen.js +184 -0
  365. package/features/customStage/versusScreen.lua +8 -1
  366. package/features/debugDisplay/debugDisplay.js +183 -0
  367. package/features/debugDisplay/debugDisplay.lua +2 -0
  368. package/features/debugDisplay/exports.js +441 -0
  369. package/features/debugDisplay/exports.lua +2 -0
  370. package/features/debugDisplay/v.d.ts +18 -0
  371. package/features/debugDisplay/v.js +61 -0
  372. package/features/debugDisplay/v.lua +2 -0
  373. package/features/deployJSONRoom.js +532 -0
  374. package/features/deployJSONRoom.lua +2 -0
  375. package/features/disableAllSound.js +63 -0
  376. package/features/disableAllSound.lua +2 -0
  377. package/features/disableInputs.js +130 -0
  378. package/features/disableInputs.lua +2 -0
  379. package/features/extraConsoleCommands/commandsDisplay.js +236 -0
  380. package/features/extraConsoleCommands/commandsDisplay.lua +2 -0
  381. package/features/extraConsoleCommands/commandsSubroutines.js +109 -0
  382. package/features/extraConsoleCommands/commandsSubroutines.lua +2 -0
  383. package/features/extraConsoleCommands/exports.js +53 -0
  384. package/features/extraConsoleCommands/exports.lua +2 -0
  385. package/features/extraConsoleCommands/init.js +239 -0
  386. package/features/extraConsoleCommands/init.lua +2 -0
  387. package/features/extraConsoleCommands/listCommands.js +1081 -0
  388. package/features/extraConsoleCommands/listCommands.lua +2 -0
  389. package/features/extraConsoleCommands/v.js +25 -0
  390. package/features/extraConsoleCommands/v.lua +2 -0
  391. package/features/fadeInRemover.js +51 -0
  392. package/features/fadeInRemover.lua +2 -0
  393. package/features/fastReset.js +61 -0
  394. package/features/fastReset.lua +2 -0
  395. package/features/forgottenSwitch.js +33 -0
  396. package/features/forgottenSwitch.lua +2 -0
  397. package/features/pause.js +68 -0
  398. package/features/pause.lua +2 -0
  399. package/features/persistentEntities.js +120 -0
  400. package/features/persistentEntities.lua +2 -0
  401. package/features/playerInventory.js +89 -0
  402. package/features/playerInventory.lua +2 -0
  403. package/features/ponyDetection.js +63 -0
  404. package/features/ponyDetection.lua +2 -0
  405. package/features/preventCollectibleRotation.js +81 -0
  406. package/features/preventCollectibleRotation.lua +2 -0
  407. package/features/registerHotkey.js +91 -0
  408. package/features/registerHotkey.lua +2 -0
  409. package/features/roomClearFrame.js +42 -0
  410. package/features/roomClearFrame.lua +2 -0
  411. package/features/runInNFrames.js +189 -0
  412. package/features/runInNFrames.lua +2 -0
  413. package/features/runNextRoom.js +34 -0
  414. package/features/runNextRoom.lua +2 -0
  415. package/features/saveDataManager/exports.js +183 -0
  416. package/features/saveDataManager/exports.lua +2 -0
  417. package/features/saveDataManager/load.js +69 -0
  418. package/features/saveDataManager/load.lua +2 -0
  419. package/features/saveDataManager/main.js +131 -0
  420. package/features/saveDataManager/main.lua +2 -0
  421. package/features/saveDataManager/maps.js +9 -0
  422. package/features/saveDataManager/maps.lua +2 -0
  423. package/features/saveDataManager/merge.js +139 -0
  424. package/features/saveDataManager/merge.lua +2 -0
  425. package/features/saveDataManager/save.js +43 -0
  426. package/features/saveDataManager/save.lua +2 -0
  427. package/features/saveDataManager/saveDataManagerConstants.js +4 -0
  428. package/features/saveDataManager/saveDataManagerConstants.lua +2 -0
  429. package/features/saveDataManager/serializationBrand.js +12 -0
  430. package/features/saveDataManager/serializationBrand.lua +2 -0
  431. package/features/sirenHelpers.js +90 -0
  432. package/features/sirenHelpers.lua +2 -0
  433. package/features/stageHistory.js +43 -0
  434. package/features/stageHistory.lua +2 -0
  435. package/features/taintedLazarusPlayers.js +92 -0
  436. package/features/taintedLazarusPlayers.lua +2 -0
  437. package/featuresInitialized.js +16 -0
  438. package/featuresInitialized.lua +2 -0
  439. package/functions/ambush.js +35 -0
  440. package/functions/ambush.lua +2 -0
  441. package/functions/array.js +423 -0
  442. package/functions/array.lua +2 -0
  443. package/functions/benchmark.js +28 -0
  444. package/functions/benchmark.lua +2 -0
  445. package/functions/bitwise.js +74 -0
  446. package/functions/bitwise.lua +2 -0
  447. package/functions/bombs.js +11 -0
  448. package/functions/bombs.lua +2 -0
  449. package/functions/boss.js +137 -0
  450. package/functions/boss.lua +2 -0
  451. package/functions/cacheFlag.js +11 -0
  452. package/functions/cacheFlag.lua +2 -0
  453. package/functions/cards.js +217 -0
  454. package/functions/cards.lua +2 -0
  455. package/functions/challenges.js +9 -0
  456. package/functions/challenges.lua +2 -0
  457. package/functions/character.js +102 -0
  458. package/functions/character.lua +2 -0
  459. package/functions/charge.js +202 -0
  460. package/functions/charge.lua +2 -0
  461. package/functions/chargeBar.js +44 -0
  462. package/functions/chargeBar.lua +2 -0
  463. package/functions/collectibleCacheFlag.js +68 -0
  464. package/functions/collectibleCacheFlag.lua +2 -0
  465. package/functions/collectibleSet.js +108 -0
  466. package/functions/collectibleSet.lua +2 -0
  467. package/functions/collectibleTag.js +65 -0
  468. package/functions/collectibleTag.lua +2 -0
  469. package/functions/collectibles.js +469 -0
  470. package/functions/collectibles.lua +2 -0
  471. package/functions/color.d.ts +1 -1
  472. package/functions/color.js +60 -0
  473. package/functions/color.lua +2 -0
  474. package/functions/debug.js +60 -0
  475. package/functions/debug.lua +2 -0
  476. package/functions/deepCopy.js +361 -0
  477. package/functions/deepCopy.lua +2 -0
  478. package/functions/deepCopyTests.js +308 -0
  479. package/functions/deepCopyTests.lua +2 -0
  480. package/functions/direction.js +41 -0
  481. package/functions/direction.lua +2 -0
  482. package/functions/doors.js +326 -0
  483. package/functions/doors.lua +2 -0
  484. package/functions/easing.js +142 -0
  485. package/functions/easing.lua +2 -0
  486. package/functions/eden.js +32 -0
  487. package/functions/eden.lua +2 -0
  488. package/functions/effects.js +11 -0
  489. package/functions/effects.lua +2 -0
  490. package/functions/entity.js +324 -0
  491. package/functions/entity.lua +2 -0
  492. package/functions/entitySpecific.js +481 -0
  493. package/functions/entitySpecific.lua +2 -0
  494. package/functions/entityTypes.js +6 -0
  495. package/functions/entityTypes.lua +2 -0
  496. package/functions/enums.js +151 -0
  497. package/functions/enums.lua +2 -0
  498. package/functions/familiars.js +85 -0
  499. package/functions/familiars.lua +2 -0
  500. package/functions/flag.js +137 -0
  501. package/functions/flag.lua +2 -0
  502. package/functions/flying.js +88 -0
  503. package/functions/flying.lua +2 -0
  504. package/functions/globals.js +230 -0
  505. package/functions/globals.lua +2 -0
  506. package/functions/gridEntity.js +488 -0
  507. package/functions/gridEntity.lua +2 -0
  508. package/functions/gridEntitySpecific.js +109 -0
  509. package/functions/gridEntitySpecific.lua +2 -0
  510. package/functions/input.js +95 -0
  511. package/functions/input.lua +2 -0
  512. package/functions/isaacAPIClass.js +48 -0
  513. package/functions/isaacAPIClass.lua +2 -0
  514. package/functions/jsonHelpers.js +40 -0
  515. package/functions/jsonHelpers.lua +2 -0
  516. package/functions/jsonRoom.js +132 -0
  517. package/functions/jsonRoom.lua +2 -0
  518. package/functions/kColor.d.ts +1 -1
  519. package/functions/kColor.js +63 -0
  520. package/functions/kColor.lua +2 -0
  521. package/functions/language.js +13 -0
  522. package/functions/language.lua +2 -0
  523. package/functions/level.js +20 -0
  524. package/functions/level.lua +2 -0
  525. package/functions/log.js +567 -0
  526. package/functions/log.lua +2 -0
  527. package/functions/map.js +45 -0
  528. package/functions/map.lua +2 -0
  529. package/functions/math.js +103 -0
  530. package/functions/math.lua +2 -0
  531. package/functions/mergeTests.js +213 -0
  532. package/functions/mergeTests.lua +2 -0
  533. package/functions/minimap.js +80 -0
  534. package/functions/minimap.lua +2 -0
  535. package/functions/nextStage.js +290 -0
  536. package/functions/nextStage.lua +2 -0
  537. package/functions/npc.js +101 -0
  538. package/functions/npc.lua +2 -0
  539. package/functions/pickupVariants.js +47 -0
  540. package/functions/pickupVariants.lua +2 -0
  541. package/functions/pickups.js +219 -0
  542. package/functions/pickups.lua +2 -0
  543. package/functions/pills.js +160 -0
  544. package/functions/pills.lua +2 -0
  545. package/functions/player.js +808 -0
  546. package/functions/player.lua +2 -0
  547. package/functions/playerCenter.js +50 -0
  548. package/functions/playerCenter.lua +2 -0
  549. package/functions/playerDataStructures.js +114 -0
  550. package/functions/playerDataStructures.lua +2 -0
  551. package/functions/playerHealth.js +321 -0
  552. package/functions/playerHealth.lua +2 -0
  553. package/functions/playerIndex.js +160 -0
  554. package/functions/playerIndex.lua +2 -0
  555. package/functions/pocketItems.js +124 -0
  556. package/functions/pocketItems.lua +2 -0
  557. package/functions/positionVelocity.js +136 -0
  558. package/functions/positionVelocity.lua +2 -0
  559. package/functions/random.js +73 -0
  560. package/functions/random.lua +2 -0
  561. package/functions/revive.js +140 -0
  562. package/functions/revive.lua +2 -0
  563. package/functions/rng.d.ts +1 -1
  564. package/functions/rng.js +117 -0
  565. package/functions/rng.lua +2 -0
  566. package/functions/roomData.js +174 -0
  567. package/functions/roomData.lua +2 -0
  568. package/functions/roomGrid.js +81 -0
  569. package/functions/roomGrid.lua +2 -0
  570. package/functions/roomShape.js +99 -0
  571. package/functions/roomShape.lua +2 -0
  572. package/functions/rooms.js +487 -0
  573. package/functions/rooms.lua +2 -0
  574. package/functions/run.js +53 -0
  575. package/functions/run.lua +2 -0
  576. package/functions/saveFile.js +104 -0
  577. package/functions/saveFile.lua +2 -0
  578. package/functions/seeds.js +18 -0
  579. package/functions/seeds.lua +2 -0
  580. package/functions/serialization.js +52 -0
  581. package/functions/serialization.lua +2 -0
  582. package/functions/set.js +99 -0
  583. package/functions/set.lua +2 -0
  584. package/functions/sound.js +9 -0
  585. package/functions/sound.lua +2 -0
  586. package/functions/spawnCollectible.js +66 -0
  587. package/functions/spawnCollectible.lua +2 -0
  588. package/functions/sprite.js +80 -0
  589. package/functions/sprite.lua +2 -0
  590. package/functions/stage.js +172 -0
  591. package/functions/stage.lua +2 -0
  592. package/functions/string.js +37 -0
  593. package/functions/string.lua +2 -0
  594. package/functions/table.js +143 -0
  595. package/functions/table.lua +2 -0
  596. package/functions/tears.js +31 -0
  597. package/functions/tears.lua +2 -0
  598. package/functions/transformations.js +101 -0
  599. package/functions/transformations.lua +2 -0
  600. package/functions/trinketCacheFlag.js +46 -0
  601. package/functions/trinketCacheFlag.lua +2 -0
  602. package/functions/trinketGive.js +121 -0
  603. package/functions/trinketGive.lua +2 -0
  604. package/functions/trinkets.js +169 -0
  605. package/functions/trinkets.lua +2 -0
  606. package/functions/tstlClass.js +125 -0
  607. package/functions/tstlClass.lua +2 -0
  608. package/functions/types.js +27 -0
  609. package/functions/types.lua +2 -0
  610. package/functions/ui.js +124 -0
  611. package/functions/ui.lua +2 -0
  612. package/functions/utils.js +172 -0
  613. package/functions/utils.lua +2 -0
  614. package/functions/vector.js +68 -0
  615. package/functions/vector.lua +2 -0
  616. package/index.js +140 -0
  617. package/index.lua +2 -0
  618. package/initCustomCallbacks.js +133 -0
  619. package/initCustomCallbacks.lua +2 -0
  620. package/initFeatures.js +51 -0
  621. package/initFeatures.lua +2 -0
  622. package/interfaces/AddCallbackParameterCustom.js +2 -0
  623. package/interfaces/AddCallbackParameterCustom.lua +2 -0
  624. package/interfaces/ChargeBarSprites.js +2 -0
  625. package/interfaces/ChargeBarSprites.lua +2 -0
  626. package/interfaces/Corner.js +2 -0
  627. package/interfaces/Corner.lua +2 -0
  628. package/interfaces/CustomGridEntityData.js +2 -0
  629. package/interfaces/CustomGridEntityData.lua +2 -0
  630. package/interfaces/CustomStage.js +2 -0
  631. package/interfaces/CustomStage.lua +2 -0
  632. package/interfaces/CustomStageLua.d.ts +64 -24
  633. package/interfaces/CustomStageLua.js +13 -0
  634. package/interfaces/CustomStageLua.lua +2 -0
  635. package/interfaces/JSONRoomsFile.js +2 -0
  636. package/interfaces/JSONRoomsFile.lua +2 -0
  637. package/interfaces/PlayerHealth.js +2 -0
  638. package/interfaces/PlayerHealth.lua +2 -0
  639. package/interfaces/PocketItemDescription.js +2 -0
  640. package/interfaces/PocketItemDescription.lua +2 -0
  641. package/interfaces/SaveData.js +2 -0
  642. package/interfaces/SaveData.lua +2 -0
  643. package/interfaces/TrinketSituation.js +2 -0
  644. package/interfaces/TrinketSituation.lua +2 -0
  645. package/interfaces/private/TSTLClassMetatable.js +2 -0
  646. package/interfaces/private/TSTLClassMetatable.lua +2 -0
  647. package/maps/PHDPillConversions.js +20 -0
  648. package/maps/PHDPillConversions.lua +2 -0
  649. package/maps/cardMap.js +208 -0
  650. package/maps/cardMap.lua +2 -0
  651. package/maps/characterMap.js +86 -0
  652. package/maps/characterMap.lua +2 -0
  653. package/maps/collectibleDescriptionMap.js +728 -0
  654. package/maps/collectibleDescriptionMap.lua +2 -0
  655. package/maps/collectibleNameMap.js +727 -0
  656. package/maps/collectibleNameMap.lua +2 -0
  657. package/maps/defaultPlayerStatMap.js +14 -0
  658. package/maps/defaultPlayerStatMap.lua +2 -0
  659. package/maps/falsePHDPillConversions.js +34 -0
  660. package/maps/falsePHDPillConversions.lua +2 -0
  661. package/maps/gridEntityTypeToBrokenStateMap.js +29 -0
  662. package/maps/gridEntityTypeToBrokenStateMap.lua +2 -0
  663. package/maps/gridEntityXMLMap.js +128 -0
  664. package/maps/gridEntityXMLMap.lua +2 -0
  665. package/maps/pillEffectMap.js +88 -0
  666. package/maps/pillEffectMap.lua +2 -0
  667. package/maps/roomShapeToTopLeftWallGridIndexMap.js +14 -0
  668. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +2 -0
  669. package/maps/roomTypeMap.js +39 -0
  670. package/maps/roomTypeMap.lua +2 -0
  671. package/maps/trinketDescriptionMap.js +196 -0
  672. package/maps/trinketDescriptionMap.lua +2 -0
  673. package/maps/trinketNameMap.js +195 -0
  674. package/maps/trinketNameMap.lua +2 -0
  675. package/objects/LRoomShapeToRectangles.js +33 -0
  676. package/objects/LRoomShapeToRectangles.lua +2 -0
  677. package/objects/backdropTypeToRockAltType.js +66 -0
  678. package/objects/backdropTypeToRockAltType.lua +2 -0
  679. package/objects/bossNamePNGFileNames.js +112 -0
  680. package/objects/bossNamePNGFileNames.lua +2 -0
  681. package/objects/bossPortraitPNGFileNames.js +115 -0
  682. package/objects/bossPortraitPNGFileNames.lua +2 -0
  683. package/objects/callbackRegisterFunctions.js +170 -0
  684. package/objects/callbackRegisterFunctions.lua +2 -0
  685. package/objects/cardDescriptions.js +104 -0
  686. package/objects/cardDescriptions.lua +2 -0
  687. package/objects/cardNames.js +104 -0
  688. package/objects/cardNames.lua +2 -0
  689. package/objects/cardTypes.js +103 -0
  690. package/objects/cardTypes.lua +2 -0
  691. package/objects/challengeNames.js +51 -0
  692. package/objects/challengeNames.lua +2 -0
  693. package/objects/characterNames.js +46 -0
  694. package/objects/characterNames.lua +2 -0
  695. package/objects/coinSubTypeToValue.js +13 -0
  696. package/objects/coinSubTypeToValue.lua +2 -0
  697. package/objects/colors.d.ts +1 -0
  698. package/objects/colors.js +24 -0
  699. package/objects/colors.lua +2 -0
  700. package/objects/directionNames.js +9 -0
  701. package/objects/directionNames.lua +2 -0
  702. package/objects/directionToDegrees.js +9 -0
  703. package/objects/directionToDegrees.lua +2 -0
  704. package/objects/directionToVector.js +10 -0
  705. package/objects/directionToVector.lua +2 -0
  706. package/objects/doorSlotFlagToDoorSlot.js +13 -0
  707. package/objects/doorSlotFlagToDoorSlot.lua +2 -0
  708. package/objects/doorSlotToDirection.js +13 -0
  709. package/objects/doorSlotToDirection.lua +2 -0
  710. package/objects/doorSlotToDoorSlotFlag.js +13 -0
  711. package/objects/doorSlotToDoorSlotFlag.lua +2 -0
  712. package/objects/isaacAPIClassTypeToBrand.js +9 -0
  713. package/objects/isaacAPIClassTypeToBrand.lua +2 -0
  714. package/objects/isaacAPIClassTypeToCopyFunction.js +12 -0
  715. package/objects/isaacAPIClassTypeToCopyFunction.lua +2 -0
  716. package/objects/languageNames.js +11 -0
  717. package/objects/languageNames.lua +2 -0
  718. package/objects/oppositeDoorSlots.js +13 -0
  719. package/objects/oppositeDoorSlots.lua +2 -0
  720. package/objects/pillEffectClasses.js +56 -0
  721. package/objects/pillEffectClasses.lua +2 -0
  722. package/objects/pillEffectNames.js +55 -0
  723. package/objects/pillEffectNames.lua +2 -0
  724. package/objects/pillEffectTypes.js +55 -0
  725. package/objects/pillEffectTypes.lua +2 -0
  726. package/objects/playerNamePNGFileNames.js +55 -0
  727. package/objects/playerNamePNGFileNames.lua +2 -0
  728. package/objects/playerPortraitPNGFileNames.js +52 -0
  729. package/objects/playerPortraitPNGFileNames.lua +2 -0
  730. package/objects/roomShapeBounds.js +46 -0
  731. package/objects/roomShapeBounds.lua +2 -0
  732. package/objects/roomShapeCorners.js +268 -0
  733. package/objects/roomShapeCorners.lua +2 -0
  734. package/objects/roomShapeLayoutSizes.js +39 -0
  735. package/objects/roomShapeLayoutSizes.lua +2 -0
  736. package/objects/roomShapeToBottomRightPosition.js +22 -0
  737. package/objects/roomShapeToBottomRightPosition.lua +2 -0
  738. package/objects/roomShapeToDoorSlotCoordinates.js +109 -0
  739. package/objects/roomShapeToDoorSlotCoordinates.lua +2 -0
  740. package/objects/roomShapeToDoorSlots.js +69 -0
  741. package/objects/roomShapeToDoorSlots.lua +2 -0
  742. package/objects/roomShapeToDoorSlotsToGridIndexDelta.js +113 -0
  743. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +2 -0
  744. package/objects/roomShapeToGridWidth.js +18 -0
  745. package/objects/roomShapeToGridWidth.lua +2 -0
  746. package/objects/roomShapeToTopLeftPosition.js +23 -0
  747. package/objects/roomShapeToTopLeftPosition.lua +2 -0
  748. package/objects/roomShapeVolumes.js +30 -0
  749. package/objects/roomShapeVolumes.lua +2 -0
  750. package/objects/roomTypeGotoPrefixes.js +33 -0
  751. package/objects/roomTypeGotoPrefixes.lua +2 -0
  752. package/objects/roomTypeNames.js +34 -0
  753. package/objects/roomTypeNames.lua +2 -0
  754. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.js +12 -0
  755. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +2 -0
  756. package/objects/stageTypeSuffixes.js +10 -0
  757. package/objects/stageTypeSuffixes.lua +2 -0
  758. package/objects/stageTypeToLetter.js +12 -0
  759. package/objects/stageTypeToLetter.lua +2 -0
  760. package/objects/transformationNames.js +18 -0
  761. package/objects/transformationNames.lua +2 -0
  762. package/objects/versusScreenBackgroundColors.js +36 -0
  763. package/objects/versusScreenBackgroundColors.lua +2 -0
  764. package/objects/versusScreenDirtSpotColors.js +36 -0
  765. package/objects/versusScreenDirtSpotColors.lua +2 -0
  766. package/package.json +1 -1
  767. package/patchErrorFunctions.js +67 -0
  768. package/patchErrorFunctions.lua +2 -0
  769. package/sets/LRoomShapesSet.js +8 -0
  770. package/sets/LRoomShapesSet.lua +2 -0
  771. package/sets/bossSets.js +374 -0
  772. package/sets/bossSets.lua +2 -0
  773. package/sets/charactersThatStartWithAnActiveItemSet.js +15 -0
  774. package/sets/charactersThatStartWithAnActiveItemSet.lua +2 -0
  775. package/sets/charactersWithBlackHeartFromEternalHeartSet.js +6 -0
  776. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +2 -0
  777. package/sets/charactersWithFreeDevilDealsSet.js +3 -0
  778. package/sets/charactersWithFreeDevilDealsSet.lua +2 -0
  779. package/sets/charactersWithNoRedHeartsSet.js +16 -0
  780. package/sets/charactersWithNoRedHeartsSet.lua +2 -0
  781. package/sets/charactersWithNoSoulHeartsSet.js +13 -0
  782. package/sets/charactersWithNoSoulHeartsSet.lua +2 -0
  783. package/sets/chestPickupVariantsSet.js +16 -0
  784. package/sets/chestPickupVariantsSet.lua +2 -0
  785. package/sets/consoleCommandsSet.js +61 -0
  786. package/sets/consoleCommandsSet.lua +2 -0
  787. package/sets/familiarsThatShootPlayerTearsSet.js +12 -0
  788. package/sets/familiarsThatShootPlayerTearsSet.lua +2 -0
  789. package/sets/lostStyleCharactersSet.js +13 -0
  790. package/sets/lostStyleCharactersSet.lua +2 -0
  791. package/sets/mineShaftRoomSubTypesSet.js +9 -0
  792. package/sets/mineShaftRoomSubTypesSet.lua +2 -0
  793. package/sets/narrowRoomShapesSet.js +8 -0
  794. package/sets/narrowRoomShapesSet.lua +2 -0
  795. package/sets/redHeartSubTypesSet.js +7 -0
  796. package/sets/redHeartSubTypesSet.lua +2 -0
  797. package/sets/sinEntityTypesSet.js +11 -0
  798. package/sets/sinEntityTypesSet.lua +2 -0
  799. package/sets/singleUseActiveCollectibleTypesSet.js +12 -0
  800. package/sets/singleUseActiveCollectibleTypesSet.lua +2 -0
  801. package/sets/storyBossesSet.js +17 -0
  802. package/sets/storyBossesSet.lua +2 -0
  803. package/shaderCrashFix.js +17 -0
  804. package/shaderCrashFix.lua +2 -0
  805. package/types/AnyEntity.js +2 -0
  806. package/types/AnyEntity.lua +2 -0
  807. package/types/CollectibleIndex.js +2 -0
  808. package/types/CollectibleIndex.lua +2 -0
  809. package/types/PickingUpItem.js +38 -0
  810. package/types/PickingUpItem.lua +2 -0
  811. package/types/PlayerIndex.js +2 -0
  812. package/types/PlayerIndex.lua +2 -0
  813. package/types/private/IsaacAPIClass.js +2 -0
  814. package/types/private/IsaacAPIClass.lua +2 -0
  815. package/types/private/SerializedIsaacAPIClass.js +2 -0
  816. package/types/private/SerializedIsaacAPIClass.lua +2 -0
  817. package/types/private/TSTLClass.js +2 -0
  818. package/types/private/TSTLClass.lua +2 -0
  819. package/upgradeMod.js +47 -0
  820. package/upgradeMod.lua +2 -0
@@ -0,0 +1,184 @@
1
+ import { BossID, PlayerType, RoomType, SoundEffect, StageID, } from "isaac-typescript-definitions";
2
+ import { game, sfxManager } from "../../cachedClasses";
3
+ import { arrayRemove } from "../../functions/array";
4
+ import { getBosses } from "../../functions/boss";
5
+ import { getEntityID } from "../../functions/entity";
6
+ import { erange } from "../../functions/utils";
7
+ import { BOSS_NAME_PNG_FILE_NAMES } from "../../objects/bossNamePNGFileNames";
8
+ import { BOSS_PORTRAIT_PNG_FILE_NAMES } from "../../objects/bossPortraitPNGFileNames";
9
+ import { PLAYER_NAME_PNG_FILE_NAMES } from "../../objects/playerNamePNGFileNames";
10
+ import { PLAYER_PORTRAIT_PNG_FILE_NAMES } from "../../objects/playerPortraitPNGFileNames";
11
+ import { VERSUS_SCREEN_BACKGROUND_COLORS } from "../../objects/versusScreenBackgroundColors";
12
+ import { VERSUS_SCREEN_DIRT_SPOT_COLORS } from "../../objects/versusScreenDirtSpotColors";
13
+ import { pause, unpause } from "../pause";
14
+ import { ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH } from "./customStageConstants";
15
+ import v, { customBossPNGPaths } from "./v";
16
+ const DEFAULT_CHARACTER = PlayerType.ISAAC;
17
+ const DEFAULT_STAGE_ID = StageID.BASEMENT;
18
+ const VERSUS_SCREEN_ANIMATION_NAME = "Scene";
19
+ /** The layers range from 0 to 13. */
20
+ const NUM_VERSUS_SCREEN_ANM2_LAYERS = 14;
21
+ const BACKGROUND_ANM2_LAYER = 0;
22
+ const BOSS_DIRT_SPOT_ANM2_LAYER = 2;
23
+ const PLAYER_DIRT_SPOT_ANM2_LAYER = 3;
24
+ const BOSS_PORTRAIT_ANM2_LAYER = 4;
25
+ const PLAYER_PORTRAIT_ANM2_LAYER = 5;
26
+ const PLAYER_NAME_ANM2_LAYER = 6;
27
+ const BOSS_NAME_ANM2_LAYER = 7;
28
+ const OVERLAY_ANM2_LAYER = 11;
29
+ /**
30
+ * We only need to render either the normal player portrait layer or the alternate player portrait
31
+ * layer. Rendering both will cause the player not to shake.
32
+ */
33
+ const PLAYER_PORTRAIT_ALT_ANM2_LAYER = 12;
34
+ /** These are the non-special layers that we will render last. */
35
+ const OTHER_ANM2_LAYERS = arrayRemove(erange(NUM_VERSUS_SCREEN_ANM2_LAYERS), BACKGROUND_ANM2_LAYER, BOSS_DIRT_SPOT_ANM2_LAYER, PLAYER_DIRT_SPOT_ANM2_LAYER, OVERLAY_ANM2_LAYER, PLAYER_PORTRAIT_ALT_ANM2_LAYER);
36
+ /** Most of the PNG files related to the versus screen are located in this directory. */
37
+ const PNG_PATH_PREFIX = "gfx/ui/boss";
38
+ /**
39
+ * Player portraits are not located in the same directory as everything else, since they are re-used
40
+ * from the animation where the player travels to a new stage.
41
+ */
42
+ const PLAYER_PORTRAIT_PNG_PATH_PREFIX = "gfx/ui/stage";
43
+ const VANILLA_VERSUS_PLAYBACK_SPEED = 0.5;
44
+ const versusScreenSprite = Sprite();
45
+ versusScreenSprite.Load("gfx/ui/boss/versusscreen.anm2", false);
46
+ // In vanilla, the "overlay.png" file has a white background. We must convert it to a PNG that uses
47
+ // a transparent background in order for the background behind it to be visible. We use the same
48
+ // "overlay.png" file as StageAPI uses for this purpose.
49
+ versusScreenSprite.ReplaceSpritesheet(OVERLAY_ANM2_LAYER, `${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/overlay.png`);
50
+ versusScreenSprite.LoadGraphics();
51
+ /**
52
+ * Unfortunately, we must split the background layer into an entirely different sprite so that we
53
+ * can color it with the `Color` property.
54
+ */
55
+ const versusScreenBackgroundSprite = Sprite();
56
+ versusScreenBackgroundSprite.Load("gfx/ui/boss/versusscreen.anm2", true);
57
+ /**
58
+ * Unfortunately, we must split the dirt layer into an entirely different sprite so that we can
59
+ * color it with the `Color` property.
60
+ */
61
+ const versusScreenDirtSpotSprite = Sprite();
62
+ versusScreenDirtSpotSprite.Load("gfx/ui/boss/versusscreen.anm2", true);
63
+ export function playVersusScreenAnimation(customStage, force = false) {
64
+ const room = game.GetRoom();
65
+ const roomType = room.GetType();
66
+ const hud = game.GetHUD();
67
+ if (roomType !== RoomType.BOSS && !force) {
68
+ return;
69
+ }
70
+ v.run.showingBossVersusScreen = true;
71
+ pause();
72
+ hud.SetVisible(false);
73
+ const [playerNamePNGPath, playerPortraitPNGPath] = getPlayerPNGPaths();
74
+ versusScreenSprite.ReplaceSpritesheet(PLAYER_NAME_ANM2_LAYER, playerNamePNGPath);
75
+ versusScreenSprite.ReplaceSpritesheet(PLAYER_PORTRAIT_ANM2_LAYER, playerPortraitPNGPath);
76
+ const [bossNamePNGPath, bossPortraitPNGPath] = getBossPNGPaths();
77
+ versusScreenSprite.ReplaceSpritesheet(BOSS_NAME_ANM2_LAYER, bossNamePNGPath);
78
+ versusScreenSprite.ReplaceSpritesheet(BOSS_PORTRAIT_ANM2_LAYER, bossPortraitPNGPath);
79
+ versusScreenSprite.LoadGraphics();
80
+ let backgroundColor = VERSUS_SCREEN_BACKGROUND_COLORS[DEFAULT_STAGE_ID];
81
+ if (customStage.versusScreen?.backgroundColor !== undefined) {
82
+ const { r, g, b, a } = customStage.versusScreen.backgroundColor;
83
+ backgroundColor = Color(r, g, b, a);
84
+ }
85
+ versusScreenBackgroundSprite.Color = backgroundColor;
86
+ let dirtSpotColor = VERSUS_SCREEN_DIRT_SPOT_COLORS[DEFAULT_STAGE_ID];
87
+ if (customStage.versusScreen?.dirtSpotColor !== undefined) {
88
+ const { r, g, b } = customStage.versusScreen.dirtSpotColor;
89
+ dirtSpotColor = Color(r, g, b);
90
+ }
91
+ versusScreenDirtSpotSprite.Color = dirtSpotColor;
92
+ for (const sprite of [
93
+ versusScreenBackgroundSprite,
94
+ versusScreenDirtSpotSprite,
95
+ versusScreenSprite,
96
+ ]) {
97
+ sprite.Play(VERSUS_SCREEN_ANIMATION_NAME, true);
98
+ sprite.PlaybackSpeed = VANILLA_VERSUS_PLAYBACK_SPEED;
99
+ }
100
+ }
101
+ /** Use the character of the 0th player. */
102
+ function getPlayerPNGPaths() {
103
+ const player = Isaac.GetPlayer();
104
+ const character = player.GetPlayerType();
105
+ let playerNamePNGFileName = PLAYER_NAME_PNG_FILE_NAMES[character];
106
+ if (playerNamePNGFileName === undefined) {
107
+ playerNamePNGFileName = PLAYER_NAME_PNG_FILE_NAMES[DEFAULT_CHARACTER];
108
+ }
109
+ const playerNamePNGPath = `${PNG_PATH_PREFIX}/${playerNamePNGFileName}`;
110
+ let playerPortraitFileName = PLAYER_PORTRAIT_PNG_FILE_NAMES[character];
111
+ if (playerNamePNGFileName === undefined) {
112
+ playerPortraitFileName = PLAYER_PORTRAIT_PNG_FILE_NAMES[DEFAULT_CHARACTER];
113
+ }
114
+ const playerPortraitPNGPath = `${PLAYER_PORTRAIT_PNG_PATH_PREFIX}/${playerPortraitFileName}`;
115
+ return [playerNamePNGPath, playerPortraitPNGPath];
116
+ }
117
+ /** Use the boss of the first boss found. */
118
+ function getBossPNGPaths() {
119
+ const bosses = getBosses();
120
+ const firstBoss = bosses[0];
121
+ // Prefer the PNG paths specified by the end-user, if any.
122
+ if (firstBoss !== undefined) {
123
+ const entityID = getEntityID(firstBoss);
124
+ const pngPaths = customBossPNGPaths.get(entityID);
125
+ if (pngPaths !== undefined) {
126
+ return pngPaths;
127
+ }
128
+ }
129
+ // If this is not a vanilla boss, default to showing question marks.
130
+ const bossID = firstBoss === undefined ? 0 : firstBoss.GetBossID();
131
+ if (bossID === 0) {
132
+ const questionMarkSprite = `${PNG_PATH_PREFIX}/${BOSS_NAME_PNG_FILE_NAMES[BossID.BLUE_BABY]}`;
133
+ const bossNamePNGPath = questionMarkSprite;
134
+ const bossPortraitPNGPath = questionMarkSprite;
135
+ return [bossNamePNGPath, bossPortraitPNGPath];
136
+ }
137
+ // If this is a vanilla boss, it will have a boss ID, and we can use the corresponding vanilla
138
+ // files.
139
+ const bossNamePNGFileName = BOSS_NAME_PNG_FILE_NAMES[bossID];
140
+ const bossNamePNGPath = `${PNG_PATH_PREFIX}/${bossNamePNGFileName}`;
141
+ const bossPortraitPNGFileName = BOSS_PORTRAIT_PNG_FILE_NAMES[bossID];
142
+ const bossPortraitPNGPath = `${PNG_PATH_PREFIX}/${bossPortraitPNGFileName}`;
143
+ return [bossNamePNGPath, bossPortraitPNGPath];
144
+ }
145
+ function finishVersusScreenAnimation() {
146
+ const hud = game.GetHUD();
147
+ v.run.showingBossVersusScreen = false;
148
+ unpause();
149
+ hud.SetVisible(true);
150
+ // The sound effect only plays once the versus cutscene is over.
151
+ sfxManager.Play(SoundEffect.CASTLE_PORTCULLIS);
152
+ }
153
+ // ModCallback.POST_RENDER (2)
154
+ export function versusScreenPostRender() {
155
+ if (!v.run.showingBossVersusScreen) {
156
+ return;
157
+ }
158
+ const isPaused = game.IsPaused();
159
+ if (isPaused) {
160
+ return;
161
+ }
162
+ if (versusScreenSprite.IsFinished(VERSUS_SCREEN_ANIMATION_NAME)) {
163
+ finishVersusScreenAnimation();
164
+ return;
165
+ }
166
+ const room = game.GetRoom();
167
+ const centerPos = room.GetCenterPos();
168
+ const position = Isaac.WorldToRenderPosition(centerPos);
169
+ // First, we render the background.
170
+ versusScreenBackgroundSprite.RenderLayer(BACKGROUND_ANM2_LAYER, position);
171
+ versusScreenBackgroundSprite.Update();
172
+ // Second, we render the overlay.
173
+ versusScreenSprite.RenderLayer(OVERLAY_ANM2_LAYER, position);
174
+ // Third, we render the dirt.
175
+ versusScreenDirtSpotSprite.RenderLayer(BOSS_DIRT_SPOT_ANM2_LAYER, position);
176
+ versusScreenDirtSpotSprite.RenderLayer(PLAYER_DIRT_SPOT_ANM2_LAYER, position);
177
+ versusScreenDirtSpotSprite.Update();
178
+ // Lastly, we render everything else.
179
+ for (const layerID of OTHER_ANM2_LAYERS) {
180
+ versusScreenSprite.RenderLayer(layerID, position);
181
+ }
182
+ versusScreenSprite.Update();
183
+ }
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc3VzU2NyZWVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaXNhYWNzY3JpcHQtY29tbW9uL3NyYy9mZWF0dXJlcy9jdXN0b21TdGFnZS92ZXJzdXNTY3JlZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEdBQ1IsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLENBQUMsRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sS0FBSyxDQUFD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
@@ -148,7 +148,8 @@ function ____exports.playVersusScreenAnimation(self, customStage, force)
148
148
  local r = ____customStage_versusScreen_backgroundColor_2.r
149
149
  local g = ____customStage_versusScreen_backgroundColor_2.g
150
150
  local b = ____customStage_versusScreen_backgroundColor_2.b
151
- backgroundColor = Color(r, g, b)
151
+ local a = ____customStage_versusScreen_backgroundColor_2.a
152
+ backgroundColor = Color(r, g, b, a)
152
153
  end
153
154
  versusScreenBackgroundSprite.Color = backgroundColor
154
155
  local dirtSpotColor = VERSUS_SCREEN_DIRT_SPOT_COLORS[DEFAULT_STAGE_ID]
@@ -180,6 +181,10 @@ function ____exports.versusScreenPostRender(self)
180
181
  if not v.run.showingBossVersusScreen then
181
182
  return
182
183
  end
184
+ local isPaused = game:IsPaused()
185
+ if isPaused then
186
+ return
187
+ end
183
188
  if versusScreenSprite:IsFinished(VERSUS_SCREEN_ANIMATION_NAME) then
184
189
  finishVersusScreenAnimation(nil)
185
190
  return
@@ -199,3 +204,5 @@ function ____exports.versusScreenPostRender(self)
199
204
  versusScreenSprite:Update()
200
205
  end
201
206
  return ____exports
207
+
208
+ --# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZmVhdHVyZXMvY3VzdG9tU3RhZ2UvdmVyc3VzU2NyZWVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztNQTBKUyxtQkF5QkEsaUJBNUpILG1CQWtDQSxpQkFNQTtBQS9ETiw2Q0FNTztBQUxMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFRiwwQkFBaUM7QUFBeEI7QUFBTTtBQUNmLGtCQUE0QjtBQUFuQjtBQUNULGlCQUEwQjtBQUFqQjtBQUNULG1CQUE0QjtBQUFuQjtBQUNULGtCQUF1QjtBQUFkO0FBRVQsaUNBQXlDO0FBQWhDO0FBQ1QscUNBQTZDO0FBQXBDO0FBQ1QsbUNBQTJDO0FBQWxDO0FBQ1QsdUNBQStDO0FBQXRDO0FBQ1QseUNBQWdEO0FBQXZDO0FBQ1QsdUNBQStDO0FBQXRDO0FBQ1Qsa0JBQStCO0FBQXRCO0FBQU87QUFDaEIsaUNBQWtEO0FBQXpDO0FBQ1QsY0FBc0M7QUFBL0I7QUFBSztBQXFJWixTQUFTO0FBSUQsbUJBQVM7QUFDVCxzQkFBWSxPQUFPO0FBRXJCLGtDQUF3QiwyQkFBMkI7T0FDbkQ7QUFDRixnQ0FBd0IsMkJBQTJCOztBQUcvQywrQkFBdUIsbUJBQWUsaUJBQUk7QUFFNUMsbUNBQXlCLCtCQUErQjtPQUN4RDtBQUNGLGlDQUF5QiwrQkFBK0I7O0FBR3BELG1DQUEyQixtQ0FBK0IsaUJBQUk7QUFFcEUsV0FBTyxDQUFDLG1CQUFtQjs7QUFJN0IsU0FBUztBQUlELG1CQUFTO0FBQ1Qsc0JBQVksT0FBTztPQUdyQjtBQUNJLHlCQUFXLGlCQUFZO0FBQ3ZCLHlCQUFXLG1CQUFtQixJQUFJO1dBQ3BDO0FBQ0YsbUJBQU87OztBQUtMLG1CQUFTLHFCQUEwQixLQUFJLFVBQVU7T0FDbkQsVUFBVztBQUNQLG9DQUF3QixtQkFBZSxRQUMzQyx5QkFBeUI7QUFFckIsZ0NBQWtCO0FBQ2xCLG9DQUFzQjtBQUM1QixlQUFPLENBQUMsaUJBQWlC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
@@ -0,0 +1,183 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { isReflectionRender } from "../../functions/utils";
4
+ import { saveDataManager } from "../saveDataManager/exports";
5
+ import v, { debugDisplayTextCallbacks, setDebugDisplayEnabled } from "./v";
6
+ /**
7
+ * The debug display feature is only initialized when the extra console commands feature is
8
+ * initialized.
9
+ */
10
+ export function debugDisplayInit(mod) {
11
+ setDebugDisplayEnabled();
12
+ saveDataManager("debugDisplay", v, () => false);
13
+ mod.AddCallback(ModCallback.POST_FAMILIAR_RENDER, postFamiliarRender); // 25
14
+ mod.AddCallback(ModCallback.POST_NPC_RENDER, postNPCRender); // 28
15
+ mod.AddCallback(ModCallback.POST_PLAYER_RENDER, postPlayerRender); // 32
16
+ mod.AddCallback(ModCallback.POST_PICKUP_RENDER, postPickupRender); // 36
17
+ mod.AddCallback(ModCallback.POST_TEAR_RENDER, postTearRender); // 41
18
+ mod.AddCallback(ModCallback.POST_PROJECTILE_RENDER, postProjectileRender); // 45
19
+ mod.AddCallback(ModCallback.POST_LASER_RENDER, postLaserRender); // 49
20
+ mod.AddCallback(ModCallback.POST_KNIFE_RENDER, postKnifeRender); // 52
21
+ mod.AddCallback(ModCallback.POST_EFFECT_RENDER, postEffectRender); // 56
22
+ mod.AddCallback(ModCallback.POST_BOMB_RENDER, postBombRender); // 59
23
+ mod.AddCallbackCustom(ModCallbackCustom.POST_SLOT_RENDER, postSlotRender);
24
+ mod.AddCallbackCustom(ModCallbackCustom.POST_ROCK_RENDER, postRockRender);
25
+ mod.AddCallbackCustom(ModCallbackCustom.POST_PIT_RENDER, postPitRender);
26
+ mod.AddCallbackCustom(ModCallbackCustom.POST_SPIKES_RENDER, postSpikesRender);
27
+ mod.AddCallbackCustom(ModCallbackCustom.POST_TNT_RENDER, postTNTRender);
28
+ mod.AddCallbackCustom(ModCallbackCustom.POST_POOP_RENDER, postPoopRender);
29
+ mod.AddCallbackCustom(ModCallbackCustom.POST_DOOR_RENDER, postDoorRender);
30
+ mod.AddCallbackCustom(ModCallbackCustom.POST_PRESSURE_PLATE_RENDER, postPressurePlateRender);
31
+ }
32
+ function renderTextOnEntity(entity, text) {
33
+ if (isReflectionRender()) {
34
+ return;
35
+ }
36
+ const position = Isaac.WorldToScreen(entity.Position);
37
+ Isaac.RenderText(text, position.X, position.Y, 1, 1, 1, 1);
38
+ }
39
+ // ModCallback.POST_FAMILIAR_RENDER (25)
40
+ function postFamiliarRender(familiar) {
41
+ if (!v.run.familiar) {
42
+ return;
43
+ }
44
+ const text = debugDisplayTextCallbacks.familiar(familiar);
45
+ renderTextOnEntity(familiar, text);
46
+ }
47
+ // ModCallback.POST_NPC_RENDER (28)
48
+ function postNPCRender(npc) {
49
+ if (!v.run.npc) {
50
+ return;
51
+ }
52
+ const text = debugDisplayTextCallbacks.npc(npc);
53
+ renderTextOnEntity(npc, text);
54
+ }
55
+ // ModCallback.POST_PLAYER_RENDER (32)
56
+ function postPlayerRender(player) {
57
+ if (!v.run.player) {
58
+ return;
59
+ }
60
+ const text = debugDisplayTextCallbacks.player(player);
61
+ renderTextOnEntity(player, text);
62
+ }
63
+ // ModCallback.POST_PICKUP_RENDER (36)
64
+ function postPickupRender(pickup) {
65
+ if (!v.run.pickup) {
66
+ return;
67
+ }
68
+ const text = debugDisplayTextCallbacks.pickup(pickup);
69
+ renderTextOnEntity(pickup, text);
70
+ }
71
+ // ModCallback.POST_TEAR_RENDER (41)
72
+ function postTearRender(tear) {
73
+ if (!v.run.tear) {
74
+ return;
75
+ }
76
+ const text = debugDisplayTextCallbacks.tear(tear);
77
+ renderTextOnEntity(tear, text);
78
+ }
79
+ // ModCallback.POST_PROJECTILE_RENDER (45)
80
+ function postProjectileRender(projectile) {
81
+ if (!v.run.projectile) {
82
+ return;
83
+ }
84
+ const text = debugDisplayTextCallbacks.projectile(projectile);
85
+ renderTextOnEntity(projectile, text);
86
+ }
87
+ // ModCallback.POST_LASER_RENDER (49)
88
+ function postLaserRender(laser) {
89
+ if (!v.run.laser) {
90
+ return;
91
+ }
92
+ const text = debugDisplayTextCallbacks.laser(laser);
93
+ renderTextOnEntity(laser, text);
94
+ }
95
+ // ModCallback.POST_KNIFE_RENDER (52)
96
+ function postKnifeRender(knife) {
97
+ if (!v.run.knife) {
98
+ return;
99
+ }
100
+ const text = debugDisplayTextCallbacks.knife(knife);
101
+ renderTextOnEntity(knife, text);
102
+ }
103
+ // ModCallback.POST_EFFECT_RENDER (56)
104
+ function postEffectRender(effect) {
105
+ if (!v.run.effect) {
106
+ return;
107
+ }
108
+ const text = debugDisplayTextCallbacks.effect(effect);
109
+ renderTextOnEntity(effect, text);
110
+ }
111
+ // ModCallback.POST_BOMB_RENDER (59)
112
+ function postBombRender(bomb) {
113
+ if (!v.run.bomb) {
114
+ return;
115
+ }
116
+ const text = debugDisplayTextCallbacks.bomb(bomb);
117
+ renderTextOnEntity(bomb, text);
118
+ }
119
+ // ModCallbackCustom.POST_SLOT_RENDER
120
+ function postSlotRender(slot) {
121
+ if (!v.run.slot) {
122
+ return;
123
+ }
124
+ const text = debugDisplayTextCallbacks.slot(slot);
125
+ renderTextOnEntity(slot, text);
126
+ }
127
+ // ModCallbackCustom.POST_ROCK_RENDER
128
+ function postRockRender(rock) {
129
+ if (!v.run.rock) {
130
+ return;
131
+ }
132
+ const text = debugDisplayTextCallbacks.rock(rock);
133
+ renderTextOnEntity(rock, text);
134
+ }
135
+ // ModCallbackCustom.POST_PIT_RENDER
136
+ function postPitRender(pit) {
137
+ if (!v.run.pit) {
138
+ return;
139
+ }
140
+ const text = debugDisplayTextCallbacks.pit(pit);
141
+ renderTextOnEntity(pit, text);
142
+ }
143
+ // ModCallbackCustom.POST_SPIKES_RENDER
144
+ function postSpikesRender(spikes) {
145
+ if (!v.run.spikes) {
146
+ return;
147
+ }
148
+ const text = debugDisplayTextCallbacks.spikes(spikes);
149
+ renderTextOnEntity(spikes, text);
150
+ }
151
+ // ModCallbackCustom.POST_TNT_RENDER
152
+ function postTNTRender(tnt) {
153
+ if (!v.run.tnt) {
154
+ return;
155
+ }
156
+ const text = debugDisplayTextCallbacks.tnt(tnt);
157
+ renderTextOnEntity(tnt, text);
158
+ }
159
+ // ModCallbackCustom.POST_POOP_RENDER
160
+ function postPoopRender(poop) {
161
+ if (!v.run.poop) {
162
+ return;
163
+ }
164
+ const text = debugDisplayTextCallbacks.poop(poop);
165
+ renderTextOnEntity(poop, text);
166
+ }
167
+ // ModCallbackCustom.POST_DOOR_RENDER
168
+ function postDoorRender(door) {
169
+ if (!v.run.door) {
170
+ return;
171
+ }
172
+ const text = debugDisplayTextCallbacks.door(door);
173
+ renderTextOnEntity(door, text);
174
+ }
175
+ // ModCallbackCustom.POST_PRESSURE_PLATE_RENDER
176
+ function postPressurePlateRender(pressurePlate) {
177
+ if (!v.run.pressurePlate) {
178
+ return;
179
+ }
180
+ const text = debugDisplayTextCallbacks.pressurePlate(pressurePlate);
181
+ renderTextOnEntity(pressurePlate, text);
182
+ }
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdEaXNwbGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaXNhYWNzY3JpcHQtY29tbW9uL3NyYy9mZWF0dXJlcy9kZWJ1Z0Rpc3BsYXkvZGVidWdEaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxDQUFDLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUUzRTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBZ0I7SUFDL0Msc0JBQXNCLEVBQUUsQ0FBQztJQUN6QixlQUFlLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVoRCxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSztJQUM1RSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLO0lBQ2xFLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLO0lBQ3hFLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLO0lBQ3hFLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGNBQWMs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
@@ -183,3 +183,5 @@ function ____exports.debugDisplayInit(self, mod)
183
183
  mod:AddCallbackCustom(ModCallbackCustom.POST_PRESSURE_PLATE_RENDER, postPressurePlateRender)
184
184
  end
185
185
  return ____exports
186
+
187
+ --# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZmVhdHVyZXMvZGVidWdEaXNwbGF5L2RlYnVnRGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO01Bc0NTLG9CQVVBLG9CQVVBLGVBVUEsa0JBVUEsa0JBVUEsZ0JBVUEsc0JBVUEsaUJBVUEsaUJBVUEsa0JBVUEsZ0JBVUEsZ0JBVUEsZ0JBVUEsZUFVQSxrQkFVQSxlQVVBLGdCQVVBLGdCQVVBO0FBMU5ULDZDQUE0QjtBQUFuQjtBQUVULDhCQUFrQztBQUF6QjtBQUNULGtCQUFtQztBQUExQjtBQUNULG9CQUFnQztBQUF2QjtBQUNULGNBQXFFO0FBQTlEO0FBQUs7QUFBMkI7QUFpQ3ZDLFNBQVMseUJBQW1CLFFBQTZCO09BQ25EO0FBQ0Y7O0FBR0kscUJBQVcsb0JBQW9CO0lBQ3JDO1FBQWlCO1FBQU07UUFBWTtRQUFZO1FBQUc7UUFBRztRQUFHOzs7QUFJMUQsU0FBUyx5QkFBbUI7V0FDckI7QUFDSDs7QUFHSSxpQkFBTywwQkFBMEIsU0FBUztJQUNoRCx3QkFBbUIsVUFBVTs7QUFJL0IsU0FBUyxvQkFBYztXQUNoQjtBQUNIOztBQUdJLGlCQUFPLDBCQUEwQixJQUFJO0lBQzNDLHdCQUFtQixLQUFLOztBQUkxQixTQUFTLHVCQUFpQjtXQUNuQjtBQUNIOztBQUdJLGlCQUFPLDBCQUEwQixPQUFPO0lBQzlDLHdCQUFtQixRQUFROztBQUk3QixTQUFTLHVCQUFpQjtXQUNuQjtBQUNIOztBQUdJLGlCQUFPLDBCQUEwQixPQUFPO0lBQzlDLHdCQUFtQixRQUFROztBQUk3QixTQUFTLHFCQUFlO1dBQ2pCO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLEtBQUs7SUFDNUMsd0JBQW1CLE1BQU07O0FBSTNCLFNBQVMsMkJBQXFCO1dBQ3ZCO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLFdBQVc7SUFDbEQsd0JBQW1CLFlBQVk7O0FBSWpDLFNBQVMsc0JBQWdCO1dBQ2xCO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLE1BQU07SUFDN0Msd0JBQW1CLE9BQU87O0FBSTVCLFNBQVMsc0JBQWdCO1dBQ2xCO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLE1BQU07SUFDN0Msd0JBQW1CLE9BQU87O0FBSTVCLFNBQVMsdUJBQWlCO1dBQ25CO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLE9BQU87SUFDOUMsd0JBQW1CLFFBQVE7O0FBSTdCLFNBQVMscUJBQWU7V0FDakI7QUFDSDs7QUFHSSxpQkFBTywwQkFBMEIsS0FBSztJQUM1Qyx3QkFBbUIsTUFBTTs7QUFJM0IsU0FBUyxxQkFBZTtXQUNqQjtBQUNIOztBQUdJLGlCQUFPLDBCQUEwQixLQUFLO0lBQzVDLHdCQUFtQixNQUFNOztBQUkzQixTQUFTLHFCQUFlO1dBQ2pCO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLEtBQUs7SUFDNUMsd0JBQW1CLE1BQU07O0FBSTNCLFNBQVMsb0JBQWM7V0FDaEI7QUFDSDs7QUFHSSxpQkFBTywwQkFBMEIsSUFBSTtJQUMzQyx3QkFBbUIsS0FBSzs7QUFJMUIsU0FBUyx1QkFBaUI7V0FDbkI7QUFDSDs7QUFHSSxpQkFBTywwQkFBMEIsT0FBTztJQUM5Qyx3QkFBbUIsUUFBUTs7QUFJN0IsU0FBUyxvQkFBYztXQUNoQjtBQUNIOztBQUdJLGlCQUFPLDBCQUEwQixJQUFJO0lBQzNDLHdCQUFtQixLQUFLOztBQUkxQixTQUFTLHFCQUFlO1dBQ2pCO0FBQ0g7O0FBR0ksaUJBQU8sMEJBQTBCLEtBQUs7SUFDNUMsd0JBQW1CLE1BQU07O0FBSTNCLFNBQVMscUJBQWU7V0FDakI7QUFDSDs7QUFHSSxpQkFBTywwQkFBMEIsS0FBSztJQUM1Qyx3QkFBbUIsTUFBTTs7QUFJM0IsU0FBUyw4QkFBd0I7V0FDMUI7QUFDSDs7QUFHSSxpQkFBTywwQkFBMEIsY0FBYztJQUNyRCx3QkFBbUIsZUFBZTs7OztBQXJOcEMsNENBQWlDO0lBQy9CO0lBQ0E7O1FBQWdCO1FBQWdCO1FBQUcsV0FBTSxZQUFOOztJQUVuQyxJQUFJLFlBQVksa0NBQWtDO0lBQ2xELElBQUksWUFBWSw2QkFBNkI7SUFDN0MsSUFBSSxZQUFZLGdDQUFnQztJQUNoRCxJQUFJLFlBQVksZ0NBQWdDO0lBQ2hELElBQUksWUFBWSw4QkFBOEI7SUFDOUMsSUFBSSxZQUFZLG9DQUFvQztJQUNwRCxJQUFJLFlBQVksK0JBQStCO0lBQy9DLElBQUksWUFBWSwrQkFBK0I7SUFDL0MsSUFBSSxZQUFZLGdDQUFnQztJQUNoRCxJQUFJLFlBQVksOEJBQThCO0lBQzlDLElBQUksa0JBQWtCLG9DQUFvQztJQUMxRCxJQUFJLGtCQUFrQixvQ0FBb0M7SUFDMUQsSUFBSSxrQkFBa0IsbUNBQW1DO0lBQ3pELElBQUksa0JBQWtCLHNDQUFzQztJQUM1RCxJQUFJLGtCQUFrQixtQ0FBbUM7SUFDekQsSUFBSSxrQkFBa0Isb0NBQW9DO0lBQzFELElBQUksa0JBQWtCLG9DQUFvQztJQUMxRCxJQUFJLGtCQUNGLDhDQUNBO0FBdkJKIiwiZmlsZSI6ImRlYnVnRGlzcGxheS5sdWEiLCJzb3VyY2VSb290IjoiIn0=