aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorHiZe <super@hize.be>2024-02-25 20:41:02 +0100
committerGitHub <noreply@github.com>2024-02-25 20:41:02 +0100
commitea2a886070f6105e4600f604ffd685e78f8ce101 (patch)
tree1c1e2b3bdb8cb6358d8f87e790a7498d73d5ea32 /src/main
parentce3ab82ad811dc76781d3113765325461045efbd (diff)
downloadskyhanni-ea2a886070f6105e4600f604ffd685e78f8ce101.tar.gz
skyhanni-ea2a886070f6105e4600f604ffd685e78f8ce101.tar.bz2
skyhanni-ea2a886070f6105e4600f604ffd685e78f8ce101.zip
Fixed skill display stuff #1058
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/skillprogress/SkillProgress.kt31
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt2
3 files changed, 28 insertions, 9 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt b/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt
index 45480aa4e..b21c10d41 100644
--- a/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt
@@ -403,7 +403,7 @@ object SkillAPI {
val level = getLevel(xp)
ChatUtils.chat("With §b${xp.addSeparators()} §eXP you would be level §b$level")
} else {
- val (overflowLevel, current, needed, _) = calculateOverFlow(xp)
+ val (overflowLevel, current, needed, _) = calculateOverFlow((xp) - XP_NEEDED_FOR_60)
ChatUtils.chat(
"With §b${xp.addSeparators()} §eXP you would be level §b$overflowLevel " +
"§ewith progress (§b${current.addSeparators()}§e/§b${needed.addSeparators()}§e) XP"
@@ -423,7 +423,7 @@ object SkillAPI {
ChatUtils.chat("You need §b${neededXp.addSeparators()} §eXP to be level §b${level.toDouble()}")
} else {
val base = levelingMap.values.sum().toLong()
- val neededXP = xpRequiredForLevel(level.toDouble()) + base
+ val neededXP = xpRequiredForLevel(level.toDouble())
ChatUtils.chat("You need §b${neededXP.addSeparators()} §eXP to be level §b${level.toDouble()}")
}
return
diff --git a/src/main/java/at/hannibal2/skyhanni/features/skillprogress/SkillProgress.kt b/src/main/java/at/hannibal2/skyhanni/features/skillprogress/SkillProgress.kt
index 0c88e7633..684d65c82 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/skillprogress/SkillProgress.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/skillprogress/SkillProgress.kt
@@ -115,8 +115,9 @@ object SkillProgress {
} else {
maxWidth = barConfig.regularBar.width
+ val factor = skillExpPercentage.coerceAtMost(1.0)
Renderable.progressBar(
- percent = skillExpPercentage,
+ percent = factor,
startColor = Color(SpecialColour.specialToChromaRGB(barConfig.barStartColor)),
endColor = Color(SpecialColour.specialToChromaRGB(barConfig.barStartColor)),
width = maxWidth,
@@ -312,13 +313,18 @@ object SkillProgress {
val useCustomGoalLevel = skillInfo.customGoalLevel != 0 && skillInfo.customGoalLevel > skillInfo.overflowLevel && customGoalConfig.enableInETADisplay
var targetLevel = if (useCustomGoalLevel) skillInfo.customGoalLevel else level + 1
if (targetLevel <= level || targetLevel > 400) targetLevel = (level + 1)
- val currentLevelNeededXp = SkillUtil.xpRequiredForLevel(level.toDouble()) + skillInfo.overflowCurrentXp
+
+ val need = skillInfo.overflowCurrentXpMax
+ val have = skillInfo.overflowCurrentXp
+
+ val currentLevelNeededXp = SkillUtil.xpRequiredForLevel(level.toDouble()) + have
val targetNeededXp = SkillUtil.xpRequiredForLevel(targetLevel.toDouble())
- var remaining = if (useCustomGoalLevel) targetNeededXp - currentLevelNeededXp else skillInfo.overflowCurrentXpMax - skillInfo.overflowCurrentXp
- if (!useCustomGoalLevel) {
+ var remaining = if (useCustomGoalLevel) targetNeededXp - currentLevelNeededXp else need - have
+
+ if (!useCustomGoalLevel && have < need) {
if (skillInfo.overflowCurrentXpMax == skillInfoLast.overflowCurrentXpMax) {
- remaining = interpolate(remaining.toFloat(), (skillInfoLast.overflowCurrentXpMax - skillInfoLast.overflowCurrentXp).toFloat(), lastGainUpdate.toMillis()).toLong()
+ remaining = interpolate(remaining.toFloat(), (need - have).toFloat(), lastGainUpdate.toMillis()).toLong()
}
}
@@ -328,7 +334,10 @@ object SkillProgress {
add(Renderable.string("§7Needed XP: §e${remaining.addSeparators()}"))
var xpInterp = xpInfo.xpGainHour
- if (xpInfo.xpGainHour < 1000) {
+
+ if (have > need){
+ add(Renderable.string("§7In §cIncrease level cap!"))
+ } else if (xpInfo.xpGainHour < 1000) {
add(Renderable.string("§7In §cN/A"))
} else {
val duration = ((remaining) * 1000 * 60 * 60 / xpInterp.toLong()).milliseconds
@@ -441,6 +450,16 @@ object SkillProgress {
if (xpInfo.lastTotalXp > 0) {
val delta = totalXp - xpInfo.lastTotalXp
if (delta > 0 && delta < 1000) {
+
+ xpInfo.timer = when (SkillAPI.activeSkill) {
+ SkillType.FARMING -> etaConfig.farmingPauseTime
+ SkillType.MINING -> etaConfig.miningPauseTime
+ SkillType.COMBAT -> etaConfig.combatPauseTime
+ SkillType.FORAGING -> etaConfig.foragingPauseTime
+ SkillType.FISHING -> etaConfig.fishingPauseTime
+ else -> 3
+ }
+
xpInfo.xpGainQueue.add(0, delta)
calculateXPHour(xpInfo)
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
index c1b382ba8..106743a2c 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
@@ -407,4 +407,4 @@ interface Renderable {
}
}
}
-} \ No newline at end of file
+}