isaacscript-common 20.18.1 → 21.1.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 (349) hide show
  1. package/dist/index.d.ts +48 -33
  2. package/dist/isaacscript-common.lua +637 -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/map.d.ts +23 -0
  45. package/dist/src/functions/map.d.ts.map +1 -1
  46. package/dist/src/functions/map.lua +28 -0
  47. package/dist/src/functions/npcs.d.ts.map +1 -1
  48. package/dist/src/functions/npcs.lua +4 -3
  49. package/dist/src/functions/playerIndex.d.ts.map +1 -1
  50. package/dist/src/functions/playerIndex.lua +3 -2
  51. package/dist/src/functions/readOnly.d.ts +26 -0
  52. package/dist/src/functions/readOnly.d.ts.map +1 -0
  53. package/dist/src/functions/readOnly.lua +31 -0
  54. package/dist/src/functions/roomGrid.d.ts.map +1 -1
  55. package/dist/src/functions/roomGrid.lua +4 -1
  56. package/dist/src/functions/roomShapeWalls.d.ts.map +1 -1
  57. package/dist/src/functions/roomShapeWalls.lua +9 -10
  58. package/dist/src/functions/serialization.d.ts.map +1 -1
  59. package/dist/src/functions/serialization.lua +3 -2
  60. package/dist/src/functions/slots.d.ts.map +1 -1
  61. package/dist/src/functions/slots.lua +3 -2
  62. package/dist/src/functions/stats.d.ts.map +1 -1
  63. package/dist/src/functions/stats.lua +3 -2
  64. package/dist/src/functions/transformations.d.ts.map +1 -1
  65. package/dist/src/functions/transformations.lua +6 -3
  66. package/dist/src/functions/utils.d.ts +1 -1
  67. package/dist/src/functions/utils.lua +1 -1
  68. package/dist/src/index.d.ts +2 -1
  69. package/dist/src/index.d.ts.map +1 -1
  70. package/dist/src/index.lua +16 -0
  71. package/dist/src/maps/PHDPillConversions.d.ts.map +1 -1
  72. package/dist/src/maps/PHDPillConversions.lua +3 -2
  73. package/dist/src/maps/cardNameToTypeMap.d.ts.map +1 -1
  74. package/dist/src/maps/cardNameToTypeMap.lua +3 -2
  75. package/dist/src/maps/characterNameToTypeMap.d.ts.map +1 -1
  76. package/dist/src/maps/characterNameToTypeMap.lua +3 -2
  77. package/dist/src/maps/collectibleDescriptionMap.d.ts.map +1 -1
  78. package/dist/src/maps/collectibleDescriptionMap.lua +3 -2
  79. package/dist/src/maps/collectibleNameToTypeMap.d.ts +5 -0
  80. package/dist/src/maps/collectibleNameToTypeMap.d.ts.map +1 -1
  81. package/dist/src/maps/collectibleNameToTypeMap.lua +10 -8
  82. package/dist/src/maps/collectibleTypeToNameMap.d.ts.map +1 -1
  83. package/dist/src/maps/collectibleTypeToNameMap.lua +3 -2
  84. package/dist/src/maps/defaultPlayerStatMap.d.ts +5 -2
  85. package/dist/src/maps/defaultPlayerStatMap.d.ts.map +1 -1
  86. package/dist/src/maps/defaultPlayerStatMap.lua +3 -2
  87. package/dist/src/maps/falsePHDPillConversions.d.ts.map +1 -1
  88. package/dist/src/maps/falsePHDPillConversions.lua +3 -2
  89. package/dist/src/maps/gridEntityTypeToBrokenStateMap.d.ts +1 -1
  90. package/dist/src/maps/gridEntityTypeToBrokenStateMap.d.ts.map +1 -1
  91. package/dist/src/maps/gridEntityTypeToBrokenStateMap.lua +3 -2
  92. package/dist/src/maps/gridEntityXMLMap.d.ts +1 -4
  93. package/dist/src/maps/gridEntityXMLMap.d.ts.map +1 -1
  94. package/dist/src/maps/gridEntityXMLMap.lua +3 -2
  95. package/dist/src/maps/keyboardToString.d.ts.map +1 -1
  96. package/dist/src/maps/keyboardToString.lua +3 -2
  97. package/dist/src/maps/pillNameToEffectMap.d.ts.map +1 -1
  98. package/dist/src/maps/pillNameToEffectMap.lua +3 -2
  99. package/dist/src/maps/roomNameToTypeMap.d.ts.map +1 -1
  100. package/dist/src/maps/roomNameToTypeMap.lua +3 -2
  101. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +1 -1
  102. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.d.ts.map +1 -1
  103. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.lua +3 -2
  104. package/dist/src/maps/transformationNameToPlayerFormMap.d.ts.map +1 -1
  105. package/dist/src/maps/transformationNameToPlayerFormMap.lua +3 -2
  106. package/dist/src/maps/trinketDescriptionMap.d.ts.map +1 -1
  107. package/dist/src/maps/trinketDescriptionMap.lua +3 -2
  108. package/dist/src/maps/trinketNameToTypeMap.d.ts +5 -0
  109. package/dist/src/maps/trinketNameToTypeMap.d.ts.map +1 -1
  110. package/dist/src/maps/trinketNameToTypeMap.lua +10 -8
  111. package/dist/src/maps/trinketTypeToNameMap.d.ts.map +1 -1
  112. package/dist/src/maps/trinketTypeToNameMap.lua +3 -2
  113. package/dist/src/objects/LRoomShapeToRectangles.d.ts +8 -6
  114. package/dist/src/objects/LRoomShapeToRectangles.d.ts.map +1 -1
  115. package/dist/src/objects/LRoomShapeToRectangles.lua +19 -17
  116. package/dist/src/objects/backdropTypeToRockAltType.d.ts.map +1 -1
  117. package/dist/src/objects/bossNamePNGFileNames.d.ts.map +1 -1
  118. package/dist/src/objects/bossPortraitPNGFileNames.d.ts.map +1 -1
  119. package/dist/src/objects/cardDescriptions.d.ts.map +1 -1
  120. package/dist/src/objects/cardNames.d.ts.map +1 -1
  121. package/dist/src/objects/challengeNames.d.ts.map +1 -1
  122. package/dist/src/objects/characterDamageMultipliers.d.ts.map +1 -1
  123. package/dist/src/objects/characterNames.d.ts.map +1 -1
  124. package/dist/src/objects/coinSubTypeToValue.d.ts.map +1 -1
  125. package/dist/src/objects/directionNames.d.ts.map +1 -1
  126. package/dist/src/objects/directionToDegrees.d.ts.map +1 -1
  127. package/dist/src/objects/directionToMoveAction.d.ts.map +1 -1
  128. package/dist/src/objects/directionToShootAction.d.ts.map +1 -1
  129. package/dist/src/objects/directionToVector.d.ts +5 -2
  130. package/dist/src/objects/directionToVector.d.ts.map +1 -1
  131. package/dist/src/objects/directionToVector.lua +6 -4
  132. package/dist/src/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
  133. package/dist/src/objects/doorSlotToDirection.d.ts.map +1 -1
  134. package/dist/src/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  135. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts.map +1 -1
  136. package/dist/src/objects/languageNames.d.ts.map +1 -1
  137. package/dist/src/objects/oppositeDoorSlots.d.ts.map +1 -1
  138. package/dist/src/objects/pillEffectClasses.d.ts.map +1 -1
  139. package/dist/src/objects/pillEffectNames.d.ts.map +1 -1
  140. package/dist/src/objects/pillEffectTypes.d.ts.map +1 -1
  141. package/dist/src/objects/playerNamePNGFileNames.d.ts.map +1 -1
  142. package/dist/src/objects/playerPortraitPNGFileNames.d.ts.map +1 -1
  143. package/dist/src/objects/roomShapeBounds.d.ts +12 -2
  144. package/dist/src/objects/roomShapeBounds.d.ts.map +1 -1
  145. package/dist/src/objects/roomShapeCorners.d.ts +237 -3
  146. package/dist/src/objects/roomShapeCorners.d.ts.map +1 -1
  147. package/dist/src/objects/roomShapeCorners.lua +58 -56
  148. package/dist/src/objects/roomShapeLayoutSizes.d.ts +12 -2
  149. package/dist/src/objects/roomShapeLayoutSizes.d.ts.map +1 -1
  150. package/dist/src/objects/roomShapeToBottomRightPosition.d.ts +12 -2
  151. package/dist/src/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  152. package/dist/src/objects/roomShapeToBottomRightPosition.lua +10 -8
  153. package/dist/src/objects/roomShapeToDoorSlotCoordinates.d.ts +88 -2
  154. package/dist/src/objects/roomShapeToDoorSlotCoordinates.d.ts.map +1 -1
  155. package/dist/src/objects/roomShapeToDoorSlotCoordinates.lua +71 -74
  156. package/dist/src/objects/roomShapeToDoorSlots.d.ts +13 -2
  157. package/dist/src/objects/roomShapeToDoorSlots.d.ts.map +1 -1
  158. package/dist/src/objects/roomShapeToDoorSlots.lua +10 -9
  159. package/dist/src/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts.map +1 -1
  160. package/dist/src/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +14 -13
  161. package/dist/src/objects/roomShapeToGridWidth.d.ts.map +1 -1
  162. package/dist/src/objects/roomShapeToTopLeftPosition.d.ts +12 -2
  163. package/dist/src/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  164. package/dist/src/objects/roomShapeToTopLeftPosition.lua +5 -3
  165. package/dist/src/objects/roomShapeVolumes.d.ts.map +1 -1
  166. package/dist/src/objects/roomTypeGotoPrefixes.d.ts.map +1 -1
  167. package/dist/src/objects/roomTypeNames.d.ts.map +1 -1
  168. package/dist/src/objects/stageToMusic.d.ts.map +1 -1
  169. package/dist/src/objects/stageTypeSuffixes.d.ts.map +1 -1
  170. package/dist/src/objects/stageTypeToLetter.d.ts.map +1 -1
  171. package/dist/src/objects/transformationNames.d.ts.map +1 -1
  172. package/dist/src/objects/versusScreenBackgroundColors.d.ts +29 -2
  173. package/dist/src/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  174. package/dist/src/objects/versusScreenBackgroundColors.lua +29 -27
  175. package/dist/src/objects/versusScreenDirtSpotColors.d.ts +29 -2
  176. package/dist/src/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  177. package/dist/src/objects/versusScreenDirtSpotColors.lua +29 -27
  178. package/dist/src/sets/LRoomShapesSet.d.ts.map +1 -1
  179. package/dist/src/sets/LRoomShapesSet.lua +3 -2
  180. package/dist/src/sets/bossSets.d.ts +2 -3
  181. package/dist/src/sets/bossSets.d.ts.map +1 -1
  182. package/dist/src/sets/bossSets.lua +52 -49
  183. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.d.ts.map +1 -1
  184. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.lua +3 -2
  185. package/dist/src/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts.map +1 -1
  186. package/dist/src/sets/charactersWithBlackHeartFromEternalHeartSet.lua +3 -2
  187. package/dist/src/sets/charactersWithFreeDevilDealsSet.d.ts.map +1 -1
  188. package/dist/src/sets/charactersWithFreeDevilDealsSet.lua +3 -2
  189. package/dist/src/sets/charactersWithNoRedHeartsSet.d.ts.map +1 -1
  190. package/dist/src/sets/charactersWithNoRedHeartsSet.lua +3 -2
  191. package/dist/src/sets/charactersWithNoSoulHeartsSet.d.ts.map +1 -1
  192. package/dist/src/sets/charactersWithNoSoulHeartsSet.lua +3 -2
  193. package/dist/src/sets/chestPickupVariantsSet.d.ts.map +1 -1
  194. package/dist/src/sets/chestPickupVariantsSet.lua +3 -2
  195. package/dist/src/sets/consoleCommandsSet.d.ts.map +1 -1
  196. package/dist/src/sets/consoleCommandsSet.lua +3 -2
  197. package/dist/src/sets/entitiesWithArmorSet.d.ts.map +1 -1
  198. package/dist/src/sets/entitiesWithArmorSet.lua +3 -2
  199. package/dist/src/sets/familiarsThatShootPlayerTearsSet.d.ts.map +1 -1
  200. package/dist/src/sets/familiarsThatShootPlayerTearsSet.lua +3 -2
  201. package/dist/src/sets/itemConfigCardTypesForCardsSet.d.ts +4 -0
  202. package/dist/src/sets/itemConfigCardTypesForCardsSet.d.ts.map +1 -0
  203. package/dist/src/sets/itemConfigCardTypesForCardsSet.lua +10 -0
  204. package/dist/src/sets/lostStyleCharactersSet.d.ts.map +1 -1
  205. package/dist/src/sets/lostStyleCharactersSet.lua +3 -2
  206. package/dist/src/sets/mineShaftRoomSubTypesSet.d.ts.map +1 -1
  207. package/dist/src/sets/mineShaftRoomSubTypesSet.lua +3 -2
  208. package/dist/src/sets/narrowRoomShapesSet.d.ts.map +1 -1
  209. package/dist/src/sets/narrowRoomShapesSet.lua +3 -2
  210. package/dist/src/sets/redHeartSubTypesSet.d.ts.map +1 -1
  211. package/dist/src/sets/redHeartSubTypesSet.lua +3 -2
  212. package/dist/src/sets/sinEntityTypesSet.d.ts.map +1 -1
  213. package/dist/src/sets/sinEntityTypesSet.lua +3 -2
  214. package/dist/src/sets/singleUseActiveCollectibleTypesSet.d.ts.map +1 -1
  215. package/dist/src/sets/singleUseActiveCollectibleTypesSet.lua +3 -2
  216. package/dist/src/sets/storyBossesSet.d.ts.map +1 -1
  217. package/dist/src/sets/storyBossesSet.lua +3 -2
  218. package/dist/src/types/PickingUpItem.d.ts.map +1 -1
  219. package/dist/src/types/PickingUpItem.lua +3 -2
  220. package/dist/src/types/ReadonlyMap.d.ts +9 -0
  221. package/dist/src/types/ReadonlyMap.d.ts.map +1 -0
  222. package/dist/src/types/ReadonlyMap.lua +6 -0
  223. package/dist/src/types/ReadonlySet.d.ts +8 -0
  224. package/dist/src/types/ReadonlySet.d.ts.map +1 -0
  225. package/dist/src/types/ReadonlySet.lua +6 -0
  226. package/package.json +1 -1
  227. package/src/callbacks.ts +1 -2
  228. package/src/classes/callbacks/PostBoneSwing.ts +2 -1
  229. package/src/classes/callbacks/PreNewLevel.ts +2 -1
  230. package/src/classes/features/other/CustomTrapdoors.ts +2 -1
  231. package/src/classes/features/other/DeployJSONRoom.ts +5 -2
  232. package/src/classes/features/other/ModdedElementSets.ts +20 -22
  233. package/src/classes/features/other/SaveDataManager.ts +2 -1
  234. package/src/classes/features/other/customStages/backdrop.ts +3 -3
  235. package/src/classes/features/other/customStages/shadows.ts +1 -2
  236. package/src/classes/features/other/customStages/streakText.ts +1 -2
  237. package/src/classes/features/other/saveDataManager/restoreDefaults.ts +2 -1
  238. package/src/core/constants.ts +18 -17
  239. package/src/features.ts +1 -2
  240. package/src/functions/bosses.ts +2 -1
  241. package/src/functions/cards.ts +2 -2
  242. package/src/functions/characters.ts +2 -1
  243. package/src/functions/doors.ts +15 -4
  244. package/src/functions/emptyRoom.ts +2 -1
  245. package/src/functions/entities.ts +2 -1
  246. package/src/functions/globals.ts +4 -3
  247. package/src/functions/gridEntities.ts +5 -4
  248. package/src/functions/input.ts +3 -2
  249. package/src/functions/logEntities.ts +2 -1
  250. package/src/functions/map.ts +35 -0
  251. package/src/functions/npcs.ts +3 -2
  252. package/src/functions/playerIndex.ts +2 -1
  253. package/src/functions/readOnly.ts +42 -0
  254. package/src/functions/roomGrid.ts +3 -2
  255. package/src/functions/roomShapeWalls.ts +3 -5
  256. package/src/functions/serialization.ts +2 -3
  257. package/src/functions/slots.ts +2 -1
  258. package/src/functions/stats.ts +2 -1
  259. package/src/functions/transformations.ts +19 -18
  260. package/src/functions/utils.ts +1 -1
  261. package/src/index.ts +2 -1
  262. package/src/maps/PHDPillConversions.ts +19 -19
  263. package/src/maps/cardNameToTypeMap.ts +2 -1
  264. package/src/maps/characterNameToTypeMap.ts +86 -86
  265. package/src/maps/collectibleDescriptionMap.ts +726 -724
  266. package/src/maps/collectibleNameToTypeMap.ts +10 -7
  267. package/src/maps/collectibleTypeToNameMap.ts +3 -4
  268. package/src/maps/defaultPlayerStatMap.ts +2 -1
  269. package/src/maps/falsePHDPillConversions.ts +36 -33
  270. package/src/maps/gridEntityTypeToBrokenStateMap.ts +3 -2
  271. package/src/maps/gridEntityXMLMap.ts +3 -2
  272. package/src/maps/keyboardToString.ts +3 -2
  273. package/src/maps/pillNameToEffectMap.ts +85 -86
  274. package/src/maps/roomNameToTypeMap.ts +2 -1
  275. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +3 -2
  276. package/src/maps/transformationNameToPlayerFormMap.ts +3 -2
  277. package/src/maps/trinketDescriptionMap.ts +191 -192
  278. package/src/maps/trinketNameToTypeMap.ts +10 -7
  279. package/src/maps/trinketTypeToNameMap.ts +191 -193
  280. package/src/objects/LRoomShapeToRectangles.ts +35 -28
  281. package/src/objects/backdropTypeToRockAltType.ts +1 -2
  282. package/src/objects/bossNamePNGFileNames.ts +1 -2
  283. package/src/objects/bossPortraitPNGFileNames.ts +1 -2
  284. package/src/objects/cardDescriptions.ts +1 -2
  285. package/src/objects/cardNames.ts +1 -2
  286. package/src/objects/challengeNames.ts +1 -2
  287. package/src/objects/characterDamageMultipliers.ts +1 -2
  288. package/src/objects/characterNames.ts +1 -2
  289. package/src/objects/coinSubTypeToValue.ts +1 -2
  290. package/src/objects/directionNames.ts +1 -2
  291. package/src/objects/directionToDegrees.ts +1 -2
  292. package/src/objects/directionToMoveAction.ts +1 -2
  293. package/src/objects/directionToShootAction.ts +1 -2
  294. package/src/objects/directionToVector.ts +7 -10
  295. package/src/objects/doorSlotFlagToDoorSlot.ts +1 -2
  296. package/src/objects/doorSlotToDirection.ts +1 -2
  297. package/src/objects/doorSlotToDoorSlotFlag.ts +1 -2
  298. package/src/objects/isaacAPIClassTypeToBrand.ts +1 -5
  299. package/src/objects/languageNames.ts +1 -2
  300. package/src/objects/oppositeDoorSlots.ts +1 -2
  301. package/src/objects/pillEffectClasses.ts +1 -2
  302. package/src/objects/pillEffectNames.ts +1 -2
  303. package/src/objects/pillEffectTypes.ts +1 -2
  304. package/src/objects/playerNamePNGFileNames.ts +1 -2
  305. package/src/objects/playerPortraitPNGFileNames.ts +1 -2
  306. package/src/objects/roomShapeBounds.ts +3 -7
  307. package/src/objects/roomShapeCorners.ts +59 -62
  308. package/src/objects/roomShapeLayoutSizes.ts +6 -10
  309. package/src/objects/roomShapeToBottomRightPosition.ts +11 -17
  310. package/src/objects/roomShapeToDoorSlotCoordinates.ts +93 -94
  311. package/src/objects/roomShapeToDoorSlots.ts +11 -14
  312. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +15 -14
  313. package/src/objects/roomShapeToGridWidth.ts +1 -2
  314. package/src/objects/roomShapeToTopLeftPosition.ts +6 -9
  315. package/src/objects/roomShapeVolumes.ts +1 -2
  316. package/src/objects/roomTypeGotoPrefixes.ts +1 -2
  317. package/src/objects/roomTypeNames.ts +1 -2
  318. package/src/objects/stageToMusic.ts +10 -11
  319. package/src/objects/stageTypeSuffixes.ts +1 -2
  320. package/src/objects/stageTypeToLetter.ts +1 -2
  321. package/src/objects/transformationNames.ts +1 -2
  322. package/src/objects/versusScreenBackgroundColors.ts +30 -33
  323. package/src/objects/versusScreenDirtSpotColors.ts +30 -33
  324. package/src/sets/LRoomShapesSet.ts +2 -1
  325. package/src/sets/bossSets.ts +51 -49
  326. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +3 -2
  327. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +3 -2
  328. package/src/sets/charactersWithFreeDevilDealsSet.ts +4 -2
  329. package/src/sets/charactersWithNoRedHeartsSet.ts +11 -11
  330. package/src/sets/charactersWithNoSoulHeartsSet.ts +8 -8
  331. package/src/sets/chestPickupVariantsSet.ts +2 -1
  332. package/src/sets/consoleCommandsSet.ts +3 -1
  333. package/src/sets/entitiesWithArmorSet.ts +2 -1
  334. package/src/sets/familiarsThatShootPlayerTearsSet.ts +3 -2
  335. package/src/sets/itemConfigCardTypesForCardsSet.ts +11 -0
  336. package/src/sets/lostStyleCharactersSet.ts +2 -1
  337. package/src/sets/mineShaftRoomSubTypesSet.ts +8 -8
  338. package/src/sets/narrowRoomShapesSet.ts +2 -1
  339. package/src/sets/redHeartSubTypesSet.ts +2 -1
  340. package/src/sets/sinEntityTypesSet.ts +2 -1
  341. package/src/sets/singleUseActiveCollectibleTypesSet.ts +3 -2
  342. package/src/sets/storyBossesSet.ts +2 -1
  343. package/src/types/PickingUpItem.ts +2 -1
  344. package/src/types/ReadonlyMap.ts +13 -0
  345. package/src/types/ReadonlySet.ts +9 -0
  346. package/dist/src/types/HasAllEnumKeys.d.ts +0 -26
  347. package/dist/src/types/HasAllEnumKeys.d.ts.map +0 -1
  348. package/dist/src/types/HasAllEnumKeys.lua +0 -2
  349. 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.1.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
