isaacscript-common 6.1.1 → 6.3.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.
Files changed (72) hide show
  1. package/callbacks/reorderedCallbacks.d.ts +9 -0
  2. package/callbacks/reorderedCallbacks.lua +9 -0
  3. package/classes/DefaultMap.lua +2 -2
  4. package/constants.d.ts +9 -0
  5. package/constants.lua +7 -0
  6. package/enums/CornerType.d.ts +6 -0
  7. package/enums/CornerType.lua +11 -0
  8. package/features/customStage/backdrop.d.ts +2 -0
  9. package/features/customStage/backdrop.lua +200 -0
  10. package/features/customStage/boss.d.ts +2 -0
  11. package/features/customStage/boss.lua +74 -0
  12. package/features/customStage/exports.d.ts +4 -2
  13. package/features/customStage/exports.lua +109 -3
  14. package/features/customStage/init.d.ts +2 -1
  15. package/features/customStage/init.lua +63 -4
  16. package/features/customStage/stageAPIBoss.d.ts +29 -0
  17. package/features/customStage/stageAPIBoss.lua +9 -0
  18. package/features/customStage/util.d.ts +11 -0
  19. package/features/customStage/util.lua +51 -0
  20. package/features/customStage/v.d.ts +11 -0
  21. package/features/customStage/v.lua +5 -0
  22. package/features/debugDisplay/debugDisplay.lua +2 -0
  23. package/features/debugDisplay/exports.d.ts +108 -0
  24. package/features/debugDisplay/exports.lua +145 -0
  25. package/features/debugDisplay/v.d.ts +2 -0
  26. package/features/debugDisplay/v.lua +9 -0
  27. package/features/extraConsoleCommands/init.lua +8 -1
  28. package/features/extraConsoleCommands/listCommands.d.ts +12 -4
  29. package/features/extraConsoleCommands/listCommands.lua +30 -15
  30. package/features/extraConsoleCommands/v.d.ts +1 -0
  31. package/features/extraConsoleCommands/v.lua +2 -1
  32. package/features/pause.d.ts +11 -0
  33. package/features/pause.lua +71 -0
  34. package/features/runNextRoom.d.ts +8 -0
  35. package/features/runNextRoom.lua +40 -0
  36. package/functions/chargeBar.lua +4 -6
  37. package/functions/direction.d.ts +1 -1
  38. package/functions/doors.d.ts +6 -2
  39. package/functions/doors.lua +14 -0
  40. package/functions/familiars.d.ts +2 -0
  41. package/functions/familiars.lua +16 -0
  42. package/functions/jsonRoom.d.ts +25 -3
  43. package/functions/jsonRoom.lua +64 -2
  44. package/functions/playerCenter.d.ts +10 -0
  45. package/functions/playerCenter.lua +64 -0
  46. package/functions/playerIndex.d.ts +3 -0
  47. package/functions/playerIndex.lua +3 -0
  48. package/functions/roomShape.d.ts +10 -4
  49. package/functions/roomShape.lua +15 -2
  50. package/functions/rooms.d.ts +1 -1
  51. package/functions/rooms.lua +2 -2
  52. package/functions/sprite.d.ts +1 -1
  53. package/functions/sprite.lua +1 -1
  54. package/functions/stage.d.ts +3 -3
  55. package/functions/stage.lua +5 -4
  56. package/functions/trinkets.lua +1 -1
  57. package/index.d.ts +2 -1
  58. package/index.lua +10 -0
  59. package/initFeatures.lua +7 -1
  60. package/interfaces/Corner.d.ts +6 -0
  61. package/interfaces/Corner.lua +2 -0
  62. package/interfaces/CustomStage.d.ts +9 -50
  63. package/interfaces/CustomStageLua.d.ts +122 -0
  64. package/interfaces/CustomStageLua.lua +2 -0
  65. package/objects/roomShapeCorners.d.ts +6 -0
  66. package/objects/roomShapeCorners.lua +259 -0
  67. package/objects/roomShapeToBottomRightPosition.d.ts +1 -1
  68. package/objects/roomShapeToTopLeftPosition.d.ts +1 -1
  69. package/objects/roomTypeGotoPrefixes.lua +29 -29
  70. package/package.json +1 -1
  71. package/sets/narrowRoomShapesSet.d.ts +2 -0
  72. package/sets/narrowRoomShapesSet.lua +8 -0
