isaacscript-common 57.5.0 → 57.7.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 +10 -0
- package/dist/isaacscript-common.lua +64 -1
- package/dist/src/functions/challenges.d.ts +10 -1
- package/dist/src/functions/challenges.d.ts.map +1 -1
- package/dist/src/functions/challenges.lua +13 -0
- package/dist/src/objects/challengeBosses.d.ts +56 -0
- package/dist/src/objects/challengeBosses.d.ts.map +1 -0
- package/dist/src/objects/challengeBosses.lua +57 -0
- package/package.json +1 -1
- package/src/functions/challenges.ts +24 -1
- package/src/objects/challengeBosses.ts +57 -0
package/dist/index.rollup.d.ts
CHANGED
|
@@ -5031,6 +5031,16 @@ export declare function getCardName(cardType: CardType): string;
|
|
|
5031
5031
|
*/
|
|
5032
5032
|
export declare function getCards(cardType?: CardType | -1): EntityPickupCard[];
|
|
5033
5033
|
|
|
5034
|
+
/**
|
|
5035
|
+
* Get the final boss of a challenge. This will only work for vanilla challenges.
|
|
5036
|
+
*
|
|
5037
|
+
* For modded challenges, `BossID.MOM` (6) will be returned.
|
|
5038
|
+
*
|
|
5039
|
+
* Note that for `Challenge.BACKASSWARDS` (31), this function will return `BossID.MEGA_SATAN` (55),
|
|
5040
|
+
* but this is not actually the final boss. (There is no final boss for this challenge.)
|
|
5041
|
+
*/
|
|
5042
|
+
export declare function getChallengeBoss(challenge: Challenge): BossID;
|
|
5043
|
+
|
|
5034
5044
|
/**
|
|
5035
5045
|
* Get the starting character of a challenge. This will only work for vanilla challenges.
|
|
5036
5046
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 57.
|
|
3
|
+
isaacscript-common 57.7.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -54364,6 +54364,62 @@ function ____exports.getBombRadiusFromDamage(self, damage)
|
|
|
54364
54364
|
end
|
|
54365
54365
|
return 90
|
|
54366
54366
|
end
|
|
54367
|
+
return ____exports
|
|
54368
|
+
end,
|
|
54369
|
+
["src.objects.challengeBosses"] = function(...)
|
|
54370
|
+
local ____exports = {}
|
|
54371
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
54372
|
+
local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
|
|
54373
|
+
local Challenge = ____isaac_2Dtypescript_2Ddefinitions.Challenge
|
|
54374
|
+
____exports.DEFAULT_CHALLENGE_BOSS_ID = BossID.MOM
|
|
54375
|
+
____exports.CHALLENGE_BOSSES = {
|
|
54376
|
+
[Challenge.NULL] = BossID.MOM,
|
|
54377
|
+
[Challenge.PITCH_BLACK] = BossID.MOM,
|
|
54378
|
+
[Challenge.HIGH_BROW] = BossID.MOM,
|
|
54379
|
+
[Challenge.HEAD_TRAUMA] = BossID.MOM,
|
|
54380
|
+
[Challenge.DARKNESS_FALLS] = BossID.SATAN,
|
|
54381
|
+
[Challenge.TANK] = BossID.MOM,
|
|
54382
|
+
[Challenge.SOLAR_SYSTEM] = BossID.MOMS_HEART,
|
|
54383
|
+
[Challenge.SUICIDE_KING] = BossID.ISAAC,
|
|
54384
|
+
[Challenge.CAT_GOT_YOUR_TONGUE] = BossID.MOM,
|
|
54385
|
+
[Challenge.DEMO_MAN] = BossID.MOMS_HEART,
|
|
54386
|
+
[Challenge.CURSED] = BossID.MOM,
|
|
54387
|
+
[Challenge.GLASS_CANNON] = BossID.SATAN,
|
|
54388
|
+
[Challenge.WHEN_LIFE_GIVES_LEMONS] = BossID.MOM,
|
|
54389
|
+
[Challenge.BEANS] = BossID.MOM,
|
|
54390
|
+
[Challenge.ITS_IN_THE_CARDS] = BossID.MOM,
|
|
54391
|
+
[Challenge.SLOW_ROLL] = BossID.MOM,
|
|
54392
|
+
[Challenge.COMPUTER_SAVY] = BossID.MOM,
|
|
54393
|
+
[Challenge.WAKA_WAKA] = BossID.MOM,
|
|
54394
|
+
[Challenge.HOST] = BossID.MOM,
|
|
54395
|
+
[Challenge.FAMILY_MAN] = BossID.ISAAC,
|
|
54396
|
+
[Challenge.PURIST] = BossID.MOMS_HEART,
|
|
54397
|
+
[Challenge.XXXXXXXXL] = BossID.MOMS_HEART,
|
|
54398
|
+
[Challenge.SPEED] = BossID.MOMS_HEART,
|
|
54399
|
+
[Challenge.BLUE_BOMBER] = BossID.SATAN,
|
|
54400
|
+
[Challenge.PAY_TO_PLAY] = BossID.ISAAC,
|
|
54401
|
+
[Challenge.HAVE_A_HEART] = BossID.MOMS_HEART,
|
|
54402
|
+
[Challenge.I_RULE] = BossID.MEGA_SATAN,
|
|
54403
|
+
[Challenge.BRAINS] = BossID.BLUE_BABY,
|
|
54404
|
+
[Challenge.PRIDE_DAY] = BossID.MOMS_HEART,
|
|
54405
|
+
[Challenge.ONANS_STREAK] = BossID.ISAAC,
|
|
54406
|
+
[Challenge.GUARDIAN] = BossID.MOMS_HEART,
|
|
54407
|
+
[Challenge.BACKASSWARDS] = BossID.MEGA_SATAN,
|
|
54408
|
+
[Challenge.APRILS_FOOL] = BossID.MOMS_HEART,
|
|
54409
|
+
[Challenge.POKEY_MANS] = BossID.ISAAC,
|
|
54410
|
+
[Challenge.ULTRA_HARD] = BossID.MEGA_SATAN,
|
|
54411
|
+
[Challenge.PONG] = BossID.BLUE_BABY,
|
|
54412
|
+
[Challenge.SCAT_MAN] = BossID.MOM,
|
|
54413
|
+
[Challenge.BLOODY_MARY] = BossID.SATAN,
|
|
54414
|
+
[Challenge.BAPTISM_BY_FIRE] = BossID.SATAN,
|
|
54415
|
+
[Challenge.ISAACS_AWAKENING] = BossID.MOTHER,
|
|
54416
|
+
[Challenge.SEEING_DOUBLE] = BossID.MOMS_HEART,
|
|
54417
|
+
[Challenge.PICA_RUN] = BossID.ISAAC,
|
|
54418
|
+
[Challenge.HOT_POTATO] = BossID.SATAN,
|
|
54419
|
+
[Challenge.CANTRIPPED] = BossID.MOM,
|
|
54420
|
+
[Challenge.RED_REDEMPTION] = BossID.MOTHER,
|
|
54421
|
+
[Challenge.DELETE_THIS] = BossID.BLUE_BABY
|
|
54422
|
+
}
|
|
54367
54423
|
return ____exports
|
|
54368
54424
|
end,
|
|
54369
54425
|
["src.objects.challengeCharacters"] = function(...)
|
|
@@ -54479,12 +54535,19 @@ return ____exports
|
|
|
54479
54535
|
end,
|
|
54480
54536
|
["src.functions.challenges"] = function(...)
|
|
54481
54537
|
local ____exports = {}
|
|
54538
|
+
local ____challengeBosses = require("src.objects.challengeBosses")
|
|
54539
|
+
local CHALLENGE_BOSSES = ____challengeBosses.CHALLENGE_BOSSES
|
|
54540
|
+
local DEFAULT_CHALLENGE_BOSS_ID = ____challengeBosses.DEFAULT_CHALLENGE_BOSS_ID
|
|
54482
54541
|
local ____challengeCharacters = require("src.objects.challengeCharacters")
|
|
54483
54542
|
local CHALLENGE_CHARACTERS = ____challengeCharacters.CHALLENGE_CHARACTERS
|
|
54484
54543
|
local DEFAULT_CHALLENGE_CHARACTER = ____challengeCharacters.DEFAULT_CHALLENGE_CHARACTER
|
|
54485
54544
|
local ____challengeNames = require("src.objects.challengeNames")
|
|
54486
54545
|
local CHALLENGE_NAMES = ____challengeNames.CHALLENGE_NAMES
|
|
54487
54546
|
local DEFAULT_CHALLENGE_NAME = ____challengeNames.DEFAULT_CHALLENGE_NAME
|
|
54547
|
+
function ____exports.getChallengeBoss(self, challenge)
|
|
54548
|
+
local challengeBossID = CHALLENGE_BOSSES[challenge]
|
|
54549
|
+
return challengeBossID or DEFAULT_CHALLENGE_BOSS_ID
|
|
54550
|
+
end
|
|
54488
54551
|
function ____exports.getChallengeCharacter(self, challenge)
|
|
54489
54552
|
local challengeCharacter = CHALLENGE_CHARACTERS[challenge]
|
|
54490
54553
|
return challengeCharacter or DEFAULT_CHALLENGE_CHARACTER
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import type { Challenge, PlayerType } from "isaac-typescript-definitions";
|
|
1
|
+
import type { BossID, Challenge, PlayerType } from "isaac-typescript-definitions";
|
|
2
|
+
/**
|
|
3
|
+
* Get the final boss of a challenge. This will only work for vanilla challenges.
|
|
4
|
+
*
|
|
5
|
+
* For modded challenges, `BossID.MOM` (6) will be returned.
|
|
6
|
+
*
|
|
7
|
+
* Note that for `Challenge.BACKASSWARDS` (31), this function will return `BossID.MEGA_SATAN` (55),
|
|
8
|
+
* but this is not actually the final boss. (There is no final boss for this challenge.)
|
|
9
|
+
*/
|
|
10
|
+
export declare function getChallengeBoss(challenge: Challenge): BossID;
|
|
2
11
|
/**
|
|
3
12
|
* Get the starting character of a challenge. This will only work for vanilla challenges.
|
|
4
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenges.d.ts","sourceRoot":"","sources":["../../../src/functions/challenges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"challenges.d.ts","sourceRoot":"","sources":["../../../src/functions/challenges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACX,MAAM,8BAA8B,CAAC;AActC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAKtE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAK7D"}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
+
local ____challengeBosses = require("src.objects.challengeBosses")
|
|
3
|
+
local CHALLENGE_BOSSES = ____challengeBosses.CHALLENGE_BOSSES
|
|
4
|
+
local DEFAULT_CHALLENGE_BOSS_ID = ____challengeBosses.DEFAULT_CHALLENGE_BOSS_ID
|
|
2
5
|
local ____challengeCharacters = require("src.objects.challengeCharacters")
|
|
3
6
|
local CHALLENGE_CHARACTERS = ____challengeCharacters.CHALLENGE_CHARACTERS
|
|
4
7
|
local DEFAULT_CHALLENGE_CHARACTER = ____challengeCharacters.DEFAULT_CHALLENGE_CHARACTER
|
|
5
8
|
local ____challengeNames = require("src.objects.challengeNames")
|
|
6
9
|
local CHALLENGE_NAMES = ____challengeNames.CHALLENGE_NAMES
|
|
7
10
|
local DEFAULT_CHALLENGE_NAME = ____challengeNames.DEFAULT_CHALLENGE_NAME
|
|
11
|
+
--- Get the final boss of a challenge. This will only work for vanilla challenges.
|
|
12
|
+
--
|
|
13
|
+
-- For modded challenges, `BossID.MOM` (6) will be returned.
|
|
14
|
+
--
|
|
15
|
+
-- Note that for `Challenge.BACKASSWARDS` (31), this function will return `BossID.MEGA_SATAN` (55),
|
|
16
|
+
-- but this is not actually the final boss. (There is no final boss for this challenge.)
|
|
17
|
+
function ____exports.getChallengeBoss(self, challenge)
|
|
18
|
+
local challengeBossID = CHALLENGE_BOSSES[challenge]
|
|
19
|
+
return challengeBossID or DEFAULT_CHALLENGE_BOSS_ID
|
|
20
|
+
end
|
|
8
21
|
--- Get the starting character of a challenge. This will only work for vanilla challenges.
|
|
9
22
|
--
|
|
10
23
|
-- For modded challenges, `PlayerType.ISAAC` (0) will be returned.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BossID } from "isaac-typescript-definitions";
|
|
2
|
+
export declare const DEFAULT_CHALLENGE_BOSS_ID = BossID.MOM;
|
|
3
|
+
/**
|
|
4
|
+
* Taken from the "challenges.xml" file.
|
|
5
|
+
*
|
|
6
|
+
* @see https://bindingofisaacrebirth.fandom.com/wiki/Challenges
|
|
7
|
+
*/
|
|
8
|
+
export declare const CHALLENGE_BOSSES: {
|
|
9
|
+
readonly 0: BossID.MOM;
|
|
10
|
+
readonly 1: BossID.MOM;
|
|
11
|
+
readonly 2: BossID.MOM;
|
|
12
|
+
readonly 3: BossID.MOM;
|
|
13
|
+
readonly 4: BossID.SATAN;
|
|
14
|
+
readonly 5: BossID.MOM;
|
|
15
|
+
readonly 6: BossID.MOMS_HEART;
|
|
16
|
+
readonly 7: BossID.ISAAC;
|
|
17
|
+
readonly 8: BossID.MOM;
|
|
18
|
+
readonly 9: BossID.MOMS_HEART;
|
|
19
|
+
readonly 10: BossID.MOM;
|
|
20
|
+
readonly 11: BossID.SATAN;
|
|
21
|
+
readonly 12: BossID.MOM;
|
|
22
|
+
readonly 13: BossID.MOM;
|
|
23
|
+
readonly 14: BossID.MOM;
|
|
24
|
+
readonly 15: BossID.MOM;
|
|
25
|
+
readonly 16: BossID.MOM;
|
|
26
|
+
readonly 17: BossID.MOM;
|
|
27
|
+
readonly 18: BossID.MOM;
|
|
28
|
+
readonly 19: BossID.ISAAC;
|
|
29
|
+
readonly 20: BossID.MOMS_HEART;
|
|
30
|
+
readonly 21: BossID.MOMS_HEART;
|
|
31
|
+
readonly 22: BossID.MOMS_HEART;
|
|
32
|
+
readonly 23: BossID.SATAN;
|
|
33
|
+
readonly 24: BossID.ISAAC;
|
|
34
|
+
readonly 25: BossID.MOMS_HEART;
|
|
35
|
+
readonly 26: BossID.MEGA_SATAN;
|
|
36
|
+
readonly 27: BossID.BLUE_BABY;
|
|
37
|
+
readonly 28: BossID.MOMS_HEART;
|
|
38
|
+
readonly 29: BossID.ISAAC;
|
|
39
|
+
readonly 30: BossID.MOMS_HEART;
|
|
40
|
+
readonly 31: BossID.MEGA_SATAN;
|
|
41
|
+
readonly 32: BossID.MOMS_HEART;
|
|
42
|
+
readonly 33: BossID.ISAAC;
|
|
43
|
+
readonly 34: BossID.MEGA_SATAN;
|
|
44
|
+
readonly 35: BossID.BLUE_BABY;
|
|
45
|
+
readonly 36: BossID.MOM;
|
|
46
|
+
readonly 37: BossID.SATAN;
|
|
47
|
+
readonly 38: BossID.SATAN;
|
|
48
|
+
readonly 39: BossID.MOTHER;
|
|
49
|
+
readonly 40: BossID.MOMS_HEART;
|
|
50
|
+
readonly 41: BossID.ISAAC;
|
|
51
|
+
readonly 42: BossID.SATAN;
|
|
52
|
+
readonly 43: BossID.MOM;
|
|
53
|
+
readonly 44: BossID.MOTHER;
|
|
54
|
+
readonly 45: BossID.BLUE_BABY;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=challengeBosses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challengeBosses.d.ts","sourceRoot":"","sources":["../../../src/objects/challengeBosses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CiB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
3
|
+
local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
|
|
4
|
+
local Challenge = ____isaac_2Dtypescript_2Ddefinitions.Challenge
|
|
5
|
+
____exports.DEFAULT_CHALLENGE_BOSS_ID = BossID.MOM
|
|
6
|
+
--- Taken from the "challenges.xml" file.
|
|
7
|
+
--
|
|
8
|
+
-- @see https ://bindingofisaacrebirth.fandom.com/wiki/Challenges
|
|
9
|
+
____exports.CHALLENGE_BOSSES = {
|
|
10
|
+
[Challenge.NULL] = BossID.MOM,
|
|
11
|
+
[Challenge.PITCH_BLACK] = BossID.MOM,
|
|
12
|
+
[Challenge.HIGH_BROW] = BossID.MOM,
|
|
13
|
+
[Challenge.HEAD_TRAUMA] = BossID.MOM,
|
|
14
|
+
[Challenge.DARKNESS_FALLS] = BossID.SATAN,
|
|
15
|
+
[Challenge.TANK] = BossID.MOM,
|
|
16
|
+
[Challenge.SOLAR_SYSTEM] = BossID.MOMS_HEART,
|
|
17
|
+
[Challenge.SUICIDE_KING] = BossID.ISAAC,
|
|
18
|
+
[Challenge.CAT_GOT_YOUR_TONGUE] = BossID.MOM,
|
|
19
|
+
[Challenge.DEMO_MAN] = BossID.MOMS_HEART,
|
|
20
|
+
[Challenge.CURSED] = BossID.MOM,
|
|
21
|
+
[Challenge.GLASS_CANNON] = BossID.SATAN,
|
|
22
|
+
[Challenge.WHEN_LIFE_GIVES_LEMONS] = BossID.MOM,
|
|
23
|
+
[Challenge.BEANS] = BossID.MOM,
|
|
24
|
+
[Challenge.ITS_IN_THE_CARDS] = BossID.MOM,
|
|
25
|
+
[Challenge.SLOW_ROLL] = BossID.MOM,
|
|
26
|
+
[Challenge.COMPUTER_SAVY] = BossID.MOM,
|
|
27
|
+
[Challenge.WAKA_WAKA] = BossID.MOM,
|
|
28
|
+
[Challenge.HOST] = BossID.MOM,
|
|
29
|
+
[Challenge.FAMILY_MAN] = BossID.ISAAC,
|
|
30
|
+
[Challenge.PURIST] = BossID.MOMS_HEART,
|
|
31
|
+
[Challenge.XXXXXXXXL] = BossID.MOMS_HEART,
|
|
32
|
+
[Challenge.SPEED] = BossID.MOMS_HEART,
|
|
33
|
+
[Challenge.BLUE_BOMBER] = BossID.SATAN,
|
|
34
|
+
[Challenge.PAY_TO_PLAY] = BossID.ISAAC,
|
|
35
|
+
[Challenge.HAVE_A_HEART] = BossID.MOMS_HEART,
|
|
36
|
+
[Challenge.I_RULE] = BossID.MEGA_SATAN,
|
|
37
|
+
[Challenge.BRAINS] = BossID.BLUE_BABY,
|
|
38
|
+
[Challenge.PRIDE_DAY] = BossID.MOMS_HEART,
|
|
39
|
+
[Challenge.ONANS_STREAK] = BossID.ISAAC,
|
|
40
|
+
[Challenge.GUARDIAN] = BossID.MOMS_HEART,
|
|
41
|
+
[Challenge.BACKASSWARDS] = BossID.MEGA_SATAN,
|
|
42
|
+
[Challenge.APRILS_FOOL] = BossID.MOMS_HEART,
|
|
43
|
+
[Challenge.POKEY_MANS] = BossID.ISAAC,
|
|
44
|
+
[Challenge.ULTRA_HARD] = BossID.MEGA_SATAN,
|
|
45
|
+
[Challenge.PONG] = BossID.BLUE_BABY,
|
|
46
|
+
[Challenge.SCAT_MAN] = BossID.MOM,
|
|
47
|
+
[Challenge.BLOODY_MARY] = BossID.SATAN,
|
|
48
|
+
[Challenge.BAPTISM_BY_FIRE] = BossID.SATAN,
|
|
49
|
+
[Challenge.ISAACS_AWAKENING] = BossID.MOTHER,
|
|
50
|
+
[Challenge.SEEING_DOUBLE] = BossID.MOMS_HEART,
|
|
51
|
+
[Challenge.PICA_RUN] = BossID.ISAAC,
|
|
52
|
+
[Challenge.HOT_POTATO] = BossID.SATAN,
|
|
53
|
+
[Challenge.CANTRIPPED] = BossID.MOM,
|
|
54
|
+
[Challenge.RED_REDEMPTION] = BossID.MOTHER,
|
|
55
|
+
[Challenge.DELETE_THIS] = BossID.BLUE_BABY
|
|
56
|
+
}
|
|
57
|
+
return ____exports
|
package/package.json
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
BossID,
|
|
3
|
+
Challenge,
|
|
4
|
+
PlayerType,
|
|
5
|
+
} from "isaac-typescript-definitions";
|
|
6
|
+
import {
|
|
7
|
+
CHALLENGE_BOSSES,
|
|
8
|
+
DEFAULT_CHALLENGE_BOSS_ID,
|
|
9
|
+
} from "../objects/challengeBosses";
|
|
2
10
|
import {
|
|
3
11
|
CHALLENGE_CHARACTERS,
|
|
4
12
|
DEFAULT_CHALLENGE_CHARACTER,
|
|
@@ -8,6 +16,21 @@ import {
|
|
|
8
16
|
DEFAULT_CHALLENGE_NAME,
|
|
9
17
|
} from "../objects/challengeNames";
|
|
10
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Get the final boss of a challenge. This will only work for vanilla challenges.
|
|
21
|
+
*
|
|
22
|
+
* For modded challenges, `BossID.MOM` (6) will be returned.
|
|
23
|
+
*
|
|
24
|
+
* Note that for `Challenge.BACKASSWARDS` (31), this function will return `BossID.MEGA_SATAN` (55),
|
|
25
|
+
* but this is not actually the final boss. (There is no final boss for this challenge.)
|
|
26
|
+
*/
|
|
27
|
+
export function getChallengeBoss(challenge: Challenge): BossID {
|
|
28
|
+
const challengeBossID = CHALLENGE_BOSSES[challenge];
|
|
29
|
+
// Handle modded challenges.
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
31
|
+
return challengeBossID ?? DEFAULT_CHALLENGE_BOSS_ID;
|
|
32
|
+
}
|
|
33
|
+
|
|
11
34
|
/**
|
|
12
35
|
* Get the starting character of a challenge. This will only work for vanilla challenges.
|
|
13
36
|
*
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { BossID, Challenge } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_CHALLENGE_BOSS_ID = BossID.MOM;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Taken from the "challenges.xml" file.
|
|
7
|
+
*
|
|
8
|
+
* @see https://bindingofisaacrebirth.fandom.com/wiki/Challenges
|
|
9
|
+
*/
|
|
10
|
+
export const CHALLENGE_BOSSES = {
|
|
11
|
+
[Challenge.NULL]: BossID.MOM, // 0
|
|
12
|
+
[Challenge.PITCH_BLACK]: BossID.MOM, // 1
|
|
13
|
+
[Challenge.HIGH_BROW]: BossID.MOM, // 2
|
|
14
|
+
[Challenge.HEAD_TRAUMA]: BossID.MOM, // 3
|
|
15
|
+
[Challenge.DARKNESS_FALLS]: BossID.SATAN, // 4
|
|
16
|
+
[Challenge.TANK]: BossID.MOM, // 5
|
|
17
|
+
[Challenge.SOLAR_SYSTEM]: BossID.MOMS_HEART, // 6
|
|
18
|
+
[Challenge.SUICIDE_KING]: BossID.ISAAC, // 7
|
|
19
|
+
[Challenge.CAT_GOT_YOUR_TONGUE]: BossID.MOM, // 8
|
|
20
|
+
[Challenge.DEMO_MAN]: BossID.MOMS_HEART, // 9
|
|
21
|
+
[Challenge.CURSED]: BossID.MOM, // 10
|
|
22
|
+
[Challenge.GLASS_CANNON]: BossID.SATAN, // 11
|
|
23
|
+
[Challenge.WHEN_LIFE_GIVES_LEMONS]: BossID.MOM, // 12
|
|
24
|
+
[Challenge.BEANS]: BossID.MOM, // 13
|
|
25
|
+
[Challenge.ITS_IN_THE_CARDS]: BossID.MOM, // 14
|
|
26
|
+
[Challenge.SLOW_ROLL]: BossID.MOM, // 15
|
|
27
|
+
[Challenge.COMPUTER_SAVY]: BossID.MOM, // 16
|
|
28
|
+
[Challenge.WAKA_WAKA]: BossID.MOM, // 17
|
|
29
|
+
[Challenge.HOST]: BossID.MOM, // 18
|
|
30
|
+
[Challenge.FAMILY_MAN]: BossID.ISAAC, // 19
|
|
31
|
+
[Challenge.PURIST]: BossID.MOMS_HEART, // 20
|
|
32
|
+
[Challenge.XXXXXXXXL]: BossID.MOMS_HEART, // 21
|
|
33
|
+
[Challenge.SPEED]: BossID.MOMS_HEART, // 22
|
|
34
|
+
[Challenge.BLUE_BOMBER]: BossID.SATAN, // 23
|
|
35
|
+
[Challenge.PAY_TO_PLAY]: BossID.ISAAC, // 24
|
|
36
|
+
[Challenge.HAVE_A_HEART]: BossID.MOMS_HEART, // 25
|
|
37
|
+
[Challenge.I_RULE]: BossID.MEGA_SATAN, // 26
|
|
38
|
+
[Challenge.BRAINS]: BossID.BLUE_BABY, // 27
|
|
39
|
+
[Challenge.PRIDE_DAY]: BossID.MOMS_HEART, // 28
|
|
40
|
+
[Challenge.ONANS_STREAK]: BossID.ISAAC, // 29
|
|
41
|
+
[Challenge.GUARDIAN]: BossID.MOMS_HEART, // 30
|
|
42
|
+
[Challenge.BACKASSWARDS]: BossID.MEGA_SATAN, // 31
|
|
43
|
+
[Challenge.APRILS_FOOL]: BossID.MOMS_HEART, // 32
|
|
44
|
+
[Challenge.POKEY_MANS]: BossID.ISAAC, // 33
|
|
45
|
+
[Challenge.ULTRA_HARD]: BossID.MEGA_SATAN, // 34
|
|
46
|
+
[Challenge.PONG]: BossID.BLUE_BABY, // 35
|
|
47
|
+
[Challenge.SCAT_MAN]: BossID.MOM, // 36
|
|
48
|
+
[Challenge.BLOODY_MARY]: BossID.SATAN, // 37
|
|
49
|
+
[Challenge.BAPTISM_BY_FIRE]: BossID.SATAN, // 38
|
|
50
|
+
[Challenge.ISAACS_AWAKENING]: BossID.MOTHER, // 39
|
|
51
|
+
[Challenge.SEEING_DOUBLE]: BossID.MOMS_HEART, // 40
|
|
52
|
+
[Challenge.PICA_RUN]: BossID.ISAAC, // 41
|
|
53
|
+
[Challenge.HOT_POTATO]: BossID.SATAN, // 42
|
|
54
|
+
[Challenge.CANTRIPPED]: BossID.MOM, // 43
|
|
55
|
+
[Challenge.RED_REDEMPTION]: BossID.MOTHER, // 44
|
|
56
|
+
[Challenge.DELETE_THIS]: BossID.BLUE_BABY, // 45
|
|
57
|
+
} as const satisfies Record<Challenge, BossID>;
|