isaacscript-common 6.6.3 → 6.7.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 (262) hide show
  1. package/dist/callbacks/customRevive.lua +4 -4
  2. package/dist/callbacks/postCursedTeleport.lua +2 -2
  3. package/dist/callbacks/postCustomDoorEnter.d.ts +1 -1
  4. package/dist/callbacks/postCustomDoorEnter.lua +6 -6
  5. package/dist/callbacks/postDiceRoomActivated.lua +2 -2
  6. package/dist/callbacks/postFlip.lua +3 -3
  7. package/dist/callbacks/postGridEntity.lua +3 -3
  8. package/dist/callbacks/postGridEntityCollision.lua +3 -3
  9. package/dist/callbacks/postGridEntityRender.lua +2 -2
  10. package/dist/callbacks/postNewRoomEarly.lua +5 -5
  11. package/dist/callbacks/postPickupCollect.lua +2 -2
  12. package/dist/callbacks/postPitRender.lua +2 -2
  13. package/dist/callbacks/postPitUpdate.lua +2 -2
  14. package/dist/callbacks/postPlayerCollectible.lua +2 -2
  15. package/dist/callbacks/postPoopRender.lua +2 -2
  16. package/dist/callbacks/postPoopUpdate.lua +2 -2
  17. package/dist/callbacks/postPressurePlateRender.lua +2 -2
  18. package/dist/callbacks/postPressurePlateUpdate.lua +2 -2
  19. package/dist/callbacks/postPurchase.lua +2 -2
  20. package/dist/callbacks/postRockRender.lua +2 -2
  21. package/dist/callbacks/postRockUpdate.lua +2 -2
  22. package/dist/callbacks/postSlotInitUpdate.lua +2 -2
  23. package/dist/callbacks/postSlotRender.lua +2 -2
  24. package/dist/callbacks/postSpikesRender.lua +2 -2
  25. package/dist/callbacks/postSpikesUpdate.lua +2 -2
  26. package/dist/callbacks/postTNTRender.lua +2 -2
  27. package/dist/callbacks/postTNTUpdate.lua +2 -2
  28. package/dist/callbacks/preBerserkDeath.lua +2 -2
  29. package/dist/callbacks/preNewLevel.lua +2 -2
  30. package/dist/callbacks/subscriptions/postDoorRender.d.ts +2 -3
  31. package/dist/callbacks/subscriptions/postDoorRender.d.ts.map +1 -1
  32. package/dist/callbacks/subscriptions/postDoorRender.lua +3 -3
  33. package/dist/callbacks/subscriptions/postDoorUpdate.d.ts +2 -3
  34. package/dist/callbacks/subscriptions/postDoorUpdate.d.ts.map +1 -1
  35. package/dist/callbacks/subscriptions/postDoorUpdate.lua +3 -3
  36. package/dist/callbacks/subscriptions/postPitRender.d.ts +2 -3
  37. package/dist/callbacks/subscriptions/postPitRender.d.ts.map +1 -1
  38. package/dist/callbacks/subscriptions/postPitRender.lua +3 -3
  39. package/dist/callbacks/subscriptions/postPitUpdate.d.ts +2 -3
  40. package/dist/callbacks/subscriptions/postPitUpdate.d.ts.map +1 -1
  41. package/dist/callbacks/subscriptions/postPitUpdate.lua +3 -3
  42. package/dist/callbacks/subscriptions/postPoopRender.d.ts +2 -3
  43. package/dist/callbacks/subscriptions/postPoopRender.d.ts.map +1 -1
  44. package/dist/callbacks/subscriptions/postPoopRender.lua +3 -3
  45. package/dist/callbacks/subscriptions/postPoopUpdate.d.ts +2 -3
  46. package/dist/callbacks/subscriptions/postPoopUpdate.d.ts.map +1 -1
  47. package/dist/callbacks/subscriptions/postPoopUpdate.lua +3 -3
  48. package/dist/callbacks/subscriptions/postPressurePlateRender.d.ts +2 -3
  49. package/dist/callbacks/subscriptions/postPressurePlateRender.d.ts.map +1 -1
  50. package/dist/callbacks/subscriptions/postPressurePlateRender.lua +3 -3
  51. package/dist/callbacks/subscriptions/postPressurePlateUpdate.d.ts +2 -3
  52. package/dist/callbacks/subscriptions/postPressurePlateUpdate.d.ts.map +1 -1
  53. package/dist/callbacks/subscriptions/postPressurePlateUpdate.lua +3 -3
  54. package/dist/enums/private/SerializationBrand.d.ts +0 -4
  55. package/dist/enums/private/SerializationBrand.d.ts.map +1 -1
  56. package/dist/features/characterStats.lua +2 -2
  57. package/dist/features/collectibleItemPoolType.lua +2 -2
  58. package/dist/features/customGridEntity.d.ts.map +1 -1
  59. package/dist/features/customGridEntity.lua +5 -5
  60. package/dist/features/customStage/backdrop.lua +2 -2
  61. package/dist/features/customStage/{gridEntities.d.ts → customStageGridEntities.d.ts} +1 -1
  62. package/dist/features/customStage/customStageGridEntities.d.ts.map +1 -0
  63. package/dist/features/customStage/{gridEntities.lua → customStageGridEntities.lua} +8 -8
  64. package/dist/features/customStage/{util.d.ts → customStageUtils.d.ts} +1 -1
  65. package/dist/features/customStage/customStageUtils.d.ts.map +1 -0
  66. package/dist/features/customStage/{util.lua → customStageUtils.lua} +0 -0
  67. package/dist/features/customStage/exports.lua +4 -4
  68. package/dist/features/customStage/init.lua +6 -6
  69. package/dist/features/customStage/shadows.lua +2 -2
  70. package/dist/features/customStage/versusScreen.lua +4 -4
  71. package/dist/features/debugDisplay/v.lua +4 -4
  72. package/dist/features/deployJSONRoom.lua +20 -20
  73. package/dist/features/extraConsoleCommands/commandsSubroutines.lua +3 -3
  74. package/dist/features/extraConsoleCommands/listCommands.d.ts.map +1 -1
  75. package/dist/features/extraConsoleCommands/listCommands.lua +14 -14
  76. package/dist/features/pause.lua +2 -2
  77. package/dist/features/persistentEntities.lua +2 -2
  78. package/dist/features/preventCollectibleRotation.lua +2 -2
  79. package/dist/features/saveDataManager/exports.d.ts.map +1 -1
  80. package/dist/features/saveDataManager/merge.lua +4 -3
  81. package/dist/features/sirenHelpers.lua +2 -2
  82. package/dist/functions/ambush.lua +5 -5
  83. package/dist/functions/array.d.ts.map +1 -1
  84. package/dist/functions/array.lua +1 -1
  85. package/dist/functions/{boss.d.ts → bosses.d.ts} +22 -4
  86. package/dist/functions/bosses.d.ts.map +1 -0
  87. package/dist/functions/{boss.lua → bosses.lua} +38 -13
  88. package/dist/functions/collectibleTag.lua +2 -2
  89. package/dist/functions/collectibles.lua +5 -5
  90. package/dist/functions/deepCopy.d.ts +8 -5
  91. package/dist/functions/deepCopy.d.ts.map +1 -1
  92. package/dist/functions/deepCopy.lua +142 -38
  93. package/dist/functions/deepCopyTests.d.ts +6 -1
  94. package/dist/functions/deepCopyTests.d.ts.map +1 -1
  95. package/dist/functions/deepCopyTests.lua +19 -16
  96. package/dist/functions/{entity.d.ts → entities.d.ts} +21 -19
  97. package/dist/functions/entities.d.ts.map +1 -0
  98. package/dist/functions/{entity.lua → entities.lua} +25 -20
  99. package/dist/functions/{entitySpecific.d.ts → entitiesSpecific.d.ts} +145 -68
  100. package/dist/functions/entitiesSpecific.d.ts.map +1 -0
  101. package/dist/functions/{entitySpecific.lua → entitiesSpecific.lua} +203 -65
  102. package/dist/functions/familiars.lua +2 -2
  103. package/dist/functions/{gridEntity.d.ts → gridEntities.d.ts} +48 -17
  104. package/dist/functions/gridEntities.d.ts.map +1 -0
  105. package/dist/functions/{gridEntity.lua → gridEntities.lua} +140 -90
  106. package/dist/functions/gridEntitiesSpecific.d.ts +141 -0
  107. package/dist/functions/gridEntitiesSpecific.d.ts.map +1 -0
  108. package/dist/functions/gridEntitiesSpecific.lua +366 -0
  109. package/dist/functions/log.d.ts +1 -1
  110. package/dist/functions/log.d.ts.map +1 -1
  111. package/dist/functions/log.lua +16 -12
  112. package/dist/functions/mergeTests.d.ts +7 -1
  113. package/dist/functions/mergeTests.d.ts.map +1 -1
  114. package/dist/functions/mergeTests.lua +86 -7
  115. package/dist/functions/{npc.d.ts → npcs.d.ts} +24 -2
  116. package/dist/functions/npcs.d.ts.map +1 -0
  117. package/dist/functions/{npc.lua → npcs.lua} +44 -9
  118. package/dist/functions/pickups.d.ts +4 -119
  119. package/dist/functions/pickups.d.ts.map +1 -1
  120. package/dist/functions/pickups.lua +10 -439
  121. package/dist/functions/pickupsSpecific.d.ts +229 -0
  122. package/dist/functions/pickupsSpecific.d.ts.map +1 -0
  123. package/dist/functions/pickupsSpecific.lua +560 -0
  124. package/dist/functions/playerHealth.lua +6 -6
  125. package/dist/functions/{player.d.ts → players.d.ts} +1 -1
  126. package/dist/functions/players.d.ts.map +1 -0
  127. package/dist/functions/{player.lua → players.lua} +0 -0
  128. package/dist/functions/pocketItems.lua +2 -2
  129. package/dist/functions/positionVelocity.lua +6 -6
  130. package/dist/functions/pressurePlate.d.ts +10 -0
  131. package/dist/functions/pressurePlate.d.ts.map +1 -0
  132. package/dist/functions/pressurePlate.lua +29 -0
  133. package/dist/functions/revive.lua +7 -7
  134. package/dist/functions/rooms.lua +2 -2
  135. package/dist/functions/saveFile.lua +3 -3
  136. package/dist/functions/spawnCollectible.lua +4 -4
  137. package/dist/functions/{sprite.d.ts → sprites.d.ts} +1 -1
  138. package/dist/functions/sprites.d.ts.map +1 -0
  139. package/dist/functions/{sprite.lua → sprites.lua} +0 -0
  140. package/dist/functions/table.d.ts +1 -1
  141. package/dist/functions/table.lua +1 -1
  142. package/dist/functions/transformations.lua +2 -2
  143. package/dist/functions/trinketGive.lua +2 -2
  144. package/dist/functions/trinkets.lua +6 -6
  145. package/dist/functions/utils.d.ts +7 -0
  146. package/dist/functions/utils.d.ts.map +1 -1
  147. package/dist/functions/utils.lua +35 -22
  148. package/dist/index.d.ts +10 -8
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.lua +26 -10
  151. package/dist/types/AnyGridEntity.d.ts +10 -0
  152. package/dist/types/AnyGridEntity.d.ts.map +1 -0
  153. package/dist/types/AnyGridEntity.lua +2 -0
  154. package/package.json +2 -2
  155. package/src/callbacks/customRevive.ts +2 -2
  156. package/src/callbacks/postCursedTeleport.ts +2 -2
  157. package/src/callbacks/postCustomDoorEnter.ts +3 -3
  158. package/src/callbacks/postDiceRoomActivated.ts +1 -1
  159. package/src/callbacks/postFlip.ts +1 -1
  160. package/src/callbacks/postGridEntity.ts +1 -1
  161. package/src/callbacks/postGridEntityCollision.ts +1 -1
  162. package/src/callbacks/postGridEntityRender.ts +1 -1
  163. package/src/callbacks/postNewRoomEarly.ts +9 -3
  164. package/src/callbacks/postPickupCollect.ts +1 -1
  165. package/src/callbacks/postPitRender.ts +1 -1
  166. package/src/callbacks/postPitUpdate.ts +1 -1
  167. package/src/callbacks/postPlayerCollectible.ts +2 -2
  168. package/src/callbacks/postPoopRender.ts +1 -1
  169. package/src/callbacks/postPoopUpdate.ts +1 -1
  170. package/src/callbacks/postPressurePlateRender.ts +1 -1
  171. package/src/callbacks/postPressurePlateUpdate.ts +1 -1
  172. package/src/callbacks/postPurchase.ts +1 -1
  173. package/src/callbacks/postRockRender.ts +1 -1
  174. package/src/callbacks/postRockUpdate.ts +1 -1
  175. package/src/callbacks/postSacrifice.ts +1 -1
  176. package/src/callbacks/postSlotInitUpdate.ts +1 -1
  177. package/src/callbacks/postSlotRender.ts +1 -1
  178. package/src/callbacks/postSpikesRender.ts +1 -1
  179. package/src/callbacks/postSpikesUpdate.ts +1 -1
  180. package/src/callbacks/postTNTRender.ts +1 -1
  181. package/src/callbacks/postTNTUpdate.ts +1 -1
  182. package/src/callbacks/preBerserkDeath.ts +1 -1
  183. package/src/callbacks/preNewLevel.ts +1 -1
  184. package/src/callbacks/subscriptions/postDoorRender.ts +7 -5
  185. package/src/callbacks/subscriptions/postDoorUpdate.ts +7 -5
  186. package/src/callbacks/subscriptions/postPitRender.ts +6 -7
  187. package/src/callbacks/subscriptions/postPitUpdate.ts +6 -7
  188. package/src/callbacks/subscriptions/postPoopRender.ts +7 -5
  189. package/src/callbacks/subscriptions/postPoopUpdate.ts +7 -5
  190. package/src/callbacks/subscriptions/postPressurePlateRender.ts +7 -5
  191. package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +7 -5
  192. package/src/enums/private/SerializationBrand.ts +0 -4
  193. package/src/features/characterStats.ts +1 -1
  194. package/src/features/collectibleItemPoolType.ts +1 -1
  195. package/src/features/customGridEntity.ts +6 -3
  196. package/src/features/customStage/backdrop.ts +1 -1
  197. package/src/features/customStage/{gridEntities.ts → customStageGridEntities.ts} +3 -3
  198. package/src/features/customStage/{util.ts → customStageUtils.ts} +0 -0
  199. package/src/features/customStage/exports.ts +2 -2
  200. package/src/features/customStage/init.ts +1 -1
  201. package/src/features/customStage/shadows.ts +1 -1
  202. package/src/features/customStage/versusScreen.ts +2 -2
  203. package/src/features/debugDisplay/v.ts +2 -2
  204. package/src/features/deployJSONRoom.ts +11 -7
  205. package/src/features/extraConsoleCommands/commandsSubroutines.ts +2 -2
  206. package/src/features/extraConsoleCommands/listCommands.ts +13 -9
  207. package/src/features/pause.ts +1 -1
  208. package/src/features/persistentEntities.ts +2 -2
  209. package/src/features/preventCollectibleRotation.ts +1 -1
  210. package/src/features/saveDataManager/exports.ts +7 -4
  211. package/src/features/saveDataManager/merge.ts +3 -3
  212. package/src/features/sirenHelpers.ts +1 -1
  213. package/src/functions/ambush.ts +2 -2
  214. package/src/functions/array.ts +5 -2
  215. package/src/functions/bitwise.ts +2 -2
  216. package/src/functions/{boss.ts → bosses.ts} +29 -21
  217. package/src/functions/collectibleTag.ts +1 -1
  218. package/src/functions/collectibles.ts +2 -2
  219. package/src/functions/deepCopy.ts +98 -19
  220. package/src/functions/deepCopyTests.ts +75 -19
  221. package/src/functions/{entity.ts → entities.ts} +23 -21
  222. package/src/functions/{entitySpecific.ts → entitiesSpecific.ts} +170 -99
  223. package/src/functions/familiars.ts +1 -1
  224. package/src/functions/{gridEntity.ts → gridEntities.ts} +110 -34
  225. package/src/functions/gridEntitiesSpecific.ts +490 -0
  226. package/src/functions/log.ts +19 -10
  227. package/src/functions/mergeTests.ts +152 -4
  228. package/src/functions/{npc.ts → npcs.ts} +42 -11
  229. package/src/functions/pickups.ts +8 -475
  230. package/src/functions/pickupsSpecific.ts +613 -0
  231. package/src/functions/playerHealth.ts +1 -1
  232. package/src/functions/{player.ts → players.ts} +0 -0
  233. package/src/functions/pocketItems.ts +1 -1
  234. package/src/functions/positionVelocity.ts +3 -3
  235. package/src/functions/pressurePlate.ts +29 -0
  236. package/src/functions/revive.ts +2 -2
  237. package/src/functions/rooms.ts +1 -1
  238. package/src/functions/saveFile.ts +1 -1
  239. package/src/functions/spawnCollectible.ts +2 -2
  240. package/src/functions/{sprite.ts → sprites.ts} +0 -0
  241. package/src/functions/table.ts +1 -1
  242. package/src/functions/transformations.ts +1 -1
  243. package/src/functions/trinketGive.ts +4 -4
  244. package/src/functions/trinkets.ts +3 -3
  245. package/src/functions/tstlClass.ts +1 -1
  246. package/src/functions/ui.ts +3 -3
  247. package/src/functions/utils.ts +32 -13
  248. package/src/index.ts +10 -8
  249. package/src/types/AnyGridEntity.ts +9 -0
  250. package/dist/features/customStage/gridEntities.d.ts.map +0 -1
  251. package/dist/features/customStage/util.d.ts.map +0 -1
  252. package/dist/functions/boss.d.ts.map +0 -1
  253. package/dist/functions/entity.d.ts.map +0 -1
  254. package/dist/functions/entitySpecific.d.ts.map +0 -1
  255. package/dist/functions/gridEntity.d.ts.map +0 -1
  256. package/dist/functions/gridEntitySpecific.d.ts +0 -29
  257. package/dist/functions/gridEntitySpecific.d.ts.map +0 -1
  258. package/dist/functions/gridEntitySpecific.lua +0 -114
  259. package/dist/functions/npc.d.ts.map +0 -1
  260. package/dist/functions/player.d.ts.map +0 -1
  261. package/dist/functions/sprite.d.ts.map +0 -1
  262. package/src/functions/gridEntitySpecific.ts +0 -143
