367 lines
11 KiB
Java
367 lines
11 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("br")
|
|
@Implements("Message")
|
|
public class Message extends DualNode {
|
|
@ObfuscatedName("dg")
|
|
@ObfuscatedSignature(
|
|
signature = "Lig;"
|
|
)
|
|
@Export("archive1")
|
|
static Archive archive1;
|
|
@ObfuscatedName("dy")
|
|
@ObfuscatedSignature(
|
|
signature = "Lig;"
|
|
)
|
|
@Export("archive12")
|
|
static Archive archive12;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedGetter(
|
|
intValue = 397960109
|
|
)
|
|
@Export("count")
|
|
int count;
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedGetter(
|
|
intValue = -2015162379
|
|
)
|
|
@Export("cycle")
|
|
int cycle;
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedGetter(
|
|
intValue = 195455957
|
|
)
|
|
@Export("type")
|
|
int type;
|
|
@ObfuscatedName("j")
|
|
@Export("sender")
|
|
String sender;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "Lkq;"
|
|
)
|
|
@Export("senderUsername")
|
|
Username senderUsername;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
signature = "Lkf;"
|
|
)
|
|
@Export("isFromFriend0")
|
|
TriBool isFromFriend0;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "Lkf;"
|
|
)
|
|
@Export("isFromIgnored0")
|
|
TriBool isFromIgnored0;
|
|
@ObfuscatedName("u")
|
|
@Export("prefix")
|
|
String prefix;
|
|
@ObfuscatedName("a")
|
|
@Export("text")
|
|
String text;
|
|
|
|
Message(int var1, String var2, String var3, String var4) {
|
|
this.isFromFriend0 = TriBool.TriBool_unknown;
|
|
this.isFromIgnored0 = TriBool.TriBool_unknown;
|
|
this.set(var1, var2, var3, var4);
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V",
|
|
garbageValue = "-427651151"
|
|
)
|
|
@Export("set")
|
|
void set(int var1, String var2, String var3, String var4) {
|
|
int var5 = ++Messages.Messages_count - 1;
|
|
this.count = var5;
|
|
this.cycle = Client.cycle;
|
|
this.type = var1;
|
|
this.sender = var2;
|
|
this.fillSenderUsername();
|
|
this.prefix = var3;
|
|
this.text = var4;
|
|
this.clearIsFromFriend();
|
|
this.clearIsFromIgnored();
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "2093900647"
|
|
)
|
|
@Export("clearIsFromFriend")
|
|
void clearIsFromFriend() {
|
|
this.isFromFriend0 = TriBool.TriBool_unknown;
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "1408976904"
|
|
)
|
|
@Export("isFromFriend")
|
|
final boolean isFromFriend() {
|
|
if (this.isFromFriend0 == TriBool.TriBool_unknown) {
|
|
this.fillIsFromFriend();
|
|
}
|
|
|
|
return this.isFromFriend0 == TriBool.TriBool_true;
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "511529108"
|
|
)
|
|
@Export("fillIsFromFriend")
|
|
void fillIsFromFriend() {
|
|
this.isFromFriend0 = ModeWhere.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false;
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "108"
|
|
)
|
|
@Export("clearIsFromIgnored")
|
|
void clearIsFromIgnored() {
|
|
this.isFromIgnored0 = TriBool.TriBool_unknown;
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Z",
|
|
garbageValue = "-124"
|
|
)
|
|
@Export("isFromIgnored")
|
|
final boolean isFromIgnored() {
|
|
if (this.isFromIgnored0 == TriBool.TriBool_unknown) {
|
|
this.fillIsFromIgnored();
|
|
}
|
|
|
|
return this.isFromIgnored0 == TriBool.TriBool_true;
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-558597226"
|
|
)
|
|
@Export("fillIsFromIgnored")
|
|
void fillIsFromIgnored() {
|
|
this.isFromIgnored0 = ModeWhere.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false;
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1793288574"
|
|
)
|
|
@Export("fillSenderUsername")
|
|
final void fillSenderUsername() {
|
|
if (this.sender != null) {
|
|
this.senderUsername = new Username(BuddyRankComparator.method3556(this.sender), class195.loginType);
|
|
} else {
|
|
this.senderUsername = null;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("ik")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lhd;III)V",
|
|
garbageValue = "-1019531565"
|
|
)
|
|
@Export("Widget_addToMenu")
|
|
static final void Widget_addToMenu(Widget widget, int var1, int var2) {
|
|
if (widget.buttonType == 1) {
|
|
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 24, 0, 0, widget.id);
|
|
}
|
|
|
|
String var3;
|
|
if (widget.buttonType == 2 && !Client.isSpellSelected) {
|
|
var3 = WorldMapAreaData.Widget_getSpellActionName(widget);
|
|
if (var3 != null) {
|
|
ScriptEvent.insertMenuItemNoShift(var3, ItemContainer.colorStartTag(65280) + widget.spellName, 25, 0, -1, widget.id);
|
|
}
|
|
}
|
|
|
|
if (widget.buttonType == 3) {
|
|
ScriptEvent.insertMenuItemNoShift("Close", "", 26, 0, 0, widget.id);
|
|
}
|
|
|
|
if (widget.buttonType == 4) {
|
|
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 28, 0, 0, widget.id);
|
|
}
|
|
|
|
if (widget.buttonType == 5) {
|
|
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 29, 0, 0, widget.id);
|
|
}
|
|
|
|
if (widget.buttonType == 6 && Client.meslayerContinueWidget == null) {
|
|
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 30, 0, -1, widget.id);
|
|
}
|
|
|
|
int var4;
|
|
int var6;
|
|
int var7;
|
|
int var13;
|
|
if (widget.type == 2) {
|
|
var13 = 0;
|
|
|
|
for (var4 = 0; var4 < widget.height; ++var4) {
|
|
for (int var5 = 0; var5 < widget.width; ++var5) {
|
|
var6 = (widget.paddingX + 32) * var5;
|
|
var7 = (widget.paddingY + 32) * var4;
|
|
if (var13 < 20) {
|
|
var6 += widget.inventoryXOffsets[var13];
|
|
var7 += widget.inventoryYOffsets[var13];
|
|
}
|
|
|
|
if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) {
|
|
Client.dragItemSlotDestination = var13;
|
|
TaskHandler.hoveredItemContainer = widget;
|
|
if (widget.itemIds[var13] > 0) {
|
|
ItemDefinition itemDef = KitDefinition.ItemDefinition_get(widget.itemIds[var13] - 1);
|
|
if (Client.isItemSelected == 1 && FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
|
if (widget.id != AbstractUserComparator.selectedItemWidget || var13 != LoginScreenAnimation.selectedItemSlot) {
|
|
ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + itemDef.name, 31, itemDef.id, var13, widget.id);
|
|
}
|
|
} else if (Client.isSpellSelected && FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
|
if ((WorldMapSprite.selectedSpellFlags & 16) == 16) {
|
|
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + itemDef.name, 32, itemDef.id, var13, widget.id);
|
|
}
|
|
} else {
|
|
String[] actionsAry = itemDef.inventoryActions;
|
|
int shiftClickIdx = -1;
|
|
if (Client.shiftClickDrop && ModelData0.shouldPrioritizeDrop()) {
|
|
shiftClickIdx = itemDef.getShiftClickIndex();
|
|
}
|
|
|
|
int loopIdx;
|
|
if (FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
|
for (loopIdx = 4; loopIdx >= 3; --loopIdx) {
|
|
if (loopIdx != shiftClickIdx) {
|
|
WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, loopIdx, false);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (class198.Widget_containerHasUseOption(KeyHandler.getWidgetFlags(widget))) {
|
|
ScriptEvent.insertMenuItemNoShift("Use", ItemContainer.colorStartTag(16748608) + itemDef.name, 38, itemDef.id, var13, widget.id);
|
|
}
|
|
|
|
if (FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
|
for (loopIdx = 2; loopIdx >= 0; --loopIdx) {
|
|
if (loopIdx != shiftClickIdx) {
|
|
WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, loopIdx, false);
|
|
}
|
|
}
|
|
|
|
if (shiftClickIdx >= 0) {
|
|
WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, shiftClickIdx, true);
|
|
}
|
|
}
|
|
|
|
actionsAry = widget.itemActions;
|
|
if (actionsAry != null) {
|
|
for (loopIdx = 4; loopIdx >= 0; --loopIdx) {
|
|
if (actionsAry[loopIdx] != null) {
|
|
byte opcode = 0;
|
|
if (loopIdx == 0) {
|
|
opcode = 39;
|
|
}
|
|
|
|
if (loopIdx == 1) {
|
|
opcode = 40;
|
|
}
|
|
|
|
if (loopIdx == 2) {
|
|
opcode = 41;
|
|
}
|
|
|
|
if (loopIdx == 3) {
|
|
opcode = 42;
|
|
}
|
|
|
|
if (loopIdx == 4) {
|
|
opcode = 43;
|
|
}
|
|
|
|
ScriptEvent.insertMenuItemNoShift(actionsAry[loopIdx], ItemContainer.colorStartTag(16748608) + itemDef.name, opcode, itemDef.id, var13, widget.id);
|
|
}
|
|
}
|
|
}
|
|
|
|
ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + itemDef.name, 1005, itemDef.id, var13, widget.id);
|
|
}
|
|
}
|
|
}
|
|
|
|
++var13;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (widget.isIf3) {
|
|
if (Client.isSpellSelected) {
|
|
var4 = KeyHandler.getWidgetFlags(widget);
|
|
boolean var19 = (var4 >> 21 & 1) != 0;
|
|
if (var19 && (WorldMapSprite.selectedSpellFlags & 32) == 32) {
|
|
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + widget.dataText, 58, 0, widget.childIndex, widget.id);
|
|
}
|
|
} else {
|
|
for (var13 = 9; var13 >= 5; --var13) {
|
|
var6 = KeyHandler.getWidgetFlags(widget);
|
|
boolean var17 = (var6 >> var13 + 1 & 1) != 0;
|
|
String var14;
|
|
if (!var17 && widget.onOp == null) {
|
|
var14 = null;
|
|
} else if (widget.actions != null && widget.actions.length > var13 && widget.actions[var13] != null && widget.actions[var13].trim().length() != 0) {
|
|
var14 = widget.actions[var13];
|
|
} else {
|
|
var14 = null;
|
|
}
|
|
|
|
if (var14 != null) {
|
|
ScriptEvent.insertMenuItemNoShift(var14, widget.dataText, 1007, var13 + 1, widget.childIndex, widget.id);
|
|
}
|
|
}
|
|
|
|
var3 = WorldMapAreaData.Widget_getSpellActionName(widget);
|
|
if (var3 != null) {
|
|
ScriptEvent.insertMenuItemNoShift(var3, widget.dataText, 25, 0, widget.childIndex, widget.id);
|
|
}
|
|
|
|
for (var4 = 4; var4 >= 0; --var4) {
|
|
var7 = KeyHandler.getWidgetFlags(widget);
|
|
boolean var18 = (var7 >> var4 + 1 & 1) != 0;
|
|
String var15;
|
|
if (!var18 && widget.onOp == null) {
|
|
var15 = null;
|
|
} else if (widget.actions != null && widget.actions.length > var4 && widget.actions[var4] != null && widget.actions[var4].trim().length() != 0) {
|
|
var15 = widget.actions[var4];
|
|
} else {
|
|
var15 = null;
|
|
}
|
|
|
|
if (var15 != null) {
|
|
ApproximateRouteStrategy.insertMenuItem(var15, widget.dataText, 57, var4 + 1, widget.childIndex, widget.id, widget.prioritizeMenuEntry);
|
|
}
|
|
}
|
|
|
|
if (WorldMapLabel.Widget_hasContinueOption(KeyHandler.getWidgetFlags(widget))) {
|
|
ScriptEvent.insertMenuItemNoShift("Continue", "", 30, 0, widget.childIndex, widget.id);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|