isaacscript-common 7.5.0 → 7.6.1

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 (86) hide show
  1. package/dist/classes/DefaultMap.d.ts +3 -2
  2. package/dist/classes/DefaultMap.d.ts.map +1 -1
  3. package/dist/classes/DefaultMap.lua +2 -1
  4. package/dist/features/customGridEntity.d.ts +6 -3
  5. package/dist/features/customGridEntity.d.ts.map +1 -1
  6. package/dist/features/customGridEntity.lua +20 -11
  7. package/dist/features/customStage/customStageConstants.d.ts +1 -0
  8. package/dist/features/customStage/customStageConstants.d.ts.map +1 -1
  9. package/dist/features/customStage/customStageConstants.lua +1 -0
  10. package/dist/features/customStage/customStageGridEntities.d.ts.map +1 -1
  11. package/dist/features/customStage/customStageGridEntities.lua +9 -5
  12. package/dist/features/customStage/customStageUtils.d.ts +2 -1
  13. package/dist/features/customStage/customStageUtils.d.ts.map +1 -1
  14. package/dist/features/customStage/customStageUtils.lua +40 -1
  15. package/dist/features/customStage/exports.d.ts +1 -25
  16. package/dist/features/customStage/exports.d.ts.map +1 -1
  17. package/dist/features/customStage/exports.lua +28 -29
  18. package/dist/features/customStage/init.d.ts.map +1 -1
  19. package/dist/features/customStage/init.lua +3 -1
  20. package/dist/features/customStage/v.d.ts +0 -2
  21. package/dist/features/customStage/v.d.ts.map +1 -1
  22. package/dist/features/customStage/v.lua +0 -2
  23. package/dist/features/customStage/versusScreen.d.ts.map +1 -1
  24. package/dist/features/customStage/versusScreen.lua +80 -60
  25. package/dist/features/customTrapdoor/exports.d.ts +28 -16
  26. package/dist/features/customTrapdoor/exports.d.ts.map +1 -1
  27. package/dist/features/customTrapdoor/exports.lua +45 -61
  28. package/dist/features/customTrapdoor/init.d.ts.map +1 -1
  29. package/dist/features/customTrapdoor/init.lua +12 -10
  30. package/dist/features/customTrapdoor/spawn.d.ts +6 -0
  31. package/dist/features/customTrapdoor/spawn.d.ts.map +1 -0
  32. package/dist/features/customTrapdoor/spawn.lua +51 -0
  33. package/dist/features/customTrapdoor/v.d.ts +2 -2
  34. package/dist/features/customTrapdoor/v.d.ts.map +1 -1
  35. package/dist/functions/doors.d.ts +6 -5
  36. package/dist/functions/doors.d.ts.map +1 -1
  37. package/dist/functions/doors.lua +25 -12
  38. package/dist/functions/enums.d.ts +3 -3
  39. package/dist/functions/enums.lua +3 -3
  40. package/dist/functions/players.d.ts.map +1 -1
  41. package/dist/functions/players.lua +3 -2
  42. package/dist/index.d.ts +172 -11145
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.lua +4 -4
  45. package/dist/interfaces/{CustomStageLua.d.ts → CustomStageTSConfig.d.ts} +87 -61
  46. package/dist/interfaces/CustomStageTSConfig.d.ts.map +1 -0
  47. package/dist/interfaces/{CustomStageLua.lua → CustomStageTSConfig.lua} +0 -0
  48. package/dist/interfaces/GridEntityCustomData.d.ts +2 -2
  49. package/dist/interfaces/GridEntityCustomData.d.ts.map +1 -1
  50. package/dist/interfaces/JSONRoomsFile.d.ts +6 -5
  51. package/dist/interfaces/JSONRoomsFile.d.ts.map +1 -1
  52. package/dist/interfaces/private/CustomStage.d.ts +1 -1
  53. package/dist/interfaces/private/CustomStage.d.ts.map +1 -1
  54. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts +2 -2
  55. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts.map +1 -1
  56. package/dist/interfaces/private/CustomTrapdoorDestination.d.ts +14 -0
  57. package/dist/interfaces/private/CustomTrapdoorDestination.d.ts.map +1 -0
  58. package/dist/{types/TrapdoorDestination.lua → interfaces/private/CustomTrapdoorDestination.lua} +0 -0
  59. package/package.json +1 -1
  60. package/src/classes/DefaultMap.ts +3 -2
  61. package/src/features/customGridEntity.ts +30 -20
  62. package/src/features/customStage/customStageConstants.ts +2 -0
  63. package/src/features/customStage/customStageGridEntities.ts +20 -16
  64. package/src/features/customStage/customStageUtils.ts +52 -1
  65. package/src/features/customStage/exports.ts +33 -45
  66. package/src/features/customStage/init.ts +3 -2
  67. package/src/features/customStage/v.ts +0 -6
  68. package/src/features/customStage/versusScreen.ts +78 -57
  69. package/src/features/customTrapdoor/exports.ts +60 -66
  70. package/src/features/customTrapdoor/init.ts +12 -11
  71. package/src/features/customTrapdoor/spawn.ts +53 -0
  72. package/src/features/customTrapdoor/v.ts +2 -2
  73. package/src/functions/doors.ts +37 -21
  74. package/src/functions/enums.ts +3 -3
  75. package/src/functions/players.ts +7 -3
  76. package/src/index.ts +3 -4
  77. package/src/interfaces/{CustomStageLua.ts → CustomStageTSConfig.ts} +108 -42
  78. package/src/interfaces/GridEntityCustomData.ts +2 -2
  79. package/src/interfaces/JSONRoomsFile.ts +6 -5
  80. package/src/interfaces/private/CustomStage.ts +4 -1
  81. package/src/interfaces/private/CustomTrapdoorDescription.ts +2 -2
  82. package/src/interfaces/private/CustomTrapdoorDestination.ts +14 -0
  83. package/dist/interfaces/CustomStageLua.d.ts.map +0 -1
  84. package/dist/types/TrapdoorDestination.d.ts +0 -6
  85. package/dist/types/TrapdoorDestination.d.ts.map +0 -1
  86. package/src/types/TrapdoorDestination.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.lua CHANGED
