isaacscript-common 6.20.2 → 6.21.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/constantsFirstLast.d.ts +2 -2
- package/dist/constantsFirstLast.lua +2 -2
- package/dist/enums/RockAltType.d.ts +12 -1
- package/dist/enums/RockAltType.d.ts.map +1 -1
- package/dist/enums/RockAltType.lua +4 -2
- package/dist/features/customStage/backdrop.d.ts.map +1 -1
- package/dist/features/customStage/backdrop.lua +3 -2
- package/dist/features/customStage/customStageConstants.d.ts +11 -0
- package/dist/features/customStage/customStageConstants.d.ts.map +1 -1
- package/dist/features/customStage/customStageConstants.lua +10 -0
- package/dist/features/customStage/customStageGridEntities.d.ts +1 -0
- package/dist/features/customStage/customStageGridEntities.d.ts.map +1 -1
- package/dist/features/customStage/customStageGridEntities.lua +58 -23
- package/dist/features/customStage/exports.d.ts +4 -5
- package/dist/features/customStage/exports.d.ts.map +1 -1
- package/dist/features/customStage/exports.lua +49 -51
- package/dist/features/customStage/init.d.ts.map +1 -1
- package/dist/features/customStage/init.lua +7 -12
- package/dist/features/customStage/shadows.d.ts.map +1 -1
- package/dist/features/customStage/shadows.lua +2 -1
- package/dist/features/customStage/streakText.d.ts +0 -7
- package/dist/features/customStage/streakText.d.ts.map +1 -1
- package/dist/features/customStage/streakText.lua +51 -84
- package/dist/features/customStage/v.d.ts +13 -0
- package/dist/features/customStage/v.d.ts.map +1 -1
- package/dist/features/customStage/v.lua +6 -1
- package/dist/features/customTrapdoor/exports.d.ts +7 -6
- package/dist/features/customTrapdoor/exports.d.ts.map +1 -1
- package/dist/features/customTrapdoor/exports.lua +6 -5
- package/dist/features/customTrapdoor/init.d.ts.map +1 -1
- package/dist/features/customTrapdoor/init.lua +11 -6
- package/dist/features/customTrapdoor/touched.lua +0 -1
- package/dist/features/customTrapdoor/v.d.ts +1 -1
- package/dist/features/extraConsoleCommands/commandsSubroutines.d.ts.map +1 -1
- package/dist/features/extraConsoleCommands/commandsSubroutines.lua +3 -3
- package/dist/features/saveDataManager/exports.d.ts +3 -0
- package/dist/features/saveDataManager/exports.d.ts.map +1 -1
- package/dist/features/saveDataManager/exports.lua +3 -0
- package/dist/functions/collectibleSet.d.ts +1 -1
- package/dist/functions/collectibleSet.lua +1 -1
- package/dist/functions/doors.d.ts +10 -0
- package/dist/functions/doors.d.ts.map +1 -1
- package/dist/functions/doors.lua +6 -0
- package/dist/functions/log.d.ts +1 -15
- package/dist/functions/log.d.ts.map +1 -1
- package/dist/functions/log.lua +3 -218
- package/dist/functions/logEntities.d.ts +16 -0
- package/dist/functions/logEntities.d.ts.map +1 -0
- package/dist/functions/logEntities.lua +220 -0
- package/dist/functions/rockAlt.d.ts +6 -5
- package/dist/functions/rockAlt.d.ts.map +1 -1
- package/dist/functions/rockAlt.lua +147 -18
- package/dist/functions/roomTransition.d.ts +26 -0
- package/dist/functions/roomTransition.d.ts.map +1 -0
- package/dist/functions/roomTransition.lua +75 -0
- package/dist/functions/rooms.d.ts +1 -18
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.lua +3 -52
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.lua +8 -0
- package/dist/interfaces/private/CustomTrapdoorDescription.d.ts +1 -1
- package/dist/interfaces/private/CustomTrapdoorDescription.d.ts.map +1 -1
- package/dist/objects/backdropTypeToRockAltType.lua +3 -3
- package/package.json +1 -1
- package/src/constantsFirstLast.ts +2 -2
- package/src/enums/RockAltType.ts +14 -1
- package/src/features/customStage/backdrop.ts +2 -1
- package/src/features/customStage/customStageConstants.ts +16 -0
- package/src/features/customStage/customStageGridEntities.ts +47 -0
- package/src/features/customStage/exports.ts +44 -40
- package/src/features/customStage/init.ts +7 -18
- package/src/features/customStage/shadows.ts +2 -1
- package/src/features/customStage/streakText.ts +58 -95
- package/src/features/customStage/v.ts +17 -0
- package/src/features/customTrapdoor/exports.ts +9 -6
- package/src/features/customTrapdoor/init.ts +16 -5
- package/src/features/customTrapdoor/touched.ts +0 -2
- package/src/features/customTrapdoor/v.ts +1 -1
- package/src/features/extraConsoleCommands/commandsSubroutines.ts +4 -1
- package/src/features/saveDataManager/exports.ts +3 -0
- package/src/functions/collectibleSet.ts +1 -1
- package/src/functions/doors.ts +10 -0
- package/src/functions/log.ts +1 -279
- package/src/functions/logEntities.ts +276 -0
- package/src/functions/rockAlt.ts +147 -19
- package/src/functions/roomTransition.ts +78 -0
- package/src/functions/rooms.ts +2 -60
- package/src/index.ts +1 -0
- package/src/interfaces/private/CustomTrapdoorDescription.ts +3 -1
- package/src/objects/backdropTypeToRockAltType.ts +3 -3
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { CustomStage } from "../../interfaces/CustomStage";
|
|
2
|
-
/**
|
|
3
|
-
* We must load the sprites in an init function to prevent issues with mods that replace the vanilla
|
|
4
|
-
* files. (For some reason, loading the sprites will cause the overwrite to no longer apply on the
|
|
5
|
-
* second and subsequent runs.)
|
|
6
|
-
*/
|
|
7
|
-
export declare function streakTextInit(): void;
|
|
8
2
|
export declare function streakTextPostRender(): void;
|
|
9
|
-
export declare function streakTextPostGameStarted(): void;
|
|
10
3
|
export declare function streakTextGetShaderParams(customStage: CustomStage, shaderName: string): void;
|
|
11
4
|
export declare function topStreakTextStart(): void;
|
|
12
5
|
//# sourceMappingURL=streakText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streakText.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/streakText.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"streakText.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/streakText.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAuE3D,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AA0FD,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,GACjB,IAAI,CAYN;AA0ED,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
3
3
|
local ____exports = {}
|
|
4
|
-
local checkEndTopStreakText, trackMapInputPressed, checkStartBottomStreakText, checkEndBottomStreakText,
|
|
4
|
+
local checkEndTopStreakText, trackMapInputPressed, checkStartBottomStreakText, checkEndBottomStreakText, renderStreakText, TEXT_STAY_FRAME, TEXT_OUT_FRAME, STREAK_TEXT_BOTTOM_Y_OFFSET, NUM_RENDER_FRAMES_MAP_HELD_BEFORE_STREAK_TEXT, TEXT_IN_ADJUSTMENTS, TEXT_OUT_ADJUSTMENTS, TEXT_IN_SCALES, TEXT_OUT_SCALES
|
|
5
5
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
6
6
|
local ButtonAction = ____isaac_2Dtypescript_2Ddefinitions.ButtonAction
|
|
7
7
|
local ControllerIndex = ____isaac_2Dtypescript_2Ddefinitions.ControllerIndex
|
|
@@ -16,16 +16,20 @@ local getEnumValues = ____enums.getEnumValues
|
|
|
16
16
|
local ____ui = require("functions.ui")
|
|
17
17
|
local getScreenBottomCenterPos = ____ui.getScreenBottomCenterPos
|
|
18
18
|
local getScreenTopCenterPos = ____ui.getScreenTopCenterPos
|
|
19
|
+
local ____customStageConstants = require("features.customStage.customStageConstants")
|
|
20
|
+
local UIStreakAnimation = ____customStageConstants.UIStreakAnimation
|
|
21
|
+
local UI_STREAK_ANIMATION_END_FRAMES = ____customStageConstants.UI_STREAK_ANIMATION_END_FRAMES
|
|
19
22
|
local ____v = require("features.customStage.v")
|
|
20
23
|
local v = ____v.default
|
|
21
24
|
function checkEndTopStreakText(self)
|
|
22
|
-
if v.run.topStreakTextStartedRenderFrame == nil or
|
|
25
|
+
if v.run.topStreakTextStartedRenderFrame == nil or v.run.topStreakText.animation ~= UIStreakAnimation.TEXT_STAY then
|
|
23
26
|
return
|
|
24
27
|
end
|
|
25
28
|
local renderFrameCount = Isaac.GetFrameCount()
|
|
26
29
|
local elapsedFrames = renderFrameCount - v.run.topStreakTextStartedRenderFrame
|
|
27
30
|
if elapsedFrames >= 115 then
|
|
28
|
-
|
|
31
|
+
v.run.topStreakText.animation = UIStreakAnimation.TEXT
|
|
32
|
+
v.run.topStreakText.frame = TEXT_OUT_FRAME - 2
|
|
29
33
|
end
|
|
30
34
|
end
|
|
31
35
|
function trackMapInputPressed(self)
|
|
@@ -43,7 +47,7 @@ function trackMapInputPressed(self)
|
|
|
43
47
|
end
|
|
44
48
|
end
|
|
45
49
|
function checkStartBottomStreakText(self)
|
|
46
|
-
if
|
|
50
|
+
if v.run.bottomStreakText.animation ~= UIStreakAnimation.NONE then
|
|
47
51
|
return
|
|
48
52
|
end
|
|
49
53
|
local pushedMapFrames = {__TS__Spread(v.run.controllerIndexPushingMapRenderFrame:values())}
|
|
@@ -54,81 +58,69 @@ function checkStartBottomStreakText(self)
|
|
|
54
58
|
local gameFrameCount = game:GetFrameCount()
|
|
55
59
|
local elapsedFrames = gameFrameCount - earliestFrame
|
|
56
60
|
if elapsedFrames >= NUM_RENDER_FRAMES_MAP_HELD_BEFORE_STREAK_TEXT then
|
|
57
|
-
|
|
61
|
+
v.run.bottomStreakText.animation = UIStreakAnimation.TEXT
|
|
62
|
+
v.run.bottomStreakText.frame = 0
|
|
58
63
|
end
|
|
59
64
|
end
|
|
60
65
|
function checkEndBottomStreakText(self)
|
|
61
|
-
if
|
|
66
|
+
if v.run.bottomStreakText.animation ~= UIStreakAnimation.TEXT_STAY then
|
|
62
67
|
return
|
|
63
68
|
end
|
|
64
69
|
local pushedMapFrames = {__TS__Spread(v.run.controllerIndexPushingMapRenderFrame:values())}
|
|
65
70
|
if #pushedMapFrames == 0 then
|
|
66
|
-
|
|
71
|
+
v.run.bottomStreakText.animation = UIStreakAnimation.TEXT
|
|
72
|
+
v.run.bottomStreakText.frame = TEXT_OUT_FRAME - 2
|
|
67
73
|
end
|
|
68
74
|
end
|
|
69
|
-
function
|
|
70
|
-
|
|
71
|
-
if not sprite:IsPlaying() then
|
|
75
|
+
function renderStreakText(self, customStage, streakText, position)
|
|
76
|
+
if streakText.animation == UIStreakAnimation.NONE then
|
|
72
77
|
return
|
|
73
78
|
end
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
if streakText.animation ~= UIStreakAnimation.TEXT_STAY then
|
|
80
|
+
local ____streakText_0 = streakText
|
|
81
|
+
local pauseFrame = ____streakText_0.pauseFrame
|
|
82
|
+
streakText.pauseFrame = not streakText.pauseFrame
|
|
83
|
+
if not pauseFrame then
|
|
84
|
+
streakText.frame = streakText.frame + 1
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
local endFrame = UI_STREAK_ANIMATION_END_FRAMES[streakText.animation]
|
|
88
|
+
if streakText.frame > endFrame then
|
|
89
|
+
streakText.animation = UIStreakAnimation.NONE
|
|
90
|
+
streakText.frame = 0
|
|
91
|
+
return
|
|
92
|
+
end
|
|
93
|
+
if streakText.animation == UIStreakAnimation.TEXT and streakText.frame == TEXT_STAY_FRAME then
|
|
94
|
+
streakText.animation = UIStreakAnimation.TEXT_STAY
|
|
95
|
+
streakText.frame = 0
|
|
78
96
|
end
|
|
79
97
|
local isPaused = game:IsPaused()
|
|
80
98
|
if isPaused then
|
|
81
99
|
return
|
|
82
100
|
end
|
|
83
101
|
local font = fonts.upheaval
|
|
84
|
-
local
|
|
85
|
-
local name =
|
|
86
|
-
local
|
|
102
|
+
local ____customStage_1 = customStage
|
|
103
|
+
local name = ____customStage_1.name
|
|
104
|
+
local numberSuffix = v.run.firstFloor and "I" or "II"
|
|
105
|
+
local nameWithNumberSuffix = (name .. " ") .. numberSuffix
|
|
106
|
+
local length = font:GetStringWidthUTF8(nameWithNumberSuffix)
|
|
87
107
|
local centeredX = position.X - length / 2
|
|
88
108
|
local adjustment = 0
|
|
89
109
|
local scale = VectorOne
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
else
|
|
99
|
-
local adjustedFrame = frame - TEXT_OUT_FRAME
|
|
100
|
-
adjustment = TEXT_OUT_ADJUSTMENTS[adjustedFrame + 1] or 0
|
|
101
|
-
scale = TEXT_OUT_SCALES[adjustedFrame + 1] or VectorOne
|
|
102
|
-
end
|
|
103
|
-
break
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
____cond27 = ____cond27 or ____switch27 == UIStreakAnimation.TEXT_IN
|
|
107
|
-
if ____cond27 then
|
|
108
|
-
do
|
|
109
|
-
adjustment = TEXT_IN_ADJUSTMENTS[frame + 1] or 0
|
|
110
|
-
scale = TEXT_IN_SCALES[frame + 1] or VectorOne
|
|
111
|
-
break
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
____cond27 = ____cond27 or ____switch27 == UIStreakAnimation.TEXT_OUT
|
|
115
|
-
if ____cond27 then
|
|
116
|
-
do
|
|
117
|
-
adjustment = TEXT_OUT_ADJUSTMENTS[frame + 1] or 0
|
|
118
|
-
scale = TEXT_OUT_SCALES[frame + 1] or VectorOne
|
|
119
|
-
break
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
do
|
|
123
|
-
do
|
|
124
|
-
break
|
|
125
|
-
end
|
|
110
|
+
if streakText.animation == UIStreakAnimation.TEXT then
|
|
111
|
+
if streakText.frame < TEXT_STAY_FRAME then
|
|
112
|
+
adjustment = TEXT_IN_ADJUSTMENTS[streakText.frame + 1] or 0
|
|
113
|
+
scale = TEXT_IN_SCALES[streakText.frame + 1] or VectorOne
|
|
114
|
+
else
|
|
115
|
+
local adjustedFrame = streakText.frame - TEXT_OUT_FRAME
|
|
116
|
+
adjustment = TEXT_OUT_ADJUSTMENTS[adjustedFrame + 1] or 0
|
|
117
|
+
scale = TEXT_OUT_SCALES[adjustedFrame + 1] or VectorOne
|
|
126
118
|
end
|
|
127
|
-
|
|
119
|
+
end
|
|
128
120
|
local adjustedX = centeredX + adjustment
|
|
129
121
|
local adjustedY = position.Y + STREAK_TEXT_BOTTOM_Y_OFFSET
|
|
130
122
|
font:DrawStringScaled(
|
|
131
|
-
|
|
123
|
+
nameWithNumberSuffix,
|
|
132
124
|
adjustedX,
|
|
133
125
|
adjustedY,
|
|
134
126
|
scale.X,
|
|
@@ -136,15 +128,6 @@ function renderSprite(self, customStage, sprite, position)
|
|
|
136
128
|
KColorDefault
|
|
137
129
|
)
|
|
138
130
|
end
|
|
139
|
-
function playTextOut(self, sprite)
|
|
140
|
-
sprite:Play(UIStreakAnimation.TEXT, true)
|
|
141
|
-
sprite:SetFrame(TEXT_OUT_FRAME - 2)
|
|
142
|
-
end
|
|
143
|
-
UIStreakAnimation = UIStreakAnimation or ({})
|
|
144
|
-
UIStreakAnimation.TEXT = "Text"
|
|
145
|
-
UIStreakAnimation.TEXT_IN = "TextIn"
|
|
146
|
-
UIStreakAnimation.TEXT_OUT = "TextOut"
|
|
147
|
-
UIStreakAnimation.TEXT_STAY = "TextStay"
|
|
148
131
|
--- This must match the name of the shader in "shaders.xml".
|
|
149
132
|
local EMPTY_SHADER_NAME = "IsaacScript-RenderAboveHUD"
|
|
150
133
|
TEXT_STAY_FRAME = 8
|
|
@@ -155,8 +138,6 @@ local STREAK_SPRITE_TOP_OFFSET = Vector(0, 48.25)
|
|
|
155
138
|
local STREAK_SPRITE_BOTTOM_OFFSET = Vector(0, -48.25)
|
|
156
139
|
STREAK_TEXT_BOTTOM_Y_OFFSET = -9
|
|
157
140
|
NUM_RENDER_FRAMES_MAP_HELD_BEFORE_STREAK_TEXT = 11
|
|
158
|
-
--- Corresponds to the vanilla value; determined through trial and error.
|
|
159
|
-
local TEXT_PLAYBACK_SPEED = 0.5
|
|
160
141
|
TEXT_IN_ADJUSTMENTS = {
|
|
161
142
|
-800,
|
|
162
143
|
-639,
|
|
@@ -201,43 +182,29 @@ TEXT_OUT_SCALES = {
|
|
|
201
182
|
Vector(2.59, 0.38),
|
|
202
183
|
Vector(3, 0.2)
|
|
203
184
|
}
|
|
204
|
-
topStreakSprite = Sprite()
|
|
205
|
-
bottomStreakSprite = Sprite()
|
|
206
|
-
--- We must load the sprites in an init function to prevent issues with mods that replace the vanilla
|
|
207
|
-
-- files. (For some reason, loading the sprites will cause the overwrite to no longer apply on the
|
|
208
|
-
-- second and subsequent runs.)
|
|
209
|
-
function ____exports.streakTextInit(self)
|
|
210
|
-
topStreakSprite:Load("resources/gfx/ui/ui_streak.anm2", false)
|
|
211
|
-
topStreakSprite.PlaybackSpeed = TEXT_PLAYBACK_SPEED
|
|
212
|
-
bottomStreakSprite:Load("resources/gfx/ui/ui_streak.anm2", false)
|
|
213
|
-
bottomStreakSprite.PlaybackSpeed = TEXT_PLAYBACK_SPEED
|
|
214
|
-
end
|
|
215
185
|
function ____exports.streakTextPostRender(self)
|
|
216
186
|
checkEndTopStreakText(nil)
|
|
217
187
|
trackMapInputPressed(nil)
|
|
218
188
|
checkStartBottomStreakText(nil)
|
|
219
189
|
checkEndBottomStreakText(nil)
|
|
220
190
|
end
|
|
221
|
-
function ____exports.streakTextPostGameStarted(self)
|
|
222
|
-
topStreakSprite:Stop()
|
|
223
|
-
bottomStreakSprite:Stop()
|
|
224
|
-
end
|
|
225
191
|
function ____exports.streakTextGetShaderParams(self, customStage, shaderName)
|
|
226
192
|
if shaderName ~= EMPTY_SHADER_NAME then
|
|
227
193
|
return
|
|
228
194
|
end
|
|
229
195
|
local topCenterPos = getScreenTopCenterPos(nil)
|
|
230
196
|
local topStreakPosition = topCenterPos + STREAK_SPRITE_TOP_OFFSET
|
|
231
|
-
|
|
197
|
+
renderStreakText(nil, customStage, v.run.topStreakText, topStreakPosition)
|
|
232
198
|
local bottomCenterPos = getScreenBottomCenterPos(nil)
|
|
233
199
|
local bottomStreakPosition = bottomCenterPos + STREAK_SPRITE_BOTTOM_OFFSET
|
|
234
|
-
|
|
200
|
+
renderStreakText(nil, customStage, v.run.bottomStreakText, bottomStreakPosition)
|
|
235
201
|
end
|
|
236
202
|
function ____exports.topStreakTextStart(self)
|
|
237
203
|
local level = game:GetLevel()
|
|
238
204
|
local renderFrameCount = Isaac.GetFrameCount()
|
|
239
205
|
level:ShowName(false)
|
|
206
|
+
v.run.topStreakText.animation = UIStreakAnimation.TEXT
|
|
207
|
+
v.run.topStreakText.frame = 0
|
|
240
208
|
v.run.topStreakTextStartedRenderFrame = renderFrameCount
|
|
241
|
-
topStreakSprite:Play(UIStreakAnimation.TEXT, true)
|
|
242
209
|
end
|
|
243
210
|
return ____exports
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
import { ControllerIndex } from "isaac-typescript-definitions";
|
|
2
2
|
import { CustomStage } from "../../interfaces/CustomStage";
|
|
3
|
+
import { UIStreakAnimation } from "./customStageConstants";
|
|
3
4
|
declare const v: {
|
|
4
5
|
run: {
|
|
5
6
|
currentCustomStage: CustomStage | null;
|
|
7
|
+
/** Whether we are on e.g. Caves 1 or Caves 2. */
|
|
8
|
+
firstFloor: boolean;
|
|
6
9
|
showingBossVersusScreen: boolean;
|
|
7
10
|
/** Values are the render frame that the controller first pressed the map button. */
|
|
8
11
|
controllerIndexPushingMapRenderFrame: Map<ControllerIndex, number>;
|
|
9
12
|
topStreakTextStartedRenderFrame: number | null;
|
|
13
|
+
topStreakText: {
|
|
14
|
+
animation: UIStreakAnimation;
|
|
15
|
+
frame: number;
|
|
16
|
+
pauseFrame: boolean;
|
|
17
|
+
};
|
|
18
|
+
bottomStreakText: {
|
|
19
|
+
animation: UIStreakAnimation;
|
|
20
|
+
frame: number;
|
|
21
|
+
pauseFrame: boolean;
|
|
22
|
+
};
|
|
10
23
|
};
|
|
11
24
|
room: {
|
|
12
25
|
showingShadows: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/v.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,QAAA,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"v.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/v.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAA,MAAM,CAAC;;;QAIH,iDAAiD;;;QAKjD,oFAAoF;;;;;;;;;;;;;;;;;CAqBvF,CAAC;AACF,eAAe,CAAC,CAAC;AAEjB,oCAAoC;AACpC,eAAO,MAAM,eAAe,0BAAiC,CAAC;AAE9D,+BAA+B;AAC/B,eAAO,MAAM,yBAAyB,mCAAuC,CAAC;AAE9E,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,6DAG5B,CAAC"}
|
|
@@ -2,12 +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 ____customStageConstants = require("features.customStage.customStageConstants")
|
|
6
|
+
local UIStreakAnimation = ____customStageConstants.UIStreakAnimation
|
|
5
7
|
local v = {
|
|
6
8
|
run = {
|
|
7
9
|
currentCustomStage = nil,
|
|
10
|
+
firstFloor = true,
|
|
8
11
|
showingBossVersusScreen = false,
|
|
9
12
|
controllerIndexPushingMapRenderFrame = __TS__New(Map),
|
|
10
|
-
topStreakTextStartedRenderFrame = nil
|
|
13
|
+
topStreakTextStartedRenderFrame = nil,
|
|
14
|
+
topStreakText = {animation = UIStreakAnimation.NONE, frame = 0, pauseFrame = false},
|
|
15
|
+
bottomStreakText = {animation = UIStreakAnimation.NONE, frame = 0, pauseFrame = false}
|
|
11
16
|
},
|
|
12
17
|
room = {showingShadows = false}
|
|
13
18
|
}
|
|
@@ -6,7 +6,6 @@ import { LevelStage, StageType } from "isaac-typescript-definitions";
|
|
|
6
6
|
* - custom destination (or custom logic for after the player enters)
|
|
7
7
|
* - custom graphics
|
|
8
8
|
* - custom logic for opening/closing
|
|
9
|
-
* - TODO: player jumping animation?
|
|
10
9
|
*
|
|
11
10
|
* You can use this function to take the player to your custom stage.
|
|
12
11
|
*
|
|
@@ -15,15 +14,17 @@ import { LevelStage, StageType } from "isaac-typescript-definitions";
|
|
|
15
14
|
*
|
|
16
15
|
* @param gridIndexOrPosition The location in the room to spawn the trapdoor.
|
|
17
16
|
* @param destination Optional. Used to specify where the player will go after jumping into the
|
|
18
|
-
* trapdoor. Can either be a tuple
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
17
|
+
* trapdoor. Can either be a tuple or undefined. For example, a destination of
|
|
18
|
+
* `[LevelStage.CAVES_1, StageType.ORIGINAL]` corresponds to Caves 1, and a
|
|
19
|
+
* destination of `["Slaughterhouse", 1]` corresponds to a custom stage of
|
|
20
|
+
* Slaughterhouse 1. If the destination is set to undefined, then the "normal"
|
|
21
|
+
* destination corresponding to the current stage and room will be used (e.g. the
|
|
22
|
+
* next floor).
|
|
22
23
|
* @param anm2Path Optional. The path to the anm2 file to use. By default, the vanilla trapdoor anm2
|
|
23
24
|
* of "gfx/grid/door_11_trapdoor.anm2" will be used. The specified anm2 file must
|
|
24
25
|
* have animations called "Opened", "Closed", and "Open Animation".
|
|
25
26
|
* @param spawnOpen Optional. Whether or not to spawn the trapdoor in an open state. By default,
|
|
26
27
|
* behavior will be used that emulates a vanilla trapdoor.
|
|
27
28
|
*/
|
|
28
|
-
export declare function spawnCustomTrapdoor(gridIndexOrPosition: int | Vector, destination?: [stage: LevelStage, stageType: StageType] | string, anm2Path?: string, spawnOpen?: boolean): GridEntity;
|
|
29
|
+
export declare function spawnCustomTrapdoor(gridIndexOrPosition: int | Vector, destination?: [stage: LevelStage, stageType: StageType] | [customStageName: string, floorNum: int], anm2Path?: string, spawnOpen?: boolean): GridEntity;
|
|
29
30
|
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,SAAS,EACV,MAAM,8BAA8B,CAAC;AAgBtC
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,SAAS,EACV,MAAM,8BAA8B,CAAC;AAgBtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,GAAG,GAAG,MAAM,EACjC,WAAW,CAAC,EACR,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACzC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,EAC5C,QAAQ,SAAmC,EAC3C,SAAS,CAAC,EAAE,OAAO,GAClB,UAAU,CAwCZ"}
|
|
@@ -37,7 +37,6 @@ end
|
|
|
37
37
|
-- - custom destination (or custom logic for after the player enters)
|
|
38
38
|
-- - custom graphics
|
|
39
39
|
-- - custom logic for opening/closing
|
|
40
|
-
-- - TODO: player jumping animation?
|
|
41
40
|
--
|
|
42
41
|
-- You can use this function to take the player to your custom stage.
|
|
43
42
|
--
|
|
@@ -46,10 +45,12 @@ end
|
|
|
46
45
|
--
|
|
47
46
|
-- @param gridIndexOrPosition The location in the room to spawn the trapdoor.
|
|
48
47
|
-- @param destination Optional. Used to specify where the player will go after jumping into the
|
|
49
|
-
-- trapdoor. Can either be a tuple
|
|
50
|
-
--
|
|
51
|
-
--
|
|
52
|
-
--
|
|
48
|
+
-- trapdoor. Can either be a tuple or undefined. For example, a destination of
|
|
49
|
+
-- `[LevelStage.CAVES_1, StageType.ORIGINAL]` corresponds to Caves 1, and a
|
|
50
|
+
-- destination of `["Slaughterhouse", 1]` corresponds to a custom stage of
|
|
51
|
+
-- Slaughterhouse 1. If the destination is set to undefined, then the "normal"
|
|
52
|
+
-- destination corresponding to the current stage and room will be used (e.g. the
|
|
53
|
+
-- next floor).
|
|
53
54
|
-- @param anm2Path Optional. The path to the anm2 file to use. By default, the vanilla trapdoor anm2
|
|
54
55
|
-- of "gfx/grid/door_11_trapdoor.anm2" will be used. The specified anm2 file must
|
|
55
56
|
-- have animations called "Opened", "Closed", and "Open Animation".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/init.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAyBxD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAUzD"}
|
|
@@ -5,6 +5,8 @@ local ____exports = {}
|
|
|
5
5
|
local postRender, checkAllPlayersJumpComplete, checkPixelationToBlackComplete, checkPausingOnBlackComplete, checkAllPlayersLayingDownComplete, goToCustomDestination, anyPlayerPlayingExtraAnimation, postPEffectUpdate, checkJumpComplete, postGridEntityCustomUpdateTrapdoor
|
|
6
6
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
7
|
local Direction = ____isaac_2Dtypescript_2Ddefinitions.Direction
|
|
8
|
+
local EntityCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.EntityCollisionClass
|
|
9
|
+
local EntityGridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.EntityGridCollisionClass
|
|
8
10
|
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
|
|
9
11
|
local RoomTransitionAnim = ____isaac_2Dtypescript_2Ddefinitions.RoomTransitionAnim
|
|
10
12
|
local ____cachedClasses = require("cachedClasses")
|
|
@@ -20,8 +22,8 @@ local getAllPlayers = ____playerIndex.getAllPlayers
|
|
|
20
22
|
local ____roomData = require("functions.roomData")
|
|
21
23
|
local getRoomGridIndex = ____roomData.getRoomGridIndex
|
|
22
24
|
local getRoomListIndex = ____roomData.getRoomListIndex
|
|
23
|
-
local
|
|
24
|
-
local teleport =
|
|
25
|
+
local ____roomTransition = require("functions.roomTransition")
|
|
26
|
+
local teleport = ____roomTransition.teleport
|
|
25
27
|
local ____stage = require("functions.stage")
|
|
26
28
|
local setStage = ____stage.setStage
|
|
27
29
|
local ____types = require("functions.types")
|
|
@@ -112,6 +114,8 @@ function checkPausingOnBlackComplete(self)
|
|
|
112
114
|
v.run.state = StageTravelState.PLAYERS_LAYING_DOWN
|
|
113
115
|
for ____, player in ipairs(getAllPlayers(nil)) do
|
|
114
116
|
player:AnimateAppear()
|
|
117
|
+
player.EntityCollisionClass = EntityCollisionClass.ALL
|
|
118
|
+
player.GridCollisionClass = EntityGridCollisionClass.GROUND
|
|
115
119
|
end
|
|
116
120
|
end
|
|
117
121
|
)
|
|
@@ -136,11 +140,12 @@ function goToCustomDestination(self)
|
|
|
136
140
|
if v.run.destination == nil then
|
|
137
141
|
return
|
|
138
142
|
end
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
local arg1, arg2 = table.unpack(v.run.destination)
|
|
144
|
+
if isString(nil, arg1) then
|
|
145
|
+
local firstFloor = arg2 == 1
|
|
146
|
+
setCustomStage(nil, "Slaughterhouse", firstFloor)
|
|
141
147
|
else
|
|
142
|
-
|
|
143
|
-
setStage(nil, stage, stageType)
|
|
148
|
+
setStage(nil, arg1, arg2)
|
|
144
149
|
end
|
|
145
150
|
end
|
|
146
151
|
function anyPlayerPlayingExtraAnimation(self)
|
|
@@ -73,7 +73,6 @@ function setPlayerAttributes(self, trapdoorPlayer, position)
|
|
|
73
73
|
player.Velocity = VectorZero
|
|
74
74
|
player.EntityCollisionClass = EntityCollisionClass.NONE
|
|
75
75
|
player.GridCollisionClass = EntityGridCollisionClass.NONE
|
|
76
|
-
player.SubType = -1
|
|
77
76
|
end
|
|
78
77
|
end
|
|
79
78
|
function dropTaintedForgotten(self, player)
|
|
@@ -7,7 +7,7 @@ declare const v: {
|
|
|
7
7
|
state: StageTravelState;
|
|
8
8
|
/** The render frame that this state was reached. */
|
|
9
9
|
stateRenderFrame: number | null;
|
|
10
|
-
destination:
|
|
10
|
+
destination: [stage: LevelStage, stageType: StageType] | [customStageName: string, floorNum: number] | null;
|
|
11
11
|
};
|
|
12
12
|
level: {
|
|
13
13
|
/** Indexed by room list index and grid index. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandsSubroutines.d.ts","sourceRoot":"","sources":["../../../src/features/extraConsoleCommands/commandsSubroutines.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIT,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"commandsSubroutines.d.ts","sourceRoot":"","sources":["../../../src/features/extraConsoleCommands/commandsSubroutines.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIT,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmBpD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAcrE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAqBlD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,wBAAwB,EAAE,OAAO,GAChC,IAAI,CAYN;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI,CAY5E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAgBrE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAUjE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAevD"}
|
|
@@ -13,9 +13,9 @@ local ____gridEntities = require("functions.gridEntities")
|
|
|
13
13
|
local spawnGridEntityWithVariant = ____gridEntities.spawnGridEntityWithVariant
|
|
14
14
|
local ____levelGrid = require("functions.levelGrid")
|
|
15
15
|
local getRoomGridIndexesForType = ____levelGrid.getRoomGridIndexesForType
|
|
16
|
-
local
|
|
17
|
-
local logAllEntities =
|
|
18
|
-
local logAllGridEntities =
|
|
16
|
+
local ____logEntities = require("functions.logEntities")
|
|
17
|
+
local logAllEntities = ____logEntities.logAllEntities
|
|
18
|
+
local logAllGridEntities = ____logEntities.logAllGridEntities
|
|
19
19
|
local ____playerHealth = require("functions.playerHealth")
|
|
20
20
|
local addPlayerHealthType = ____playerHealth.addPlayerHealthType
|
|
21
21
|
local ____roomData = require("functions.roomData")
|
|
@@ -59,6 +59,9 @@ import { SaveData } from "../../interfaces/SaveData";
|
|
|
59
59
|
* can possibly run).
|
|
60
60
|
* - Save data is recorded to disk in the `PRE_GAME_EXIT` callback.
|
|
61
61
|
*
|
|
62
|
+
* You can put lots of data types on your variable objects, but not everything is supported. For the
|
|
63
|
+
* specific things that are supported, see the documentation for the `deepCopy` helper function.
|
|
64
|
+
*
|
|
62
65
|
* Note that before using the save data manager, you must call the `upgradeMod` function. (Upgrade
|
|
63
66
|
* your mod before registering any of your own callbacks so that the save data manager will run
|
|
64
67
|
* before any of your code does.)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/saveDataManager/exports.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAarD
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/saveDataManager/exports.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAarD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,QAAQ,EACX,eAAe,CAAC,EAAE,MAAM,OAAO,GAC9B,IAAI,CAkCN;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAQD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,GACrB,IAAI,CAiBN"}
|
|
@@ -79,6 +79,9 @@ local SAVE_DATA_MANAGER_FEATURE_NAME = ____saveDataManagerConstants.SAVE_DATA_MA
|
|
|
79
79
|
-- can possibly run).
|
|
80
80
|
-- - Save data is recorded to disk in the `PRE_GAME_EXIT` callback.
|
|
81
81
|
--
|
|
82
|
+
-- You can put lots of data types on your variable objects, but not everything is supported. For the
|
|
83
|
+
-- specific things that are supported, see the documentation for the `deepCopy` helper function.
|
|
84
|
+
--
|
|
82
85
|
-- Note that before using the save data manager, you must call the `upgradeMod` function. (Upgrade
|
|
83
86
|
-- your mod before registering any of your own callbacks so that the save data manager will run
|
|
84
87
|
-- before any of your code does.)
|
|
@@ -4,7 +4,7 @@ import { CollectibleType } from "isaac-typescript-definitions";
|
|
|
4
4
|
* collectibles.
|
|
5
5
|
*
|
|
6
6
|
* Use this if you need to iterate over the collectibles in order. If you need to do O(1) lookups,
|
|
7
|
-
* then use the `
|
|
7
|
+
* then use the `getCollectibleSet` helper function instead.
|
|
8
8
|
*/
|
|
9
9
|
export declare function getCollectibleArray(): readonly CollectibleType[];
|
|
10
10
|
/**
|
|
@@ -54,7 +54,7 @@ end
|
|
|
54
54
|
-- collectibles.
|
|
55
55
|
--
|
|
56
56
|
-- Use this if you need to iterate over the collectibles in order. If you need to do O(1) lookups,
|
|
57
|
-
-- then use the `
|
|
57
|
+
-- then use the `getCollectibleSet` helper function instead.
|
|
58
58
|
function ____exports.getCollectibleArray(self)
|
|
59
59
|
initCollectibleArraysAndSets(nil)
|
|
60
60
|
return ALL_COLLECTIBLES_ARRAY
|
|
@@ -52,6 +52,12 @@ export declare function getDoors(...roomTypes: RoomType[]): GridEntityDoor[];
|
|
|
52
52
|
*/
|
|
53
53
|
export declare function getDoorsToRoomIndex(...roomGridIndex: int[]): GridEntityDoor[];
|
|
54
54
|
export declare function getOppositeDoorSlot(doorSlot: DoorSlot): DoorSlot | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Helper function to get the door that leads to the "secret exit" off-grid room that takes you to
|
|
57
|
+
* the Repentance floor.
|
|
58
|
+
*
|
|
59
|
+
* Returns undefined if the room has no Repentance doors.
|
|
60
|
+
*/
|
|
55
61
|
export declare function getRepentanceDoor(): GridEntityDoor | undefined;
|
|
56
62
|
/**
|
|
57
63
|
* Helper function to get the corresponding door slot for a given room shape and grid coordinates.
|
|
@@ -94,6 +100,10 @@ export declare function isDoorToMines(door: GridEntityDoor): boolean;
|
|
|
94
100
|
*/
|
|
95
101
|
export declare function isDoorToMomsHeart(door: GridEntityDoor): boolean;
|
|
96
102
|
export declare function isHiddenSecretRoomDoor(door: GridEntityDoor): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Helper function to check if the provided door leads to the "secret exit" off-grid room that takes
|
|
105
|
+
* you to the Repentance floor.
|
|
106
|
+
*/
|
|
97
107
|
export declare function isRepentanceDoor(door: GridEntityDoor): boolean;
|
|
98
108
|
/**
|
|
99
109
|
* This refers to the hole in the wall that appears after bombing the entrance to a secret room.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doors.d.ts","sourceRoot":"","sources":["../../src/functions/doors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doors.d.ts","sourceRoot":"","sources":["../../src/functions/doors.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/doors.lua
CHANGED
|
@@ -74,6 +74,8 @@ function ____exports.getDoors(self, ...)
|
|
|
74
74
|
end
|
|
75
75
|
return doors
|
|
76
76
|
end
|
|
77
|
+
--- Helper function to check if the provided door leads to the "secret exit" off-grid room that takes
|
|
78
|
+
-- you to the Repentance floor.
|
|
77
79
|
function ____exports.isRepentanceDoor(self, door)
|
|
78
80
|
return door.TargetRoomIndex == GridRoom.SECRET_EXIT
|
|
79
81
|
end
|
|
@@ -190,6 +192,10 @@ end
|
|
|
190
192
|
function ____exports.getOppositeDoorSlot(self, doorSlot)
|
|
191
193
|
return OPPOSITE_DOOR_SLOTS[doorSlot]
|
|
192
194
|
end
|
|
195
|
+
--- Helper function to get the door that leads to the "secret exit" off-grid room that takes you to
|
|
196
|
+
-- the Repentance floor.
|
|
197
|
+
--
|
|
198
|
+
-- Returns undefined if the room has no Repentance doors.
|
|
193
199
|
function ____exports.getRepentanceDoor(self)
|
|
194
200
|
local doors = ____exports.getDoors(nil)
|
|
195
201
|
return __TS__ArrayFind(
|
package/dist/functions/log.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="typescript-to-lua/language-extensions" />
|
|
2
|
-
import { DamageFlag, EntityFlag,
|
|
2
|
+
import { DamageFlag, EntityFlag, ProjectileFlag, TearFlag, UseFlag } from "isaac-typescript-definitions";
|
|
3
3
|
/**
|
|
4
4
|
* Helper function to prefix the name of the function and the line number before a debug message.
|
|
5
5
|
*/
|
|
@@ -11,20 +11,10 @@ export declare function getDebugPrependString(msg: string, numParentFunctions?:
|
|
|
11
11
|
* function will also prepend the function name and the line number before the string.
|
|
12
12
|
*/
|
|
13
13
|
export declare function log(this: void, msg: string): void;
|
|
14
|
-
/** Helper function for printing out every entity (or filtered entity) in the current room. */
|
|
15
|
-
export declare function logAllEntities(this: void, includeBackgroundEffects: boolean, entityTypeFilter?: EntityType): void;
|
|
16
|
-
/**
|
|
17
|
-
* Helper function for printing out every grid entity (or filtered grid entity) in the current room.
|
|
18
|
-
*/
|
|
19
|
-
export declare function logAllGridEntities(this: void, includeWalls: boolean, gridEntityTypeFilter?: GridEntityType): void;
|
|
20
14
|
export declare function logArray<T>(this: void, array: T[] | readonly T[]): void;
|
|
21
15
|
export declare function logColor(this: void, color: Color): void;
|
|
22
16
|
/** Helper function for printing out every damage flag that is turned on. Useful when debugging. */
|
|
23
17
|
export declare function logDamageFlags(this: void, flags: DamageFlag | BitFlags<DamageFlag>): void;
|
|
24
|
-
/** Helper function for logging an array of specific entities. */
|
|
25
|
-
export declare function logEntities(this: void, entities: Entity[]): void;
|
|
26
|
-
/** Helper function to log information about a specific entity. */
|
|
27
|
-
export declare function logEntity(this: void, entity: Entity): void;
|
|
28
18
|
/** Helper function for printing out every entity flag that is turned on. Useful when debugging. */
|
|
29
19
|
export declare function logEntityFlags(this: void, flags: EntityFlag | BitFlags<EntityFlag>): void;
|
|
30
20
|
export declare function logEntityID(this: void, entity: Entity): void;
|
|
@@ -41,10 +31,6 @@ export declare function logFlags<T extends BitFlag | BitFlag128>(this: void, fla
|
|
|
41
31
|
* Helper function for printing out every game state flag that is turned on. Useful when debugging.
|
|
42
32
|
*/
|
|
43
33
|
export declare function logGameStateFlags(this: void): void;
|
|
44
|
-
/** Helper function for logging an array of specific grid entities. */
|
|
45
|
-
export declare function logGridEntities(this: void, gridEntities: GridEntity[]): void;
|
|
46
|
-
/** Helper function for log information about a specific grid entity. */
|
|
47
|
-
export declare function logGridEntity(this: void, gridEntity: GridEntity): void;
|
|
48
34
|
export declare function logKColor(this: void, kColor: KColor): void;
|
|
49
35
|
/**
|
|
50
36
|
* Helper function for printing out every level state flag that is turned on. Useful when debugging.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":"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"}
|