diff options
author | Roman / Linnea Gräf <roman.graef@gmail.com> | 2023-01-13 13:29:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-13 13:29:39 +0100 |
commit | e603cf230af0cef44481633888ec13d2097b6310 (patch) | |
tree | 9e373e1140e4678fad1fc7624243dc455efe86dc /src/main | |
parent | 4b3aad7142c04071961e8b4a87cb1b4759da38b7 (diff) | |
download | NotEnoughUpdates-e603cf230af0cef44481633888ec13d2097b6310.tar.gz NotEnoughUpdates-e603cf230af0cef44481633888ec13d2097b6310.tar.bz2 NotEnoughUpdates-e603cf230af0cef44481633888ec13d2097b6310.zip |
PetLeveling: Allow for defining custom level offsets for pets (#534)
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt index 56f84d54..200aa3fa 100644 --- a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt +++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt @@ -100,7 +100,7 @@ object PetLeveling { val petConstants = this.petConstants ?: Constants.PETS ?: return stubExpLadder var levels = petConstants["pet_levels"]?.asJsonArray?.map { it.asLong }?.toMutableList() ?: return stubExpLadder val customLeveling = petConstants["custom_pet_leveling"]?.asJsonObject?.get(petIdWithoutRarity) - val offset = petConstants["pet_rarity_offset"]?.asJsonObject?.get(rarity.name)?.asInt ?: return stubExpLadder + var rarityOffsets = petConstants["pet_rarity_offset"]?.asJsonObject var maxLevel = 100 if (customLeveling is JsonObject) { val customLevels by lazy { customLeveling["pet_levels"]?.asJsonArray?.map { it.asLong } } @@ -109,7 +109,10 @@ object PetLeveling { 2 -> levels = customLevels?.toMutableList() ?: return stubExpLadder } maxLevel = customLeveling["max_level"]?.asInt ?: maxLevel + rarityOffsets = customLeveling["rarity_offset"]?.asJsonObject ?: rarityOffsets } + val offset = rarityOffsets?.get(rarity.name)?.asInt ?: return stubExpLadder + return ExpLadder(levels.drop(offset).take(maxLevel - 1)) } |