isaacscript-common 48.0.0 → 49.0.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 +36 -14
- package/dist/isaacscript-common.lua +171 -157
- package/dist/src/functions/doors.lua +1 -1
- package/dist/src/functions/enums.d.ts +35 -14
- package/dist/src/functions/enums.d.ts.map +1 -1
- package/dist/src/functions/enums.lua +42 -14
- package/dist/src/functions/nextStage.lua +5 -5
- package/dist/src/functions/stage.lua +2 -2
- package/dist/src/objects/bossNamePNGFileNames.lua +24 -24
- package/dist/src/objects/bossPortraitPNGFileNames.lua +24 -24
- package/dist/src/objects/levelNames.lua +1 -1
- package/dist/src/objects/stageToMusic.lua +1 -1
- package/dist/src/objects/stageToStageID.lua +1 -1
- package/dist/src/sets/bossSets.lua +8 -8
- package/dist/src/sets/storyBossesSet.lua +1 -1
- package/package.json +2 -2
- package/src/functions/doors.ts +1 -1
- package/src/functions/enums.ts +51 -14
- package/src/functions/nextStage.ts +5 -5
- package/src/functions/stage.ts +2 -2
- package/src/objects/bossNamePNGFileNames.ts +24 -24
- package/src/objects/bossPortraitPNGFileNames.ts +24 -24
- package/src/objects/levelNames.ts +1 -1
- package/src/objects/stageToMusic.ts +1 -1
- package/src/objects/stageToStageID.ts +1 -1
- package/src/sets/bossSets.ts +8 -8
- package/src/sets/storyBossesSet.ts +1 -1
|
@@ -132,7 +132,7 @@ end
|
|
|
132
132
|
--- Helper function to check if the provided door is the one that leads to the off-grid room that
|
|
133
133
|
-- contains the portal to The Void. (In vanilla, the door will only appear in the Hush Boss Room.)
|
|
134
134
|
function ____exports.isVoidDoor(self, door)
|
|
135
|
-
return door.TargetRoomIndex == asNumber(nil, GridRoom.
|
|
135
|
+
return door.TargetRoomIndex == asNumber(nil, GridRoom.VOID)
|
|
136
136
|
end
|
|
137
137
|
--- Helper function to remove a single door.
|
|
138
138
|
function ____exports.removeDoor(self, door)
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
/// <reference types="isaac-typescript-definitions" />
|
|
3
3
|
/// <reference types="isaac-typescript-definitions" />
|
|
4
4
|
/**
|
|
5
|
-
* TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping.
|
|
6
|
-
* when you iterate over them, you will get both the names of the enums and the values of the
|
|
7
|
-
* in a random order. Use this helper function to get the entries of the enum with the
|
|
8
|
-
* mappings filtered out.
|
|
5
|
+
* TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
6
|
+
* Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
7
|
+
* enums, in a random order. Use this helper function to get the entries of the enum with the
|
|
8
|
+
* reverse mappings filtered out.
|
|
9
9
|
*
|
|
10
10
|
* This function will return the enum values in a sorted order, which may not necessarily be the
|
|
11
|
-
* same order as which they were declared in.
|
|
11
|
+
* same order as which they were declared in. (It is impossible to get the declaration order at
|
|
12
|
+
* run-time.)
|
|
12
13
|
*
|
|
13
14
|
* This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
14
15
|
* not created for string enums.)
|
|
@@ -20,12 +21,13 @@
|
|
|
20
21
|
*/
|
|
21
22
|
export declare function getEnumEntries<T>(transpiledEnum: T): Array<[key: string, value: T[keyof T]]>;
|
|
22
23
|
/**
|
|
23
|
-
* TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping.
|
|
24
|
-
* when you iterate over them, you will get both the names of the enums and the values of the
|
|
25
|
-
* in a random order. If all you need are the keys of an enum, use this helper function.
|
|
24
|
+
* TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
25
|
+
* Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
26
|
+
* enums, in a random order. If all you need are the keys of an enum, use this helper function.
|
|
26
27
|
*
|
|
27
28
|
* This function will return the enum keys in a sorted order, which may not necessarily be the same
|
|
28
|
-
* order as which they were declared in.
|
|
29
|
+
* order as which they were declared in. (It is impossible to get the declaration order at
|
|
30
|
+
* run-time.)
|
|
29
31
|
*
|
|
30
32
|
* This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
31
33
|
* not created for string enums.)
|
|
@@ -39,12 +41,31 @@ export declare function getEnumKeys(transpiledEnum: Record<string | number, stri
|
|
|
39
41
|
/** Helper function to get the amount of entries inside of an enum. */
|
|
40
42
|
export declare function getEnumLength(transpiledEnum: Record<string | number, string | number>): int;
|
|
41
43
|
/**
|
|
42
|
-
* TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping.
|
|
43
|
-
* when you iterate over them, you will get both the names of the enums and the values of the
|
|
44
|
-
* in a random order. If all you need are the
|
|
44
|
+
* TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
45
|
+
* Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
46
|
+
* enums, in a random order. If all you need are the names of an enum from the reverse mapping, use
|
|
47
|
+
* this helper function.
|
|
48
|
+
*
|
|
49
|
+
* This function will return the enum names in a sorted order, which may not necessarily be the same
|
|
50
|
+
* order as which they were declared in. (It is impossible to get the declaration order at
|
|
51
|
+
* run-time.)
|
|
52
|
+
*
|
|
53
|
+
* This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
54
|
+
* not created for string enums, so their names would be equivalent to what would be returned by the
|
|
55
|
+
* `getEnumKeys` function.)
|
|
56
|
+
*
|
|
57
|
+
* For a more in depth explanation, see:
|
|
58
|
+
* https://isaacscript.github.io/main/gotchas#iterating-over-enums
|
|
59
|
+
*/
|
|
60
|
+
export declare function getEnumNames(transpiledEnum: Record<string | number, string | number>): string[];
|
|
61
|
+
/**
|
|
62
|
+
* TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
63
|
+
* Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
64
|
+
* enums, in a random order. If all you need are the values of an enum, use this helper function.
|
|
45
65
|
*
|
|
46
66
|
* This function will return the enum values in a sorted order, which may not necessarily be the
|
|
47
|
-
* same order as which they were declared in.
|
|
67
|
+
* same order as which they were declared in. (It is impossible to get the declaration order at
|
|
68
|
+
* run-time.)
|
|
48
69
|
*
|
|
49
70
|
* This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
50
71
|
* not created for string enums.)
|
|
@@ -101,7 +122,7 @@ export declare function isEnumValue<T extends Record<string, number | string>>(v
|
|
|
101
122
|
*/
|
|
102
123
|
export declare function validateCustomEnum(transpiledEnumName: string, transpiledEnum: unknown): void;
|
|
103
124
|
/**
|
|
104
|
-
* Helper function to validate if every value in
|
|
125
|
+
* Helper function to validate if every value in a number enum is contiguous, starting at 0.
|
|
105
126
|
*
|
|
106
127
|
* This is useful to automate checking large enums for typos.
|
|
107
128
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/functions/enums.ts"],"names":[],"mappings":";;;AAMA
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/functions/enums.ts"],"names":[],"mappings":";;;AAMA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,GAChB,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAmBzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,MAAM,EAAE,CAGV;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,GAAG,CAGL;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,MAAM,EAAE,CAaV;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAGrE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAUnE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,cAAc,EAAE,CAAC,EACjB,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,UAAU,GAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,GAC7D,CAAC,CAAC,MAAM,CAAC,CAAC,CAGZ;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACnE,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,cAAc,EAAE,CAAC,GAChB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAGrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,OAAO,GACtB,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,CAAC,GAChB,IAAI,CAsBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,4BAA4B,CAE1C,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,KACzB,IAAI,CAAG"}
|
|
@@ -17,13 +17,14 @@ local isString = ____types.isString
|
|
|
17
17
|
local ____utils = require("src.functions.utils")
|
|
18
18
|
local assertDefined = ____utils.assertDefined
|
|
19
19
|
local iRange = ____utils.iRange
|
|
20
|
-
--- TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping.
|
|
21
|
-
-- when you iterate over them, you will get both the names of the enums and the values of the
|
|
22
|
-
-- in a random order. Use this helper function to get the entries of the enum with the
|
|
23
|
-
-- mappings filtered out.
|
|
20
|
+
--- TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
21
|
+
-- Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
22
|
+
-- enums, in a random order. Use this helper function to get the entries of the enum with the
|
|
23
|
+
-- reverse mappings filtered out.
|
|
24
24
|
--
|
|
25
25
|
-- This function will return the enum values in a sorted order, which may not necessarily be the
|
|
26
|
-
-- same order as which they were declared in.
|
|
26
|
+
-- same order as which they were declared in. (It is impossible to get the declaration order at
|
|
27
|
+
-- run-time.)
|
|
27
28
|
--
|
|
28
29
|
-- This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
29
30
|
-- not created for string enums.)
|
|
@@ -53,12 +54,13 @@ function ____exports.getEnumEntries(self, transpiledEnum)
|
|
|
53
54
|
)
|
|
54
55
|
return enumEntries
|
|
55
56
|
end
|
|
56
|
-
--- TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping.
|
|
57
|
-
-- when you iterate over them, you will get both the names of the enums and the values of the
|
|
58
|
-
-- in a random order. If all you need are the keys of an enum, use this helper function.
|
|
57
|
+
--- TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
58
|
+
-- Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
59
|
+
-- enums, in a random order. If all you need are the keys of an enum, use this helper function.
|
|
59
60
|
--
|
|
60
61
|
-- This function will return the enum keys in a sorted order, which may not necessarily be the same
|
|
61
|
-
-- order as which they were declared in.
|
|
62
|
+
-- order as which they were declared in. (It is impossible to get the declaration order at
|
|
63
|
+
-- run-time.)
|
|
62
64
|
--
|
|
63
65
|
-- This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
64
66
|
-- not created for string enums.)
|
|
@@ -84,12 +86,38 @@ function ____exports.getEnumLength(self, transpiledEnum)
|
|
|
84
86
|
local enumEntries = ____exports.getEnumEntries(nil, transpiledEnum)
|
|
85
87
|
return #enumEntries
|
|
86
88
|
end
|
|
87
|
-
--- TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping.
|
|
88
|
-
-- when you iterate over them, you will get both the names of the enums and the values of the
|
|
89
|
-
-- in a random order. If all you need are the
|
|
89
|
+
--- TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
90
|
+
-- Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
91
|
+
-- enums, in a random order. If all you need are the names of an enum from the reverse mapping, use
|
|
92
|
+
-- this helper function.
|
|
93
|
+
--
|
|
94
|
+
-- This function will return the enum names in a sorted order, which may not necessarily be the same
|
|
95
|
+
-- order as which they were declared in. (It is impossible to get the declaration order at
|
|
96
|
+
-- run-time.)
|
|
97
|
+
--
|
|
98
|
+
-- This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
99
|
+
-- not created for string enums, so their names would be equivalent to what would be returned by the
|
|
100
|
+
-- `getEnumKeys` function.)
|
|
101
|
+
--
|
|
102
|
+
-- For a more in depth explanation, see:
|
|
103
|
+
-- https://isaacscript.github.io/main/gotchas#iterating-over-enums
|
|
104
|
+
function ____exports.getEnumNames(self, transpiledEnum)
|
|
105
|
+
local enumNames = {}
|
|
106
|
+
for key, _value in pairs(transpiledEnum) do
|
|
107
|
+
if isString(nil, key) then
|
|
108
|
+
enumNames[#enumNames + 1] = key
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
__TS__ArraySort(enumNames)
|
|
112
|
+
return enumNames
|
|
113
|
+
end
|
|
114
|
+
--- TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
|
|
115
|
+
-- Thus, when you iterate over them, you will get both the names of the enums and the values of the
|
|
116
|
+
-- enums, in a random order. If all you need are the values of an enum, use this helper function.
|
|
90
117
|
--
|
|
91
118
|
-- This function will return the enum values in a sorted order, which may not necessarily be the
|
|
92
|
-
-- same order as which they were declared in.
|
|
119
|
+
-- same order as which they were declared in. (It is impossible to get the declaration order at
|
|
120
|
+
-- run-time.)
|
|
93
121
|
--
|
|
94
122
|
-- This function will work properly for both number enums and string enums. (Reverse mappings are
|
|
95
123
|
-- not created for string enums.)
|
|
@@ -177,7 +205,7 @@ function ____exports.validateCustomEnum(self, transpiledEnumName, transpiledEnum
|
|
|
177
205
|
end
|
|
178
206
|
end
|
|
179
207
|
end
|
|
180
|
-
--- Helper function to validate if every value in
|
|
208
|
+
--- Helper function to validate if every value in a number enum is contiguous, starting at 0.
|
|
181
209
|
--
|
|
182
210
|
-- This is useful to automate checking large enums for typos.
|
|
183
211
|
function ____exports.validateEnumContiguous(self, transpiledEnumName, transpiledEnum)
|
|
@@ -39,10 +39,10 @@ function ____exports.getNextStage(self)
|
|
|
39
39
|
return LevelStage.BLUE_WOMB
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
|
-
____cond4 = ____cond4 or ____switch4 == GridRoom.
|
|
42
|
+
____cond4 = ____cond4 or ____switch4 == GridRoom.VOID
|
|
43
43
|
if ____cond4 then
|
|
44
44
|
do
|
|
45
|
-
return LevelStage.
|
|
45
|
+
return LevelStage.VOID
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
____cond4 = ____cond4 or ____switch4 == GridRoom.SECRET_EXIT
|
|
@@ -76,8 +76,8 @@ function ____exports.getNextStage(self)
|
|
|
76
76
|
if stage == LevelStage.DARK_ROOM_CHEST then
|
|
77
77
|
return LevelStage.DARK_ROOM_CHEST
|
|
78
78
|
end
|
|
79
|
-
if stage == LevelStage.
|
|
80
|
-
return LevelStage.
|
|
79
|
+
if stage == LevelStage.VOID then
|
|
80
|
+
return LevelStage.VOID
|
|
81
81
|
end
|
|
82
82
|
return asNumber(nil, stage) + 1
|
|
83
83
|
end
|
|
@@ -129,7 +129,7 @@ function ____exports.getNextStageType(self, upwards)
|
|
|
129
129
|
end
|
|
130
130
|
return StageType.WRATH_OF_THE_LAMB
|
|
131
131
|
end
|
|
132
|
-
if nextStage == LevelStage.
|
|
132
|
+
if nextStage == LevelStage.VOID then
|
|
133
133
|
return StageType.ORIGINAL
|
|
134
134
|
end
|
|
135
135
|
if nextStage == LevelStage.HOME then
|
|
@@ -170,7 +170,7 @@ end
|
|
|
170
170
|
-- the Secret Room and a 50% chance of teleporting the player to the Super Secret Room, because the
|
|
171
171
|
-- I AM ERROR room is never entered into the list of possibilities.
|
|
172
172
|
function ____exports.isFinalFloor(self, stage, stageType)
|
|
173
|
-
return stage == LevelStage.DARK_ROOM_CHEST or stage == LevelStage.
|
|
173
|
+
return stage == LevelStage.DARK_ROOM_CHEST or stage == LevelStage.VOID or stage == LevelStage.HOME or stage == LevelStage.WOMB_2 and ____exports.isRepentanceStage(nil, stageType)
|
|
174
174
|
end
|
|
175
175
|
--- Helper function to check if the provided effective stage is one that has the possibility to grant
|
|
176
176
|
-- a natural Devil Room or Angel Room after killing the boss.
|
|
@@ -191,7 +191,7 @@ end
|
|
|
191
191
|
-- considered to be a stage that has a random boss collectible since all of the non-Delirium Boss
|
|
192
192
|
-- Rooms will drop random boss collectibles.
|
|
193
193
|
function ____exports.isStageWithRandomBossCollectible(self, stage)
|
|
194
|
-
return not ____exports.isStageWithStoryBoss(nil, stage) or stage == LevelStage.
|
|
194
|
+
return not ____exports.isStageWithStoryBoss(nil, stage) or stage == LevelStage.VOID
|
|
195
195
|
end
|
|
196
196
|
--- Helper function to check if the provided stage will spawn a locked door to Downpour/Dross after
|
|
197
197
|
-- defeating the boss.
|
|
@@ -25,68 +25,68 @@ ____exports.BOSS_NAME_PNG_FILE_NAMES = {
|
|
|
25
25
|
[BossID.STEVEN] = "bossname_79.1_steven.png",
|
|
26
26
|
[BossID.CHAD] = "bossname_28.1_chad.png",
|
|
27
27
|
[BossID.HEADLESS_HORSEMAN] = "bossname_82.0_headlesshorseman.png",
|
|
28
|
-
[BossID.
|
|
28
|
+
[BossID.FALLEN] = "bossname_81.0_thefallen.png",
|
|
29
29
|
[BossID.SATAN] = "bossname_84.0_satan.png",
|
|
30
30
|
[BossID.IT_LIVES] = "bossname_78.1_itlives.png",
|
|
31
|
-
[BossID.
|
|
32
|
-
[BossID.
|
|
31
|
+
[BossID.HOLLOW] = "bossname_19.1_thehollow.png",
|
|
32
|
+
[BossID.CARRION_QUEEN] = "bossname_28.2_carrionqueen.png",
|
|
33
33
|
[BossID.GURDY_JR] = "bossname_99.0_gurdyjr.png",
|
|
34
|
-
[BossID.
|
|
35
|
-
[BossID.
|
|
34
|
+
[BossID.HUSK] = "bossname_67.1_thehusk.png",
|
|
35
|
+
[BossID.BLOAT] = "bossname_68.1_bloat.png",
|
|
36
36
|
[BossID.LOKII] = "bossname_69.1_lokii.png",
|
|
37
|
-
[BossID.
|
|
37
|
+
[BossID.BLIGHTED_OVUM] = "bossname_79.2_blightedovum.png",
|
|
38
38
|
[BossID.TERATOMA] = "bossname_71.1_teratoma.png",
|
|
39
|
-
[BossID.
|
|
39
|
+
[BossID.WIDOW] = "bossname_100.0_widow.png",
|
|
40
40
|
[BossID.MASK_OF_INFAMY] = "bossname_97.0_maskofinfamy.png",
|
|
41
|
-
[BossID.
|
|
41
|
+
[BossID.WRETCHED] = "bossname_100.1_thewretched.png",
|
|
42
42
|
[BossID.PIN] = "bossname_62.0_pin.png",
|
|
43
43
|
[BossID.CONQUEST] = "bossname_65.1_conquest.png",
|
|
44
44
|
[BossID.ISAAC] = "playername_01_isaac.png",
|
|
45
45
|
[BossID.BLUE_BABY] = "bossname_102.1_bluebaby.png",
|
|
46
46
|
[BossID.DADDY_LONG_LEGS] = "bossname_101.0_daddylonglegs.png",
|
|
47
47
|
[BossID.TRIACHNID] = "bossname_101.1_triachnid.png",
|
|
48
|
-
[BossID.
|
|
48
|
+
[BossID.HAUNT] = "bossname_260.0_thehaunt.png",
|
|
49
49
|
[BossID.DINGLE] = "bossname_261.0_dingle.png",
|
|
50
50
|
[BossID.MEGA_MAW] = "bossname_262.0_megamaw.png",
|
|
51
|
-
[BossID.
|
|
51
|
+
[BossID.GATE] = "bossname_263.0_megamaw2.png",
|
|
52
52
|
[BossID.MEGA_FATTY] = "bossname_264.0_megafatty.png",
|
|
53
|
-
[BossID.
|
|
53
|
+
[BossID.CAGE] = "bossname_265.0_fatty2.png",
|
|
54
54
|
[BossID.MAMA_GURDY] = "bossname_266.0_mamagurdy.png",
|
|
55
55
|
[BossID.DARK_ONE] = "bossname_267.0_darkone.png",
|
|
56
|
-
[BossID.
|
|
56
|
+
[BossID.ADVERSARY] = "bossname_268.0_darkone2.png",
|
|
57
57
|
[BossID.POLYCEPHALUS] = "bossname_269.0_polycephalus.png",
|
|
58
58
|
[BossID.MR_FRED] = "bossname_270.0_megafred.png",
|
|
59
|
-
[BossID.
|
|
59
|
+
[BossID.LAMB] = "bossname_273.0_thelamb.png",
|
|
60
60
|
[BossID.MEGA_SATAN] = "bossname_274.0_megasatan.png",
|
|
61
61
|
[BossID.GURGLINGS] = "bossname_276.0_gurglings.png",
|
|
62
|
-
[BossID.
|
|
62
|
+
[BossID.STAIN] = "bossname_401.0_thestain.png",
|
|
63
63
|
[BossID.BROWNIE] = "bossname_402.0_brownie.png",
|
|
64
|
-
[BossID.
|
|
64
|
+
[BossID.FORSAKEN] = "bossname_403.0_theforsaken.png",
|
|
65
65
|
[BossID.LITTLE_HORN] = "bossname_404.0_littlehorn.png",
|
|
66
66
|
[BossID.RAG_MAN] = "bossname_405.0_ragman.png",
|
|
67
67
|
[BossID.ULTRA_GREED] = "bossname_406.0_ultragreed.png",
|
|
68
68
|
[BossID.HUSH] = "bossname_407.0_hush.png",
|
|
69
69
|
[BossID.DANGLE] = "bossname_dangle.png",
|
|
70
70
|
[BossID.TURDLING] = "bossname_turdlings.png",
|
|
71
|
-
[BossID.
|
|
71
|
+
[BossID.FRAIL] = "bossname_thefrail.png",
|
|
72
72
|
[BossID.RAG_MEGA] = "bossname_ragmega.png",
|
|
73
73
|
[BossID.SISTERS_VIS] = "bossname_sisterssvis.png",
|
|
74
74
|
[BossID.BIG_HORN] = "bossname_bighorn.png",
|
|
75
75
|
[BossID.DELIRIUM] = "bossname_delirium.png",
|
|
76
|
-
[BossID.
|
|
77
|
-
[BossID.
|
|
76
|
+
[BossID.MATRIARCH] = "bossname_matriarch.png",
|
|
77
|
+
[BossID.PILE] = "bossname_polycephalus2.png",
|
|
78
78
|
[BossID.REAP_CREEP] = "bossname_reapcreep.png",
|
|
79
79
|
[BossID.LIL_BLUB] = "bossname_beelzeblub.png",
|
|
80
80
|
[BossID.WORMWOOD] = "bossname_wormwood.png",
|
|
81
81
|
[BossID.RAINMAKER] = "bossname_rainmaker.png",
|
|
82
|
-
[BossID.
|
|
83
|
-
[BossID.
|
|
82
|
+
[BossID.VISAGE] = "bossname_visage.png",
|
|
83
|
+
[BossID.SIREN] = "bossname_siren.png",
|
|
84
84
|
[BossID.TUFF_TWINS] = "bossname_tufftwins.png",
|
|
85
|
-
[BossID.
|
|
85
|
+
[BossID.HERETIC] = "bossname_heretic.png",
|
|
86
86
|
[BossID.HORNFEL] = "bossname_hornfel.png",
|
|
87
87
|
[BossID.GREAT_GIDEON] = "bossname_gideon.png",
|
|
88
88
|
[BossID.BABY_PLUM] = "bossname_babyplum.png",
|
|
89
|
-
[BossID.
|
|
89
|
+
[BossID.SCOURGE] = "bossname_scourge.png",
|
|
90
90
|
[BossID.CHIMERA] = "bossname_chimera.png",
|
|
91
91
|
[BossID.ROTGUT] = "bossname_rotgut.png",
|
|
92
92
|
[BossID.MOTHER] = "bossname_mother.png",
|
|
@@ -97,11 +97,11 @@ ____exports.BOSS_NAME_PNG_FILE_NAMES = {
|
|
|
97
97
|
[BossID.SINGE] = "bossname_singe.png",
|
|
98
98
|
[BossID.BUMBINO] = "bossname_bumbino.png",
|
|
99
99
|
[BossID.COLOSTOMIA] = "bossname_colostomia.png",
|
|
100
|
-
[BossID.
|
|
100
|
+
[BossID.SHELL] = "bossname_shell.png",
|
|
101
101
|
[BossID.TURDLET] = "bossname_turdlet.png",
|
|
102
102
|
[BossID.RAGLICH] = "bossname_raglich.png",
|
|
103
103
|
[BossID.DOGMA] = "bossname_dogma.png",
|
|
104
|
-
[BossID.
|
|
104
|
+
[BossID.BEAST] = "bossname_dogma.png",
|
|
105
105
|
[BossID.HORNY_BOYS] = "bossname_hornyboys.png",
|
|
106
106
|
[BossID.CLUTCH] = "bossname_clutch.png"
|
|
107
107
|
}
|
|
@@ -25,68 +25,68 @@ ____exports.BOSS_PORTRAIT_PNG_FILE_NAMES = {
|
|
|
25
25
|
[BossID.STEVEN] = "portrait_79.1_steven.png",
|
|
26
26
|
[BossID.CHAD] = "portrait_28.1_chad.png",
|
|
27
27
|
[BossID.HEADLESS_HORSEMAN] = "portrait_82.0_headlesshorseman.png",
|
|
28
|
-
[BossID.
|
|
28
|
+
[BossID.FALLEN] = "portrait_81.0_thefallen.png",
|
|
29
29
|
[BossID.SATAN] = "portrait_84.0_satan.png",
|
|
30
30
|
[BossID.IT_LIVES] = "portrait_78.1_itlives.png",
|
|
31
|
-
[BossID.
|
|
32
|
-
[BossID.
|
|
31
|
+
[BossID.HOLLOW] = "portrait_19.1_thehollow.png",
|
|
32
|
+
[BossID.CARRION_QUEEN] = "portrait_28.2_carrionqueen.png",
|
|
33
33
|
[BossID.GURDY_JR] = "portrait_99.0_gurdyjr.png",
|
|
34
|
-
[BossID.
|
|
35
|
-
[BossID.
|
|
34
|
+
[BossID.HUSK] = "portrait_67.1_thehusk.png",
|
|
35
|
+
[BossID.BLOAT] = "portrait_68.1_bloat.png",
|
|
36
36
|
[BossID.LOKII] = "portrait_69.1_lokii.png",
|
|
37
|
-
[BossID.
|
|
37
|
+
[BossID.BLIGHTED_OVUM] = "portrait_79.2_blightedovum.png",
|
|
38
38
|
[BossID.TERATOMA] = "portrait_71.1_teratoma.png",
|
|
39
|
-
[BossID.
|
|
39
|
+
[BossID.WIDOW] = "portrait_100.0_widow.png",
|
|
40
40
|
[BossID.MASK_OF_INFAMY] = "portrait_97.0_maskofinfamy.png",
|
|
41
|
-
[BossID.
|
|
41
|
+
[BossID.WRETCHED] = "portrait_100.1_thewretched.png",
|
|
42
42
|
[BossID.PIN] = "portrait_62.0_pin.png",
|
|
43
43
|
[BossID.CONQUEST] = "portrait_65.1_conquest.png",
|
|
44
44
|
[BossID.ISAAC] = "portrait_102.0_isaac.png",
|
|
45
45
|
[BossID.BLUE_BABY] = "portrait_102.1_bluebaby.png",
|
|
46
46
|
[BossID.DADDY_LONG_LEGS] = "portrait_101.0_daddylonglegs.png",
|
|
47
47
|
[BossID.TRIACHNID] = "portrait_101.1_triachnid.png",
|
|
48
|
-
[BossID.
|
|
48
|
+
[BossID.HAUNT] = "portrait_260.0_thehaunt.png",
|
|
49
49
|
[BossID.DINGLE] = "portrait_261.0_dingle.png",
|
|
50
50
|
[BossID.MEGA_MAW] = "portrait_262.0_megamaw.png",
|
|
51
|
-
[BossID.
|
|
51
|
+
[BossID.GATE] = "portrait_263.0_megamaw2.png",
|
|
52
52
|
[BossID.MEGA_FATTY] = "portrait_264.0_megafatty.png",
|
|
53
|
-
[BossID.
|
|
53
|
+
[BossID.CAGE] = "portrait_265.0_fatty2.png",
|
|
54
54
|
[BossID.MAMA_GURDY] = "portrait_266.0_mamagurdy.png",
|
|
55
55
|
[BossID.DARK_ONE] = "portrait_267.0_darkone.png",
|
|
56
|
-
[BossID.
|
|
56
|
+
[BossID.ADVERSARY] = "portrait_268.0_darkone2.png",
|
|
57
57
|
[BossID.POLYCEPHALUS] = "portrait_269.0_polycephalus.png",
|
|
58
58
|
[BossID.MR_FRED] = "portrait_270.0_megafred.png",
|
|
59
|
-
[BossID.
|
|
59
|
+
[BossID.LAMB] = "portrait_273.0_thelamb.png",
|
|
60
60
|
[BossID.MEGA_SATAN] = "portrait_274.0_megasatan.png",
|
|
61
61
|
[BossID.GURGLINGS] = "portrait_276.0_gurglings.png",
|
|
62
|
-
[BossID.
|
|
62
|
+
[BossID.STAIN] = "portrait_401.0_thestain.png",
|
|
63
63
|
[BossID.BROWNIE] = "portrait_402.0_brownie.png",
|
|
64
|
-
[BossID.
|
|
64
|
+
[BossID.FORSAKEN] = "portrait_403.0_theforsaken.png",
|
|
65
65
|
[BossID.LITTLE_HORN] = "portrait_404.0_littlehorn.png",
|
|
66
66
|
[BossID.RAG_MAN] = "portrait_405.0_ragman.png",
|
|
67
67
|
[BossID.ULTRA_GREED] = "portrait_406.0_ultragreed.png",
|
|
68
68
|
[BossID.HUSH] = "portrait_407.0_hush.png",
|
|
69
69
|
[BossID.DANGLE] = "portrait_dangle.png",
|
|
70
70
|
[BossID.TURDLING] = "portrait_turdlings.png",
|
|
71
|
-
[BossID.
|
|
71
|
+
[BossID.FRAIL] = "portrait_thefrail.png",
|
|
72
72
|
[BossID.RAG_MEGA] = "portrait_ragmega.png",
|
|
73
73
|
[BossID.SISTERS_VIS] = "portrait_sistersvis.png",
|
|
74
74
|
[BossID.BIG_HORN] = "portrait_bighorn.png",
|
|
75
75
|
[BossID.DELIRIUM] = "portrait_delirium.png",
|
|
76
|
-
[BossID.
|
|
77
|
-
[BossID.
|
|
76
|
+
[BossID.MATRIARCH] = "portrait_matriarch.png",
|
|
77
|
+
[BossID.PILE] = "portrait_269.1_polycephalus2.png",
|
|
78
78
|
[BossID.REAP_CREEP] = "portrait_900.0_reapcreep.png",
|
|
79
79
|
[BossID.LIL_BLUB] = "portrait_901.0_beelzeblub.png",
|
|
80
80
|
[BossID.WORMWOOD] = "portrait_902.0_wormwood.png",
|
|
81
81
|
[BossID.RAINMAKER] = "portrait_902.0_rainmaker.png",
|
|
82
|
-
[BossID.
|
|
83
|
-
[BossID.
|
|
82
|
+
[BossID.VISAGE] = "portrait_903.0_visage.png",
|
|
83
|
+
[BossID.SIREN] = "portrait_904.0_siren.png",
|
|
84
84
|
[BossID.TUFF_TWINS] = "portrait_19.100_tufftwins.png",
|
|
85
|
-
[BossID.
|
|
85
|
+
[BossID.HERETIC] = "portrait_905.0_heretic.png",
|
|
86
86
|
[BossID.HORNFEL] = "portrait_906.0_hornfel.png",
|
|
87
87
|
[BossID.GREAT_GIDEON] = "portrait_907.0_gideon.png",
|
|
88
88
|
[BossID.BABY_PLUM] = "portrait_908.0_babyplum.png",
|
|
89
|
-
[BossID.
|
|
89
|
+
[BossID.SCOURGE] = "portrait_909.0_scourge.png",
|
|
90
90
|
[BossID.CHIMERA] = "portrait_910.0_chimera.png",
|
|
91
91
|
[BossID.ROTGUT] = "portrait_911.0_rotgut.png",
|
|
92
92
|
[BossID.MOTHER] = "portrait_mother.png",
|
|
@@ -97,11 +97,11 @@ ____exports.BOSS_PORTRAIT_PNG_FILE_NAMES = {
|
|
|
97
97
|
[BossID.SINGE] = "portrait_singe.png",
|
|
98
98
|
[BossID.BUMBINO] = "portrait_bumbino.png",
|
|
99
99
|
[BossID.COLOSTOMIA] = "portrait_colostomia.png",
|
|
100
|
-
[BossID.
|
|
100
|
+
[BossID.SHELL] = "portrait_shell.png",
|
|
101
101
|
[BossID.TURDLET] = "portrait_turdlet.png",
|
|
102
102
|
[BossID.RAGLICH] = "portrait_raglich.png",
|
|
103
103
|
[BossID.DOGMA] = "portrait_dogma.png",
|
|
104
|
-
[BossID.
|
|
104
|
+
[BossID.BEAST] = "portrait_dogma.png",
|
|
105
105
|
[BossID.HORNY_BOYS] = "portrait_hornyboys.png",
|
|
106
106
|
[BossID.CLUTCH] = "portrait_clutch.png"
|
|
107
107
|
}
|
|
@@ -97,7 +97,7 @@ ____exports.LEVEL_NAMES = {
|
|
|
97
97
|
[StageType.REPENTANCE] = "Undefined",
|
|
98
98
|
[StageType.REPENTANCE_B] = "Undefined"
|
|
99
99
|
},
|
|
100
|
-
[LevelStage.
|
|
100
|
+
[LevelStage.VOID] = {
|
|
101
101
|
[StageType.ORIGINAL] = "The Void",
|
|
102
102
|
[StageType.WRATH_OF_THE_LAMB] = "The Void",
|
|
103
103
|
[StageType.AFTERBIRTH] = "The Void",
|
|
@@ -87,7 +87,7 @@ ____exports.STAGE_TO_MUSIC = {
|
|
|
87
87
|
[LevelStage.BLUE_WOMB] = BLUE_WOMB_TO_MUSIC,
|
|
88
88
|
[LevelStage.SHEOL_CATHEDRAL] = SHEOL_CATHEDRAL_TO_MUSIC,
|
|
89
89
|
[LevelStage.DARK_ROOM_CHEST] = DARK_ROOM_CHEST_TO_MUSIC,
|
|
90
|
-
[LevelStage.
|
|
90
|
+
[LevelStage.VOID] = VOID_TO_MUSIC,
|
|
91
91
|
[LevelStage.HOME] = HOME_TO_MUSIC
|
|
92
92
|
}
|
|
93
93
|
return ____exports
|
|
@@ -87,7 +87,7 @@ ____exports.STAGE_TO_STAGE_ID = {
|
|
|
87
87
|
[LevelStage.BLUE_WOMB] = BLUE_WOMB_TO_STAGE_ID,
|
|
88
88
|
[LevelStage.SHEOL_CATHEDRAL] = SHEOL_CATHEDRAL_TO_STAGE_ID,
|
|
89
89
|
[LevelStage.DARK_ROOM_CHEST] = DARK_ROOM_CHEST_TO_STAGE_ID,
|
|
90
|
-
[LevelStage.
|
|
90
|
+
[LevelStage.VOID] = VOID_TO_STAGE_ID,
|
|
91
91
|
[LevelStage.HOME] = HOME_TO_STAGE_ID
|
|
92
92
|
}
|
|
93
93
|
return ____exports
|
|
@@ -78,7 +78,7 @@ local CELLAR_BOSSES_SET = __TS__New(
|
|
|
78
78
|
(tostring(EntityType.FALLEN) .. ".") .. tostring(FallenVariant.FALLEN),
|
|
79
79
|
tostring(EntityType.HEADLESS_HORSEMAN) .. ".0",
|
|
80
80
|
(tostring(EntityType.WIDOW) .. ".") .. tostring(WidowVariant.WIDOW),
|
|
81
|
-
(tostring(EntityType.
|
|
81
|
+
(tostring(EntityType.HAUNT) .. ".") .. tostring(HauntVariant.HAUNT),
|
|
82
82
|
tostring(EntityType.LITTLE_HORN) .. ".0",
|
|
83
83
|
(tostring(EntityType.RAG_MAN) .. ".") .. tostring(RagManVariant.RAG_MAN),
|
|
84
84
|
tostring(EntityType.BABY_PLUM) .. ".0"
|
|
@@ -167,16 +167,16 @@ local CAVES_BOSSES_SET = __TS__New(
|
|
|
167
167
|
local CATACOMBS_BOSSES_SET = __TS__New(
|
|
168
168
|
ReadonlySet,
|
|
169
169
|
{
|
|
170
|
-
(tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.
|
|
170
|
+
(tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.HOLLOW),
|
|
171
171
|
(tostring(EntityType.CHUB) .. ".") .. tostring(ChubVariant.CARRION_QUEEN),
|
|
172
172
|
(tostring(EntityType.PIN) .. ".") .. tostring(PinVariant.FRAIL),
|
|
173
173
|
tostring(EntityType.PESTILENCE) .. ".0",
|
|
174
|
-
(tostring(EntityType.DUKE_OF_FLIES) .. ".") .. tostring(DukeOfFliesVariant.
|
|
174
|
+
(tostring(EntityType.DUKE_OF_FLIES) .. ".") .. tostring(DukeOfFliesVariant.HUSK),
|
|
175
175
|
(tostring(EntityType.PEEP) .. ".") .. tostring(PeepVariant.PEEP),
|
|
176
176
|
(tostring(EntityType.FALLEN) .. ".") .. tostring(FallenVariant.FALLEN),
|
|
177
177
|
tostring(EntityType.HEADLESS_HORSEMAN) .. ".0",
|
|
178
178
|
tostring(EntityType.GURDY_JR) .. ".0",
|
|
179
|
-
(tostring(EntityType.WIDOW) .. ".") .. tostring(WidowVariant.
|
|
179
|
+
(tostring(EntityType.WIDOW) .. ".") .. tostring(WidowVariant.WRETCHED),
|
|
180
180
|
tostring(EntityType.DARK_ONE) .. ".0",
|
|
181
181
|
(tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.POLYCEPHALUS),
|
|
182
182
|
tostring(EntityType.FORSAKEN) .. ".0",
|
|
@@ -222,8 +222,8 @@ local MINES_BOSSES_SET = __TS__New(
|
|
|
222
222
|
local ASHPIT_BOSSES_SET = __TS__New(
|
|
223
223
|
ReadonlySet,
|
|
224
224
|
{
|
|
225
|
-
(tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.
|
|
226
|
-
(tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.
|
|
225
|
+
(tostring(EntityType.LARRY_JR) .. ".") .. tostring(LarryJrVariant.SHELL),
|
|
226
|
+
(tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.PILE),
|
|
227
227
|
tostring(EntityType.GREAT_GIDEON) .. ".0",
|
|
228
228
|
tostring(EntityType.SINGE) .. ".0",
|
|
229
229
|
tostring(EntityType.CLUTCH) .. ".0"
|
|
@@ -275,7 +275,7 @@ local NECROPOLIS_BOSSES_SET = __TS__New(
|
|
|
275
275
|
tostring(EntityType.HEADLESS_HORSEMAN) .. ".0",
|
|
276
276
|
tostring(EntityType.MASK_OF_INFAMY) .. ".0",
|
|
277
277
|
tostring(EntityType.ADVERSARY) .. ".0",
|
|
278
|
-
(tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.
|
|
278
|
+
(tostring(EntityType.POLYCEPHALUS) .. ".") .. tostring(PolycephalusVariant.PILE),
|
|
279
279
|
tostring(EntityType.BROWNIE) .. ".0",
|
|
280
280
|
tostring(EntityType.SISTERS_VIS) .. ".0"
|
|
281
281
|
}
|
|
@@ -424,7 +424,7 @@ local STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP = __TS__New(ReadonlyMap, {{StageType.O
|
|
|
424
424
|
local DARK_ROOM_BOSSES_SET = __TS__New(
|
|
425
425
|
ReadonlySet,
|
|
426
426
|
{
|
|
427
|
-
(tostring(EntityType.
|
|
427
|
+
(tostring(EntityType.LAMB) .. ".") .. tostring(LambVariant.LAMB),
|
|
428
428
|
tostring(EntityType.MEGA_SATAN) .. ".0"
|
|
429
429
|
}
|
|
430
430
|
)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript-common",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "49.0.0",
|
|
4
4
|
"description": "Helper functions and features for IsaacScript mods.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -25,6 +25,6 @@
|
|
|
25
25
|
"main": "dist/src/index",
|
|
26
26
|
"types": "dist/index.rollup.d.ts",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"isaac-typescript-definitions": "^
|
|
28
|
+
"isaac-typescript-definitions": "^20.0.1"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/src/functions/doors.ts
CHANGED
|
@@ -521,7 +521,7 @@ export function isSecretRoomDoor(door: GridEntityDoor): boolean {
|
|
|
521
521
|
* contains the portal to The Void. (In vanilla, the door will only appear in the Hush Boss Room.)
|
|
522
522
|
*/
|
|
523
523
|
export function isVoidDoor(door: GridEntityDoor): boolean {
|
|
524
|
-
return door.TargetRoomIndex === asNumber(GridRoom.
|
|
524
|
+
return door.TargetRoomIndex === asNumber(GridRoom.VOID);
|
|
525
525
|
}
|
|
526
526
|
|
|
527
527
|
/**
|