isaacscript-common 9.8.1 → 9.8.2

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.
@@ -90,7 +90,7 @@ function preUseItemBible(self, _collectibleType, _rng, player, _useFlags, _activ
90
90
  end
91
91
  v = {run = {playersLastDamageGameFrame = __TS__New(Map)}}
92
92
  function ____exports.postPlayerFatalDamageInit(self, mod)
93
- saveDataManager(nil, "postPlayerFatalDamage", v)
93
+ saveDataManager(nil, "postPlayerFatalDamage", v, hasSubscriptions)
94
94
  mod:AddCallback(ModCallback.ENTITY_TAKE_DMG, entityTakeDmgPlayer, EntityType.PLAYER)
95
95
  mod:AddCallback(ModCallback.PRE_USE_ITEM, preUseItemBible, CollectibleType.BIBLE)
96
96
  end
@@ -157,12 +157,7 @@ end
157
157
  -- initialized.
158
158
  function ____exports.debugDisplayInit(self, mod)
159
159
  setDebugDisplayEnabled(nil)
160
- saveDataManager(
161
- nil,
162
- "debugDisplay",
163
- v,
164
- function() return false end
165
- )
160
+ saveDataManager(nil, "debugDisplay", v, false)
166
161
  mod:AddCallback(ModCallback.POST_FAMILIAR_RENDER, postFamiliarRender)
167
162
  mod:AddCallback(ModCallback.POST_NPC_RENDER, postNPCRender)
168
163
  mod:AddCallback(ModCallback.POST_PLAYER_RENDER, postPlayerRender)
@@ -1,7 +1,8 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local Map = ____lualib.Map
3
+ local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
3
4
  local ____exports = {}
4
- local initMap, initCallbacks, postUpdate, evaluateCacheFireDelay, evaluateCacheSpeed, evaluateCacheFlying, entityTakeDmgPlayer, postCurseEval, executeCmd, postFireTear
5
+ local initCommandMap, initCallbacks, postUpdate, evaluateCacheFireDelay, evaluateCacheSpeed, evaluateCacheFlying, entityTakeDmgPlayer, postCurseEval, executeCmd, postFireTear
5
6
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
6
7
  local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
7
8
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
@@ -12,6 +13,7 @@ local TearVariant = ____isaac_2Dtypescript_2Ddefinitions.TearVariant
12
13
  local ____constants = require("core.constants")
13
14
  local MAX_SPEED_STAT = ____constants.MAX_SPEED_STAT
14
15
  local ____flag = require("functions.flag")
16
+ local addFlag = ____flag.addFlag
15
17
  local bitFlags = ____flag.bitFlags
16
18
  local ____map = require("functions.map")
17
19
  local getMapPartialMatch = ____map.getMapPartialMatch
@@ -26,157 +28,17 @@ local commands = require("features.extraConsoleCommands.listCommands")
26
28
  local ____v = require("features.extraConsoleCommands.v")
27
29
  local v = ____v.default
28
30
  local extraConsoleCommandsFunctionMap = ____v.extraConsoleCommandsFunctionMap
29
- function initMap(self)
30
- extraConsoleCommandsFunctionMap:set("1hp", commands.oneHP)
31
- extraConsoleCommandsFunctionMap:set("addCharges", commands.addCharges)
32
- extraConsoleCommandsFunctionMap:set("angelRoom", commands.angelRoom)
33
- extraConsoleCommandsFunctionMap:set("ascent", commands.ascent)
34
- extraConsoleCommandsFunctionMap:set("bedroom", commands.bedroom)
35
- extraConsoleCommandsFunctionMap:set("bh", commands.bh)
36
- extraConsoleCommandsFunctionMap:set("blackhearts", commands.blackHearts)
37
- extraConsoleCommandsFunctionMap:set("blackMarket", commands.blackMarket)
38
- extraConsoleCommandsFunctionMap:set("bloodCharges", commands.bloodCharges)
39
- extraConsoleCommandsFunctionMap:set("bm", commands.bm)
40
- extraConsoleCommandsFunctionMap:set("bomb", commands.bomb)
41
- extraConsoleCommandsFunctionMap:set("bombDisplay", commandsDisplay.bombDisplay)
42
- extraConsoleCommandsFunctionMap:set("bombsDisplay", commandsDisplay.bombsDisplay)
43
- extraConsoleCommandsFunctionMap:set("bombs", commands.bombs)
44
- extraConsoleCommandsFunctionMap:set("boneHearts", commands.boneHearts)
45
- extraConsoleCommandsFunctionMap:set("boss", commands.boss)
46
- extraConsoleCommandsFunctionMap:set("bossNextRoom", commands.bossNextRoom)
47
- extraConsoleCommandsFunctionMap:set("bossRoom", commands.bossRoom)
48
- extraConsoleCommandsFunctionMap:set("bossRush", commands.bossRush)
49
- extraConsoleCommandsFunctionMap:set("brokenHearts", commands.brokenHearts)
50
- extraConsoleCommandsFunctionMap:set("card", commands.card)
51
- extraConsoleCommandsFunctionMap:set("cards", commands.cards)
52
- extraConsoleCommandsFunctionMap:set("cc", commands.cc)
53
- extraConsoleCommandsFunctionMap:set("getChallenge", commands.getChallenge)
54
- extraConsoleCommandsFunctionMap:set("chaosCardTears", commands.chaosCardTears)
55
- extraConsoleCommandsFunctionMap:set("character", commands.characterCommand)
56
- extraConsoleCommandsFunctionMap:set("charge", commands.charge)
57
- extraConsoleCommandsFunctionMap:set("cleanBedroom", commands.cleanBedroom)
58
- extraConsoleCommandsFunctionMap:set("coin", commands.coin)
59
- extraConsoleCommandsFunctionMap:set("coins", commands.coins)
60
- extraConsoleCommandsFunctionMap:set("crawlSpace", commands.crawlSpace)
61
- extraConsoleCommandsFunctionMap:set("d20", commands.d20)
62
- extraConsoleCommandsFunctionMap:set("d6", commands.d6)
63
- extraConsoleCommandsFunctionMap:set("dadsNote", commands.dadsNote)
64
- extraConsoleCommandsFunctionMap:set("damage", commands.damage)
65
- extraConsoleCommandsFunctionMap:set("dd", commands.dd)
66
- extraConsoleCommandsFunctionMap:set("devilRoom", commands.devilRoom)
67
- extraConsoleCommandsFunctionMap:set("dirtyBedroom", commands.dirtyBedroom)
68
- extraConsoleCommandsFunctionMap:set("disableCurses", commands.disableCurses)
69
- extraConsoleCommandsFunctionMap:set("doorDisplay", commandsDisplay.doorDisplay)
70
- extraConsoleCommandsFunctionMap:set("doorsDisplay", commandsDisplay.doorsDisplay)
71
- extraConsoleCommandsFunctionMap:set("down", commands.down)
72
- extraConsoleCommandsFunctionMap:set("dungeon", commands.dungeon)
73
- extraConsoleCommandsFunctionMap:set("effectDisplay", commandsDisplay.effectDisplay)
74
- extraConsoleCommandsFunctionMap:set("effects", commands.effects)
75
- extraConsoleCommandsFunctionMap:set("effectsDisplay", commandsDisplay.effectsDisplay)
76
- extraConsoleCommandsFunctionMap:set("eh", commands.eh)
77
- extraConsoleCommandsFunctionMap:set("errorRoom", commands.errorRoom)
78
- extraConsoleCommandsFunctionMap:set("eternalHearts", commands.eternalHearts)
79
- extraConsoleCommandsFunctionMap:set("familiarDisplay", commandsDisplay.familiarDisplay)
80
- extraConsoleCommandsFunctionMap:set("familiarsDisplay", commandsDisplay.familiarsDisplay)
81
- extraConsoleCommandsFunctionMap:set("flight", commands.flight)
82
- extraConsoleCommandsFunctionMap:set("fool", commands.fool)
83
- extraConsoleCommandsFunctionMap:set("getPosition", commands.getPosition)
84
- extraConsoleCommandsFunctionMap:set("gigaBomb", commands.gigaBomb)
85
- extraConsoleCommandsFunctionMap:set("goldBomb", commands.goldBomb)
86
- extraConsoleCommandsFunctionMap:set("goldHearts", commands.goldHearts)
87
- extraConsoleCommandsFunctionMap:set("goldKey", commands.goldKey)
88
- extraConsoleCommandsFunctionMap:set("goldenBomb", commands.goldenBomb)
89
- extraConsoleCommandsFunctionMap:set("goldenHearts", commands.goldenHearts)
90
- extraConsoleCommandsFunctionMap:set("goldenKey", commands.goldenKey)
91
- extraConsoleCommandsFunctionMap:set("grid", commands.grid)
92
- extraConsoleCommandsFunctionMap:set("grid2", commands.grid2)
93
- extraConsoleCommandsFunctionMap:set("gridCosts", commands.gridCosts)
94
- extraConsoleCommandsFunctionMap:set("gridEntities", commands.gridEntities)
95
- extraConsoleCommandsFunctionMap:set("hearts", commands.hearts)
96
- extraConsoleCommandsFunctionMap:set("hitboxes", commands.hitboxes)
97
- extraConsoleCommandsFunctionMap:set("iAmErrorRoom", commands.iAmErrorRoom)
98
- extraConsoleCommandsFunctionMap:set("key", commands.key)
99
- extraConsoleCommandsFunctionMap:set("keys", commands.keys)
100
- extraConsoleCommandsFunctionMap:set("knifeDisplay", commandsDisplay.knifeDisplay)
101
- extraConsoleCommandsFunctionMap:set("knivesDisplay", commandsDisplay.knivesDisplay)
102
- extraConsoleCommandsFunctionMap:set("laserDisplay", commandsDisplay.laserDisplay)
103
- extraConsoleCommandsFunctionMap:set("lasersDisplay", commandsDisplay.lasersDisplay)
104
- extraConsoleCommandsFunctionMap:set("left", commands.left)
105
- extraConsoleCommandsFunctionMap:set("library", commands.library)
106
- extraConsoleCommandsFunctionMap:set("list", commands.list)
107
- extraConsoleCommandsFunctionMap:set("listAll", commands.listAll)
108
- extraConsoleCommandsFunctionMap:set("listGrid", commands.listGrid)
109
- extraConsoleCommandsFunctionMap:set("listGridAll", commands.listGridAll)
110
- extraConsoleCommandsFunctionMap:set("lowHP", commands.lowHP)
111
- extraConsoleCommandsFunctionMap:set("luck", commands.luck)
112
- extraConsoleCommandsFunctionMap:set("mana", commands.mana)
113
- extraConsoleCommandsFunctionMap:set("map", commands.map)
114
- extraConsoleCommandsFunctionMap:set("maxHearts", commands.maxHearts)
115
- extraConsoleCommandsFunctionMap:set("miniboss", commands.miniboss)
116
- extraConsoleCommandsFunctionMap:set("noCurses", commands.noCurses)
117
- extraConsoleCommandsFunctionMap:set("npcDisplay", commandsDisplay.npcDisplay)
118
- extraConsoleCommandsFunctionMap:set("npcsDisplay", commandsDisplay.npcsDisplay)
119
- extraConsoleCommandsFunctionMap:set("pickupDisplay", commandsDisplay.pickupDisplay)
120
- extraConsoleCommandsFunctionMap:set("pickupsDisplay", commandsDisplay.pickupsDisplay)
121
- extraConsoleCommandsFunctionMap:set("pill", commands.pill)
122
- extraConsoleCommandsFunctionMap:set("pills", commands.pills)
123
- extraConsoleCommandsFunctionMap:set("pitDisplay", commandsDisplay.pitDisplay)
124
- extraConsoleCommandsFunctionMap:set("pitsDisplay", commandsDisplay.pitsDisplay)
125
- extraConsoleCommandsFunctionMap:set("planetarium", commands.planetarium)
126
- extraConsoleCommandsFunctionMap:set("playerDisplay", commandsDisplay.playerDisplay)
127
- extraConsoleCommandsFunctionMap:set("playersDisplay", commandsDisplay.playersDisplay)
128
- extraConsoleCommandsFunctionMap:set("playSound", commands.playSound)
129
- extraConsoleCommandsFunctionMap:set("pocket", commands.pocket)
130
- extraConsoleCommandsFunctionMap:set("poopDisplay", commandsDisplay.poopDisplay)
131
- extraConsoleCommandsFunctionMap:set("poopMana", commands.poopMana)
132
- extraConsoleCommandsFunctionMap:set("poopsDisplay", commandsDisplay.poopsDisplay)
133
- extraConsoleCommandsFunctionMap:set("position", commands.positionCommand)
134
- extraConsoleCommandsFunctionMap:set("pressurePlateDisplay", commandsDisplay.pressurePlateDisplay)
135
- extraConsoleCommandsFunctionMap:set("pressurePlatesDisplay", commandsDisplay.pressurePlatesDisplay)
136
- extraConsoleCommandsFunctionMap:set("projectileDisplay", commandsDisplay.projectileDisplay)
137
- extraConsoleCommandsFunctionMap:set("projectilesDisplay", commandsDisplay.projectilesDisplay)
138
- extraConsoleCommandsFunctionMap:set("redHearts", commands.redHearts)
139
- extraConsoleCommandsFunctionMap:set("right", commands.right)
140
- extraConsoleCommandsFunctionMap:set("rockDisplay", commandsDisplay.rockDisplay)
141
- extraConsoleCommandsFunctionMap:set("rocksDisplay", commandsDisplay.rocksDisplay)
142
- extraConsoleCommandsFunctionMap:set("room", commands.roomCommand)
143
- extraConsoleCommandsFunctionMap:set("rottenHearts", commands.rottenHearts)
144
- extraConsoleCommandsFunctionMap:set("runTests", commands.runTests)
145
- extraConsoleCommandsFunctionMap:set("s", commands.s)
146
- extraConsoleCommandsFunctionMap:set("sacrificeRoom", commands.sacrificeRoom)
147
- extraConsoleCommandsFunctionMap:set("secretRoom", commands.secretRoom)
148
- extraConsoleCommandsFunctionMap:set("seedStick", commands.seedStick)
149
- extraConsoleCommandsFunctionMap:set("seeds", commands.seedsCommand)
150
- extraConsoleCommandsFunctionMap:set("setCharges", commands.setCharges)
151
- extraConsoleCommandsFunctionMap:set("setPosition", commands.setPosition)
152
- extraConsoleCommandsFunctionMap:set("shop", commands.shop)
153
- extraConsoleCommandsFunctionMap:set("slotDisplay", commandsDisplay.slotDisplay)
154
- extraConsoleCommandsFunctionMap:set("slotsDisplay", commandsDisplay.slotsDisplay)
155
- extraConsoleCommandsFunctionMap:set("smelt", commands.smelt)
156
- extraConsoleCommandsFunctionMap:set("soulCharges", commands.soulCharges)
157
- extraConsoleCommandsFunctionMap:set("soulHearts", commands.soulHearts)
158
- extraConsoleCommandsFunctionMap:set("sound", commands.sound)
159
- extraConsoleCommandsFunctionMap:set("sounds", commands.sounds)
160
- extraConsoleCommandsFunctionMap:set("spam", commands.spam)
161
- extraConsoleCommandsFunctionMap:set("spawnGoldenTrinket", commands.spawnGoldenTrinket)
162
- extraConsoleCommandsFunctionMap:set("speed", commands.speed)
163
- extraConsoleCommandsFunctionMap:set("spikeDisplay", commandsDisplay.spikeDisplay)
164
- extraConsoleCommandsFunctionMap:set("spikesDisplay", commandsDisplay.spikesDisplay)
165
- extraConsoleCommandsFunctionMap:set("superSecretRoom", commands.superSecretRoom)
166
- extraConsoleCommandsFunctionMap:set("startingRoom", commands.startingRoom)
167
- extraConsoleCommandsFunctionMap:set("startRoom", commands.startRoom)
168
- extraConsoleCommandsFunctionMap:set("tearDisplay", commandsDisplay.tearDisplay)
169
- extraConsoleCommandsFunctionMap:set("tears", commands.tears)
170
- extraConsoleCommandsFunctionMap:set("tearsDisplay", commandsDisplay.tearsDisplay)
171
- extraConsoleCommandsFunctionMap:set("tests", commands.tests)
172
- extraConsoleCommandsFunctionMap:set("tntDisplay", commandsDisplay.tntDisplay)
173
- extraConsoleCommandsFunctionMap:set("tntsDisplay", commandsDisplay.tntsDisplay)
174
- extraConsoleCommandsFunctionMap:set("trapdoor", commands.trapdoorCommand)
175
- extraConsoleCommandsFunctionMap:set("treasureRoom", commands.treasureRoom)
176
- extraConsoleCommandsFunctionMap:set("ultraSecretRoom", commands.ultraSecretRoom)
177
- extraConsoleCommandsFunctionMap:set("unseed", commands.unseed)
178
- extraConsoleCommandsFunctionMap:set("up", commands.up)
179
- extraConsoleCommandsFunctionMap:set("warp", commands.warp)
31
+ function initCommandMap(self)
32
+ for ____, ____value in ipairs(__TS__ObjectEntries(commands)) do
33
+ local funcName = ____value[1]
34
+ local func = ____value[2]
35
+ extraConsoleCommandsFunctionMap:set(funcName, func)
36
+ end
37
+ for ____, ____value in ipairs(__TS__ObjectEntries(commandsDisplay)) do
38
+ local funcName = ____value[1]
39
+ local func = ____value[2]
40
+ extraConsoleCommandsFunctionMap:set(funcName, func)
41
+ end
180
42
  end
181
43
  function initCallbacks(self, mod)
182
44
  mod:AddCallback(ModCallback.POST_UPDATE, postUpdate)
@@ -216,7 +78,41 @@ function entityTakeDmgPlayer(self, _entity, _damageAmount, _damageFlags, _damage
216
78
  return nil
217
79
  end
218
80
  function postCurseEval(self, curses)
219
- return v.persistent.disableCurses and bitFlags(nil, LevelCurse.NONE) or curses
81
+ if v.persistent.disableCurses then
82
+ return bitFlags(nil, LevelCurse.NONE)
83
+ end
84
+ local newCurses = curses
85
+ if v.persistent.darkness then
86
+ newCurses = addFlag(nil, newCurses, LevelCurse.DARKNESS)
87
+ end
88
+ if v.persistent.labyrinth then
89
+ newCurses = addFlag(nil, newCurses, LevelCurse.LABYRINTH)
90
+ end
91
+ if v.persistent.lost then
92
+ newCurses = addFlag(nil, newCurses, LevelCurse.LOST)
93
+ end
94
+ if v.persistent.unknown then
95
+ newCurses = addFlag(nil, newCurses, LevelCurse.UNKNOWN)
96
+ end
97
+ if v.persistent.cursed then
98
+ newCurses = addFlag(nil, newCurses, LevelCurse.CURSED)
99
+ end
100
+ if v.persistent.maze then
101
+ newCurses = addFlag(nil, newCurses, LevelCurse.MAZE)
102
+ end
103
+ if v.persistent.blind then
104
+ newCurses = addFlag(nil, newCurses, LevelCurse.BLIND)
105
+ end
106
+ if v.persistent.giant then
107
+ newCurses = addFlag(nil, newCurses, LevelCurse.GIANT)
108
+ end
109
+ local ____temp_0
110
+ if curses == newCurses then
111
+ ____temp_0 = nil
112
+ else
113
+ ____temp_0 = newCurses
114
+ end
115
+ return ____temp_0
220
116
  end
221
117
  function executeCmd(self, command, params)
222
118
  local resultTuple = getMapPartialMatch(nil, command, extraConsoleCommandsFunctionMap)
@@ -238,13 +134,8 @@ function postFireTear(self, tear)
238
134
  end
239
135
  end
240
136
  function ____exports.extraConsoleCommandsInit(self, mod)
241
- saveDataManager(
242
- nil,
243
- "extraConsoleCommands",
244
- v,
245
- function() return false end
246
- )
247
- initMap(nil)
137
+ saveDataManager(nil, "extraConsoleCommands", v, false)
138
+ initCommandMap(nil)
248
139
  initCallbacks(nil, mod)
249
140
  debugDisplayInit(nil, mod)
250
141
  end
@@ -22,6 +22,8 @@ export declare function bh(params: string): void;
22
22
  export declare function blackHearts(params: string): void;
23
23
  /** Warps to the Black Market for the floor. */
24
24
  export declare function blackMarket(): void;
25
+ /** Toggles permanent Curse of the Blind. */
26
+ export declare function blind(): void;
25
27
  /**
26
28
  * Gives a blood charge. This only affects Bethany. Provide a number to give a custom amount of
27
29
  * charges. (You can use negative numbers to remove charges.)
@@ -69,8 +71,6 @@ export declare function card(params: string): void;
69
71
  export declare function cards(): void;
70
72
  /** Alias for the "chaosCardTears" command. */
71
73
  export declare function cc(): void;
72
- /** Displays the current challenge, if any. */
73
- export declare function getChallenge(): void;
74
74
  /**
75
75
  * Toggles Chaos Card tears for the player. Useful for killing enemies very fast without using
76
76
  * "debug 10".
@@ -101,6 +101,8 @@ export declare function coin(params: string): void;
101
101
  export declare function coins(params: string): void;
102
102
  /** Creates a crawl space next to the player. */
103
103
  export declare function crawlSpace(): void;
104
+ /** Toggles permanent Curse of the Cursed. */
105
+ export declare function cursed(): void;
104
106
  /** Uses the D20. */
105
107
  export declare function d20(): void;
106
108
  /** Uses the D6. */
@@ -109,6 +111,8 @@ export declare function d6(): void;
109
111
  export declare function dadsNote(): void;
110
112
  /** Toggles extremely high-damage tears for the player. */
111
113
  export declare function damage(): void;
114
+ /** Toggles permanent Curse of Darkness. */
115
+ export declare function darkness(): void;
112
116
  /** Alias for the "devil" command. */
113
117
  export declare function dd(): void;
114
118
  /**
@@ -139,8 +143,12 @@ export declare function eternalHearts(params: string): void;
139
143
  export declare function flight(params: string): void;
140
144
  /** Alias for the "startingRoom" command. */
141
145
  export declare function fool(): void;
146
+ /** Displays the current challenge, if any. */
147
+ export declare function getChallenge(): void;
142
148
  /** Prints the current position of all players. */
143
149
  export declare function getPosition(): void;
150
+ /** Toggles permanent Curse of the Giant. */
151
+ export declare function giant(): void;
144
152
  /**
145
153
  * Gives a Giga Bomb. Provide a number to give a custom amount of Giga Bombs. (You can use negative
146
154
  * numbers to remove bombs.)
@@ -191,6 +199,8 @@ export declare function key(params: string): void;
191
199
  * to remove keys.)
192
200
  */
193
201
  export declare function keys(params: string): void;
202
+ /** Toggles permanent Curse of the Labyrinth. */
203
+ export declare function labyrinth(): void;
194
204
  /** Moves the player 0.5 units left. Provide a number to move a custom amount of units. */
195
205
  export declare function left(params: string): void;
196
206
  /** Warps to the first Library on the floor. */
@@ -221,6 +231,8 @@ export declare function listGrid(params: string): void;
221
231
  * specific `GridEntityType`.
222
232
  */
223
233
  export declare function listGridAll(params: string): void;
234
+ /** Toggles permanent Curse of the Lost. */
235
+ export declare function lost(): void;
224
236
  /** Alias for the "1hp" command. */
225
237
  export declare function lowHP(): void;
226
238
  /** Alias for "debug 9". */
@@ -234,6 +246,8 @@ export declare function map(): void;
234
246
  * use negative numbers to remove heart containers.)
235
247
  */
236
248
  export declare function maxHearts(params: string): void;
249
+ /** Toggles permanent Curse of the Maze. */
250
+ export declare function maze(): void;
237
251
  /** Warps to the first Miniboss Room on the floor. */
238
252
  export declare function miniboss(): void;
239
253
  /** Alias for the "disableCurses" command. */
@@ -344,10 +358,10 @@ export declare function spam(): void;
344
358
  export declare function spawnGoldenTrinket(params: string): void;
345
359
  /** Toggles maximum movement speed and flight for the player. */
346
360
  export declare function speed(): void;
347
- /** Warps to the starting room of the floor. */
348
- export declare function startingRoom(): void;
349
361
  /** Alias for the "startingRoom" command. */
350
362
  export declare function startRoom(): void;
363
+ /** Warps to the starting room of the floor. */
364
+ export declare function startingRoom(): void;
351
365
  /** Warps to the first Super Secret Room on the floor. */
352
366
  export declare function superSecretRoom(): void;
353
367
  /**
@@ -363,6 +377,8 @@ export declare function trapdoorCommand(): void;
363
377
  export declare function treasureRoom(): void;
364
378
  /** Warps to the first Ultra Secret Room on the floor. */
365
379
  export declare function ultraSecretRoom(): void;
380
+ /** Toggles permanent Curse of the Unknown. */
381
+ export declare function unknown(): void;
366
382
  /** If currently on a set seed, changes to an unseeded state and restarts the game. */
367
383
  export declare function unseed(): void;
368
384
  /** Moves the player 0.5 units up. Provide a number to move a custom amount of units. */
@@ -1 +1 @@
1
- {"version":3,"file":"listCommands.d.ts","sourceRoot":"","sources":["../../../src/features/extraConsoleCommands/listCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listCommands.d.ts","sourceRoot":"","sources":["../../../src/features/extraConsoleCommands/listCommands.ts"],"names":[],"mappings":"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"}
@@ -279,6 +279,11 @@ end
279
279
  function ____exports.blackMarket(self)
280
280
  changeRoom(nil, GridRoom.BLACK_MARKET)
281
281
  end
282
+ --- Toggles permanent Curse of the Blind.
283
+ function ____exports.blind(self)
284
+ v.persistent.blind = not v.persistent.blind
285
+ printEnabled(nil, not v.persistent.blind, "permanent Curse of the Blind")
286
+ end
282
287
  --- Gives a blood charge. This only affects Bethany. Provide a number to give a custom amount of
283
288
  -- charges. (You can use negative numbers to remove charges.)
284
289
  function ____exports.bloodCharges(self, params)
@@ -418,13 +423,6 @@ end
418
423
  function ____exports.cc(self)
419
424
  ____exports.chaosCardTears(nil)
420
425
  end
421
- --- Displays the current challenge, if any.
422
- function ____exports.getChallenge(self)
423
- local challenge = Isaac.GetChallenge()
424
- local challengeName = Challenge[challenge]
425
- local challengeDescription = challengeName == nil and tostring(challenge) .. " (custom)" or ((("Challenge." .. challengeName) .. " (") .. tostring(challenge)) .. ")"
426
- printConsole(nil, "The current challenge is: " .. challengeDescription)
427
- end
428
426
  --- Restart as the specified character. Accepts either the character sub-type or the partial name of
429
427
  -- the character.
430
428
  --
@@ -504,6 +502,11 @@ end
504
502
  function ____exports.crawlSpace(self)
505
503
  spawnTrapdoorOrCrawlSpace(nil, false)
506
504
  end
505
+ --- Toggles permanent Curse of the Cursed.
506
+ function ____exports.cursed(self)
507
+ v.persistent.cursed = not v.persistent.cursed
508
+ printEnabled(nil, not v.persistent.cursed, "permanent Curse of the Cursed")
509
+ end
507
510
  --- Uses the D20.
508
511
  function ____exports.d20(self)
509
512
  local player = Isaac.GetPlayer()
@@ -525,6 +528,11 @@ function ____exports.damage(self)
525
528
  v.run.maxDamage = not v.run.maxDamage
526
529
  printEnabled(nil, v.run.maxDamage, "debug damage")
527
530
  end
531
+ --- Toggles permanent Curse of Darkness.
532
+ function ____exports.darkness(self)
533
+ v.persistent.darkness = not v.persistent.darkness
534
+ printEnabled(nil, not v.persistent.darkness, "permanent Curse of Darkness")
535
+ end
528
536
  --- Alias for the "devil" command.
529
537
  function ____exports.dd(self)
530
538
  ____exports.devilRoom(nil)
@@ -583,6 +591,13 @@ end
583
591
  function ____exports.fool(self)
584
592
  ____exports.startingRoom(nil)
585
593
  end
594
+ --- Displays the current challenge, if any.
595
+ function ____exports.getChallenge(self)
596
+ local challenge = Isaac.GetChallenge()
597
+ local challengeName = Challenge[challenge]
598
+ local challengeDescription = challengeName == nil and tostring(challenge) .. " (custom)" or ((("Challenge." .. challengeName) .. " (") .. tostring(challenge)) .. ")"
599
+ printConsole(nil, "The current challenge is: " .. challengeDescription)
600
+ end
586
601
  --- Prints the current position of all players.
587
602
  function ____exports.getPosition(self)
588
603
  for ____, player in ipairs(getPlayers(nil)) do
@@ -593,6 +608,11 @@ function ____exports.getPosition(self)
593
608
  )
594
609
  end
595
610
  end
611
+ --- Toggles permanent Curse of the Giant.
612
+ function ____exports.giant(self)
613
+ v.persistent.giant = not v.persistent.giant
614
+ printEnabled(nil, not v.persistent.giant, "permanent Curse of the Giant")
615
+ end
596
616
  --- Gives a Giga Bomb. Provide a number to give a custom amount of Giga Bombs. (You can use negative
597
617
  -- numbers to remove bombs.)
598
618
  function ____exports.gigaBomb(self, params)
@@ -692,6 +712,11 @@ function ____exports.keys(self, params)
692
712
  local player = Isaac.GetPlayer()
693
713
  player:AddKeys(numKeys)
694
714
  end
715
+ --- Toggles permanent Curse of the Labyrinth.
716
+ function ____exports.labyrinth(self)
717
+ v.persistent.labyrinth = not v.persistent.labyrinth
718
+ printEnabled(nil, not v.persistent.labyrinth, "permanent Curse of the Labyrinth")
719
+ end
695
720
  --- Moves the player 0.5 units left. Provide a number to move a custom amount of units.
696
721
  function ____exports.left(self, params)
697
722
  movePlayer(nil, params, Direction.LEFT)
@@ -726,6 +751,11 @@ end
726
751
  function ____exports.listGridAll(self, params)
727
752
  listGridEntities(nil, params, true)
728
753
  end
754
+ --- Toggles permanent Curse of the Lost.
755
+ function ____exports.lost(self)
756
+ v.persistent.lost = not v.persistent.lost
757
+ printEnabled(nil, not v.persistent.lost, "permanent Curse of the Lost")
758
+ end
729
759
  --- Alias for the "1hp" command.
730
760
  function ____exports.lowHP(self)
731
761
  ____exports.oneHP(nil)
@@ -753,6 +783,11 @@ end
753
783
  function ____exports.maxHearts(self, params)
754
784
  addHeart(nil, params, HealthType.MAX_HEARTS)
755
785
  end
786
+ --- Toggles permanent Curse of the Maze.
787
+ function ____exports.maze(self)
788
+ v.persistent.maze = not v.persistent.maze
789
+ printEnabled(nil, not v.persistent.maze, "permanent Curse of the Maze")
790
+ end
756
791
  --- Warps to the first Miniboss Room on the floor.
757
792
  function ____exports.miniboss(self)
758
793
  warpToRoomType(nil, RoomType.MINI_BOSS)
@@ -1125,6 +1160,11 @@ end
1125
1160
  function ____exports.ultraSecretRoom(self)
1126
1161
  warpToRoomType(nil, RoomType.ULTRA_SECRET)
1127
1162
  end
1163
+ --- Toggles permanent Curse of the Unknown.
1164
+ function ____exports.unknown(self)
1165
+ v.persistent.unknown = not v.persistent.unknown
1166
+ printEnabled(nil, not v.persistent.unknown, "permanent Curse of the Unknown")
1167
+ end
1128
1168
  --- If currently on a set seed, changes to an unseeded state and restarts the game.
1129
1169
  function ____exports.unseed(self)
1130
1170
  if not onSetSeed(nil) then
@@ -1,5 +1,13 @@
1
1
  declare const v: {
2
2
  persistent: {
3
+ darkness: boolean;
4
+ labyrinth: boolean;
5
+ lost: boolean;
6
+ unknown: boolean;
7
+ cursed: boolean;
8
+ maze: boolean;
9
+ blind: boolean;
10
+ giant: boolean;
3
11
  disableCurses: boolean;
4
12
  };
5
13
  run: {
@@ -1 +1 @@
1
- {"version":3,"file":"v.d.ts","sourceRoot":"","sources":["../../../src/features/extraConsoleCommands/v.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,CAAC;;;;;;;;;;;;CAaN,CAAC;AACF,eAAe,CAAC,CAAC;AAEjB,qEAAqE;AACrE,eAAO,MAAM,+BAA+B,uBAEjC,MAAM,KAAK,IAAI,CACvB,CAAC;AAEJ;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D"}
1
+ {"version":3,"file":"v.d.ts","sourceRoot":"","sources":["../../../src/features/extraConsoleCommands/v.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;CAsBN,CAAC;AACF,eAAe,CAAC,CAAC;AAEjB,qEAAqE;AACrE,eAAO,MAAM,+BAA+B,uBAEjC,MAAM,KAAK,IAAI,CACvB,CAAC;AAEJ;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D"}
@@ -2,7 +2,17 @@ local ____lualib = require("lualib_bundle")
2
2
  local Map = ____lualib.Map
3
3
  local __TS__New = ____lualib.__TS__New
4
4
  local ____exports = {}
5
- local v = {persistent = {disableCurses = false}, run = {
5
+ local v = {persistent = {
6
+ darkness = false,
7
+ labyrinth = false,
8
+ lost = false,
9
+ unknown = false,
10
+ cursed = false,
11
+ maze = false,
12
+ blind = false,
13
+ giant = false,
14
+ disableCurses = false
15
+ }, run = {
6
16
  chaosCardTears = false,
7
17
  spamBloodRights = false,
8
18
  maxDamage = false,
@@ -11,7 +11,7 @@ local sfxManager = ____cachedClasses.sfxManager
11
11
  local ____collectibles = require("functions.collectibles")
12
12
  local getCollectibleMaxCharges = ____collectibles.getCollectibleMaxCharges
13
13
  local ____playerIndex = require("functions.playerIndex")
14
- local getAllPlayers = ____playerIndex.getAllPlayers
14
+ local getPlayers = ____playerIndex.getPlayers
15
15
  local ____roomShape = require("functions.roomShape")
16
16
  local getRoomShapeCharges = ____roomShape.getRoomShapeCharges
17
17
  --- Helper function to add a charge to the player's active item. Will flash the HUD and play the
@@ -194,7 +194,7 @@ function ____exports.addRoomClearCharges(self, bigRoomDoubleCharge)
194
194
  if bigRoomDoubleCharge == nil then
195
195
  bigRoomDoubleCharge = true
196
196
  end
197
- for ____, player in ipairs(getAllPlayers(nil)) do
197
+ for ____, player in ipairs(getPlayers(nil)) do
198
198
  ____exports.addRoomClearCharge(nil, player, bigRoomDoubleCharge)
199
199
  end
200
200
  end
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":"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"}
@@ -243,6 +243,8 @@ function ____exports.logProjectileFlags(flags)
243
243
  end
244
244
  --- Helper function for logging information about the current room.
245
245
  function ____exports.logRoom()
246
+ local room = game:GetRoom()
247
+ local bossID = room:GetBossID()
246
248
  local roomGridIndex = getRoomGridIndex(nil)
247
249
  local roomListIndex = getRoomListIndex(nil)
248
250
  local roomData = getRoomData(nil)
@@ -260,6 +262,7 @@ function ____exports.logRoom()
260
262
  ____exports.log(((("Current room grid index: " .. tostring(roomGridIndex)) .. " (GridRoom.") .. roomGridIndexName) .. ")")
261
263
  end
262
264
  ____exports.log("Current room list index: " .. tostring(roomListIndex))
265
+ ____exports.log("Current room boss ID: " .. tostring(bossID))
263
266
  end
264
267
  --- Helper function for printing out every seed effect (i.e. Easter Egg) that is turned on for the
265
268
  -- particular run.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "9.8.1",
3
+ "version": "9.8.2",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -22,6 +22,6 @@
22
22
  "main": "dist/index",
23
23
  "types": "dist/index.d.ts",
24
24
  "dependencies": {
25
- "isaac-typescript-definitions": "^4.0.2"
25
+ "isaac-typescript-definitions": "^4.0.3"
26
26
  }
27
27
  }
@@ -28,7 +28,7 @@ const v = {
28
28
  };
29
29
 
30
30
  export function postPlayerFatalDamageInit(mod: Mod): void {
31
- saveDataManager("postPlayerFatalDamage", v);
31
+ saveDataManager("postPlayerFatalDamage", v, hasSubscriptions);
32
32
 
33
33
  mod.AddCallback(
34
34
  ModCallback.ENTITY_TAKE_DMG,
@@ -11,7 +11,7 @@ import v, { debugDisplayTextCallbacks, setDebugDisplayEnabled } from "./v";
11
11
  */
12
12
  export function debugDisplayInit(mod: ModUpgraded): void {
13
13
  setDebugDisplayEnabled();
14
- saveDataManager("debugDisplay", v, () => false);
14
+ saveDataManager("debugDisplay", v, false);
15
15
 
16
16
  mod.AddCallback(ModCallback.POST_FAMILIAR_RENDER, postFamiliarRender); // 25
17
17
  mod.AddCallback(ModCallback.POST_NPC_RENDER, postNPCRender); // 28
@@ -9,7 +9,7 @@ import {
9
9
  } from "isaac-typescript-definitions";
10
10
  import { ModUpgraded } from "../../classes/ModUpgraded";
11
11
  import { MAX_SPEED_STAT } from "../../core/constants";
12
- import { bitFlags } from "../../functions/flag";
12
+ import { addFlag, bitFlags } from "../../functions/flag";
13
13
  import { getMapPartialMatch } from "../../functions/map";
14
14
  import { printConsole } from "../../functions/utils";
15
15
  import { debugDisplayInit } from "../debugDisplay/debugDisplay";
@@ -19,274 +19,20 @@ import * as commands from "./listCommands";
19
19
  import v, { extraConsoleCommandsFunctionMap } from "./v";
20
20
 
21
21
  export function extraConsoleCommandsInit(mod: ModUpgraded): void {
22
- saveDataManager("extraConsoleCommands", v, () => false);
23
- initMap();
22
+ saveDataManager("extraConsoleCommands", v, false);
23
+ initCommandMap();
24
24
  initCallbacks(mod);
25
25
  debugDisplayInit(mod);
26
26
  }
27
27
 
28
- function initMap() {
29
- extraConsoleCommandsFunctionMap.set("1hp", commands.oneHP);
30
- extraConsoleCommandsFunctionMap.set("addCharges", commands.addCharges);
31
- extraConsoleCommandsFunctionMap.set("angelRoom", commands.angelRoom);
32
- extraConsoleCommandsFunctionMap.set("ascent", commands.ascent);
33
- extraConsoleCommandsFunctionMap.set("bedroom", commands.bedroom);
34
- extraConsoleCommandsFunctionMap.set("bh", commands.bh);
35
- extraConsoleCommandsFunctionMap.set("blackhearts", commands.blackHearts);
36
- extraConsoleCommandsFunctionMap.set("blackMarket", commands.blackMarket);
37
- extraConsoleCommandsFunctionMap.set("bloodCharges", commands.bloodCharges);
38
- extraConsoleCommandsFunctionMap.set("bm", commands.bm);
39
- extraConsoleCommandsFunctionMap.set("bomb", commands.bomb);
40
- extraConsoleCommandsFunctionMap.set(
41
- "bombDisplay",
42
- commandsDisplay.bombDisplay,
43
- );
44
- extraConsoleCommandsFunctionMap.set(
45
- "bombsDisplay",
46
- commandsDisplay.bombsDisplay,
47
- );
48
- extraConsoleCommandsFunctionMap.set("bombs", commands.bombs);
49
- extraConsoleCommandsFunctionMap.set("boneHearts", commands.boneHearts);
50
- extraConsoleCommandsFunctionMap.set("boss", commands.boss);
51
- extraConsoleCommandsFunctionMap.set("bossNextRoom", commands.bossNextRoom);
52
- extraConsoleCommandsFunctionMap.set("bossRoom", commands.bossRoom);
53
- extraConsoleCommandsFunctionMap.set("bossRush", commands.bossRush);
54
- extraConsoleCommandsFunctionMap.set("brokenHearts", commands.brokenHearts);
55
- extraConsoleCommandsFunctionMap.set("card", commands.card);
56
- extraConsoleCommandsFunctionMap.set("cards", commands.cards);
57
- extraConsoleCommandsFunctionMap.set("cc", commands.cc);
58
- extraConsoleCommandsFunctionMap.set("getChallenge", commands.getChallenge);
59
- extraConsoleCommandsFunctionMap.set(
60
- "chaosCardTears",
61
- commands.chaosCardTears,
62
- );
63
- extraConsoleCommandsFunctionMap.set("character", commands.characterCommand);
64
- extraConsoleCommandsFunctionMap.set("charge", commands.charge);
65
- extraConsoleCommandsFunctionMap.set("cleanBedroom", commands.cleanBedroom);
66
- extraConsoleCommandsFunctionMap.set("coin", commands.coin);
67
- extraConsoleCommandsFunctionMap.set("coins", commands.coins);
68
- extraConsoleCommandsFunctionMap.set("crawlSpace", commands.crawlSpace);
69
- extraConsoleCommandsFunctionMap.set("d20", commands.d20);
70
- extraConsoleCommandsFunctionMap.set("d6", commands.d6);
71
- extraConsoleCommandsFunctionMap.set("dadsNote", commands.dadsNote);
72
- extraConsoleCommandsFunctionMap.set("damage", commands.damage);
73
- extraConsoleCommandsFunctionMap.set("dd", commands.dd);
74
- extraConsoleCommandsFunctionMap.set("devilRoom", commands.devilRoom);
75
- extraConsoleCommandsFunctionMap.set("dirtyBedroom", commands.dirtyBedroom);
76
- extraConsoleCommandsFunctionMap.set("disableCurses", commands.disableCurses);
77
- extraConsoleCommandsFunctionMap.set(
78
- "doorDisplay",
79
- commandsDisplay.doorDisplay,
80
- );
81
- extraConsoleCommandsFunctionMap.set(
82
- "doorsDisplay",
83
- commandsDisplay.doorsDisplay,
84
- );
85
- extraConsoleCommandsFunctionMap.set("down", commands.down);
86
- extraConsoleCommandsFunctionMap.set("dungeon", commands.dungeon);
87
- extraConsoleCommandsFunctionMap.set(
88
- "effectDisplay",
89
- commandsDisplay.effectDisplay,
90
- );
91
- extraConsoleCommandsFunctionMap.set("effects", commands.effects);
92
- extraConsoleCommandsFunctionMap.set(
93
- "effectsDisplay",
94
- commandsDisplay.effectsDisplay,
95
- );
96
- extraConsoleCommandsFunctionMap.set("eh", commands.eh);
97
- extraConsoleCommandsFunctionMap.set("errorRoom", commands.errorRoom);
98
- extraConsoleCommandsFunctionMap.set("eternalHearts", commands.eternalHearts);
99
- extraConsoleCommandsFunctionMap.set(
100
- "familiarDisplay",
101
- commandsDisplay.familiarDisplay,
102
- );
103
- extraConsoleCommandsFunctionMap.set(
104
- "familiarsDisplay",
105
- commandsDisplay.familiarsDisplay,
106
- );
107
- extraConsoleCommandsFunctionMap.set("flight", commands.flight);
108
- extraConsoleCommandsFunctionMap.set("fool", commands.fool);
109
- extraConsoleCommandsFunctionMap.set("getPosition", commands.getPosition);
110
- extraConsoleCommandsFunctionMap.set("gigaBomb", commands.gigaBomb);
111
- extraConsoleCommandsFunctionMap.set("goldBomb", commands.goldBomb);
112
- extraConsoleCommandsFunctionMap.set("goldHearts", commands.goldHearts);
113
- extraConsoleCommandsFunctionMap.set("goldKey", commands.goldKey);
114
- extraConsoleCommandsFunctionMap.set("goldenBomb", commands.goldenBomb);
115
- extraConsoleCommandsFunctionMap.set("goldenHearts", commands.goldenHearts);
116
- extraConsoleCommandsFunctionMap.set("goldenKey", commands.goldenKey);
117
- extraConsoleCommandsFunctionMap.set("grid", commands.grid);
118
- extraConsoleCommandsFunctionMap.set("grid2", commands.grid2);
119
- extraConsoleCommandsFunctionMap.set("gridCosts", commands.gridCosts);
120
- extraConsoleCommandsFunctionMap.set("gridEntities", commands.gridEntities);
121
- extraConsoleCommandsFunctionMap.set("hearts", commands.hearts);
122
- extraConsoleCommandsFunctionMap.set("hitboxes", commands.hitboxes);
123
- extraConsoleCommandsFunctionMap.set("iAmErrorRoom", commands.iAmErrorRoom);
124
- extraConsoleCommandsFunctionMap.set("key", commands.key);
125
- extraConsoleCommandsFunctionMap.set("keys", commands.keys);
126
- extraConsoleCommandsFunctionMap.set(
127
- "knifeDisplay",
128
- commandsDisplay.knifeDisplay,
129
- );
130
- extraConsoleCommandsFunctionMap.set(
131
- "knivesDisplay",
132
- commandsDisplay.knivesDisplay,
133
- );
134
- extraConsoleCommandsFunctionMap.set(
135
- "laserDisplay",
136
- commandsDisplay.laserDisplay,
137
- );
138
- extraConsoleCommandsFunctionMap.set(
139
- "lasersDisplay",
140
- commandsDisplay.lasersDisplay,
141
- );
142
- extraConsoleCommandsFunctionMap.set("left", commands.left);
143
- extraConsoleCommandsFunctionMap.set("library", commands.library);
144
- extraConsoleCommandsFunctionMap.set("list", commands.list);
145
- extraConsoleCommandsFunctionMap.set("listAll", commands.listAll);
146
- extraConsoleCommandsFunctionMap.set("listGrid", commands.listGrid);
147
- extraConsoleCommandsFunctionMap.set("listGridAll", commands.listGridAll);
148
- extraConsoleCommandsFunctionMap.set("lowHP", commands.lowHP);
149
- extraConsoleCommandsFunctionMap.set("luck", commands.luck);
150
- extraConsoleCommandsFunctionMap.set("mana", commands.mana);
151
- extraConsoleCommandsFunctionMap.set("map", commands.map);
152
- extraConsoleCommandsFunctionMap.set("maxHearts", commands.maxHearts);
153
- extraConsoleCommandsFunctionMap.set("miniboss", commands.miniboss);
154
- extraConsoleCommandsFunctionMap.set("noCurses", commands.noCurses);
155
- extraConsoleCommandsFunctionMap.set("npcDisplay", commandsDisplay.npcDisplay);
156
- extraConsoleCommandsFunctionMap.set(
157
- "npcsDisplay",
158
- commandsDisplay.npcsDisplay,
159
- );
160
- extraConsoleCommandsFunctionMap.set(
161
- "pickupDisplay",
162
- commandsDisplay.pickupDisplay,
163
- );
164
- extraConsoleCommandsFunctionMap.set(
165
- "pickupsDisplay",
166
- commandsDisplay.pickupsDisplay,
167
- );
168
- extraConsoleCommandsFunctionMap.set("pill", commands.pill);
169
- extraConsoleCommandsFunctionMap.set("pills", commands.pills);
170
- extraConsoleCommandsFunctionMap.set("pitDisplay", commandsDisplay.pitDisplay);
171
- extraConsoleCommandsFunctionMap.set(
172
- "pitsDisplay",
173
- commandsDisplay.pitsDisplay,
174
- );
175
- extraConsoleCommandsFunctionMap.set("planetarium", commands.planetarium);
176
- extraConsoleCommandsFunctionMap.set(
177
- "playerDisplay",
178
- commandsDisplay.playerDisplay,
179
- );
180
- extraConsoleCommandsFunctionMap.set(
181
- "playersDisplay",
182
- commandsDisplay.playersDisplay,
183
- );
184
- extraConsoleCommandsFunctionMap.set("playSound", commands.playSound);
185
- extraConsoleCommandsFunctionMap.set("pocket", commands.pocket);
186
- extraConsoleCommandsFunctionMap.set(
187
- "poopDisplay",
188
- commandsDisplay.poopDisplay,
189
- );
190
- extraConsoleCommandsFunctionMap.set("poopMana", commands.poopMana);
191
- extraConsoleCommandsFunctionMap.set(
192
- "poopsDisplay",
193
- commandsDisplay.poopsDisplay,
194
- );
195
- extraConsoleCommandsFunctionMap.set("position", commands.positionCommand);
196
- extraConsoleCommandsFunctionMap.set(
197
- "pressurePlateDisplay",
198
- commandsDisplay.pressurePlateDisplay,
199
- );
200
- extraConsoleCommandsFunctionMap.set(
201
- "pressurePlatesDisplay",
202
- commandsDisplay.pressurePlatesDisplay,
203
- );
204
- extraConsoleCommandsFunctionMap.set(
205
- "projectileDisplay",
206
- commandsDisplay.projectileDisplay,
207
- );
208
- extraConsoleCommandsFunctionMap.set(
209
- "projectilesDisplay",
210
- commandsDisplay.projectilesDisplay,
211
- );
212
- extraConsoleCommandsFunctionMap.set("redHearts", commands.redHearts);
213
- extraConsoleCommandsFunctionMap.set("right", commands.right);
214
- extraConsoleCommandsFunctionMap.set(
215
- "rockDisplay",
216
- commandsDisplay.rockDisplay,
217
- );
218
- extraConsoleCommandsFunctionMap.set(
219
- "rocksDisplay",
220
- commandsDisplay.rocksDisplay,
221
- );
222
- extraConsoleCommandsFunctionMap.set("room", commands.roomCommand);
223
- extraConsoleCommandsFunctionMap.set("rottenHearts", commands.rottenHearts);
224
- extraConsoleCommandsFunctionMap.set("runTests", commands.runTests);
225
- extraConsoleCommandsFunctionMap.set("s", commands.s);
226
- extraConsoleCommandsFunctionMap.set("sacrificeRoom", commands.sacrificeRoom);
227
- extraConsoleCommandsFunctionMap.set("secretRoom", commands.secretRoom);
228
- extraConsoleCommandsFunctionMap.set("seedStick", commands.seedStick);
229
- extraConsoleCommandsFunctionMap.set("seeds", commands.seedsCommand);
230
- extraConsoleCommandsFunctionMap.set("setCharges", commands.setCharges);
231
- extraConsoleCommandsFunctionMap.set("setPosition", commands.setPosition);
232
- extraConsoleCommandsFunctionMap.set("shop", commands.shop);
233
- extraConsoleCommandsFunctionMap.set(
234
- "slotDisplay",
235
- commandsDisplay.slotDisplay,
236
- );
237
- extraConsoleCommandsFunctionMap.set(
238
- "slotsDisplay",
239
- commandsDisplay.slotsDisplay,
240
- );
241
- extraConsoleCommandsFunctionMap.set("smelt", commands.smelt);
242
- extraConsoleCommandsFunctionMap.set("soulCharges", commands.soulCharges);
243
- extraConsoleCommandsFunctionMap.set("soulHearts", commands.soulHearts);
244
- extraConsoleCommandsFunctionMap.set("sound", commands.sound);
245
- extraConsoleCommandsFunctionMap.set("sounds", commands.sounds);
246
- extraConsoleCommandsFunctionMap.set("spam", commands.spam);
247
- extraConsoleCommandsFunctionMap.set(
248
- "spawnGoldenTrinket",
249
- commands.spawnGoldenTrinket,
250
- );
251
- extraConsoleCommandsFunctionMap.set("speed", commands.speed);
252
- extraConsoleCommandsFunctionMap.set(
253
- "spikeDisplay",
254
- commandsDisplay.spikeDisplay,
255
- );
256
- extraConsoleCommandsFunctionMap.set(
257
- "spikesDisplay",
258
- commandsDisplay.spikesDisplay,
259
- );
260
- extraConsoleCommandsFunctionMap.set(
261
- "superSecretRoom",
262
- commands.superSecretRoom,
263
- );
264
- extraConsoleCommandsFunctionMap.set("startingRoom", commands.startingRoom);
265
- extraConsoleCommandsFunctionMap.set("startRoom", commands.startRoom);
266
- extraConsoleCommandsFunctionMap.set(
267
- "tearDisplay",
268
- commandsDisplay.tearDisplay,
269
- );
270
- extraConsoleCommandsFunctionMap.set("tears", commands.tears);
271
- extraConsoleCommandsFunctionMap.set(
272
- "tearsDisplay",
273
- commandsDisplay.tearsDisplay,
274
- );
275
- extraConsoleCommandsFunctionMap.set("tests", commands.tests);
276
- extraConsoleCommandsFunctionMap.set("tntDisplay", commandsDisplay.tntDisplay);
277
- extraConsoleCommandsFunctionMap.set(
278
- "tntsDisplay",
279
- commandsDisplay.tntsDisplay,
280
- );
281
- extraConsoleCommandsFunctionMap.set("trapdoor", commands.trapdoorCommand);
282
- extraConsoleCommandsFunctionMap.set("treasureRoom", commands.treasureRoom);
283
- extraConsoleCommandsFunctionMap.set(
284
- "ultraSecretRoom",
285
- commands.ultraSecretRoom,
286
- );
287
- extraConsoleCommandsFunctionMap.set("unseed", commands.unseed);
288
- extraConsoleCommandsFunctionMap.set("up", commands.up);
289
- extraConsoleCommandsFunctionMap.set("warp", commands.warp);
28
+ function initCommandMap() {
29
+ for (const [funcName, func] of Object.entries(commands)) {
30
+ extraConsoleCommandsFunctionMap.set(funcName, func);
31
+ }
32
+
33
+ for (const [funcName, func] of Object.entries(commandsDisplay)) {
34
+ extraConsoleCommandsFunctionMap.set(funcName, func);
35
+ }
290
36
  }
291
37
 
292
38
  function initCallbacks(mod: ModUpgraded) {
@@ -368,7 +114,53 @@ function entityTakeDmgPlayer(
368
114
  function postCurseEval(
369
115
  curses: BitFlags<LevelCurse>,
370
116
  ): BitFlags<LevelCurse> | undefined {
371
- return v.persistent.disableCurses ? bitFlags(LevelCurse.NONE) : curses;
117
+ if (v.persistent.disableCurses) {
118
+ return bitFlags(LevelCurse.NONE);
119
+ }
120
+
121
+ let newCurses = curses;
122
+
123
+ // 1
124
+ if (v.persistent.darkness) {
125
+ newCurses = addFlag(newCurses, LevelCurse.DARKNESS);
126
+ }
127
+
128
+ // 2
129
+ if (v.persistent.labyrinth) {
130
+ newCurses = addFlag(newCurses, LevelCurse.LABYRINTH);
131
+ }
132
+
133
+ // 3
134
+ if (v.persistent.lost) {
135
+ newCurses = addFlag(newCurses, LevelCurse.LOST);
136
+ }
137
+
138
+ // 4
139
+ if (v.persistent.unknown) {
140
+ newCurses = addFlag(newCurses, LevelCurse.UNKNOWN);
141
+ }
142
+
143
+ // 5
144
+ if (v.persistent.cursed) {
145
+ newCurses = addFlag(newCurses, LevelCurse.CURSED);
146
+ }
147
+
148
+ // 6
149
+ if (v.persistent.maze) {
150
+ newCurses = addFlag(newCurses, LevelCurse.MAZE);
151
+ }
152
+
153
+ // 7
154
+ if (v.persistent.blind) {
155
+ newCurses = addFlag(newCurses, LevelCurse.BLIND);
156
+ }
157
+
158
+ // 8
159
+ if (v.persistent.giant) {
160
+ newCurses = addFlag(newCurses, LevelCurse.GIANT);
161
+ }
162
+
163
+ return curses === newCurses ? undefined : newCurses;
372
164
  }
373
165
 
374
166
  // ModCallback.EXECUTE_CMD (22)
@@ -2,6 +2,16 @@
2
2
  // below "exports.ts".
3
3
 
4
4
  // cspell:ignore addcharges
5
+
6
+ /*
7
+ eslint "sort-exports/sort-exports": [
8
+ "error",
9
+ {
10
+ sortDir: "asc",
11
+ },
12
+ ],
13
+ */
14
+
5
15
  /**
6
16
  * This is a list of custom console commands that are included with the standard library.
7
17
  *
@@ -214,6 +224,12 @@ export function blackMarket(): void {
214
224
  changeRoom(GridRoom.BLACK_MARKET);
215
225
  }
216
226
 
227
+ /** Toggles permanent Curse of the Blind. */
228
+ export function blind(): void {
229
+ v.persistent.blind = !v.persistent.blind;
230
+ printEnabled(!v.persistent.blind, "permanent Curse of the Blind");
231
+ }
232
+
217
233
  /**
218
234
  * Gives a blood charge. This only affects Bethany. Provide a number to give a custom amount of
219
235
  * charges. (You can use negative numbers to remove charges.)
@@ -376,17 +392,6 @@ export function cc(): void {
376
392
  chaosCardTears();
377
393
  }
378
394
 
379
- /** Displays the current challenge, if any. */
380
- export function getChallenge(): void {
381
- const challenge = Isaac.GetChallenge();
382
- const challengeName = Challenge[challenge];
383
- const challengeDescription =
384
- challengeName === undefined
385
- ? `${challenge} (custom)`
386
- : `Challenge.${challengeName} (${challenge})`;
387
- printConsole(`The current challenge is: ${challengeDescription}`);
388
- }
389
-
390
395
  /**
391
396
  * Toggles Chaos Card tears for the player. Useful for killing enemies very fast without using
392
397
  * "debug 10".
@@ -489,6 +494,12 @@ export function crawlSpace(): void {
489
494
  spawnTrapdoorOrCrawlSpace(false);
490
495
  }
491
496
 
497
+ /** Toggles permanent Curse of the Cursed. */
498
+ export function cursed(): void {
499
+ v.persistent.cursed = !v.persistent.cursed;
500
+ printEnabled(!v.persistent.cursed, "permanent Curse of the Cursed");
501
+ }
502
+
492
503
  /** Uses the D20. */
493
504
  export function d20(): void {
494
505
  const player = Isaac.GetPlayer();
@@ -514,6 +525,12 @@ export function damage(): void {
514
525
  printEnabled(v.run.maxDamage, "debug damage");
515
526
  }
516
527
 
528
+ /** Toggles permanent Curse of Darkness. */
529
+ export function darkness(): void {
530
+ v.persistent.darkness = !v.persistent.darkness;
531
+ printEnabled(!v.persistent.darkness, "permanent Curse of Darkness");
532
+ }
533
+
517
534
  /** Alias for the "devil" command. */
518
535
  export function dd(): void {
519
536
  devilRoom();
@@ -604,6 +621,17 @@ export function fool(): void {
604
621
  startingRoom();
605
622
  }
606
623
 
624
+ /** Displays the current challenge, if any. */
625
+ export function getChallenge(): void {
626
+ const challenge = Isaac.GetChallenge();
627
+ const challengeName = Challenge[challenge];
628
+ const challengeDescription =
629
+ challengeName === undefined
630
+ ? `${challenge} (custom)`
631
+ : `Challenge.${challengeName} (${challenge})`;
632
+ printConsole(`The current challenge is: ${challengeDescription}`);
633
+ }
634
+
607
635
  /** Prints the current position of all players. */
608
636
  export function getPosition(): void {
609
637
  for (const player of getPlayers()) {
@@ -614,6 +642,12 @@ export function getPosition(): void {
614
642
  }
615
643
  }
616
644
 
645
+ /** Toggles permanent Curse of the Giant. */
646
+ export function giant(): void {
647
+ v.persistent.giant = !v.persistent.giant;
648
+ printEnabled(!v.persistent.giant, "permanent Curse of the Giant");
649
+ }
650
+
617
651
  /**
618
652
  * Gives a Giga Bomb. Provide a number to give a custom amount of Giga Bombs. (You can use negative
619
653
  * numbers to remove bombs.)
@@ -764,6 +798,12 @@ export function keys(params: string): void {
764
798
  player.AddKeys(numKeys);
765
799
  }
766
800
 
801
+ /** Toggles permanent Curse of the Labyrinth. */
802
+ export function labyrinth(): void {
803
+ v.persistent.labyrinth = !v.persistent.labyrinth;
804
+ printEnabled(!v.persistent.labyrinth, "permanent Curse of the Labyrinth");
805
+ }
806
+
767
807
  /** Moves the player 0.5 units left. Provide a number to move a custom amount of units. */
768
808
  export function left(params: string): void {
769
809
  movePlayer(params, Direction.LEFT);
@@ -812,6 +852,12 @@ export function listGridAll(params: string): void {
812
852
  listGridEntities(params, true);
813
853
  }
814
854
 
855
+ /** Toggles permanent Curse of the Lost. */
856
+ export function lost(): void {
857
+ v.persistent.lost = !v.persistent.lost;
858
+ printEnabled(!v.persistent.lost, "permanent Curse of the Lost");
859
+ }
860
+
815
861
  /** Alias for the "1hp" command. */
816
862
  export function lowHP(): void {
817
863
  oneHP();
@@ -854,6 +900,12 @@ export function maxHearts(params: string): void {
854
900
  addHeart(params, HealthType.MAX_HEARTS);
855
901
  }
856
902
 
903
+ /** Toggles permanent Curse of the Maze. */
904
+ export function maze(): void {
905
+ v.persistent.maze = !v.persistent.maze;
906
+ printEnabled(!v.persistent.maze, "permanent Curse of the Maze");
907
+ }
908
+
857
909
  /** Warps to the first Miniboss Room on the floor. */
858
910
  export function miniboss(): void {
859
911
  warpToRoomType(RoomType.MINI_BOSS);
@@ -1297,6 +1349,11 @@ export function speed(): void {
1297
1349
  printEnabled(v.run.maxSpeed, "max speed and flight");
1298
1350
  }
1299
1351
 
1352
+ /** Alias for the "startingRoom" command. */
1353
+ export function startRoom(): void {
1354
+ startingRoom();
1355
+ }
1356
+
1300
1357
  /** Warps to the starting room of the floor. */
1301
1358
  export function startingRoom(): void {
1302
1359
  const level = game.GetLevel();
@@ -1304,11 +1361,6 @@ export function startingRoom(): void {
1304
1361
  changeRoom(startingRoomIndex);
1305
1362
  }
1306
1363
 
1307
- /** Alias for the "startingRoom" command. */
1308
- export function startRoom(): void {
1309
- startingRoom();
1310
- }
1311
-
1312
1364
  /** Warps to the first Super Secret Room on the floor. */
1313
1365
  export function superSecretRoom(): void {
1314
1366
  warpToRoomType(RoomType.SUPER_SECRET);
@@ -1348,6 +1400,12 @@ export function ultraSecretRoom(): void {
1348
1400
  warpToRoomType(RoomType.ULTRA_SECRET);
1349
1401
  }
1350
1402
 
1403
+ /** Toggles permanent Curse of the Unknown. */
1404
+ export function unknown(): void {
1405
+ v.persistent.unknown = !v.persistent.unknown;
1406
+ printEnabled(!v.persistent.unknown, "permanent Curse of the Unknown");
1407
+ }
1408
+
1351
1409
  /** If currently on a set seed, changes to an unseeded state and restarts the game. */
1352
1410
  export function unseed(): void {
1353
1411
  if (!onSetSeed()) {
@@ -1,5 +1,14 @@
1
1
  const v = {
2
2
  persistent: {
3
+ darkness: false, // 1
4
+ labyrinth: false, // 2
5
+ lost: false, // 3
6
+ unknown: false, // 4
7
+ cursed: false, // 5
8
+ maze: false, // 6
9
+ blind: false, // 7
10
+ giant: false, // 8
11
+
3
12
  disableCurses: false,
4
13
  },
5
14
 
@@ -6,7 +6,7 @@ import {
6
6
  } from "isaac-typescript-definitions";
7
7
  import { game, sfxManager } from "../core/cachedClasses";
8
8
  import { getCollectibleMaxCharges } from "./collectibles";
9
- import { getAllPlayers } from "./playerIndex";
9
+ import { getPlayers } from "./playerIndex";
10
10
  import { getRoomShapeCharges } from "./roomShape";
11
11
 
12
12
  /**
@@ -208,7 +208,7 @@ function getChargesToAddWithAAAModifier(
208
208
  * is true.
209
209
  */
210
210
  export function addRoomClearCharges(bigRoomDoubleCharge = true): void {
211
- for (const player of getAllPlayers()) {
211
+ for (const player of getPlayers()) {
212
212
  addRoomClearCharge(player, bigRoomDoubleCharge);
213
213
  }
214
214
  }
@@ -282,6 +282,8 @@ export function logProjectileFlags(
282
282
 
283
283
  /** Helper function for logging information about the current room. */
284
284
  export function logRoom(this: void): void {
285
+ const room = game.GetRoom();
286
+ const bossID = room.GetBossID();
285
287
  const roomGridIndex = getRoomGridIndex();
286
288
  const roomListIndex = getRoomListIndex();
287
289
  const roomData = getRoomData();
@@ -306,6 +308,7 @@ export function logRoom(this: void): void {
306
308
  }
307
309
 
308
310
  log(`Current room list index: ${roomListIndex}`);
311
+ log(`Current room boss ID: ${bossID}`);
309
312
  }
310
313
 
311
314
  /**