skitzo: Best rotterdammer out there
This commit is contained in:
@@ -312,4 +312,11 @@ public final class AnimationID
|
|||||||
public static final int DAG_REX = 2853;
|
public static final int DAG_REX = 2853;
|
||||||
public static final int DAG_PRIME = 2854;
|
public static final int DAG_PRIME = 2854;
|
||||||
public static final int DAG_SUPREME = 2855;
|
public static final int DAG_SUPREME = 2855;
|
||||||
|
|
||||||
|
// Lizardman shaman
|
||||||
|
public static final int LIZARDMAN_SHAMAN_SPAWN = 2855;
|
||||||
|
|
||||||
|
// Combat counter
|
||||||
|
public static final int BARRAGE_ANIMATION = 1979;
|
||||||
|
public static final int CHIN_ANIMATION = 7618;
|
||||||
}
|
}
|
||||||
@@ -205,4 +205,9 @@ public final class ScriptID
|
|||||||
* Send a public message
|
* Send a public message
|
||||||
*/
|
*/
|
||||||
public static final int PUBLICMSG = 13337;
|
public static final int PUBLICMSG = 13337;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TExt typed in the chatbox
|
||||||
|
*/
|
||||||
|
public static final int CHATBOX_TEXT = 96;
|
||||||
}
|
}
|
||||||
@@ -151,6 +151,7 @@ public class WidgetID
|
|||||||
public static final int BEGINNER_CLUE_MAP_WIZARDS_TOWER = 356;
|
public static final int BEGINNER_CLUE_MAP_WIZARDS_TOWER = 356;
|
||||||
public static final int SEED_BOX_GROUP_ID = 128;
|
public static final int SEED_BOX_GROUP_ID = 128;
|
||||||
public static final int ITEMS_KEPT_ON_DEATH_GROUP_ID = 4;
|
public static final int ITEMS_KEPT_ON_DEATH_GROUP_ID = 4;
|
||||||
|
public static final int TRADING_SCREEN = 335;
|
||||||
|
|
||||||
static class WorldMap
|
static class WorldMap
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,11 +26,14 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.banlist;
|
package net.runelite.client.plugins.banlist;
|
||||||
|
|
||||||
|
import com.google.common.base.Splitter;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -43,6 +46,7 @@ import net.runelite.api.events.ConfigChanged;
|
|||||||
import net.runelite.api.events.WidgetHiddenChanged;
|
import net.runelite.api.events.WidgetHiddenChanged;
|
||||||
import net.runelite.api.events.WidgetLoaded;
|
import net.runelite.api.events.WidgetLoaded;
|
||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.TRADING_SCREEN;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.chat.ChatColorType;
|
import net.runelite.client.chat.ChatColorType;
|
||||||
@@ -85,10 +89,10 @@ public class BanListPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private ChatMessageManager chatMessageManager;
|
private ChatMessageManager chatMessageManager;
|
||||||
|
|
||||||
private final List<String> wdrScamArrayList = new ArrayList<>();
|
private final Set<String> wdrScamSet = new HashSet<>();
|
||||||
private final List<String> wdrToxicArrayList = new ArrayList<>();
|
private final Set<String> wdrToxicSet = new HashSet<>();
|
||||||
private final List<String> runeWatchArrayList = new ArrayList<>();
|
private final Set<String> runeWatchSet = new HashSet<>();
|
||||||
private final List<String> manualBans = new ArrayList<>();
|
private final Set<String> manualBans = new HashSet<>();
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
BanListConfig getConfig(ConfigManager configManager)
|
BanListConfig getConfig(ConfigManager configManager)
|
||||||
@@ -113,9 +117,9 @@ public class BanListPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void shutDown() throws Exception
|
protected void shutDown() throws Exception
|
||||||
{
|
{
|
||||||
wdrScamArrayList.clear();
|
wdrScamSet.clear();
|
||||||
wdrToxicArrayList.clear();
|
wdrToxicSet.clear();
|
||||||
runeWatchArrayList.clear();
|
runeWatchSet.clear();
|
||||||
manualBans.clear();
|
manualBans.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,11 +128,17 @@ public class BanListPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
if (event.getGroup().equals("banlist") && event.getKey().equals("bannedPlayers"))
|
if (event.getGroup().equals("banlist") && event.getKey().equals("bannedPlayers"))
|
||||||
{
|
{
|
||||||
for (String manual : Text.fromCSV(config.getBannedPlayers()))
|
List<String> bannedPlayers = Splitter
|
||||||
|
.on(",")
|
||||||
|
.trimResults()
|
||||||
|
.omitEmptyStrings()
|
||||||
|
.splitToList(config.getBannedPlayers());
|
||||||
|
|
||||||
|
for (String bannedPlayer : bannedPlayers)
|
||||||
{
|
{
|
||||||
if (!manualBans.contains(manual))
|
if (!manualBans.contains(bannedPlayer))
|
||||||
{
|
{
|
||||||
manualBans.add(Text.standardize(manual));
|
manualBans.add(Text.standardize(bannedPlayer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -171,12 +181,14 @@ public class BanListPlugin extends Plugin
|
|||||||
public void onClanMemberJoined(ClanMemberJoined event)
|
public void onClanMemberJoined(ClanMemberJoined event)
|
||||||
{
|
{
|
||||||
ClanMember member = event.getMember();
|
ClanMember member = event.getMember();
|
||||||
ListType scamList = checkScamList(Text.standardize(member.getUsername()));
|
String memberUsername = Text.standardize(member.getUsername().toLowerCase());
|
||||||
ListType toxicList = checkToxicList(Text.standardize(member.getUsername()));
|
|
||||||
|
ListType scamList = checkScamList(memberUsername);
|
||||||
|
ListType toxicList = checkToxicList(memberUsername);
|
||||||
|
|
||||||
if (scamList != null)
|
if (scamList != null)
|
||||||
{
|
{
|
||||||
sendWarning(Text.standardize(member.getUsername()), scamList);
|
sendWarning(memberUsername, scamList);
|
||||||
if (this.highlightInClan)
|
if (this.highlightInClan)
|
||||||
{
|
{
|
||||||
highlightRedInCC();
|
highlightRedInCC();
|
||||||
@@ -185,7 +197,7 @@ public class BanListPlugin extends Plugin
|
|||||||
|
|
||||||
if (toxicList != null)
|
if (toxicList != null)
|
||||||
{
|
{
|
||||||
sendWarning(Text.standardize(member.getUsername()), toxicList);
|
sendWarning(memberUsername, toxicList);
|
||||||
if (this.highlightInClan)
|
if (this.highlightInClan)
|
||||||
{
|
{
|
||||||
highlightRedInCC();
|
highlightRedInCC();
|
||||||
@@ -199,12 +211,12 @@ public class BanListPlugin extends Plugin
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onWidgetLoaded(WidgetLoaded widgetLoaded)
|
public void onWidgetLoaded(WidgetLoaded widgetLoaded)
|
||||||
{
|
{
|
||||||
if (this.highlightInTrade && widgetLoaded.getGroupId() == 335)
|
if (this.highlightInTrade && widgetLoaded.getGroupId() == TRADING_SCREEN)
|
||||||
{ //if trading window was loaded
|
{ //if trading window was loaded
|
||||||
clientThread.invokeLater(() ->
|
clientThread.invokeLater(() ->
|
||||||
{
|
{
|
||||||
Widget tradingWith = client.getWidget(335, 31);
|
Widget tradingWith = client.getWidget(335, 31);
|
||||||
String name = tradingWith.getText().replaceAll("Trading With: ", "");
|
String name = tradingWith.getText().replaceAll("Trading With: ", "").toLowerCase();
|
||||||
if (checkScamList(name) != null)
|
if (checkScamList(name) != null)
|
||||||
{
|
{
|
||||||
tradingWith.setText(tradingWith.getText().replaceAll(name, "<col=ff0000>" + name + " (Scammer)" + "</col>"));
|
tradingWith.setText(tradingWith.getText().replaceAll(name, "<col=ff0000>" + name + " (Scammer)" + "</col>"));
|
||||||
@@ -222,17 +234,17 @@ public class BanListPlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
private ListType checkScamList(String nameToBeChecked)
|
private ListType checkScamList(String nameToBeChecked)
|
||||||
{
|
{
|
||||||
if (wdrScamArrayList.size() > 0 && this.enableWDR && wdrScamArrayList.stream().anyMatch(nameToBeChecked::equalsIgnoreCase))
|
if (wdrScamSet.size() > 0 && this.enableWDR && wdrScamSet.contains(nameToBeChecked))
|
||||||
{
|
{
|
||||||
return ListType.WEDORAIDSSCAM_LIST;
|
return ListType.WEDORAIDSSCAM_LIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (runeWatchArrayList.size() > 0 && this.enableRuneWatch && runeWatchArrayList.stream().anyMatch(nameToBeChecked::equalsIgnoreCase))
|
if (runeWatchSet.size() > 0 && this.enableRuneWatch && runeWatchSet.contains(nameToBeChecked))
|
||||||
{
|
{
|
||||||
return ListType.RUNEWATCH_LIST;
|
return ListType.RUNEWATCH_LIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (manualBans.size() > 0 && manualBans.stream().anyMatch(nameToBeChecked::equalsIgnoreCase))
|
if (manualBans.size() > 0 && manualBans.contains(nameToBeChecked))
|
||||||
{
|
{
|
||||||
return ListType.MANUAL_LIST;
|
return ListType.MANUAL_LIST;
|
||||||
}
|
}
|
||||||
@@ -243,7 +255,7 @@ public class BanListPlugin extends Plugin
|
|||||||
private ListType checkToxicList(String nameToBeChecked)
|
private ListType checkToxicList(String nameToBeChecked)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (wdrToxicArrayList.size() > 0 && this.enableWDR && wdrToxicArrayList.stream().anyMatch(nameToBeChecked::equalsIgnoreCase))
|
if (wdrToxicSet.size() > 0 && this.enableWDR && wdrToxicSet.contains(nameToBeChecked))
|
||||||
{
|
{
|
||||||
return ListType.WEDORAIDSTOXIC_LIST;
|
return ListType.WEDORAIDSTOXIC_LIST;
|
||||||
}
|
}
|
||||||
@@ -337,9 +349,9 @@ public class BanListPlugin extends Plugin
|
|||||||
|
|
||||||
ArrayList<String> wdrList = new ArrayList<>(Arrays.asList(text.split(",")));
|
ArrayList<String> wdrList = new ArrayList<>(Arrays.asList(text.split(",")));
|
||||||
ArrayList<String> wdrList2 = new ArrayList<>();
|
ArrayList<String> wdrList2 = new ArrayList<>();
|
||||||
wdrList.forEach((name) -> wdrList2.add(Text.standardize(name)));
|
wdrList.forEach((name) -> wdrList2.add(Text.standardize(name).toLowerCase()));
|
||||||
|
|
||||||
wdrScamArrayList.addAll(wdrList2);
|
wdrScamSet.addAll(wdrList2);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -367,7 +379,7 @@ public class BanListPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
x = x.substring(x.indexOf("title"), x.indexOf('>'));
|
x = x.substring(x.indexOf("title"), x.indexOf('>'));
|
||||||
x = x.substring(x.indexOf('=') + 2, x.length() - 1);
|
x = x.substring(x.indexOf('=') + 2, x.length() - 1);
|
||||||
runeWatchArrayList.add(Text.standardize(x));
|
runeWatchSet.add(Text.standardize(x).toLowerCase());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -394,9 +406,9 @@ public class BanListPlugin extends Plugin
|
|||||||
|
|
||||||
ArrayList<String> wdrToxicList = new ArrayList<>(Arrays.asList(text.split(",")));
|
ArrayList<String> wdrToxicList = new ArrayList<>(Arrays.asList(text.split(",")));
|
||||||
ArrayList<String> wdrToxicList2 = new ArrayList<>();
|
ArrayList<String> wdrToxicList2 = new ArrayList<>();
|
||||||
wdrToxicList.forEach((name) -> wdrToxicList2.add(Text.standardize(name)));
|
wdrToxicList.forEach((name) -> wdrToxicList2.add(Text.standardize(name).toLowerCase()));
|
||||||
|
|
||||||
wdrToxicArrayList.addAll(wdrToxicList2);
|
wdrToxicSet.addAll(wdrToxicList2);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -411,8 +423,8 @@ public class BanListPlugin extends Plugin
|
|||||||
Widget widget = client.getWidget(WidgetInfo.CLAN_CHAT_LIST);
|
Widget widget = client.getWidget(WidgetInfo.CLAN_CHAT_LIST);
|
||||||
for (Widget widgetChild : widget.getDynamicChildren())
|
for (Widget widgetChild : widget.getDynamicChildren())
|
||||||
{
|
{
|
||||||
ListType scamList = checkScamList(widgetChild.getText());
|
ListType scamList = checkScamList(widgetChild.getText().toLowerCase());
|
||||||
ListType toxicList = checkToxicList(widgetChild.getText());
|
ListType toxicList = checkToxicList(widgetChild.getText().toLowerCase());
|
||||||
|
|
||||||
if (scamList != null)
|
if (scamList != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ class BarrowsOverlay extends Overlay
|
|||||||
final List<Player> players = client.getPlayers();
|
final List<Player> players = client.getPlayers();
|
||||||
for (Player player : players)
|
for (Player player : players)
|
||||||
{
|
{
|
||||||
if (player.equals(local))
|
if (player == local)
|
||||||
{
|
{
|
||||||
// Skip local player as we draw square for it later
|
// Skip local player as we draw square for it later
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -818,7 +818,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
log.error(e.toString());
|
log.error("Error looking up prices", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
int itemId = item.getId();
|
int itemId = item.getId();
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import com.google.common.collect.ImmutableList;
|
|||||||
import com.google.common.collect.ObjectArrays;
|
import com.google.common.collect.ObjectArrays;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@@ -15,6 +15,7 @@ import net.runelite.api.GameState;
|
|||||||
import net.runelite.api.MenuAction;
|
import net.runelite.api.MenuAction;
|
||||||
import net.runelite.api.MenuEntry;
|
import net.runelite.api.MenuEntry;
|
||||||
import net.runelite.api.MessageNode;
|
import net.runelite.api.MessageNode;
|
||||||
|
import static net.runelite.api.ScriptID.CHATBOX_TEXT;
|
||||||
import net.runelite.api.VarClientStr;
|
import net.runelite.api.VarClientStr;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
@@ -50,7 +51,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
|
|||||||
|
|
||||||
private static final ImmutableList<String> AFTER_OPTIONS = ImmutableList.of("Message", "Add ignore", "Remove friend", "Kick");
|
private static final ImmutableList<String> AFTER_OPTIONS = ImmutableList.of("Message", "Add ignore", "Remove friend", "Kick");
|
||||||
|
|
||||||
private final List<String> playerNames = new ArrayList<>();
|
private final Set<String> playerNames = new HashSet<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
@@ -258,7 +259,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
log.warn(e.toString());
|
log.warn("Translation error", e);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -274,7 +275,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
|
|||||||
client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, translation);
|
client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, translation);
|
||||||
|
|
||||||
clientThread.invoke(() ->
|
clientThread.invoke(() ->
|
||||||
client.runScript(96, 0, translation));
|
client.runScript(CHATBOX_TEXT, 0, translation));
|
||||||
}
|
}
|
||||||
client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, "");
|
client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, "");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ public class ClanChatPlugin extends Plugin
|
|||||||
|
|
||||||
for (final Player player : client.getPlayers())
|
for (final Player player : client.getPlayers())
|
||||||
{
|
{
|
||||||
if (player != null && !player.equals(local) && memberName.equals(Text.toJagexName(player.getName())))
|
if (player != null && player != local && memberName.equals(Text.toJagexName(player.getName())))
|
||||||
{
|
{
|
||||||
clanMembers.add(player);
|
clanMembers.add(player);
|
||||||
addClanCounter();
|
addClanCounter();
|
||||||
|
|||||||
@@ -24,14 +24,26 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.combatcounter;
|
package net.runelite.client.plugins.combatcounter;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Actor;
|
import net.runelite.api.Actor;
|
||||||
|
import static net.runelite.api.AnimationID.BARRAGE_ANIMATION;
|
||||||
|
import static net.runelite.api.AnimationID.BLOWPIPE_ATTACK;
|
||||||
|
import static net.runelite.api.AnimationID.CHIN_ANIMATION;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.Hitsplat;
|
import net.runelite.api.Hitsplat;
|
||||||
import net.runelite.api.NPC;
|
import net.runelite.api.NPC;
|
||||||
@@ -50,13 +62,6 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
import net.runelite.client.plugins.PluginType;
|
import net.runelite.client.plugins.PluginType;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Tick Counter",
|
name = "Tick Counter",
|
||||||
description = "Count the amount of perfect combat ticks performed by each player.",
|
description = "Count the amount of perfect combat ticks performed by each player.",
|
||||||
@@ -116,130 +121,116 @@ public class CombatCounter extends Plugin
|
|||||||
return configManager.getConfig(CombatCounterConfig.class);
|
return configManager.getConfig(CombatCounterConfig.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Map<Integer, Integer> VARIABLES = new HashMap<Integer, Integer>()
|
private static final Map<Integer, Integer> VARIABLES = ImmutableMap.<Integer, Integer>builder()
|
||||||
{
|
.put(422, 4) // Unarmed Punch, Block
|
||||||
{
|
.put(423, 4) // Unarmed Kick
|
||||||
this.put(422, 4); // Unarmed Punch, Block
|
|
||||||
this.put(423, 4); // Unarmed Kick
|
|
||||||
|
|
||||||
this.put(8145, 4); // Rapier Stab, Lunge, Block
|
.put(8145, 4) // Rapier Stab, Lunge, Block
|
||||||
this.put(390, 4); // Rapier Slash
|
.put(390, 4) // Rapier Slash
|
||||||
|
|
||||||
this.put(7552, 5); // Armadyl Crossbow Accurate, Rapid, Longrange, Special
|
.put(7552, 5) // Armadyl Crossbow Accurate, Rapid, Longrange, Special
|
||||||
|
|
||||||
this.put(1167, 4); // Trident Accurate, Accurate, Longrange
|
.put(1167, 4) // Trident Accurate, Accurate, Longrange
|
||||||
|
|
||||||
this.put(401, 6); // Dragon Warhammer Pound, Pummel, Block
|
.put(401, 6) // Dragon Warhammer Pound, Pummel, Block
|
||||||
this.put(1378, 6); // Dragon Warhammer Special
|
.put(1378, 6) // Dragon Warhammer Special
|
||||||
|
|
||||||
this.put(393, 4); // Dragon Claws Chop, Slash, Block
|
.put(393, 4) // Dragon Claws Chop, Slash, Block
|
||||||
this.put(1067, 4); // Dragon Claws Lunge
|
.put(1067, 4) // Dragon Claws Lunge
|
||||||
this.put(7514, 4); // Dragon Claws Special
|
.put(7514, 4) // Dragon Claws Special
|
||||||
|
|
||||||
this.put(8288, 4); // Dragon Hunter Lance Lunge, Block
|
.put(8288, 4) // Dragon Hunter Lance Lunge, Block
|
||||||
this.put(8289, 4); // Dragon Hunter Lance Swipe
|
.put(8289, 4) // Dragon Hunter Lance Swipe
|
||||||
this.put(8290, 4); // Dragon Hunter Lance Pound
|
.put(8290, 4) // Dragon Hunter Lance Pound
|
||||||
|
|
||||||
this.put(7516, 6); // Elder maul Pound, Pummel, Block
|
.put(7516, 6) // Elder maul Pound, Pummel, Block
|
||||||
|
|
||||||
this.put(8056, 5); // Scythe of Vitur Reap, Chop, Jab, Block
|
.put(8056, 5) // Scythe of Vitur Reap, Chop, Jab, Block
|
||||||
|
|
||||||
this.put(7045, 6); // Bandos Godsword Chop, Slash
|
.put(7045, 6) // Bandos Godsword Chop, Slash
|
||||||
this.put(7054, 6); // Bandos Godsword Smash
|
.put(7054, 6) // Bandos Godsword Smash
|
||||||
this.put(7055, 6); // Bandos Godsword Block
|
.put(7055, 6) // Bandos Godsword Block
|
||||||
this.put(7642, 6); // Bandos Godsword Special
|
.put(7642, 6) // Bandos Godsword Special
|
||||||
this.put(7643, 6); // Bandos Godsword Special (Ornamate)
|
.put(7643, 6) // Bandos Godsword Special (Ornamate)
|
||||||
|
|
||||||
this.put(426, 5); // Twisted Bow Accurate, Rapid, Longrange
|
.put(426, 5) // Twisted Bow Accurate, Rapid, Longrange
|
||||||
|
|
||||||
this.put(414, 5); // Kodai Bash, Pound, Focus
|
.put(414, 5) // Kodai Bash, Pound, Focus
|
||||||
|
|
||||||
this.put(428, 4); // Staff of Light Jab
|
.put(428, 4) // Staff of Light Jab
|
||||||
this.put(440, 4); // Staff of Light Swipe
|
.put(440, 4) // Staff of Light Swipe
|
||||||
this.put(419, 4); // Staff of Light Fend
|
.put(419, 4) // Staff of Light Fend
|
||||||
this.put(7967, 4); // Staff of Light Special
|
.put(7967, 4) // Staff of Light Special
|
||||||
|
|
||||||
this.put(428, 7); // Crystal Halberd Jab, Fend
|
.put(428, 7) // Crystal Halberd Jab, Fend
|
||||||
this.put(419, 7); // Crystal Halberd Swipe
|
.put(419, 7) // Crystal Halberd Swipe
|
||||||
this.put(1203, 7); // Crystal Halberd Special
|
.put(1203, 7) // Crystal Halberd Special
|
||||||
|
|
||||||
this.put(5061, 2); // Toxic Blowpipe Accurate, Rapid, Longrange, Special
|
.put(5061, 2) // Toxic Blowpipe Accurate, Rapid, Longrange, Special
|
||||||
|
|
||||||
this.put(1979, 5); // Ancient Magicks Barrage
|
.put(1979, 5) // Ancient Magicks Barrage
|
||||||
this.put(1978, 5); // Ancient Magicks Blitz
|
.put(1978, 5) // Ancient Magicks Blitz
|
||||||
|
|
||||||
this.put(7618, 3); // Chinchompa Short, Medium, Long Fuse
|
.put(7618, 3) // Chinchompa Short, Medium, Long Fuse
|
||||||
this.put(1658, 4); // Whip Flick, Lash, Deflect
|
.put(1658, 4) // Whip Flick, Lash, Deflect
|
||||||
|
|
||||||
this.put(7555, 6); // Ballista Accurate, Rapid, Longrange
|
.put(7555, 6) // Ballista Accurate, Rapid, Longrange
|
||||||
}
|
.build();
|
||||||
};
|
|
||||||
|
|
||||||
private final List<Integer> MELEE_ANIMATIONS = new ArrayList<Integer>()
|
|
||||||
{
|
|
||||||
{
|
|
||||||
this.add(422); // Unarmed Punch, Block
|
|
||||||
this.add(423); // Unarmed Kick
|
|
||||||
|
|
||||||
this.add(8145); // Rapier Stab, Lunge, Block
|
private static final Set<Integer> MELEE_ANIMATIONS = ImmutableSet.<Integer>builder()
|
||||||
this.add(390); // Rapier Slash
|
.add(422) // Unarmed Punch, Block
|
||||||
|
.add(423) // Unarmed Kick
|
||||||
|
|
||||||
this.add(401); // Dragon Warhammer Pound, Pummel, Block
|
.add(8145) // Rapier Stab, Lunge, Block
|
||||||
this.add(1378); // Dragon Warhammer Special
|
.add(390) // Rapier Slash
|
||||||
|
|
||||||
this.add(393); // Dragon Claws Chop, Slash, Block
|
.add(401) // Dragon Warhammer Pound, Pummel, Block
|
||||||
this.add(1067); // Dragon Claws Lunge
|
.add(1378) // Dragon Warhammer Special
|
||||||
this.add(7514); // Dragon Claws Special
|
|
||||||
|
|
||||||
this.add(8288); // Dragon Hunter Lance Lunge, Block
|
.add(393) // Dragon Claws Chop, Slash, Block
|
||||||
this.add(8289); // Dragon Hunter Lance Swipe
|
.add(1067) // Dragon Claws Lunge
|
||||||
this.add(8290); // Dragon Hunter Lance Pound
|
.add(7514) // Dragon Claws Special
|
||||||
|
|
||||||
this.add(7516); // Elder maul Pound, Pummel, Block
|
.add(8288) // Dragon Hunter Lance Lunge, Block
|
||||||
|
.add(8289) // Dragon Hunter Lance Swipe
|
||||||
|
.add(8290) // Dragon Hunter Lance Pound
|
||||||
|
|
||||||
this.add(8056); // Scythe of Vitur Reap, Chop, Jab, Block
|
.add(7516) // Elder maul Pound, Pummel, Block
|
||||||
|
|
||||||
this.add(7045); // Bandos Godsword Chop, Slash
|
.add(8056) // Scythe of Vitur Reap, Chop, Jab, Block
|
||||||
this.add(7054); // Bandos Godsword Smash
|
|
||||||
this.add(7055); // Bandos Godsword Block
|
|
||||||
this.add(7642); // Bandos Godsword Special
|
|
||||||
this.add(7643); // Bandos Godsword Special (Ornamate)
|
|
||||||
|
|
||||||
this.add(414); // Kodai Bash, Pound, Focus
|
.add(7045) // Bandos Godsword Chop, Slash
|
||||||
|
.add(7054) // Bandos Godsword Smash
|
||||||
|
.add(7055) // Bandos Godsword Block
|
||||||
|
.add(7642) // Bandos Godsword Special
|
||||||
|
.add(7643) // Bandos Godsword Special (Ornamate)
|
||||||
|
|
||||||
this.add(428); // Staff of Light Jab
|
.add(414) // Kodai Bash, Pound, Focus
|
||||||
this.add(440); // Staff of Light Swipe
|
|
||||||
this.add(419); // Staff of Light Fend
|
|
||||||
|
|
||||||
this.add(428); // Crystal Halberd Jab, Fend
|
.add(428) // Staff of Light Jab
|
||||||
this.add(419); // Crystal Halberd Swipe
|
.add(440) // Staff of Light Swipe
|
||||||
this.add(1203); // Crystal Halberd Special
|
.add(419) // Staff of Light Fend
|
||||||
|
|
||||||
this.add(1658); // Whip Flick, Lash, Deflect
|
.add(428) // Crystal Halberd Jab, Fend
|
||||||
}
|
.add(419) // Crystal Halberd Swipe
|
||||||
};
|
.add(1203) // Crystal Halberd Special
|
||||||
|
|
||||||
private final List<Integer> RANGE_ANIMATIONS = new ArrayList<Integer>()
|
.add(1658) // Whip Flick, Lash, Deflect
|
||||||
{
|
.build();
|
||||||
{
|
|
||||||
this.add(7552); // Armadyl Crossbow Accurate, Rapid, Longrange, Special
|
|
||||||
|
|
||||||
this.add(426); // Twisted Bow Accurate, Rapid, Longrange
|
private static final Set<Integer> RANGE_ANIMATIONS = ImmutableSet.of(
|
||||||
|
7552, // Armadyl Crossbow Accurate, Rapid, Longrange, Special
|
||||||
|
426, // Twisted Bow Accurate, Rapid, Longrange
|
||||||
|
7618, // Chinchompa Short, Medium, Long Fuse
|
||||||
|
7555 // Ballista Accurate, Rapid, Longrange
|
||||||
|
);
|
||||||
|
|
||||||
this.add(7618); // Chinchompa Short, Medium, Long Fuse
|
private static final Set<Integer> MAGE_ANIMATIONS = ImmutableSet.of(
|
||||||
|
1167, // Trident Accurate, Accurate, Longrange
|
||||||
this.add(7555); // Ballista Accurate, Rapid, Longrange
|
1978, // Ancient Magicks Blitz
|
||||||
}
|
1979 // Ancient Magicks Barrage
|
||||||
};
|
);
|
||||||
|
|
||||||
private final List<Integer> MAGE_ANIMATIONS = new ArrayList<Integer>()
|
|
||||||
{
|
|
||||||
{
|
|
||||||
this.add(1167); // Trident Accurate, Accurate, Longrange
|
|
||||||
this.add(1978); // Ancient Magicks Blitz
|
|
||||||
this.add(1979); // Ancient Magicks Barrage
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void startUp() throws Exception
|
protected void startUp() throws Exception
|
||||||
@@ -298,8 +289,7 @@ public class CombatCounter extends Plugin
|
|||||||
counter.put(name, ticks);
|
counter.put(name, ticks);
|
||||||
counter = sortByValue(counter);
|
counter = sortByValue(counter);
|
||||||
|
|
||||||
long BLOWPIPE_ID = 5061;
|
if (animation == BLOWPIPE_ATTACK)
|
||||||
if (animation == BLOWPIPE_ID)
|
|
||||||
{
|
{
|
||||||
this.blowpipe.put(name, -4L);
|
this.blowpipe.put(name, -4L);
|
||||||
}
|
}
|
||||||
@@ -315,12 +305,12 @@ public class CombatCounter extends Plugin
|
|||||||
List<NPC> actives = new ArrayList<>();
|
List<NPC> actives = new ArrayList<>();
|
||||||
actives.add(npc);
|
actives.add(npc);
|
||||||
|
|
||||||
if (animation == 1979 || animation == 7618)
|
if (BARRAGE_ANIMATION == 1979 || CHIN_ANIMATION == 7618)
|
||||||
{ // Barrage or chin.
|
{ // Barrage or chin.
|
||||||
for (NPC nearby : this.client.getNpcs())
|
for (NPC nearby : this.client.getNpcs())
|
||||||
{
|
{
|
||||||
int distance = npc.getWorldLocation().distanceTo(nearby.getWorldLocation());
|
int distance = npc.getWorldLocation().distanceTo(nearby.getWorldLocation());
|
||||||
if (distance <= 1 && npc.equals(nearby))
|
if (distance <= 1 && npc != nearby)
|
||||||
{
|
{
|
||||||
actives.add(nearby);
|
actives.add(nearby);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ public class CorpPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
NPC npc = npcDespawned.getNpc();
|
NPC npc = npcDespawned.getNpc();
|
||||||
|
|
||||||
if (npc != null && npc.equals(corp))
|
if (npc == corp)
|
||||||
{
|
{
|
||||||
log.debug("Corporeal beast despawn: {}", npc);
|
log.debug("Corporeal beast despawn: {}", npc);
|
||||||
corp = null;
|
corp = null;
|
||||||
@@ -193,7 +193,7 @@ public class CorpPlugin extends Plugin
|
|||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (npc != null && npc.equals(core))
|
else if (npc == core)
|
||||||
{
|
{
|
||||||
core = null;
|
core = null;
|
||||||
}
|
}
|
||||||
@@ -204,7 +204,7 @@ public class CorpPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
Actor actor = hitsplatApplied.getActor();
|
Actor actor = hitsplatApplied.getActor();
|
||||||
|
|
||||||
if (actor != null && !actor.equals(corp))
|
if (actor != corp)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -224,7 +224,7 @@ public class CorpPlugin extends Plugin
|
|||||||
Actor source = interactingChanged.getSource();
|
Actor source = interactingChanged.getSource();
|
||||||
Actor target = interactingChanged.getTarget();
|
Actor target = interactingChanged.getTarget();
|
||||||
|
|
||||||
if (target != null && !target.equals(corp))
|
if (target != corp)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ class ItemPricesOverlay extends Overlay
|
|||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case ITEM_USE_ON_WIDGET:
|
case ITEM_USE_ON_WIDGET:
|
||||||
if (!menuEntry.getTarget().contains("High Level Alchemy") || !plugin.isShowAlchProfit())
|
if (!client.getSelectedSpellName().equalsIgnoreCase("high level alchemy") || !plugin.isShowAlchProfit())
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import lombok.AccessLevel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Actor;
|
import net.runelite.api.Actor;
|
||||||
|
import static net.runelite.api.AnimationID.LIZARDMAN_SHAMAN_SPAWN;
|
||||||
import net.runelite.api.coords.LocalPoint;
|
import net.runelite.api.coords.LocalPoint;
|
||||||
import net.runelite.api.events.AnimationChanged;
|
import net.runelite.api.events.AnimationChanged;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
@@ -117,7 +118,7 @@ public class LizardmenShamanPlugin extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actor.getName().equals(SHAMAN) && actor.getAnimation() == 7157 && this.showTimer)
|
if (actor.getName().equals(SHAMAN) && actor.getAnimation() == LIZARDMAN_SHAMAN_SPAWN && this.showTimer)
|
||||||
{
|
{
|
||||||
spawns.put(event.getActor().getLocalLocation(), new LizardmenShamanSpawn(8.4, null));
|
spawns.put(event.getActor().getLocalLocation(), new LizardmenShamanSpawn(8.4, null));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user