@@ -1,10 +1,6 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
3
3
  local ____exports = {}
4
- local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
5
- local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
6
- local ____constants = require("constants")
7
- local VectorZero = ____constants.VectorZero
8
4
  local ____coinSubTypeToValue = require("objects.coinSubTypeToValue")
9
5
  local COIN_SUBTYPE_TO_VALUE = ____coinSubTypeToValue.COIN_SUBTYPE_TO_VALUE
10
6
  local DEFAULT_COIN_VALUE = ____coinSubTypeToValue.DEFAULT_COIN_VALUE
@@ -12,463 +8,38 @@ local ____chestPickupVariantsSet = require("sets.chestPickupVariantsSet")
12
8
  local CHEST_PICKUP_VARIANTS = ____chestPickupVariantsSet.CHEST_PICKUP_VARIANTS
13
9
  local ____redHeartSubTypesSet = require("sets.redHeartSubTypesSet")
14
10
  local RED_HEART_SUB_TYPES_SET = ____redHeartSubTypesSet.RED_HEART_SUB_TYPES_SET
15
- local ____entitySpecific = require("functions.entitySpecific")
16
- local getPickups = ____entitySpecific.getPickups
17
- local removeAllPickups = ____entitySpecific.removeAllPickups
18
- local spawnPickup = ____entitySpecific.spawnPickup
11
+ local ____entities = require("functions.entities")
12
+ local removeEntities = ____entities.removeEntities
13
+ local ____pickupsSpecific = require("functions.pickupsSpecific")
14
+ local getHearts = ____pickupsSpecific.getHearts
19
15
  local ____pickupVariants = require("functions.pickupVariants")
