isaacscript-common 6.20.1 → 6.22.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.
Files changed (122) hide show
  1. package/dist/constants.d.ts +6 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.lua +4 -0
  4. package/dist/constantsFirstLast.d.ts +2 -2
  5. package/dist/constantsFirstLast.lua +2 -2
  6. package/dist/enums/RockAltType.d.ts +12 -1
  7. package/dist/enums/RockAltType.d.ts.map +1 -1
  8. package/dist/enums/RockAltType.lua +4 -2
  9. package/dist/enums/private/StageTravelState.d.ts +4 -3
  10. package/dist/enums/private/StageTravelState.d.ts.map +1 -1
  11. package/dist/enums/private/StageTravelState.lua +6 -4
  12. package/dist/features/customStage/backdrop.d.ts.map +1 -1
  13. package/dist/features/customStage/backdrop.lua +3 -2
  14. package/dist/features/customStage/customStageConstants.d.ts +11 -0
  15. package/dist/features/customStage/customStageConstants.d.ts.map +1 -1
  16. package/dist/features/customStage/customStageConstants.lua +10 -0
  17. package/dist/features/customStage/customStageGridEntities.d.ts +1 -0
  18. package/dist/features/customStage/customStageGridEntities.d.ts.map +1 -1
  19. package/dist/features/customStage/customStageGridEntities.lua +65 -23
  20. package/dist/features/customStage/exports.d.ts +17 -3
  21. package/dist/features/customStage/exports.d.ts.map +1 -1
  22. package/dist/features/customStage/exports.lua +65 -46
  23. package/dist/features/customStage/init.d.ts.map +1 -1
  24. package/dist/features/customStage/init.lua +7 -12
  25. package/dist/features/customStage/shadows.d.ts.map +1 -1
  26. package/dist/features/customStage/shadows.lua +2 -1
  27. package/dist/features/customStage/streakText.d.ts +0 -7
  28. package/dist/features/customStage/streakText.d.ts.map +1 -1
  29. package/dist/features/customStage/streakText.lua +52 -85
  30. package/dist/features/customStage/v.d.ts +13 -0
  31. package/dist/features/customStage/v.d.ts.map +1 -1
  32. package/dist/features/customStage/v.lua +6 -1
  33. package/dist/features/customStage/versusScreen.d.ts.map +1 -1
  34. package/dist/features/customStage/versusScreen.lua +32 -1
  35. package/dist/features/customTrapdoor/blackSprite.d.ts.map +1 -1
  36. package/dist/features/customTrapdoor/blackSprite.lua +2 -1
  37. package/dist/features/customTrapdoor/customTrapdoorConstants.d.ts +4 -0
  38. package/dist/features/customTrapdoor/customTrapdoorConstants.d.ts.map +1 -1
  39. package/dist/features/customTrapdoor/exports.d.ts +11 -7
  40. package/dist/features/customTrapdoor/exports.d.ts.map +1 -1
  41. package/dist/features/customTrapdoor/exports.lua +6 -5
  42. package/dist/features/customTrapdoor/init.d.ts.map +1 -1
  43. package/dist/features/customTrapdoor/init.lua +35 -20
  44. package/dist/features/customTrapdoor/touched.lua +1 -1
  45. package/dist/features/customTrapdoor/v.d.ts +2 -2
  46. package/dist/features/customTrapdoor/v.d.ts.map +1 -1
  47. package/dist/features/extraConsoleCommands/commandsSubroutines.d.ts.map +1 -1
  48. package/dist/features/extraConsoleCommands/commandsSubroutines.lua +3 -3
  49. package/dist/features/playerInventory.d.ts +7 -0
  50. package/dist/features/playerInventory.d.ts.map +1 -1
  51. package/dist/features/playerInventory.lua +7 -0
  52. package/dist/features/saveDataManager/exports.d.ts +3 -0
  53. package/dist/features/saveDataManager/exports.d.ts.map +1 -1
  54. package/dist/features/saveDataManager/exports.lua +3 -0
  55. package/dist/functions/collectibleSet.d.ts +1 -1
  56. package/dist/functions/collectibleSet.lua +1 -1
  57. package/dist/functions/doors.d.ts +10 -0
  58. package/dist/functions/doors.d.ts.map +1 -1
  59. package/dist/functions/doors.lua +6 -0
  60. package/dist/functions/levelGrid.lua +1 -1
  61. package/dist/functions/log.d.ts +1 -15
  62. package/dist/functions/log.d.ts.map +1 -1
  63. package/dist/functions/log.lua +3 -218
  64. package/dist/functions/logEntities.d.ts +16 -0
  65. package/dist/functions/logEntities.d.ts.map +1 -0
  66. package/dist/functions/logEntities.lua +220 -0
  67. package/dist/functions/rockAlt.d.ts +6 -5
  68. package/dist/functions/rockAlt.d.ts.map +1 -1
  69. package/dist/functions/rockAlt.lua +147 -18
  70. package/dist/functions/roomData.d.ts +1 -1
  71. package/dist/functions/roomData.d.ts.map +1 -1
  72. package/dist/functions/roomTransition.d.ts +26 -0
  73. package/dist/functions/roomTransition.d.ts.map +1 -0
  74. package/dist/functions/roomTransition.lua +75 -0
  75. package/dist/functions/rooms.d.ts +36 -35
  76. package/dist/functions/rooms.d.ts.map +1 -1
  77. package/dist/functions/rooms.lua +94 -99
  78. package/dist/index.d.ts +1 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.lua +8 -0
  81. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts +2 -2
  82. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts.map +1 -1
  83. package/dist/objects/backdropTypeToRockAltType.lua +3 -3
  84. package/dist/types/TrapdoorDestination.d.ts +3 -0
  85. package/dist/types/TrapdoorDestination.d.ts.map +1 -0
  86. package/dist/types/TrapdoorDestination.lua +2 -0
  87. package/package.json +2 -2
  88. package/src/constants.ts +6 -0
  89. package/src/constantsFirstLast.ts +2 -2
  90. package/src/enums/RockAltType.ts +14 -1
  91. package/src/enums/private/StageTravelState.ts +2 -1
  92. package/src/features/customStage/backdrop.ts +2 -1
  93. package/src/features/customStage/customStageConstants.ts +16 -0
  94. package/src/features/customStage/customStageGridEntities.ts +61 -0
  95. package/src/features/customStage/exports.ts +81 -42
  96. package/src/features/customStage/init.ts +7 -18
  97. package/src/features/customStage/shadows.ts +2 -1
  98. package/src/features/customStage/streakText.ts +59 -96
  99. package/src/features/customStage/v.ts +17 -0
  100. package/src/features/customStage/versusScreen.ts +29 -0
  101. package/src/features/customTrapdoor/blackSprite.ts +6 -1
  102. package/src/features/customTrapdoor/customTrapdoorConstants.ts +4 -0
  103. package/src/features/customTrapdoor/exports.ts +8 -6
  104. package/src/features/customTrapdoor/init.ts +55 -23
  105. package/src/features/customTrapdoor/touched.ts +4 -1
  106. package/src/features/customTrapdoor/v.ts +2 -5
  107. package/src/features/extraConsoleCommands/commandsSubroutines.ts +4 -1
  108. package/src/features/playerInventory.ts +7 -0
  109. package/src/features/saveDataManager/exports.ts +3 -0
  110. package/src/functions/collectibleSet.ts +1 -1
  111. package/src/functions/doors.ts +10 -0
  112. package/src/functions/levelGrid.ts +1 -1
  113. package/src/functions/log.ts +1 -279
  114. package/src/functions/logEntities.ts +276 -0
  115. package/src/functions/rockAlt.ts +147 -19
  116. package/src/functions/roomData.ts +1 -1
  117. package/src/functions/roomTransition.ts +78 -0
  118. package/src/functions/rooms.ts +104 -107
  119. package/src/index.ts +1 -0
  120. package/src/interfaces/private/CustomTrapdoorDescription.ts +2 -2
  121. package/src/objects/backdropTypeToRockAltType.ts +3 -3
  122. package/src/types/TrapdoorDestination.ts +5 -0