@@ -37689,6 +37788,15 @@ function ____exports.getMapPartialMatch(self, searchText, map)
37689
37788
  end
37690
37789
  return {matchingKey, value}
37691
37790
  end
37791
+ function ____exports.getReversedMap(self, map)
37792
+ local reverseMap = __TS__New(Map)
37793
+ for ____, ____value in __TS__Iterator(map) do
37794
+ local key = ____value[1]
37795
+ local value = ____value[2]
37796
+ reverseMap:set(value, key)
37797
+ end
37798
+ return reverseMap
37799
+ end
37692
37800
  function ____exports.sumMap(self, map)
37693
37801
  local values = {__TS__Spread(map:values())}
37694
37802
  return sumArray(nil, values)
@@ -38206,7 +38314,6 @@ return ____exports
38206
38314
  end,
38207
38315
  ["src.classes.features.other.customStages.backdrop"] = function(...)
38208
38316
  local ____lualib = require("lualib_bundle")
38209
- local Set = ____lualib.Set
38210
38317
  local __TS__New = ____lualib.__TS__New
38211
38318
  local ____exports = {}
38212
38319
  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 +38343,8 @@ local trimPrefix = ____string.trimPrefix
38236
38343
  local ____utils = require("src.functions.utils")
38237
38344
  local eRange = ____utils.eRange
