Files
runelite/runescape-client/src/main/java/WorldMapEvent.java
2019-07-05 22:10:02 +01:00

272 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;
@ObfuscatedName("ap")
@Implements("WorldMapEvent")
public class WorldMapEvent {
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "[Llq;"
)
@Export("runesSprite")
static IndexedSprite[] runesSprite;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = 264384233
)
@Export("mapElement")
public int mapElement;
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "Lhu;"
)
@Export("coord1")
public TileLocation coord1;
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "Lhu;"
)
@Export("coord2")
public TileLocation coord2;
@ObfuscatedSignature(
signature = "(ILhu;Lhu;)V"
)
public WorldMapEvent(int var1, TileLocation var2, TileLocation var3) {
this.mapElement = var1;
this.coord1 = var2;
this.coord2 = var3;
}
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(II)I",
garbageValue = "-782761258"
)
public static int method780(int var0) {
return UnitPriceComparator.method134(ViewportMouse.ViewportMouse_entityTags[var0]);
}
@ObfuscatedName("iy")
@ObfuscatedSignature(
signature = "(IIIIB)V",
garbageValue = "2"
)
@Export("addSceneMenuOptions")
static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) {
if (Client.isItemSelected == 0 && !Client.isSpellSelected) {
Tiles.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3);
}
long var4 = -1L;
long var6 = -1L;
int var8 = 0;
while (true) {
int var9 = ViewportMouse.ViewportMouse_entityCount;
if (var8 >= var9) {
if (-1L != var4) {
var8 = UnitPriceComparator.method134(var4);
int var29 = (int)(var4 >>> 7 & 127L);
Player var11 = Client.players[Client.combatTargetPlayerIndex];
TotalQuantityComparator.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, var29);
}
return;
}
long tag = ViewportMouse.ViewportMouse_entityTags[var8];
if (var6 != tag) {
label276: {
var6 = tag;
int x = method780(var8);
long var13 = ViewportMouse.ViewportMouse_entityTags[var8];
int y = (int)(var13 >>> 7 & 127L);
y = y;
int var16 = GrandExchangeEvent.method80(var8);
int identifier = ClientPreferences.method1808(var8);
if (var16 == 2 && class65.scene.getObjectFlags(SoundSystem.plane, x, y, tag) >= 0) {
ObjectDefinition var18 = class50.getObjectDefinition(identifier);
if (var18.transforms != null) {
var18 = var18.transform();
}
if (var18 == null) {
break label276;
}
if (Client.isItemSelected == 1) {
Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(65535) + var18.name, 1, identifier, x, y);
} else if (Client.isSpellSelected) {
if ((FloorDecoration.selectedSpellFlags & 4) == 4) {
Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(65535) + var18.name, 2, identifier, x, y);
}
} else {
String[] var19 = var18.actions;
if (var19 != null) {
for (int var20 = 4; var20 >= 0; --var20) {
if (var19[var20] != null) {
short var21 = 0;
if (var20 == 0) {
var21 = 3;
}
if (var20 == 1) {
var21 = 4;
}
if (var20 == 2) {
var21 = 5;
}
if (var20 == 3) {
var21 = 6;
}
if (var20 == 4) {
var21 = 1001;
}
Tiles.insertMenuItemNoShift(var19[var20], BufferedFile.colorStartTag(65535) + var18.name, var21, identifier, x, y);
}
}
}
Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(65535) + var18.name, 1002, var18.id, x, y);
}
}
int var22;
int var30;
NPC var31;
Player var32;
int[] var34;
if (var16 == 1) {
NPC var23 = Client.npcs[identifier];
if (var23 == null) {
break label276;
}
if (var23.definition.size == 1 && (var23.x & 127) == 64 && (var23.y & 127) == 64) {
for (var30 = 0; var30 < Client.npcCount; ++var30) {
var31 = Client.npcs[Client.npcIndices[var30]];
if (var31 != null && var23 != var31 && var31.definition.size == 1 && var31.x == var23.x && var31.y == var23.y) {
Tile.addNpcToMenu(var31.definition, Client.npcIndices[var30], x, y);
}
}
var30 = Players.Players_count;
var34 = Players.Players_indices;
for (var22 = 0; var22 < var30; ++var22) {
var32 = Client.players[var34[var22]];
if (var32 != null && var32.x == var23.x && var32.y == var23.y) {
TotalQuantityComparator.addPlayerToMenu(var32, var34[var22], x, y);
}
}
}
Tile.addNpcToMenu(var23.definition, identifier, x, y);
}
if (var16 == 0) {
Player var33 = Client.players[identifier];
if (var33 == null) {
break label276;
}
if ((var33.x & 127) == 64 && (var33.y & 127) == 64) {
for (var30 = 0; var30 < Client.npcCount; ++var30) {
var31 = Client.npcs[Client.npcIndices[var30]];
if (var31 != null && var31.definition.size == 1 && var33.x == var31.x && var33.y == var31.y) {
Tile.addNpcToMenu(var31.definition, Client.npcIndices[var30], x, y);
}
}
var30 = Players.Players_count;
var34 = Players.Players_indices;
for (var22 = 0; var22 < var30; ++var22) {
var32 = Client.players[var34[var22]];
if (var32 != null && var32 != var33 && var32.x == var33.x && var32.y == var33.y) {
TotalQuantityComparator.addPlayerToMenu(var32, var34[var22], x, y);
}
}
}
if (identifier != Client.combatTargetPlayerIndex) {
TotalQuantityComparator.addPlayerToMenu(var33, identifier, x, y);
} else {
var4 = tag;
}
}
if (var16 == 3) {
NodeDeque var35 = Client.groundItems[SoundSystem.plane][x][y];
if (var35 != null) {
for (GroundItem var24 = (GroundItem)var35.first(); var24 != null; var24 = (GroundItem)var35.next()) {
ItemDefinition var25 = Skills.getItemDefinition(var24.id);
if (Client.isItemSelected == 1) {
Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(16748608) + var25.name, 16, var24.id, x, y);
} else if (Client.isSpellSelected) {
if ((FloorDecoration.selectedSpellFlags & 1) == 1) {
Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(16748608) + var25.name, 17, var24.id, x, y);
}
} else {
String[] var26 = var25.groundActions;
for (int var27 = 4; var27 >= 0; --var27) {
if (var26 != null && var26[var27] != null) {
byte var28 = 0;
if (var27 == 0) {
var28 = 18;
}
if (var27 == 1) {
var28 = 19;
}
if (var27 == 2) {
var28 = 20;
}
if (var27 == 3) {
var28 = 21;
}
if (var27 == 4) {
var28 = 22;
}
Tiles.insertMenuItemNoShift(var26[var27], BufferedFile.colorStartTag(16748608) + var25.name, var28, var24.id, x, y);
} else if (var27 == 2) {
Tiles.insertMenuItemNoShift("Take", BufferedFile.colorStartTag(16748608) + var25.name, 20, var24.id, x, y);
}
}
Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(16748608) + var25.name, 1004, var24.id, x, y);
}
}
}
}
}
}
++var8;
}
}
@ObfuscatedName("jw")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "43"
)
@Export("isShiftPressed")
static boolean isShiftPressed() {
return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81];
}
}