isaacscript-common 1.2.266 → 1.2.270
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.
- package/dist/functions/array.d.ts +16 -0
- package/dist/functions/array.lua +36 -0
- package/dist/functions/boss.d.ts +39 -0
- package/dist/functions/boss.lua +72 -0
- package/dist/functions/npc.d.ts +0 -11
- package/dist/functions/npc.lua +2 -39
- package/dist/functions/rooms.d.ts +1 -0
- package/dist/functions/rooms.lua +11 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.lua +8 -0
- package/dist/sets/bossSets.d.ts +4 -0
- package/dist/sets/bossSets.lua +501 -0
- package/dist/sets/doubleTroubleRoomVariants.d.ts +3 -0
- package/dist/sets/doubleTroubleRoomVariants.lua +77 -0
- package/package.json +2 -2
|
@@ -19,6 +19,22 @@ export declare function arrayRemove<T>(originalArray: T[] | readonly T[], ...ele
|
|
|
19
19
|
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
20
20
|
*/
|
|
21
21
|
export declare function arrayRemoveInPlace<T>(array: T[], ...elementsToRemove: T[]): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Shallow copies and removes the elements at the specified indexes from the array. Returns the
|
|
24
|
+
* copied array. If the specified indexes are not found in the array, it will simply return a
|
|
25
|
+
* shallow copy of the array.
|
|
26
|
+
*
|
|
27
|
+
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
28
|
+
*/
|
|
29
|
+
export declare function arrayRemoveIndex<T>(originalArray: T[] | readonly T[], ...indexesToRemove: int[]): T[];
|
|
30
|
+
/**
|
|
31
|
+
* Removes the elements at the specified indexes from the array. If the specified indexes are not
|
|
32
|
+
* found in the array, this function will do nothing. Returns whether or not one or more elements
|
|
33
|
+
* were removed.
|
|
34
|
+
*
|
|
35
|
+
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
36
|
+
*/
|
|
37
|
+
export declare function arrayRemoveIndexInPlace<T>(array: T[], ...indexesToRemove: int[]): boolean;
|
|
22
38
|
export declare function arrayToString<T>(array: T[]): string;
|
|
23
39
|
/**
|
|
24
40
|
* Helper function to combine two or more arrays. Returns a new array that is the composition of all
|
package/dist/functions/array.lua
CHANGED
|
@@ -4,6 +4,9 @@ local Set = ____lualib.Set
|
|
|
4
4
|
local __TS__New = ____lualib.__TS__New
|
|
5
5
|
local __TS__ArrayIndexOf = ____lualib.__TS__ArrayIndexOf
|
|
6
6
|
local __TS__ArraySplice = ____lualib.__TS__ArraySplice
|
|
7
|
+
local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
|
|
8
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
9
|
+
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
7
10
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
8
11
|
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
9
12
|
local __TS__ArrayReduce = ____lualib.__TS__ArrayReduce
|
|
@@ -72,6 +75,39 @@ function ____exports.arrayRemoveInPlace(self, array, ...)
|
|
|
72
75
|
end
|
|
73
76
|
return removedOneOrMoreElements
|
|
74
77
|
end
|
|
78
|
+
function ____exports.arrayRemoveIndex(self, originalArray, ...)
|
|
79
|
+
local indexesToRemove = {...}
|
|
80
|
+
local indexesToRemoveSet = __TS__New(Set, indexesToRemove)
|
|
81
|
+
local array = {}
|
|
82
|
+
__TS__ArrayForEach(
|
|
83
|
+
originalArray,
|
|
84
|
+
function(____, element, i)
|
|
85
|
+
if not indexesToRemoveSet:has(i) then
|
|
86
|
+
array[#array + 1] = element
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
)
|
|
90
|
+
return array
|
|
91
|
+
end
|
|
92
|
+
function ____exports.arrayRemoveIndexInPlace(self, array, ...)
|
|
93
|
+
local indexesToRemove = {...}
|
|
94
|
+
local legalIndexes = __TS__ArrayFilter(
|
|
95
|
+
indexesToRemove,
|
|
96
|
+
function(____, i) return i >= 0 and i < #array end
|
|
97
|
+
)
|
|
98
|
+
__TS__ArraySort(legalIndexes)
|
|
99
|
+
if #legalIndexes == 0 then
|
|
100
|
+
return false
|
|
101
|
+
end
|
|
102
|
+
do
|
|
103
|
+
local i = #array - 1
|
|
104
|
+
while i >= 0 do
|
|
105
|
+
__TS__ArraySplice(array, i, 1)
|
|
106
|
+
i = i - 1
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
return true
|
|
110
|
+
end
|
|
75
111
|
function ____exports.arrayToString(self, array)
|
|
76
112
|
if #array == 0 then
|
|
77
113
|
return "[]"
|
|
@@ -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
|
package/dist/functions/npc.d.ts
CHANGED
|
@@ -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;
|
package/dist/functions/npc.lua
CHANGED
|
@@ -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.
|
|
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:
|
|
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;
|
package/dist/functions/rooms.lua
CHANGED
|
@@ -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
|
|
278
|
+
goto __continue52
|
|
270
279
|
end
|
|
271
280
|
openDoorFast(nil, door)
|
|
272
281
|
door.ExtraVisible = false
|
|
273
282
|
end
|
|
274
|
-
::
|
|
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,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.
|
|
3
|
+
"version": "1.2.270",
|
|
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.
|
|
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",
|