mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-21 09:02:07 -07:00
151 lines
No EOL
4.2 KiB
Kotlin
151 lines
No EOL
4.2 KiB
Kotlin
package org.rs09
|
|
|
|
import org.rs09.client.config.GameConfig
|
|
import org.rs09.client.rendering.RenderingUtils
|
|
import org.rs09.client.rendering.Toolkit
|
|
import org.runite.client.*
|
|
import java.lang.Exception
|
|
import java.util.concurrent.TimeUnit
|
|
|
|
object SlayerTracker {
|
|
const val posX = 5
|
|
const val posY = 30
|
|
const val textX = 7
|
|
const val textY = 50
|
|
const val spriteY = 30
|
|
val boxColor = "635a38".toInt(16)
|
|
|
|
@JvmField
|
|
var lastUpdate = 0L
|
|
|
|
var curSprite: AbstractSprite? = null
|
|
|
|
|
|
@JvmStatic
|
|
fun draw(){
|
|
val timeSinceUpdate = System.currentTimeMillis() - lastUpdate
|
|
if(!GameConfig.slayerCountEnabled) return
|
|
if(GameConfig.slayerTaskAmount == 0) return
|
|
if(timeSinceUpdate >= TimeUnit.MINUTES.toMillis(5L)) return
|
|
val tk = Toolkit.getActiveToolkit()
|
|
var rectWidth = 60
|
|
var amountPos = textX + 40
|
|
if(rectWidth < 90) rectWidth = 90
|
|
if(amountPos < textX + 60) amountPos = textX + 60
|
|
tk.fillRect(posX,posY,rectWidth,30, boxColor,180)
|
|
|
|
curSprite?.drawAt(textX, spriteY)
|
|
RenderingUtils.drawText(GameConfig.slayerTaskAmount.toString(),amountPos, textY, -1, 2, false)
|
|
}
|
|
|
|
@JvmStatic
|
|
fun reset(){
|
|
GameConfig.slayerTaskAmount = 0
|
|
GameConfig.slayerTaskID = 0
|
|
GameConfig.slayerCountEnabled = false;
|
|
lastUpdate = 0
|
|
}
|
|
|
|
@JvmStatic
|
|
fun setSprite(){
|
|
try {
|
|
SystemLogger.logInfo("Getting slayer sprite...")
|
|
val itemId: Int = when (GameConfig.slayerTaskID) {
|
|
0 -> 4144
|
|
1 -> 4149
|
|
2 -> 560
|
|
3 -> 10176
|
|
4 -> 4135
|
|
5 -> 4139
|
|
6 -> 14072
|
|
7 -> 948
|
|
8 -> 12189
|
|
9 -> 3098
|
|
10 -> 1747
|
|
11 -> 4141
|
|
12 -> 1751
|
|
13 -> 11047
|
|
14 -> 2349
|
|
15 -> 9008
|
|
16 -> 4521
|
|
17 -> 4134
|
|
18 -> 8900
|
|
19 -> 4520
|
|
20 -> 4137
|
|
21 -> 1739
|
|
22 -> 7982
|
|
23 -> 10149
|
|
24 -> 532
|
|
25 -> 8141
|
|
26 -> 6637
|
|
27 -> 6695
|
|
28 -> 8132
|
|
29 -> 4145
|
|
30 -> 7500
|
|
31 -> 1422
|
|
32 -> 1387
|
|
33 -> 9011
|
|
34 -> 4147
|
|
35 -> 552
|
|
36 -> 6722
|
|
37 -> 10998
|
|
38 -> 9016
|
|
39 -> 2402
|
|
40 -> 1753
|
|
41 -> 7050
|
|
42 -> 8137
|
|
43 -> 12570
|
|
44 -> 8133
|
|
45 -> 4671
|
|
46 -> 4671
|
|
47 -> 1159
|
|
48 -> 4140
|
|
49 -> 2351
|
|
50 -> 4142
|
|
51 -> 7778
|
|
52 -> 8139
|
|
53 -> 4146
|
|
54 -> 2402
|
|
55 -> 2359
|
|
56 -> 12079
|
|
57 -> 12201
|
|
58 -> 12570
|
|
59 -> 4148
|
|
60 -> 4818
|
|
61 -> 6107
|
|
62 -> 4138
|
|
63 -> 14074
|
|
64 -> 4136
|
|
65 -> 6297
|
|
66 -> 10634
|
|
67 -> 553
|
|
68 -> 8135
|
|
69 -> 11732
|
|
70 -> 10284
|
|
71 -> 13923
|
|
72 -> 2353
|
|
73 -> 8136
|
|
74 -> 4143
|
|
75 -> 6528
|
|
76 -> 10109
|
|
77 -> 1403
|
|
78 -> 2952
|
|
79 -> 958
|
|
80 -> 7594
|
|
89 -> 6811
|
|
else -> -1
|
|
}
|
|
|
|
var sprite = AbstractSprite.constructItemSprite(0, HDToolKit.highDetail, itemId, false, 1, 1, false)
|
|
if (HDToolKit.highDetail) {
|
|
if (sprite is Class3_Sub28_Sub16_Sub2_Sub1) {
|
|
sprite = Class3_Sub28_Sub16_Sub1_Sub1(sprite as SoftwareSprite)
|
|
} else {
|
|
sprite = HDSprite(sprite as SoftwareSprite)
|
|
}
|
|
}
|
|
|
|
curSprite = sprite
|
|
} catch (ignored: Exception){}
|
|
}
|
|
} |