barbarian assault: fixes call timer (#467)
* barbarian assault: fixes call timer Signed-off-by: 7ate9 <7ate9@users.noreply.github.com`> * barbarian assault: fixes call timer Signed-off-by: 7ate9 <7ate9@users.noreply.github.com`> * actually nvm, yoink Signed-off-by: 7ate9 <7ate9@users.noreply.github.com`> * checkstyle Signed-off-by: 7ate9 <7ate9@users.noreply.github.com`> * adds break after first case Signed-off-by: 7ate9 <7ate9@users.noreply.github.com`>
This commit is contained in:
@@ -37,10 +37,7 @@ import lombok.Getter;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.EquipmentInventorySlot;
|
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.InventoryID;
|
|
||||||
import net.runelite.api.Item;
|
|
||||||
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;
|
||||||
@@ -50,7 +47,6 @@ import net.runelite.api.Varbits;
|
|||||||
import net.runelite.api.coords.WorldPoint;
|
import net.runelite.api.coords.WorldPoint;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.ItemContainerChanged;
|
|
||||||
import net.runelite.api.events.ItemDespawned;
|
import net.runelite.api.events.ItemDespawned;
|
||||||
import net.runelite.api.events.ItemSpawned;
|
import net.runelite.api.events.ItemSpawned;
|
||||||
import net.runelite.api.events.MenuEntryAdded;
|
import net.runelite.api.events.MenuEntryAdded;
|
||||||
@@ -185,29 +181,54 @@ public class BarbarianAssaultPlugin extends Plugin
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onWidgetLoaded(WidgetLoaded event)
|
public void onWidgetLoaded(WidgetLoaded event)
|
||||||
{
|
{
|
||||||
if (event.getGroupId() == WidgetID.BA_REWARD_GROUP_ID)
|
switch (event.getGroupId())
|
||||||
{
|
{
|
||||||
Wave wave = new Wave(client);
|
case WidgetID.BA_REWARD_GROUP_ID:
|
||||||
Widget rewardWidget = client.getWidget(WidgetInfo.BA_REWARD_TEXT);
|
|
||||||
if (rewardWidget != null && rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && gameTime != null)
|
|
||||||
{
|
{
|
||||||
if (config.waveTimes())
|
Wave wave = new Wave(client);
|
||||||
|
Widget rewardWidget = client.getWidget(WidgetInfo.BA_REWARD_TEXT);
|
||||||
|
if (rewardWidget != null && rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && gameTime != null)
|
||||||
{
|
{
|
||||||
announceTime("Game finished, duration: ", gameTime.getTime(false));
|
if (config.waveTimes())
|
||||||
|
{
|
||||||
|
announceTime("Game finished, duration: ", gameTime.getTime(false));
|
||||||
|
}
|
||||||
|
if (config.showTotalRewards())
|
||||||
|
{
|
||||||
|
announceSomething(game.getGameSummary());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (config.showTotalRewards())
|
Widget pointsWidget = client.getWidget(WidgetInfo.BA_RUNNERS_PASSED);
|
||||||
|
if (rewardWidget != null && !rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && pointsWidget != null
|
||||||
|
&& config.showSummaryOfPoints() && !hasAnnounced && client.getVar(Varbits.IN_GAME_BA) == 0)
|
||||||
{
|
{
|
||||||
announceSomething(game.getGameSummary());
|
wave.setWaveAmounts();
|
||||||
|
wave.setWavePoints();
|
||||||
|
game.getWaves().add(wave);
|
||||||
|
announceSomething(wave.getWaveSummary());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
Widget pointsWidget = client.getWidget(WidgetInfo.BA_RUNNERS_PASSED);
|
case WidgetID.BA_ATTACKER_GROUP_ID:
|
||||||
if (!rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && pointsWidget != null
|
|
||||||
&& config.showSummaryOfPoints() && !hasAnnounced && client.getVar(Varbits.IN_GAME_BA) == 0)
|
|
||||||
{
|
{
|
||||||
wave.setWaveAmounts();
|
setOverlayRound(Role.ATTACKER);
|
||||||
wave.setWavePoints();
|
break;
|
||||||
game.getWaves().add(wave);
|
}
|
||||||
announceSomething(wave.getWaveSummary());
|
case WidgetID.BA_DEFENDER_GROUP_ID:
|
||||||
|
{
|
||||||
|
setOverlayRound(Role.DEFENDER);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WidgetID.BA_HEALER_GROUP_ID:
|
||||||
|
{
|
||||||
|
setOverlayRound(Role.HEALER);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WidgetID.BA_COLLECTOR_GROUP_ID:
|
||||||
|
{
|
||||||
|
setOverlayRound(Role.COLLECTOR);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -295,44 +316,6 @@ public class BarbarianAssaultPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
public void onItemContainerChanged(final ItemContainerChanged event)
|
|
||||||
{
|
|
||||||
if (event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (overlay.getCurrentRound() != null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final Item[] items = event.getItemContainer().getItems();
|
|
||||||
|
|
||||||
// Check that the local player is wearing enough items to be wearing a cape.
|
|
||||||
if (items == null || items.length <= EquipmentInventorySlot.CAPE.getSlotIdx())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (items[EquipmentInventorySlot.CAPE.getSlotIdx()].getId())
|
|
||||||
{
|
|
||||||
case ItemID.ATTACKER_ICON:
|
|
||||||
overlay.setCurrentRound(new Round(Role.ATTACKER));
|
|
||||||
break;
|
|
||||||
case ItemID.COLLECTOR_ICON:
|
|
||||||
overlay.setCurrentRound(new Round(Role.COLLECTOR));
|
|
||||||
break;
|
|
||||||
case ItemID.DEFENDER_ICON:
|
|
||||||
overlay.setCurrentRound(new Round(Role.DEFENDER));
|
|
||||||
break;
|
|
||||||
case ItemID.HEALER_ICON:
|
|
||||||
overlay.setCurrentRound(new Round(Role.HEALER));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onVarbitChanged(VarbitChanged event)
|
public void onVarbitChanged(VarbitChanged event)
|
||||||
{
|
{
|
||||||
@@ -457,6 +440,16 @@ public class BarbarianAssaultPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setOverlayRound(Role role)
|
||||||
|
{
|
||||||
|
if (overlay.getCurrentRound() != null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
overlay.setCurrentRound(new Round(role));
|
||||||
|
}
|
||||||
|
|
||||||
private void announceSomething(final ChatMessageBuilder chatMessage)
|
private void announceSomething(final ChatMessageBuilder chatMessage)
|
||||||
{
|
{
|
||||||
chatMessageManager.queue(QueuedMessage.builder()
|
chatMessageManager.queue(QueuedMessage.builder()
|
||||||
|
|||||||
Reference in New Issue
Block a user