isaacscript-common 44.1.0 → 46.0.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 (35) hide show
  1. package/dist/index.rollup.d.ts +22 -9
  2. package/dist/isaacscript-common.lua +55 -32
  3. package/dist/src/classes/features/other/{EdenStartingStats.d.ts → EdenStartingStatsHealth.d.ts} +17 -5
  4. package/dist/src/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -0
  5. package/dist/src/classes/features/other/EdenStartingStatsHealth.lua +75 -0
  6. package/dist/src/classes/features/other/ModdedElementSets.d.ts +2 -1
  7. package/dist/src/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  8. package/dist/src/classes/features/other/ModdedElementSets.lua +2 -2
  9. package/dist/src/enums/ISCFeature.d.ts +1 -1
  10. package/dist/src/enums/ISCFeature.d.ts.map +1 -1
  11. package/dist/src/enums/ISCFeature.lua +2 -2
  12. package/dist/src/features.d.ts +3 -3
  13. package/dist/src/features.d.ts.map +1 -1
  14. package/dist/src/features.lua +3 -3
  15. package/dist/src/functions/collectibles.d.ts +1 -1
  16. package/dist/src/functions/collectibles.d.ts.map +1 -1
  17. package/dist/src/functions/collectibles.lua +1 -1
  18. package/dist/src/functions/deepCopy.lua +1 -2
  19. package/dist/src/functions/math.d.ts +1 -0
  20. package/dist/src/functions/math.d.ts.map +1 -1
  21. package/dist/src/functions/math.lua +1 -0
  22. package/dist/src/functions/playerHealth.d.ts +1 -1
  23. package/dist/src/functions/playerHealth.d.ts.map +1 -1
  24. package/dist/src/functions/playerHealth.lua +7 -4
  25. package/package.json +1 -1
  26. package/src/classes/features/other/{EdenStartingStats.ts → EdenStartingStatsHealth.ts} +38 -5
  27. package/src/classes/features/other/ModdedElementSets.ts +4 -3
  28. package/src/enums/ISCFeature.ts +1 -1
  29. package/src/features.ts +3 -3
  30. package/src/functions/collectibles.ts +1 -1
  31. package/src/functions/deepCopy.ts +1 -2
  32. package/src/functions/math.ts +1 -0
  33. package/src/functions/playerHealth.ts +21 -9
  34. package/dist/src/classes/features/other/EdenStartingStats.d.ts.map +0 -1
  35. package/dist/src/classes/features/other/EdenStartingStats.lua +0 -54
@@ -4068,15 +4068,26 @@ export declare function easeOutQuint(time: number): number;
4068
4068
  */
4069
4069
  export declare function easeOutSine(time: number): number;
4070
4070
 