@@ -151,10 +151,10 @@ do
151
151
  end
152
152
  do
153
153
  local ____customGridEntity = require("features.customGridEntity")
154
- local removeCustomGrid = ____customGridEntity.removeCustomGridEntity
155
- local spawnCustomGrid = ____customGridEntity.spawnCustomGridEntity
156
- ____exports.removeCustomGrid = removeCustomGrid
157
- ____exports.spawnCustomGrid = spawnCustomGrid
154
+ local removeCustomGridEntity = ____customGridEntity.removeCustomGridEntity
155
+ local spawnCustomGridEntity = ____customGridEntity.spawnCustomGridEntity
156
+ ____exports.removeCustomGridEntity = removeCustomGridEntity
157
+ ____exports.spawnCustomGridEntity = spawnCustomGridEntity
158
158
  end
159
159
  do
160
160
  local ____export = require("features.customStage.exports")
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * The `CustomStageLua` interface extends this, adding room metadata.
11
11
  */
12
- export declare type CustomStageTSConfig = Readonly<{
12
+ export interface CustomStageTSConfig {
13
13
  /** Mandatory. The name of the custom stage. */
14
14
  name: string;
15
15
  /**
@@ -26,7 +26,7 @@ export declare type CustomStageTSConfig = Readonly<{
26
26
  * https://isaacscript.github.io/main/custom-stages
27
27
  *
28
28
  * @minimum 101
29
- * @maximum 109
29
+ * @maximum 999
30
30
  */
31
31
  roomVariantPrefix: number;
32
32
  /**
@@ -34,8 +34,14 @@ export declare type CustomStageTSConfig = Readonly<{
34
34
  * number of the stage that will be warped to and used as a basis for the stage by the level
35
35
  * generation algorithm.
36
36
  *
37
- * (It is not possible to use Basement 1 as a base stage due to conflicts with the `Game.SetStage`
38
- * method.)
37
+ * For example, if you wanted to have a custom stage with a small amount of rooms per floor, then
38
+ * you should choose 2 as a base. (This would copy the number of rooms that would appear in
39
+ * Basement 2.) And if you wanted to have a custom stage with the maximum amount of rooms, then
40
+ * you should choose 13 as a base. (This would copy the number of rooms that would appear on The
41
+ * Void.)
42
+ *
43
+ * It is not possible to use Basement 1 as a base stage due to conflicts with the `Game.SetStage`
44
+ * method.
39
45
  *
40
46
  * If not specified, `LevelStage.BASEMENT_2` (2) will be used.
41
47
  *
@@ -59,7 +65,7 @@ export declare type CustomStageTSConfig = Readonly<{
59
65
  * the graphics for the walls and floor.) If not specified, the graphics for Basement will be
60
66
  * used.
61
67
  */
62
- backdropPNGPaths?: Readonly<{
68
+ backdropPNGPaths?: {
63
69
  /**
64
70
  * An array that contains the full paths to the graphic files that are used for the floor in
65
71
  * narrow rooms. (The "n" stands for "narrow").
@@ -69,7 +75,7 @@ export declare type CustomStageTSConfig = Readonly<{
69
75
  *
70
76
  * For an example of this, see the vanilla file "resources/gfx/backdrop/01_basement_nfloor.png".
71
77
  */
72
- nFloors: readonly string[];
78
+ nFloors: string[];
73
79
  /**
74
80
  * An array that contains the full paths to the graphic files that are used for the floor in L
75
81
  * rooms.
@@ -79,7 +85,7 @@ export declare type CustomStageTSConfig = Readonly<{
79
85
  *
80
86
  * For an example of this, see the vanilla file "resources/gfx/backdrop/01_lbasementfloor.png".
81
87
  */
82
- lFloors: readonly string[];
88
+ lFloors: string[];
83
89
  /**
84
90
  * An array that contains the full paths to the graphic files that are used for the walls of the
85
91
  * floor.
@@ -91,7 +97,7 @@ export declare type CustomStageTSConfig = Readonly<{
91
97
  * the vanilla file, they concatenate all four variations together into one PNG file. However,
92
98
  * for the custom stages feature, you must separate each wall variation into a separate file.)
93
99
  */
94
- walls: readonly string[];
100
+ walls: string[];
95
101
  /**
96
102
  * An array that contains the full paths to the graphic files for the stage's corners.
97
103
  *
@@ -105,8 +111,8 @@ export declare type CustomStageTSConfig = Readonly<{
105
111
  * you must separate each corner variation into a separate file (and put it in a different file
106
112
  * from the walls).
107
113
  */
108
- corners: readonly string[];
109
- }>;
114
+ corners: string[];
115
+ };
110
116
  /**
111
117
  * Optional. The full path to the spritesheet that contains the graphics of the decorations for
112
118
  * the floor.
@@ -140,7 +146,7 @@ export declare type CustomStageTSConfig = Readonly<{
140
146
  * Optional. A collection of paths that contain graphics for the doors of the floor. If not
141
147
  * specified, the doors for Basement will be used.
142
148
  */
143
- doorPNGPaths?: Readonly<{
149
+ doorPNGPaths?: {
144
150
  /**
145
151
  * Optional. The full path to the spritesheet that contains the graphics of the normal doors for
146
152
  * the floor.
@@ -237,14 +243,14 @@ export declare type CustomStageTSConfig = Readonly<{
237
243
  * located at: `resources/gfx/grid/door_02b_chestroomdoor.png`
238
244
  */
239
245
  chestRoom?: string;
240
- }>;
246
+ };
241
247
  /**
242
248
  * Optional. An array of shadow objects that describe the graphics for the custom shadows of the
243
249
  * floor. (In this context, "shadows" are the outlines from things on the roof. For example, in
244
250
  * Basement, a shadow of a sideways V is used, among others.) If not specified, no extra shadows
245
251
  * will be drawn.
246
252
  */
247
- shadows?: Readonly<{
253
+ shadows?: {
248
254
  /**
249
255
  * Optional. An array containing the shadows that will be used in rooms of shape
250
256
  * `RoomShape.SHAPE_1x1` (1), `RoomShape.IH` (2), and `RoomShape.IV` (3).
@@ -253,7 +259,7 @@ export declare type CustomStageTSConfig = Readonly<{
253
259
  *
254
260
  * If not specified, no extra shadows will be drawn in these room shapes.
255
261
  */
256
- "1x1"?: readonly CustomStageShadow[];
262
+ "1x1"?: CustomStageShadow[];
257
263
  /**
258
264
  * Optional. An array containing the shadows that will be used in rooms of shape
259
265
  * `RoomShape.SHAPE_1x2` (4) and `RoomShape.IIV` (5).
@@ -262,7 +268,7 @@ export declare type CustomStageTSConfig = Readonly<{
262
268
  *
263
269
  * If not specified, no extra shadows will be drawn in these room shapes.
264
270
  */
265
- "1x2"?: readonly CustomStageShadow[];
271
+ "1x2"?: CustomStageShadow[];
266
272
  /**
267
273
  * Optional. An array containing the shadows that will be used in rooms of shape
268
274
  * `RoomShape.SHAPE_2x1` (6) and `RoomShape.IIH` (7).
@@ -271,7 +277,7 @@ export declare type CustomStageTSConfig = Readonly<{
271
277
  *
272
278
  * If not specified, no extra shadows will be drawn in these room shapes.
273
279
  */
274
- "2x1"?: readonly CustomStageShadow[];
280
+ "2x1"?: CustomStageShadow[];
275
281
  /**
276
282
  * Optional. An array containing the shadows that will be used in rooms of shape
277
283
  * `RoomShape.SHAPE_2x2` (8), `RoomShape.LTL` (9), `RoomShape.LTR` (10), `RoomShape.LBL` (11),
@@ -281,12 +287,20 @@ export declare type CustomStageTSConfig = Readonly<{
281
287
  *
282
288
  * If not specified, no extra shadows will be drawn in these room shapes.
283
289
  */
284
- "2x2"?: readonly CustomStageShadow[];
285
- }>;
286
- /** Optional. An array containing the bosses that should be used for the stage. */
287
- bossPool?: readonly CustomStageBossPoolEntry[];
288
- /** Optional. A collection of colors used in the boss "versus" screen. */
289
- versusScreen?: Readonly<{
290
+ "2x2"?: CustomStageShadow[];
291
+ };
292
+ /**
293
+ * Optional. An array containing the bosses that should be used for the stage. This can include
294
+ * both vanilla bosses and modded bosses.
295
+ */
296
+ bossPool?: CustomStageBossPoolEntry[];
297
+ /**
298
+ * Optional. A collection of colors used for in the boss "versus" screen for all of the bosses.
299
+ *
300
+ * Note that these graphics will only be applied if one or more bosses are specified in the
301
+ * `bossPool` field.
302
+ */
303
+ versusScreen?: {
290
304
  /**
291
305
  * Optional. An object representing the color to use for the background of the boss "versus"
292
306
  * screen. If not specified, the color for Basement 1 will be used.
@@ -294,7 +308,7 @@ export declare type CustomStageTSConfig = Readonly<{
294
308
  * For a list of the colors that correspond to the vanilla stages, see
295
309
  * `versusScreenBackgroundColors.ts`.
296
310
  */
297
- backgroundColor?: Readonly<{
311
+ backgroundColor?: {
298
312
  /**
299
313
  * @minimum 0
300
314
  * @maximum 1
@@ -315,7 +329,7 @@ export declare type CustomStageTSConfig = Readonly<{
315
329
  * @maximum 1
316
330
  */
317
331
  a: number;
318
- }>;
332
+ };
319
333
  /**
320
334
  * Optional. An object representing the color to use for the dirt spots in the boss "versus"
321
335
  * screen. (There are two dirt spots; one for the player and one for the boss.) If not
@@ -324,7 +338,7 @@ export declare type CustomStageTSConfig = Readonly<{
324
338
  * For a list of the colors that correspond to the vanilla stages, see
325
339
  * `versusScreenDirtSpotColors.ts`.
326
340
  */
327
- dirtSpotColor?: Readonly<{
341
+ dirtSpotColor?: {
328
342
  /**
329
343
  * @minimum 0
330
344
  * @maximum 1
@@ -345,14 +359,14 @@ export declare type CustomStageTSConfig = Readonly<{
345
359
  * @maximum 1
346
360
  */
347
361
  a: number;
348
- }>;
349
- }>;
350
- }>;
362
+ };
363
+ };
364
+ }
351
365
  /**
352
366
  * A description of a custom stage shadow. (In this context, "shadows" are the outlines from things
353
367
  * on the roof. For example, in Basement, a shadow of a sideways V is used, among others.)
354
368
  */
