Files
runelite/runescape-client/src/main/java/FriendSystem.java
2019-07-18 15:21:46 +02:00

495 lines
17 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;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("bf")
@Implements("FriendSystem")
public class FriendSystem {
@ObfuscatedName("bb")
@ObfuscatedSignature(
signature = "[Llx;"
)
@Export("worldSelectStars")
static IndexedSprite[] worldSelectStars;
@ObfuscatedName("ed")
static int[] field1074;
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "Lmu;"
)
@Export("loginType")
final LoginType loginType;
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "Ljc;"
)
@Export("friendsList")
public final FriendsList friendsList;
@ObfuscatedName("l")
@ObfuscatedSignature(
signature = "Ljf;"
)
@Export("ignoreList")
public final IgnoreList ignoreList;
@ObfuscatedName("b")
@ObfuscatedGetter(
intValue = 1533704569
)
int field1076;
@ObfuscatedSignature(
signature = "(Lmu;)V"
)
FriendSystem(LoginType var1) {
this.field1076 = 0;
this.loginType = var1;
this.friendsList = new FriendsList(var1);
this.ignoreList = new IgnoreList(var1);
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "-1493055205"
)
boolean method1791() {
return this.field1076 == 2;
}
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "2033101779"
)
final void method1760() {
this.field1076 = 1;
}
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(Lkf;II)V",
garbageValue = "499123399"
)
final void method1805(Buffer var1, int var2) {
this.friendsList.read(var1, var2);
this.field1076 = 2;
VertexNormal.method2972();
}
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "9"
)
final void method1762() {
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
if ((long)var1.field3661 < DirectByteArrayCopier.currentTimeMs() / 1000L - 5L) {
if (var1.world > 0) {
ScriptEvent.addGameMessage(5, "", var1.username + " has logged in.");
}
if (var1.world == 0) {
ScriptEvent.addGameMessage(5, "", var1.username + " has logged out.");
}
var1.remove();
}
}
}
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "487"
)
@Export("clear")
final void clear() {
this.field1076 = 0;
this.friendsList.clear();
this.ignoreList.clear();
}
@ObfuscatedName("l")
@ObfuscatedSignature(
signature = "(Ljv;ZI)Z",
garbageValue = "277105745"
)
@Export("isFriended")
final boolean isFriended(Username var1, boolean var2) {
if (var1 == null) {
return false;
} else if (var1.equals(Client.localPlayer.username)) {
return true;
} else {
return this.friendsList.isFriended(var1, var2);
}
}
@ObfuscatedName("b")
@ObfuscatedSignature(
signature = "(Ljv;B)Z",
garbageValue = "-1"
)
@Export("isIgnored")
final boolean isIgnored(Username var1) {
if (var1 == null) {
return false;
} else {
return this.ignoreList.contains(var1);
}
}
@ObfuscatedName("i")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;I)V",
garbageValue = "-1616773862"
)
@Export("addFriend")
final void addFriend(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.canAddFriend()) {
MouseRecorder.method1138();
} else {
StringBuilder var10000;
String var4;
if (Client.localPlayer.username.equals(var2)) {
var10000 = null;
var4 = "You can't add yourself to your own friend list";
ScriptEvent.addGameMessage(30, "", var4);
} else if (this.isFriended(var2, false)) {
WorldMapManager.method633(var1);
} else if (this.isIgnored(var2)) {
var10000 = new StringBuilder();
Object var10001 = null;
var10000 = var10000.append("Please remove ").append(var1);
var10001 = null;
var4 = var10000.append(" from your ignore list first").toString();
ScriptEvent.addGameMessage(30, "", var4);
} else {
PacketBufferNode var3 = Archive.method4265(ClientPacket.field2291, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method2219(var3);
}
}
}
}
}
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "-1832843555"
)
@Export("canAddFriend")
final boolean canAddFriend() {
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field771 != 1;
}
@ObfuscatedName("r")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;B)V",
garbageValue = "1"
)
@Export("addIgnore")
final void addIgnore(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.canAddIgnore()) {
Object var10000 = null;
String var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
ScriptEvent.addGameMessage(30, "", var3);
} else if (Client.localPlayer.username.equals(var2)) {
WorldMapEvent.method737();
} else if (this.isIgnored(var2)) {
Client.method1650(var1);
} else if (this.isFriended(var2, false)) {
WorldMapID.method541(var1);
} else {
class219.method4111(var1);
}
}
}
}
@ObfuscatedName("j")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "-81479393"
)
@Export("canAddIgnore")
final boolean canAddIgnore() {
return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field771 != 1;
}
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;I)V",
garbageValue = "-1086170142"
)
@Export("removeFriend")
final void removeFriend(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.friendsList.removeByUsername(var2)) {
Client.field672 = Client.cycleCntr;
PacketBufferNode var3 = Archive.method4265(ClientPacket.field2224, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method2219(var3);
}
VertexNormal.method2972();
}
}
}
@ObfuscatedName("d")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;B)V",
garbageValue = "8"
)
@Export("removeIgnore")
final void removeIgnore(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.ignoreList.removeByUsername(var2)) {
Client.field672 = Client.cycleCntr;
PacketBufferNode var3 = Archive.method4265(ClientPacket.field2231, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method2219(var3);
}
class2.method28();
}
}
}
@ObfuscatedName("z")
@ObfuscatedSignature(
signature = "(Ljv;I)Z",
garbageValue = "1053718867"
)
@Export("isFriendAndHasWorld")
final boolean isFriendAndHasWorld(Username var1) {
Friend var2 = (Friend)this.friendsList.getByUsername(var1);
return var2 != null && var2.hasWorld();
}
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "(III)I",
garbageValue = "1745629182"
)
public static int method1819(int var0, int var1) {
int var2;
if (var1 > var0) {
var2 = var0;
var0 = var1;
var1 = var2;
}
while (var1 != 0) {
var2 = var0 % var1;
var0 = var1;
var1 = var2;
}
return var0;
}
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "([BIIB)Ljava/lang/String;",
garbageValue = "52"
)
@Export("decodeStringCp1252")
public static String decodeStringCp1252(byte[] var0, int var1, int var2) {
char[] var3 = new char[var2];
int var4 = 0;
for (int var5 = 0; var5 < var2; ++var5) {
int var6 = var0[var5 + var1] & 255;
if (var6 != 0) {
if (var6 >= 128 && var6 < 160) {
char var7 = class288.cp1252AsciiExtension[var6 - 128];
if (var7 == 0) {
var7 = '?';
}
var6 = var7;
}
var3[var4++] = (char)var6;
}
}
return new String(var3, 0, var4);
}
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(II)I",
garbageValue = "-77884497"
)
public static int method1784(int var0) {
return class43.method770(ViewportMouse.ViewportMouse_entityTags[var0]);
}
@ObfuscatedName("ag")
@ObfuscatedSignature(
signature = "(ILcx;ZI)I",
garbageValue = "-680519065"
)
static int method1817(int var0, Script var1, boolean var2) {
int var3;
if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type();
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice;
return 1;
} else {
int var12;
if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var12 = Client.grandExchangeOffers[var3].status();
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 0 ? 1 : 0;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var12 = Client.grandExchangeOffers[var3].status();
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 2 ? 1 : 0;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var12 = Client.grandExchangeOffers[var3].status();
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 5 ? 1 : 0;
return 1;
} else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var12 = Client.grandExchangeOffers[var3].status();
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 1 ? 1 : 0;
return 1;
} else {
boolean var13;
if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) {
var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1;
if (PendingSpawn.grandExchangeEvents != null) {
PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var13);
}
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) {
var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1;
if (PendingSpawn.grandExchangeEvents != null) {
PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var13);
}
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) {
HealthBarUpdate.Interpreter_intStackSize -= 2;
var13 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] == 1;
boolean var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1] == 1;
if (PendingSpawn.grandExchangeEvents != null) {
Client.GrandExchangeEvents_worldComparator.filterWorlds = var4;
PendingSpawn.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var13);
}
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) {
var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1;
if (PendingSpawn.grandExchangeEvents != null) {
PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var13);
}
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) {
var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1;
if (PendingSpawn.grandExchangeEvents != null) {
PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var13);
}
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = PendingSpawn.grandExchangeEvents == null ? 0 : PendingSpawn.grandExchangeEvents.events.size();
return 1;
} else {
GrandExchangeEvent var11;
if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.world;
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var11.getOfferName();
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var11.getPreviousOfferName();
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
long var5 = DirectByteArrayCopier.currentTimeMs() - Buddy.field3632 - var11.age;
int var7 = (int)(var5 / 3600000L);
int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L);
int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L);
String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10;
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var10;
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.totalQuantity;
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.unitPrice;
return 1;
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.id;
return 1;
} else {
return 2;
}
}
}
}
}
}