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 net.runelite.api.ChatMessageType;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.EquipmentInventorySlot;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.InventoryID;
|
||||
import net.runelite.api.Item;
|
||||
import net.runelite.api.ItemID;
|
||||
import net.runelite.api.MenuEntry;
|
||||
import net.runelite.api.MessageNode;
|
||||
@@ -50,7 +47,6 @@ import net.runelite.api.Varbits;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
import net.runelite.api.events.ChatMessage;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.api.events.ItemContainerChanged;
|
||||
import net.runelite.api.events.ItemDespawned;
|
||||
import net.runelite.api.events.ItemSpawned;
|
||||
import net.runelite.api.events.MenuEntryAdded;
|
||||
@@ -185,29 +181,54 @@ public class BarbarianAssaultPlugin extends Plugin
|
||||
@Subscribe
|
||||
public void onWidgetLoaded(WidgetLoaded event)
|
||||
{
|
||||
if (event.getGroupId() == WidgetID.BA_REWARD_GROUP_ID)
|
||||
switch (event.getGroupId())
|
||||
{
|
||||
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)
|
||||
case WidgetID.BA_REWARD_GROUP_ID:
|
||||
{
|
||||
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);
|
||||
if (!rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && pointsWidget != null
|
||||
&& config.showSummaryOfPoints() && !hasAnnounced && client.getVar(Varbits.IN_GAME_BA) == 0)
|
||||
case WidgetID.BA_ATTACKER_GROUP_ID:
|
||||
{
|
||||
wave.setWaveAmounts();
|
||||
wave.setWavePoints();
|
||||
game.getWaves().add(wave);
|
||||
announceSomething(wave.getWaveSummary());
|
||||
setOverlayRound(Role.ATTACKER);
|
||||
break;
|
||||
}
|
||||
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
|
||||
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)
|
||||
{
|
||||
chatMessageManager.queue(QueuedMessage.builder()
|
||||
|
||||
Reference in New Issue
Block a user