isaacscript-common 1.2.267 → 1.2.271

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.
@@ -0,0 +1,39 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /**
3
+ * Helper function to get all of the non-dead bosses in the room.
4
+ *
5
+ * This function will not include bosses on an internal blacklist, such as Death's scythes or Big
6
+ * Horn holes.
7
+ */
8
+ export declare function getAliveBosses(matchingEntityType?: EntityType | int, matchingVariant?: int, matchingSubType?: int, ignoreFriendly?: boolean): EntityNPC[];
9
+ /**
10
+ * Helper function to get the set of every boss in the game.
11
+ *
12
+ * The set contains strings with the entity type and variant, separated by a period.
13
+ *
14
+ * Also see the `getBossSet` and `getCombinedBossSet` functions.
15
+ */
16
+ export declare function getAllBossesSet(): Set<string>;
17
+ /**
18
+ * Helper function to get the set of vanilla bosses for a particular stage and stage type
19
+ * combination.
20
+ *
21
+ * The set contains strings with the entity type and variant, separated by a period.
22
+ *
23
+ * Also see the `getAllBossesSet` and `getCombinedBossSet` functions.
24
+ */
25
+ export declare function getBossSet(stage: int, stageType: StageType): ReadonlySet<string> | undefined;
26
+ /** Helper function to get all of the bosses in the room. */
27
+ export declare function getBosses(matchingEntityType?: EntityType | int, matchingVariant?: int, matchingSubType?: int, ignoreFriendly?: boolean): EntityNPC[];
28
+ /**
29
+ * Helper function to get the set of vanilla bosses for a particular stage across all of the stage
30
+ * types. For example, specifying a stage of 2 will return a set with all of the bosses for
31
+ * Basement, Cellar, Burning Basement, Downpour, and Dross.
32
+ *
33
+ * The set contains strings with the entity type and variant, separated by a period.
34
+ *
35
+ * Also see the `getAllBossesSet` and `getBossSet` functions.
36
+ */
37
+ export declare function getCombinedBossSet(stage: int): Set<string> | undefined;
38
+ /** Helper function to check if the provided NPC is a Sin miniboss, such as Sloth or Lust. */
39
+ export declare function isSin(npc: EntityNPC): boolean;
@@ -0,0 +1,72 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
3
+ local ____exports = {}
4
+ local ____bossSets = require("sets.bossSets")
5
+ local ALL_BOSSES_SET = ____bossSets.ALL_BOSSES_SET
6
+ local STAGE_TO_COMBINED_BOSS_SET_MAP = ____bossSets.STAGE_TO_COMBINED_BOSS_SET_MAP
7
+ local STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = ____bossSets.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP
8
+ local ____sinEntityTypesSet = require("sets.sinEntityTypesSet")
9
+ local SIN_ENTITY_TYPES_SET = ____sinEntityTypesSet.SIN_ENTITY_TYPES_SET
10
+ local ____entitySpecific = require("functions.entitySpecific")
11
+ local getNPCs = ____entitySpecific.getNPCs
12
+ local ____npc = require("functions.npc")
13
+ local getAliveNPCs = ____npc.getAliveNPCs
14
+ local ____set = require("functions.set")
15
+ local copySet = ____set.copySet
16
+ function ____exports.getAliveBosses(self, matchingEntityType, matchingVariant, matchingSubType, ignoreFriendly)
17
+ if ignoreFriendly == nil then
18
+ ignoreFriendly = false
19
+ end
20
+ local aliveNPCs = getAliveNPCs(
21
+ nil,
22
+ matchingEntityType,
23
+ matchingVariant,
24
+ matchingSubType,
25
+ ignoreFriendly
26
+ )
27
+ return __TS__ArrayFilter(
28
+ aliveNPCs,
29
+ function(____, aliveNPC) return aliveNPC:IsBoss() end
30
+ )
31
+ end
32
+ function ____exports.getAllBossesSet(self)
33
+ return copySet(nil, ALL_BOSSES_SET)
34
+ end
35
+ function ____exports.getBossSet(self, stage, stageType)
36
+ local stageTypeMap = STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP:get(stage)
37
+ if stageTypeMap == nil then
38
+ return nil
39
+ end
40
+ local bossSet = stageTypeMap:get(stageType)
41
+ if bossSet == nil then
42
+ return nil
43
+ end
44
+ return copySet(nil, bossSet)
45
+ end
46
+ function ____exports.getBosses(self, matchingEntityType, matchingVariant, matchingSubType, ignoreFriendly)
47
+ if ignoreFriendly == nil then
48
+ ignoreFriendly = false
49
+ end
50
+ local npcs = getNPCs(
51
+ nil,
52
+ matchingEntityType,
53
+ matchingVariant,
54
+ matchingSubType,
55
+ ignoreFriendly
56
+ )
57
+ return __TS__ArrayFilter(
58
+ npcs,
59
+ function(____, npc) return npc:IsBoss() end
60
+ )
61
+ end
62
+ function ____exports.getCombinedBossSet(self, stage)
63
+ local bossSet = STAGE_TO_COMBINED_BOSS_SET_MAP:get(stage)
64
+ if bossSet == nil then
65
+ return nil
66
+ end
67
+ return copySet(nil, bossSet)
68
+ end
69
+ function ____exports.isSin(self, npc)
70
+ return SIN_ENTITY_TYPES_SET:has(npc.Type)
71
+ end
72
+ return ____exports
@@ -67,6 +67,24 @@ export declare function isEntityMoving(entity: Entity, threshold?: number): bool
67
67
  * apply to non-story bosses, like Vanishing Twin. Also see the `STORY_BOSSES` constant.
68
68
  */
69
69
  export declare function isStoryBoss(entityType: EntityType | int): boolean;
