isaacscript-common 4.5.0 → 4.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants.d.ts +1 -1
- package/features/characterHealthConversion.lua +4 -1
- package/features/characterStats.lua +1 -1
- package/features/collectibleItemPoolType.lua +2 -2
- package/features/customTrapdoor/constants.d.ts +1 -1
- package/features/customTrapdoor/constants.lua +1 -1
- package/features/customTrapdoor/exports.lua +4 -0
- package/features/customTrapdoor/init.lua +2 -2
- package/features/debugDisplay/debugDisplay.d.ts +4 -0
- package/features/debugDisplay/debugDisplay.lua +2 -0
- package/features/deployJSONRoom.lua +2 -2
- package/features/{disableSound.d.ts → disableAllSound.d.ts} +3 -0
- package/features/{disableSound.lua → disableAllSound.lua} +3 -3
- package/features/disableInputs.lua +2 -2
- package/features/extraConsoleCommands/exports.d.ts +26 -0
- package/features/extraConsoleCommands/exports.lua +54 -0
- package/features/extraConsoleCommands/init.d.ts +1 -25
- package/features/extraConsoleCommands/init.lua +166 -195
- package/features/extraConsoleCommands/v.d.ts +8 -0
- package/features/extraConsoleCommands/v.lua +11 -0
- package/features/fadeInRemover.lua +2 -2
- package/features/fastReset.lua +1 -1
- package/features/forgottenSwitch.lua +2 -2
- package/features/persistentEntities.lua +6 -1
- package/features/playerInventory.lua +2 -2
- package/features/ponyDetection.lua +2 -2
- package/features/preventCollectibleRotation.lua +2 -2
- package/features/registerHotkey.d.ts +3 -0
- package/features/registerHotkey.lua +50 -0
- package/features/roomClearFrame.lua +2 -2
- package/features/runInNFrames.lua +2 -2
- package/features/saveDataManager/exports.lua +1 -0
- package/features/sirenHelpers.lua +2 -2
- package/features/stageHistory.lua +2 -2
- package/features/taintedLazarusPlayers.lua +2 -2
- package/featuresInitialized.lua +1 -1
- package/functions/run.d.ts +5 -2
- package/functions/run.lua +5 -2
- package/functions/saveFile.lua +3 -0
- package/functions/utils.d.ts +5 -0
- package/functions/utils.lua +7 -0
- package/index.d.ts +4 -3
- package/index.lua +22 -16
- package/initFeatures.lua +3 -3
- package/lualib_bundle.lua +6 -3
- package/package.json +1 -1
- package/sets/consoleCommandsSet.d.ts +5 -0
- package/sets/consoleCommandsSet.lua +61 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local Map = ____lualib.Map
|
|
3
|
-
local __TS__New = ____lualib.__TS__New
|
|
4
3
|
local ____exports = {}
|
|
5
|
-
local
|
|
4
|
+
local initMap, initCallbacks, postUpdate, evaluateCacheFireDelay, evaluateCacheSpeed, entityTakeDmgPlayer, postCurseEval, executeCmd, postFireTear
|
|
6
5
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
6
|
local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
|
|
8
7
|
local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
|
|
@@ -24,8 +23,161 @@ local commandsDisplay = require("features.extraConsoleCommands.commandsDisplay")
|
|
|
24
23
|
local commands = require("features.extraConsoleCommands.listCommands")
|
|
25
24
|
local ____v = require("features.extraConsoleCommands.v")
|
|
26
25
|
local v = ____v.default
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
local extraConsoleCommandsFunctionMap = ____v.extraConsoleCommandsFunctionMap
|
|
27
|
+
function initMap(self)
|
|
28
|
+
extraConsoleCommandsFunctionMap:set("1hp", commands.oneHP)
|
|
29
|
+
extraConsoleCommandsFunctionMap:set("addCharges", commands.addCharges)
|
|
30
|
+
extraConsoleCommandsFunctionMap:set("angel", commands.angel)
|
|
31
|
+
extraConsoleCommandsFunctionMap:set("ascent", commands.ascent)
|
|
32
|
+
extraConsoleCommandsFunctionMap:set("bedroom", commands.bedroom)
|
|
33
|
+
extraConsoleCommandsFunctionMap:set("bh", commands.bh)
|
|
34
|
+
extraConsoleCommandsFunctionMap:set("blackhearts", commands.blackHearts)
|
|
35
|
+
extraConsoleCommandsFunctionMap:set("blackMarket", commands.blackMarket)
|
|
36
|
+
extraConsoleCommandsFunctionMap:set("bloodCharges", commands.bloodCharges)
|
|
37
|
+
extraConsoleCommandsFunctionMap:set("bm", commands.bm)
|
|
38
|
+
extraConsoleCommandsFunctionMap:set("bomb", commands.bomb)
|
|
39
|
+
extraConsoleCommandsFunctionMap:set("bombDisplay", commandsDisplay.bombDisplay)
|
|
40
|
+
extraConsoleCommandsFunctionMap:set("bombsDisplay", commandsDisplay.bombsDisplay)
|
|
41
|
+
extraConsoleCommandsFunctionMap:set("bombs", commands.bombs)
|
|
42
|
+
extraConsoleCommandsFunctionMap:set("boneHearts", commands.boneHearts)
|
|
43
|
+
extraConsoleCommandsFunctionMap:set("boss", commands.boss)
|
|
44
|
+
extraConsoleCommandsFunctionMap:set("bossRush", commands.bossRush)
|
|
45
|
+
extraConsoleCommandsFunctionMap:set("brokenHearts", commands.brokenHearts)
|
|
46
|
+
extraConsoleCommandsFunctionMap:set("card", commands.card)
|
|
47
|
+
extraConsoleCommandsFunctionMap:set("cards", commands.cards)
|
|
48
|
+
extraConsoleCommandsFunctionMap:set("cc", commands.cc)
|
|
49
|
+
extraConsoleCommandsFunctionMap:set("chaosCardTears", commands.chaosCardTears)
|
|
50
|
+
extraConsoleCommandsFunctionMap:set("character", commands.characterCommand)
|
|
51
|
+
extraConsoleCommandsFunctionMap:set("charge", commands.charge)
|
|
52
|
+
extraConsoleCommandsFunctionMap:set("cleanBedroom", commands.cleanBedroom)
|
|
53
|
+
extraConsoleCommandsFunctionMap:set("coin", commands.coin)
|
|
54
|
+
extraConsoleCommandsFunctionMap:set("coins", commands.coins)
|
|
55
|
+
extraConsoleCommandsFunctionMap:set("crawlSpace", commands.crawlSpace)
|
|
56
|
+
extraConsoleCommandsFunctionMap:set("d20", commands.d20)
|
|
57
|
+
extraConsoleCommandsFunctionMap:set("d6", commands.d6)
|
|
58
|
+
extraConsoleCommandsFunctionMap:set("damage", commands.damage)
|
|
59
|
+
extraConsoleCommandsFunctionMap:set("dd", commands.dd)
|
|
60
|
+
extraConsoleCommandsFunctionMap:set("devil", commands.devil)
|
|
61
|
+
extraConsoleCommandsFunctionMap:set("dirtyBedroom", commands.dirtyBedroom)
|
|
62
|
+
extraConsoleCommandsFunctionMap:set("disableCurses", commands.disableCurses)
|
|
63
|
+
extraConsoleCommandsFunctionMap:set("doorDisplay", commandsDisplay.doorDisplay)
|
|
64
|
+
extraConsoleCommandsFunctionMap:set("doorsDisplay", commandsDisplay.doorsDisplay)
|
|
65
|
+
extraConsoleCommandsFunctionMap:set("down", commands.down)
|
|
66
|
+
extraConsoleCommandsFunctionMap:set("dungeon", commands.dungeon)
|
|
67
|
+
extraConsoleCommandsFunctionMap:set("effectDisplay", commandsDisplay.effectDisplay)
|
|
68
|
+
extraConsoleCommandsFunctionMap:set("effects", commands.effects)
|
|
69
|
+
extraConsoleCommandsFunctionMap:set("effectsDisplay", commandsDisplay.effectsDisplay)
|
|
70
|
+
extraConsoleCommandsFunctionMap:set("eh", commands.eh)
|
|
71
|
+
extraConsoleCommandsFunctionMap:set("error", commands.error)
|
|
72
|
+
extraConsoleCommandsFunctionMap:set("eternalHearts", commands.eternalHearts)
|
|
73
|
+
extraConsoleCommandsFunctionMap:set("familiarDisplay", commandsDisplay.familiarDisplay)
|
|
74
|
+
extraConsoleCommandsFunctionMap:set("familiarsDisplay", commandsDisplay.familiarsDisplay)
|
|
75
|
+
extraConsoleCommandsFunctionMap:set("fool", commands.fool)
|
|
76
|
+
extraConsoleCommandsFunctionMap:set("getPosition", commands.getPosition)
|
|
77
|
+
extraConsoleCommandsFunctionMap:set("gigaBomb", commands.gigaBomb)
|
|
78
|
+
extraConsoleCommandsFunctionMap:set("goldBomb", commands.goldBomb)
|
|
79
|
+
extraConsoleCommandsFunctionMap:set("goldHearts", commands.goldHearts)
|
|
80
|
+
extraConsoleCommandsFunctionMap:set("goldKey", commands.goldKey)
|
|
81
|
+
extraConsoleCommandsFunctionMap:set("goldenBomb", commands.goldenBomb)
|
|
82
|
+
extraConsoleCommandsFunctionMap:set("goldenHearts", commands.goldenHearts)
|
|
83
|
+
extraConsoleCommandsFunctionMap:set("goldenKey", commands.goldenKey)
|
|
84
|
+
extraConsoleCommandsFunctionMap:set("grid", commands.grid)
|
|
85
|
+
extraConsoleCommandsFunctionMap:set("grid2", commands.grid2)
|
|
86
|
+
extraConsoleCommandsFunctionMap:set("gridEntities", commands.gridEntities)
|
|
87
|
+
extraConsoleCommandsFunctionMap:set("h", commands.h)
|
|
88
|
+
extraConsoleCommandsFunctionMap:set("hearts", commands.hearts)
|
|
89
|
+
extraConsoleCommandsFunctionMap:set("hitboxes", commands.hitboxes)
|
|
90
|
+
extraConsoleCommandsFunctionMap:set("iAmError", commands.iAmError)
|
|
91
|
+
extraConsoleCommandsFunctionMap:set("key", commands.key)
|
|
92
|
+
extraConsoleCommandsFunctionMap:set("keys", commands.keys)
|
|
93
|
+
extraConsoleCommandsFunctionMap:set("knifeDisplay", commandsDisplay.knifeDisplay)
|
|
94
|
+
extraConsoleCommandsFunctionMap:set("knivesDisplay", commandsDisplay.knivesDisplay)
|
|
95
|
+
extraConsoleCommandsFunctionMap:set("laserDisplay", commandsDisplay.laserDisplay)
|
|
96
|
+
extraConsoleCommandsFunctionMap:set("lasersDisplay", commandsDisplay.lasersDisplay)
|
|
97
|
+
extraConsoleCommandsFunctionMap:set("left", commands.left)
|
|
98
|
+
extraConsoleCommandsFunctionMap:set("library", commands.library)
|
|
99
|
+
extraConsoleCommandsFunctionMap:set("list", commands.list)
|
|
100
|
+
extraConsoleCommandsFunctionMap:set("listAll", commands.listAll)
|
|
101
|
+
extraConsoleCommandsFunctionMap:set("listGrid", commands.listGrid)
|
|
102
|
+
extraConsoleCommandsFunctionMap:set("listGridAll", commands.listGridAll)
|
|
103
|
+
extraConsoleCommandsFunctionMap:set("lowHP", commands.lowHP)
|
|
104
|
+
extraConsoleCommandsFunctionMap:set("luck", commands.luck)
|
|
105
|
+
extraConsoleCommandsFunctionMap:set("mana", commands.mana)
|
|
106
|
+
extraConsoleCommandsFunctionMap:set("map", commands.map)
|
|
107
|
+
extraConsoleCommandsFunctionMap:set("maxHearts", commands.maxHearts)
|
|
108
|
+
extraConsoleCommandsFunctionMap:set("mh", commands.mh)
|
|
109
|
+
extraConsoleCommandsFunctionMap:set("miniboss", commands.miniboss)
|
|
110
|
+
extraConsoleCommandsFunctionMap:set("noCurses", commands.noCurses)
|
|
111
|
+
extraConsoleCommandsFunctionMap:set("npcDisplay", commandsDisplay.npcDisplay)
|
|
112
|
+
extraConsoleCommandsFunctionMap:set("npcsDisplay", commandsDisplay.npcsDisplay)
|
|
113
|
+
extraConsoleCommandsFunctionMap:set("pickupDisplay", commandsDisplay.pickupDisplay)
|
|
114
|
+
extraConsoleCommandsFunctionMap:set("pickupsDisplay", commandsDisplay.pickupsDisplay)
|
|
115
|
+
extraConsoleCommandsFunctionMap:set("pill", commands.pill)
|
|
116
|
+
extraConsoleCommandsFunctionMap:set("pills", commands.pills)
|
|
117
|
+
extraConsoleCommandsFunctionMap:set("pitDisplay", commandsDisplay.pitDisplay)
|
|
118
|
+
extraConsoleCommandsFunctionMap:set("pitsDisplay", commandsDisplay.pitsDisplay)
|
|
119
|
+
extraConsoleCommandsFunctionMap:set("planetarium", commands.planetarium)
|
|
120
|
+
extraConsoleCommandsFunctionMap:set("playerDisplay", commandsDisplay.playerDisplay)
|
|
121
|
+
extraConsoleCommandsFunctionMap:set("playersDisplay", commandsDisplay.playersDisplay)
|
|
122
|
+
extraConsoleCommandsFunctionMap:set("playSound", commands.playSound)
|
|
123
|
+
extraConsoleCommandsFunctionMap:set("pocket", commands.pocket)
|
|
124
|
+
extraConsoleCommandsFunctionMap:set("poopDisplay", commandsDisplay.poopDisplay)
|
|
125
|
+
extraConsoleCommandsFunctionMap:set("poopMana", commands.poopMana)
|
|
126
|
+
extraConsoleCommandsFunctionMap:set("poopsDisplay", commandsDisplay.poopsDisplay)
|
|
127
|
+
extraConsoleCommandsFunctionMap:set("position", commands.positionCommand)
|
|
128
|
+
extraConsoleCommandsFunctionMap:set("pressurePlateDisplay", commandsDisplay.pressurePlateDisplay)
|
|
129
|
+
extraConsoleCommandsFunctionMap:set("pressurePlatesDisplay", commandsDisplay.pressurePlatesDisplay)
|
|
130
|
+
extraConsoleCommandsFunctionMap:set("projectileDisplay", commandsDisplay.projectileDisplay)
|
|
131
|
+
extraConsoleCommandsFunctionMap:set("projectilesDisplay", commandsDisplay.projectilesDisplay)
|
|
132
|
+
extraConsoleCommandsFunctionMap:set("redHearts", commands.redHearts)
|
|
133
|
+
extraConsoleCommandsFunctionMap:set("rh", commands.rh)
|
|
134
|
+
extraConsoleCommandsFunctionMap:set("right", commands.right)
|
|
135
|
+
extraConsoleCommandsFunctionMap:set("rockDisplay", commandsDisplay.rockDisplay)
|
|
136
|
+
extraConsoleCommandsFunctionMap:set("rocksDisplay", commandsDisplay.rocksDisplay)
|
|
137
|
+
extraConsoleCommandsFunctionMap:set("room", commands.roomCommand)
|
|
138
|
+
extraConsoleCommandsFunctionMap:set("rottenHearts", commands.rottenHearts)
|
|
139
|
+
extraConsoleCommandsFunctionMap:set("s", commands.s)
|
|
140
|
+
extraConsoleCommandsFunctionMap:set("sacrifice", commands.sacrifice)
|
|
141
|
+
extraConsoleCommandsFunctionMap:set("secret", commands.secret)
|
|
142
|
+
extraConsoleCommandsFunctionMap:set("seedStick", commands.seedStick)
|
|
143
|
+
extraConsoleCommandsFunctionMap:set("seeds", commands.seedsCommand)
|
|
144
|
+
extraConsoleCommandsFunctionMap:set("setCharges", commands.setCharges)
|
|
145
|
+
extraConsoleCommandsFunctionMap:set("setPosition", commands.setPosition)
|
|
146
|
+
extraConsoleCommandsFunctionMap:set("sh", commands.sh)
|
|
147
|
+
extraConsoleCommandsFunctionMap:set("shop", commands.shop)
|
|
148
|
+
extraConsoleCommandsFunctionMap:set("slotDisplay", commandsDisplay.slotDisplay)
|
|
149
|
+
extraConsoleCommandsFunctionMap:set("slotsDisplay", commandsDisplay.slotsDisplay)
|
|
150
|
+
extraConsoleCommandsFunctionMap:set("smelt", commands.smelt)
|
|
151
|
+
extraConsoleCommandsFunctionMap:set("soulCharges", commands.soulCharges)
|
|
152
|
+
extraConsoleCommandsFunctionMap:set("soulHearts", commands.soulHearts)
|
|
153
|
+
extraConsoleCommandsFunctionMap:set("sound", commands.sound)
|
|
154
|
+
extraConsoleCommandsFunctionMap:set("sounds", commands.sounds)
|
|
155
|
+
extraConsoleCommandsFunctionMap:set("spam", commands.spam)
|
|
156
|
+
extraConsoleCommandsFunctionMap:set("spawnGoldenTrinket", commands.spawnGoldenTrinket)
|
|
157
|
+
extraConsoleCommandsFunctionMap:set("speed", commands.speed)
|
|
158
|
+
extraConsoleCommandsFunctionMap:set("spikeDisplay", commandsDisplay.spikeDisplay)
|
|
159
|
+
extraConsoleCommandsFunctionMap:set("spikesDisplay", commandsDisplay.spikesDisplay)
|
|
160
|
+
extraConsoleCommandsFunctionMap:set("supersecret", commands.superSecret)
|
|
161
|
+
extraConsoleCommandsFunctionMap:set("startingRoom", commands.startingRoom)
|
|
162
|
+
extraConsoleCommandsFunctionMap:set("tearDisplay", commandsDisplay.tearDisplay)
|
|
163
|
+
extraConsoleCommandsFunctionMap:set("tears", commands.tears)
|
|
164
|
+
extraConsoleCommandsFunctionMap:set("tearsDisplay", commandsDisplay.tearsDisplay)
|
|
165
|
+
extraConsoleCommandsFunctionMap:set("tntDisplay", commandsDisplay.tntDisplay)
|
|
166
|
+
extraConsoleCommandsFunctionMap:set("tntsDisplay", commandsDisplay.tntsDisplay)
|
|
167
|
+
extraConsoleCommandsFunctionMap:set("trapdoor", commands.trapdoorCommand)
|
|
168
|
+
extraConsoleCommandsFunctionMap:set("treasure", commands.treasure)
|
|
169
|
+
extraConsoleCommandsFunctionMap:set("ultraSecret", commands.ultraSecret)
|
|
170
|
+
extraConsoleCommandsFunctionMap:set("up", commands.up)
|
|
171
|
+
extraConsoleCommandsFunctionMap:set("warp", commands.warp)
|
|
172
|
+
end
|
|
173
|
+
function initCallbacks(self, mod)
|
|
174
|
+
mod:AddCallback(ModCallback.POST_UPDATE, postUpdate)
|
|
175
|
+
mod:AddCallback(ModCallback.EVALUATE_CACHE, evaluateCacheFireDelay, CacheFlag.FIRE_DELAY)
|
|
176
|
+
mod:AddCallback(ModCallback.EVALUATE_CACHE, evaluateCacheSpeed, CacheFlag.SPEED)
|
|
177
|
+
mod:AddCallback(ModCallback.ENTITY_TAKE_DMG, entityTakeDmgPlayer, EntityType.PLAYER)
|
|
178
|
+
mod:AddCallback(ModCallback.POST_CURSE_EVAL, postCurseEval)
|
|
179
|
+
mod:AddCallback(ModCallback.EXECUTE_CMD, executeCmd)
|
|
180
|
+
mod:AddCallback(ModCallback.POST_FIRE_TEAR, postFireTear)
|
|
29
181
|
end
|
|
30
182
|
function postUpdate(self)
|
|
31
183
|
if v.run.spamBloodRights then
|
|
@@ -53,7 +205,7 @@ function postCurseEval(self, curses)
|
|
|
53
205
|
return v.persistent.disableCurses and LevelCurse.NONE or curses
|
|
54
206
|
end
|
|
55
207
|
function executeCmd(self, command, params)
|
|
56
|
-
local resultTuple = getMapPartialMatch(nil, command,
|
|
208
|
+
local resultTuple = getMapPartialMatch(nil, command, extraConsoleCommandsFunctionMap)
|
|
57
209
|
if resultTuple == nil then
|
|
58
210
|
printConsole(nil, "That is an invalid console command.")
|
|
59
211
|
return
|
|
@@ -71,196 +223,15 @@ function postFireTear(self, tear)
|
|
|
71
223
|
tear:ChangeVariant(TearVariant.TOOTH)
|
|
72
224
|
end
|
|
73
225
|
end
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
function
|
|
80
|
-
|
|
81
|
-
|
|
226
|
+
function ____exports.extraConsoleCommandsInit(self, mod)
|
|
227
|
+
saveDataManager(
|
|
228
|
+
nil,
|
|
229
|
+
"extraConsoleCommands",
|
|
230
|
+
v,
|
|
231
|
+
function() return false end
|
|
232
|
+
)
|
|
233
|
+
initMap(nil)
|
|
234
|
+
initCallbacks(nil, mod)
|
|
82
235
|
debugDisplayInit(nil, mod)
|
|
83
|
-
mod:AddCallback(ModCallback.POST_UPDATE, postUpdate)
|
|
84
|
-
mod:AddCallback(ModCallback.EVALUATE_CACHE, evaluateCacheFireDelay, CacheFlag.FIRE_DELAY)
|
|
85
|
-
mod:AddCallback(ModCallback.EVALUATE_CACHE, evaluateCacheSpeed, CacheFlag.SPEED)
|
|
86
|
-
mod:AddCallback(ModCallback.ENTITY_TAKE_DMG, entityTakeDmgPlayer, EntityType.PLAYER)
|
|
87
|
-
mod:AddCallback(ModCallback.POST_CURSE_EVAL, postCurseEval)
|
|
88
|
-
mod:AddCallback(ModCallback.EXECUTE_CMD, executeCmd)
|
|
89
|
-
mod:AddCallback(ModCallback.POST_FIRE_TEAR, postFireTear)
|
|
90
|
-
end
|
|
91
|
-
--- Helper function to add a custom console command.
|
|
92
|
-
--
|
|
93
|
-
-- The standard library comes with many existing console commands that are useful for debugging, but
|
|
94
|
-
-- you can also add your own commands that are useful for your particular mod. It's easier to add
|
|
95
|
-
-- commands to the existing command system than to add logic manually to the ExecuteCmd callback.
|
|
96
|
-
--
|
|
97
|
-
-- Before using this function, you must first invoke `enableExtraConsoleCommands`.
|
|
98
|
-
function ____exports.addConsoleCommand(self, commandName, commandFunction)
|
|
99
|
-
if not initialized then
|
|
100
|
-
error("Before adding extra console commands, you must first enable the feature by invoking the \"enableExtraConsoleCommands\" function.")
|
|
101
|
-
end
|
|
102
|
-
if commandFunctionsMap:has(commandName) then
|
|
103
|
-
error(("You cannot add a new console command of \"" .. commandName) .. "\" because there is already an existing command by that name. If you want to overwrite a command from the standard library, you can use the \"removeExtraConsoleCommand\" function.")
|
|
104
|
-
end
|
|
105
|
-
commandFunctionsMap:set(commandName, commandFunction)
|
|
106
|
-
end
|
|
107
|
-
--- Helper function to remove a custom console command.
|
|
108
|
-
--
|
|
109
|
-
-- The standard library comes with many existing console commands that are useful for debugging. If
|
|
110
|
-
-- you want to disable one of them, use this function.
|
|
111
|
-
--
|
|
112
|
-
-- Before using this function, you must first invoke `enableExtraConsoleCommands`.
|
|
113
|
-
function ____exports.removeConsoleCommand(self, commandName)
|
|
114
|
-
if not initialized then
|
|
115
|
-
error("Before removing console commands, you must first enable the feature by invoking the \"enableExtraConsoleCommands\" function.")
|
|
116
|
-
end
|
|
117
|
-
if not commandFunctionsMap:has(commandName) then
|
|
118
|
-
error(("The console command of \"" .. commandName) .. "\" does not exist, so you cannot remove it.")
|
|
119
|
-
end
|
|
120
|
-
commandFunctionsMap:delete(commandName)
|
|
121
236
|
end
|
|
122
|
-
commandFunctionsMap:set("1hp", commands.oneHP)
|
|
123
|
-
commandFunctionsMap:set("addCharges", commands.addCharges)
|
|
124
|
-
commandFunctionsMap:set("angel", commands.angel)
|
|
125
|
-
commandFunctionsMap:set("ascent", commands.ascent)
|
|
126
|
-
commandFunctionsMap:set("bedroom", commands.bedroom)
|
|
127
|
-
commandFunctionsMap:set("bh", commands.bh)
|
|
128
|
-
commandFunctionsMap:set("blackhearts", commands.blackHearts)
|
|
129
|
-
commandFunctionsMap:set("blackMarket", commands.blackMarket)
|
|
130
|
-
commandFunctionsMap:set("bloodCharges", commands.bloodCharges)
|
|
131
|
-
commandFunctionsMap:set("bm", commands.bm)
|
|
132
|
-
commandFunctionsMap:set("bomb", commands.bomb)
|
|
133
|
-
commandFunctionsMap:set("bombDisplay", commandsDisplay.bombDisplay)
|
|
134
|
-
commandFunctionsMap:set("bombsDisplay", commandsDisplay.bombsDisplay)
|
|
135
|
-
commandFunctionsMap:set("bombs", commands.bombs)
|
|
136
|
-
commandFunctionsMap:set("boneHearts", commands.boneHearts)
|
|
137
|
-
commandFunctionsMap:set("boss", commands.boss)
|
|
138
|
-
commandFunctionsMap:set("bossRush", commands.bossRush)
|
|
139
|
-
commandFunctionsMap:set("brokenHearts", commands.brokenHearts)
|
|
140
|
-
commandFunctionsMap:set("card", commands.card)
|
|
141
|
-
commandFunctionsMap:set("cards", commands.cards)
|
|
142
|
-
commandFunctionsMap:set("cc", commands.cc)
|
|
143
|
-
commandFunctionsMap:set("chaosCardTears", commands.chaosCardTears)
|
|
144
|
-
commandFunctionsMap:set("character", commands.characterCommand)
|
|
145
|
-
commandFunctionsMap:set("charge", commands.charge)
|
|
146
|
-
commandFunctionsMap:set("cleanBedroom", commands.cleanBedroom)
|
|
147
|
-
commandFunctionsMap:set("coin", commands.coin)
|
|
148
|
-
commandFunctionsMap:set("coins", commands.coins)
|
|
149
|
-
commandFunctionsMap:set("crawlSpace", commands.crawlSpace)
|
|
150
|
-
commandFunctionsMap:set("d20", commands.d20)
|
|
151
|
-
commandFunctionsMap:set("d6", commands.d6)
|
|
152
|
-
commandFunctionsMap:set("damage", commands.damage)
|
|
153
|
-
commandFunctionsMap:set("dd", commands.dd)
|
|
154
|
-
commandFunctionsMap:set("devil", commands.devil)
|
|
155
|
-
commandFunctionsMap:set("dirtyBedroom", commands.dirtyBedroom)
|
|
156
|
-
commandFunctionsMap:set("disableCurses", commands.disableCurses)
|
|
157
|
-
commandFunctionsMap:set("doorDisplay", commandsDisplay.doorDisplay)
|
|
158
|
-
commandFunctionsMap:set("doorsDisplay", commandsDisplay.doorsDisplay)
|
|
159
|
-
commandFunctionsMap:set("down", commands.down)
|
|
160
|
-
commandFunctionsMap:set("dungeon", commands.dungeon)
|
|
161
|
-
commandFunctionsMap:set("effectDisplay", commandsDisplay.effectDisplay)
|
|
162
|
-
commandFunctionsMap:set("effects", commands.effects)
|
|
163
|
-
commandFunctionsMap:set("effectsDisplay", commandsDisplay.effectsDisplay)
|
|
164
|
-
commandFunctionsMap:set("eh", commands.eh)
|
|
165
|
-
commandFunctionsMap:set("error", commands.error)
|
|
166
|
-
commandFunctionsMap:set("eternalHearts", commands.eternalHearts)
|
|
167
|
-
commandFunctionsMap:set("familiarDisplay", commandsDisplay.familiarDisplay)
|
|
168
|
-
commandFunctionsMap:set("familiarsDisplay", commandsDisplay.familiarsDisplay)
|
|
169
|
-
commandFunctionsMap:set("fool", commands.fool)
|
|
170
|
-
commandFunctionsMap:set("getPosition", commands.getPosition)
|
|
171
|
-
commandFunctionsMap:set("gigaBomb", commands.gigaBomb)
|
|
172
|
-
commandFunctionsMap:set("goldBomb", commands.goldBomb)
|
|
173
|
-
commandFunctionsMap:set("goldHearts", commands.goldHearts)
|
|
174
|
-
commandFunctionsMap:set("goldKey", commands.goldKey)
|
|
175
|
-
commandFunctionsMap:set("goldenBomb", commands.goldenBomb)
|
|
176
|
-
commandFunctionsMap:set("goldenHearts", commands.goldenHearts)
|
|
177
|
-
commandFunctionsMap:set("goldenKey", commands.goldenKey)
|
|
178
|
-
commandFunctionsMap:set("grid", commands.grid)
|
|
179
|
-
commandFunctionsMap:set("grid2", commands.grid2)
|
|
180
|
-
commandFunctionsMap:set("gridEntities", commands.gridEntities)
|
|
181
|
-
commandFunctionsMap:set("h", commands.h)
|
|
182
|
-
commandFunctionsMap:set("hearts", commands.hearts)
|
|
183
|
-
commandFunctionsMap:set("hitboxes", commands.hitboxes)
|
|
184
|
-
commandFunctionsMap:set("iAmError", commands.iAmError)
|
|
185
|
-
commandFunctionsMap:set("key", commands.key)
|
|
186
|
-
commandFunctionsMap:set("keys", commands.keys)
|
|
187
|
-
commandFunctionsMap:set("knifeDisplay", commandsDisplay.knifeDisplay)
|
|
188
|
-
commandFunctionsMap:set("knivesDisplay", commandsDisplay.knivesDisplay)
|
|
189
|
-
commandFunctionsMap:set("laserDisplay", commandsDisplay.laserDisplay)
|
|
190
|
-
commandFunctionsMap:set("lasersDisplay", commandsDisplay.lasersDisplay)
|
|
191
|
-
commandFunctionsMap:set("left", commands.left)
|
|
192
|
-
commandFunctionsMap:set("library", commands.library)
|
|
193
|
-
commandFunctionsMap:set("list", commands.list)
|
|
194
|
-
commandFunctionsMap:set("listAll", commands.listAll)
|
|
195
|
-
commandFunctionsMap:set("listGrid", commands.listGrid)
|
|
196
|
-
commandFunctionsMap:set("listGridAll", commands.listGridAll)
|
|
197
|
-
commandFunctionsMap:set("lowHP", commands.lowHP)
|
|
198
|
-
commandFunctionsMap:set("luck", commands.luck)
|
|
199
|
-
commandFunctionsMap:set("mana", commands.mana)
|
|
200
|
-
commandFunctionsMap:set("map", commands.map)
|
|
201
|
-
commandFunctionsMap:set("maxHearts", commands.maxHearts)
|
|
202
|
-
commandFunctionsMap:set("mh", commands.mh)
|
|
203
|
-
commandFunctionsMap:set("miniboss", commands.miniboss)
|
|
204
|
-
commandFunctionsMap:set("noCurses", commands.noCurses)
|
|
205
|
-
commandFunctionsMap:set("npcDisplay", commandsDisplay.npcDisplay)
|
|
206
|
-
commandFunctionsMap:set("npcsDisplay", commandsDisplay.npcsDisplay)
|
|
207
|
-
commandFunctionsMap:set("pickupDisplay", commandsDisplay.pickupDisplay)
|
|
208
|
-
commandFunctionsMap:set("pickupsDisplay", commandsDisplay.pickupsDisplay)
|
|
209
|
-
commandFunctionsMap:set("pill", commands.pill)
|
|
210
|
-
commandFunctionsMap:set("pills", commands.pills)
|
|
211
|
-
commandFunctionsMap:set("pitDisplay", commandsDisplay.pitDisplay)
|
|
212
|
-
commandFunctionsMap:set("pitsDisplay", commandsDisplay.pitsDisplay)
|
|
213
|
-
commandFunctionsMap:set("planetarium", commands.planetarium)
|
|
214
|
-
commandFunctionsMap:set("playerDisplay", commandsDisplay.playerDisplay)
|
|
215
|
-
commandFunctionsMap:set("playersDisplay", commandsDisplay.playersDisplay)
|
|
216
|
-
commandFunctionsMap:set("playSound", commands.playSound)
|
|
217
|
-
commandFunctionsMap:set("pocket", commands.pocket)
|
|
218
|
-
commandFunctionsMap:set("poopDisplay", commandsDisplay.poopDisplay)
|
|
219
|
-
commandFunctionsMap:set("poopMana", commands.poopMana)
|
|
220
|
-
commandFunctionsMap:set("poopsDisplay", commandsDisplay.poopsDisplay)
|
|
221
|
-
commandFunctionsMap:set("position", commands.positionCommand)
|
|
222
|
-
commandFunctionsMap:set("pressurePlateDisplay", commandsDisplay.pressurePlateDisplay)
|
|
223
|
-
commandFunctionsMap:set("pressurePlatesDisplay", commandsDisplay.pressurePlatesDisplay)
|
|
224
|
-
commandFunctionsMap:set("projectileDisplay", commandsDisplay.projectileDisplay)
|
|
225
|
-
commandFunctionsMap:set("projectilesDisplay", commandsDisplay.projectilesDisplay)
|
|
226
|
-
commandFunctionsMap:set("redHearts", commands.redHearts)
|
|
227
|
-
commandFunctionsMap:set("rh", commands.rh)
|
|
228
|
-
commandFunctionsMap:set("right", commands.right)
|
|
229
|
-
commandFunctionsMap:set("rockDisplay", commandsDisplay.rockDisplay)
|
|
230
|
-
commandFunctionsMap:set("rocksDisplay", commandsDisplay.rocksDisplay)
|
|
231
|
-
commandFunctionsMap:set("room", commands.roomCommand)
|
|
232
|
-
commandFunctionsMap:set("rottenHearts", commands.rottenHearts)
|
|
233
|
-
commandFunctionsMap:set("s", commands.s)
|
|
234
|
-
commandFunctionsMap:set("sacrifice", commands.sacrifice)
|
|
235
|
-
commandFunctionsMap:set("secret", commands.secret)
|
|
236
|
-
commandFunctionsMap:set("seedStick", commands.seedStick)
|
|
237
|
-
commandFunctionsMap:set("seeds", commands.seedsCommand)
|
|
238
|
-
commandFunctionsMap:set("setCharges", commands.setCharges)
|
|
239
|
-
commandFunctionsMap:set("setPosition", commands.setPosition)
|
|
240
|
-
commandFunctionsMap:set("sh", commands.sh)
|
|
241
|
-
commandFunctionsMap:set("shop", commands.shop)
|
|
242
|
-
commandFunctionsMap:set("slotDisplay", commandsDisplay.slotDisplay)
|
|
243
|
-
commandFunctionsMap:set("slotsDisplay", commandsDisplay.slotsDisplay)
|
|
244
|
-
commandFunctionsMap:set("smelt", commands.smelt)
|
|
245
|
-
commandFunctionsMap:set("soulCharges", commands.soulCharges)
|
|
246
|
-
commandFunctionsMap:set("soulHearts", commands.soulHearts)
|
|
247
|
-
commandFunctionsMap:set("sound", commands.sound)
|
|
248
|
-
commandFunctionsMap:set("sounds", commands.sounds)
|
|
249
|
-
commandFunctionsMap:set("spam", commands.spam)
|
|
250
|
-
commandFunctionsMap:set("spawnGoldenTrinket", commands.spawnGoldenTrinket)
|
|
251
|
-
commandFunctionsMap:set("speed", commands.speed)
|
|
252
|
-
commandFunctionsMap:set("spikeDisplay", commandsDisplay.spikeDisplay)
|
|
253
|
-
commandFunctionsMap:set("spikesDisplay", commandsDisplay.spikesDisplay)
|
|
254
|
-
commandFunctionsMap:set("supersecret", commands.superSecret)
|
|
255
|
-
commandFunctionsMap:set("startingRoom", commands.startingRoom)
|
|
256
|
-
commandFunctionsMap:set("tearDisplay", commandsDisplay.tearDisplay)
|
|
257
|
-
commandFunctionsMap:set("tears", commands.tears)
|
|
258
|
-
commandFunctionsMap:set("tearsDisplay", commandsDisplay.tearsDisplay)
|
|
259
|
-
commandFunctionsMap:set("tntDisplay", commandsDisplay.tntDisplay)
|
|
260
|
-
commandFunctionsMap:set("tntsDisplay", commandsDisplay.tntsDisplay)
|
|
261
|
-
commandFunctionsMap:set("trapdoor", commands.trapdoorCommand)
|
|
262
|
-
commandFunctionsMap:set("treasure", commands.treasure)
|
|
263
|
-
commandFunctionsMap:set("ultraSecret", commands.ultraSecret)
|
|
264
|
-
commandFunctionsMap:set("up", commands.up)
|
|
265
|
-
commandFunctionsMap:set("warp", commands.warp)
|
|
266
237
|
return ____exports
|
|
@@ -11,3 +11,11 @@ declare const v: {
|
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
export default v;
|
|
14
|
+
/** The contents of the map are initialized in the "init.ts" file. */
|
|
15
|
+
export declare const extraConsoleCommandsFunctionMap: Map<string, (params: string) => void>;
|
|
16
|
+
/**
|
|
17
|
+
* Most `isaacscript-common` features are turned on via invoking the `upgradeMod` function. However,
|
|
18
|
+
* this feature is turned on via invoking `enableExtraConsoleCommands`, so we need a separate method
|
|
19
|
+
* to track whether it is initialized.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isExtraConsoleCommandsInitialized(): boolean;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Map = ____lualib.Map
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
1
4
|
local ____exports = {}
|
|
2
5
|
local v = {persistent = {disableCurses = false}, run = {
|
|
3
6
|
chaosCardTears = false,
|
|
@@ -7,4 +10,12 @@ local v = {persistent = {disableCurses = false}, run = {
|
|
|
7
10
|
maxTears = false
|
|
8
11
|
}}
|
|
9
12
|
____exports.default = v
|
|
13
|
+
--- The contents of the map are initialized in the "init.ts" file.
|
|
14
|
+
____exports.extraConsoleCommandsFunctionMap = __TS__New(Map)
|
|
15
|
+
--- Most `isaacscript-common` features are turned on via invoking the `upgradeMod` function. However,
|
|
16
|
+
-- this feature is turned on via invoking `enableExtraConsoleCommands`, so we need a separate method
|
|
17
|
+
-- to track whether it is initialized.
|
|
18
|
+
function ____exports.isExtraConsoleCommandsInitialized(self)
|
|
19
|
+
return ____exports.extraConsoleCommandsFunctionMap.size > 0
|
|
20
|
+
end
|
|
10
21
|
return ____exports
|
|
@@ -21,7 +21,7 @@ function shouldRemoveFadeIn(self)
|
|
|
21
21
|
local gameFrameCount = game:GetFrameCount()
|
|
22
22
|
return not v.run.removedFadeIn and gameFrameCount == 0
|
|
23
23
|
end
|
|
24
|
-
local FEATURE_NAME = "
|
|
24
|
+
local FEATURE_NAME = "fadeInRemover"
|
|
25
25
|
FADE_IN_SPEED = 1
|
|
26
26
|
enabled = false
|
|
27
27
|
v = {run = {removedFadeIn = false}}
|
|
@@ -30,7 +30,7 @@ v = {run = {removedFadeIn = false}}
|
|
|
30
30
|
function ____exports.fadeInRemoverInit(self, mod)
|
|
31
31
|
saveDataManager(
|
|
32
32
|
nil,
|
|
33
|
-
|
|
33
|
+
FEATURE_NAME,
|
|
34
34
|
v,
|
|
35
35
|
function() return false end
|
|
36
36
|
)
|
package/features/fastReset.lua
CHANGED
|
@@ -15,12 +15,12 @@ function isActionTriggered(self, _entity, _inputHook, buttonAction)
|
|
|
15
15
|
end
|
|
16
16
|
return nil
|
|
17
17
|
end
|
|
18
|
-
local FEATURE_NAME = "
|
|
18
|
+
local FEATURE_NAME = "forgottenSwitch"
|
|
19
19
|
v = {run = {shouldSwitch = false}}
|
|
20
20
|
---
|
|
21
21
|
-- @internal
|
|
22
22
|
function ____exports.forgottenSwitchInit(self, mod)
|
|
23
|
-
saveDataManager(nil,
|
|
23
|
+
saveDataManager(nil, FEATURE_NAME, v)
|
|
24
24
|
mod:AddCallback(ModCallback.INPUT_ACTION, isActionTriggered, InputHook.IS_ACTION_TRIGGERED)
|
|
25
25
|
end
|
|
26
26
|
--- When used on The Forgotten, switches to The Soul. When used on The Soul, switches to The
|
|
@@ -11,6 +11,8 @@ local ____cachedClasses = require("cachedClasses")
|
|
|
11
11
|
local game = ____cachedClasses.game
|
|
12
12
|
local ____ModCallbackCustom = require("enums.ModCallbackCustom")
|
|
13
13
|
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
|
|
14
|
+
local ____featuresInitialized = require("featuresInitialized")
|
|
15
|
+
local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
|
|
14
16
|
local ____entity = require("functions.entity")
|
|
15
17
|
local spawn = ____entity.spawn
|
|
16
18
|
local ____roomData = require("functions.roomData")
|
|
@@ -80,6 +82,7 @@ function spawnAndTrack(self, entityType, variant, subType, position, index, resp
|
|
|
80
82
|
v.room.spawnedPersistentEntities:set(ptrHash, tuple)
|
|
81
83
|
return entity
|
|
82
84
|
end
|
|
85
|
+
local FEATURE_NAME = "persistentEntities"
|
|
83
86
|
--- Iterates upward as new persistent entities are created.
|
|
84
87
|
local persistentEntityIndexCounter = 0
|
|
85
88
|
v = {
|
|
@@ -89,7 +92,7 @@ v = {
|
|
|
89
92
|
---
|
|
90
93
|
-- @internal
|
|
91
94
|
function ____exports.persistentEntitiesInit(self, mod)
|
|
92
|
-
saveDataManager(nil,
|
|
95
|
+
saveDataManager(nil, FEATURE_NAME, v)
|
|
93
96
|
mod:AddCallback(ModCallback.POST_ENTITY_REMOVE, postEntityRemove)
|
|
94
97
|
mod:AddCallbackCustom(ModCallbackCustom.POST_NEW_ROOM_REORDERED, postNewRoomReordered)
|
|
95
98
|
end
|
|
@@ -108,6 +111,7 @@ end
|
|
|
108
111
|
-- @returns A tuple containing the entity and the persistent entity index. You can use the index
|
|
109
112
|
-- with the `removePersistentEntity` function.
|
|
110
113
|
function ____exports.spawnPersistentEntity(self, entityType, variant, subType, position)
|
|
114
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
111
115
|
persistentEntityIndexCounter = persistentEntityIndexCounter + 1
|
|
112
116
|
local entity = spawnAndTrack(
|
|
113
117
|
nil,
|
|
@@ -130,6 +134,7 @@ function ____exports.removePersistentEntity(self, persistentEntityIndex, removeE
|
|
|
130
134
|
if removeEntity == nil then
|
|
131
135
|
removeEntity = true
|
|
132
136
|
end
|
|
137
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
133
138
|
v.level.persistentEntities:delete(persistentEntityIndex)
|
|
134
139
|
for ____, ____value in __TS__Iterator(v.room.spawnedPersistentEntities:entries()) do
|
|
135
140
|
local ptrHash = ____value[1]
|
|
@@ -69,7 +69,7 @@ function postCollectibleRemoved(self, player, collectibleType)
|
|
|
69
69
|
local inventory = defaultMapGetPlayer(nil, v.run.playersInventory, player, player)
|
|
70
70
|
arrayRemoveInPlace(nil, inventory, collectibleType)
|
|
71
71
|
end
|
|
72
|
-
local FEATURE_NAME = "
|
|
72
|
+
local FEATURE_NAME = "playerInventory"
|
|
73
73
|
v = {run = {playersInventory = __TS__New(
|
|
74
74
|
DefaultMap,
|
|
75
75
|
function(____, player) return newPlayerInventory(nil, player) end
|
|
@@ -77,7 +77,7 @@ v = {run = {playersInventory = __TS__New(
|
|
|
77
77
|
---
|
|
78
78
|
-- @internal
|
|
79
79
|
function ____exports.playerInventoryInit(self, mod)
|
|
80
|
-
saveDataManager(nil,
|
|
80
|
+
saveDataManager(nil, FEATURE_NAME, v)
|
|
81
81
|
mod:AddCallback(ModCallback.POST_USE_ITEM, useItemD4, CollectibleType.D4)
|
|
82
82
|
mod:AddCallback(ModCallback.POST_GAME_STARTED, postGameStarted)
|
|
83
83
|
mod:AddCallbackCustom(ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED, postCollectibleAdded)
|
|
@@ -38,13 +38,13 @@ function postPEffectUpdateReordered(self, player)
|
|
|
38
38
|
setDeletePlayer(nil, v.run.playersIsPonyActive, player)
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
|
-
local FEATURE_NAME = "
|
|
41
|
+
local FEATURE_NAME = "ponyDetector"
|
|
42
42
|
FLAGS_WHEN_PONY_IS_ACTIVE = {EntityFlag.NO_KNOCKBACK, EntityFlag.NO_PHYSICS_KNOCKBACK, EntityFlag.NO_DAMAGE_BLINK}
|
|
43
43
|
v = {run = {playersIsPonyActive = __TS__New(Set)}}
|
|
44
44
|
---
|
|
45
45
|
-- @internal
|
|
46
46
|
function ____exports.ponyDetectionInit(self, mod)
|
|
47
|
-
saveDataManager(nil,
|
|
47
|
+
saveDataManager(nil, FEATURE_NAME, v)
|
|
48
48
|
mod:AddCallbackCustom(ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, postPEffectUpdateReordered)
|
|
49
49
|
end
|
|
50
50
|
--- Helper function to see if the player is under the effects of A Pony or White Pony charge.
|
|
@@ -39,12 +39,12 @@ function getMapIndex(self, collectible)
|
|
|
39
39
|
local gridIndex = room:GetGridIndex(collectible.Position)
|
|
40
40
|
return (tostring(gridIndex) .. ",") .. tostring(collectible.InitSeed)
|
|
41
41
|
end
|
|
42
|
-
local FEATURE_NAME = "
|
|
42
|
+
local FEATURE_NAME = "preventCollectibleRotation"
|
|
43
43
|
v = {room = {trackedCollectibles = __TS__New(Map)}}
|
|
44
44
|
---
|
|
45
45
|
-- @internal
|
|
46
46
|
function ____exports.preventCollectibleRotationInit(self, mod)
|
|
47
|
-
saveDataManager(nil,
|
|
47
|
+
saveDataManager(nil, FEATURE_NAME, v)
|
|
48
48
|
mod:AddCallback(ModCallback.POST_USE_CARD, useCardSoulOfIsaac, Card.SOUL_ISAAC)
|
|
49
49
|
mod:AddCallback(ModCallback.POST_PICKUP_UPDATE, postPickupUpdateCollectible, PickupVariant.COLLECTIBLE)
|
|
50
50
|
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Map = ____lualib.Map
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local postRender, hotkeyFunctionMap, keyPressedMap
|
|
7
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
8
|
+
local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
|
|
9
|
+
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
|
|
10
|
+
local ____DefaultMap = require("classes.DefaultMap")
|
|
11
|
+
local DefaultMap = ____DefaultMap.DefaultMap
|
|
12
|
+
local ____featuresInitialized = require("featuresInitialized")
|
|
13
|
+
local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
|
|
14
|
+
local ____input = require("functions.input")
|
|
15
|
+
local isKeyboardPressed = ____input.isKeyboardPressed
|
|
16
|
+
function postRender(self)
|
|
17
|
+
for ____, ____value in __TS__Iterator(hotkeyFunctionMap:entries()) do
|
|
18
|
+
local keyboard = ____value[1]
|
|
19
|
+
local func = ____value[2]
|
|
20
|
+
local isPressed = isKeyboardPressed(nil, keyboard)
|
|
21
|
+
local wasPreviouslyPressed = keyPressedMap:getAndSetDefault(keyboard)
|
|
22
|
+
keyPressedMap:set(keyboard, isPressed)
|
|
23
|
+
if isPressed and not wasPreviouslyPressed then
|
|
24
|
+
func(nil)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
local FEATURE_NAME = "registerHotkeys"
|
|
29
|
+
hotkeyFunctionMap = __TS__New(Map)
|
|
30
|
+
keyPressedMap = __TS__New(DefaultMap, false)
|
|
31
|
+
---
|
|
32
|
+
-- @internal
|
|
33
|
+
function ____exports.characterHealthConversionInit(self, mod)
|
|
34
|
+
mod:AddCallback(ModCallback.POST_RENDER, postRender)
|
|
35
|
+
end
|
|
36
|
+
function ____exports.registerHotkey(self, keyboard, func)
|
|
37
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
38
|
+
if hotkeyFunctionMap:has(keyboard) then
|
|
39
|
+
error(((("Failed to register a hotkey for key Keyboard." .. tostring(Keyboard[keyboard])) .. " (") .. tostring(keyboard)) .. ") due to a custom hotkey already being defined for that key.")
|
|
40
|
+
end
|
|
41
|
+
hotkeyFunctionMap:set(keyboard, func)
|
|
42
|
+
end
|
|
43
|
+
function ____exports.unregisterHotkey(self, keyboard)
|
|
44
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
45
|
+
if not hotkeyFunctionMap:has(keyboard) then
|
|
46
|
+
error(((("Failed to unregister a hotkey for key Keyboard." .. tostring(Keyboard[keyboard])) .. " (") .. tostring(keyboard)) .. ") due to no function being defined for that key.")
|
|
47
|
+
end
|
|
48
|
+
hotkeyFunctionMap:delete(keyboard)
|
|
49
|
+
end
|
|
50
|
+
return ____exports
|
|
@@ -15,12 +15,12 @@ function postRoomClearChangedTrue(self)
|
|
|
15
15
|
v.room.roomClearGameFrame = gameFrameCount
|
|
16
16
|
v.room.roomClearRoomFrame = roomFrameCount
|
|
17
17
|
end
|
|
18
|
-
local FEATURE_NAME = "
|
|
18
|
+
local FEATURE_NAME = "roomClearFrame"
|
|
19
19
|
v = {room = {roomClearGameFrame = nil, roomClearRoomFrame = nil}}
|
|
20
20
|
---
|
|
21
21
|
-- @internal
|
|
22
22
|
function ____exports.roomClearFrameInit(self, mod)
|
|
23
|
-
saveDataManager(nil,
|
|
23
|
+
saveDataManager(nil, FEATURE_NAME, v)
|
|
24
24
|
mod:AddCallbackCustom(ModCallbackCustom.POST_ROOM_CLEAR_CHANGED, postRoomClearChangedTrue, true)
|
|
25
25
|
end
|
|
26
26
|
--- Helper function to get the game frame (i.e. `Game.GetFrameCount`) of the last time that this room
|
|
@@ -39,14 +39,14 @@ function checkExecuteQueuedFunctions(self, frameCount, functionTuples)
|
|
|
39
39
|
func(nil)
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
|
-
local FEATURE_NAME = "
|
|
42
|
+
local FEATURE_NAME = "runInNFrames"
|
|
43
43
|
v = {run = {queuedGameFunctionTuples = {}, queuedRenderFunctionTuples = {}}}
|
|
44
44
|
---
|
|
45
45
|
-- @internal
|
|
46
46
|
function ____exports.runInNFramesInit(self, mod)
|
|
47
47
|
saveDataManager(
|
|
48
48
|
nil,
|
|
49
|
-
|
|
49
|
+
FEATURE_NAME,
|
|
50
50
|
v,
|
|
51
51
|
function() return false end
|
|
52
52
|
)
|