isaacscript-common 59.4.1 → 59.6.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 (51) hide show
  1. package/dist/index.rollup.d.ts +110 -1
  2. package/dist/isaacscript-common.lua +182 -58
  3. package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
  4. package/dist/src/classes/ModUpgraded.lua +2 -2
  5. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
  6. package/dist/src/classes/callbacks/PostCursedTeleport.lua +3 -2
  7. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  8. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -1
  9. package/dist/src/classes/callbacks/PostPickupInitFirst.lua +3 -5
  10. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  11. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +5 -5
  12. package/dist/src/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  13. package/dist/src/classes/features/other/CustomTrapdoors.lua +10 -12
  14. package/dist/src/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  15. package/dist/src/classes/features/other/PickupIndexCreation.lua +3 -2
  16. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts.map +1 -1
  17. package/dist/src/classes/features/other/PreventCollectibleRotation.lua +3 -2
  18. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  19. package/dist/src/classes/features/other/SaveDataManager.lua +3 -4
  20. package/dist/src/classes/features/other/customStages/streakText.d.ts.map +1 -1
  21. package/dist/src/classes/features/other/customStages/streakText.lua +6 -5
  22. package/dist/src/functions/debugFunctions.d.ts +7 -1
  23. package/dist/src/functions/debugFunctions.d.ts.map +1 -1
  24. package/dist/src/functions/debugFunctions.lua +22 -16
  25. package/dist/src/functions/frames.d.ts +68 -0
  26. package/dist/src/functions/frames.d.ts.map +1 -0
  27. package/dist/src/functions/frames.lua +119 -0
  28. package/dist/src/functions/gridEntities.d.ts +22 -0
  29. package/dist/src/functions/gridEntities.d.ts.map +1 -1
  30. package/dist/src/functions/gridEntities.lua +40 -11
  31. package/dist/src/functions/revive.d.ts.map +1 -1
  32. package/dist/src/functions/revive.lua +3 -4
  33. package/dist/src/index.d.ts +1 -0
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/index.lua +8 -0
  36. package/package.json +1 -1
  37. package/src/classes/ModUpgraded.ts +2 -3
  38. package/src/classes/callbacks/PostCursedTeleport.ts +2 -2
  39. package/src/classes/callbacks/PostItemDischarge.ts +2 -0
  40. package/src/classes/callbacks/PostPickupInitFirst.ts +2 -4
  41. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +4 -6
  42. package/src/classes/features/other/CustomTrapdoors.ts +11 -14
  43. package/src/classes/features/other/PickupIndexCreation.ts +2 -2
  44. package/src/classes/features/other/PreventCollectibleRotation.ts +2 -3
  45. package/src/classes/features/other/SaveDataManager.ts +2 -3
  46. package/src/classes/features/other/customStages/streakText.ts +10 -6
  47. package/src/functions/debugFunctions.ts +10 -1
  48. package/src/functions/frames.ts +172 -0
  49. package/src/functions/gridEntities.ts +59 -13
  50. package/src/functions/revive.ts +2 -3
  51. package/src/index.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 59.4.1
