isaacscript-common 17.9.0 → 18.0.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.
- package/dist/index.d.ts +0 -10
- package/dist/isaacscript-common.lua +90 -99
- package/dist/src/callbacks.d.ts +1 -1
- package/dist/src/callbacks.d.ts.map +1 -1
- package/dist/src/callbacks.lua +2 -4
- package/dist/src/features.d.ts.map +1 -1
- package/dist/src/features.lua +83 -87
- package/dist/src/functions/utils.d.ts +0 -9
- package/dist/src/functions/utils.d.ts.map +1 -1
- package/dist/src/functions/utils.lua +0 -9
- package/package.json +1 -1
- package/src/callbacks.ts +5 -4
- package/src/features.ts +7 -6
- package/src/functions/utils.ts +0 -16
package/dist/index.d.ts
CHANGED
|
@@ -11283,16 +11283,6 @@ export declare function newChargeBarSprites(maxCharges: int): ChargeBarSprites;
|
|
|
11283
11283
|
*/
|
|
11284
11284
|
export declare function newCollectibleSprite(collectibleType: CollectibleType): Sprite;
|
|
11285
11285
|
|
|
11286
|
-
/**
|
|
11287
|
-
* Helper function for creating objects that represent a mapping of an enum value to some other
|
|
11288
|
-
* value in a type-safe way.
|
|
11289
|
-
*
|
|
11290
|
-
* This function will ensure that the provided object has a key for each value in the enum.
|
|
11291
|
-
*
|
|
11292
|
-
* After the `satisfies` operator is released in TypeScript 4.9, this function should be deleted.
|
|
11293
|
-
*/
|
|
11294
|
-
export declare function newObjectWithEnumKeys<Enum extends number | string, T extends Record<Enum, unknown>>(theEnum: Record<string, Enum>, obj: T): T;
|
|
11295
|
-
|
|
11296
11286
|
export declare function newPickingUpItem(): PickingUpItem;
|
|
11297
11287
|
|
|
11298
11288
|
/** Returns a `PlayerHealth` object with all zeros. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common
|
|
3
|
+
isaacscript-common 18.0.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -15351,9 +15351,6 @@ end
|
|
|
15351
15351
|
function ____exports.isVanillaConsoleCommand(self, commandName)
|
|
15352
15352
|
return CONSOLE_COMMANDS_SET:has(commandName)
|
|
15353
15353
|
end
|
|
15354
|
-
function ____exports.newObjectWithEnumKeys(self, theEnum, obj)
|
|
15355
|
-
return obj
|
|
15356
|
-
end
|
|
15357
15354
|
function ____exports.printConsole(self, msg)
|
|
15358
15355
|
Isaac.ConsoleOutput(msg .. "\n")
|
|
15359
15356
|
end
|
|
@@ -30890,6 +30887,10 @@ do
|
|
|
30890
30887
|
local PreNPCUpdateFilter = ____PreNPCUpdateFilter.PreNPCUpdateFilter
|
|
30891
30888
|
____exports.PreNPCUpdateFilter = PreNPCUpdateFilter
|
|
30892
30889
|
end
|
|
30890
|
+
return ____exports
|
|
30891
|
+
end,
|
|
30892
|
+
["src.types.AnyClass"] = function(...)
|
|
30893
|
+
local ____exports = {}
|
|
30893
30894
|
return ____exports
|
|
30894
30895
|
end,
|
|
30895
30896
|
["src.callbacks"] = function(...)
|
|
@@ -30901,9 +30902,7 @@ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
|
|
|
30901
30902
|
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
|
|
30902
30903
|
local ____enums = require("src.functions.enums")
|
|
30903
30904
|
local getEnumValues = ____enums.getEnumValues
|
|
30904
|
-
local
|
|
30905
|
-
local newObjectWithEnumKeys = ____utils.newObjectWithEnumKeys
|
|
30906
|
-
local MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(nil, ModCallbackCustom, {
|
|
30905
|
+
local MOD_CALLBACK_CUSTOM_TO_CLASS = {
|
|
30907
30906
|
[ModCallbackCustom.ENTITY_TAKE_DMG_FILTER] = cc.EntityTakeDmgFilter,
|
|
30908
30907
|
[ModCallbackCustom.POST_AMBUSH_FINISHED] = cc.PostAmbushFinished,
|
|
30909
30908
|
[ModCallbackCustom.POST_AMBUSH_STARTED] = cc.PostAmbushStarted,
|
|
@@ -31004,7 +31003,7 @@ local MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(nil, ModCallbackCusto
|
|
|
31004
31003
|
[ModCallbackCustom.PRE_NEW_LEVEL] = cc.PreNewLevel,
|
|
31005
31004
|
[ModCallbackCustom.PRE_NPC_COLLISION_FILTER] = cc.PreNPCCollisionFilter,
|
|
31006
31005
|
[ModCallbackCustom.PRE_NPC_UPDATE_FILTER] = cc.PreNPCUpdateFilter
|
|
31007
|
-
}
|
|
31006
|
+
}
|
|
31008
31007
|
function ____exports.getCallbacks(self)
|
|
31009
31008
|
local instantiatedClasses = {}
|
|
31010
31009
|
for ____, modCallbackCustom in ipairs(getEnumValues(nil, ModCallbackCustom)) do
|
|
@@ -34540,10 +34539,6 @@ return ____exports
|
|
|
34540
34539
|
["src.classes.features.other.saveDataManager.constants"] = function(...)
|
|
34541
34540
|
local ____exports = {}
|
|
34542
34541
|
____exports.SAVE_DATA_MANAGER_DEBUG = false
|
|
34543
|
-
return ____exports
|
|
34544
|
-
end,
|
|
34545
|
-
["src.types.AnyClass"] = function(...)
|
|
34546
|
-
local ____exports = {}
|
|
34547
34542
|
return ____exports
|
|
34548
34543
|
end,
|
|
34549
34544
|
["src.objects.isaacAPIClassTypeToBrand"] = function(...)
|
|
@@ -48716,7 +48711,6 @@ local ISCFeature = ____ISCFeature.ISCFeature
|
|
|
48716
48711
|
local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
|
|
48717
48712
|
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
|
|
48718
48713
|
local ____utils = require("src.functions.utils")
|
|
48719
|
-
local newObjectWithEnumKeys = ____utils.newObjectWithEnumKeys
|
|
48720
48714
|
local validateInterfaceMatchesEnum = ____utils.validateInterfaceMatchesEnum
|
|
48721
48715
|
validateInterfaceMatchesEnum(nil)
|
|
48722
48716
|
function ____exports.getFeatures(self, mod, callbacks)
|
|
@@ -48756,92 +48750,89 @@ function ____exports.getFeatures(self, mod, callbacks)
|
|
|
48756
48750
|
runNextRoom,
|
|
48757
48751
|
stageHistory
|
|
48758
48752
|
)
|
|
48759
|
-
|
|
48760
|
-
|
|
48761
|
-
ISCFeature,
|
|
48762
|
-
|
|
48763
|
-
|
|
48764
|
-
|
|
48765
|
-
|
|
48766
|
-
|
|
48767
|
-
[
|
|
48768
|
-
|
|
48769
|
-
|
|
48770
|
-
|
|
48771
|
-
|
|
48772
|
-
|
|
48773
|
-
|
|
48774
|
-
|
|
48775
|
-
|
|
48776
|
-
|
|
48777
|
-
|
|
48778
|
-
|
|
48779
|
-
|
|
48780
|
-
|
|
48781
|
-
|
|
48782
|
-
|
|
48783
|
-
|
|
48784
|
-
[
|
|
48785
|
-
|
|
48786
|
-
|
|
48787
|
-
|
|
48788
|
-
|
|
48789
|
-
|
|
48790
|
-
|
|
48791
|
-
|
|
48792
|
-
|
|
48793
|
-
|
|
48794
|
-
|
|
48795
|
-
|
|
48796
|
-
|
|
48797
|
-
|
|
48798
|
-
|
|
48799
|
-
|
|
48800
|
-
|
|
48801
|
-
|
|
48802
|
-
|
|
48803
|
-
|
|
48804
|
-
|
|
48805
|
-
|
|
48806
|
-
|
|
48807
|
-
|
|
48808
|
-
|
|
48809
|
-
|
|
48810
|
-
|
|
48811
|
-
|
|
48812
|
-
|
|
48813
|
-
|
|
48814
|
-
|
|
48815
|
-
|
|
48816
|
-
|
|
48817
|
-
|
|
48818
|
-
|
|
48819
|
-
|
|
48820
|
-
|
|
48821
|
-
|
|
48822
|
-
|
|
48823
|
-
|
|
48824
|
-
|
|
48825
|
-
|
|
48826
|
-
|
|
48827
|
-
|
|
48828
|
-
|
|
48829
|
-
|
|
48830
|
-
|
|
48831
|
-
|
|
48832
|
-
|
|
48833
|
-
|
|
48834
|
-
|
|
48835
|
-
|
|
48836
|
-
|
|
48837
|
-
|
|
48838
|
-
|
|
48839
|
-
|
|
48840
|
-
|
|
48841
|
-
|
|
48842
|
-
[ISCFeature.TAINTED_LAZARUS_PLAYERS] = __TS__New(TaintedLazarusPlayers)
|
|
48843
|
-
}
|
|
48844
|
-
)
|
|
48753
|
+
local features = {
|
|
48754
|
+
[ISCFeature.CUSTOM_REVIVE] = __TS__New(CustomRevive, callbacks[ModCallbackCustom.PRE_CUSTOM_REVIVE], callbacks[ModCallbackCustom.POST_CUSTOM_REVIVE], runInNFrames),
|
|
48755
|
+
[ISCFeature.ESAU_JR_DETECTION] = __TS__New(EsauJrDetection, callbacks[ModCallbackCustom.POST_ESAU_JR], callbacks[ModCallbackCustom.POST_FIRST_ESAU_JR]),
|
|
48756
|
+
[ISCFeature.FLIP_DETECTION] = __TS__New(FlipDetection, callbacks[ModCallbackCustom.POST_FLIP], callbacks[ModCallbackCustom.POST_FIRST_FLIP]),
|
|
48757
|
+
[ISCFeature.GRID_ENTITY_COLLISION_DETECTION] = __TS__New(GridEntityCollisionDetection, callbacks[ModCallbackCustom.POST_GRID_ENTITY_COLLISION], callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION], customGridEntities),
|
|
48758
|
+
[ISCFeature.GRID_ENTITY_UPDATE_DETECTION] = __TS__New(
|
|
48759
|
+
GridEntityUpdateDetection,
|
|
48760
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_INIT],
|
|
48761
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT],
|
|
48762
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_UPDATE],
|
|
48763
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE],
|
|
48764
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_REMOVE],
|
|
48765
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE],
|
|
48766
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED],
|
|
48767
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED],
|
|
48768
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_BROKEN],
|
|
48769
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN],
|
|
48770
|
+
customGridEntities
|
|
48771
|
+
),
|
|
48772
|
+
[ISCFeature.GRID_ENTITY_RENDER_DETECTION] = __TS__New(GridEntityRenderDetection, callbacks[ModCallbackCustom.POST_GRID_ENTITY_RENDER], callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER], customGridEntities),
|
|
48773
|
+
[ISCFeature.GAME_REORDERED_CALLBACKS] = gameReorderedCallbacks,
|
|
48774
|
+
[ISCFeature.ITEM_PICKUP_DETECTION] = __TS__New(ItemPickupDetection, callbacks[ModCallbackCustom.POST_ITEM_PICKUP], callbacks[ModCallbackCustom.PRE_ITEM_PICKUP]),
|
|
48775
|
+
[ISCFeature.PLAYER_COLLECTIBLE_DETECTION] = __TS__New(
|
|
48776
|
+
PlayerCollectibleDetection,
|
|
48777
|
+
callbacks[ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED],
|
|
48778
|
+
callbacks[ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED],
|
|
48779
|
+
moddedElementSets,
|
|
48780
|
+
runInNFrames
|
|
48781
|
+
),
|
|
48782
|
+
[ISCFeature.PLAYER_REORDERED_CALLBACKS] = __TS__New(PlayerReorderedCallbacks, callbacks[ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED], callbacks[ModCallbackCustom.POST_PLAYER_RENDER_REORDERED], callbacks[ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED]),
|
|
48783
|
+
[ISCFeature.SLOT_RENDER_DETECTION] = __TS__New(SlotRenderDetection, callbacks[ModCallbackCustom.POST_SLOT_RENDER], callbacks[ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]),
|
|
48784
|
+
[ISCFeature.SLOT_UPDATE_DETECTION] = __TS__New(SlotUpdateDetection, callbacks[ModCallbackCustom.POST_SLOT_INIT], callbacks[ModCallbackCustom.POST_SLOT_UPDATE]),
|
|
48785
|
+
[ISCFeature.CHARACTER_HEALTH_CONVERSION] = __TS__New(CharacterHealthConversion),
|
|
48786
|
+
[ISCFeature.CHARACTER_STATS] = __TS__New(CharacterStats),
|
|
48787
|
+
[ISCFeature.COLLECTIBLE_ITEM_POOL_TYPE] = __TS__New(CollectibleItemPoolType, pickupIndexCreation),
|
|
48788
|
+
[ISCFeature.CUSTOM_GRID_ENTITIES] = customGridEntities,
|
|
48789
|
+
[ISCFeature.CUSTOM_ITEM_POOLS] = __TS__New(CustomItemPools),
|
|
48790
|
+
[ISCFeature.CUSTOM_HOTKEYS] = __TS__New(CustomHotkeys),
|
|
48791
|
+
[ISCFeature.CUSTOM_PICKUPS] = __TS__New(CustomPickups),
|
|
48792
|
+
[ISCFeature.CUSTOM_STAGES] = __TS__New(
|
|
48793
|
+
CustomStages,
|
|
48794
|
+
customGridEntities,
|
|
48795
|
+
customTrapdoors,
|
|
48796
|
+
disableAllSound,
|
|
48797
|
+
gameReorderedCallbacks,
|
|
48798
|
+
pause,
|
|
48799
|
+
runInNFrames
|
|
48800
|
+
),
|
|
48801
|
+
[ISCFeature.CUSTOM_TRAPDOORS] = customTrapdoors,
|
|
48802
|
+
[ISCFeature.DEBUG_DISPLAY] = __TS__New(DebugDisplay, mod),
|
|
48803
|
+
[ISCFeature.DEPLOY_JSON_ROOM] = __TS__New(DeployJSONRoom, preventGridEntityRespawn, spawnCollectible),
|
|
48804
|
+
[ISCFeature.DISABLE_ALL_SOUND] = disableAllSound,
|
|
48805
|
+
[ISCFeature.DISABLE_INPUTS] = disableInputs,
|
|
48806
|
+
[ISCFeature.FADE_IN_REMOVER] = __TS__New(FadeInRemover),
|
|
48807
|
+
[ISCFeature.FAST_RESET] = __TS__New(FastReset),
|
|
48808
|
+
[ISCFeature.FLYING_DETECTION] = __TS__New(FlyingDetection, moddedElementSets),
|
|
48809
|
+
[ISCFeature.FORGOTTEN_SWITCH] = __TS__New(ForgottenSwitch, pressInput),
|
|
48810
|
+
[ISCFeature.EXTRA_CONSOLE_COMMANDS] = __TS__New(ExtraConsoleCommands),
|
|
48811
|
+
[ISCFeature.ITEM_POOL_DETECTION] = itemPoolDetection,
|
|
48812
|
+
[ISCFeature.MODDED_ELEMENT_DETECTION] = moddedElementDetection,
|
|
48813
|
+
[ISCFeature.MODDED_ELEMENT_SETS] = moddedElementSets,
|
|
48814
|
+
[ISCFeature.NO_SIREN_STEAL] = __TS__New(NoSirenSteal),
|
|
48815
|
+
[ISCFeature.PAUSE] = pause,
|
|
48816
|
+
[ISCFeature.PERSISTENT_ENTITIES] = __TS__New(PersistentEntities, roomHistory),
|
|
48817
|
+
[ISCFeature.PICKUP_INDEX_CREATION] = pickupIndexCreation,
|
|
48818
|
+
[ISCFeature.PLAYER_INVENTORY] = __TS__New(PlayerInventory),
|
|
48819
|
+
[ISCFeature.PONY_DETECTION] = ponyDetection,
|
|
48820
|
+
[ISCFeature.PRESS_INPUT] = pressInput,
|
|
48821
|
+
[ISCFeature.PREVENT_CHILD_ENTITIES] = __TS__New(PreventChildEntities),
|
|
48822
|
+
[ISCFeature.PREVENT_COLLECTIBLE_ROTATION] = preventCollectibleRotation,
|
|
48823
|
+
[ISCFeature.PREVENT_GRID_ENTITY_RESPAWN] = preventGridEntityRespawn,
|
|
48824
|
+
[ISCFeature.ROOM_CLEAR_FRAME] = roomClearFrame,
|
|
48825
|
+
[ISCFeature.ROOM_HISTORY] = roomHistory,
|
|
48826
|
+
[ISCFeature.RUN_IN_N_FRAMES] = runInNFrames,
|
|
48827
|
+
[ISCFeature.RUN_NEXT_ROOM] = runNextRoom,
|
|
48828
|
+
[ISCFeature.SAVE_DATA_MANAGER] = saveDataManager,
|
|
48829
|
+
[ISCFeature.SPAWN_ALT_ROCK_REWARDS] = __TS__New(SpawnRockAltRewards, itemPoolDetection),
|
|
48830
|
+
[ISCFeature.SPAWN_COLLECTIBLE] = spawnCollectible,
|
|
48831
|
+
[ISCFeature.STAGE_HISTORY] = stageHistory,
|
|
48832
|
+
[ISCFeature.START_AMBUSH] = __TS__New(StartAmbush, runInNFrames),
|
|
48833
|
+
[ISCFeature.TAINTED_LAZARUS_PLAYERS] = __TS__New(TaintedLazarusPlayers)
|
|
48834
|
+
}
|
|
48835
|
+
return features
|
|
48845
48836
|
end
|
|
48846
48837
|
return ____exports
|
|
48847
48838
|
end,
|
package/dist/src/callbacks.d.ts
CHANGED
|
@@ -102,7 +102,7 @@ declare const MOD_CALLBACK_CUSTOM_TO_CLASS: {
|
|
|
102
102
|
readonly 99: typeof cc.PreNPCUpdateFilter;
|
|
103
103
|
};
|
|
104
104
|
export type ModCallbackCustomToClass = {
|
|
105
|
-
readonly [Key in keyof typeof MOD_CALLBACK_CUSTOM_TO_CLASS]: InstanceType<typeof MOD_CALLBACK_CUSTOM_TO_CLASS[Key]>;
|
|
105
|
+
readonly [Key in keyof typeof MOD_CALLBACK_CUSTOM_TO_CLASS]: InstanceType<(typeof MOD_CALLBACK_CUSTOM_TO_CLASS)[Key]>;
|
|
106
106
|
};
|
|
107
107
|
export declare function getCallbacks(): ModCallbackCustomToClass;
|
|
108
108
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../src/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../src/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAMxC,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkH8B,CAAC;AAEjE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,GAAG,IAAI,MAAM,OAAO,4BAA4B,GAAG,YAAY,CACvE,CAAC,OAAO,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAC3C;CACF,CAAC;AAEF,wBAAgB,YAAY,IAAI,wBAAwB,CASvD"}
|
package/dist/src/callbacks.lua
CHANGED
|
@@ -6,9 +6,7 @@ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
|
|
|
6
6
|
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
|
|
7
7
|
local ____enums = require("src.functions.enums")
|
|
8
8
|
local getEnumValues = ____enums.getEnumValues
|
|
9
|
-
local
|
|
10
|
-
local newObjectWithEnumKeys = ____utils.newObjectWithEnumKeys
|
|
11
|
-
local MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(nil, ModCallbackCustom, {
|
|
9
|
+
local MOD_CALLBACK_CUSTOM_TO_CLASS = {
|
|
12
10
|
[ModCallbackCustom.ENTITY_TAKE_DMG_FILTER] = cc.EntityTakeDmgFilter,
|
|
13
11
|
[ModCallbackCustom.POST_AMBUSH_FINISHED] = cc.PostAmbushFinished,
|
|
14
12
|
[ModCallbackCustom.POST_AMBUSH_STARTED] = cc.PostAmbushStarted,
|
|
@@ -109,7 +107,7 @@ local MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(nil, ModCallbackCusto
|
|
|
109
107
|
[ModCallbackCustom.PRE_NEW_LEVEL] = cc.PreNewLevel,
|
|
110
108
|
[ModCallbackCustom.PRE_NPC_COLLISION_FILTER] = cc.PreNPCCollisionFilter,
|
|
111
109
|
[ModCallbackCustom.PRE_NPC_UPDATE_FILTER] = cc.PreNPCUpdateFilter
|
|
112
|
-
}
|
|
110
|
+
}
|
|
113
111
|
function ____exports.getCallbacks(self)
|
|
114
112
|
local instantiatedClasses = {}
|
|
115
113
|
for ____, modCallbackCustom in ipairs(getEnumValues(nil, ModCallbackCustom)) do
|
|
@@ -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":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,MAAM,WAAW,iBAAiB;IAEhC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACzC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IAChD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC3C,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,4BAA4B,CAAC;IAC3E,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC;IACrE,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC;IACrE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,sBAAsB,CAAC;IAC9D,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IACxD,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,0BAA0B,CAAC;IACtE,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,wBAAwB,CAAC;IAClE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IACxD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IAGxD,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,yBAAyB,CAAC;IACpE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC;IAC7C,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,uBAAuB,CAAC;IACjE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IACtD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IAChD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC3C,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC3C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACzC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC/C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACzC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAC9C,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IAChD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC3C,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC;IAC5C,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IACnC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC/C,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC/C,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAC1D,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACpD,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,sBAAsB,CAAC;IAC9D,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACpD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC1C,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAC1B,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACrD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IACxD,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC/C,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC3C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACrC,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAC1D,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,0BAA0B,CAAC;IACtE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,wBAAwB,CAAC;IACnE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAC9C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACvC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IAC3C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;IACxC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IAChD,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IACzD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACjD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACzC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACvC,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,qBAAqB,CAAC;CAC7D;AAKD,wBAAgB,WAAW,CACzB,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuKpC"}
|
package/dist/src/features.lua
CHANGED
|
@@ -112,7 +112,6 @@ local ISCFeature = ____ISCFeature.ISCFeature
|
|
|
112
112
|
local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
|
|
113
113
|
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
|
|
114
114
|
local ____utils = require("src.functions.utils")
|
|
115
|
-
local newObjectWithEnumKeys = ____utils.newObjectWithEnumKeys
|
|
116
115
|
local validateInterfaceMatchesEnum = ____utils.validateInterfaceMatchesEnum
|
|
117
116
|
validateInterfaceMatchesEnum(nil)
|
|
118
117
|
function ____exports.getFeatures(self, mod, callbacks)
|
|
@@ -152,91 +151,88 @@ function ____exports.getFeatures(self, mod, callbacks)
|
|
|
152
151
|
runNextRoom,
|
|
153
152
|
stageHistory
|
|
154
153
|
)
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
ISCFeature,
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
[
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
[
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
[ISCFeature.TAINTED_LAZARUS_PLAYERS] = __TS__New(TaintedLazarusPlayers)
|
|
239
|
-
}
|
|
240
|
-
)
|
|
154
|
+
local features = {
|
|
155
|
+
[ISCFeature.CUSTOM_REVIVE] = __TS__New(CustomRevive, callbacks[ModCallbackCustom.PRE_CUSTOM_REVIVE], callbacks[ModCallbackCustom.POST_CUSTOM_REVIVE], runInNFrames),
|
|
156
|
+
[ISCFeature.ESAU_JR_DETECTION] = __TS__New(EsauJrDetection, callbacks[ModCallbackCustom.POST_ESAU_JR], callbacks[ModCallbackCustom.POST_FIRST_ESAU_JR]),
|
|
157
|
+
[ISCFeature.FLIP_DETECTION] = __TS__New(FlipDetection, callbacks[ModCallbackCustom.POST_FLIP], callbacks[ModCallbackCustom.POST_FIRST_FLIP]),
|
|
158
|
+
[ISCFeature.GRID_ENTITY_COLLISION_DETECTION] = __TS__New(GridEntityCollisionDetection, callbacks[ModCallbackCustom.POST_GRID_ENTITY_COLLISION], callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION], customGridEntities),
|
|
159
|
+
[ISCFeature.GRID_ENTITY_UPDATE_DETECTION] = __TS__New(
|
|
160
|
+
GridEntityUpdateDetection,
|
|
161
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_INIT],
|
|
162
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT],
|
|
163
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_UPDATE],
|
|
164
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE],
|
|
165
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_REMOVE],
|
|
166
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE],
|
|
167
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED],
|
|
168
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED],
|
|
169
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_BROKEN],
|
|
170
|
+
callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN],
|
|
171
|
+
customGridEntities
|
|
172
|
+
),
|
|
173
|
+
[ISCFeature.GRID_ENTITY_RENDER_DETECTION] = __TS__New(GridEntityRenderDetection, callbacks[ModCallbackCustom.POST_GRID_ENTITY_RENDER], callbacks[ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER], customGridEntities),
|
|
174
|
+
[ISCFeature.GAME_REORDERED_CALLBACKS] = gameReorderedCallbacks,
|
|
175
|
+
[ISCFeature.ITEM_PICKUP_DETECTION] = __TS__New(ItemPickupDetection, callbacks[ModCallbackCustom.POST_ITEM_PICKUP], callbacks[ModCallbackCustom.PRE_ITEM_PICKUP]),
|
|
176
|
+
[ISCFeature.PLAYER_COLLECTIBLE_DETECTION] = __TS__New(
|
|
177
|
+
PlayerCollectibleDetection,
|
|
178
|
+
callbacks[ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED],
|
|
179
|
+
callbacks[ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED],
|
|
180
|
+
moddedElementSets,
|
|
181
|
+
runInNFrames
|
|
182
|
+
),
|
|
183
|
+
[ISCFeature.PLAYER_REORDERED_CALLBACKS] = __TS__New(PlayerReorderedCallbacks, callbacks[ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED], callbacks[ModCallbackCustom.POST_PLAYER_RENDER_REORDERED], callbacks[ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED]),
|
|
184
|
+
[ISCFeature.SLOT_RENDER_DETECTION] = __TS__New(SlotRenderDetection, callbacks[ModCallbackCustom.POST_SLOT_RENDER], callbacks[ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]),
|
|
185
|
+
[ISCFeature.SLOT_UPDATE_DETECTION] = __TS__New(SlotUpdateDetection, callbacks[ModCallbackCustom.POST_SLOT_INIT], callbacks[ModCallbackCustom.POST_SLOT_UPDATE]),
|
|
186
|
+
[ISCFeature.CHARACTER_HEALTH_CONVERSION] = __TS__New(CharacterHealthConversion),
|
|
187
|
+
[ISCFeature.CHARACTER_STATS] = __TS__New(CharacterStats),
|
|
188
|
+
[ISCFeature.COLLECTIBLE_ITEM_POOL_TYPE] = __TS__New(CollectibleItemPoolType, pickupIndexCreation),
|
|
189
|
+
[ISCFeature.CUSTOM_GRID_ENTITIES] = customGridEntities,
|
|
190
|
+
[ISCFeature.CUSTOM_ITEM_POOLS] = __TS__New(CustomItemPools),
|
|
191
|
+
[ISCFeature.CUSTOM_HOTKEYS] = __TS__New(CustomHotkeys),
|
|
192
|
+
[ISCFeature.CUSTOM_PICKUPS] = __TS__New(CustomPickups),
|
|
193
|
+
[ISCFeature.CUSTOM_STAGES] = __TS__New(
|
|
194
|
+
CustomStages,
|
|
195
|
+
customGridEntities,
|
|
196
|
+
customTrapdoors,
|
|
197
|
+
disableAllSound,
|
|
198
|
+
gameReorderedCallbacks,
|
|
199
|
+
pause,
|
|
200
|
+
runInNFrames
|
|
201
|
+
),
|
|
202
|
+
[ISCFeature.CUSTOM_TRAPDOORS] = customTrapdoors,
|
|
203
|
+
[ISCFeature.DEBUG_DISPLAY] = __TS__New(DebugDisplay, mod),
|
|
204
|
+
[ISCFeature.DEPLOY_JSON_ROOM] = __TS__New(DeployJSONRoom, preventGridEntityRespawn, spawnCollectible),
|
|
205
|
+
[ISCFeature.DISABLE_ALL_SOUND] = disableAllSound,
|
|
206
|
+
[ISCFeature.DISABLE_INPUTS] = disableInputs,
|
|
207
|
+
[ISCFeature.FADE_IN_REMOVER] = __TS__New(FadeInRemover),
|
|
208
|
+
[ISCFeature.FAST_RESET] = __TS__New(FastReset),
|
|
209
|
+
[ISCFeature.FLYING_DETECTION] = __TS__New(FlyingDetection, moddedElementSets),
|
|
210
|
+
[ISCFeature.FORGOTTEN_SWITCH] = __TS__New(ForgottenSwitch, pressInput),
|
|
211
|
+
[ISCFeature.EXTRA_CONSOLE_COMMANDS] = __TS__New(ExtraConsoleCommands),
|
|
212
|
+
[ISCFeature.ITEM_POOL_DETECTION] = itemPoolDetection,
|
|
213
|
+
[ISCFeature.MODDED_ELEMENT_DETECTION] = moddedElementDetection,
|
|
214
|
+
[ISCFeature.MODDED_ELEMENT_SETS] = moddedElementSets,
|
|
215
|
+
[ISCFeature.NO_SIREN_STEAL] = __TS__New(NoSirenSteal),
|
|
216
|
+
[ISCFeature.PAUSE] = pause,
|
|
217
|
+
[ISCFeature.PERSISTENT_ENTITIES] = __TS__New(PersistentEntities, roomHistory),
|
|
218
|
+
[ISCFeature.PICKUP_INDEX_CREATION] = pickupIndexCreation,
|
|
219
|
+
[ISCFeature.PLAYER_INVENTORY] = __TS__New(PlayerInventory),
|
|
220
|
+
[ISCFeature.PONY_DETECTION] = ponyDetection,
|
|
221
|
+
[ISCFeature.PRESS_INPUT] = pressInput,
|
|
222
|
+
[ISCFeature.PREVENT_CHILD_ENTITIES] = __TS__New(PreventChildEntities),
|
|
223
|
+
[ISCFeature.PREVENT_COLLECTIBLE_ROTATION] = preventCollectibleRotation,
|
|
224
|
+
[ISCFeature.PREVENT_GRID_ENTITY_RESPAWN] = preventGridEntityRespawn,
|
|
225
|
+
[ISCFeature.ROOM_CLEAR_FRAME] = roomClearFrame,
|
|
226
|
+
[ISCFeature.ROOM_HISTORY] = roomHistory,
|
|
227
|
+
[ISCFeature.RUN_IN_N_FRAMES] = runInNFrames,
|
|
228
|
+
[ISCFeature.RUN_NEXT_ROOM] = runNextRoom,
|
|
229
|
+
[ISCFeature.SAVE_DATA_MANAGER] = saveDataManager,
|
|
230
|
+
[ISCFeature.SPAWN_ALT_ROCK_REWARDS] = __TS__New(SpawnRockAltRewards, itemPoolDetection),
|
|
231
|
+
[ISCFeature.SPAWN_COLLECTIBLE] = spawnCollectible,
|
|
232
|
+
[ISCFeature.STAGE_HISTORY] = stageHistory,
|
|
233
|
+
[ISCFeature.START_AMBUSH] = __TS__New(StartAmbush, runInNFrames),
|
|
234
|
+
[ISCFeature.TAINTED_LAZARUS_PLAYERS] = __TS__New(TaintedLazarusPlayers)
|
|
235
|
+
}
|
|
236
|
+
return features
|
|
241
237
|
end
|
|
242
238
|
return ____exports
|
|
@@ -69,15 +69,6 @@ export declare function isReflectionRender(): boolean;
|
|
|
69
69
|
* because the `EXECUTE_CMD` callback will not fire for any vanilla commands.
|
|
70
70
|
*/
|
|
71
71
|
export declare function isVanillaConsoleCommand(commandName: string): boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Helper function for creating objects that represent a mapping of an enum value to some other
|
|
74
|
-
* value in a type-safe way.
|
|
75
|
-
*
|
|
76
|
-
* This function will ensure that the provided object has a key for each value in the enum.
|
|
77
|
-
*
|
|
78
|
-
* After the `satisfies` operator is released in TypeScript 4.9, this function should be deleted.
|
|
79
|
-
*/
|
|
80
|
-
export declare function newObjectWithEnumKeys<Enum extends number | string, T extends Record<Enum, unknown>>(theEnum: Record<string, Enum>, obj: T): T;
|
|
81
72
|
/**
|
|
82
73
|
* Helper function to print something to the in-game console. Use this instead of invoking the
|
|
83
74
|
* `Isaac.ConsoleOutput` method directly because it will automatically insert a newline at the end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/functions/utils.ts"],"names":[],"mappings":";AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,SAAI,GAAG,GAAG,EAAE,CAYlE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAQR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,SAAI,GAAG,GAAG,EAAE,CAYlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/functions/utils.ts"],"names":[],"mappings":";AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,SAAI,GAAG,GAAG,EAAE,CAYlE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAQR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,SAAI,GAAG,GAAG,EAAE,CAYlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAGxE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAI3D;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAG;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAqB1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,4BAA4B,CAE1C,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,KACzB,IAAI,CAAG"}
|
|
@@ -111,15 +111,6 @@ end
|
|
|
111
111
|
function ____exports.isVanillaConsoleCommand(self, commandName)
|
|
112
112
|
return CONSOLE_COMMANDS_SET:has(commandName)
|
|
113
113
|
end
|
|
114
|
-
--- Helper function for creating objects that represent a mapping of an enum value to some other
|
|
115
|
-
-- value in a type-safe way.
|
|
116
|
-
--
|
|
117
|
-
-- This function will ensure that the provided object has a key for each value in the enum.
|
|
118
|
-
--
|
|
119
|
-
-- After the `satisfies` operator is released in TypeScript 4.9, this function should be deleted.
|
|
120
|
-
function ____exports.newObjectWithEnumKeys(self, theEnum, obj)
|
|
121
|
-
return obj
|
|
122
|
-
end
|
|
123
114
|
--- Helper function to print something to the in-game console. Use this instead of invoking the
|
|
124
115
|
-- `Isaac.ConsoleOutput` method directly because it will automatically insert a newline at the end
|
|
125
116
|
-- of the message (which `Isaac.ConsoleOutput` does not do by default).
|
package/package.json
CHANGED
package/src/callbacks.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as cc from "./callbackClasses";
|
|
2
2
|
import { ModCallbackCustom } from "./enums/ModCallbackCustom";
|
|
3
3
|
import { getEnumValues } from "./functions/enums";
|
|
4
|
-
import {
|
|
4
|
+
import { AnyClass } from "./types/AnyClass";
|
|
5
|
+
import { HasAllEnumKeys } from "./types/HasAllEnumKeys";
|
|
5
6
|
|
|
6
|
-
const MOD_CALLBACK_CUSTOM_TO_CLASS =
|
|
7
|
+
const MOD_CALLBACK_CUSTOM_TO_CLASS = {
|
|
7
8
|
[ModCallbackCustom.ENTITY_TAKE_DMG_FILTER]: cc.EntityTakeDmgFilter,
|
|
8
9
|
[ModCallbackCustom.POST_AMBUSH_FINISHED]: cc.PostAmbushFinished,
|
|
9
10
|
[ModCallbackCustom.POST_AMBUSH_STARTED]: cc.PostAmbushStarted,
|
|
@@ -117,11 +118,11 @@ const MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(ModCallbackCustom, {
|
|
|
117
118
|
[ModCallbackCustom.PRE_NEW_LEVEL]: cc.PreNewLevel,
|
|
118
119
|
[ModCallbackCustom.PRE_NPC_COLLISION_FILTER]: cc.PreNPCCollisionFilter,
|
|
119
120
|
[ModCallbackCustom.PRE_NPC_UPDATE_FILTER]: cc.PreNPCUpdateFilter,
|
|
120
|
-
} as const
|
|
121
|
+
} as const satisfies HasAllEnumKeys<ModCallbackCustom, AnyClass>;
|
|
121
122
|
|
|
122
123
|
export type ModCallbackCustomToClass = {
|
|
123
124
|
readonly [Key in keyof typeof MOD_CALLBACK_CUSTOM_TO_CLASS]: InstanceType<
|
|
124
|
-
typeof MOD_CALLBACK_CUSTOM_TO_CLASS[Key]
|
|
125
|
+
(typeof MOD_CALLBACK_CUSTOM_TO_CLASS)[Key]
|
|
125
126
|
>;
|
|
126
127
|
};
|
|
127
128
|
|
package/src/features.ts
CHANGED
|
@@ -52,13 +52,12 @@ import { SpawnRockAltRewards } from "./classes/features/other/SpawnRockAltReward
|
|
|
52
52
|
import { StageHistory } from "./classes/features/other/StageHistory";
|
|
53
53
|
import { StartAmbush } from "./classes/features/other/StartAmbush";
|
|
54
54
|
import { TaintedLazarusPlayers } from "./classes/features/other/TaintedLazarusPlayers";
|
|
55
|
+
import { Feature } from "./classes/private/Feature";
|
|
55
56
|
import { ISCFeature } from "./enums/ISCFeature";
|
|
56
57
|
import { ModCallbackCustom } from "./enums/ModCallbackCustom";
|
|
57
|
-
import {
|
|
58
|
-
newObjectWithEnumKeys,
|
|
59
|
-
validateInterfaceMatchesEnum,
|
|
60
|
-
} from "./functions/utils";
|
|
58
|
+
import { validateInterfaceMatchesEnum } from "./functions/utils";
|
|
61
59
|
import { ModUpgradedInterface } from "./interfaces/private/ModUpgradedInterface";
|
|
60
|
+
import { HasAllEnumKeys } from "./types/HasAllEnumKeys";
|
|
62
61
|
|
|
63
62
|
export interface ISCFeatureToClass {
|
|
64
63
|
// Callback logic
|
|
@@ -168,7 +167,7 @@ export function getFeatures(
|
|
|
168
167
|
stageHistory,
|
|
169
168
|
);
|
|
170
169
|
|
|
171
|
-
|
|
170
|
+
const features = {
|
|
172
171
|
// Callback logic
|
|
173
172
|
[ISCFeature.CUSTOM_REVIVE]: new CustomRevive(
|
|
174
173
|
callbacks[ModCallbackCustom.PRE_CUSTOM_REVIVE],
|
|
@@ -288,5 +287,7 @@ export function getFeatures(
|
|
|
288
287
|
[ISCFeature.STAGE_HISTORY]: stageHistory,
|
|
289
288
|
[ISCFeature.START_AMBUSH]: new StartAmbush(runInNFrames),
|
|
290
289
|
[ISCFeature.TAINTED_LAZARUS_PLAYERS]: new TaintedLazarusPlayers(),
|
|
291
|
-
} as const
|
|
290
|
+
} as const satisfies HasAllEnumKeys<ISCFeature, Feature>;
|
|
291
|
+
|
|
292
|
+
return features;
|
|
292
293
|
}
|
package/src/functions/utils.ts
CHANGED
|
@@ -124,22 +124,6 @@ export function isVanillaConsoleCommand(commandName: string): boolean {
|
|
|
124
124
|
return CONSOLE_COMMANDS_SET.has(commandName);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
/**
|
|
128
|
-
* Helper function for creating objects that represent a mapping of an enum value to some other
|
|
129
|
-
* value in a type-safe way.
|
|
130
|
-
*
|
|
131
|
-
* This function will ensure that the provided object has a key for each value in the enum.
|
|
132
|
-
*
|
|
133
|
-
* After the `satisfies` operator is released in TypeScript 4.9, this function should be deleted.
|
|
134
|
-
*/
|
|
135
|
-
export function newObjectWithEnumKeys<
|
|
136
|
-
Enum extends number | string,
|
|
137
|
-
T extends Record<Enum, unknown>,
|
|
138
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
139
|
-
>(theEnum: Record<string, Enum>, obj: T): T {
|
|
140
|
-
return obj;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
127
|
/**
|
|
144
128
|
* Helper function to print something to the in-game console. Use this instead of invoking the
|
|
145
129
|
* `Isaac.ConsoleOutput` method directly because it will automatically insert a newline at the end
|