loot tracker: add coffins from Hallowed Sepulchre
This commit is contained in:
@@ -112,7 +112,6 @@ import net.runelite.http.api.loottracker.LootAggregate;
|
|||||||
import net.runelite.http.api.loottracker.LootRecord;
|
import net.runelite.http.api.loottracker.LootRecord;
|
||||||
import net.runelite.http.api.loottracker.LootRecordType;
|
import net.runelite.http.api.loottracker.LootRecordType;
|
||||||
import net.runelite.http.api.loottracker.LootTrackerClient;
|
import net.runelite.http.api.loottracker.LootTrackerClient;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
|
||||||
import org.apache.commons.text.WordUtils;
|
import org.apache.commons.text.WordUtils;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
@@ -179,6 +178,11 @@ public class LootTrackerPlugin extends Plugin
|
|||||||
put(ObjectID.SILVER_CHEST_4130, "Silver key purple").
|
put(ObjectID.SILVER_CHEST_4130, "Silver key purple").
|
||||||
build();
|
build();
|
||||||
|
|
||||||
|
// Hallow Sepulchre Coffin handling
|
||||||
|
private static final String COFFIN_LOOTED_MESSAGE = "You push the coffin lid aside.";
|
||||||
|
private static final String HALLOWED_SEPULCHRE_COFFIN_EVENT = "Coffin (Hallowed Sepulchre)";
|
||||||
|
private static final Set<Integer> HALLOWED_SEPULCHRE_MAP_REGIONS = ImmutableSet.of(8797, 10077, 9308, 10074, 9050); // one map region per floor
|
||||||
|
|
||||||
// Last man standing map regions
|
// Last man standing map regions
|
||||||
private static final Set<Integer> LAST_MAN_STANDING_REGIONS = ImmutableSet.of(13658, 13659, 13914, 13915, 13916);
|
private static final Set<Integer> LAST_MAN_STANDING_REGIONS = ImmutableSet.of(13658, 13659, 13914, 13915, 13916);
|
||||||
|
|
||||||
@@ -447,7 +451,7 @@ public class LootTrackerPlugin extends Plugin
|
|||||||
public void onPlayerLootReceived(final PlayerLootReceived playerLootReceived)
|
public void onPlayerLootReceived(final PlayerLootReceived playerLootReceived)
|
||||||
{
|
{
|
||||||
// Ignore Last Man Standing player loots
|
// Ignore Last Man Standing player loots
|
||||||
if (isAtLMS())
|
if (isPlayerWithinMapRegion(LAST_MAN_STANDING_REGIONS))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -572,6 +576,15 @@ public class LootTrackerPlugin extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (message.equals(COFFIN_LOOTED_MESSAGE) &&
|
||||||
|
isPlayerWithinMapRegion(HALLOWED_SEPULCHRE_MAP_REGIONS))
|
||||||
|
{
|
||||||
|
eventType = HALLOWED_SEPULCHRE_COFFIN_EVENT;
|
||||||
|
lootRecordType = LootRecordType.EVENT;
|
||||||
|
takeInventorySnapshot();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (message.equals(HERBIBOAR_LOOTED_MESSAGE))
|
if (message.equals(HERBIBOAR_LOOTED_MESSAGE))
|
||||||
{
|
{
|
||||||
if (processHerbiboarHerbSackLoot(event.getTimestamp()))
|
if (processHerbiboarHerbSackLoot(event.getTimestamp()))
|
||||||
@@ -668,6 +681,7 @@ public class LootTrackerPlugin extends Plugin
|
|||||||
|
|
||||||
if (CHEST_EVENT_TYPES.containsValue(eventType)
|
if (CHEST_EVENT_TYPES.containsValue(eventType)
|
||||||
|| SHADE_CHEST_OBJECTS.containsValue(eventType)
|
|| SHADE_CHEST_OBJECTS.containsValue(eventType)
|
||||||
|
|| HALLOWED_SEPULCHRE_COFFIN_EVENT.equals(eventType)
|
||||||
|| HERBIBOAR_EVENT.equals(eventType)
|
|| HERBIBOAR_EVENT.equals(eventType)
|
||||||
|| HESPORI_EVENT.equals(eventType)
|
|| HESPORI_EVENT.equals(eventType)
|
||||||
|| SEEDPACK_EVENT.equals(eventType)
|
|| SEEDPACK_EVENT.equals(eventType)
|
||||||
@@ -895,15 +909,15 @@ public class LootTrackerPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is player at the Last Man Standing minigame
|
* Is player currently within the provided map regions
|
||||||
*/
|
*/
|
||||||
private boolean isAtLMS()
|
private boolean isPlayerWithinMapRegion(Set<Integer> definedMapRegions)
|
||||||
{
|
{
|
||||||
final int[] mapRegions = client.getMapRegions();
|
final int[] mapRegions = client.getMapRegions();
|
||||||
|
|
||||||
for (int region : LAST_MAN_STANDING_REGIONS)
|
for (int region : mapRegions)
|
||||||
{
|
{
|
||||||
if (ArrayUtils.contains(mapRegions, region))
|
if (definedMapRegions.contains(region))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user