3
+ isaacscript-common 59.6.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -19072,6 +19072,91 @@ function PostCollectibleEmpty.prototype.collectibleTypeChanged(self, collectible
19072
19072
  self:fire(collectible, oldCollectibleType)
19073
19073
  end
19074
19074
  end
19075
+ return ____exports
19076
+ end,
19077
+ ["src.functions.frames"] = function(...)
19078
+ local ____exports = {}
19079
+ local ____cachedClasses = require("src.core.cachedClasses")
19080
+ local game = ____cachedClasses.game
19081
+ function ____exports.getElapsedGameFramesSince(self, gameFrameCount)
19082
+ local thisGameFrameCount = game:GetFrameCount()
19083
+ return thisGameFrameCount - gameFrameCount
19084
+ end
19085
+ function ____exports.getElapsedRenderFramesSince(self, renderFrameCount)
19086
+ local thisRenderFrameCount = Isaac.GetFrameCount()
19087
+ return thisRenderFrameCount - renderFrameCount
19088
+ end
19089
+ function ____exports.getElapsedRoomFramesSince(self, roomFrameCount)
19090
+ local room = game:GetRoom()
19091
+ local thisRoomFrameCount = room:GetFrameCount()
19092
+ return thisRoomFrameCount - roomFrameCount
19093
+ end
19094
+ function ____exports.isPastGameFrame(self, gameFrameCount)
19095
+ if gameFrameCount == nil or gameFrameCount == nil then
19096
+ return false
19097
+ end
19098
+ local thisGameFrameCount = game:GetFrameCount()
19099
+ return thisGameFrameCount > gameFrameCount
19100
+ end
19101
+ function ____exports.isPastRenderFrame(self, renderFrameCount)
19102
+ if renderFrameCount == nil or renderFrameCount == nil then
19103
+ return false
19104
+ end
19105
+ local thisRenderFrameCount = Isaac.GetFrameCount()
19106
+ return thisRenderFrameCount >= renderFrameCount
19107
+ end
19108
+ function ____exports.isPastRoomFrame(self, roomFrameCount)
19109
+ if roomFrameCount == nil or roomFrameCount == nil then
19110
+ return false
19111
+ end
19112
+ local room = game:GetRoom()
19113
+ local thisGameFrameCount = room:GetFrameCount()
19114
+ return thisGameFrameCount > roomFrameCount
19115
+ end
19116
+ function ____exports.onGameFrame(self, gameFrameCount)
19117
+ if gameFrameCount == nil or gameFrameCount == nil then
19118
+ return false
19119
+ end
19120
+ local thisGameFrameCount = game:GetFrameCount()
19121
+ return thisGameFrameCount == gameFrameCount
19122
+ end
19123
+ function ____exports.onOrPastGameFrame(self, gameFrameCount)
19124
+ if gameFrameCount == nil or gameFrameCount == nil then
19125
+ return false
19126
+ end
19127
+ local thisGameFrameCount = game:GetFrameCount()
19128
+ return thisGameFrameCount >= gameFrameCount
19129
+ end
19130
+ function ____exports.onOrPastRenderFrame(self, renderFrameCount)
19131
+ if renderFrameCount == nil or renderFrameCount == nil then
19132
+ return false
19133
+ end
19134
+ local thisRenderFrameCount = Isaac.GetFrameCount()
19135
+ return thisRenderFrameCount >= renderFrameCount
19136
+ end
19137
+ function ____exports.onOrPastRoomFrame(self, roomFrameCount)
19138
+ if roomFrameCount == nil or roomFrameCount == nil then
19139
+ return false
19140
+ end
19141
+ local room = game:GetRoom()
19142
+ local thisGameFrameCount = room:GetFrameCount()
19143
+ return thisGameFrameCount >= roomFrameCount
19144
+ end
19145
+ function ____exports.onRenderFrame(self, renderFrameCount)
19146
+ if renderFrameCount == nil or renderFrameCount == nil then
19147
+ return false
19148
+ end
19149
+ local thisRenderFrameCount = Isaac.GetFrameCount()
19150
+ return thisRenderFrameCount >= renderFrameCount
19151
+ end
19152
+ function ____exports.onRoomFrame(self, roomFrameCount)
19153
+ if roomFrameCount == nil or roomFrameCount == nil then
19154
+ return false
19155
+ end
19156
+ local room = game:GetRoom()
19157
+ local thisGameFrameCount = room:GetFrameCount()
19158
+ return thisGameFrameCount == roomFrameCount
19159
+ end
19075
19160
  return ____exports
19076
19161
  end,
19077
19162
  ["src.functions.playerDataStructures"] = function(...)
@@ -19951,6 +20036,8 @@ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
19951
20036
  local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
19952
20037
  local ____flag = require("src.functions.flag")
19953
20038
  local hasFlag = ____flag.hasFlag
20039
+ local ____frames = require("src.functions.frames")
20040
+ local onGameFrame = ____frames.onGameFrame
19954
20041
  local ____playerDataStructures = require("src.functions.playerDataStructures")
19955
20042
  local mapGetPlayer = ____playerDataStructures.mapGetPlayer
19956
20043
  local mapSetPlayer = ____playerDataStructures.mapSetPlayer
@@ -20027,8 +20114,7 @@ function PostCursedTeleport.prototype.isPotentialNaturalTeleportFromSacrificeRoo
20027
20114
  return roomType == RoomType.SACRIFICE and isSpikeDamage and (v.level.numSacrifices == 6 or v.level.numSacrifices >= 12)
20028
20115
  end
20029
20116
  function PostCursedTeleport.prototype.playerIsTeleportingFromCursedTeleport(self, player, lastDamageFrame)
20030
- local gameFrameCount = game:GetFrameCount()
20031
- if gameFrameCount ~= lastDamageFrame then
20117
+ if not onGameFrame(nil, lastDamageFrame) then
20032
20118
  return false
20033
20119
  end
20034
20120
  local sprite = player:GetSprite()
@@ -28837,6 +28923,20 @@ function getRockPNGName(self)
28837
28923
  end
28838
28924
  until true
28839
28925
  end
28926
+ function ____exports.getSurroundingGridIndexes(self, gridIndex)
28927
+ local room = game:GetRoom()
28928
+ local gridWidth = room:GetGridWidth()
28929
+ return {
28930
+ gridIndex - gridWidth - 1,
28931
+ gridIndex - gridWidth,
28932
+ gridIndex - gridWidth + 1,
28933
+ gridIndex - 1,
28934
+ gridIndex + 1,
28935
+ gridIndex + gridWidth - 1,
28936
+ gridIndex + gridWidth,
28937
+ gridIndex + gridWidth + 1
28938
+ }
28939
+ end
28840
28940
  function ____exports.getTopLeftWallGridIndex(self)
28841
28941
  local room = game:GetRoom()
28842
28942
  local roomShape = room:GetRoomShape()
@@ -29087,18 +29187,8 @@ function ____exports.getRockPNGPath(self)
29087
29187
  end
29088
29188
  function ____exports.getSurroundingGridEntities(self, gridEntity)
29089
29189
  local room = game:GetRoom()
29090
- local gridWidth = room:GetGridWidth()
29091
29190
  local gridIndex = gridEntity:GetGridIndex()
29092
- local surroundingGridIndexes = {
29093
- gridIndex - 1,
29094
- gridIndex + 1,
29095
- gridIndex - gridWidth - 1,
29096
- gridIndex - gridWidth,
29097
- gridIndex - gridWidth + 1,
29098
- gridIndex + gridWidth - 1,
29099
- gridIndex + gridWidth,
29100
- gridIndex + gridWidth + 1
29101
- }
29191
+ local surroundingGridIndexes = ____exports.getSurroundingGridIndexes(nil, gridIndex)
29102
29192
  local surroundingGridEntities = {}
29103
29193
  for ____, surroundingGridIndex in ipairs(surroundingGridIndexes) do
29104
29194
  local surroundingGridEntity = room:GetGridEntity(surroundingGridIndex)
@@ -29127,6 +29217,24 @@ end
29127
29217
  function ____exports.isGridEntityXMLType(self, num)
29128
29218
  return GRID_ENTITY_XML_TYPES_SET:has(num)
29129
29219
  end
29220
+ function ____exports.isGridIndexAdjacentToDoor(self, gridIndex)
29221
+ local room = game:GetRoom()
29222
+ local surroundingGridIndexes = ____exports.getSurroundingGridIndexes(nil, gridIndex)
29223
+ local gridIndexes = {
29224
+ gridIndex,
29225
+ table.unpack(surroundingGridIndexes)
29226
+ }
29227
+ for ____, gridIndexToInspect in ipairs(gridIndexes) do
29228
+ local gridEntity = room:GetGridEntity(gridIndexToInspect)
29229
+ if gridEntity ~= nil then
29230
+ local door = gridEntity:ToDoor()
29231
+ if door ~= nil then
29232
+ return true
29233
+ end
29234
+ end
29235
+ end
29236
+ return false
29237
+ end
29130
29238
  function ____exports.isPoopGridEntityXMLType(self, gridEntityXMLType)
29131
29239
  return POOP_GRID_ENTITY_XML_TYPES_SET:has(gridEntityXMLType)
29132
29240
  end
@@ -29452,8 +29560,8 @@ local __TS__New = ____lualib.__TS__New
29452
29560
  local ____exports = {}
29453
29561
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
29454
29562
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
29455
- local ____cachedClasses = require("src.core.cachedClasses")
29456
- local game = ____cachedClasses.game
29563
+ local ____frames = require("src.functions.frames")
29564
+ local isPastRoomFrame = ____frames.isPastRoomFrame
29457
29565
  local ____roomData = require("src.functions.roomData")
29458
29566
  local getRoomVisitedCount = ____roomData.getRoomVisitedCount
29459
29567
  local ____shouldFire = require("src.shouldFire")
@@ -29469,10 +29577,8 @@ function PostPickupInitFirst.prototype.____constructor(self)
29469
29577
  self.v = {room = {firedSet = __TS__New(Set)}}
29470
29578
  self.shouldFire = shouldFirePickup
29471
29579
  self.postPickupInit = function(____, pickup)
29472
- local room = game:GetRoom()
29473
- local roomFrameCount = room:GetFrameCount()
29474
29580
  local roomVisitedCount = getRoomVisitedCount(nil)
29475
- if roomFrameCount > 0 or roomVisitedCount == 0 then
29581
+ if isPastRoomFrame(nil, 0) or roomVisitedCount == 0 then
29476
29582
  self:fire(pickup)
29477
29583
  end
29478
29584
  end
@@ -31570,8 +31676,6 @@ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
31570
31676
  local NullItemID = ____isaac_2Dtypescript_2Ddefinitions.NullItemID
31571
31677
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
31572
31678
  local TrinketType = ____isaac_2Dtypescript_2Ddefinitions.TrinketType
31573
- local ____cachedClasses = require("src.core.cachedClasses")
31574
- local game = ____cachedClasses.game
31575
31679
  local ____constants = require("src.core.constants")
31576
31680
  local MAX_TAINTED_SAMSON_BERSERK_CHARGE = ____constants.MAX_TAINTED_SAMSON_BERSERK_CHARGE
31577
31681
  local TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE = ____constants.TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE
@@ -31579,6 +31683,8 @@ local ____MysteriousPaperEffect = require("src.enums.MysteriousPaperEffect")
31579
31683
  local MysteriousPaperEffect = ____MysteriousPaperEffect.MysteriousPaperEffect
31580
31684
  local ____characters = require("src.functions.characters")
31581
31685
  local getCharacterDeathAnimationName = ____characters.getCharacterDeathAnimationName
31686
+ local ____frames = require("src.functions.frames")
31687
+ local onGameFrame = ____frames.onGameFrame
31582
31688
  local ____playerHealth = require("src.functions.playerHealth")
31583
31689
  local getPlayerMaxHeartContainers = ____playerHealth.getPlayerMaxHeartContainers
31584
31690
  local ____players = require("src.functions.players")
@@ -31612,7 +31718,6 @@ function ____exports.willReviveFromSpiritShackles(self, player)
31612
31718
  return spiritShacklesEnabled and not playerInSoulForm
31613
31719
  end
31614
31720
  function ____exports.isDamageToPlayerFatal(self, player, amount, source, lastDamageGameFrame)
31615
- local gameFrameCount = game:GetFrameCount()
31616
31721
  local character = player:GetPlayerType()
31617
31722
  local effects = player:GetEffects()
31618
31723
  local isBerserk = effects:HasCollectibleEffect(CollectibleType.BERSERK)
@@ -31642,7 +31747,7 @@ function ____exports.isDamageToPlayerFatal(self, player, amount, source, lastDam
31642
31747
  if ____exports.willReviveFromHeartbreak(nil, player) then
31643
31748
  return false
31644
31749
  end
31645
- if player:HasCollectible(CollectibleType.BROKEN_GLASS_CANNON) and gameFrameCount == lastDamageGameFrame then
31750
+ if player:HasCollectible(CollectibleType.BROKEN_GLASS_CANNON) and onGameFrame(nil, lastDamageGameFrame) then
31646
31751
  return false
31647
31752
  end
31648
31753
  local hearts = player:GetHearts()
@@ -35692,6 +35797,9 @@ local ____cachedClasses = require("src.core.cachedClasses")
35692
35797
  local game = ____cachedClasses.game
35693
35798
  local ____decorators = require("src.decorators")
35694
35799
  local Exported = ____decorators.Exported
35800
+ local ____frames = require("src.functions.frames")
35801
+ local onGameFrame = ____frames.onGameFrame
35802
+ local onRenderFrame = ____frames.onRenderFrame
35695
35803
  local ____Feature = require("src.classes.private.Feature")
35696
35804
  local Feature = ____Feature.Feature
35697
35805
  ____exports.GameReorderedCallbacks = __TS__Class()
@@ -35733,13 +35841,12 @@ function GameReorderedCallbacks.prototype.____constructor(self, postGameStartedR
35733
35841
  self.renderFrameRunStarted = nil
35734
35842
  end
35735
35843
  self.postNewLevel = function()
35736
- local gameFrameCount = game:GetFrameCount()
35737
35844
  local level = game:GetLevel()
35738
35845
  local stage = level:GetStage()
35739
35846
  local stageType = level:GetStageType()
35740
35847
  local room = game:GetRoom()
35741
35848
  local roomType = room:GetType()
35742
- if gameFrameCount == 0 and not self.forceNewLevel then
35849
+ if onGameFrame(nil, 0) and not self.forceNewLevel then
35743
35850
  return
35744
35851
  end
35745
35852
  self.forceNewLevel = false
@@ -35748,13 +35855,11 @@ function GameReorderedCallbacks.prototype.____constructor(self, postGameStartedR
35748
35855
  self.postNewRoomReordered:fire(roomType)
35749
35856
  end
35750
35857
  self.postNewRoom = function()
35751
- local gameFrameCount = game:GetFrameCount()
35752
35858
  local level = game:GetLevel()
35753
35859
  local stage = level:GetStage()
35754
35860
  local stageType = level:GetStageType()
35755
35861
  local room = game:GetRoom()
35756
35862
  local roomType = room:GetType()
35757
- local renderFrameCount = Isaac.GetFrameCount()
35758
35863
  if self.usedGlowingHourGlass then
35759
35864
  self.usedGlowingHourGlass = false
35760
35865
  if self.currentStage ~= stage or self.currentStageType ~= stageType then
@@ -35764,7 +35869,7 @@ function GameReorderedCallbacks.prototype.____constructor(self, postGameStartedR
35764
35869
  return
35765
35870
  end
35766
35871
  end
35767
- if (gameFrameCount == 0 or renderFrameCount == self.renderFrameRunStarted or self.currentStage ~= stage or self.currentStageType ~= stageType) and not self.forceNewRoom then
35872
+ if (onGameFrame(nil, 0) or onRenderFrame(nil, self.renderFrameRunStarted) or self.currentStage ~= stage or self.currentStageType ~= stageType) and not self.forceNewRoom then
35768
35873
  return
35769
35874
  end
35770
35875
  self.forceNewRoom = false
@@ -37749,8 +37854,6 @@ local ____exports = {}
37749
37854
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
37750
37855
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
37751
37856
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
37752
- local ____cachedClasses = require("src.core.cachedClasses")
37753
- local game = ____cachedClasses.game
37754
37857
  local ____decorators = require("src.decorators")
37755
37858
  local Exported = ____decorators.Exported
37756
37859
  local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
@@ -37761,6 +37864,8 @@ local ____SerializationType = require("src.enums.SerializationType")
37761
37864
  local SerializationType = ____SerializationType.SerializationType
37762
37865
  local ____deepCopy = require("src.functions.deepCopy")
37763
37866
  local deepCopy = ____deepCopy.deepCopy
37867
+ local ____frames = require("src.functions.frames")
37868
+ local isPastGameFrame = ____frames.isPastGameFrame
37764
37869
  local ____log = require("src.functions.log")
37765
37870
  local log = ____log.log
37766
37871
  local ____stage = require("src.functions.stage")
@@ -37813,8 +37918,7 @@ function SaveDataManager.prototype.____constructor(self, mod)
37813
37918
  self.inARun = true
37814
37919
  self.restoreGlowingHourGlassDataOnNextRoom = false
37815
37920
  loadFromDisk(nil, self.mod, self.saveDataMap, self.classConstructors)
37816
- local gameFrameCount = game:GetFrameCount()
37817
- local isContinued = gameFrameCount ~= 0
37921
+ local isContinued = isPastGameFrame(nil, 0)
37818
37922
  if not isContinued then
37819
37923
  restoreDefaultsForAllFeaturesAndKeys(nil, self.saveDataMap, self.saveDataDefaultsMap)
37820
37924
  end
@@ -37973,6 +38077,8 @@ local ____ISCFeature = require("src.enums.ISCFeature")
37973
38077
  local ISCFeature = ____ISCFeature.ISCFeature
37974
38078
  local ____entities = require("src.functions.entities")
37975
38079
  local getEntityID = ____entities.getEntityID
38080
+ local ____frames = require("src.functions.frames")
38081
+ local isPastRoomFrame = ____frames.isPastRoomFrame
37976
38082
  local ____roomData = require("src.functions.roomData")
37977
38083
  local getRoomListIndex = ____roomData.getRoomListIndex
37978
38084
  local ____stage = require("src.functions.stage")
@@ -38031,8 +38137,7 @@ function PickupIndexCreation.prototype.setPickupIndex(self, pickup)
38031
38137
  local pickupIndexFromLevelData = self:getPickupIndexFromPreviousData(pickup)
38032
38138
  local room = game:GetRoom()
38033
38139
  local isFirstVisit = room:IsFirstVisit()
38034
- local roomFrameCount = room:GetFrameCount()
38035
- if pickupIndexFromLevelData ~= nil and not isFirstVisit and roomFrameCount <= 0 then
38140
+ if pickupIndexFromLevelData ~= nil and not isFirstVisit and not isPastRoomFrame(nil, 0) then
38036
38141
  v.room.pickupIndexes:set(ptrHash, pickupIndexFromLevelData)
38037
38142
  return
38038
38143
  end
@@ -42345,6 +42450,9 @@ local ____TrapdoorAnimation = require("src.enums.private.TrapdoorAnimation")
42345
42450
  local TrapdoorAnimation = ____TrapdoorAnimation.TrapdoorAnimation
42346
42451
  local ____easing = require("src.functions.easing")
42347
42452
  local easeOutSine = ____easing.easeOutSine
42453
+ local ____frames = require("src.functions.frames")
42454
+ local isPastRoomFrame = ____frames.isPastRoomFrame
42455
+ local onOrPastRenderFrame = ____frames.onOrPastRenderFrame
42348
42456
  local ____log = require("src.functions.log")
42349
42457
  local log = ____log.log
42350
42458
  local ____playerCenter = require("src.functions.playerCenter")
@@ -42502,14 +42610,13 @@ function CustomTrapdoors.prototype.checkPixelationToBlackComplete(self)
42502
42610
  if v.run.state ~= StageTravelState.PIXELATION_TO_BLACK or v.run.stateRenderFrame == nil then
42503
42611
  return
42504
42612
  end
42505
- local hud = game:GetHUD()
42506
- local renderFrameCount = Isaac.GetFrameCount()
42507
42613
  local renderFrameScreenBlack = v.run.stateRenderFrame + PIXELATION_TO_BLACK_FRAMES
42508
- if renderFrameCount < renderFrameScreenBlack then
42614
+ if not onOrPastRenderFrame(nil, renderFrameScreenBlack) then
42509
42615
  return
42510
42616
  end
42511
42617
  v.run.state = StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END
42512
42618
  self:logStateChanged()
42619
+ local hud = game:GetHUD()
42513
42620
  hud:SetVisible(false)
42514
42621
  self.runInNFrames:runNextGameFrame(function()
42515
42622
  local level = game:GetLevel()
@@ -42548,14 +42655,13 @@ function CustomTrapdoors.prototype.checkSecondPixelationHalfWay(self)
42548
42655
  if v.run.state ~= StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY or v.run.stateRenderFrame == nil then
42549
42656
  return
42550
42657
  end
42551
- local hud = game:GetHUD()
42552
- local renderFrameCount = Isaac.GetFrameCount()
42553
42658
  local renderFrameScreenBlack = v.run.stateRenderFrame + PIXELATION_TO_BLACK_FRAMES
42554
- if renderFrameCount < renderFrameScreenBlack then
42659
+ if not onOrPastRenderFrame(nil, renderFrameScreenBlack) then
42555
42660
  return
42556
42661
  end
42557
42662
  v.run.state = StageTravelState.PIXELATION_TO_ROOM
42558
42663
  self:logStateChanged()
42664
+ local hud = game:GetHUD()
42559
42665
  hud:SetVisible(true)
42560
42666
  self.runNextRoom:runNextRoom(function()
42561
42667
  v.run.state = StageTravelState.PLAYERS_LAYING_DOWN
@@ -42611,11 +42717,10 @@ function CustomTrapdoors.prototype.shouldTrapdoorOpen(self, gridEntity, firstSpa
42611
42717
  return not anyPlayerCloserThan(nil, gridEntity.Position, TRAPDOOR_OPEN_DISTANCE) and not self:isPlayerCloseAfterBoss(gridEntity.Position) and not shouldBeClosedFromStartingInRoomWithEnemies(nil, firstSpawn, roomClear)
42612
42718
  end
42613
42719
  function CustomTrapdoors.prototype.isPlayerCloseAfterBoss(self, position)
42614
- local gameFrameCount = game:GetFrameCount()
42615
42720
  local room = game:GetRoom()
42616
42721
  local roomType = room:GetType()
42617
42722
  local roomClearGameFrame = self.roomClearFrame:getRoomClearGameFrame()
42618
- if roomType ~= RoomType.BOSS or roomClearGameFrame == nil or gameFrameCount >= roomClearGameFrame + TRAPDOOR_BOSS_REACTION_FRAMES then
42723
+ if roomType ~= RoomType.BOSS or roomClearGameFrame == nil or onOrPastRenderFrame(nil, roomClearGameFrame + TRAPDOOR_BOSS_REACTION_FRAMES) then
42619
42724
  return false
42620
42725
  end
42621
42726
  return anyPlayerCloserThan(nil, position, TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS)
@@ -42725,9 +42830,8 @@ function CustomTrapdoors.prototype.checkJumpComplete(self, player)
42725
42830
  end
42726
42831
  function CustomTrapdoors.prototype.shouldTrapdoorSpawnOpen(self, gridEntity, firstSpawn)
42727
42832
  local room = game:GetRoom()
42728
- local roomFrameCount = room:GetFrameCount()
42729
42833
  local roomClear = room:IsClear()
42730
- if roomFrameCount > 0 then
42834
+ if isPastRoomFrame(nil, 0) then
42731
42835
  return false
42732
42836
  end
42733
42837
  if not roomClear then
@@ -42761,7 +42865,6 @@ function CustomTrapdoors.prototype.spawnCustomTrapdoor(self, gridIndexOrPosition
42761
42865
  destinationStageType = self.stageHistory:getNextStageTypeWithHistory()
42762
42866
  end
42763
42867
  local room = game:GetRoom()
42764
- local roomFrameCount = room:GetFrameCount()
42765
42868
  local roomListIndex = getRoomListIndex(nil)
42766
42869
  local gridIndex = isVector(nil, gridIndexOrPosition) and room:GetGridIndex(gridIndexOrPosition) or gridIndexOrPosition
42767
42870
  local gridEntity = self.customGridEntities:spawnCustomGridEntity(
@@ -42771,7 +42874,7 @@ function CustomTrapdoors.prototype.spawnCustomTrapdoor(self, gridIndexOrPosition
42771
42874
  anm2Path,
42772
42875
  TrapdoorAnimation.OPENED
42773
42876
  )
42774
- local firstSpawn = roomFrameCount ~= 0
42877
+ local firstSpawn = isPastRoomFrame(nil, 0)
42775
42878
  local ____spawnOpen_0 = spawnOpen
42776
42879
  if ____spawnOpen_0 == nil then
42777
42880
  ____spawnOpen_0 = self:shouldTrapdoorSpawnOpen(gridEntity, firstSpawn)
@@ -43648,6 +43751,9 @@ local KColorDefault = ____constants.KColorDefault
43648
43751
  local VectorOne = ____constants.VectorOne
43649
43752
  local ____UIStreakAnimation = require("src.enums.private.UIStreakAnimation")
43650
43753
  local UIStreakAnimation = ____UIStreakAnimation.UIStreakAnimation
43754
+ local ____frames = require("src.functions.frames")
43755
+ local getElapsedGameFramesSince = ____frames.getElapsedGameFramesSince
43756
+ local getElapsedRenderFramesSince = ____frames.getElapsedRenderFramesSince
43651
43757
  local ____ui = require("src.functions.ui")
43652
43758
  local getScreenBottomCenterPos = ____ui.getScreenBottomCenterPos
43653
43759
  local getScreenTopCenterPos = ____ui.getScreenTopCenterPos
@@ -43657,16 +43763,15 @@ function checkEndTopStreakText(self)
43657
43763
  if v.run.topStreakTextStartedRenderFrame == nil or v.run.topStreakText.animation ~= UIStreakAnimation.TEXT_STAY then
43658
43764
  return
43659
43765
  end
43660
- local renderFrameCount = Isaac.GetFrameCount()
43661
- local elapsedFrames = renderFrameCount - v.run.topStreakTextStartedRenderFrame
43766
+ local elapsedFrames = getElapsedRenderFramesSince(nil, v.run.topStreakTextStartedRenderFrame)
43662
43767
  if elapsedFrames >= 115 then
43663
43768
  v.run.topStreakText.animation = UIStreakAnimation.TEXT
43664
43769
  v.run.topStreakText.frame = TEXT_OUT_FRAME - 2
43665
43770
  end
43666
43771
  end
43667
43772
  function trackMapInputPressed(self)
43773
+ local gameFrameCount = game:GetFrameCount()
43668
43774
  for ____, controllerIndex in ipairs(CONTROLLER_INDEX_VALUES) do
43669
- local gameFrameCount = game:GetFrameCount()
43670
43775
  local oldPushedMapFrame = v.run.controllerIndexPushingMapRenderFrame:get(controllerIndex)
43671
43776
  local isPushingMap = Input.IsActionPressed(ButtonAction.MAP, controllerIndex)
43672
43777
  if isPushingMap then
@@ -43687,8 +43792,7 @@ function checkStartBottomStreakText(self)
43687
43792
  return
43688
43793
  end
43689
43794
  local earliestFrame = math.min(table.unpack(pushedMapFrames))
43690
- local gameFrameCount = game:GetFrameCount()
43691
- local elapsedFrames = gameFrameCount - earliestFrame
43795
+ local elapsedFrames = getElapsedGameFramesSince(nil, earliestFrame)
43692
43796
  if elapsedFrames >= NUM_RENDER_FRAMES_MAP_HELD_BEFORE_STREAK_TEXT then
43693
43797
  v.run.bottomStreakText.animation = UIStreakAnimation.TEXT
43694
43798
  v.run.bottomStreakText.frame = 0
@@ -47819,6 +47923,8 @@ local ____collectibles = require("src.functions.collectibles")
47819
47923
  local setCollectibleSubType = ____collectibles.setCollectibleSubType
47820
47924
  local ____entities = require("src.functions.entities")
47821
47925
  local getEntityID = ____entities.getEntityID
47926
+ local ____frames = require("src.functions.frames")
47927
+ local onGameFrame = ____frames.onGameFrame
47822
47928
  local ____pickupVariants = require("src.functions.pickupVariants")
47823
47929
  local isCollectible = ____pickupVariants.isCollectible
47824
47930
  local ____pickupsSpecific = require("src.functions.pickupsSpecific")
@@ -47872,8 +47978,7 @@ function PreventCollectibleRotation.prototype.____constructor(self, pickupIndexC
47872
47978
  if trackedCollectibleType == nil then
47873
47979
  return
47874
47980
  end
47875
- local gameFrameCount = game:GetFrameCount()
47876
- if v.run.rollGameFrame ~= nil and (gameFrameCount == v.run.rollGameFrame or gameFrameCount == v.run.rollGameFrame + 1) then
47981
+ if v.run.rollGameFrame ~= nil and (onGameFrame(nil, v.run.rollGameFrame) or onGameFrame(nil, v.run.rollGameFrame + 1)) then
47877
47982
  v.run.trackedCollectibles:delete(pickupIndex)
47878
47983
  return
47879
47984
  end
@@ -53731,9 +53836,6 @@ return ____exports
53731
53836
  local ____exports = {}
53732
53837
  local ____log = require("src.functions.log")
53733
53838
  local log = ____log.log
53734
- function ____exports.isLuaDebugEnabled(self)
53735
- return _G.package ~= nil
53736
- end
53737
53839
  function ____exports.getTime(self, useSocketIfAvailable)
53738
53840
  if useSocketIfAvailable == nil then
53739
53841
  useSocketIfAvailable = true
@@ -53752,6 +53854,12 @@ function ____exports.getTime(self, useSocketIfAvailable)
53752
53854
  end
53753
53855
  return Isaac.GetTime()
53754
53856
  end
53857
+ function ____exports.isLuaDebugEnabled(self)
53858
+ return _G.package ~= nil
53859
+ end
53860
+ function ____exports.getElapsedTimeSince(self, time)
53861
+ return ____exports.getTime(nil) - time
53862
+ end
53755
53863
  function ____exports.getTraceback()
53756
53864
  if SandboxGetTraceback ~= nil then
53757
53865
  return SandboxGetTraceback()
@@ -53796,6 +53904,7 @@ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
53796
53904
  local ____features = require("src.features")
53797
53905
  local getFeatures = ____features.getFeatures
53798
53906
  local ____debugFunctions = require("src.functions.debugFunctions")
53907
+ local getElapsedTimeSince = ____debugFunctions.getElapsedTimeSince
53799
53908
  local getTime = ____debugFunctions.getTime
53800
53909
  local ____log = require("src.functions.log")
53801
53910
  local getParentFunctionDescription = ____log.getParentFunctionDescription
@@ -53852,8 +53961,7 @@ function ModUpgraded.prototype.AddPriorityCallback(self, modCallback, priority,
53852
53961
  local startTime = getTime(nil)
53853
53962
  Isaac.DebugString(signature .. " - START")
53854
53963
  local returnValue = callback(nil, ...)
53855
- local endTime = getTime(nil)
53856
- local elapsedTime = endTime - startTime
53964
+ local elapsedTime = getElapsedTimeSince(nil, startTime)
53857
53965
  if self.timeThreshold == nil or self.timeThreshold <= elapsedTime then
53858
53966
  Isaac.DebugString((signature .. " - END - time: ") .. tostring(elapsedTime))
53859
53967
  else
@@ -56374,6 +56482,14 @@ do
56374
56482
  end
56375
56483
  end
56376
56484
  end
56485
+ do
56486
+ local ____export = require("src.functions.frames")
56487
+ for ____exportKey, ____exportValue in pairs(____export) do
56488
+ if ____exportKey ~= "default" then
56489
+ ____exports[____exportKey] = ____exportValue
56490
+ end
56491
+ end
56492
+ end
56377
56493
  do
56378
56494
  local ____export = require("src.functions.globals")
56379
56495
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -57546,6 +57662,14 @@ do
57546
57662
  end
57547
57663
  end
57548
57664
  end
57665
+ do
57666
+ local ____export = require("src.functions.frames")
57667
+ for ____exportKey, ____exportValue in pairs(____export) do
57668
+ if ____exportKey ~= "default" then
57669
+ ____exports[____exportKey] = ____exportValue
57670
+ end
57671
+ end
57672
+ end
57549
57673
  do
57550
57674
  local ____export = require("src.functions.globals")
57551
57675
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -1 +1 @@
1
- {"version":3,"file":"ModUpgraded.d.ts","sourceRoot":"","sources":["../../../src/classes/ModUpgraded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAIhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAS/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAMrG;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,YAAW,GAAG;IAK9B,IAAI,EAAE,MAAM,CAAC;IAMpB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAElD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAMd,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK;IAgBpD,WAAW,CAAC,CAAC,SAAS,MAAM,qBAAqB,GAAG,MAAM,EAC/D,WAAW,EAAE,CAAC,EACd,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,qBAAqB,GAC1C,qBAAqB,CAAC,CAAC,CAAC,GACxB,OAAO,EAAE,GACZ,IAAI;IAIA,mBAAmB,CAAC,CAAC,SAAS,MAAM,qBAAqB,GAAG,MAAM,EACvE,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,gBAAgB,GAAG,GAAG,EAChC,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,qBAAqB,GAC1C,qBAAqB,CAAC,CAAC,CAAC,GACxB,OAAO,EAAE,GACZ,IAAI;IAwDA,OAAO,IAAI,OAAO;IAIlB,QAAQ,IAAI,MAAM;IAIlB,cAAc,CAAC,CAAC,SAAS,WAAW,EACzC,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,IAAI;IAIA,UAAU,IAAI,IAAI;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQnC;;;;;;OAMG;IACI,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,EAClD,iBAAiB,EAAE,CAAC,EACpB,GAAG,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,IAAI;IAQP;;;;OAIG;IACI,yBAAyB,CAAC,CAAC,SAAS,iBAAiB,EAC1D,iBAAiB,EAAE,CAAC,EACpB,QAAQ,EAAE,gBAAgB,GAAG,GAAG,EAChC,GAAG,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,IAAI;IAQP;;;;;;;;;OASG;IACI,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EACrD,iBAAiB,EAAE,CAAC,EACpB,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1C,IAAI;IAOP;;;OAGG;IACI,eAAe,IAAI,IAAI;IA0C9B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgEnB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAqDrB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"ModUpgraded.d.ts","sourceRoot":"","sources":["../../../src/classes/ModUpgraded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAIhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAS/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAMrG;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,YAAW,GAAG;IAK9B,IAAI,EAAE,MAAM,CAAC;IAMpB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAElD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAMd,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK;IAgBpD,WAAW,CAAC,CAAC,SAAS,MAAM,qBAAqB,GAAG,MAAM,EAC/D,WAAW,EAAE,CAAC,EACd,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,qBAAqB,GAC1C,qBAAqB,CAAC,CAAC,CAAC,GACxB,OAAO,EAAE,GACZ,IAAI;IAIA,mBAAmB,CAAC,CAAC,SAAS,MAAM,qBAAqB,GAAG,MAAM,EACvE,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,gBAAgB,GAAG,GAAG,EAChC,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,qBAAqB,GAC1C,qBAAqB,CAAC,CAAC,CAAC,GACxB,OAAO,EAAE,GACZ,IAAI;IAuDA,OAAO,IAAI,OAAO;IAIlB,QAAQ,IAAI,MAAM;IAIlB,cAAc,CAAC,CAAC,SAAS,WAAW,EACzC,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,IAAI;IAIA,UAAU,IAAI,IAAI;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQnC;;;;;;OAMG;IACI,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,EAClD,iBAAiB,EAAE,CAAC,EACpB,GAAG,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,IAAI;IAQP;;;;OAIG;IACI,yBAAyB,CAAC,CAAC,SAAS,iBAAiB,EAC1D,iBAAiB,EAAE,CAAC,EACpB,QAAQ,EAAE,gBAAgB,GAAG,GAAG,EAChC,GAAG,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,IAAI;IAQP;;;;;;;;;OASG;IACI,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EACrD,iBAAiB,EAAE,CAAC,EACpB,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1C,IAAI;IAOP;;;OAGG;IACI,eAAe,IAAI,IAAI;IA0C9B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgEnB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAqDrB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -22,6 +22,7 @@ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
22
22
  local ____features = require("src.features")
23
23
  local getFeatures = ____features.getFeatures
24
24
  local ____debugFunctions = require("src.functions.debugFunctions")
25
+ local getElapsedTimeSince = ____debugFunctions.getElapsedTimeSince
25
26
  local getTime = ____debugFunctions.getTime
26
27
  local ____log = require("src.functions.log")
27
28
  local getParentFunctionDescription = ____log.getParentFunctionDescription
@@ -89,8 +90,7 @@ function ModUpgraded.prototype.AddPriorityCallback(self, modCallback, priority,
89
90
  local startTime = getTime(nil)
90
91
  Isaac.DebugString(signature .. " - START")
91
92
  local returnValue = callback(nil, ...)
92
- local endTime = getTime(nil)
93
- local elapsedTime = endTime - startTime
93
+ local elapsedTime = getElapsedTimeSince(nil, startTime)
94
94
  if self.timeThreshold == nil or self.timeThreshold <= elapsedTime then
95
95
  Isaac.DebugString((signature .. " - END - time: ") .. tostring(elapsedTime))
96
96
  else
@@ -1 +1 @@
1
- {"version":3,"file":"PostCursedTeleport.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostCursedTeleport.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAOlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAe3D,qBAAa,kBAAmB,SAAQ,cAAc,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;IAC5E,CAAC;;;;;;;MAAK;IAEtB,UAAmB,UAAU,0BAAoB;;IAgBjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAWlC;IAEF,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,2CAA2C;IAkBnD,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAyB9C;IAEF,OAAO,CAAC,qCAAqC;CA8B9C"}
1
+ {"version":3,"file":"PostCursedTeleport.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostCursedTeleport.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAe3D,qBAAa,kBAAmB,SAAQ,cAAc,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;IAC5E,CAAC;;;;;;;MAAK;IAEtB,UAAmB,UAAU,0BAAoB;;IAgBjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAWlC;IAEF,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,2CAA2C;IAkBnD,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAyB9C;IAEF,OAAO,CAAC,qCAAqC;CA6B9C"}
@@ -16,6 +16,8 @@ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
16
16
  local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
17
17
  local ____flag = require("src.functions.flag")
18
18
  local hasFlag = ____flag.hasFlag
19
+ local ____frames = require("src.functions.frames")
20
+ local onGameFrame = ____frames.onGameFrame
19
21
  local ____playerDataStructures = require("src.functions.playerDataStructures")
20
22
  local mapGetPlayer = ____playerDataStructures.mapGetPlayer
21
23
  local mapSetPlayer = ____playerDataStructures.mapSetPlayer
@@ -92,8 +94,7 @@ function PostCursedTeleport.prototype.isPotentialNaturalTeleportFromSacrificeRoo
92
94
  return roomType == RoomType.SACRIFICE and isSpikeDamage and (v.level.numSacrifices == 6 or v.level.numSacrifices >= 12)
93
95
  end
94
96
  function PostCursedTeleport.prototype.playerIsTeleportingFromCursedTeleport(self, player, lastDamageFrame)
95
- local gameFrameCount = game:GetFrameCount()
96
- if gameFrameCount ~= lastDamageFrame then
97
+ if not onGameFrame(nil, lastDamageFrame) then
97
98
  return false
98
99
  end
99
100
  local sprite = player:GetSprite()
@@ -1 +1 @@
1
- {"version":3,"file":"PostItemDischarge.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostItemDischarge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,KAAK,CAAC,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AAI/C,KAAK,8BAA8B,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACvE,KAAK,qBAAqB,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAkBlD,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,CAAC,CAAC;IACtC,CAAC;;;;;;;;MAAK;;IAsBtB,UAAmB,UAAU,6GAEb,aAAa,CAAC,CAAC,KAC5B,OAAO,CAQR;IAIF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CASpC;IAIF,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAqCzC;IAEF;;;OAGG;IACH,OAAO,CAAC,8BAA8B;CAUvC"}
1
+ {"version":3,"file":"PostItemDischarge.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostItemDischarge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,KAAK,CAAC,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AAI/C,KAAK,8BAA8B,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACvE,KAAK,qBAAqB,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAkBlD,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,CAAC,CAAC;IACtC,CAAC;;;;;;;;MAAK;;IAsBtB,UAAmB,UAAU,6GAEb,aAAa,CAAC,CAAC,KAC5B,OAAO,CAQR;IAIF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CASpC;IAIF,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAqCzC;IAEF;;;OAGG;IACH,OAAO,CAAC,8BAA8B;CAYvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostPickupInitFirst.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostPickupInitFirst.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;IAC/E,CAAC;;;;MAIf;;IAWF,UAAmB,UAAU,0BAAoB;IAGjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAU7B;CACH"}
1
+ {"version":3,"file":"PostPickupInitFirst.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostPickupInitFirst.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;IAC/E,CAAC;;;;MAIf;;IAWF,UAAmB,UAAU,0BAAoB;IAGjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAQ7B;CACH"}
@@ -6,8 +6,8 @@ local __TS__New = ____lualib.__TS__New
6
6
  local ____exports = {}
7
7
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
8
8
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
9
- local ____cachedClasses = require("src.core.cachedClasses")
10
- local game = ____cachedClasses.game
9
+ local ____frames = require("src.functions.frames")
10
+ local isPastRoomFrame = ____frames.isPastRoomFrame
11
11
  local ____roomData = require("src.functions.roomData")
12
12
  local getRoomVisitedCount = ____roomData.getRoomVisitedCount
13
13
  local ____shouldFire = require("src.shouldFire")
@@ -23,10 +23,8 @@ function PostPickupInitFirst.prototype.____constructor(self)
23
23
  self.v = {room = {firedSet = __TS__New(Set)}}
24
24
  self.shouldFire = shouldFirePickup
25
25
  self.postPickupInit = function(____, pickup)
26
- local room = game:GetRoom()
27
- local roomFrameCount = room:GetFrameCount()
28
26
  local roomVisitedCount = getRoomVisitedCount(nil)
29
- if roomFrameCount > 0 or roomVisitedCount == 0 then
27
+ if isPastRoomFrame(nil, 0) or roomVisitedCount == 0 then
30
28
  self:fire(pickup)
31
29
  end
32
30
  end
@@ -1 +1 @@
1
- {"version":3,"file":"GameReorderedCallbacks.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/callbackLogic/GameReorderedCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQ1E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAuB,SAAQ,OAAO;IACjD,oDAAoD;IACpD,OAAO,CAAC,qBAAqB,CAAoB;IAEjD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IACpE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+B;IA8C5E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAM1C;IAGF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI7B;IAGF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAgB9B;IAGF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IAGF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAiB3B;IAGF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAmC1B;IAEF,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;;;OAYG;IAEI,qBAAqB,IAAI,IAAI;IAIpC;;;;;;;;;;;;OAYG;IAEI,oBAAoB,IAAI,IAAI;IAInC;;;;;;;;;OASG;IAEI,0BAA0B,CAC/B,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,GACnB,IAAI;CAIR"}
1
+ {"version":3,"file":"GameReorderedCallbacks.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/callbackLogic/GameReorderedCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAS1E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAuB,SAAQ,OAAO;IACjD,oDAAoD;IACpD,OAAO,CAAC,qBAAqB,CAAoB;IAEjD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IACpE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+B;IA8C5E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAM1C;IAGF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI7B;IAGF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAgB9B;IAGF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IAGF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAgB3B;IAGF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAiC1B;IAEF,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;;;OAYG;IAEI,qBAAqB,IAAI,IAAI;IAIpC;;;;;;;;;;;;OAYG;IAEI,oBAAoB,IAAI,IAAI;IAInC;;;;;;;;;OASG;IAEI,0BAA0B,CAC/B,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,GACnB,IAAI;CAIR"}