barbarianassault: fix remove wrong attack styles and checkstyle (#772)
* barbarianassault: fix remove wrong attack styles and checkstyle * travis rebuild
This commit is contained in:
@@ -130,6 +130,7 @@ class AboveWidgetsOverlay extends Overlay
|
|||||||
|
|
||||||
Rectangle spriteBounds = roleSprite.getBounds();
|
Rectangle spriteBounds = roleSprite.getBounds();
|
||||||
graphics.drawImage(game.getClockImage(), spriteBounds.x, spriteBounds.y, null);
|
graphics.drawImage(game.getClockImage(), spriteBounds.x, spriteBounds.y, null);
|
||||||
|
roleSprite.setHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderInventoryHighlights(Graphics2D graphics, int itemID, Color color)
|
private void renderInventoryHighlights(Graphics2D graphics, int itemID, Color color)
|
||||||
|
|||||||
@@ -184,13 +184,13 @@ public interface BarbarianAssaultConfig extends Config
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "attackStyles",
|
keyName = "removeIncorrectAttackStyles",
|
||||||
name = "Remove incorrect attack styles",
|
name = "Remove incorrect attack styles",
|
||||||
description = "Hide attack styles depending on weapon.",
|
description = "Hides wrong attack styles for dragon claws and crystal halberd",
|
||||||
position = 2,
|
position = 2,
|
||||||
group = "Attacker"
|
group = "Attacker"
|
||||||
)
|
)
|
||||||
default boolean attackStyles()
|
default boolean removeIncorrectAttackStyles()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.barbarianassault;
|
package net.runelite.client.plugins.barbarianassault;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
|
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
@@ -48,6 +48,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.Actor;
|
import net.runelite.api.Actor;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import net.runelite.api.MenuEntry;
|
import net.runelite.api.MenuEntry;
|
||||||
import net.runelite.api.MessageNode;
|
import net.runelite.api.MessageNode;
|
||||||
@@ -89,6 +90,8 @@ import net.runelite.client.input.KeyManager;
|
|||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.PluginType;
|
import net.runelite.client.plugins.PluginType;
|
||||||
|
import net.runelite.client.plugins.attackstyles.AttackStyle;
|
||||||
|
import net.runelite.client.plugins.attackstyles.WeaponType;
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBox;
|
import net.runelite.client.ui.overlay.infobox.InfoBox;
|
||||||
@@ -110,14 +113,15 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
{
|
{
|
||||||
private static final String ENDGAME_REWARD_NEEDLE_TEXT = "<br>5";
|
private static final String ENDGAME_REWARD_NEEDLE_TEXT = "<br>5";
|
||||||
|
|
||||||
private static final String[] STYLES = {"Defensive", "Aggressive", "Controlled", "Accurate"};
|
|
||||||
|
|
||||||
private static final int COLOR_CALL_UPDATED = 16316664;
|
private static final int COLOR_CALL_UPDATED = 16316664;
|
||||||
|
|
||||||
private static final int COLOR_CALL_CALLED = 16291864;
|
private static final int COLOR_CALL_CALLED = 16291864;
|
||||||
|
|
||||||
private static final int BA_WAVE_NUM_INDEX = 2;
|
private static final int BA_WAVE_NUM_INDEX = 2;
|
||||||
|
|
||||||
|
private static final ImmutableList<WidgetInfo> attackStyles = ImmutableList.of(WidgetInfo.COMBAT_STYLE_ONE,
|
||||||
|
WidgetInfo.COMBAT_STYLE_TWO, WidgetInfo.COMBAT_STYLE_THREE, WidgetInfo.COMBAT_STYLE_FOUR);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
@@ -230,8 +234,6 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
|
|
||||||
private BufferedImage torsoImage, fighterImage, healerImage, rangerImage, runnerImage;
|
private BufferedImage torsoImage, fighterImage, healerImage, rangerImage, runnerImage;
|
||||||
|
|
||||||
private ImmutableMap<WidgetInfo, Boolean> originalAttackStyles = null;
|
|
||||||
|
|
||||||
private ArrayList<TimerBox> deathTimes = new ArrayList<>();
|
private ArrayList<TimerBox> deathTimes = new ArrayList<>();
|
||||||
|
|
||||||
private HashMap<Integer, Projectile> projectiles = new HashMap<>();
|
private HashMap<Integer, Projectile> projectiles = new HashMap<>();
|
||||||
@@ -260,8 +262,11 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
overlayManager.add(widgetsOverlay);
|
overlayManager.add(widgetsOverlay);
|
||||||
overlayManager.add(sceneOverlay);
|
overlayManager.add(sceneOverlay);
|
||||||
keyManager.registerKeyListener(this);
|
keyManager.registerKeyListener(this);
|
||||||
|
if (client.getGameState() == GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
clientThread.invoke(this::validateGame);
|
clientThread.invoke(this::validateGame);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void shutDown() throws Exception
|
protected void shutDown() throws Exception
|
||||||
@@ -331,11 +336,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
switch (configChanged.getKey())
|
switch (configChanged.getKey())
|
||||||
{
|
{
|
||||||
case "showTimer":
|
case "showTimer":
|
||||||
if (config.showTimer())
|
if (!config.showTimer())
|
||||||
{
|
|
||||||
hideRoleSprite();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
showRoleSprite();
|
showRoleSprite();
|
||||||
}
|
}
|
||||||
@@ -384,6 +385,13 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
case "removeWrongPoison":
|
case "removeWrongPoison":
|
||||||
clientThread.invoke(() -> menu.validateHiddenMenus(getRole()));
|
clientThread.invoke(() -> menu.validateHiddenMenus(getRole()));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "removeIncorrectAttackStyles":
|
||||||
|
if (!config.removeIncorrectAttackStyles())
|
||||||
|
{
|
||||||
|
clientThread.invoke(this::showAllStyles);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -631,90 +639,6 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
tickCounter.setCount(tickNum);
|
tickCounter.setCount(tickNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget weapon = client.getWidget(WidgetInfo.COMBAT_WEAPON);
|
|
||||||
|
|
||||||
if (config.attackStyles()
|
|
||||||
&& isInGame()
|
|
||||||
&& getRole() == Role.ATTACKER
|
|
||||||
&& weapon != null
|
|
||||||
&& (weapon.getText().contains("Crystal halberd") || weapon.getText().contains("Dragon claws")))
|
|
||||||
{
|
|
||||||
if (originalAttackStyles == null)
|
|
||||||
{
|
|
||||||
ImmutableMap.Builder<WidgetInfo, Boolean> builder = new ImmutableMap.Builder<>();
|
|
||||||
|
|
||||||
builder.put(WidgetInfo.COMBAT_STYLE_ONE, client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).isHidden());
|
|
||||||
builder.put(WidgetInfo.COMBAT_STYLE_TWO, client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).isHidden());
|
|
||||||
builder.put(WidgetInfo.COMBAT_STYLE_THREE, client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).isHidden());
|
|
||||||
builder.put(WidgetInfo.COMBAT_STYLE_FOUR, client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).isHidden());
|
|
||||||
|
|
||||||
originalAttackStyles = builder.build();
|
|
||||||
}
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < STYLES.length; i++)
|
|
||||||
{
|
|
||||||
if (lastListenText.contains(STYLES[i]))
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
switch (i)
|
|
||||||
{
|
|
||||||
case 0: //Defensive
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).setHidden(false);
|
|
||||||
break;
|
|
||||||
case 1: // Aggressive
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).setHidden(true);
|
|
||||||
break;
|
|
||||||
case 2: // Controlled
|
|
||||||
if (weapon.getText().contains("Crystal halberd"))
|
|
||||||
{
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(false);
|
|
||||||
}
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).setHidden(true);
|
|
||||||
break;
|
|
||||||
case 3: // Accurate
|
|
||||||
if (weapon.getText().contains("Dragon claws"))
|
|
||||||
{
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(true);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).setHidden(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).setHidden(false);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_ONE).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_TWO).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_THREE).setHidden(false);
|
|
||||||
client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR).setHidden(false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (originalAttackStyles != null)
|
|
||||||
{
|
|
||||||
originalAttackStyles.forEach((w, b) -> client.getWidget(w).setHidden(b));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (config.prayerMetronome() && isAnyPrayerActive())
|
if (config.prayerMetronome() && isAnyPrayerActive())
|
||||||
{
|
{
|
||||||
for (int i = 0; i < config.prayerMetronomeVolume(); i++)
|
for (int i = 0; i < config.prayerMetronomeVolume(); i++)
|
||||||
@@ -897,6 +821,44 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
menu.setRebuildForced(false);
|
menu.setRebuildForced(false);
|
||||||
menu.validateHiddenMenus(role);
|
menu.validateHiddenMenus(role);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This doesn't have to be done in BeforeRender. And although it is
|
||||||
|
// inefficient, it's only being done while in the instance. Will
|
||||||
|
// likely be changed in the future
|
||||||
|
if (getRole() == Role.ATTACKER && config.removeIncorrectAttackStyles())
|
||||||
|
{
|
||||||
|
Widget weapon = client.getWidget(WidgetInfo.COMBAT_WEAPON);
|
||||||
|
|
||||||
|
if (weapon != null)
|
||||||
|
{
|
||||||
|
if ((StringUtils.contains(weapon.getText(), "Crystal halberd") || StringUtils.contains(weapon.getText(), "Dragon claws"))
|
||||||
|
&& newListenText != null && !newListenText.equals("- - -"))
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
for (AttackStyle style : getAttackStyles())
|
||||||
|
{
|
||||||
|
Widget attackStyle = client.getWidget(attackStyles.get(i));
|
||||||
|
if (attackStyle != null && style != null)
|
||||||
|
{
|
||||||
|
if (StringUtils.startsWith(newListenText, style.getName()))
|
||||||
|
{
|
||||||
|
attackStyle.setHidden(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
attackStyle.setHidden(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
showAllStyles();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// onMenuEntryAdded is being used for conditional entry changes that are not
|
// onMenuEntryAdded is being used for conditional entry changes that are not
|
||||||
@@ -1232,6 +1194,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
poisonUsed = null;
|
poisonUsed = null;
|
||||||
lastHealerPoisoned = -1;
|
lastHealerPoisoned = -1;
|
||||||
tickNum = 0;
|
tickNum = 0;
|
||||||
|
showAllStyles();
|
||||||
usingGloryHorn = false;
|
usingGloryHorn = false;
|
||||||
menu.validateHiddenMenus(null);
|
menu.validateHiddenMenus(null);
|
||||||
}
|
}
|
||||||
@@ -1353,11 +1316,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
|
|
||||||
private void validateWidgets()
|
private void validateWidgets()
|
||||||
{
|
{
|
||||||
if (config.showTimer())
|
if (!config.showTimer())
|
||||||
{
|
|
||||||
hideRoleSprite();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
showRoleSprite();
|
showRoleSprite();
|
||||||
}
|
}
|
||||||
@@ -1383,6 +1342,18 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void showAllStyles()
|
||||||
|
{
|
||||||
|
for (WidgetInfo info : attackStyles)
|
||||||
|
{
|
||||||
|
Widget style = client.getWidget(info);
|
||||||
|
if (style != null)
|
||||||
|
{
|
||||||
|
style.setHidden(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void addTickTimer()
|
private void addTickTimer()
|
||||||
{
|
{
|
||||||
if (!isInGame() || tickCounter != null)
|
if (!isInGame() || tickCounter != null)
|
||||||
@@ -1460,21 +1431,6 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hideRoleSprite()
|
|
||||||
{
|
|
||||||
if (getRole() == null || !isInGame())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget roleSprite = client.getWidget(role.getRoleSprite());
|
|
||||||
|
|
||||||
if (roleSprite != null)
|
|
||||||
{
|
|
||||||
roleSprite.setHidden(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showRoleSprite()
|
private void showRoleSprite()
|
||||||
{
|
{
|
||||||
if (getRole() == null || !isInGame())
|
if (getRole() == null || !isInGame())
|
||||||
@@ -1495,6 +1451,11 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private AttackStyle[] getAttackStyles()
|
||||||
|
{
|
||||||
|
return WeaponType.getWeaponType(client.getVar(Varbits.EQUIPPED_WEAPON_TYPE)).getAttackStyles();
|
||||||
|
}
|
||||||
|
|
||||||
private void announceWaveTime()
|
private void announceWaveTime()
|
||||||
{
|
{
|
||||||
if (config.waveTimes() && wave != null)
|
if (config.waveTimes() && wave != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user