Skip to content

Commit 3710d61

Browse files
committed
random nonsense
1 parent a88eea7 commit 3710d61

File tree

6 files changed

+53
-13
lines changed

6 files changed

+53
-13
lines changed

src/main/kotlin/com/github/subat0m1c/hatecheaters/commands/impl/pvcommands.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ val PVCommand = Commodore("pv") {
2424
}
2525
}
2626

27+
// this cant just be an alias because we disable the normal pv command.
2728
val HCPVCommand = Commodore("hcpv") {
2829
executable {
2930
param("name").suggests {
@@ -38,6 +39,7 @@ val HCPVCommand = Commodore("hcpv") {
3839
}
3940
}
4041

42+
4143
val profileNames = setOf(
4244
"apple", "banana", "blueberry", "cucumber", "coconut",
4345
"grapes", "kiwi", "lemon", "lime", "mango", "orange",

src/main/kotlin/com/github/subat0m1c/hatecheaters/modules/dungeons/BetterPartyFinder.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.github.subat0m1c.hatecheaters.utils.DungeonStats.displayDungeonData
1111
import com.github.subat0m1c.hatecheaters.utils.ItemUtils.witherImpactRegex
1212
import com.github.subat0m1c.hatecheaters.utils.LogHandler.Logger
1313
import com.github.subat0m1c.hatecheaters.utils.apiutils.HypixelApi.getProfile
14+
import com.github.subat0m1c.hatecheaters.utils.odinwrappers.Party
1415
import me.odinmain.clickgui.settings.Setting.Companion.withDependency
1516
import me.odinmain.clickgui.settings.impl.*
1617
import me.odinmain.features.Module
@@ -230,7 +231,7 @@ object BetterPartyFinder : Module(
230231
alert("§eYour party is full!")
231232
}
232233

233-
onMessage(pfRegex, { enabled && statsDisplay && !autokicktoggle }) { matchResult ->
234+
onMessage(pfRegex, { enabled && statsDisplay && (!autokicktoggle || !Party.isLeader) }) { matchResult ->
234235
val name = matchResult.groupValues[1].takeUnless { it == mc.session.username } ?: return@onMessage
235236
if (joinSound) playCustomSound()
236237

@@ -245,7 +246,7 @@ object BetterPartyFinder : Module(
245246
}
246247

247248

248-
onMessage(pfRegex, { enabled && autokicktoggle }) { matchResult ->
249+
onMessage(pfRegex, { enabled && autokicktoggle && Party.isLeader }) { matchResult ->
249250
val name = matchResult.groupValues[1].takeUnless { it == mc.session.username } ?: return@onMessage
250251
Logger.info("$name is being searched")
251252

@@ -324,7 +325,7 @@ object BetterPartyFinder : Module(
324325
}
325326
}
326327

327-
onMessage(kickRegex, { kickCache && enabled }) { message ->
328+
onMessage(kickRegex, { kickCache && enabled && autokicktoggle && Party.isLeader }) { message ->
328329
message.groupValues[1].takeUnless { name -> kickedList.contains(name) }?.let { name -> kickedList.add(name) }
329330
}
330331
}

src/main/kotlin/com/github/subat0m1c/hatecheaters/modules/render/ProfileViewer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,13 +225,13 @@ object ProfileViewer : Module(
225225
override fun onKeybind() {
226226
val entity = mc.objectMouseOver.entityHit
227227
val player: PvPlayer = when {
228-
System.currentTimeMillis() - toPv.added <= 5000 -> toPv.player
228+
System.currentTimeMillis() - toPv.added <= 10000 -> toPv.player
229229
entity != null && entity is EntityPlayer && entity.uniqueID.version() != 2 -> PvPlayer(
230230
entity.name,
231231
entity.uniqueID
232232
)
233233

234-
System.currentTimeMillis() - lastLoaded.added <= 5000 -> lastLoaded.player
234+
System.currentTimeMillis() - lastLoaded.added <= 10000 -> lastLoaded.player
235235
else -> PvPlayer(mc.thePlayer.name, mc.thePlayer.uniqueID)
236236
}
237237

src/main/kotlin/com/github/subat0m1c/hatecheaters/pvgui/v2/pages/Profile.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ object Profile : PVPage("Profile") {
3232

3333
private val skillText: List<String> by resettableLazy {
3434
profile.playerData.experience.without("SKILL_DUNGEONEERING").entries.sortedByDescending { it.value }.map {
35-
val level = getSkillLevel(it.value).round(2).toDouble()
3635
val skill = it.key.lowercase().substringAfter("skill_")
36+
val level = getSkillLevel(skill, it.value).round(2).toDouble()
3737
val cap = getSkillCap(skill).toDouble()
3838
"§${getSkillColorCode(skill)}${skill.capitalizeWords()}§7: ${
3939
level.coerceAtMost(cap).colorize(cap)

src/main/kotlin/com/github/subat0m1c/hatecheaters/utils/apiutils/LevelUtils.kt

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,31 +74,47 @@ object LevelUtils {
7474
)
7575

7676
inline val PlayerData.skillAverage: Double get() =
77-
experience.without("SKILL_SOCIAL", "SKILL_SOCIAL", "SKILL_DUNGEONEERING").let { skills -> skills.values.sumOf { getSkillLevel(it) }/skills.size }
77+
experience.without("SKILL_SOCIAL", "SKILL_SOCIAL", "SKILL_DUNGEONEERING").let { skills ->
78+
skills.entries.sumOf { skill ->
79+
val name = skill.key.lowercase().substringAfter("skill_")
80+
getSkillLevel(name, skill.value)
81+
} / skills.size
82+
}
7883

7984
inline val PlayerData.cappedSkillAverage: Double get() =
80-
experience.without("SKILL_SOCIAL", "SKILL_SOCIAL", "SKILL_DUNGEONEERING").let { skills -> skills.entries.sumOf { getSkillLevel(it.value).coerceAtMost(
81-
getSkillCap(it.key.lowercase().substringAfter("skill_")).toDouble()) }/skills.size }
85+
experience.without("SKILL_SOCIAL", "SKILL_SOCIAL", "SKILL_DUNGEONEERING").let { skills ->
86+
skills.entries.sumOf { skill ->
87+
val name = skill.key.lowercase().substringAfter("skill_")
88+
getSkillLevel(name, skill.value).coerceAtMost(getSkillCap(name).toDouble())
89+
} / skills.size
90+
}
8291

83-
fun getSkillLevel(exp: Double): Double =
84-
getLevelWithProgress(exp, skillLevels, 600000)
92+
fun getSkillLevel(skill: String, exp: Double): Double =
93+
getLevelWithProgress(exp, getSkillLevels(skill), 600000)
8594

8695
fun getSkillCap(skill: String): Int =
8796
when (skill) {
8897
"taming" -> 60
8998
"mining" -> 60
90-
"foraging" -> 50
99+
"foraging" -> 54 // whjat are we cooking admins
91100
"enchanting" -> 60
92101
"carpentry" -> 50
93102
"farming" -> 60
94103
"combat" -> 60
95104
"fishing" -> 50
96105
"alchemy" -> 50
97106
"runecrafting" -> 25
98-
"social" -> 20
107+
"social" -> 25
99108
else -> -1
100109
}
101110

111+
fun getSkillLevels(skill: String): Array<Long> =
112+
when (skill) {
113+
"runecrafting" -> runeCraftingLevels
114+
"social" -> socialLevels
115+
else -> skillLevels
116+
}
117+
102118
fun getSkillColorCode(skill: String): String = when (skill) {
103119
"taming" -> ProfileViewer.currentTheme.fontCode
104120
"mining" -> "7"
@@ -143,6 +159,20 @@ object LevelUtils {
143159
6400000, 6700000, 7000000
144160
)
145161

162+
// why are these so weird bro
163+
private val socialLevels: Array<Long> = arrayOf(
164+
50, 100, 150, 250, 500, 750, 1000, 1250, 1500,
165+
2000, 2500, 3000, 3750, 4500, 6000, 8000, 10000,
166+
12500, 15000, 20000, 25000, 30000, 35000, 40000,
167+
50000
168+
)
169+
170+
private val runeCraftingLevels: Array<Long> = arrayOf(
171+
50, 100, 125, 160, 200, 250, 315, 400, 500, 625,
172+
785, 1000, 1250, 1565, 2000, 2500, 3125, 4000,
173+
5000, 6250, 7850, 9800, 12250, 15300, 19100
174+
)
175+
146176
fun getSlayerSkillLevel(exp: Double, slayer: String): Double =
147177
(if (slayer != "vampire") getLevelWithProgress(exp, slayerLevels) else getLevelWithProgress(exp, vampireLevels)).coerceAtMost(
148178
getSlayerCap(slayer).toDouble())
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.subat0m1c.hatecheaters.utils.odinwrappers
2+
3+
import me.odinmain.utils.skyblock.PartyUtils
4+
5+
object Party {
6+
inline val isLeader get() = PartyUtils.isLeader()
7+
}

0 commit comments

Comments
 (0)