20
16
  local isHeart = ____pickupVariants.isHeart
21
- --- Helper function to get all of the battery entities in the room.
22
- function ____exports.getBatteries(self, matchingSubType)
23
- if matchingSubType == nil then
24
- matchingSubType = -1
25
- end
26
- return getPickups(nil, PickupVariant.LIL_BATTERY, matchingSubType)
27
- end
28
- --- Helper function to get all of the card entities in the room.
29
- function ____exports.getCards(self, matchingSubType)
30
- if matchingSubType == nil then
31
- matchingSubType = -1
32
- end
33
- return getPickups(nil, PickupVariant.TAROT_CARD, matchingSubType)
34
- end
35
17
  --- Helper function to get the corresponding coin amount from a `CoinSubType`. Returns 1 for modded
36
18
  -- sub-types.
37
19
  function ____exports.getCoinValue(self, coinSubType)
38
20
  local value = COIN_SUBTYPE_TO_VALUE[coinSubType]
39
21
  return value == nil and DEFAULT_COIN_VALUE or value
40
22
  end
41
- --- Helper function to get all of the coin pickup entities in the room.
42
- function ____exports.getCoins(self, matchingSubType)
43
- if matchingSubType == nil then
44
- matchingSubType = -1
45
- end
46
- return getPickups(nil, PickupVariant.COIN, matchingSubType)
47
- end
48
- --- Helper function to get all of the collectible entities in the room.
49
- function ____exports.getCollectibles(self, matchingSubType)
50
- if matchingSubType == nil then
51
- matchingSubType = -1
52
- end
53
- return getPickups(nil, PickupVariant.COLLECTIBLE, matchingSubType)
54
- end
55
- --- Helper function to get all of the heart pickup entities in the room.
56
- function ____exports.getHearts(self, matchingSubType)
57
- if matchingSubType == nil then
58
- matchingSubType = -1
59
- end
60
- return getPickups(nil, PickupVariant.HEART, matchingSubType)
61
- end
62
- --- Helper function to get all of the key pickup entities in the room.
63
- function ____exports.getKeys(self, matchingSubType)
64
- if matchingSubType == nil then
65
- matchingSubType = -1
66
- end
67
- return getPickups(nil, PickupVariant.KEY, matchingSubType)
68
- end
69
- --- Helper function to get all of the pill entities in the room.
70
- function ____exports.getPills(self, matchingSubType)
71
- if matchingSubType == nil then
72
- matchingSubType = -1
73
- end
74
- return getPickups(nil, PickupVariant.PILL, matchingSubType)
75
- end
76
23
  --- Helper function to get all of the red heart pickup entities in the room.