@@ -1,13 +1,15 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local Map = ____lualib.Map
3
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
3
4
  local ____exports = {}
4
- local getPlayerPNGPaths, getBossPNGPaths, DEFAULT_CHARACTER, PNG_PATH_PREFIX, PLAYER_PORTRAIT_PNG_PATH_PREFIX
5
+ local willVanillaVersusScreenPlay, getPlayerPNGPaths, getBossPNGPaths, DEFAULT_CHARACTER, PNG_PATH_PREFIX, PLAYER_PORTRAIT_PNG_PATH_PREFIX
5
6
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
6
7
  local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
7
8
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
8
9
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
9
10
  local SoundEffect = ____isaac_2Dtypescript_2Ddefinitions.SoundEffect
10
11
  local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
12
+ local StageType = ____isaac_2Dtypescript_2Ddefinitions.StageType
11
13
  local ____cachedClasses = require("cachedClasses")
12
14
  local game = ____cachedClasses.game
13
15
  local sfxManager = ____cachedClasses.sfxManager
@@ -34,11 +36,24 @@ local VERSUS_SCREEN_DIRT_SPOT_COLORS = ____versusScreenDirtSpotColors.VERSUS_SCR
34
36
  local ____pause = require("features.pause")
35
37
  local pause = ____pause.pause
