Skip to content

Commit

Permalink
fix fakeinternalname
Browse files Browse the repository at this point in the history
  • Loading branch information
martimavocado committed Oct 16, 2024
1 parent d31fae6 commit d951402
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
21 changes: 14 additions & 7 deletions src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ object PetAPI {
private set

private var xpLeveling: List<Int> = listOf()
private var xpLevelingCustom: JsonObject? = null
private var customXpLeveling: JsonObject? = null
private var petRarityOffset = mapOf<LorenzRarity, Int>()
private var displayToInternalNameCustom = mapOf<String, NEUInternalName>()
private var customDisplayToInternalName = mapOf<NEUInternalName, String>()

/**
* REGEX-TEST: §e⭐ §7[Lvl 200] §6Golden Dragon§d ✦
Expand Down Expand Up @@ -501,7 +501,7 @@ object PetAPI {
private fun levelToXP(level: Int, rarity: LorenzRarity, petName: String = ""): Double? {
val newPetName = petNameToFakeInternalName(petName)
val petObject = xpLevelingCustom?.getAsJsonObject(newPetName)
val petObject = customXpLeveling?.getAsJsonObject(newPetName)
val rarityOffset = getRarityOffset(rarity, petObject?.getAsJsonObject("rarity_offset")) ?: return null
if (!isValidLevel(level, petObject)) return null
Expand Down Expand Up @@ -576,17 +576,24 @@ object PetAPI {
xpLeveling = data.petLevels
val xpLevelingCustomJson = data.customPetLeveling.getAsJsonObject()
xpLevelingCustom = xpLevelingCustomJson
customXpLeveling = xpLevelingCustomJson
petRarityOffset = data.petRarityOffset.getAsJsonObject().entrySet().associate { (rarity, offset) ->
(LorenzRarity.getByName(rarity) ?: LorenzRarity.ULTIMATE) to offset.asInt
}
displayToInternalNameCustom = data.displayToInternalName
customDisplayToInternalName = data.displayToInternalName
}
private fun petNameToFakeInternalName(petName: String): String {
return if (petName in displayToInternalNameCustom) displayToInternalNameCustom[petName].toString()
else petName.uppercase().replace(" ", "_")
var fakeInternalName: String? = null
for ((internalName, name) in customDisplayToInternalName) {
if (petName == name) {
fakeInternalName = internalName.asString()
break
}
}
if (fakeInternalName == null) fakeInternalName = petName.uppercase().replace(" ", "_")
return fakeInternalName
}
private fun petNameToInternalName(petName: String, rarity: LorenzRarity): NEUInternalName {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ data class NEUPetsJson(
@Expose @SerializedName("pet_levels") val petLevels: List<Int>,
@Expose @SerializedName("custom_pet_leveling") val customPetLeveling: JsonObject,
@Expose @SerializedName("pet_rarity_offset") val petRarityOffset: JsonObject,
@Expose @SerializedName("id_to_display_name") val displayToInternalName: Map<String, NEUInternalName>
@Expose @SerializedName("id_to_display_name") val displayToInternalName: Map<NEUInternalName, String>
)

0 comments on commit d951402

Please sign in to comment.