isaacscript-common 15.4.6 → 15.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -3
- package/dist/isaacscript-common.lua +41 -27
- package/dist/src/classes/features/other/SaveDataManager.d.ts +2 -2
- package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.lua +1 -1
- package/dist/src/functions/rooms.d.ts +1 -1
- package/dist/src/functions/rooms.lua +1 -1
- package/dist/src/maps/collectibleTypeToNameMap.lua +1 -1
- package/package.json +2 -2
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +2 -2
- package/src/classes/features/other/SaveDataManager.ts +4 -4
- package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +4 -4
- package/src/functions/rooms.ts +1 -1
- package/src/maps/collectibleTypeToNameMap.ts +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -6817,7 +6817,7 @@ export declare function includes<T>(array: T[], element: T): boolean;
|
|
|
6817
6817
|
export declare function inCrawlSpace(): boolean;
|
|
6818
6818
|
|
|
6819
6819
|
/**
|
|
6820
|
-
* Helper function to detect if the current room is one of the
|
|
6820
|
+
* Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
6821
6821
|
*/
|
|
6822
6822
|
export declare function inDeathCertificateArea(): boolean;
|
|
6823
6823
|
|
|
@@ -12886,9 +12886,9 @@ declare class SaveDataManager extends Feature {
|
|
|
12886
12886
|
* saved to disk on game exit. (For example, if they contain functions or other non-serializable
|
|
12887
12887
|
* data.) For these cases, set the second argument to `false`.
|
|
12888
12888
|
*
|
|
12889
|
-
* Note that when the player uses Glowing
|
|
12889
|
+
* Note that when the player uses Glowing Hourglass, the save data manager will automatically
|
|
12890
12890
|
* restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
12891
|
-
* was entered. Thus, you should not have to explicitly program support for Glowing
|
|
12891
|
+
* was entered. Thus, you should not have to explicitly program support for Glowing Hourglass
|
|
12892
12892
|
* into your mod features that use the save data manager. If this is undesired for your specific
|
|
12893
12893
|
* use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
12894
12894
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 15.
|
|
3
|
+
isaacscript-common 15.5.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -11199,7 +11199,19 @@ local TearFlagInternal = {
|
|
|
11199
11199
|
CARD_DROP_DEATH = getTearFlag(nil, 79),
|
|
11200
11200
|
RUNE_DROP_DEATH = getTearFlag(nil, 80),
|
|
11201
11201
|
TELEPORT = getTearFlag(nil, 81),
|
|
11202
|
-
|
|
11202
|
+
TEAR_DECELERATE = getTearFlag(nil, 82),
|
|
11203
|
+
TEAR_ACCELERATE = getTearFlag(nil, 83),
|
|
11204
|
+
BOUNCE_WALLS_ONLY = getTearFlag(nil, 104),
|
|
11205
|
+
NO_GRID_DAMAGE = getTearFlag(nil, 105),
|
|
11206
|
+
BACKSTAB = getTearFlag(nil, 106),
|
|
11207
|
+
FETUS_SWORD = getTearFlag(nil, 107),
|
|
11208
|
+
FETUS_BONE = getTearFlag(nil, 108),
|
|
11209
|
+
FETUS_KNIFE = getTearFlag(nil, 109),
|
|
11210
|
+
FETUS_TECH_X = getTearFlag(nil, 110),
|
|
11211
|
+
FETUS_TECH = getTearFlag(nil, 111),
|
|
11212
|
+
FETUS_BRIMSTONE = getTearFlag(nil, 112),
|
|
11213
|
+
FETUS_BOMBER = getTearFlag(nil, 113),
|
|
11214
|
+
FETUS = getTearFlag(nil, 114),
|
|
11203
11215
|
REROLL_ROCK_WISP = getTearFlag(nil, 115),
|
|
11204
11216
|
MOM_STOMP_WISP = getTearFlag(nil, 116),
|
|
11205
11217
|
ENEMY_TO_WISP = getTearFlag(nil, 117),
|
|
@@ -12263,6 +12275,8 @@ ____exports.ModCallback.PRE_SPAWN_CLEAN_AWARD = 70
|
|
|
12263
12275
|
____exports.ModCallback[____exports.ModCallback.PRE_SPAWN_CLEAN_AWARD] = "PRE_SPAWN_CLEAN_AWARD"
|
|
12264
12276
|
____exports.ModCallback.PRE_ROOM_ENTITY_SPAWN = 71
|
|
12265
12277
|
____exports.ModCallback[____exports.ModCallback.PRE_ROOM_ENTITY_SPAWN] = "PRE_ROOM_ENTITY_SPAWN"
|
|
12278
|
+
____exports.ModCallback.PRE_ENTITY_DEVOLVE = 72
|
|
12279
|
+
____exports.ModCallback[____exports.ModCallback.PRE_ENTITY_DEVOLVE] = "PRE_ENTITY_DEVOLVE"
|
|
12266
12280
|
return ____exports
|
|
12267
12281
|
end,
|
|
12268
12282
|
["lua_modules.isaac-typescript-definitions.dist.src.enums.Mouse"] = function(...)
|
|
@@ -14865,8 +14879,8 @@ ____exports.SoundEffect.BEAST_GROWL = 815
|
|
|
14865
14879
|
____exports.SoundEffect[____exports.SoundEffect.BEAST_GROWL] = "BEAST_GROWL"
|
|
14866
14880
|
____exports.SoundEffect.BEAST_GRUMBLE = 816
|
|
14867
14881
|
____exports.SoundEffect[____exports.SoundEffect.BEAST_GRUMBLE] = "BEAST_GRUMBLE"
|
|
14868
|
-
____exports.SoundEffect.
|
|
14869
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14882
|
+
____exports.SoundEffect.FAMINE_GRUNT = 817
|
|
14883
|
+
____exports.SoundEffect[____exports.SoundEffect.FAMINE_GRUNT] = "FAMINE_GRUNT"
|
|
14870
14884
|
____exports.SoundEffect.G_FUEL_1 = 818
|
|
14871
14885
|
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_1] = "G_FUEL_1"
|
|
14872
14886
|
____exports.SoundEffect.G_FUEL_2 = 819
|
|
@@ -14875,28 +14889,28 @@ ____exports.SoundEffect.G_FUEL_3 = 820
|
|
|
14875
14889
|
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_3] = "G_FUEL_3"
|
|
14876
14890
|
____exports.SoundEffect.G_FUEL_4 = 821
|
|
14877
14891
|
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_4] = "G_FUEL_4"
|
|
14878
|
-
____exports.SoundEffect.
|
|
14879
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14880
|
-
____exports.SoundEffect.
|
|
14881
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14882
|
-
____exports.SoundEffect.
|
|
14883
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14884
|
-
____exports.SoundEffect.
|
|
14885
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14886
|
-
____exports.SoundEffect.
|
|
14887
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14888
|
-
____exports.SoundEffect.
|
|
14889
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14890
|
-
____exports.SoundEffect.
|
|
14891
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14892
|
-
____exports.SoundEffect.
|
|
14893
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14894
|
-
____exports.SoundEffect.
|
|
14895
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14896
|
-
____exports.SoundEffect.
|
|
14897
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14898
|
-
____exports.SoundEffect.
|
|
14899
|
-
____exports.SoundEffect[____exports.SoundEffect.
|
|
14892
|
+
____exports.SoundEffect.G_FUEL_EXPLOSION_SMALL = 822
|
|
14893
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_EXPLOSION_SMALL] = "G_FUEL_EXPLOSION_SMALL"
|
|
14894
|
+
____exports.SoundEffect.G_FUEL_EXPLOSION_BIG = 823
|
|
14895
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_EXPLOSION_BIG] = "G_FUEL_EXPLOSION_BIG"
|
|
14896
|
+
____exports.SoundEffect.G_FUEL_GUNSHOT_MEDIUM = 824
|
|
14897
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_GUNSHOT_MEDIUM] = "G_FUEL_GUNSHOT_MEDIUM"
|
|
14898
|
+
____exports.SoundEffect.G_FUEL_GUNSHOT_SMALL = 825
|
|
14899
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_GUNSHOT_SMALL] = "G_FUEL_GUNSHOT_SMALL"
|
|
14900
|
+
____exports.SoundEffect.G_FUEL_GUNSHOT_LARGE = 826
|
|
14901
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_GUNSHOT_LARGE] = "G_FUEL_GUNSHOT_LARGE"
|
|
14902
|
+
____exports.SoundEffect.G_FUEL_GUNSHOT_SPREAD = 827
|
|
14903
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_GUNSHOT_SPREAD] = "G_FUEL_GUNSHOT_SPREAD"
|
|
14904
|
+
____exports.SoundEffect.G_FUEL_AIR_HORN = 828
|
|
14905
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_AIR_HORN] = "G_FUEL_AIR_HORN"
|
|
14906
|
+
____exports.SoundEffect.G_FUEL_ITEM_APPEAR = 829
|
|
14907
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_ITEM_APPEAR] = "G_FUEL_ITEM_APPEAR"
|
|
14908
|
+
____exports.SoundEffect.G_FUEL_GUNSHOT_MINI = 830
|
|
14909
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_GUNSHOT_MINI] = "G_FUEL_GUNSHOT_MINI"
|
|
14910
|
+
____exports.SoundEffect.G_FUEL_BULLET_RICOCHET = 831
|
|
14911
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_BULLET_RICOCHET] = "G_FUEL_BULLET_RICOCHET"
|
|
14912
|
+
____exports.SoundEffect.G_FUEL_ROCKET_LAUNCHER = 832
|
|
14913
|
+
____exports.SoundEffect[____exports.SoundEffect.G_FUEL_ROCKET_LAUNCHER] = "G_FUEL_ROCKET_LAUNCHER"
|
|
14900
14914
|
return ____exports
|
|
14901
14915
|
end,
|
|
14902
14916
|
["lua_modules.isaac-typescript-definitions.dist.src.enums.StageID"] = function(...)
|
|
@@ -18737,7 +18751,7 @@ ____exports.COLLECTIBLE_TYPE_TO_NAME_MAP = __TS__New(Map, {
|
|
|
18737
18751
|
{419, "Teleport 2.0"},
|
|
18738
18752
|
{420, "Black Powder"},
|
|
18739
18753
|
{421, "Kidney Bean"},
|
|
18740
|
-
{422, "Glowing
|
|
18754
|
+
{422, "Glowing Hourglass"},
|
|
18741
18755
|
{423, "Circle of Protection"},
|
|
18742
18756
|
{424, "Sack Head"},
|
|
18743
18757
|
{425, "Night Light"},
|
|
@@ -121,9 +121,9 @@ export declare class SaveDataManager extends Feature {
|
|
|
121
121
|
* saved to disk on game exit. (For example, if they contain functions or other non-serializable
|
|
122
122
|
* data.) For these cases, set the second argument to `false`.
|
|
123
123
|
*
|
|
124
|
-
* Note that when the player uses Glowing
|
|
124
|
+
* Note that when the player uses Glowing Hourglass, the save data manager will automatically
|
|
125
125
|
* restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
126
|
-
* was entered. Thus, you should not have to explicitly program support for Glowing
|
|
126
|
+
* was entered. Thus, you should not have to explicitly program support for Glowing Hourglass
|
|
127
127
|
* into your mod features that use the save data manager. If this is undesired for your specific
|
|
128
128
|
* use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
129
129
|
*
|
|
@@ -11,7 +11,7 @@ local ____table = require("src.functions.table")
|
|
|
11
11
|
local iterateTableInOrder = ____table.iterateTableInOrder
|
|
12
12
|
local ____constants = require("src.classes.features.other.saveDataManager.constants")
|
|
13
13
|
local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
|
|
14
|
-
--- When the Glowing
|
|
14
|
+
--- When the Glowing Hourglass is used, certain save data keys will automatically be restored to a
|
|
15
15
|
-- backup.
|
|
16
16
|
local GLOWING_HOUR_GLASS_BACKUP_KEYS = {SaveDataKey.RUN, SaveDataKey.LEVEL}
|
|
17
17
|
local IGNORE_GLOWING_HOUR_GLASS_KEY = "__ignoreGlowingHourGlass"
|
|
@@ -113,7 +113,7 @@ export declare function inBossRoomOf(bossID: BossID): boolean;
|
|
|
113
113
|
*/
|
|
114
114
|
export declare function inCrawlSpace(): boolean;
|
|
115
115
|
/**
|
|
116
|
-
* Helper function to detect if the current room is one of the
|
|
116
|
+
* Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
117
117
|
*/
|
|
118
118
|
export declare function inDeathCertificateArea(): boolean;
|
|
119
119
|
/**
|
|
@@ -277,7 +277,7 @@ function ____exports.inCrawlSpace(self)
|
|
|
277
277
|
local roomSubType = getRoomSubType(nil)
|
|
278
278
|
return roomType == RoomType.DUNGEON and roomSubType == asNumber(nil, DungeonSubType.NORMAL)
|
|
279
279
|
end
|
|
280
|
-
--- Helper function to detect if the current room is one of the
|
|
280
|
+
--- Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
281
281
|
function ____exports.inDeathCertificateArea(self)
|
|
282
282
|
local roomStageID = getRoomStageID(nil)
|
|
283
283
|
local roomSubType = getRoomSubType(nil)
|
|
@@ -427,7 +427,7 @@ ____exports.COLLECTIBLE_TYPE_TO_NAME_MAP = __TS__New(Map, {
|
|
|
427
427
|
{419, "Teleport 2.0"},
|
|
428
428
|
{420, "Black Powder"},
|
|
429
429
|
{421, "Kidney Bean"},
|
|
430
|
-
{422, "Glowing
|
|
430
|
+
{422, "Glowing Hourglass"},
|
|
431
431
|
{423, "Circle of Protection"},
|
|
432
432
|
{424, "Sack Head"},
|
|
433
433
|
{425, "Night Light"},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript-common",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.5.0",
|
|
4
4
|
"description": "Helper functions and features for IsaacScript mods.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
"main": "dist/src/index",
|
|
23
23
|
"types": "dist/src/index.d.ts",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"isaac-typescript-definitions": "^9.
|
|
25
|
+
"isaac-typescript-definitions": "^9.5.0"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -67,7 +67,7 @@ export class GameReorderedCallbacks extends Feature {
|
|
|
67
67
|
// ModCallback.POST_USE_ITEM (3)
|
|
68
68
|
// CollectibleType.GLOWING_HOUR_GLASS (422)
|
|
69
69
|
private useItemGlowingHourGlass = (): boolean | undefined => {
|
|
70
|
-
// If Glowing
|
|
70
|
+
// If Glowing Hourglass is used on the first room of a floor, it will send the player to the
|
|
71
71
|
// previous floor without triggering the `POST_NEW_LEVEL` callback. Manually check for this.
|
|
72
72
|
this.usedGlowingHourGlass = true;
|
|
73
73
|
|
|
@@ -109,7 +109,7 @@ export class GameReorderedCallbacks extends Feature {
|
|
|
109
109
|
this.usedGlowingHourGlass = false;
|
|
110
110
|
|
|
111
111
|
if (this.currentStage !== stage || this.currentStageType !== stageType) {
|
|
112
|
-
// The player has used the Glowing
|
|
112
|
+
// The player has used the Glowing Hourglass to take them to the previous floor (which does
|
|
113
113
|
// not trigger the `POST_NEW_LEVEL` callback). Emulate what happens in the `POST_NEW_LEVEL`
|
|
114
114
|
// callback.
|
|
115
115
|
this.recordCurrentStage();
|
|
@@ -126,7 +126,7 @@ export class SaveDataManager extends Feature {
|
|
|
126
126
|
}
|
|
127
127
|
this.loadedDataOnThisRun = true;
|
|
128
128
|
|
|
129
|
-
// Handle the race-condition of using the Glowing
|
|
129
|
+
// Handle the race-condition of using the Glowing Hourglass and then resetting the run.
|
|
130
130
|
this.restoreGlowingHourGlassDataOnNextRoom = false;
|
|
131
131
|
|
|
132
132
|
// We want to unconditionally load save data on every new run since there might be persistent
|
|
@@ -182,7 +182,7 @@ export class SaveDataManager extends Feature {
|
|
|
182
182
|
SaveDataKey.ROOM,
|
|
183
183
|
);
|
|
184
184
|
|
|
185
|
-
// Handle the Glowing
|
|
185
|
+
// Handle the Glowing Hourglass.
|
|
186
186
|
if (this.restoreGlowingHourGlassDataOnNextRoom) {
|
|
187
187
|
this.restoreGlowingHourGlassDataOnNextRoom = false;
|
|
188
188
|
restoreGlowingHourGlassBackup(
|
|
@@ -277,9 +277,9 @@ export class SaveDataManager extends Feature {
|
|
|
277
277
|
* saved to disk on game exit. (For example, if they contain functions or other non-serializable
|
|
278
278
|
* data.) For these cases, set the second argument to `false`.
|
|
279
279
|
*
|
|
280
|
-
* Note that when the player uses Glowing
|
|
280
|
+
* Note that when the player uses Glowing Hourglass, the save data manager will automatically
|
|
281
281
|
* restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
282
|
-
* was entered. Thus, you should not have to explicitly program support for Glowing
|
|
282
|
+
* was entered. Thus, you should not have to explicitly program support for Glowing Hourglass
|
|
283
283
|
* into your mod features that use the save data manager. If this is undesired for your specific
|
|
284
284
|
* use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
285
285
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// The save data manager has a feature where certain variables will automatically be rolled back
|
|
2
|
-
// when the Glowing
|
|
2
|
+
// when the Glowing Hourglass is used.
|
|
3
3
|
|
|
4
4
|
import { SaveDataKey } from "../../../../enums/SaveDataKey";
|
|
5
5
|
import { SerializationType } from "../../../../enums/SerializationType";
|
|
@@ -11,7 +11,7 @@ import { AnyClass } from "../../../../types/AnyClass";
|
|
|
11
11
|
import { SAVE_DATA_MANAGER_DEBUG } from "./constants";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* When the Glowing
|
|
14
|
+
* When the Glowing Hourglass is used, certain save data keys will automatically be restored to a
|
|
15
15
|
* backup.
|
|
16
16
|
*/
|
|
17
17
|
const GLOWING_HOUR_GLASS_BACKUP_KEYS: readonly SaveDataKey[] = [
|
|
@@ -29,7 +29,7 @@ export function makeGlowingHourGlassBackup(
|
|
|
29
29
|
iterateTableInOrder(
|
|
30
30
|
saveDataMap,
|
|
31
31
|
(subscriberName, saveData) => {
|
|
32
|
-
// We make the Glowing
|
|
32
|
+
// We make the Glowing Hourglass backup using `SerializationType.SERIALIZE`, which means that
|
|
33
33
|
// we cannot operate on unserializable data, such as functions. Save data that utilizes
|
|
34
34
|
// unserializable data will typically be marked using a conditional function that evaluates to
|
|
35
35
|
// false, so we skip all save data that matches this criteria.
|
|
@@ -86,7 +86,7 @@ export function restoreGlowingHourGlassBackup(
|
|
|
86
86
|
iterateTableInOrder(
|
|
87
87
|
saveDataMap,
|
|
88
88
|
(subscriberName, saveData) => {
|
|
89
|
-
// We make the Glowing
|
|
89
|
+
// We make the Glowing Hourglass backup using `SerializationType.SERIALIZE`, which means that
|
|
90
90
|
// we cannot operate on unserializable data, such as functions. Save data that utilizes
|
|
91
91
|
// unserializable data will typically be marked using a conditional function that evaluates to
|
|
92
92
|
// false, so we skip all save data that matches this criteria.
|
package/src/functions/rooms.ts
CHANGED
|
@@ -338,7 +338,7 @@ export function inCrawlSpace(): boolean {
|
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
/**
|
|
341
|
-
* Helper function to detect if the current room is one of the
|
|
341
|
+
* Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
342
342
|
*/
|
|
343
343
|
export function inDeathCertificateArea(): boolean {
|
|
344
344
|
const roomStageID = getRoomStageID();
|
|
@@ -433,7 +433,7 @@ export const COLLECTIBLE_TYPE_TO_NAME_MAP: ReadonlyMap<
|
|
|
433
433
|
[419, "Teleport 2.0"],
|
|
434
434
|
[420, "Black Powder"],
|
|
435
435
|
[421, "Kidney Bean"],
|
|
436
|
-
[422, "Glowing
|
|
436
|
+
[422, "Glowing Hourglass"],
|
|
437
437
|
[423, "Circle of Protection"],
|
|
438
438
|
[424, "Sack Head"],
|
|
439
439
|
[425, "Night Light"],
|