36
38
  local unpause = ____pause.unpause
39
+ local ____runInNFrames = require("features.runInNFrames")
40
+ local runNextGameFrame = ____runInNFrames.runNextGameFrame
37
41
  local ____customStageConstants = require("features.customStage.customStageConstants")
38
42
  local ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = ____customStageConstants.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH
43
+ local ____exports = require("features.customStage.exports")
44
+ local DEFAULT_BASE_STAGE = ____exports.DEFAULT_BASE_STAGE
45
+ local DEFAULT_BASE_STAGE_TYPE = ____exports.DEFAULT_BASE_STAGE_TYPE
46
+ local INVALID_STAGE_VALUE = ____exports.INVALID_STAGE_VALUE
39
47
  local ____v = require("features.customStage.v")
40
48
  local v = ____v.default
41
49
  local customBossPNGPaths = ____v.customBossPNGPaths
50
+ function willVanillaVersusScreenPlay(self)
51
+ local bosses = getBosses(nil)
52
+ return __TS__ArraySome(
53
+ bosses,
54
+ function(____, boss) return boss:GetBossID() ~= 0 end
55
+ )
56
+ end
42
57
  function getPlayerPNGPaths(self)
43
58
  local player = Isaac.GetPlayer()
44
59
  local character = player:GetPlayerType()
@@ -126,10 +141,26 @@ end
126
141
  function ____exports.playVersusScreenAnimation(self, customStage)
127
142
  local room = game:GetRoom()
128
143
  local roomType = room:GetType()
144
+ local roomCleared = room:IsClear()
129
145
  local hud = game:GetHUD()
130
146
  if roomType ~= RoomType.BOSS then
131
147
  return
132
148
  end
149
+ if roomCleared then
150
+ return
151
+ end
152
+ if willVanillaVersusScreenPlay(nil) then
153
+ local level = game:GetLevel()
154
+ level:SetStage(DEFAULT_BASE_STAGE, DEFAULT_BASE_STAGE_TYPE)
155
+ runNextGameFrame(
156
+ nil,
157
+ function()
158
+ local futureLevel = game:GetLevel()
159
+ futureLevel:SetStage(INVALID_STAGE_VALUE, StageType.ORIGINAL)
160
+ end
161
+ )
162
+ return
163
+ end
133
164
  v.run.showingBossVersusScreen = true
134
165
  pause(nil)
135
166
  hud:SetVisible(false)
@@ -1 +1 @@
1
- {"version":3,"file":"blackSprite.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/blackSprite.ts"],"names":[],"mappings":"AAUA,wBAAgB,eAAe,IAAI,IAAI,CAWtC"}
1
+ {"version":3,"file":"blackSprite.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/blackSprite.ts"],"names":[],"mappings":"AAUA,wBAAgB,eAAe,IAAI,IAAI,CAgBtC"}
@@ -7,12 +7,13 @@ local ____v = require("features.customTrapdoor.v")
7
7
  local v = ____v.default
8
8
  local blackSprite = Sprite()
9
9
  function ____exports.drawBlackSprite(self)