70
+ /**
71
+ * Helper function to parse a string that contains an entity type, a variant, and a sub-type,
72
+ * separated by periods.
73
+ *
74
+ * For example, passing "45.0.1" would return an array of [45, 0, 1].
75
+ *
76
+ * Returns undefined if the string cannot be parsed.
77
+ */
78
+ export declare function parseEntityID(entityID: string): [entityType: EntityType | int, variant: int, subType: int] | undefined;
79
+ /**
80
+ * Helper function to parse a string that contains an entity type and a variant separated by a
81
+ * period.
82
+ *
83
+ * For example, passing "45.0" would return an array of [45, 0].
84
+ *
85
+ * Returns undefined if the string cannot be parsed.
86
+ */
87
+ export declare function parseEntityTypeVariantString(entityTypeVariantString: string): [entityType: EntityType | int, variant: int] | undefined;
70
88
  /**
71
89
  * Helper function to remove all of the matching entities in the room.
72
90
  *
@@ -2,6 +2,7 @@ local ____lualib = require("lualib_bundle")
2
2
  local Set = ____lualib.Set
3
3
  local __TS__New = ____lualib.__TS__New
4
4
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
5
+ local __TS__StringSplit = ____lualib.__TS__StringSplit
5
6
  local ____exports = {}
6
7
  local ____cachedClasses = require("cachedClasses")
7
8
  local game = ____cachedClasses.game
@@ -107,6 +108,42 @@ end
107
108
  function ____exports.isStoryBoss(self, entityType)
108
109
  return STORY_BOSSES_SET:has(entityType)
109
110
  end
111
+ function ____exports.parseEntityID(self, entityID)
112
+ local entityIDArray = __TS__StringSplit(entityID, ".")
113
+ if #entityIDArray ~= 3 then
114
+ return nil
115
+ end
116
+ local entityTypeString, variantString, subTypeString = table.unpack(entityIDArray)
117
+ local entityType = tonumber(entityTypeString)
118
+ if entityType == nil then
119
+ return nil
120
+ end
121
+ local variant = tonumber(variantString)
122
+ if variant == nil then
123
+ return nil
124
+ end
125
+ local subType = tonumber(subTypeString)
126
+ if subType == nil then
127
+ return nil
128
+ end
129
+ return {entityType, variant, subType}
130
+ end
131
+ function ____exports.parseEntityTypeVariantString(self, entityTypeVariantString)
132
+ local entityTypeVariantArray = __TS__StringSplit(entityTypeVariantString, ".")
133
+ if #entityTypeVariantArray ~= 2 then
134
+ return nil
135
+ end
136
+ local entityTypeString, variantString = table.unpack(entityTypeVariantArray)
137
+ local entityType = tonumber(entityTypeString)
138
+ if entityType == nil then
139
+ return nil
140
+ end
141
+ local variant = tonumber(variantString)
142
+ if variant == nil then
143
+ return nil
144
+ end
145
+ return {entityType, variant}
146
+ end
110
147
  function ____exports.removeAllMatchingEntities(self, entityType, entityVariant, entitySubType, cap)
111
148
  if entityVariant == nil then
112
149
  entityVariant = -1
@@ -13,13 +13,6 @@
13
13
  * @returns The fired projectile.
14
14
  */
15
15
  export declare function fireProjectiles(npc: EntityNPC, position: Vector, velocity: Vector, projectilesMode?: ProjectilesMode, projectileParams?: ProjectileParams): EntityProjectile[];
16
- /**
17
- * Helper function to get all of the non-dead bosses in the room.
18
- *
19
- * This function will not include bosses on an internal blacklist, such as Death's scythes or Big
20
- * Horn holes.
21
- */
22
- export declare function getAliveBosses(matchingEntityType?: EntityType | int, matchingVariant?: int, matchingSubType?: int, ignoreFriendly?: boolean): EntityNPC[];
23
16
  /**
24
17
  * Helper function to get all of the non-dead NPCs in the room.
25
18
  *
@@ -27,8 +20,6 @@ export declare function getAliveBosses(matchingEntityType?: EntityType | int, ma
27
20
  * holes.
28
21
  */
29
22
  export declare function getAliveNPCs(matchingEntityType?: EntityType | int, matchingVariant?: int, matchingSubType?: int, ignoreFriendly?: boolean): EntityNPC[];
30
- /** Helper function to get all of the bosses in the room. */
31
- export declare function getBosses(matchingEntityType?: EntityType | int, matchingVariant?: int, matchingSubType?: int, ignoreFriendly?: boolean): EntityNPC[];
32
23
  /**
33
24
  * Checks for specific NPCs that have "CanShutDoors" set to true naturally by the game, but should
34
25
  * not actually keep the doors closed (like Death's scythes).
@@ -47,5 +38,3 @@ export declare function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean;
47
38
  * enemies.
48
39
  */
49
40
  export declare function isRaglingDeathPatch(npc: EntityNPC): boolean;
50
- /** Helper function to check if the provided NPC is a Sin miniboss, such as Sloth or Lust. */
51
- export declare function isSin(npc: EntityNPC): boolean;
@@ -6,29 +6,11 @@ local ____exports = {}
6
6
  local NON_ALIVE_NPCS_TYPE_VARIANT, NON_ALIVE_NPCS_TYPE_VARIANT_SUBTYPE
7
7
  local ____constants = require("constants")
8
8
  local EGGY_STATE_FRAME_OF_FINAL_SPIDER = ____constants.EGGY_STATE_FRAME_OF_FINAL_SPIDER
9
- local ____sinEntityTypesSet = require("sets.sinEntityTypesSet")
10
- local SIN_ENTITY_TYPES_SET = ____sinEntityTypesSet.SIN_ENTITY_TYPES_SET
11
9
  local ____entity = require("functions.entity")
12
10
  local getFilteredNewEntities = ____entity.getFilteredNewEntities
13
11
  local ____entitySpecific = require("functions.entitySpecific")
14
12
  local getNPCs = ____entitySpecific.getNPCs
15
13
  local getProjectiles = ____entitySpecific.getProjectiles
16
- function ____exports.getAliveNPCs(self, matchingEntityType, matchingVariant, matchingSubType, ignoreFriendly)
17
- if ignoreFriendly == nil then
18
- ignoreFriendly = false
19
- end
20
- local npcs = getNPCs(
21
- nil,
22
- matchingEntityType,
23
- matchingVariant,
24
- matchingSubType,
25
- ignoreFriendly
26
- )
27
- return __TS__ArrayFilter(
28
- npcs,
29
- function(____, npc) return not npc:IsDead() and not ____exports.isAliveExceptionNPC(nil, npc) end
30
- )
31
- end
32
14
  function ____exports.isAliveExceptionNPC(self, npc)
33
15
  local entityTypeVariant = (tostring(npc.Type) .. ".") .. tostring(npc.Variant)
34
16
  if NON_ALIVE_NPCS_TYPE_VARIANT:has(entityTypeVariant) then