package/initFeatures.lua CHANGED
@@ -21,6 +21,8 @@ local ____fastReset = require("features.fastReset")
21
21
  local fastResetInit = ____fastReset.fastResetInit
22
22
  local ____forgottenSwitch = require("features.forgottenSwitch")
23
23
  local forgottenSwitchInit = ____forgottenSwitch.forgottenSwitchInit
24
+ local ____pause = require("features.pause")
25
+ local pauseInit = ____pause.pauseInit
24
26
  local ____persistentEntities = require("features.persistentEntities")
25
27
  local persistentEntitiesInit = ____persistentEntities.persistentEntitiesInit
26
28
  local ____playerInventory = require("features.playerInventory")
@@ -35,6 +37,8 @@ local ____roomClearFrame = require("features.roomClearFrame")
35
37
  local roomClearFrameInit = ____roomClearFrame.roomClearFrameInit
36
38
  local ____runInNFrames = require("features.runInNFrames")
37
39
  local runInNFramesInit = ____runInNFrames.runInNFramesInit
40
+ local ____runNextRoom = require("features.runNextRoom")
41
+ local runNextRoomInit = ____runNextRoom.runNextRoomInit
38
42
  local ____sirenHelpers = require("features.sirenHelpers")
39
43
  local sirenHelpersInit = ____sirenHelpers.sirenHelpersInit
40
44
  local ____stageHistory = require("features.stageHistory")
@@ -42,7 +46,7 @@ local stageHistoryInit = ____stageHistory.stageHistoryInit
42
46
  local ____taintedLazarusPlayers = require("features.taintedLazarusPlayers")
43
47
  local taintedLazarusPlayersInit = ____taintedLazarusPlayers.taintedLazarusPlayersInit
44
48
  function ____exports.initFeaturesMajor(self, mod)
45
- customStageInit(nil)
49
+ customStageInit(nil, mod)
46
50
  deployJSONRoomInit(nil, mod)
47
51
  runInNFramesInit(nil, mod)
48
52
  characterStatsInit(nil, mod)
@@ -56,12 +60,14 @@ function ____exports.initFeaturesMinor(self, mod)
56
60
  fastResetInit(nil, mod)
57
61
  forgottenSwitchInit(nil, mod)
58
62
  collectibleItemPoolTypeInit(nil, mod)
63
+ pauseInit(nil, mod)
59
64
  persistentEntitiesInit(nil, mod)
60
65
  playerInventoryInit(nil, mod)
61
66
  ponyDetectionInit(nil, mod)
62
67
  preventCollectibleRotationInit(nil, mod)
63
68
  registerHotkeyInit(nil, mod)
64
69
  roomClearFrameInit(nil, mod)
70
+ runNextRoomInit(nil, mod)
65
71
  sirenHelpersInit(nil, mod)
66
72
  stageHistoryInit(nil, mod)
67
73
  taintedLazarusPlayersInit(nil, mod)
