isaacscript 2.11.0 → 2.12.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.
@@ -6,5 +6,6 @@
6
6
  "dbaeumer.vscode-eslint", // The TypeScript linter
7
7
  "streetsidesoftware.code-spell-checker", // A spell-checker extension based on cspell
8
8
  "typescript-to-lua.vscode-typescript-to-lua", // The TypeScriptToLua extension
9
+ "redhat.vscode-xml", // The XML language server
9
10
  ],
10
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript",
3
- "version": "2.11.0",
3
+ "version": "2.12.0",
4
4
  "description": "A command line tool for managing Isaac mods written in TypeScript.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -4,18 +4,40 @@
4
4
  "definitions": {
5
5
  "CustomStageBossPoolEntry": {
6
6
  "additionalProperties": false,
7
- "description": "An object that represents a possible boss for a custom stage.",
7
+ "description": "An object that represents a possible boss for a custom stage. This can be for a vanilla boss or a custom boss.",
8
8
  "properties": {
9
9
  "name": {
10
- "description": "The name of the boss. This must correspond to the entry in \"entities2.xml\".\n\nNote that since there is no way to determine the corresponding `EntityType` of the boss during compile-time, you must specify the `EntityType` at run-time when your mod first loads using the `registerCustomBoss` helper function.",
10
+ "description": "The name of the boss. This should correspond to the entry for the boss in the \"entities2.xml\" file.",
11
11
  "type": "string"
12
12
  },
13
+ "subType": {
14
+ "description": "The arbitrary sub-type chosen for this boss, ranging between 1 and 999. You must set the boss rooms for this boss to this sub-type in Basement Renovator by right-clicking on the room on the right-hand-side.\n\nIt does not matter if the arbitrary sub-type overlaps with any of the vanilla `BossID` values (e.g. vanilla Boss Room sub-types in \"00.special_rooms.stb\"). It also does not matter if this value overlaps with the values from other mods.\n\nIf you are creating an entry for a vanilla boss, it is recommended that you match the sub-type with the corresponding vanilla `BossID` value. This will make things a bit easier to understand for people working on your mod, but is not a hard requirement.",
15
+ "maximum": 999,
16
+ "minimum": 1,
17
+ "type": "number"
18
+ },
19
+ "versusScreen": {
20
+ "additionalProperties": false,
21
+ "description": "Optional. A collection of sprites used for the boss on the \"versus\" screen.",
22
+ "properties": {
23
+ "namePNGPath": {
24
+ "description": "Mandatory. The full path to the spritesheet that contains the graphics of the name of the boss that will be displayed on the top of the boss \"versus\" screen.\n\nIf not specified, a sprite showing \"???\" will be used.",
25
+ "type": "string"
26
+ },
27
+ "portraitPNGPath": {
28
+ "description": "Mandatory. The full path to the spritesheet that contains the portrait of the boss that will be displayed on the right side of the boss \"versus\" screen.\n\nIf not specified, a sprite showing \"???\" will be used.",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "required": ["namePNGPath", "portraitPNGPath"],
33
+ "type": "object"
34
+ },
13
35
  "weight": {
14
36
  "description": "The weight of the boss. This is used when randomly selecting which boss to use for the floor. For example, use a value of 1 if you want this boss to be equally likely as any other boss, 0.5 if you want it to be half as likely, 2 if you want it to be twice as likely, and so on.",
15
37
  "type": "number"
16
38
  }
17
39
  },
18
- "required": ["name", "weight"],
40
+ "required": ["name", "subType", "weight"],
19
41
  "type": "object"
20
42
  },
21
43
  "CustomStageShadow": {
@@ -60,7 +82,6 @@
60
82
  },
61
83
  "CustomStageTSConfig": {
62
84
  "additionalProperties": false,
63
- "description": "This is the format of a custom stage in the \"isaacscript\" section of the \"tsconfig.json\" file.\n\nThe contents of this interface are used to create a \"tsconfig-isaacscript-section-schema.json\" schema with the \"ts-json-schema-generator\" library.\n\nThe contents of this interface are validated at run-time against the schema using the Ajv library.\n\nThe `CustomStageLua` interface extends this, adding room metadata.",
64
85
  "properties": {
65
86
  "backdropPNGPaths": {
66
87
  "additionalProperties": false,
@@ -99,7 +120,7 @@
99
120
  "type": "object"
100
121
  },
101
122
  "baseStage": {
102
- "description": "Optional. An integer between 2 and 13, corresponding to the `LevelStage` enum. This is the number of the stage that will be warped to and used as a basis for the stage by the level generation algorithm.\n\n(It is not possible to use Basement 1 as a base stage due to conflicts with the `Game.SetStage` method.)\n\nIf not specified, `LevelStage.BASEMENT_2` (2) will be used.",
123
+ "description": "Optional. An integer between 2 and 13, corresponding to the `LevelStage` enum. This is the number of the stage that will be warped to and used as a basis for the stage by the level generation algorithm.\n\nFor example, if you wanted to have a custom stage with a small amount of rooms per floor, then you should choose 2 as a base. (This would copy the number of rooms that would appear in Basement 2.) And if you wanted to have a custom stage with the maximum amount of rooms, then you should choose 13 as a base. (This would copy the number of rooms that would appear on The Void.)\n\nIt is not possible to use Basement 1 as a base stage due to conflicts with the `Game.SetStage` method.\n\nIf not specified, `LevelStage.BASEMENT_2` (2) will be used.",
103
124
  "maximum": 13,
104
125
  "minimum": 2,
105
126
  "type": "number"
@@ -111,7 +132,7 @@
111
132
  "type": "number"
112
133
  },
113
134
  "bossPool": {
114
- "description": "Optional. An array containing the bosses that should be used for the stage.",
135
+ "description": "Optional. An array containing the bosses that should be used for the stage. This can include both vanilla bosses and modded bosses.",
115
136
  "items": {
116
137
  "$ref": "#/definitions/CustomStageBossPoolEntry"
117
138
  },
@@ -231,7 +252,7 @@
231
252
  },
232
253
  "versusScreen": {
233
254
  "additionalProperties": false,
234
- "description": "Optional. A collection of colors used in the boss \"versus\" screen.",
255
+ "description": "Optional. A collection of colors used for in the boss \"versus\" screen for all of the bosses.\n\nNote that these graphics will only be applied if one or more bosses are specified in the `bossPool` field.",
235
256
  "properties": {
236
257
  "backgroundColor": {
237
258
  "additionalProperties": false,
@@ -297,7 +318,7 @@
297
318
  "type": "string"
298
319
  }
299
320
  },
300
- "required": ["name", "xmlPath", "roomVariantPrefix"],
321
+ "required": ["name", "xmlPath", "roomVariantPrefix", "backdropPNGPaths"],
301
322
  "type": "object"
302
323
  },
303
324
  "IsaacScriptTSConfig": {
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Immutable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Immutable.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/types/Immutable.ts"],"names":[],"mappings":""}