Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@ build
.classpath
nbactions.xml
nb-configuration.xml
nbproject/
*.iml
*.json
nbproject/
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
BSD 2-Clause License

Copyright (c) 2022, LlemonDuck
Copyright (c) 2022, TheStonedTurtle
Copyright (c) 2019, Ron Young <https://github.com/raiyni>
Copyright (c) 2020, CasvM
All rights reserved.

Expand Down
15 changes: 9 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,21 @@ repositories {
mavenCentral()
}

def runeLiteVersion = '1.8.17'
def runeLiteVersion = 'latest.release'

dependencies {
compileOnly group: 'net.runelite', name:'client', version: runeLiteVersion

compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'

testImplementation "org.mockito:mockito-core:3.3.3"
testImplementation "com.google.inject.extensions:guice-testlib:4.1.0"
testImplementation 'junit:junit:4.12'
testImplementation group: 'net.runelite', name:'client', version: runeLiteVersion
testImplementation group: 'net.runelite', name:'jshell', version: runeLiteVersion
testImplementation "org.mockito:mockito-core:3.3.3"
testImplementation group: 'com.google.inject.extensions', name: 'guice-testlib', version: '4.2.0', {
exclude group: 'com.google.inject', module: 'guice'
}
testImplementation 'junit:junit:4.12'
testImplementation group: 'net.runelite', name:'client', version: runeLiteVersion
testImplementation group: 'net.runelite', name:'jshell', version: runeLiteVersion
}

group = 'raidtracker'
Expand All @@ -31,4 +33,5 @@ sourceCompatibility = '1.8'

tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
2 changes: 1 addition & 1 deletion runelite-plugin.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
displayName=Raid Data Tracker
author=Canvasba
author=Canvasba/Cox Insider
support=https://github.com/CasvM/runelite-external-plugins/tree/raid-tracker
description=Tracks all loot received within the Chambers of Xeric, including splits. Also tracks the total, and personal points received, so that you can accurately determine your personal droprate, and dryness.
tags=raids, raid, cox, chambers, tracker,raid tracker, raid data, raid data tracker
Expand Down
74 changes: 23 additions & 51 deletions src/main/java/com/raidtracker/RaidTracker.java
Original file line number Diff line number Diff line change
@@ -1,77 +1,49 @@
package com.raidtracker;

import com.raidtracker.utils.UniqueDrop;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.UUID;

@AllArgsConstructor
@NoArgsConstructor
@Data
public class RaidTracker {

boolean chestOpened = false;
boolean raidComplete = false;
boolean loggedIn = false;
boolean challengeMode = false;
boolean inRaidChambers = false;
boolean inTheatreOfBlood = false;
boolean FreeForAll = false;
boolean inRaid = false;
/*
boolean inRaidCox = false;
boolean inRaidTob = false;
boolean inRaidToa = false;
*/
// Global
public int[] roomTimes = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
int teamSize = -1;
int completionCount = -1;
ArrayList<UniqueDrop> Uniques = new ArrayList<>();
ArrayList<UniqueDrop> nTradables = new ArrayList<>();
ArrayList<UniqueDrop> pets = new ArrayList<>();

int upperTime = -1;
int middleTime = -1;
int lowerTime = -1;
int inRaidType = -1;
int raidTime = -1;

int shamansTime = -1;
int vasaTime = -1;
int vanguardsTime = -1;
int mysticsTime = -1;
int tektonTime = -1;
int muttadilesTime = -1;
int guardiansTime = -1;
int vespulaTime = -1;
int iceDemonTime = -1;
int thievingTime = -1;
int tightropeTime = -1;
int crabsTime = -1;

int totalPoints = -1;
int personalPoints = -1;
int teamSize = -1;
double percentage = -1.0;
int completionCount = -1;
String specialLoot = "";
String specialLootReceiver = "";
boolean specialLootInOwnName = false;
int specialLootValue = -1;
String kitReceiver = "";
String dustReceiver = "";
String petReceiver = "";
boolean petInMyName = false;
int lootSplitReceived = -1;
int lootSplitPaid = -1;
ArrayList<RaidTrackerItem> lootList = new ArrayList<>();

int maidenTime = -1;
int bloatTime = -1;
int nyloTime = -1;
int sotetsegTime = -1;
int xarpusTime = -1;
int verzikTime = -1;

String mvp= "";
boolean mvpInOwnName = false;
String tobPlayer1 = "";
String tobPlayer2 = "";
String tobPlayer3 = "";
String tobPlayer4 = "";
String tobPlayer5 = "";

int tobPlayer1DeathCount = 0;
int tobPlayer2DeathCount = 0;
int tobPlayer3DeathCount = 0;
int tobPlayer4DeathCount = 0;
int tobPlayer5DeathCount = 0;
int[] tobDeaths = {0,0,0,0,0};
String[] tobPlayers = {"", "", "", "", ""};

// toa specific
int invocation = -1;
//Every RaidTracker has a unique uniqueID but not necessarily a unique killCountID, if there are multiple drops.
String uniqueID = UUID.randomUUID().toString();
String killCountID = UUID.randomUUID().toString();
Expand Down
29 changes: 25 additions & 4 deletions src/main/java/com/raidtracker/RaidTrackerConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,23 @@
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigSection;

@ConfigGroup("raidtracker")
public interface RaidTrackerConfig extends Config
{
@ConfigSection(
name = "Tombs of Amascot",
description = "Settings for Tombs of Amascot",
position = 1
)
String toasection = "Tombs of Amascot";
@ConfigSection(
name = "Chambers of Xeric",
description = "Settings for Chambers of Xeric",
position = 1
)
String coxSection = "Chambers of Xeric";
@ConfigItem(
keyName = "defaultFFA",
name = "default FFA",
Expand All @@ -26,7 +39,6 @@ default boolean defaultFFA()
default int FFACutoff() {
return 1000000;
}

@ConfigItem(
keyName = "lastXKills",
name = "Last X Kills",
Expand All @@ -48,15 +60,23 @@ default boolean showTitle()
@ConfigItem(
keyName = "dey0Tracker",
name = "Log raid room times (dey0)",
description = "Track raid room times with dey0's raid timers plugin. This will replace the regular time splits panel with more detailed times of each part of the raid"
description = "Track raid room times with dey0's raid timers plugin. This will replace the regular time splits panel with more detailed times of each part of the raid",
section = coxSection
)
default boolean dey0Tracker() { return false; }

@ConfigItem(
keyName = "toatracker",
name = "Compact TOA times",
description = "If enabled will track seperate room times, not combining path/boss",
section = toasection
)
default boolean toatracker() { return false; }

@ConfigItem(
keyName = "showKillsLogged",
name = "Show Kills Logged",
description = "Disable this checkmark to hide the Kills Logged panel in the ui"

)
default boolean showKillsLogged()
{
Expand Down Expand Up @@ -87,7 +107,8 @@ default boolean showUniquesTable()
@ConfigItem(
keyName = "showPoints",
name = "Show Points",
description = "Disable this checkmark to hide the Points Panel in the ui"
description = "Disable this checkmark to hide the Points Panel in the ui",
section = coxSection
)
default boolean showPoints()
{
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/com/raidtracker/RaidTrackerItem.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
package com.raidtracker;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@AllArgsConstructor
@NoArgsConstructor
@Data
public class RaidTrackerItem {

public String name;
public int id;
public int quantity;
public int price;
}
};
Loading