skitzo: Best rotterdammer out there

This commit is contained in:
sdburns1998
2019-07-08 02:41:59 +02:00
parent dc148f5fa0
commit 4d94d2eafd
12 changed files with 161 additions and 144 deletions

View File

@@ -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;
} }

View File

@@ -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;
} }

View File

@@ -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
{ {

View File

@@ -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)
{ {

View File

@@ -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;

View File

@@ -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();

View File

@@ -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, "");
} }

View File

@@ -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();

View File

@@ -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);
} }

View File

@@ -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;
} }

View File

@@ -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;
} }

View File

@@ -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));
} }