77
24
  function ____exports.getRedHearts(self)
78
- local hearts = ____exports.getHearts(nil)
25
+ local hearts = getHearts(nil)
79
26
  return __TS__ArrayFilter(
80
27
  hearts,
81
28
  function(____, heart) return RED_HEART_SUB_TYPES_SET:has(heart.SubType) end
82
29
  )
83
30
  end
84
- --- Helper function to get all of the sack (i.e. grab bag) entities in the room.
85
- function ____exports.getSacks(self, matchingSubType)
86
- if matchingSubType == nil then
87
- matchingSubType = -1
88
- end
89
- return getPickups(nil, PickupVariant.SACK, matchingSubType)
90
- end
91
- --- Helper function to get all of the trinket entities in the room.
92
- function ____exports.getTrinkets(self, matchingSubType)
93
- if matchingSubType == nil then
94
- matchingSubType = -1
95
- end
96
- return getPickups(nil, PickupVariant.TRINKET, matchingSubType)
97
- end
98
31
  function ____exports.isChest(self, pickup)
99
32
  return CHEST_PICKUP_VARIANTS:has(pickup.Variant)
100
33
  end
101
34
  function ____exports.isRedHeart(self, pickup)
102
35
  return isHeart(nil, pickup) and RED_HEART_SUB_TYPES_SET:has(pickup.SubType)