38238
38345
  local iRange = ____utils.iRange
38346
+ local ____ReadonlySet = require("src.types.ReadonlySet")
38347
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
38239
38348
  local ____constants = require("src.classes.features.other.customStages.constants")
38240
38349
  local ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = ____constants.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH
38241
38350
  function getBackdropPNGPath(self, customStage, backdropKind, rng)
@@ -38391,7 +38500,7 @@ L_FLOOR_ANM2_LAYERS = {16, 17}
38391
38500
  N_FLOOR_ANM2_LAYERS = {18, 19}
38392
38501
  BACKDROP_EFFECT_VARIANT = EffectVariant.LADDER
38393
38502
  BACKDROP_EFFECT_SUB_TYPE = LadderSubTypeCustom.CUSTOM_BACKDROP
38394
- local BACKDROP_ROOM_TYPE_SET = __TS__New(Set, {RoomType.DEFAULT, RoomType.BOSS, RoomType.MINI_BOSS})
38503
+ local BACKDROP_ROOM_TYPE_SET = __TS__New(ReadonlySet, {RoomType.DEFAULT, RoomType.BOSS, RoomType.MINI_BOSS})
38395
38504
  function ____exports.setCustomStageBackdrop(self, customStage)
38396
38505
  local room = game:GetRoom()
38397
38506
  local roomType = room:GetType()
@@ -38557,12 +38666,13 @@ return ____exports
38557
38666
  end,
38558
38667
  ["src.sets.familiarsThatShootPlayerTearsSet"] = function(...)
38559
38668
  local ____lualib = require("lualib_bundle")
38560
- local Set = ____lualib.Set
38561
38669
  local __TS__New = ____lualib.__TS__New
38562
38670
  local ____exports = {}
38563
38671
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
38564
38672
  local FamiliarVariant = ____isaac_2Dtypescript_2Ddefinitions.FamiliarVariant
38565
- ____exports.FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET = __TS__New(Set, {
38673
+ local ____ReadonlySet = require("src.types.ReadonlySet")
38674
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
38675
+ ____exports.FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET = __TS__New(ReadonlySet, {
38566
38676
  FamiliarVariant.SCISSORS,
38567
38677
  FamiliarVariant.INCUBUS,
38568
38678
  FamiliarVariant.FATES_REWARD,
@@ -39287,11 +39397,11 @@ return ____exports
39287
39397
  end,
39288
39398
  ["src.classes.features.other.CustomTrapdoors"] = function(...)
39289
39399
  local ____lualib = require("lualib_bundle")
39290
- local Set = ____lualib.Set
39291
39400
  local __TS__New = ____lualib.__TS__New
39292
39401
  local __TS__Class = ____lualib.__TS__Class
39293
39402
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
39294
39403
  local Map = ____lualib.Map
39404
+ local Set = ____lualib.Set
39295
39405
  local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
39296
39406
  local __TS__Decorate = ____lualib.__TS__Decorate
39297
39407
  local __TS__ArraySome = ____lualib.__TS__ArraySome
@@ -39351,6 +39461,8 @@ local ____tstlClass = require("src.functions.tstlClass")
39351
39461
  local getTSTLClassName = ____tstlClass.getTSTLClassName
39352
39462
  local ____vector = require("src.functions.vector")
39353
39463
  local isVector = ____vector.isVector
39464
+ local ____ReadonlySet = require("src.types.ReadonlySet")
39465
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
39354
39466
  local ____DefaultMap = require("src.classes.DefaultMap")
39355
39467
  local DefaultMap = ____DefaultMap.DefaultMap
39356
39468
  local ____Feature = require("src.classes.private.Feature")
@@ -39403,7 +39515,7 @@ local TRAPDOOR_OPEN_DISTANCE = 60
39403
39515
  local TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS = TRAPDOOR_OPEN_DISTANCE * 2.5
39404
39516
  local TRAPDOOR_BOSS_REACTION_FRAMES = 30
39405
39517
  local TRAPDOOR_TOUCH_DISTANCE = 16.5
39406
- ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL = __TS__New(Set, {"Death", "Happy", "Sad", "Jump"})
39518
+ ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL = __TS__New(ReadonlySet, {"Death", "Happy", "Sad", "Jump"})
39407
39519
  local PIXELATION_TO_BLACK_FRAMES = 60
39408
39520
  local OTHER_PLAYER_TRAPDOOR_JUMP_DELAY_GAME_FRAMES = 6
39409
39521
  local OTHER_PLAYER_TRAPDOOR_JUMP_DURATION_GAME_FRAMES = 5
@@ -40465,13 +40577,12 @@ return ____exports
40465
40577
  end,
40466
40578
  ["src.sets.bossSets"] = function(...)
40467
40579
  local ____lualib = require("lualib_bundle")
40468
- local Set = ____lualib.Set
40469
40580
  local __TS__New = ____lualib.__TS__New
40470
40581
  local __TS__Spread = ____lualib.__TS__Spread
40471
40582
  local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
40472
40583
  local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
40473
40584
  local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
40474
- local Map = ____lualib.Map
40585
+ local Set = ____lualib.Set
40475
40586
  local ____exports = {}
40476
40587
  local getAllBossesExcludingStoryBossesSet
40477
40588
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -40508,6 +40619,10 @@ local ____entities = require("src.functions.entities")
40508
40619
  local parseEntityTypeVariantString = ____entities.parseEntityTypeVariantString
40509
40620
  local ____set = require("src.functions.set")
40510
40621
  local copySet = ____set.copySet
40622
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
40623
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
40624
+ local ____ReadonlySet = require("src.types.ReadonlySet")
40625
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
40511
40626
  local ____storyBossesSet = require("src.sets.storyBossesSet")
40512
40627
  local STORY_BOSSES_SET = ____storyBossesSet.STORY_BOSSES_SET
40513
40628
  function getAllBossesExcludingStoryBossesSet(self)
@@ -40526,7 +40641,7 @@ function getAllBossesExcludingStoryBossesSet(self)
40526
40641
  return allBossesExcludingStoryBossesSet
40527
40642
  end
40528
40643
  local BASEMENT_BOSSES_SET = __TS__New(
40529
- Set,
40644
+ ReadonlySet,
40530
40645
  {
40531
40646
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.LARRY_JR),
40532
40647
  tostring(EntityType.MONSTRO) .. ".0",
@@ -40545,7 +40660,7 @@ local BASEMENT_BOSSES_SET = __TS__New(
40545
40660
  }
40546
40661
  )
40547
40662
  local CELLAR_BOSSES_SET = __TS__New(
40548
- Set,
40663
+ ReadonlySet,
40549
40664
  {
40550
40665
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.PIN),
40551
40666
  tostring(EntityType.FAMINE) .. ".0",
@@ -40561,7 +40676,7 @@ local CELLAR_BOSSES_SET = __TS__New(
40561
40676
  }
40562
40677
  )
40563
40678
  local BURNING_BASEMENT_BOSSES_SET = __TS__New(
40564
- Set,
40679
+ ReadonlySet,
40565
40680
  {
40566
40681
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.LARRY_JR),
40567
40682
  tostring(EntityType.MONSTRO) .. ".0",
@@ -40581,7 +40696,7 @@ local BURNING_BASEMENT_BOSSES_SET = __TS__New(
40581
40696
  }
40582
40697
  )
40583
40698
  local DOWNPOUR_BOSSES_SET = __TS__New(
40584
- Set,
40699
+ ReadonlySet,
40585
40700
  {
40586
40701
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.WORMWOOD),
40587
40702
  tostring(EntityType.LIL_BLUB) .. ".0",
@@ -40590,7 +40705,7 @@ local DOWNPOUR_BOSSES_SET = __TS__New(
40590
40705
  }
40591
40706
  )
40592
40707
  local DROSS_BOSSES_SET = __TS__New(
40593
- Set,
40708
+ ReadonlySet,
40594
40709
  {
40595
40710
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.WORMWOOD),
40596
40711
  tostring(EntityType.LIL_BLUB) .. ".0",
@@ -40599,7 +40714,7 @@ local DROSS_BOSSES_SET = __TS__New(
40599
40714
  tostring(EntityType.TURDLET) .. ".0"
40600
40715
  }
40601
40716
  )
40602
- local ____Set_1 = Set
40717
+ local ____ReadonlySet_1 = ReadonlySet
40603
40718
  local ____array_0 = __TS__SparseArrayNew(__TS__Spread(BASEMENT_BOSSES_SET:values()))
40604
40719
  __TS__SparseArrayPush(
40605
40720
  ____array_0,
@@ -40618,10 +40733,10 @@ __TS__SparseArrayPush(
40618
40733
  __TS__Spread(DROSS_BOSSES_SET:values())
40619
40734
  )
40620
40735
  local ALL_BASEMENT_BOSSES_SET = __TS__New(
40621
- ____Set_1,
40736
+ ____ReadonlySet_1,
40622
40737
  {__TS__SparseArraySpread(____array_0)}
40623
40738
  )
40624
- local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40739
+ local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40625
40740
  {StageType.ORIGINAL, BASEMENT_BOSSES_SET},
40626
40741
  {StageType.WRATH_OF_THE_LAMB, CELLAR_BOSSES_SET},
40627
40742
  {StageType.AFTERBIRTH, BURNING_BASEMENT_BOSSES_SET},
@@ -40629,7 +40744,7 @@ local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40629
40744
  {StageType.REPENTANCE_B, DROSS_BOSSES_SET}
40630
40745
  })
40631
40746
  local CAVES_BOSSES_SET = __TS__New(
40632
- Set,
40747
+ ReadonlySet,
40633
40748
  {
40634
40749
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHUB),
40635
40750
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHAD),
@@ -40649,7 +40764,7 @@ local CAVES_BOSSES_SET = __TS__New(
40649
40764
  }
40650
40765
  )
40651
40766
  local CATACOMBS_BOSSES_SET = __TS__New(
40652
- Set,
40767
+ ReadonlySet,
40653
40768
  {
40654
40769
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.THE_HOLLOW),
40655
40770
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CARRION_QUEEN),
@@ -40670,7 +40785,7 @@ local CATACOMBS_BOSSES_SET = __TS__New(
40670
40785
  }
40671
40786
  )
40672
40787
  local FLOODED_CAVES_BOSSES_SET = __TS__New(
40673
- Set,
40788
+ ReadonlySet,
40674
40789
  {
40675
40790
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHUB),
40676
40791
  (tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CHAD),
@@ -40692,7 +40807,7 @@ local FLOODED_CAVES_BOSSES_SET = __TS__New(
40692
40807
  }
40693
40808
  )
40694
40809
  local MINES_BOSSES_SET = __TS__New(
40695
- Set,
40810
+ ReadonlySet,
40696
40811
  {
40697
40812
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.TUFF_TWIN),
40698
40813
  tostring(EntityType.REAP_CREEP) .. ".0",
@@ -40701,7 +40816,7 @@ local MINES_BOSSES_SET = __TS__New(
40701
40816
  }
40702
40817
  )
40703
40818
  local ASHPIT_BOSSES_SET = __TS__New(
40704
- Set,
40819
+ ReadonlySet,
40705
40820
  {
40706
40821
  (tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.THE_SHELL),
40707
40822
  (tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.THE_PILE),
@@ -40710,7 +40825,7 @@ local ASHPIT_BOSSES_SET = __TS__New(
40710
40825
  tostring(EntityType.CLUTCH) .. ".0"
40711
40826
  }
40712
40827
  )
40713
- local ____Set_3 = Set
40828
+ local ____ReadonlySet_3 = ReadonlySet
40714
40829
  local ____array_2 = __TS__SparseArrayNew(__TS__Spread(CAVES_BOSSES_SET:values()))
40715
40830
  __TS__SparseArrayPush(
40716
40831
  ____array_2,
@@ -40729,10 +40844,10 @@ __TS__SparseArrayPush(
40729
40844
  __TS__Spread(ASHPIT_BOSSES_SET:values())
40730
40845
  )
40731
40846
  local ALL_CAVES_BOSSES_SET = __TS__New(
40732
- ____Set_3,
40847
+ ____ReadonlySet_3,
40733
40848
  {__TS__SparseArraySpread(____array_2)}
40734
40849
  )
40735
- local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40850
+ local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40736
40851
  {StageType.ORIGINAL, CAVES_BOSSES_SET},
40737
40852
  {StageType.WRATH_OF_THE_LAMB, CATACOMBS_BOSSES_SET},
40738
40853
  {StageType.AFTERBIRTH, FLOODED_CAVES_BOSSES_SET},
@@ -40740,7 +40855,7 @@ local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40740
40855
  {StageType.REPENTANCE_B, ASHPIT_BOSSES_SET}
40741
40856
  })
40742
40857
  local DEPTHS_BOSSES_SET = __TS__New(
40743
- Set,
40858
+ ReadonlySet,
40744
40859
  {
40745
40860
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.MONSTRO_2),
40746
40861
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.GISH),
@@ -40757,7 +40872,7 @@ local DEPTHS_BOSSES_SET = __TS__New(
40757
40872
  }
40758
40873
  )
