isaacscript-common 51.2.1 → 51.2.3

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 (58) hide show
  1. package/dist/index.rollup.d.ts +18 -5
  2. package/dist/isaacscript-common.lua +128 -106
  3. package/dist/src/arrays/cachedEnumValues.d.ts +2 -1
  4. package/dist/src/arrays/cachedEnumValues.d.ts.map +1 -1
  5. package/dist/src/arrays/cachedEnumValues.lua +2 -0
  6. package/dist/src/functions/bosses.d.ts +8 -4
  7. package/dist/src/functions/bosses.d.ts.map +1 -1
  8. package/dist/src/functions/bosses.lua +18 -26
  9. package/dist/src/functions/entities.d.ts +1 -1
  10. package/dist/src/functions/entities.lua +4 -4
  11. package/dist/src/functions/input.lua +3 -3
  12. package/dist/src/functions/pills.lua +6 -6
  13. package/dist/src/functions/roomShapeWalls.d.ts +9 -1
  14. package/dist/src/functions/roomShapeWalls.d.ts.map +1 -1
  15. package/dist/src/functions/roomShapeWalls.lua +34 -25
  16. package/dist/src/maps/PHDPillConversionsMap.d.ts +3 -0
  17. package/dist/src/maps/PHDPillConversionsMap.d.ts.map +1 -0
  18. package/dist/src/maps/{PHDPillConversions.lua → PHDPillConversionsMap.lua} +1 -1
  19. package/dist/src/maps/collectibleNameToTypeMap.d.ts +1 -2
  20. package/dist/src/maps/collectibleNameToTypeMap.d.ts.map +1 -1
  21. package/dist/src/maps/collectibleNameToTypeMap.lua +20 -12
  22. package/dist/src/maps/entityTypeVariantToBossIDMap.d.ts +3 -0
  23. package/dist/src/maps/entityTypeVariantToBossIDMap.d.ts.map +1 -0
  24. package/dist/src/maps/entityTypeVariantToBossIDMap.lua +26 -0
  25. package/dist/src/maps/falsePHDPillConversionsMap.d.ts +3 -0
  26. package/dist/src/maps/falsePHDPillConversionsMap.d.ts.map +1 -0
  27. package/dist/src/maps/{falsePHDPillConversions.lua → falsePHDPillConversionsMap.lua} +1 -1
  28. package/dist/src/maps/keyboardToStringMap.d.ts +4 -0
  29. package/dist/src/maps/keyboardToStringMap.d.ts.map +1 -0
  30. package/dist/src/maps/{keyboardToString.lua → keyboardToStringMap.lua} +1 -1
  31. package/dist/src/sets/bossSets.d.ts.map +1 -1
  32. package/dist/src/sets/bossSets.lua +19 -27
  33. package/dist/src/sets/storyBossEntityTypesSet.d.ts +3 -0
  34. package/dist/src/sets/storyBossEntityTypesSet.d.ts.map +1 -0
  35. package/dist/src/sets/{storyBossesSet.lua → storyBossEntityTypesSet.lua} +1 -1
  36. package/package.json +1 -1
  37. package/src/arrays/cachedEnumValues.ts +3 -0
  38. package/src/functions/bosses.ts +10 -20
  39. package/src/functions/entities.ts +3 -3
  40. package/src/functions/input.ts +2 -2
  41. package/src/functions/pills.ts +4 -4
  42. package/src/functions/roomShapeWalls.ts +79 -75
  43. package/src/maps/PHDPillConversionsMap.ts +23 -0
  44. package/src/maps/collectibleNameToTypeMap.ts +9 -14
  45. package/src/maps/entityTypeVariantToBossIDMap.ts +14 -0
  46. package/src/maps/{falsePHDPillConversions.ts → falsePHDPillConversionsMap.ts} +1 -1
  47. package/src/maps/{keyboardToString.ts → keyboardToStringMap.ts} +1 -1
  48. package/src/sets/bossSets.ts +9 -28
  49. package/src/sets/{storyBossesSet.ts → storyBossEntityTypesSet.ts} +1 -1
  50. package/dist/src/maps/PHDPillConversions.d.ts +0 -3
  51. package/dist/src/maps/PHDPillConversions.d.ts.map +0 -1
  52. package/dist/src/maps/falsePHDPillConversions.d.ts +0 -3
  53. package/dist/src/maps/falsePHDPillConversions.d.ts.map +0 -1
  54. package/dist/src/maps/keyboardToString.d.ts +0 -4
  55. package/dist/src/maps/keyboardToString.d.ts.map +0 -1
  56. package/dist/src/sets/storyBossesSet.d.ts +0 -3
  57. package/dist/src/sets/storyBossesSet.d.ts.map +0 -1
  58. package/src/maps/PHDPillConversions.ts +0 -21