355
- export declare type CustomStageShadow = Readonly<{
369
+ export interface CustomStageShadow {
356
370
  /**
357
371
  * The full path to the shadow overlay PNG file.
358
372
  *
@@ -366,7 +380,7 @@ export declare type CustomStageShadow = Readonly<{
366
380
  * If not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds
367
381
  * to 75% faded black).
368
382
  */
369
- color?: Readonly<{
383
+ color?: {
370
384
  /**
371
385
  * @minimum 0
372
386
  * @maximum 1
@@ -387,45 +401,57 @@ export declare type CustomStageShadow = Readonly<{
387
401
  * @maximum 1
388
402
  */
389
403
  a: number;
390
- }>;
391
- }>;
392
- /** An object that represents a possible boss for a custom stage. */
404
+ };
405
+ }
406
+ /**
407
+ * An object that represents a possible boss for a custom stage. This can be for a vanilla boss or a
408
+ * custom boss.
409
+ */
393
410
  export interface CustomStageBossPoolEntry {
394
411
  /**
395
- * The name of the boss. This must correspond to the entry in "entities2.xml".
396
- *
397
- * Note that since there is no way to determine the corresponding `EntityType` of the boss during
398
- * compile-time, you must specify the `EntityType` at run-time when your mod first loads using the
399
- * `registerCustomBoss` helper function.
412
+ * The name of the boss. This should correspond to the entry for the boss in the "entities2.xml"
413
+ * file.
400
414
  */
401
415
  name: string;
416
+ /**
417
+ * The arbitrary sub-type chosen for this boss, ranging between 1 and 999. You must set the boss
418
+ * rooms for this boss to this sub-type in Basement Renovator by right-clicking on the room on the
419
+ * right-hand-side.
420
+ *
421
+ * It does not matter if the arbitrary sub-type overlaps with any of the vanilla `BossID` values
422
+ * (e.g. vanilla Boss Room sub-types in "00.special_rooms.stb"). It also does not matter if this
423
+ * value overlaps with the values from other mods.
424
+ *
425
+ * If you are creating an entry for a vanilla boss, it is recommended that you match the sub-type
426
+ * with the corresponding vanilla `BossID` value. This will make things a bit easier to understand
427
+ * for people working on your mod, but is not a hard requirement.
428
+ *
429
+ * @minimum 1
430
+ * @maximum 999
431
+ */
432
+ subType: number;
402
433
  /**
403
434
  * The weight of the boss. This is used when randomly selecting which boss to use for the floor.
404
435
  * For example, use a value of 1 if you want this boss to be equally likely as any other boss, 0.5
405
436
  * if you want it to be half as likely, 2 if you want it to be twice as likely, and so on.
406
437
  */
407
438
  weight: number;
439
+ /** Optional. A collection of sprites used for the boss on the "versus" screen. */
440
+ versusScreen?: {
441
+ /**
442
+ * Mandatory. The full path to the spritesheet that contains the graphics of the name of the
443
+ * boss that will be displayed on the top of the boss "versus" screen.
444
+ *
445
+ * If not specified, a sprite showing "???" will be used.
446
+ */
447
+ namePNGPath: string;
448
+ /**
449
+ * Mandatory. The full path to the spritesheet that contains the portrait of the boss that will
450
+ * be displayed on the right side of the boss "versus" screen.
451
+ *
452
+ * If not specified, a sprite showing "???" will be used.
453
+ */
454
+ portraitPNGPath: string;
455
+ };
408
456
  }
