274 lines
7.3 KiB
Java
274 lines
7.3 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("co")
|
|
@Implements("FriendSystem")
|
|
public class FriendSystem {
|
|
@ObfuscatedName("u")
|
|
static int[] field1086;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "Lmx;"
|
|
)
|
|
@Export("loginType")
|
|
final LoginType loginType;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "Lkr;"
|
|
)
|
|
@Export("friendsList")
|
|
public final FriendsList friendsList;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "Ljb;"
|
|
)
|
|
@Export("ignoreList")
|
|
public final IgnoreList ignoreList;
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedGetter(
|
|
intValue = 429745001
|
|
)
|
|
int field1092;
|
|
|
|
@ObfuscatedSignature(
|
|
signature = "(Lmx;)V"
|
|
)
|
|
FriendSystem(LoginType var1) {
|
|
this.field1092 = 0;
|
|
this.loginType = var1;
|
|
this.friendsList = new FriendsList(var1);
|
|
this.ignoreList = new IgnoreList(var1);
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "-1209289020"
|
|
)
|
|
boolean method1952() {
|
|
return this.field1092 == 2;
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "104"
|
|
)
|
|
final void method1953() {
|
|
this.field1092 = 1;
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkb;II)V",
|
|
garbageValue = "1535812566"
|
|
)
|
|
@Export("readUpdate")
|
|
final void readUpdate(Buffer var1, int var2) {
|
|
this.friendsList.read(var1, var2);
|
|
this.field1092 = 2;
|
|
class236.FriendSystem_invalidateFriends();
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1051336580"
|
|
)
|
|
@Export("processFriendUpdates")
|
|
final void processFriendUpdates() {
|
|
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
|
|
if ((long)var1.field3636 < class217.currentTimeMillis() / 1000L - 5L) {
|
|
if (var1.world > 0) {
|
|
Skeleton.addGameMessage(5, "", var1.username + " has logged in.");
|
|
}
|
|
|
|
if (var1.world == 0) {
|
|
Skeleton.addGameMessage(5, "", var1.username + " has logged out.");
|
|
}
|
|
|
|
var1.remove();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-589542332"
|
|
)
|
|
@Export("clear")
|
|
final void clear() {
|
|
this.field1092 = 0;
|
|
this.friendsList.clear();
|
|
this.ignoreList.clear();
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lku;ZI)Z",
|
|
garbageValue = "-1932720892"
|
|
)
|
|
@Export("isFriended")
|
|
final boolean isFriended(Username var1, boolean var2) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else if (var1.equals(ByteArrayPool.localPlayer.username)) {
|
|
return true;
|
|
} else {
|
|
return this.friendsList.isFriended(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lku;B)Z",
|
|
garbageValue = "-60"
|
|
)
|
|
@Export("isIgnored")
|
|
final boolean isIgnored(Username var1) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else {
|
|
return this.ignoreList.contains(var1);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-36"
|
|
)
|
|
@Export("addFriend")
|
|
final void addFriend(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.friendsListIsFull()) {
|
|
LoginPacket.method3692();
|
|
} else if (ByteArrayPool.localPlayer.username.equals(var2)) {
|
|
GrandExchangeEvent.method165("You can't add yourself to your own friend list");
|
|
} else if (this.isFriended(var2, false)) {
|
|
DevicePcmPlayerProvider.method946(var1);
|
|
} else if (this.isIgnored(var2)) {
|
|
ClientPreferences.method1950(var1);
|
|
} else {
|
|
PacketBufferNode var3 = FaceNormal.getPacketBufferNode(ClientPacket.field2290, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(class234.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "2128609566"
|
|
)
|
|
@Export("friendsListIsFull")
|
|
final boolean friendsListIsFull() {
|
|
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field798 != 1;
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-110"
|
|
)
|
|
@Export("addIgnore")
|
|
final void addIgnore(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.canAddIgnore()) {
|
|
GrandExchangeEvent.method165("Your ignore list is full. Max of 100 for free users, and 400 for members");
|
|
} else if (ByteArrayPool.localPlayer.username.equals(var2)) {
|
|
ChatChannel.method2351();
|
|
} else if (this.isIgnored(var2)) {
|
|
GrandExchangeEvent.method165(var1 + " is already on your ignore list");
|
|
} else if (this.isFriended(var2, false)) {
|
|
class195.method3696(var1);
|
|
} else {
|
|
PacketBufferNode var3 = FaceNormal.getPacketBufferNode(ClientPacket.field2216, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(class234.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Z",
|
|
garbageValue = "-46"
|
|
)
|
|
@Export("canAddIgnore")
|
|
final boolean canAddIgnore() {
|
|
return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field798 != 1;
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-31"
|
|
)
|
|
@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)) {
|
|
Clock.method3599();
|
|
PacketBufferNode var3 = FaceNormal.getPacketBufferNode(ClientPacket.field2297, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(class234.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
|
|
class236.FriendSystem_invalidateFriends();
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-29"
|
|
)
|
|
@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)) {
|
|
Clock.method3599();
|
|
PacketBufferNode var3 = FaceNormal.getPacketBufferNode(ClientPacket.field2222, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(class234.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
|
|
FontName.FriendSystem_invalidateIgnoreds();
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lku;I)Z",
|
|
garbageValue = "-407468573"
|
|
)
|
|
@Export("isFriendAndHasWorld")
|
|
final boolean isFriendAndHasWorld(Username var1) {
|
|
Friend var2 = (Friend)this.friendsList.getByUsername(var1);
|
|
return var2 != null && var2.hasWorld();
|
|
}
|
|
}
|