isaacscript-common 51.1.1 → 51.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.rollup.d.ts +4 -0
- package/dist/isaacscript-common.lua +203 -36
- package/dist/src/functions/bosses.d.ts +2 -0
- package/dist/src/functions/bosses.d.ts.map +1 -1
- package/dist/src/functions/bosses.lua +55 -33
- package/dist/src/objects/bossIDToEntityTypeVariant.d.ts +105 -0
- package/dist/src/objects/bossIDToEntityTypeVariant.d.ts.map +1 -0
- package/dist/src/objects/bossIDToEntityTypeVariant.lua +141 -0
- package/dist/src/sets/bossSets.d.ts.map +1 -1
- package/dist/src/sets/bossSets.lua +4 -2
- package/package.json +1 -1
- package/src/functions/bosses.ts +63 -33
- package/src/objects/bossIDToEntityTypeVariant.ts +359 -0
- package/src/sets/bossSets.ts +17 -16
package/dist/index.rollup.d.ts
CHANGED
|
@@ -4904,6 +4904,8 @@ export declare function getBooleansFromTable(luaMap: LuaMap<string, unknown>, ob
|
|
|
4904
4904
|
*/
|
|
4905
4905
|
export declare function getBosses(entityType?: EntityType, variant?: int, subType?: int, ignoreFriendly?: boolean): EntityNPC[];
|
|
4906
4906
|
|
|
4907
|
+
export declare function getBossIDFromEntityTypeVariant(entityType: EntityType, variant: int): BossID | undefined;
|
|
4908
|
+
|
|
4907
4909
|
/**
|
|
4908
4910
|
* Helper function to get the path to the name file that corresponds to the graphic shown on the
|
|
4909
4911
|
* versus screen for the particular boss.
|
|
@@ -5449,6 +5451,8 @@ export declare function getEntityIDFromConstituents(entityType: EntityType, vari
|
|
|
5449
5451
|
*/
|
|
5450
5452
|
export declare function getEntityPositions(entities?: Entity[]): Map<PtrHash, Vector>;
|
|
5451
5453
|
|
|
5454
|
+
export declare function getEntityTypeVariantFromBossID(bossID: BossID): readonly [EntityType, int];
|
|
5455
|
+
|
|
5452
5456
|
/**
|
|
5453
5457
|
* Helper function to get a map containing the velocities of every entity in the current room.
|
|
5454
5458
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 51.
|
|
3
|
+
isaacscript-common 51.2.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -43811,6 +43811,149 @@ function ____exports.getRandomBossRoomFromPool(self, roomsMetadata, bossPool, se
|
|
|
43811
43811
|
)
|
|
43812
43812
|
return ____exports.getRandomCustomStageRoom(nil, roomsMetadataForBoss, seedOrRNG, verbose)
|
|
43813
43813
|
end
|
|
43814
|
+
return ____exports
|
|
43815
|
+
end,
|
|
43816
|
+
["src.objects.bossIDToEntityTypeVariant"] = function(...)
|
|
43817
|
+
local ____exports = {}
|
|
43818
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
43819
|
+
local BeastVariant = ____isaac_2Dtypescript_2Ddefinitions.BeastVariant
|
|
43820
|
+
local BigHornVariant = ____isaac_2Dtypescript_2Ddefinitions.BigHornVariant
|
|
43821
|
+
local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
|
|
43822
|
+
local ChubVariant = ____isaac_2Dtypescript_2Ddefinitions.ChubVariant
|
|
43823
|
+
local DaddyLongLegsVariant = ____isaac_2Dtypescript_2Ddefinitions.DaddyLongLegsVariant
|
|
43824
|
+
local DingleVariant = ____isaac_2Dtypescript_2Ddefinitions.DingleVariant
|
|
43825
|
+
local DogmaVariant = ____isaac_2Dtypescript_2Ddefinitions.DogmaVariant
|
|
43826
|
+
local DukeOfFliesVariant = ____isaac_2Dtypescript_2Ddefinitions.DukeOfFliesVariant
|
|
43827
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
43828
|
+
local FallenVariant = ____isaac_2Dtypescript_2Ddefinitions.FallenVariant
|
|
43829
|
+
local FistulaVariant = ____isaac_2Dtypescript_2Ddefinitions.FistulaVariant
|
|
43830
|
+
local GeminiVariant = ____isaac_2Dtypescript_2Ddefinitions.GeminiVariant
|
|
43831
|
+
local GurglingVariant = ____isaac_2Dtypescript_2Ddefinitions.GurglingVariant
|
|
43832
|
+
local HauntVariant = ____isaac_2Dtypescript_2Ddefinitions.HauntVariant
|
|
43833
|
+
local IsaacVariant = ____isaac_2Dtypescript_2Ddefinitions.IsaacVariant
|
|
43834
|
+
local LambVariant = ____isaac_2Dtypescript_2Ddefinitions.LambVariant
|
|
43835
|
+
local LarryJrVariant = ____isaac_2Dtypescript_2Ddefinitions.LarryJrVariant
|
|
43836
|
+
local LittleHornVariant = ____isaac_2Dtypescript_2Ddefinitions.LittleHornVariant
|
|
43837
|
+
local LokiVariant = ____isaac_2Dtypescript_2Ddefinitions.LokiVariant
|
|
43838
|
+
local MamaGurdyVariant = ____isaac_2Dtypescript_2Ddefinitions.MamaGurdyVariant
|
|
43839
|
+
local MegaSatanVariant = ____isaac_2Dtypescript_2Ddefinitions.MegaSatanVariant
|
|
43840
|
+
local MomVariant = ____isaac_2Dtypescript_2Ddefinitions.MomVariant
|
|
43841
|
+
local MomsHeartVariant = ____isaac_2Dtypescript_2Ddefinitions.MomsHeartVariant
|
|
43842
|
+
local Monstro2Variant = ____isaac_2Dtypescript_2Ddefinitions.Monstro2Variant
|
|
43843
|
+
local MotherVariant = ____isaac_2Dtypescript_2Ddefinitions.MotherVariant
|
|
43844
|
+
local PeepVariant = ____isaac_2Dtypescript_2Ddefinitions.PeepVariant
|
|
43845
|
+
local PinVariant = ____isaac_2Dtypescript_2Ddefinitions.PinVariant
|
|
43846
|
+
local PolycephalusVariant = ____isaac_2Dtypescript_2Ddefinitions.PolycephalusVariant
|
|
43847
|
+
local RagManVariant = ____isaac_2Dtypescript_2Ddefinitions.RagManVariant
|
|
43848
|
+
local RagMegaVariant = ____isaac_2Dtypescript_2Ddefinitions.RagMegaVariant
|
|
43849
|
+
local RaglichVariant = ____isaac_2Dtypescript_2Ddefinitions.RaglichVariant
|
|
43850
|
+
local SatanVariant = ____isaac_2Dtypescript_2Ddefinitions.SatanVariant
|
|
43851
|
+
local UltraGreedVariant = ____isaac_2Dtypescript_2Ddefinitions.UltraGreedVariant
|
|
43852
|
+
local WarVariant = ____isaac_2Dtypescript_2Ddefinitions.WarVariant
|
|
43853
|
+
local WidowVariant = ____isaac_2Dtypescript_2Ddefinitions.WidowVariant
|
|
43854
|
+
____exports.BOSS_ID_TO_ENTITY_TYPE_VARIANT = {
|
|
43855
|
+
[BossID.MONSTRO] = {EntityType.MONSTRO, 0},
|
|
43856
|
+
[BossID.LARRY_JR] = {EntityType.LARRY_JR, LarryJrVariant.LARRY_JR},
|
|
43857
|
+
[BossID.CHUB] = {EntityType.CHUB, ChubVariant.CHUB},
|
|
43858
|
+
[BossID.GURDY] = {EntityType.GURDY, 0},
|
|
43859
|
+
[BossID.MONSTRO_2] = {EntityType.MONSTRO_2, Monstro2Variant.MONSTRO_2},
|
|
43860
|
+
[BossID.MOM] = {EntityType.MOM, MomVariant.MOM},
|
|
43861
|
+
[BossID.SCOLEX] = {EntityType.PIN, PinVariant.SCOLEX},
|
|
43862
|
+
[BossID.MOMS_HEART] = {EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART},
|
|
43863
|
+
[BossID.FAMINE] = {EntityType.FAMINE, 0},
|
|
43864
|
+
[BossID.PESTILENCE] = {EntityType.PESTILENCE, 0},
|
|
43865
|
+
[BossID.WAR] = {EntityType.WAR, WarVariant.WAR},
|
|
43866
|
+
[BossID.DEATH] = {EntityType.DEATH, 0},
|
|
43867
|
+
[BossID.DUKE_OF_FLIES] = {EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.DUKE_OF_FLIES},
|
|
43868
|
+
[BossID.PEEP] = {EntityType.PEEP, PeepVariant.PEEP},
|
|
43869
|
+
[BossID.LOKI] = {EntityType.LOKI, LokiVariant.LOKI},
|
|
43870
|
+
[BossID.BLASTOCYST] = {EntityType.BLASTOCYST_BIG, 0},
|
|
43871
|
+
[BossID.GEMINI] = {EntityType.GEMINI, GeminiVariant.GEMINI},
|
|
43872
|
+
[BossID.FISTULA] = {EntityType.FISTULA_BIG, FistulaVariant.FISTULA},
|
|
43873
|
+
[BossID.GISH] = {EntityType.MONSTRO_2, Monstro2Variant.GISH},
|
|
43874
|
+
[BossID.STEVEN] = {EntityType.GEMINI, GeminiVariant.STEVEN},
|
|
43875
|
+
[BossID.CHAD] = {EntityType.CHUB, ChubVariant.CHAD},
|
|
43876
|
+
[BossID.HEADLESS_HORSEMAN] = {EntityType.HEADLESS_HORSEMAN, 0},
|
|
43877
|
+
[BossID.FALLEN] = {EntityType.FALLEN, FallenVariant.FALLEN},
|
|
43878
|
+
[BossID.SATAN] = {EntityType.SATAN, SatanVariant.SATAN},
|
|
43879
|
+
[BossID.IT_LIVES] = {EntityType.MOMS_HEART, MomsHeartVariant.IT_LIVES},
|
|
43880
|
+
[BossID.HOLLOW] = {EntityType.LARRY_JR, LarryJrVariant.HOLLOW},
|
|
43881
|
+
[BossID.CARRION_QUEEN] = {EntityType.CHUB, ChubVariant.CARRION_QUEEN},
|
|
43882
|
+
[BossID.GURDY_JR] = {EntityType.GURDY_JR, 0},
|
|
43883
|
+
[BossID.HUSK] = {EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.HUSK},
|
|
43884
|
+
[BossID.BLOAT] = {EntityType.PEEP, PeepVariant.BLOAT},
|
|
43885
|
+
[BossID.LOKII] = {EntityType.LOKI, LokiVariant.LOKII},
|
|
43886
|
+
[BossID.BLIGHTED_OVUM] = {EntityType.GEMINI, GeminiVariant.BLIGHTED_OVUM},
|
|
43887
|
+
[BossID.TERATOMA] = {EntityType.FISTULA_BIG, FistulaVariant.TERATOMA},
|
|
43888
|
+
[BossID.WIDOW] = {EntityType.WIDOW, WidowVariant.WIDOW},
|
|
43889
|
+
[BossID.MASK_OF_INFAMY] = {EntityType.MASK_OF_INFAMY, 0},
|
|
43890
|
+
[BossID.WRETCHED] = {EntityType.WIDOW, WidowVariant.WRETCHED},
|
|
43891
|
+
[BossID.PIN] = {EntityType.PIN, PinVariant.PIN},
|
|
43892
|
+
[BossID.CONQUEST] = {EntityType.WAR, WarVariant.CONQUEST},
|
|
43893
|
+
[BossID.ISAAC] = {EntityType.ISAAC, IsaacVariant.ISAAC},
|
|
43894
|
+
[BossID.BLUE_BABY] = {EntityType.ISAAC, IsaacVariant.BLUE_BABY},
|
|
43895
|
+
[BossID.DADDY_LONG_LEGS] = {EntityType.DADDY_LONG_LEGS, DaddyLongLegsVariant.DADDY_LONG_LEGS},
|
|
43896
|
+
[BossID.TRIACHNID] = {EntityType.DADDY_LONG_LEGS, DaddyLongLegsVariant.TRIACHNID},
|
|
43897
|
+
[BossID.HAUNT] = {EntityType.HAUNT, HauntVariant.HAUNT},
|
|
43898
|
+
[BossID.DINGLE] = {EntityType.DINGLE, DingleVariant.DINGLE},
|
|
43899
|
+
[BossID.MEGA_MAW] = {EntityType.MEGA_MAW, 0},
|
|
43900
|
+
[BossID.GATE] = {EntityType.GATE, 0},
|
|
43901
|
+
[BossID.MEGA_FATTY] = {EntityType.MEGA_FATTY, 0},
|
|
43902
|
+
[BossID.CAGE] = {EntityType.CAGE, 0},
|
|
43903
|
+
[BossID.MAMA_GURDY] = {EntityType.MAMA_GURDY, MamaGurdyVariant.MAMA_GURDY},
|
|
43904
|
+
[BossID.DARK_ONE] = {EntityType.DARK_ONE, 0},
|
|
43905
|
+
[BossID.ADVERSARY] = {EntityType.ADVERSARY, 0},
|
|
43906
|
+
[BossID.POLYCEPHALUS] = {EntityType.POLYCEPHALUS, PolycephalusVariant.POLYCEPHALUS},
|
|
43907
|
+
[BossID.MR_FRED] = {EntityType.MR_FRED, 0},
|
|
43908
|
+
[BossID.LAMB] = {EntityType.LAMB, LambVariant.LAMB},
|
|
43909
|
+
[BossID.MEGA_SATAN] = {EntityType.MEGA_SATAN, MegaSatanVariant.MEGA_SATAN},
|
|
43910
|
+
[BossID.GURGLING] = {EntityType.GURGLING, GurglingVariant.GURGLING_BOSS},
|
|
43911
|
+
[BossID.STAIN] = {EntityType.STAIN, 0},
|
|
43912
|
+
[BossID.BROWNIE] = {EntityType.BROWNIE, 0},
|
|
43913
|
+
[BossID.FORSAKEN] = {EntityType.FORSAKEN, 0},
|
|
43914
|
+
[BossID.LITTLE_HORN] = {EntityType.LITTLE_HORN, LittleHornVariant.LITTLE_HORN},
|
|
43915
|
+
[BossID.RAG_MAN] = {EntityType.RAG_MAN, RagManVariant.RAG_MAN},
|
|
43916
|
+
[BossID.ULTRA_GREED] = {EntityType.ULTRA_GREED, UltraGreedVariant.ULTRA_GREED},
|
|
43917
|
+
[BossID.HUSH] = {EntityType.HUSH, 0},
|
|
43918
|
+
[BossID.DANGLE] = {EntityType.DINGLE, DingleVariant.DANGLE},
|
|
43919
|
+
[BossID.TURDLING] = {EntityType.GURGLING, GurglingVariant.TURDLING},
|
|
43920
|
+
[BossID.FRAIL] = {EntityType.PIN, PinVariant.FRAIL},
|
|
43921
|
+
[BossID.RAG_MEGA] = {EntityType.RAG_MEGA, RagMegaVariant.RAG_MEGA},
|
|
43922
|
+
[BossID.SISTERS_VIS] = {EntityType.SISTERS_VIS, 0},
|
|
43923
|
+
[BossID.BIG_HORN] = {EntityType.BIG_HORN, BigHornVariant.BIG_HORN},
|
|
43924
|
+
[BossID.DELIRIUM] = {EntityType.DELIRIUM, 0},
|
|
43925
|
+
[BossID.MATRIARCH] = {EntityType.MATRIARCH, 0},
|
|
43926
|
+
[BossID.PILE] = {EntityType.POLYCEPHALUS, PolycephalusVariant.PILE},
|
|
43927
|
+
[BossID.REAP_CREEP] = {EntityType.REAP_CREEP, 0},
|
|
43928
|
+
[BossID.LIL_BLUB] = {EntityType.LIL_BLUB, 0},
|
|
43929
|
+
[BossID.WORMWOOD] = {EntityType.PIN, PinVariant.WORMWOOD},
|
|
43930
|
+
[BossID.RAINMAKER] = {EntityType.RAINMAKER, 0},
|
|
43931
|
+
[BossID.VISAGE] = {EntityType.VISAGE, 0},
|
|
43932
|
+
[BossID.SIREN] = {EntityType.SIREN, 0},
|
|
43933
|
+
[BossID.TUFF_TWINS] = {EntityType.LARRY_JR, LarryJrVariant.TUFF_TWIN},
|
|
43934
|
+
[BossID.HERETIC] = {EntityType.HERETIC, 0},
|
|
43935
|
+
[BossID.HORNFEL] = {EntityType.HORNFEL, 0},
|
|
43936
|
+
[BossID.GREAT_GIDEON] = {EntityType.GREAT_GIDEON, 0},
|
|
43937
|
+
[BossID.BABY_PLUM] = {EntityType.BABY_PLUM, 0},
|
|
43938
|
+
[BossID.SCOURGE] = {EntityType.SCOURGE, 0},
|
|
43939
|
+
[BossID.CHIMERA] = {EntityType.CHIMERA, 0},
|
|
43940
|
+
[BossID.ROTGUT] = {EntityType.ROTGUT, 0},
|
|
43941
|
+
[BossID.MOTHER] = {EntityType.MOTHER, MotherVariant.MOTHER_1},
|
|
43942
|
+
[BossID.MAUSOLEUM_MOM] = {EntityType.MOM, MomVariant.MOM},
|
|
43943
|
+
[BossID.MAUSOLEUM_MOMS_HEART] = {EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART},
|
|
43944
|
+
[BossID.MIN_MIN] = {EntityType.MIN_MIN, 0},
|
|
43945
|
+
[BossID.CLOG] = {EntityType.CLOG, 0},
|
|
43946
|
+
[BossID.SINGE] = {EntityType.SINGE, 0},
|
|
43947
|
+
[BossID.BUMBINO] = {EntityType.BUMBINO, 0},
|
|
43948
|
+
[BossID.COLOSTOMIA] = {EntityType.COLOSTOMIA, 0},
|
|
43949
|
+
[BossID.SHELL] = {EntityType.LARRY_JR, LarryJrVariant.SHELL},
|
|
43950
|
+
[BossID.TURDLET] = {EntityType.TURDLET, 0},
|
|
43951
|
+
[BossID.RAGLICH] = {EntityType.RAGLICH, RaglichVariant.RAGLICH},
|
|
43952
|
+
[BossID.DOGMA] = {EntityType.DOGMA, DogmaVariant.DOGMA_PHASE_1},
|
|
43953
|
+
[BossID.BEAST] = {EntityType.BEAST, BeastVariant.BEAST},
|
|
43954
|
+
[BossID.HORNY_BOYS] = {EntityType.HORNY_BOYS, 0},
|
|
43955
|
+
[BossID.CLUTCH] = {EntityType.CLUTCH, 0}
|
|
43956
|
+
}
|
|
43814
43957
|
return ____exports
|
|
43815
43958
|
end,
|
|
43816
43959
|
["src.sets.bossSets"] = function(...)
|
|
@@ -44155,11 +44298,13 @@ local STORY_BOSS_IDS_SET = __TS__New(ReadonlySet, {
|
|
|
44155
44298
|
BossID.HUSH,
|
|
44156
44299
|
BossID.DELIRIUM,
|
|
44157
44300
|
BossID.MOTHER,
|
|
44301
|
+
BossID.MAUSOLEUM_MOM,
|
|
44302
|
+
BossID.MAUSOLEUM_MOMS_HEART,
|
|
44158
44303
|
BossID.DOGMA,
|
|
44159
44304
|
BossID.BEAST
|
|
44160
44305
|
})
|
|
44161
|
-
if STORY_BOSS_IDS_SET.size + 1 ~= STORY_BOSSES_SET.size then
|
|
44162
|
-
error("The
|
|
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.")
|
|
44163
44308
|
end
|
|
44164
44309
|
____exports.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = (function()
|
|
44165
44310
|
local allBossesSet = copySet(nil, ____exports.ALL_BOSSES_SET)
|
|
@@ -44306,14 +44451,17 @@ return ____exports
|
|
|
44306
44451
|
["src.functions.bosses"] = function(...)
|
|
44307
44452
|
local ____lualib = require("lualib_bundle")
|
|
44308
44453
|
local __TS__New = ____lualib.__TS__New
|
|
44454
|
+
local Map = ____lualib.Map
|
|
44455
|
+
local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
|
|
44309
44456
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
44310
44457
|
local ____exports = {}
|
|
44311
|
-
local getNumBossSegments, DEFAULT_BOSS_MULTI_SEGMENTS
|
|
44312
44458
|
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
44313
44459
|
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
44314
44460
|
local LokiVariant = ____isaac_2Dtypescript_2Ddefinitions.LokiVariant
|
|
44315
44461
|
local ____constants = require("src.core.constants")
|
|
44316
44462
|
local VectorZero = ____constants.VectorZero
|
|
44463
|
+
local ____bossIDToEntityTypeVariant = require("src.objects.bossIDToEntityTypeVariant")
|
|
44464
|
+
local BOSS_ID_TO_ENTITY_TYPE_VARIANT = ____bossIDToEntityTypeVariant.BOSS_ID_TO_ENTITY_TYPE_VARIANT
|
|
44317
44465
|
local ____bossSets = require("src.sets.bossSets")
|
|
44318
44466
|
local ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = ____bossSets.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET
|
|
44319
44467
|
local ALL_BOSSES_SET = ____bossSets.ALL_BOSSES_SET
|
|
@@ -44334,37 +44482,6 @@ local ____types = require("src.functions.types")
|
|
|
44334
44482
|
local asNumber = ____types.asNumber
|
|
44335
44483
|
local ____utils = require("src.functions.utils")
|
|
44336
44484
|
local ____repeat = ____utils["repeat"]
|
|
44337
|
-
function getNumBossSegments(self, entityType, variant, numSegments)
|
|
44338
|
-
if numSegments ~= nil then
|
|
44339
|
-
return numSegments
|
|
44340
|
-
end
|
|
44341
|
-
repeat
|
|
44342
|
-
local ____switch16 = entityType
|
|
44343
|
-
local ____cond16 = ____switch16 == EntityType.CHUB
|
|
44344
|
-
if ____cond16 then
|
|
44345
|
-
do
|
|
44346
|
-
return 3
|
|
44347
|
-
end
|
|
44348
|
-
end
|
|
44349
|
-
____cond16 = ____cond16 or ____switch16 == EntityType.LOKI
|
|
44350
|
-
if ____cond16 then
|
|
44351
|
-
do
|
|
44352
|
-
return variant == asNumber(nil, LokiVariant.LOKII) and 2 or 1
|
|
44353
|
-
end
|
|
44354
|
-
end
|
|
44355
|
-
____cond16 = ____cond16 or ____switch16 == EntityType.GURGLING
|
|
44356
|
-
if ____cond16 then
|
|
44357
|
-
do
|
|
44358
|
-
return 2
|
|
44359
|
-
end
|
|
44360
|
-
end
|
|
44361
|
-
do
|
|
44362
|
-
do
|
|
44363
|
-
return DEFAULT_BOSS_MULTI_SEGMENTS
|
|
44364
|
-
end
|
|
44365
|
-
end
|
|
44366
|
-
until true
|
|
44367
|
-
end
|
|
44368
44485
|
local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
|
|
44369
44486
|
EntityType.LARRY_JR,
|
|
44370
44487
|
EntityType.CHUB,
|
|
@@ -44372,7 +44489,19 @@ local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
|
|
|
44372
44489
|
EntityType.GURGLING,
|
|
44373
44490
|
EntityType.TURDLET
|
|
44374
44491
|
})
|
|
44375
|
-
DEFAULT_BOSS_MULTI_SEGMENTS = 4
|
|
44492
|
+
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)
|
|
44376
44505
|
function ____exports.getAliveBosses(self, entityType, variant, subType, ignoreFriendly)
|
|
44377
44506
|
if entityType == nil then
|
|
44378
44507
|
entityType = -1
|
|
@@ -44404,6 +44533,10 @@ function ____exports.getAllBossesSet(self, includeStoryBosses)
|
|
|
44404
44533
|
end
|
|
44405
44534
|
return includeStoryBosses and ALL_BOSSES_SET or ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET
|
|
44406
44535
|
end
|
|
44536
|
+
function ____exports.getBossIDFromEntityTypeVariant(self, entityType, variant)
|
|
44537
|
+
local entityTypeVariant = (tostring(entityType) .. ".") .. tostring(variant)
|
|
44538
|
+
return ENTITY_TYPE_VARIANT_TO_BOSS_ID:get(entityTypeVariant)
|
|
44539
|
+
end
|
|
44407
44540
|
function ____exports.getBossSet(self, stage, stageType)
|
|
44408
44541
|
local stageTypeMap = STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP:get(stage)
|
|
44409
44542
|
if stageTypeMap == nil then
|
|
@@ -44430,9 +44563,43 @@ end
|
|
|
44430
44563
|
function ____exports.getCombinedBossSet(self, stage)
|
|
44431
44564
|
return STAGE_TO_COMBINED_BOSS_SET_MAP:get(stage)
|
|
44432
44565
|
end
|
|
44566
|
+
function ____exports.getEntityTypeVariantFromBossID(self, bossID)
|
|
44567
|
+
return BOSS_ID_TO_ENTITY_TYPE_VARIANT[bossID]
|
|
44568
|
+
end
|
|
44433
44569
|
function ____exports.isSin(self, npc)
|
|
44434
44570
|
return SIN_ENTITY_TYPES_SET:has(npc.Type)
|
|
44435
44571
|
end
|
|
44572
|
+
local function getNumBossSegments(self, entityType, variant, numSegments)
|
|
44573
|
+
if numSegments ~= nil then
|
|
44574
|
+
return numSegments
|
|
44575
|
+
end
|
|
44576
|
+
repeat
|
|
44577
|
+
local ____switch18 = entityType
|
|
44578
|
+
local ____cond18 = ____switch18 == EntityType.CHUB
|
|
44579
|
+
if ____cond18 then
|
|
44580
|
+
do
|
|
44581
|
+
return 3
|
|
44582
|
+
end
|
|
44583
|
+
end
|
|
44584
|
+
____cond18 = ____cond18 or ____switch18 == EntityType.LOKI
|
|
44585
|
+
if ____cond18 then
|
|
44586
|
+
do
|
|
44587
|
+
return variant == asNumber(nil, LokiVariant.LOKII) and 2 or 1
|
|
44588
|
+
end
|
|
44589
|
+
end
|
|
44590
|
+
____cond18 = ____cond18 or ____switch18 == EntityType.GURGLING
|
|
44591
|
+
if ____cond18 then
|
|
44592
|
+
do
|
|
44593
|
+
return 2
|
|
44594
|
+
end
|
|
44595
|
+
end
|
|
44596
|
+
do
|
|
44597
|
+
do
|
|
44598
|
+
return DEFAULT_BOSS_MULTI_SEGMENTS
|
|
44599
|
+
end
|
|
44600
|
+
end
|
|
44601
|
+
until true
|
|
44602
|
+
end
|
|
44436
44603
|
function ____exports.spawnBoss(self, entityType, variant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG, numSegments)
|
|
44437
44604
|
if velocity == nil then
|
|
44438
44605
|
velocity = VectorZero
|
|
@@ -30,6 +30,7 @@ export declare function getAliveBosses(entityType?: EntityType | -1, variant?: n
|
|
|
30
30
|
* Default is true.
|
|
31
31
|
*/
|
|
32
32
|
export declare function getAllBossesSet(includeStoryBosses?: boolean): ReadonlySet<BossID>;
|
|
33
|
+
export declare function getBossIDFromEntityTypeVariant(entityType: EntityType, variant: int): BossID | undefined;
|
|
33
34
|
/**
|
|
34
35
|
* Helper function to get the set of vanilla bosses for a particular stage and stage type
|
|
35
36
|
* combination.
|
|
@@ -57,6 +58,7 @@ export declare function getBosses(entityType?: EntityType, variant?: int, subTyp
|
|
|
57
58
|
* Also see the `getAllBossesSet` and `getBossSet` functions.
|
|
58
59
|
*/
|
|
59
60
|
export declare function getCombinedBossSet(stage: LevelStage): ReadonlySet<BossID> | undefined;
|
|
61
|
+
export declare function getEntityTypeVariantFromBossID(bossID: BossID): readonly [EntityType, int];
|
|
60
62
|
/** Helper function to check if the provided NPC is a Sin miniboss, such as Sloth or Lust. */
|
|
61
63
|
export declare function isSin(npc: EntityNPC): boolean;
|
|
62
64
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bosses.d.ts","sourceRoot":"","sources":["../../../src/functions/bosses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAe,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"bosses.d.ts","sourceRoot":"","sources":["../../../src/functions/bosses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAe,MAAM,8BAA8B,CAAC;AA0CvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,UAAU,GAAE,UAAU,GAAG,CAAC,CAAM,EAChC,OAAO,SAAK,EACZ,OAAO,SAAK,EACZ,cAAc,UAAQ,GACrB,SAAS,EAAE,CAGb;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,kBAAkB,UAAO,GACxB,WAAW,CAAC,MAAM,CAAC,CAIrB;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,GACX,MAAM,GAAG,SAAS,CAGpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAOjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,GAAG,EACb,OAAO,CAAC,EAAE,GAAG,EACb,cAAc,UAAQ,GACrB,SAAS,EAAE,CAGb;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAChB,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAEjC;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,GACb,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAE5B;AAED,6FAA6F;AAC7F,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAE7C;AAmCD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,EAC7C,WAAW,CAAC,EAAE,GAAG,GAChB,SAAS,CAiCX;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,WAAW,CAAC,EAAE,GAAG,GAChB,SAAS,CAYX"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local Map = ____lualib.Map
|
|
4
|
+
local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
|
|
3
5
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
4
6
|
local ____exports = {}
|
|
5
|
-
local getNumBossSegments, DEFAULT_BOSS_MULTI_SEGMENTS
|
|
6
7
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
8
|
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
8
9
|
local LokiVariant = ____isaac_2Dtypescript_2Ddefinitions.LokiVariant
|
|
9
10
|
local ____constants = require("src.core.constants")
|
|
10
11
|
local VectorZero = ____constants.VectorZero
|
|
12
|
+
local ____bossIDToEntityTypeVariant = require("src.objects.bossIDToEntityTypeVariant")
|
|
13
|
+
local BOSS_ID_TO_ENTITY_TYPE_VARIANT = ____bossIDToEntityTypeVariant.BOSS_ID_TO_ENTITY_TYPE_VARIANT
|
|
11
14
|
local ____bossSets = require("src.sets.bossSets")
|
|
12
15
|
local ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = ____bossSets.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET
|
|
13
16
|
local ALL_BOSSES_SET = ____bossSets.ALL_BOSSES_SET
|
|
@@ -28,37 +31,6 @@ local ____types = require("src.functions.types")
|
|
|
28
31
|
local asNumber = ____types.asNumber
|
|
29
32
|
local ____utils = require("src.functions.utils")
|
|
30
33
|
local ____repeat = ____utils["repeat"]
|
|
31
|
-
function getNumBossSegments(self, entityType, variant, numSegments)
|
|
32
|
-
if numSegments ~= nil then
|
|
33
|
-
return numSegments
|
|
34
|
-
end
|
|
35
|
-
repeat
|
|
36
|
-
local ____switch16 = entityType
|
|
37
|
-
local ____cond16 = ____switch16 == EntityType.CHUB
|
|
38
|
-
if ____cond16 then
|
|
39
|
-
do
|
|
40
|
-
return 3
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
____cond16 = ____cond16 or ____switch16 == EntityType.LOKI
|
|
44
|
-
if ____cond16 then
|
|
45
|
-
do
|
|
46
|
-
return variant == asNumber(nil, LokiVariant.LOKII) and 2 or 1
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
____cond16 = ____cond16 or ____switch16 == EntityType.GURGLING
|
|
50
|
-
if ____cond16 then
|
|
51
|
-
do
|
|
52
|
-
return 2
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
do
|
|
56
|
-
do
|
|
57
|
-
return DEFAULT_BOSS_MULTI_SEGMENTS
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
until true
|
|
61
|
-
end
|
|
62
34
|
local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
|
|
63
35
|
EntityType.LARRY_JR,
|
|
64
36
|
EntityType.CHUB,
|
|
@@ -66,7 +38,19 @@ local BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = __TS__New(ReadonlySet, {
|
|
|
66
38
|
EntityType.GURGLING,
|
|
67
39
|
EntityType.TURDLET
|
|
68
40
|
})
|
|
69
|
-
DEFAULT_BOSS_MULTI_SEGMENTS = 4
|
|
41
|
+
local DEFAULT_BOSS_MULTI_SEGMENTS = 4
|
|
42
|
+
local ENTITY_TYPE_VARIANT_TO_BOSS_ID = (function()
|
|
43
|
+
local entityTypeVariantToBossID = __TS__New(Map)
|
|
44
|
+
for ____, ____value in ipairs(__TS__ObjectEntries(BOSS_ID_TO_ENTITY_TYPE_VARIANT)) do
|
|
45
|
+
local bossIDRaw = ____value[1]
|
|
46
|
+
local entityTypeVariant = ____value[2]
|
|
47
|
+
local bossID = bossIDRaw
|
|
48
|
+
local entityType, variant = table.unpack(entityTypeVariant)
|
|
49
|
+
local entityTypeVariantString = (tostring(entityType) .. ".") .. tostring(variant)
|
|
50
|
+
entityTypeVariantToBossID:set(entityTypeVariantString, bossID)
|
|
51
|
+
end
|
|
52
|
+
return entityTypeVariantToBossID
|
|
53
|
+
end)(nil)
|
|
70
54
|
--- Helper function to get all of the non-dead bosses in the room.
|
|
71
55
|
--
|
|
72
56
|
-- This function will not include bosses on an internal blacklist, such as Death's scythes or Big
|
|
@@ -122,6 +106,10 @@ function ____exports.getAllBossesSet(self, includeStoryBosses)
|
|
|
122
106
|
end
|
|
123
107
|
return includeStoryBosses and ALL_BOSSES_SET or ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET
|
|
124
108
|
end
|
|
109
|
+
function ____exports.getBossIDFromEntityTypeVariant(self, entityType, variant)
|
|
110
|
+
local entityTypeVariant = (tostring(entityType) .. ".") .. tostring(variant)
|
|
111
|
+
return ENTITY_TYPE_VARIANT_TO_BOSS_ID:get(entityTypeVariant)
|
|
112
|
+
end
|
|
125
113
|
--- Helper function to get the set of vanilla bosses for a particular stage and stage type
|
|
126
114
|
-- combination.
|
|
127
115
|
--
|
|
@@ -166,10 +154,44 @@ end
|
|
|
166
154
|
function ____exports.getCombinedBossSet(self, stage)
|
|
167
155
|
return STAGE_TO_COMBINED_BOSS_SET_MAP:get(stage)
|
|
168
156
|
end
|
|
157
|
+
function ____exports.getEntityTypeVariantFromBossID(self, bossID)
|
|
158
|
+
return BOSS_ID_TO_ENTITY_TYPE_VARIANT[bossID]
|
|
159
|
+
end
|
|
169
160
|
--- Helper function to check if the provided NPC is a Sin miniboss, such as Sloth or Lust.
|
|
170
161
|
function ____exports.isSin(self, npc)
|
|
171
162
|
return SIN_ENTITY_TYPES_SET:has(npc.Type)
|
|
172
163
|
end
|
|
164
|
+
local function getNumBossSegments(self, entityType, variant, numSegments)
|
|
165
|
+
if numSegments ~= nil then
|
|
166
|
+
return numSegments
|
|
167
|
+
end
|
|
168
|
+
repeat
|
|
169
|
+
local ____switch18 = entityType
|
|
170
|
+
local ____cond18 = ____switch18 == EntityType.CHUB
|
|
171
|
+
if ____cond18 then
|
|
172
|
+
do
|
|
173
|
+
return 3
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
____cond18 = ____cond18 or ____switch18 == EntityType.LOKI
|
|
177
|
+
if ____cond18 then
|
|
178
|
+
do
|
|
179
|
+
return variant == asNumber(nil, LokiVariant.LOKII) and 2 or 1
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
____cond18 = ____cond18 or ____switch18 == EntityType.GURGLING
|
|
183
|
+
if ____cond18 then
|
|
184
|
+
do
|
|
185
|
+
return 2
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
do
|
|
189
|
+
do
|
|
190
|
+
return DEFAULT_BOSS_MULTI_SEGMENTS
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
until true
|
|
194
|
+
end
|
|
173
195
|
--- Helper function to spawn a boss.
|
|
174
196
|
--
|
|
175
197
|
-- Use this function instead of `spawnNPC` since it handles automatically spawning multiple segments
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { BeastVariant, BigHornVariant, ChubVariant, DaddyLongLegsVariant, DingleVariant, DogmaVariant, DukeOfFliesVariant, EntityType, FallenVariant, FistulaVariant, GeminiVariant, GurglingVariant, HauntVariant, IsaacVariant, LambVariant, LarryJrVariant, LittleHornVariant, LokiVariant, MamaGurdyVariant, MegaSatanVariant, MomVariant, MomsHeartVariant, Monstro2Variant, MotherVariant, PeepVariant, PinVariant, PolycephalusVariant, RagManVariant, RagMegaVariant, RaglichVariant, SatanVariant, UltraGreedVariant, WarVariant, WidowVariant } from "isaac-typescript-definitions";
|
|
2
|
+
export declare const BOSS_ID_TO_ENTITY_TYPE_VARIANT: {
|
|
3
|
+
readonly 1: readonly [EntityType.MONSTRO, 0];
|
|
4
|
+
readonly 2: readonly [EntityType.LARRY_JR, LarryJrVariant.LARRY_JR];
|
|
5
|
+
readonly 3: readonly [EntityType.CHUB, ChubVariant.CHUB];
|
|
6
|
+
readonly 4: readonly [EntityType.GURDY, 0];
|
|
7
|
+
readonly 5: readonly [EntityType.MONSTRO_2, Monstro2Variant.MONSTRO_2];
|
|
8
|
+
readonly 6: readonly [EntityType.MOM, MomVariant.MOM];
|
|
9
|
+
readonly 7: readonly [EntityType.PIN, PinVariant.SCOLEX];
|
|
10
|
+
readonly 8: readonly [EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART];
|
|
11
|
+
readonly 9: readonly [EntityType.FAMINE, 0];
|
|
12
|
+
readonly 10: readonly [EntityType.PESTILENCE, 0];
|
|
13
|
+
readonly 11: readonly [EntityType.WAR, WarVariant.WAR];
|
|
14
|
+
readonly 12: readonly [EntityType.DEATH, 0];
|
|
15
|
+
readonly 13: readonly [EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.DUKE_OF_FLIES];
|
|
16
|
+
readonly 14: readonly [EntityType.PEEP, PeepVariant.PEEP];
|
|
17
|
+
readonly 15: readonly [EntityType.LOKI, LokiVariant.LOKI];
|
|
18
|
+
readonly 16: readonly [EntityType.BLASTOCYST_BIG, 0];
|
|
19
|
+
readonly 17: readonly [EntityType.GEMINI, GeminiVariant.GEMINI];
|
|
20
|
+
readonly 18: readonly [EntityType.FISTULA_BIG, FistulaVariant.FISTULA];
|
|
21
|
+
readonly 19: readonly [EntityType.MONSTRO_2, Monstro2Variant.GISH];
|
|
22
|
+
readonly 20: readonly [EntityType.GEMINI, GeminiVariant.STEVEN];
|
|
23
|
+
readonly 21: readonly [EntityType.CHUB, ChubVariant.CHAD];
|
|
24
|
+
readonly 22: readonly [EntityType.HEADLESS_HORSEMAN, 0];
|
|
25
|
+
readonly 23: readonly [EntityType.FALLEN, FallenVariant.FALLEN];
|
|
26
|
+
readonly 24: readonly [EntityType.SATAN, SatanVariant.SATAN];
|
|
27
|
+
readonly 25: readonly [EntityType.MOMS_HEART, MomsHeartVariant.IT_LIVES];
|
|
28
|
+
readonly 26: readonly [EntityType.LARRY_JR, LarryJrVariant.HOLLOW];
|
|
29
|
+
readonly 27: readonly [EntityType.CHUB, ChubVariant.CARRION_QUEEN];
|
|
30
|
+
readonly 28: readonly [EntityType.GURDY_JR, 0];
|
|
31
|
+
readonly 29: readonly [EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.HUSK];
|
|
32
|
+
readonly 30: readonly [EntityType.PEEP, PeepVariant.BLOAT];
|
|
33
|
+
readonly 31: readonly [EntityType.LOKI, LokiVariant.LOKII];
|
|
34
|
+
readonly 32: readonly [EntityType.GEMINI, GeminiVariant.BLIGHTED_OVUM];
|
|
35
|
+
readonly 33: readonly [EntityType.FISTULA_BIG, FistulaVariant.TERATOMA];
|
|
36
|
+
readonly 34: readonly [EntityType.WIDOW, WidowVariant.WIDOW];
|
|
37
|
+
readonly 35: readonly [EntityType.MASK_OF_INFAMY, 0];
|
|
38
|
+
readonly 36: readonly [EntityType.WIDOW, WidowVariant.WRETCHED];
|
|
39
|
+
readonly 37: readonly [EntityType.PIN, PinVariant.PIN];
|
|
40
|
+
readonly 38: readonly [EntityType.WAR, WarVariant.CONQUEST];
|
|
41
|
+
readonly 39: readonly [EntityType.ISAAC, IsaacVariant.ISAAC];
|
|
42
|
+
readonly 40: readonly [EntityType.ISAAC, IsaacVariant.BLUE_BABY];
|
|
43
|
+
readonly 41: readonly [EntityType.DADDY_LONG_LEGS, DaddyLongLegsVariant.DADDY_LONG_LEGS];
|
|
44
|
+
readonly 42: readonly [EntityType.DADDY_LONG_LEGS, DaddyLongLegsVariant.TRIACHNID];
|
|
45
|
+
readonly 43: readonly [EntityType.HAUNT, HauntVariant.HAUNT];
|
|
46
|
+
readonly 44: readonly [EntityType.DINGLE, DingleVariant.DINGLE];
|
|
47
|
+
readonly 45: readonly [EntityType.MEGA_MAW, 0];
|
|
48
|
+
readonly 46: readonly [EntityType.GATE, 0];
|
|
49
|
+
readonly 47: readonly [EntityType.MEGA_FATTY, 0];
|
|
50
|
+
readonly 48: readonly [EntityType.CAGE, 0];
|
|
51
|
+
readonly 49: readonly [EntityType.MAMA_GURDY, MamaGurdyVariant.MAMA_GURDY];
|
|
52
|
+
readonly 50: readonly [EntityType.DARK_ONE, 0];
|
|
53
|
+
readonly 51: readonly [EntityType.ADVERSARY, 0];
|
|
54
|
+
readonly 52: readonly [EntityType.POLYCEPHALUS, PolycephalusVariant.POLYCEPHALUS];
|
|
55
|
+
readonly 53: readonly [EntityType.MR_FRED, 0];
|
|
56
|
+
readonly 54: readonly [EntityType.LAMB, LambVariant.LAMB];
|
|
57
|
+
readonly 55: readonly [EntityType.MEGA_SATAN, MegaSatanVariant.MEGA_SATAN];
|
|
58
|
+
readonly 56: readonly [EntityType.GURGLING, GurglingVariant.GURGLING_BOSS];
|
|
59
|
+
readonly 57: readonly [EntityType.STAIN, 0];
|
|
60
|
+
readonly 58: readonly [EntityType.BROWNIE, 0];
|
|
61
|
+
readonly 59: readonly [EntityType.FORSAKEN, 0];
|
|
62
|
+
readonly 60: readonly [EntityType.LITTLE_HORN, LittleHornVariant.LITTLE_HORN];
|
|
63
|
+
readonly 61: readonly [EntityType.RAG_MAN, RagManVariant.RAG_MAN];
|
|
64
|
+
readonly 62: readonly [EntityType.ULTRA_GREED, UltraGreedVariant.ULTRA_GREED];
|
|
65
|
+
readonly 63: readonly [EntityType.HUSH, 0];
|
|
66
|
+
readonly 64: readonly [EntityType.DINGLE, DingleVariant.DANGLE];
|
|
67
|
+
readonly 65: readonly [EntityType.GURGLING, GurglingVariant.TURDLING];
|
|
68
|
+
readonly 66: readonly [EntityType.PIN, PinVariant.FRAIL];
|
|
69
|
+
readonly 67: readonly [EntityType.RAG_MEGA, RagMegaVariant.RAG_MEGA];
|
|
70
|
+
readonly 68: readonly [EntityType.SISTERS_VIS, 0];
|
|
71
|
+
readonly 69: readonly [EntityType.BIG_HORN, BigHornVariant.BIG_HORN];
|
|
72
|
+
readonly 70: readonly [EntityType.DELIRIUM, 0];
|
|
73
|
+
readonly 72: readonly [EntityType.MATRIARCH, 0];
|
|
74
|
+
readonly 73: readonly [EntityType.POLYCEPHALUS, PolycephalusVariant.PILE];
|
|
75
|
+
readonly 74: readonly [EntityType.REAP_CREEP, 0];
|
|
76
|
+
readonly 75: readonly [EntityType.LIL_BLUB, 0];
|
|
77
|
+
readonly 76: readonly [EntityType.PIN, PinVariant.WORMWOOD];
|
|
78
|
+
readonly 77: readonly [EntityType.RAINMAKER, 0];
|
|
79
|
+
readonly 78: readonly [EntityType.VISAGE, 0];
|
|
80
|
+
readonly 79: readonly [EntityType.SIREN, 0];
|
|
81
|
+
readonly 80: readonly [EntityType.LARRY_JR, LarryJrVariant.TUFF_TWIN];
|
|
82
|
+
readonly 81: readonly [EntityType.HERETIC, 0];
|
|
83
|
+
readonly 82: readonly [EntityType.HORNFEL, 0];
|
|
84
|
+
readonly 83: readonly [EntityType.GREAT_GIDEON, 0];
|
|
85
|
+
readonly 84: readonly [EntityType.BABY_PLUM, 0];
|
|
86
|
+
readonly 85: readonly [EntityType.SCOURGE, 0];
|
|
87
|
+
readonly 86: readonly [EntityType.CHIMERA, 0];
|
|
88
|
+
readonly 87: readonly [EntityType.ROTGUT, 0];
|
|
89
|
+
readonly 88: readonly [EntityType.MOTHER, MotherVariant.MOTHER_1];
|
|
90
|
+
readonly 89: readonly [EntityType.MOM, MomVariant.MOM];
|
|
91
|
+
readonly 90: readonly [EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART];
|
|
92
|
+
readonly 91: readonly [EntityType.MIN_MIN, 0];
|
|
93
|
+
readonly 92: readonly [EntityType.CLOG, 0];
|
|
94
|
+
readonly 93: readonly [EntityType.SINGE, 0];
|
|
95
|
+
readonly 94: readonly [EntityType.BUMBINO, 0];
|
|
96
|
+
readonly 95: readonly [EntityType.COLOSTOMIA, 0];
|
|
97
|
+
readonly 96: readonly [EntityType.LARRY_JR, LarryJrVariant.SHELL];
|
|
98
|
+
readonly 97: readonly [EntityType.TURDLET, 0];
|
|
99
|
+
readonly 98: readonly [EntityType.RAGLICH, RaglichVariant.RAGLICH];
|
|
100
|
+
readonly 99: readonly [EntityType.DOGMA, DogmaVariant.DOGMA_PHASE_1];
|
|
101
|
+
readonly 100: readonly [EntityType.BEAST, BeastVariant.BEAST];
|
|
102
|
+
readonly 101: readonly [EntityType.HORNY_BOYS, 0];
|
|
103
|
+
readonly 102: readonly [EntityType.CLUTCH, 0];
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=bossIDToEntityTypeVariant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bossIDToEntityTypeVariant.d.ts","sourceRoot":"","sources":["../../../src/objects/bossIDToEntityTypeVariant.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EAEd,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgUoB,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
3
|
+
local BeastVariant = ____isaac_2Dtypescript_2Ddefinitions.BeastVariant
|
|
4
|
+
local BigHornVariant = ____isaac_2Dtypescript_2Ddefinitions.BigHornVariant
|
|
5
|
+
local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
|
|
6
|
+
local ChubVariant = ____isaac_2Dtypescript_2Ddefinitions.ChubVariant
|
|
7
|
+
local DaddyLongLegsVariant = ____isaac_2Dtypescript_2Ddefinitions.DaddyLongLegsVariant
|
|
8
|
+
local DingleVariant = ____isaac_2Dtypescript_2Ddefinitions.DingleVariant
|
|
9
|
+
local DogmaVariant = ____isaac_2Dtypescript_2Ddefinitions.DogmaVariant
|
|
10
|
+
local DukeOfFliesVariant = ____isaac_2Dtypescript_2Ddefinitions.DukeOfFliesVariant
|
|
11
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
12
|
+
local FallenVariant = ____isaac_2Dtypescript_2Ddefinitions.FallenVariant
|
|
13
|
+
local FistulaVariant = ____isaac_2Dtypescript_2Ddefinitions.FistulaVariant
|
|
14
|
+
local GeminiVariant = ____isaac_2Dtypescript_2Ddefinitions.GeminiVariant
|
|
15
|
+
local GurglingVariant = ____isaac_2Dtypescript_2Ddefinitions.GurglingVariant
|
|
16
|
+
local HauntVariant = ____isaac_2Dtypescript_2Ddefinitions.HauntVariant
|
|
17
|
+
local IsaacVariant = ____isaac_2Dtypescript_2Ddefinitions.IsaacVariant
|
|
18
|
+
local LambVariant = ____isaac_2Dtypescript_2Ddefinitions.LambVariant
|
|
19
|
+
local LarryJrVariant = ____isaac_2Dtypescript_2Ddefinitions.LarryJrVariant
|
|
20
|
+
local LittleHornVariant = ____isaac_2Dtypescript_2Ddefinitions.LittleHornVariant
|
|
21
|
+
local LokiVariant = ____isaac_2Dtypescript_2Ddefinitions.LokiVariant
|
|
22
|
+
local MamaGurdyVariant = ____isaac_2Dtypescript_2Ddefinitions.MamaGurdyVariant
|
|
23
|
+
local MegaSatanVariant = ____isaac_2Dtypescript_2Ddefinitions.MegaSatanVariant
|
|
24
|
+
local MomVariant = ____isaac_2Dtypescript_2Ddefinitions.MomVariant
|
|
25
|
+
local MomsHeartVariant = ____isaac_2Dtypescript_2Ddefinitions.MomsHeartVariant
|
|
26
|
+
local Monstro2Variant = ____isaac_2Dtypescript_2Ddefinitions.Monstro2Variant
|
|
27
|
+
local MotherVariant = ____isaac_2Dtypescript_2Ddefinitions.MotherVariant
|
|
28
|
+
local PeepVariant = ____isaac_2Dtypescript_2Ddefinitions.PeepVariant
|
|
29
|
+
local PinVariant = ____isaac_2Dtypescript_2Ddefinitions.PinVariant
|
|
30
|
+
local PolycephalusVariant = ____isaac_2Dtypescript_2Ddefinitions.PolycephalusVariant
|
|
31
|
+
local RagManVariant = ____isaac_2Dtypescript_2Ddefinitions.RagManVariant
|
|
32
|
+
local RagMegaVariant = ____isaac_2Dtypescript_2Ddefinitions.RagMegaVariant
|
|
33
|
+
local RaglichVariant = ____isaac_2Dtypescript_2Ddefinitions.RaglichVariant
|
|
34
|
+
local SatanVariant = ____isaac_2Dtypescript_2Ddefinitions.SatanVariant
|
|
35
|
+
local UltraGreedVariant = ____isaac_2Dtypescript_2Ddefinitions.UltraGreedVariant
|
|
36
|
+
local WarVariant = ____isaac_2Dtypescript_2Ddefinitions.WarVariant
|
|
37
|
+
local WidowVariant = ____isaac_2Dtypescript_2Ddefinitions.WidowVariant
|
|
38
|
+
____exports.BOSS_ID_TO_ENTITY_TYPE_VARIANT = {
|
|
39
|
+
[BossID.MONSTRO] = {EntityType.MONSTRO, 0},
|
|
40
|
+
[BossID.LARRY_JR] = {EntityType.LARRY_JR, LarryJrVariant.LARRY_JR},
|
|
41
|
+
[BossID.CHUB] = {EntityType.CHUB, ChubVariant.CHUB},
|
|
42
|
+
[BossID.GURDY] = {EntityType.GURDY, 0},
|
|
43
|
+
[BossID.MONSTRO_2] = {EntityType.MONSTRO_2, Monstro2Variant.MONSTRO_2},
|
|
44
|
+
[BossID.MOM] = {EntityType.MOM, MomVariant.MOM},
|
|
45
|
+
[BossID.SCOLEX] = {EntityType.PIN, PinVariant.SCOLEX},
|
|
46
|
+
[BossID.MOMS_HEART] = {EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART},
|
|
47
|
+
[BossID.FAMINE] = {EntityType.FAMINE, 0},
|
|
48
|
+
[BossID.PESTILENCE] = {EntityType.PESTILENCE, 0},
|
|
49
|
+
[BossID.WAR] = {EntityType.WAR, WarVariant.WAR},
|
|
50
|
+
[BossID.DEATH] = {EntityType.DEATH, 0},
|
|
51
|
+
[BossID.DUKE_OF_FLIES] = {EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.DUKE_OF_FLIES},
|
|
52
|
+
[BossID.PEEP] = {EntityType.PEEP, PeepVariant.PEEP},
|
|
53
|
+
[BossID.LOKI] = {EntityType.LOKI, LokiVariant.LOKI},
|
|
54
|
+
[BossID.BLASTOCYST] = {EntityType.BLASTOCYST_BIG, 0},
|
|
55
|
+
[BossID.GEMINI] = {EntityType.GEMINI, GeminiVariant.GEMINI},
|
|
56
|
+
[BossID.FISTULA] = {EntityType.FISTULA_BIG, FistulaVariant.FISTULA},
|
|
57
|
+
[BossID.GISH] = {EntityType.MONSTRO_2, Monstro2Variant.GISH},
|
|
58
|
+
[BossID.STEVEN] = {EntityType.GEMINI, GeminiVariant.STEVEN},
|
|
59
|
+
[BossID.CHAD] = {EntityType.CHUB, ChubVariant.CHAD},
|
|
60
|
+
[BossID.HEADLESS_HORSEMAN] = {EntityType.HEADLESS_HORSEMAN, 0},
|
|
61
|
+
[BossID.FALLEN] = {EntityType.FALLEN, FallenVariant.FALLEN},
|
|
62
|
+
[BossID.SATAN] = {EntityType.SATAN, SatanVariant.SATAN},
|
|
63
|
+
[BossID.IT_LIVES] = {EntityType.MOMS_HEART, MomsHeartVariant.IT_LIVES},
|
|
64
|
+
[BossID.HOLLOW] = {EntityType.LARRY_JR, LarryJrVariant.HOLLOW},
|
|
65
|
+
[BossID.CARRION_QUEEN] = {EntityType.CHUB, ChubVariant.CARRION_QUEEN},
|
|
66
|
+
[BossID.GURDY_JR] = {EntityType.GURDY_JR, 0},
|
|
67
|
+
[BossID.HUSK] = {EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.HUSK},
|
|
68
|
+
[BossID.BLOAT] = {EntityType.PEEP, PeepVariant.BLOAT},
|
|
69
|
+
[BossID.LOKII] = {EntityType.LOKI, LokiVariant.LOKII},
|
|
70
|
+
[BossID.BLIGHTED_OVUM] = {EntityType.GEMINI, GeminiVariant.BLIGHTED_OVUM},
|
|
71
|
+
[BossID.TERATOMA] = {EntityType.FISTULA_BIG, FistulaVariant.TERATOMA},
|
|
72
|
+
[BossID.WIDOW] = {EntityType.WIDOW, WidowVariant.WIDOW},
|
|
73
|
+
[BossID.MASK_OF_INFAMY] = {EntityType.MASK_OF_INFAMY, 0},
|
|
74
|
+
[BossID.WRETCHED] = {EntityType.WIDOW, WidowVariant.WRETCHED},
|
|
75
|
+
[BossID.PIN] = {EntityType.PIN, PinVariant.PIN},
|
|
76
|
+
[BossID.CONQUEST] = {EntityType.WAR, WarVariant.CONQUEST},
|
|
77
|
+
[BossID.ISAAC] = {EntityType.ISAAC, IsaacVariant.ISAAC},
|
|
78
|
+
[BossID.BLUE_BABY] = {EntityType.ISAAC, IsaacVariant.BLUE_BABY},
|
|
79
|
+
[BossID.DADDY_LONG_LEGS] = {EntityType.DADDY_LONG_LEGS, DaddyLongLegsVariant.DADDY_LONG_LEGS},
|
|
80
|
+
[BossID.TRIACHNID] = {EntityType.DADDY_LONG_LEGS, DaddyLongLegsVariant.TRIACHNID},
|
|
81
|
+
[BossID.HAUNT] = {EntityType.HAUNT, HauntVariant.HAUNT},
|
|
82
|
+
[BossID.DINGLE] = {EntityType.DINGLE, DingleVariant.DINGLE},
|
|
83
|
+
[BossID.MEGA_MAW] = {EntityType.MEGA_MAW, 0},
|
|
84
|
+
[BossID.GATE] = {EntityType.GATE, 0},
|
|
85
|
+
[BossID.MEGA_FATTY] = {EntityType.MEGA_FATTY, 0},
|
|
86
|
+
[BossID.CAGE] = {EntityType.CAGE, 0},
|
|
87
|
+
[BossID.MAMA_GURDY] = {EntityType.MAMA_GURDY, MamaGurdyVariant.MAMA_GURDY},
|
|
88
|
+
[BossID.DARK_ONE] = {EntityType.DARK_ONE, 0},
|
|
89
|
+
[BossID.ADVERSARY] = {EntityType.ADVERSARY, 0},
|
|
90
|
+
[BossID.POLYCEPHALUS] = {EntityType.POLYCEPHALUS, PolycephalusVariant.POLYCEPHALUS},
|
|
91
|
+
[BossID.MR_FRED] = {EntityType.MR_FRED, 0},
|
|
92
|
+
[BossID.LAMB] = {EntityType.LAMB, LambVariant.LAMB},
|
|
93
|
+
[BossID.MEGA_SATAN] = {EntityType.MEGA_SATAN, MegaSatanVariant.MEGA_SATAN},
|
|
94
|
+
[BossID.GURGLING] = {EntityType.GURGLING, GurglingVariant.GURGLING_BOSS},
|
|
95
|
+
[BossID.STAIN] = {EntityType.STAIN, 0},
|
|
96
|
+
[BossID.BROWNIE] = {EntityType.BROWNIE, 0},
|
|
97
|
+
[BossID.FORSAKEN] = {EntityType.FORSAKEN, 0},
|
|
98
|
+
[BossID.LITTLE_HORN] = {EntityType.LITTLE_HORN, LittleHornVariant.LITTLE_HORN},
|
|
99
|
+
[BossID.RAG_MAN] = {EntityType.RAG_MAN, RagManVariant.RAG_MAN},
|
|
100
|
+
[BossID.ULTRA_GREED] = {EntityType.ULTRA_GREED, UltraGreedVariant.ULTRA_GREED},
|
|
101
|
+
[BossID.HUSH] = {EntityType.HUSH, 0},
|
|
102
|
+
[BossID.DANGLE] = {EntityType.DINGLE, DingleVariant.DANGLE},
|
|
103
|
+
[BossID.TURDLING] = {EntityType.GURGLING, GurglingVariant.TURDLING},
|
|
104
|
+
[BossID.FRAIL] = {EntityType.PIN, PinVariant.FRAIL},
|
|
105
|
+
[BossID.RAG_MEGA] = {EntityType.RAG_MEGA, RagMegaVariant.RAG_MEGA},
|
|
106
|
+
[BossID.SISTERS_VIS] = {EntityType.SISTERS_VIS, 0},
|
|
107
|
+
[BossID.BIG_HORN] = {EntityType.BIG_HORN, BigHornVariant.BIG_HORN},
|
|
108
|
+
[BossID.DELIRIUM] = {EntityType.DELIRIUM, 0},
|
|
109
|
+
[BossID.MATRIARCH] = {EntityType.MATRIARCH, 0},
|
|
110
|
+
[BossID.PILE] = {EntityType.POLYCEPHALUS, PolycephalusVariant.PILE},
|
|
111
|
+
[BossID.REAP_CREEP] = {EntityType.REAP_CREEP, 0},
|
|
112
|
+
[BossID.LIL_BLUB] = {EntityType.LIL_BLUB, 0},
|
|
113
|
+
[BossID.WORMWOOD] = {EntityType.PIN, PinVariant.WORMWOOD},
|
|
114
|
+
[BossID.RAINMAKER] = {EntityType.RAINMAKER, 0},
|
|
115
|
+
[BossID.VISAGE] = {EntityType.VISAGE, 0},
|
|
116
|
+
[BossID.SIREN] = {EntityType.SIREN, 0},
|
|
117
|
+
[BossID.TUFF_TWINS] = {EntityType.LARRY_JR, LarryJrVariant.TUFF_TWIN},
|
|
118
|
+
[BossID.HERETIC] = {EntityType.HERETIC, 0},
|
|
119
|
+
[BossID.HORNFEL] = {EntityType.HORNFEL, 0},
|
|
120
|
+
[BossID.GREAT_GIDEON] = {EntityType.GREAT_GIDEON, 0},
|
|
121
|
+
[BossID.BABY_PLUM] = {EntityType.BABY_PLUM, 0},
|
|
122
|
+
[BossID.SCOURGE] = {EntityType.SCOURGE, 0},
|
|
123
|
+
[BossID.CHIMERA] = {EntityType.CHIMERA, 0},
|
|
124
|
+
[BossID.ROTGUT] = {EntityType.ROTGUT, 0},
|
|
125
|
+
[BossID.MOTHER] = {EntityType.MOTHER, MotherVariant.MOTHER_1},
|
|
126
|
+
[BossID.MAUSOLEUM_MOM] = {EntityType.MOM, MomVariant.MOM},
|
|
127
|
+
[BossID.MAUSOLEUM_MOMS_HEART] = {EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART},
|
|
128
|
+
[BossID.MIN_MIN] = {EntityType.MIN_MIN, 0},
|
|
129
|
+
[BossID.CLOG] = {EntityType.CLOG, 0},
|
|
130
|
+
[BossID.SINGE] = {EntityType.SINGE, 0},
|
|
131
|
+
[BossID.BUMBINO] = {EntityType.BUMBINO, 0},
|
|
132
|
+
[BossID.COLOSTOMIA] = {EntityType.COLOSTOMIA, 0},
|
|
133
|
+
[BossID.SHELL] = {EntityType.LARRY_JR, LarryJrVariant.SHELL},
|
|
134
|
+
[BossID.TURDLET] = {EntityType.TURDLET, 0},
|
|
135
|
+
[BossID.RAGLICH] = {EntityType.RAGLICH, RaglichVariant.RAGLICH},
|
|
136
|
+
[BossID.DOGMA] = {EntityType.DOGMA, DogmaVariant.DOGMA_PHASE_1},
|
|
137
|
+
[BossID.BEAST] = {EntityType.BEAST, BeastVariant.BEAST},
|
|
138
|
+
[BossID.HORNY_BOYS] = {EntityType.HORNY_BOYS, 0},
|
|
139
|
+
[BossID.CLUTCH] = {EntityType.CLUTCH, 0}
|
|
140
|
+
}
|
|
141
|
+
return ____exports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bossSets.d.ts","sourceRoot":"","sources":["../../../src/sets/bossSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAa,MAAM,8BAA8B,CAAC;AAod7E,eAAO,MAAM,mCAAmC,gEAiB9C,CAAC;AAEH,eAAO,MAAM,8BAA8B,8CAiBzC,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAU9C,CAAC;
|
|
1
|
+
{"version":3,"file":"bossSets.d.ts","sourceRoot":"","sources":["../../../src/sets/bossSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAa,MAAM,8BAA8B,CAAC;AAod7E,eAAO,MAAM,mCAAmC,gEAiB9C,CAAC;AAEH,eAAO,MAAM,8BAA8B,8CAiBzC,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAU9C,CAAC;AAyBF,eAAO,MAAM,qCAAqC,EAAE,WAAW,CAAC,MAAM,CAMhE,CAAC"}
|
|
@@ -386,11 +386,13 @@ local STORY_BOSS_IDS_SET = __TS__New(ReadonlySet, {
|
|
|
386
386
|
BossID.HUSH,
|
|
387
387
|
BossID.DELIRIUM,
|
|
388
388
|
BossID.MOTHER,
|
|
389
|
+
BossID.MAUSOLEUM_MOM,
|
|
390
|
+
BossID.MAUSOLEUM_MOMS_HEART,
|
|
389
391
|
BossID.DOGMA,
|
|
390
392
|
BossID.BEAST
|
|
391
393
|
})
|
|
392
|
-
if STORY_BOSS_IDS_SET.size + 1 ~= STORY_BOSSES_SET.size then
|
|
393
|
-
error("The
|
|
394
|
+
if STORY_BOSS_IDS_SET.size + 1 - 2 ~= STORY_BOSSES_SET.size then
|
|
395
|
+
error("The \"STORY_BOSS_IDS_SET\" and the \"STORY_BOSSES_SET\" do not match.")
|
|
394
396
|
end
|
|
395
397
|
____exports.ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET = (function()
|
|
396
398
|
local allBossesSet = copySet(nil, ____exports.ALL_BOSSES_SET)
|
package/package.json
CHANGED
package/src/functions/bosses.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type {
|
|
|
5
5
|
} from "isaac-typescript-definitions";
|
|
6
6
|
import { EntityType, LokiVariant } from "isaac-typescript-definitions";
|
|
7
7
|
import { VectorZero } from "../core/constants";
|
|
8
|
+
import { BOSS_ID_TO_ENTITY_TYPE_VARIANT } from "../objects/bossIDToEntityTypeVariant";
|
|
8
9
|
import {
|
|
9
10
|
ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET,
|
|
10
11
|
ALL_BOSSES_SET,
|
|
@@ -29,6 +30,21 @@ const BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS = new ReadonlySet<EntityType>([
|
|
|
29
30
|
|
|
30
31
|
const DEFAULT_BOSS_MULTI_SEGMENTS = 4;
|
|
31
32
|
|
|
33
|
+
const ENTITY_TYPE_VARIANT_TO_BOSS_ID: ReadonlyMap<string, BossID> = (() => {
|
|
34
|
+
const entityTypeVariantToBossID = new Map<string, BossID>();
|
|
35
|
+
|
|
36
|
+
for (const [bossIDRaw, entityTypeVariant] of Object.entries(
|
|
37
|
+
BOSS_ID_TO_ENTITY_TYPE_VARIANT,
|
|
38
|
+
)) {
|
|
39
|
+
const bossID = bossIDRaw as unknown as BossID;
|
|
40
|
+
const [entityType, variant] = entityTypeVariant;
|
|
41
|
+
const entityTypeVariantString = `${entityType}.${variant}`;
|
|
42
|
+
entityTypeVariantToBossID.set(entityTypeVariantString, bossID);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return entityTypeVariantToBossID;
|
|
46
|
+
})();
|
|
47
|
+
|
|
32
48
|
/**
|
|
33
49
|
* Helper function to get all of the non-dead bosses in the room.
|
|
34
50
|
*
|
|
@@ -75,6 +91,14 @@ export function getAllBossesSet(
|
|
|
75
91
|
: ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET;
|
|
76
92
|
}
|
|
77
93
|
|
|
94
|
+
export function getBossIDFromEntityTypeVariant(
|
|
95
|
+
entityType: EntityType,
|
|
96
|
+
variant: int,
|
|
97
|
+
): BossID | undefined {
|
|
98
|
+
const entityTypeVariant = `${entityType}.${variant}`;
|
|
99
|
+
return ENTITY_TYPE_VARIANT_TO_BOSS_ID.get(entityTypeVariant);
|
|
100
|
+
}
|
|
101
|
+
|
|
78
102
|
/**
|
|
79
103
|
* Helper function to get the set of vanilla bosses for a particular stage and stage type
|
|
80
104
|
* combination.
|
|
@@ -127,11 +151,50 @@ export function getCombinedBossSet(
|
|
|
127
151
|
return STAGE_TO_COMBINED_BOSS_SET_MAP.get(stage);
|
|
128
152
|
}
|
|
129
153
|
|
|
154
|
+
export function getEntityTypeVariantFromBossID(
|
|
155
|
+
bossID: BossID,
|
|
156
|
+
): readonly [EntityType, int] {
|
|
157
|
+
return BOSS_ID_TO_ENTITY_TYPE_VARIANT[bossID];
|
|
158
|
+
}
|
|
159
|
+
|
|
130
160
|
/** Helper function to check if the provided NPC is a Sin miniboss, such as Sloth or Lust. */
|
|
131
161
|
export function isSin(npc: EntityNPC): boolean {
|
|
132
162
|
return SIN_ENTITY_TYPES_SET.has(npc.Type);
|
|
133
163
|
}
|
|
134
164
|
|
|
165
|
+
function getNumBossSegments(
|
|
166
|
+
entityType: EntityType,
|
|
167
|
+
variant: int,
|
|
168
|
+
numSegments: int | undefined,
|
|
169
|
+
) {
|
|
170
|
+
if (numSegments !== undefined) {
|
|
171
|
+
return numSegments;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
switch (entityType) {
|
|
175
|
+
// 28
|
|
176
|
+
case EntityType.CHUB: {
|
|
177
|
+
// Chub is always composed of 3 segments.
|
|
178
|
+
return 3;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// 69
|
|
182
|
+
case EntityType.LOKI: {
|
|
183
|
+
return variant === asNumber(LokiVariant.LOKII) ? 2 : 1;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// 237
|
|
187
|
+
case EntityType.GURGLING: {
|
|
188
|
+
// Gurglings & Turdlings are always encountered in groups of 2.
|
|
189
|
+
return 2;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
default: {
|
|
193
|
+
return DEFAULT_BOSS_MULTI_SEGMENTS;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
135
198
|
/**
|
|
136
199
|
* Helper function to spawn a boss.
|
|
137
200
|
*
|
|
@@ -186,39 +249,6 @@ export function spawnBoss(
|
|
|
186
249
|
return npc;
|
|
187
250
|
}
|
|
188
251
|
|
|
189
|
-
function getNumBossSegments(
|
|
190
|
-
entityType: EntityType,
|
|
191
|
-
variant: int,
|
|
192
|
-
numSegments: int | undefined,
|
|
193
|
-
) {
|
|
194
|
-
if (numSegments !== undefined) {
|
|
195
|
-
return numSegments;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
switch (entityType) {
|
|
199
|
-
// 28
|
|
200
|
-
case EntityType.CHUB: {
|
|
201
|
-
// Chub is always composed of 3 segments.
|
|
202
|
-
return 3;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// 69
|
|
206
|
-
case EntityType.LOKI: {
|
|
207
|
-
return variant === asNumber(LokiVariant.LOKII) ? 2 : 1;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
// 237
|
|
211
|
-
case EntityType.GURGLING: {
|
|
212
|
-
// Gurglings & Turdlings are always encountered in groups of 2.
|
|
213
|
-
return 2;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
default: {
|
|
217
|
-
return DEFAULT_BOSS_MULTI_SEGMENTS;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
252
|
/**
|
|
223
253
|
* Helper function to spawn a boss with a specific seed.
|
|
224
254
|
*
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BeastVariant,
|
|
3
|
+
BigHornVariant,
|
|
4
|
+
BossID,
|
|
5
|
+
ChubVariant,
|
|
6
|
+
DaddyLongLegsVariant,
|
|
7
|
+
DingleVariant,
|
|
8
|
+
DogmaVariant,
|
|
9
|
+
DukeOfFliesVariant,
|
|
10
|
+
EntityType,
|
|
11
|
+
FallenVariant,
|
|
12
|
+
FistulaVariant,
|
|
13
|
+
GeminiVariant,
|
|
14
|
+
GurglingVariant,
|
|
15
|
+
HauntVariant,
|
|
16
|
+
IsaacVariant,
|
|
17
|
+
LambVariant,
|
|
18
|
+
LarryJrVariant,
|
|
19
|
+
LittleHornVariant,
|
|
20
|
+
LokiVariant,
|
|
21
|
+
MamaGurdyVariant,
|
|
22
|
+
MegaSatanVariant,
|
|
23
|
+
MomVariant,
|
|
24
|
+
MomsHeartVariant,
|
|
25
|
+
Monstro2Variant,
|
|
26
|
+
MotherVariant,
|
|
27
|
+
PeepVariant,
|
|
28
|
+
PinVariant,
|
|
29
|
+
PolycephalusVariant,
|
|
30
|
+
RagManVariant,
|
|
31
|
+
RagMegaVariant,
|
|
32
|
+
RaglichVariant,
|
|
33
|
+
SatanVariant,
|
|
34
|
+
UltraGreedVariant,
|
|
35
|
+
WarVariant,
|
|
36
|
+
WidowVariant,
|
|
37
|
+
} from "isaac-typescript-definitions";
|
|
38
|
+
|
|
39
|
+
export const BOSS_ID_TO_ENTITY_TYPE_VARIANT = {
|
|
40
|
+
// 1
|
|
41
|
+
[BossID.MONSTRO]: [EntityType.MONSTRO, 0],
|
|
42
|
+
|
|
43
|
+
// 2
|
|
44
|
+
[BossID.LARRY_JR]: [EntityType.LARRY_JR, LarryJrVariant.LARRY_JR],
|
|
45
|
+
|
|
46
|
+
// 3
|
|
47
|
+
[BossID.CHUB]: [EntityType.CHUB, ChubVariant.CHUB],
|
|
48
|
+
|
|
49
|
+
// 4
|
|
50
|
+
[BossID.GURDY]: [EntityType.GURDY, 0],
|
|
51
|
+
|
|
52
|
+
// 5
|
|
53
|
+
[BossID.MONSTRO_2]: [EntityType.MONSTRO_2, Monstro2Variant.MONSTRO_2],
|
|
54
|
+
|
|
55
|
+
// 6
|
|
56
|
+
[BossID.MOM]: [EntityType.MOM, MomVariant.MOM],
|
|
57
|
+
|
|
58
|
+
// 7
|
|
59
|
+
[BossID.SCOLEX]: [EntityType.PIN, PinVariant.SCOLEX],
|
|
60
|
+
|
|
61
|
+
// 8
|
|
62
|
+
[BossID.MOMS_HEART]: [EntityType.MOMS_HEART, MomsHeartVariant.MOMS_HEART],
|
|
63
|
+
|
|
64
|
+
// 9
|
|
65
|
+
[BossID.FAMINE]: [EntityType.FAMINE, 0],
|
|
66
|
+
|
|
67
|
+
// 10
|
|
68
|
+
[BossID.PESTILENCE]: [EntityType.PESTILENCE, 0],
|
|
69
|
+
|
|
70
|
+
// 11
|
|
71
|
+
[BossID.WAR]: [EntityType.WAR, WarVariant.WAR],
|
|
72
|
+
|
|
73
|
+
// 12
|
|
74
|
+
[BossID.DEATH]: [EntityType.DEATH, 0],
|
|
75
|
+
|
|
76
|
+
// 13
|
|
77
|
+
[BossID.DUKE_OF_FLIES]: [
|
|
78
|
+
EntityType.DUKE_OF_FLIES,
|
|
79
|
+
DukeOfFliesVariant.DUKE_OF_FLIES,
|
|
80
|
+
],
|
|
81
|
+
|
|
82
|
+
// 14
|
|
83
|
+
[BossID.PEEP]: [EntityType.PEEP, PeepVariant.PEEP],
|
|
84
|
+
|
|
85
|
+
// 15
|
|
86
|
+
[BossID.LOKI]: [EntityType.LOKI, LokiVariant.LOKI],
|
|
87
|
+
|
|
88
|
+
// 16
|
|
89
|
+
[BossID.BLASTOCYST]: [EntityType.BLASTOCYST_BIG, 0],
|
|
90
|
+
|
|
91
|
+
// 17
|
|
92
|
+
[BossID.GEMINI]: [EntityType.GEMINI, GeminiVariant.GEMINI],
|
|
93
|
+
|
|
94
|
+
// 18
|
|
95
|
+
[BossID.FISTULA]: [EntityType.FISTULA_BIG, FistulaVariant.FISTULA],
|
|
96
|
+
|
|
97
|
+
// 19
|
|
98
|
+
[BossID.GISH]: [EntityType.MONSTRO_2, Monstro2Variant.GISH],
|
|
99
|
+
|
|
100
|
+
// 20
|
|
101
|
+
[BossID.STEVEN]: [EntityType.GEMINI, GeminiVariant.STEVEN],
|
|
102
|
+
|
|
103
|
+
// 21
|
|
104
|
+
[BossID.CHAD]: [EntityType.CHUB, ChubVariant.CHAD],
|
|
105
|
+
|
|
106
|
+
// 22
|
|
107
|
+
[BossID.HEADLESS_HORSEMAN]: [EntityType.HEADLESS_HORSEMAN, 0],
|
|
108
|
+
|
|
109
|
+
// 23
|
|
110
|
+
[BossID.FALLEN]: [EntityType.FALLEN, FallenVariant.FALLEN],
|
|
111
|
+
|
|
112
|
+
// 24
|
|
113
|
+
[BossID.SATAN]: [EntityType.SATAN, SatanVariant.SATAN],
|
|
114
|
+
|
|
115
|
+
// 25
|
|
116
|
+
[BossID.IT_LIVES]: [EntityType.MOMS_HEART, MomsHeartVariant.IT_LIVES],
|
|
117
|
+
|
|
118
|
+
// 26
|
|
119
|
+
[BossID.HOLLOW]: [EntityType.LARRY_JR, LarryJrVariant.HOLLOW],
|
|
120
|
+
|
|
121
|
+
// 27
|
|
122
|
+
[BossID.CARRION_QUEEN]: [EntityType.CHUB, ChubVariant.CARRION_QUEEN],
|
|
123
|
+
|
|
124
|
+
// 28
|
|
125
|
+
[BossID.GURDY_JR]: [EntityType.GURDY_JR, 0],
|
|
126
|
+
|
|
127
|
+
// 29
|
|
128
|
+
[BossID.HUSK]: [EntityType.DUKE_OF_FLIES, DukeOfFliesVariant.HUSK],
|
|
129
|
+
|
|
130
|
+
// 30
|
|
131
|
+
[BossID.BLOAT]: [EntityType.PEEP, PeepVariant.BLOAT],
|
|
132
|
+
|
|
133
|
+
// 31
|
|
134
|
+
[BossID.LOKII]: [EntityType.LOKI, LokiVariant.LOKII],
|
|
135
|
+
|
|
136
|
+
// 32
|
|
137
|
+
[BossID.BLIGHTED_OVUM]: [EntityType.GEMINI, GeminiVariant.BLIGHTED_OVUM],
|
|
138
|
+
|
|
139
|
+
// 33
|
|
140
|
+
[BossID.TERATOMA]: [EntityType.FISTULA_BIG, FistulaVariant.TERATOMA],
|
|
141
|
+
|
|
142
|
+
// 34
|
|
143
|
+
[BossID.WIDOW]: [EntityType.WIDOW, WidowVariant.WIDOW],
|
|
144
|
+
|
|
145
|
+
// 35
|
|
146
|
+
[BossID.MASK_OF_INFAMY]: [EntityType.MASK_OF_INFAMY, 0],
|
|
147
|
+
|
|
148
|
+
// 36
|
|
149
|
+
[BossID.WRETCHED]: [EntityType.WIDOW, WidowVariant.WRETCHED],
|
|
150
|
+
|
|
151
|
+
// 37
|
|
152
|
+
[BossID.PIN]: [EntityType.PIN, PinVariant.PIN],
|
|
153
|
+
|
|
154
|
+
// 38
|
|
155
|
+
[BossID.CONQUEST]: [EntityType.WAR, WarVariant.CONQUEST],
|
|
156
|
+
|
|
157
|
+
// 39
|
|
158
|
+
[BossID.ISAAC]: [EntityType.ISAAC, IsaacVariant.ISAAC],
|
|
159
|
+
|
|
160
|
+
// 40
|
|
161
|
+
[BossID.BLUE_BABY]: [EntityType.ISAAC, IsaacVariant.BLUE_BABY],
|
|
162
|
+
|
|
163
|
+
// 41
|
|
164
|
+
[BossID.DADDY_LONG_LEGS]: [
|
|
165
|
+
EntityType.DADDY_LONG_LEGS,
|
|
166
|
+
DaddyLongLegsVariant.DADDY_LONG_LEGS,
|
|
167
|
+
],
|
|
168
|
+
|
|
169
|
+
// 42
|
|
170
|
+
[BossID.TRIACHNID]: [
|
|
171
|
+
EntityType.DADDY_LONG_LEGS,
|
|
172
|
+
DaddyLongLegsVariant.TRIACHNID,
|
|
173
|
+
],
|
|
174
|
+
|
|
175
|
+
// 43
|
|
176
|
+
[BossID.HAUNT]: [EntityType.HAUNT, HauntVariant.HAUNT],
|
|
177
|
+
|
|
178
|
+
// 44
|
|
179
|
+
[BossID.DINGLE]: [EntityType.DINGLE, DingleVariant.DINGLE],
|
|
180
|
+
|
|
181
|
+
// 45
|
|
182
|
+
[BossID.MEGA_MAW]: [EntityType.MEGA_MAW, 0],
|
|
183
|
+
|
|
184
|
+
// 46
|
|
185
|
+
[BossID.GATE]: [EntityType.GATE, 0],
|
|
186
|
+
|
|
187
|
+
// 47
|
|
188
|
+
[BossID.MEGA_FATTY]: [EntityType.MEGA_FATTY, 0],
|
|
189
|
+
|
|
190
|
+
// 48
|
|
191
|
+
[BossID.CAGE]: [EntityType.CAGE, 0],
|
|
192
|
+
|
|
193
|
+
// 49
|
|
194
|
+
[BossID.MAMA_GURDY]: [EntityType.MAMA_GURDY, MamaGurdyVariant.MAMA_GURDY],
|
|
195
|
+
|
|
196
|
+
// 50
|
|
197
|
+
[BossID.DARK_ONE]: [EntityType.DARK_ONE, 0],
|
|
198
|
+
|
|
199
|
+
// 51
|
|
200
|
+
[BossID.ADVERSARY]: [EntityType.ADVERSARY, 0],
|
|
201
|
+
|
|
202
|
+
// 52
|
|
203
|
+
[BossID.POLYCEPHALUS]: [
|
|
204
|
+
EntityType.POLYCEPHALUS,
|
|
205
|
+
PolycephalusVariant.POLYCEPHALUS,
|
|
206
|
+
],
|
|
207
|
+
|
|
208
|
+
// 53
|
|
209
|
+
[BossID.MR_FRED]: [EntityType.MR_FRED, 0],
|
|
210
|
+
|
|
211
|
+
// 54
|
|
212
|
+
[BossID.LAMB]: [EntityType.LAMB, LambVariant.LAMB],
|
|
213
|
+
|
|
214
|
+
// 55
|
|
215
|
+
[BossID.MEGA_SATAN]: [EntityType.MEGA_SATAN, MegaSatanVariant.MEGA_SATAN],
|
|
216
|
+
|
|
217
|
+
// 56
|
|
218
|
+
[BossID.GURGLING]: [EntityType.GURGLING, GurglingVariant.GURGLING_BOSS],
|
|
219
|
+
|
|
220
|
+
// 57
|
|
221
|
+
[BossID.STAIN]: [EntityType.STAIN, 0],
|
|
222
|
+
|
|
223
|
+
// 58
|
|
224
|
+
[BossID.BROWNIE]: [EntityType.BROWNIE, 0],
|
|
225
|
+
|
|
226
|
+
// 59
|
|
227
|
+
[BossID.FORSAKEN]: [EntityType.FORSAKEN, 0],
|
|
228
|
+
|
|
229
|
+
// 60
|
|
230
|
+
[BossID.LITTLE_HORN]: [EntityType.LITTLE_HORN, LittleHornVariant.LITTLE_HORN],
|
|
231
|
+
|
|
232
|
+
// 61
|
|
233
|
+
[BossID.RAG_MAN]: [EntityType.RAG_MAN, RagManVariant.RAG_MAN],
|
|
234
|
+
|
|
235
|
+
// 62
|
|
236
|
+
[BossID.ULTRA_GREED]: [EntityType.ULTRA_GREED, UltraGreedVariant.ULTRA_GREED],
|
|
237
|
+
|
|
238
|
+
// 63
|
|
239
|
+
[BossID.HUSH]: [EntityType.HUSH, 0],
|
|
240
|
+
|
|
241
|
+
// 64
|
|
242
|
+
[BossID.DANGLE]: [EntityType.DINGLE, DingleVariant.DANGLE],
|
|
243
|
+
|
|
244
|
+
// 65
|
|
245
|
+
[BossID.TURDLING]: [EntityType.GURGLING, GurglingVariant.TURDLING],
|
|
246
|
+
|
|
247
|
+
// 66
|
|
248
|
+
[BossID.FRAIL]: [EntityType.PIN, PinVariant.FRAIL],
|
|
249
|
+
|
|
250
|
+
// 67
|
|
251
|
+
[BossID.RAG_MEGA]: [EntityType.RAG_MEGA, RagMegaVariant.RAG_MEGA],
|
|
252
|
+
|
|
253
|
+
// 68
|
|
254
|
+
[BossID.SISTERS_VIS]: [EntityType.SISTERS_VIS, 0],
|
|
255
|
+
|
|
256
|
+
// 69
|
|
257
|
+
[BossID.BIG_HORN]: [EntityType.BIG_HORN, BigHornVariant.BIG_HORN],
|
|
258
|
+
|
|
259
|
+
// 70
|
|
260
|
+
[BossID.DELIRIUM]: [EntityType.DELIRIUM, 0],
|
|
261
|
+
|
|
262
|
+
// There is no boss ID with a value of 71.
|
|
263
|
+
|
|
264
|
+
// 72
|
|
265
|
+
[BossID.MATRIARCH]: [EntityType.MATRIARCH, 0],
|
|
266
|
+
|
|
267
|
+
// 73
|
|
268
|
+
[BossID.PILE]: [EntityType.POLYCEPHALUS, PolycephalusVariant.PILE],
|
|
269
|
+
|
|
270
|
+
// 74
|
|
271
|
+
[BossID.REAP_CREEP]: [EntityType.REAP_CREEP, 0],
|
|
272
|
+
|
|
273
|
+
// 75
|
|
274
|
+
[BossID.LIL_BLUB]: [EntityType.LIL_BLUB, 0],
|
|
275
|
+
|
|
276
|
+
// 76
|
|
277
|
+
[BossID.WORMWOOD]: [EntityType.PIN, PinVariant.WORMWOOD],
|
|
278
|
+
|
|
279
|
+
// 77
|
|
280
|
+
[BossID.RAINMAKER]: [EntityType.RAINMAKER, 0],
|
|
281
|
+
|
|
282
|
+
// 78
|
|
283
|
+
[BossID.VISAGE]: [EntityType.VISAGE, 0],
|
|
284
|
+
|
|
285
|
+
// 79
|
|
286
|
+
[BossID.SIREN]: [EntityType.SIREN, 0],
|
|
287
|
+
|
|
288
|
+
// 80
|
|
289
|
+
[BossID.TUFF_TWINS]: [EntityType.LARRY_JR, LarryJrVariant.TUFF_TWIN],
|
|
290
|
+
|
|
291
|
+
// 81
|
|
292
|
+
[BossID.HERETIC]: [EntityType.HERETIC, 0],
|
|
293
|
+
|
|
294
|
+
// 82
|
|
295
|
+
[BossID.HORNFEL]: [EntityType.HORNFEL, 0],
|
|
296
|
+
|
|
297
|
+
// 83
|
|
298
|
+
[BossID.GREAT_GIDEON]: [EntityType.GREAT_GIDEON, 0],
|
|
299
|
+
|
|
300
|
+
// 84
|
|
301
|
+
[BossID.BABY_PLUM]: [EntityType.BABY_PLUM, 0],
|
|
302
|
+
|
|
303
|
+
// 85
|
|
304
|
+
[BossID.SCOURGE]: [EntityType.SCOURGE, 0],
|
|
305
|
+
|
|
306
|
+
// 86
|
|
307
|
+
[BossID.CHIMERA]: [EntityType.CHIMERA, 0],
|
|
308
|
+
|
|
309
|
+
// 87
|
|
310
|
+
[BossID.ROTGUT]: [EntityType.ROTGUT, 0],
|
|
311
|
+
|
|
312
|
+
// 88
|
|
313
|
+
[BossID.MOTHER]: [EntityType.MOTHER, MotherVariant.MOTHER_1],
|
|
314
|
+
|
|
315
|
+
// 89
|
|
316
|
+
[BossID.MAUSOLEUM_MOM]: [EntityType.MOM, MomVariant.MOM],
|
|
317
|
+
|
|
318
|
+
// 90
|
|
319
|
+
[BossID.MAUSOLEUM_MOMS_HEART]: [
|
|
320
|
+
EntityType.MOMS_HEART,
|
|
321
|
+
MomsHeartVariant.MOMS_HEART,
|
|
322
|
+
],
|
|
323
|
+
|
|
324
|
+
// 91
|
|
325
|
+
[BossID.MIN_MIN]: [EntityType.MIN_MIN, 0],
|
|
326
|
+
|
|
327
|
+
// 92
|
|
328
|
+
[BossID.CLOG]: [EntityType.CLOG, 0],
|
|
329
|
+
|
|
330
|
+
// 93
|
|
331
|
+
[BossID.SINGE]: [EntityType.SINGE, 0],
|
|
332
|
+
|
|
333
|
+
// 94
|
|
334
|
+
[BossID.BUMBINO]: [EntityType.BUMBINO, 0],
|
|
335
|
+
|
|
336
|
+
// 95
|
|
337
|
+
[BossID.COLOSTOMIA]: [EntityType.COLOSTOMIA, 0],
|
|
338
|
+
|
|
339
|
+
// 96
|
|
340
|
+
[BossID.SHELL]: [EntityType.LARRY_JR, LarryJrVariant.SHELL],
|
|
341
|
+
|
|
342
|
+
// 97
|
|
343
|
+
[BossID.TURDLET]: [EntityType.TURDLET, 0],
|
|
344
|
+
|
|
345
|
+
// 98
|
|
346
|
+
[BossID.RAGLICH]: [EntityType.RAGLICH, RaglichVariant.RAGLICH],
|
|
347
|
+
|
|
348
|
+
// 99
|
|
349
|
+
[BossID.DOGMA]: [EntityType.DOGMA, DogmaVariant.DOGMA_PHASE_1],
|
|
350
|
+
|
|
351
|
+
// 100
|
|
352
|
+
[BossID.BEAST]: [EntityType.BEAST, BeastVariant.BEAST],
|
|
353
|
+
|
|
354
|
+
// 101
|
|
355
|
+
[BossID.HORNY_BOYS]: [EntityType.HORNY_BOYS, 0],
|
|
356
|
+
|
|
357
|
+
// 102
|
|
358
|
+
[BossID.CLUTCH]: [EntityType.CLUTCH, 0],
|
|
359
|
+
} as const satisfies Record<BossID, readonly [EntityType, int]>;
|
package/src/sets/bossSets.ts
CHANGED
|
@@ -517,25 +517,26 @@ export const ALL_BOSSES_SET: ReadonlySet<BossID> = combineSets(
|
|
|
517
517
|
);
|
|
518
518
|
|
|
519
519
|
const STORY_BOSS_IDS_SET = new ReadonlySet([
|
|
520
|
-
BossID.MOM,
|
|
521
|
-
BossID.MOMS_HEART,
|
|
522
|
-
BossID.SATAN,
|
|
523
|
-
BossID.ISAAC,
|
|
524
|
-
BossID.LAMB,
|
|
525
|
-
BossID.MEGA_SATAN,
|
|
520
|
+
BossID.MOM, // 6
|
|
521
|
+
BossID.MOMS_HEART, // 8
|
|
522
|
+
BossID.SATAN, // 24
|
|
523
|
+
BossID.ISAAC, // 39
|
|
524
|
+
BossID.LAMB, // 54
|
|
525
|
+
BossID.MEGA_SATAN, // 55
|
|
526
526
|
// Mega Satan 2 does not have a dedicated boss room.
|
|
527
|
-
BossID.ULTRA_GREED,
|
|
528
|
-
BossID.HUSH,
|
|
529
|
-
BossID.DELIRIUM,
|
|
530
|
-
BossID.MOTHER,
|
|
531
|
-
BossID.
|
|
532
|
-
BossID.
|
|
527
|
+
BossID.ULTRA_GREED, // 62
|
|
528
|
+
BossID.HUSH, // 63
|
|
529
|
+
BossID.DELIRIUM, // 70
|
|
530
|
+
BossID.MOTHER, // 88
|
|
531
|
+
BossID.MAUSOLEUM_MOM, // 89
|
|
532
|
+
BossID.MAUSOLEUM_MOMS_HEART, // 90
|
|
533
|
+
BossID.DOGMA, // 99
|
|
534
|
+
BossID.BEAST, // 100
|
|
533
535
|
]);
|
|
534
536
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
);
|
|
537
|
+
// We add one for Mega Satan 2 and minus 2 for the two Mausoleum bosses.
|
|
538
|
+
if (STORY_BOSS_IDS_SET.size + 1 - 2 !== STORY_BOSSES_SET.size) {
|
|
539
|
+
error('The "STORY_BOSS_IDS_SET" and the "STORY_BOSSES_SET" do not match.');
|
|
539
540
|
}
|
|
540
541
|
|
|
541
542
|
export const ALL_BOSSES_EXCLUDING_STORY_BOSSES_SET: ReadonlySet<BossID> =
|