409
- /**
410
- * An object that represents a custom stage. The "metadata.lua" file contains an array of these
411
- * objects. Besides the room metadata, the data is the same as what is specified inside the
412
- * "tsconfig.json" file.
413
- *
414
- * The `CustomStage` interface extends this, adding more data.
415
- */
416
- export interface CustomStageLua extends CustomStageTSConfig {
417
- readonly roomsMetadata: readonly CustomStageRoomMetadata[];
418
- }
419
- /**
420
- * Metadata about a custom stage room. Each custom stage object contains an array with metadata for
421
- * each room.
422
- */
423
- export declare type CustomStageRoomMetadata = Readonly<{
424
- type: number;
425
- variant: number;
426
- subType: number;
427
- shape: number;
428
- doorSlotFlags: number;
429
- weight: number;
430
- }>;
431
- //# sourceMappingURL=CustomStageLua.d.ts.map
457
+ //# sourceMappingURL=CustomStageTSConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomStageTSConfig.d.ts","sourceRoot":"","sources":["../../src/interfaces/CustomStageTSConfig.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ export interface GridEntityCustomData {
13
13
  gridEntityTypeCustom: GridEntityType;
14
14
  roomListIndex: int;
15
15
  gridIndex: int;
16
- anm2Path: string;
16
+ gridCollisionClass?: GridCollisionClass;
17
+ anm2Path?: string;
17
18
  defaultAnimation?: string;
