Files
runelite/runescape-client/src/main/java/FriendSystem.java
Owain van Brakel 3834b46aee project: Rev 204
2022-03-23 15:01:48 +01:00

417 lines
12 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("bc")
@Implements("FriendSystem")
public class FriendSystem {
@ObfuscatedName("br")
@ObfuscatedSignature(
descriptor = "Llp;"
)
@Export("clientLanguage")
static Language clientLanguage;
@ObfuscatedName("hv")
@ObfuscatedSignature(
descriptor = "Lgs;"
)
@Export("scene")
static Scene scene;
@ObfuscatedName("he")
@ObfuscatedGetter(
intValue = 505945319
)
static int field803;
@ObfuscatedName("ig")
@ObfuscatedGetter(
intValue = -134669163
)
@Export("cameraY")
static int cameraY;
@ObfuscatedName("g")
@ObfuscatedSignature(
descriptor = "Lpa;"
)
@Export("loginType")
final LoginType loginType;
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "Lnt;"
)
@Export("friendsList")
public final FriendsList friendsList;
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "Lmm;"
)
@Export("ignoreList")
public final IgnoreList ignoreList;
@ObfuscatedName("d")
@ObfuscatedGetter(
intValue = -244669207
)
int field801;
@ObfuscatedSignature(
descriptor = "(Lpa;)V"
)
FriendSystem(LoginType var1) {
this.field801 = 0; // L: 23
this.loginType = var1; // L: 26
this.friendsList = new FriendsList(var1); // L: 27
this.ignoreList = new IgnoreList(var1); // L: 28
} // L: 29
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(S)Z",
garbageValue = "215"
)
boolean method1657() {
return this.field801 == 2; // L: 32
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "16711935"
)
final void method1687() {
this.field801 = 1; // L: 36
}
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(Lpd;II)V",
garbageValue = "-490203066"
)
@Export("readUpdate")
final void readUpdate(Buffer var1, int var2) {
this.friendsList.read(var1, var2); // L: 40
this.field801 = 2;
Strings.method5795();
}
@ObfuscatedName("g")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "1"
)
@Export("processFriendUpdates")
final void processFriendUpdates() {
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
if ((long)var1.field4259 < WorldMapSprite.method4989() / 1000L - 5L) {
if (var1.world > 0) {
Login.addGameMessage(5, "", var1.username + " has logged in.");
}
if (var1.world == 0) {
Login.addGameMessage(5, "", var1.username + " has logged out.");
}
var1.remove(); // L: 50
}
}
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "0"
)
@Export("clear")
final void clear() {
this.field801 = 0;
this.friendsList.clear(); // L: 57
this.ignoreList.clear();
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(Lqy;ZB)Z",
garbageValue = "-62"
)
@Export("isFriended")
final boolean isFriended(Username var1, boolean var2) {
if (var1 == null) {
return false;
} else if (var1.equals(class19.localPlayer.username)) { // L: 63
return true;
} else {
return this.friendsList.isFriended(var1, var2); // L: 64
}
}
@ObfuscatedName("d")
@ObfuscatedSignature(
descriptor = "(Lqy;B)Z",
garbageValue = "33"
)
@Export("isIgnored")
final boolean isIgnored(Username var1) {
if (var1 == null) {
return false;
} else {
return this.ignoreList.contains(var1); // L: 70
}
}
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;I)V",
garbageValue = "957037997"
)
@Export("addFriend")
final void addFriend(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) { // L: 77
StringBuilder var10000;
String var4;
if (this.friendsListIsFull()) { // L: 78
var10000 = null;
var4 = "Your friend list is full. Max of 200 for free users, and 400 for members";
Login.addGameMessage(30, "", var4);
} else if (class19.localPlayer.username.equals(var2)) {
class33.method632();
} else if (this.isFriended(var2, false)) {
class241.method5001(var1);
} else if (this.isIgnored(var2)) { // L: 95
var10000 = new StringBuilder();
Object var10001 = null; // L: 97
var10000 = var10000.append("Please remove ").append(var1);
var10001 = null;
var4 = var10000.append(" from your ignore list first").toString();
Login.addGameMessage(30, "", var4); // L: 99
} else {
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2961, Client.packetWriter.isaacCipher); // L: 106
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 107
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 108
Client.packetWriter.addNode(var3); // L: 109
}
}
}
} // L: 89 102 111
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "146943112"
)
@Export("friendsListIsFull")
final boolean friendsListIsFull() {
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field607 != 1; // L: 128
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;B)V",
garbageValue = "32"
)
@Export("addIgnore")
final void addIgnore(String var1) {
if (var1 != null) { // L: 135
Username var2 = new Username(var1, this.loginType); // L: 136
if (var2.hasCleanName()) { // L: 137
StringBuilder var10000;
String var4;
if (this.canAddIgnore()) { // L: 138
var10000 = null; // L: 140
var4 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
Login.addGameMessage(30, "", var4); // L: 142
} else if (class19.localPlayer.username.equals(var2)) { // L: 147
var10000 = null; // L: 149
var4 = "You can't add yourself to your own ignore list";
Login.addGameMessage(30, "", var4); // L: 151
} else if (this.isIgnored(var2)) { // L: 156
var10000 = (new StringBuilder()).append(var1); // L: 158
Object var10001 = null;
var4 = var10000.append(" is already on your ignore list").toString();
Login.addGameMessage(30, "", var4); // L: 160
} else if (this.isFriended(var2, false)) { // L: 165
class10.method106(var1); // L: 166
} else {
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2923, Client.packetWriter.isaacCipher); // L: 171
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 172
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 173
Client.packetWriter.addNode(var3); // L: 174
}
}
}
} // L: 145 154 163 167 176
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "(B)Z",
garbageValue = "117"
)
@Export("canAddIgnore")
final boolean canAddIgnore() {
return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field607 != 1; // L: 186
}
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;I)V",
garbageValue = "-780712144"
)
@Export("removeFriend")
final void removeFriend(String var1) {
if (var1 != null) { // L: 193
Username var2 = new Username(var1, this.loginType); // L: 194
if (var2.hasCleanName()) { // L: 195
if (this.friendsList.removeByUsername(var2)) { // L: 196
Client.field685 = Client.cycleCntr; // L: 198
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2936, Client.packetWriter.isaacCipher); // L: 201
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 202
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 203
Client.packetWriter.addNode(var3); // L: 204
}
Strings.method5795(); // L: 206
}
}
} // L: 207
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;B)V",
garbageValue = "70"
)
@Export("removeIgnore")
final void removeIgnore(String var1) {
if (var1 != null) { // L: 210
Username var2 = new Username(var1, this.loginType); // L: 211
if (var2.hasCleanName()) { // L: 212
if (this.ignoreList.removeByUsername(var2)) { // L: 213
Client.field685 = Client.cycleCntr; // L: 215
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2991, Client.packetWriter.isaacCipher); // L: 218
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 219
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 220
Client.packetWriter.addNode(var3); // L: 221
}
ObjectComposition.FriendSystem_invalidateIgnoreds(); // L: 223
}
}
} // L: 224
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "(Lqy;I)Z",
garbageValue = "-1790043427"
)
@Export("isFriendAndHasWorld")
final boolean isFriendAndHasWorld(Username var1) {
Friend var2 = (Friend)this.friendsList.getByUsername(var1); // L: 236
return var2 != null && var2.hasWorld(); // L: 237
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(IIII)Lbo;",
garbageValue = "878673450"
)
@Export("getWorldMapScript")
static Script getWorldMapScript(int var0, int var1, int var2) {
int var3 = class401.method7247(var1, var0); // L: 38
Script var5 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 41
Script var4;
if (var5 != null) { // L: 42
var4 = var5; // L: 43
} else {
String var6 = String.valueOf(var3); // L: 46
int var7 = class135.archive12.getGroupId(var6); // L: 47
if (var7 == -1) {
var4 = null; // L: 49
} else {
label59: {
byte[] var8 = class135.archive12.takeFileFlat(var7);
if (var8 != null) {
if (var8.length <= 1) {
var4 = null; // L: 55
break label59; // L: 56
}
var5 = Message.newScript(var8); // L: 58
if (var5 != null) { // L: 59
Script.Script_cached.put(var5, (long)(var3 << 16)); // L: 60
var4 = var5; // L: 61
break label59; // L: 62
}
}
var4 = null; // L: 65
}
}
}
if (var4 != null) { // L: 68
return var4; // L: 69
} else {
var3 = FloorUnderlayDefinition.method3536(var2, var0); // L: 71
Script var11 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 74
Script var12;
if (var11 != null) { // L: 75
var12 = var11; // L: 76
} else {
String var13 = String.valueOf(var3); // L: 79
int var9 = class135.archive12.getGroupId(var13); // L: 80
if (var9 == -1) { // L: 81
var12 = null; // L: 82
} else {
byte[] var10 = class135.archive12.takeFileFlat(var9); // L: 85
if (var10 != null) { // L: 86
if (var10.length <= 1) { // L: 87
var12 = null; // L: 88
return var12 != null ? var12 : null; // L: 101 104
}
var11 = Message.newScript(var10); // L: 91
if (var11 != null) { // L: 92
Script.Script_cached.put(var11, (long)(var3 << 16)); // L: 93
var12 = var11; // L: 94
return var12 != null ? var12 : null;
}
}
var12 = null; // L: 98
}
}
return var12 != null ? var12 : null;
}
}
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(I)Ljt;",
garbageValue = "2041104179"
)
public static PacketBufferNode method1723() {
PacketBufferNode var0;
if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { // L: 44
var0 = new PacketBufferNode(); // L: 45
} else {
var0 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; // L: 48
}
var0.clientPacket = null; // L: 51
var0.clientPacketLength = 0; // L: 52
var0.packetBuffer = new PacketBuffer(5000); // L: 53
return var0; // L: 54
}
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "(IB)Z",
garbageValue = "-92"
)
public static boolean method1658(int var0) {
return (var0 >> 30 & 1) != 0; // L: 37
}
}