@@ -4720,13 +4720,17 @@ export declare function getAliveBosses(entityType?: EntityType | -1, variant?: n
4720
4720
  export declare function getAliveNPCs(entityType?: EntityType | -1, variant?: number, subType?: number, ignoreFriendly?: boolean): EntityNPC[];
4721
4721
 
4722
4722
  /**
4723
- * Helper function to get the set of every boss in the game.
4723
+ * Helper function to get the set of every boss in the game (which is derived from the `BossID`
4724
+ * enum).
4724
4725
  *
4725
- * Note that this set does not include:
4726
+ * This includes:
4727
+ * - Ultra Greed
4728
+ *
4729
+ * This does not include:
4726
4730
  * - mini-bosses (e.g. Ultra Pride, Krampus)
4727
4731
  * - bosses that do not appear in Boss Rooms (e.g. Uriel, Gabriel)
4728
- * - the second phase of multi-phase bosses (e.g. Mega Satan 2, Ultra Famine, Ultra Pestilence,
4729
- * Ultra War, Ultra Death)
4732
+ * - the second phase of multi-phase bosses (e.g. Mega Satan 2)
4733
+ * - sub-bosses of The Beast fight (e.g. Ultra Famine, Ultra Pestilence, Ultra War, Ultra Death)
4730
4734
  * - bosses that do not have any Boss Rooms defined due to being unfinished (e.g. Raglich)
4731
4735
  *
4732
4736
  * Also see the `getBossSet` and `getCombinedBossSet` functions.
@@ -7711,6 +7715,15 @@ export declare function getUnusedDoorSlots(): DoorSlot[];
7711
7715
  */
7712
7716
  export declare function getUsableActiveItemSlots(player: EntityPlayer, collectibleType: CollectibleType): ActiveSlot[];
7713
7717
 
7718
+ /**
7719
+ * Helper function to get the set of grid indexes that represent where the walls are supposed to be
7720
+ * in a given room shape.
7721
+ *
7722
+ * This function only works reliably in vanilla rooms because in a modded room, it is possible to
7723
+ * place walls in a non-standard location.
7724
+ */
7725
+ export declare function getVanillaWallGridIndexSetForRoomShape(roomShape: RoomShape): ReadonlySet<int>;
7726
+
7714
7727
  /**
7715
7728
  * Get how many hearts are currently being shown on the hearts UI.
7716
7729
  *
@@ -9477,7 +9490,7 @@ export declare function isStageWithStoryBoss(stage: LevelStage): boolean;
9477
9490
  /**
9478
9491
  * Helper function to determine if the specified entity type is an end-game story boss, like Isaac,
9479
9492
  * Blue Baby, Mega Satan, The Beast, and so on. This is useful because certain effects should only
9480
- * apply to non-story bosses, like Vanishing Twin. Also see the `STORY_BOSSES` constant.
9493
+ * apply to non-story bosses, like Vanishing Twin.
9481
9494
  */
9482
9495
  export declare function isStoryBoss(entityType: EntityType): boolean;
9483
9496
 
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 51.2.1
3
+ isaacscript-common 51.2.3
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -20157,6 +20157,7 @@ return ____exports
20157
20157
  local ____exports = {}
20158
20158
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
20159
20159
  local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
20160
+ local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
20160
20161
  local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
20161
20162
  local ControllerIndex = ____isaac_2Dtypescript_2Ddefinitions.ControllerIndex
20162
20163
  local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
@@ -20183,6 +20184,7 @@ local SerializationBrand = ____SerializationBrand.SerializationBrand
20183
20184
  local ____enums = require("src.functions.enums")
20184
20185
  local getEnumValues = ____enums.getEnumValues
20185
20186
  ____exports.ACTIVE_SLOT_VALUES = getEnumValues(nil, ActiveSlot)
20187
+ ____exports.BOSS_IDS = getEnumValues(nil, BossID)
20186
20188
  ____exports.CACHE_FLAG_VALUES = getEnumValues(nil, CacheFlag)
20187
20189
  ____exports.CONTROLLER_INDEX_VALUES = getEnumValues(nil, ControllerIndex)
20188
20190
  ____exports.DOOR_SLOT_FLAG_VALUES = getEnumValues(nil, DoorSlotFlag)
@@ -21436,7 +21438,7 @@ ____exports.ENTITIES_WITH_ARMOR_SET = __TS__New(
21436
21438
  )
21437
21439
  return ____exports
21438
21440
  end,
21439
- ["src.sets.storyBossesSet"] = function(...)
21441
+ ["src.sets.storyBossEntityTypesSet"] = function(...)
21440
21442
  local ____lualib = require("lualib_bundle")
21441
21443
  local __TS__New = ____lualib.__TS__New
21442
21444
  local ____exports = {}
@@ -21444,7 +21446,7 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
21444
21446
  local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
21445
21447
  local ____ReadonlySet = require("src.types.ReadonlySet")
21446
21448
  local ReadonlySet = ____ReadonlySet.ReadonlySet
21447
- ____exports.STORY_BOSSES_SET = __TS__New(ReadonlySet, {
21449
+ ____exports.STORY_BOSS_ENTITY_TYPES_SET = __TS__New(ReadonlySet, {
21448
21450
  EntityType.MOM,
21449
21451
  EntityType.MOMS_HEART,
21450
21452
  EntityType.SATAN,
@@ -21574,8 +21576,8 @@ local ____constants = require("src.core.constants")
21574
21576
  local VectorZero = ____constants.VectorZero
21575
21577
  local ____entitiesWithArmorSet = require("src.sets.entitiesWithArmorSet")
21576
21578
  local ENTITIES_WITH_ARMOR_SET = ____entitiesWithArmorSet.ENTITIES_WITH_ARMOR_SET
21577
- local ____storyBossesSet = require("src.sets.storyBossesSet")
21578
- local STORY_BOSSES_SET = ____storyBossesSet.STORY_BOSSES_SET
21579
+ local ____storyBossEntityTypesSet = require("src.sets.storyBossEntityTypesSet")
21580
+ local STORY_BOSS_ENTITY_TYPES_SET = ____storyBossEntityTypesSet.STORY_BOSS_ENTITY_TYPES_SET
21579
21581
  local ____isaacAPIClass = require("src.functions.isaacAPIClass")
21580
21582
  local getIsaacAPIClassName = ____isaacAPIClass.getIsaacAPIClassName
21581
21583
  local ____random = require("src.functions.random")
@@ -21816,7 +21818,7 @@ function ____exports.isEntityMoving(self, entity, threshold)
21816
21818
  return doesVectorHaveLength(nil, entity.Velocity, threshold)
21817
21819
  end
21818
21820
  function ____exports.isStoryBoss(self, entityType)
21819
- return STORY_BOSSES_SET:has(entityType)
21821
+ return STORY_BOSS_ENTITY_TYPES_SET:has(entityType)
21820
21822
  end
21821
21823
  function ____exports.parseEntityID(self, entityID)
21822
21824
  local entityIDArray = __TS__StringSplit(entityID, ".")
@@ -26144,7 +26146,7 @@ function PostItemPickup.prototype.____constructor(self)
26144
26146
  end
26145
26147
  return ____exports
26146
26148
  end,
26147
- ["src.maps.keyboardToString"] = function(...)
26149
+ ["src.maps.keyboardToStringMap"] = function(...)
26148
26150
  local ____lualib = require("lualib_bundle")
26149
26151
  local __TS__New = ____lualib.__TS__New
26150
26152
  local ____exports = {}
@@ -26152,7 +26154,7 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
26152
26154
  local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
26153
26155
  local ____ReadonlyMap = require("src.types.ReadonlyMap")
26154
26156
  local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
26155
- ____exports.KEYBOARD_TO_STRING = __TS__New(ReadonlyMap, {
26157
+ ____exports.KEYBOARD_TO_STRING_MAP = __TS__New(ReadonlyMap, {
26156
26158
  {Keyboard.SPACE, {" ", " "}},
26157
26159
  {Keyboard.APOSTROPHE, {"'", "\""}},
26158
26160
  {Keyboard.COMMA, {",", "<"}},
@@ -26232,8 +26234,8 @@ local ControllerIndex = ____isaac_2Dtypescript_2Ddefinitions.ControllerIndex
26232
26234
  local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
26233
26235
  local ____cachedEnumValues = require("src.arrays.cachedEnumValues")
26234
26236
  local CONTROLLER_INDEX_VALUES = ____cachedEnumValues.CONTROLLER_INDEX_VALUES
26235
- local ____keyboardToString = require("src.maps.keyboardToString")
26236
- local KEYBOARD_TO_STRING = ____keyboardToString.KEYBOARD_TO_STRING
26237
+ local ____keyboardToStringMap = require("src.maps.keyboardToStringMap")
26238
+ local KEYBOARD_TO_STRING_MAP = ____keyboardToStringMap.KEYBOARD_TO_STRING_MAP
26237
26239
  local ____ReadonlySet = require("src.types.ReadonlySet")
26238
26240
  local ReadonlySet = ____ReadonlySet.ReadonlySet
26239
26241
  local ____string = require("src.functions.string")
@@ -26379,7 +26381,7 @@ function ____exports.isShootActionTriggeredOnAnyInput(self)
26379
26381
  )
26380
26382
  end
26381
26383
  function ____exports.keyboardToString(self, keyboard, uppercase)
26382
- local tuple = KEYBOARD_TO_STRING:get(keyboard)
26384
+ local tuple = KEYBOARD_TO_STRING_MAP:get(keyboard)
26383
26385
  if tuple == nil then
26384
26386
  return nil
26385
26387
  end
@@ -33019,7 +33021,7 @@ ____exports.PocketItemType.UNDETERMINABLE = 5
33019
33021
  ____exports.PocketItemType[____exports.PocketItemType.UNDETERMINABLE] = "UNDETERMINABLE"
33020
33022
  return ____exports
33021
33023
  end,
33022
- ["src.maps.PHDPillConversions"] = function(...)
33024
+ ["src.maps.PHDPillConversionsMap"] = function(...)
33023
33025
  local ____lualib = require("lualib_bundle")
33024
33026
  local __TS__New = ____lualib.__TS__New
33025
33027
  local ____exports = {}
@@ -33027,7 +33029,7 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
33027
33029
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
33028
33030
  local ____ReadonlyMap = require("src.types.ReadonlyMap")
33029
33031
  local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
33030
- ____exports.PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
33032
+ ____exports.PHD_PILL_CONVERSIONS_MAP = __TS__New(ReadonlyMap, {
33031
33033
  {PillEffect.BAD_TRIP, PillEffect.BALLS_OF_STEEL},
33032
33034
  {PillEffect.HEALTH_DOWN, PillEffect.HEALTH_UP},
33033
33035
  {PillEffect.RANGE_DOWN, PillEffect.RANGE_UP},
@@ -33047,7 +33049,7 @@ ____exports.PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
33047
33049
  })
33048
33050
  return ____exports
33049
33051
  end,
33050
- ["src.maps.falsePHDPillConversions"] = function(...)
33052
+ ["src.maps.falsePHDPillConversionsMap"] = function(...)
33051
33053
  local ____lualib = require("lualib_bundle")
33052
33054
  local __TS__New = ____lualib.__TS__New
33053
33055
  local ____exports = {}
@@ -33055,7 +33057,7 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
33055
33057
  local PillEffect = ____isaac_2Dtypescript_2Ddefinitions.PillEffect
33056
33058
  local ____ReadonlyMap = require("src.types.ReadonlyMap")
33057
33059
  local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
33058
- ____exports.FALSE_PHD_PILL_CONVERSIONS = __TS__New(ReadonlyMap, {
33060
+ ____exports.FALSE_PHD_PILL_CONVERSIONS_MAP = __TS__New(ReadonlyMap, {
33059
33061
  {PillEffect.BAD_GAS, PillEffect.HEALTH_DOWN},
33060
33062
  {PillEffect.BALLS_OF_STEEL, PillEffect.BAD_TRIP},
33061
33063
  {PillEffect.BOMBS_ARE_KEYS, PillEffect.TEARS_DOWN},
@@ -33285,10 +33287,10 @@ local FIRST_PILL_COLOR = ____constantsFirstLast.FIRST_PILL_COLOR
33285
33287
  local LAST_HORSE_PILL_COLOR = ____constantsFirstLast.LAST_HORSE_PILL_COLOR
33286
33288
  local LAST_NORMAL_PILL_COLOR = ____constantsFirstLast.LAST_NORMAL_PILL_COLOR
33287
33289
  local LAST_VANILLA_PILL_EFFECT = ____constantsFirstLast.LAST_VANILLA_PILL_EFFECT
33288
- local ____PHDPillConversions = require("src.maps.PHDPillConversions")
33289
- local PHD_PILL_CONVERSIONS = ____PHDPillConversions.PHD_PILL_CONVERSIONS
33290
- local ____falsePHDPillConversions = require("src.maps.falsePHDPillConversions")
33291
- local FALSE_PHD_PILL_CONVERSIONS = ____falsePHDPillConversions.FALSE_PHD_PILL_CONVERSIONS
33290
+ local ____PHDPillConversionsMap = require("src.maps.PHDPillConversionsMap")
33291
+ local PHD_PILL_CONVERSIONS_MAP = ____PHDPillConversionsMap.PHD_PILL_CONVERSIONS_MAP
33292
+ local ____falsePHDPillConversionsMap = require("src.maps.falsePHDPillConversionsMap")
33293
+ local FALSE_PHD_PILL_CONVERSIONS_MAP = ____falsePHDPillConversionsMap.FALSE_PHD_PILL_CONVERSIONS_MAP
33292
33294
  local ____pillEffectClasses = require("src.objects.pillEffectClasses")
33293
33295
  local DEFAULT_PILL_EFFECT_CLASS = ____pillEffectClasses.DEFAULT_PILL_EFFECT_CLASS
33294
33296
  local PILL_EFFECT_CLASSES = ____pillEffectClasses.PILL_EFFECT_CLASSES
@@ -33311,7 +33313,7 @@ function ____exports.getAllPillColors(self)
33311
33313
  return __TS__ArraySlice(PILL_COLOR_VALUES, 1)
33312
33314
  end
33313
33315
  function ____exports.getFalsePHDPillEffect(self, pillEffect)
33314
- local convertedPillEffect = FALSE_PHD_PILL_CONVERSIONS:get(pillEffect)
33316
+ local convertedPillEffect = FALSE_PHD_PILL_CONVERSIONS_MAP:get(pillEffect)
33315
33317
  return convertedPillEffect or pillEffect
33316
33318
  end
33317
33319
  function ____exports.getHorsePillColor(self, pillColor)
@@ -33331,7 +33333,7 @@ function ____exports.getNormalPillColors(self)
33331
33333
  return iRange(nil, FIRST_PILL_COLOR, LAST_NORMAL_PILL_COLOR)
33332
33334
  end
33333
33335
  function ____exports.getPHDPillEffect(self, pillEffect)
33334
- local convertedPillEffect = PHD_PILL_CONVERSIONS:get(pillEffect)
33336
+ local convertedPillEffect = PHD_PILL_CONVERSIONS_MAP:get(pillEffect)
33335
33337
  return convertedPillEffect or pillEffect
33336
33338
  end
33337
33339
  function ____exports.getPillColorFromEffect(self, pillEffect)
@@ -43954,27 +43956,54 @@ ____exports.BOSS_ID_TO_ENTITY_TYPE_VARIANT = {
43954
43956
  [BossID.HORNY_BOYS] = {EntityType.HORNY_BOYS, 0},
43955
43957
  [BossID.CLUTCH] = {EntityType.CLUTCH, 0}
43956
43958
  }
43959
+ return ____exports
43960
+ end,
43961
+ ["src.maps.entityTypeVariantToBossIDMap"] = function(...)
43962
+ local ____lualib = require("lualib_bundle")
43963
+ local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
43964
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
43965
+ local __TS__New = ____lualib.__TS__New
43966
+ local ____exports = {}
43967
+ local ____bossIDToEntityTypeVariant = require("src.objects.bossIDToEntityTypeVariant")
43968
+ local BOSS_ID_TO_ENTITY_TYPE_VARIANT = ____bossIDToEntityTypeVariant.BOSS_ID_TO_ENTITY_TYPE_VARIANT
43969
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
43970
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
43971
+ ____exports.ENTITY_TYPE_VARIANT_TO_BOSS_ID_MAP = __TS__New(
43972
+ ReadonlyMap,
43973
+ __TS__ArrayMap(
43974
+ {table.unpack(__TS__ObjectEntries(BOSS_ID_TO_ENTITY_TYPE_VARIANT))},
43975
+ function(____, ____bindingPattern0)
43976
+ local entityTypeVariant
43977
+ local bossIDRaw
43978
+ bossIDRaw = ____bindingPattern0[1]
43979
+ entityTypeVariant = ____bindingPattern0[2]
43980
+ local bossID = bossIDRaw
43981
+ local entityType, variant = table.unpack(entityTypeVariant)
43982
+ local entityTypeVariantString = (tostring(entityType) .. ".") .. tostring(variant)
43983
+ return {entityTypeVariantString, bossID}
43984
+ end
43985
+ )
43986
+ )
43957
43987
  return ____exports
43958
43988
  end,
43959
43989
  ["src.sets.bossSets"] = function(...)
43960
43990
  local ____lualib = require("lualib_bundle")
43961
43991
  local __TS__New = ____lualib.__TS__New
43962
- local Set = ____lualib.Set
43992
+ local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
43993
+ local __TS__Spread = ____lualib.__TS__Spread
43963
43994
  local ____exports = {}
43964
43995
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
43965
43996
  local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
43966
43997
  local LevelStage = ____isaac_2Dtypescript_2Ddefinitions.LevelStage
43967
43998
  local StageType = ____isaac_2Dtypescript_2Ddefinitions.StageType
43999
+ local ____cachedEnumValues = require("src.arrays.cachedEnumValues")
44000
+ local BOSS_IDS = ____cachedEnumValues.BOSS_IDS
43968
44001
  local ____set = require("src.functions.set")
43969
44002
  local combineSets = ____set.combineSets
43970
- local copySet = ____set.copySet
43971
- local deleteSetsFromSet = ____set.deleteSetsFromSet
43972
44003
  local ____ReadonlyMap = require("src.types.ReadonlyMap")
43973
44004
  local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
43974
44005
  local ____ReadonlySet = require("src.types.ReadonlySet")
43975
44006
  local ReadonlySet = ____ReadonlySet.ReadonlySet
43976
- local ____storyBossesSet = require("src.sets.storyBossesSet")
43977
- local STORY_BOSSES_SET = ____storyBossesSet.STORY_BOSSES_SET
43978
44007
  local BASEMENT_BOSSES_SET = __TS__New(ReadonlySet, {
43979
44008
  BossID.MONSTRO,
43980
44009
  BossID.LARRY_JR,
@@ -44227,8 +44256,7 @@ local ALL_WOMB_BOSSES_SET = combineSets(
44227
44256
  WOMB_BOSSES_SET,
44228
44257
  UTERO_BOSSES_SET,
44229
44258
  SCARRED_WOMB_BOSSES_SET,
44230
- MAUSOLEUM_BOSSES_SET,
44231
- GEHENNA_BOSSES_SET
44259
+ CORPSE_BOSSES_SET
44232
44260
  )
44233
44261
  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}})
44234
44262
  local BLUE_WOMB_BOSSES_SET = __TS__New(ReadonlySet, {BossID.HUSH})
@@ -44275,17 +44303,12 @@ ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(ReadonlyMap, {
44275
44303
  {LevelStage.VOID, VOID_BOSSES_SET},
44276
44304
  {LevelStage.HOME, HOME_BOSSES_SET}
44277
44305
  })
44278
- ____exports.ALL_BOSSES_SET = combineSets(
44279
- nil,
44280
- ALL_BASEMENT_BOSSES_SET,
44281
- ALL_CAVES_BOSSES_SET,
44282
- ALL_DEPTHS_BOSSES_SET,
44283
- ALL_WOMB_BOSSES_SET,
44284
- BLUE_WOMB_BOSSES_SET,
44285
- ALL_STAGE_10_BOSSES_SET,
44286
- ALL_STAGE_11_BOSSES_SET,
44287
- VOID_BOSSES_SET,
44288
- HOME_BOSSES_SET
44306
+ ____exports.ALL_BOSSES_SET = __TS__New(
44307
+ ReadonlySet,
44308
+ __TS__ArrayFilter(
44309
+ BOSS_IDS,
44310
+ function(____, bossID) return bossID ~= BossID.RAGLICH end
44311
+ )
44289
44312
  )
44290
44313
  local STORY_BOSS_IDS_SET = __TS__New(ReadonlySet, {
44291
44314
  BossID.MOM,
@@ -44303,14 +44326,13 @@ local STORY_BOSS_IDS_SET = __TS__New(ReadonlySet, {
44303
44326
  BossID.DOGMA,
44304
44327
  BossID.BEAST
44305
44328
  })
44306
- if STORY_BOSS_IDS_SET.size + 1 - 2 ~= STORY_BOSSES_SET.size then
44307
- error("The \"STORY_BOSS_IDS_SET\" and the \"STORY_BOSSES_SET\" do not match.")
44308
- end
44309
- ____exports.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = (function()
44310
- local allBossesSet = copySet(nil, ____exports.ALL_BOSSES_SET)
44311
- deleteSetsFromSet(nil, allBossesSet, STORY_BOSS_IDS_SET)
44312
- return allBossesSet
44313
- end)(nil)
44329
+ ____exports.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = __TS__New(
44330
+ ReadonlySet,
44331
+ __TS__ArrayFilter(
44332
+ {__TS__Spread(____exports.ALL_BOSSES_SET)},
44333
+ function(____, bossID) return not STORY_BOSS_IDS_SET:has(bossID) end
44334
+ )
44335
+ )
44314
44336
  return ____exports
44315
44337
  end,
44316
44338
  ["src.sets.sinEntityTypesSet"] = function(...)
@@ -44451,8 +44473,6 @@ return ____exports
44451
44473
  ["src.functions.bosses"] = function(...)
44452
44474
  local ____lualib = require("lualib_bundle")
44453
44475
  local __TS__New = ____lualib.__TS__New
44454
- local Map = ____lualib.Map
44455
- local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
44456
44476
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
44457
44477
  local ____exports = {}
44458
44478
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
@@ -44460,6 +44480,8 @@ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
44460
44480
  local LokiVariant = ____isaac_2Dtypescript_2Ddefinitions.LokiVariant
44461
44481
  local ____constants = require("src.core.constants")
44462
44482
  local VectorZero = ____constants.VectorZero
44483
+ local ____entityTypeVariantToBossIDMap = require("src.maps.entityTypeVariantToBossIDMap")
44484
+ local ENTITY_TYPE_VARIANT_TO_BOSS_ID_MAP = ____entityTypeVariantToBossIDMap.ENTITY_TYPE_VARIANT_TO_BOSS_ID_MAP
44463
44485
  local ____bossIDToEntityTypeVariant = require("src.objects.bossIDToEntityTypeVariant")
44464
44486
  local BOSS_ID_TO_ENTITY_TYPE_VARIANT = ____bossIDToEntityTypeVariant.BOSS_ID_TO_ENTITY_TYPE_VARIANT
44465
44487
  local ____bossSets = require("src.sets.bossSets")
@@ -44490,18 +44512,6 @@ local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
44490
44512
  EntityType.TURDLET
44491
44513
  })
44492
44514
  local DEFAULT_BOSS_MULTI_SEGMENTS = 4
44493
- local ENTITY_TYPE_VARIANT_TO_BOSS_ID = (function()
44494
- local entityTypeVariantToBossID = __TS__New(Map)
44495
- for ____, ____value in ipairs(__TS__ObjectEntries(BOSS_ID_TO_ENTITY_TYPE_VARIANT)) do
44496
- local bossIDRaw = ____value[1]
44497
- local entityTypeVariant = ____value[2]
44498
- local bossID = bossIDRaw
44499
- local entityType, variant = table.unpack(entityTypeVariant)
44500
- local entityTypeVariantString = (tostring(entityType) .. ".") .. tostring(variant)
44501
- entityTypeVariantToBossID:set(entityTypeVariantString, bossID)
44502
- end
44503
- return entityTypeVariantToBossID
44504
- end)(nil)
44505
44515
  function ____exports.getAliveBosses(self, entityType, variant, subType, ignoreFriendly)
44506
44516
  if entityType == nil then
44507
44517
  entityType = -1
@@ -44535,7 +44545,7 @@ function ____exports.getAllBossesSet(self, includeStoryBosses)
44535
44545
  end
44536
44546
  function ____exports.getBossIDFromEntityTypeVariant(self, entityType, variant)
44537
44547
  local entityTypeVariant = (tostring(entityType) .. ".") .. tostring(variant)
44538
- return ENTITY_TYPE_VARIANT_TO_BOSS_ID:get(entityTypeVariant)
44548
+ return ENTITY_TYPE_VARIANT_TO_BOSS_ID_MAP:get(entityTypeVariant)
44539
44549
  end
44540
44550
  function ____exports.getBossSet(self, stage, stageType)
44541
44551
  local stageTypeMap = STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP:get(stage)
@@ -44574,21 +44584,21 @@ local function getNumBossSegments(self, entityType, variant, numSegments)
44574
44584
  return numSegments
44575
44585
  end
44576
44586
  repeat
44577
- local ____switch18 = entityType
44578
- local ____cond18 = ____switch18 == EntityType.CHUB
44579
- if ____cond18 then
44587
+ local ____switch15 = entityType
44588
+ local ____cond15 = ____switch15 == EntityType.CHUB
44589
+ if ____cond15 then
44580
44590
  do
44581
44591
  return 3
44582
44592
  end
44583
44593
  end
44584
- ____cond18 = ____cond18 or ____switch18 == EntityType.LOKI
44585
- if ____cond18 then
44594
+ ____cond15 = ____cond15 or ____switch15 == EntityType.LOKI
44595
+ if ____cond15 then
44586
44596
  do
44587
44597
  return variant == asNumber(nil, LokiVariant.LOKII) and 2 or 1
44588
44598
  end
44589
44599
  end
44590
- ____cond18 = ____cond18 or ____switch18 == EntityType.GURGLING
44591
- if ____cond18 then
44600
+ ____cond15 = ____cond15 or ____switch15 == EntityType.GURGLING
44601
+ if ____cond15 then
44592
44602
  do
44593
44603
  return 2
44594
44604
  end
@@ -46651,13 +46661,13 @@ return ____exports
46651
46661
  end,
46652
46662
  ["src.functions.roomShapeWalls"] = function(...)
46653
46663
  local ____lualib = require("lualib_bundle")
46654
- local Map = ____lualib.Map
46664
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
46655
46665
  local __TS__New = ____lualib.__TS__New
46656
46666
  local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
46657
46667
  local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
46658
46668
  local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
46659
46669
  local ____exports = {}
46660
- local getVanillaWallGridIndexSetForRoomShape, getWallGridIndexSetForRectangleRoomShape
46670
+ local getVanillaWallGridIndexSetForRectangleRoomShape
46661
46671
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
46662
46672
  local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
46663
46673
  local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
@@ -46667,6 +46677,8 @@ local ____cachedClasses = require("src.core.cachedClasses")
46667
46677
  local game = ____cachedClasses.game
46668
46678
  local ____CornerType = require("src.enums.CornerType")
46669
46679
  local CornerType = ____CornerType.CornerType
46680
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
46681
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
46670
46682
  local ____ReadonlySet = require("src.types.ReadonlySet")
46671
46683
  local ReadonlySet = ____ReadonlySet.ReadonlySet
46672
46684
  local ____gridIndex = require("src.functions.gridIndex")
@@ -46679,16 +46691,16 @@ local inBossRoomOf = ____rooms.inBossRoomOf
46679
46691
  local inHomeCloset = ____rooms.inHomeCloset
46680
46692
  local ____utils = require("src.functions.utils")
46681
46693
  local assertDefined = ____utils.assertDefined
46682
- function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
46694
+ function ____exports.getVanillaWallGridIndexSetForRoomShape(self, roomShape)
46683
46695
  local corners = getRoomShapeCorners(nil, roomShape)
46684
46696
  local lRoom = isLRoomShape(nil, roomShape)
46685
46697
  if lRoom and #corners ~= 6 then
46686
46698
  error(((("Failed to get the correct amount of corners for: RoomShape." .. RoomShape[roomShape]) .. " (") .. tostring(roomShape)) .. ")")
46687
46699
  end
46688
46700
  repeat
46689
- local ____switch7 = roomShape
46690
- local ____cond7 = ____switch7 == RoomShape.LTL
46691
- if ____cond7 then
46701
+ local ____switch5 = roomShape
46702
+ local ____cond5 = ____switch5 == RoomShape.LTL
46703
+ if ____cond5 then
46692
46704
  do
46693
46705
  local topMiddle, topRight, middleLeft, middle, bottomLeft, bottomRight = table.unpack(corners)
46694
46706
  local ____ReadonlySet_1 = ReadonlySet
@@ -46719,8 +46731,8 @@ function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
46719
46731
  )
46720
46732
  end
46721
46733
  end
46722
- ____cond7 = ____cond7 or ____switch7 == RoomShape.LTR
46723
- if ____cond7 then
46734
+ ____cond5 = ____cond5 or ____switch5 == RoomShape.LTR
46735
+ if ____cond5 then
46724
46736
  do
46725
46737
  local topLeft, topMiddle, middle, middleRight, bottomLeft, bottomRight = table.unpack(corners)
46726
46738
  local ____ReadonlySet_3 = ReadonlySet
@@ -46751,8 +46763,8 @@ function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
46751
46763
  )
46752
46764
  end
46753
46765
  end
46754
- ____cond7 = ____cond7 or ____switch7 == RoomShape.LBL
46755
- if ____cond7 then
46766
+ ____cond5 = ____cond5 or ____switch5 == RoomShape.LBL
46767
+ if ____cond5 then
46756
46768
  do
46757
46769
  local topLeft, topRight, middleLeft, middle, bottomMiddle, bottomRight = table.unpack(corners)
46758
46770
  local ____ReadonlySet_5 = ReadonlySet
@@ -46783,8 +46795,8 @@ function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
46783
46795
  )
46784
46796
  end
46785
46797
  end
46786
- ____cond7 = ____cond7 or ____switch7 == RoomShape.LBR
46787
- if ____cond7 then
46798
+ ____cond5 = ____cond5 or ____switch5 == RoomShape.LBR
46799
+ if ____cond5 then
46788
46800
  do
46789
46801
  local topLeft, topRight, middle, middleRight, bottomLeft, bottomMiddle = table.unpack(corners)
46790
46802
  local ____ReadonlySet_7 = ReadonlySet
@@ -46817,12 +46829,12 @@ function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
46817
46829
  end
46818
46830
  do
46819
46831
  do
46820
- return getWallGridIndexSetForRectangleRoomShape(nil, roomShape, corners)
46832
+ return getVanillaWallGridIndexSetForRectangleRoomShape(nil, roomShape, corners)
46821
46833
  end
46822
46834
  end
46823
46835
  until true
46824
46836
  end
46825
- function getWallGridIndexSetForRectangleRoomShape(self, roomShape, corners)
46837
+ function getVanillaWallGridIndexSetForRectangleRoomShape(self, roomShape, corners)
46826
46838
  if #corners ~= 4 then
46827
46839
  error("Failed to get the correct amount of corners for rectangular room shape.")
46828
46840
  end
@@ -46846,14 +46858,16 @@ function getWallGridIndexSetForRectangleRoomShape(self, roomShape, corners)
46846
46858
  {__TS__SparseArraySpread(____array_8)}
46847
46859
  )
46848
46860
  end
46849
- local ROOM_SHAPE_TO_WALL_GRID_INDEX_SET = (function()
46850
- local roomShapeToWallGridIndexSet = __TS__New(Map)
46851
- for ____, roomShape in ipairs(ROOM_SHAPE_VALUES) do
46852
- local gridIndexSet = getVanillaWallGridIndexSetForRoomShape(nil, roomShape)
46853
- roomShapeToWallGridIndexSet:set(roomShape, gridIndexSet)
46854
- end
46855
- return roomShapeToWallGridIndexSet
46856
- end)(nil)
46861
+ local ROOM_SHAPE_TO_WALL_GRID_INDEX_MAP = __TS__New(
46862
+ ReadonlyMap,
46863
+ __TS__ArrayMap(
46864
+ ROOM_SHAPE_VALUES,
46865
+ function(____, roomShape) return {
46866
+ roomShape,
46867
+ ____exports.getVanillaWallGridIndexSetForRoomShape(nil, roomShape)
46868
+ } end
46869
+ )
46870
+ )
46857
46871
  local HOME_CLOSET_CORNERS = {
46858
46872
  {
46859
46873
  type = CornerType.TOP_LEFT,
@@ -46876,7 +46890,7 @@ local HOME_CLOSET_CORNERS = {
46876
46890
  position = Vector(340, 340)
46877
46891
  }
46878
46892
  }
46879
- local HOME_CLOSET_CORNERS_SET = getWallGridIndexSetForRectangleRoomShape(nil, RoomShape.IH, HOME_CLOSET_CORNERS)
46893
+ local HOME_CLOSET_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(nil, RoomShape.IH, HOME_CLOSET_CORNERS)
46880
46894
  local MOTHER_ROOM_CORNERS = {
46881
46895
  {
46882
46896
  type = CornerType.TOP_LEFT,
@@ -46899,7 +46913,7 @@ local MOTHER_ROOM_CORNERS = {
46899
46913
  position = Vector(580, 500)
46900
46914
  }
46901
46915
  }
46902
- local MOTHER_ROOM_CORNERS_SET = getWallGridIndexSetForRectangleRoomShape(nil, RoomShape.SHAPE_1x2, MOTHER_ROOM_CORNERS)
46916
+ local MOTHER_ROOM_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(nil, RoomShape.SHAPE_1x2, MOTHER_ROOM_CORNERS)
46903
46917
  function ____exports.isVanillaWallGridIndex(self, gridIndex)
46904
46918
  local room = game:GetRoom()
46905
46919
  local roomShape = room:GetRoomShape()
@@ -46909,7 +46923,7 @@ function ____exports.isVanillaWallGridIndex(self, gridIndex)
46909
46923
  elseif inBossRoomOf(nil, BossID.MOTHER) then
46910
46924
  wallGridIndexSet = MOTHER_ROOM_CORNERS_SET
46911
46925
  else
46912
- wallGridIndexSet = ROOM_SHAPE_TO_WALL_GRID_INDEX_SET:get(roomShape)
46926
+ wallGridIndexSet = ROOM_SHAPE_TO_WALL_GRID_INDEX_MAP:get(roomShape)
46913
46927
  assertDefined(
46914
46928
  nil,
46915
46929
  wallGridIndexSet,
@@ -49311,24 +49325,32 @@ return ____exports
49311
49325
  end,
49312
49326
  ["src.maps.collectibleNameToTypeMap"] = function(...)
49313
49327
  local ____lualib = require("lualib_bundle")
49314
- local Map = ____lualib.Map
49328
+ local __TS__Spread = ____lualib.__TS__Spread
49329
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
49315
49330
  local __TS__New = ____lualib.__TS__New
49316
- local __TS__Iterator = ____lualib.__TS__Iterator
49317
49331
  local ____exports = {}
49318
49332
  local ____string = require("src.functions.string")
49319
49333
  local removeNonAlphanumericCharacters = ____string.removeNonAlphanumericCharacters
49334
+ local ____ReadonlyMap = require("src.types.ReadonlyMap")
49335
+ local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
49320
49336
  local ____collectibleTypeToNameMap = require("src.maps.collectibleTypeToNameMap")
49321
49337
  local COLLECTIBLE_TYPE_TO_NAME_MAP = ____collectibleTypeToNameMap.COLLECTIBLE_TYPE_TO_NAME_MAP
49322
- ____exports.COLLECTIBLE_NAME_TO_TYPE_MAP = (function()
49323
- local collectibleNameToTypeMap = __TS__New(Map)
49324
- for ____, ____value in __TS__Iterator(COLLECTIBLE_TYPE_TO_NAME_MAP) do
49325
- local collectibleType = ____value[1]
49326
- local name = ____value[2]
49327
- local simpleString = removeNonAlphanumericCharacters(nil, name)
49328
- collectibleNameToTypeMap:set(simpleString, collectibleType)
49329
- end
49330
- return collectibleNameToTypeMap
49331
- end)(nil)
49338
+ ____exports.COLLECTIBLE_NAME_TO_TYPE_MAP = __TS__New(
49339
+ ReadonlyMap,
49340
+ __TS__ArrayMap(
49341
+ {__TS__Spread(COLLECTIBLE_TYPE_TO_NAME_MAP:entries())},
49342
+ function(____, ____bindingPattern0)
49343
+ local collectibleName
49344
+ local collectibleType
49345
+ collectibleType = ____bindingPattern0[1]
49346
+ collectibleName = ____bindingPattern0[2]
49347
+ return {
49348
+ removeNonAlphanumericCharacters(nil, collectibleName),
49349
+ collectibleType
49350
+ }
49351
+ end
49352
+ )
49353
+ )
49332
49354
  return ____exports
49333
49355
  end,
49334
49356
  ["src.maps.pillNameToEffectMap"] = function(...)
@@ -1,8 +1,9 @@
1
- import { ActiveSlot, CacheFlag, ControllerIndex, DoorSlot, DoorSlotFlag, GridEntityType, GridEntityXMLType, ItemConfigCardType, ItemConfigTag, ItemPoolType, Keyboard, PillColor, PlayerForm, PocketItemSlot, RoomShape, SeedEffect, SoundEffect, TrinketSlot } from "isaac-typescript-definitions";
1
+ import { ActiveSlot, BossID, CacheFlag, ControllerIndex, DoorSlot, DoorSlotFlag, GridEntityType, GridEntityXMLType, ItemConfigCardType, ItemConfigTag, ItemPoolType, Keyboard, PillColor, PlayerForm, PocketItemSlot, RoomShape, SeedEffect, SoundEffect, TrinketSlot } from "isaac-typescript-definitions";
2
2
  import { HealthType } from "../enums/HealthType";
3
3
  import { PlayerStat } from "../enums/PlayerStat";
4
4
  import { SerializationBrand } from "../enums/private/SerializationBrand";
5
5
  export declare const ACTIVE_SLOT_VALUES: readonly ActiveSlot[];
6
+ export declare const BOSS_IDS: readonly BossID[];
6
7
  export declare const CACHE_FLAG_VALUES: readonly CacheFlag[];
7
8
  export declare const CONTROLLER_INDEX_VALUES: readonly ControllerIndex[];
8
9
  export declare const DOOR_SLOT_FLAG_VALUES: readonly DoorSlotFlag[];
@@ -1 +1 @@
1
- {"version":3,"file":"cachedEnumValues.d.ts","sourceRoot":"","sources":["../../../src/arrays/cachedEnumValues.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAC9B,CAAC;AAEjC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE7E,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,2BAA2B,EAAE,SAAS,iBAAiB,EAClC,CAAC;AAEnC,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAC7B,CAAC;AAE/B,eAAO,MAAM,4BAA4B,EAAE,SAAS,kBAAkB,EACnC,CAAC;AAEpC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,eAAe,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE5E,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAA8B,CAAC;AAE7E,eAAO,MAAM,0BAA0B,EAAE,SAAS,kBAAkB,EACjC,CAAC;AAEpC,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC;AAE7B,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC"}
1
+ {"version":3,"file":"cachedEnumValues.d.ts","sourceRoot":"","sources":["../../../src/arrays/cachedEnumValues.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAA0B,CAAC;AAEjE,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAC9B,CAAC;AAEjC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE7E,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,2BAA2B,EAAE,SAAS,iBAAiB,EAClC,CAAC;AAEnC,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAC7B,CAAC;AAE/B,eAAO,MAAM,4BAA4B,EAAE,SAAS,kBAAkB,EACnC,CAAC;AAEpC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,eAAe,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE5E,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAA8B,CAAC;AAE7E,eAAO,MAAM,0BAA0B,EAAE,SAAS,kBAAkB,EACjC,CAAC;AAEpC,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC;AAE7B,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  local ____exports = {}
2
2
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
3
3
  local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
4
+ local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
4
5
  local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
5
6
  local ControllerIndex = ____isaac_2Dtypescript_2Ddefinitions.ControllerIndex
6
7
  local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
@@ -27,6 +28,7 @@ local SerializationBrand = ____SerializationBrand.SerializationBrand
27
28
  local ____enums = require("src.functions.enums")
28
29
  local getEnumValues = ____enums.getEnumValues
29
30
  ____exports.ACTIVE_SLOT_VALUES = getEnumValues(nil, ActiveSlot)
31
+ ____exports.BOSS_IDS = getEnumValues(nil, BossID)
30
32
  ____exports.CACHE_FLAG_VALUES = getEnumValues(nil, CacheFlag)
31
33
  ____exports.CONTROLLER_INDEX_VALUES = getEnumValues(nil, ControllerIndex)
32
34
  ____exports.DOOR_SLOT_FLAG_VALUES = getEnumValues(nil, DoorSlotFlag)
@@ -16,13 +16,17 @@ import { EntityType } from "isaac-typescript-definitions";
16
16
  */
17
17
  export declare function getAliveBosses(entityType?: EntityType | -1, variant?: number, subType?: number, ignoreFriendly?: boolean): EntityNPC[];
18
18
  /**
19
- * Helper function to get the set of every boss in the game.
19
+ * Helper function to get the set of every boss in the game (which is derived from the `BossID`
20
+ * enum).
20
21
  *
21
- * Note that this set does not include:
22
+ * This includes:
23
+ * - Ultra Greed
24
+ *
25
+ * This does not include:
22
26
  * - mini-bosses (e.g. Ultra Pride, Krampus)
23
27
  * - bosses that do not appear in Boss Rooms (e.g. Uriel, Gabriel)
24
- * - the second phase of multi-phase bosses (e.g. Mega Satan 2, Ultra Famine, Ultra Pestilence,
25
- * Ultra War, Ultra Death)
28
+ * - the second phase of multi-phase bosses (e.g. Mega Satan 2)
29
+ * - sub-bosses of The Beast fight (e.g. Ultra Famine, Ultra Pestilence, Ultra War, Ultra Death)
26
30
  * - bosses that do not have any Boss Rooms defined due to being unfinished (e.g. Raglich)
27
31
  *
28
32
  * Also see the `getBossSet` and `getCombinedBossSet` functions.