10
- if v.run.state ~= StageTravelState.PAUSING_ON_BLACK then
10
+ if v.run.state ~= StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END and v.run.state ~= StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY then
11
11
  return
12
12
  end
13
13
  if not blackSprite:IsLoaded() then
14
14
  blackSprite:Load("gfx/ui/boss/versusscreen.anm2", true)
15
15
  blackSprite:SetFrame("Scene", 0)
16
+ blackSprite.Scale = Vector(100, 100)
16
17
  end
17
18
  blackSprite:RenderLayer(0, VectorZero)
18
19
  end
@@ -1,6 +1,10 @@
1
1
  import { GridEntityType } from "isaac-typescript-definitions";
2
2
  export declare const CUSTOM_TRAPDOOR_FEATURE_NAME = "customTrapdoor";
3
3
  export declare const GridEntityTypeCustom: {
4
+ /**
5
+ * We arbitrarily choose 1000 as to not conflict with end-user mods. (The expectation is that
6
+ * end-user mods will begin their enums with values of 1 and increment upwards.)
7
+ */
4
8
  readonly TRAPDOOR_CUSTOM: GridEntityType;
5
9
  };
6
10
  /** This also applies to crawl spaces. The value was determined through trial and error. */
@@ -1 +1 @@
1
- {"version":3,"file":"customTrapdoorConstants.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/customTrapdoorConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,eAAO,MAAM,oBAAoB;;CAEvB,CAAC;AAEX,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,iCAAiC,QAA+B,CAAC;AAC9E,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,eAAO,MAAM,oCAAoC,EAAE,WAAW,CAAC,MAAM,CAClC,CAAC;AAEpC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,eAAO,MAAM,4CAA4C,IAAI,CAAC;AAC9D,eAAO,MAAM,+CAA+C,IAAI,CAAC"}
1
+ {"version":3,"file":"customTrapdoorConstants.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/customTrapdoorConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,eAAO,MAAM,oBAAoB;IAC/B;;;OAGG;;CAEK,CAAC;AAEX,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,iCAAiC,QAA+B,CAAC;AAC9E,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,eAAO,MAAM,oCAAoC,EAAE,WAAW,CAAC,MAAM,CAClC,CAAC;AAEpC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,eAAO,MAAM,4CAA4C,IAAI,CAAC;AAC9D,eAAO,MAAM,+CAA+C,IAAI,CAAC"}
@@ -1,4 +1,7 @@
1
- import { LevelStage, StageType } from "isaac-typescript-definitions";
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /// <reference types="isaac-typescript-definitions" />
3
+ /// <reference types="isaac-typescript-definitions" />
4
+ import { TrapdoorDestination } from "../../types/TrapdoorDestination";
2
5
  /**
3
6
  * Helper function to spawn a trapdoor grid entity that will have one or more of the following
4
7
  * attributes:
@@ -6,7 +9,6 @@ import { LevelStage, StageType } from "isaac-typescript-definitions";
6
9
  * - custom destination (or custom logic for after the player enters)
7
10
  * - custom graphics
8
11
  * - custom logic for opening/closing
9
- * - TODO: player jumping animation?
10
12
  *
11
13
  * You can use this function to take the player to your custom stage.
12
14
  *
@@ -15,15 +17,17 @@ import { LevelStage, StageType } from "isaac-typescript-definitions";
15
17
  *
16
18
  * @param gridIndexOrPosition The location in the room to spawn the trapdoor.
17
19
  * @param destination Optional. Used to specify where the player will go after jumping into the
18
- * trapdoor. Can either be a tuple containing the stage and stage type, or a
19
- * string containing the name of a custom stage. If not specified at all, then
20
- * the "normal" destination corresponding to the current stage and room will be
21
- * used (e.g. the next floor).
20
+ * trapdoor. Can either be a vanilla stage tuple, a custom stage tuple, or
21
+ * undefined. For example, a destination of `[LevelStage.CAVES_1,
22
+ * StageType.ORIGINAL]` corresponds to Caves 1, and a destination of
23
+ * `["Slaughterhouse", 1]` corresponds to a custom stage of Slaughterhouse 1. If
24
+ * the destination is undefined, then the "normal" destination corresponding to
25
+ * the current stage and room will be used (e.g. the next floor, in most cases).
22
26
  * @param anm2Path Optional. The path to the anm2 file to use. By default, the vanilla trapdoor anm2
23
27
  * of "gfx/grid/door_11_trapdoor.anm2" will be used. The specified anm2 file must
24
28
  * have animations called "Opened", "Closed", and "Open Animation".
25
29
  * @param spawnOpen Optional. Whether or not to spawn the trapdoor in an open state. By default,
26
30
  * behavior will be used that emulates a vanilla trapdoor.
27
31
  */
