isaacscript-common 20.18.1 → 21.0.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 (344) hide show
  1. package/dist/index.d.ts +23 -33
  2. package/dist/isaacscript-common.lua +628 -460
  3. package/dist/src/callbacks.d.ts.map +1 -1
  4. package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
  5. package/dist/src/classes/callbacks/PostBoneSwing.lua +3 -2
  6. package/dist/src/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  7. package/dist/src/classes/callbacks/PreNewLevel.lua +3 -2
  8. package/dist/src/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  9. package/dist/src/classes/features/other/CustomTrapdoors.lua +4 -2
  10. package/dist/src/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  11. package/dist/src/classes/features/other/DeployJSONRoom.lua +3 -2
  12. package/dist/src/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  13. package/dist/src/classes/features/other/ModdedElementSets.lua +7 -4
  14. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  15. package/dist/src/classes/features/other/SaveDataManager.lua +3 -2
  16. package/dist/src/classes/features/other/customStages/backdrop.lua +3 -2
  17. package/dist/src/classes/features/other/customStages/shadows.d.ts.map +1 -1
  18. package/dist/src/classes/features/other/customStages/streakText.d.ts.map +1 -1
  19. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
  20. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.lua +3 -2
  21. package/dist/src/core/constants.d.ts +4 -6
  22. package/dist/src/core/constants.d.ts.map +1 -1
  23. package/dist/src/core/constants.lua +17 -13
  24. package/dist/src/features.d.ts.map +1 -1
  25. package/dist/src/functions/bosses.d.ts.map +1 -1
  26. package/dist/src/functions/bosses.lua +3 -2
  27. package/dist/src/functions/cards.lua +3 -3
  28. package/dist/src/functions/characters.d.ts.map +1 -1
  29. package/dist/src/functions/characters.lua +3 -2
  30. package/dist/src/functions/doors.d.ts.map +1 -1
  31. package/dist/src/functions/doors.lua +9 -7
  32. package/dist/src/functions/emptyRoom.d.ts.map +1 -1
  33. package/dist/src/functions/emptyRoom.lua +3 -2
  34. package/dist/src/functions/entities.d.ts.map +1 -1
  35. package/dist/src/functions/entities.lua +4 -1
  36. package/dist/src/functions/globals.d.ts.map +1 -1
  37. package/dist/src/functions/globals.lua +6 -4
  38. package/dist/src/functions/gridEntities.d.ts.map +1 -1
  39. package/dist/src/functions/gridEntities.lua +5 -3
  40. package/dist/src/functions/input.d.ts.map +1 -1
  41. package/dist/src/functions/input.lua +4 -3
  42. package/dist/src/functions/logEntities.d.ts.map +1 -1
  43. package/dist/src/functions/logEntities.lua +3 -2
  44. package/dist/src/functions/npcs.d.ts.map +1 -1
  45. package/dist/src/functions/npcs.lua +4 -3
  46. package/dist/src/functions/playerIndex.d.ts.map +1 -1
  47. package/dist/src/functions/playerIndex.lua +3 -2
  48. package/dist/src/functions/readOnly.d.ts +26 -0
  49. package/dist/src/functions/readOnly.d.ts.map +1 -0
  50. package/dist/src/functions/readOnly.lua +31 -0
  51. package/dist/src/functions/roomGrid.lua +4 -1
  52. package/dist/src/functions/roomShapeWalls.d.ts.map +1 -1
  53. package/dist/src/functions/roomShapeWalls.lua +9 -10
  54. package/dist/src/functions/serialization.d.ts.map +1 -1
  55. package/dist/src/functions/serialization.lua +3 -2
  56. package/dist/src/functions/slots.d.ts.map +1 -1
  57. package/dist/src/functions/slots.lua +3 -2
  58. package/dist/src/functions/stats.d.ts.map +1 -1
  59. package/dist/src/functions/stats.lua +3 -2
  60. package/dist/src/functions/transformations.d.ts.map +1 -1
  61. package/dist/src/functions/transformations.lua +6 -3
  62. package/dist/src/functions/utils.d.ts +1 -1
  63. package/dist/src/functions/utils.lua +1 -1
  64. package/dist/src/index.d.ts +2 -1
  65. package/dist/src/index.d.ts.map +1 -1
  66. package/dist/src/index.lua +16 -0
  67. package/dist/src/maps/PHDPillConversions.d.ts.map +1 -1
  68. package/dist/src/maps/PHDPillConversions.lua +3 -2
  69. package/dist/src/maps/cardNameToTypeMap.d.ts.map +1 -1
  70. package/dist/src/maps/cardNameToTypeMap.lua +3 -2
  71. package/dist/src/maps/characterNameToTypeMap.d.ts.map +1 -1
  72. package/dist/src/maps/characterNameToTypeMap.lua +3 -2
  73. package/dist/src/maps/collectibleDescriptionMap.d.ts.map +1 -1
  74. package/dist/src/maps/collectibleDescriptionMap.lua +3 -2
  75. package/dist/src/maps/collectibleNameToTypeMap.d.ts +5 -0
  76. package/dist/src/maps/collectibleNameToTypeMap.d.ts.map +1 -1
  77. package/dist/src/maps/collectibleNameToTypeMap.lua +10 -8
  78. package/dist/src/maps/collectibleTypeToNameMap.d.ts.map +1 -1
  79. package/dist/src/maps/collectibleTypeToNameMap.lua +3 -2
  80. package/dist/src/maps/defaultPlayerStatMap.d.ts +5 -2
  81. package/dist/src/maps/defaultPlayerStatMap.d.ts.map +1 -1
  82. package/dist/src/maps/defaultPlayerStatMap.lua +3 -2
  83. package/dist/src/maps/falsePHDPillConversions.d.ts.map +1 -1
  84. package/dist/src/maps/falsePHDPillConversions.lua +3 -2
  85. package/dist/src/maps/gridEntityTypeToBrokenStateMap.d.ts +1 -1
  86. package/dist/src/maps/gridEntityTypeToBrokenStateMap.d.ts.map +1 -1
  87. package/dist/src/maps/gridEntityTypeToBrokenStateMap.lua +3 -2
  88. package/dist/src/maps/gridEntityXMLMap.d.ts +1 -4
  89. package/dist/src/maps/gridEntityXMLMap.d.ts.map +1 -1
  90. package/dist/src/maps/gridEntityXMLMap.lua +3 -2
  91. package/dist/src/maps/keyboardToString.d.ts.map +1 -1
  92. package/dist/src/maps/keyboardToString.lua +3 -2
  93. package/dist/src/maps/pillNameToEffectMap.d.ts.map +1 -1
  94. package/dist/src/maps/pillNameToEffectMap.lua +3 -2
  95. package/dist/src/maps/roomNameToTypeMap.d.ts.map +1 -1
  96. package/dist/src/maps/roomNameToTypeMap.lua +3 -2
  97. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +1 -1
  98. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.d.ts.map +1 -1
  99. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.lua +3 -2
  100. package/dist/src/maps/transformationNameToPlayerFormMap.d.ts.map +1 -1
  101. package/dist/src/maps/transformationNameToPlayerFormMap.lua +3 -2
  102. package/dist/src/maps/trinketDescriptionMap.d.ts.map +1 -1
  103. package/dist/src/maps/trinketDescriptionMap.lua +3 -2
  104. package/dist/src/maps/trinketNameToTypeMap.d.ts +5 -0
  105. package/dist/src/maps/trinketNameToTypeMap.d.ts.map +1 -1
  106. package/dist/src/maps/trinketNameToTypeMap.lua +10 -8
  107. package/dist/src/maps/trinketTypeToNameMap.d.ts.map +1 -1
  108. package/dist/src/maps/trinketTypeToNameMap.lua +3 -2
  109. package/dist/src/objects/LRoomShapeToRectangles.d.ts +8 -6
  110. package/dist/src/objects/LRoomShapeToRectangles.d.ts.map +1 -1
  111. package/dist/src/objects/LRoomShapeToRectangles.lua +19 -17
  112. package/dist/src/objects/backdropTypeToRockAltType.d.ts.map +1 -1
  113. package/dist/src/objects/bossNamePNGFileNames.d.ts.map +1 -1
  114. package/dist/src/objects/bossPortraitPNGFileNames.d.ts.map +1 -1
  115. package/dist/src/objects/cardDescriptions.d.ts.map +1 -1
  116. package/dist/src/objects/cardNames.d.ts.map +1 -1
  117. package/dist/src/objects/challengeNames.d.ts.map +1 -1
  118. package/dist/src/objects/characterDamageMultipliers.d.ts.map +1 -1
  119. package/dist/src/objects/characterNames.d.ts.map +1 -1
  120. package/dist/src/objects/coinSubTypeToValue.d.ts.map +1 -1
  121. package/dist/src/objects/directionNames.d.ts.map +1 -1
  122. package/dist/src/objects/directionToDegrees.d.ts.map +1 -1
  123. package/dist/src/objects/directionToMoveAction.d.ts.map +1 -1
  124. package/dist/src/objects/directionToShootAction.d.ts.map +1 -1
  125. package/dist/src/objects/directionToVector.d.ts +5 -2
  126. package/dist/src/objects/directionToVector.d.ts.map +1 -1
  127. package/dist/src/objects/directionToVector.lua +6 -4
  128. package/dist/src/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
  129. package/dist/src/objects/doorSlotToDirection.d.ts.map +1 -1
  130. package/dist/src/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  131. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts.map +1 -1
  132. package/dist/src/objects/languageNames.d.ts.map +1 -1
  133. package/dist/src/objects/oppositeDoorSlots.d.ts.map +1 -1
  134. package/dist/src/objects/pillEffectClasses.d.ts.map +1 -1
  135. package/dist/src/objects/pillEffectNames.d.ts.map +1 -1
  136. package/dist/src/objects/pillEffectTypes.d.ts.map +1 -1
  137. package/dist/src/objects/playerNamePNGFileNames.d.ts.map +1 -1
  138. package/dist/src/objects/playerPortraitPNGFileNames.d.ts.map +1 -1
  139. package/dist/src/objects/roomShapeBounds.d.ts +12 -2
  140. package/dist/src/objects/roomShapeBounds.d.ts.map +1 -1
  141. package/dist/src/objects/roomShapeCorners.d.ts +237 -3
  142. package/dist/src/objects/roomShapeCorners.d.ts.map +1 -1
  143. package/dist/src/objects/roomShapeCorners.lua +58 -56
  144. package/dist/src/objects/roomShapeLayoutSizes.d.ts +12 -2
  145. package/dist/src/objects/roomShapeLayoutSizes.d.ts.map +1 -1
  146. package/dist/src/objects/roomShapeToBottomRightPosition.d.ts +12 -2
  147. package/dist/src/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  148. package/dist/src/objects/roomShapeToBottomRightPosition.lua +10 -8
  149. package/dist/src/objects/roomShapeToDoorSlotCoordinates.d.ts +88 -2
  150. package/dist/src/objects/roomShapeToDoorSlotCoordinates.d.ts.map +1 -1
  151. package/dist/src/objects/roomShapeToDoorSlotCoordinates.lua +71 -74
  152. package/dist/src/objects/roomShapeToDoorSlots.d.ts +13 -2
  153. package/dist/src/objects/roomShapeToDoorSlots.d.ts.map +1 -1
  154. package/dist/src/objects/roomShapeToDoorSlots.lua +10 -9
  155. package/dist/src/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts.map +1 -1
  156. package/dist/src/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +14 -13
  157. package/dist/src/objects/roomShapeToGridWidth.d.ts.map +1 -1
  158. package/dist/src/objects/roomShapeToTopLeftPosition.d.ts +12 -2
  159. package/dist/src/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  160. package/dist/src/objects/roomShapeToTopLeftPosition.lua +5 -3
  161. package/dist/src/objects/roomShapeVolumes.d.ts.map +1 -1
  162. package/dist/src/objects/roomTypeGotoPrefixes.d.ts.map +1 -1
  163. package/dist/src/objects/roomTypeNames.d.ts.map +1 -1
  164. package/dist/src/objects/stageToMusic.d.ts.map +1 -1
  165. package/dist/src/objects/stageTypeSuffixes.d.ts.map +1 -1
  166. package/dist/src/objects/stageTypeToLetter.d.ts.map +1 -1
  167. package/dist/src/objects/transformationNames.d.ts.map +1 -1
  168. package/dist/src/objects/versusScreenBackgroundColors.d.ts +29 -2
  169. package/dist/src/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  170. package/dist/src/objects/versusScreenBackgroundColors.lua +29 -27
  171. package/dist/src/objects/versusScreenDirtSpotColors.d.ts +29 -2
  172. package/dist/src/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  173. package/dist/src/objects/versusScreenDirtSpotColors.lua +29 -27
  174. package/dist/src/sets/LRoomShapesSet.d.ts.map +1 -1
  175. package/dist/src/sets/LRoomShapesSet.lua +3 -2
  176. package/dist/src/sets/bossSets.d.ts +2 -3
  177. package/dist/src/sets/bossSets.d.ts.map +1 -1
  178. package/dist/src/sets/bossSets.lua +52 -49
  179. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.d.ts.map +1 -1
  180. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.lua +3 -2
  181. package/dist/src/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts.map +1 -1
  182. package/dist/src/sets/charactersWithBlackHeartFromEternalHeartSet.lua +3 -2
  183. package/dist/src/sets/charactersWithFreeDevilDealsSet.d.ts.map +1 -1
  184. package/dist/src/sets/charactersWithFreeDevilDealsSet.lua +3 -2
  185. package/dist/src/sets/charactersWithNoRedHeartsSet.d.ts.map +1 -1
  186. package/dist/src/sets/charactersWithNoRedHeartsSet.lua +3 -2
  187. package/dist/src/sets/charactersWithNoSoulHeartsSet.d.ts.map +1 -1
  188. package/dist/src/sets/charactersWithNoSoulHeartsSet.lua +3 -2
  189. package/dist/src/sets/chestPickupVariantsSet.d.ts.map +1 -1
  190. package/dist/src/sets/chestPickupVariantsSet.lua +3 -2
  191. package/dist/src/sets/consoleCommandsSet.d.ts.map +1 -1
  192. package/dist/src/sets/consoleCommandsSet.lua +3 -2
  193. package/dist/src/sets/entitiesWithArmorSet.d.ts.map +1 -1
  194. package/dist/src/sets/entitiesWithArmorSet.lua +3 -2
  195. package/dist/src/sets/familiarsThatShootPlayerTearsSet.d.ts.map +1 -1
  196. package/dist/src/sets/familiarsThatShootPlayerTearsSet.lua +3 -2
  197. package/dist/src/sets/itemConfigCardTypesForCardsSet.d.ts +4 -0
  198. package/dist/src/sets/itemConfigCardTypesForCardsSet.d.ts.map +1 -0
  199. package/dist/src/sets/itemConfigCardTypesForCardsSet.lua +10 -0
  200. package/dist/src/sets/lostStyleCharactersSet.d.ts.map +1 -1
  201. package/dist/src/sets/lostStyleCharactersSet.lua +3 -2
  202. package/dist/src/sets/mineShaftRoomSubTypesSet.d.ts.map +1 -1
  203. package/dist/src/sets/mineShaftRoomSubTypesSet.lua +3 -2
  204. package/dist/src/sets/narrowRoomShapesSet.d.ts.map +1 -1
  205. package/dist/src/sets/narrowRoomShapesSet.lua +3 -2
  206. package/dist/src/sets/redHeartSubTypesSet.d.ts.map +1 -1
  207. package/dist/src/sets/redHeartSubTypesSet.lua +3 -2
  208. package/dist/src/sets/sinEntityTypesSet.d.ts.map +1 -1
  209. package/dist/src/sets/sinEntityTypesSet.lua +3 -2
  210. package/dist/src/sets/singleUseActiveCollectibleTypesSet.d.ts.map +1 -1
  211. package/dist/src/sets/singleUseActiveCollectibleTypesSet.lua +3 -2
  212. package/dist/src/sets/storyBossesSet.d.ts.map +1 -1
  213. package/dist/src/sets/storyBossesSet.lua +3 -2
  214. package/dist/src/types/PickingUpItem.d.ts.map +1 -1
  215. package/dist/src/types/PickingUpItem.lua +3 -2
  216. package/dist/src/types/ReadonlyMap.d.ts +9 -0
  217. package/dist/src/types/ReadonlyMap.d.ts.map +1 -0
  218. package/dist/src/types/ReadonlyMap.lua +6 -0
  219. package/dist/src/types/ReadonlySet.d.ts +8 -0
  220. package/dist/src/types/ReadonlySet.d.ts.map +1 -0
  221. package/dist/src/types/ReadonlySet.lua +6 -0
  222. package/package.json +1 -1
  223. package/src/callbacks.ts +1 -2
  224. package/src/classes/callbacks/PostBoneSwing.ts +2 -1
  225. package/src/classes/callbacks/PreNewLevel.ts +2 -1
  226. package/src/classes/features/other/CustomTrapdoors.ts +2 -1
  227. package/src/classes/features/other/DeployJSONRoom.ts +5 -2
  228. package/src/classes/features/other/ModdedElementSets.ts +20 -22
  229. package/src/classes/features/other/SaveDataManager.ts +2 -1
  230. package/src/classes/features/other/customStages/backdrop.ts +3 -3
  231. package/src/classes/features/other/customStages/shadows.ts +1 -2
  232. package/src/classes/features/other/customStages/streakText.ts +1 -2
  233. package/src/classes/features/other/saveDataManager/restoreDefaults.ts +2 -1
  234. package/src/core/constants.ts +18 -17
  235. package/src/features.ts +1 -2
  236. package/src/functions/bosses.ts +2 -1
  237. package/src/functions/cards.ts +2 -2
  238. package/src/functions/characters.ts +2 -1
  239. package/src/functions/doors.ts +15 -4
  240. package/src/functions/emptyRoom.ts +2 -1
  241. package/src/functions/entities.ts +2 -1
  242. package/src/functions/globals.ts +4 -3
  243. package/src/functions/gridEntities.ts +5 -4
  244. package/src/functions/input.ts +3 -2
  245. package/src/functions/logEntities.ts +2 -1
  246. package/src/functions/npcs.ts +3 -2
  247. package/src/functions/playerIndex.ts +2 -1
  248. package/src/functions/readOnly.ts +42 -0
  249. package/src/functions/roomGrid.ts +2 -2
  250. package/src/functions/roomShapeWalls.ts +3 -5
  251. package/src/functions/serialization.ts +2 -3
  252. package/src/functions/slots.ts +2 -1
  253. package/src/functions/stats.ts +2 -1
  254. package/src/functions/transformations.ts +19 -18
  255. package/src/functions/utils.ts +1 -1
  256. package/src/index.ts +2 -1
  257. package/src/maps/PHDPillConversions.ts +19 -19
  258. package/src/maps/cardNameToTypeMap.ts +2 -1
  259. package/src/maps/characterNameToTypeMap.ts +86 -86
  260. package/src/maps/collectibleDescriptionMap.ts +726 -724
  261. package/src/maps/collectibleNameToTypeMap.ts +10 -7
  262. package/src/maps/collectibleTypeToNameMap.ts +3 -4
  263. package/src/maps/defaultPlayerStatMap.ts +2 -1
  264. package/src/maps/falsePHDPillConversions.ts +36 -33
  265. package/src/maps/gridEntityTypeToBrokenStateMap.ts +3 -2
  266. package/src/maps/gridEntityXMLMap.ts +3 -2
  267. package/src/maps/keyboardToString.ts +3 -2
  268. package/src/maps/pillNameToEffectMap.ts +85 -86
  269. package/src/maps/roomNameToTypeMap.ts +2 -1
  270. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +3 -2
  271. package/src/maps/transformationNameToPlayerFormMap.ts +3 -2
  272. package/src/maps/trinketDescriptionMap.ts +191 -192
  273. package/src/maps/trinketNameToTypeMap.ts +10 -7
  274. package/src/maps/trinketTypeToNameMap.ts +191 -193
  275. package/src/objects/LRoomShapeToRectangles.ts +35 -28
  276. package/src/objects/backdropTypeToRockAltType.ts +1 -2
  277. package/src/objects/bossNamePNGFileNames.ts +1 -2
  278. package/src/objects/bossPortraitPNGFileNames.ts +1 -2
  279. package/src/objects/cardDescriptions.ts +1 -2
  280. package/src/objects/cardNames.ts +1 -2
  281. package/src/objects/challengeNames.ts +1 -2
  282. package/src/objects/characterDamageMultipliers.ts +1 -2
  283. package/src/objects/characterNames.ts +1 -2
  284. package/src/objects/coinSubTypeToValue.ts +1 -2
  285. package/src/objects/directionNames.ts +1 -2
  286. package/src/objects/directionToDegrees.ts +1 -2
  287. package/src/objects/directionToMoveAction.ts +1 -2
  288. package/src/objects/directionToShootAction.ts +1 -2
  289. package/src/objects/directionToVector.ts +7 -10
  290. package/src/objects/doorSlotFlagToDoorSlot.ts +1 -2
  291. package/src/objects/doorSlotToDirection.ts +1 -2
  292. package/src/objects/doorSlotToDoorSlotFlag.ts +1 -2
  293. package/src/objects/isaacAPIClassTypeToBrand.ts +1 -5
  294. package/src/objects/languageNames.ts +1 -2
  295. package/src/objects/oppositeDoorSlots.ts +1 -2
  296. package/src/objects/pillEffectClasses.ts +1 -2
  297. package/src/objects/pillEffectNames.ts +1 -2
  298. package/src/objects/pillEffectTypes.ts +1 -2
  299. package/src/objects/playerNamePNGFileNames.ts +1 -2
  300. package/src/objects/playerPortraitPNGFileNames.ts +1 -2
  301. package/src/objects/roomShapeBounds.ts +3 -7
  302. package/src/objects/roomShapeCorners.ts +59 -62
  303. package/src/objects/roomShapeLayoutSizes.ts +6 -10
  304. package/src/objects/roomShapeToBottomRightPosition.ts +11 -17
  305. package/src/objects/roomShapeToDoorSlotCoordinates.ts +93 -94
  306. package/src/objects/roomShapeToDoorSlots.ts +11 -14
  307. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +15 -14
  308. package/src/objects/roomShapeToGridWidth.ts +1 -2
  309. package/src/objects/roomShapeToTopLeftPosition.ts +6 -9
  310. package/src/objects/roomShapeVolumes.ts +1 -2
  311. package/src/objects/roomTypeGotoPrefixes.ts +1 -2
  312. package/src/objects/roomTypeNames.ts +1 -2
  313. package/src/objects/stageToMusic.ts +10 -11
  314. package/src/objects/stageTypeSuffixes.ts +1 -2
  315. package/src/objects/stageTypeToLetter.ts +1 -2
  316. package/src/objects/transformationNames.ts +1 -2
  317. package/src/objects/versusScreenBackgroundColors.ts +30 -33
  318. package/src/objects/versusScreenDirtSpotColors.ts +30 -33
  319. package/src/sets/LRoomShapesSet.ts +2 -1
  320. package/src/sets/bossSets.ts +51 -49
  321. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +3 -2
  322. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +3 -2
  323. package/src/sets/charactersWithFreeDevilDealsSet.ts +4 -2
  324. package/src/sets/charactersWithNoRedHeartsSet.ts +11 -11
  325. package/src/sets/charactersWithNoSoulHeartsSet.ts +8 -8
  326. package/src/sets/chestPickupVariantsSet.ts +2 -1
  327. package/src/sets/consoleCommandsSet.ts +3 -1
  328. package/src/sets/entitiesWithArmorSet.ts +2 -1
  329. package/src/sets/familiarsThatShootPlayerTearsSet.ts +3 -2
  330. package/src/sets/itemConfigCardTypesForCardsSet.ts +11 -0
  331. package/src/sets/lostStyleCharactersSet.ts +2 -1
  332. package/src/sets/mineShaftRoomSubTypesSet.ts +8 -8
  333. package/src/sets/narrowRoomShapesSet.ts +2 -1
  334. package/src/sets/redHeartSubTypesSet.ts +2 -1
  335. package/src/sets/sinEntityTypesSet.ts +2 -1
  336. package/src/sets/singleUseActiveCollectibleTypesSet.ts +3 -2
  337. package/src/sets/storyBossesSet.ts +2 -1
  338. package/src/types/PickingUpItem.ts +2 -1
  339. package/src/types/ReadonlyMap.ts +13 -0
  340. package/src/types/ReadonlySet.ts +9 -0
  341. package/dist/src/types/HasAllEnumKeys.d.ts +0 -26
  342. package/dist/src/types/HasAllEnumKeys.d.ts.map +0 -1
  343. package/dist/src/types/HasAllEnumKeys.lua +0 -2
  344. package/src/types/HasAllEnumKeys.ts +0 -25
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 20.18.1
3
+ isaacscript-common 21.0.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -2849,14 +2849,22 @@ ____exports.StatType.SIZE = 12
2849
2849
  ____exports.StatType[____exports.StatType.SIZE] = "SIZE"