103
36
  end
104
- --- Helper function to remove all of the batteries in the room.
105
- --
106
- -- @param batterySubType Optional. If specified, will only remove cards that match this sub-type.
107
- -- @param cap Optional. If specified, will only remove the given amount of cards.
108
- -- @returns True if one or more cards were removed, false otherwise.
109
- function ____exports.removeAllBatteries(self, batterySubType, cap)
110
- return removeAllPickups(nil, PickupVariant.LIL_BATTERY, batterySubType, cap)
111
- end
112
- --- Helper function to remove all of the cards in the room.
113
- --
114
- -- @param card Optional. If specified, will only remove cards that match this sub-type.
115
- -- @param cap Optional. If specified, will only remove the given amount of cards.
116
- -- @returns True if one or more cards were removed, false otherwise.
117
- function ____exports.removeAllCards(self, card, cap)
118
- return removeAllPickups(nil, PickupVariant.TAROT_CARD, card, cap)
119
- end
120
- --- Helper function to remove all of the coins in the room.
121
- --
122
- -- @param coinSubType Optional. If specified, will only remove coins that match this sub-type.
123
- -- @param cap Optional. If specified, will only remove the given amount of coins.
124
- -- @returns True if one or more coins were removed, false otherwise.
125
- function ____exports.removeAllCoins(self, coinSubType, cap)
126
- return removeAllPickups(nil, PickupVariant.COIN, coinSubType, cap)
127
- end
128
- --- Helper function to remove all of the collectibles in the room.
37
+ --- Helper function to remove all of the red heart pickup entities in the room.
129
38
  --
