925 lines
29 KiB
Java
925 lines
29 KiB
Java
import java.util.LinkedHashMap;
|
|
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("bl")
|
|
@Implements("FriendSystem")
|
|
public class FriendSystem {
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Low;"
|
|
)
|
|
@Export("loginType")
|
|
final LoginType loginType;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lmm;"
|
|
)
|
|
@Export("friendsList")
|
|
public final FriendsList friendsList;
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lmq;"
|
|
)
|
|
@Export("ignoreList")
|
|
public final IgnoreList ignoreList;
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedGetter(
|
|
intValue = 1452528577
|
|
)
|
|
int field778;
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Low;)V"
|
|
)
|
|
FriendSystem(LoginType var1) {
|
|
this.field778 = 0;
|
|
this.loginType = var1;
|
|
this.friendsList = new FriendsList(var1);
|
|
this.ignoreList = new IgnoreList(var1);
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "1072720259"
|
|
)
|
|
boolean method1728() {
|
|
return this.field778 == 2;
|
|
}
|
|
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "-1893042213"
|
|
)
|
|
final void method1764() {
|
|
this.field778 = 1;
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpi;II)V",
|
|
garbageValue = "-532227317"
|
|
)
|
|
@Export("readUpdate")
|
|
final void readUpdate(Buffer var1, int var2) {
|
|
this.friendsList.read(var1, var2);
|
|
this.field778 = 2;
|
|
WorldMapSection1.method4831();
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "5"
|
|
)
|
|
@Export("processFriendUpdates")
|
|
final void processFriendUpdates() {
|
|
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
|
|
if ((long)var1.field4097 < Ignored.method6459() / 1000L - 5L) {
|
|
if (var1.world > 0) {
|
|
class194.addGameMessage(5, "", var1.username + " has logged in.");
|
|
}
|
|
|
|
if (var1.world == 0) {
|
|
class194.addGameMessage(5, "", var1.username + " has logged out.");
|
|
}
|
|
|
|
var1.remove();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "-119"
|
|
)
|
|
@Export("clear")
|
|
final void clear() {
|
|
this.field778 = 0;
|
|
this.friendsList.clear();
|
|
this.ignoreList.clear();
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpo;ZB)Z",
|
|
garbageValue = "14"
|
|
)
|
|
@Export("isFriended")
|
|
final boolean isFriended(Username var1, boolean var2) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else if (var1.equals(class340.localPlayer.username)) {
|
|
return true;
|
|
} else {
|
|
return this.friendsList.isFriended(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpo;B)Z",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("isIgnored")
|
|
final boolean isIgnored(Username var1) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else {
|
|
return this.ignoreList.contains(var1);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1825841589"
|
|
)
|
|
@Export("addFriend")
|
|
final void addFriend(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.friendsListIsFull()) {
|
|
ScriptEvent.method2152();
|
|
} else {
|
|
StringBuilder var10000;
|
|
String var3;
|
|
if (class340.localPlayer.username.equals(var2)) {
|
|
var10000 = null;
|
|
var3 = "You can't add yourself to your own friend list";
|
|
class194.addGameMessage(30, "", var3);
|
|
} else if (this.isFriended(var2, false)) {
|
|
var10000 = (new StringBuilder()).append(var1);
|
|
Object var10001 = null;
|
|
var3 = var10000.append(" is already on your friend list").toString();
|
|
class194.addGameMessage(30, "", var3);
|
|
} else if (this.isIgnored(var2)) {
|
|
Client.method1662(var1);
|
|
} else {
|
|
class10.method123(var1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "2001895195"
|
|
)
|
|
@Export("friendsListIsFull")
|
|
final boolean friendsListIsFull() {
|
|
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field594 != 1;
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "879373364"
|
|
)
|
|
@Export("addIgnore")
|
|
final void addIgnore(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
StringBuilder var10000;
|
|
String var3;
|
|
if (this.canAddIgnore()) {
|
|
var10000 = null;
|
|
var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
|
|
class194.addGameMessage(30, "", var3);
|
|
} else if (class340.localPlayer.username.equals(var2)) {
|
|
Skills.method5487();
|
|
} else {
|
|
Object var10001;
|
|
if (this.isIgnored(var2)) {
|
|
var10000 = (new StringBuilder()).append(var1);
|
|
var10001 = null;
|
|
var3 = var10000.append(" is already on your ignore list").toString();
|
|
class194.addGameMessage(30, "", var3);
|
|
} else if (this.isFriended(var2, false)) {
|
|
var10000 = new StringBuilder();
|
|
var10001 = null;
|
|
var10000 = var10000.append("Please remove ").append(var1);
|
|
var10001 = null;
|
|
var3 = var10000.append(" from your friend list first").toString();
|
|
class194.addGameMessage(30, "", var3);
|
|
} else {
|
|
class6.method55(var1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "688284401"
|
|
)
|
|
@Export("canAddIgnore")
|
|
final boolean canAddIgnore() {
|
|
return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field594 != 1;
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;B)V",
|
|
garbageValue = "29"
|
|
)
|
|
@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)) {
|
|
class409.method7267();
|
|
PacketBufferNode var3 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2854, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(class116.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
|
|
WorldMapSection1.method4831();
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1642682121"
|
|
)
|
|
@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)) {
|
|
class409.method7267();
|
|
PacketBufferNode var3 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2805, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(class116.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
|
|
Skeleton.FriendSystem_invalidateIgnoreds();
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpo;I)Z",
|
|
garbageValue = "743208502"
|
|
)
|
|
@Export("isFriendAndHasWorld")
|
|
final boolean isFriendAndHasWorld(Username var1) {
|
|
Friend var2 = (Friend)this.friendsList.getByUsername(var1);
|
|
return var2 != null && var2.hasWorld();
|
|
}
|
|
|
|
@ObfuscatedName("fs")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ZB)V",
|
|
garbageValue = "32"
|
|
)
|
|
static final void method1791(boolean var0) {
|
|
if (var0) {
|
|
Client.field507 = Login.field882 ? class122.field1471 : class122.field1474;
|
|
} else {
|
|
LinkedHashMap var1 = SecureRandomFuture.clientPreferences.parameters;
|
|
String var3 = Login.Login_username;
|
|
int var4 = var3.length();
|
|
int var5 = 0;
|
|
|
|
for (int var6 = 0; var6 < var4; ++var6) {
|
|
var5 = (var5 << 5) - var5 + var3.charAt(var6);
|
|
}
|
|
|
|
Client.field507 = var1.containsKey(var5) ? class122.field1476 : class122.field1473;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("jk")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Ljava/lang/String;",
|
|
garbageValue = "-2038294042"
|
|
)
|
|
@Export("formatItemStacks")
|
|
static final String formatItemStacks(int var0) {
|
|
String var1 = Integer.toString(var0);
|
|
|
|
for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) {
|
|
var1 = var1.substring(0, var2) + "," + var1.substring(var2);
|
|
}
|
|
|
|
if (var1.length() > 9) {
|
|
return " " + UserComparator5.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + "</col>";
|
|
} else {
|
|
return var1.length() > 6 ? " " + UserComparator5.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "</col>" : " " + UserComparator5.colorStartTag(16776960) + var1 + "</col>";
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ji")
|
|
@ObfuscatedSignature(
|
|
descriptor = "([Ljm;IIIIIIII)V",
|
|
garbageValue = "-415188399"
|
|
)
|
|
@Export("updateInterface")
|
|
static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
|
for (int var8 = 0; var8 < var0.length; ++var8) {
|
|
Widget var9 = var0[var8];
|
|
if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class363.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) {
|
|
if (var9.isIf3) {
|
|
if (StudioGame.isComponentHidden(var9)) {
|
|
continue;
|
|
}
|
|
} else if (var9.type == 0 && var9 != class4.mousedOverWidgetIf1 && StudioGame.isComponentHidden(var9)) {
|
|
continue;
|
|
}
|
|
|
|
int var10 = var9.x + var6;
|
|
int var11 = var7 + var9.y;
|
|
int var12;
|
|
int var13;
|
|
int var14;
|
|
int var15;
|
|
int var17;
|
|
int var18;
|
|
if (var9.type == 2) {
|
|
var12 = var2;
|
|
var13 = var3;
|
|
var14 = var4;
|
|
var15 = var5;
|
|
} else {
|
|
int var16;
|
|
if (var9.type == 9) {
|
|
var16 = var10;
|
|
var17 = var11;
|
|
var18 = var10 + var9.width;
|
|
int var19 = var11 + var9.height;
|
|
if (var18 < var10) {
|
|
var16 = var18;
|
|
var18 = var10;
|
|
}
|
|
|
|
if (var19 < var11) {
|
|
var17 = var19;
|
|
var19 = var11;
|
|
}
|
|
|
|
++var18;
|
|
++var19;
|
|
var12 = var16 > var2 ? var16 : var2;
|
|
var13 = var17 > var3 ? var17 : var3;
|
|
var14 = var18 < var4 ? var18 : var4;
|
|
var15 = var19 < var5 ? var19 : var5;
|
|
} else {
|
|
var16 = var10 + var9.width;
|
|
var17 = var11 + var9.height;
|
|
var12 = var10 > var2 ? var10 : var2;
|
|
var13 = var11 > var3 ? var11 : var3;
|
|
var14 = var16 < var4 ? var16 : var4;
|
|
var15 = var17 < var5 ? var17 : var5;
|
|
}
|
|
}
|
|
|
|
if (var9 == Client.clickedWidget) {
|
|
Client.field657 = true;
|
|
Client.field658 = var10;
|
|
Client.field660 = var11;
|
|
}
|
|
|
|
boolean var33 = false;
|
|
if (var9.field3299) {
|
|
switch(Client.field638) {
|
|
case 0:
|
|
var33 = true;
|
|
case 1:
|
|
default:
|
|
break;
|
|
case 2:
|
|
if (Client.field639 == var9.id >>> 16) {
|
|
var33 = true;
|
|
}
|
|
break;
|
|
case 3:
|
|
if (var9.id == Client.field639) {
|
|
var33 = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var33 || !var9.isIf3 || var12 < var14 && var13 < var15) {
|
|
if (var9.isIf3) {
|
|
ScriptEvent var26;
|
|
if (var9.noClickThrough) {
|
|
if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) {
|
|
if (var26.isMouseInputEvent) {
|
|
var26.remove();
|
|
var26.widget.containsMouse = false;
|
|
}
|
|
}
|
|
|
|
if (class87.widgetDragDuration == 0) {
|
|
Client.clickedWidget = null;
|
|
Client.clickedWidgetParent = null;
|
|
}
|
|
|
|
if (!Client.isMenuOpen) {
|
|
WorldMapElement.addCancelMenuEntry();
|
|
}
|
|
}
|
|
} else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) {
|
|
if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) {
|
|
var26.remove();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
var17 = MouseHandler.MouseHandler_x;
|
|
var18 = MouseHandler.MouseHandler_y;
|
|
if (MouseHandler.MouseHandler_lastButton != 0) {
|
|
var17 = MouseHandler.MouseHandler_lastPressedX;
|
|
var18 = MouseHandler.MouseHandler_lastPressedY;
|
|
}
|
|
|
|
boolean var34 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15;
|
|
if (var9.contentType == 1337) {
|
|
if (!Client.isLoading && !Client.isMenuOpen && var34) {
|
|
FloorDecoration.addSceneMenuOptions(var17, var18, var12, var13);
|
|
}
|
|
} else if (var9.contentType == 1338) {
|
|
class312.checkIfMinimapClicked(var9, var10, var11);
|
|
} else {
|
|
if (var9.contentType == 1400) {
|
|
Varcs.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var34, var10, var11, var9.width, var9.height);
|
|
}
|
|
|
|
if (!Client.isMenuOpen && var34) {
|
|
if (var9.contentType == 1400) {
|
|
Varcs.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18);
|
|
} else {
|
|
Client.Widget_addToMenu(var9, var17 - var10, var18 - var11);
|
|
}
|
|
}
|
|
|
|
boolean var21;
|
|
int var23;
|
|
if (var33) {
|
|
for (int var20 = 0; var20 < var9.field3300.length; ++var20) {
|
|
var21 = false;
|
|
boolean var27 = false;
|
|
if (!var21 && var9.field3300[var20] != null) {
|
|
for (var23 = 0; var23 < var9.field3300[var20].length; ++var23) {
|
|
boolean var24 = false;
|
|
if (var9.field3368 != null) {
|
|
var24 = KeyHandler.KeyHandler_pressedKeys[var9.field3300[var20][var23]];
|
|
}
|
|
|
|
if (BZip2State.method7571(var9.field3300[var20][var23]) || var24) {
|
|
var21 = true;
|
|
if (var9.field3368 != null && var9.field3368[var20] > Client.cycle) {
|
|
break;
|
|
}
|
|
|
|
byte var32 = var9.field3301[var20][var23];
|
|
if (var32 == 0 || ((var32 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var32 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var32 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var32 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) {
|
|
var27 = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var27) {
|
|
if (var20 < 10) {
|
|
SoundCache.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
|
|
} else if (var20 == 10) {
|
|
HealthBar.Widget_runOnTargetLeave();
|
|
UrlRequest.selectSpell(var9.id, var9.childIndex, class404.Widget_unpackTargetMask(class363.getWidgetFlags(var9)), var9.itemId);
|
|
Client.selectedSpellActionName = SecureRandomFuture.Widget_getSpellActionName(var9);
|
|
if (Client.selectedSpellActionName == null) {
|
|
Client.selectedSpellActionName = "null";
|
|
}
|
|
|
|
Client.selectedSpellName = var9.dataText + UserComparator5.colorStartTag(16777215);
|
|
}
|
|
|
|
var23 = var9.field3302[var20];
|
|
if (var9.field3368 == null) {
|
|
var9.field3368 = new int[var9.field3300.length];
|
|
}
|
|
|
|
if (var9.field3303 == null) {
|
|
var9.field3303 = new int[var9.field3300.length];
|
|
}
|
|
|
|
if (var23 != 0) {
|
|
if (var9.field3368[var20] == 0) {
|
|
var9.field3368[var20] = var23 + Client.cycle + var9.field3303[var20];
|
|
} else {
|
|
var9.field3368[var20] = var23 + Client.cycle;
|
|
}
|
|
} else {
|
|
var9.field3368[var20] = Integer.MAX_VALUE;
|
|
}
|
|
}
|
|
|
|
if (!var21 && var9.field3368 != null) {
|
|
var9.field3368[var20] = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var9.isIf3) {
|
|
if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
var34 = true;
|
|
} else {
|
|
var34 = false;
|
|
}
|
|
|
|
boolean var35 = false;
|
|
if ((MouseHandler.MouseHandler_currentButton == 1 || !class150.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var34) {
|
|
var35 = true;
|
|
}
|
|
|
|
var21 = false;
|
|
if ((MouseHandler.MouseHandler_lastButton == 1 || !class150.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) {
|
|
var21 = true;
|
|
}
|
|
|
|
if (var21) {
|
|
class29.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11);
|
|
}
|
|
|
|
if (var9.contentType == 1400) {
|
|
Varcs.worldMap.method7062(var17, var18, var34 & var35, var34 & var21);
|
|
}
|
|
|
|
if (Client.clickedWidget != null && var9 != Client.clickedWidget && var34 && class136.method2841(class363.getWidgetFlags(var9))) {
|
|
Client.draggedOnWidget = var9;
|
|
}
|
|
|
|
if (var9 == Client.clickedWidgetParent) {
|
|
Client.field531 = true;
|
|
Client.field681 = var10;
|
|
Client.field659 = var11;
|
|
}
|
|
|
|
if (var9.hasListener) {
|
|
ScriptEvent var22;
|
|
if (var34 && Client.mouseWheelRotation != 0 && var9.onScroll != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseY = Client.mouseWheelRotation;
|
|
var22.args = var9.onScroll;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.clickedWidget != null || class143.dragInventoryWidget != null || Client.isMenuOpen) {
|
|
var21 = false;
|
|
var35 = false;
|
|
var34 = false;
|
|
}
|
|
|
|
if (!var9.isClicked && var21) {
|
|
var9.isClicked = true;
|
|
if (var9.onClick != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_lastPressedX - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_lastPressedY - var11;
|
|
var22.args = var9.onClick;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
}
|
|
|
|
if (var9.isClicked && var35 && var9.onClickRepeat != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
var22.args = var9.onClickRepeat;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (var9.isClicked && !var35) {
|
|
var9.isClicked = false;
|
|
if (var9.onRelease != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
var22.args = var9.onRelease;
|
|
Client.field579.addFirst(var22);
|
|
}
|
|
}
|
|
|
|
if (var35 && var9.onHold != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
var22.args = var9.onHold;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (!var9.containsMouse && var34) {
|
|
var9.containsMouse = true;
|
|
if (var9.onMouseOver != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
var22.args = var9.onMouseOver;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
}
|
|
|
|
if (var9.containsMouse && var34 && var9.onMouseRepeat != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
var22.args = var9.onMouseRepeat;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (var9.containsMouse && !var34) {
|
|
var9.containsMouse = false;
|
|
if (var9.onMouseLeave != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.isMouseInputEvent = true;
|
|
var22.widget = var9;
|
|
var22.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
var22.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
var22.args = var9.onMouseLeave;
|
|
Client.field579.addFirst(var22);
|
|
}
|
|
}
|
|
|
|
if (var9.onTimer != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onTimer;
|
|
Client.field680.addFirst(var22);
|
|
}
|
|
|
|
ScriptEvent var25;
|
|
int var36;
|
|
int var37;
|
|
if (var9.onVarTransmit != null && Client.changedVarpCount > var9.field3363) {
|
|
if (var9.varTransmitTriggers != null && Client.changedVarpCount - var9.field3363 <= 32) {
|
|
label809:
|
|
for (var37 = var9.field3363; var37 < Client.changedVarpCount; ++var37) {
|
|
var23 = Client.changedVarps[var37 & 31];
|
|
|
|
for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) {
|
|
if (var23 == var9.varTransmitTriggers[var36]) {
|
|
var25 = new ScriptEvent();
|
|
var25.widget = var9;
|
|
var25.args = var9.onVarTransmit;
|
|
Client.scriptEvents.addFirst(var25);
|
|
break label809;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onVarTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
var9.field3363 = Client.changedVarpCount;
|
|
}
|
|
|
|
if (var9.onInvTransmit != null && Client.field665 > var9.field3364) {
|
|
if (var9.invTransmitTriggers != null && Client.field665 - var9.field3364 <= 32) {
|
|
label785:
|
|
for (var37 = var9.field3364; var37 < Client.field665; ++var37) {
|
|
var23 = Client.changedItemContainers[var37 & 31];
|
|
|
|
for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) {
|
|
if (var23 == var9.invTransmitTriggers[var36]) {
|
|
var25 = new ScriptEvent();
|
|
var25.widget = var9;
|
|
var25.args = var9.onInvTransmit;
|
|
Client.scriptEvents.addFirst(var25);
|
|
break label785;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onInvTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
var9.field3364 = Client.field665;
|
|
}
|
|
|
|
if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field3365) {
|
|
if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field3365 <= 32) {
|
|
label761:
|
|
for (var37 = var9.field3365; var37 < Client.changedSkillsCount; ++var37) {
|
|
var23 = Client.changedSkills[var37 & 31];
|
|
|
|
for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) {
|
|
if (var23 == var9.statTransmitTriggers[var36]) {
|
|
var25 = new ScriptEvent();
|
|
var25.widget = var9;
|
|
var25.args = var9.onStatTransmit;
|
|
Client.scriptEvents.addFirst(var25);
|
|
break label761;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onStatTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
var9.field3365 = Client.changedSkillsCount;
|
|
}
|
|
|
|
if (Client.chatCycle > var9.field3341 && var9.onChatTransmit != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onChatTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field671 > var9.field3341 && var9.onFriendTransmit != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onFriendTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field672 > var9.field3341 && var9.onClanTransmit != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onClanTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field673 > var9.field3341 && var9.field3217 != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.field3217;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field583 > var9.field3341 && var9.field3340 != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.field3340;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field675 > var9.field3341 && var9.onStockTransmit != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onStockTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field669 > var9.field3341 && var9.field3294 != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.field3294;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
if (Client.field471 > var9.field3341 && var9.onMiscTransmit != null) {
|
|
var22 = new ScriptEvent();
|
|
var22.widget = var9;
|
|
var22.args = var9.onMiscTransmit;
|
|
Client.scriptEvents.addFirst(var22);
|
|
}
|
|
|
|
var9.field3341 = Client.cycleCntr;
|
|
if (var9.onKey != null) {
|
|
for (var37 = 0; var37 < Client.field701; ++var37) {
|
|
ScriptEvent var31 = new ScriptEvent();
|
|
var31.widget = var9;
|
|
var31.keyTyped = Client.field522[var37];
|
|
var31.keyPressed = Client.field758[var37];
|
|
var31.args = var9.onKey;
|
|
Client.scriptEvents.addFirst(var31);
|
|
}
|
|
}
|
|
|
|
ScriptEvent var30;
|
|
int[] var38;
|
|
if (var9.field3335 != null) {
|
|
var38 = class78.method2140();
|
|
|
|
for (var23 = 0; var23 < var38.length; ++var23) {
|
|
var30 = new ScriptEvent();
|
|
var30.widget = var9;
|
|
var30.keyTyped = var38[var23];
|
|
var30.args = var9.field3335;
|
|
Client.scriptEvents.addFirst(var30);
|
|
}
|
|
}
|
|
|
|
if (var9.field3336 != null) {
|
|
var38 = Language.method5840();
|
|
|
|
for (var23 = 0; var23 < var38.length; ++var23) {
|
|
var30 = new ScriptEvent();
|
|
var30.widget = var9;
|
|
var30.keyTyped = var38[var23];
|
|
var30.args = var9.field3336;
|
|
Client.scriptEvents.addFirst(var30);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!var9.isIf3) {
|
|
if (Client.clickedWidget != null || class143.dragInventoryWidget != null || Client.isMenuOpen) {
|
|
continue;
|
|
}
|
|
|
|
if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
if (var9.mouseOverRedirect >= 0) {
|
|
class4.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect];
|
|
} else {
|
|
class4.mousedOverWidgetIf1 = var9;
|
|
}
|
|
}
|
|
|
|
if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
class281.field3375 = var9;
|
|
}
|
|
|
|
if (var9.scrollHeight > var9.height) {
|
|
ClientPreferences.method2293(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y);
|
|
}
|
|
}
|
|
|
|
if (var9.type == 0) {
|
|
updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY);
|
|
if (var9.children != null) {
|
|
updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY);
|
|
}
|
|
|
|
InterfaceParent var28 = (InterfaceParent)Client.interfaceParents.get((long)var9.id);
|
|
if (var28 != null) {
|
|
if (var28.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) {
|
|
for (ScriptEvent var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) {
|
|
if (var29.isMouseInputEvent) {
|
|
var29.remove();
|
|
var29.widget.containsMouse = false;
|
|
}
|
|
}
|
|
|
|
if (class87.widgetDragDuration == 0) {
|
|
Client.clickedWidget = null;
|
|
Client.clickedWidgetParent = null;
|
|
}
|
|
|
|
if (!Client.isMenuOpen) {
|
|
WorldMapElement.addCancelMenuEntry();
|
|
}
|
|
}
|
|
|
|
class13.updateRootInterface(var28.group, var12, var13, var14, var15, var10, var11);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|