@@ -0,0 +1,6 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ import { CornerType } from "../enums/CornerType";
3
+ export interface Corner {
4
+ readonly type: CornerType;
5
+ readonly position: Readonly<Vector>;
6
+ }
@@ -0,0 +1,2 @@
1
+ local ____exports = {}
2
+ return ____exports
@@ -1,51 +1,10 @@
1
- /**
2
- * This is the format of a custom stage in the "isaacscript" section of the "tsconfig.json" file.
3
- *
4
- * The contents of this interface are used to create a "tsconfig-isaacscript-section-schema.json"
5
- * schema with the "ts-json-schema-generator" library.
6
- *
7
- * The contents of this interface are validated at run-time against the schema using the Ajv
8
- * library.
9
- *
10
- * The `CustomStage` interface extends this, adding room metadata.
11
- */
12
- export interface CustomStageTSConfig {
13
- /** The name of the custom stage. */
14
- name: string;
15
- /**
16
- * Path to the XML file that contains the rooms for the custom stage (created with Basement
17
- * Renovator).
18
- */
19
- xmlPath: string;
20
- /** An arbitrarily chosen prefix in the range of 101-999. */
21
- roomVariantPrefix: number;
22
- /**
23
- * An integer between 1 and 13, corresponding to the `LevelStage` enum. This is the number of the
24
- * stage that will be warped to and used as a basis for the stage by the level generation
25
- * algorithm.
26
- */
27
- baseStage: number;
28
- /**
29
- * An integer between 0 and 5, corresponding to the `StageType` enum. This is the number of the
30
- * stage type that will be warped to and used as a basis for the stage by the level generation
31
- * algorithm.
32
- */
33
- baseStageType: number;
34
- }
35
- /**
36
- * An object that represents a custom stage. The "metadata.lua" file contains an array of these
37
- * objects. Besides the room metadata, the data is the same as what is specified inside the
38
- * "tsconfig.json" file.
39
- */
40
- export interface CustomStage extends CustomStageTSConfig {
41
- roomsMetadata: CustomStageRoomMetadata[];
42
- }
43
- /**
44
- * Metadata about a custom stage room. Each custom stage object contains an array with metadata for
45
- * each room.
46
- */
47
- export interface CustomStageRoomMetadata {
48
- variant: number;
49
- shape: number;
50
- weight: number;
1
+ import { DoorSlotFlag, RoomShape, RoomType } from "isaac-typescript-definitions";
2
+ import { CustomStageLua, CustomStageRoomMetadata } from "./CustomStageLua";
3
+ export interface CustomStage extends CustomStageLua {
4
+ /** A map that makes it easier to select certain room type/shape/door combinations. */
5
+ readonly roomTypeMap: RoomTypeMap;
51
6
  }
7
+ export declare type RoomTypeMap = ReadonlyMap<RoomType, RoomShapeMap>;
8
+ declare type RoomShapeMap = ReadonlyMap<RoomShape, RoomDoorSlotMap>;
9
+ declare type RoomDoorSlotMap = ReadonlyMap<DoorSlotFlag, CustomStageRoomMetadata[]>;
10
+ export {};
@@ -0,0 +1,122 @@
1
+ /**
2
+ * This is the format of a custom stage in the "isaacscript" section of the "tsconfig.json" file.
3
+ *
4
+ * The contents of this interface are used to create a "tsconfig-isaacscript-section-schema.json"
5
+ * schema with the "ts-json-schema-generator" library.
6
+ *
7
+ * The contents of this interface are validated at run-time against the schema using the Ajv
8
+ * library.
9
+ *
10
+ * The `CustomStageLua` interface extends this, adding room metadata.
11
+ */
12
+ export interface CustomStageTSConfig {
13
+ /** The name of the custom stage. Mandatory. */
14
+ readonly name: string;
15
+ /**
16
+ * Path to the XML file that contains the rooms for the custom stage (created with Basement
17
+ * Renovator). Mandatory.
18
+ */
19
+ readonly xmlPath: string;
20
+ /** An arbitrarily chosen prefix in the range of 101-999. Mandatory. */
21
+ readonly roomVariantPrefix: number;
22
+ /**
23
+ * An integer between 2 and 13, corresponding to the `LevelStage` enum. This is the number of the
24
+ * stage that will be warped to and used as a basis for the stage by the level generation
25
+ * algorithm. Mandatory.
26
+ *
27
+ * (It is not possible to use Basement 1 as a base due to conflicts with the `Game.SetStage`
28
+ * method.)
29
+ */
30
+ readonly baseStage: number;
31
+ /**
32
+ * An integer between 0 and 5, corresponding to the `StageType` enum. This is the number of the
33
+ * stage type that will be warped to and used as a basis for the stage by the level generation
34
+ * algorithm. Mandatory.
35
+ */
36
+ readonly baseStageType: number;
37
+ /**
38
+ * An object containing the paths to the backdrop for the stage. (A backdrop is the graphics for
39
+ * the walls and floor.) Mandatory.
40
+ */
41
+ readonly backdrop: CustomStageBackdrop;
42
+ }
43
+ interface CustomStageBackdrop {
44
+ /**
45
+ * The beginning of the path that leads to the backdrop graphics. For example:
46
+ *
47
+ * ```sh
48
+ * gfx/backdrop/revelations/revelations_
49
+ * ```
50
+ */
51
+ prefix: string;
52
+ /**
53
+ * The end of the path that leads to the backdrop graphics. In most cases, this will be ".png".
54
+ */
55
+ suffix: string;
56
+ /**
57
+ * An array of strings that represent the graphic files that are used for the floors in narrow
58
+ * rooms. (The "n" stands for "narrow").
59
+ *
60
+ * You must have at least one string in this array, but you can specify more than one to randomly
61
+ * add extra variety (like the vanilla stages do).
62
+ *
63
+ * For an example of this, see the vanilla file "resources/gfx/backdrop/01_basement_nfloor.png".
64
+ */
65
+ nFloors: string[];
66
+ /**
67
+ * An array of strings that represent the graphic files that are used for the floors in L rooms.
68
+ *
69
+ * You must have at least one string in this array, but you can specify more than one to randomly
70
+ * add extra variety (like the vanilla stages do).
71
+ *
72
+ * For an example of this, see the vanilla file "resources/gfx/backdrop/01_lbasementfloor.png".
73
+ */
74
+ lFloors: string[];
75
+ /**
76
+ * An array of strings that represent the graphic files for the stage's walls.
77
+ *
78
+ * You must have at least one string in this array, but you can specify more than one to randomly
79
+ * add extra variety (like the vanilla stages do).
80
+ *
81
+ * For an example of this, see the vanilla file "resources/gfx/backdrop/01_basement.png". (In the
82
+ * vanilla file, they concatenate all four variations together into one PNG file. However, for the
83
+ * custom stages feature, you must separate each wall variation into a separate file.)
84
+ */
85
+ walls: string[];
86
+ /**
87
+ * An array of strings that represent the graphic files for the stage's corners. You must have at
88
+ * least one string in this array, but you can specify more than one to randomly add extra variety
89
+ * (like the vanilla stages do).
90
+ *
91
+ * For an example of this, see the vanilla file "resources/gfx/backdrop/01_basement.png". (In the
92
+ * vanilla file, they concatenate both variations together into one PNG file and put it in the top
93
+ * right hand corner. The corners are shown in the top right hand corner of the file, with two
94
+ * different variations concatenated together. However, for the custom stages feature, you must
95
+ * separate each corner variation into a separate file (and put it in a different file from the
96
+ * walls).
97
+ */
98
+ corners: string[];
99
+ }
100
+ /**
101
+ * An object that represents a custom stage. The "metadata.lua" file contains an array of these
102
+ * objects. Besides the room metadata, the data is the same as what is specified inside the
103
+ * "tsconfig.json" file.
104
+ *
105
+ * The `CustomStage` interface extends this, adding more data.
106
+ */
107
+ export interface CustomStageLua extends CustomStageTSConfig {
108
+ readonly roomsMetadata: readonly CustomStageRoomMetadata[];
109
+ }
110
+ /**
111
+ * Metadata about a custom stage room. Each custom stage object contains an array with metadata for
112
+ * each room.
113
+ */
114
+ export interface CustomStageRoomMetadata {
115
+ readonly type: number;
116
+ readonly variant: number;
117
+ readonly subType: number;
118
+ readonly shape: number;
119
+ readonly doorSlotFlags: number;
120
+ readonly weight: number;
121
+ }
122
+ export {};
@@ -0,0 +1,2 @@
1
+ local ____exports = {}
2
+ return ____exports
@@ -0,0 +1,6 @@
1
+ import { RoomShape } from "isaac-typescript-definitions";
2
+ import { Corner } from "../interfaces/Corner";
3
+ /** The locations of the corners for each room shape. */
4
+ export declare const ROOM_SHAPE_CORNERS: {
5
+ readonly [key in RoomShape]: readonly Corner[];
6
+ };
@@ -0,0 +1,259 @@
1
+ local ____exports = {}
2
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
3
+ local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
4
+ local ____CornerType = require("enums.CornerType")
5
+ local CornerType = ____CornerType.CornerType
6
+ local TWO_BY_TWO_CENTER_X = 580
7
+ local TWO_BY_TWO_CENTER_Y = 420
8
+ --- The locations of the corners for each room shape.
9
+ ____exports.ROOM_SHAPE_CORNERS = {
10
+ [RoomShape.SHAPE_1x1] = {
11
+ {
12
+ type = CornerType.TOP_LEFT,
13
+ position = Vector(60, 140)
14
+ },
15
+ {
16
+ type = CornerType.TOP_RIGHT,
17
+ position = Vector(580, 140)
18
+ },
19
+ {
20
+ type = CornerType.BOTTOM_LEFT,
21
+ position = Vector(60, 420)
22
+ },
23
+ {
24
+ type = CornerType.BOTTOM_RIGHT,
25
+ position = Vector(580, 420)
26
+ }
27
+ },
28
+ [RoomShape.IH] = {
29
+ {
30
+ type = CornerType.TOP_LEFT,
31
+ position = Vector(60, 220)
32
+ },
33
+ {
34
+ type = CornerType.TOP_RIGHT,
35
+ position = Vector(580, 220)
36
+ },
37
+ {
38
+ type = CornerType.BOTTOM_LEFT,
39
+ position = Vector(60, 340)
40
+ },
41
+ {
42
+ type = CornerType.BOTTOM_RIGHT,
43
+ position = Vector(580, 340)
44
+ }
45
+ },
46
+ [RoomShape.IV] = {
47
+ {
48
+ type = CornerType.TOP_LEFT,
49
+ position = Vector(220, 140)
50
+ },
51
+ {
52
+ type = CornerType.TOP_RIGHT,
53
+ position = Vector(420, 140)
54
+ },
55
+ {
56
+ type = CornerType.BOTTOM_LEFT,
57
+ position = Vector(220, 420)
58
+ },
59
+ {
60
+ type = CornerType.BOTTOM_RIGHT,
61
+ position = Vector(420, 420)
62
+ }
63
+ },
64
+ [RoomShape.SHAPE_1x2] = {
65
+ {
66
+ type = CornerType.TOP_LEFT,
67
+ position = Vector(60, 140)
68
+ },
69
+ {
70
+ type = CornerType.TOP_RIGHT,
71
+ position = Vector(580, 140)
72
+ },
73
+ {
74
+ type = CornerType.BOTTOM_LEFT,
75
+ position = Vector(60, 700)
76
+ },
77
+ {
78
+ type = CornerType.BOTTOM_RIGHT,
79
+ position = Vector(580, 700)
80
+ }
81
+ },
82
+ [RoomShape.IIV] = {
83
+ {
84
+ type = CornerType.TOP_LEFT,
85
+ position = Vector(220, 140)
86
+ },
87
+ {
88
+ type = CornerType.TOP_RIGHT,
89
+ position = Vector(420, 140)
90
+ },
91
+ {
92
+ type = CornerType.BOTTOM_LEFT,
93
+ position = Vector(220, 700)
94
+ },
95
+ {
96
+ type = CornerType.BOTTOM_RIGHT,
97
+ position = Vector(420, 700)
98
+ }
99
+ },
100
+ [RoomShape.SHAPE_2x1] = {
101
+ {
102
+ type = CornerType.TOP_LEFT,
103
+ position = Vector(60, 140)
104
+ },
105
+ {
106
+ type = CornerType.TOP_RIGHT,
107
+ position = Vector(1100, 140)
108
+ },
109
+ {
110
+ type = CornerType.BOTTOM_LEFT,
111
+ position = Vector(60, 420)
112
+ },
113
+ {
114
+ type = CornerType.BOTTOM_RIGHT,
115
+ position = Vector(1100, 420)
116
+ }
117
+ },
118
+ [RoomShape.IIH] = {
119
+ {
120
+ type = CornerType.TOP_LEFT,
121
+ position = Vector(60, 220)
122
+ },
123
+ {
124
+ type = CornerType.TOP_RIGHT,
125
+ position = Vector(1100, 220)
126
+ },
127
+ {
128
+ type = CornerType.BOTTOM_LEFT,
129
+ position = Vector(60, 340)
130
+ },
131
+ {
132
+ type = CornerType.BOTTOM_RIGHT,
133
+ position = Vector(1100, 340)
134
+ }
135
+ },
136
+ [RoomShape.SHAPE_2x2] = {
137
+ {
138
+ type = CornerType.TOP_LEFT,
139
+ position = Vector(60, 140)
140
+ },
141
+ {
142
+ type = CornerType.TOP_RIGHT,
143
+ position = Vector(1100, 140)
144
+ },
145
+ {
146
+ type = CornerType.BOTTOM_LEFT,
147
+ position = Vector(60, 700)
148
+ },
149
+ {
150
+ type = CornerType.BOTTOM_RIGHT,
151
+ position = Vector(1100, 700)
152
+ }
153
+ },
154
+ [RoomShape.LTL] = {
155
+ {
156
+ type = CornerType.TOP_LEFT,
157
+ position = Vector(TWO_BY_TWO_CENTER_X, 140)
158
+ },
159
+ {
160
+ type = CornerType.TOP_RIGHT,
161
+ position = Vector(1100, 140)
162
+ },
163
+ {
164
+ type = CornerType.TOP_LEFT,
165
+ position = Vector(60, TWO_BY_TWO_CENTER_Y)
166
+ },
167
+ {
168
+ type = CornerType.BOTTOM_RIGHT,
169
+ position = Vector(TWO_BY_TWO_CENTER_X, TWO_BY_TWO_CENTER_Y)
170
+ },
171
+ {
172
+ type = CornerType.BOTTOM_LEFT,
173
+ position = Vector(60, 700)
174
+ },
175
+ {
176
+ type = CornerType.BOTTOM_RIGHT,
177
+ position = Vector(1100, 700)
178
+ }
179
+ },
180
+ [RoomShape.LTR] = {
181
+ {
182
+ type = CornerType.TOP_LEFT,
183
+ position = Vector(60, 140)
184
+ },
185
+ {
186
+ type = CornerType.TOP_RIGHT,
187
+ position = Vector(TWO_BY_TWO_CENTER_X, 140)
188
+ },
189
+ {
190
+ type = CornerType.BOTTOM_LEFT,
191
+ position = Vector(TWO_BY_TWO_CENTER_X, TWO_BY_TWO_CENTER_Y)
192
+ },
193
+ {
194
+ type = CornerType.TOP_RIGHT,
195
+ position = Vector(1100, TWO_BY_TWO_CENTER_Y)
196
+ },
197
+ {
198
+ type = CornerType.BOTTOM_LEFT,
199
+ position = Vector(60, 700)
200
+ },
201
+ {
202
+ type = CornerType.BOTTOM_RIGHT,
203
+ position = Vector(1100, 700)
204
+ }
205
+ },
206
+ [RoomShape.LBL] = {
207
+ {
208
+ type = CornerType.TOP_LEFT,
209
+ position = Vector(60, 140)
210
+ },
211
+ {
212
+ type = CornerType.TOP_RIGHT,
213
+ position = Vector(1100, 140)
214
+ },
215
+ {
216
+ type = CornerType.BOTTOM_LEFT,
217
+ position = Vector(TWO_BY_TWO_CENTER_X, 140)
218
+ },
219
+ {
220
+ type = CornerType.TOP_RIGHT,
221
+ position = Vector(TWO_BY_TWO_CENTER_X, TWO_BY_TWO_CENTER_Y)
222
+ },
223
+ {
224
+ type = CornerType.BOTTOM_LEFT,
225
+ position = Vector(TWO_BY_TWO_CENTER_X, 700)
226
+ },
227
+ {
228
+ type = CornerType.BOTTOM_RIGHT,
229
+ position = Vector(1100, 700)
230
+ }
231
+ },
232
+ [RoomShape.LBR] = {
233
+ {
234
+ type = CornerType.TOP_LEFT,
235
+ position = Vector(60, 140)
236
+ },
237
+ {
238
+ type = CornerType.TOP_RIGHT,
239
+ position = Vector(1100, 140)
240
+ },
241
+ {
242
+ type = CornerType.TOP_LEFT,
243
+ position = Vector(TWO_BY_TWO_CENTER_X, TWO_BY_TWO_CENTER_Y)
244
+ },
245
+ {
246
+ type = CornerType.BOTTOM_RIGHT,
247
+ position = Vector(1100, TWO_BY_TWO_CENTER_Y)
248
+ },
249
+ {
250
+ type = CornerType.BOTTOM_LEFT,
251
+ position = Vector(60, 700)
252
+ },
253
+ {
254
+ type = CornerType.BOTTOM_RIGHT,
255
+ position = Vector(TWO_BY_TWO_CENTER_X, 700)
256
+ }
257
+ }
258
+ }
259
+ return ____exports
@@ -4,5 +4,5 @@ import { RoomShape } from "isaac-typescript-definitions";
4
4
  * wall would be at "Vector(-1, -1)".)
