aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authornea <romangraef@gmail.com>2022-12-22 21:40:18 +0100
committernea <romangraef@gmail.com>2022-12-22 21:40:18 +0100
commit98135db0e3950c06c91df952ad53da660ec951b1 (patch)
treece2222600fbf04941a923e50cce97afedadb664d /src/main
parenta9c58929460830662f28a2ebb5b3d09c687bd21d (diff)
downloadNotEnoughUpdates-fix/stubexpladders.tar.gz
NotEnoughUpdates-fix/stubexpladders.tar.bz2
NotEnoughUpdates-fix/stubexpladders.zip
PetLeveling: return stub exp ladder on misformed repo datafix/stubexpladders
Diffstat (limited to 'src/main')
-rw-r--r--src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt19
1 files changed, 12 insertions, 7 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 0a9e37b9..56f84d54 100644
--- a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt
+++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt
@@ -91,17 +91,22 @@ object PetLeveling {
}
}
+ val stubExpLadder by lazy {
+ Utils.showOutdatedRepoNotification()
+ ExpLadder(listOf(1, 1))
+ }
+
internal fun getPetLevelingForPet0(petIdWithoutRarity: String, rarity: Rarity): ExpLadder {
- val petConstants = this.petConstants ?: Constants.PETS
- var levels = petConstants["pet_levels"].asJsonArray.map { it.asLong }.toMutableList()
- val customLeveling = petConstants["custom_pet_leveling"].asJsonObject[petIdWithoutRarity]
- val offset = petConstants["pet_rarity_offset"].asJsonObject[rarity.name].asInt
+ 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 maxLevel = 100
if (customLeveling is JsonObject) {
- val customLevels by lazy { customLeveling["pet_levels"].asJsonArray.map { it.asLong } }
+ val customLevels by lazy { customLeveling["pet_levels"]?.asJsonArray?.map { it.asLong } }
when (customLeveling["type"]?.asInt ?: 0) {
- 1 -> levels.addAll(customLevels)
- 2 -> levels = customLevels.toMutableList()
+ 1 -> levels.addAll(customLevels ?: return stubExpLadder)
+ 2 -> levels = customLevels?.toMutableList() ?: return stubExpLadder
}
maxLevel = customLeveling["max_level"]?.asInt ?: maxLevel
}