40759
40874
  local NECROPOLIS_BOSSES_SET = __TS__New(
40760
- Set,
40875
+ ReadonlySet,
40761
40876
  {
40762
40877
  (tostring(EntityType.MOM) .. ".") .. tostring(MomVariant.MOM),
40763
40878
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.WAR),
@@ -40773,7 +40888,7 @@ local NECROPOLIS_BOSSES_SET = __TS__New(
40773
40888
  }
40774
40889
  )
40775
40890
  local DANK_DEPTHS_BOSSES_SET = __TS__New(
40776
- Set,
40891
+ ReadonlySet,
40777
40892
  {
40778
40893
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.MONSTRO_2),
40779
40894
  (tostring(EntityType.MONSTRO_2) .. ".") .. tostring(Monstro2Variant.GISH),
@@ -40790,7 +40905,7 @@ local DANK_DEPTHS_BOSSES_SET = __TS__New(
40790
40905
  }
40791
40906
  )
40792
40907
  local MAUSOLEUM_BOSSES_SET = __TS__New(
40793
- Set,
40908
+ ReadonlySet,
40794
40909
  {
40795
40910
  (tostring(EntityType.MOM) .. ".") .. tostring(MomVariant.MOM),
40796
40911
  tostring(EntityType.SIREN) .. ".0",
@@ -40798,14 +40913,14 @@ local MAUSOLEUM_BOSSES_SET = __TS__New(
40798
40913
  }
40799
40914
  )
40800
40915
  local GEHENNA_BOSSES_SET = __TS__New(
40801
- Set,
40916
+ ReadonlySet,
40802
40917
  {
40803
40918
  (tostring(EntityType.MOM) .. ".") .. tostring(MomVariant.MOM),
40804
40919
  tostring(EntityType.VISAGE) .. ".0",
40805
40920
  tostring(EntityType.HORNY_BOYS) .. ".0"
40806
40921
  }
40807
40922
  )
40808
- local ____Set_5 = Set
40923
+ local ____ReadonlySet_5 = ReadonlySet
40809
40924
  local ____array_4 = __TS__SparseArrayNew(__TS__Spread(DEPTHS_BOSSES_SET:values()))
40810
40925
  __TS__SparseArrayPush(
40811
40926
  ____array_4,
@@ -40824,10 +40939,10 @@ __TS__SparseArrayPush(
40824
40939
  __TS__Spread(GEHENNA_BOSSES_SET:values())
40825
40940
  )
40826
40941
  local ALL_DEPTHS_BOSSES_SET = __TS__New(
40827
- ____Set_5,
40942
+ ____ReadonlySet_5,
40828
40943
  {__TS__SparseArraySpread(____array_4)}
40829
40944
  )
40830
- local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40945
+ local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40831
40946
  {StageType.ORIGINAL, DEPTHS_BOSSES_SET},
40832
40947
  {StageType.WRATH_OF_THE_LAMB, NECROPOLIS_BOSSES_SET},
40833
40948
  {StageType.AFTERBIRTH, DANK_DEPTHS_BOSSES_SET},
@@ -40835,7 +40950,7 @@ local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40835
40950
  {StageType.REPENTANCE_B, GEHENNA_BOSSES_SET}
40836
40951
  })
40837
40952
  local WOMB_BOSSES_SET = __TS__New(
40838
- Set,
40953
+ ReadonlySet,
40839
40954
  {
40840
40955
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.SCOLEX),
40841
40956
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.CONQUEST),
@@ -40852,7 +40967,7 @@ local WOMB_BOSSES_SET = __TS__New(
40852
40967
  }
40853
40968
  )
40854
40969
  local UTERO_BOSSES_SET = __TS__New(
40855
- Set,
40970
+ ReadonlySet,
40856
40971
  {
40857
40972
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.CONQUEST),
40858
40973
  tostring(EntityType.DEATH) .. ".0",
@@ -40868,7 +40983,7 @@ local UTERO_BOSSES_SET = __TS__New(
40868
40983
  }
40869
40984
  )
40870
40985
  local SCARRED_WOMB_BOSSES_SET = __TS__New(
40871
- Set,
40986
+ ReadonlySet,
40872
40987
  {
40873
40988
  (tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.SCOLEX),
40874
40989
  (tostring(EntityType.WAR) .. ".") .. tostring(WarVariant.CONQUEST),
@@ -40886,7 +41001,7 @@ local SCARRED_WOMB_BOSSES_SET = __TS__New(
40886
41001
  }
40887
41002
  )
40888
41003
  local CORPSE_BOSSES_SET = __TS__New(
40889
- Set,
41004
+ ReadonlySet,
40890
41005
  {
40891
41006
  tostring(EntityType.SCOURGE) .. ".0",
40892
41007
  tostring(EntityType.CHIMERA) .. ".0",
@@ -40894,7 +41009,7 @@ local CORPSE_BOSSES_SET = __TS__New(
40894
41009
  tostring(EntityType.MOTHER) .. ".0"
40895
41010
  }
40896
41011
  )
40897
- local ____Set_7 = Set
41012
+ local ____ReadonlySet_7 = ReadonlySet
40898
41013
  local ____array_6 = __TS__SparseArrayNew(__TS__Spread(WOMB_BOSSES_SET:values()))
40899
41014
  __TS__SparseArrayPush(
40900
41015
  ____array_6,
@@ -40913,54 +41028,54 @@ __TS__SparseArrayPush(
40913
41028
  __TS__Spread(GEHENNA_BOSSES_SET:values())
40914
41029
  )
40915
41030
  local ALL_WOMB_BOSSES_SET = __TS__New(
40916
- ____Set_7,
41031
+ ____ReadonlySet_7,
40917
41032
  {__TS__SparseArraySpread(____array_6)}
40918
41033
  )
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}})
41034
+ 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
41035
  local BLUE_WOMB_BOSSES_SET = __TS__New(
40921
- Set,
41036
+ ReadonlySet,
40922
41037
  {tostring(EntityType.HUSH) .. ".0"}
40923
41038
  )
40924
- local BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.ORIGINAL, BLUE_WOMB_BOSSES_SET}})
41039
+ local BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {{StageType.ORIGINAL, BLUE_WOMB_BOSSES_SET}})
40925
41040
  local SHEOL_BOSSES_SET = __TS__New(
40926
- Set,
41041
+ ReadonlySet,
40927
41042
  {(tostring(EntityType.SATAN) .. ".") .. tostring(SatanVariant.SATAN)}
40928
41043
  )
