isaacscript-common 51.1.0 → 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.
@@ -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]>;
@@ -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.DOGMA,
532
- BossID.BEAST,
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
- if (STORY_BOSS_IDS_SET.size + 1 !== STORY_BOSSES_SET.size) {
536
- error(
537
- 'The size of "STORY_BOSS_IDS_SET" is not the same as "STORY_BOSSES_SET".',
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> =