28
- export declare function spawnCustomTrapdoor(gridIndexOrPosition: int | Vector, destination?: [stage: LevelStage, stageType: StageType] | string, anm2Path?: string, spawnOpen?: boolean): GridEntity;
32
+ export declare function spawnCustomTrapdoor(gridIndexOrPosition: int | Vector, destination?: TrapdoorDestination, anm2Path?: string, spawnOpen?: boolean): GridEntity;
29
33
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,GAAG,GAAG,MAAM,EACjC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,EAChE,QAAQ,SAAmC,EAC3C,SAAS,CAAC,EAAE,OAAO,GAClB,UAAU,CAwCZ"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/exports.ts"],"names":[],"mappings":";;;AAYA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAStE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,GAAG,GAAG,MAAM,EACjC,WAAW,CAAC,EAAE,mBAAmB,EACjC,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 containing the stage and stage type, or a
50
- -- string containing the name of a custom stage. If not specified at all, then
51
- -- the "normal" destination corresponding to the current stage and room will be
52
- -- used (e.g. the next floor).
48
+ -- trapdoor. Can either be a vanilla stage tuple, a custom stage tuple, or
49
+ -- undefined. For example, a destination of `[LevelStage.CAVES_1,
50
+ -- StageType.ORIGINAL]` corresponds to Caves 1, and a destination of
51
+ -- `["Slaughterhouse", 1]` corresponds to a custom stage of Slaughterhouse 1. If
52
+ -- the destination is undefined, then the "normal" destination corresponding to
53
+ -- the current stage and room will be used (e.g. the next floor, in most cases).
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":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAyBxD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAUzD"}
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"}
@@ -2,9 +2,11 @@ local ____lualib = require("lualib_bundle")
2
2
  local __TS__ArraySome = ____lualib.__TS__ArraySome
3
3
  local Map = ____lualib.Map
4
4
  local ____exports = {}
5
- local postRender, checkAllPlayersJumpComplete, checkPixelationToBlackComplete, checkPausingOnBlackComplete, checkAllPlayersLayingDownComplete, goToCustomDestination, anyPlayerPlayingExtraAnimation, postPEffectUpdate, checkJumpComplete, postGridEntityCustomUpdateTrapdoor
5
+ local postRender, checkAllPlayersJumpComplete, checkPixelationToBlackComplete, checkSecondPixelationHalfWay, 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,13 +22,14 @@ 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 ____rooms = require("functions.rooms")
24
- local teleport = ____rooms.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")
28
30
  local isString = ____types.isString
29
31
  local ____exports = require("features.customStage.exports")
32
+ local disableCustomStage = ____exports.disableCustomStage
30
33
  local setCustomStage = ____exports.setCustomStage
31
34
  local ____streakText = require("features.customStage.streakText")
32
35
  local topStreakTextStart = ____streakText.topStreakTextStart
@@ -53,7 +56,7 @@ local v = ____v.default
53
56
  function postRender(self)
54
57
  checkAllPlayersJumpComplete(nil)
55
58
  checkPixelationToBlackComplete(nil)
56
- checkPausingOnBlackComplete(nil)
59
+ checkSecondPixelationHalfWay(nil)
57
60
  checkAllPlayersLayingDownComplete(nil)
58
61
  drawBlackSprite(nil)
59
62
  end
@@ -76,25 +79,33 @@ function checkPixelationToBlackComplete(self)
76
79
  end
77
80
  local hud = game:GetHUD()
78
81
  local renderFrameCount = Isaac.GetFrameCount()
79
- local roomGridIndex = getRoomGridIndex(nil)
80
82
  local renderFrameScreenBlack = v.run.stateRenderFrame + PIXELATION_TO_BLACK_FRAMES
