127 lines
2.7 KiB
Java
127 lines
2.7 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("fg")
|
|
@Implements("MilliClock")
|
|
public class MilliClock extends Clock {
|
|
@ObfuscatedName("sy")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lcm;"
|
|
)
|
|
@Export("friendSystem")
|
|
public static FriendSystem friendSystem;
|
|
@ObfuscatedName("h")
|
|
long[] field2030;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedGetter(
|
|
intValue = -367823923
|
|
)
|
|
int field2031;
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedGetter(
|
|
intValue = -830034537
|
|
)
|
|
int field2032;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedGetter(
|
|
longValue = 4655820028414698343L
|
|
)
|
|
long field2038;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = 744937881
|
|
)
|
|
int field2034;
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedGetter(
|
|
intValue = 802438317
|
|
)
|
|
int field2035;
|
|
|
|
public MilliClock() {
|
|
this.field2030 = new long[10];
|
|
this.field2031 = 256;
|
|
this.field2032 = 1;
|
|
this.field2034 = 0;
|
|
this.field2038 = class298.currentTimeMillis();
|
|
|
|
for (int var1 = 0; var1 < 10; ++var1) {
|
|
this.field2030[var1] = this.field2038;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "2095078818"
|
|
)
|
|
@Export("mark")
|
|
public void mark() {
|
|
for (int var1 = 0; var1 < 10; ++var1) {
|
|
this.field2030[var1] = 0L;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(III)I",
|
|
garbageValue = "-680717242"
|
|
)
|
|
@Export("wait")
|
|
public int wait(int var1, int var2) {
|
|
int var3 = this.field2031;
|
|
int var4 = this.field2032;
|
|
this.field2031 = 300;
|
|
this.field2032 = 1;
|
|
this.field2038 = class298.currentTimeMillis();
|
|
if (0L == this.field2030[this.field2035]) {
|
|
this.field2031 = var3;
|
|
this.field2032 = var4;
|
|
} else if (this.field2038 > this.field2030[this.field2035]) {
|
|
this.field2031 = (int)((long)(var1 * 2560) / (this.field2038 - this.field2030[this.field2035]));
|
|
}
|
|
|
|
if (this.field2031 < 25) {
|
|
this.field2031 = 25;
|
|
}
|
|
|
|
if (this.field2031 > 256) {
|
|
this.field2031 = 256;
|
|
this.field2032 = (int)((long)var1 - (this.field2038 - this.field2030[this.field2035]) / 10L);
|
|
}
|
|
|
|
if (this.field2032 > var1) {
|
|
this.field2032 = var1;
|
|
}
|
|
|
|
this.field2030[this.field2035] = this.field2038;
|
|
this.field2035 = (this.field2035 + 1) % 10;
|
|
int var5;
|
|
if (this.field2032 > 1) {
|
|
for (var5 = 0; var5 < 10; ++var5) {
|
|
if (this.field2030[var5] != 0L) {
|
|
this.field2030[var5] += (long)this.field2032;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (this.field2032 < var2) {
|
|
this.field2032 = var2;
|
|
}
|
|
|
|
class236.sleepExact((long)this.field2032);
|
|
|
|
for (var5 = 0; this.field2034 < 256; this.field2034 += this.field2031) {
|
|
++var5;
|
|
}
|
|
|
|
this.field2034 &= 255;
|
|
return var5;
|
|
}
|
|
}
|