40929
41044
  local CATHEDRAL_BOSSES_SET = __TS__New(
40930
- Set,
41045
+ ReadonlySet,
40931
41046
  {(tostring(EntityType.ISAAC) .. ".") .. tostring(IsaacVariant.ISAAC)}
40932
41047
  )
40933
- local ____Set_9 = Set
41048
+ local ____ReadonlySet_9 = ReadonlySet
40934
41049
  local ____array_8 = __TS__SparseArrayNew(__TS__Spread(SHEOL_BOSSES_SET:values()))
40935
41050
  __TS__SparseArrayPush(
40936
41051
  ____array_8,
40937
41052
  __TS__Spread(CATHEDRAL_BOSSES_SET:values())
40938
41053
  )
40939
41054
  local ALL_STAGE_10_BOSSES_SET = __TS__New(
40940
- ____Set_9,
41055
+ ____ReadonlySet_9,
40941
41056
  {__TS__SparseArraySpread(____array_8)}
40942
41057
  )
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}})
41058
+ 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
41059
  local DARK_ROOM_BOSSES_SET = __TS__New(
40945
- Set,
41060
+ ReadonlySet,
40946
41061
  {(tostring(EntityType.THE_LAMB) .. ".") .. tostring(LambVariant.LAMB)}
40947
41062
  )
40948
41063
  local CHEST_BOSSES_SET = __TS__New(
40949
- Set,
41064
+ ReadonlySet,
40950
41065
  {(tostring(EntityType.ISAAC) .. ".") .. tostring(IsaacVariant.BLUE_BABY)}
40951
41066
  )
40952
- local ____Set_11 = Set
41067
+ local ____ReadonlySet_11 = ReadonlySet
40953
41068
  local ____array_10 = __TS__SparseArrayNew(__TS__Spread(DARK_ROOM_BOSSES_SET:values()))
40954
41069
  __TS__SparseArrayPush(
40955
41070
  ____array_10,
40956
41071
  __TS__Spread(CHEST_BOSSES_SET:values())
40957
41072
  )
40958
41073
  local ALL_STAGE_11_BOSSES_SET = __TS__New(
40959
- ____Set_11,
41074
+ ____ReadonlySet_11,
40960
41075
  {__TS__SparseArraySpread(____array_10)}
40961
41076
  )
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, {
41077
+ 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}})
41078
+ ____exports.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40964
41079
  {1, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP},
40965
41080
  {2, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP},
40966
41081
  {3, CAVES_STAGE_TYPE_TO_BOSS_SET_MAP},
@@ -40973,7 +41088,7 @@ ____exports.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
40973
41088
  {10, STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP},
40974
41089
  {11, STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP}
40975
41090
  })
