Files
runelite/runescape-client/src/main/java/FriendSystem.java
2019-07-07 01:31:11 +02:00

338 lines
10 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("bh")
@Implements("FriendSystem")
public class FriendSystem {
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "Llx;"
)
@Export("loginType")
final LoginType loginType;
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "Lkg;"
)
@Export("friendsList")
public final FriendsList friendsList;
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "Lkj;"
)
@Export("ignoreList")
public final IgnoreList ignoreList;
@ObfuscatedName("g")
@ObfuscatedGetter(
intValue = 1477282369
)
int field357;
@ObfuscatedSignature(
signature = "(Llx;)V"
)
FriendSystem(LoginType var1) {
this.field357 = 0;
this.loginType = var1;
this.friendsList = new FriendsList(var1);
this.ignoreList = new IgnoreList(var1);
}
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "-114"
)
boolean method99() {
return this.field357 == 2;
}
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-2125539725"
)
final void method100() {
this.field357 = 1;
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(Lgr;II)V",
garbageValue = "-1440726810"
)
final void method101(Buffer var1, int var2) {
this.friendsList.read(var1, var2);
this.field357 = 2;
GrandExchangeOffer.method121();
}
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1408945788"
)
final void method102() {
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
if ((long)var1.time < class203.currentTimeMs() / 1000L - 5L) {
if (var1.world > 0) {
WorldMapIcon1.addGameMessage(5, "", var1.username + " has logged in.");
}
if (var1.world == 0) {
WorldMapIcon1.addGameMessage(5, "", var1.username + " has logged out.");
}
var1.remove();
}
}
}
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1170844364"
)
@Export("clear")
final void clear() {
this.field357 = 0;
this.friendsList.clear();
this.ignoreList.clear();
}
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "(Lkp;ZI)Z",
garbageValue = "2057092629"
)
@Export("isFriended")
final boolean isFriended(Username var1, boolean var2) {
return var1 != null && (var1.equals(Canvas.localPlayer.username) || this.friendsList.isFriended(var1, var2));
}
@ObfuscatedName("g")
@ObfuscatedSignature(
signature = "(Lkp;I)Z",
garbageValue = "1482725020"
)
@Export("isIgnored")
final boolean isIgnored(Username var1) {
return var1 != null && this.ignoreList.contains(var1);
}
@ObfuscatedName("l")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;I)V",
garbageValue = "-1721017960"
)
@Export("addFriend")
final void addFriend(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
StringBuilder var3;
String var4;
if (this.canAddFriend()) {
var3 = null;
var4 = "Your friend list is full. Max of 200 for free users, and 400 for members";
WorldMapIcon1.addGameMessage(30, "", var4);
} else if (Canvas.localPlayer.username.equals(var2)) {
var3 = null;
var4 = "You can't add yourself to your own friend list";
WorldMapIcon1.addGameMessage(30, "", var4);
} else {
Object var5;
if (this.isFriended(var2, false)) {
var3 = (new StringBuilder()).append(var1);
var5 = null;
var4 = var3.append(" is already on your friend list").toString();
WorldMapIcon1.addGameMessage(30, "", var4);
} else if (this.isIgnored(var2)) {
var3 = new StringBuilder();
var5 = null;
var3 = var3.append("Please remove ").append(var1);
var5 = null;
var4 = var3.append(" from your ignore list first").toString();
WorldMapIcon1.addGameMessage(30, "", var4);
} else {
PacketBufferNode var6 = Interpreter.method1915(ClientPacket.field310, Client.packetWriter.isaacCipher);
var6.packetBuffer.writeByte(WorldMapRegion.method550(var1));
var6.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method241(var6);
}
}
}
}
}
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "57"
)
@Export("canAddFriend")
final boolean canAddFriend() {
return this.friendsList.isFull() || this.friendsList.size() >= 200 && Client.field209 != 1;
}
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;B)V",
garbageValue = "30"
)
@Export("addIgnore")
final void addIgnore(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
StringBuilder var3;
String var4;
if (this.canAddIgnore()) {
var3 = null;
var4 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
WorldMapIcon1.addGameMessage(30, "", var4);
} else if (Canvas.localPlayer.username.equals(var2)) {
var3 = null;
var4 = "You can't add yourself to your own ignore list";
WorldMapIcon1.addGameMessage(30, "", var4);
} else if (this.isIgnored(var2)) {
class22.method294(var1);
} else {
PacketBufferNode var5;
if (this.isFriended(var2, false)) {
var3 = new StringBuilder();
var5 = null;
var3 = var3.append("Please remove ").append(var1);
var5 = null;
var4 = var3.append(" from your friend list first").toString();
WorldMapIcon1.addGameMessage(30, "", var4);
} else {
var5 = Interpreter.method1915(ClientPacket.field312, Client.packetWriter.isaacCipher);
var5.packetBuffer.writeByte(WorldMapRegion.method550(var1));
var5.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method241(var5);
}
}
}
}
}
@ObfuscatedName("a")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "120"
)
@Export("canAddIgnore")
final boolean canAddIgnore() {
return this.ignoreList.isFull() || this.ignoreList.size() >= 100 && Client.field209 != 1;
}
@ObfuscatedName("z")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;I)V",
garbageValue = "-2122207917"
)
@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)) {
WorldMapManager.method668();
PacketBufferNode var3 = Interpreter.method1915(ClientPacket.field276, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(WorldMapRegion.method550(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method241(var3);
}
GrandExchangeOffer.method121();
}
}
}
@ObfuscatedName("j")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;I)V",
garbageValue = "-1673636127"
)
@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)) {
WorldMapManager.method668();
PacketBufferNode var3 = Interpreter.method1915(ClientPacket.field250, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(WorldMapRegion.method550(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method241(var3);
}
class229.method4512();
}
}
}
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "(Lkp;S)Z",
garbageValue = "-543"
)
@Export("isFriendAndHasWorld")
final boolean isFriendAndHasWorld(Username var1) {
Friend var2 = (Friend)this.friendsList.getByUsername(var1);
return var2 != null && var2.hasWorld();
}
@ObfuscatedName("y")
@ObfuscatedSignature(
signature = "(ILcg;ZI)I",
garbageValue = "866157286"
)
static int method1867(int var0, Script var1, boolean var2) {
Widget var3;
if (var0 >= 2000) {
var0 -= 1000;
var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
} else {
var3 = var2 ? WorldMapIcon1.field1030 : class12.field1111;
}
if (var0 == ScriptOpcodes.CC_CALLONRESIZE) {
if (Interpreter.field425 >= 10) {
throw new RuntimeException();
} else if (var3.field975 == null) {
return 0;
} else {
ScriptEvent var4 = new ScriptEvent();
var4.widget = var3;
var4.args0 = var3.field975;
var4.field772 = Interpreter.field425 + 1;
Client.scriptEvents.addFirst(var4);
return 1;
}
} else {
return 2;
}
}
@ObfuscatedName("kb")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "0"
)
@Export("jmodCheck")
public static boolean jmodCheck() {
return Client.rights >= 2;
}
}