isaacscript-common 30.4.3 → 30.4.4-dev.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.
@@ -3415,8 +3415,10 @@ declare class DisableAllSound extends Feature {
3415
3415
  *
3416
3416
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_ALL_SOUND`.
3417
3417
  *
3418
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3419
- * that multiple mod features can work in tandem.
3418
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3419
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3420
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3421
+ * work in tandem.
3420
3422
  */
3421
3423
  enableAllSound(key: string): void;
3422
3424
  /**
@@ -3426,8 +3428,10 @@ declare class DisableAllSound extends Feature {
3426
3428
  *
3427
3429
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_ALL_SOUND`.
3428
3430
  *
3429
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3430
- * that multiple mod features can work in tandem.
3431
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3432
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3433
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3434
+ * work in tandem.
3431
3435
  */
3432
3436
  disableAllSound(key: string): void;
3433
3437
  }
@@ -3443,8 +3447,10 @@ declare class DisableInputs extends Feature {
3443
3447
  *
3444
3448
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3445
3449
  *
3446
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3447
- * that multiple mod features can work in tandem.
3450
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3451
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3452
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3453
+ * work in tandem.
3448
3454
  */
3449
3455
  enableAllInputs(key: string): void;
3450
3456
  /**
@@ -3457,8 +3463,10 @@ declare class DisableInputs extends Feature {
3457
3463
  *
3458
3464
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3459
3465
  *
3460
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3461
- * that multiple mod features can work in tandem.
3466
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3467
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3468
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3469
+ * work in tandem.
3462
3470
  * @param buttonActions An array of the actions to action.
3463
3471
  */
3464
3472
  disableInputs(key: string, ...buttonActions: ButtonAction[]): void;
@@ -3470,8 +3478,10 @@ declare class DisableInputs extends Feature {
3470
3478
  *
3471
3479
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3472
3480
  *
3473
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3474
- * that multiple mod features can work in tandem.
3481
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3482
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3483
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3484
+ * work in tandem.
3475
3485
  */
3476
3486
  disableAllInputs(key: string): void;
3477
3487
  /**
@@ -3482,8 +3492,10 @@ declare class DisableInputs extends Feature {
3482
3492
  *
3483
3493
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3484
3494
  *
3485
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3486
- * that multiple mod features can work in tandem.
3495
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3496
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3497
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3498
+ * work in tandem.
3487
3499
  * @param blacklist A set of ButtonActions to disallow.
3488
3500
  */
3489
3501
  enableAllInputsExceptFor(key: string, blacklist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
@@ -3495,8 +3507,10 @@ declare class DisableInputs extends Feature {
3495
3507
  *
3496
3508
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3497
3509
  *
3498
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3499
- * that multiple mod features can work in tandem.
3510
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3511
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3512
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3513
+ * work in tandem.
3500
3514
  * @param whitelist A set of ButtonActions to allow.
3501
3515
  */
3502
3516
  disableAllInputsExceptFor(key: string, whitelist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
@@ -3509,8 +3523,10 @@ declare class DisableInputs extends Feature {
3509
3523
  *
3510
3524
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3511
3525
  *
3512
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3513
- * that multiple mod features can work in tandem.
3526
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3527
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3528
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3529
+ * work in tandem.
3514
3530
  */
3515
3531
  disableMovementInputs(key: string): void;
3516
3532
  /**
@@ -3521,8 +3537,10 @@ declare class DisableInputs extends Feature {
3521
3537
  *
3522
3538
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3523
3539
  *
3524
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3525
- * that multiple mod features can work in tandem.
3540
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
3541
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
3542
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
3543
+ * work in tandem.
3526
3544
  */
3527
3545
  disableShootingInputs(key: string): void;
3528
3546
  }
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 30.4.3
3
+ isaacscript-common 30.4.4-dev.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -44592,7 +44592,15 @@ function CustomStages.prototype.setCustomStage(self, name, firstFloor, streakTex
44592
44592
  topStreakTextStart(nil)
44593
44593
  end)
44594
44594
  end
44595
- local music = customStage.music == nil and getMusicForStage(nil, baseStage, baseStageType) or Isaac.GetMusicIdByName(customStage.music)
44595
+ local customStageMusic
44596
+ if customStage.music ~= nil then
44597
+ customStageMusic = Isaac.GetMusicIdByName(customStage.music)
44598
+ if customStageMusic == -1 then
44599
+ logError("Failed to get the music ID associated with the name of: " .. customStage.music)
44600
+ end
44601
+ end
44602
+ local music = (customStageMusic == nil or customStageMusic == -1) and getMusicForStage(nil, baseStage, baseStageType) or customStageMusic
44603
+ Isaac.DebugString("GETTING HERE - music: " .. tostring(music))
44596
44604
  self.runInNFrames:runInNRenderFrames(
44597
44605
  function()
44598
44606
  musicManager:Enable()
@@ -1 +1 @@
1
- {"version":3,"file":"CustomStages.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/CustomStages.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA2ChD,qBAAa,YAAa,SAAQ,OAAO;IAIvC,oCAAoC;IACpC,OAAO,CAAC,eAAe,CAAkC;IAEzD,+BAA+B;IAC/B,OAAO,CAAC,yBAAyB,CAA8B;IAE/D,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAe;IAqDnC,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,eAAe,CAarB;IAGF,OAAO,CAAC,UAAU,CAQhB;IAGF,OAAO,CAAC,aAAa,CAcnB;IAGF,OAAO,CAAC,eAAe,CAUrB;IAIF,OAAO,CAAC,2BAA2B,CAejC;IAGF,OAAO,CAAC,kBAAkB,CAqBxB;IAGF,OAAO,CAAC,oBAAoB,CAc1B;IAEF,gDAAgD;IAChD,OAAO,CAAC,iBAAiB;IAgGzB;;;;;;;;;;;;;;;;OAgBG;IAEI,cAAc,CACnB,IAAI,EAAE,MAAM,EACZ,UAAU,UAAO,EACjB,UAAU,UAAO,EACjB,OAAO,UAAQ,GACd,IAAI;IAuFP;;;;;OAKG;IAEI,kBAAkB,IAAI,IAAI;CAGlC"}
1
+ {"version":3,"file":"CustomStages.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/CustomStages.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA2ChD,qBAAa,YAAa,SAAQ,OAAO;IAIvC,oCAAoC;IACpC,OAAO,CAAC,eAAe,CAAkC;IAEzD,+BAA+B;IAC/B,OAAO,CAAC,yBAAyB,CAA8B;IAE/D,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAe;IAqDnC,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,eAAe,CAarB;IAGF,OAAO,CAAC,UAAU,CAQhB;IAGF,OAAO,CAAC,aAAa,CAcnB;IAGF,OAAO,CAAC,eAAe,CAUrB;IAIF,OAAO,CAAC,2BAA2B,CAejC;IAGF,OAAO,CAAC,kBAAkB,CAqBxB;IAGF,OAAO,CAAC,oBAAoB,CAc1B;IAEF,gDAAgD;IAChD,OAAO,CAAC,iBAAiB;IAgGzB;;;;;;;;;;;;;;;;OAgBG;IAEI,cAAc,CACnB,IAAI,EAAE,MAAM,EACZ,UAAU,UAAO,EACjB,UAAU,UAAO,EACjB,OAAO,UAAQ,GACd,IAAI;IAqGP;;;;;OAKG;IAEI,kBAAkB,IAAI,IAAI;CAGlC"}
@@ -341,7 +341,15 @@ function CustomStages.prototype.setCustomStage(self, name, firstFloor, streakTex
341
341
  topStreakTextStart(nil)
342
342
  end)
343
343
  end
344
- local music = customStage.music == nil and getMusicForStage(nil, baseStage, baseStageType) or Isaac.GetMusicIdByName(customStage.music)
344
+ local customStageMusic
345
+ if customStage.music ~= nil then
346
+ customStageMusic = Isaac.GetMusicIdByName(customStage.music)
347
+ if customStageMusic == -1 then
348
+ logError("Failed to get the music ID associated with the name of: " .. customStage.music)
349
+ end
350
+ end
351
+ local music = (customStageMusic == nil or customStageMusic == -1) and getMusicForStage(nil, baseStage, baseStageType) or customStageMusic
352
+ Isaac.DebugString("GETTING HERE - music: " .. tostring(music))
345
353
  self.runInNFrames:runInNRenderFrames(
346
354
  function()
347
355
  musicManager:Enable()
@@ -9,8 +9,10 @@ export declare class DisableAllSound extends Feature {
9
9
  *
10
10
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_ALL_SOUND`.
11
11
  *
12
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
13
- * that multiple mod features can work in tandem.
12
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
13
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
14
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
15
+ * work in tandem.
14
16
  */
15
17
  enableAllSound(key: string): void;
16
18
  /**
@@ -20,8 +22,10 @@ export declare class DisableAllSound extends Feature {
20
22
  *
21
23
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_ALL_SOUND`.
22
24
  *
23
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
24
- * that multiple mod features can work in tandem.
25
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
26
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
27
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
28
+ * work in tandem.
25
29
  */
26
30
  disableAllSound(key: string): void;
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DisableAllSound.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/DisableAllSound.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQhD,qBAAa,eAAgB,SAAQ,OAAO;IAI1C,OAAO,CAAC,eAAe,CAAS;IAahC,OAAO,CAAC,UAAU,CAMhB;IAEF;;;;;;;;;OASG;IAEI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAexC;;;;;;;;;OASG;IAEI,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAU1C"}
1
+ {"version":3,"file":"DisableAllSound.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/DisableAllSound.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQhD,qBAAa,eAAgB,SAAQ,OAAO;IAI1C,OAAO,CAAC,eAAe,CAAS;IAahC,OAAO,CAAC,UAAU,CAMhB;IAEF;;;;;;;;;;;OAWG;IAEI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAexC;;;;;;;;;;;OAWG;IAEI,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAU1C"}
@@ -11,8 +11,10 @@ export declare class DisableInputs extends Feature {
11
11
  *
12
12
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
13
13
  *
14
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
15
- * that multiple mod features can work in tandem.
14
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
15
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
16
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
17
+ * work in tandem.
16
18
  */
17
19
  enableAllInputs(key: string): void;
18
20
  /**
@@ -25,8 +27,10 @@ export declare class DisableInputs extends Feature {
25
27
  *
26
28
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
27
29
  *
28
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
29
- * that multiple mod features can work in tandem.
30
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
31
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
32
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
33
+ * work in tandem.
30
34
  * @param buttonActions An array of the actions to action.
31
35
  */
32
36
  disableInputs(key: string, ...buttonActions: ButtonAction[]): void;
@@ -38,8 +42,10 @@ export declare class DisableInputs extends Feature {
38
42
  *
39
43
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
40
44
  *
41
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
42
- * that multiple mod features can work in tandem.
45
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
46
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
47
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
48
+ * work in tandem.
43
49
  */
44
50
  disableAllInputs(key: string): void;
45
51
  /**
@@ -50,8 +56,10 @@ export declare class DisableInputs extends Feature {
50
56
  *
51
57
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
52
58
  *
53
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
54
- * that multiple mod features can work in tandem.
59
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
60
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
61
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
62
+ * work in tandem.
55
63
  * @param blacklist A set of ButtonActions to disallow.
56
64
  */
57
65
  enableAllInputsExceptFor(key: string, blacklist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
@@ -63,8 +71,10 @@ export declare class DisableInputs extends Feature {
63
71
  *
64
72
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
65
73
  *
66
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
67
- * that multiple mod features can work in tandem.
74
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
75
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
76
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
77
+ * work in tandem.
68
78
  * @param whitelist A set of ButtonActions to allow.
69
79
  */
70
80
  disableAllInputsExceptFor(key: string, whitelist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
@@ -77,8 +87,10 @@ export declare class DisableInputs extends Feature {
77
87
  *
78
88
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
79
89
  *
80
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
81
- * that multiple mod features can work in tandem.
90
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
91
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
92
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
93
+ * work in tandem.
82
94
  */
83
95
  disableMovementInputs(key: string): void;
84
96
  /**
@@ -89,8 +101,10 @@ export declare class DisableInputs extends Feature {
89
101
  *
90
102
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
91
103
  *
92
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
93
- * that multiple mod features can work in tandem.
104
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
105
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
106
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
107
+ * work in tandem.
94
108
  */
95
109
  disableShootingInputs(key: string): void;
96
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DisableInputs.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/DisableInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA4BhD,qBAAa,aAAc,SAAQ,OAAO;IAiCxC,OAAO,CAAC,eAAe,CAIsB;IAG7C,OAAO,CAAC,iBAAiB,CAIoB;IAG7C,OAAO,CAAC,cAAc,CAIwB;IAE9C,OAAO,CAAC,cAAc;IAwBtB;;;;;;;;OAQG;IAEI,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzC;;;;;;;;;;;;;OAaG;IAEI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzE;;;;;;;;;;OAUG;IAEI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1C;;;;;;;;;;;OAWG;IAEI,wBAAwB,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,GACvD,IAAI;IAKP;;;;;;;;;;;OAWG;IAEI,yBAAyB,CAC9B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,GACvD,IAAI;IAKP;;;;;;;;;;;OAWG;IAEI,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/C;;;;;;;;;;OAUG;IAEI,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAIhD"}
1
+ {"version":3,"file":"DisableInputs.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/DisableInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA4BhD,qBAAa,aAAc,SAAQ,OAAO;IAiCxC,OAAO,CAAC,eAAe,CAIsB;IAG7C,OAAO,CAAC,iBAAiB,CAIoB;IAG7C,OAAO,CAAC,cAAc,CAIwB;IAE9C,OAAO,CAAC,cAAc;IAwBtB;;;;;;;;;;OAUG;IAEI,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzC;;;;;;;;;;;;;;;OAeG;IAEI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzE;;;;;;;;;;;;OAYG;IAEI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1C;;;;;;;;;;;;;OAaG;IAEI,wBAAwB,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,GACvD,IAAI;IAKP;;;;;;;;;;;;;OAaG;IAEI,yBAAyB,CAC9B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,GACvD,IAAI;IAKP;;;;;;;;;;;;;OAaG;IAEI,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/C;;;;;;;;;;;;OAYG;IAEI,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAIhD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "30.4.3",
3
+ "version": "30.4.4-dev.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -4,6 +4,7 @@ import {
4
4
  LevelCurse,
5
5
  LevelStage,
6
6
  ModCallback,
7
+ Music,
7
8
  RoomShape,
8
9
  RoomType,
9
10
  StageType,
@@ -481,11 +482,25 @@ export class CustomStages extends Feature {
481
482
  }
482
483
 
483
484
  // The bugged stage will not have any music associated with it, so we must manually start to
484
- // play a track.
485
+ // play a track. First, prefer the music that is explicitly assigned to this custom floor.
486
+ let customStageMusic: Music | -1 | undefined;
487
+ if (customStage.music !== undefined) {
488
+ customStageMusic = Isaac.GetMusicIdByName(customStage.music) as
489
+ | Music
490
+ | -1;
491
+ if (customStageMusic === -1) {
492
+ logError(
493
+ `Failed to get the music ID associated with the name of: ${customStage.music}`,
494
+ );
495
+ }
496
+ }
497
+
485
498
  const music =
486
- customStage.music === undefined
499
+ customStageMusic === undefined || customStageMusic === -1
487
500
  ? getMusicForStage(baseStage, baseStageType)
488
- : Isaac.GetMusicIdByName(customStage.music);
501
+ : customStageMusic;
502
+
503
+ Isaac.DebugString(`GETTING HERE - music: ${music}`);
489
504
 
490
505
  this.runInNFrames.runInNRenderFrames(() => {
491
506
  // By default, the `MusicManager.Play` method will play the music at max volume (1.0), which
@@ -42,8 +42,10 @@ export class DisableAllSound extends Feature {
42
42
  *
43
43
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_ALL_SOUND`.
44
44
  *
45
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
46
- * that multiple mod features can work in tandem.
45
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
46
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
47
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
48
+ * work in tandem.
47
49
  */
48
50
  @Exported
49
51
  public enableAllSound(key: string): void {
@@ -68,8 +70,10 @@ export class DisableAllSound extends Feature {
68
70
  *
69
71
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_ALL_SOUND`.
70
72
  *
71
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
72
- * that multiple mod features can work in tandem.
73
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
74
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
75
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
76
+ * work in tandem.
73
77
  */
74
78
  @Exported
75
79
  public disableAllSound(key: string): void {
@@ -117,8 +117,10 @@ export class DisableInputs extends Feature {
117
117
  *
118
118
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
119
119
  *
120
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
121
- * that multiple mod features can work in tandem.
120
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
121
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
122
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
123
+ * work in tandem.
122
124
  */
123
125
  @Exported
124
126
  public enableAllInputs(key: string): void {
@@ -136,8 +138,10 @@ export class DisableInputs extends Feature {
136
138
  *
137
139
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
138
140
  *
139
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
140
- * that multiple mod features can work in tandem.
141
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
142
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
143
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
144
+ * work in tandem.
141
145
  * @param buttonActions An array of the actions to action.
142
146
  */
143
147
  @Exported
@@ -154,8 +158,10 @@ export class DisableInputs extends Feature {
154
158
  *
155
159
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
156
160
  *
157
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
158
- * that multiple mod features can work in tandem.
161
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
162
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
163
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
164
+ * work in tandem.
159
165
  */
160
166
  @Exported
161
167
  public disableAllInputs(key: string): void {
@@ -171,8 +177,10 @@ export class DisableInputs extends Feature {
171
177
  *
172
178
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
173
179
  *
174
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
175
- * that multiple mod features can work in tandem.
180
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
181
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
182
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
183
+ * work in tandem.
176
184
  * @param blacklist A set of ButtonActions to disallow.
177
185
  */
178
186
  @Exported
@@ -192,8 +200,10 @@ export class DisableInputs extends Feature {
192
200
  *
193
201
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
194
202
  *
195
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
196
- * that multiple mod features can work in tandem.
203
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
204
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
205
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
206
+ * work in tandem.
197
207
  * @param whitelist A set of ButtonActions to allow.
198
208
  */
199
209
  @Exported
@@ -214,8 +224,10 @@ export class DisableInputs extends Feature {
214
224
  *
215
225
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
216
226
  *
217
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
218
- * that multiple mod features can work in tandem.
227
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
228
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
229
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
230
+ * work in tandem.
219
231
  */
220
232
  @Exported
221
233
  public disableMovementInputs(key: string): void {
@@ -231,8 +243,10 @@ export class DisableInputs extends Feature {
231
243
  *
232
244
  * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
233
245
  *
234
- * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
235
- * that multiple mod features can work in tandem.
246
+ * @param key The name of the mod feature that is requesting the enable/disable. For example, if
247
+ * this was part of the code for a custom enemy called "Super Gaper", then you could
248
+ * use a key of "SuperGaper". The name is necessary so that multiple mod features can
249
+ * work in tandem.
236
250
  */
237
251
  @Exported
238
252
  public disableShootingInputs(key: string): void {