isaacscript-common 9.7.0 → 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.
- package/dist/callbacks/postPlayerFatalDamage.lua +1 -1
- package/dist/features/debugDisplay/debugDisplay.lua +1 -6
- package/dist/features/extraConsoleCommands/init.lua +51 -160
- package/dist/features/extraConsoleCommands/listCommands.d.ts +20 -4
- package/dist/features/extraConsoleCommands/listCommands.d.ts.map +1 -1
- package/dist/features/extraConsoleCommands/listCommands.lua +47 -7
- package/dist/features/extraConsoleCommands/v.d.ts +8 -0
- package/dist/features/extraConsoleCommands/v.d.ts.map +1 -1
- package/dist/features/extraConsoleCommands/v.lua +11 -1
- package/dist/functions/charge.d.ts +4 -4
- package/dist/functions/charge.d.ts.map +1 -1
- package/dist/functions/charge.lua +7 -7
- package/dist/functions/doors.d.ts +8 -0
- package/dist/functions/doors.d.ts.map +1 -1
- package/dist/functions/doors.lua +17 -3
- package/dist/functions/log.d.ts.map +1 -1
- package/dist/functions/log.lua +3 -0
- package/dist/index.d.ts +14 -4
- package/package.json +2 -2
- package/src/callbacks/postPlayerFatalDamage.ts +1 -1
- package/src/features/debugDisplay/debugDisplay.ts +1 -1
- package/src/features/extraConsoleCommands/init.ts +58 -266
- package/src/features/extraConsoleCommands/listCommands.ts +74 -16
- package/src/features/extraConsoleCommands/v.ts +9 -0
- package/src/functions/charge.ts +5 -5
- package/src/functions/doors.ts +15 -0
- package/src/functions/log.ts +3 -0
package/dist/functions/doors.lua
CHANGED
|
@@ -2,9 +2,9 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local Set = ____lualib.Set
|
|
3
3
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
4
4
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
5
|
+
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
5
6
|
local __TS__New = ____lualib.__TS__New
|
|
6
7
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
7
|
-
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
8
8
|
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
9
9
|
local ____exports = {}
|
|
10
10
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
@@ -70,16 +70,19 @@ function ____exports.getDoors(self, ...)
|
|
|
70
70
|
do
|
|
71
71
|
local door = room:GetDoor(doorSlot)
|
|
72
72
|
if door == nil then
|
|
73
|
-
goto
|
|
73
|
+
goto __continue25
|
|
74
74
|
end
|
|
75
75
|
if roomTypesSet.size == 0 or roomTypesSet:has(door.TargetRoomType) then
|
|
76
76
|
doors[#doors + 1] = door
|
|
77
77
|
end
|
|
78
78
|
end
|
|
79
|
-
::
|
|
79
|
+
::__continue25::
|
|
80
80
|
end
|
|
81
81
|
return doors
|
|
82
82
|
end
|
|
83
|
+
function ____exports.isBlueWombDoor(self, door)
|
|
84
|
+
return door.TargetRoomIndex == asNumber(nil, GridRoom.BLUE_WOMB)
|
|
85
|
+
end
|
|
83
86
|
--- Helper function to check if the provided door leads to the "secret exit" off-grid room that takes
|
|
84
87
|
-- you to the Repentance floor.
|
|
85
88
|
function ____exports.isRepentanceDoor(self, door)
|
|
@@ -156,6 +159,17 @@ function ____exports.getAngelRoomDoor(self)
|
|
|
156
159
|
end
|
|
157
160
|
return ____temp_0
|
|
158
161
|
end
|
|
162
|
+
--- Helper function to get the door that leads to the off-grid room that contains the hole to the
|
|
163
|
+
-- Blue Womb.
|
|
164
|
+
--
|
|
165
|
+
-- Returns undefined if the room has no Blue Womb doors.
|
|
166
|
+
function ____exports.getBlueWombDoor(self)
|
|
167
|
+
local doors = ____exports.getDoors(nil)
|
|
168
|
+
return __TS__ArrayFind(
|
|
169
|
+
doors,
|
|
170
|
+
function(____, door) return ____exports.isBlueWombDoor(nil, door) end
|
|
171
|
+
)
|
|
172
|
+
end
|
|
159
173
|
function ____exports.getDevilRoomDoor(self)
|
|
160
174
|
local devilRoomDoors = ____exports.getDoors(nil, RoomType.DEVIL)
|
|
161
175
|
local ____temp_1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EAKV,cAAc,EAGd,QAAQ,EACR,OAAO,EACR,MAAM,8BAA8B,CAAC;AAkBtC;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EAKX,kBAAkB,SAAI,GACrB,MAAM,CAiBR;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,CAGvE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,eAAe,EAAE,GAClC,IAAI,CASN;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAIvD;AAED,mGAAmG;AACnG,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GACvC,IAAI,CAEN;AAED,mGAAmG;AACnG,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GACvC,IAAI,CAEN;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAItD;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,UAAU,EACrD,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAC3B,WAAW,SAAK,GACf,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAiBlD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAkBnD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAarE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA0BvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAoBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,GAC/C,IAAI,CAEN;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/log.lua
CHANGED
|
@@ -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/dist/index.d.ts
CHANGED
|
@@ -262,11 +262,11 @@ export declare function addRoomClearCharge(player: EntityPlayer, bigRoomDoubleCh
|
|
|
262
262
|
* - The Battery
|
|
263
263
|
* - AAA Battery
|
|
264
264
|
*
|
|
265
|
-
* @param
|
|
266
|
-
*
|
|
267
|
-
*
|
|
265
|
+
* @param bigRoomDoubleCharge Optional. If set to false, it will treat the current room as a 1x1
|
|
266
|
+
* room for the purposes of calculating how much charge to grant. Default
|
|
267
|
+
* is true.
|
|
268
268
|
*/
|
|
269
|
-
export declare function addRoomClearCharges(
|
|
269
|
+
export declare function addRoomClearCharges(bigRoomDoubleCharge?: boolean): void;
|
|
270
270
|
|
|
271
271
|
/**
|
|
272
272
|
* Helper function to add a charge to one of a player's active items, emulating what happens when a
|
|
@@ -2402,6 +2402,14 @@ export declare function getAzazelBrimstoneDistance(playerOrTearHeight: EntityPla
|
|
|
2402
2402
|
*/
|
|
2403
2403
|
export declare function getBatteries(batterySubType?: BatterySubType): EntityPickupBattery[];
|
|
2404
2404
|
|
|
2405
|
+
/**
|
|
2406
|
+
* Helper function to get the door that leads to the off-grid room that contains the hole to the
|
|
2407
|
+
* Blue Womb.
|
|
2408
|
+
*
|
|
2409
|
+
* Returns undefined if the room has no Blue Womb doors.
|
|
2410
|
+
*/
|
|
2411
|
+
export declare function getBlueWombDoor(): GridEntityDoor | undefined;
|
|
2412
|
+
|
|
2405
2413
|
/**
|
|
2406
2414
|
* Helper function to get all of the bomb entities in the room. (Specifically, this refers to bomb
|
|
2407
2415
|
* pickups, not the `EntityBomb` class.)
|
|
@@ -5591,6 +5599,8 @@ export declare function isBitSet128(object: unknown): object is BitSet128;
|
|
|
5591
5599
|
/** Returns true if the collectible has a red question mark sprite. */
|
|
5592
5600
|
export declare function isBlindCollectible(collectible: EntityPickup): boolean;
|
|
5593
5601
|
|
|
5602
|
+
export declare function isBlueWombDoor(door: GridEntityDoor): boolean;
|
|
5603
|
+
|
|
5594
5604
|
/** Helper function to detect if a variable is of type `EntityBomb`. */
|
|
5595
5605
|
export declare function isBomb(variable: unknown): variable is EntityBomb;
|
|
5596
5606
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript-common",
|
|
3
|
-
"version": "9.
|
|
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.
|
|
25
|
+
"isaac-typescript-definitions": "^4.0.3"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -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,
|
|
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,
|
|
23
|
-
|
|
22
|
+
saveDataManager("extraConsoleCommands", v, false);
|
|
23
|
+
initCommandMap();
|
|
24
24
|
initCallbacks(mod);
|
|
25
25
|
debugDisplayInit(mod);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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()) {
|