130
- -- @param collectibleType Optional. If specified, will only remove collectibles that match this
131
- -- collectible type.
132
- -- @param cap Optional. If specified, will only remove the given amount of collectibles.
133
- -- @returns True if one or more collectibles were removed, false otherwise.
134
- function ____exports.removeAllCollectibles(self, collectibleType, cap)
135
- return removeAllPickups(nil, PickupVariant.COLLECTIBLE, collectibleType, cap)
136
- end
137
- --- Helper function to remove all of the hearts in the room.
138
- --
139
- -- @param heartSubType Optional. If specified, will only remove hearts that match this sub-type.
140
39
  -- @param cap Optional. If specified, will only remove the given amount of hearts.
141
- -- @returns True if one or more hearts were removed, false otherwise.
142
- function ____exports.removeAllHearts(self, heartSubType, cap)
143
- return removeAllPickups(nil, PickupVariant.HEART, heartSubType, cap)
144
- end
145
- --- Helper function to remove all of the keys in the room.
146
- --
147
- -- @param keySubType Optional. If specified, will only remove keys that match this sub-type.
148
- -- @param cap Optional. If specified, will only remove the given amount of keys.
149
- -- @returns True if one or more keys were removed, false otherwise.
150
- function ____exports.removeAllKeys(self, keySubType, cap)
151
- return removeAllPickups(nil, PickupVariant.KEY, keySubType, cap)
152
- end
153
- --- Helper function to remove all of the pills in the room.
154
- --
155
- -- @param pillColor Optional. If specified, will only remove pills that match this color.
156
- -- @param cap Optional. If specified, will only remove the given amount of pills.
157
- -- @returns True if one or more pills were removed, false otherwise.
158
- function ____exports.removeAllPills(self, pillColor, cap)
159
- return removeAllPickups(nil, PickupVariant.PILL, pillColor, cap)
160
- end
161
- --- Helper function to remove all of the sacks (i.e. grab bags) in the room.
162
- --
163
- -- @param sackSubType Optional. If specified, will only remove sacks that match this sub-type.
164
- -- @param cap Optional. If specified, will only remove the given amount of trinkets.
165
- -- @returns True if one or more trinkets were removed, false otherwise.
166
- function ____exports.removeAllSacks(self, sackSubType, cap)
167
- return removeAllPickups(nil, PickupVariant.TRINKET, sackSubType, cap)
168
- end
169
- --- Helper function to remove all of the trinkets in the room.
170
- --
171
- -- @param trinketType Optional. If specified, will only remove trinkets that match this trinket
172
- -- type.
173
- -- @param cap Optional. If specified, will only remove the given amount of trinkets.
174
- -- @returns True if one or more trinkets were removed, false otherwise.
175
- function ____exports.removeAllTrinkets(self, trinketType, cap)
176
- return removeAllPickups(nil, PickupVariant.TRINKET, trinketType, cap)
177
- end
178
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90).
179
- function ____exports.spawnBattery(self, subType, position, velocity, spawner, seedOrRNG)
180
- if velocity == nil then
181
- velocity = VectorZero
182
- end
183
- if spawner == nil then
184
- spawner = nil
185
- end
186
- if seedOrRNG == nil then
187
- seedOrRNG = nil
188
- end
189
- return spawnPickup(
190
- nil,
191
- PickupVariant.LIL_BATTERY,
192
- subType,
193
- position,
194
- velocity,
195
- spawner,
196
- seedOrRNG
197
- )
198
- end
199
- function ____exports.spawnBatteryWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
200
- if velocity == nil then
201
- velocity = VectorZero
202
- end
203
- if spawner == nil then
204
- spawner = nil
205
- end
206
- return ____exports.spawnBattery(
207
- nil,
208
- subType,
209
- position,
210
- velocity,
211
- spawner,
212
- seedOrRNG
213
- )
214
- end
215
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TAROT_CARD` (300).
216
- function ____exports.spawnCard(self, subType, position, velocity, spawner, seedOrRNG)
217
- if velocity == nil then
218
- velocity = VectorZero
219
- end
220
- if spawner == nil then
221
- spawner = nil
222
- end
223
- if seedOrRNG == nil then
224
- seedOrRNG = nil
225
- end
226
- return spawnPickup(
227
- nil,
228
- PickupVariant.TAROT_CARD,
229
- subType,
230
- position,
231
- velocity,
232
- spawner,
233
- seedOrRNG
234
- )
235
- end
236
- function ____exports.spawnCardWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
237
- if velocity == nil then
238
- velocity = VectorZero
239
- end
240
- if spawner == nil then
241
- spawner = nil
242
- end
243
- return ____exports.spawnCard(
244
- nil,
245
- subType,
246
- position,
247
- velocity,
248
- spawner,
249
- seedOrRNG
250
- )
251
- end
252
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20).
253
- function ____exports.spawnCoin(self, subType, position, velocity, spawner, seedOrRNG)
254
- if velocity == nil then
255
- velocity = VectorZero
256
- end
257
- if spawner == nil then
258
- spawner = nil
259
- end
260
- if seedOrRNG == nil then
261
- seedOrRNG = nil
262
- end
263
- return spawnPickup(
264
- nil,
265
- PickupVariant.COIN,
266
- subType,
267
- position,
268
- velocity,
269
- spawner,
270
- seedOrRNG
271
- )
272
- end
273
- function ____exports.spawnCoinWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
274
- if velocity == nil then
275
- velocity = VectorZero
276
- end
277
- if spawner == nil then
278
- spawner = nil
279
- end
280
- return ____exports.spawnCoin(
281
- nil,
282
- subType,
283
- position,
284
- velocity,
285
- spawner,
286
- seedOrRNG
287
- )
288
- end
289
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10).
290
- function ____exports.spawnHeart(self, subType, position, velocity, spawner, seedOrRNG)
291
- if velocity == nil then
292
- velocity = VectorZero
293
- end
294
- if spawner == nil then
295
- spawner = nil
296
- end
297
- if seedOrRNG == nil then
298
- seedOrRNG = nil
299
- end
300
- return spawnPickup(
301
- nil,
302
- PickupVariant.HEART,
303
- subType,
304
- position,
305
- velocity,
306
- spawner,
307
- seedOrRNG
308
- )
309
- end
310
- function ____exports.spawnHeartWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
311
- if velocity == nil then
312
- velocity = VectorZero
313
- end
314
- if spawner == nil then
315
- spawner = nil
316
- end
317
- return ____exports.spawnHeart(
318
- nil,
319
- subType,
320
- position,
321
- velocity,
322
- spawner,
323
- seedOrRNG
324
- )
325
- end
326
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30).
327
- function ____exports.spawnKey(self, subType, position, velocity, spawner, seedOrRNG)
328
- if velocity == nil then
329
- velocity = VectorZero
330
- end
331
- if spawner == nil then
332
- spawner = nil
333
- end
334
- if seedOrRNG == nil then
335
- seedOrRNG = nil
336
- end
337
- return spawnPickup(
338
- nil,
339
- PickupVariant.KEY,
340
- subType,
341
- position,
342
- velocity,
343
- spawner,
344
- seedOrRNG
345
- )
346
- end
347
- function ____exports.spawnKeyWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
348
- if velocity == nil then
349
- velocity = VectorZero
350
- end
351
- if spawner == nil then
352
- spawner = nil
353
- end
354
- return ____exports.spawnKey(
355
- nil,
356
- subType,
357
- position,
358
- velocity,
359
- spawner,
360
- seedOrRNG
361
- )
362
- end
363
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70).
364
- function ____exports.spawnPill(self, pillColor, position, velocity, spawner, seedOrRNG)
365
- if velocity == nil then
366
- velocity = VectorZero
367
- end
368
- if spawner == nil then
369
- spawner = nil
370
- end
371
- if seedOrRNG == nil then
372
- seedOrRNG = nil
373
- end
374
- return spawnPickup(
375
- nil,
376
- PickupVariant.PILL,
377
- pillColor,
378
- position,
379
- velocity,
380
- spawner,
381
- seedOrRNG
382
- )
383
- end
384
- function ____exports.spawnPillWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
385
- if velocity == nil then
386
- velocity = VectorZero
387
- end
388
- if spawner == nil then
389
- spawner = nil
390
- end
391
- return ____exports.spawnPill(
392
- nil,
393
- subType,
394
- position,
395
- velocity,
396
- spawner,
397
- seedOrRNG
398
- )
399
- end
400
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69).
401
- function ____exports.spawnSack(self, subType, position, velocity, spawner, seedOrRNG)
402
- if velocity == nil then
403
- velocity = VectorZero
404
- end
405
- if spawner == nil then
406
- spawner = nil
407
- end
408
- if seedOrRNG == nil then
409
- seedOrRNG = nil
410
- end
411
- return spawnPickup(
412
- nil,
413
- PickupVariant.SACK,
414
- subType,
415
- position,
416
- velocity,
417
- spawner,
418
- seedOrRNG
419
- )
420
- end
421
- function ____exports.spawnSackWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
422
- if velocity == nil then
423
- velocity = VectorZero
424
- end
425
- if spawner == nil then
426
- spawner = nil
427
- end
428
- return ____exports.spawnSack(
429
- nil,
430
- subType,
431
- position,
432
- velocity,
433
- spawner,
434
- seedOrRNG
435
- )
436
- end
437
- --- Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350).
438
- function ____exports.spawnTrinket(self, subType, position, velocity, spawner, seedOrRNG)
439
- if velocity == nil then
440
- velocity = VectorZero
441
- end
442
- if spawner == nil then
443
- spawner = nil
444
- end
445
- if seedOrRNG == nil then
446
- seedOrRNG = nil
447
- end
448
- return spawnPickup(
449
- nil,
450
- PickupVariant.TRINKET,
451
- subType,
452
- position,
453
- velocity,
454
- spawner,
455
- seedOrRNG
456
- )
457
- end
458
- function ____exports.spawnTrinketWithSeed(self, subType, position, seedOrRNG, velocity, spawner)
459
- if velocity == nil then
460
- velocity = VectorZero
461
- end
462
- if spawner == nil then
463
- spawner = nil
464
- end
465
- return ____exports.spawnTrinket(
466
- nil,
467
- subType,
468
- position,
469
- velocity,
470
- spawner,
471
- seedOrRNG
472
- )
40
+ -- @returns The red hearts that were removed.
41
+ function ____exports.removeAllRedHearts(self, cap)
42
+ local redHearts = ____exports.getRedHearts(nil)
43
+ return removeEntities(nil, redHearts, cap)
473
44
  end
474
45
  return ____exports