aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorRoman / Linnea Gräf <roman.graef@gmail.com>2023-01-13 13:29:39 +0100
committerGitHub <noreply@github.com>2023-01-13 13:29:39 +0100
commite603cf230af0cef44481633888ec13d2097b6310 (patch)
tree9e373e1140e4678fad1fc7624243dc455efe86dc /src/main
parent4b3aad7142c04071961e8b4a87cb1b4759da38b7 (diff)
downloadNotEnoughUpdates-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.kt5
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))
}