40976
- ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(Map, {
41091
+ ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
40977
41092
  {1, ALL_BASEMENT_BOSSES_SET},
40978
41093
  {2, ALL_BASEMENT_BOSSES_SET},
40979
41094
  {3, ALL_CAVES_BOSSES_SET},
@@ -40986,7 +41101,7 @@ ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(Map, {
40986
41101
  {10, ALL_STAGE_10_BOSSES_SET},
40987
41102
  {11, ALL_STAGE_11_BOSSES_SET}
40988
41103
  })
40989
- local ____Set_13 = Set
41104
+ local ____ReadonlySet_13 = ReadonlySet
40990
41105
  local ____array_12 = __TS__SparseArrayNew(__TS__Spread(ALL_BASEMENT_BOSSES_SET:values()))
40991
41106
  __TS__SparseArrayPush(
40992
41107
  ____array_12,
@@ -41013,7 +41128,7 @@ __TS__SparseArrayPush(
41013
41128
  __TS__Spread(ALL_STAGE_11_BOSSES_SET:values())
41014
41129
  )
41015
41130
  ____exports.ALL_BOSSES_SET = __TS__New(
41016
- ____Set_13,
41131
+ ____ReadonlySet_13,
41017
41132
  {__TS__SparseArraySpread(____array_12)}
41018
41133
  )
41019
41134
  ____exports.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = getAllBossesExcludingStoryBossesSet(nil)
@@ -41021,12 +41136,13 @@ return ____exports
41021
41136
  end,
41022
41137
  ["src.sets.sinEntityTypesSet"] = function(...)
41023
41138
  local ____lualib = require("lualib_bundle")
41024
- local Set = ____lualib.Set
41025
41139
  local __TS__New = ____lualib.__TS__New
41026
41140
  local ____exports = {}
41027
41141
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
41028
41142
  local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
41029
- ____exports.SIN_ENTITY_TYPES_SET = __TS__New(Set, {
41143
+ local ____ReadonlySet = require("src.types.ReadonlySet")
41144
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
41145
+ ____exports.SIN_ENTITY_TYPES_SET = __TS__New(ReadonlySet, {
41030
41146
  EntityType.SLOTH,
41031
41147
  EntityType.LUST,
41032
41148
  EntityType.WRATH,
@@ -41039,7 +41155,6 @@ return ____exports
41039
41155
  end,
41040
41156
  ["src.functions.npcs"] = function(...)
41041
41157
  local ____lualib = require("lualib_bundle")
41042
- local Set = ____lualib.Set
41043
41158
  local __TS__New = ____lualib.__TS__New
41044
41159
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
41045
41160
  local ____exports = {}
@@ -41063,6 +41178,8 @@ local RaglingVariant = ____isaac_2Dtypescript_2Ddefinitions.RaglingVariant
41063
41178
  local VisVariant = ____isaac_2Dtypescript_2Ddefinitions.VisVariant
41064
41179
  local ____constants = require("src.core.constants")
41065
41180
  local EGGY_STATE_FRAME_OF_FINAL_SPIDER = ____constants.EGGY_STATE_FRAME_OF_FINAL_SPIDER
41181
+ local ____ReadonlySet = require("src.types.ReadonlySet")
41182
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
41066
41183
  local ____entitiesSpecific = require("src.functions.entitiesSpecific")
41067
41184
  local getNPCs = ____entitiesSpecific.getNPCs
41068
41185
  local ____types = require("src.functions.types")
@@ -41103,7 +41220,7 @@ function ____exports.isRaglingDeathPatch(self, npc)
41103
41220
  return npc.Type == EntityType.RAGLING and npc.Variant == asNumber(nil, RaglingVariant.RAG_MANS_RAGLING) and npc.State == NpcState.SPECIAL
41104
41221
  end
41105
41222
  NON_ALIVE_NPCS_TYPE_VARIANT = __TS__New(
41106
- Set,
41223
+ ReadonlySet,
41107
41224
  {
41108
41225
  (tostring(EntityType.VIS) .. ".") .. tostring(VisVariant.CHUBBER_PROJECTILE),
41109
41226
  (tostring(EntityType.DEATH) .. ".") .. tostring(DeathVariant.DEATH_SCYTHE),
@@ -41119,7 +41236,7 @@ NON_ALIVE_NPCS_TYPE_VARIANT = __TS__New(
41119
41236
  }
41120
41237
  )
41121
41238
  NON_ALIVE_NPCS_TYPE_VARIANT_SUB_TYPE = __TS__New(
41122
- Set,
41239
+ ReadonlySet,
41123
41240
  {
41124
41241
  (((tostring(EntityType.CHARGER) .. ".") .. tostring(ChargerVariant.CHARGER)) .. ".") .. tostring(ChargerSubType.MY_SHADOW),
41125
41242
  (((tostring(EntityType.MOTHER) .. ".") .. tostring(MotherVariant.MOTHER_1)) .. ".") .. tostring(MotherSubType.PHASE_2)
@@ -41154,7 +41271,6 @@ return ____exports
41154
41271
  end,
41155
41272
  ["src.functions.bosses"] = function(...)
41156
41273
  local ____lualib = require("lualib_bundle")
41157
- local Set = ____lualib.Set
41158
41274
  local __TS__New = ____lualib.__TS__New
41159
41275
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
41160
41276
  local ____exports = {}
@@ -41171,6 +41287,8 @@ local STAGE_TO_COMBINED_BOSS_SET_MAP = ____bossSets.STAGE_TO_COMBINED_BOSS_SET_M
41171
41287
  local STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = ____bossSets.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP
41172
41288
  local ____sinEntityTypesSet = require("src.sets.sinEntityTypesSet")
41173
41289
  local SIN_ENTITY_TYPES_SET = ____sinEntityTypesSet.SIN_ENTITY_TYPES_SET
41290
+ local ____ReadonlySet = require("src.types.ReadonlySet")
41291
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
41174
41292
  local ____entitiesSpecific = require("src.functions.entitiesSpecific")
41175
41293
  local getNPCs = ____entitiesSpecific.getNPCs
41176
41294
  local spawnNPC = ____entitiesSpecific.spawnNPC
@@ -41213,7 +41331,7 @@ function getNumBossSegments(self, entityType, variant, numSegments)
41213
41331
  end
41214
41332
  until true
41215
41333
  end
41216
- local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(Set, {
41334
+ local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
41217
41335
  EntityType.LARRY_JR,
41218
41336
  EntityType.CHUB,
41219
41337
  EntityType.LOKI,
@@ -41676,35 +41794,37 @@ return ____exports
41676
41794
  local ____exports = {}
41677
41795
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
41678
41796
  local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
41679
- local DEFAULT_COLOR = Color(26 / 255, 14 / 255, 12 / 255)
41797
+ local ____readOnly = require("src.functions.readOnly")
41798
+ local newReadonlyColor = ____readOnly.newReadonlyColor
41799
+ local DEFAULT_COLOR = newReadonlyColor(nil, 26 / 255, 14 / 255, 12 / 255)
41680
41800
  ____exports.VERSUS_SCREEN_BACKGROUND_COLORS = {
41681
41801
  [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),
41802
+ [StageID.BASEMENT] = newReadonlyColor(nil, 26 / 255, 14 / 255, 12 / 255),
41803
+ [StageID.CELLAR] = newReadonlyColor(nil, 26 / 255, 17 / 255, 13 / 255),
41804
+ [StageID.BURNING_BASEMENT] = newReadonlyColor(nil, 28 / 255, 12 / 255, 10 / 255),
41805
+ [StageID.CAVES] = newReadonlyColor(nil, 18 / 255, 13 / 255, 8 / 255),
41806
+ [StageID.CATACOMBS] = newReadonlyColor(nil, 15 / 255, 10 / 255, 8 / 255),
41807
+ [StageID.FLOODED_CAVES] = newReadonlyColor(nil, 21 / 255, 28 / 255, 35 / 255),
41808
+ [StageID.DEPTHS] = newReadonlyColor(nil, 8 / 255, 8 / 255, 8 / 255),
41809
+ [StageID.NECROPOLIS] = newReadonlyColor(nil, 10 / 255, 6 / 255, 6 / 255),
41810
+ [StageID.DANK_DEPTHS] = newReadonlyColor(nil, 8 / 255, 8 / 255, 8 / 255),
41811
+ [StageID.WOMB] = newReadonlyColor(nil, 27 / 255, 3 / 255, 3 / 255),
41812
+ [StageID.UTERO] = newReadonlyColor(nil, 22 / 255, 6 / 255, 5 / 255),
41813
+ [StageID.SCARRED_WOMB] = newReadonlyColor(nil, 42 / 255, 19 / 255, 10 / 255),
41814
+ [StageID.BLUE_WOMB] = newReadonlyColor(nil, 26 / 255, 32 / 255, 40 / 255),
41815
+ [StageID.SHEOL] = newReadonlyColor(nil, 6 / 255, 6 / 255, 6 / 255),
41816
+ [StageID.CATHEDRAL] = newReadonlyColor(nil, 6 / 255, 13 / 255, 17 / 255),
41817
+ [StageID.DARK_ROOM] = newReadonlyColor(nil, 9 / 255, 4 / 255, 3 / 255),
41818
+ [StageID.CHEST] = newReadonlyColor(nil, 15 / 255, 9 / 255, 6 / 255),
41819
+ [StageID.VOID] = newReadonlyColor(nil, 0, 0, 0),
41820
+ [StageID.DOWNPOUR] = newReadonlyColor(nil, 29 / 255, 30 / 255, 32 / 255),
41821
+ [StageID.DROSS] = newReadonlyColor(nil, 35 / 255, 35 / 255, 29 / 255),
41822
+ [StageID.MINES] = newReadonlyColor(nil, 17 / 255, 15 / 255, 12 / 255),
41823
+ [StageID.ASHPIT] = newReadonlyColor(nil, 12 / 255, 10 / 255, 10 / 255),
41824
+ [StageID.MAUSOLEUM] = newReadonlyColor(nil, 14 / 255, 10 / 255, 14 / 255),
41825
+ [StageID.GEHENNA] = newReadonlyColor(nil, 15 / 255, 4 / 255, 4 / 255),
41826
+ [StageID.CORPSE] = newReadonlyColor(nil, 13 / 255, 14 / 255, 12 / 255),
41827
+ [StageID.MORTIS] = newReadonlyColor(nil, 13 / 255, 14 / 255, 12 / 255),
41708
41828
  [StageID.HOME] = DEFAULT_COLOR,
41709
41829
  [StageID.BACKWARDS] = DEFAULT_COLOR
41710
41830
  }
@@ -41714,35 +41834,37 @@ return ____exports
41714
41834
  local ____exports = {}
41715
41835
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
41716
41836
  local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
41717
- local DEFAULT_COLOR = Color(201 / 255, 114 / 255, 96 / 255)
41837
+ local ____readOnly = require("src.functions.readOnly")
41838
+ local newReadonlyColor = ____readOnly.newReadonlyColor
41839
+ local DEFAULT_COLOR = newReadonlyColor(nil, 201 / 255, 114 / 255, 96 / 255)
41718
41840
  ____exports.VERSUS_SCREEN_DIRT_SPOT_COLORS = {
41719
41841
  [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),
41842
+ [StageID.BASEMENT] = newReadonlyColor(nil, 201 / 255, 114 / 255, 96 / 255),
41843
+ [StageID.CELLAR] = newReadonlyColor(nil, 229 / 255, 157 / 255, 111 / 255),
41844
+ [StageID.BURNING_BASEMENT] = newReadonlyColor(nil, 252 / 255, 108 / 255, 90 / 255),
41845
+ [StageID.CAVES] = newReadonlyColor(nil, 167 / 255, 111 / 255, 75 / 255),
41846
+ [StageID.CATACOMBS] = newReadonlyColor(nil, 135 / 255, 90 / 255, 80 / 255),
41847
+ [StageID.FLOODED_CAVES] = newReadonlyColor(nil, 111 / 255, 147 / 255, 180 / 255),
41848
+ [StageID.DEPTHS] = newReadonlyColor(nil, 70 / 255, 70 / 255, 72 / 255),
41849
+ [StageID.NECROPOLIS] = newReadonlyColor(nil, 88 / 255, 67 / 255, 54 / 255),
41850
+ [StageID.DANK_DEPTHS] = newReadonlyColor(nil, 70 / 255, 70 / 255, 72 / 255),
41851
+ [StageID.WOMB] = newReadonlyColor(nil, 241 / 255, 28 / 255, 28 / 255),
41852
+ [StageID.UTERO] = newReadonlyColor(nil, 199 / 255, 60 / 255, 48 / 255),
41853
+ [StageID.SCARRED_WOMB] = newReadonlyColor(nil, 247 / 255, 152 / 255, 88 / 255),
41854
+ [StageID.BLUE_WOMB] = newReadonlyColor(nil, 157 / 255, 209 / 255, 255 / 255),
41855
+ [StageID.SHEOL] = newReadonlyColor(nil, 60 / 255, 54 / 255, 54 / 255),
41856
+ [StageID.CATHEDRAL] = newReadonlyColor(nil, 44 / 255, 100 / 255, 111 / 255),
41857
+ [StageID.DARK_ROOM] = newReadonlyColor(nil, 80 / 255, 38 / 255, 20 / 255),
41858
+ [StageID.CHEST] = newReadonlyColor(nil, 175 / 255, 108 / 255, 72 / 255),
41859
+ [StageID.VOID] = newReadonlyColor(nil, 70 / 255, 5 / 255, 5 / 255),
41860
+ [StageID.DOWNPOUR] = newReadonlyColor(nil, 149 / 255, 157 / 255, 167 / 255),
41861
+ [StageID.DROSS] = newReadonlyColor(nil, 179 / 255, 179 / 255, 143 / 255),
41862
+ [StageID.MINES] = newReadonlyColor(nil, 93 / 255, 85 / 255, 72 / 255),
41863
+ [StageID.ASHPIT] = newReadonlyColor(nil, 106 / 255, 102 / 255, 94 / 255),
41864
+ [StageID.MAUSOLEUM] = newReadonlyColor(nil, 70 / 255, 59 / 255, 72 / 255),
41865
+ [StageID.GEHENNA] = newReadonlyColor(nil, 59 / 255, 41 / 255, 41 / 255),
41866
+ [StageID.CORPSE] = newReadonlyColor(nil, 124 / 255, 134 / 255, 111 / 255),
41867
+ [StageID.MORTIS] = newReadonlyColor(nil, 124 / 255, 134 / 255, 111 / 255),
41746
41868
  [StageID.HOME] = DEFAULT_COLOR,
41747
41869
  [StageID.BACKWARDS] = DEFAULT_COLOR
41748
41870
  }
@@ -43370,7 +43492,7 @@ local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
43370
43492
  local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
43371
43493
  local Set = ____lualib.Set
43372
43494
  local ____exports = {}
43373
- local getRoomShapeToWallGridIndexSet, getVanillaWallGridIndexSetForRoomShape, getWallGridIndexSetForRectangleRoomShape
43495
+ local getVanillaWallGridIndexSetForRoomShape, getWallGridIndexSetForRectangleRoomShape
43374
43496
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
43375
43497
  local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
43376
43498
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
@@ -43388,14 +43510,6 @@ local inHomeCloset = ____rooms.inHomeCloset
43388
43510
  local ____roomShape = require("src.functions.roomShape")
43389
43511
  local getRoomShapeCorners = ____roomShape.getRoomShapeCorners
43390
43512
  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
43513
  function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
43400
43514
  local corners = getRoomShapeCorners(nil, roomShape)
43401
43515
  local lRoom = isLRoom(nil, roomShape)
@@ -43563,7 +43677,14 @@ function getWallGridIndexSetForRectangleRoomShape(self, roomShape, corners)
43563
43677
  {__TS__SparseArraySpread(____array_8)}
43564
43678
  )
43565
43679
  end
43566
- local ROOM_SHAPE_TO_WALL_GRID_INDEX_SET = getRoomShapeToWallGridIndexSet(nil)
43680
+ local ROOM_SHAPE_TO_WALL_GRID_INDEX_SET = (function()
43681
+ local roomShapeToWallGridIndexSet = __TS__New(Map)
43682
+ for ____, roomShape in ipairs(getEnumValues(nil, RoomShape)) do
43683
+ local gridIndexSet = getVanillaWallGridIndexSetForRoomShape(nil, roomShape)
43684
+ roomShapeToWallGridIndexSet:set(roomShape, gridIndexSet)
43685
+ end
43686
+ return roomShapeToWallGridIndexSet
43687
+ end)(nil)
43567
43688
  local HOME_CLOSET_CORNERS = {
43568
43689
  {
43569
43690
  type = CornerType.TOP_LEFT,
@@ -43630,7 +43751,6 @@ return ____exports
43630
43751
  end,
43631
43752
  ["src.functions.emptyRoom"] = function(...)
43632
43753
  local ____lualib = require("lualib_bundle")
43633
- local Set = ____lualib.Set
43634
43754
  local __TS__New = ____lualib.__TS__New
43635
43755
  local ____exports = {}
43636
43756
  local emptyRoomEntities, EMPTY_ROOM_BLACKLIST_ENTITY_SET
@@ -43640,6 +43760,8 @@ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
43640
43760
  local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
43641
43761
  local ____cachedClasses = require("src.core.cachedClasses")
43642
43762
  local game = ____cachedClasses.game
43763
+ local ____ReadonlySet = require("src.types.ReadonlySet")
43764
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
43643
43765
  local ____entities = require("src.functions.entities")
43644
43766
  local getEntities = ____entities.getEntities
43645
43767
  local ____gridEntities = require("src.functions.gridEntities")
@@ -43690,7 +43812,7 @@ function ____exports.emptyRoomGridEntities(self)
43690
43812
  roomUpdateSafe(nil)
43691
43813
  end
43692
43814
  end
43693
- EMPTY_ROOM_BLACKLIST_ENTITY_SET = __TS__New(Set, {
43815
+ EMPTY_ROOM_BLACKLIST_ENTITY_SET = __TS__New(ReadonlySet, {
43694
43816
  EntityType.PLAYER,
43695
43817
  EntityType.TEAR,
43696
43818
  EntityType.FAMILIAR,
@@ -43874,31 +43996,33 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
43874
43996
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
43875
43997
  local ____constants = require("src.core.constants")
43876
43998
  local VectorZero = ____constants.VectorZero
43877
- local TWO_BY_TWO_BOTTOM_RIGHT = Vector(25, 13)
43999
+ local ____readOnly = require("src.functions.readOnly")
44000
+ local newReadonlyVector = ____readOnly.newReadonlyVector
44001
+ local TWO_BY_TWO_BOTTOM_RIGHT = newReadonlyVector(nil, 25, 13)
43878
44002
  ____exports.L_ROOM_SHAPE_TO_RECTANGLES = {
43879
44003
  [RoomShape.LTL] = {
43880
- Vector(13, 0),
43881
- Vector(25, 13),
43882
- Vector(0, 7),
43883
- TWO_BY_TWO_BOTTOM_RIGHT
44004
+ verticalTopLeft = newReadonlyVector(nil, 13, 0),
44005
+ verticalBottomRight = newReadonlyVector(nil, 25, 13),
44006
+ horizontalTopLeft = newReadonlyVector(nil, 0, 7),
44007
+ horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
43884
44008
  },
43885
44009
  [RoomShape.LTR] = {
43886
- VectorZero,
43887
- Vector(12, 13),
43888
- Vector(0, 7),
43889
- TWO_BY_TWO_BOTTOM_RIGHT
44010
+ verticalTopLeft = VectorZero,
44011
+ verticalBottomRight = newReadonlyVector(nil, 12, 13),
44012
+ horizontalTopLeft = newReadonlyVector(nil, 0, 7),
44013
+ horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
43890
44014
  },
43891
44015
  [RoomShape.LBL] = {
43892
- VectorZero,
43893
- Vector(25, 6),
43894
- Vector(13, 0),
43895
- TWO_BY_TWO_BOTTOM_RIGHT
44016
+ verticalTopLeft = VectorZero,
44017
+ verticalBottomRight = newReadonlyVector(nil, 25, 6),
44018
+ horizontalTopLeft = newReadonlyVector(nil, 13, 0),
44019
+ horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
43896
44020
  },
43897
44021
  [RoomShape.LBR] = {
43898
- VectorZero,
43899
- Vector(25, 6),
43900
- VectorZero,
43901
- Vector(12, 13)
44022
+ verticalTopLeft = VectorZero,
44023
+ verticalBottomRight = newReadonlyVector(nil, 25, 6),
44024
+ horizontalTopLeft = VectorZero,
44025
+ horizontalBottomRight = newReadonlyVector(nil, 12, 13)
43902
44026
  }
43903
44027
  }
43904
44028
  return ____exports
@@ -43930,7 +44054,10 @@ function isValidGridPositionLRoom(self, gridPosition, roomShape)
43930
44054
  if rectangles == nil then
43931
44055
  return false
43932
44056
  end
43933
- local verticalTopLeft, verticalBottomRight, horizontalTopLeft, horizontalBottomRight = table.unpack(rectangles)
44057
+ local verticalTopLeft = rectangles.verticalTopLeft
44058
+ local verticalBottomRight = rectangles.verticalBottomRight
44059
+ local horizontalTopLeft = rectangles.horizontalTopLeft
44060
+ local horizontalBottomRight = rectangles.horizontalBottomRight
43934
44061
  return inRectangle(nil, gridPosition, verticalTopLeft, verticalBottomRight) or inRectangle(nil, gridPosition, horizontalTopLeft, horizontalBottomRight)
43935
44062
  end
43936
44063
  function ____exports.gridCoordinatesToWorldPosition(self, x, y)
@@ -44304,7 +44431,6 @@ return ____exports
44304
44431
  end,
44305
44432
  ["src.classes.features.other.DeployJSONRoom"] = function(...)
44306
44433
  local ____lualib = require("lualib_bundle")
44307
- local Set = ____lualib.Set
44308
44434
  local __TS__New = ____lualib.__TS__New
44309
44435
  local __TS__Class = ____lualib.__TS__Class
44310
44436
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
@@ -44355,6 +44481,8 @@ local setRoomUncleared = ____rooms.setRoomUncleared
44355
44481
  local ____types = require("src.functions.types")
44356
44482
  local asCollectibleType = ____types.asCollectibleType
44357
44483
  local asNumber = ____types.asNumber
44484
+ local ____ReadonlySet = require("src.types.ReadonlySet")
44485
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
44358
44486
  local ____Feature = require("src.classes.private.Feature")
44359
44487
  local Feature = ____Feature.Feature
44360
44488
  function spawnGridEntityForJSONRoom(self, gridEntityXMLType, gridEntityXMLVariant, x, y)
@@ -44488,7 +44616,7 @@ function getPitFrame(self, L, R, U, D, UL, UR, DL, DR)
44488
44616
  return F
44489
44617
  end
44490
44618
  local gridEntityXMLTypes = getEnumValues(nil, GridEntityXMLType)
44491
- local GRID_ENTITY_XML_TYPE_SET = __TS__New(Set, gridEntityXMLTypes)
44619
+ local GRID_ENTITY_XML_TYPE_SET = __TS__New(ReadonlySet, gridEntityXMLTypes)
44492
44620
  ____exports.DeployJSONRoom = __TS__Class()
44493
44621
  local DeployJSONRoom = ____exports.DeployJSONRoom
44494
44622
  DeployJSONRoom.name = "DeployJSONRoom"
@@ -45545,12 +45673,13 @@ return ____exports
45545
45673
  end,
45546
45674
  ["src.maps.falsePHDPillConversions"] = function(...)
45547
45675
  local ____lualib = require("lualib_bundle")
45548
- local Map = ____lualib.Map
45549
45676
  local __TS__New = ____lualib.__TS__New
45550
45677
  local ____exports = {}
45551
45678
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
45552
45679
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
45553
- ____exports.FALSE_PHD_PILL_CONVERSIONS = __TS__New(Map, {
45680
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
45681
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
45682
+ ____exports.FALSE_PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
45554
45683
  {PillEffect.BAD_GAS, PillEffect.HEALTH_DOWN},
45555
45684
  {PillEffect.BALLS_OF_STEEL, PillEffect.BAD_TRIP},
45556
45685
  {PillEffect.BOMBS_ARE_KEYS, PillEffect.TEARS_DOWN},
@@ -45586,12 +45715,13 @@ return ____exports
45586
45715
  end,
45587
45716
  ["src.maps.PHDPillConversions"] = function(...)
45588
45717
  local ____lualib = require("lualib_bundle")
45589
- local Map = ____lualib.Map
45590
45718
  local __TS__New = ____lualib.__TS__New
45591
45719
  local ____exports = {}
45592
45720
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
45593
45721
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
45594
- ____exports.PHD_PILL_CONVERSIONS = __TS__New(Map, {
45722
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
45723
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
45724
+ ____exports.PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
45595
45725
  {PillEffect.BAD_TRIP, PillEffect.BALLS_OF_STEEL},
45596
45726
  {PillEffect.HEALTH_DOWN, PillEffect.HEALTH_UP},
45597
45727
  {PillEffect.RANGE_DOWN, PillEffect.RANGE_UP},
@@ -45891,12 +46021,13 @@ return ____exports
45891
46021
  end,
45892
46022
  ["src.maps.cardNameToTypeMap"] = function(...)
45893
46023
  local ____lualib = require("lualib_bundle")
45894
- local Map = ____lualib.Map
45895
46024
  local __TS__New = ____lualib.__TS__New
45896
46025
  local ____exports = {}
45897
46026
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
45898
46027
  local CardType = ____isaac_2Dtypescript_2Ddefinitions.CardType
45899
- ____exports.CARD_NAME_TO_TYPE_MAP = __TS__New(Map, {
46028
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46029
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46030
+ ____exports.CARD_NAME_TO_TYPE_MAP = __TS__New(ReadonlyMap, {
45900
46031
  {"fool", CardType.FOOL},
45901
46032
  {"magician", CardType.MAGICIAN},
45902
46033
  {"mag", CardType.MAGICIAN},
@@ -46104,12 +46235,13 @@ return ____exports
46104
46235
  end,
46105
46236
  ["src.maps.characterNameToTypeMap"] = function(...)
46106
46237
  local ____lualib = require("lualib_bundle")
46107
- local Map = ____lualib.Map
46108
46238
  local __TS__New = ____lualib.__TS__New
46109
46239
  local ____exports = {}
46110
46240
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46111
46241
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
46112
- ____exports.CHARACTER_NAME_TO_TYPE_MAP = __TS__New(Map, {
46242
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46243
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46244
+ ____exports.CHARACTER_NAME_TO_TYPE_MAP = __TS__New(ReadonlyMap, {
46113
46245
  {"isaac", PlayerType.ISAAC},
46114
46246
  {"magdalene", PlayerType.MAGDALENE},
46115
46247
  {"maggy", PlayerType.MAGDALENE},
@@ -46205,24 +46337,27 @@ local ____string = require("src.functions.string")
46205
46337
  local removeNonAlphanumericCharacters = ____string.removeNonAlphanumericCharacters
46206
46338
  local ____collectibleTypeToNameMap = require("src.maps.collectibleTypeToNameMap")
46207
46339
  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
46340
+ ____exports.COLLECTIBLE_NAME_TO_TYPE_MAP = (function()
46341
+ local collectibleNameToTypeMap = __TS__New(Map)
46342
+ for ____, ____value in __TS__Iterator(COLLECTIBLE_TYPE_TO_NAME_MAP) do
46343
+ local collectibleType = ____value[1]
46344
+ local name = ____value[2]
46345
+ local simpleString = removeNonAlphanumericCharacters(nil, name)
46346
+ collectibleNameToTypeMap:set(simpleString, collectibleType)
46347
+ end
46348
+ return collectibleNameToTypeMap
46349
+ end)(nil)
46216
46350
  return ____exports
46217
46351
  end,
46218
46352
  ["src.maps.pillNameToEffectMap"] = function(...)
46219
46353
  local ____lualib = require("lualib_bundle")
46220
- local Map = ____lualib.Map
46221
46354
  local __TS__New = ____lualib.__TS__New
46222
46355
  local ____exports = {}
46223
46356
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46224
46357
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
46225
- ____exports.PILL_NAME_TO_EFFECT_MAP = __TS__New(Map, {
46358
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46359
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46360
+ ____exports.PILL_NAME_TO_EFFECT_MAP = __TS__New(ReadonlyMap, {
46226
46361
  {"badGas", PillEffect.BAD_GAS},
46227
46362
  {"gas", PillEffect.BAD_GAS},
46228
46363
  {"badTrip", PillEffect.BAD_TRIP},
@@ -46308,12 +46443,13 @@ return ____exports
46308
46443
  end,
46309
46444
  ["src.maps.roomNameToTypeMap"] = function(...)
46310
46445
  local ____lualib = require("lualib_bundle")
46311
- local Map = ____lualib.Map
46312
46446
  local __TS__New = ____lualib.__TS__New
46313
46447
  local ____exports = {}
46314
46448
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46315
46449
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
46316
- ____exports.ROOM_NAME_TO_TYPE_MAP = __TS__New(Map, {
46450
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46451
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46452
+ ____exports.ROOM_NAME_TO_TYPE_MAP = __TS__New(ReadonlyMap, {
46317
46453
  {"default", RoomType.DEFAULT},
46318
46454
  {"shop", RoomType.SHOP},
46319
46455
  {"error", RoomType.ERROR},
@@ -46361,19 +46497,20 @@ local ____string = require("src.functions.string")
46361
46497
  local removeNonAlphanumericCharacters = ____string.removeNonAlphanumericCharacters
46362
46498
  local ____trinketTypeToNameMap = require("src.maps.trinketTypeToNameMap")
46363
46499
  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
46500
+ ____exports.TRINKET_NAME_TO_TYPE_MAP = (function()
46501
+ local trinketNameToTypeMap = __TS__New(Map)
46502
+ for ____, ____value in __TS__Iterator(TRINKET_TYPE_TO_NAME_MAP) do
46503
+ local trinketType = ____value[1]
46504
+ local name = ____value[2]
46505
+ local simpleString = removeNonAlphanumericCharacters(nil, name)
46506
+ trinketNameToTypeMap:set(simpleString, trinketType)
46507
+ end
46508
+ return trinketNameToTypeMap
46509
+ end)(nil)
46372
46510
  return ____exports
46373
46511
  end,
46374
46512
  ["src.functions.logEntities"] = function(...)
46375
46513
  local ____lualib = require("lualib_bundle")
46376
- local Set = ____lualib.Set
46377
46514
  local __TS__New = ____lualib.__TS__New
46378
46515
  local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
46379
46516
  local __TS__StringTrim = ____lualib.__TS__StringTrim
@@ -46391,6 +46528,8 @@ local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
46391
46528
  local PlayerVariant = ____isaac_2Dtypescript_2Ddefinitions.PlayerVariant
46392
46529
  local ProjectileVariant = ____isaac_2Dtypescript_2Ddefinitions.ProjectileVariant
46393
46530
  local TearVariant = ____isaac_2Dtypescript_2Ddefinitions.TearVariant
46531
+ local ____ReadonlySet = require("src.types.ReadonlySet")
46532
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
46394
46533
  local ____entities = require("src.functions.entities")
46395
46534
  local getEntities = ____entities.getEntities
46396
46535
  local getEntityFromPtrHash = ____entities.getEntityFromPtrHash
@@ -46512,7 +46651,7 @@ function getGridEntityLogLine(gridEntity, num)
46512
46651
  end
46513
46652
  return msg
46514
46653
  end
46515
- local IGNORE_EFFECT_VARIANTS = __TS__New(Set, {
46654
+ local IGNORE_EFFECT_VARIANTS = __TS__New(ReadonlySet, {
46516
46655
  EffectVariant.BLOOD_EXPLOSION,
46517
46656
  EffectVariant.BLOOD_PARTICLE,
46518
46657
  EffectVariant.TINY_BUG,
@@ -50553,13 +50692,15 @@ return ____exports
50553
50692
  end,
50554
50693
  ["src.functions.globals"] = function(...)
50555
50694
  local ____lualib = require("lualib_bundle")
50556
- local Set = ____lualib.Set
50557
50695
  local __TS__New = ____lualib.__TS__New
50696
+ local Set = ____lualib.Set
50558
50697
  local __TS__ArraySort = ____lualib.__TS__ArraySort
50559
50698
  local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
50560
50699
  local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
50561
50700
  local ____exports = {}
50562
50701
  local isRacingPlusSandboxEnabled
50702
+ local ____ReadonlySet = require("src.types.ReadonlySet")
50703
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
50563
50704
  local ____debugFunctions = require("src.functions.debugFunctions")
50564
50705
  local getTraceback = ____debugFunctions.getTraceback
50565
50706
  local isLuaDebugEnabled = ____debugFunctions.isLuaDebugEnabled
@@ -50577,7 +50718,7 @@ local twoDimensionalSort = ____utils.twoDimensionalSort
50577
50718
  function isRacingPlusSandboxEnabled(self)
50578
50719
  return SandboxGetParentFunctionDescription ~= nil
50579
50720
  end
50580
- local DEFAULT_GLOBALS = __TS__New(Set, {
50721
+ local DEFAULT_GLOBALS = __TS__New(ReadonlySet, {
50581
50722
  "ActionTriggers",
50582
50723
  "ActiveSlot",
50583
50724
  "BabySubType",
@@ -50741,7 +50882,7 @@ local DEFAULT_GLOBALS = __TS__New(Set, {
50741
50882
  "utf8",
50742
50883
  "xpcall"
50743
50884
  })
50744
- local LUA_DEBUG_ADDED_GLOBALS = __TS__New(Set, {
50885
+ local LUA_DEBUG_ADDED_GLOBALS = __TS__New(ReadonlySet, {
50745
50886
  "debug",
50746
50887
  "dofile",
50747
50888
  "loadfile",
@@ -50749,7 +50890,7 @@ local LUA_DEBUG_ADDED_GLOBALS = __TS__New(Set, {
50749
50890
  "os",
50750
50891
  "package"
50751
50892
  })
50752
- local RACING_PLUS_SANDBOX_ADDED_GLOBALS = __TS__New(Set, {"sandboxTraceback", "sandboxGetTraceback", "getParentFunctionDescription"})
50893
+ local RACING_PLUS_SANDBOX_ADDED_GLOBALS = __TS__New(ReadonlySet, {"sandboxTraceback", "sandboxGetTraceback", "getParentFunctionDescription"})
50753
50894
  function ____exports.getDefaultGlobals(self)
50754
50895
  local defaultGlobals = copySet(nil, DEFAULT_GLOBALS)
50755
50896
  if isLuaDebugEnabled(nil) then
@@ -51217,7 +51358,6 @@ return ____exports
51217
51358
  end,
51218
51359
  ["src.functions.transformations"] = function(...)
51219
51360
  local ____lualib = require("lualib_bundle")
51220
- local Map = ____lualib.Map
51221
51361
  local __TS__New = ____lualib.__TS__New
51222
51362
  local Set = ____lualib.Set
51223
51363
  local __TS__Iterator = ____lualib.__TS__Iterator
@@ -51227,13 +51367,17 @@ local ItemConfigTag = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigTag
51227
51367
  local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
51228
51368
  local ____transformationNames = require("src.objects.transformationNames")
51229
51369
  local TRANSFORMATION_NAMES = ____transformationNames.TRANSFORMATION_NAMES
51370
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
51371
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
51372
+ local ____ReadonlySet = require("src.types.ReadonlySet")
51373
+ local ReadonlySet = ____ReadonlySet.ReadonlySet
51230
51374
  local ____collectibles = require("src.functions.collectibles")
51231
51375
  local getCollectibleTags = ____collectibles.getCollectibleTags
51232
51376
  local ____enums = require("src.functions.enums")
51233
51377
  local getEnumValues = ____enums.getEnumValues
51234
51378
  local ____flag = require("src.functions.flag")
51235
51379
  local hasFlag = ____flag.hasFlag
51236
- local TRANSFORMATION_TO_TAG_MAP = __TS__New(Map, {
51380
+ local TRANSFORMATION_TO_TAG_MAP = __TS__New(ReadonlyMap, {
51237
51381
  {PlayerForm.GUPPY, ItemConfigTag.GUPPY},
51238
51382
  {PlayerForm.BEELZEBUB, ItemConfigTag.FLY},
51239
51383
  {PlayerForm.FUN_GUY, ItemConfigTag.MUSHROOM},
@@ -51247,7 +51391,7 @@ local TRANSFORMATION_TO_TAG_MAP = __TS__New(Map, {
51247
51391
  {PlayerForm.BOOKWORM, ItemConfigTag.BOOK},
51248
51392
  {PlayerForm.SPIDER_BABY, ItemConfigTag.SPIDER}
51249
51393
  })
51250
- local TRANSFORMATIONS_THAT_GRANT_FLYING = __TS__New(Set, {PlayerForm.GUPPY, PlayerForm.BEELZEBUB, PlayerForm.SERAPHIM, PlayerForm.LEVIATHAN})
51394
+ local TRANSFORMATIONS_THAT_GRANT_FLYING = __TS__New(ReadonlySet, {PlayerForm.GUPPY, PlayerForm.BEELZEBUB, PlayerForm.SERAPHIM, PlayerForm.LEVIATHAN})
51251
51395
  function ____exports.getPlayerTransformations(self, player)
51252
51396
  local transformations = __TS__New(Set)
51253
51397
  for ____, playerForm in ipairs(getEnumValues(nil, PlayerForm)) do
@@ -51293,12 +51437,13 @@ return ____exports
51293
51437
  end,
51294
51438
  ["src.maps.transformationNameToPlayerFormMap"] = function(...)
51295
51439
  local ____lualib = require("lualib_bundle")
51296
- local Map = ____lualib.Map
51297
51440
  local __TS__New = ____lualib.__TS__New
51298
51441
  local ____exports = {}
51299
51442
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
51300
51443
  local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
51301
- ____exports.TRANSFORMATION_NAME_TO_PLAYER_FORM_MAP = __TS__New(Map, {
51444
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
51445
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
51446
+ ____exports.TRANSFORMATION_NAME_TO_PLAYER_FORM_MAP = __TS__New(ReadonlyMap, {
51302
51447
  {"guppy", PlayerForm.GUPPY},
51303
51448
  {"cat", PlayerForm.GUPPY},
51304
51449
  {"beelzebub", PlayerForm.BEELZEBUB},
@@ -52464,6 +52609,22 @@ do
52464
52609
  end
52465
52610
  end
52466
52611
  end
52612
+ do
52613
+ local ____export = require("src.types.ReadonlyMap")
52614
+ for ____exportKey, ____exportValue in pairs(____export) do
52615
+ if ____exportKey ~= "default" then
52616
+ ____exports[____exportKey] = ____exportValue
52617
+ end
52618
+ end
52619
+ end
52620
+ do
52621
+ local ____export = require("src.types.ReadonlySet")
52622
+ for ____exportKey, ____exportValue in pairs(____export) do
52623
+ if ____exportKey ~= "default" then
52624
+ ____exports[____exportKey] = ____exportValue
52625
+ end
52626
+ end
52627
+ end
52467
52628
  return ____exports
52468
52629
  end,
52469
52630
  ["src.indexLua"] = function(...)
@@ -53532,6 +53693,22 @@ do
53532
53693
  end
53533
53694
  end
53534
53695
  end
53696
+ do
53697
+ local ____export = require("src.types.ReadonlyMap")
53698
+ for ____exportKey, ____exportValue in pairs(____export) do
53699
+ if ____exportKey ~= "default" then
53700
+ ____exports[____exportKey] = ____exportValue
53701
+ end
53702
+ end
53703
+ end
53704
+ do
53705
+ local ____export = require("src.types.ReadonlySet")
53706
+ for ____exportKey, ____exportValue in pairs(____export) do
53707
+ if ____exportKey ~= "default" then
53708
+ ____exports[____exportKey] = ____exportValue
53709
+ end
53710
+ end
53711
+ end
53535
53712
  do
53536
53713
  local ____export = require("lua_modules.isaac-typescript-definitions.dist.src.index")
53537
53714
  for ____exportKey, ____exportValue in pairs(____export) do