18
- gridCollisionClass: GridCollisionClass;
19
19
  }
20
20
  //# sourceMappingURL=GridEntityCustomData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridEntityCustomData.d.ts","sourceRoot":"","sources":["../../src/interfaces/GridEntityCustomData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,oBAAoB,EAAE,cAAc,CAAC;IAErC,aAAa,EAAE,GAAG,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC"}
1
+ {"version":3,"file":"GridEntityCustomData.d.ts","sourceRoot":"","sources":["../../src/interfaces/GridEntityCustomData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,oBAAoB,EAAE,cAAc,CAAC;IAErC,aAAa,EAAE,GAAG,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;IACf,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The standard library has the feature to deploy a new room on-the-fly with the `deployJSONRoom`
3
3
  * helper function. It requires a `JSONRoomsFile` as an argument, which is simply an XML file
4
- * converted to JSON. (You create XML room files using the Basement Renovator program.)
4
+ * converted to JSON. (You can create XML room files using the Basement Renovator program.)
5
5
  *
6
6
  * You can convert your XML files using the following command:
7
7
  *
@@ -16,10 +16,11 @@
16
16
  export interface JSONRoomsFile {
17
17
  rooms: JSONRooms;
18
18
  }
19
+ /** Part of `JSONRoomsFile`. */
19
20
  export interface JSONRooms {
20
21
  room: JSONRoom[];
21
22
  }
22
- /** Part of `JSONRooms`. */
23
+ /** Part of `JSONRoomsFile`. */
23
24
  export interface JSONRoom {
24
25
  $: {
25
26
  /** Needs to be converted to an `int`. */
@@ -43,7 +44,7 @@ export interface JSONRoom {
43
44
  door: JSONDoor[];
44
45
  spawn: JSONSpawn[];
45
46
  }
46
- /** Part of `JSONRooms`. */
47
+ /** Part of `JSONRoomsFile`. */
47
48
  export interface JSONDoor {
48
49
  $: {
49
50
  /** Equal to "True" or "False". Needs to be converted to an `boolean`. */
@@ -54,7 +55,7 @@ export interface JSONDoor {
54
55
  y: string;
55
56
  };
56
57
  }
57
- /** Part of `JSONRooms`. */
58
+ /** Part of `JSONRoomsFile`. */
58
59
  export interface JSONSpawn {
59
60
  $: {
60
61
  /** Needs to be converted to an `int`. */
@@ -64,7 +65,7 @@ export interface JSONSpawn {
64
65
  };
65
66
  entity: JSONEntity[];
66
67
  }
67
- /** Part of `JSONRooms`. */
68
+ /** Part of `JSONRoomsFile`. */
68
69
  export interface JSONEntity {
69
70
  $: {
70
71
  /** Needs to be converted to an `int`. */
@@ -1 +1 @@
1
- {"version":3,"file":"JSONRoomsFile.d.ts","sourceRoot":"","sources":["../../src/interfaces/JSONRoomsFile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,2BAA2B;AAC3B,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE;QACD,yCAAyC;QACzC,UAAU,EAAE,MAAM,CAAC;QAEnB,yCAAyC;QACzC,MAAM,EAAE,MAAM,CAAC;QAEf,IAAI,EAAE,MAAM,CAAC;QAEb,yCAAyC;QACzC,KAAK,EAAE,MAAM,CAAC;QAEd,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,yCAAyC;QACzC,IAAI,EAAE,MAAM,CAAC;QAEb,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,EAAE,MAAM,CAAC;QAEf,yCAAyC;QACzC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,2BAA2B;AAC3B,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE;QACD,yEAAyE;QACzE,MAAM,EAAE,MAAM,CAAC;QAEf,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;QAEV,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;AAED,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE;QACD,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;QAEV,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE;QACD,yCAAyC;QACzC,IAAI,EAAE,MAAM,CAAC;QAEb,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
1
+ {"version":3,"file":"JSONRoomsFile.d.ts","sourceRoot":"","sources":["../../src/interfaces/JSONRoomsFile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,+BAA+B;AAC/B,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,+BAA+B;AAC/B,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE;QACD,yCAAyC;QACzC,UAAU,EAAE,MAAM,CAAC;QAEnB,yCAAyC;QACzC,MAAM,EAAE,MAAM,CAAC;QAEf,IAAI,EAAE,MAAM,CAAC;QAEb,yCAAyC;QACzC,KAAK,EAAE,MAAM,CAAC;QAEd,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,yCAAyC;QACzC,IAAI,EAAE,MAAM,CAAC;QAEb,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,EAAE,MAAM,CAAC;QAEf,yCAAyC;QACzC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,+BAA+B;AAC/B,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE;QACD,yEAAyE;QACzE,MAAM,EAAE,MAAM,CAAC;QAEf,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;QAEV,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;AAED,+BAA+B;AAC/B,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE;QACD,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;QAEV,yCAAyC;QACzC,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE;QACD,yCAAyC;QACzC,IAAI,EAAE,MAAM,CAAC;QAEb,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -1,5 +1,5 @@
1
1
  import { DoorSlotFlag, RoomShape, RoomType } from "isaac-typescript-definitions";
2
- import { CustomStageLua, CustomStageRoomMetadata } from "../CustomStageLua";
2
+ import { CustomStageLua, CustomStageRoomMetadata } from "../CustomStageTSConfig";
3
3
  export interface CustomStage extends CustomStageLua {
4
4
  /** A map that makes it easier to select certain room type/shape/door combinations. */
5
5
  readonly roomTypeMap: RoomTypeMap;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomStage.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/CustomStage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,oBAAY,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC9D,aAAK,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC5D,aAAK,eAAe,GAAG,WAAW,CAAC,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"CustomStage.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/CustomStage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,cAAc,EACd,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,oBAAY,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC9D,aAAK,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC5D,aAAK,eAAe,GAAG,WAAW,CAAC,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { TrapdoorDestination } from "../../types/TrapdoorDestination";
1
+ import { CustomTrapdoorDestination } from "./CustomTrapdoorDestination";
2
2
  export interface CustomTrapdoorDescription {
3
3
  open: boolean;
4
- destination: TrapdoorDestination;
4
+ destination: CustomTrapdoorDestination;
5
5
  firstSpawn: boolean;
6
6
  }
7
7
  //# sourceMappingURL=CustomTrapdoorDescription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomTrapdoorDescription.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/CustomTrapdoorDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"CustomTrapdoorDescription.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/CustomTrapdoorDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,yBAAyB,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,14 @@
1
+ import { LevelStage, StageType } from "isaac-typescript-definitions";
2
+ /**
3
+ * - If the destination is a custom stage, then `vanillaStage` and `vanillaStageType` will be
4
+ * undefined.
5
+ * - If the destination is a vanilla stage, then `customStageName` and `customStageFloorNum` will be
6
+ * undefined.
7
+ */
8
+ export interface CustomTrapdoorDestination {
9
+ customStageName?: string;
10
+ customStageFloorNum?: int;
11
+ vanillaStage?: LevelStage;
12
+ vanillaStageType?: StageType;
13
+ }
14
+ //# sourceMappingURL=CustomTrapdoorDestination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomTrapdoorDestination.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/CustomTrapdoorDestination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "7.5.0",
3
+ "version": "7.6.1",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -1,7 +1,8 @@
1
1
  import { isFunction, isPrimitive } from "../functions/types";
2
2
 
3
3
  /**
4
- * `DefaultMap` is a data structure that makes working with default values easier.
4
+ * `DefaultMap` is a data structure that makes working with default values easier. It extends a
5
+ * `Map` and adds additional methods.
5
6
  *
6
7
  * It is a common pattern to look up a value in a `Map`, and then, if the value does not exist, set
7
8
  * a default value for the key, and then return the default value. `DefaultMap` abstracts this
@@ -89,7 +90,7 @@ export class DefaultMap<Key, Value, Args extends unknown[] = []> extends Map<
89
90
 
90
91
  /**
91
92
  * See the main `DefaultMap` documentation:
92
- * https://isaacscript.github.io/isaacscript-common/classes/classes_DefaultMap.DefaultMap
93
+ * https://isaacscript.github.io/isaacscript-common/other/classes/DefaultMap
93
94
  */
94
95
  constructor(
95
96
  defaultValueOrFactoryFunction: Value | FactoryFunction<Value, Args>,
@@ -184,13 +184,15 @@ function postNewRoomReordered() {
184
184
  continue;
185
185
  }
186
186
 
187
- const sprite = decoration.GetSprite();
188
- sprite.Load(data.anm2Path, true);
189
- const animationToPlay =
190
- data.defaultAnimation === undefined
191
- ? sprite.GetDefaultAnimation()
192
- : data.defaultAnimation;
193
- sprite.Play(animationToPlay, true);
187
+ if (data.anm2Path !== undefined) {
188
+ const sprite = decoration.GetSprite();
189
+ sprite.Load(data.anm2Path, true);
190
+ const animationToPlay =
191
+ data.defaultAnimation === undefined
192
+ ? sprite.GetDefaultAnimation()
193
+ : data.defaultAnimation;
194
+ sprite.Play(animationToPlay, true);
195
+ }
194
196
  }
195
197
  }
196
198
 
@@ -220,8 +222,11 @@ function postNewRoomReordered() {
220
222
  * @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
221
223
  * entity at. If a position is specified, the closest grid index will be
222
224
  * used.
223
- * @param gridCollisionClass The collision class that you want the custom grid entity to have.
224
- * @param anm2Path The path to the ANM2 file to use for the sprite.
225
+ * @param gridCollisionClass Optional. The collision class that you want the custom grid entity to
226
+ * have. If not specified, the grid collision class from the base grid
227
+ * entity will be used.
228
+ * @param anm2Path Optional. The path to the ANM2 file to use for the sprite. If not specified, the
229
+ * normal sprite from the base grid entity will be used.
225
230
  * @param defaultAnimation Optional. The name of the animation to play after the sprite is
226
231
  * initialized and after the player re-enters a room with this grid entity
227
232
  * in it. If not specified, the default animation in the anm2 will be used.
@@ -233,8 +238,8 @@ function postNewRoomReordered() {
233
238
  export function spawnCustomGridEntity(
234
239
  gridEntityTypeCustom: GridEntityType,
235
240
  gridIndexOrPosition: int | Vector,
236
- gridCollisionClass: GridCollisionClass,
237
- anm2Path: string,
241
+ gridCollisionClass?: GridCollisionClass,
242
+ anm2Path?: string,
238
243
  defaultAnimation?: string,
239
244
  baseGridEntityType = GridEntityType.DECORATION,
240
245
  baseGridEntityVariant = 0,
@@ -255,15 +260,20 @@ export function spawnCustomGridEntity(
255
260
  if (customGridEntity === undefined) {
256
261
  error("Failed to spawn a custom grid entity.");
257
262
  }
258
- customGridEntity.CollisionClass = gridCollisionClass;
259
-
260
- const sprite = customGridEntity.GetSprite();
261
- sprite.Load(anm2Path, true);
262
- const animationToPlay =
263
- defaultAnimation === undefined
264
- ? sprite.GetDefaultAnimation()
265
- : defaultAnimation;
266
- sprite.Play(animationToPlay, true);
263
+
264
+ if (gridCollisionClass !== undefined) {
265
+ customGridEntity.CollisionClass = gridCollisionClass;
266
+ }
267
+
268
+ if (anm2Path !== undefined) {
269
+ const sprite = customGridEntity.GetSprite();
270
+ sprite.Load(anm2Path, true);
271
+ const animationToPlay =
272
+ defaultAnimation === undefined
273
+ ? sprite.GetDefaultAnimation()
274
+ : defaultAnimation;
275
+ sprite.Play(animationToPlay, true);
276
+ }
267
277
 
268
278
  const customGridEntityData: GridEntityCustomData = {
269
279
  gridEntityTypeCustom,
@@ -1,3 +1,5 @@
1
+ export const CUSTOM_STAGE_FEATURE_NAME = "customStage";
2
+
1
3
  export const ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = "gfx/isaacscript-custom-stage";
2
4
 
3
5
  /** Corresponds to "ui_streak.anm2". */