2850
2850
  return ____exports
2851
2851
  end,
2852
- ["src.types.PickingUpItem"] = function(...)
2852
+ ["src.types.ReadonlySet"] = function(...)
2853
2853
  local ____lualib = require("lualib_bundle")
2854
2854
  local Set = ____lualib.Set
2855
+ local ____exports = {}
2856
+ ____exports.ReadonlySet = Set
2857
+ return ____exports
2858
+ end,
2859
+ ["src.types.PickingUpItem"] = function(...)
2860
+ local ____lualib = require("lualib_bundle")
2855
2861
  local __TS__New = ____lualib.__TS__New
2856
2862
  local ____exports = {}
2857
2863
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
2858
2864
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
2859
2865
  local ItemType = ____isaac_2Dtypescript_2Ddefinitions.ItemType
2866
+ local ____ReadonlySet = require("src.types.ReadonlySet")
2867
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
2860
2868
  local DEFAULT_ITEM_TYPE = ItemType.NULL
2861
2869
  local DEFAULT_SUB_TYPE = CollectibleType.NULL
2862
2870
  function ____exports.newPickingUpItem(self)
@@ -2866,7 +2874,7 @@ function ____exports.resetPickingUpItem(self, pickingUpItem)
2866
2874
  pickingUpItem.itemType = DEFAULT_ITEM_TYPE
2867
2875
  pickingUpItem.subType = DEFAULT_SUB_TYPE
2868
2876
  end
2869
- local COLLECTIBLE_ITEM_TYPES = __TS__New(Set, {ItemType.PASSIVE, ItemType.ACTIVE, ItemType.FAMILIAR})
2877
+ local COLLECTIBLE_ITEM_TYPES = __TS__New(ReadonlySet, {ItemType.PASSIVE, ItemType.ACTIVE, ItemType.FAMILIAR})
2870
2878
  function ____exports.isPickingUpItemNull(self, pickingUpItem)
2871
2879
  return pickingUpItem.itemType == ItemType.NULL
2872
2880
  end
@@ -15468,10 +15476,11 @@ return ____exports
15468
15476
  end,
15469
15477
  ["src.sets.consoleCommandsSet"] = function(...)
15470
15478
  local ____lualib = require("lualib_bundle")
15471
- local Set = ____lualib.Set
15472
15479
  local __TS__New = ____lualib.__TS__New
15473
15480
  local ____exports = {}
