@@ -62,10 +62,12 @@ public class ClanManModePlugin extends Plugin
|
||||
@Inject
|
||||
private ClanManager clanManager;
|
||||
|
||||
private static final String CAST = "CAST";
|
||||
private static final String ATTACK_OPTIONS_ATTACK = "ATTACK";
|
||||
public static final HashSet<String> ATTACK_OPTIONS_KEYWORDS = new HashSet<>();
|
||||
static
|
||||
{
|
||||
ATTACK_OPTIONS_KEYWORDS.add(CAST);
|
||||
ATTACK_OPTIONS_KEYWORDS.add(ATTACK_OPTIONS_ATTACK);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.lizardmenshaman;
|
||||
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.google.inject.Provides;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -36,8 +35,10 @@ import net.runelite.api.Actor;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.coords.LocalPoint;
|
||||
import net.runelite.api.events.AnimationChanged;
|
||||
import net.runelite.api.events.ChatMessage;
|
||||
import net.runelite.client.Notifier;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.plugins.PluginType;
|
||||
@@ -94,6 +95,18 @@ public class LizardmenShamanPlugin extends Plugin
|
||||
spawns.clear();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onChatMessage(ChatMessage event)
|
||||
{
|
||||
if (config.notifyOnSpawn())
|
||||
{
|
||||
if (event.getMessage().contains(MESSAGE))
|
||||
{
|
||||
notifier.notify(MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onAnimationChanged(AnimationChanged event)
|
||||
{
|
||||
@@ -102,17 +115,13 @@ public class LizardmenShamanPlugin extends Plugin
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (actor.getName().equals(SHAMAN) && actor.getAnimation() == 7157)
|
||||
|
||||
if (actor.getName().equals(SHAMAN) && actor.getAnimation() == 7157)
|
||||
{
|
||||
if (config.showTimer())
|
||||
{
|
||||
spawns.put(event.getActor().getLocalLocation(), new LizardmenShamanSpawn(8.4, null));
|
||||
}
|
||||
|
||||
if (config.notifyOnSpawn())
|
||||
{
|
||||
notifier.notify(MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -727,8 +727,10 @@ public class MenuEntrySwapperPlugin extends Plugin
|
||||
{
|
||||
if (event.getType() == WALK.getId())
|
||||
{
|
||||
MenuEntry menuEntry = entries[entries.length - 1];
|
||||
MenuEntry[] menuEntries = client.getMenuEntries();
|
||||
MenuEntry menuEntry = menuEntries[menuEntries.length - 1];
|
||||
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
|
||||
client.setMenuEntries(menuEntries);
|
||||
}
|
||||
else if (option.equalsIgnoreCase("examine"))
|
||||
{
|
||||
@@ -938,6 +940,11 @@ public class MenuEntrySwapperPlugin extends Plugin
|
||||
swap(client, "buy-plank", option, target, true);
|
||||
}
|
||||
|
||||
if (config.claimDynamite() && target.equals("thirus"))
|
||||
{
|
||||
swap(client, "claim", option, target, true);
|
||||
}
|
||||
|
||||
if (config.swapTrade())
|
||||
{
|
||||
swap(client, "trade", option, target, true);
|
||||
@@ -950,11 +957,6 @@ public class MenuEntrySwapperPlugin extends Plugin
|
||||
swap(client, "claim-slime", option, target, true);
|
||||
}
|
||||
|
||||
if (config.claimDynamite() && target.contains("Thirus"))
|
||||
{
|
||||
swap(client, "claim-dynamite", option, target, true);
|
||||
}
|
||||
|
||||
if (config.swapTravel())
|
||||
{
|
||||
swap(client, "travel", option, target, true);
|
||||
|
||||
@@ -105,10 +105,12 @@ public class PvpToolsPlugin extends Plugin
|
||||
|
||||
private static final String WALK_HERE = "WALK HERE";
|
||||
private static final String CANCEL = "CANCEL";
|
||||
private static final String CAST = "CAST";
|
||||
private static final String ATTACK_OPTIONS_ATTACK = "ATTACK";
|
||||
public static final HashSet<String> ATTACK_OPTIONS_KEYWORDS = new HashSet<>();
|
||||
static
|
||||
{
|
||||
ATTACK_OPTIONS_KEYWORDS.add(CAST);
|
||||
ATTACK_OPTIONS_KEYWORDS.add(ATTACK_OPTIONS_ATTACK);
|
||||
}
|
||||
|
||||
|
||||
@@ -158,89 +158,86 @@ public class RaidsOverlay extends Overlay
|
||||
boolean unknownCombat = false;
|
||||
String puzzles = "";
|
||||
String roomName = "";
|
||||
if (config.enhanceScouterTitle() || config.scavsBeforeIce() || sharable)
|
||||
for (Room layoutRoom : plugin.getRaid().getLayout().getRooms())
|
||||
{
|
||||
for (Room layoutRoom : plugin.getRaid().getLayout().getRooms())
|
||||
{
|
||||
int position = layoutRoom.getPosition();
|
||||
RaidRoom room = plugin.getRaid().getRoom(position);
|
||||
int position = layoutRoom.getPosition();
|
||||
RaidRoom room = plugin.getRaid().getRoom(position);
|
||||
|
||||
if (room == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (room.getType())
|
||||
{
|
||||
case COMBAT:
|
||||
combatCount++;
|
||||
roomName = room.getBoss().getName();
|
||||
switch (RaidRoom.Boss.fromString(roomName))
|
||||
{
|
||||
case VANGUARDS:
|
||||
vanguards = true;
|
||||
break;
|
||||
case UNKNOWN:
|
||||
unknownCombat = true;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case PUZZLE:
|
||||
roomName = room.getPuzzle().getName();
|
||||
switch (RaidRoom.Puzzle.fromString(roomName))
|
||||
{
|
||||
case CRABS:
|
||||
crabs = true;
|
||||
break;
|
||||
case ICE_DEMON:
|
||||
iceDemon = true;
|
||||
iceRooms.add(roomCount);
|
||||
break;
|
||||
case THIEVING:
|
||||
thieving = true;
|
||||
break;
|
||||
case TIGHTROPE:
|
||||
tightrope = true;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SCAVENGERS:
|
||||
scavRooms.add(roomCount);
|
||||
break;
|
||||
}
|
||||
roomCount++;
|
||||
}
|
||||
if (tightrope)
|
||||
if (room == null)
|
||||
{
|
||||
puzzles = crabs ? "cr" : iceDemon ? "ri" : thieving ? "tr" : "?r";
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((config.hideVanguards() && vanguards) || (config.hideRopeless() && !tightrope) || (config.hideUnknownCombat() && unknownCombat))
|
||||
switch (room.getType())
|
||||
{
|
||||
panelComponent.getChildren().add(TitleComponent.builder()
|
||||
.text("Bad Raid!")
|
||||
.color(Color.RED)
|
||||
.build());
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
|
||||
scouterActive = true;
|
||||
displayLayout = (config.enhanceScouterTitle() ? "" + combatCount + "c " + puzzles + " " : "") + displayLayout;
|
||||
|
||||
for (Integer i : iceRooms)
|
||||
{
|
||||
int prev = 0;
|
||||
for (Integer s : scavRooms)
|
||||
{
|
||||
if (s > i)
|
||||
case COMBAT:
|
||||
combatCount++;
|
||||
roomName = room.getBoss().getName();
|
||||
switch (RaidRoom.Boss.fromString(roomName))
|
||||
{
|
||||
break;
|
||||
case VANGUARDS:
|
||||
vanguards = true;
|
||||
break;
|
||||
case UNKNOWN:
|
||||
unknownCombat = true;
|
||||
break;
|
||||
}
|
||||
prev = s;
|
||||
}
|
||||
scavsBeforeIceRooms.add(prev);
|
||||
break;
|
||||
case PUZZLE:
|
||||
roomName = room.getPuzzle().getName();
|
||||
switch (RaidRoom.Puzzle.fromString(roomName))
|
||||
{
|
||||
case CRABS:
|
||||
crabs = true;
|
||||
break;
|
||||
case ICE_DEMON:
|
||||
iceDemon = true;
|
||||
iceRooms.add(roomCount);
|
||||
break;
|
||||
case THIEVING:
|
||||
thieving = true;
|
||||
break;
|
||||
case TIGHTROPE:
|
||||
tightrope = true;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SCAVENGERS:
|
||||
scavRooms.add(roomCount);
|
||||
break;
|
||||
}
|
||||
roomCount++;
|
||||
}
|
||||
if (tightrope)
|
||||
{
|
||||
puzzles = crabs ? "cr" : iceDemon ? "ri" : thieving ? "tr" : "?r";
|
||||
}
|
||||
|
||||
if ((config.hideVanguards() && vanguards) || (config.hideRopeless() && !tightrope) || (config.hideUnknownCombat() && unknownCombat))
|
||||
{
|
||||
panelComponent.getChildren().add(TitleComponent.builder()
|
||||
.text("Bad Raid!")
|
||||
.color(Color.RED)
|
||||
.build());
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
|
||||
scouterActive = true;
|
||||
displayLayout = (config.enhanceScouterTitle() ? "" + combatCount + "c " + puzzles + " " : "") + displayLayout;
|
||||
|
||||
for (Integer i : iceRooms)
|
||||
{
|
||||
int prev = 0;
|
||||
for (Integer s : scavRooms)
|
||||
{
|
||||
if (s > i)
|
||||
{
|
||||
break;
|
||||
}
|
||||
prev = s;
|
||||
}
|
||||
scavsBeforeIceRooms.add(prev);
|
||||
}
|
||||
int lastScavs = scavRooms.get(scavRooms.size() - 1);
|
||||
panelComponent.getChildren().add(TitleComponent.builder()
|
||||
|
||||
@@ -1,3 +1,27 @@
|
||||
/*
|
||||
* Copyright (c) 2019, gazivodag <https://github.com/gazivodag>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package net.runelite.client.plugins.runedoku;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
@@ -1,3 +1,27 @@
|
||||
/*
|
||||
* Copyright (c) 2019, gazivodag <https://github.com/gazivodag>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package net.runelite.client.plugins.runedoku;
|
||||
|
||||
import java.awt.Color;
|
||||
@@ -138,7 +162,14 @@ class RunedokuUtil
|
||||
item = sudokuScreen.getWidgetItem(myIndex);
|
||||
if (item != null)
|
||||
{
|
||||
myArr[i][ii] = RunedokuPiece.getById(item.getId()).getPieceForSudoku();
|
||||
if (item.getId() != -1)
|
||||
{
|
||||
myArr[i][ii] = RunedokuPiece.getById(item.getId()).getPieceForSudoku();
|
||||
}
|
||||
else
|
||||
{
|
||||
myArr[i][ii] = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -252,6 +252,7 @@ public class RuneLitePlusPlugin extends Plugin
|
||||
{
|
||||
if (client.getWidget(WidgetID.BANK_PIN_GROUP_ID, 0) == null
|
||||
|| !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Bank of Gielinor")
|
||||
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Chambers of Xeric")
|
||||
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Grand Exchange")
|
||||
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Housing Security System"))
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ import net.runelite.client.plugins.PluginType;
|
||||
* Shift Walker Plugin. Credit to MenuEntrySwapperPlugin for code some code structure used here.
|
||||
*/
|
||||
@PluginDescriptor(
|
||||
name = "Shift To Walk",
|
||||
name = "Shift Walk Under",
|
||||
description = "Use Shift to toggle the Walk Here menu option. While pressed you will Walk rather than interact with objects.",
|
||||
tags = {"npcs", "items", "objects"},
|
||||
type = PluginType.UTILITY,
|
||||
|
||||
Reference in New Issue
Block a user