isaacscript-common 58.0.0 → 59.1.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.
@@ -8755,12 +8755,13 @@ export declare enum ISCFeature {
8755
8755
  ROOM_HISTORY = 47,
8756
8756
  RUN_IN_N_FRAMES = 48,
8757
8757
  RUN_NEXT_ROOM = 49,
8758
- SAVE_DATA_MANAGER = 50,
8759
- SPAWN_ALT_ROCK_REWARDS = 51,
8760
- SPAWN_COLLECTIBLE = 52,
8761
- STAGE_HISTORY = 53,
8762
- START_AMBUSH = 54,
8763
- TAINTED_LAZARUS_PLAYERS = 55
8758
+ RUN_NEXT_RUN = 50,
8759
+ SAVE_DATA_MANAGER = 51,
8760
+ SPAWN_ALT_ROCK_REWARDS = 52,
8761
+ SPAWN_COLLECTIBLE = 53,
8762
+ STAGE_HISTORY = 54,
8763
+ START_AMBUSH = 55,
8764
+ TAINTED_LAZARUS_PLAYERS = 56
8764
8765
  }
8765
8766
 
8766
8767
  /**
@@ -8820,6 +8821,7 @@ declare interface ISCFeatureToClass {
8820
8821
  [ISCFeature.ROOM_HISTORY]: RoomHistory;
8821
8822
  [ISCFeature.RUN_IN_N_FRAMES]: RunInNFrames;
8822
8823
  [ISCFeature.RUN_NEXT_ROOM]: RunNextRoom;
8824
+ [ISCFeature.RUN_NEXT_RUN]: RunNextRun;
8823
8825
  [ISCFeature.SAVE_DATA_MANAGER]: SaveDataManager;
8824
8826
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: SpawnRockAltRewards;
8825
8827
  [ISCFeature.SPAWN_COLLECTIBLE]: SpawnCollectible;
@@ -16276,6 +16278,21 @@ declare class RunNextRoom extends Feature {
16276
16278
  runNextRoom(func: () => void): void;
16277
16279
  }
16278
16280
 
16281
+ declare class RunNextRun extends Feature {
16282
+ vConditionalFunc: () => boolean;
16283
+ private readonly postGameStartedReorderedFalse;
16284
+ /**
16285
+ * Supply a function to run on the next `POST_GAME_STARTED` callback.
16286
+ *
16287
+ * Note that this function will not handle saving and quitting. If a player saving and quitting
16288
+ * before the deferred function fires would cause a bug in your mod, then you should handle
16289
+ * deferred functions manually using serializable data.
16290
+ *
16291
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_NEXT_ROOM`.
16292
+ */
16293
+ runNextRun(func: () => void): void;
16294
+ }
16295
+
16279
16296
  /**
16280
16297
  * This is the format of the object that you give to the save data manager. It will contains all of
16281
16298
  * the variables for the particular mod feature.
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 58.0.0
3
+ isaacscript-common 59.1.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -6413,8 +6413,8 @@ ____exports.EffectVariant.CRACK_WAVE = 72
6413
6413
  ____exports.EffectVariant[____exports.EffectVariant.CRACK_WAVE] = "CRACK_WAVE"
6414
6414
  ____exports.EffectVariant.SHOCKWAVE_RANDOM = 73
6415
6415
  ____exports.EffectVariant[____exports.EffectVariant.SHOCKWAVE_RANDOM] = "SHOCKWAVE_RANDOM"
6416
- ____exports.EffectVariant.ISAACS_CARPET = 74
6417
- ____exports.EffectVariant[____exports.EffectVariant.ISAACS_CARPET] = "ISAACS_CARPET"
6416
+ ____exports.EffectVariant.CARPET = 74
6417
+ ____exports.EffectVariant[____exports.EffectVariant.CARPET] = "CARPET"
6418
6418
  ____exports.EffectVariant.BAR_PARTICLE = 75
6419
6419
  ____exports.EffectVariant[____exports.EffectVariant.BAR_PARTICLE] = "BAR_PARTICLE"
6420
6420
  ____exports.EffectVariant.DICE_FLOOR = 76
@@ -9513,6 +9513,14 @@ ____exports.HeavenLightDoorSubType.HEAVEN_DOOR = 0
9513
9513
  ____exports.HeavenLightDoorSubType[____exports.HeavenLightDoorSubType.HEAVEN_DOOR] = "HEAVEN_DOOR"
9514
9514
  ____exports.HeavenLightDoorSubType.MOONLIGHT = 1
9515
9515
  ____exports.HeavenLightDoorSubType[____exports.HeavenLightDoorSubType.MOONLIGHT] = "MOONLIGHT"
9516
+ --- For `EntityType.EFFECT` (1000), `EffectVariant.CARPET` (74).
9517
+ ____exports.CarpetSubType = {}
9518
+ ____exports.CarpetSubType.ISAACS_CARPET = 0
9519
+ ____exports.CarpetSubType[____exports.CarpetSubType.ISAACS_CARPET] = "ISAACS_CARPET"
9520
+ ____exports.CarpetSubType.MOMS_CARPET_1 = 1
9521
+ ____exports.CarpetSubType[____exports.CarpetSubType.MOMS_CARPET_1] = "MOMS_CARPET_1"
9522
+ ____exports.CarpetSubType.MOMS_CARPET_2 = 2
9523
+ ____exports.CarpetSubType[____exports.CarpetSubType.MOMS_CARPET_2] = "MOMS_CARPET_2"
9516
9524
  --- For `EntityType.EFFECT` (1000), `EffectVariant.DICE_FLOOR` (76).
9517
9525
  ____exports.DiceFloorSubType = {}
9518
9526
  ____exports.DiceFloorSubType.ONE_PIP = 0
@@ -17557,17 +17565,19 @@ ____exports.ISCFeature.RUN_IN_N_FRAMES = 48
17557
17565
  ____exports.ISCFeature[____exports.ISCFeature.RUN_IN_N_FRAMES] = "RUN_IN_N_FRAMES"
17558
17566
  ____exports.ISCFeature.RUN_NEXT_ROOM = 49
17559
17567
  ____exports.ISCFeature[____exports.ISCFeature.RUN_NEXT_ROOM] = "RUN_NEXT_ROOM"
17560
- ____exports.ISCFeature.SAVE_DATA_MANAGER = 50
17568
+ ____exports.ISCFeature.RUN_NEXT_RUN = 50
17569
+ ____exports.ISCFeature[____exports.ISCFeature.RUN_NEXT_RUN] = "RUN_NEXT_RUN"
17570
+ ____exports.ISCFeature.SAVE_DATA_MANAGER = 51
17561
17571
  ____exports.ISCFeature[____exports.ISCFeature.SAVE_DATA_MANAGER] = "SAVE_DATA_MANAGER"
17562
- ____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS = 51
17572
+ ____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS = 52
17563
17573
  ____exports.ISCFeature[____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS] = "SPAWN_ALT_ROCK_REWARDS"
17564
- ____exports.ISCFeature.SPAWN_COLLECTIBLE = 52
17574
+ ____exports.ISCFeature.SPAWN_COLLECTIBLE = 53
17565
17575
  ____exports.ISCFeature[____exports.ISCFeature.SPAWN_COLLECTIBLE] = "SPAWN_COLLECTIBLE"
17566
- ____exports.ISCFeature.STAGE_HISTORY = 53
17576
+ ____exports.ISCFeature.STAGE_HISTORY = 54
17567
17577
  ____exports.ISCFeature[____exports.ISCFeature.STAGE_HISTORY] = "STAGE_HISTORY"
17568
- ____exports.ISCFeature.START_AMBUSH = 54
17578
+ ____exports.ISCFeature.START_AMBUSH = 55
17569
17579
  ____exports.ISCFeature[____exports.ISCFeature.START_AMBUSH] = "START_AMBUSH"
17570
- ____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS = 55
17580
+ ____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS = 56
17571
17581
  ____exports.ISCFeature[____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS] = "TAINTED_LAZARUS_PLAYERS"
17572
17582
  return ____exports
17573
17583
  end,
@@ -52774,6 +52784,44 @@ function PreventChildEntities.prototype.preventChildEntities(self, entity)
52774
52784
  v.room.preventingEntities:add(ptrHash)
52775
52785
  end
52776
52786
  __TS__DecorateLegacy({Exported}, PreventChildEntities.prototype, "preventChildEntities", true)
52787
+ return ____exports
52788
+ end,
52789
+ ["src.classes.features.other.RunNextRun"] = function(...)
52790
+ local ____lualib = require("lualib_bundle")
52791
+ local __TS__Class = ____lualib.__TS__Class
52792
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
52793
+ local __TS__DecorateLegacy = ____lualib.__TS__DecorateLegacy
52794
+ local ____exports = {}
52795
+ local ____decorators = require("src.decorators")
52796
+ local Exported = ____decorators.Exported
52797
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
52798
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
52799
+ local ____array = require("src.functions.array")
52800
+ local emptyArray = ____array.emptyArray
52801
+ local ____Feature = require("src.classes.private.Feature")
52802
+ local Feature = ____Feature.Feature
52803
+ local v = {persistent = {queuedFunctions = {}}}
52804
+ ____exports.RunNextRun = __TS__Class()
52805
+ local RunNextRun = ____exports.RunNextRun
52806
+ RunNextRun.name = "RunNextRun"
52807
+ __TS__ClassExtends(RunNextRun, Feature)
52808
+ function RunNextRun.prototype.____constructor(self)
52809
+ Feature.prototype.____constructor(self)
52810
+ self.v = v
52811
+ self.vConditionalFunc = function() return false end
52812
+ self.postGameStartedReorderedFalse = function()
52813
+ for ____, func in ipairs(v.persistent.queuedFunctions) do
52814
+ func(nil)
52815
+ end
52816
+ emptyArray(nil, v.persistent.queuedFunctions)
52817
+ end
52818
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED, self.postGameStartedReorderedFalse, {false}}}
52819
+ end
52820
+ function RunNextRun.prototype.runNextRun(self, func)
52821
+ local ____v_persistent_queuedFunctions_0 = v.persistent.queuedFunctions
52822
+ ____v_persistent_queuedFunctions_0[#____v_persistent_queuedFunctions_0 + 1] = func
52823
+ end
52824
+ __TS__DecorateLegacy({Exported}, RunNextRun.prototype, "runNextRun", true)
52777
52825
  return ____exports
52778
52826
  end,
52779
52827
  ["src.functions.projectiles"] = function(...)
@@ -53523,6 +53571,8 @@ local ____RunInNFrames = require("src.classes.features.other.RunInNFrames")
53523
53571
  local RunInNFrames = ____RunInNFrames.RunInNFrames
53524
53572
  local ____RunNextRoom = require("src.classes.features.other.RunNextRoom")
53525
53573
  local RunNextRoom = ____RunNextRoom.RunNextRoom
53574
+ local ____RunNextRun = require("src.classes.features.other.RunNextRun")
53575
+ local RunNextRun = ____RunNextRun.RunNextRun
53526
53576
  local ____SaveDataManager = require("src.classes.features.other.SaveDataManager")
53527
53577
  local SaveDataManager = ____SaveDataManager.SaveDataManager
53528
53578
  local ____SpawnCollectible = require("src.classes.features.other.SpawnCollectible")
@@ -53657,6 +53707,7 @@ function ____exports.getFeatures(self, mod, callbacks)
53657
53707
  [ISCFeature.ROOM_HISTORY] = roomHistory,
53658
53708
  [ISCFeature.RUN_IN_N_FRAMES] = runInNFrames,
53659
53709
  [ISCFeature.RUN_NEXT_ROOM] = runNextRoom,
53710
+ [ISCFeature.RUN_NEXT_RUN] = __TS__New(RunNextRun),
53660
53711
  [ISCFeature.SAVE_DATA_MANAGER] = saveDataManager,
53661
53712
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS] = __TS__New(SpawnRockAltRewards, itemPoolDetection),
53662
53713
  [ISCFeature.SPAWN_COLLECTIBLE] = spawnCollectible,
@@ -0,0 +1,16 @@
1
+ import { Feature } from "../../private/Feature";
2
+ export declare class RunNextRun extends Feature {
3
+ vConditionalFunc: () => boolean;
4
+ private readonly postGameStartedReorderedFalse;
5
+ /**
6
+ * Supply a function to run on the next `POST_GAME_STARTED` callback.
7
+ *
8
+ * Note that this function will not handle saving and quitting. If a player saving and quitting
9
+ * before the deferred function fires would cause a bug in your mod, then you should handle
10
+ * deferred functions manually using serializable data.
11
+ *
12
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_NEXT_ROOM`.
13
+ */
14
+ runNextRun(func: () => void): void;
15
+ }
16
+ //# sourceMappingURL=RunNextRun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunNextRun.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/RunNextRun.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQhD,qBAAa,UAAW,SAAQ,OAAO;IAIrB,gBAAgB,QAAO,OAAO,CAAU;IAiBxD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAM5C;IAEF;;;;;;;;OAQG;IAEI,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI;CAG1C"}
@@ -0,0 +1,36 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__DecorateLegacy = ____lualib.__TS__DecorateLegacy
5
+ local ____exports = {}
6
+ local ____decorators = require("src.decorators")
7
+ local Exported = ____decorators.Exported
8
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
9
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
10
+ local ____array = require("src.functions.array")
11
+ local emptyArray = ____array.emptyArray
12
+ local ____Feature = require("src.classes.private.Feature")
13
+ local Feature = ____Feature.Feature
14
+ local v = {persistent = {queuedFunctions = {}}}
15
+ ____exports.RunNextRun = __TS__Class()
16
+ local RunNextRun = ____exports.RunNextRun
17
+ RunNextRun.name = "RunNextRun"
18
+ __TS__ClassExtends(RunNextRun, Feature)
19
+ function RunNextRun.prototype.____constructor(self)
20
+ Feature.prototype.____constructor(self)
21
+ self.v = v
22
+ self.vConditionalFunc = function() return false end
23
+ self.postGameStartedReorderedFalse = function()
24
+ for ____, func in ipairs(v.persistent.queuedFunctions) do
25
+ func(nil)
26
+ end
27
+ emptyArray(nil, v.persistent.queuedFunctions)
28
+ end
29
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED, self.postGameStartedReorderedFalse, {false}}}
30
+ end
31
+ function RunNextRun.prototype.runNextRun(self, func)
32
+ local ____v_persistent_queuedFunctions_0 = v.persistent.queuedFunctions
33
+ ____v_persistent_queuedFunctions_0[#____v_persistent_queuedFunctions_0 + 1] = func
34
+ end
35
+ __TS__DecorateLegacy({Exported}, RunNextRun.prototype, "runNextRun", true)
36
+ return ____exports
@@ -49,11 +49,12 @@ export declare enum ISCFeature {
49
49
  ROOM_HISTORY = 47,
50
50
  RUN_IN_N_FRAMES = 48,
51
51
  RUN_NEXT_ROOM = 49,
52
- SAVE_DATA_MANAGER = 50,
53
- SPAWN_ALT_ROCK_REWARDS = 51,
54
- SPAWN_COLLECTIBLE = 52,
55
- STAGE_HISTORY = 53,
56
- START_AMBUSH = 54,
57
- TAINTED_LAZARUS_PLAYERS = 55
52
+ RUN_NEXT_RUN = 50,
53
+ SAVE_DATA_MANAGER = 51,
54
+ SPAWN_ALT_ROCK_REWARDS = 52,
55
+ SPAWN_COLLECTIBLE = 53,
56
+ STAGE_HISTORY = 54,
57
+ START_AMBUSH = 55,
58
+ TAINTED_LAZARUS_PLAYERS = 56
58
59
  }
59
60
  //# sourceMappingURL=ISCFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ISCFeature.d.ts","sourceRoot":"","sources":["../../../src/enums/ISCFeature.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,cAAc,IAAA;IACd,+BAA+B,IAAA;IAC/B,4BAA4B,IAAA;IAC5B,4BAA4B,IAAA;IAC5B,wBAAwB,IAAA;IACxB,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,4BAA4B,IAAA;IAC5B,0BAA0B,KAAA;IAC1B,wBAAwB,KAAA;IACxB,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IAGrB,2BAA2B,KAAA;IAC3B,eAAe,KAAA;IACf,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,0BAA0B,KAAA;IAC1B,eAAe,KAAA;IACf,UAAU,KAAA;IACV,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,cAAc,KAAA;IACd,KAAK,KAAA;IACL,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,2BAA2B,KAAA;IAC3B,cAAc,KAAA;IACd,WAAW,KAAA;IACX,sBAAsB,KAAA;IACtB,4BAA4B,KAAA;IAC5B,2BAA2B,KAAA;IAC3B,gBAAgB,KAAA;IAChB,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,iBAAiB,KAAA;IACjB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,uBAAuB,KAAA;CACxB"}
1
+ {"version":3,"file":"ISCFeature.d.ts","sourceRoot":"","sources":["../../../src/enums/ISCFeature.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,cAAc,IAAA;IACd,+BAA+B,IAAA;IAC/B,4BAA4B,IAAA;IAC5B,4BAA4B,IAAA;IAC5B,wBAAwB,IAAA;IACxB,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,4BAA4B,IAAA;IAC5B,0BAA0B,KAAA;IAC1B,wBAAwB,KAAA;IACxB,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IAGrB,2BAA2B,KAAA;IAC3B,eAAe,KAAA;IACf,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,0BAA0B,KAAA;IAC1B,eAAe,KAAA;IACf,UAAU,KAAA;IACV,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,cAAc,KAAA;IACd,KAAK,KAAA;IACL,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,2BAA2B,KAAA;IAC3B,cAAc,KAAA;IACd,WAAW,KAAA;IACX,sBAAsB,KAAA;IACtB,4BAA4B,KAAA;IAC5B,2BAA2B,KAAA;IAC3B,gBAAgB,KAAA;IAChB,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,iBAAiB,KAAA;IACjB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,uBAAuB,KAAA;CACxB"}
@@ -100,16 +100,18 @@ ____exports.ISCFeature.RUN_IN_N_FRAMES = 48
100
100
  ____exports.ISCFeature[____exports.ISCFeature.RUN_IN_N_FRAMES] = "RUN_IN_N_FRAMES"
101
101
  ____exports.ISCFeature.RUN_NEXT_ROOM = 49
102
102
  ____exports.ISCFeature[____exports.ISCFeature.RUN_NEXT_ROOM] = "RUN_NEXT_ROOM"
103
- ____exports.ISCFeature.SAVE_DATA_MANAGER = 50
103
+ ____exports.ISCFeature.RUN_NEXT_RUN = 50
104
+ ____exports.ISCFeature[____exports.ISCFeature.RUN_NEXT_RUN] = "RUN_NEXT_RUN"
105
+ ____exports.ISCFeature.SAVE_DATA_MANAGER = 51
104
106
  ____exports.ISCFeature[____exports.ISCFeature.SAVE_DATA_MANAGER] = "SAVE_DATA_MANAGER"
105
- ____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS = 51
107
+ ____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS = 52
106
108
  ____exports.ISCFeature[____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS] = "SPAWN_ALT_ROCK_REWARDS"
107
- ____exports.ISCFeature.SPAWN_COLLECTIBLE = 52
109
+ ____exports.ISCFeature.SPAWN_COLLECTIBLE = 53
108
110
  ____exports.ISCFeature[____exports.ISCFeature.SPAWN_COLLECTIBLE] = "SPAWN_COLLECTIBLE"
109
- ____exports.ISCFeature.STAGE_HISTORY = 53
111
+ ____exports.ISCFeature.STAGE_HISTORY = 54
110
112
  ____exports.ISCFeature[____exports.ISCFeature.STAGE_HISTORY] = "STAGE_HISTORY"
111
- ____exports.ISCFeature.START_AMBUSH = 54
113
+ ____exports.ISCFeature.START_AMBUSH = 55
112
114
  ____exports.ISCFeature[____exports.ISCFeature.START_AMBUSH] = "START_AMBUSH"
113
- ____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS = 55
115
+ ____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS = 56
114
116
  ____exports.ISCFeature[____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS] = "TAINTED_LAZARUS_PLAYERS"
115
117
  return ____exports
@@ -49,6 +49,7 @@ import { RoomClearFrame } from "./classes/features/other/RoomClearFrame";
49
49
  import { RoomHistory } from "./classes/features/other/RoomHistory";
50
50
  import { RunInNFrames } from "./classes/features/other/RunInNFrames";
51
51
  import { RunNextRoom } from "./classes/features/other/RunNextRoom";
52
+ import { RunNextRun } from "./classes/features/other/RunNextRun";
52
53
  import { SaveDataManager } from "./classes/features/other/SaveDataManager";
53
54
  import { SpawnCollectible } from "./classes/features/other/SpawnCollectible";
54
55
  import { SpawnRockAltRewards } from "./classes/features/other/SpawnRockAltRewards";
@@ -108,6 +109,7 @@ export interface ISCFeatureToClass {
108
109
  [ISCFeature.ROOM_HISTORY]: RoomHistory;
109
110
  [ISCFeature.RUN_IN_N_FRAMES]: RunInNFrames;
110
111
  [ISCFeature.RUN_NEXT_ROOM]: RunNextRoom;
112
+ [ISCFeature.RUN_NEXT_RUN]: RunNextRun;
111
113
  [ISCFeature.SAVE_DATA_MANAGER]: SaveDataManager;
112
114
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: SpawnRockAltRewards;
113
115
  [ISCFeature.SPAWN_COLLECTIBLE]: SpawnCollectible;
@@ -166,11 +168,12 @@ export declare function getFeatures(mod: ModUpgradedInterface, callbacks: ModCal
166
168
  readonly 47: RoomHistory;
167
169
  readonly 48: RunInNFrames;
168
170
  readonly 49: RunNextRoom;
169
- readonly 50: SaveDataManager;
170
- readonly 51: SpawnRockAltRewards;
171
- readonly 52: SpawnCollectible;
172
- readonly 53: StageHistory;
173
- readonly 54: StartAmbush;
174
- readonly 55: TaintedLazarusPlayers;
171
+ readonly 50: RunNextRun;
172
+ readonly 51: SaveDataManager;
173
+ readonly 52: SpawnRockAltRewards;
174
+ readonly 53: SpawnCollectible;
175
+ readonly 54: StageHistory;
176
+ readonly 55: StartAmbush;
177
+ readonly 56: TaintedLazarusPlayers;
175
178
  };
176
179
  //# sourceMappingURL=features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/features.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,8 @@ local ____RunInNFrames = require("src.classes.features.other.RunInNFrames")
101
101
  local RunInNFrames = ____RunInNFrames.RunInNFrames
102
102
  local ____RunNextRoom = require("src.classes.features.other.RunNextRoom")
103
103
  local RunNextRoom = ____RunNextRoom.RunNextRoom
104
+ local ____RunNextRun = require("src.classes.features.other.RunNextRun")
105
+ local RunNextRun = ____RunNextRun.RunNextRun
104
106
  local ____SaveDataManager = require("src.classes.features.other.SaveDataManager")
105
107
  local SaveDataManager = ____SaveDataManager.SaveDataManager
106
108
  local ____SpawnCollectible = require("src.classes.features.other.SpawnCollectible")
@@ -235,6 +237,7 @@ function ____exports.getFeatures(self, mod, callbacks)
235
237
  [ISCFeature.ROOM_HISTORY] = roomHistory,
236
238
  [ISCFeature.RUN_IN_N_FRAMES] = runInNFrames,
237
239
  [ISCFeature.RUN_NEXT_ROOM] = runNextRoom,
240
+ [ISCFeature.RUN_NEXT_RUN] = __TS__New(RunNextRun),
238
241
  [ISCFeature.SAVE_DATA_MANAGER] = saveDataManager,
239
242
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS] = __TS__New(SpawnRockAltRewards, itemPoolDetection),
240
243
  [ISCFeature.SPAWN_COLLECTIBLE] = spawnCollectible,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "58.0.0",
3
+ "version": "59.1.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -25,6 +25,6 @@
25
25
  "main": "dist/src/index",
26
26
  "types": "dist/index.rollup.d.ts",
27
27
  "dependencies": {
28
- "isaac-typescript-definitions": "^26.1.1"
28
+ "isaac-typescript-definitions": "^27.0.0"
29
29
  }
30
30
  }
@@ -0,0 +1,54 @@
1
+ import { Exported } from "../../../decorators";
2
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
3
+ import { emptyArray } from "../../../functions/array";
4
+ import { Feature } from "../../private/Feature";
5
+
6
+ const v = {
7
+ persistent: {
8
+ queuedFunctions: [] as Array<() => void>,
9
+ },
10
+ };
11
+
12
+ export class RunNextRun extends Feature {
13
+ /** @internal */
14
+ public override v = v;
15
+
16
+ public override vConditionalFunc = (): boolean => false;
17
+
18
+ /** @internal */
19
+ constructor() {
20
+ super();
21
+
22
+ this.customCallbacksUsed = [
23
+ [
24
+ ModCallbackCustom.POST_GAME_STARTED_REORDERED,
25
+ this.postGameStartedReorderedFalse,
26
+ [false],
27
+ ],
28
+ ];
29
+ }
30
+
31
+ // ModCallbackCustom.POST_GAME_STARTED_REORDERED
32
+ // false
33
+ private readonly postGameStartedReorderedFalse = () => {
34
+ for (const func of v.persistent.queuedFunctions) {
35
+ func();
36
+ }
37
+
38
+ emptyArray(v.persistent.queuedFunctions);
39
+ };
40
+
41
+ /**
42
+ * Supply a function to run on the next `POST_GAME_STARTED` callback.
43
+ *
44
+ * Note that this function will not handle saving and quitting. If a player saving and quitting
45
+ * before the deferred function fires would cause a bug in your mod, then you should handle
46
+ * deferred functions manually using serializable data.
47
+ *
48
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_NEXT_ROOM`.
49
+ */
50
+ @Exported
51
+ public runNextRun(func: () => void): void {
52
+ v.persistent.queuedFunctions.push(func);
53
+ }
54
+ }
@@ -52,6 +52,7 @@ export enum ISCFeature {
52
52
  ROOM_HISTORY,
53
53
  RUN_IN_N_FRAMES,
54
54
  RUN_NEXT_ROOM,
55
+ RUN_NEXT_RUN,
55
56
  SAVE_DATA_MANAGER,
56
57
  SPAWN_ALT_ROCK_REWARDS,
57
58
  SPAWN_COLLECTIBLE,
package/src/features.ts CHANGED
@@ -49,6 +49,7 @@ import { RoomClearFrame } from "./classes/features/other/RoomClearFrame";
49
49
  import { RoomHistory } from "./classes/features/other/RoomHistory";
50
50
  import { RunInNFrames } from "./classes/features/other/RunInNFrames";
51
51
  import { RunNextRoom } from "./classes/features/other/RunNextRoom";
52
+ import { RunNextRun } from "./classes/features/other/RunNextRun";
52
53
  import { SaveDataManager } from "./classes/features/other/SaveDataManager";
53
54
  import { SpawnCollectible } from "./classes/features/other/SpawnCollectible";
54
55
  import { SpawnRockAltRewards } from "./classes/features/other/SpawnRockAltRewards";
@@ -115,6 +116,7 @@ export interface ISCFeatureToClass {
115
116
  [ISCFeature.ROOM_HISTORY]: RoomHistory;
116
117
  [ISCFeature.RUN_IN_N_FRAMES]: RunInNFrames;
117
118
  [ISCFeature.RUN_NEXT_ROOM]: RunNextRoom;
119
+ [ISCFeature.RUN_NEXT_RUN]: RunNextRun;
118
120
  [ISCFeature.SAVE_DATA_MANAGER]: SaveDataManager;
119
121
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: SpawnRockAltRewards;
120
122
  [ISCFeature.SPAWN_COLLECTIBLE]: SpawnCollectible;
@@ -297,6 +299,7 @@ export function getFeatures(
297
299
  [ISCFeature.ROOM_HISTORY]: roomHistory,
298
300
  [ISCFeature.RUN_IN_N_FRAMES]: runInNFrames,
299
301
  [ISCFeature.RUN_NEXT_ROOM]: runNextRoom,
302
+ [ISCFeature.RUN_NEXT_RUN]: new RunNextRun(),
300
303
  [ISCFeature.SAVE_DATA_MANAGER]: saveDataManager,
301
304
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: new SpawnRockAltRewards(
302
305
  itemPoolDetection,