@@ -87,23 +69,7 @@ function ____exports.fireProjectiles(self, npc, position, velocity, projectilesM
87
69
  local newProjectiles = getProjectiles(nil, projectileParams.Variant)
88
70
  return getFilteredNewEntities(nil, oldProjectiles, newProjectiles)
89
71
  end
90
- function ____exports.getAliveBosses(self, matchingEntityType, matchingVariant, matchingSubType, ignoreFriendly)
91
- if ignoreFriendly == nil then
92
- ignoreFriendly = false
93
- end
94
- local aliveNPCs = ____exports.getAliveNPCs(
95
- nil,
96
- matchingEntityType,
97
- matchingVariant,
98
- matchingSubType,
99
- ignoreFriendly
100
- )
101
- return __TS__ArrayFilter(
102
- aliveNPCs,
103
- function(____, aliveNPC) return aliveNPC:IsBoss() end
104
- )
105
- end
106
- function ____exports.getBosses(self, matchingEntityType, matchingVariant, matchingSubType, ignoreFriendly)
72
+ function ____exports.getAliveNPCs(self, matchingEntityType, matchingVariant, matchingSubType, ignoreFriendly)
107
73
  if ignoreFriendly == nil then
108
74
  ignoreFriendly = false
109
75
  end
@@ -116,10 +82,7 @@ function ____exports.getBosses(self, matchingEntityType, matchingVariant, matchi
116
82
  )
117
83
  return __TS__ArrayFilter(
118
84
  npcs,
119
- function(____, npc) return npc:IsBoss() end
85
+ function(____, npc) return not npc:IsDead() and not ____exports.isAliveExceptionNPC(nil, npc) end
120
86
  )
121
87
  end
122
- function ____exports.isSin(self, npc)
123
- return SIN_ENTITY_TYPES_SET:has(npc.Type)
124
- end
125
88
  return ____exports
@@ -69,6 +69,7 @@ export declare function inDeathCertificateArea(): boolean;
69
69
  */
70
70
  export declare function inDevilsCrownTreasureRoom(): boolean;
71
71
  export declare function inDimension(dimension: Dimension): boolean;
72
+ export declare function inDoubleTrouble(): boolean;
72
73
  export declare function inGenesisRoom(): boolean;
73
74
  /** Helper function to determine if the current room shape is one of the four L room shapes. */
74
75
  export declare function inLRoom(): boolean;
@@ -12,6 +12,8 @@ local sfxManager = ____cachedClasses.sfxManager
12
12
  local ____constants = require("constants")
13
13
  local MAX_ROOM_INDEX = ____constants.MAX_ROOM_INDEX
14
14
  local NUM_DIMENSIONS = ____constants.NUM_DIMENSIONS
15
+ local ____doubleTroubleRoomVariants = require("sets.doubleTroubleRoomVariants")
16
+ local DOUBLE_TROUBLE_ROOM_VARIANTS = ____doubleTroubleRoomVariants.DOUBLE_TROUBLE_ROOM_VARIANTS
15
17
  local ____doors = require("functions.doors")
16
18
  local closeAllDoors = ____doors.closeAllDoors
17
19
  local getDoors = ____doors.getDoors
@@ -37,6 +39,7 @@ local getRoomGridIndex = ____roomData.getRoomGridIndex
37
39
  local getRoomShape = ____roomData.getRoomShape
38
40
  local getRoomStageID = ____roomData.getRoomStageID
39
41
  local getRoomSubType = ____roomData.getRoomSubType
42
+ local getRoomVariant = ____roomData.getRoomVariant
40
43
  local ____roomShape = require("functions.roomShape")
41
44
  local getGridIndexDelta = ____roomShape.getGridIndexDelta
42
45
  function ____exports.getRooms(self, includeExtraDimensionalRooms)
@@ -169,6 +172,12 @@ end
169
172
  function ____exports.inDimension(self, dimension)
170
173
  return dimension == ____exports.getCurrentDimension(nil)
171
174
  end
175
+ function ____exports.inDoubleTrouble(self)
176
+ local room = game:GetRoom()
177
+ local roomType = room:GetType()
178
+ local roomVariant = getRoomVariant(nil)
179
+ return roomType == RoomType.ROOM_BOSS and DOUBLE_TROUBLE_ROOM_VARIANTS:has(roomVariant)
180
+ end
172
181
  function ____exports.inGenesisRoom(self)
173
182
  local roomGridIndex = getRoomGridIndex(nil)
174
183
  return roomGridIndex == GridRooms.ROOM_GENESIS_IDX
@@ -266,12 +275,12 @@ function ____exports.setRoomCleared(self)
266
275
  for ____, door in ipairs(getDoors(nil)) do
267
276
  do
268
277
  if isHiddenSecretRoomDoor(nil, door) then
269
- goto __continue51
278
+ goto __continue52
270
279
  end
271
280
  openDoorFast(nil, door)
272
281
  door.ExtraVisible = false
273
282
  end
274
- ::__continue51::
283
+ ::__continue52::
275
284
  end
276
285
  sfxManager:Stop(SoundEffect.SOUND_DOOR_HEAVY_OPEN)
277
286
  game:ShakeScreen(0)
package/dist/index.d.ts CHANGED
@@ -31,6 +31,7 @@ export { getTaintedLazarusSubPlayer } from "./features/taintedLazarusPlayers";
31
31
  export * from "./functions/array";
32
32
  export * from "./functions/benchmark";
33
33
  export * from "./functions/bitwise";
34
+ export * from "./functions/boss";
34
35
  export * from "./functions/cacheFlag";
35
36
  export * from "./functions/cards";
36
37
  export * from "./functions/challenges";
package/dist/index.lua CHANGED
@@ -257,6 +257,14 @@ do
257
257
  end
258
258
  end
259
259
  end
260
+ do
261
+ local ____export = require("functions.boss")
262
+ for ____exportKey, ____exportValue in pairs(____export) do
263
+ if ____exportKey ~= "default" then
264
+ ____exports[____exportKey] = ____exportValue
265
+ end
266
+ end
267
+ end
260
268
  do
261
269
  local ____export = require("functions.cacheFlag")
262
270
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -0,0 +1,4 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare const STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<int, ReadonlyMap<int, ReadonlySet<string>>>;
3
+ export declare const STAGE_TO_COMBINED_BOSS_SET_MAP: ReadonlyMap<int, ReadonlySet<string>>;
4
+ export declare const ALL_BOSSES_SET: ReadonlySet<string>;
@@ -0,0 +1,501 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Set = ____lualib.Set
3
+ local __TS__New = ____lualib.__TS__New
4
+ local __TS__Spread = ____lualib.__TS__Spread
5
+ local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
6
+ local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
7
+ local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
8
+ local Map = ____lualib.Map
9
+ local ____exports = {}
10
+ local BASEMENT_BOSSES_SET = __TS__New(
11
+ Set,
12
+ {
13
+ (tostring(EntityType.ENTITY_LARRYJR) .. ".") .. 0,
14
+ tostring(EntityType.ENTITY_MONSTRO) .. ".0",
15
+ tostring(EntityType.ENTITY_FAMINE) .. ".0",
16
+ (tostring(EntityType.ENTITY_DUKE) .. ".") .. 0,
17
+ (tostring(EntityType.ENTITY_GEMINI) .. ".") .. 0,
18
+ (tostring(EntityType.ENTITY_GEMINI) .. ".") .. 1,
19
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
20
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
21
+ (tostring(EntityType.ENTITY_GURGLING) .. ".") .. 1,
22
+ (tostring(EntityType.ENTITY_GURGLING) .. ".") .. 2,
23
+ (tostring(EntityType.ENTITY_DINGLE) .. ".") .. 0,
24
+ (tostring(EntityType.ENTITY_DINGLE) .. ".") .. 1,
25
+ (tostring(EntityType.ENTITY_LITTLE_HORN) .. ".") .. 0,
26
+ tostring(EntityType.ENTITY_BABY_PLUM) .. ".0"
27
+ }
28
+ )
29
+ local CELLAR_BOSSES_SET = __TS__New(
30
+ Set,
31
+ {
32
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 0,
33
+ tostring(EntityType.ENTITY_FAMINE) .. ".0",
34
+ (tostring(EntityType.ENTITY_DUKE) .. ".") .. 0,
35
+ (tostring(EntityType.ENTITY_GEMINI) .. ".") .. 2,
36
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
37
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
38
+ (tostring(EntityType.ENTITY_WIDOW) .. ".") .. 0,
39
+ (tostring(EntityType.ENTITY_THE_HAUNT) .. ".") .. 0,
40
+ tostring(EntityType.ENTITY_LITTLE_HORN) .. ".0",
41
+ (tostring(EntityType.ENTITY_RAG_MAN) .. ".") .. 0,
42
+ tostring(EntityType.ENTITY_BABY_PLUM) .. ".0"
43
+ }
44
+ )
45
+ local BURNING_BASEMENT_BOSSES_SET = __TS__New(
46
+ Set,
47
+ {
48
+ (tostring(EntityType.ENTITY_LARRYJR) .. ".") .. 0,
49
+ tostring(EntityType.ENTITY_MONSTRO) .. ".0",
50
+ tostring(EntityType.ENTITY_FAMINE) .. ".0",
51
+ (tostring(EntityType.ENTITY_DUKE) .. ".") .. 0,
52
+ (tostring(EntityType.ENTITY_GEMINI) .. ".") .. 0,
53
+ (tostring(EntityType.ENTITY_GEMINI) .. ".") .. 1,
54
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
55
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
56
+ (tostring(EntityType.ENTITY_DINGLE) .. ".") .. 0,
57
+ (tostring(EntityType.ENTITY_GURGLING) .. ".") .. 1,
58
+ (tostring(EntityType.ENTITY_GURGLING) .. ".") .. 2,
59
+ (tostring(EntityType.ENTITY_DINGLE) .. ".") .. 1,
60
+ tostring(EntityType.ENTITY_LITTLE_HORN) .. ".0",
61
+ (tostring(EntityType.ENTITY_RAG_MAN) .. ".") .. 0,
62
+ tostring(EntityType.ENTITY_BABY_PLUM) .. ".0"
63
+ }
64
+ )
65
+ local DOWNPOUR_BOSSES_SET = __TS__New(
66
+ Set,
67
+ {
68
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 3,
69
+ tostring(EntityType.ENTITY_LIL_BLUB) .. ".0",
70
+ tostring(EntityType.ENTITY_RAINMAKER) .. ".0",
71
+ tostring(EntityType.ENTITY_MIN_MIN) .. ".0"
72
+ }
73
+ )
74
+ local DROSS_BOSSES_SET = __TS__New(
75
+ Set,
76
+ {
77
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 3,
78
+ tostring(EntityType.ENTITY_LIL_BLUB) .. ".0",
79
+ tostring(EntityType.ENTITY_CLOG) .. ".0",
80
+ tostring(EntityType.ENTITY_COLOSTOMIA) .. ".0",
81
+ tostring(EntityType.ENTITY_TURDLET) .. ".0"
82
+ }
83
+ )
84
+ local ____Set_1 = Set
85
+ local ____array_0 = __TS__SparseArrayNew(__TS__Spread(BASEMENT_BOSSES_SET:values()))
86
+ __TS__SparseArrayPush(
87
+ ____array_0,
88
+ __TS__Spread(CELLAR_BOSSES_SET:values())
89
+ )
90
+ __TS__SparseArrayPush(
91
+ ____array_0,
92
+ __TS__Spread(BURNING_BASEMENT_BOSSES_SET:values())
93
+ )
94
+ __TS__SparseArrayPush(
95
+ ____array_0,
96
+ __TS__Spread(DOWNPOUR_BOSSES_SET:values())
97
+ )
98
+ __TS__SparseArrayPush(
99
+ ____array_0,
100
+ __TS__Spread(DROSS_BOSSES_SET:values())
101
+ )
102
+ local ALL_BASEMENT_BOSSES_SET = __TS__New(
103
+ ____Set_1,
104
+ {__TS__SparseArraySpread(____array_0)}
105
+ )
106
+ local BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
107
+ {StageType.STAGETYPE_ORIGINAL, BASEMENT_BOSSES_SET},
108
+ {StageType.STAGETYPE_WOTL, CELLAR_BOSSES_SET},
109
+ {StageType.STAGETYPE_AFTERBIRTH, BURNING_BASEMENT_BOSSES_SET},
110
+ {StageType.STAGETYPE_REPENTANCE, DOWNPOUR_BOSSES_SET},
111
+ {StageType.STAGETYPE_REPENTANCE_B, DROSS_BOSSES_SET}
112
+ })
113
+ local CAVES_BOSSES_SET = __TS__New(
114
+ Set,
115
+ {
116
+ (tostring(EntityType.ENTITY_CHUB) .. ".") .. 0,
117
+ (tostring(EntityType.ENTITY_CHUB) .. ".") .. 1,
118
+ tostring(EntityType.ENTITY_GURDY) .. ".0",
119
+ tostring(EntityType.ENTITY_PESTILENCE) .. ".0",
120
+ tostring(EntityType.ENTITY_PEEP) .. ".0",
121
+ (tostring(EntityType.ENTITY_FISTULA_BIG) .. ".") .. 0,
122
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
123
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
124
+ tostring(EntityType.ENTITY_GURDY_JR) .. ".0",
125
+ tostring(EntityType.ENTITY_MEGA_MAW) .. ".0",
126
+ tostring(EntityType.ENTITY_MEGA_FATTY) .. ".0",
127
+ tostring(EntityType.ENTITY_STAIN) .. ".0",
128
+ (tostring(EntityType.ENTITY_RAG_MEGA) .. ".") .. 0,
129
+ (tostring(EntityType.ENTITY_BIG_HORN) .. ".") .. 0,
130
+ tostring(EntityType.ENTITY_BUMBINO) .. ".0"
131
+ }
132
+ )
133
+ local CATACOMBS_BOSSES_SET = __TS__New(
134
+ Set,
135
+ {
136
+ (tostring(EntityType.ENTITY_LARRYJR) .. ".") .. 1,
137
+ (tostring(EntityType.ENTITY_CHUB) .. ".") .. 2,
138
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 2,
139
+ tostring(EntityType.ENTITY_PESTILENCE) .. ".0",
140
+ (tostring(EntityType.ENTITY_DUKE) .. ".") .. 1,
141
+ (tostring(EntityType.ENTITY_PEEP) .. ".") .. 0,
142
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
143
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
144
+ tostring(EntityType.ENTITY_GURDY_JR) .. ".0",
145
+ (tostring(EntityType.ENTITY_WIDOW) .. ".") .. 1,
146
+ tostring(EntityType.ENTITY_DARK_ONE) .. ".0",
147
+ (tostring(EntityType.ENTITY_POLYCEPHALUS) .. ".") .. 0,
148
+ tostring(EntityType.ENTITY_FORSAKEN) .. ".0",
149
+ (tostring(EntityType.ENTITY_RAG_MEGA) .. ".") .. 0,
150
+ (tostring(EntityType.ENTITY_BIG_HORN) .. ".") .. 0,
151
+ tostring(EntityType.ENTITY_BUMBINO) .. ".0"
152
+ }
153
+ )
154
+ local FLOODED_CAVES_BOSSES_SET = __TS__New(
155
+ Set,
156
+ {
157
+ (tostring(EntityType.ENTITY_CHUB) .. ".") .. 0,
158
+ (tostring(EntityType.ENTITY_CHUB) .. ".") .. 1,
159
+ tostring(EntityType.ENTITY_GURDY) .. ".0",
160
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 2,
161
+ tostring(EntityType.ENTITY_PESTILENCE) .. ".0",
162
+ (tostring(EntityType.ENTITY_PEEP) .. ".") .. 0,
163
+ (tostring(EntityType.ENTITY_FISTULA_BIG) .. ".") .. 0,
164
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
165
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
166
+ tostring(EntityType.ENTITY_GURDY_JR) .. ".0",
167
+ tostring(EntityType.ENTITY_MEGA_MAW) .. ".0",
168
+ tostring(EntityType.ENTITY_MEGA_FATTY) .. ".0",
169
+ tostring(EntityType.ENTITY_STAIN) .. ".0",
170
+ tostring(EntityType.ENTITY_FORSAKEN) .. ".0",
171
+ (tostring(EntityType.ENTITY_RAG_MEGA) .. ".") .. 0,
172
+ (tostring(EntityType.ENTITY_BIG_HORN) .. ".") .. 0,
173
+ tostring(EntityType.ENTITY_BUMBINO) .. ".0"
174
+ }
175
+ )
176
+ local MINES_BOSSES_SET = __TS__New(
177
+ Set,
178
+ {
179
+ (tostring(EntityType.ENTITY_LARRYJR) .. ".") .. 2,
180
+ tostring(EntityType.ENTITY_REAP_CREEP) .. ".0",
181
+ tostring(EntityType.ENTITY_HORNFEL) .. ".0",
182
+ tostring(EntityType.ENTITY_GIDEON) .. ".0"
183
+ }
184
+ )
185
+ local ASHPIT_BOSSES_SET = __TS__New(
186
+ Set,
187
+ {
188
+ (tostring(EntityType.ENTITY_LARRYJR) .. ".") .. 3,
189
+ (tostring(EntityType.ENTITY_POLYCEPHALUS) .. ".") .. 1,
190
+ tostring(EntityType.ENTITY_GIDEON) .. ".0",
191
+ tostring(EntityType.ENTITY_SINGE) .. ".0",
192
+ tostring(EntityType.ENTITY_CLUTCH) .. ".0"
193
+ }
194
+ )
195
+ local ____Set_3 = Set
196
+ local ____array_2 = __TS__SparseArrayNew(__TS__Spread(CAVES_BOSSES_SET:values()))
197
+ __TS__SparseArrayPush(
198
+ ____array_2,
199
+ __TS__Spread(CATACOMBS_BOSSES_SET:values())
200
+ )
201
+ __TS__SparseArrayPush(
202
+ ____array_2,
203
+ __TS__Spread(FLOODED_CAVES_BOSSES_SET:values())
204
+ )
205
+ __TS__SparseArrayPush(
206
+ ____array_2,
207
+ __TS__Spread(MINES_BOSSES_SET:values())
208
+ )
209
+ __TS__SparseArrayPush(
210
+ ____array_2,
211
+ __TS__Spread(ASHPIT_BOSSES_SET:values())
212
+ )
213
+ local ALL_CAVES_BOSSES_SET = __TS__New(
214
+ ____Set_3,
215
+ {__TS__SparseArraySpread(____array_2)}
216
+ )
217
+ local CAVES_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
218
+ {StageType.STAGETYPE_ORIGINAL, CAVES_BOSSES_SET},
219
+ {StageType.STAGETYPE_WOTL, CATACOMBS_BOSSES_SET},
220
+ {StageType.STAGETYPE_AFTERBIRTH, FLOODED_CAVES_BOSSES_SET},
221
+ {StageType.STAGETYPE_REPENTANCE, MINES_BOSSES_SET},
222
+ {StageType.STAGETYPE_REPENTANCE_B, ASHPIT_BOSSES_SET}
223
+ })
224
+ local DEPTHS_BOSSES_SET = __TS__New(
225
+ Set,
226
+ {
227
+ (tostring(EntityType.ENTITY_MONSTRO2) .. ".") .. 0,
228
+ (tostring(EntityType.ENTITY_MONSTRO2) .. ".") .. 1,
229
+ (tostring(EntityType.ENTITY_MOM) .. ".") .. 0,
230
+ (tostring(EntityType.ENTITY_WAR) .. ".") .. 0,
231
+ (tostring(EntityType.ENTITY_LOKI) .. ".") .. 0,
232
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
233
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
234
+ tostring(EntityType.ENTITY_GATE) .. ".0",
235
+ tostring(EntityType.ENTITY_CAGE) .. ".0",
236
+ tostring(EntityType.ENTITY_BROWNIE) .. ".0",
237
+ tostring(EntityType.ENTITY_SISTERS_VIS) .. ".0",
238
+ tostring(EntityType.ENTITY_REAP_CREEP) .. ".0"
239
+ }
240
+ )
241
+ local NECROPOLIS_BOSSES_SET = __TS__New(
242
+ Set,
243
+ {
244
+ (tostring(EntityType.ENTITY_MOM) .. ".") .. 0,
245
+ (tostring(EntityType.ENTITY_WAR) .. ".") .. 0,
246
+ (tostring(EntityType.ENTITY_PEEP) .. ".") .. 1,
247
+ (tostring(EntityType.ENTITY_LOKI) .. ".") .. 0,
248
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
249
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
250
+ tostring(EntityType.ENTITY_MASK_OF_INFAMY) .. ".0",
251
+ tostring(EntityType.ENTITY_ADVERSARY) .. ".0",
252
+ (tostring(EntityType.ENTITY_POLYCEPHALUS) .. ".") .. 1,
253
+ tostring(EntityType.ENTITY_BROWNIE) .. ".0",
254
+ tostring(EntityType.ENTITY_SISTERS_VIS) .. ".0"
255
+ }
256
+ )
257
+ local DANK_DEPTHS_BOSSES_SET = __TS__New(
258
+ Set,
259
+ {
260
+ (tostring(EntityType.ENTITY_MONSTRO2) .. ".") .. 0,
261
+ (tostring(EntityType.ENTITY_MONSTRO2) .. ".") .. 1,
262
+ (tostring(EntityType.ENTITY_MOM) .. ".") .. 0,
263
+ (tostring(EntityType.ENTITY_WAR) .. ".") .. 0,
264
+ (tostring(EntityType.ENTITY_LOKI) .. ".") .. 0,
265
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
266
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
267
+ tostring(EntityType.ENTITY_GATE) .. ".0",
268
+ tostring(EntityType.ENTITY_CAGE) .. ".0",
269
+ tostring(EntityType.ENTITY_BROWNIE) .. ".0",
270
+ tostring(EntityType.ENTITY_SISTERS_VIS) .. ".0",
271
+ tostring(EntityType.ENTITY_REAP_CREEP) .. ".0"
272
+ }
273
+ )
274
+ local MAUSOLEUM_BOSSES_SET = __TS__New(
275
+ Set,
276
+ {
277
+ (tostring(EntityType.ENTITY_MOM) .. ".") .. 0,
278
+ tostring(EntityType.ENTITY_SIREN) .. ".0",
279
+ tostring(EntityType.ENTITY_HERETIC) .. ".0"
280
+ }
281
+ )
282
+ local GEHENNA_BOSSES_SET = __TS__New(
283
+ Set,
284
+ {
285
+ (tostring(EntityType.ENTITY_MOM) .. ".") .. 0,
286
+ tostring(EntityType.ENTITY_VISAGE) .. ".0",
287
+ tostring(EntityType.ENTITY_HORNY_BOYS) .. ".0"
288
+ }
289
+ )
290
+ local ____Set_5 = Set
291
+ local ____array_4 = __TS__SparseArrayNew(__TS__Spread(DEPTHS_BOSSES_SET:values()))
292
+ __TS__SparseArrayPush(
293
+ ____array_4,
294
+ __TS__Spread(NECROPOLIS_BOSSES_SET:values())
295
+ )
296
+ __TS__SparseArrayPush(
297
+ ____array_4,
298
+ __TS__Spread(DANK_DEPTHS_BOSSES_SET:values())
299
+ )
300
+ __TS__SparseArrayPush(
301
+ ____array_4,
302
+ __TS__Spread(MAUSOLEUM_BOSSES_SET:values())
303
+ )
304
+ __TS__SparseArrayPush(
305
+ ____array_4,
306
+ __TS__Spread(GEHENNA_BOSSES_SET:values())
307
+ )
308
+ local ALL_DEPTHS_BOSSES_SET = __TS__New(
309
+ ____Set_5,
310
+ {__TS__SparseArraySpread(____array_4)}
311
+ )
312
+ local DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
313
+ {StageType.STAGETYPE_ORIGINAL, DEPTHS_BOSSES_SET},
314
+ {StageType.STAGETYPE_WOTL, NECROPOLIS_BOSSES_SET},
315
+ {StageType.STAGETYPE_AFTERBIRTH, DANK_DEPTHS_BOSSES_SET},
316
+ {StageType.STAGETYPE_REPENTANCE, MAUSOLEUM_BOSSES_SET},
317
+ {StageType.STAGETYPE_REPENTANCE_B, GEHENNA_BOSSES_SET}
318
+ })
319
+ local WOMB_BOSSES_SET = __TS__New(
320
+ Set,
321
+ {
322
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 1,
323
+ (tostring(EntityType.ENTITY_WAR) .. ".") .. 1,
324
+ tostring(EntityType.ENTITY_DEATH) .. ".0",
325
+ (tostring(EntityType.ENTITY_LOKI) .. ".") .. 1,
326
+ tostring(EntityType.ENTITY_BLASTOCYST_BIG) .. ".0",
327
+ (tostring(EntityType.ENTITY_MOMS_HEART) .. ".") .. 0,
328
+ (tostring(EntityType.ENTITY_MOMS_HEART) .. ".") .. 1,
329
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
330
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
331
+ tostring(EntityType.ENTITY_MAMA_GURDY) .. ".0",
332
+ tostring(EntityType.ENTITY_MR_FRED) .. ".0",
333
+ tostring(EntityType.ENTITY_MATRIARCH) .. ".0"
334
+ }
335
+ )
336
+ local UTERO_BOSSES_SET = __TS__New(
337
+ Set,
338
+ {
339
+ (tostring(EntityType.ENTITY_WAR) .. ".") .. 1,
340
+ tostring(EntityType.ENTITY_DEATH) .. ".0",
341
+ (tostring(EntityType.ENTITY_DADDYLONGLEGS) .. ".") .. 0,
342
+ (tostring(EntityType.ENTITY_DADDYLONGLEGS) .. ".") .. 1,
343
+ (tostring(EntityType.ENTITY_PEEP) .. ".") .. 1,
344
+ (tostring(EntityType.ENTITY_LOKI) .. ".") .. 1,
345
+ (tostring(EntityType.ENTITY_FISTULA_BIG) .. ".") .. 1,
346
+ (tostring(EntityType.ENTITY_MOMS_HEART) .. ".") .. 0,
347
+ (tostring(EntityType.ENTITY_MOMS_HEART) .. ".") .. 1,
348
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
349
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0"
350
+ }
351
+ )
352
+ local SCARRED_WOMB_BOSSES_SET = __TS__New(
353
+ Set,
354
+ {
355
+ (tostring(EntityType.ENTITY_PIN) .. ".") .. 1,
356
+ (tostring(EntityType.ENTITY_WAR) .. ".") .. 1,
357
+ tostring(EntityType.ENTITY_DEATH) .. ".0",
358
+ (tostring(EntityType.ENTITY_LOKI) .. ".") .. 1,
359
+ tostring(EntityType.ENTITY_BLASTOCYST_BIG) .. ".0",
360
+ (tostring(EntityType.ENTITY_MOMS_HEART) .. ".") .. 0,
361
+ (tostring(EntityType.ENTITY_MOMS_HEART) .. ".") .. 1,
362
+ (tostring(EntityType.ENTITY_FALLEN) .. ".") .. 0,
363
+ tostring(EntityType.ENTITY_HEADLESS_HORSEMAN) .. ".0",
364
+ (tostring(EntityType.ENTITY_DADDYLONGLEGS) .. ".") .. 1,
365
+ (tostring(EntityType.ENTITY_MAMA_GURDY) .. ".") .. 0,
366
+ tostring(EntityType.ENTITY_MR_FRED) .. ".0",
367
+ tostring(EntityType.ENTITY_MATRIARCH) .. ".0"
368
+ }
369
+ )
370
+ local CORPSE_BOSSES_SET = __TS__New(
371
+ Set,
372
+ {
373
+ tostring(EntityType.ENTITY_SCOURGE) .. ".0",
374
+ tostring(EntityType.ENTITY_CHIMERA) .. ".0",
375
+ tostring(EntityType.ENTITY_ROTGUT) .. ".0",
376
+ tostring(EntityType.ENTITY_MOTHER) .. ".0"
377
+ }
378
+ )
379
+ local ____Set_7 = Set
380
+ local ____array_6 = __TS__SparseArrayNew(__TS__Spread(WOMB_BOSSES_SET:values()))
381
+ __TS__SparseArrayPush(
382
+ ____array_6,
383
+ __TS__Spread(UTERO_BOSSES_SET:values())
384
+ )
385
+ __TS__SparseArrayPush(
386
+ ____array_6,
387
+ __TS__Spread(SCARRED_WOMB_BOSSES_SET:values())
388
+ )
389
+ __TS__SparseArrayPush(
390
+ ____array_6,
391
+ __TS__Spread(MAUSOLEUM_BOSSES_SET:values())
392
+ )
393
+ __TS__SparseArrayPush(
394
+ ____array_6,
395
+ __TS__Spread(GEHENNA_BOSSES_SET:values())
396
+ )
397
+ local ALL_WOMB_BOSSES_SET = __TS__New(
398
+ ____Set_7,
399
+ {__TS__SparseArraySpread(____array_6)}
400
+ )
401
+ local WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.STAGETYPE_ORIGINAL, WOMB_BOSSES_SET}, {StageType.STAGETYPE_WOTL, UTERO_BOSSES_SET}, {StageType.STAGETYPE_AFTERBIRTH, SCARRED_WOMB_BOSSES_SET}, {StageType.STAGETYPE_REPENTANCE, CORPSE_BOSSES_SET}})
402
+ local BLUE_WOMB_BOSSES_SET = __TS__New(
403
+ Set,
404
+ {tostring(EntityType.ENTITY_HUSH) .. ".0"}
405
+ )
406
+ local BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.STAGETYPE_ORIGINAL, BLUE_WOMB_BOSSES_SET}})
407
+ local SHEOL_BOSSES_SET = __TS__New(
408
+ Set,
409
+ {(tostring(EntityType.ENTITY_SATAN) .. ".") .. 0}
410
+ )
411
+ local CATHEDRAL_BOSSES_SET = __TS__New(
412
+ Set,
413
+ {(tostring(EntityType.ENTITY_ISAAC) .. ".") .. 0}
414
+ )
415
+ local ____Set_9 = Set
416
+ local ____array_8 = __TS__SparseArrayNew(__TS__Spread(SHEOL_BOSSES_SET:values()))
417
+ __TS__SparseArrayPush(
418
+ ____array_8,
419
+ __TS__Spread(CATHEDRAL_BOSSES_SET:values())
420
+ )
421
+ local ALL_STAGE_10_BOSSES_SET = __TS__New(
422
+ ____Set_9,
423
+ {__TS__SparseArraySpread(____array_8)}
424
+ )
425
+ local STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.STAGETYPE_ORIGINAL, SHEOL_BOSSES_SET}, {StageType.STAGETYPE_WOTL, CATHEDRAL_BOSSES_SET}})
426
+ local DARK_ROOM_BOSSES_SET = __TS__New(
427
+ Set,
428
+ {(tostring(EntityType.ENTITY_THE_LAMB) .. ".") .. 0}
429
+ )
430
+ local CHEST_BOSSES_SET = __TS__New(
431
+ Set,
432
+ {(tostring(EntityType.ENTITY_ISAAC) .. ".") .. 1}
433
+ )
434
+ local ____Set_11 = Set
435
+ local ____array_10 = __TS__SparseArrayNew(__TS__Spread(DARK_ROOM_BOSSES_SET:values()))
436
+ __TS__SparseArrayPush(
437
+ ____array_10,
438
+ __TS__Spread(CHEST_BOSSES_SET:values())
439
+ )
440
+ local ALL_STAGE_11_BOSSES_SET = __TS__New(
441
+ ____Set_11,
442
+ {__TS__SparseArraySpread(____array_10)}
443
+ )
444
+ local STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {{StageType.STAGETYPE_ORIGINAL, DARK_ROOM_BOSSES_SET}, {StageType.STAGETYPE_WOTL, CHEST_BOSSES_SET}})
445
+ ____exports.STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(Map, {
446
+ {1, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP},
447
+ {2, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP},
448
+ {3, CAVES_STAGE_TYPE_TO_BOSS_SET_MAP},
449
+ {4, CAVES_STAGE_TYPE_TO_BOSS_SET_MAP},
450
+ {5, DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP},
451
+ {6, DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP},
452
+ {7, WOMB_STAGE_TYPE_TO_BOSS_SET_MAP},
453
+ {8, WOMB_STAGE_TYPE_TO_BOSS_SET_MAP},
454
+ {9, BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP},
455
+ {10, STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP},
456
+ {11, STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP}
457
+ })
458
+ ____exports.STAGE_TO_COMBINED_BOSS_SET_MAP = __TS__New(Map, {
459
+ {1, ALL_BASEMENT_BOSSES_SET},
460
+ {2, ALL_BASEMENT_BOSSES_SET},
461
+ {3, ALL_CAVES_BOSSES_SET},
462
+ {4, ALL_CAVES_BOSSES_SET},
463
+ {5, ALL_DEPTHS_BOSSES_SET},
464
+ {6, ALL_DEPTHS_BOSSES_SET},
465
+ {7, ALL_WOMB_BOSSES_SET},
466
+ {8, ALL_WOMB_BOSSES_SET},
467
+ {9, BLUE_WOMB_BOSSES_SET},
468
+ {10, ALL_STAGE_10_BOSSES_SET},
469
+ {11, ALL_STAGE_11_BOSSES_SET}
470
+ })
471
+ local ____Set_13 = Set
472
+ local ____array_12 = __TS__SparseArrayNew(__TS__Spread(ALL_BASEMENT_BOSSES_SET:values()))
473
+ __TS__SparseArrayPush(
474
+ ____array_12,
475
+ __TS__Spread(ALL_CAVES_BOSSES_SET:values())
476
+ )
477
+ __TS__SparseArrayPush(
478
+ ____array_12,
479
+ __TS__Spread(ALL_DEPTHS_BOSSES_SET:values())
480
+ )
481
+ __TS__SparseArrayPush(
482
+ ____array_12,
483
+ __TS__Spread(ALL_WOMB_BOSSES_SET:values())
484
+ )
485
+ __TS__SparseArrayPush(
486
+ ____array_12,
487
+ __TS__Spread(BLUE_WOMB_BOSSES_SET:values())
488
+ )
489
+ __TS__SparseArrayPush(
490
+ ____array_12,
491
+ __TS__Spread(ALL_STAGE_10_BOSSES_SET:values())
492
+ )
493
+ __TS__SparseArrayPush(
494
+ ____array_12,
495
+ __TS__Spread(ALL_STAGE_11_BOSSES_SET:values())
496
+ )
497
+ ____exports.ALL_BOSSES_SET = __TS__New(
498
+ ____Set_13,
499
+ {__TS__SparseArraySpread(____array_12)}
500
+ )
501
+ return ____exports
@@ -0,0 +1,3 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /** Rooms that contain the name of "Double Trouble" in the "00.special rooms.xml" file. */
3
+ export declare const DOUBLE_TROUBLE_ROOM_VARIANTS: ReadonlySet<int>;
@@ -0,0 +1,77 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Set = ____lualib.Set
3
+ local __TS__New = ____lualib.__TS__New
4
+ local ____exports = {}
5
+ ____exports.DOUBLE_TROUBLE_ROOM_VARIANTS = __TS__New(Set, {
6
+ 3700,
7
+ 3701,
8
+ 3702,
9
+ 3703,
10
+ 3704,
11
+ 3705,
12
+ 3706,
13
+ 3707,
14
+ 3708,
15
+ 3709,
16
+ 3710,
17
+ 3711,
18
+ 3712,
19
+ 3713,
20
+ 3714,
21
+ 3715,
22
+ 3716,
23
+ 3717,
24
+ 3718,
25
+ 3719,
26
+ 3720,
27
+ 3721,
28
+ 3722,
29
+ 3723,
30
+ 3751,
31
+ 3752,
32
+ 3753,
33
+ 3754,
34
+ 3755,
35
+ 3756,
36
+ 3757,
37
+ 3758,
38
+ 3759,
39
+ 3760,
40
+ 3761,
41
+ 3762,
42
+ 3763,
43
+ 3764,
44
+ 3765,
45
+ 3766,
46
+ 3767,
47
+ 3768,
48
+ 3769,
49
+ 3770,
50
+ 3771,
51
+ 3772,
52
+ 3773,
53
+ 3774,
54
+ 3775,
55
+ 3776,
56
+ 3777,
57
+ 3778,
58
+ 3800,
59
+ 3801,
60
+ 3802,
61
+ 3804,
62
+ 3805,
63
+ 3806,
64
+ 3807,
65
+ 3809,
66
+ 3810,
67
+ 3811,
68
+ 3812,
69
+ 3813,
70
+ 3814,
71
+ 3815,
72
+ 3816,
73
+ 3817,
74
+ 3818,
75
+ 3819
76
+ })
77
+ return ____exports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "1.2.267",
3
+ "version": "1.2.271",
4
4
  "description": "Helper functions for IsaacScript mods",
5
5
  "keywords": [
6
6
  "isaac",
@@ -25,7 +25,7 @@
25
25
  "dist/**/*.d.ts"
26
26
  ],
27
27
  "devDependencies": {
28
- "isaac-typescript-definitions": "^1.0.390",
28
+ "isaac-typescript-definitions": "^1.0.391",
29
29
  "isaacscript-lint": "^1.0.99",
30
30
  "isaacscript-tsconfig": "^1.1.8",
31
31
  "typedoc": "^0.22.15",