loottracker: Add support for Tempoross Reward pool and new Casket

This commit is contained in:
Broooklyn
2021-03-25 16:57:31 -04:00
committed by Adam
parent 970578d6aa
commit fa909fd4ce
2 changed files with 69 additions and 1 deletions

View File

@@ -240,6 +240,12 @@ public class LootTrackerPlugin extends Plugin
private static final String SPOILS_OF_WAR_EVENT = "Spoils of war";
private static final Set<Integer> SOUL_WARS_REGIONS = ImmutableSet.of(8493, 8749, 9005);
// Tempoross
private static final String TEMPOROSS_EVENT = "Reward pool (Tempoross)";
private static final String TEMPOROSS_CASKET_EVENT = "Casket (Tempoross)";
private static final String TEMPOROSS_LOOT_STRING = "You found some loot: ";
private static final int TEMPOROSS_REGION = 12588;
private static final Set<Character> VOWELS = ImmutableSet.of('a', 'e', 'i', 'o', 'u');
@Inject
@@ -757,6 +763,12 @@ public class LootTrackerPlugin extends Plugin
setEvent(LootRecordType.EVENT, type, client.getBoostedSkillLevel(Skill.HUNTER));
takeInventorySnapshot();
}
if (regionID == TEMPOROSS_REGION && message.startsWith(TEMPOROSS_LOOT_STRING))
{
setEvent(LootRecordType.EVENT, TEMPOROSS_EVENT, client.getBoostedSkillLevel(Skill.FISHING));
takeInventorySnapshot();
}
}
@Subscribe
@@ -787,7 +799,9 @@ public class LootTrackerPlugin extends Plugin
else if (SEEDPACK_EVENT.equals(eventType)
|| CASKET_EVENT.equals(eventType)
|| BIRDNEST_EVENT.equals(eventType)
|| SPOILS_OF_WAR_EVENT.equals(eventType))
|| SPOILS_OF_WAR_EVENT.equals(eventType)
|| TEMPOROSS_EVENT.equals(eventType)
|| TEMPOROSS_CASKET_EVENT.equals(eventType))
{
processInventoryLoot(eventType, lootRecordType, metadata, event.getItemContainer(), Collections.emptyList());
resetEvent();
@@ -833,6 +847,12 @@ public class LootTrackerPlugin extends Plugin
setEvent(LootRecordType.EVENT, SPOILS_OF_WAR_EVENT);
takeInventorySnapshot();
}
if (event.getMenuOption().equals("Open") && event.getId() == ItemID.CASKET_25590)
{
setEvent(LootRecordType.EVENT, TEMPOROSS_CASKET_EVENT);
takeInventorySnapshot();
}
}
@Schedule(

View File

@@ -359,4 +359,52 @@ public class LootTrackerPluginTest
new ItemStack(ItemID.SHARK, 42, null)
));
}
@Test
public void testTemporossRewardPool()
{
Player player = mock(Player.class);
when(client.getLocalPlayer()).thenReturn(player);
when(client.getLocalPlayer().getWorldLocation()).thenReturn(new WorldPoint(3153, 2833, 0));
when(client.getBoostedSkillLevel(Skill.FISHING)).thenReturn(69);
LootTrackerPlugin lootTrackerPluginSpy = spy(this.lootTrackerPlugin);
doNothing().when(lootTrackerPluginSpy).addLoot(any(), anyInt(), any(), any(), any(Collection.class));
ItemContainer itemContainer = mock(ItemContainer.class);
when(itemContainer.getItems()).thenReturn(new Item[]{
new Item(ItemID.BUCKET_OF_WATER, 1),
new Item(ItemID.ROPE, 1)
});
when(client.getItemContainer(InventoryID.INVENTORY)).thenReturn(itemContainer);
ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You found some loot: 30 x Raw tuna", "", 0);
lootTrackerPluginSpy.onChatMessage(chatMessage);
when(itemContainer.getItems()).thenReturn(new Item[]{
new Item(ItemID.BUCKET_OF_WATER, 1),
new Item(ItemID.ROPE, 1),
new Item(ItemID.RAW_TUNA, 30)
});
lootTrackerPluginSpy.onItemContainerChanged(new ItemContainerChanged(InventoryID.INVENTORY.getId(), itemContainer));
verify(lootTrackerPluginSpy).addLoot("Reward pool (Tempoross)", -1, LootRecordType.EVENT, 69, Arrays.asList(
new ItemStack(ItemID.RAW_TUNA, 30, null)
));
chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You found some loot: <col=ef1020>Tome of water (empty)</col>", "", 0);
lootTrackerPluginSpy.onChatMessage(chatMessage);
when(itemContainer.getItems()).thenReturn(new Item[]{
new Item(ItemID.BUCKET_OF_WATER, 1),
new Item(ItemID.ROPE, 1),
new Item(ItemID.RAW_TUNA, 30),
new Item(ItemID.TOME_OF_WATER_EMPTY, 1)
});
lootTrackerPluginSpy.onItemContainerChanged(new ItemContainerChanged(InventoryID.INVENTORY.getId(), itemContainer));
verify(lootTrackerPluginSpy).addLoot("Reward pool (Tempoross)", -1, LootRecordType.EVENT, 69, Arrays.asList(
new ItemStack(ItemID.TOME_OF_WATER_EMPTY, 1, null)
));
}
}