5
5
  */
6
6
  export declare const ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION: {
7
- readonly [key in RoomShape]: Vector;
7
+ readonly [key in RoomShape]: Readonly<Vector>;
8
8
  };
@@ -4,5 +4,5 @@ import { RoomShape } from "isaac-typescript-definitions";
4
4
  * wall would be at "Vector(-1, -1)".)
5
5
  */
6
6
  export declare const ROOM_SHAPE_TO_TOP_LEFT_POSITION: {
7
- readonly [key in RoomShape]: Vector;
7
+ readonly [key in RoomShape]: Readonly<Vector>;
8
8
  };
@@ -2,34 +2,34 @@ local ____exports = {}
2
2
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
3
3
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
4
4
  ____exports.ROOM_TYPE_GOTO_PREFIXES = {
5
- [RoomType.DEFAULT] = "d.",
6
- [RoomType.SHOP] = "s.shop.",
7
- [RoomType.ERROR] = "s.error.",
8
- [RoomType.TREASURE] = "s.treasure.",
9
- [RoomType.BOSS] = "s.boss.",
10
- [RoomType.MINI_BOSS] = "s.miniboss.",
11
- [RoomType.SECRET] = "s.secret.",
12
- [RoomType.SUPER_SECRET] = "s.supersecret.",
13
- [RoomType.ARCADE] = "s.arcade.",
14
- [RoomType.CURSE] = "s.curse.",
15
- [RoomType.CHALLENGE] = "s.challenge.",
16
- [RoomType.LIBRARY] = "s.library.",
17
- [RoomType.SACRIFICE] = "s.sacrifice.",
18
- [RoomType.DEVIL] = "s.devil.",
19
- [RoomType.ANGEL] = "s.angel.",
20
- [RoomType.DUNGEON] = "s.itemdungeon.",
21
- [RoomType.BOSS_RUSH] = "s.bossrush.",
22
- [RoomType.CLEAN_BEDROOM] = "s.isaacs.",
23
- [RoomType.DIRTY_BEDROOM] = "s.barren.",
24
- [RoomType.CHEST] = "s.chest.",
25
- [RoomType.DICE] = "s.dice.",
26
- [RoomType.BLACK_MARKET] = "s.blackmarket.",
27
- [RoomType.GREED_EXIT] = "s.greedexit.",
28
- [RoomType.PLANETARIUM] = "s.planetarium.",
29
- [RoomType.TELEPORTER] = "s.teleporter.",
30
- [RoomType.TELEPORTER_EXIT] = "s.teleporterexit.",
31
- [RoomType.SECRET_EXIT] = "s.secretexit.",
32
- [RoomType.BLUE] = "s.blue.",
33
- [RoomType.ULTRA_SECRET] = "s.ultrasecret."
5
+ [RoomType.DEFAULT] = "s.default",
6
+ [RoomType.SHOP] = "s.shop",
7
+ [RoomType.ERROR] = "s.error",
8
+ [RoomType.TREASURE] = "s.treasure",
9
+ [RoomType.BOSS] = "s.boss",
10
+ [RoomType.MINI_BOSS] = "s.miniboss",
11
+ [RoomType.SECRET] = "s.secret",
12
+ [RoomType.SUPER_SECRET] = "s.supersecret",
13
+ [RoomType.ARCADE] = "s.arcade",
14
+ [RoomType.CURSE] = "s.curse",
15
+ [RoomType.CHALLENGE] = "s.challenge",
16
+ [RoomType.LIBRARY] = "s.library",
17
+ [RoomType.SACRIFICE] = "s.sacrifice",
18
+ [RoomType.DEVIL] = "s.devil",
19
+ [RoomType.ANGEL] = "s.angel",
20
+ [RoomType.DUNGEON] = "s.itemdungeon",
21
+ [RoomType.BOSS_RUSH] = "s.bossrush",
22
+ [RoomType.CLEAN_BEDROOM] = "s.isaacs",
23
+ [RoomType.DIRTY_BEDROOM] = "s.barren",
24
+ [RoomType.CHEST] = "s.chest",
25
+ [RoomType.DICE] = "s.dice",
26
+ [RoomType.BLACK_MARKET] = "s.blackmarket",
27
+ [RoomType.GREED_EXIT] = "s.greedexit",
28
+ [RoomType.PLANETARIUM] = "s.planetarium",
29
+ [RoomType.TELEPORTER] = "s.teleporter",
30
+ [RoomType.TELEPORTER_EXIT] = "s.teleporterexit",
31
+ [RoomType.SECRET_EXIT] = "s.secretexit",
32
+ [RoomType.BLUE] = "s.blue",
33
+ [RoomType.ULTRA_SECRET] = "s.ultrasecret"
34
34
  }
35
35
  return ____exports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "6.1.1",
3
+ "version": "6.3.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -0,0 +1,2 @@
1
+ import { RoomShape } from "isaac-typescript-definitions";
2
+ export declare const NARROW_ROOM_SHAPES_SET: ReadonlySet<RoomShape>;
@@ -0,0 +1,8 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Set = ____lualib.Set
3
+ local __TS__New = ____lualib.__TS__New
4
+ local ____exports = {}
5
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
6
+ local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
7
+ ____exports.NARROW_ROOM_SHAPES_SET = __TS__New(Set, {RoomShape.IH, RoomShape.IV, RoomShape.IIV, RoomShape.IIH})
8
+ return ____exports