15474
- ____exports.CONSOLE_COMMANDS_SET = __TS__New(Set, {
15481
+ local ____ReadonlySet = require("src.types.ReadonlySet")
15482
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
15483
+ ____exports.CONSOLE_COMMANDS_SET = __TS__New(ReadonlySet, {
15475
15484
  "achievement",
15476
15485
  "challenge",
15477
15486
  "clear",
@@ -16602,10 +16611,6 @@ function ____exports.serializeKColor(self, kColor)
16602
16611
  kColorTable[SerializationBrand.K_COLOR] = ""
16603
16612
  return kColorTable
16604
16613
  end
16605
- return ____exports
16606
- end,
16607
- ["src.types.HasAllEnumKeys"] = function(...)
16608
- local ____exports = {}
16609
16614
  return ____exports
16610
16615
  end,
16611
16616
  ["src.objects.directionNames"] = function(...)
@@ -17173,6 +17178,27 @@ function ____exports.removeFlag(self, flags, ...)
17173
17178
  end
17174
17179
  return flagsAsInt
17175
17180
  end
17181
+ return ____exports
17182
+ end,
17183
+ ["src.functions.readOnly"] = function(...)
17184
+ local ____exports = {}
17185
+ function ____exports.newReadonlyColor(self, r, g, b, a, ro, go, bo)
17186
+ return Color(
17187
+ r,
17188
+ g,
17189
+ b,
17190
+ a,
17191
+ ro,
17192
+ go,
17193
+ bo
17194
+ )
17195
+ end
17196
+ function ____exports.newReadonlyKColor(self, r, g, b, a)
17197
+ return KColor(r, g, b, a)
17198
+ end
17199
+ function ____exports.newReadonlyVector(self, x, y)
17200
+ return Vector(x, y)
17201
+ end
17176
17202
  return ____exports
17177
17203
  end,
17178
17204
  ["src.core.constantsFirstLast"] = function(...)
@@ -17215,20 +17241,20 @@ ____exports.LAST_STAGE = getLastEnumValue(nil, LevelStage)
17215
17241
  return ____exports
17216
17242
  end,
17217
17243
  ["src.core.constants"] = function(...)
17218
- local ____lualib = require("lualib_bundle")
17219
- local Set = ____lualib.Set
17220
- local __TS__New = ____lualib.__TS__New
17221
17244
  local ____exports = {}
17222
17245
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
17223
17246
  local Dimension = ____isaac_2Dtypescript_2Ddefinitions.Dimension
17224
17247
  local DisplayFlag = ____isaac_2Dtypescript_2Ddefinitions.DisplayFlag
17225
- local ItemConfigCardType = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigCardType
17226
17248
  local ItemPoolType = ____isaac_2Dtypescript_2Ddefinitions.ItemPoolType
17227
17249
  local TrinketSlot = ____isaac_2Dtypescript_2Ddefinitions.TrinketSlot
17228
17250
  local ____enums = require("src.functions.enums")
17229
17251
  local getEnumLength = ____enums.getEnumLength
17230
17252
  local ____flag = require("src.functions.flag")
17231
17253
  local addFlag = ____flag.addFlag
17254
+ local ____readOnly = require("src.functions.readOnly")
17255
+ local newReadonlyColor = ____readOnly.newReadonlyColor
17256
+ local newReadonlyKColor = ____readOnly.newReadonlyKColor
17257
+ local newReadonlyVector = ____readOnly.newReadonlyVector
17232
17258
  local ____types = require("src.functions.types")
17233
17259
  local asCollectibleType = ____types.asCollectibleType
17234
17260
  local ____constantsFirstLast = require("src.core.constantsFirstLast")
@@ -17247,7 +17273,6 @@ ____exports.EMPTY_PNG_PATH = "gfx/none.png"
17247
17273
  ____exports.FIRST_GLITCHED_COLLECTIBLE_TYPE = asCollectibleType(nil, (1 << 32) - 1)
17248
17274
  ____exports.GAME_FRAMES_PER_SECOND = 30
17249
17275
  ____exports.GAME_FRAMES_PER_MINUTE = ____exports.GAME_FRAMES_PER_SECOND * 60
17250
- ____exports.ITEM_CONFIG_CARD_TYPES_FOR_CARDS = __TS__New(Set, {ItemConfigCardType.TAROT, ItemConfigCardType.SUIT, ItemConfigCardType.SPECIAL, ItemConfigCardType.TAROT_REVERSE})
17251
17276
  ____exports.RENDER_FRAMES_PER_SECOND = 60
17252
17277
  ____exports.RENDER_FRAMES_PER_MINUTE = ____exports.RENDER_FRAMES_PER_SECOND * 60
17253
17278
  ____exports.GRID_INDEX_CENTER_OF_1X1_ROOM = 67
@@ -17262,9 +17287,9 @@ ____exports.MAX_PLAYER_TRINKET_SLOTS = getEnumLength(nil, TrinketSlot)
17262
17287
  ____exports.MIN_PLAYER_SHOT_SPEED_STAT = 0.6
17263
17288
  ____exports.MIN_PLAYER_SPEED_STAT = 0.1
17264
17289
  ____exports.MAX_SPEED_STAT = 2
17265
- ____exports.NEW_FLOOR_STARTING_POSITION_NORMAL_MODE = Vector(320, 280)
17266
- ____exports.NEW_FLOOR_STARTING_POSITION_GREED_MODE = Vector(320, 280)
17267
- ____exports.NEW_RUN_PLAYER_STARTING_POSITION = Vector(320, 380)
17290
+ ____exports.NEW_FLOOR_STARTING_POSITION_NORMAL_MODE = newReadonlyVector(nil, 320, 280)
17291
+ ____exports.NEW_FLOOR_STARTING_POSITION_GREED_MODE = newReadonlyVector(nil, 320, 280)
17292
+ ____exports.NEW_RUN_PLAYER_STARTING_POSITION = newReadonlyVector(nil, 320, 380)
17268
17293
  ____exports.MAX_TAINTED_SAMSON_BERSERK_CHARGE = 100000
17269
17294
  ____exports.NUM_DIMENSIONS = getEnumLength(nil, Dimension) - 1
17270
17295
  ____exports.NUM_PILLS_IN_POOL = NUM_NORMAL_PILL_COLORS
@@ -17274,10 +17299,16 @@ ____exports.ONE_BY_ONE_ROOM_GRID_SIZE = 135
17274
17299
  ____exports.TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE = 10000
17275
17300
  ____exports.TELEPORTER_ACTIVATION_DISTANCE = ____exports.DISTANCE_OF_GRID_TILE / 2
17276
17301
  ____exports.UI_HEART_WIDTH = 12
17277
- ____exports.VectorOne = Vector(1, 1)
17278
- ____exports.VectorZero = Vector(0, 0)
17279
- ____exports.ColorDefault = Color(1, 1, 1)
17280
- ____exports.KColorDefault = KColor(1, 1, 1, 1)
17302
+ ____exports.VectorOne = newReadonlyVector(nil, 1, 1)
17303
+ ____exports.VectorZero = newReadonlyVector(nil, 0, 0)
17304
+ ____exports.ColorDefault = newReadonlyColor(nil, 1, 1, 1)
17305
+ ____exports.KColorDefault = newReadonlyKColor(
17306
+ nil,
17307
+ 1,
17308
+ 1,
17309
+ 1,
17310
+ 1
17311
+ )
17281
17312
  return ____exports
17282
17313
  end,
17283
17314
  ["src.objects.directionToVector"] = function(...)
@@ -17286,12 +17317,14 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
17286
17317
  local Direction = ____isaac_2Dtypescript_2Ddefinitions.Direction
17287
17318
  local ____constants = require("src.core.constants")
17288
17319
  local VectorZero = ____constants.VectorZero
17320
+ local ____readOnly = require("src.functions.readOnly")
17321
+ local newReadonlyVector = ____readOnly.newReadonlyVector
17289
17322
  ____exports.DIRECTION_TO_VECTOR = {
17290
17323
  [Direction.NO_DIRECTION] = VectorZero,
17291
- [Direction.LEFT] = Vector(-1, 0),
17292
- [Direction.UP] = Vector(0, -1),
17293
- [Direction.RIGHT] = Vector(1, 0),
17294
- [Direction.DOWN] = Vector(0, 1)
17324
+ [Direction.LEFT] = newReadonlyVector(nil, -1, 0),
17325
+ [Direction.UP] = newReadonlyVector(nil, 0, -1),
17326
+ [Direction.RIGHT] = newReadonlyVector(nil, 1, 0),
17327
+ [Direction.DOWN] = newReadonlyVector(nil, 0, 1)
17295
17328
  }
17296
17329
  return ____exports
17297
17330
  end,
@@ -17965,7 +17998,6 @@ return ____exports
17965
17998
  end,
17966
17999
  ["src.classes.callbacks.PostBoneSwing"] = function(...)
17967
18000
  local ____lualib = require("lualib_bundle")
17968
- local Set = ____lualib.Set
17969
18001
  local __TS__New = ____lualib.__TS__New
17970
18002
  local __TS__Class = ____lualib.__TS__Class
17971
18003
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
@@ -17974,9 +18006,11 @@ local ____exports = {}
17974
18006
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
17975
18007
  local KnifeVariant = ____isaac_2Dtypescript_2Ddefinitions.KnifeVariant
17976
18008
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
18009
+ local ____ReadonlySet = require("src.types.ReadonlySet")
18010
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
17977
18011
  local ____CustomCallback = require("src.classes.private.CustomCallback")
17978
18012
  local CustomCallback = ____CustomCallback.CustomCallback
17979
- local BONE_SWING_ANIMATIONS = __TS__New(Set, {"Swing", "Swing2", "Spin"})
18013
+ local BONE_SWING_ANIMATIONS = __TS__New(ReadonlySet, {"Swing", "Swing2", "Spin"})
17980
18014
  ____exports.PostBoneSwing = __TS__Class()
17981
18015
  local PostBoneSwing = ____exports.PostBoneSwing
17982
18016
  PostBoneSwing.name = "PostBoneSwing"
@@ -18054,13 +18088,21 @@ function PostCollectibleEmpty.prototype.collectibleTypeChanged(self, collectible
18054
18088
  end
18055
18089
  return ____exports
18056
18090
  end,
18057
- ["src.maps.collectibleDescriptionMap"] = function(...)
18091
+ ["src.types.ReadonlyMap"] = function(...)
18058
18092
  local ____lualib = require("lualib_bundle")
18059
18093
  local Map = ____lualib.Map
18094
+ local ____exports = {}
18095
+ ____exports.ReadonlyMap = Map
18096
+ return ____exports
18097
+ end,
18098
+ ["src.maps.collectibleDescriptionMap"] = function(...)
18099
+ local ____lualib = require("lualib_bundle")
18060
18100
  local __TS__New = ____lualib.__TS__New
18061
18101
  local ____exports = {}
18102
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
18103
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
18062
18104
  ____exports.DEFAULT_COLLECTIBLE_DESCRIPTION = "Unknown"
18063
- ____exports.COLLECTIBLE_DESCRIPTION_MAP = __TS__New(Map, {
18105
+ ____exports.COLLECTIBLE_DESCRIPTION_MAP = __TS__New(ReadonlyMap, {
18064
18106
  {1, "Tears up"},
18065
18107
  {2, "Triple shot"},
18066
18108
  {3, "Homing shots"},
@@ -18786,11 +18828,12 @@ return ____exports
18786
18828
  end,
18787
18829
  ["src.maps.collectibleTypeToNameMap"] = function(...)
18788
18830
  local ____lualib = require("lualib_bundle")
18789
- local Map = ____lualib.Map
18790
18831
  local __TS__New = ____lualib.__TS__New
18791
18832
  local ____exports = {}
18833
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
18834
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
18792
18835
  ____exports.DEFAULT_COLLECTIBLE_NAME = "Unknown"
18793
- ____exports.COLLECTIBLE_TYPE_TO_NAME_MAP = __TS__New(Map, {
18836
+ ____exports.COLLECTIBLE_TYPE_TO_NAME_MAP = __TS__New(ReadonlyMap, {
18794
18837
  {1, "The Sad Onion"},
18795
18838
  {2, "The Inner Eye"},
18796
18839
  {3, "Spoon Bender"},
@@ -19516,12 +19559,13 @@ return ____exports
19516
19559
  end,
19517
19560
  ["src.sets.singleUseActiveCollectibleTypesSet"] = function(...)
19518
19561
  local ____lualib = require("lualib_bundle")
19519
- local Set = ____lualib.Set
19520
19562
  local __TS__New = ____lualib.__TS__New
19521
19563
  local ____exports = {}
19522
19564
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
19523
19565
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
19524
- ____exports.SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET = __TS__New(Set, {
19566
+ local ____ReadonlySet = require("src.types.ReadonlySet")
19567
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
19568
+ ____exports.SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET = __TS__New(ReadonlySet, {
19525
19569
  CollectibleType.FORGET_ME_NOW,
19526
19570
  CollectibleType.EDENS_SOUL,
19527
19571
  CollectibleType.ALABASTER_BOX,
@@ -19539,7 +19583,6 @@ return ____exports
19539
19583
  end,
19540
19584
  ["src.sets.entitiesWithArmorSet"] = function(...)
19541
19585
  local ____lualib = require("lualib_bundle")
19542
- local Set = ____lualib.Set
19543
19586
  local __TS__New = ____lualib.__TS__New
19544
19587
  local ____exports = {}
19545
19588
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -19564,8 +19607,10 @@ local SubHorfVariant = ____isaac_2Dtypescript_2Ddefinitions.SubHorfVariant
19564
19607
  local SuckerVariant = ____isaac_2Dtypescript_2Ddefinitions.SuckerVariant
19565
19608
  local UltraGreedVariant = ____isaac_2Dtypescript_2Ddefinitions.UltraGreedVariant
19566
19609
  local WallCreepVariant = ____isaac_2Dtypescript_2Ddefinitions.WallCreepVariant
19610
+ local ____ReadonlySet = require("src.types.ReadonlySet")
19611
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
19567
19612
  ____exports.ENTITIES_WITH_ARMOR_SET = __TS__New(
19568
- Set,
19613
+ ReadonlySet,
19569
19614
  {
19570
19615
  (tostring(EntityType.POOTER) .. ".") .. tostring(PooterVariant.TAINTED_POOTER),
19571
19616
  (tostring(EntityType.HIVE) .. ".") .. tostring(HiveVariant.TAINTED_MULLIGAN),
@@ -19614,12 +19659,13 @@ return ____exports
19614
19659
  end,
19615
19660
  ["src.sets.storyBossesSet"] = function(...)
19616
19661
  local ____lualib = require("lualib_bundle")
19617
- local Set = ____lualib.Set
19618
19662
  local __TS__New = ____lualib.__TS__New
19619
19663
  local ____exports = {}
19620
19664
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
19621
19665
  local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
19622
- ____exports.STORY_BOSSES_SET = __TS__New(Set, {
19666
+ local ____ReadonlySet = require("src.types.ReadonlySet")
19667
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
19668
+ ____exports.STORY_BOSSES_SET = __TS__New(ReadonlySet, {
19623
19669
  EntityType.MOM,
19624
19670
  EntityType.MOMS_HEART,
19625
19671
  EntityType.SATAN,
@@ -19892,6 +19938,8 @@ local ____isaacAPIClass = require("src.functions.isaacAPIClass")
19892
19938
  local getIsaacAPIClassName = ____isaacAPIClass.getIsaacAPIClassName
19893
19939
  local ____random = require("src.functions.random")
19894
19940
  local getRandom = ____random.getRandom
19941
+ local ____readOnly = require("src.functions.readOnly")
19942
+ local newReadonlyColor = ____readOnly.newReadonlyColor
19895
19943
  local ____rng = require("src.functions.rng")
19896
19944
  local isRNG = ____rng.isRNG
19897
19945
  local newRNG = ____rng.newRNG
@@ -19982,7 +20030,8 @@ function ____exports.removeEntities(self, entities, cap)
19982
20030
  end
19983
20031
  return entitiesRemoved
19984
20032
  end
19985
- local DAMAGE_FLASH_COLOR = Color(
20033
+ local DAMAGE_FLASH_COLOR = newReadonlyColor(
20034
+ nil,
19986
20035
  0.5,
19987
20036
  0.5,
19988
20037
  0.5,
@@ -20394,97 +20443,95 @@ ____exports.OPPOSITE_DOOR_SLOTS = {
20394
20443
  return ____exports
20395
20444
  end,
20396
20445
  ["src.objects.roomShapeToDoorSlotCoordinates"] = function(...)
20397
- local ____lualib = require("lualib_bundle")
20398
- local Map = ____lualib.Map
20399
- local __TS__New = ____lualib.__TS__New
20400
20446
  local ____exports = {}
20401
20447
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
20402
20448
  local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
20403
20449
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
20404
20450
  ____exports.ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES = {
20405
- [RoomShape.SHAPE_1x1] = __TS__New(Map, {{DoorSlot.LEFT_0, {-1, 3}}, {DoorSlot.UP_0, {6, -1}}, {DoorSlot.RIGHT_0, {13, 3}}, {DoorSlot.DOWN_0, {6, 7}}}),
20406
- [RoomShape.IH] = __TS__New(Map, {{DoorSlot.LEFT_0, {-1, 3}}, {DoorSlot.RIGHT_0, {13, 3}}}),
20407
- [RoomShape.IV] = __TS__New(Map, {{DoorSlot.UP_0, {6, -1}}, {DoorSlot.DOWN_0, {6, 7}}}),
20408
- [RoomShape.SHAPE_1x2] = __TS__New(Map, {
20409
- {DoorSlot.LEFT_0, {-1, 3}},
20410
- {DoorSlot.UP_0, {6, -1}},
20411
- {DoorSlot.RIGHT_0, {13, 3}},
20412
- {DoorSlot.DOWN_0, {6, 14}},
20413
- {DoorSlot.LEFT_1, {-1, 10}},
20414
- {DoorSlot.RIGHT_1, {13, 10}}
20415
- }),
20416
- [RoomShape.IIV] = __TS__New(Map, {{DoorSlot.UP_0, {6, -1}}, {DoorSlot.DOWN_0, {6, 14}}}),
20417
- [RoomShape.SHAPE_2x1] = __TS__New(Map, {
20418
- {DoorSlot.LEFT_0, {-1, 3}},
20419
- {DoorSlot.UP_0, {6, -1}},
20420
- {DoorSlot.RIGHT_0, {26, 3}},
20421
- {DoorSlot.DOWN_0, {6, 7}},
20422
- {DoorSlot.UP_1, {19, -1}},
20423
- {DoorSlot.DOWN_1, {19, 7}}
20424
- }),
20425
- [RoomShape.IIH] = __TS__New(Map, {{DoorSlot.LEFT_0, {-1, 3}}, {DoorSlot.RIGHT_0, {26, 3}}}),
20426
- [RoomShape.SHAPE_2x2] = __TS__New(Map, {
20427
- {DoorSlot.LEFT_0, {-1, 3}},
20428
- {DoorSlot.UP_0, {6, -1}},
20429
- {DoorSlot.RIGHT_0, {26, 3}},
20430
- {DoorSlot.DOWN_0, {6, 14}},
20431
- {DoorSlot.LEFT_1, {-1, 10}},
20432
- {DoorSlot.UP_1, {19, -1}},
20433
- {DoorSlot.RIGHT_1, {26, 10}},
20434
- {DoorSlot.DOWN_1, {19, 14}}
20435
- }),
20436
- [RoomShape.LTL] = __TS__New(Map, {
20437
- {DoorSlot.LEFT_0, {12, 3}},
20438
- {DoorSlot.UP_0, {6, 6}},
20439
- {DoorSlot.RIGHT_0, {26, 3}},
20440
- {DoorSlot.DOWN_0, {6, 14}},
20441
- {DoorSlot.LEFT_1, {-1, 10}},
20442
- {DoorSlot.UP_1, {19, -1}},
20443
- {DoorSlot.RIGHT_1, {26, 10}},
20444
- {DoorSlot.DOWN_1, {19, 14}}
20445
- }),
20446
- [RoomShape.LTR] = __TS__New(Map, {
20447
- {DoorSlot.LEFT_0, {-1, 3}},
20448
- {DoorSlot.UP_0, {6, -1}},
20449
- {DoorSlot.RIGHT_0, {13, 3}},
20450
- {DoorSlot.DOWN_0, {6, 14}},
20451
- {DoorSlot.LEFT_1, {-1, 10}},
20452
- {DoorSlot.UP_1, {19, 6}},
20453
- {DoorSlot.RIGHT_1, {26, 10}},
20454
- {DoorSlot.DOWN_1, {19, 14}}
20455
- }),
20456
- [RoomShape.LBL] = __TS__New(Map, {
20457
- {DoorSlot.LEFT_0, {-1, 3}},
20458
- {DoorSlot.UP_0, {6, -1}},
20459
- {DoorSlot.RIGHT_0, {26, 3}},
20460
- {DoorSlot.DOWN_0, {6, 7}},
20461
- {DoorSlot.LEFT_1, {12, 10}},
20462
- {DoorSlot.UP_1, {19, -1}},
20463
- {DoorSlot.RIGHT_1, {26, 10}},
20464
- {DoorSlot.DOWN_1, {19, 14}}
20465
- }),
20466
- [RoomShape.LBR] = __TS__New(Map, {
20467
- {DoorSlot.LEFT_0, {-1, 3}},
20468
- {DoorSlot.UP_0, {6, -1}},
20469
- {DoorSlot.RIGHT_0, {26, 3}},
20470
- {DoorSlot.DOWN_0, {6, 14}},
20471
- {DoorSlot.LEFT_1, {-1, 10}},
20472
- {DoorSlot.UP_1, {19, -1}},
20473
- {DoorSlot.RIGHT_1, {13, 10}},
20474
- {DoorSlot.DOWN_1, {19, 7}}
20475
- })
20451
+ [RoomShape.SHAPE_1x1] = {[DoorSlot.LEFT_0] = {-1, 3}, [DoorSlot.UP_0] = {6, -1}, [DoorSlot.RIGHT_0] = {13, 3}, [DoorSlot.DOWN_0] = {6, 7}},
20452
+ [RoomShape.IH] = {[DoorSlot.LEFT_0] = {-1, 3}, [DoorSlot.RIGHT_0] = {13, 3}},
20453
+ [RoomShape.IV] = {[DoorSlot.UP_0] = {6, -1}, [DoorSlot.DOWN_0] = {6, 7}},
20454
+ [RoomShape.SHAPE_1x2] = {
20455
+ [DoorSlot.LEFT_0] = {-1, 3},
20456
+ [DoorSlot.UP_0] = {6, -1},
20457
+ [DoorSlot.RIGHT_0] = {13, 3},
20458
+ [DoorSlot.DOWN_0] = {6, 14},
20459
+ [DoorSlot.LEFT_1] = {-1, 10},
20460
+ [DoorSlot.RIGHT_1] = {13, 10}
20461
+ },
20462
+ [RoomShape.IIV] = {[DoorSlot.UP_0] = {6, -1}, [DoorSlot.DOWN_0] = {6, 14}},
20463
+ [RoomShape.SHAPE_2x1] = {
20464
+ [DoorSlot.LEFT_0] = {-1, 3},
20465
+ [DoorSlot.UP_0] = {6, -1},
20466
+ [DoorSlot.RIGHT_0] = {26, 3},
20467
+ [DoorSlot.DOWN_0] = {6, 7},
20468
+ [DoorSlot.UP_1] = {19, -1},
20469
+ [DoorSlot.DOWN_1] = {19, 7}
20470
+ },
20471
+ [RoomShape.IIH] = {[DoorSlot.LEFT_0] = {-1, 3}, [DoorSlot.RIGHT_0] = {26, 3}},
20472
+ [RoomShape.SHAPE_2x2] = {
20473
+ [DoorSlot.LEFT_0] = {-1, 3},
20474
+ [DoorSlot.UP_0] = {6, -1},
20475
+ [DoorSlot.RIGHT_0] = {26, 3},
20476
+ [DoorSlot.DOWN_0] = {6, 14},
20477
+ [DoorSlot.LEFT_1] = {-1, 10},
20478
+ [DoorSlot.UP_1] = {19, -1},
20479
+ [DoorSlot.RIGHT_1] = {26, 10},
20480
+ [DoorSlot.DOWN_1] = {19, 14}
20481
+ },
20482
+ [RoomShape.LTL] = {
20483
+ [DoorSlot.LEFT_0] = {12, 3},
20484
+ [DoorSlot.UP_0] = {6, 6},
20485
+ [DoorSlot.RIGHT_0] = {26, 3},
20486
+ [DoorSlot.DOWN_0] = {6, 14},
20487
+ [DoorSlot.LEFT_1] = {-1, 10},
20488
+ [DoorSlot.UP_1] = {19, -1},
20489
+ [DoorSlot.RIGHT_1] = {26, 10},
20490
+ [DoorSlot.DOWN_1] = {19, 14}
20491
+ },
20492
+ [RoomShape.LTR] = {
20493
+ [DoorSlot.LEFT_0] = {-1, 3},
20494
+ [DoorSlot.UP_0] = {6, -1},
20495
+ [DoorSlot.RIGHT_0] = {13, 3},
20496
+ [DoorSlot.DOWN_0] = {6, 14},
20497
+ [DoorSlot.LEFT_1] = {-1, 10},
20498
+ [DoorSlot.UP_1] = {19, 6},
20499
+ [DoorSlot.RIGHT_1] = {26, 10},
20500
+ [DoorSlot.DOWN_1] = {19, 14}
20501
+ },
20502
+ [RoomShape.LBL] = {
20503
+ [DoorSlot.LEFT_0] = {-1, 3},
20504
+ [DoorSlot.UP_0] = {6, -1},
20505
+ [DoorSlot.RIGHT_0] = {26, 3},
20506
+ [DoorSlot.DOWN_0] = {6, 7},
20507
+ [DoorSlot.LEFT_1] = {12, 10},
20508
+ [DoorSlot.UP_1] = {19, -1},
20509
+ [DoorSlot.RIGHT_1] = {26, 10},
20510
+ [DoorSlot.DOWN_1] = {19, 14}
20511
+ },
20512
+ [RoomShape.LBR] = {
20513
+ [DoorSlot.LEFT_0] = {-1, 3},
20514
+ [DoorSlot.UP_0] = {6, -1},
20515
+ [DoorSlot.RIGHT_0] = {26, 3},
20516
+ [DoorSlot.DOWN_0] = {6, 14},
20517
+ [DoorSlot.LEFT_1] = {-1, 10},
20518
+ [DoorSlot.UP_1] = {19, -1},
20519
+ [DoorSlot.RIGHT_1] = {13, 10},
20520
+ [DoorSlot.DOWN_1] = {19, 7}
20521
+ }
20476
20522
  }
20477
20523
  return ____exports
20478
20524
  end,
20479
20525
  ["src.objects.roomShapeToDoorSlots"] = function(...)
20480
20526
  local ____lualib = require("lualib_bundle")
20481
- local Set = ____lualib.Set
20482
20527
  local __TS__New = ____lualib.__TS__New
20483
20528
  local ____exports = {}
20484
20529
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
20485
20530
  local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
20486
20531
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
20487
- local ALL_DOOR_SLOTS_SET = __TS__New(Set, {
20532
+ local ____ReadonlySet = require("src.types.ReadonlySet")
20533
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
20534
+ local ALL_DOOR_SLOTS_SET = __TS__New(ReadonlySet, {
20488
20535
  DoorSlot.LEFT_0,
20489
20536
  DoorSlot.UP_0,
20490
20537
  DoorSlot.RIGHT_0,
@@ -20495,10 +20542,10 @@ local ALL_DOOR_SLOTS_SET = __TS__New(Set, {
20495
20542
  DoorSlot.DOWN_1
20496
20543
  })
20497
20544
  ____exports.ROOM_SHAPE_TO_DOOR_SLOTS = {
20498
- [RoomShape.SHAPE_1x1] = __TS__New(Set, {DoorSlot.LEFT_0, DoorSlot.UP_0, DoorSlot.RIGHT_0, DoorSlot.DOWN_0}),
20499
- [RoomShape.IH] = __TS__New(Set, {DoorSlot.LEFT_0, DoorSlot.RIGHT_0}),
20500
- [RoomShape.IV] = __TS__New(Set, {DoorSlot.UP_0, DoorSlot.DOWN_0}),
20501
- [RoomShape.SHAPE_1x2] = __TS__New(Set, {
20545
+ [RoomShape.SHAPE_1x1] = __TS__New(ReadonlySet, {DoorSlot.LEFT_0, DoorSlot.UP_0, DoorSlot.RIGHT_0, DoorSlot.DOWN_0}),
20546
+ [RoomShape.IH] = __TS__New(ReadonlySet, {DoorSlot.LEFT_0, DoorSlot.RIGHT_0}),
20547
+ [RoomShape.IV] = __TS__New(ReadonlySet, {DoorSlot.UP_0, DoorSlot.DOWN_0}),
20548
+ [RoomShape.SHAPE_1x2] = __TS__New(ReadonlySet, {
20502
20549
  DoorSlot.LEFT_0,
20503
20550
  DoorSlot.UP_0,
20504
20551
  DoorSlot.RIGHT_0,
@@ -20506,8 +20553,8 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS = {
20506
20553
  DoorSlot.LEFT_1,
20507
20554
  DoorSlot.RIGHT_1
20508
20555
  }),
20509
- [RoomShape.IIV] = __TS__New(Set, {DoorSlot.UP_0, DoorSlot.DOWN_0}),
20510
- [RoomShape.SHAPE_2x1] = __TS__New(Set, {
20556
+ [RoomShape.IIV] = __TS__New(ReadonlySet, {DoorSlot.UP_0, DoorSlot.DOWN_0}),
20557
+ [RoomShape.SHAPE_2x1] = __TS__New(ReadonlySet, {
20511
20558
  DoorSlot.LEFT_0,
20512
20559
  DoorSlot.UP_0,
20513
20560
  DoorSlot.RIGHT_0,
@@ -20515,7 +20562,7 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS = {
20515
20562
  DoorSlot.UP_1,
20516
20563
  DoorSlot.DOWN_1
20517
20564
  }),
20518
- [RoomShape.IIH] = __TS__New(Set, {DoorSlot.LEFT_0, DoorSlot.RIGHT_0}),
20565
+ [RoomShape.IIH] = __TS__New(ReadonlySet, {DoorSlot.LEFT_0, DoorSlot.RIGHT_0}),
20519
20566
  [RoomShape.SHAPE_2x2] = ALL_DOOR_SLOTS_SET,
20520
20567
  [RoomShape.LTL] = ALL_DOOR_SLOTS_SET,
20521
20568
  [RoomShape.LTR] = ALL_DOOR_SLOTS_SET,
@@ -20598,6 +20645,7 @@ local __TS__ArrayFind = ____lualib.__TS__ArrayFind
20598
20645
  local __TS__New = ____lualib.__TS__New
20599
20646
  local __TS__Iterator = ____lualib.__TS__Iterator
20600
20647
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
20648
+ local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
20601
20649
  local ____exports = {}
20602
20650
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
20603
20651
  local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
@@ -20796,11 +20844,12 @@ function ____exports.getRepentanceDoor(self)
20796
20844
  )
20797
20845
  end
20798
20846
  function ____exports.getRoomShapeDoorSlot(self, roomShape, x, y)
20799
- local coordinatesMap = ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape]
20800
- for ____, ____value in __TS__Iterator(coordinatesMap) do
20801
- local doorSlot = ____value[1]
20802
- local doorX = ____value[2][1]
20803
- local doorY = ____value[2][2]
20847
+ local doorSlotCoordinates = ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape]
20848
+ for ____, ____value in ipairs(__TS__ObjectEntries(doorSlotCoordinates)) do
20849
+ local doorSlotString = ____value[1]
20850
+ local coordinates = ____value[2]
20851
+ local doorSlot = tonumber(doorSlotString)
20852
+ local doorX, doorY = table.unpack(coordinates)
20804
20853
  if x == doorX and y == doorY then
20805
20854
  return doorSlot
20806
20855
  end
@@ -20808,8 +20857,8 @@ function ____exports.getRoomShapeDoorSlot(self, roomShape, x, y)
20808
20857
  return nil
20809
20858
  end
20810
20859
  function ____exports.getRoomShapeDoorSlotCoordinates(self, roomShape, doorSlot)
20811
- local coordinatesMap = ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape]
20812
- return coordinatesMap:get(doorSlot)
20860
+ local doorSlotCoordinates = ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape]
20861
+ return doorSlotCoordinates[doorSlot]
20813
20862
  end
20814
20863
  function ____exports.getUnusedDoorSlots(self)
20815
20864
  local room = game:GetRoom()
@@ -21433,7 +21482,6 @@ return ____exports
21433
21482
  end,
21434
21483
  ["src.functions.playerIndex"] = function(...)
21435
21484
  local ____lualib = require("lualib_bundle")
21436
- local Set = ____lualib.Set
21437
21485
  local __TS__New = ____lualib.__TS__New
21438
21486
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
21439
21487
  local __TS__ArrayFind = ____lualib.__TS__ArrayFind
@@ -21444,6 +21492,8 @@ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
21444
21492
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21445
21493
  local ____cachedClasses = require("src.core.cachedClasses")
21446
21494
  local game = ____cachedClasses.game
21495
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21496
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21447
21497
  function ____exports.getAllPlayers(self)
21448
21498
  local numPlayers = game:GetNumPlayers()
21449
21499
  local players = {}
@@ -21519,7 +21569,7 @@ function ____exports.isChildPlayer(self, player)
21519
21569
  return player.Parent ~= nil
21520
21570
  end
21521
21571
  DEFAULT_COLLECTIBLE_TYPE = CollectibleType.SAD_ONION
21522
- EXCLUDED_CHARACTERS = __TS__New(Set, {PlayerType.ESAU, PlayerType.SOUL_B})
21572
+ EXCLUDED_CHARACTERS = __TS__New(ReadonlySet, {PlayerType.ESAU, PlayerType.SOUL_B})
21523
21573
  function ____exports.getOtherPlayers(self, player)
21524
21574
  local playerPtrHash = GetPtrHash(player)
21525
21575
  local players = ____exports.getAllPlayers(nil)
@@ -21695,12 +21745,13 @@ return ____exports
21695
21745
  end,
21696
21746
  ["src.sets.charactersThatStartWithAnActiveItemSet"] = function(...)
21697
21747
  local ____lualib = require("lualib_bundle")
21698
- local Set = ____lualib.Set
21699
21748
  local __TS__New = ____lualib.__TS__New
21700
21749
  local ____exports = {}
21701
21750
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21702
21751
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21703
- ____exports.CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET = __TS__New(Set, {
21752
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21753
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21754
+ ____exports.CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET = __TS__New(ReadonlySet, {
21704
21755
  PlayerType.ISAAC,
21705
21756
  PlayerType.MAGDALENE,
21706
21757
  PlayerType.JUDAS,
@@ -21717,32 +21768,35 @@ return ____exports
21717
21768
  end,
21718
21769
  ["src.sets.charactersWithBlackHeartFromEternalHeartSet"] = function(...)
21719
21770
  local ____lualib = require("lualib_bundle")
21720
- local Set = ____lualib.Set
21721
21771
  local __TS__New = ____lualib.__TS__New
21722
21772
  local ____exports = {}
21723
21773
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21724
21774
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21725
- ____exports.CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET = __TS__New(Set, {PlayerType.DARK_JUDAS, PlayerType.JUDAS_B})
21775
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21776
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21777
+ ____exports.CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET = __TS__New(ReadonlySet, {PlayerType.DARK_JUDAS, PlayerType.JUDAS_B})
21726
21778
  return ____exports
21727
21779
  end,
21728
21780
  ["src.sets.charactersWithFreeDevilDealsSet"] = function(...)
21729
21781
  local ____lualib = require("lualib_bundle")
21730
- local Set = ____lualib.Set
21731
21782
  local __TS__New = ____lualib.__TS__New
21732
21783
  local ____exports = {}
21733
21784
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21734
21785
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21735
- ____exports.CHARACTERS_WITH_FREE_DEVIL_DEALS_SET = __TS__New(Set, {PlayerType.LOST, PlayerType.LOST_B, PlayerType.JACOB_2_B})
21786
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21787
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21788
+ ____exports.CHARACTERS_WITH_FREE_DEVIL_DEALS_SET = __TS__New(ReadonlySet, {PlayerType.LOST, PlayerType.LOST_B, PlayerType.JACOB_2_B})
21736
21789
  return ____exports
21737
21790
  end,
21738
21791
  ["src.sets.charactersWithNoRedHeartsSet"] = function(...)
21739
21792
  local ____lualib = require("lualib_bundle")
21740
- local Set = ____lualib.Set
21741
21793
  local __TS__New = ____lualib.__TS__New
21742
21794
  local ____exports = {}
21743
21795
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21744
21796
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21745
- ____exports.CHARACTERS_WITH_NO_RED_HEARTS_SET = __TS__New(Set, {
21797
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21798
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21799
+ ____exports.CHARACTERS_WITH_NO_RED_HEARTS_SET = __TS__New(ReadonlySet, {
21746
21800
  PlayerType.BLUE_BABY,
21747
21801
  PlayerType.LOST,
21748
21802
  PlayerType.DARK_JUDAS,
@@ -21756,12 +21810,13 @@ return ____exports
21756
21810
  end,
21757
21811
  ["src.sets.charactersWithNoSoulHeartsSet"] = function(...)
21758
21812
  local ____lualib = require("lualib_bundle")
21759
- local Set = ____lualib.Set
21760
21813
  local __TS__New = ____lualib.__TS__New
21761
21814
  local ____exports = {}
21762
21815
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21763
21816
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21764
- ____exports.CHARACTERS_WITH_NO_SOUL_HEARTS_SET = __TS__New(Set, {
21817
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21818
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21819
+ ____exports.CHARACTERS_WITH_NO_SOUL_HEARTS_SET = __TS__New(ReadonlySet, {
21765
21820
  PlayerType.LOST,
21766
21821
  PlayerType.KEEPER,
21767
21822
  PlayerType.BETHANY,
@@ -21772,12 +21827,13 @@ return ____exports
21772
21827
  end,
21773
21828
  ["src.sets.lostStyleCharactersSet"] = function(...)
21774
21829
  local ____lualib = require("lualib_bundle")
21775
- local Set = ____lualib.Set
21776
21830
  local __TS__New = ____lualib.__TS__New
21777
21831
  local ____exports = {}
21778
21832
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21779
21833
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21780
- ____exports.LOST_STYLE_CHARACTERS_SET = __TS__New(Set, {
21834
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21835
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21836
+ ____exports.LOST_STYLE_CHARACTERS_SET = __TS__New(ReadonlySet, {
21781
21837
  PlayerType.LOST,
21782
21838
  PlayerType.SOUL,
21783
21839
  PlayerType.LOST_B,
@@ -21788,7 +21844,6 @@ return ____exports
21788
21844
  end,
21789
21845
  ["src.functions.characters"] = function(...)
21790
21846
  local ____lualib = require("lualib_bundle")
21791
- local Set = ____lualib.Set
21792
21847
  local __TS__New = ____lualib.__TS__New
21793
21848
  local ____exports = {}
21794
21849
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -21811,13 +21866,15 @@ local ____charactersWithNoSoulHeartsSet = require("src.sets.charactersWithNoSoul
21811
21866
  local CHARACTERS_WITH_NO_SOUL_HEARTS_SET = ____charactersWithNoSoulHeartsSet.CHARACTERS_WITH_NO_SOUL_HEARTS_SET
21812
21867
  local ____lostStyleCharactersSet = require("src.sets.lostStyleCharactersSet")
21813
21868
  local LOST_STYLE_CHARACTERS_SET = ____lostStyleCharactersSet.LOST_STYLE_CHARACTERS_SET
21869
+ local ____ReadonlySet = require("src.types.ReadonlySet")
21870
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
21814
21871
  function ____exports.isModdedCharacter(self, character)
21815
21872
  return not ____exports.isVanillaCharacter(nil, character)
21816
21873
  end
21817
21874
  function ____exports.isVanillaCharacter(self, character)
21818
21875
  return character <= LAST_VANILLA_CHARACTER
21819
21876
  end
21820
- local FLYING_CHARACTERS = __TS__New(Set, {
21877
+ local FLYING_CHARACTERS = __TS__New(ReadonlySet, {
21821
21878
  PlayerType.AZAZEL,
21822
21879
  PlayerType.LOST,
21823
21880
  PlayerType.SOUL,
@@ -24281,309 +24338,311 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
24281
24338
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
24282
24339
  local ____CornerType = require("src.enums.CornerType")
24283
24340
  local CornerType = ____CornerType.CornerType
24341
+ local ____readOnly = require("src.functions.readOnly")
24342
+ local newReadonlyVector = ____readOnly.newReadonlyVector
24284
24343
  ____exports.ROOM_SHAPE_CORNERS = {
24285
24344
  [RoomShape.SHAPE_1x1] = {
24286
24345
  {
24287
24346
  type = CornerType.TOP_LEFT,
24288
24347
  gridIndex = 0,
24289
- position = Vector(60, 140)
24348
+ position = newReadonlyVector(nil, 60, 140)
24290
24349
  },
24291
24350
  {
24292
24351
  type = CornerType.TOP_RIGHT,
24293
24352
  gridIndex = 14,
24294
- position = Vector(580, 140)
24353
+ position = newReadonlyVector(nil, 580, 140)
24295
24354
  },
24296
24355
  {
24297
24356
  type = CornerType.BOTTOM_LEFT,
24298
24357
  gridIndex = 120,
24299
- position = Vector(60, 420)
24358
+ position = newReadonlyVector(nil, 60, 420)
24300
24359
  },
24301
24360
  {
24302
24361
  type = CornerType.BOTTOM_RIGHT,
24303
24362
  gridIndex = 134,
24304
- position = Vector(580, 420)
24363
+ position = newReadonlyVector(nil, 580, 420)
24305
24364
  }
24306
24365
  },
24307
24366
  [RoomShape.IH] = {
24308
24367
  {
24309
24368
  type = CornerType.TOP_LEFT,
24310
24369
  gridIndex = 30,
24311
- position = Vector(60, 220)
24370
+ position = newReadonlyVector(nil, 60, 220)
24312
24371
  },
24313
24372
  {
24314
24373
  type = CornerType.TOP_RIGHT,
24315
24374
  gridIndex = 44,
24316
- position = Vector(580, 220)
24375
+ position = newReadonlyVector(nil, 580, 220)
24317
24376
  },
24318
24377
  {
24319
24378
  type = CornerType.BOTTOM_LEFT,
24320
24379
  gridIndex = 90,
24321
- position = Vector(60, 340)
24380
+ position = newReadonlyVector(nil, 60, 340)
24322
24381
  },
24323
24382
  {
24324
24383
  type = CornerType.BOTTOM_RIGHT,
24325
24384
  gridIndex = 104,
24326
- position = Vector(580, 340)
24385
+ position = newReadonlyVector(nil, 580, 340)
24327
24386
  }
24328
24387
  },
24329
24388
  [RoomShape.IV] = {
24330
24389
  {
24331
24390
  type = CornerType.TOP_LEFT,
24332
24391
  gridIndex = 4,
24333
- position = Vector(220, 140)
24392
+ position = newReadonlyVector(nil, 220, 140)
24334
24393
  },
24335
24394
  {
24336
24395
  type = CornerType.TOP_RIGHT,
24337
24396
  gridIndex = 10,
24338
- position = Vector(420, 140)
24397
+ position = newReadonlyVector(nil, 420, 140)
24339
24398
  },
24340
24399
  {
24341
24400
  type = CornerType.BOTTOM_LEFT,
24342
24401
  gridIndex = 124,
24343
- position = Vector(220, 420)
24402
+ position = newReadonlyVector(nil, 220, 420)
24344
24403
  },
24345
24404
  {
24346
24405
  type = CornerType.BOTTOM_RIGHT,
24347
24406
  gridIndex = 130,
24348
- position = Vector(420, 420)
24407
+ position = newReadonlyVector(nil, 420, 420)
24349
24408
  }
24350
24409
  },
24351
24410
  [RoomShape.SHAPE_1x2] = {
24352
24411
  {
24353
24412
  type = CornerType.TOP_LEFT,
24354
24413
  gridIndex = 0,
24355
- position = Vector(60, 140)
24414
+ position = newReadonlyVector(nil, 60, 140)
24356
24415
  },
24357
24416
  {
24358
24417
  type = CornerType.TOP_RIGHT,
24359
24418
  gridIndex = 14,
24360
- position = Vector(580, 140)
24419
+ position = newReadonlyVector(nil, 580, 140)
24361
24420
  },
24362
24421
  {
24363
24422
  type = CornerType.BOTTOM_LEFT,
24364
24423
  gridIndex = 225,
24365
- position = Vector(60, 700)
24424
+ position = newReadonlyVector(nil, 60, 700)
24366
24425
  },
24367
24426
  {
24368
24427
  type = CornerType.BOTTOM_RIGHT,
24369
24428
  gridIndex = 239,
24370
- position = Vector(580, 700)
24429
+ position = newReadonlyVector(nil, 580, 700)
24371
24430
  }
24372
24431
  },
24373
24432
  [RoomShape.IIV] = {
24374
24433
  {
24375
24434
  type = CornerType.TOP_LEFT,
24376
24435
  gridIndex = 4,
24377
- position = Vector(220, 140)
24436
+ position = newReadonlyVector(nil, 220, 140)
24378
24437
  },
24379
24438
  {
24380
24439
  type = CornerType.TOP_RIGHT,
24381
24440
  gridIndex = 10,
24382
- position = Vector(420, 140)
24441
+ position = newReadonlyVector(nil, 420, 140)
24383
24442
  },
24384
24443
  {
24385
24444
  type = CornerType.BOTTOM_LEFT,
24386
24445
  gridIndex = 229,
24387
- position = Vector(220, 700)
24446
+ position = newReadonlyVector(nil, 220, 700)
24388
24447
  },
24389
24448
  {
24390
24449
  type = CornerType.BOTTOM_RIGHT,
24391
24450
  gridIndex = 235,
24392
- position = Vector(420, 700)
24451
+ position = newReadonlyVector(nil, 420, 700)
24393
24452
  }
24394
24453
  },
24395
24454
  [RoomShape.SHAPE_2x1] = {
24396
24455
  {
24397
24456
  type = CornerType.TOP_LEFT,
24398
24457
  gridIndex = 0,
24399
- position = Vector(60, 140)
24458
+ position = newReadonlyVector(nil, 60, 140)
24400
24459
  },
24401
24460
  {
24402
24461
  type = CornerType.TOP_RIGHT,
24403
24462
  gridIndex = 27,
24404
- position = Vector(1100, 140)
24463
+ position = newReadonlyVector(nil, 1100, 140)
24405
24464
  },
24406
24465
  {
24407
24466
  type = CornerType.BOTTOM_LEFT,
24408
24467
  gridIndex = 224,
24409
- position = Vector(60, 420)
24468
+ position = newReadonlyVector(nil, 60, 420)
24410
24469
  },
24411
24470
  {
24412
24471
  type = CornerType.BOTTOM_RIGHT,
24413
24472
  gridIndex = 251,
24414
- position = Vector(1100, 420)
24473
+ position = newReadonlyVector(nil, 1100, 420)
24415
24474
  }
24416
24475
  },
24417
24476
  [RoomShape.IIH] = {
24418
24477
  {
24419
24478
  type = CornerType.TOP_LEFT,
24420
24479
  gridIndex = 56,
24421
- position = Vector(60, 220)
24480
+ position = newReadonlyVector(nil, 60, 220)
24422
24481
  },
24423
24482
  {
24424
24483
  type = CornerType.TOP_RIGHT,
24425
24484
  gridIndex = 83,
24426
- position = Vector(1100, 220)
24485
+ position = newReadonlyVector(nil, 1100, 220)
24427
24486
  },
24428
24487
  {
24429
24488
  type = CornerType.BOTTOM_LEFT,
24430
24489
  gridIndex = 168,
24431
- position = Vector(60, 340)
24490
+ position = newReadonlyVector(nil, 60, 340)
24432
24491
  },
24433
24492
  {
24434
24493
  type = CornerType.BOTTOM_RIGHT,
24435
24494
  gridIndex = 195,
24436
- position = Vector(1100, 340)
24495
+ position = newReadonlyVector(nil, 1100, 340)
24437
24496
  }
24438
24497
  },
24439
24498
  [RoomShape.SHAPE_2x2] = {
24440
24499
  {
24441
24500
  type = CornerType.TOP_LEFT,
24442
24501
  gridIndex = 0,
24443
- position = Vector(60, 140)
24502
+ position = newReadonlyVector(nil, 60, 140)
24444
24503
  },
24445
24504
  {
24446
24505
  type = CornerType.TOP_RIGHT,
24447
24506
  gridIndex = 27,
24448
- position = Vector(1100, 140)
24507
+ position = newReadonlyVector(nil, 1100, 140)
24449
24508
  },
24450
24509
  {
24451
24510
  type = CornerType.BOTTOM_LEFT,
24452
24511
  gridIndex = 420,
24453
- position = Vector(60, 700)
24512
+ position = newReadonlyVector(nil, 60, 700)
24454
24513
  },
24455
24514
  {
24456
24515
  type = CornerType.BOTTOM_RIGHT,
24457
24516
  gridIndex = 447,
24458
- position = Vector(1100, 700)
24517
+ position = newReadonlyVector(nil, 1100, 700)
24459
24518
  }
24460
24519
  },
24461
24520
  [RoomShape.LTL] = {
24462
24521
  {
24463
24522
  type = CornerType.TOP_LEFT,
24464
24523
  gridIndex = 13,
24465
- position = Vector(580, 140)
24524
+ position = newReadonlyVector(nil, 580, 140)
24466
24525
  },
24467
24526
  {
24468
24527
  type = CornerType.TOP_RIGHT,
24469
24528
  gridIndex = 27,
24470
- position = Vector(1100, 140)
24529
+ position = newReadonlyVector(nil, 1100, 140)
24471
24530
  },
24472
24531
  {
24473
24532
  type = CornerType.TOP_LEFT,
24474
24533
  gridIndex = 196,
24475
- position = Vector(60, 420)
24534
+ position = newReadonlyVector(nil, 60, 420)
24476
24535
  },
24477
24536
  {
24478
24537
  type = CornerType.BOTTOM_RIGHT,
24479
24538
  gridIndex = 209,
24480
- position = Vector(580, 420)
24539
+ position = newReadonlyVector(nil, 580, 420)
24481
24540
  },
24482
24541
  {
24483
24542
  type = CornerType.BOTTOM_LEFT,
24484
24543
  gridIndex = 420,
24485
- position = Vector(60, 700)
24544
+ position = newReadonlyVector(nil, 60, 700)
24486
24545
  },
24487
24546
  {
24488
24547
  type = CornerType.BOTTOM_RIGHT,
24489
24548
  gridIndex = 447,
24490
- position = Vector(1100, 700)
24549
+ position = newReadonlyVector(nil, 1100, 700)
24491
24550
  }
24492
24551
  },
24493
24552
  [RoomShape.LTR] = {
24494
24553
  {
24495
24554
  type = CornerType.TOP_LEFT,
24496
24555
  gridIndex = 0,
24497
- position = Vector(60, 140)
24556
+ position = newReadonlyVector(nil, 60, 140)
24498
24557
  },
24499
24558
  {
24500
24559
  type = CornerType.TOP_RIGHT,
24501
24560
  gridIndex = 14,
24502
- position = Vector(580, 140)
24561
+ position = newReadonlyVector(nil, 580, 140)
24503
24562
  },
24504
24563
  {
24505
24564
  type = CornerType.BOTTOM_LEFT,
24506
24565
  gridIndex = 210,
24507
- position = Vector(580, 420)
24566
+ position = newReadonlyVector(nil, 580, 420)
24508
24567
  },
24509
24568
  {
24510
24569
  type = CornerType.TOP_RIGHT,
24511
24570
  gridIndex = 223,
24512
- position = Vector(1100, 420)
24571
+ position = newReadonlyVector(nil, 1100, 420)
24513
24572
  },
24514
24573
  {
24515
24574
  type = CornerType.BOTTOM_LEFT,
24516
24575
  gridIndex = 420,
24517
- position = Vector(60, 700)
24576
+ position = newReadonlyVector(nil, 60, 700)
24518
24577
  },
24519
24578
  {
24520
24579
  type = CornerType.BOTTOM_RIGHT,
24521
24580
  gridIndex = 447,
24522
- position = Vector(1100, 700)
24581
+ position = newReadonlyVector(nil, 1100, 700)
24523
24582
  }
24524
24583
  },
24525
24584
  [RoomShape.LBL] = {
24526
24585
  {
24527
24586
  type = CornerType.TOP_LEFT,
24528
24587
  gridIndex = 0,
24529
- position = Vector(60, 140)
24588
+ position = newReadonlyVector(nil, 60, 140)
24530
24589
  },
24531
24590
  {
24532
24591
  type = CornerType.TOP_RIGHT,
24533
24592
  gridIndex = 27,
24534
- position = Vector(1100, 140)
24593
+ position = newReadonlyVector(nil, 1100, 140)
24535
24594
  },
24536
24595
  {
24537
24596
  type = CornerType.BOTTOM_LEFT,
24538
24597
  gridIndex = 224,
24539
- position = Vector(580, 140)
24598
+ position = newReadonlyVector(nil, 580, 140)
24540
24599
  },
24541
24600
  {
24542
24601
  type = CornerType.TOP_RIGHT,
24543
24602
  gridIndex = 237,
24544
- position = Vector(580, 420)
24603
+ position = newReadonlyVector(nil, 580, 420)
24545
24604
  },
24546
24605
  {
24547
24606
  type = CornerType.BOTTOM_LEFT,
24548
24607
  gridIndex = 433,
24549
- position = Vector(580, 700)
24608
+ position = newReadonlyVector(nil, 580, 700)
24550
24609
  },
24551
24610
  {
24552
24611
  type = CornerType.BOTTOM_RIGHT,
24553
24612
  gridIndex = 447,
24554
- position = Vector(1100, 700)
24613
+ position = newReadonlyVector(nil, 1100, 700)
24555
24614
  }
24556
24615
  },
24557
24616
  [RoomShape.LBR] = {
24558
24617
  {
24559
24618
  type = CornerType.TOP_LEFT,
24560
24619
  gridIndex = 0,
24561
- position = Vector(60, 140)
24620
+ position = newReadonlyVector(nil, 60, 140)
24562
24621
  },
24563
24622
  {
24564
24623
  type = CornerType.TOP_RIGHT,
24565
24624
  gridIndex = 27,
24566
- position = Vector(1100, 140)
24625
+ position = newReadonlyVector(nil, 1100, 140)
24567
24626
  },
24568
24627
  {
24569
24628
  type = CornerType.TOP_LEFT,
24570
24629
  gridIndex = 238,
24571
- position = Vector(580, 420)
24630
+ position = newReadonlyVector(nil, 580, 420)
24572
24631
  },
24573
24632
  {
24574
24633
  type = CornerType.BOTTOM_RIGHT,
24575
24634
  gridIndex = 251,
24576
- position = Vector(1100, 420)
24635
+ position = newReadonlyVector(nil, 1100, 420)
24577
24636
  },
24578
24637
  {
24579
24638
  type = CornerType.BOTTOM_LEFT,
24580
24639
  gridIndex = 420,
24581
- position = Vector(60, 700)
24640
+ position = newReadonlyVector(nil, 60, 700)
24582
24641
  },
24583
24642
  {
24584
24643
  type = CornerType.BOTTOM_RIGHT,
24585
24644
  gridIndex = 434,
24586
- position = Vector(580, 700)
24645
+ position = newReadonlyVector(nil, 580, 700)
24587
24646
  }
24588
24647
  }
24589
24648
  }
@@ -24620,16 +24679,18 @@ return ____exports
24620
24679
  local ____exports = {}
24621
24680
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
24622
24681
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
24623
- local TWO_BY_TWO_BOTTOM_RIGHT_POSITION = Vector(25, 13)
24624
- local ONE_BY_TWO_VERTICAL_BOTTOM_RIGHT_POSITION = Vector(12, 13)
24682
+ local ____readOnly = require("src.functions.readOnly")
24683
+ local newReadonlyVector = ____readOnly.newReadonlyVector
24684
+ local TWO_BY_TWO_BOTTOM_RIGHT_POSITION = newReadonlyVector(nil, 25, 13)
24685
+ local ONE_BY_TWO_VERTICAL_BOTTOM_RIGHT_POSITION = newReadonlyVector(nil, 12, 13)
24625
24686
  ____exports.ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION = {
24626
- [RoomShape.SHAPE_1x1] = Vector(12, 6),
24627
- [RoomShape.IH] = Vector(12, 4),
24628
- [RoomShape.IV] = Vector(8, 6),
24687
+ [RoomShape.SHAPE_1x1] = newReadonlyVector(nil, 12, 6),
24688
+ [RoomShape.IH] = newReadonlyVector(nil, 12, 4),
24689
+ [RoomShape.IV] = newReadonlyVector(nil, 8, 6),
24629
24690
  [RoomShape.SHAPE_1x2] = ONE_BY_TWO_VERTICAL_BOTTOM_RIGHT_POSITION,
24630
- [RoomShape.IIV] = Vector(8, 13),
24631
- [RoomShape.SHAPE_2x1] = Vector(25, 6),
24632
- [RoomShape.IIH] = Vector(25, 4),
24691
+ [RoomShape.IIV] = newReadonlyVector(nil, 8, 13),
24692
+ [RoomShape.SHAPE_2x1] = newReadonlyVector(nil, 25, 6),
24693
+ [RoomShape.IIH] = newReadonlyVector(nil, 25, 4),
24633
24694
  [RoomShape.SHAPE_2x2] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
24634
24695
  [RoomShape.LTL] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
24635
24696
  [RoomShape.LTR] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
@@ -24640,7 +24701,6 @@ return ____exports
24640
24701
  end,
24641
24702
  ["src.objects.roomShapeToDoorSlotsToGridIndexDelta"] = function(...)
24642
24703
  local ____lualib = require("lualib_bundle")
24643
- local Map = ____lualib.Map
24644
24704
  local __TS__New = ____lualib.__TS__New
24645
24705
  local ____exports = {}
24646
24706
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -24648,15 +24708,17 @@ local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
24648
24708
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
24649
24709
  local ____constants = require("src.core.constants")
24650
24710
  local LEVEL_GRID_ROW_WIDTH = ____constants.LEVEL_GRID_ROW_WIDTH
24711
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
24712
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
24651
24713
  local LEFT = -1
24652
24714
  local UP = -LEVEL_GRID_ROW_WIDTH
24653
24715
  local RIGHT = 1
24654
24716
  local DOWN = LEVEL_GRID_ROW_WIDTH
24655
24717
  ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24656
- [RoomShape.SHAPE_1x1] = __TS__New(Map, {{DoorSlot.LEFT_0, LEFT}, {DoorSlot.UP_0, UP}, {DoorSlot.RIGHT_0, RIGHT}, {DoorSlot.DOWN_0, DOWN}}),
24657
- [RoomShape.IH] = __TS__New(Map, {{DoorSlot.LEFT_0, LEFT}, {DoorSlot.RIGHT_0, RIGHT}}),
24658
- [RoomShape.IV] = __TS__New(Map, {{DoorSlot.UP_0, UP}, {DoorSlot.DOWN_0, DOWN}}),
24659
- [RoomShape.SHAPE_1x2] = __TS__New(Map, {
24718
+ [RoomShape.SHAPE_1x1] = __TS__New(ReadonlyMap, {{DoorSlot.LEFT_0, LEFT}, {DoorSlot.UP_0, UP}, {DoorSlot.RIGHT_0, RIGHT}, {DoorSlot.DOWN_0, DOWN}}),
24719
+ [RoomShape.IH] = __TS__New(ReadonlyMap, {{DoorSlot.LEFT_0, LEFT}, {DoorSlot.RIGHT_0, RIGHT}}),
24720
+ [RoomShape.IV] = __TS__New(ReadonlyMap, {{DoorSlot.UP_0, UP}, {DoorSlot.DOWN_0, DOWN}}),
24721
+ [RoomShape.SHAPE_1x2] = __TS__New(ReadonlyMap, {
24660
24722
  {DoorSlot.LEFT_0, LEFT},
24661
24723
  {DoorSlot.UP_0, UP},
24662
24724
  {DoorSlot.RIGHT_0, RIGHT},
@@ -24664,8 +24726,8 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24664
24726
  {DoorSlot.LEFT_1, DOWN + LEFT},
24665
24727
  {DoorSlot.RIGHT_1, DOWN + RIGHT}
24666
24728
  }),
24667
- [RoomShape.IIV] = __TS__New(Map, {{DoorSlot.UP_0, UP}, {DoorSlot.DOWN_0, DOWN + DOWN}}),
24668
- [RoomShape.SHAPE_2x1] = __TS__New(Map, {
24729
+ [RoomShape.IIV] = __TS__New(ReadonlyMap, {{DoorSlot.UP_0, UP}, {DoorSlot.DOWN_0, DOWN + DOWN}}),
24730
+ [RoomShape.SHAPE_2x1] = __TS__New(ReadonlyMap, {
24669
24731
  {DoorSlot.LEFT_0, LEFT},
24670
24732
  {DoorSlot.UP_0, UP},
24671
24733
  {DoorSlot.RIGHT_0, RIGHT + RIGHT},
@@ -24673,8 +24735,8 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24673
24735
  {DoorSlot.UP_1, RIGHT + UP},
24674
24736
  {DoorSlot.DOWN_1, RIGHT + DOWN}
24675
24737
  }),
24676
- [RoomShape.IIH] = __TS__New(Map, {{DoorSlot.LEFT_0, LEFT}, {DoorSlot.RIGHT_0, RIGHT + RIGHT}}),
24677
- [RoomShape.SHAPE_2x2] = __TS__New(Map, {
24738
+ [RoomShape.IIH] = __TS__New(ReadonlyMap, {{DoorSlot.LEFT_0, LEFT}, {DoorSlot.RIGHT_0, RIGHT + RIGHT}}),
24739
+ [RoomShape.SHAPE_2x2] = __TS__New(ReadonlyMap, {
24678
24740
  {DoorSlot.LEFT_0, LEFT},
24679
24741
  {DoorSlot.UP_0, UP},
24680
24742
  {DoorSlot.RIGHT_0, RIGHT + RIGHT},
@@ -24684,7 +24746,7 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24684
24746
  {DoorSlot.RIGHT_1, RIGHT + DOWN + RIGHT},
24685
24747
  {DoorSlot.DOWN_1, RIGHT + DOWN + DOWN}
24686
24748
  }),
24687
- [RoomShape.LTL] = __TS__New(Map, {
24749
+ [RoomShape.LTL] = __TS__New(ReadonlyMap, {
24688
24750
  {DoorSlot.LEFT_0, LEFT},
24689
24751
  {DoorSlot.UP_0, DOWN + LEFT + UP},
24690
24752
  {DoorSlot.RIGHT_0, RIGHT},
@@ -24694,7 +24756,7 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24694
24756
  {DoorSlot.RIGHT_1, DOWN + RIGHT},
24695
24757
  {DoorSlot.DOWN_1, DOWN + DOWN}
24696
24758
  }),
24697
- [RoomShape.LTR] = __TS__New(Map, {
24759
+ [RoomShape.LTR] = __TS__New(ReadonlyMap, {
24698
24760
  {DoorSlot.LEFT_0, LEFT},
24699
24761
  {DoorSlot.UP_0, UP},
24700
24762
  {DoorSlot.RIGHT_0, RIGHT},
@@ -24704,7 +24766,7 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24704
24766
  {DoorSlot.RIGHT_1, DOWN + RIGHT + RIGHT},
24705
24767
  {DoorSlot.DOWN_1, DOWN + RIGHT + DOWN}
24706
24768
  }),
24707
- [RoomShape.LBL] = __TS__New(Map, {
24769
+ [RoomShape.LBL] = __TS__New(ReadonlyMap, {
24708
24770
  {DoorSlot.LEFT_0, LEFT},
24709
24771
  {DoorSlot.UP_0, UP},
24710
24772
  {DoorSlot.RIGHT_0, RIGHT + RIGHT},
@@ -24714,7 +24776,7 @@ ____exports.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = {
24714
24776
  {DoorSlot.RIGHT_1, RIGHT + DOWN + RIGHT},
24715
24777
  {DoorSlot.DOWN_1, RIGHT + DOWN + DOWN}
24716
24778
  }),
24717
- [RoomShape.LBR] = __TS__New(Map, {
24779
+ [RoomShape.LBR] = __TS__New(ReadonlyMap, {
24718
24780
  {DoorSlot.LEFT_0, LEFT},
24719
24781
  {DoorSlot.UP_0, UP},
24720
24782
  {DoorSlot.RIGHT_0, RIGHT + RIGHT},
@@ -24755,8 +24817,10 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
24755
24817
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
24756
24818
  local ____constants = require("src.core.constants")
24757
24819
  local VectorZero = ____constants.VectorZero
24758
- local NARROW_HORIZONTAL_TOP_LEFT_POSITION = Vector(0, 2)
24759
- local NARROW_VERTICAL_TOP_LEFT_POSITION = Vector(4, 0)
24820
+ local ____readOnly = require("src.functions.readOnly")
24821
+ local newReadonlyVector = ____readOnly.newReadonlyVector
24822
+ local NARROW_HORIZONTAL_TOP_LEFT_POSITION = newReadonlyVector(nil, 0, 2)
24823
+ local NARROW_VERTICAL_TOP_LEFT_POSITION = newReadonlyVector(nil, 4, 0)
24760
24824
  ____exports.ROOM_SHAPE_TO_TOP_LEFT_POSITION = {
24761
24825
  [RoomShape.SHAPE_1x1] = VectorZero,
24762
24826
  [RoomShape.IH] = NARROW_HORIZONTAL_TOP_LEFT_POSITION,
@@ -24766,7 +24830,7 @@ ____exports.ROOM_SHAPE_TO_TOP_LEFT_POSITION = {
24766
24830
  [RoomShape.SHAPE_2x1] = VectorZero,
24767
24831
  [RoomShape.IIH] = NARROW_HORIZONTAL_TOP_LEFT_POSITION,
24768
24832
  [RoomShape.SHAPE_2x2] = VectorZero,
24769
- [RoomShape.LTL] = Vector(13, 0),
24833
+ [RoomShape.LTL] = newReadonlyVector(nil, 13, 0),
24770
24834
  [RoomShape.LTR] = VectorZero,
24771
24835
  [RoomShape.LBL] = VectorZero,
24772
24836
  [RoomShape.LBR] = VectorZero
@@ -24775,22 +24839,24 @@ return ____exports
24775
24839
  end,
24776
24840
  ["src.sets.LRoomShapesSet"] = function(...)
24777
24841
  local ____lualib = require("lualib_bundle")
24778
- local Set = ____lualib.Set
24779
24842
  local __TS__New = ____lualib.__TS__New
24780
24843
  local ____exports = {}
24781
24844
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
24782
24845
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
24783
- ____exports.L_ROOM_SHAPES_SET = __TS__New(Set, {RoomShape.LTL, RoomShape.LTR, RoomShape.LBL, RoomShape.LBR})
24846
+ local ____ReadonlySet = require("src.types.ReadonlySet")
24847
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
24848
+ ____exports.L_ROOM_SHAPES_SET = __TS__New(ReadonlySet, {RoomShape.LTL, RoomShape.LTR, RoomShape.LBL, RoomShape.LBR})
24784
24849
  return ____exports
24785
24850
  end,
24786
24851
  ["src.sets.narrowRoomShapesSet"] = function(...)
24787
24852
  local ____lualib = require("lualib_bundle")
24788
- local Set = ____lualib.Set
24789
24853
  local __TS__New = ____lualib.__TS__New
24790
24854
  local ____exports = {}
24791
24855
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
24792
24856
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
24793
- ____exports.NARROW_ROOM_SHAPES_SET = __TS__New(Set, {RoomShape.IH, RoomShape.IV, RoomShape.IIV, RoomShape.IIH})
24857
+ local ____ReadonlySet = require("src.types.ReadonlySet")
24858
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
24859
+ ____exports.NARROW_ROOM_SHAPES_SET = __TS__New(ReadonlySet, {RoomShape.IH, RoomShape.IV, RoomShape.IIV, RoomShape.IIH})
24794
24860
  return ____exports
24795
24861
  end,
24796
24862
  ["src.functions.roomShape"] = function(...)
@@ -25240,7 +25306,6 @@ return ____exports
25240
25306
  end,
25241
25307
  ["src.maps.gridEntityTypeToBrokenStateMap"] = function(...)
25242
25308
  local ____lualib = require("lualib_bundle")
25243
- local Map = ____lualib.Map
25244
25309
  local __TS__New = ____lualib.__TS__New
25245
25310
  local ____exports = {}
25246
25311
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -25250,7 +25315,9 @@ local PoopState = ____isaac_2Dtypescript_2Ddefinitions.PoopState
25250
25315
  local RockState = ____isaac_2Dtypescript_2Ddefinitions.RockState
25251
25316
  local SpiderWebState = ____isaac_2Dtypescript_2Ddefinitions.SpiderWebState
25252
25317
  local TNTState = ____isaac_2Dtypescript_2Ddefinitions.TNTState
25253
- ____exports.GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP = __TS__New(Map, {
25318
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
25319
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
25320
+ ____exports.GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP = __TS__New(ReadonlyMap, {
25254
25321
  {GridEntityType.ROCK, RockState.BROKEN},
25255
25322
  {GridEntityType.ROCK_TINTED, RockState.BROKEN},
25256
25323
  {GridEntityType.ROCK_BOMB, RockState.BROKEN},
@@ -25268,7 +25335,6 @@ return ____exports
25268
25335
  end,
25269
25336
  ["src.maps.gridEntityXMLMap"] = function(...)
25270
25337
  local ____lualib = require("lualib_bundle")
25271
- local Map = ____lualib.Map
25272
25338
  local __TS__New = ____lualib.__TS__New
25273
25339
  local ____exports = {}
25274
25340
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -25281,7 +25347,9 @@ local PressurePlateVariant = ____isaac_2Dtypescript_2Ddefinitions.PressurePlateV
25281
25347
  local RockVariant = ____isaac_2Dtypescript_2Ddefinitions.RockVariant
25282
25348
  local StatueVariant = ____isaac_2Dtypescript_2Ddefinitions.StatueVariant
25283
25349
  local TrapdoorVariant = ____isaac_2Dtypescript_2Ddefinitions.TrapdoorVariant
25284
- ____exports.GRID_ENTITY_XML_MAP = __TS__New(Map, {
25350
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
25351
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
25352
+ ____exports.GRID_ENTITY_XML_MAP = __TS__New(ReadonlyMap, {
25285
25353
  {GridEntityXMLType.DECORATION, {GridEntityType.DECORATION, 0}},
25286
25354
  {GridEntityXMLType.ROCK, {GridEntityType.ROCK, RockVariant.NORMAL}},
25287
25355
  {GridEntityXMLType.ROCK_BOMB, {GridEntityType.ROCK_BOMB, 0}},
@@ -25322,13 +25390,14 @@ return ____exports
25322
25390
  end,
25323
25391
  ["src.maps.roomShapeToTopLeftWallGridIndexMap"] = function(...)
25324
25392
  local ____lualib = require("lualib_bundle")
25325
- local Map = ____lualib.Map
25326
25393
  local __TS__New = ____lualib.__TS__New
25327
25394
  local ____exports = {}
25328
25395
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
25329
25396
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
25397
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
25398
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
25330
25399
  ____exports.DEFAULT_TOP_LEFT_WALL_GRID_INDEX = 0
25331
- ____exports.ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP = __TS__New(Map, {
25400
+ ____exports.ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP = __TS__New(ReadonlyMap, {
25332
25401
  {RoomShape.IH, 30},
25333
25402
  {RoomShape.IV, 4},
25334
25403
  {RoomShape.IIV, 4},
@@ -25384,12 +25453,13 @@ return ____exports
25384
25453
  end,
25385
25454
  ["src.sets.mineShaftRoomSubTypesSet"] = function(...)
25386
25455
  local ____lualib = require("lualib_bundle")
25387
- local Set = ____lualib.Set
25388
25456
  local __TS__New = ____lualib.__TS__New
25389
25457
  local ____exports = {}
25390
25458
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
25391
25459
  local MinesRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.MinesRoomSubType
25392
- ____exports.MINE_SHAFT_ROOM_SUB_TYPE_SET = __TS__New(Set, {
25460
+ local ____ReadonlySet = require("src.types.ReadonlySet")
25461
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
25462
+ ____exports.MINE_SHAFT_ROOM_SUB_TYPE_SET = __TS__New(ReadonlySet, {
25393
25463
  MinesRoomSubType.MINESHAFT_ENTRANCE,
25394
25464
  MinesRoomSubType.MINESHAFT_LOBBY,
25395
25465
  MinesRoomSubType.MINESHAFT_KNIFE_PIECE,
@@ -26248,10 +26318,10 @@ return ____exports
26248
26318
  end,
26249
26319
  ["src.functions.gridEntities"] = function(...)
26250
26320
  local ____lualib = require("lualib_bundle")
26251
- local Set = ____lualib.Set
26252
26321
  local __TS__New = ____lualib.__TS__New
26253
26322
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
26254
26323
  local __TS__StringSplit = ____lualib.__TS__StringSplit
26324
+ local Set = ____lualib.Set
26255
26325
  local Map = ____lualib.Map
26256
26326
  local ____exports = {}
26257
26327
  local getAllGridEntities
@@ -26274,6 +26344,8 @@ local GRID_ENTITY_XML_MAP = ____gridEntityXMLMap.GRID_ENTITY_XML_MAP
26274
26344
  local ____roomShapeToTopLeftWallGridIndexMap = require("src.maps.roomShapeToTopLeftWallGridIndexMap")
26275
26345
  local DEFAULT_TOP_LEFT_WALL_GRID_INDEX = ____roomShapeToTopLeftWallGridIndexMap.DEFAULT_TOP_LEFT_WALL_GRID_INDEX
26276
26346
  local ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP = ____roomShapeToTopLeftWallGridIndexMap.ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP
26347
+ local ____ReadonlySet = require("src.types.ReadonlySet")
26348
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
26277
26349
  local ____entities = require("src.functions.entities")
26278
26350
  local removeEntities = ____entities.removeEntities
26279
26351
  local ____entitiesSpecific = require("src.functions.entitiesSpecific")
@@ -26375,7 +26447,7 @@ function ____exports.spawnGridEntityWithVariant(self, gridEntityType, variant, g
26375
26447
  end
26376
26448
  return gridEntity
26377
26449
  end
26378
- local BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS = __TS__New(Set, {
26450
+ local BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS = __TS__New(ReadonlySet, {
26379
26451
  GridEntityType.ROCK,
26380
26452
  GridEntityType.ROCK_TINTED,
26381
26453
  GridEntityType.ROCK_BOMB,
@@ -26389,7 +26461,7 @@ local BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS = __TS__New(Set, {
26389
26461
  GridEntityType.ROCK_GOLD
26390
26462
  })
26391
26463
  local BREAKABLE_GRID_ENTITY_TYPES_VARIANTS_BY_EXPLOSIONS = __TS__New(
26392
- Set,
26464
+ ReadonlySet,
26393
26465
  {(tostring(GridEntityType.STATUE) .. ".") .. tostring(StatueVariant.ANGEL)}
26394
26466
  )
26395
26467
  function ____exports.convertXMLGridEntityType(self, gridEntityXMLType, gridEntityXMLVariant)
@@ -27261,11 +27333,12 @@ return ____exports
27261
27333
  end,
27262
27334
  ["src.maps.trinketDescriptionMap"] = function(...)
27263
27335
  local ____lualib = require("lualib_bundle")
27264
- local Map = ____lualib.Map
27265
27336
  local __TS__New = ____lualib.__TS__New
27266
27337
  local ____exports = {}
27338
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
27339
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
27267
27340
  ____exports.DEFAULT_TRINKET_DESCRIPTION = "Unknown"
27268
- ____exports.TRINKET_DESCRIPTION_MAP = __TS__New(Map, {
27341
+ ____exports.TRINKET_DESCRIPTION_MAP = __TS__New(ReadonlyMap, {
27269
27342
  {1, "Gulp!"},
27270
27343
  {2, "It feels lucky?"},
27271
27344
  {3, "Trickle charge"},
@@ -27459,11 +27532,12 @@ return ____exports
27459
27532
  end,
27460
27533
  ["src.maps.trinketTypeToNameMap"] = function(...)
27461
27534
  local ____lualib = require("lualib_bundle")
27462
- local Map = ____lualib.Map
27463
27535
  local __TS__New = ____lualib.__TS__New
27464
27536
  local ____exports = {}
27537
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
27538
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
27465
27539
  ____exports.DEFAULT_TRINKET_NAME = "Unknown"
27466
- ____exports.TRINKET_TYPE_TO_NAME_MAP = __TS__New(Map, {
27540
+ ____exports.TRINKET_TYPE_TO_NAME_MAP = __TS__New(ReadonlyMap, {
27467
27541
  {1, "Swallowed Penny"},
27468
27542
  {2, "Petrified Poop"},
27469
27543
  {3, "AAA Battery"},
@@ -30789,7 +30863,6 @@ return ____exports
30789
30863
  end,
30790
30864
  ["src.classes.callbacks.PreNewLevel"] = function(...)
30791
30865
  local ____lualib = require("lualib_bundle")
30792
- local Set = ____lualib.Set
30793
30866
  local __TS__New = ____lualib.__TS__New
30794
30867
  local __TS__Class = ____lualib.__TS__Class
30795
30868
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
@@ -30800,9 +30873,11 @@ local ____sprites = require("src.functions.sprites")
30800
30873
  local getLastFrameOfAnimation = ____sprites.getLastFrameOfAnimation
30801
30874
  local ____stage = require("src.functions.stage")
30802
30875
  local getEffectiveStage = ____stage.getEffectiveStage
30876
+ local ____ReadonlySet = require("src.types.ReadonlySet")
30877
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
30803
30878
  local ____CustomCallback = require("src.classes.private.CustomCallback")
30804
30879
  local CustomCallback = ____CustomCallback.CustomCallback
30805
- local TRAVELING_TO_NEXT_FLOOR_ANIMATIONS = __TS__New(Set, {"Trapdoor", "LightTravel"})
30880
+ local TRAVELING_TO_NEXT_FLOOR_ANIMATIONS = __TS__New(ReadonlySet, {"Trapdoor", "LightTravel"})
30806
30881
  ____exports.PreNewLevel = __TS__Class()
30807
30882
  local PreNewLevel = ____exports.PreNewLevel
30808
30883
  PreNewLevel.name = "PreNewLevel"
@@ -32989,6 +33064,17 @@ ____exports.CARD_NAMES = {
32989
33064
  [CardType.SOUL_BETHANY] = "Soul of Bethany",
32990
33065
  [CardType.SOUL_JACOB] = "Soul of Jacob and Esau"
32991
33066
  }
33067
+ return ____exports
33068
+ end,
33069
+ ["src.sets.itemConfigCardTypesForCardsSet"] = function(...)
33070
+ local ____lualib = require("lualib_bundle")
33071
+ local __TS__New = ____lualib.__TS__New
33072
+ local ____exports = {}
33073
+ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
33074
+ local ItemConfigCardType = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigCardType
33075
+ local ____ReadonlySet = require("src.types.ReadonlySet")
33076
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
33077
+ ____exports.ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET = __TS__New(ReadonlySet, {ItemConfigCardType.TAROT, ItemConfigCardType.SUIT, ItemConfigCardType.SPECIAL, ItemConfigCardType.TAROT_REVERSE})
32992
33078
  return ____exports
32993
33079
  end,
32994
33080
  ["src.functions.cards"] = function(...)
@@ -32997,8 +33083,6 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
32997
33083
  local ItemConfigCardType = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigCardType
32998
33084
  local ____cachedClasses = require("src.core.cachedClasses")
32999
33085
  local itemConfig = ____cachedClasses.itemConfig
33000
- local ____constants = require("src.core.constants")
33001
- local ITEM_CONFIG_CARD_TYPES_FOR_CARDS = ____constants.ITEM_CONFIG_CARD_TYPES_FOR_CARDS
33002
33086
  local ____constantsFirstLast = require("src.core.constantsFirstLast")
33003
33087
  local FIRST_CARD_TYPE = ____constantsFirstLast.FIRST_CARD_TYPE
33004
33088
  local LAST_VANILLA_CARD_TYPE = ____constantsFirstLast.LAST_VANILLA_CARD_TYPE
@@ -33008,6 +33092,8 @@ local DEFAULT_CARD_DESCRIPTION = ____cardDescriptions.DEFAULT_CARD_DESCRIPTION
33008
33092
  local ____cardNames = require("src.objects.cardNames")
33009
33093
  local CARD_NAMES = ____cardNames.CARD_NAMES
33010
33094
  local DEFAULT_CARD_NAME = ____cardNames.DEFAULT_CARD_NAME
33095
+ local ____itemConfigCardTypesForCardsSet = require("src.sets.itemConfigCardTypesForCardsSet")
33096
+ local ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET = ____itemConfigCardTypesForCardsSet.ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET
33011
33097
  local ____utils = require("src.functions.utils")
33012
33098
  local iRange = ____utils.iRange
33013
33099
  function ____exports.isVanillaCardType(self, cardType)
@@ -33050,7 +33136,7 @@ function ____exports.isCard(self, cardType)
33050
33136
  if itemConfigCardType == nil then
33051
33137
  return false
33052
33138
  end
33053
- return ITEM_CONFIG_CARD_TYPES_FOR_CARDS:has(itemConfigCardType)
33139
+ return ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET:has(itemConfigCardType)
33054
33140
  end
33055
33141
  function ____exports.isCardType(self, cardType, itemConfigCardType)
33056
33142
  return itemConfigCardType == ____exports.getItemConfigCardType(nil, cardType)
@@ -33341,11 +33427,11 @@ return ____exports
33341
33427
  end,
33342
33428
  ["src.classes.features.other.ModdedElementSets"] = function(...)
33343
33429
  local ____lualib = require("lualib_bundle")
33344
- local Map = ____lualib.Map
33345
33430
  local __TS__New = ____lualib.__TS__New
33346
33431
  local __TS__Class = ____lualib.__TS__Class
33347
33432
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
33348
33433
  local Set = ____lualib.Set
33434
+ local Map = ____lualib.Map
33349
33435
  local __TS__Iterator = ____lualib.__TS__Iterator
33350
33436
  local __TS__Decorate = ____lualib.__TS__Decorate
33351
33437
  local ____exports = {}
@@ -33361,7 +33447,6 @@ local ____cachedClasses = require("src.core.cachedClasses")
33361
33447
  local itemConfig = ____cachedClasses.itemConfig
33362
33448
  local ____constants = require("src.core.constants")
33363
33449
  local FIRST_GLITCHED_COLLECTIBLE_TYPE = ____constants.FIRST_GLITCHED_COLLECTIBLE_TYPE
33364
- local ITEM_CONFIG_CARD_TYPES_FOR_CARDS = ____constants.ITEM_CONFIG_CARD_TYPES_FOR_CARDS
33365
33450
  local ____decorators = require("src.decorators")
33366
33451
  local Exported = ____decorators.Exported
33367
33452
  local ____ISCFeature = require("src.enums.ISCFeature")
@@ -33393,10 +33478,14 @@ local getVanillaTrinketTypeRange = ____trinkets.getVanillaTrinketTypeRange
33393
33478
  local trinketHasCacheFlag = ____trinkets.trinketHasCacheFlag
33394
33479
  local ____utils = require("src.functions.utils")
33395
33480
  local ____repeat = ____utils["repeat"]
33481
+ local ____itemConfigCardTypesForCardsSet = require("src.sets.itemConfigCardTypesForCardsSet")
33482
+ local ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET = ____itemConfigCardTypesForCardsSet.ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET
33483
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
33484
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
33396
33485
  local ____Feature = require("src.classes.private.Feature")
33397
33486
  local Feature = ____Feature.Feature
33398
33487
  local CONDITIONAL_FLYING_COLLECTIBLE_TYPES = {CollectibleType.BIBLE, CollectibleType.EMPTY_VESSEL, CollectibleType.ASTRAL_PROJECTION, CollectibleType.RECALL}
33399
- local TRANSFORMATION_TO_TAG_MAP = __TS__New(Map, {
33488
+ local TRANSFORMATION_TO_TAG_MAP = __TS__New(ReadonlyMap, {
33400
33489
  {PlayerForm.GUPPY, ItemConfigTag.GUPPY},
33401
33490
  {PlayerForm.BEELZEBUB, ItemConfigTag.FLY},
33402
33491
  {PlayerForm.FUN_GUY, ItemConfigTag.MUSHROOM},
@@ -33683,7 +33772,7 @@ function ModdedElementSets.prototype.lazyInitCardTypes(self)
33683
33772
  error("Failed to get the card set for item config card type: " .. tostring(itemConfigCardType))
33684
33773
  end
33685
33774
  cardTypeSet:add(cardType)
33686
- if ITEM_CONFIG_CARD_TYPES_FOR_CARDS:has(itemConfigCardType) then
33775
+ if ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET:has(itemConfigCardType) then
33687
33776
  self.cardSet:add(cardType)
33688
33777
  end
33689
33778
  end
@@ -34239,14 +34328,15 @@ return ____exports
34239
34328
  end,
34240
34329
  ["src.functions.slots"] = function(...)
34241
34330
  local ____lualib = require("lualib_bundle")
34242
- local Set = ____lualib.Set
34243
34331
  local __TS__New = ____lualib.__TS__New
34244
34332
  local ____exports = {}
34245
34333
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
34246
34334
  local SlotVariant = ____isaac_2Dtypescript_2Ddefinitions.SlotVariant
34335
+ local ____ReadonlySet = require("src.types.ReadonlySet")
34336
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
34247
34337
  local ____entityTypes = require("src.functions.entityTypes")
34248
34338
  local isSlot = ____entityTypes.isSlot
34249
- local SLOT_MACHINE_VARIANTS = __TS__New(Set, {
34339
+ local SLOT_MACHINE_VARIANTS = __TS__New(ReadonlySet, {
34250
34340
  SlotVariant.SLOT_MACHINE,
34251
34341
  SlotVariant.BLOOD_DONATION_MACHINE,
34252
34342
  SlotVariant.FORTUNE_TELLING_MACHINE,
@@ -34455,12 +34545,13 @@ return ____exports
34455
34545
  end,
34456
34546
  ["src.sets.chestPickupVariantsSet"] = function(...)
34457
34547
  local ____lualib = require("lualib_bundle")
34458
- local Set = ____lualib.Set
34459
34548
  local __TS__New = ____lualib.__TS__New
34460
34549
  local ____exports = {}
34461
34550
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
34462
34551
  local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
34463
- ____exports.CHEST_PICKUP_VARIANTS = __TS__New(Set, {
34552
+ local ____ReadonlySet = require("src.types.ReadonlySet")
34553
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
34554
+ ____exports.CHEST_PICKUP_VARIANTS = __TS__New(ReadonlySet, {
34464
34555
  PickupVariant.CHEST,
34465
34556
  PickupVariant.BOMB_CHEST,
34466
34557
  PickupVariant.SPIKED_CHEST,
@@ -34478,12 +34569,13 @@ return ____exports
34478
34569
  end,
34479
34570
  ["src.sets.redHeartSubTypesSet"] = function(...)
34480
34571
  local ____lualib = require("lualib_bundle")
34481
- local Set = ____lualib.Set
34482
34572
  local __TS__New = ____lualib.__TS__New
34483
34573
  local ____exports = {}
34484
34574
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
34485
34575
  local HeartSubType = ____isaac_2Dtypescript_2Ddefinitions.HeartSubType
34486
- ____exports.RED_HEART_SUB_TYPES_SET = __TS__New(Set, {HeartSubType.FULL, HeartSubType.HALF, HeartSubType.DOUBLE_PACK})
34576
+ local ____ReadonlySet = require("src.types.ReadonlySet")
34577
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
34578
+ ____exports.RED_HEART_SUB_TYPES_SET = __TS__New(ReadonlySet, {HeartSubType.FULL, HeartSubType.HALF, HeartSubType.DOUBLE_PACK})
34487
34579
  return ____exports
34488
34580
  end,
34489
34581
  ["src.functions.pickupsSpecific"] = function(...)
@@ -35100,16 +35192,17 @@ return ____exports
35100
35192
  end,
35101
35193
  ["src.maps.defaultPlayerStatMap"] = function(...)
35102
35194
  local ____lualib = require("lualib_bundle")
35103
- local Map = ____lualib.Map
35104
35195
  local __TS__New = ____lualib.__TS__New
35105
35196
  local ____exports = {}
35106
35197
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
35107
35198
  local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
35108
35199
  local ____tears = require("src.functions.tears")
35109
35200
  local getTearsStat = ____tears.getTearsStat
35201
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
35202
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
35110
35203
  local DEFAULT_MAX_FIRE_DELAY = 10
35111
35204
  ____exports.DEFAULT_PLAYER_STAT_MAP = __TS__New(
35112
- Map,
35205
+ ReadonlyMap,
35113
35206
  {
35114
35207
  {CacheFlag.DAMAGE, 3.5},
35115
35208
  {
@@ -35126,16 +35219,17 @@ return ____exports
35126
35219
  end,
35127
35220
  ["src.functions.stats"] = function(...)
35128
35221
  local ____lualib = require("lualib_bundle")
35129
- local Set = ____lualib.Set
35130
35222
  local __TS__New = ____lualib.__TS__New
35131
35223
  local ____exports = {}
35132
35224
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
35133
35225
  local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
35134
35226
  local ____defaultPlayerStatMap = require("src.maps.defaultPlayerStatMap")
35135
35227
  local DEFAULT_PLAYER_STAT_MAP = ____defaultPlayerStatMap.DEFAULT_PLAYER_STAT_MAP
35228
+ local ____ReadonlySet = require("src.types.ReadonlySet")
35229
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
35136
35230
  local ____tears = require("src.functions.tears")
35137
35231
  local addTearsStat = ____tears.addTearsStat
35138
- local STAT_CACHE_FLAGS_SET = __TS__New(Set, {
35232
+ local STAT_CACHE_FLAGS_SET = __TS__New(ReadonlySet, {
35139
35233
  CacheFlag.DAMAGE,
35140
35234
  CacheFlag.FIRE_DELAY,
35141
35235
  CacheFlag.SHOT_SPEED,
@@ -35290,7 +35384,6 @@ return ____exports
35290
35384
  end,
35291
35385
  ["src.functions.serialization"] = function(...)
35292
35386
  local ____lualib = require("lualib_bundle")
35293
- local Set = ____lualib.Set
35294
35387
  local __TS__New = ____lualib.__TS__New
35295
35388
  local __TS__TypeOf = ____lualib.__TS__TypeOf
35296
35389
  local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
@@ -35305,6 +35398,8 @@ local ____isaacAPIClassTypeToBrand = require("src.objects.isaacAPIClassTypeToBra
35305
35398
  local ISAAC_API_CLASS_TYPE_TO_BRAND = ____isaacAPIClassTypeToBrand.ISAAC_API_CLASS_TYPE_TO_BRAND
35306
35399
  local ____isaacAPIClassTypeToFunctions = require("src.objects.isaacAPIClassTypeToFunctions")
35307
35400
  local ISAAC_API_CLASS_TYPE_TO_FUNCTIONS = ____isaacAPIClassTypeToFunctions.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS
35401
+ local ____ReadonlySet = require("src.types.ReadonlySet")
35402
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
35308
35403
  local ____enums = require("src.functions.enums")
35309
35404
  local getEnumValues = ____enums.getEnumValues
35310
35405
  local ____isaacAPIClass = require("src.functions.isaacAPIClass")
@@ -35324,7 +35419,7 @@ function getSerializedTableType(self, serializedIsaacAPIClass)
35324
35419
  return nil
35325
35420
  end
35326
35421
  local SERIALIZATION_BRANDS = getEnumValues(nil, SerializationBrand)
35327
- local SERIALIZATION_BRAND_SET = __TS__New(Set, SERIALIZATION_BRANDS)
35422
+ local SERIALIZATION_BRAND_SET = __TS__New(ReadonlySet, SERIALIZATION_BRANDS)
35328
35423
  function ____exports.copyIsaacAPIClass(self, isaacAPIClass)
35329
35424
  if not isUserdata(nil, isaacAPIClass) then
35330
35425
  error("Failed to copy an Isaac API class since the provided object was of type: " .. __TS__TypeOf(isaacAPIClass))
@@ -36752,7 +36847,6 @@ return ____exports
36752
36847
  end,
36753
36848
  ["src.classes.features.other.saveDataManager.restoreDefaults"] = function(...)
36754
36849
  local ____lualib = require("lualib_bundle")
36755
- local Set = ____lualib.Set
36756
36850
  local __TS__New = ____lualib.__TS__New
36757
36851
  local __TS__Iterator = ____lualib.__TS__Iterator
36758
36852
  local ____exports = {}
@@ -36768,6 +36862,8 @@ local logError = ____logMisc.logError
36768
36862
  local ____table = require("src.functions.table")
36769
36863
  local clearTable = ____table.clearTable
36770
36864
  local iterateTableInOrder = ____table.iterateTableInOrder
36865
+ local ____ReadonlySet = require("src.types.ReadonlySet")
36866
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
36771
36867
  local ____constants = require("src.classes.features.other.saveDataManager.constants")
36772
36868
  local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
36773
36869
  function ____exports.restoreDefaultsForAllFeaturesKey(self, saveDataMap, saveDataDefaultsMap, saveDataKey)
@@ -36813,7 +36909,7 @@ function clearAndCopyAllElements(self, oldTable, newTable)
36813
36909
  oldTable[key] = value
36814
36910
  end
36815
36911
  end
36816
- RESETTABLE_SAVE_DATA_KEYS = __TS__New(Set, {SaveDataKey.RUN, SaveDataKey.LEVEL, SaveDataKey.ROOM})
36912
+ RESETTABLE_SAVE_DATA_KEYS = __TS__New(ReadonlySet, {SaveDataKey.RUN, SaveDataKey.LEVEL, SaveDataKey.ROOM})
36817
36913
  function ____exports.restoreDefaultsForAllFeaturesAndKeys(self, saveDataMap, saveDataDefaultsMap)
36818
36914
  for ____, saveDataKey in __TS__Iterator(RESETTABLE_SAVE_DATA_KEYS) do
36819
36915
  ____exports.restoreDefaultsForAllFeaturesKey(nil, saveDataMap, saveDataDefaultsMap, saveDataKey)
@@ -36871,7 +36967,6 @@ return ____exports
36871
36967
  end,
36872
36968
  ["src.classes.features.other.SaveDataManager"] = function(...)
36873
36969
  local ____lualib = require("lualib_bundle")
36874
- local Set = ____lualib.Set
36875
36970
  local __TS__New = ____lualib.__TS__New
36876
36971
  local __TS__Class = ____lualib.__TS__Class
36877
36972
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
@@ -36902,6 +36997,8 @@ local isTSTLClass = ____tstlClass.isTSTLClass
36902
36997
  local ____types = require("src.functions.types")
36903
36998
  local isString = ____types.isString
36904
36999
  local isTable = ____types.isTable
37000
+ local ____ReadonlySet = require("src.types.ReadonlySet")
37001
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
36905
37002
  local ____Feature = require("src.classes.private.Feature")
36906
37003
  local Feature = ____Feature.Feature
36907
37004
  local ____glowingHourGlass = require("src.classes.features.other.saveDataManager.glowingHourGlass")
@@ -36915,7 +37012,7 @@ local restoreDefaultsForAllFeaturesAndKeys = ____restoreDefaults.restoreDefaults
36915
37012
  local restoreDefaultsForAllFeaturesKey = ____restoreDefaults.restoreDefaultsForAllFeaturesKey
36916
37013
  local ____saveToDisk = require("src.classes.features.other.saveDataManager.saveToDisk")
36917
37014
  local saveToDisk = ____saveToDisk.saveToDisk
36918
- local NON_USER_DEFINED_CLASS_NAMES = __TS__New(Set, {"Map", "Set", "DefaultMap"})
37015
+ local NON_USER_DEFINED_CLASS_NAMES = __TS__New(ReadonlySet, {"Map", "Set", "DefaultMap"})
36919
37016
  ____exports.SaveDataManager = __TS__Class()
36920
37017
  local SaveDataManager = ____exports.SaveDataManager
36921
37018
  SaveDataManager.name = "SaveDataManager"
@@ -37327,12 +37424,13 @@ return ____exports
37327
37424
  end,
37328
37425
  ["src.maps.keyboardToString"] = function(...)
37329
37426
  local ____lualib = require("lualib_bundle")
37330
- local Map = ____lualib.Map
37331
37427
  local __TS__New = ____lualib.__TS__New
37332
37428
  local ____exports = {}
37333
37429
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
37334
37430
  local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
37335
- ____exports.KEYBOARD_TO_STRING = __TS__New(Map, {
37431
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
37432
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
37433
+ ____exports.KEYBOARD_TO_STRING = __TS__New(ReadonlyMap, {
37336
37434
  {Keyboard.SPACE, {" ", " "}},
37337
37435
  {Keyboard.APOSTROPHE, {"'", "\""}},
37338
37436
  {Keyboard.COMMA, {",", "<"}},
@@ -37401,7 +37499,6 @@ return ____exports
37401
37499
  end,
37402
37500
  ["src.functions.input"] = function(...)
37403
37501
  local ____lualib = require("lualib_bundle")
37404
- local Set = ____lualib.Set
37405
37502
  local __TS__New = ____lualib.__TS__New
37406
37503
  local __TS__ArraySome = ____lualib.__TS__ArraySome
37407
37504
  local ____exports = {}
@@ -37412,6 +37509,8 @@ local ControllerIndex = ____isaac_2Dtypescript_2Ddefinitions.ControllerIndex
37412
37509
  local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
37413
37510
  local ____keyboardToString = require("src.maps.keyboardToString")
37414
37511
  local KEYBOARD_TO_STRING = ____keyboardToString.KEYBOARD_TO_STRING
37512
+ local ____ReadonlySet = require("src.types.ReadonlySet")
37513
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
37415
37514
  local ____enums = require("src.functions.enums")
37416
37515
  local getEnumValues = ____enums.getEnumValues
37417
37516
  local ____string = require("src.functions.string")
@@ -37427,9 +37526,9 @@ local MODIFIER_KEYS = {
37427
37526
  Keyboard.RIGHT_SUPER
37428
37527
  }
37429
37528
  local MOVEMENT_ACTIONS = {ButtonAction.LEFT, ButtonAction.RIGHT, ButtonAction.UP, ButtonAction.DOWN}
37430
- ____exports.MOVEMENT_ACTIONS_SET = __TS__New(Set, MOVEMENT_ACTIONS)
37529
+ ____exports.MOVEMENT_ACTIONS_SET = __TS__New(ReadonlySet, MOVEMENT_ACTIONS)
37431
37530
  local SHOOTING_ACTIONS = {ButtonAction.SHOOT_LEFT, ButtonAction.SHOOT_RIGHT, ButtonAction.SHOOT_UP, ButtonAction.SHOOT_DOWN}
37432
- ____exports.SHOOTING_ACTIONS_SET = __TS__New(Set, SHOOTING_ACTIONS)
37531
+ ____exports.SHOOTING_ACTIONS_SET = __TS__New(ReadonlySet, SHOOTING_ACTIONS)
37433
37532
  function ____exports.controllerToString(self, controller)
37434
37533
  local key = Controller[controller]
37435
37534
  if key == nil then
@@ -38206,7 +38305,6 @@ return ____exports
38206
38305
  end,
38207
38306
  ["src.classes.features.other.customStages.backdrop"] = function(...)
38208
38307
  local ____lualib = require("lualib_bundle")
38209
- local Set = ____lualib.Set
38210
38308
  local __TS__New = ____lualib.__TS__New
38211
38309
  local ____exports = {}
38212
38310
  local getBackdropPNGPath, spawnWallEntity, spawnSecondWallEntity, spawnFloorEntity, getNumFloorLayers, BackdropKind, DEFAULT_BACKDROP, ROOM_SHAPE_WALL_ANM2_LAYERS, ROOM_SHAPE_WALL_EXTRA_ANM2_LAYERS, WALL_OFFSET, L_FLOOR_ANM2_LAYERS, N_FLOOR_ANM2_LAYERS, BACKDROP_EFFECT_VARIANT, BACKDROP_EFFECT_SUB_TYPE
@@ -38236,6 +38334,8 @@ local trimPrefix = ____string.trimPrefix
38236
38334
  local ____utils = require("src.functions.utils")
38237
38335
  local eRange = ____utils.eRange
38238
38336
  local iRange = ____utils.iRange
38337
+ local ____ReadonlySet = require("src.types.ReadonlySet")
38338
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
38239
38339
  local ____constants = require("src.classes.features.other.customStages.constants")
38240
38340
  local ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = ____constants.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH
38241
38341
  function getBackdropPNGPath(self, customStage, backdropKind, rng)
@@ -38391,7 +38491,7 @@ L_FLOOR_ANM2_LAYERS = {16, 17}
38391
38491
  N_FLOOR_ANM2_LAYERS = {18, 19}
38392
38492
  BACKDROP_EFFECT_VARIANT = EffectVariant.LADDER
38393
38493
  BACKDROP_EFFECT_SUB_TYPE = LadderSubTypeCustom.CUSTOM_BACKDROP
38394
- local BACKDROP_ROOM_TYPE_SET = __TS__New(Set, {RoomType.DEFAULT, RoomType.BOSS, RoomType.MINI_BOSS})
38494
+ local BACKDROP_ROOM_TYPE_SET = __TS__New(ReadonlySet, {RoomType.DEFAULT, RoomType.BOSS, RoomType.MINI_BOSS})
38395
38495
  function ____exports.setCustomStageBackdrop(self, customStage)
38396
38496
  local room = game:GetRoom()
38397
38497
  local roomType = room:GetType()
@@ -38557,12 +38657,13 @@ return ____exports
38557
38657
  end,
38558
38658
  ["src.sets.familiarsThatShootPlayerTearsSet"] = function(...)
38559
38659
  local ____lualib = require("lualib_bundle")
38560
- local Set = ____lualib.Set
38561
38660
  local __TS__New = ____lualib.__TS__New
38562
38661
  local ____exports = {}
38563
38662
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
38564
38663
  local FamiliarVariant = ____isaac_2Dtypescript_2Ddefinitions.FamiliarVariant
38565
- ____exports.FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET = __TS__New(Set, {
38664
+ local ____ReadonlySet = require("src.types.ReadonlySet")
38665
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
38666
+ ____exports.FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET = __TS__New(ReadonlySet, {
38566
38667
  FamiliarVariant.SCISSORS,
38567
38668
  FamiliarVariant.INCUBUS,
38568
38669
  FamiliarVariant.FATES_REWARD,
@@ -39287,11 +39388,11 @@ return ____exports
39287
39388
  end,
39288
39389
  ["src.classes.features.other.CustomTrapdoors"] = function(...)
39289
39390
  local ____lualib = require("lualib_bundle")
39290
- local Set = ____lualib.Set
39291
39391
  local __TS__New = ____lualib.__TS__New
39292
39392
  local __TS__Class = ____lualib.__TS__Class
39293
39393
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
39294
39394
  local Map = ____lualib.Map
39395
+ local Set = ____lualib.Set
39295
39396
  local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
39296
39397
  local __TS__Decorate = ____lualib.__TS__Decorate
39297
39398
  local __TS__ArraySome = ____lualib.__TS__ArraySome
@@ -39351,6 +39452,8 @@ local ____tstlClass = require("src.functions.tstlClass")
39351
39452
  local getTSTLClassName = ____tstlClass.getTSTLClassName
39352
39453
  local ____vector = require("src.functions.vector")
39353
39454
  local isVector = ____vector.isVector
39455
+ local ____ReadonlySet = require("src.types.ReadonlySet")
39456
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
39354
39457
  local ____DefaultMap = require("src.classes.DefaultMap")
39355
39458
  local DefaultMap = ____DefaultMap.DefaultMap
39356
39459
  local ____Feature = require("src.classes.private.Feature")
@@ -39403,7 +39506,7 @@ local TRAPDOOR_OPEN_DISTANCE = 60
39403
39506
  local TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS = TRAPDOOR_OPEN_DISTANCE * 2.5
39404
39507
  local TRAPDOOR_BOSS_REACTION_FRAMES = 30
39405
39508
  local TRAPDOOR_TOUCH_DISTANCE = 16.5
39406
- ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL = __TS__New(Set, {"Death", "Happy", "Sad", "Jump"})
39509
+ ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL = __TS__New(ReadonlySet, {"Death", "Happy", "Sad", "Jump"})
39407
39510
  local PIXELATION_TO_BLACK_FRAMES = 60
39408
39511
  local OTHER_PLAYER_TRAPDOOR_JUMP_DELAY_GAME_FRAMES = 6
39409
39512
  local OTHER_PLAYER_TRAPDOOR_JUMP_DURATION_GAME_FRAMES = 5
@@ -40465,13 +40568,12 @@ return ____exports
40465
40568
  end,
40466
40569
  ["src.sets.bossSets"] = function(...)
40467
40570
  local ____lualib = require("lualib_bundle")
40468
- local Set = ____lualib.Set
40469
40571
  local __TS__New = ____lualib.__TS__New
40470
40572
  local __TS__Spread = ____lualib.__TS__Spread
40471
40573
  local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
40472
40574
  local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
40473
40575
  local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
40474
- local Map = ____lualib.Map
40576
+ local Set = ____lualib.Set
40475
40577
  local ____exports = {}
40476
40578
  local getAllBossesExcludingStoryBossesSet
40477
40579
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -40508,6 +40610,10 @@ local ____entities = require("src.functions.entities")
40508
40610
  local parseEntityTypeVariantString = ____entities.parseEntityTypeVariantString
40509
40611
  local ____set = require("src.functions.set")
40510
40612
  local copySet = ____set.copySet
40613
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
40614
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
40615
+ local ____ReadonlySet = require("src.types.ReadonlySet")
40616
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
40511
40617
  local ____storyBossesSet = require("src.sets.storyBossesSet")
40512
40618
  local STORY_BOSSES_SET = ____storyBossesSet.STORY_BOSSES_SET
40513
40619
  function getAllBossesExcludingStoryBossesSet(self)
@@ -40526,7 +40632,7 @@ function getAllBossesExcludingStoryBossesSet(self)
40526
40632
  return allBossesExcludingStoryBossesSet
40527
40633
  end
40528
40634
  local BASEMENT_BOSSES_SET = __TS__New(
40529
- Set,
40635
+ ReadonlySet,
40530
40636
  {
40531
40637
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.LARRY_JR),
40532
40638
  tostring(EntityType.MONSTRO) .. ".0",
@@ -40545,7 +40651,7 @@ local BASEMENT_BOSSES_SET = __TS__New(
40545
40651
  }
40546
40652
  )
40547
40653
  local CELLAR_BOSSES_SET = __TS__New(
40548
- Set,
40654
+ ReadonlySet,
40549
40655
  {
40550
40656
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.PIN),
40551
40657
  tostring(EntityType.FAMINE) .. ".0",
@@ -40561,7 +40667,7 @@ local CELLAR_BOSSES_SET = __TS__New(
40561
40667
  }
40562
40668
  )
40563
40669
  local BURNING_BASEMENT_BOSSES_SET = __TS__New(
40564
- Set,
40670
+ ReadonlySet,
40565
40671
  {
40566
40672
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.LARRY_JR),
40567
40673
  tostring(EntityType.MONSTRO) .. ".0",
@@ -40581,7 +40687,7 @@ local BURNING_BASEMENT_BOSSES_SET = __TS__New(
40581
40687
  }
40582
40688
  )
40583
40689
  local DOWNPOUR_BOSSES_SET = __TS__New(
40584
- Set,
40690
+ ReadonlySet,
40585
40691
  {
40586
40692
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.WORMWOOD),
40587
40693
  tostring(EntityType.LIL_BLUB) .. ".0",
@@ -40590,7 +40696,7 @@ local DOWNPOUR_BOSSES_SET = __TS__New(
40590
40696
  }
40591
40697
  )
40592
40698
  local DROSS_BOSSES_SET = __TS__New(
40593
- Set,
40699
+ ReadonlySet,
40594
40700
  {
40595
40701
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.WORMWOOD),
40596
40702
  tostring(EntityType.LIL_BLUB) .. ".0",
@@ -40599,7 +40705,7 @@ local DROSS_BOSSES_SET = __TS__New(
40599
40705
  tostring(EntityType.TURDLET) .. ".0"
40600
40706
  }
40601
40707
  )
40602
- local ____Set_1 = Set
40708
+ local ____ReadonlySet_1 = ReadonlySet
40603
40709
  local ____array_0 = __TS__SparseArrayNew(__TS__Spread(BASEMENT_BOSSES_SET:values()))
40604
40710
  __TS__SparseArrayPush(
40605
40711
  ____array_0,
@@ -40618,10 +40724,10 @@ __TS__SparseArrayPush(
40618
40724
  __TS__Spread(DROSS_BOSSES_SET:values())
40619
40725
  )
40620
40726
  local ALL_BASEMENT_BOSSES_SET = __TS__New(
40621
- ____Set_1,
40727
+ ____ReadonlySet_1,
40622
40728
  {__TS__SparseArraySpread(____array_0)}
40623
40729
  )
40624
- local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40730
+ local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40625
40731
  {StageType.ORIGINAL, BASEMENT_BOSSES_SET},
40626
40732
  {StageType.WRATH_OF_THE_LAMB, CELLAR_BOSSES_SET},
40627
40733
  {StageType.AFTERBIRTH, BURNING_BASEMENT_BOSSES_SET},
@@ -40629,7 +40735,7 @@ local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40629
40735
  {StageType.REPENTANCE_B, DROSS_BOSSES_SET}
40630
40736
  })
40631
40737
  local CAVES_BOSSES_SET = __TS__New(
40632
- Set,
40738
+ ReadonlySet,
40633
40739
  {
40634
40740
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHUB),
40635
40741
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHAD),
@@ -40649,7 +40755,7 @@ local CAVES_BOSSES_SET = __TS__New(
40649
40755
  }
40650
40756
  )
40651
40757
  local CATACOMBS_BOSSES_SET = __TS__New(
40652
- Set,
40758
+ ReadonlySet,
40653
40759
  {
40654
40760
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.THE_HOLLOW),
40655
40761
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CARRION_QUEEN),
@@ -40670,7 +40776,7 @@ local CATACOMBS_BOSSES_SET = __TS__New(
40670
40776
  }
40671
40777
  )
40672
40778
  local FLOODED_CAVES_BOSSES_SET = __TS__New(
40673
- Set,
40779
+ ReadonlySet,
40674
40780
  {
40675
40781
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHUB),
40676
40782
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHAD),
@@ -40692,7 +40798,7 @@ local FLOODED_CAVES_BOSSES_SET = __TS__New(
40692
40798
  }
40693
40799
  )
40694
40800
  local MINES_BOSSES_SET = __TS__New(
40695
- Set,
40801
+ ReadonlySet,
40696
40802
  {
40697
40803
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.TUFF_TWIN),
40698
40804
  tostring(EntityType.REAP_CREEP) .. ".0",
@@ -40701,7 +40807,7 @@ local MINES_BOSSES_SET = __TS__New(
40701
40807
  }
40702
40808
  )
40703
40809
  local ASHPIT_BOSSES_SET = __TS__New(
40704
- Set,
40810
+ ReadonlySet,
40705
40811
  {
40706
40812
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.THE_SHELL),
40707
40813
  (tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.THE_PILE),
@@ -40710,7 +40816,7 @@ local ASHPIT_BOSSES_SET = __TS__New(
40710
40816
  tostring(EntityType.CLUTCH) .. ".0"
40711
40817
  }
40712
40818
  )
40713
- local ____Set_3 = Set
40819
+ local ____ReadonlySet_3 = ReadonlySet
40714
40820
  local ____array_2 = __TS__SparseArrayNew(__TS__Spread(CAVES_BOSSES_SET:values()))
40715
40821
  __TS__SparseArrayPush(
40716
40822
  ____array_2,
@@ -40729,10 +40835,10 @@ __TS__SparseArrayPush(
40729
40835
  __TS__Spread(ASHPIT_BOSSES_SET:values())
40730
40836
  )
40731
40837
  local ALL_CAVES_BOSSES_SET = __TS__New(
40732
- ____Set_3,
40838
+ ____ReadonlySet_3,
40733
40839
  {__TS__SparseArraySpread(____array_2)}
40734
40840
  )
40735
- local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40841
+ local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40736
40842
  {StageType.ORIGINAL, CAVES_BOSSES_SET},
40737
40843
  {StageType.WRATH_OF_THE_LAMB, CATACOMBS_BOSSES_SET},
40738
40844
  {StageType.AFTERBIRTH, FLOODED_CAVES_BOSSES_SET},
@@ -40740,7 +40846,7 @@ local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40740
40846
  {StageType.REPENTANCE_B, ASHPIT_BOSSES_SET}
40741
40847
  })
40742
40848
  local DEPTHS_BOSSES_SET = __TS__New(
40743
- Set,
40849
+ ReadonlySet,
40744
40850
  {
40745
40851
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.MONSTRO_2),
40746
40852
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.GISH),
@@ -40757,7 +40863,7 @@ local DEPTHS_BOSSES_SET = __TS__New(
40757
40863
  }
40758
40864
  )
40759
40865
  local NECROPOLIS_BOSSES_SET = __TS__New(
40760
- Set,
40866
+ ReadonlySet,
40761
40867
  {
40762
40868
  (tostring(EntityType.MOM) .. ".") .. tostring(MomVariant.MOM),
40763
40869
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.WAR),
@@ -40773,7 +40879,7 @@ local NECROPOLIS_BOSSES_SET = __TS__New(
40773
40879
  }
40774
40880
  )
40775
40881
  local DANK_DEPTHS_BOSSES_SET = __TS__New(
40776
- Set,
40882
+ ReadonlySet,
40777
40883
  {
40778
40884
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.MONSTRO_2),
40779
40885
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.GISH),
@@ -40790,7 +40896,7 @@ local DANK_DEPTHS_BOSSES_SET = __TS__New(
40790
40896
  }
40791
40897
  )
40792
40898
  local MAUSOLEUM_BOSSES_SET = __TS__New(
40793
- Set,
40899
+ ReadonlySet,
40794
40900
  {
40795
40901
  (tostring(EntityType.MOM) .. ".") .. tostring(MomVariant.MOM),
40796
40902
  tostring(EntityType.SIREN) .. ".0",
@@ -40798,14 +40904,14 @@ local MAUSOLEUM_BOSSES_SET = __TS__New(
40798
40904
  }
40799
40905
  )
40800
40906
  local GEHENNA_BOSSES_SET = __TS__New(
40801
- Set,
40907
+ ReadonlySet,
40802
40908
  {
40803
40909
  (tostring(EntityType.MOM) .. ".") .. tostring(MomVariant.MOM),
40804
40910
  tostring(EntityType.VISAGE) .. ".0",
40805
40911
  tostring(EntityType.HORNY_BOYS) .. ".0"
40806
40912
  }
40807
40913
  )
40808
- local ____Set_5 = Set
40914
+ local ____ReadonlySet_5 = ReadonlySet
40809
40915
  local ____array_4 = __TS__SparseArrayNew(__TS__Spread(DEPTHS_BOSSES_SET:values()))
40810
40916
  __TS__SparseArrayPush(
40811
40917
  ____array_4,
@@ -40824,10 +40930,10 @@ __TS__SparseArrayPush(
40824
40930
  __TS__Spread(GEHENNA_BOSSES_SET:values())
40825
40931
  )
40826
40932
  local ALL_DEPTHS_BOSSES_SET = __TS__New(
40827
- ____Set_5,
40933
+ ____ReadonlySet_5,
40828
40934
  {__TS__SparseArraySpread(____array_4)}
40829
40935
  )
40830
- local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40936
+ local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40831
40937
  {StageType.ORIGINAL, DEPTHS_BOSSES_SET},
40832
40938
  {StageType.WRATH_OF_THE_LAMB, NECROPOLIS_BOSSES_SET},
40833
40939
  {StageType.AFTERBIRTH, DANK_DEPTHS_BOSSES_SET},
@@ -40835,7 +40941,7 @@ local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40835
40941
  {StageType.REPENTANCE_B, GEHENNA_BOSSES_SET}
40836
40942
  })
40837
40943
  local WOMB_BOSSES_SET = __TS__New(
40838
- Set,
40944
+ ReadonlySet,
40839
40945
  {
40840
40946
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.SCOLEX),
40841
40947
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.CONQUEST),
@@ -40852,7 +40958,7 @@ local WOMB_BOSSES_SET = __TS__New(
40852
40958
  }
40853
40959
  )
40854
40960
  local UTERO_BOSSES_SET = __TS__New(
40855
- Set,
40961
+ ReadonlySet,
40856
40962
  {
40857
40963
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.CONQUEST),
40858
40964
  tostring(EntityType.DEATH) .. ".0",
@@ -40868,7 +40974,7 @@ local UTERO_BOSSES_SET = __TS__New(
40868
40974
  }
40869
40975
  )
40870
40976
  local SCARRED_WOMB_BOSSES_SET = __TS__New(
40871
- Set,
40977
+ ReadonlySet,
40872
40978
  {
40873
40979
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.SCOLEX),
40874
40980
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.CONQUEST),
@@ -40886,7 +40992,7 @@ local SCARRED_WOMB_BOSSES_SET = __TS__New(
40886
40992
  }
40887
40993
  )
40888
40994
  local CORPSE_BOSSES_SET = __TS__New(
40889
- Set,
40995
+ ReadonlySet,
40890
40996
  {
40891
40997
  tostring(EntityType.SCOURGE) .. ".0",
40892
40998
  tostring(EntityType.CHIMERA) .. ".0",
@@ -40894,7 +41000,7 @@ local CORPSE_BOSSES_SET = __TS__New(
40894
41000
  tostring(EntityType.MOTHER) .. ".0"
40895
41001
  }
40896
41002
  )
40897
- local ____Set_7 = Set
41003
+ local ____ReadonlySet_7 = ReadonlySet
40898
41004
  local ____array_6 = __TS__SparseArrayNew(__TS__Spread(WOMB_BOSSES_SET:values()))
40899
41005
  __TS__SparseArrayPush(
40900
41006
  ____array_6,
@@ -40913,54 +41019,54 @@ __TS__SparseArrayPush(
40913
41019
  __TS__Spread(GEHENNA_BOSSES_SET:values())
40914
41020
  )
40915
41021
  local ALL_WOMB_BOSSES_SET = __TS__New(
40916
- ____Set_7,
41022
+ ____ReadonlySet_7,
40917
41023
  {__TS__SparseArraySpread(____array_6)}
40918
41024
  )
40919
- local WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.ORIGINAL, WOMB_BOSSES_SET}, {StageType.WRATH_OF_THE_LAMB, UTERO_BOSSES_SET}, {StageType.AFTERBIRTH, SCARRED_WOMB_BOSSES_SET}, {StageType.REPENTANCE, CORPSE_BOSSES_SET}})
41025
+ local WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {{StageType.ORIGINAL, WOMB_BOSSES_SET}, {StageType.WRATH_OF_THE_LAMB, UTERO_BOSSES_SET}, {StageType.AFTERBIRTH, SCARRED_WOMB_BOSSES_SET}, {StageType.REPENTANCE, CORPSE_BOSSES_SET}})
40920
41026
  local BLUE_WOMB_BOSSES_SET = __TS__New(
40921
- Set,
41027
+ ReadonlySet,
40922
41028
  {tostring(EntityType.HUSH) .. ".0"}
40923
41029
  )
40924
- local BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.ORIGINAL, BLUE_WOMB_BOSSES_SET}})
41030
+ local BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {{StageType.ORIGINAL, BLUE_WOMB_BOSSES_SET}})
40925
41031
  local SHEOL_BOSSES_SET = __TS__New(
40926
- Set,
41032
+ ReadonlySet,
40927
41033
  {(tostring(EntityType.SATAN) .. ".") .. tostring(SatanVariant.SATAN)}
40928
41034
  )
40929
41035
  local CATHEDRAL_BOSSES_SET = __TS__New(
40930
- Set,
41036
+ ReadonlySet,
40931
41037
  {(tostring(EntityType.ISAAC) .. ".") .. tostring(IsaacVariant.ISAAC)}
40932
41038
  )
40933
- local ____Set_9 = Set
41039
+ local ____ReadonlySet_9 = ReadonlySet
40934
41040
  local ____array_8 = __TS__SparseArrayNew(__TS__Spread(SHEOL_BOSSES_SET:values()))
40935
41041
  __TS__SparseArrayPush(
40936
41042
  ____array_8,
40937
41043
  __TS__Spread(CATHEDRAL_BOSSES_SET:values())
40938
41044
  )
40939
41045
  local ALL_STAGE_10_BOSSES_SET = __TS__New(
40940
- ____Set_9,
41046
+ ____ReadonlySet_9,
40941
41047
  {__TS__SparseArraySpread(____array_8)}
40942
41048
  )
40943
- local STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.ORIGINAL, SHEOL_BOSSES_SET}, {StageType.WRATH_OF_THE_LAMB, CATHEDRAL_BOSSES_SET}})
41049
+ local STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {{StageType.ORIGINAL, SHEOL_BOSSES_SET}, {StageType.WRATH_OF_THE_LAMB, CATHEDRAL_BOSSES_SET}})
40944
41050
  local DARK_ROOM_BOSSES_SET = __TS__New(
40945
- Set,
41051
+ ReadonlySet,
40946
41052
  {(tostring(EntityType.THE_LAMB) .. ".") .. tostring(LambVariant.LAMB)}
40947
41053
  )
40948
41054
  local CHEST_BOSSES_SET = __TS__New(
40949
- Set,
41055
+ ReadonlySet,
40950
41056
  {(tostring(EntityType.ISAAC) .. ".") .. tostring(IsaacVariant.BLUE_BABY)}
40951
41057
  )
40952
- local ____Set_11 = Set
41058
+ local ____ReadonlySet_11 = ReadonlySet
40953
41059
  local ____array_10 = __TS__SparseArrayNew(__TS__Spread(DARK_ROOM_BOSSES_SET:values()))
40954
41060
  __TS__SparseArrayPush(
40955
41061
  ____array_10,
40956
41062
  __TS__Spread(CHEST_BOSSES_SET:values())
40957
41063
  )
40958
41064
  local ALL_STAGE_11_BOSSES_SET = __TS__New(
40959
- ____Set_11,
41065
+ ____ReadonlySet_11,
40960
41066
  {__TS__SparseArraySpread(____array_10)}
40961
41067
  )
40962
- local STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.ORIGINAL, DARK_ROOM_BOSSES_SET}, {StageType.WRATH_OF_THE_LAMB, CHEST_BOSSES_SET}})
40963
- ____exports.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
41068
+ local STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {{StageType.ORIGINAL, DARK_ROOM_BOSSES_SET}, {StageType.WRATH_OF_THE_LAMB, CHEST_BOSSES_SET}})
41069
+ ____exports.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40964
41070
  {1, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP},
40965
41071
  {2, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP},
40966
41072
  {3, CAVES_STAGE_TYPE_TO_BOSS_SET_MAP},
@@ -40973,7 +41079,7 @@ ____exports.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40973
41079
  {10, STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP},
40974
41080
  {11, STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP}
40975
41081
  })
40976
- ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(Map, {
41082
+ ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40977
41083
  {1, ALL_BASEMENT_BOSSES_SET},
40978
41084
  {2, ALL_BASEMENT_BOSSES_SET},
40979
41085
  {3, ALL_CAVES_BOSSES_SET},
@@ -40986,7 +41092,7 @@ ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(Map, {
40986
41092
  {10, ALL_STAGE_10_BOSSES_SET},
40987
41093
  {11, ALL_STAGE_11_BOSSES_SET}
40988
41094
  })
40989
- local ____Set_13 = Set
41095
+ local ____ReadonlySet_13 = ReadonlySet
40990
41096
  local ____array_12 = __TS__SparseArrayNew(__TS__Spread(ALL_BASEMENT_BOSSES_SET:values()))
40991
41097
  __TS__SparseArrayPush(
40992
41098
  ____array_12,
@@ -41013,7 +41119,7 @@ __TS__SparseArrayPush(
41013
41119
  __TS__Spread(ALL_STAGE_11_BOSSES_SET:values())
41014
41120
  )
41015
41121
  ____exports.ALL_BOSSES_SET = __TS__New(
41016
- ____Set_13,
41122
+ ____ReadonlySet_13,
41017
41123
  {__TS__SparseArraySpread(____array_12)}
41018
41124
  )
41019
41125
  ____exports.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = getAllBossesExcludingStoryBossesSet(nil)
@@ -41021,12 +41127,13 @@ return ____exports
41021
41127
  end,
41022
41128
  ["src.sets.sinEntityTypesSet"] = function(...)
41023
41129
  local ____lualib = require("lualib_bundle")
41024
- local Set = ____lualib.Set
41025
41130
  local __TS__New = ____lualib.__TS__New
41026
41131
  local ____exports = {}
41027
41132
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
41028
41133
  local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
41029
- ____exports.SIN_ENTITY_TYPES_SET = __TS__New(Set, {
41134
+ local ____ReadonlySet = require("src.types.ReadonlySet")
41135
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
41136
+ ____exports.SIN_ENTITY_TYPES_SET = __TS__New(ReadonlySet, {
41030
41137
  EntityType.SLOTH,
41031
41138
  EntityType.LUST,
41032
41139
  EntityType.WRATH,
@@ -41039,7 +41146,6 @@ return ____exports
41039
41146
  end,
41040
41147
  ["src.functions.npcs"] = function(...)
41041
41148
  local ____lualib = require("lualib_bundle")
41042
- local Set = ____lualib.Set
41043
41149
  local __TS__New = ____lualib.__TS__New
41044
41150
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
41045
41151
  local ____exports = {}
@@ -41063,6 +41169,8 @@ local RaglingVariant = ____isaac_2Dtypescript_2Ddefinitions.RaglingVariant
41063
41169
  local VisVariant = ____isaac_2Dtypescript_2Ddefinitions.VisVariant
41064
41170
  local ____constants = require("src.core.constants")
41065
41171
  local EGGY_STATE_FRAME_OF_FINAL_SPIDER = ____constants.EGGY_STATE_FRAME_OF_FINAL_SPIDER
41172
+ local ____ReadonlySet = require("src.types.ReadonlySet")
41173
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
41066
41174
  local ____entitiesSpecific = require("src.functions.entitiesSpecific")
41067
41175
  local getNPCs = ____entitiesSpecific.getNPCs
41068
41176
  local ____types = require("src.functions.types")
@@ -41103,7 +41211,7 @@ function ____exports.isRaglingDeathPatch(self, npc)
41103
41211
  return npc.Type == EntityType.RAGLING and npc.Variant == asNumber(nil, RaglingVariant.RAG_MANS_RAGLING) and npc.State == NpcState.SPECIAL
41104
41212
  end
41105
41213
  NON_ALIVE_NPCS_TYPE_VARIANT = __TS__New(
41106
- Set,
41214
+ ReadonlySet,
41107
41215
  {
41108
41216
  (tostring(EntityType.VIS) .. ".") .. tostring(VisVariant.CHUBBER_PROJECTILE),
41109
41217
  (tostring(EntityType.DEATH) .. ".") .. tostring(DeathVariant.DEATH_SCYTHE),
@@ -41119,7 +41227,7 @@ NON_ALIVE_NPCS_TYPE_VARIANT = __TS__New(
41119
41227
  }
41120
41228
  )
41121
41229
  NON_ALIVE_NPCS_TYPE_VARIANT_SUB_TYPE = __TS__New(
41122
- Set,
41230
+ ReadonlySet,
41123
41231
  {
41124
41232
  (((tostring(EntityType.CHARGER) .. ".") .. tostring(ChargerVariant.CHARGER)) .. ".") .. tostring(ChargerSubType.MY_SHADOW),
41125
41233
  (((tostring(EntityType.MOTHER) .. ".") .. tostring(MotherVariant.MOTHER_1)) .. ".") .. tostring(MotherSubType.PHASE_2)
@@ -41154,7 +41262,6 @@ return ____exports
41154
41262
  end,
41155
41263
  ["src.functions.bosses"] = function(...)
41156
41264
  local ____lualib = require("lualib_bundle")
41157
- local Set = ____lualib.Set
41158
41265
  local __TS__New = ____lualib.__TS__New
41159
41266
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
41160
41267
  local ____exports = {}
@@ -41171,6 +41278,8 @@ local STAGE_TO_COMBINED_BOSS_SET_MAP = ____bossSets.STAGE_TO_COMBINED_BOSS_SET_M
41171
41278
  local STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = ____bossSets.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP
41172
41279
  local ____sinEntityTypesSet = require("src.sets.sinEntityTypesSet")
41173
41280
  local SIN_ENTITY_TYPES_SET = ____sinEntityTypesSet.SIN_ENTITY_TYPES_SET
41281
+ local ____ReadonlySet = require("src.types.ReadonlySet")
41282
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
41174
41283
  local ____entitiesSpecific = require("src.functions.entitiesSpecific")
41175
41284
  local getNPCs = ____entitiesSpecific.getNPCs
41176
41285
  local spawnNPC = ____entitiesSpecific.spawnNPC
@@ -41213,7 +41322,7 @@ function getNumBossSegments(self, entityType, variant, numSegments)
41213
41322
  end
41214
41323
  until true
41215
41324
  end
41216
- local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(Set, {
41325
+ local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
41217
41326
  EntityType.LARRY_JR,
41218
41327
  EntityType.CHUB,
41219
41328
  EntityType.LOKI,
@@ -41676,35 +41785,37 @@ return ____exports
41676
41785
  local ____exports = {}
41677
41786
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
41678
41787
  local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
41679
- local DEFAULT_COLOR = Color(26 / 255, 14 / 255, 12 / 255)
41788
+ local ____readOnly = require("src.functions.readOnly")
41789
+ local newReadonlyColor = ____readOnly.newReadonlyColor
41790
+ local DEFAULT_COLOR = newReadonlyColor(nil, 26 / 255, 14 / 255, 12 / 255)
41680
41791
  ____exports.VERSUS_SCREEN_BACKGROUND_COLORS = {
41681
41792
  [StageID.SPECIAL_ROOMS] = DEFAULT_COLOR,
41682
- [StageID.BASEMENT] = Color(26 / 255, 14 / 255, 12 / 255),
41683
- [StageID.CELLAR] = Color(26 / 255, 17 / 255, 13 / 255),
41684
- [StageID.BURNING_BASEMENT] = Color(28 / 255, 12 / 255, 10 / 255),
41685
- [StageID.CAVES] = Color(18 / 255, 13 / 255, 8 / 255),
41686
- [StageID.CATACOMBS] = Color(15 / 255, 10 / 255, 8 / 255),
41687
- [StageID.FLOODED_CAVES] = Color(21 / 255, 28 / 255, 35 / 255),
41688
- [StageID.DEPTHS] = Color(8 / 255, 8 / 255, 8 / 255),
41689
- [StageID.NECROPOLIS] = Color(10 / 255, 6 / 255, 6 / 255),
41690
- [StageID.DANK_DEPTHS] = Color(8 / 255, 8 / 255, 8 / 255),
41691
- [StageID.WOMB] = Color(27 / 255, 3 / 255, 3 / 255),
41692
- [StageID.UTERO] = Color(22 / 255, 6 / 255, 5 / 255),
41693
- [StageID.SCARRED_WOMB] = Color(42 / 255, 19 / 255, 10 / 255),
41694
- [StageID.BLUE_WOMB] = Color(26 / 255, 32 / 255, 40 / 255),
41695
- [StageID.SHEOL] = Color(6 / 255, 6 / 255, 6 / 255),
41696
- [StageID.CATHEDRAL] = Color(6 / 255, 13 / 255, 17 / 255),
41697
- [StageID.DARK_ROOM] = Color(9 / 255, 4 / 255, 3 / 255),
41698
- [StageID.CHEST] = Color(15 / 255, 9 / 255, 6 / 255),
41699
- [StageID.VOID] = Color(0, 0, 0),
41700
- [StageID.DOWNPOUR] = Color(29 / 255, 30 / 255, 32 / 255),
41701
- [StageID.DROSS] = Color(35 / 255, 35 / 255, 29 / 255),
41702
- [StageID.MINES] = Color(17 / 255, 15 / 255, 12 / 255),
41703
- [StageID.ASHPIT] = Color(12 / 255, 10 / 255, 10 / 255),
41704
- [StageID.MAUSOLEUM] = Color(14 / 255, 10 / 255, 14 / 255),
41705
- [StageID.GEHENNA] = Color(15 / 255, 4 / 255, 4 / 255),
41706
- [StageID.CORPSE] = Color(13 / 255, 14 / 255, 12 / 255),
41707
- [StageID.MORTIS] = Color(13 / 255, 14 / 255, 12 / 255),
41793
+ [StageID.BASEMENT] = newReadonlyColor(nil, 26 / 255, 14 / 255, 12 / 255),
41794
+ [StageID.CELLAR] = newReadonlyColor(nil, 26 / 255, 17 / 255, 13 / 255),
41795
+ [StageID.BURNING_BASEMENT] = newReadonlyColor(nil, 28 / 255, 12 / 255, 10 / 255),
41796
+ [StageID.CAVES] = newReadonlyColor(nil, 18 / 255, 13 / 255, 8 / 255),
41797
+ [StageID.CATACOMBS] = newReadonlyColor(nil, 15 / 255, 10 / 255, 8 / 255),
41798
+ [StageID.FLOODED_CAVES] = newReadonlyColor(nil, 21 / 255, 28 / 255, 35 / 255),
41799
+ [StageID.DEPTHS] = newReadonlyColor(nil, 8 / 255, 8 / 255, 8 / 255),
41800
+ [StageID.NECROPOLIS] = newReadonlyColor(nil, 10 / 255, 6 / 255, 6 / 255),
41801
+ [StageID.DANK_DEPTHS] = newReadonlyColor(nil, 8 / 255, 8 / 255, 8 / 255),
41802
+ [StageID.WOMB] = newReadonlyColor(nil, 27 / 255, 3 / 255, 3 / 255),
41803
+ [StageID.UTERO] = newReadonlyColor(nil, 22 / 255, 6 / 255, 5 / 255),
41804
+ [StageID.SCARRED_WOMB] = newReadonlyColor(nil, 42 / 255, 19 / 255, 10 / 255),
41805
+ [StageID.BLUE_WOMB] = newReadonlyColor(nil, 26 / 255, 32 / 255, 40 / 255),
41806
+ [StageID.SHEOL] = newReadonlyColor(nil, 6 / 255, 6 / 255, 6 / 255),
41807
+ [StageID.CATHEDRAL] = newReadonlyColor(nil, 6 / 255, 13 / 255, 17 / 255),
41808
+ [StageID.DARK_ROOM] = newReadonlyColor(nil, 9 / 255, 4 / 255, 3 / 255),
41809
+ [StageID.CHEST] = newReadonlyColor(nil, 15 / 255, 9 / 255, 6 / 255),
41810
+ [StageID.VOID] = newReadonlyColor(nil, 0, 0, 0),
41811
+ [StageID.DOWNPOUR] = newReadonlyColor(nil, 29 / 255, 30 / 255, 32 / 255),
41812
+ [StageID.DROSS] = newReadonlyColor(nil, 35 / 255, 35 / 255, 29 / 255),
41813
+ [StageID.MINES] = newReadonlyColor(nil, 17 / 255, 15 / 255, 12 / 255),
41814
+ [StageID.ASHPIT] = newReadonlyColor(nil, 12 / 255, 10 / 255, 10 / 255),
41815
+ [StageID.MAUSOLEUM] = newReadonlyColor(nil, 14 / 255, 10 / 255, 14 / 255),
41816
+ [StageID.GEHENNA] = newReadonlyColor(nil, 15 / 255, 4 / 255, 4 / 255),
41817
+ [StageID.CORPSE] = newReadonlyColor(nil, 13 / 255, 14 / 255, 12 / 255),
41818
+ [StageID.MORTIS] = newReadonlyColor(nil, 13 / 255, 14 / 255, 12 / 255),
41708
41819
  [StageID.HOME] = DEFAULT_COLOR,
41709
41820
  [StageID.BACKWARDS] = DEFAULT_COLOR
41710
41821
  }
@@ -41714,35 +41825,37 @@ return ____exports
41714
41825
  local ____exports = {}
41715
41826
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
41716
41827
  local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
41717
- local DEFAULT_COLOR = Color(201 / 255, 114 / 255, 96 / 255)
41828
+ local ____readOnly = require("src.functions.readOnly")
41829
+ local newReadonlyColor = ____readOnly.newReadonlyColor
41830
+ local DEFAULT_COLOR = newReadonlyColor(nil, 201 / 255, 114 / 255, 96 / 255)
41718
41831
  ____exports.VERSUS_SCREEN_DIRT_SPOT_COLORS = {
41719
41832
  [StageID.SPECIAL_ROOMS] = DEFAULT_COLOR,
41720
- [StageID.BASEMENT] = Color(201 / 255, 114 / 255, 96 / 255),
41721
- [StageID.CELLAR] = Color(229 / 255, 157 / 255, 111 / 255),
41722
- [StageID.BURNING_BASEMENT] = Color(252 / 255, 108 / 255, 90 / 255),
41723
- [StageID.CAVES] = Color(167 / 255, 111 / 255, 75 / 255),
41724
- [StageID.CATACOMBS] = Color(135 / 255, 90 / 255, 80 / 255),
41725
- [StageID.FLOODED_CAVES] = Color(111 / 255, 147 / 255, 180 / 255),
41726
- [StageID.DEPTHS] = Color(70 / 255, 70 / 255, 72 / 255),
41727
- [StageID.NECROPOLIS] = Color(88 / 255, 67 / 255, 54 / 255),
41728
- [StageID.DANK_DEPTHS] = Color(70 / 255, 70 / 255, 72 / 255),
41729
- [StageID.WOMB] = Color(241 / 255, 28 / 255, 28 / 255),
41730
- [StageID.UTERO] = Color(199 / 255, 60 / 255, 48 / 255),
41731
- [StageID.SCARRED_WOMB] = Color(247 / 255, 152 / 255, 88 / 255),
41732
- [StageID.BLUE_WOMB] = Color(157 / 255, 209 / 255, 255 / 255),
41733
- [StageID.SHEOL] = Color(60 / 255, 54 / 255, 54 / 255),
41734
- [StageID.CATHEDRAL] = Color(44 / 255, 100 / 255, 111 / 255),
41735
- [StageID.DARK_ROOM] = Color(80 / 255, 38 / 255, 20 / 255),
41736
- [StageID.CHEST] = Color(175 / 255, 108 / 255, 72 / 255),
41737
- [StageID.VOID] = Color(70 / 255, 5 / 255, 5 / 255),
41738
- [StageID.DOWNPOUR] = Color(149 / 255, 157 / 255, 167 / 255),
41739
- [StageID.DROSS] = Color(179 / 255, 179 / 255, 143 / 255),
41740
- [StageID.MINES] = Color(93 / 255, 85 / 255, 72 / 255),
41741
- [StageID.ASHPIT] = Color(106 / 255, 102 / 255, 94 / 255),
41742
- [StageID.MAUSOLEUM] = Color(70 / 255, 59 / 255, 72 / 255),
41743
- [StageID.GEHENNA] = Color(59 / 255, 41 / 255, 41 / 255),
41744
- [StageID.CORPSE] = Color(124 / 255, 134 / 255, 111 / 255),
41745
- [StageID.MORTIS] = Color(124 / 255, 134 / 255, 111 / 255),
41833
+ [StageID.BASEMENT] = newReadonlyColor(nil, 201 / 255, 114 / 255, 96 / 255),
41834
+ [StageID.CELLAR] = newReadonlyColor(nil, 229 / 255, 157 / 255, 111 / 255),
41835
+ [StageID.BURNING_BASEMENT] = newReadonlyColor(nil, 252 / 255, 108 / 255, 90 / 255),
41836
+ [StageID.CAVES] = newReadonlyColor(nil, 167 / 255, 111 / 255, 75 / 255),
41837
+ [StageID.CATACOMBS] = newReadonlyColor(nil, 135 / 255, 90 / 255, 80 / 255),
41838
+ [StageID.FLOODED_CAVES] = newReadonlyColor(nil, 111 / 255, 147 / 255, 180 / 255),
41839
+ [StageID.DEPTHS] = newReadonlyColor(nil, 70 / 255, 70 / 255, 72 / 255),
41840
+ [StageID.NECROPOLIS] = newReadonlyColor(nil, 88 / 255, 67 / 255, 54 / 255),
41841
+ [StageID.DANK_DEPTHS] = newReadonlyColor(nil, 70 / 255, 70 / 255, 72 / 255),
41842
+ [StageID.WOMB] = newReadonlyColor(nil, 241 / 255, 28 / 255, 28 / 255),
41843
+ [StageID.UTERO] = newReadonlyColor(nil, 199 / 255, 60 / 255, 48 / 255),
41844
+ [StageID.SCARRED_WOMB] = newReadonlyColor(nil, 247 / 255, 152 / 255, 88 / 255),
41845
+ [StageID.BLUE_WOMB] = newReadonlyColor(nil, 157 / 255, 209 / 255, 255 / 255),
41846
+ [StageID.SHEOL] = newReadonlyColor(nil, 60 / 255, 54 / 255, 54 / 255),
41847
+ [StageID.CATHEDRAL] = newReadonlyColor(nil, 44 / 255, 100 / 255, 111 / 255),
41848
+ [StageID.DARK_ROOM] = newReadonlyColor(nil, 80 / 255, 38 / 255, 20 / 255),
41849
+ [StageID.CHEST] = newReadonlyColor(nil, 175 / 255, 108 / 255, 72 / 255),
41850
+ [StageID.VOID] = newReadonlyColor(nil, 70 / 255, 5 / 255, 5 / 255),
41851
+ [StageID.DOWNPOUR] = newReadonlyColor(nil, 149 / 255, 157 / 255, 167 / 255),
41852
+ [StageID.DROSS] = newReadonlyColor(nil, 179 / 255, 179 / 255, 143 / 255),
41853
+ [StageID.MINES] = newReadonlyColor(nil, 93 / 255, 85 / 255, 72 / 255),
41854
+ [StageID.ASHPIT] = newReadonlyColor(nil, 106 / 255, 102 / 255, 94 / 255),
41855
+ [StageID.MAUSOLEUM] = newReadonlyColor(nil, 70 / 255, 59 / 255, 72 / 255),
41856
+ [StageID.GEHENNA] = newReadonlyColor(nil, 59 / 255, 41 / 255, 41 / 255),
41857
+ [StageID.CORPSE] = newReadonlyColor(nil, 124 / 255, 134 / 255, 111 / 255),
41858
+ [StageID.MORTIS] = newReadonlyColor(nil, 124 / 255, 134 / 255, 111 / 255),
41746
41859
  [StageID.HOME] = DEFAULT_COLOR,
41747
41860
  [StageID.BACKWARDS] = DEFAULT_COLOR
41748
41861
  }
@@ -43370,7 +43483,7 @@ local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
43370
43483
  local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
43371
43484
  local Set = ____lualib.Set
43372
43485
  local ____exports = {}
43373
- local getRoomShapeToWallGridIndexSet, getVanillaWallGridIndexSetForRoomShape, getWallGridIndexSetForRectangleRoomShape
43486
+ local getVanillaWallGridIndexSetForRoomShape, getWallGridIndexSetForRectangleRoomShape
43374
43487
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
43375
43488
  local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
43376
43489
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
@@ -43388,14 +43501,6 @@ local inHomeCloset = ____rooms.inHomeCloset
43388
43501
  local ____roomShape = require("src.functions.roomShape")
43389
43502
  local getRoomShapeCorners = ____roomShape.getRoomShapeCorners
43390
43503
  local isLRoom = ____roomShape.isLRoom
43391
- function getRoomShapeToWallGridIndexSet(self)
43392
- local roomShapeToWallGridIndexSet = __TS__New(Map)
43393
- for ____, roomShape in ipairs(getEnumValues(nil, RoomShape)) do
43394
- local gridIndexSet = getVanillaWallGridIndexSetForRoomShape(nil, roomShape)
43395
- roomShapeToWallGridIndexSet:set(roomShape, gridIndexSet)
43396
- end
43397
- return roomShapeToWallGridIndexSet
43398
- end
43399
43504
  function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
43400
43505
  local corners = getRoomShapeCorners(nil, roomShape)
43401
43506
  local lRoom = isLRoom(nil, roomShape)
@@ -43563,7 +43668,14 @@ function getWallGridIndexSetForRectangleRoomShape(self, roomShape, corners)
43563
43668
  {__TS__SparseArraySpread(____array_8)}
43564
43669
  )
43565
43670
  end
43566
- local ROOM_SHAPE_TO_WALL_GRID_INDEX_SET = getRoomShapeToWallGridIndexSet(nil)
43671
+ local ROOM_SHAPE_TO_WALL_GRID_INDEX_SET = (function()
43672
+ local roomShapeToWallGridIndexSet = __TS__New(Map)
43673
+ for ____, roomShape in ipairs(getEnumValues(nil, RoomShape)) do
43674
+ local gridIndexSet = getVanillaWallGridIndexSetForRoomShape(nil, roomShape)
43675
+ roomShapeToWallGridIndexSet:set(roomShape, gridIndexSet)
43676
+ end
43677
+ return roomShapeToWallGridIndexSet
43678
+ end)(nil)
43567
43679
  local HOME_CLOSET_CORNERS = {
43568
43680
  {
43569
43681
  type = CornerType.TOP_LEFT,
@@ -43630,7 +43742,6 @@ return ____exports
43630
43742
  end,
43631
43743
  ["src.functions.emptyRoom"] = function(...)
43632
43744
  local ____lualib = require("lualib_bundle")
43633
- local Set = ____lualib.Set
43634
43745
  local __TS__New = ____lualib.__TS__New
43635
43746
  local ____exports = {}
43636
43747
  local emptyRoomEntities, EMPTY_ROOM_BLACKLIST_ENTITY_SET
@@ -43640,6 +43751,8 @@ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
43640
43751
  local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
43641
43752
  local ____cachedClasses = require("src.core.cachedClasses")
43642
43753
  local game = ____cachedClasses.game
43754
+ local ____ReadonlySet = require("src.types.ReadonlySet")
43755
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
43643
43756
  local ____entities = require("src.functions.entities")
43644
43757
  local getEntities = ____entities.getEntities
43645
43758
  local ____gridEntities = require("src.functions.gridEntities")
@@ -43690,7 +43803,7 @@ function ____exports.emptyRoomGridEntities(self)
43690
43803
  roomUpdateSafe(nil)
43691
43804
  end
43692
43805
  end
43693
- EMPTY_ROOM_BLACKLIST_ENTITY_SET = __TS__New(Set, {
43806
+ EMPTY_ROOM_BLACKLIST_ENTITY_SET = __TS__New(ReadonlySet, {
43694
43807
  EntityType.PLAYER,
43695
43808
  EntityType.TEAR,
43696
43809
  EntityType.FAMILIAR,
@@ -43874,31 +43987,33 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
43874
43987
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
43875
43988
  local ____constants = require("src.core.constants")
43876
43989
  local VectorZero = ____constants.VectorZero
43877
- local TWO_BY_TWO_BOTTOM_RIGHT = Vector(25, 13)
43990
+ local ____readOnly = require("src.functions.readOnly")
43991
+ local newReadonlyVector = ____readOnly.newReadonlyVector
43992
+ local TWO_BY_TWO_BOTTOM_RIGHT = newReadonlyVector(nil, 25, 13)
43878
43993
  ____exports.L_ROOM_SHAPE_TO_RECTANGLES = {
43879
43994
  [RoomShape.LTL] = {
43880
- Vector(13, 0),
43881
- Vector(25, 13),
43882
- Vector(0, 7),
43883
- TWO_BY_TWO_BOTTOM_RIGHT
43995
+ verticalTopLeft = newReadonlyVector(nil, 13, 0),
43996
+ verticalBottomRight = newReadonlyVector(nil, 25, 13),
43997
+ horizontalTopLeft = newReadonlyVector(nil, 0, 7),
43998
+ horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
43884
43999
  },
43885
44000
  [RoomShape.LTR] = {
43886
- VectorZero,
43887
- Vector(12, 13),
43888
- Vector(0, 7),
43889
- TWO_BY_TWO_BOTTOM_RIGHT
44001
+ verticalTopLeft = VectorZero,
44002
+ verticalBottomRight = newReadonlyVector(nil, 12, 13),
44003
+ horizontalTopLeft = newReadonlyVector(nil, 0, 7),
44004
+ horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
43890
44005
  },
43891
44006
  [RoomShape.LBL] = {
43892
- VectorZero,
43893
- Vector(25, 6),
43894
- Vector(13, 0),
43895
- TWO_BY_TWO_BOTTOM_RIGHT
44007
+ verticalTopLeft = VectorZero,
44008
+ verticalBottomRight = newReadonlyVector(nil, 25, 6),
44009
+ horizontalTopLeft = newReadonlyVector(nil, 13, 0),
44010
+ horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
43896
44011
  },
43897
44012
  [RoomShape.LBR] = {
43898
- VectorZero,
43899
- Vector(25, 6),
43900
- VectorZero,
43901
- Vector(12, 13)
44013
+ verticalTopLeft = VectorZero,
44014
+ verticalBottomRight = newReadonlyVector(nil, 25, 6),
44015
+ horizontalTopLeft = VectorZero,
44016
+ horizontalBottomRight = newReadonlyVector(nil, 12, 13)
43902
44017
  }
43903
44018
  }
43904
44019
  return ____exports
@@ -43930,7 +44045,10 @@ function isValidGridPositionLRoom(self, gridPosition, roomShape)
43930
44045
  if rectangles == nil then
43931
44046
  return false
43932
44047
  end
43933
- local verticalTopLeft, verticalBottomRight, horizontalTopLeft, horizontalBottomRight = table.unpack(rectangles)
44048
+ local verticalTopLeft = rectangles.verticalTopLeft
44049
+ local verticalBottomRight = rectangles.verticalBottomRight
44050
+ local horizontalTopLeft = rectangles.horizontalTopLeft
44051
+ local horizontalBottomRight = rectangles.horizontalBottomRight
43934
44052
  return inRectangle(nil, gridPosition, verticalTopLeft, verticalBottomRight) or inRectangle(nil, gridPosition, horizontalTopLeft, horizontalBottomRight)
43935
44053
  end
43936
44054
  function ____exports.gridCoordinatesToWorldPosition(self, x, y)
@@ -44304,7 +44422,6 @@ return ____exports
44304
44422
  end,
44305
44423
  ["src.classes.features.other.DeployJSONRoom"] = function(...)
44306
44424
  local ____lualib = require("lualib_bundle")
44307
- local Set = ____lualib.Set
44308
44425
  local __TS__New = ____lualib.__TS__New
44309
44426
  local __TS__Class = ____lualib.__TS__Class
44310
44427
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
@@ -44355,6 +44472,8 @@ local setRoomUncleared = ____rooms.setRoomUncleared
44355
44472
  local ____types = require("src.functions.types")
44356
44473
  local asCollectibleType = ____types.asCollectibleType
44357
44474
  local asNumber = ____types.asNumber
44475
+ local ____ReadonlySet = require("src.types.ReadonlySet")
44476
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
44358
44477
  local ____Feature = require("src.classes.private.Feature")
44359
44478
  local Feature = ____Feature.Feature
44360
44479
  function spawnGridEntityForJSONRoom(self, gridEntityXMLType, gridEntityXMLVariant, x, y)
@@ -44488,7 +44607,7 @@ function getPitFrame(self, L, R, U, D, UL, UR, DL, DR)
44488
44607
  return F
44489
44608
  end
44490
44609
  local gridEntityXMLTypes = getEnumValues(nil, GridEntityXMLType)
44491
- local GRID_ENTITY_XML_TYPE_SET = __TS__New(Set, gridEntityXMLTypes)
44610
+ local GRID_ENTITY_XML_TYPE_SET = __TS__New(ReadonlySet, gridEntityXMLTypes)
44492
44611
  ____exports.DeployJSONRoom = __TS__Class()
44493
44612
  local DeployJSONRoom = ____exports.DeployJSONRoom
44494
44613
  DeployJSONRoom.name = "DeployJSONRoom"
@@ -45545,12 +45664,13 @@ return ____exports
45545
45664
  end,
45546
45665
  ["src.maps.falsePHDPillConversions"] = function(...)
45547
45666
  local ____lualib = require("lualib_bundle")
45548
- local Map = ____lualib.Map
45549
45667
  local __TS__New = ____lualib.__TS__New
45550
45668
  local ____exports = {}
45551
45669
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
45552
45670
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
45553
- ____exports.FALSE_PHD_PILL_CONVERSIONS = __TS__New(Map, {
45671
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
45672
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
45673
+ ____exports.FALSE_PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
45554
45674
  {PillEffect.BAD_GAS, PillEffect.HEALTH_DOWN},
45555
45675
  {PillEffect.BALLS_OF_STEEL, PillEffect.BAD_TRIP},
45556
45676
  {PillEffect.BOMBS_ARE_KEYS, PillEffect.TEARS_DOWN},
@@ -45586,12 +45706,13 @@ return ____exports
45586
45706
  end,
45587
45707
  ["src.maps.PHDPillConversions"] = function(...)
45588
45708
  local ____lualib = require("lualib_bundle")
45589
- local Map = ____lualib.Map
45590
45709
  local __TS__New = ____lualib.__TS__New
45591
45710
  local ____exports = {}
45592
45711
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
45593
45712
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
45594
- ____exports.PHD_PILL_CONVERSIONS = __TS__New(Map, {
45713
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
45714
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
45715
+ ____exports.PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
45595
45716
  {PillEffect.BAD_TRIP, PillEffect.BALLS_OF_STEEL},
45596
45717
  {PillEffect.HEALTH_DOWN, PillEffect.HEALTH_UP},
45597
45718
  {PillEffect.RANGE_DOWN, PillEffect.RANGE_UP},
@@ -45891,12 +46012,13 @@ return ____exports
45891
46012
  end,
45892
46013
  ["src.maps.cardNameToTypeMap"] = function(...)
45893
46014
  local ____lualib = require("lualib_bundle")
45894
- local Map = ____lualib.Map
45895
46015
  local __TS__New = ____lualib.__TS__New
45896
46016
  local ____exports = {}
45897
46017
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
45898
46018
  local CardType = ____isaac_2Dtypescript_2Ddefinitions.CardType
45899
- ____exports.CARD_NAME_TO_TYPE_MAP = __TS__New(Map, {
46019
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46020
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46021
+ ____exports.CARD_NAME_TO_TYPE_MAP = __TS__New(ReadonlyMap, {
45900
46022
  {"fool", CardType.FOOL},
45901
46023
  {"magician", CardType.MAGICIAN},
45902
46024
  {"mag", CardType.MAGICIAN},
@@ -46104,12 +46226,13 @@ return ____exports
46104
46226
  end,
46105
46227
  ["src.maps.characterNameToTypeMap"] = function(...)
46106
46228
  local ____lualib = require("lualib_bundle")
46107
- local Map = ____lualib.Map
46108
46229
  local __TS__New = ____lualib.__TS__New
46109
46230
  local ____exports = {}
46110
46231
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46111
46232
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
46112
- ____exports.CHARACTER_NAME_TO_TYPE_MAP = __TS__New(Map, {
46233
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46234
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46235
+ ____exports.CHARACTER_NAME_TO_TYPE_MAP = __TS__New(ReadonlyMap, {
46113
46236
  {"isaac", PlayerType.ISAAC},
46114
46237
  {"magdalene", PlayerType.MAGDALENE},
46115
46238
  {"maggy", PlayerType.MAGDALENE},
@@ -46205,24 +46328,27 @@ local ____string = require("src.functions.string")
46205
46328
  local removeNonAlphanumericCharacters = ____string.removeNonAlphanumericCharacters
46206
46329
  local ____collectibleTypeToNameMap = require("src.maps.collectibleTypeToNameMap")
46207
46330
  local COLLECTIBLE_TYPE_TO_NAME_MAP = ____collectibleTypeToNameMap.COLLECTIBLE_TYPE_TO_NAME_MAP
46208
- local collectibleNameToTypeMap = __TS__New(Map)
46209
- for ____, ____value in __TS__Iterator(COLLECTIBLE_TYPE_TO_NAME_MAP) do
46210
- local collectibleType = ____value[1]
46211
- local name = ____value[2]
46212
- local simpleString = removeNonAlphanumericCharacters(nil, name)
46213
- collectibleNameToTypeMap:set(simpleString, collectibleType)
46214
- end
46215
- ____exports.COLLECTIBLE_NAME_TO_TYPE_MAP = collectibleNameToTypeMap
46331
+ ____exports.COLLECTIBLE_NAME_TO_TYPE_MAP = (function()
46332
+ local collectibleNameToTypeMap = __TS__New(Map)
46333
+ for ____, ____value in __TS__Iterator(COLLECTIBLE_TYPE_TO_NAME_MAP) do
46334
+ local collectibleType = ____value[1]
46335
+ local name = ____value[2]
46336
+ local simpleString = removeNonAlphanumericCharacters(nil, name)
46337
+ collectibleNameToTypeMap:set(simpleString, collectibleType)
46338
+ end
46339
+ return collectibleNameToTypeMap
46340
+ end)(nil)
46216
46341
  return ____exports
46217
46342
  end,
46218
46343
  ["src.maps.pillNameToEffectMap"] = function(...)
46219
46344
  local ____lualib = require("lualib_bundle")
46220
- local Map = ____lualib.Map
46221
46345
  local __TS__New = ____lualib.__TS__New
46222
46346
  local ____exports = {}
46223
46347
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46224
46348
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
46225
- ____exports.PILL_NAME_TO_EFFECT_MAP = __TS__New(Map, {
46349
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46350
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46351
+ ____exports.PILL_NAME_TO_EFFECT_MAP = __TS__New(ReadonlyMap, {
46226
46352
  {"badGas", PillEffect.BAD_GAS},
46227
46353
  {"gas", PillEffect.BAD_GAS},
46228
46354
  {"badTrip", PillEffect.BAD_TRIP},
@@ -46308,12 +46434,13 @@ return ____exports
46308
46434
  end,
46309
46435
  ["src.maps.roomNameToTypeMap"] = function(...)
46310
46436
  local ____lualib = require("lualib_bundle")
46311
- local Map = ____lualib.Map
46312
46437
  local __TS__New = ____lualib.__TS__New
46313
46438
  local ____exports = {}
46314
46439
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46315
46440
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
46316
- ____exports.ROOM_NAME_TO_TYPE_MAP = __TS__New(Map, {
46441
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46442
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46443
+ ____exports.ROOM_NAME_TO_TYPE_MAP = __TS__New(ReadonlyMap, {
46317
46444
  {"default", RoomType.DEFAULT},
46318
46445
  {"shop", RoomType.SHOP},
46319
46446
  {"error", RoomType.ERROR},
@@ -46361,19 +46488,20 @@ local ____string = require("src.functions.string")
46361
46488
  local removeNonAlphanumericCharacters = ____string.removeNonAlphanumericCharacters
46362
46489
  local ____trinketTypeToNameMap = require("src.maps.trinketTypeToNameMap")
46363
46490
  local TRINKET_TYPE_TO_NAME_MAP = ____trinketTypeToNameMap.TRINKET_TYPE_TO_NAME_MAP
46364
- local trinketNameToTypeMap = __TS__New(Map)
46365
- for ____, ____value in __TS__Iterator(TRINKET_TYPE_TO_NAME_MAP) do
46366
- local trinketType = ____value[1]
46367
- local name = ____value[2]
46368
- local simpleString = removeNonAlphanumericCharacters(nil, name)
46369
- trinketNameToTypeMap:set(simpleString, trinketType)
46370
- end
46371
- ____exports.TRINKET_NAME_TO_TYPE_MAP = trinketNameToTypeMap
46491
+ ____exports.TRINKET_NAME_TO_TYPE_MAP = (function()
46492
+ local trinketNameToTypeMap = __TS__New(Map)
46493
+ for ____, ____value in __TS__Iterator(TRINKET_TYPE_TO_NAME_MAP) do
46494
+ local trinketType = ____value[1]
46495
+ local name = ____value[2]
46496
+ local simpleString = removeNonAlphanumericCharacters(nil, name)
46497
+ trinketNameToTypeMap:set(simpleString, trinketType)
46498
+ end
46499
+ return trinketNameToTypeMap
46500
+ end)(nil)
46372
46501
  return ____exports
46373
46502
  end,
46374
46503
  ["src.functions.logEntities"] = function(...)
46375
46504
  local ____lualib = require("lualib_bundle")
46376
- local Set = ____lualib.Set
46377
46505
  local __TS__New = ____lualib.__TS__New
46378
46506
  local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
46379
46507
  local __TS__StringTrim = ____lualib.__TS__StringTrim
@@ -46391,6 +46519,8 @@ local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
46391
46519
  local PlayerVariant = ____isaac_2Dtypescript_2Ddefinitions.PlayerVariant
46392
46520
  local ProjectileVariant = ____isaac_2Dtypescript_2Ddefinitions.ProjectileVariant
46393
46521
  local TearVariant = ____isaac_2Dtypescript_2Ddefinitions.TearVariant
46522
+ local ____ReadonlySet = require("src.types.ReadonlySet")
46523
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
46394
46524
  local ____entities = require("src.functions.entities")
46395
46525
  local getEntities = ____entities.getEntities
46396
46526
  local getEntityFromPtrHash = ____entities.getEntityFromPtrHash
@@ -46512,7 +46642,7 @@ function getGridEntityLogLine(gridEntity, num)
46512
46642
  end
46513
46643
  return msg
46514
46644
  end
46515
- local IGNORE_EFFECT_VARIANTS = __TS__New(Set, {
46645
+ local IGNORE_EFFECT_VARIANTS = __TS__New(ReadonlySet, {
46516
46646
  EffectVariant.BLOOD_EXPLOSION,
46517
46647
  EffectVariant.BLOOD_PARTICLE,
46518
46648
  EffectVariant.TINY_BUG,
@@ -50553,13 +50683,15 @@ return ____exports
50553
50683
  end,
50554
50684
  ["src.functions.globals"] = function(...)
50555
50685
  local ____lualib = require("lualib_bundle")
50556
- local Set = ____lualib.Set
50557
50686
  local __TS__New = ____lualib.__TS__New
50687
+ local Set = ____lualib.Set
50558
50688
  local __TS__ArraySort = ____lualib.__TS__ArraySort
50559
50689
  local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
50560
50690
  local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
50561
50691
  local ____exports = {}
50562
50692
  local isRacingPlusSandboxEnabled
50693
+ local ____ReadonlySet = require("src.types.ReadonlySet")
50694
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
50563
50695
  local ____debugFunctions = require("src.functions.debugFunctions")
50564
50696
  local getTraceback = ____debugFunctions.getTraceback
50565
50697
  local isLuaDebugEnabled = ____debugFunctions.isLuaDebugEnabled
@@ -50577,7 +50709,7 @@ local twoDimensionalSort = ____utils.twoDimensionalSort
50577
50709
  function isRacingPlusSandboxEnabled(self)
50578
50710
  return SandboxGetParentFunctionDescription ~= nil
50579
50711
  end
50580
- local DEFAULT_GLOBALS = __TS__New(Set, {
50712
+ local DEFAULT_GLOBALS = __TS__New(ReadonlySet, {
50581
50713
  "ActionTriggers",
50582
50714
  "ActiveSlot",
50583
50715
  "BabySubType",
@@ -50741,7 +50873,7 @@ local DEFAULT_GLOBALS = __TS__New(Set, {
50741
50873
  "utf8",
50742
50874
  "xpcall"
50743
50875
  })
50744
- local LUA_DEBUG_ADDED_GLOBALS = __TS__New(Set, {
50876
+ local LUA_DEBUG_ADDED_GLOBALS = __TS__New(ReadonlySet, {
50745
50877
  "debug",
50746
50878
  "dofile",
50747
50879
  "loadfile",
@@ -50749,7 +50881,7 @@ local LUA_DEBUG_ADDED_GLOBALS = __TS__New(Set, {
50749
50881
  "os",
50750
50882
  "package"
50751
50883
  })
50752
- local RACING_PLUS_SANDBOX_ADDED_GLOBALS = __TS__New(Set, {"sandboxTraceback", "sandboxGetTraceback", "getParentFunctionDescription"})
50884
+ local RACING_PLUS_SANDBOX_ADDED_GLOBALS = __TS__New(ReadonlySet, {"sandboxTraceback", "sandboxGetTraceback", "getParentFunctionDescription"})
50753
50885
  function ____exports.getDefaultGlobals(self)
50754
50886
  local defaultGlobals = copySet(nil, DEFAULT_GLOBALS)
50755
50887
  if isLuaDebugEnabled(nil) then
@@ -51217,7 +51349,6 @@ return ____exports
51217
51349
  end,
51218
51350
  ["src.functions.transformations"] = function(...)
51219
51351
  local ____lualib = require("lualib_bundle")
51220
- local Map = ____lualib.Map
51221
51352
  local __TS__New = ____lualib.__TS__New
51222
51353
  local Set = ____lualib.Set
51223
51354
  local __TS__Iterator = ____lualib.__TS__Iterator
@@ -51227,13 +51358,17 @@ local ItemConfigTag = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigTag
51227
51358
  local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
51228
51359
  local ____transformationNames = require("src.objects.transformationNames")
51229
51360
  local TRANSFORMATION_NAMES = ____transformationNames.TRANSFORMATION_NAMES
51361
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
51362
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
51363
+ local ____ReadonlySet = require("src.types.ReadonlySet")
51364
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
51230
51365
  local ____collectibles = require("src.functions.collectibles")
51231
51366
  local getCollectibleTags = ____collectibles.getCollectibleTags
51232
51367
  local ____enums = require("src.functions.enums")
51233
51368
  local getEnumValues = ____enums.getEnumValues
51234
51369
  local ____flag = require("src.functions.flag")
51235
51370
  local hasFlag = ____flag.hasFlag
51236
- local TRANSFORMATION_TO_TAG_MAP = __TS__New(Map, {
51371
+ local TRANSFORMATION_TO_TAG_MAP = __TS__New(ReadonlyMap, {
51237
51372
  {PlayerForm.GUPPY, ItemConfigTag.GUPPY},
51238
51373
  {PlayerForm.BEELZEBUB, ItemConfigTag.FLY},
51239
51374
  {PlayerForm.FUN_GUY, ItemConfigTag.MUSHROOM},
@@ -51247,7 +51382,7 @@ local TRANSFORMATION_TO_TAG_MAP = __TS__New(Map, {
51247
51382
  {PlayerForm.BOOKWORM, ItemConfigTag.BOOK},
51248
51383
  {PlayerForm.SPIDER_BABY, ItemConfigTag.SPIDER}
51249
51384
  })
51250
- local TRANSFORMATIONS_THAT_GRANT_FLYING = __TS__New(Set, {PlayerForm.GUPPY, PlayerForm.BEELZEBUB, PlayerForm.SERAPHIM, PlayerForm.LEVIATHAN})
51385
+ local TRANSFORMATIONS_THAT_GRANT_FLYING = __TS__New(ReadonlySet, {PlayerForm.GUPPY, PlayerForm.BEELZEBUB, PlayerForm.SERAPHIM, PlayerForm.LEVIATHAN})
51251
51386
  function ____exports.getPlayerTransformations(self, player)
51252
51387
  local transformations = __TS__New(Set)
51253
51388
  for ____, playerForm in ipairs(getEnumValues(nil, PlayerForm)) do
@@ -51293,12 +51428,13 @@ return ____exports
51293
51428
  end,
51294
51429
  ["src.maps.transformationNameToPlayerFormMap"] = function(...)
51295
51430
  local ____lualib = require("lualib_bundle")
51296
- local Map = ____lualib.Map
51297
51431
  local __TS__New = ____lualib.__TS__New
51298
51432
  local ____exports = {}
51299
51433
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
51300
51434
  local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
51301
- ____exports.TRANSFORMATION_NAME_TO_PLAYER_FORM_MAP = __TS__New(Map, {
51435
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
51436
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
51437
+ ____exports.TRANSFORMATION_NAME_TO_PLAYER_FORM_MAP = __TS__New(ReadonlyMap, {
51302
51438
  {"guppy", PlayerForm.GUPPY},
51303
51439
  {"cat", PlayerForm.GUPPY},
51304
51440
  {"beelzebub", PlayerForm.BEELZEBUB},
@@ -52464,6 +52600,22 @@ do
52464
52600
  end
52465
52601
  end
52466
52602
  end
52603
+ do
52604
+ local ____export = require("src.types.ReadonlyMap")
52605
+ for ____exportKey, ____exportValue in pairs(____export) do
52606
+ if ____exportKey ~= "default" then
52607
+ ____exports[____exportKey] = ____exportValue
52608
+ end
52609
+ end
52610
+ end
52611
+ do
52612
+ local ____export = require("src.types.ReadonlySet")
52613
+ for ____exportKey, ____exportValue in pairs(____export) do
52614
+ if ____exportKey ~= "default" then
52615
+ ____exports[____exportKey] = ____exportValue
52616
+ end
52617
+ end
52618
+ end
52467
52619
  return ____exports
52468
52620
  end,
52469
52621
  ["src.indexLua"] = function(...)
@@ -53532,6 +53684,22 @@ do
53532
53684
  end
53533
53685
  end
53534
53686
  end
53687
+ do
53688
+ local ____export = require("src.types.ReadonlyMap")
53689
+ for ____exportKey, ____exportValue in pairs(____export) do
53690
+ if ____exportKey ~= "default" then
53691
+ ____exports[____exportKey] = ____exportValue
53692
+ end
53693
+ end
53694
+ end
53695
+ do
53696
+ local ____export = require("src.types.ReadonlySet")
53697
+ for ____exportKey, ____exportValue in pairs(____export) do
53698
+ if ____exportKey ~= "default" then
53699
+ ____exports[____exportKey] = ____exportValue
53700
+ end
53701
+ end
53702
+ end
53535
53703
  do
53536
53704
  local ____export = require("lua_modules.isaac-typescript-definitions.dist.src.index")
53537
53705
  for ____exportKey, ____exportValue in pairs(____export) do