4071
- declare class EdenStartingStats extends Feature {
4071
+ declare class EdenStartingStatsHealth extends Feature {
4072
4072
  /**
4073
4073
  * We must use the `POST_PLAYER_INIT` callback since the two random collectibles have not been
4074
4074
  * granted yet.
4075
4075
  */
4076
4076
  private readonly postPlayerInit;
4077
+ private getEdenStats;
4078
+ private getEdenHealth;
4077
4079
  /**
4078
- * Helper function to get the value of the randomized starting stat for Eden. (At the beginning of
4079
- * a run, Eden starts with randomized stats.)
4080
+ * Helper function to get the health that Eden started with at the beginning of the run before any
4081
+ * of the random collectibles were added.
4082
+ *
4083
+ * Returns undefined if passed a player that is not Eden.
4084
+ *
4085
+ * In order to use this function, you must upgrade your mod with `ISCFeature.EDEN_STARTING_STATS`.
4086
+ */
4087
+ getEdenStartingHealth(player: EntityPlayer): Readonly<PlayerHealth> | undefined;
4088
+ /**
4089
+ * Helper function to get the value of the randomized starting stat for Eden that was assigned at
4090
+ * the beginning of the run before any of the random collectibles were added.
4080
4091
  *
4081
4092
  * Returns undefined if passed a player that is not Eden.
4082
4093
  *
@@ -4085,7 +4096,7 @@ declare class EdenStartingStats extends Feature {
4085
4096
  getEdenStartingStat<T extends PlayerStat>(player: EntityPlayer, playerStat: T): PlayerStats[T] | undefined;
4086
4097
  /**
4087
4098
  * Helper function to get all of the stat values that Eden started with at the beginning of the
4088
- * run.
4099
+ * run before any of the random collectibles were added.
4089
4100
  *
4090
4101
  * Returns undefined if passed a player that is not Eden.
4091
4102
  *
@@ -6240,7 +6251,7 @@ export declare function getPlayerFromPtr(entityPtr: EntityPtr): EntityPlayer | u
6240
6251
  *
6241
6252
  * This is based on the `REVEL.StoreHealth` function in the Revelations mod.
6242
6253
  */
6243
- export declare function getPlayerHealth(player: EntityPlayer): PlayerHealth;
6254
+ export declare function getPlayerHealth(player: EntityPlayer): Readonly<PlayerHealth>;
6244
6255
 
6245
6256
  export declare function getPlayerHealthType(player: EntityPlayer, healthType: HealthType): int;
6246
6257
 
@@ -8330,7 +8341,7 @@ export declare enum ISCFeature {
8330
8341
  DEPLOY_JSON_ROOM = 24,
8331
8342
  DISABLE_ALL_SOUND = 25,
8332
8343
  DISABLE_INPUTS = 26,
8333
- EDEN_STARTING_STATS = 27,
8344
+ EDEN_STARTING_STATS_HEALTH = 27,
8334
8345
  FADE_IN_REMOVER = 28,
8335
8346
  FAST_RESET = 29,
8336
8347
  FLYING_DETECTION = 30,
@@ -8395,7 +8406,7 @@ declare interface ISCFeatureToClass {
8395
8406
  [ISCFeature.DEPLOY_JSON_ROOM]: DeployJSONRoom;
8396
8407
  [ISCFeature.DISABLE_ALL_SOUND]: DisableAllSound;
8397
8408
  [ISCFeature.DISABLE_INPUTS]: DisableInputs;
8398
- [ISCFeature.EDEN_STARTING_STATS]: EdenStartingStats;
8409
+ [ISCFeature.EDEN_STARTING_STATS_HEALTH]: EdenStartingStatsHealth;
8399
8410
  [ISCFeature.FADE_IN_REMOVER]: FadeInRemover;
8400
8411
  [ISCFeature.FAST_RESET]: FastReset;
8401
8412
  [ISCFeature.FLYING_DETECTION]: FlyingDetection;
@@ -8939,7 +8950,7 @@ export declare function isOdd(num: int): boolean;
8939
8950
  * Returns true if the item type in the item config is equal to `ItemType.ITEM_PASSIVE` or
8940
8951
  * `ItemType.ITEM_FAMILIAR`.
8941
8952
  */
8942
- export declare function isPassiveCollectible(collectibleOrCollectibleType: EntityPickup | CollectibleType): boolean;
8953
+ export declare function isPassiveOrFamiliarCollectible(collectibleOrCollectibleType: EntityPickup | CollectibleType): boolean;
8943
8954
 
8944
8955
  /** Helper function to narrow the type of `PickingUpItem`. */
8945
8956
  export declare function isPickingUpItemCollectible(pickingUpItem: PickingUpItem): pickingUpItem is PickingUpItemCollectible;
@@ -13380,7 +13391,8 @@ declare class ModdedElementSets extends Feature {
13380
13391
  */
13381
13392
  getRandomEdenActiveCollectibleType(seedOrRNG?: Seed | RNG, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
13382
13393
  /**
13383
- * Returns a random passive collectible type that that is a valid starting item for Eden.
13394
+ * Returns a random passive collectible type that that is a valid starting item for Eden
13395
+ * (including familiars).
13384
13396
  *
13385
13397
  * This function can only be called if at least one callback has been executed. This is because
13386
13398
  * not all collectible types will necessarily be present when a mod first loads (due to mod load
@@ -15608,6 +15620,7 @@ export declare function roomUpdateSafe(): void;
15608
15620
 
15609
15621
  /**
15610
15622
  * If rounding fails, this function returns 0.
15623
+ *
15611
15624
  * From: http://lua-users.org/wiki/SimpleRound
15612
15625
  *
15613
15626
  * @param num The number to round.
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 44.1.0
3
+ isaacscript-common 46.0.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -17451,8 +17451,8 @@ ____exports.ISCFeature.DISABLE_ALL_SOUND = 25
17451
17451
  ____exports.ISCFeature[____exports.ISCFeature.DISABLE_ALL_SOUND] = "DISABLE_ALL_SOUND"
17452
17452
  ____exports.ISCFeature.DISABLE_INPUTS = 26
17453
17453
  ____exports.ISCFeature[____exports.ISCFeature.DISABLE_INPUTS] = "DISABLE_INPUTS"
17454
- ____exports.ISCFeature.EDEN_STARTING_STATS = 27
17455
- ____exports.ISCFeature[____exports.ISCFeature.EDEN_STARTING_STATS] = "EDEN_STARTING_STATS"
17454
+ ____exports.ISCFeature.EDEN_STARTING_STATS_HEALTH = 27
17455
+ ____exports.ISCFeature[____exports.ISCFeature.EDEN_STARTING_STATS_HEALTH] = "EDEN_STARTING_STATS_HEALTH"
17456
17456
  ____exports.ISCFeature.FADE_IN_REMOVER = 28
17457
17457
  ____exports.ISCFeature[____exports.ISCFeature.FADE_IN_REMOVER] = "FADE_IN_REMOVER"
17458
17458
  ____exports.ISCFeature.FAST_RESET = 29
@@ -24755,7 +24755,7 @@ end
24755
24755
  function ____exports.isModdedCollectibleType(self, collectibleType)
24756
24756
  return not ____exports.isVanillaCollectibleType(nil, collectibleType)
24757
24757
  end
24758
- function ____exports.isPassiveCollectible(self, collectibleOrCollectibleType)
24758
+ function ____exports.isPassiveOrFamiliarCollectible(self, collectibleOrCollectibleType)
24759
24759
  local collectibleType = getCollectibleTypeFromArg(nil, collectibleOrCollectibleType, "isPassiveCollectible")
24760
24760
  local itemType = ____exports.getCollectibleItemType(nil, collectibleType)
24761
24761
  return itemType == ItemType.PASSIVE or itemType == ItemType.FAMILIAR
@@ -28620,6 +28620,7 @@ return ____exports
28620
28620
  ["src.functions.playerHealth"] = function(...)
28621
28621
  local ____lualib = require("lualib_bundle")
28622
28622
  local __TS__ArrayMap = ____lualib.__TS__ArrayMap
28623
+ local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
28623
28624
  local __TS__ArrayEntries = ____lualib.__TS__ArrayEntries
28624
28625
  local __TS__Iterator = ____lualib.__TS__Iterator
28625
28626
  local ____exports = {}
@@ -29073,20 +29074,22 @@ end
29073
29074
  function ____exports.playerConvertBlackHeartsToSoulHearts(self, player)
29074
29075
  local playerHealth = ____exports.getPlayerHealth(nil, player)
29075
29076
  ____exports.removeAllPlayerHealth(nil, player)
29076
- playerHealth.soulHeartTypes = __TS__ArrayMap(
29077
+ local newSoulHeartTypes = __TS__ArrayMap(
29077
29078
  playerHealth.soulHeartTypes,
29078
29079
  function(____, soulHeartType) return soulHeartType == HeartSubType.BLACK and HeartSubType.SOUL or soulHeartType end
29079
29080
  )
29080
- ____exports.setPlayerHealth(nil, player, playerHealth)
29081
+ local playerHealthWithSoulHearts = __TS__ObjectAssign({}, playerHealth, {soulHeartTypes = newSoulHeartTypes})
29082
+ ____exports.setPlayerHealth(nil, player, playerHealthWithSoulHearts)
29081
29083
  end
29082
29084
  function ____exports.playerConvertSoulHeartsToBlackHearts(self, player)
29083
29085
  local playerHealth = ____exports.getPlayerHealth(nil, player)
29084
29086
  ____exports.removeAllPlayerHealth(nil, player)
29085
- playerHealth.soulHeartTypes = __TS__ArrayMap(
29087
+ local newSoulHeartTypes = __TS__ArrayMap(
29086
29088
  playerHealth.soulHeartTypes,
29087
29089
  function(____, soulHeartType) return soulHeartType == HeartSubType.SOUL and HeartSubType.BLACK or soulHeartType end
29088
29090
  )
29089
- ____exports.setPlayerHealth(nil, player, playerHealth)
29091
+ local playerHealthWithBlackHearts = __TS__ObjectAssign({}, playerHealth, {soulHeartTypes = newSoulHeartTypes})
29092
+ ____exports.setPlayerHealth(nil, player, playerHealthWithBlackHearts)
29090
29093
  end
29091
29094
  function ____exports.playerHasHealthLeft(self, player)
29092
29095
  local hearts = player:GetHearts()
@@ -36696,9 +36699,8 @@ function deepCopyUserdata(self, value, serializationType, traversalDescription)
36696
36699
  ____cond100 = ____cond100 or ____switch100 == SerializationType.DESERIALIZE
36697
36700
  if ____cond100 then
36698
36701
  do
36699
- error(("The deep copy function can not deserialize \"" .. traversalDescription) .. "\", since it is userdata.")
36702
+ return error(("The deep copy function can not deserialize \"" .. traversalDescription) .. "\", since it is userdata.")
36700
36703
  end
36701
- break
36702
36704
  end
36703
36705
  until true
36704
36706
  end
@@ -38715,7 +38717,7 @@ local ____collectibles = require("src.functions.collectibles")
38715
38717
  local collectibleHasCacheFlag = ____collectibles.collectibleHasCacheFlag
38716
38718
  local isActiveCollectible = ____collectibles.isActiveCollectible
38717
38719
  local isHiddenCollectible = ____collectibles.isHiddenCollectible
38718
- local isPassiveCollectible = ____collectibles.isPassiveCollectible
38720
+ local isPassiveOrFamiliarCollectible = ____collectibles.isPassiveOrFamiliarCollectible
38719
38721
  local ____flag = require("src.functions.flag")
38720
38722
  local getFlagName = ____flag.getFlagName
38721
38723
  local ____rng = require("src.functions.rng")
@@ -38994,7 +38996,7 @@ function ModdedElementSets.prototype.lazyInitEdenCollectibleTypesSet(self)
38994
38996
  if isActiveCollectible(nil, collectibleType) then
38995
38997
  self.edenActiveCollectibleTypesSet:add(collectibleType)
38996
38998
  end
38997
- if isPassiveCollectible(nil, collectibleType) then
38999
+ if isPassiveOrFamiliarCollectible(nil, collectibleType) then
38998
39000
  self.edenPassiveCollectibleTypesSet:add(collectibleType)
38999
39001
  end
39000
39002
  end
@@ -47746,7 +47748,7 @@ end
47746
47748
  __TS__DecorateLegacy({Exported}, DeployJSONRoom.prototype, "deployJSONRoom", true)
47747
47749
  return ____exports
47748
47750
  end,
47749
- ["src.classes.features.other.EdenStartingStats"] = function(...)
47751
+ ["src.classes.features.other.EdenStartingStatsHealth"] = function(...)
47750
47752
  local ____lualib = require("lualib_bundle")
47751
47753
  local Map = ____lualib.Map
47752
47754
  local __TS__New = ____lualib.__TS__New
@@ -47761,45 +47763,66 @@ local Exported = ____decorators.Exported
47761
47763
  local ____playerDataStructures = require("src.functions.playerDataStructures")
47762
47764
  local mapGetPlayer = ____playerDataStructures.mapGetPlayer
47763
47765
  local mapSetPlayer = ____playerDataStructures.mapSetPlayer
47766
+ local ____playerHealth = require("src.functions.playerHealth")
47767
+ local getPlayerHealth = ____playerHealth.getPlayerHealth
47764
47768
  local ____players = require("src.functions.players")
47765
47769
  local isEden = ____players.isEden
47766
47770
  local ____stats = require("src.functions.stats")
47767
47771
  local getPlayerStats = ____stats.getPlayerStats
47768
47772
  local ____Feature = require("src.classes.private.Feature")
47769
47773
  local Feature = ____Feature.Feature
47770
- local v = {run = {edenPlayerStats = __TS__New(Map)}}
47771
- ____exports.EdenStartingStats = __TS__Class()
47772
- local EdenStartingStats = ____exports.EdenStartingStats
47773
- EdenStartingStats.name = "EdenStartingStats"
47774
- __TS__ClassExtends(EdenStartingStats, Feature)
47775
- function EdenStartingStats.prototype.____constructor(self)
47774
+ local v = {run = {
47775
+ edenPlayerStats = __TS__New(Map),
47776
+ edenPlayerHealth = __TS__New(Map)
47777
+ }}
47778
+ ____exports.EdenStartingStatsHealth = __TS__Class()
47779
+ local EdenStartingStatsHealth = ____exports.EdenStartingStatsHealth
47780
+ EdenStartingStatsHealth.name = "EdenStartingStatsHealth"
47781
+ __TS__ClassExtends(EdenStartingStatsHealth, Feature)
47782
+ function EdenStartingStatsHealth.prototype.____constructor(self)
47776
47783
  Feature.prototype.____constructor(self)
47777
47784
  self.v = v
47778
47785
  self.postPlayerInit = function(____, player)
47779
47786
  if not isEden(nil, player) then
47780
47787
  return
47781
47788
  end
47782
- local existingStatMap = mapGetPlayer(nil, v.run.edenPlayerStats, player)
47783
- if existingStatMap ~= nil then
47784
- return
47785
- end
47786
- local playerStats = getPlayerStats(nil, player)
47787
- mapSetPlayer(nil, v.run.edenPlayerStats, player, playerStats)
47789
+ self:getEdenStats(player)
47790
+ self:getEdenHealth(player)
47788
47791
  end
47789
47792
  self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, self.postPlayerInit}}
47790
47793
  end
47791
- function EdenStartingStats.prototype.getEdenStartingStat(self, player, playerStat)
47794
+ function EdenStartingStatsHealth.prototype.getEdenStats(self, player)
47795
+ local existingStatMap = mapGetPlayer(nil, v.run.edenPlayerStats, player)
47796
+ if existingStatMap ~= nil then
47797
+ return
47798
+ end
47799
+ local playerStats = getPlayerStats(nil, player)
47800
+ mapSetPlayer(nil, v.run.edenPlayerStats, player, playerStats)
47801
+ end
47802
+ function EdenStartingStatsHealth.prototype.getEdenHealth(self, player)
47803
+ local existingHealthMap = mapGetPlayer(nil, v.run.edenPlayerHealth, player)
47804
+ if existingHealthMap ~= nil then
47805
+ return
47806
+ end
47807
+ local playerHealth = getPlayerHealth(nil, player)
47808
+ mapSetPlayer(nil, v.run.edenPlayerHealth, player, playerHealth)
47809
+ end
47810
+ function EdenStartingStatsHealth.prototype.getEdenStartingHealth(self, player)
47811
+ return mapGetPlayer(nil, v.run.edenPlayerHealth, player)
47812
+ end
47813
+ __TS__DecorateLegacy({Exported}, EdenStartingStatsHealth.prototype, "getEdenStartingHealth", true)
47814
+ function EdenStartingStatsHealth.prototype.getEdenStartingStat(self, player, playerStat)
47792
47815
  local playerStats = mapGetPlayer(nil, v.run.edenPlayerStats, player)
47793
47816
  if playerStats == nil then
47794
47817
  return nil
47795
47818
  end
47796
47819
  return playerStats[playerStat]
47797
47820
  end
47798
- __TS__DecorateLegacy({Exported}, EdenStartingStats.prototype, "getEdenStartingStat", true)
47799
- function EdenStartingStats.prototype.getEdenStartingStats(self, player)
47821
+ __TS__DecorateLegacy({Exported}, EdenStartingStatsHealth.prototype, "getEdenStartingStat", true)
47822
+ function EdenStartingStatsHealth.prototype.getEdenStartingStats(self, player)
47800
47823
  return mapGetPlayer(nil, v.run.edenPlayerStats, player)
47801
47824
  end
47802
- __TS__DecorateLegacy({Exported}, EdenStartingStats.prototype, "getEdenStartingStats", true)
47825
+ __TS__DecorateLegacy({Exported}, EdenStartingStatsHealth.prototype, "getEdenStartingStats", true)
47803
47826
  return ____exports
47804
47827
  end,
47805
47828
  ["src.functions.deepCopyTests"] = function(...)
@@ -52399,8 +52422,8 @@ local ____DisableAllSound = require("src.classes.features.other.DisableAllSound"
52399
52422
  local DisableAllSound = ____DisableAllSound.DisableAllSound
52400
52423
  local ____DisableInputs = require("src.classes.features.other.DisableInputs")
52401
52424
  local DisableInputs = ____DisableInputs.DisableInputs
52402
- local ____EdenStartingStats = require("src.classes.features.other.EdenStartingStats")
52403
- local EdenStartingStats = ____EdenStartingStats.EdenStartingStats
52425
+ local ____EdenStartingStatsHealth = require("src.classes.features.other.EdenStartingStatsHealth")
52426
+ local EdenStartingStatsHealth = ____EdenStartingStatsHealth.EdenStartingStatsHealth
52404
52427
  local ____ExtraConsoleCommands = require("src.classes.features.other.ExtraConsoleCommands")
52405
52428
  local ExtraConsoleCommands = ____ExtraConsoleCommands.ExtraConsoleCommands
52406
52429
  local ____FadeInRemover = require("src.classes.features.other.FadeInRemover")
@@ -52556,7 +52579,7 @@ function ____exports.getFeatures(self, mod, callbacks)
52556
52579
  [ISCFeature.DEPLOY_JSON_ROOM] = __TS__New(DeployJSONRoom, preventGridEntityRespawn, spawnCollectible),
52557
52580
  [ISCFeature.DISABLE_ALL_SOUND] = disableAllSound,
52558
52581
  [ISCFeature.DISABLE_INPUTS] = disableInputs,
52559
- [ISCFeature.EDEN_STARTING_STATS] = __TS__New(EdenStartingStats),
52582
+ [ISCFeature.EDEN_STARTING_STATS_HEALTH] = __TS__New(EdenStartingStatsHealth),
52560
52583
  [ISCFeature.FADE_IN_REMOVER] = __TS__New(FadeInRemover),
52561
52584
  [ISCFeature.FAST_RESET] = __TS__New(FastReset),
52562
52585
  [ISCFeature.FLYING_DETECTION] = __TS__New(FlyingDetection, moddedElementSets),
@@ -1,16 +1,28 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
2
  import type { PlayerStat } from "../../../enums/PlayerStat";
3
+ import type { PlayerHealth } from "../../../interfaces/PlayerHealth";
3
4
  import type { PlayerStats } from "../../../interfaces/PlayerStats";
4
5
  import { Feature } from "../../private/Feature";
5
- export declare class EdenStartingStats extends Feature {
6
+ export declare class EdenStartingStatsHealth extends Feature {
6
7
  /**
7
8
  * We must use the `POST_PLAYER_INIT` callback since the two random collectibles have not been
8
9
  * granted yet.
9
10
  */
10
11
  private readonly postPlayerInit;
12
+ private getEdenStats;
13
+ private getEdenHealth;
11
14
  /**
12
- * Helper function to get the value of the randomized starting stat for Eden. (At the beginning of
13
- * a run, Eden starts with randomized stats.)
15
+ * Helper function to get the health that Eden started with at the beginning of the run before any
16
+ * of the random collectibles were added.
17
+ *
18
+ * Returns undefined if passed a player that is not Eden.
19
+ *
20
+ * In order to use this function, you must upgrade your mod with `ISCFeature.EDEN_STARTING_STATS`.
21
+ */
22
+ getEdenStartingHealth(player: EntityPlayer): Readonly<PlayerHealth> | undefined;
23
+ /**
24
+ * Helper function to get the value of the randomized starting stat for Eden that was assigned at
25
+ * the beginning of the run before any of the random collectibles were added.
14
26
  *
15
27
  * Returns undefined if passed a player that is not Eden.
16
28
  *
@@ -19,7 +31,7 @@ export declare class EdenStartingStats extends Feature {
19
31
  getEdenStartingStat<T extends PlayerStat>(player: EntityPlayer, playerStat: T): PlayerStats[T] | undefined;
20
32
  /**
21
33
  * Helper function to get all of the stat values that Eden started with at the beginning of the
22
- * run.
34
+ * run before any of the random collectibles were added.
23
35
  *
24
36
  * Returns undefined if passed a player that is not Eden.
25
37
  *
@@ -27,4 +39,4 @@ export declare class EdenStartingStats extends Feature {
27
39
  */
28
40
  getEdenStartingStats(player: EntityPlayer): Readonly<PlayerStats> | undefined;
29
41
  }
30
- //# sourceMappingURL=EdenStartingStats.d.ts.map
42
+ //# sourceMappingURL=EdenStartingStatsHealth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdenStartingStatsHealth.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/EdenStartingStatsHealth.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAShD,qBAAa,uBAAwB,SAAQ,OAAO;IAclD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAO7B;IAEF,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IAUrB;;;;;;;OAOG;IAEI,qBAAqB,CAC1B,MAAM,EAAE,YAAY,GACnB,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS;IAIrC;;;;;;;OAOG;IAEI,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC7C,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,CAAC,GACZ,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;IAS7B;;;;;;;OAOG;IAEI,oBAAoB,CACzB,MAAM,EAAE,YAAY,GACnB,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS;CAGrC"}
@@ -0,0 +1,75 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Map = ____lualib.Map
3
+ local __TS__New = ____lualib.__TS__New
4
+ local __TS__Class = ____lualib.__TS__Class
5
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
6
+ local __TS__DecorateLegacy = ____lualib.__TS__DecorateLegacy
7
+ local ____exports = {}
8
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
9
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
10
+ local ____decorators = require("src.decorators")
11
+ local Exported = ____decorators.Exported
12
+ local ____playerDataStructures = require("src.functions.playerDataStructures")
13
+ local mapGetPlayer = ____playerDataStructures.mapGetPlayer
14
+ local mapSetPlayer = ____playerDataStructures.mapSetPlayer
15
+ local ____playerHealth = require("src.functions.playerHealth")
16
+ local getPlayerHealth = ____playerHealth.getPlayerHealth
17
+ local ____players = require("src.functions.players")
18
+ local isEden = ____players.isEden
19
+ local ____stats = require("src.functions.stats")
20
+ local getPlayerStats = ____stats.getPlayerStats
21
+ local ____Feature = require("src.classes.private.Feature")
22
+ local Feature = ____Feature.Feature
23
+ local v = {run = {
24
+ edenPlayerStats = __TS__New(Map),
25
+ edenPlayerHealth = __TS__New(Map)
26
+ }}
27
+ ____exports.EdenStartingStatsHealth = __TS__Class()
28
+ local EdenStartingStatsHealth = ____exports.EdenStartingStatsHealth
29
+ EdenStartingStatsHealth.name = "EdenStartingStatsHealth"
30
+ __TS__ClassExtends(EdenStartingStatsHealth, Feature)
31
+ function EdenStartingStatsHealth.prototype.____constructor(self)
32
+ Feature.prototype.____constructor(self)
33
+ self.v = v
34
+ self.postPlayerInit = function(____, player)
35
+ if not isEden(nil, player) then
36
+ return
37
+ end
38
+ self:getEdenStats(player)
39
+ self:getEdenHealth(player)
40
+ end
41
+ self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, self.postPlayerInit}}
42
+ end
43
+ function EdenStartingStatsHealth.prototype.getEdenStats(self, player)
44
+ local existingStatMap = mapGetPlayer(nil, v.run.edenPlayerStats, player)
45
+ if existingStatMap ~= nil then
46
+ return
47
+ end
48
+ local playerStats = getPlayerStats(nil, player)
49
+ mapSetPlayer(nil, v.run.edenPlayerStats, player, playerStats)
50
+ end
51
+ function EdenStartingStatsHealth.prototype.getEdenHealth(self, player)
52
+ local existingHealthMap = mapGetPlayer(nil, v.run.edenPlayerHealth, player)
53
+ if existingHealthMap ~= nil then
54
+ return
55
+ end
56
+ local playerHealth = getPlayerHealth(nil, player)
57
+ mapSetPlayer(nil, v.run.edenPlayerHealth, player, playerHealth)
58
+ end
59
+ function EdenStartingStatsHealth.prototype.getEdenStartingHealth(self, player)
60
+ return mapGetPlayer(nil, v.run.edenPlayerHealth, player)
61
+ end
62
+ __TS__DecorateLegacy({Exported}, EdenStartingStatsHealth.prototype, "getEdenStartingHealth", true)
63
+ function EdenStartingStatsHealth.prototype.getEdenStartingStat(self, player, playerStat)
64
+ local playerStats = mapGetPlayer(nil, v.run.edenPlayerStats, player)
65
+ if playerStats == nil then
66
+ return nil
67
+ end
68
+ return playerStats[playerStat]
69
+ end
70
+ __TS__DecorateLegacy({Exported}, EdenStartingStatsHealth.prototype, "getEdenStartingStat", true)
71
+ function EdenStartingStatsHealth.prototype.getEdenStartingStats(self, player)
72
+ return mapGetPlayer(nil, v.run.edenPlayerStats, player)
73
+ end
74
+ __TS__DecorateLegacy({Exported}, EdenStartingStatsHealth.prototype, "getEdenStartingStats", true)
75
+ return ____exports
@@ -465,7 +465,8 @@ export declare class ModdedElementSets extends Feature {
465
465
  */
466
466
  getRandomEdenActiveCollectibleType(seedOrRNG?: Seed | RNG, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
467
467
  /**
468
- * Returns a random passive collectible type that that is a valid starting item for Eden.
468
+ * Returns a random passive collectible type that that is a valid starting item for Eden
469
+ * (including familiars).
469
470
  *
470
471
  * This function can only be called if at least one callback has been executed. This is because
471
472
  * not all collectible types will necessarily be present when a mod first loads (due to mod load
@@ -1 +1 @@
1
- {"version":3,"file":"ModdedElementSets.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/ModdedElementSets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModdedElementSets.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/ModdedElementSets.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ local ____collectibles = require("src.functions.collectibles")
40
40
  local collectibleHasCacheFlag = ____collectibles.collectibleHasCacheFlag
41
41
  local isActiveCollectible = ____collectibles.isActiveCollectible
42
42
  local isHiddenCollectible = ____collectibles.isHiddenCollectible
43
- local isPassiveCollectible = ____collectibles.isPassiveCollectible
43
+ local isPassiveOrFamiliarCollectible = ____collectibles.isPassiveOrFamiliarCollectible
44
44
  local ____flag = require("src.functions.flag")
45
45
  local getFlagName = ____flag.getFlagName
46
46
  local ____rng = require("src.functions.rng")
@@ -325,7 +325,7 @@ function ModdedElementSets.prototype.lazyInitEdenCollectibleTypesSet(self)
325
325
  if isActiveCollectible(nil, collectibleType) then
326
326
  self.edenActiveCollectibleTypesSet:add(collectibleType)
327
327
  end
328
- if isPassiveCollectible(nil, collectibleType) then
328
+ if isPassiveOrFamiliarCollectible(nil, collectibleType) then
329
329
  self.edenPassiveCollectibleTypesSet:add(collectibleType)
330
330
  end
331
331
  end
@@ -26,7 +26,7 @@ export declare enum ISCFeature {
26
26
  DEPLOY_JSON_ROOM = 24,
27
27
  DISABLE_ALL_SOUND = 25,
28
28
  DISABLE_INPUTS = 26,
29
- EDEN_STARTING_STATS = 27,
29
+ EDEN_STARTING_STATS_HEALTH = 27,
30
30
  FADE_IN_REMOVER = 28,
31
31
  FAST_RESET = 29,
32
32
  FLYING_DETECTION = 30,
@@ -1 +1 @@
1
- {"version":3,"file":"ISCFeature.d.ts","sourceRoot":"","sources":["../../../src/enums/ISCFeature.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,cAAc,IAAA;IACd,+BAA+B,IAAA;IAC/B,4BAA4B,IAAA;IAC5B,4BAA4B,IAAA;IAC5B,wBAAwB,IAAA;IACxB,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,4BAA4B,IAAA;IAC5B,0BAA0B,KAAA;IAC1B,wBAAwB,KAAA;IACxB,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IAGrB,2BAA2B,KAAA;IAC3B,eAAe,KAAA;IACf,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,mBAAmB,KAAA;IACnB,eAAe,KAAA;IACf,UAAU,KAAA;IACV,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,cAAc,KAAA;IACd,KAAK,KAAA;IACL,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,2BAA2B,KAAA;IAC3B,cAAc,KAAA;IACd,WAAW,KAAA;IACX,sBAAsB,KAAA;IACtB,4BAA4B,KAAA;IAC5B,2BAA2B,KAAA;IAC3B,gBAAgB,KAAA;IAChB,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,iBAAiB,KAAA;IACjB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,uBAAuB,KAAA;CACxB"}
1
+ {"version":3,"file":"ISCFeature.d.ts","sourceRoot":"","sources":["../../../src/enums/ISCFeature.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,cAAc,IAAA;IACd,+BAA+B,IAAA;IAC/B,4BAA4B,IAAA;IAC5B,4BAA4B,IAAA;IAC5B,wBAAwB,IAAA;IACxB,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,4BAA4B,IAAA;IAC5B,0BAA0B,KAAA;IAC1B,wBAAwB,KAAA;IACxB,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IAGrB,2BAA2B,KAAA;IAC3B,eAAe,KAAA;IACf,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,0BAA0B,KAAA;IAC1B,eAAe,KAAA;IACf,UAAU,KAAA;IACV,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,cAAc,KAAA;IACd,KAAK,KAAA;IACL,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,2BAA2B,KAAA;IAC3B,cAAc,KAAA;IACd,WAAW,KAAA;IACX,sBAAsB,KAAA;IACtB,4BAA4B,KAAA;IAC5B,2BAA2B,KAAA;IAC3B,gBAAgB,KAAA;IAChB,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,iBAAiB,KAAA;IACjB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,uBAAuB,KAAA;CACxB"}
@@ -54,8 +54,8 @@ ____exports.ISCFeature.DISABLE_ALL_SOUND = 25
54
54
  ____exports.ISCFeature[____exports.ISCFeature.DISABLE_ALL_SOUND] = "DISABLE_ALL_SOUND"
55
55
  ____exports.ISCFeature.DISABLE_INPUTS = 26
56
56
  ____exports.ISCFeature[____exports.ISCFeature.DISABLE_INPUTS] = "DISABLE_INPUTS"
57
- ____exports.ISCFeature.EDEN_STARTING_STATS = 27
58
- ____exports.ISCFeature[____exports.ISCFeature.EDEN_STARTING_STATS] = "EDEN_STARTING_STATS"
57
+ ____exports.ISCFeature.EDEN_STARTING_STATS_HEALTH = 27
58
+ ____exports.ISCFeature[____exports.ISCFeature.EDEN_STARTING_STATS_HEALTH] = "EDEN_STARTING_STATS_HEALTH"
59
59
  ____exports.ISCFeature.FADE_IN_REMOVER = 28
60
60
  ____exports.ISCFeature[____exports.ISCFeature.FADE_IN_REMOVER] = "FADE_IN_REMOVER"
61
61
  ____exports.ISCFeature.FAST_RESET = 29
@@ -26,7 +26,7 @@ import { DebugDisplay } from "./classes/features/other/DebugDisplay";
26
26
  import { DeployJSONRoom } from "./classes/features/other/DeployJSONRoom";
27
27
  import { DisableAllSound } from "./classes/features/other/DisableAllSound";
28
28
  import { DisableInputs } from "./classes/features/other/DisableInputs";
29
- import { EdenStartingStats } from "./classes/features/other/EdenStartingStats";
29
+ import { EdenStartingStatsHealth } from "./classes/features/other/EdenStartingStatsHealth";
30
30
  import { ExtraConsoleCommands } from "./classes/features/other/ExtraConsoleCommands";
31
31
  import { FadeInRemover } from "./classes/features/other/FadeInRemover";
32
32
  import { FastReset } from "./classes/features/other/FastReset";
@@ -85,7 +85,7 @@ export interface ISCFeatureToClass {
85
85
  [ISCFeature.DEPLOY_JSON_ROOM]: DeployJSONRoom;
86
86
  [ISCFeature.DISABLE_ALL_SOUND]: DisableAllSound;
87
87
  [ISCFeature.DISABLE_INPUTS]: DisableInputs;
88
- [ISCFeature.EDEN_STARTING_STATS]: EdenStartingStats;
88
+ [ISCFeature.EDEN_STARTING_STATS_HEALTH]: EdenStartingStatsHealth;
89
89
  [ISCFeature.FADE_IN_REMOVER]: FadeInRemover;
90
90
  [ISCFeature.FAST_RESET]: FastReset;
91
91
  [ISCFeature.FLYING_DETECTION]: FlyingDetection;
@@ -143,7 +143,7 @@ export declare function getFeatures(mod: ModUpgradedInterface, callbacks: ModCal
143
143
  readonly 24: DeployJSONRoom;
144
144
  readonly 25: DisableAllSound;
145
145
  readonly 26: DisableInputs;
146
- readonly 27: EdenStartingStats;
146
+ readonly 27: EdenStartingStatsHealth;
147
147
  readonly 28: FadeInRemover;
148
148
  readonly 29: FastReset;
149
149
  readonly 30: FlyingDetection;
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/features.ts"],"names":[],"mappings":"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"}
@@ -55,8 +55,8 @@ local ____DisableAllSound = require("src.classes.features.other.DisableAllSound"
55
55
  local DisableAllSound = ____DisableAllSound.DisableAllSound
56
56
  local ____DisableInputs = require("src.classes.features.other.DisableInputs")
57
57
  local DisableInputs = ____DisableInputs.DisableInputs
58
- local ____EdenStartingStats = require("src.classes.features.other.EdenStartingStats")
59
- local EdenStartingStats = ____EdenStartingStats.EdenStartingStats
58
+ local ____EdenStartingStatsHealth = require("src.classes.features.other.EdenStartingStatsHealth")
59
+ local EdenStartingStatsHealth = ____EdenStartingStatsHealth.EdenStartingStatsHealth
60
60
  local ____ExtraConsoleCommands = require("src.classes.features.other.ExtraConsoleCommands")
61
61
  local ExtraConsoleCommands = ____ExtraConsoleCommands.ExtraConsoleCommands
62
62
  local ____FadeInRemover = require("src.classes.features.other.FadeInRemover")
@@ -212,7 +212,7 @@ function ____exports.getFeatures(self, mod, callbacks)
212
212
  [ISCFeature.DEPLOY_JSON_ROOM] = __TS__New(DeployJSONRoom, preventGridEntityRespawn, spawnCollectible),
213
213
  [ISCFeature.DISABLE_ALL_SOUND] = disableAllSound,
214
214
  [ISCFeature.DISABLE_INPUTS] = disableInputs,
215
- [ISCFeature.EDEN_STARTING_STATS] = __TS__New(EdenStartingStats),
215
+ [ISCFeature.EDEN_STARTING_STATS_HEALTH] = __TS__New(EdenStartingStatsHealth),
216
216
  [ISCFeature.FADE_IN_REMOVER] = __TS__New(FadeInRemover),
217
217
  [ISCFeature.FAST_RESET] = __TS__New(FastReset),
218
218
  [ISCFeature.FLYING_DETECTION] = __TS__New(FlyingDetection, moddedElementSets),
@@ -110,7 +110,7 @@ export declare function isModdedCollectibleType(collectibleType: CollectibleType
110
110
  * Returns true if the item type in the item config is equal to `ItemType.ITEM_PASSIVE` or
111
111
  * `ItemType.ITEM_FAMILIAR`.
112
112
  */
113
- export declare function isPassiveCollectible(collectibleOrCollectibleType: EntityPickup | CollectibleType): boolean;
113
+ export declare function isPassiveOrFamiliarCollectible(collectibleOrCollectibleType: EntityPickup | CollectibleType): boolean;
114
114
  /** Helper function to check if a collectible type is a particular quality. */
115
115
  export declare function isQuality(collectibleOrCollectibleType: EntityPickup | CollectibleType, quality: int): boolean;
116
116
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"collectibles.d.ts","sourceRoot":"","sources":["../../../src/functions/collectibles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectibles.d.ts","sourceRoot":"","sources":["../../../src/functions/collectibles.ts"],"names":[],"mappings":"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"}
@@ -358,7 +358,7 @@ function ____exports.isModdedCollectibleType(self, collectibleType)
358
358
  end
359
359
  --- Returns true if the item type in the item config is equal to `ItemType.ITEM_PASSIVE` or
360
360
  -- `ItemType.ITEM_FAMILIAR`.
361
- function ____exports.isPassiveCollectible(self, collectibleOrCollectibleType)
361
+ function ____exports.isPassiveOrFamiliarCollectible(self, collectibleOrCollectibleType)
362
362
  local collectibleType = getCollectibleTypeFromArg(nil, collectibleOrCollectibleType, "isPassiveCollectible")
363
363
  local itemType = ____exports.getCollectibleItemType(nil, collectibleType)
364
364
  return itemType == ItemType.PASSIVE or itemType == ItemType.FAMILIAR
@@ -586,9 +586,8 @@ function deepCopyUserdata(self, value, serializationType, traversalDescription)
586
586
  ____cond100 = ____cond100 or ____switch100 == SerializationType.DESERIALIZE
587
587
  if ____cond100 then
588
588
  do
589
- error(("The deep copy function can not deserialize \"" .. traversalDescription) .. "\", since it is userdata.")
589
+ return error(("The deep copy function can not deserialize \"" .. traversalDescription) .. "\", since it is userdata.")
590
590
  end
591
- break
592
591
  end
593
592
  until true
594
593
  end
@@ -37,6 +37,7 @@ export declare function lerp(a: number, b: number, pos: float): number;
37
37
  export declare function lerpAngleDegrees(aStart: number, aEnd: number, percent: float): number;
38
38
  /**
39
39
  * If rounding fails, this function returns 0.
40
+ *
40
41
  * From: http://lua-users.org/wiki/SimpleRound
41
42
  *
42
43
  * @param num The number to round.
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/functions/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,GAAG,EACd,WAAW,SAAI,EACf,WAAW,SAAI,EACf,gBAAgB,YAAe,GAC9B,MAAM,EAAE,CAaV;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAOT;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,KAAK,EACnB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAgBT;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGxC;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGvC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,GACb,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,SAAI,GAAG,KAAK,CAG7D;AAED,wEAAwE;AACxE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAUnC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/functions/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,GAAG,EACd,WAAW,SAAI,EACf,WAAW,SAAI,EACf,gBAAgB,YAAe,GAC9B,MAAM,EAAE,CAaV;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAOT;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,KAAK,EACnB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAgBT;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGxC;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGvC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,GACb,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,SAAI,GAAG,KAAK,CAG7D;AAED,wEAAwE;AACxE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAUnC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC"}
@@ -87,6 +87,7 @@ function ____exports.lerpAngleDegrees(self, aStart, aEnd, percent)
87
87
  return aStart + ____exports.getAngleDifference(nil, aStart, aEnd) * percent
88
88
  end
89
89
  --- If rounding fails, this function returns 0.
90
+ --
90
91
  -- From: http://lua-users.org/wiki/SimpleRound
91
92
  --
92
93
  -- @param num The number to round.
@@ -59,7 +59,7 @@ export declare function getPlayerBlackHearts(player: EntityPlayer): int;
59
59
  *
60
60
  * This is based on the `REVEL.StoreHealth` function in the Revelations mod.
61
61
  */
62
- export declare function getPlayerHealth(player: EntityPlayer): PlayerHealth;
62
+ export declare function getPlayerHealth(player: EntityPlayer): Readonly<PlayerHealth>;
63
63
  export declare function getPlayerHealthType(player: EntityPlayer, healthType: HealthType): int;
64
64
  /**
65
65
  * Returns the number of red hearts that the player has, excluding any rotten hearts. For example,
@@ -1 +1 @@
1
- {"version":3,"file":"playerHealth.d.ts","sourceRoot":"","sources":["../../../src/functions/playerHealth.ts"],"names":[],"mappings":";;AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,4BAA4B,CAAC;AAQ9E,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,GAAG,GACb,IAAI,CA+CN;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMlE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAK1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAYtE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAK9D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CA2ElE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACrB,GAAG,CAmDL;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAKzD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAoDnE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAqCrE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAK7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,GACnB,GAAG,CAML;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,YAAY,CAc9C;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,YAAY,GACnB,IAAI,CAQN;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,YAAY,GACnB,IAAI,CAQN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBhE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GACzB,IAAI,CAyHN;AAED;;;;;;;;;GASG;AACH,wBAAgB,sDAAsD,CACpE,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,KAAK,GAClB,OAAO,CAyBT"}
1
+ {"version":3,"file":"playerHealth.d.ts","sourceRoot":"","sources":["../../../src/functions/playerHealth.ts"],"names":[],"mappings":";;AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,4BAA4B,CAAC;AAQ9E,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,GAAG,GACb,IAAI,CA+CN;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMlE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAK1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAYtE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAK9D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CA2E5E;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACrB,GAAG,CAmDL;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAKzD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAoDnE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAqCrE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAK7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,GACnB,GAAG,CAML;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,YAAY,CAc9C;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,YAAY,GACnB,IAAI,CAcN;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,YAAY,GACnB,IAAI,CAcN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBhE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GACzB,IAAI,CAyHN;AAED;;;;;;;;;GASG;AACH,wBAAgB,sDAAsD,CACpE,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,KAAK,GAClB,OAAO,CAyBT"}
@@ -1,5 +1,6 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__ArrayMap = ____lualib.__TS__ArrayMap
3
+ local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
3
4
  local __TS__ArrayEntries = ____lualib.__TS__ArrayEntries
4
5
  local __TS__Iterator = ____lualib.__TS__Iterator
5
6
  local ____exports = {}
@@ -526,22 +527,24 @@ end
526
527
  function ____exports.playerConvertBlackHeartsToSoulHearts(self, player)
527
528
  local playerHealth = ____exports.getPlayerHealth(nil, player)
528
529
  ____exports.removeAllPlayerHealth(nil, player)
529
- playerHealth.soulHeartTypes = __TS__ArrayMap(
530
+ local newSoulHeartTypes = __TS__ArrayMap(
530
531
  playerHealth.soulHeartTypes,
531
532
  function(____, soulHeartType) return soulHeartType == HeartSubType.BLACK and HeartSubType.SOUL or soulHeartType end
532
533
  )
533
- ____exports.setPlayerHealth(nil, player, playerHealth)
534
+ local playerHealthWithSoulHearts = __TS__ObjectAssign({}, playerHealth, {soulHeartTypes = newSoulHeartTypes})
535
+ ____exports.setPlayerHealth(nil, player, playerHealthWithSoulHearts)
534
536
  end
535
537
  --- Helper function to remove all of a player's soul hearts and add the corresponding amount of black
536
538
  -- hearts.
537
539
  function ____exports.playerConvertSoulHeartsToBlackHearts(self, player)
538
540
  local playerHealth = ____exports.getPlayerHealth(nil, player)
539
541
  ____exports.removeAllPlayerHealth(nil, player)
540
- playerHealth.soulHeartTypes = __TS__ArrayMap(
542
+ local newSoulHeartTypes = __TS__ArrayMap(
541
543
  playerHealth.soulHeartTypes,
542
544
  function(____, soulHeartType) return soulHeartType == HeartSubType.SOUL and HeartSubType.BLACK or soulHeartType end
543
545
  )
544
- ____exports.setPlayerHealth(nil, player, playerHealth)
546
+ local playerHealthWithBlackHearts = __TS__ObjectAssign({}, playerHealth, {soulHeartTypes = newSoulHeartTypes})
547
+ ____exports.setPlayerHealth(nil, player, playerHealthWithBlackHearts)
545
548
  end
546
549
  --- Helper function to see if the player is out of health.
547
550
  --
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "44.1.0",
3
+ "version": "46.0.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -5,8 +5,10 @@ import {
5
5
  mapGetPlayer,
6
6
  mapSetPlayer,
7
7
  } from "../../../functions/playerDataStructures";
8
+ import { getPlayerHealth } from "../../../functions/playerHealth";
8
9
  import { isEden } from "../../../functions/players";
9
10
  import { getPlayerStats } from "../../../functions/stats";
11
+ import type { PlayerHealth } from "../../../interfaces/PlayerHealth";
10
12
  import type { PlayerStats } from "../../../interfaces/PlayerStats";
11
13
  import type { PlayerIndex } from "../../../types/PlayerIndex";
12
14
  import { Feature } from "../../private/Feature";
@@ -14,10 +16,11 @@ import { Feature } from "../../private/Feature";
14
16
  const v = {
15
17
  run: {
16
18
  edenPlayerStats: new Map<PlayerIndex, PlayerStats>(),
19
+ edenPlayerHealth: new Map<PlayerIndex, PlayerHealth>(),
17
20
  },
18
21
  };
19
22
 
20
- export class EdenStartingStats extends Feature {
23
+ export class EdenStartingStatsHealth extends Feature {
21
24
  /** @internal */
22
25
  public override v = v;
23
26
 
@@ -40,6 +43,11 @@ export class EdenStartingStats extends Feature {
40
43
  return;
41
44
  }
42
45
 
46
+ this.getEdenStats(player);
47
+ this.getEdenHealth(player);
48
+ };
49
+
50
+ private getEdenStats(player: EntityPlayer): void {
43
51
  const existingStatMap = mapGetPlayer(v.run.edenPlayerStats, player);
44
52
  if (existingStatMap !== undefined) {
45
53
  return;
@@ -47,11 +55,36 @@ export class EdenStartingStats extends Feature {
47
55
 
48
56
  const playerStats = getPlayerStats(player);
49
57
  mapSetPlayer(v.run.edenPlayerStats, player, playerStats);
50
- };
58
+ }
59
+
60
+ private getEdenHealth(player: EntityPlayer): void {
61
+ const existingHealthMap = mapGetPlayer(v.run.edenPlayerHealth, player);
62
+ if (existingHealthMap !== undefined) {
63
+ return;
64
+ }
65
+
66
+ const playerHealth = getPlayerHealth(player);
67
+ mapSetPlayer(v.run.edenPlayerHealth, player, playerHealth);
68
+ }
69
+
70
+ /**
71
+ * Helper function to get the health that Eden started with at the beginning of the run before any
72
+ * of the random collectibles were added.
73
+ *
74
+ * Returns undefined if passed a player that is not Eden.
75
+ *
76
+ * In order to use this function, you must upgrade your mod with `ISCFeature.EDEN_STARTING_STATS`.
77
+ */
78
+ @Exported
79
+ public getEdenStartingHealth(
80
+ player: EntityPlayer,
81
+ ): Readonly<PlayerHealth> | undefined {
82
+ return mapGetPlayer(v.run.edenPlayerHealth, player);
83
+ }
51
84
 
52
85
  /**
53
- * Helper function to get the value of the randomized starting stat for Eden. (At the beginning of
54
- * a run, Eden starts with randomized stats.)
86
+ * Helper function to get the value of the randomized starting stat for Eden that was assigned at
87
+ * the beginning of the run before any of the random collectibles were added.
55
88
  *
56
89
  * Returns undefined if passed a player that is not Eden.
57
90
  *
@@ -72,7 +105,7 @@ export class EdenStartingStats extends Feature {
72
105
 
73
106
  /**
74
107
  * Helper function to get all of the stat values that Eden started with at the beginning of the
75
- * run.
108
+ * run before any of the random collectibles were added.
76
109
  *
77
110
  * Returns undefined if passed a player that is not Eden.
78
111
  *
@@ -29,7 +29,7 @@ import {
29
29
  collectibleHasCacheFlag,
30
30
  isActiveCollectible,
31
31
  isHiddenCollectible,
32
- isPassiveCollectible,
32
+ isPassiveOrFamiliarCollectible,
33
33
  } from "../../../functions/collectibles";
34
34
  import { getFlagName } from "../../../functions/flag";
35
35
  import { getRandomSeed } from "../../../functions/rng";
@@ -413,7 +413,7 @@ export class ModdedElementSets extends Feature {
413
413
  this.edenActiveCollectibleTypesSet.add(collectibleType);
414
414
  }
415
415
 
416
- if (isPassiveCollectible(collectibleType)) {
416
+ if (isPassiveOrFamiliarCollectible(collectibleType)) {
417
417
  this.edenPassiveCollectibleTypesSet.add(collectibleType);
418
418
  }
419
419
  }
@@ -1167,7 +1167,8 @@ export class ModdedElementSets extends Feature {
1167
1167
  }
1168
1168
 
1169
1169
  /**
1170
- * Returns a random passive collectible type that that is a valid starting item for Eden.
1170
+ * Returns a random passive collectible type that that is a valid starting item for Eden
1171
+ * (including familiars).
1171
1172
  *
1172
1173
  * This function can only be called if at least one callback has been executed. This is because
1173
1174
  * not all collectible types will necessarily be present when a mod first loads (due to mod load
@@ -29,7 +29,7 @@ export enum ISCFeature {
29
29
  DEPLOY_JSON_ROOM,
30
30
  DISABLE_ALL_SOUND,
31
31
  DISABLE_INPUTS,
32
- EDEN_STARTING_STATS,
32
+ EDEN_STARTING_STATS_HEALTH,
33
33
  FADE_IN_REMOVER,
34
34
  FAST_RESET,
35
35
  FLYING_DETECTION,
package/src/features.ts CHANGED
@@ -26,7 +26,7 @@ import { DebugDisplay } from "./classes/features/other/DebugDisplay";
26
26
  import { DeployJSONRoom } from "./classes/features/other/DeployJSONRoom";
27
27
  import { DisableAllSound } from "./classes/features/other/DisableAllSound";
28
28
  import { DisableInputs } from "./classes/features/other/DisableInputs";
29
- import { EdenStartingStats } from "./classes/features/other/EdenStartingStats";
29
+ import { EdenStartingStatsHealth } from "./classes/features/other/EdenStartingStatsHealth";
30
30
  import { ExtraConsoleCommands } from "./classes/features/other/ExtraConsoleCommands";
31
31
  import { FadeInRemover } from "./classes/features/other/FadeInRemover";
32
32
  import { FastReset } from "./classes/features/other/FastReset";
@@ -92,7 +92,7 @@ export interface ISCFeatureToClass {
92
92
  [ISCFeature.DEPLOY_JSON_ROOM]: DeployJSONRoom;
93
93
  [ISCFeature.DISABLE_ALL_SOUND]: DisableAllSound;
94
94
  [ISCFeature.DISABLE_INPUTS]: DisableInputs;
95
- [ISCFeature.EDEN_STARTING_STATS]: EdenStartingStats;
95
+ [ISCFeature.EDEN_STARTING_STATS_HEALTH]: EdenStartingStatsHealth;
96
96
  [ISCFeature.FADE_IN_REMOVER]: FadeInRemover;
97
97
  [ISCFeature.FAST_RESET]: FastReset;
98
98
  [ISCFeature.FLYING_DETECTION]: FlyingDetection;
@@ -274,7 +274,7 @@ export function getFeatures(
274
274
  ),
275
275
  [ISCFeature.DISABLE_ALL_SOUND]: disableAllSound,
276
276
  [ISCFeature.DISABLE_INPUTS]: disableInputs,
277
- [ISCFeature.EDEN_STARTING_STATS]: new EdenStartingStats(),
277
+ [ISCFeature.EDEN_STARTING_STATS_HEALTH]: new EdenStartingStatsHealth(),
278
278
  [ISCFeature.FADE_IN_REMOVER]: new FadeInRemover(),
279
279
  [ISCFeature.FAST_RESET]: new FastReset(),
280
280
  [ISCFeature.FLYING_DETECTION]: new FlyingDetection(moddedElementSets),
@@ -477,7 +477,7 @@ export function isModdedCollectibleType(
477
477
  * Returns true if the item type in the item config is equal to `ItemType.ITEM_PASSIVE` or
478
478
  * `ItemType.ITEM_FAMILIAR`.
479
479
  */
480
- export function isPassiveCollectible(
480
+ export function isPassiveOrFamiliarCollectible(
481
481
  collectibleOrCollectibleType: EntityPickup | CollectibleType,
482
482
  ): boolean {
483
483
  const collectibleType = getCollectibleTypeFromArg(
@@ -740,9 +740,8 @@ function deepCopyUserdata(
740
740
  return serializeIsaacAPIClass(value);
741
741
  }
742
742
 
743
- // eslint-disable-next-line isaacscript/require-break
744
743
  case SerializationType.DESERIALIZE: {
745
- error(
744
+ return error(
746
745
  `The deep copy function can not deserialize "${traversalDescription}", since it is userdata.`,
747
746
  );
748
747
  }
@@ -119,6 +119,7 @@ export function lerpAngleDegrees(
119
119
 
120
120
  /**
121
121
  * If rounding fails, this function returns 0.
122
+ *
122
123
  * From: http://lua-users.org/wiki/SimpleRound
123
124
  *
124
125
  * @param num The number to round.
@@ -162,7 +162,7 @@ export function getPlayerBlackHearts(player: EntityPlayer): int {
162
162
  *
163
163
  * This is based on the `REVEL.StoreHealth` function in the Revelations mod.
164
164
  */
165
- export function getPlayerHealth(player: EntityPlayer): PlayerHealth {
165
+ export function getPlayerHealth(player: EntityPlayer): Readonly<PlayerHealth> {
166
166
  const character = player.GetPlayerType();
167
167
  let maxHearts = player.GetMaxHearts();
168
168
  let hearts = getPlayerHearts(player); // We use the helper function to remove rotten hearts
@@ -474,11 +474,17 @@ export function playerConvertBlackHeartsToSoulHearts(
474
474
  ): void {
475
475
  const playerHealth = getPlayerHealth(player);
476
476
  removeAllPlayerHealth(player);
477
- playerHealth.soulHeartTypes = playerHealth.soulHeartTypes.map(
478
- (soulHeartType) =>
479
- soulHeartType === HeartSubType.BLACK ? HeartSubType.SOUL : soulHeartType,
477
+
478
+ const newSoulHeartTypes = playerHealth.soulHeartTypes.map((soulHeartType) =>
479
+ soulHeartType === HeartSubType.BLACK ? HeartSubType.SOUL : soulHeartType,
480
480
  );
481
- setPlayerHealth(player, playerHealth);
481
+
482
+ const playerHealthWithSoulHearts = {
483
+ ...playerHealth,
484
+ soulHeartTypes: newSoulHeartTypes,
485
+ };
486
+
487
+ setPlayerHealth(player, playerHealthWithSoulHearts);
482
488
  }
483
489
 
484
490
  /**
@@ -490,11 +496,17 @@ export function playerConvertSoulHeartsToBlackHearts(
490
496
  ): void {
491
497
  const playerHealth = getPlayerHealth(player);
492
498
  removeAllPlayerHealth(player);
493
- playerHealth.soulHeartTypes = playerHealth.soulHeartTypes.map(
494
- (soulHeartType) =>
495
- soulHeartType === HeartSubType.SOUL ? HeartSubType.BLACK : soulHeartType,
499
+
500
+ const newSoulHeartTypes = playerHealth.soulHeartTypes.map((soulHeartType) =>
501
+ soulHeartType === HeartSubType.SOUL ? HeartSubType.BLACK : soulHeartType,
496
502
  );
497
- setPlayerHealth(player, playerHealth);
503
+
504
+ const playerHealthWithBlackHearts = {
505
+ ...playerHealth,
506
+ soulHeartTypes: newSoulHeartTypes,
507
+ };
508
+
509
+ setPlayerHealth(player, playerHealthWithBlackHearts);
498
510
  }
499
511
 
500
512
  /**
@@ -1 +0,0 @@
1
- {"version":3,"file":"EdenStartingStats.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/other/EdenStartingStats.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAO5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQhD,qBAAa,iBAAkB,SAAQ,OAAO;IAc5C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAY7B;IAEF;;;;;;;OAOG;IAEI,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC7C,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,CAAC,GACZ,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;IAS7B;;;;;;;OAOG;IAEI,oBAAoB,CACzB,MAAM,EAAE,YAAY,GACnB,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS;CAGrC"}
@@ -1,54 +0,0 @@
1
- local ____lualib = require("lualib_bundle")
2
- local Map = ____lualib.Map
3
- local __TS__New = ____lualib.__TS__New
4
- local __TS__Class = ____lualib.__TS__Class
5
- local __TS__ClassExtends = ____lualib.__TS__ClassExtends
6
- local __TS__DecorateLegacy = ____lualib.__TS__DecorateLegacy
7
- local ____exports = {}
8
- local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
9
- local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
10
- local ____decorators = require("src.decorators")
11
- local Exported = ____decorators.Exported
12
- local ____playerDataStructures = require("src.functions.playerDataStructures")
13
- local mapGetPlayer = ____playerDataStructures.mapGetPlayer
14
- local mapSetPlayer = ____playerDataStructures.mapSetPlayer
15
- local ____players = require("src.functions.players")
16
- local isEden = ____players.isEden
17
- local ____stats = require("src.functions.stats")
18
- local getPlayerStats = ____stats.getPlayerStats
19
- local ____Feature = require("src.classes.private.Feature")
20
- local Feature = ____Feature.Feature
21
- local v = {run = {edenPlayerStats = __TS__New(Map)}}
22
- ____exports.EdenStartingStats = __TS__Class()
23
- local EdenStartingStats = ____exports.EdenStartingStats
24
- EdenStartingStats.name = "EdenStartingStats"
25
- __TS__ClassExtends(EdenStartingStats, Feature)
26
- function EdenStartingStats.prototype.____constructor(self)
27
- Feature.prototype.____constructor(self)
28
- self.v = v
29
- self.postPlayerInit = function(____, player)
30
- if not isEden(nil, player) then
31
- return
32
- end
33
- local existingStatMap = mapGetPlayer(nil, v.run.edenPlayerStats, player)
34
- if existingStatMap ~= nil then
35
- return
36
- end
37
- local playerStats = getPlayerStats(nil, player)
38
- mapSetPlayer(nil, v.run.edenPlayerStats, player, playerStats)
39
- end
40
- self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, self.postPlayerInit}}
41
- end
42
- function EdenStartingStats.prototype.getEdenStartingStat(self, player, playerStat)
43
- local playerStats = mapGetPlayer(nil, v.run.edenPlayerStats, player)
44
- if playerStats == nil then
45
- return nil
46
- end
47
- return playerStats[playerStat]
48
- end
49
- __TS__DecorateLegacy({Exported}, EdenStartingStats.prototype, "getEdenStartingStat", true)
50
- function EdenStartingStats.prototype.getEdenStartingStats(self, player)
51
- return mapGetPlayer(nil, v.run.edenPlayerStats, player)
52
- end
53
- __TS__DecorateLegacy({Exported}, EdenStartingStats.prototype, "getEdenStartingStats", true)
54
- return ____exports