81
83
  if renderFrameCount < renderFrameScreenBlack then
82
84
  return
83
85
  end
84
- v.run.state = StageTravelState.PAUSING_ON_BLACK
85
- v.run.stateRenderFrame = renderFrameCount
86
+ v.run.state = StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END
86
87
  hud:SetVisible(false)
87
- goToCustomDestination(nil)
88
- teleport(
88
+ runNextGameFrame(
89
89
  nil,
90
- roomGridIndex,
91
- Direction.NO_DIRECTION,
92
- RoomTransitionAnim.PIXELATION,
93
- true
90
+ function()
91
+ local level = game:GetLevel()
92
+ local startingRoomIndex = level:GetStartingRoomIndex()
93
+ local futureRenderFrameCount = Isaac.GetFrameCount()
94
+ v.run.state = StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
95
+ v.run.stateRenderFrame = futureRenderFrameCount
96
+ goToCustomDestination(nil)
97
+ teleport(
98
+ nil,
99
+ startingRoomIndex,
100
+ Direction.NO_DIRECTION,
101
+ RoomTransitionAnim.PIXELATION,
102
+ true
103
+ )
104
+ end
94
105
  )
95
106
  end
96
- function checkPausingOnBlackComplete(self)
97
- if v.run.state ~= StageTravelState.PAUSING_ON_BLACK or v.run.stateRenderFrame == nil then
107
+ function checkSecondPixelationHalfWay(self)
108
+ if v.run.state ~= StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY or v.run.stateRenderFrame == nil then
98
109
  return
99
110
  end
100
111
  local hud = game:GetHUD()
@@ -108,10 +119,12 @@ function checkPausingOnBlackComplete(self)
108
119
  runNextRoom(
109
120
  nil,
110
121
  function()
111
- movePlayersToCenter(nil)
112
122
  v.run.state = StageTravelState.PLAYERS_LAYING_DOWN
123
+ movePlayersToCenter(nil)
113
124
  for ____, player in ipairs(getAllPlayers(nil)) do
114
125
  player:AnimateAppear()
126
+ player.EntityCollisionClass = EntityCollisionClass.ALL
127
+ player.GridCollisionClass = EntityGridCollisionClass.GROUND
115
128
  end
116
129
  end
117
130
  )
@@ -136,11 +149,13 @@ function goToCustomDestination(self)
136
149
  if v.run.destination == nil then
137
150
  return
138
151
  end
139
- if isString(nil, v.run.destination) then
140
- setCustomStage(nil, "Slaughterhouse")
152
+ local arg1, arg2 = table.unpack(v.run.destination)
153
+ if isString(nil, arg1) then
154
+ local firstFloor = arg2 == 1
155
+ setCustomStage(nil, "Slaughterhouse", firstFloor)
141
156
  else
142
- local stage, stageType = table.unpack(v.run.destination)
143
- setStage(nil, stage, stageType)
157
+ disableCustomStage(nil)
158
+ setStage(nil, arg1, arg2)
144
159
  end
145
160
  end
146
161
  function anyPlayerPlayingExtraAnimation(self)
@@ -73,7 +73,7 @@ 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
76
+ player:StopExtraAnimation()
77
77
  end
78
78
  end
79
79
  function dropTaintedForgotten(self, player)
@@ -1,13 +1,13 @@
1
- import { LevelStage, StageType } from "isaac-typescript-definitions";
2
1
  import { DefaultMap } from "../../classes/DefaultMap";
3
2
  import { StageTravelState } from "../../enums/private/StageTravelState";
4
3
  import { CustomTrapdoorDescription } from "../../interfaces/private/CustomTrapdoorDescription";
4
+ import { TrapdoorDestination } from "../../types/TrapdoorDestination";
5
5
  declare const v: {
6
6
  run: {
7
7
  state: StageTravelState;
8
8
  /** The render frame that this state was reached. */
9
9
  stateRenderFrame: number | null;
10
- destination: string | [stage: LevelStage, stageType: StageType] | null;
10
+ destination: TrapdoorDestination | null;
11
11
  };
12
12
  level: {
13
13
  /** Indexed by room list index and grid index. */
@@ -1 +1 @@
1
- {"version":3,"file":"v.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/v.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAE/F,QAAA,MAAM,CAAC;;;QAIH,oDAAoD;;;;;QAUpD,iDAAiD;;;CAKpD,CAAC;AACF,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"v.d.ts","sourceRoot":"","sources":["../../../src/features/customTrapdoor/v.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,QAAA,MAAM,CAAC;;;QAIH,oDAAoD;;;;;QAOpD,iDAAiD;;;CAKpD,CAAC;AACF,eAAe,CAAC,CAAC"}
@@ -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;AAgBpD,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"}
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 ____log = require("functions.log")
17
- local logAllEntities = ____log.logAllEntities
18
- local logAllGridEntities = ____log.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")
@@ -10,6 +10,13 @@ import { CollectibleType } from "isaac-typescript-definitions";
10
10
  * middle of the run (e.g. with D4), the order of the inventory will not correspond to the order
11
11
  * that the items were actually given to the player. In this case, the inventory will be in the
12
12
  * order of the lowest `CollectibleType` to the highest.
13
+ *
14
+ * Under the hood, the inventory tracking works by tracking the number of collectibles that a player
15
+ * has on every frame. Thus, in a situation where a collectible was both added and removed to the
16
+ * player on the same frame, the amount of total collectibles would stay the same, and the inventory
17
+ * would not be updated. In vanilla, this situation would never happen, but another mod might do
18
+ * this for some reason. (With that said, the next time that a collectible is normally added or
19
+ * removed, it would trigger a re-scan, and the previous changes would be picked up.)
13
20
  */
14
21
  export declare function getPlayerInventory(player: EntityPlayer, includeActiveCollectibles?: boolean): CollectibleType[];
15
22
  //# sourceMappingURL=playerInventory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"playerInventory.d.ts","sourceRoot":"","sources":["../../src/features/playerInventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAyG5E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,yBAAyB,UAAO,GAC/B,eAAe,EAAE,CAanB"}
1
+ {"version":3,"file":"playerInventory.d.ts","sourceRoot":"","sources":["../../src/features/playerInventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAyG5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,yBAAyB,UAAO,GAC/B,eAAe,EAAE,CAanB"}
@@ -91,6 +91,13 @@ end
91
91
  -- middle of the run (e.g. with D4), the order of the inventory will not correspond to the order
92
92
  -- that the items were actually given to the player. In this case, the inventory will be in the
93
93
  -- order of the lowest `CollectibleType` to the highest.
94
+ --
95
+ -- Under the hood, the inventory tracking works by tracking the number of collectibles that a player
96
+ -- has on every frame. Thus, in a situation where a collectible was both added and removed to the
97
+ -- player on the same frame, the amount of total collectibles would stay the same, and the inventory
98
+ -- would not be updated. In vanilla, this situation would never happen, but another mod might do
99
+ -- this for some reason. (With that said, the next time that a collectible is normally added or
100
+ -- removed, it would trigger a re-scan, and the previous changes would be picked up.)
94
101
  function ____exports.getPlayerInventory(self, player, includeActiveCollectibles)
95
102
  if includeActiveCollectibles == nil then
96
103
  includeActiveCollectibles = true
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;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"}
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 `getCollectibleArray` helper function instead.
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 `getCollectibleArray` helper function instead.
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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"}
@@ -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(
@@ -229,7 +229,7 @@ end
229
229
  -- indexes for N room types.
230
230
  function ____exports.getRoomGridIndexesForType(self, ...)
231
231
  local roomTypesSet = __TS__New(Set, {...})
232
- local rooms = getRooms(nil)
232
+ local rooms = getRoomsInGrid(nil)
233
233
  local matchingRooms = __TS__ArrayFilter(
234
234
  rooms,
235
235
  function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomTypesSet:has(roomDescriptor.Data.Type) end
@@ -1,5 +1,5 @@
1
1
  /// <reference types="typescript-to-lua/language-extensions" />
2
- import { DamageFlag, EntityFlag, EntityType, GridEntityType, ProjectileFlag, TearFlag, UseFlag } from "isaac-typescript-definitions";
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":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/functions/log.ts"],"names":[],"mappings":"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"}