From 76bf78d6786f0cf6dae654908f545f74c7184ed4 Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Fri, 8 Jun 2018 20:27:49 +0200 Subject: [PATCH 1/9] started working on phase --- LuckParser/Controllers/Controller1.cs | 9 ++- LuckParser/Models/ParseModels/Boss.cs | 64 +++++++++++++++++++++- LuckParser/Models/ParseModels/SkillData.cs | 23 +++++--- 3 files changed, 84 insertions(+), 12 deletions(-) diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index abb7d96fb..822fdc1f0 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -11,6 +11,7 @@ using LuckParser.Models; using System.IO.Compression; using System.Windows.Forms; +using static LuckParser.Models.ParseModels.Boss; //recomend CTRL+M+O to collapse all namespace LuckParser.Controllers { @@ -117,7 +118,7 @@ private String getString(int length) } return "UNKNOWN"; } - private String FilterStringChars(string str) + private static String FilterStringChars(string str) { string filtered = ""; string filter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "; @@ -139,6 +140,7 @@ private String FilterStringChars(string str) private CombatData combat_data = new CombatData(); private MechanicData mech_data = new MechanicData(); private List p_list = new List(); + private Boss boss; // Public Methods public LogData getLogData() @@ -672,6 +674,8 @@ private void fillMissingData() } } + AgentItem bossAgent = agent_data.GetAgent(boss_data.getAgent()); + boss = new Boss(bossAgent); // Sort p_list = p_list.OrderBy(a => int.Parse(a.getGroup())).ToList();//p_list.Sort((a, b)=>int.Parse(a.getGroup()) - int.Parse(b.getGroup())) setMechData(); @@ -4527,8 +4531,6 @@ private void CreateCondiUptimeTable(StreamWriter sw,Player boss) private void CreateBossSummary(StreamWriter sw) { //generate Player list Graphs - AgentItem bossAgent = agent_data.GetAgent(boss_data.getAgent()); - Boss boss = new Boss(bossAgent); CombatData c_data = getCombatData(); BossData b_data = getBossData(); List casting = boss.getCastLogs(b_data, c_data.getCombatList(), getAgentData()); @@ -5005,6 +5007,7 @@ public void CreateHTML(StreamWriter sw, bool[] settingsSnap) } string bossname = FilterStringChars(b_data.getName()); setPresentBoons(settingsSnap); + List phases = boss.getPhases(getBossData(), getCombatData().getCombatList(), getAgentData()); string Html_playerDropdown = ""; foreach (Player p in p_list) { diff --git a/LuckParser/Models/ParseModels/Boss.cs b/LuckParser/Models/ParseModels/Boss.cs index d977a5331..7b5025a33 100644 --- a/LuckParser/Models/ParseModels/Boss.cs +++ b/LuckParser/Models/ParseModels/Boss.cs @@ -7,15 +7,77 @@ namespace LuckParser.Models.ParseModels { public class Boss : Player { + + public struct PhaseData + { + public long start; + public long end; + public PhaseData(long start, long end) + { + this.start = start; + this.end = end; + } + } + // Constructors public Boss(AgentItem agent) : base(agent) { } - + + public List phases = new List(); + + public List getPhases(BossData bossData, List combatList, AgentData agentData) + { + if (phases.Count == 0) + { + setPhases(bossData, combatList, agentData); + } + return phases; + } + + public void forcePhase(List phases) + { + this.phases = phases; + } // Private Methods + private void setPhases(BossData bossData, List combatList, AgentData agentData) + { + long fight_dur = bossData.getLastAware() - bossData.getFirstAware(); + phases.Add(new PhaseData(0, fight_dur)); + string name = getCharacter(); + long start = 0; + long end = 0; + List cls; + switch (name) + { + case "Gorseval the Multifarious": + cls = getCastLogs(bossData, combatList, agentData).Where(x => x.getID() == 31759).ToList(); + foreach (CastLog cl in cls) + { + end = cl.getTime(); + phases.Add(new PhaseData(start, end)); + start = end + cl.getActDur(); + } + break; + case "Sabetha the Saboteur": + cls = getCastLogs(bossData, combatList, agentData).Where(x => x.getID() == 31372).ToList(); + foreach (CastLog cl in cls) + { + + } + break; + default: + return; + } + if (phases.Last().end != fight_dur) + { + phases.Add(new PhaseData(start, fight_dur)); + } + } + protected override void setDamageLogs(BossData bossData, List combatList, AgentData agentData) { long time_start = bossData.getFirstAware(); diff --git a/LuckParser/Models/ParseModels/SkillData.cs b/LuckParser/Models/ParseModels/SkillData.cs index 57e7e8594..9a9ebea39 100644 --- a/LuckParser/Models/ParseModels/SkillData.cs +++ b/LuckParser/Models/ParseModels/SkillData.cs @@ -9,6 +9,18 @@ public class SkillData { // Fields private List skill_list; + private Dictionary apiMissingID = new Dictionary() + { + {1066, "Resurrect"}, + {1175, "Bandage" }, + {65001, "Dodge" }, + // Gorseval + {31834,"Ghastly Rampage" }, + {31759,"Protective Shadow" }, + {31466,"Ghastly Rampage (Begin)" }, + // Sabetha + {31372, "Shadow Step" } + }; // Constructors public SkillData() @@ -26,14 +38,9 @@ public String getName(int ID) { // Custom - if (ID == 1066 ) { - return "Resurrect"; - } - if ( ID == 1175 ) { - return "Bandage"; - } - if (ID == 65001) { - return "Dodge"; + if (apiMissingID.ContainsKey(ID)) + { + return apiMissingID[ID]; } // Normal From 47611e77f1f7fea18dd08405d385301612d2f107 Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Sun, 10 Jun 2018 14:04:01 +0200 Subject: [PATCH 2/9] fixed some bugs on boons --- CONTRIBUTING.md | 2 +- LuckParser/Controllers/Controller1.cs | 2 +- LuckParser/Models/ParseModels/Boons/Boon.cs | 665 ++++++++++---------- LuckParser/Models/ParseModels/Player.cs | 8 +- 4 files changed, 339 insertions(+), 338 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 061ee6bdd..65db9fdcd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,7 @@ all boons can be added to private static List allBoons * source an enum on BoonSource indicating from which class the boon originates (MIXED in doubt) - * type: either "duration" ex: switness or "intensity" ex:might + * type: either BoonType.Duration ex: switness or BoonType.Intensity ex:might * capacity: both types have a max stacks. If unsure about duration go with 1 diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index 98af5b0ed..42162bc6c 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -2421,7 +2421,7 @@ private void CreateUptimeTable(StreamWriter sw, List list_to_use, string t } foreach (Boon boon in list_to_use) { - if (boon.getType() == "intensity") + if (boon.getType() == Boon.BoonType.Intensity) { intensityBoon.Add(count); } diff --git a/LuckParser/Models/ParseModels/Boons/Boon.cs b/LuckParser/Models/ParseModels/Boons/Boon.cs index 1b0ab3721..186a0a2ea 100644 --- a/LuckParser/Models/ParseModels/Boons/Boon.cs +++ b/LuckParser/Models/ParseModels/Boons/Boon.cs @@ -11,6 +11,7 @@ public class Boon public enum BoonEnum { Condition, Boon, OffensiveBuffTable, DefensiveBuffTable, GraphOnlyBuff, Food, Utility}; public enum BoonSource { Mixed, Necromancer, Elementalist, Mesmer, Warrior, Revenant, Guardian, Thief, Ranger, Engineer, Item }; public enum RemoveType { Cleanse, Manual, None, All}; + public enum BoonType { Duration, Intensity}; private static BoonSource ProfToEnum(string prof) { @@ -62,12 +63,12 @@ private static BoonSource ProfToEnum(string prof) private BoonEnum nature; private BoonSource source; private RemoveType remove_type; - private string type; + private BoonType type; private int capacity; private string link; - private Boon(string name, BoonSource source, string type, int capacity, BoonEnum nature, RemoveType remove_type = RemoveType.None) + private Boon(string name, BoonSource source, BoonType type, int capacity, BoonEnum nature, RemoveType remove_type = RemoveType.None) { this.name = name; this.source = source; @@ -78,7 +79,7 @@ private Boon(string name, BoonSource source, string type, int capacity, BoonEnum this.link = ""; this.remove_type = remove_type; } - private Boon(string name, int id, BoonSource source, string type, int capacity, BoonEnum nature, RemoveType remove_type = RemoveType.None) + private Boon(string name, int id, BoonSource source, BoonType type, int capacity, BoonEnum nature, RemoveType remove_type = RemoveType.None) { this.name = name; this.id = id; @@ -90,7 +91,7 @@ private Boon(string name, int id, BoonSource source, string type, int capacity, this.remove_type = remove_type; } - private Boon(string name, int id, BoonSource source, string type, int capacity, BoonEnum nature, string link, RemoveType remove_type = RemoveType.None) + private Boon(string name, int id, BoonSource source, BoonType type, int capacity, BoonEnum nature, string link, RemoveType remove_type = RemoveType.None) { this.name = name; this.id = id; @@ -106,387 +107,387 @@ private Boon(string name, int id, BoonSource source, string type, int capacity, private static List allBoons = new List { //Base boons - new Boon("Might", 740, BoonSource.Mixed, "intensity", 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/7/7c/Might.png", RemoveType.Cleanse), - new Boon("Fury", 725, BoonSource.Mixed, "duration", 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/4/46/Fury.png", RemoveType.Cleanse),//or 3m and 30s - new Boon("Quickness", 1187, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/b/b4/Quickness.png", RemoveType.Cleanse), - new Boon("Alacrity", 30328, BoonSource.Mixed, "duration", 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/4/4c/Alacrity.png/20px-Alacrity.png", RemoveType.Cleanse), - new Boon("Protection", 717, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/6/6c/Protection.png", RemoveType.Cleanse), - new Boon("Regeneration", 718, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Regeneration.png", RemoveType.Cleanse), - new Boon("Vigor", 726, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/f/f4/Vigor.png", RemoveType.Cleanse), - new Boon("Aegis", 743, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/e/e5/Aegis.png", RemoveType.All), - new Boon("Stability", 1122, BoonSource.Mixed, "intensity", 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/ae/Stability.png", RemoveType.All), - new Boon("Swiftness", 719, BoonSource.Mixed, "duration", 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/af/Swiftness.png", RemoveType.Cleanse), - new Boon("Retaliation", 873, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.Cleanse), - new Boon("Resistance", 26980, BoonSource.Mixed, "duration", 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/e/e9/Resistance_40px.png/20px-Resistance_40px.png", RemoveType.Cleanse), + new Boon("Might", 740, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/7/7c/Might.png", RemoveType.Cleanse), + new Boon("Fury", 725, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/4/46/Fury.png", RemoveType.Cleanse),//or 3m and 30s + new Boon("Quickness", 1187, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/b/b4/Quickness.png", RemoveType.Cleanse), + new Boon("Alacrity", 30328, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/4/4c/Alacrity.png/20px-Alacrity.png", RemoveType.Cleanse), + new Boon("Protection", 717, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/6/6c/Protection.png", RemoveType.Cleanse), + new Boon("Regeneration", 718, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Regeneration.png", RemoveType.Cleanse), + new Boon("Vigor", 726, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/f/f4/Vigor.png", RemoveType.Cleanse), + new Boon("Aegis", 743, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/e/e5/Aegis.png", RemoveType.All), + new Boon("Stability", 1122, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/ae/Stability.png", RemoveType.All), + new Boon("Swiftness", 719, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/af/Swiftness.png", RemoveType.Cleanse), + new Boon("Retaliation", 873, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.Cleanse), + new Boon("Resistance", 26980, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/e/e9/Resistance_40px.png/20px-Resistance_40px.png", RemoveType.Cleanse), // Condis - new Boon("Bleeding", 736, BoonSource.Mixed, "intensity", 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Bleeding.png/20px-Bleeding.png", RemoveType.Cleanse), - new Boon("Burning", 737, BoonSource.Mixed, "intensity", 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/4/45/Burning.png/20px-Burning.png", RemoveType.Cleanse), - new Boon("Confusion", 861, BoonSource.Mixed, "intensity", 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Confusion.png/20px-Confusion.png", RemoveType.Cleanse), - new Boon("Poison", 723, BoonSource.Mixed, "intensity", 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/05/Poison.png/20px-Poison.png", RemoveType.Cleanse), - new Boon("Torment", 19426, BoonSource.Mixed, "intensity", 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/08/Torment.png/20px-Torment.png", RemoveType.Cleanse), - new Boon("Blind", 720, BoonSource.Mixed, "duration", 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Blinded.png/20px-Blinded.png", RemoveType.Cleanse), - new Boon("Chilled", 722, BoonSource.Mixed, "duration", 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/a6/Chilled.png/20px-Chilled.png", RemoveType.Cleanse), - new Boon("Crippled", 721, BoonSource.Mixed, "duration", 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Crippled.png/20px-Crippled.png", RemoveType.Cleanse), - new Boon("Fear", 791, BoonSource.Mixed, "duration", 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Fear.png/20px-Fear.png", RemoveType.Cleanse), - new Boon("Immobile", 727, BoonSource.Mixed, "duration", 3, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/32/Immobile.png/20px-Immobile.png", RemoveType.Cleanse), - new Boon("Slow", 26766, BoonSource.Mixed, "duration", 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Slow_40px.png/20px-Slow_40px.png", RemoveType.Cleanse), - new Boon("Weakness", 742, BoonSource.Mixed, "duration", 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/f9/Weakness.png/20px-Weakness.png", RemoveType.Cleanse), - new Boon("Taunt", 27705, BoonSource.Mixed, "duration", 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/c/cc/Taunt.png/20px-Taunt.png", RemoveType.Cleanse), - new Boon("Vulnerability", 738, BoonSource.Mixed, "intensity", 25, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/af/Vulnerability.png/20px-Vulnerability.png", RemoveType.Cleanse), - new Boon("Retaliation", 873, BoonSource.Mixed, "duration", 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.Cleanse), + new Boon("Bleeding", 736, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Bleeding.png/20px-Bleeding.png", RemoveType.Cleanse), + new Boon("Burning", 737, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/4/45/Burning.png/20px-Burning.png", RemoveType.Cleanse), + new Boon("Confusion", 861, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Confusion.png/20px-Confusion.png", RemoveType.Cleanse), + new Boon("Poison", 723, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/05/Poison.png/20px-Poison.png", RemoveType.Cleanse), + new Boon("Torment", 19426, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/08/Torment.png/20px-Torment.png", RemoveType.Cleanse), + new Boon("Blind", 720, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Blinded.png/20px-Blinded.png", RemoveType.Cleanse), + new Boon("Chilled", 722, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/a6/Chilled.png/20px-Chilled.png", RemoveType.Cleanse), + new Boon("Crippled", 721, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Crippled.png/20px-Crippled.png", RemoveType.Cleanse), + new Boon("Fear", 791, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Fear.png/20px-Fear.png", RemoveType.Cleanse), + new Boon("Immobile", 727, BoonSource.Mixed, BoonType.Duration, 3, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/32/Immobile.png/20px-Immobile.png", RemoveType.Cleanse), + new Boon("Slow", 26766, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Slow_40px.png/20px-Slow_40px.png", RemoveType.Cleanse), + new Boon("Weakness", 742, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/f9/Weakness.png/20px-Weakness.png", RemoveType.Cleanse), + new Boon("Taunt", 27705, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/c/cc/Taunt.png/20px-Taunt.png", RemoveType.Cleanse), + new Boon("Vulnerability", 738, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/af/Vulnerability.png/20px-Vulnerability.png", RemoveType.Cleanse), + new Boon("Retaliation", 873, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.Cleanse), // Generic - new Boon("Stealth", 13017, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Revealed", 890, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Superspeed", 5974, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/1a/Super_Speed.png"), - //new Boon("Invulnerability", 801, BoonSource.Mixed, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/eb/Determined.png"), - new Boon("Unblockable", BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Stealth", 13017, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Revealed", 890, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Superspeed", 5974, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/1a/Super_Speed.png"), + //new Boon("Invulnerability", 801, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/eb/Determined.png"), + new Boon("Unblockable", BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //Auras - new Boon("Chaos Armor", 10332, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Fire Shield", 5677, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Frost Aura", 5579, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Light Aura", 25518, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Magnetic Aura", 5684, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Shocking Aura", 5577, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Chaos Armor", 10332, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Fire Shield", 5677, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Frost Aura", 5579, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Light Aura", 25518, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Magnetic Aura", 5684, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Shocking Aura", 5577, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //race - new Boon("Take Root", 12459, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Bear",12426, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Raven",12405, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Snow Leopard",12400, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Wolf",12393, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Avatar of Melandru", 12368, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Power Suit",12326, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Reaper of Grenth", 12366, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Charrzooka",43503, BoonSource.Mixed, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Take Root", 12459, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Become the Bear",12426, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Become the Raven",12405, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Become the Snow Leopard",12400, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Become the Wolf",12393, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Avatar of Melandru", 12368, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Power Suit",12326, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Reaper of Grenth", 12366, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Charrzooka",43503, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), ///REVENANT //skills - new Boon("Crystal Hibernation", 28262, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Vengeful Hammers", 27273, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Rite of the Great Dwarf", 26596, BoonSource.Revenant, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/69/Rite_of_the_Great_Dwarf.png"), - new Boon("Embrace the Darkness", 28001, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Enchanted Daggers", 28557, BoonSource.Revenant, "intensity", 6, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Impossible Odds", 27581, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Crystal Hibernation", 28262, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Vengeful Hammers", 27273, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Rite of the Great Dwarf", 26596, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/69/Rite_of_the_Great_Dwarf.png"), + new Boon("Embrace the Darkness", 28001, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Enchanted Daggers", 28557, BoonSource.Revenant, BoonType.Intensity, 6, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Impossible Odds", 27581, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //facets - new Boon("Facet of Light",27336, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Infuse Light",27737, BoonSource.Revenant, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/60/Infuse_Light.png", RemoveType.Manual), - new Boon("Facet of Darkness",28036, BoonSource.Revenant, "duration", 1, BoonEnum.OffensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Elements",28243, BoonSource.Revenant, "duration", 1, BoonEnum.DefensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Strength",27376, BoonSource.Revenant, "duration", 1, BoonEnum.OffensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Chaos",27983, BoonSource.Revenant, "duration", 1, BoonEnum.DefensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Nature",29275, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Naturalistic Resonance", 29379, BoonSource.Revenant, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/e9/Facet_of_Nature.png", RemoveType.Manual), + new Boon("Facet of Light",27336, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Infuse Light",27737, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/60/Infuse_Light.png", RemoveType.Manual), + new Boon("Facet of Darkness",28036, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, RemoveType.Manual), + new Boon("Facet of Elements",28243, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, RemoveType.Manual), + new Boon("Facet of Strength",27376, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, RemoveType.Manual), + new Boon("Facet of Chaos",27983, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, RemoveType.Manual), + new Boon("Facet of Nature",29275, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Naturalistic Resonance", 29379, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/e9/Facet_of_Nature.png", RemoveType.Manual), //legends - new Boon("Legendary Centaur Stance",27972, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Dragon Stance",27732, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Dwarf Stance",27205, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Demon Stance",27928, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Assassin Stance",27890, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Renegade Stance",44272, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Centaur Stance",27972, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Dragon Stance",27732, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Dwarf Stance",27205, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Demon Stance",27928, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Assassin Stance",27890, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Renegade Stance",44272, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //summons - new Boon("Breakrazor's Bastion",44682, BoonSource.Revenant, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/a/a7/Breakrazor%27s_Bastion.png"), - new Boon("Razorclaw's Rage",41016, BoonSource.Revenant, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/7/73/Razorclaw%27s_Rage.png"), - new Boon("Soulcleave's Summit",45026, BoonSource.Revenant, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/7/78/Soulcleave%27s_Summit.png"), + new Boon("Breakrazor's Bastion",44682, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/a/a7/Breakrazor%27s_Bastion.png"), + new Boon("Razorclaw's Rage",41016, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/7/73/Razorclaw%27s_Rage.png"), + new Boon("Soulcleave's Summit",45026, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/7/78/Soulcleave%27s_Summit.png"), //traits - new Boon("Vicious Lacerations",29395, BoonSource.Revenant, "intensity", 5, BoonEnum.GraphOnlyBuff), - new Boon("Assassin's Presence", 26854, BoonSource.Revenant, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/5/54/Assassin%27s_Presence.png"), - //new Boon("Expose Defenses", 48894, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Invoking Harmony",29025, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff), - //new Boon("Selfless Amplification",30509, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Hardening Persistence",28957, BoonSource.Revenant, "intensity", 10, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Soothing Bastion",34136, BoonSource.Revenant, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Kalla's Fervor",42883, BoonSource.Revenant, "intensity", 5, BoonEnum.GraphOnlyBuff), - new Boon("Improved Kalla's Fervor",45614, BoonSource.Revenant, "intensity", 5, BoonEnum.GraphOnlyBuff), + new Boon("Vicious Lacerations",29395, BoonSource.Revenant, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), + new Boon("Assassin's Presence", 26854, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/5/54/Assassin%27s_Presence.png"), + //new Boon("Expose Defenses", 48894, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Invoking Harmony",29025, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + //new Boon("Selfless Amplification",30509, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Hardening Persistence",28957, BoonSource.Revenant, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Soothing Bastion",34136, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Kalla's Fervor",42883, BoonSource.Revenant, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), + new Boon("Improved Kalla's Fervor",45614, BoonSource.Revenant, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), ///WARRIOR //skills - new Boon("Riposte",14434, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Flames of War", 31708, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Blood Reckoning", 29466 , BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Rock Guard", 34256 , BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Sight beyond Sight",40616, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Riposte",14434, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Flames of War", 31708, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Blood Reckoning", 29466 , BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Rock Guard", 34256 , BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Sight beyond Sight",40616, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //signets - new Boon("Healing Signet",786, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Dolyak Signet",14458, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Fury",14459, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Might",14444, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Stamina",14478, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Rage",14496, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Healing Signet",786, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Dolyak Signet",14458, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Fury",14459, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Might",14444, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Stamina",14478, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Rage",14496, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //banners - new Boon("Banner of Strength", 14417, BoonSource.Warrior, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/e/e1/Banner_of_Strength.png/33px-Banner_of_Strength.png"), - new Boon("Banner of Discipline", 14449, BoonSource.Warrior, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/5/5f/Banner_of_Discipline.png/33px-Banner_of_Discipline.png"), - new Boon("Banner of Tactics",14450, BoonSource.Warrior, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/3/3f/Banner_of_Tactics.png/33px-Banner_of_Tactics.png"), - new Boon("Banner of Defense",14543, BoonSource.Warrior, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/f/f1/Banner_of_Defense.png/33px-Banner_of_Defense.png"), + new Boon("Banner of Strength", 14417, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/e/e1/Banner_of_Strength.png/33px-Banner_of_Strength.png"), + new Boon("Banner of Discipline", 14449, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/5/5f/Banner_of_Discipline.png/33px-Banner_of_Discipline.png"), + new Boon("Banner of Tactics",14450, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/3/3f/Banner_of_Tactics.png/33px-Banner_of_Tactics.png"), + new Boon("Banner of Defense",14543, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/f/f1/Banner_of_Defense.png/33px-Banner_of_Defense.png"), //stances - new Boon("Shield Stance",756, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Berserker's Stance",14453, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Enduring Pain",787, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Balanced Stance",34778, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Defiant Stance",21816, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Rampage",14484, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Shield Stance",756, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Berserker's Stance",14453, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Enduring Pain",787, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Balanced Stance",34778, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Defiant Stance",21816, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Rampage",14484, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - new Boon("Empower Allies", 14222, BoonSource.Warrior, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/4/4c/Empower_Allies.png/20px-Empower_Allies.png"), - new Boon("Peak Performance",46853, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Furious Surge", 30204, BoonSource.Warrior, "intensity", 25, BoonEnum.GraphOnlyBuff), - new Boon("Health Gain per Adrenaline bar Spent", BoonSource.Warrior, "intensity", 3, BoonEnum.GraphOnlyBuff), - new Boon("Rousing Resilience",24383, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Always Angry",34099, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Full Counter",43949, BoonSource.Warrior, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Attacker's Insight",41963, BoonSource.Warrior, "intensity", 5, BoonEnum.GraphOnlyBuff), + new Boon("Empower Allies", 14222, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/4/4c/Empower_Allies.png/20px-Empower_Allies.png"), + new Boon("Peak Performance",46853, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Furious Surge", 30204, BoonSource.Warrior, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff), + new Boon("Health Gain per Adrenaline bar Spent", BoonSource.Warrior, BoonType.Intensity, 3, BoonEnum.GraphOnlyBuff), + new Boon("Rousing Resilience",24383, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Always Angry",34099, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Full Counter",43949, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Attacker's Insight",41963, BoonSource.Warrior, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), /// GUARDIAN //skills - new Boon("Zealot's Flame", 9103, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Purging Flames",21672, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/2/28/Purging_Flames.png"), - new Boon("Litany of Wrath",21665, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Renewed Focus",9255, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Ashes of the Just",41957, BoonSource.Guardian, "intensity", 25, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/6/6d/Epilogue-_Ashes_of_the_Just.png", RemoveType.Manual), - new Boon("Eternal Oasis",44871, BoonSource.Guardian, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/5/5f/Epilogue-_Eternal_Oasis.png"), - new Boon("Unbroken Lines",43194, BoonSource.Guardian, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/d/d8/Epilogue-_Unbroken_Lines.png"), + new Boon("Zealot's Flame", 9103, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Purging Flames",21672, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/2/28/Purging_Flames.png"), + new Boon("Litany of Wrath",21665, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Renewed Focus",9255, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Ashes of the Just",41957, BoonSource.Guardian, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/6/6d/Epilogue-_Ashes_of_the_Just.png", RemoveType.Manual), + new Boon("Eternal Oasis",44871, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/5/5f/Epilogue-_Eternal_Oasis.png"), + new Boon("Unbroken Lines",43194, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/d/d8/Epilogue-_Unbroken_Lines.png"), //signets - new Boon("Signet of Resolve",9220, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Bane Signet",9092, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Judgment",9156, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Mercy",9162, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Wrath",9100, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Courage",29633, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Resolve",9220, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Bane Signet",9092, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Judgment",9156, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Mercy",9162, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Wrath",9100, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Courage",29633, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //virtues - new Boon("Virtue of Justice", 9114, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Spears of Justice", 29632, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Virtue of Courage", 9113, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Shield of Courage", 29523, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Virtue of Resolve", 9119, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Wings of Resolve", 30308, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Tome of Justice",40530, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Tome of Courage",43508,BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Tome of Resolve",46298, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Virtue of Justice", 9114, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Spears of Justice", 29632, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Virtue of Courage", 9113, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Shield of Courage", 29523, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Virtue of Resolve", 9119, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Wings of Resolve", 30308, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Tome of Justice",40530, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Tome of Courage",43508,BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Tome of Resolve",46298, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - new Boon("Strength in Numbers",13796, BoonSource.Guardian, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7b/Strength_in_Numbers.png"), - new Boon("Invigorated Bulwark",30207, BoonSource.Guardian, "intensity", 5, BoonEnum.GraphOnlyBuff), - new Boon("Battle Presence", 17046, BoonSource.Guardian, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/2/27/Battle_Presence.png"), - //new Boon("Force of Will",29485, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff),//not sure if intensity - new Boon("Quickfire",45123, BoonSource.Guardian, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Strength in Numbers",13796, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7b/Strength_in_Numbers.png"), + new Boon("Invigorated Bulwark",30207, BoonSource.Guardian, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), + new Boon("Battle Presence", 17046, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/2/27/Battle_Presence.png"), + //new Boon("Force of Will",29485, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff),//not sure if intensity + new Boon("Quickfire",45123, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), ///ENGINEER //skills - new Boon("Static Shield",6055, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Absorb",6056, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("A.E.D.",21660, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Elixir S",5863, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Elixir X", BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Utility Goggles",5864, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Slick Shoes",5833, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Watchful Eye", BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Cooling Vapor",46444, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Photon Wall Deployed",46094, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Spectrum Shield",43066, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Gear Shield",5997, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Static Shield",6055, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Absorb",6056, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("A.E.D.",21660, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Elixir S",5863, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Elixir X", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Utility Goggles",5864, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Slick Shoes",5833, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Watchful Eye", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Cooling Vapor",46444, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Photon Wall Deployed",46094, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Spectrum Shield",43066, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Gear Shield",5997, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //Transforms - new Boon("Rampage", BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Photon Forge",43708, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Rampage", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Photon Forge",43708, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //Traits - new Boon("Laser's Edge",44414, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - //new Boon("Afterburner",42210, BoonSource.Engineer, "intensity", 5, BoonEnum.GraphOnlyBuff), What is this? - new Boon("Iron Blooded",49065, BoonSource.Engineer, "intensity", 25, BoonEnum.GraphOnlyBuff), - new Boon("Streamlined Kits",18687, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Kinetic Charge",45781, BoonSource.Engineer, "intensity", 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Pinpoint Distribution", 38333, BoonSource.Engineer, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/bf/Pinpoint_Distribution.png"), - new Boon("Heat Therapy",40694, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Overheat", 40397, BoonSource.Engineer, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Laser's Edge",44414, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Afterburner",42210, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Iron Blooded",49065, BoonSource.Engineer, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff), + new Boon("Streamlined Kits",18687, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Kinetic Charge",45781, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Pinpoint Distribution", 38333, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/bf/Pinpoint_Distribution.png"), + new Boon("Heat Therapy",40694, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Overheat", 40397, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///RANGER - new Boon("Celestial Avatar", 31508, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Counterattack",14509, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Celestial Avatar", 31508, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Counterattack",14509, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //signets - new Boon("Signet of Renewal",41147, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Stone",12627, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of the Hunt",12626, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of the Wild",12636, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Renewal",41147, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Stone",12627, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of the Hunt",12626, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of the Wild",12636, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //spirits - // new Boon("Water Spirit", 50386, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/0/06/Water_Spirit.png/33px-Water_Spirit.png"), - new Boon("Frost Spirit", 12544, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/c/c6/Frost_Spirit.png/33px-Frost_Spirit.png"), - new Boon("Sun Spirit", 12540, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/d/dd/Sun_Spirit.png/33px-Sun_Spirit.png"), - new Boon("Stone Spirit", 12547, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/3/35/Stone_Spirit.png/20px-Stone_Spirit.png"), - //new Boon("Storm Spirit", 50381, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/2/25/Storm_Spirit.png/30px-Storm_Spirit.png"), + // new Boon("Water Spirit", 50386, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/0/06/Water_Spirit.png/33px-Water_Spirit.png"), + new Boon("Frost Spirit", 12544, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/c/c6/Frost_Spirit.png/33px-Frost_Spirit.png"), + new Boon("Sun Spirit", 12540, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/d/dd/Sun_Spirit.png/33px-Sun_Spirit.png"), + new Boon("Stone Spirit", 12547, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/3/35/Stone_Spirit.png/20px-Stone_Spirit.png"), + //new Boon("Storm Spirit", 50381, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/2/25/Storm_Spirit.png/30px-Storm_Spirit.png"), //reworked - new Boon("Water Spirit", 50386, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/0/06/Water_Spirit.png/33px-Water_Spirit.png"), - new Boon("Frost Spirit", 50421, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/c/c6/Frost_Spirit.png/33px-Frost_Spirit.png"), - new Boon("Sun Spirit", 50413, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/d/dd/Sun_Spirit.png/33px-Sun_Spirit.png"), - new Boon("Stone Spirit", 50415, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/3/35/Stone_Spirit.png/20px-Stone_Spirit.png"), - new Boon("Storm Spirit", 50381, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/2/25/Storm_Spirit.png/30px-Storm_Spirit.png"), + new Boon("Water Spirit", 50386, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/0/06/Water_Spirit.png/33px-Water_Spirit.png"), + new Boon("Frost Spirit", 50421, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/c/c6/Frost_Spirit.png/33px-Frost_Spirit.png"), + new Boon("Sun Spirit", 50413, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/d/dd/Sun_Spirit.png/33px-Sun_Spirit.png"), + new Boon("Stone Spirit", 50415, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/3/35/Stone_Spirit.png/20px-Stone_Spirit.png"), + new Boon("Storm Spirit", 50381, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/2/25/Storm_Spirit.png/30px-Storm_Spirit.png"), //skills - new Boon("Attack of Opportunity",12574, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Call of the Wild",36781, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Strength of the pack!",12554, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Sick 'Em!",33902, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Sharpening Stones",12536, BoonSource.Ranger, "intenstiy", 10, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Ancestral Grace", 31584, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Empowerment", 31803, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/f/f0/Glyph_of_Empowerment.png/33px-Glyph_of_Empowerment.png"), - new Boon("Dolyak Stance",41815, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/71/Dolyak_Stance.png"), - new Boon("Griffon Stance",46280, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/9/98/Griffon_Stance.png"), - new Boon("Moa Stance",45038, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/66/Moa_Stance.png"), - new Boon("Vulture Stance",44651, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/8/8f/Vulture_Stance.png"), - new Boon("Bear Stance",40045, BoonSource.Ranger, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/f/f0/Bear_Stance.png"), - new Boon("One Wolf Pack",44139, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/3/3b/One_Wolf_Pack.png"), - new Boon("Sharpen Spines",43266, BoonSource.Ranger, "intensity", 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Attack of Opportunity",12574, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Call of the Wild",36781, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Strength of the pack!",12554, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Sick 'Em!",33902, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Sharpening Stones",12536, BoonSource.Ranger, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Ancestral Grace", 31584, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Glyph of Empowerment", 31803, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/f/f0/Glyph_of_Empowerment.png/33px-Glyph_of_Empowerment.png"), + new Boon("Dolyak Stance",41815, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/71/Dolyak_Stance.png"), + new Boon("Griffon Stance",46280, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/9/98/Griffon_Stance.png"), + new Boon("Moa Stance",45038, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/66/Moa_Stance.png"), + new Boon("Vulture Stance",44651, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/8/8f/Vulture_Stance.png"), + new Boon("Bear Stance",40045, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/f/f0/Bear_Stance.png"), + new Boon("One Wolf Pack",44139, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/3/3b/One_Wolf_Pack.png"), + new Boon("Sharpen Spines",43266, BoonSource.Ranger, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - new Boon("Spotter", 14055, BoonSource.Ranger, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/b0/Spotter.png"), - new Boon("Opening Strike",13988, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Quick Draw",29703, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Light on your feet",30673, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Natural Mender",30449, BoonSource.Ranger, "intensity", 10, BoonEnum.GraphOnlyBuff), - new Boon("Lingering Light",32248, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Deadly",44932, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Ferocious",41720, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Supportive",40069, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Versatile",44693, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Stout",40272, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Unstoppable Union",44439, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Twice as Vicious",45600, BoonSource.Ranger, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Spotter", 14055, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/b0/Spotter.png"), + new Boon("Opening Strike",13988, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Quick Draw",29703, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Light on your feet",30673, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Natural Mender",30449, BoonSource.Ranger, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff), + new Boon("Lingering Light",32248, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Deadly",44932, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Ferocious",41720, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Supportive",40069, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Versatile",44693, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Stout",40272, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Unstoppable Union",44439, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Twice as Vicious",45600, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///THIEF //signets - new Boon("Signet of Malice",13049, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Assassin's Signet (Passive)",13047, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Assassin's Signet (Active)",44597, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Infiltrator's Signet",13063, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Agility",13061, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Shadows",13059, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Malice",13049, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Assassin's Signet (Passive)",13047, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Assassin's Signet (Active)",44597, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Infiltrator's Signet",13063, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Agility",13061, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Shadows",13059, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //venoms - new Boon("Skelk Venom",-1, BoonSource.Thief, "intensity", 5, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/75/Skelk_Venom.png", RemoveType.Manual), - new Boon("Ice Drake Venom",13095, BoonSource.Thief, "intensity", 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/7b/Ice_Drake_Venom.png", RemoveType.Manual), - new Boon("Devourer Venom", 13094, BoonSource.Thief, "intensity", 2, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/4/4d/Devourer_Venom.png", RemoveType.Manual), - new Boon("Skale Venom", 13036, BoonSource.Thief, "intensity", 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/14/Skale_Venom.png", RemoveType.Manual), - new Boon("Spider Venom",13036, BoonSource.Thief, "intensity", 6, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/39/Spider_Venom.png", RemoveType.Manual), - new Boon("Basilisk Venom", 13133, BoonSource.Thief, "intensity", 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/3a/Basilisk_Venom.png", RemoveType.Manual), + new Boon("Skelk Venom",-1, BoonSource.Thief, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/75/Skelk_Venom.png", RemoveType.Manual), + new Boon("Ice Drake Venom",13095, BoonSource.Thief, BoonType.Intensity, 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/7b/Ice_Drake_Venom.png", RemoveType.Manual), + new Boon("Devourer Venom", 13094, BoonSource.Thief, BoonType.Intensity, 2, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/4/4d/Devourer_Venom.png", RemoveType.Manual), + new Boon("Skale Venom", 13036, BoonSource.Thief, BoonType.Intensity, 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/14/Skale_Venom.png", RemoveType.Manual), + new Boon("Spider Venom",13036, BoonSource.Thief, BoonType.Intensity, 6, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/39/Spider_Venom.png", RemoveType.Manual), + new Boon("Basilisk Venom", 13133, BoonSource.Thief, BoonType.Intensity, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/3a/Basilisk_Venom.png", RemoveType.Manual), //physical - new Boon("Palm Strike",30423, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Pulmonary Impact",30510, BoonSource.Thief, "intensity", 2, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Palm Strike",30423, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Pulmonary Impact",30510, BoonSource.Thief, BoonType.Intensity, 2, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //weapon - new Boon("Infiltration",13135, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Infiltration",13135, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //transforms - new Boon("Dagger Storm",13134, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Kneeling",42869, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Dagger Storm",13134, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Kneeling",42869, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - //new Boon("Deadeyes's Gaze",46333, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), - //new Boon("Maleficent Seven",43606, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Hidden Killer",42720, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Lead Attacks",34659, BoonSource.Thief, "intensity", 15, BoonEnum.GraphOnlyBuff), - new Boon("Instant Reflexes",34283, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Lotus Training", 32200, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Unhindered Combatant", 32931, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Bounding Dodger", 33162, BoonSource.Thief, "duration", 1, BoonEnum.GraphOnlyBuff), + //new Boon("Deadeyes's Gaze",46333, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + //new Boon("Maleficent Seven",43606, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Hidden Killer",42720, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Lead Attacks",34659, BoonSource.Thief, BoonType.Intensity, 15, BoonEnum.GraphOnlyBuff), + new Boon("Instant Reflexes",34283, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Lotus Training", 32200, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Unhindered Combatant", 32931, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Bounding Dodger", 33162, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///MESMER //signets - new Boon("Signet of the Ether", 21751, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Domination",10231, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Illusions",10246, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Inspiration",10235, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Midnight",10233, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Humility",30739, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of the Ether", 21751, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Domination",10231, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Illusions",10246, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Inspiration",10235, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Midnight",10233, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Humility",30739, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //skills - new Boon("Distortion",10243, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Blur", 10335 , BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Mirror",10357, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Echo",29664, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Illusion of Life", BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - //new Boon("Time Block",30134, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff), What is this? - new Boon("Time Echo",29582, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Time Anchored",30136, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Distortion",10243, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Blur", 10335 , BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Mirror",10357, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Echo",29664, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Illusion of Life", BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + //new Boon("Time Block",30134, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), What is this? + new Boon("Time Echo",29582, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Time Anchored",30136, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - new Boon("Fencer's Finesse", 30426 , BoonSource.Mesmer, "intensity", 10, BoonEnum.GraphOnlyBuff), - new Boon("Illusionary Defense",49099, BoonSource.Mesmer, "intensity", 5, BoonEnum.GraphOnlyBuff), - new Boon("Compunding Power",49058, BoonSource.Mesmer, "intensity", 5, BoonEnum.GraphOnlyBuff), - new Boon("Phantasmal Force", 44691 , BoonSource.Mesmer, "intensity", 25, BoonEnum.GraphOnlyBuff), - new Boon("Mirage Cloak",40408, BoonSource.Mesmer, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Fencer's Finesse", 30426 , BoonSource.Mesmer, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff), + new Boon("Illusionary Defense",49099, BoonSource.Mesmer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), + new Boon("Compunding Power",49058, BoonSource.Mesmer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), + new Boon("Phantasmal Force", 44691 , BoonSource.Mesmer, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff), + new Boon("Mirage Cloak",40408, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///NECROMANCER //forms - new Boon("Lich Form",10631, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Death Shroud", 790, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Reaper's Shroud", 29446, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Lich Form",10631, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Death Shroud", 790, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Reaper's Shroud", 29446, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //signets - new Boon("Signet of Vampirism",21761, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Plague Signet",10630, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Spite",10621, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of the Locust",10614, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Undeath",10610, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Vampirism",21761, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Plague Signet",10630, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Spite",10621, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of the Locust",10614, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Undeath",10610, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //skills - new Boon("Spectral Walk",15083, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Infusing Terror", 30129, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Spectral Walk",15083, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Infusing Terror", 30129, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - new Boon("Corrupter's Defense",30845, BoonSource.Necromancer, "intenstiy", 10, BoonEnum.GraphOnlyBuff), - new Boon("Vampiric Aura", 30285, BoonSource.Necromancer, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/d/da/Vampiric_Presence.png"), - new Boon("Last Rites",29726, BoonSource.Necromancer, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/1/1a/Last_Rites_%28effect%29.png"), - new Boon("Sadistic Searing",43626, BoonSource.Necromancer, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Corrupter's Defense",30845, BoonSource.Necromancer, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff), + new Boon("Vampiric Aura", 30285, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/d/da/Vampiric_Presence.png"), + new Boon("Last Rites",29726, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/1/1a/Last_Rites_%28effect%29.png"), + new Boon("Sadistic Searing",43626, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), ///ELEMENTALIST //signets - new Boon("Signet of Restoration",739, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Air",5590, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Earth",5592, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Fire",5544, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Water",5591, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Restoration",739, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Air",5590, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Earth",5592, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Fire",5544, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Water",5591, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //attunments - new Boon("Fire Attunement", 5585, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Water Attunement", 5586, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Air Attunement", 5575, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Earth Attunement", 5580, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Fire Attunement", 5585, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Water Attunement", 5586, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Air Attunement", 5575, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Earth Attunement", 5580, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //forms - new Boon("Mist Form",5543, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Ride the Lightning",5588, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Vapor Form",5620, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Tornado",5534, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Whirlpool", BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Mist Form",5543, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Ride the Lightning",5588, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Vapor Form",5620, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Tornado",5534, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Whirlpool", BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //conjures - new Boon("Conjure Earth Shield", 15788, BoonSource.Elementalist, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7a/Conjure_Earth_Shield.png", RemoveType.Manual), - new Boon("Conjure Flame Axe", 15789, BoonSource.Elementalist, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/a/a1/Conjure_Flame_Axe.png", RemoveType.Manual), - new Boon("Conjure Frost Bow", 15790, BoonSource.Elementalist, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/c/c3/Conjure_Frost_Bow.png", RemoveType.Manual), - new Boon("Conjure Lightning Hammer", 15791, BoonSource.Elementalist, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/1/1f/Conjure_Lightning_Hammer.png", RemoveType.Manual), - new Boon("Conjure Fiery Greatsword", 15792, BoonSource.Elementalist, "duration", 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/e/e2/Conjure_Fiery_Greatsword.png", RemoveType.Manual), + new Boon("Conjure Earth Shield", 15788, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7a/Conjure_Earth_Shield.png", RemoveType.Manual), + new Boon("Conjure Flame Axe", 15789, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/a/a1/Conjure_Flame_Axe.png", RemoveType.Manual), + new Boon("Conjure Frost Bow", 15790, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/c/c3/Conjure_Frost_Bow.png", RemoveType.Manual), + new Boon("Conjure Lightning Hammer", 15791, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/1/1f/Conjure_Lightning_Hammer.png", RemoveType.Manual), + new Boon("Conjure Fiery Greatsword", 15792, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/e/e2/Conjure_Fiery_Greatsword.png", RemoveType.Manual), //skills - new Boon("Arcane Power",5582, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/72/Arcane_Power.png", RemoveType.Manual), - new Boon("Arcane Shield",5640, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Renewal of Fire",5764, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Fire)",5739, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Water)",5741, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Air)",5740, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Earth)",5742, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Rebound",31337, BoonSource.Elementalist, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/0/03/%22Rebound%21%22.png", RemoveType.Manual), - new Boon("Rock Barrier",34633, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual),//750? - new Boon("Magnetic Wave",15794, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Obsidian Flesh",5667, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Arcane Power",5582, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/72/Arcane_Power.png", RemoveType.Manual), + new Boon("Arcane Shield",5640, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Renewal of Fire",5764, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Glyph of Elemental Power (Fire)",5739, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Glyph of Elemental Power (Water)",5741, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Glyph of Elemental Power (Air)",5740, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Glyph of Elemental Power (Earth)",5742, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Rebound",31337, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/0/03/%22Rebound%21%22.png", RemoveType.Manual), + new Boon("Rock Barrier",34633, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual),//750? + new Boon("Magnetic Wave",15794, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Obsidian Flesh",5667, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), //traits - new Boon("Harmonious Conduit",31353, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Fresh Air",31353, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Soothing Mist", 5587, BoonSource.Elementalist, "duration", 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/f/f7/Soothing_Mist.png"), - new Boon("Lesser Arcane Shield",25579, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Weaver's Prowess",42061, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), - new Boon("Elements of Rage",42416, BoonSource.Elementalist, "duration", 1, BoonEnum.GraphOnlyBuff), + new Boon("Harmonious Conduit",31353, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Fresh Air",31353, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Soothing Mist", 5587, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/f/f7/Soothing_Mist.png"), + new Boon("Lesser Arcane Shield",25579, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Weaver's Prowess",42061, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), + new Boon("Elements of Rage",42416, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), /// FOODS - new Boon("Plate of Truffle Steak",9769, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/4/4c/Plate_of_Truffle_Steak.png"), - new Boon("Bowl of Sweet and Spicy Butternut Squash Soup",17825, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/d/df/Bowl_of_Sweet_and_Spicy_Butternut_Squash_Soup.png"), - new Boon("Red-Lentil Saobosa",46273, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/a/a8/Red-Lentil_Saobosa.png"), - new Boon("Super Veggie Pizza",10008, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/6/66/Super_Veggie_Pizza.png"), - new Boon("Rare Veggie Pizza",10009, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/a/a0/Rare_Veggie_Pizza.png"), - new Boon("Bowl of Garlic Kale Sautee",-1, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/0/04/Bowl_of_Garlic_Kale_Sautee.png"), - new Boon("Koi Cake",-1, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/14/Koi_Cake.png"), - new Boon("Prickly Pear Pie",24800, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/0/0a/Prickly_Pear_Pie.png"), - new Boon("Bowl of Nopalitos Sauté",-1, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/f/f1/Bowl_of_Nopalitos_Saut%C3%A9.png"), - new Boon("Delicious Rice Ball",26529, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/5/5d/Delicious_Rice_Ball.png"), - new Boon("Slice of Allspice Cake",33792, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/13/Slice_of_Allspice_Cake.png"), - new Boon("Fried Golden Dumpling",26530, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/14/Fried_Golden_Dumpling.png"), - new Boon("Bowl of Seaweed Salad",10080, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/1c/Bowl_of_Seaweed_Salad.png"), - new Boon("Bowl of Orrian Truffle and Meat Stew",10096, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/b/b8/Bowl_of_Orrian_Truffle_and_Meat_Stew.png"), - new Boon("Plate of Mussels Gnashblade",-1, BoonSource.Item, "duration", 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/7/7b/Plate_of_Mussels_Gnashblade.png"), + new Boon("Plate of Truffle Steak",9769, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/4/4c/Plate_of_Truffle_Steak.png"), + new Boon("Bowl of Sweet and Spicy Butternut Squash Soup",17825, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/d/df/Bowl_of_Sweet_and_Spicy_Butternut_Squash_Soup.png"), + new Boon("Red-Lentil Saobosa",46273, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/a/a8/Red-Lentil_Saobosa.png"), + new Boon("Super Veggie Pizza",10008, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/6/66/Super_Veggie_Pizza.png"), + new Boon("Rare Veggie Pizza",10009, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/a/a0/Rare_Veggie_Pizza.png"), + new Boon("Bowl of Garlic Kale Sautee",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/0/04/Bowl_of_Garlic_Kale_Sautee.png"), + new Boon("Koi Cake",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/14/Koi_Cake.png"), + new Boon("Prickly Pear Pie",24800, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/0/0a/Prickly_Pear_Pie.png"), + new Boon("Bowl of Nopalitos Sauté",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/f/f1/Bowl_of_Nopalitos_Saut%C3%A9.png"), + new Boon("Delicious Rice Ball",26529, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/5/5d/Delicious_Rice_Ball.png"), + new Boon("Slice of Allspice Cake",33792, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/13/Slice_of_Allspice_Cake.png"), + new Boon("Fried Golden Dumpling",26530, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/14/Fried_Golden_Dumpling.png"), + new Boon("Bowl of Seaweed Salad",10080, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/1/1c/Bowl_of_Seaweed_Salad.png"), + new Boon("Bowl of Orrian Truffle and Meat Stew",10096, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/b/b8/Bowl_of_Orrian_Truffle_and_Meat_Stew.png"), + new Boon("Plate of Mussels Gnashblade",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Food, "https://wiki.guildwars2.com/images/7/7b/Plate_of_Mussels_Gnashblade.png"), /// UTILITIES - new Boon("Superior Sharpening Stone",9963, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/78/Superior_Sharpening_Stone.png"), - new Boon("Master Maintenance Oil",-1, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), - new Boon("Tuning Icicle",34206, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/75/Tuning_Icicle.png"), - new Boon("Master Tuning Crystal",9967, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/58/Master_Tuning_Crystal.png"), - new Boon("Toxic Sharpening Stone",-1, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/d/db/Toxic_Sharpening_Stone.png"), - new Boon("Potent Superior Sharpening Stone",-1, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/78/Superior_Sharpening_Stone.png"), - new Boon("Toxic Maintenance Oil",21827, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/a/a6/Toxic_Maintenance_Oil.png"), - new Boon("Magnanimous Maintenance Oil",38605, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/53/Magnanimous_Maintenance_Oil.png"), - new Boon("Peppermint Oil",34187, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/b/bc/Peppermint_Oil.png"), - new Boon("Potent Master Maintenance Oil",9968, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), - new Boon("Furious Maintenance Oil",-1, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), - new Boon("Furious Sharpening Stone",25882, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/78/Superior_Sharpening_Stone.png"), - new Boon("Bountiful Maintenance Oil",25879, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), - new Boon("Toxic Focusing Crystal",21828, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/d/de/Toxic_Focusing_Crystal.png"), - new Boon("Tin of Fruitcake",34211, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/a/af/Tin_of_Fruitcake.png"), - // new Boon("Hylek Maintenance Oil",9968, BoonSource.Item, "duration", 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), when wiki says "same stats" its litteraly the same buff + new Boon("Superior Sharpening Stone",9963, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/78/Superior_Sharpening_Stone.png"), + new Boon("Master Maintenance Oil",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), + new Boon("Tuning Icicle",34206, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/75/Tuning_Icicle.png"), + new Boon("Master Tuning Crystal",9967, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/58/Master_Tuning_Crystal.png"), + new Boon("Toxic Sharpening Stone",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/d/db/Toxic_Sharpening_Stone.png"), + new Boon("Potent Superior Sharpening Stone",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/78/Superior_Sharpening_Stone.png"), + new Boon("Toxic Maintenance Oil",21827, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/a/a6/Toxic_Maintenance_Oil.png"), + new Boon("Magnanimous Maintenance Oil",38605, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/53/Magnanimous_Maintenance_Oil.png"), + new Boon("Peppermint Oil",34187, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/b/bc/Peppermint_Oil.png"), + new Boon("Potent Master Maintenance Oil",9968, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), + new Boon("Furious Maintenance Oil",-1, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), + new Boon("Furious Sharpening Stone",25882, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/7/78/Superior_Sharpening_Stone.png"), + new Boon("Bountiful Maintenance Oil",25879, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), + new Boon("Toxic Focusing Crystal",21828, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/d/de/Toxic_Focusing_Crystal.png"), + new Boon("Tin of Fruitcake",34211, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/a/af/Tin_of_Fruitcake.png"), + // new Boon("Hylek Maintenance Oil",9968, BoonSource.Item, BoonType.Duration, 1, BoonEnum.Utility, "https://wiki.guildwars2.com/images/5/5b/Master_Maintenance_Oil.png"), when wiki says "same stats" its litteraly the same buff }; @@ -504,7 +505,7 @@ public static bool removePermission(int boonid, int buffremove) case RemoveType.Cleanse: return buffremove == 1 || buffremove == 2; case RemoveType.Manual: - return buffremove == 3; + return buffremove == 3 || buffremove == 1; case RemoveType.All: return buffremove == 1 || buffremove == 2 || buffremove == 3; default: @@ -619,7 +620,7 @@ public BoonSource getSource() return source; } - public string getType() + public BoonType getType() { return type; } @@ -636,7 +637,7 @@ public string getLink() public BoonSimulator getSimulator() { - if (type == "intensity") + if (type == BoonType.Intensity) { return new BoonSimulatorIntensity(capacity); } else diff --git a/LuckParser/Models/ParseModels/Player.cs b/LuckParser/Models/ParseModels/Player.cs index 54b77021f..3a8a6099f 100644 --- a/LuckParser/Models/ParseModels/Player.cs +++ b/LuckParser/Models/ParseModels/Player.cs @@ -155,11 +155,11 @@ public Dictionary getBoonPresence(BossData bossData, SkillData skillD public int[] getCleanses(BossData bossData, List combatList, AgentData agentData) { long time_start = bossData.getFirstAware(); int[] cleanse = { 0, 0 }; - foreach (CombatItem c in combatList.Where(x=>x.isStateChange().getID() == 0)) + foreach (CombatItem c in combatList.Where(x=>x.isStateChange().getID() == 0 && x.isBuff() == 1)) { if (c.isActivation().getID() == 0) { - if (instid == c.getSrcInstid() && c.getIFF().getEnum() == "FRIEND" && c.isBuffremove().getID() == 1/*|| instid == c.getSrcMasterInstid()*/)//selecting player as remover could be wrong + if (instid == c.getDstInstid() && c.getIFF().getEnum() == "FRIEND" && (c.isBuffremove().getID() == 2 || c.isBuffremove().getID() == 1)/*|| instid == c.getSrcMasterInstid()*/)//selecting player as remover could be wrong { long time = c.getTime() - time_start; if (time > 0) @@ -681,8 +681,8 @@ private BoonMap getBoonMap(BossData bossData, SkillData skillData, List= 0 && time <= fight_duration) + ushort dst = c.isBuffremove().getID() == 0 ? c.getDstInstid() : c.getSrcInstid(); + if (instid == dst && time >= 0 && time <= fight_duration) { ushort src = c.getSrcMasterInstid() > 0 ? c.getSrcMasterInstid() : c.getSrcInstid(); if (c.isBuffremove().getID() == 0) From 7ed16717991608f821e4fa42f54103f4e3e8b1ed Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Sun, 10 Jun 2018 14:29:34 +0200 Subject: [PATCH 3/9] some more bug fixes --- LuckParser/Controllers/Controller1.cs | 12 ++++++------ LuckParser/Models/ParseModels/Boons/Boon.cs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index 42162bc6c..d5d26d1f5 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -1028,11 +1028,11 @@ private Dictionary getfinalboons(Player p) string rate = "0"; if (boon_distrib.ContainsKey(boon.getID())) { - if (boon.getType().Equals("duration")) + if (boon.getType() == Boon.BoonType.Duration) { rate = Math.Round(100.0 * boon_distrib.getUptime(boon.getID()) / fight_duration, 1) + "%"; } - else if (boon.getType().Equals("intensity")) + else if (boon.getType() == Boon.BoonType.Intensity) { rate = Math.Round((double)boon_distrib.getUptime(boon.getID()) / fight_duration, 1).ToString(); } @@ -1075,14 +1075,14 @@ private Dictionary getfinalboons(Player p, List trgetPlayer totaloverstack += total; if (total > 0) { - if (boon.getType().Equals("duration")) + if (boon.getType() == Boon.BoonType.Duration) { rate = "" + Math.Round(100.0 * total / fight_duration / trgetPlayers.Count, 1) + "%"; } - else if (boon.getType().Equals("intensity")) + else if (boon.getType() == Boon.BoonType.Intensity) { rate = "" @@ -1108,12 +1108,12 @@ private Dictionary getfinalcondis(Player p) if (boon_distrib.ContainsKey(boon.getID())) { string rate = "0"; - if (boon.getType().Equals("duration")) + if (boon.getType() == Boon.BoonType.Duration) { long fight_duration = b_data.getLastAware() - b_data.getFirstAware(); rate = Math.Round(100.0 * boon_distrib.getUptime(boon.getID()) / fight_duration, 1) + "%"; } - else if (boon.getType().Equals("intensity")) + else if (boon.getType() == Boon.BoonType.Intensity) { long fight_duration = b_data.getLastAware() - b_data.getFirstAware(); rate = Math.Round((double)boon_distrib.getUptime(boon.getID()) / fight_duration, 1).ToString(); diff --git a/LuckParser/Models/ParseModels/Boons/Boon.cs b/LuckParser/Models/ParseModels/Boons/Boon.cs index 186a0a2ea..484e94a2f 100644 --- a/LuckParser/Models/ParseModels/Boons/Boon.cs +++ b/LuckParser/Models/ParseModels/Boons/Boon.cs @@ -283,7 +283,7 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity //Traits new Boon("Laser's Edge",44414, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), new Boon("Afterburner",42210, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Iron Blooded",49065, BoonSource.Engineer, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff), + new Boon("Iron Blooded",49065, BoonSource.Engineer, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff, RemoveType.Manual), new Boon("Streamlined Kits",18687, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), new Boon("Kinetic Charge",45781, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), new Boon("Pinpoint Distribution", 38333, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/bf/Pinpoint_Distribution.png"), From 3b8f05fd03ef3329424f7767fffca7070620b122 Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Sun, 10 Jun 2018 14:35:59 +0200 Subject: [PATCH 4/9] removed unnecessary check from getCleanses --- LuckParser/Models/ParseModels/Player.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LuckParser/Models/ParseModels/Player.cs b/LuckParser/Models/ParseModels/Player.cs index 3a8a6099f..a5cf9f5e9 100644 --- a/LuckParser/Models/ParseModels/Player.cs +++ b/LuckParser/Models/ParseModels/Player.cs @@ -159,7 +159,7 @@ public int[] getCleanses(BossData bossData, List combatList, AgentDa { if (c.isActivation().getID() == 0) { - if (instid == c.getDstInstid() && c.getIFF().getEnum() == "FRIEND" && (c.isBuffremove().getID() == 2 || c.isBuffremove().getID() == 1)/*|| instid == c.getSrcMasterInstid()*/)//selecting player as remover could be wrong + if (instid == c.getDstInstid() && c.getIFF().getEnum() == "FRIEND" && (c.isBuffremove().getID() == 1)/*|| instid == c.getSrcMasterInstid()*/)//selecting player as remover could be wrong { long time = c.getTime() - time_start; if (time > 0) From c425f6d1331eaf388ef2b7e1fa5e23128e156efe Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Sun, 10 Jun 2018 15:39:26 +0200 Subject: [PATCH 5/9] added friend foe distinction to remove permission --- LuckParser/Models/ParseModels/Boons/Boon.cs | 374 ++++++++++---------- LuckParser/Models/ParseModels/Player.cs | 2 +- 2 files changed, 189 insertions(+), 187 deletions(-) diff --git a/LuckParser/Models/ParseModels/Boons/Boon.cs b/LuckParser/Models/ParseModels/Boons/Boon.cs index 484e94a2f..353e9130d 100644 --- a/LuckParser/Models/ParseModels/Boons/Boon.cs +++ b/LuckParser/Models/ParseModels/Boons/Boon.cs @@ -10,7 +10,7 @@ public class Boon // Boon public enum BoonEnum { Condition, Boon, OffensiveBuffTable, DefensiveBuffTable, GraphOnlyBuff, Food, Utility}; public enum BoonSource { Mixed, Necromancer, Elementalist, Mesmer, Warrior, Revenant, Guardian, Thief, Ranger, Engineer, Item }; - public enum RemoveType { Cleanse, Manual, None, All}; + public enum RemoveType { CleanseFoe, CleanseFriend, ManualFriend, None, All}; public enum BoonType { Duration, Intensity}; private static BoonSource ProfToEnum(string prof) @@ -107,36 +107,36 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity private static List allBoons = new List { //Base boons - new Boon("Might", 740, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/7/7c/Might.png", RemoveType.Cleanse), - new Boon("Fury", 725, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/4/46/Fury.png", RemoveType.Cleanse),//or 3m and 30s - new Boon("Quickness", 1187, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/b/b4/Quickness.png", RemoveType.Cleanse), - new Boon("Alacrity", 30328, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/4/4c/Alacrity.png/20px-Alacrity.png", RemoveType.Cleanse), - new Boon("Protection", 717, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/6/6c/Protection.png", RemoveType.Cleanse), - new Boon("Regeneration", 718, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Regeneration.png", RemoveType.Cleanse), - new Boon("Vigor", 726, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/f/f4/Vigor.png", RemoveType.Cleanse), + new Boon("Might", 740, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/7/7c/Might.png", RemoveType.CleanseFoe), + new Boon("Fury", 725, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/4/46/Fury.png", RemoveType.CleanseFoe),//or 3m and 30s + new Boon("Quickness", 1187, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/b/b4/Quickness.png", RemoveType.CleanseFoe), + new Boon("Alacrity", 30328, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/4/4c/Alacrity.png/20px-Alacrity.png", RemoveType.CleanseFoe), + new Boon("Protection", 717, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/6/6c/Protection.png", RemoveType.CleanseFoe), + new Boon("Regeneration", 718, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Regeneration.png", RemoveType.CleanseFoe), + new Boon("Vigor", 726, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/f/f4/Vigor.png", RemoveType.CleanseFoe), new Boon("Aegis", 743, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/e/e5/Aegis.png", RemoveType.All), new Boon("Stability", 1122, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/ae/Stability.png", RemoveType.All), - new Boon("Swiftness", 719, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/af/Swiftness.png", RemoveType.Cleanse), - new Boon("Retaliation", 873, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.Cleanse), - new Boon("Resistance", 26980, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/e/e9/Resistance_40px.png/20px-Resistance_40px.png", RemoveType.Cleanse), + new Boon("Swiftness", 719, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Boon, "https://wiki.guildwars2.com/images/a/af/Swiftness.png", RemoveType.CleanseFoe), + new Boon("Retaliation", 873, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.CleanseFoe), + new Boon("Resistance", 26980, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Boon, "https://wiki.guildwars2.com/images/thumb/e/e9/Resistance_40px.png/20px-Resistance_40px.png", RemoveType.CleanseFoe), // Condis - new Boon("Bleeding", 736, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Bleeding.png/20px-Bleeding.png", RemoveType.Cleanse), - new Boon("Burning", 737, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/4/45/Burning.png/20px-Burning.png", RemoveType.Cleanse), - new Boon("Confusion", 861, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Confusion.png/20px-Confusion.png", RemoveType.Cleanse), - new Boon("Poison", 723, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/05/Poison.png/20px-Poison.png", RemoveType.Cleanse), - new Boon("Torment", 19426, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/08/Torment.png/20px-Torment.png", RemoveType.Cleanse), - new Boon("Blind", 720, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Blinded.png/20px-Blinded.png", RemoveType.Cleanse), - new Boon("Chilled", 722, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/a6/Chilled.png/20px-Chilled.png", RemoveType.Cleanse), - new Boon("Crippled", 721, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Crippled.png/20px-Crippled.png", RemoveType.Cleanse), - new Boon("Fear", 791, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Fear.png/20px-Fear.png", RemoveType.Cleanse), - new Boon("Immobile", 727, BoonSource.Mixed, BoonType.Duration, 3, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/32/Immobile.png/20px-Immobile.png", RemoveType.Cleanse), - new Boon("Slow", 26766, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Slow_40px.png/20px-Slow_40px.png", RemoveType.Cleanse), - new Boon("Weakness", 742, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/f9/Weakness.png/20px-Weakness.png", RemoveType.Cleanse), - new Boon("Taunt", 27705, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/c/cc/Taunt.png/20px-Taunt.png", RemoveType.Cleanse), - new Boon("Vulnerability", 738, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/af/Vulnerability.png/20px-Vulnerability.png", RemoveType.Cleanse), - new Boon("Retaliation", 873, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.Cleanse), + new Boon("Bleeding", 736, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Bleeding.png/20px-Bleeding.png", RemoveType.CleanseFriend), + new Boon("Burning", 737, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/4/45/Burning.png/20px-Burning.png", RemoveType.CleanseFriend), + new Boon("Confusion", 861, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Confusion.png/20px-Confusion.png", RemoveType.CleanseFriend), + new Boon("Poison", 723, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/05/Poison.png/20px-Poison.png", RemoveType.CleanseFriend), + new Boon("Torment", 19426, BoonSource.Mixed, BoonType.Intensity, 1500, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/0/08/Torment.png/20px-Torment.png", RemoveType.CleanseFriend), + new Boon("Blind", 720, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/33/Blinded.png/20px-Blinded.png", RemoveType.CleanseFriend), + new Boon("Chilled", 722, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/a6/Chilled.png/20px-Chilled.png", RemoveType.CleanseFriend), + new Boon("Crippled", 721, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Crippled.png/20px-Crippled.png", RemoveType.CleanseFriend), + new Boon("Fear", 791, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/e/e6/Fear.png/20px-Fear.png", RemoveType.CleanseFriend), + new Boon("Immobile", 727, BoonSource.Mixed, BoonType.Duration, 3, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/3/32/Immobile.png/20px-Immobile.png", RemoveType.CleanseFriend), + new Boon("Slow", 26766, BoonSource.Mixed, BoonType.Duration, 9, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/fb/Slow_40px.png/20px-Slow_40px.png", RemoveType.CleanseFriend), + new Boon("Weakness", 742, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/f/f9/Weakness.png/20px-Weakness.png", RemoveType.CleanseFriend), + new Boon("Taunt", 27705, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/c/cc/Taunt.png/20px-Taunt.png", RemoveType.CleanseFriend), + new Boon("Vulnerability", 738, BoonSource.Mixed, BoonType.Intensity, 25, BoonEnum.Condition, "https://wiki.guildwars2.com/images/thumb/a/af/Vulnerability.png/20px-Vulnerability.png", RemoveType.CleanseFriend), + new Boon("Retaliation", 873, BoonSource.Mixed, BoonType.Duration, 5, BoonEnum.Condition, "https://wiki.guildwars2.com/images/5/53/Retaliation.png", RemoveType.CleanseFoe), // Generic - new Boon("Stealth", 13017, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Stealth", 13017, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Revealed", 890, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Superspeed", 5974, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/1a/Super_Speed.png"), //new Boon("Invulnerability", 801, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/eb/Determined.png"), @@ -149,39 +149,39 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Magnetic Aura", 5684, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Shocking Aura", 5577, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //race - new Boon("Take Root", 12459, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Bear",12426, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Raven",12405, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Snow Leopard",12400, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Become the Wolf",12393, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Avatar of Melandru", 12368, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Power Suit",12326, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Reaper of Grenth", 12366, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Charrzooka",43503, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Take Root", 12459, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Become the Bear",12426, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Become the Raven",12405, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Become the Snow Leopard",12400, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Become the Wolf",12393, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Avatar of Melandru", 12368, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Power Suit",12326, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Reaper of Grenth", 12366, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Charrzooka",43503, BoonSource.Mixed, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), ///REVENANT //skills - new Boon("Crystal Hibernation", 28262, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Vengeful Hammers", 27273, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Crystal Hibernation", 28262, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Vengeful Hammers", 27273, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Rite of the Great Dwarf", 26596, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/69/Rite_of_the_Great_Dwarf.png"), - new Boon("Embrace the Darkness", 28001, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Enchanted Daggers", 28557, BoonSource.Revenant, BoonType.Intensity, 6, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Impossible Odds", 27581, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Embrace the Darkness", 28001, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Enchanted Daggers", 28557, BoonSource.Revenant, BoonType.Intensity, 6, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Impossible Odds", 27581, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //facets - new Boon("Facet of Light",27336, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Infuse Light",27737, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/60/Infuse_Light.png", RemoveType.Manual), - new Boon("Facet of Darkness",28036, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Elements",28243, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Strength",27376, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Chaos",27983, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, RemoveType.Manual), - new Boon("Facet of Nature",29275, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Naturalistic Resonance", 29379, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/e9/Facet_of_Nature.png", RemoveType.Manual), + new Boon("Facet of Light",27336, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Infuse Light",27737, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/6/60/Infuse_Light.png", RemoveType.ManualFriend), + new Boon("Facet of Darkness",28036, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, RemoveType.ManualFriend), + new Boon("Facet of Elements",28243, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, RemoveType.ManualFriend), + new Boon("Facet of Strength",27376, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, RemoveType.ManualFriend), + new Boon("Facet of Chaos",27983, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, RemoveType.ManualFriend), + new Boon("Facet of Nature",29275, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Naturalistic Resonance", 29379, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/e/e9/Facet_of_Nature.png", RemoveType.ManualFriend), //legends - new Boon("Legendary Centaur Stance",27972, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Dragon Stance",27732, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Dwarf Stance",27205, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Demon Stance",27928, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Assassin Stance",27890, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Legendary Renegade Stance",44272, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Legendary Centaur Stance",27972, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Legendary Dragon Stance",27732, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Legendary Dwarf Stance",27205, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Legendary Demon Stance",27928, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Legendary Assassin Stance",27890, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Legendary Renegade Stance",44272, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //summons new Boon("Breakrazor's Bastion",44682, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/a/a7/Breakrazor%27s_Bastion.png"), new Boon("Razorclaw's Rage",41016, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/7/73/Razorclaw%27s_Rage.png"), @@ -192,24 +192,24 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity //new Boon("Expose Defenses", 48894, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Invoking Harmony",29025, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //new Boon("Selfless Amplification",30509, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Hardening Persistence",28957, BoonSource.Revenant, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Soothing Bastion",34136, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Hardening Persistence",28957, BoonSource.Revenant, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Soothing Bastion",34136, BoonSource.Revenant, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Kalla's Fervor",42883, BoonSource.Revenant, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), new Boon("Improved Kalla's Fervor",45614, BoonSource.Revenant, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), ///WARRIOR //skills - new Boon("Riposte",14434, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Riposte",14434, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Flames of War", 31708, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Blood Reckoning", 29466 , BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Rock Guard", 34256 , BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Sight beyond Sight",40616, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //signets - new Boon("Healing Signet",786, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Dolyak Signet",14458, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Fury",14459, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Might",14444, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Stamina",14478, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Rage",14496, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Healing Signet",786, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Dolyak Signet",14458, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Fury",14459, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Might",14444, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Stamina",14478, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Rage",14496, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //banners new Boon("Banner of Strength", 14417, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/e/e1/Banner_of_Strength.png/33px-Banner_of_Strength.png"), new Boon("Banner of Discipline", 14449, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/5/5f/Banner_of_Discipline.png/33px-Banner_of_Discipline.png"), @@ -221,7 +221,7 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Enduring Pain",787, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Balanced Stance",34778, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Defiant Stance",21816, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Rampage",14484, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Rampage",14484, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits new Boon("Empower Allies", 14222, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/4/4c/Empower_Allies.png/20px-Empower_Allies.png"), new Boon("Peak Performance",46853, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), @@ -229,74 +229,74 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Health Gain per Adrenaline bar Spent", BoonSource.Warrior, BoonType.Intensity, 3, BoonEnum.GraphOnlyBuff), new Boon("Rousing Resilience",24383, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Always Angry",34099, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Full Counter",43949, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Full Counter",43949, BoonSource.Warrior, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Attacker's Insight",41963, BoonSource.Warrior, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), /// GUARDIAN //skills - new Boon("Zealot's Flame", 9103, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Zealot's Flame", 9103, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Purging Flames",21672, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/2/28/Purging_Flames.png"), new Boon("Litany of Wrath",21665, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Renewed Focus",9255, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Ashes of the Just",41957, BoonSource.Guardian, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/6/6d/Epilogue-_Ashes_of_the_Just.png", RemoveType.Manual), + new Boon("Renewed Focus",9255, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Ashes of the Just",41957, BoonSource.Guardian, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/6/6d/Epilogue-_Ashes_of_the_Just.png", RemoveType.ManualFriend), new Boon("Eternal Oasis",44871, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/5/5f/Epilogue-_Eternal_Oasis.png"), new Boon("Unbroken Lines",43194, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/d/d8/Epilogue-_Unbroken_Lines.png"), //signets - new Boon("Signet of Resolve",9220, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Bane Signet",9092, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Judgment",9156, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Mercy",9162, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Wrath",9100, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Courage",29633, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Resolve",9220, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Bane Signet",9092, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Judgment",9156, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Mercy",9162, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Wrath",9100, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Courage",29633, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //virtues - new Boon("Virtue of Justice", 9114, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Spears of Justice", 29632, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Virtue of Courage", 9113, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Shield of Courage", 29523, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Virtue of Resolve", 9119, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Wings of Resolve", 30308, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Tome of Justice",40530, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Tome of Courage",43508,BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Tome of Resolve",46298, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Virtue of Justice", 9114, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Spears of Justice", 29632, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Virtue of Courage", 9113, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Shield of Courage", 29523, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Virtue of Resolve", 9119, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Wings of Resolve", 30308, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Tome of Justice",40530, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Tome of Courage",43508,BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Tome of Resolve",46298, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits new Boon("Strength in Numbers",13796, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7b/Strength_in_Numbers.png"), new Boon("Invigorated Bulwark",30207, BoonSource.Guardian, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), new Boon("Battle Presence", 17046, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/2/27/Battle_Presence.png"), //new Boon("Force of Will",29485, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff),//not sure if intensity - new Boon("Quickfire",45123, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Quickfire",45123, BoonSource.Guardian, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), ///ENGINEER //skills new Boon("Static Shield",6055, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Absorb",6056, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("A.E.D.",21660, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("A.E.D.",21660, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Elixir S",5863, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Elixir X", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Elixir X", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Utility Goggles",5864, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Slick Shoes",5833, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Watchful Eye", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Watchful Eye", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Cooling Vapor",46444, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Photon Wall Deployed",46094, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Spectrum Shield",43066, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Photon Wall Deployed",46094, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Spectrum Shield",43066, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Gear Shield",5997, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //Transforms - new Boon("Rampage", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Photon Forge",43708, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Rampage", BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Photon Forge",43708, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //Traits - new Boon("Laser's Edge",44414, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Afterburner",42210, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Iron Blooded",49065, BoonSource.Engineer, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Streamlined Kits",18687, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Kinetic Charge",45781, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Laser's Edge",44414, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Afterburner",42210, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Iron Blooded",49065, BoonSource.Engineer, BoonType.Intensity, 25, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Streamlined Kits",18687, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Kinetic Charge",45781, BoonSource.Engineer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Pinpoint Distribution", 38333, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/bf/Pinpoint_Distribution.png"), - new Boon("Heat Therapy",40694, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Heat Therapy",40694, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Overheat", 40397, BoonSource.Engineer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///RANGER - new Boon("Celestial Avatar", 31508, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Counterattack",14509, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Celestial Avatar", 31508, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Counterattack",14509, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //signets - new Boon("Signet of Renewal",41147, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Stone",12627, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of the Hunt",12626, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of the Wild",12636, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Renewal",41147, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Stone",12627, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of the Hunt",12626, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of the Wild",12636, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //spirits // new Boon("Water Spirit", 50386, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/0/06/Water_Spirit.png/33px-Water_Spirit.png"), new Boon("Frost Spirit", 12544, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/c/c6/Frost_Spirit.png/33px-Frost_Spirit.png"), @@ -314,8 +314,8 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Call of the Wild",36781, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Strength of the pack!",12554, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Sick 'Em!",33902, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Sharpening Stones",12536, BoonSource.Ranger, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Ancestral Grace", 31584, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Sharpening Stones",12536, BoonSource.Ranger, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Ancestral Grace", 31584, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Glyph of Empowerment", 31803, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/thumb/f/f0/Glyph_of_Empowerment.png/33px-Glyph_of_Empowerment.png"), new Boon("Dolyak Stance",41815, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/71/Dolyak_Stance.png"), new Boon("Griffon Stance",46280, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/9/98/Griffon_Stance.png"), @@ -323,44 +323,44 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Vulture Stance",44651, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/8/8f/Vulture_Stance.png"), new Boon("Bear Stance",40045, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/f/f0/Bear_Stance.png"), new Boon("One Wolf Pack",44139, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/3/3b/One_Wolf_Pack.png"), - new Boon("Sharpen Spines",43266, BoonSource.Ranger, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Sharpen Spines",43266, BoonSource.Ranger, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits new Boon("Spotter", 14055, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/b/b0/Spotter.png"), - new Boon("Opening Strike",13988, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Quick Draw",29703, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Opening Strike",13988, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Quick Draw",29703, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Light on your feet",30673, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Natural Mender",30449, BoonSource.Ranger, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff), new Boon("Lingering Light",32248, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Deadly",44932, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Ferocious",41720, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Supportive",40069, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Versatile",44693, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Stout",40272, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Deadly",44932, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Ferocious",41720, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Supportive",40069, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Versatile",44693, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Stout",40272, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Unstoppable Union",44439, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Twice as Vicious",45600, BoonSource.Ranger, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///THIEF //signets - new Boon("Signet of Malice",13049, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Assassin's Signet (Passive)",13047, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Assassin's Signet (Active)",44597, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Infiltrator's Signet",13063, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Agility",13061, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Shadows",13059, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Malice",13049, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Assassin's Signet (Passive)",13047, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Assassin's Signet (Active)",44597, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Infiltrator's Signet",13063, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Agility",13061, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Shadows",13059, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //venoms - new Boon("Skelk Venom",-1, BoonSource.Thief, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/75/Skelk_Venom.png", RemoveType.Manual), - new Boon("Ice Drake Venom",13095, BoonSource.Thief, BoonType.Intensity, 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/7b/Ice_Drake_Venom.png", RemoveType.Manual), - new Boon("Devourer Venom", 13094, BoonSource.Thief, BoonType.Intensity, 2, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/4/4d/Devourer_Venom.png", RemoveType.Manual), - new Boon("Skale Venom", 13036, BoonSource.Thief, BoonType.Intensity, 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/14/Skale_Venom.png", RemoveType.Manual), - new Boon("Spider Venom",13036, BoonSource.Thief, BoonType.Intensity, 6, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/39/Spider_Venom.png", RemoveType.Manual), - new Boon("Basilisk Venom", 13133, BoonSource.Thief, BoonType.Intensity, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/3a/Basilisk_Venom.png", RemoveType.Manual), + new Boon("Skelk Venom",-1, BoonSource.Thief, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/75/Skelk_Venom.png", RemoveType.ManualFriend), + new Boon("Ice Drake Venom",13095, BoonSource.Thief, BoonType.Intensity, 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/7b/Ice_Drake_Venom.png", RemoveType.ManualFriend), + new Boon("Devourer Venom", 13094, BoonSource.Thief, BoonType.Intensity, 2, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/4/4d/Devourer_Venom.png", RemoveType.ManualFriend), + new Boon("Skale Venom", 13036, BoonSource.Thief, BoonType.Intensity, 4, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/1/14/Skale_Venom.png", RemoveType.ManualFriend), + new Boon("Spider Venom",13036, BoonSource.Thief, BoonType.Intensity, 6, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/39/Spider_Venom.png", RemoveType.ManualFriend), + new Boon("Basilisk Venom", 13133, BoonSource.Thief, BoonType.Intensity, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/3/3a/Basilisk_Venom.png", RemoveType.ManualFriend), //physical - new Boon("Palm Strike",30423, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Pulmonary Impact",30510, BoonSource.Thief, BoonType.Intensity, 2, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Palm Strike",30423, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Pulmonary Impact",30510, BoonSource.Thief, BoonType.Intensity, 2, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //weapon - new Boon("Infiltration",13135, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Infiltration",13135, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //transforms - new Boon("Dagger Storm",13134, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Kneeling",42869, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Dagger Storm",13134, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Kneeling",42869, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits //new Boon("Deadeyes's Gaze",46333, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), //new Boon("Maleficent Seven",43606, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), @@ -372,21 +372,21 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Bounding Dodger", 33162, BoonSource.Thief, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///MESMER //signets - new Boon("Signet of the Ether", 21751, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Domination",10231, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Illusions",10246, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Inspiration",10235, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Midnight",10233, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Humility",30739, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of the Ether", 21751, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Domination",10231, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Illusions",10246, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Inspiration",10235, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Midnight",10233, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Humility",30739, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //skills new Boon("Distortion",10243, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Blur", 10335 , BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Blur", 10335 , BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Mirror",10357, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Echo",29664, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Illusion of Life", BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Echo",29664, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Illusion of Life", BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //new Boon("Time Block",30134, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), What is this? - new Boon("Time Echo",29582, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Time Anchored",30136, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Time Echo",29582, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Time Anchored",30136, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits new Boon("Fencer's Finesse", 30426 , BoonSource.Mesmer, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff), new Boon("Illusionary Defense",49099, BoonSource.Mesmer, BoonType.Intensity, 5, BoonEnum.GraphOnlyBuff), @@ -395,64 +395,64 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity new Boon("Mirage Cloak",40408, BoonSource.Mesmer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), ///NECROMANCER //forms - new Boon("Lich Form",10631, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Death Shroud", 790, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Reaper's Shroud", 29446, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Lich Form",10631, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Death Shroud", 790, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Reaper's Shroud", 29446, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //signets - new Boon("Signet of Vampirism",21761, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Plague Signet",10630, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Spite",10621, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of the Locust",10614, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Undeath",10610, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Vampirism",21761, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Plague Signet",10630, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Spite",10621, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of the Locust",10614, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Undeath",10610, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //skills - new Boon("Spectral Walk",15083, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Infusing Terror", 30129, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Spectral Walk",15083, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Infusing Terror", 30129, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits new Boon("Corrupter's Defense",30845, BoonSource.Necromancer, BoonType.Intensity, 10, BoonEnum.GraphOnlyBuff), new Boon("Vampiric Aura", 30285, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/d/da/Vampiric_Presence.png"), new Boon("Last Rites",29726, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/1/1a/Last_Rites_%28effect%29.png"), - new Boon("Sadistic Searing",43626, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Sadistic Searing",43626, BoonSource.Necromancer, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), ///ELEMENTALIST //signets - new Boon("Signet of Restoration",739, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Air",5590, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Earth",5592, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Fire",5544, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Signet of Water",5591, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Signet of Restoration",739, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Air",5590, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Earth",5592, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Fire",5544, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Signet of Water",5591, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //attunments - new Boon("Fire Attunement", 5585, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Water Attunement", 5586, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Air Attunement", 5575, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Earth Attunement", 5580, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Fire Attunement", 5585, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Water Attunement", 5586, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Air Attunement", 5575, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Earth Attunement", 5580, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //forms new Boon("Mist Form",5543, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Ride the Lightning",5588, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Ride the Lightning",5588, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Vapor Form",5620, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Tornado",5534, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Whirlpool", BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Tornado",5534, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Whirlpool", BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //conjures - new Boon("Conjure Earth Shield", 15788, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7a/Conjure_Earth_Shield.png", RemoveType.Manual), - new Boon("Conjure Flame Axe", 15789, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/a/a1/Conjure_Flame_Axe.png", RemoveType.Manual), - new Boon("Conjure Frost Bow", 15790, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/c/c3/Conjure_Frost_Bow.png", RemoveType.Manual), - new Boon("Conjure Lightning Hammer", 15791, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/1/1f/Conjure_Lightning_Hammer.png", RemoveType.Manual), - new Boon("Conjure Fiery Greatsword", 15792, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/e/e2/Conjure_Fiery_Greatsword.png", RemoveType.Manual), + new Boon("Conjure Earth Shield", 15788, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/7/7a/Conjure_Earth_Shield.png", RemoveType.ManualFriend), + new Boon("Conjure Flame Axe", 15789, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/a/a1/Conjure_Flame_Axe.png", RemoveType.ManualFriend), + new Boon("Conjure Frost Bow", 15790, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/c/c3/Conjure_Frost_Bow.png", RemoveType.ManualFriend), + new Boon("Conjure Lightning Hammer", 15791, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/1/1f/Conjure_Lightning_Hammer.png", RemoveType.ManualFriend), + new Boon("Conjure Fiery Greatsword", 15792, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.OffensiveBuffTable, "https://wiki.guildwars2.com/images/e/e2/Conjure_Fiery_Greatsword.png", RemoveType.ManualFriend), //skills - new Boon("Arcane Power",5582, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/72/Arcane_Power.png", RemoveType.Manual), - new Boon("Arcane Shield",5640, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Renewal of Fire",5764, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Fire)",5739, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Water)",5741, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Air)",5740, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Glyph of Elemental Power (Earth)",5742, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), - new Boon("Rebound",31337, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/0/03/%22Rebound%21%22.png", RemoveType.Manual), - new Boon("Rock Barrier",34633, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual),//750? + new Boon("Arcane Power",5582, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, "https://wiki.guildwars2.com/images/7/72/Arcane_Power.png", RemoveType.ManualFriend), + new Boon("Arcane Shield",5640, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Renewal of Fire",5764, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Glyph of Elemental Power (Fire)",5739, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Glyph of Elemental Power (Water)",5741, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Glyph of Elemental Power (Air)",5740, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Glyph of Elemental Power (Earth)",5742, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), + new Boon("Rebound",31337, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/0/03/%22Rebound%21%22.png", RemoveType.ManualFriend), + new Boon("Rock Barrier",34633, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend),//750? new Boon("Magnetic Wave",15794, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), - new Boon("Obsidian Flesh",5667, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Obsidian Flesh",5667, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), //traits new Boon("Harmonious Conduit",31353, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Fresh Air",31353, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Soothing Mist", 5587, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.DefensiveBuffTable, "https://wiki.guildwars2.com/images/f/f7/Soothing_Mist.png"), - new Boon("Lesser Arcane Shield",25579, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.Manual), + new Boon("Lesser Arcane Shield",25579, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff, RemoveType.ManualFriend), new Boon("Weaver's Prowess",42061, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), new Boon("Elements of Rage",42416, BoonSource.Elementalist, BoonType.Duration, 1, BoonEnum.GraphOnlyBuff), /// FOODS @@ -491,7 +491,7 @@ private Boon(string name, int id, BoonSource source, BoonType type, int capacity }; - public static bool removePermission(int boonid, int buffremove) + public static bool removePermission(int boonid, int buffremove, int iff) { if (buffremove == 0) { @@ -502,10 +502,12 @@ public static bool removePermission(int boonid, int buffremove) { switch (toCheck.remove_type) { - case RemoveType.Cleanse: - return buffremove == 1 || buffremove == 2; - case RemoveType.Manual: - return buffremove == 3 || buffremove == 1; + case RemoveType.CleanseFriend: + return iff != 1 && (buffremove == 1 || buffremove == 2); + case RemoveType.CleanseFoe: + return iff != 0 && (buffremove == 1 || buffremove == 2); + case RemoveType.ManualFriend: + return iff != 1 && (buffremove == 3 || buffremove == 1); case RemoveType.All: return buffremove == 1 || buffremove == 2 || buffremove == 3; default: diff --git a/LuckParser/Models/ParseModels/Player.cs b/LuckParser/Models/ParseModels/Player.cs index a5cf9f5e9..63cb02251 100644 --- a/LuckParser/Models/ParseModels/Player.cs +++ b/LuckParser/Models/ParseModels/Player.cs @@ -689,7 +689,7 @@ private BoonMap getBoonMap(BossData bossData, SkillData skillData, List Date: Sun, 10 Jun 2018 16:11:44 +0200 Subject: [PATCH 6/9] changed weps icons so that they have the same color palet --- LuckParser/Controllers/Controller1.cs | 41 +++++++++++++------------ LuckParser/Models/ParseModels/Player.cs | 2 +- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index d5d26d1f5..5eaec9f68 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -1806,6 +1806,7 @@ private void PrintWeapons(StreamWriter sw, Player p) AgentData a_data = getAgentData(); //print weapon sets string[] wep = p.getWeaponsArray(s_data,c_data,b_data,a_data); + sw.Write("
"); if (wep[0] != null) { sw.Write("\"""); @@ -1830,7 +1831,7 @@ private void PrintWeapons(StreamWriter sw, Player p) } else { - sw.Write("/"); + sw.Write(" / "); } if (wep[2] != null) @@ -1853,6 +1854,7 @@ private void PrintWeapons(StreamWriter sw, Player p) //sw.Write("\"Unknown\""); } sw.Write("
"); + sw.Write("
"); } bool[] SnapSettings; @@ -1913,8 +1915,9 @@ private void CreateCompTable(StreamWriter sw) { sw.Write(""); { sw.Write("\"""); + sw.Write(build); PrintWeapons(sw,gPlay); - sw.Write(build + "
" + charName); + sw.Write(charName); } sw.Write(""); } @@ -6034,37 +6037,37 @@ public string GetLink(string name) case "Question": return "https://wiki.guildwars2.com/images/thumb/d/de/Sword_slot.png/40px-Sword_slot.png"; case "Sword": - return "https://wiki.guildwars2.com/images/6/61/Sword_Proficiency.png"; + return "https://wiki.guildwars2.com/images/0/07/Crimson_Antique_Blade.png"; case "Axe": - return "https://wiki.guildwars2.com/images/a/a2/Axe_Proficiency.png"; + return "https://wiki.guildwars2.com/images/d/d4/Crimson_Antique_Reaver.png"; case "Dagger": - return "https://wiki.guildwars2.com/images/c/c9/Dagger_Proficiency.png"; + return "https://wiki.guildwars2.com/images/6/65/Crimson_Antique_Razor.png"; case "Mace": - return "https://wiki.guildwars2.com/images/3/37/Mace_Smash.png"; + return "https://wiki.guildwars2.com/images/6/6d/Crimson_Antique_Flanged_Mace.png"; case "Pistol": - return "https://wiki.guildwars2.com/images/7/7a/Phantasmal_Duelist.png"; - case "Sceptor": - return "https://wiki.guildwars2.com/images/2/22/Water_Trident.png"; + return "https://wiki.guildwars2.com/images/4/46/Crimson_Antique_Revolver.png"; + case "Scepter": + return "https://wiki.guildwars2.com/images/e/e2/Crimson_Antique_Wand.png"; case "Focus": - return "https://wiki.guildwars2.com/images/7/79/Focus_Mastery.png"; + return "https://wiki.guildwars2.com/images/8/87/Crimson_Antique_Artifact.png"; case "Shield": - return "https://wiki.guildwars2.com/images/c/c6/Shield_Proficiency.png"; + return "https://wiki.guildwars2.com/images/b/b0/Crimson_Antique_Bastion.png"; case "Torch": - return "https://wiki.guildwars2.com/images/1/11/Torch_Proficiency.png"; + return "https://wiki.guildwars2.com/images/7/76/Crimson_Antique_Brazier.png"; case "Warhorn": - return "https://wiki.guildwars2.com/images/b/b8/Warhorn_Proficiency.png"; + return "https://wiki.guildwars2.com/images/1/1c/Crimson_Antique_Herald.png"; case "Greatsword": - return "https://wiki.guildwars2.com/images/8/8b/Greatsword_Proficiency.png"; + return "https://wiki.guildwars2.com/images/5/50/Crimson_Antique_Claymore.png"; case "Hammer": - return "https://wiki.guildwars2.com/images/5/5f/Hammer_Proficiency.png"; + return "https://wiki.guildwars2.com/images/3/38/Crimson_Antique_Warhammer.png"; case "Longbow": - return "https://wiki.guildwars2.com/images/5/53/Longbow_Proficiency.png"; + return "https://wiki.guildwars2.com/images/f/f0/Crimson_Antique_Greatbow.png"; case "Shortbow": - return "https://wiki.guildwars2.com/images/e/e7/Short_Bow_Proficiency_%28renegade%29.png"; + return "https://wiki.guildwars2.com/images/1/17/Crimson_Antique_Short_Bow.png"; case "Rifle": - return "https://wiki.guildwars2.com/images/5/5d/Rifle_Proficiency_%28deadeye%29.png"; + return "https://wiki.guildwars2.com/images/1/19/Crimson_Antique_Musket.png"; case "Staff": - return "https://wiki.guildwars2.com/images/7/78/Staff_Proficiency.png"; + return "https://wiki.guildwars2.com/images/5/5f/Crimson_Antique_Spire.png"; case "Vale Guardian-icon": return "https://wiki.guildwars2.com/images/f/fb/Mini_Vale_Guardian.png"; case "Gorseval the Multifarious-icon": diff --git a/LuckParser/Models/ParseModels/Player.cs b/LuckParser/Models/ParseModels/Player.cs index 63cb02251..7ea582854 100644 --- a/LuckParser/Models/ParseModels/Player.cs +++ b/LuckParser/Models/ParseModels/Player.cs @@ -366,7 +366,7 @@ private void EstimateWeapons(SkillData s_data, CombatData c_data, BossData b_dat //} continue; }//OffHand - if (apiskill.weapon_type == "Axe" || apiskill.weapon_type == "Dagger" || apiskill.weapon_type == "Mace" || apiskill.weapon_type == "Pistol" || apiskill.weapon_type == "Sword" || apiskill.weapon_type == "Sceptor") + if (apiskill.weapon_type == "Axe" || apiskill.weapon_type == "Dagger" || apiskill.weapon_type == "Mace" || apiskill.weapon_type == "Pistol" || apiskill.weapon_type == "Sword" || apiskill.weapon_type == "Scepter") { if (apiskill.slot == "Weapon_1" || apiskill.slot == "Weapon_2" || apiskill.slot == "Weapon_3") { From 6d203af6b196f4c0ec4a0f4b2f13848d2760008b Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Sun, 10 Jun 2018 16:43:13 +0200 Subject: [PATCH 7/9] fixed a few bugs in weps detection --- LuckParser/Controllers/Controller1.cs | 4 ++-- LuckParser/Models/ParseModels/Player.cs | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index 5eaec9f68..577d2a750 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -1838,9 +1838,9 @@ private void PrintWeapons(StreamWriter sw, Player p) { sw.Write("\"""); } - else + else if(wep[3] != null) { - // sw.Write("\"Unknown\""); + sw.Write("\"Unknown\""); } if (wep[3] != null) { diff --git a/LuckParser/Models/ParseModels/Player.cs b/LuckParser/Models/ParseModels/Player.cs index 7ea582854..b931c291d 100644 --- a/LuckParser/Models/ParseModels/Player.cs +++ b/LuckParser/Models/ParseModels/Player.cs @@ -315,13 +315,13 @@ private void EstimateWeapons(SkillData s_data, CombatData c_data, BossData b_dat { if (apiskill.weapon_type == "Greatsword" || apiskill.weapon_type == "Staff" || apiskill.weapon_type == "Rifle" || apiskill.weapon_type == "Longbow" || apiskill.weapon_type == "Shortbow" || apiskill.weapon_type == "Hammer") { - if (swapped == 4) + if (swapped == 4 && (weapons[0] == null && weapons[1] == null)) { weapons[0] = apiskill.weapon_type; weapons[1] = "2Hand"; continue; } - else if (swapped == 5) + else if (swapped == 5 && (weapons[2] == null && weapons[3] == null)) { weapons[2] = apiskill.weapon_type; weapons[3] = "2Hand"; @@ -342,13 +342,13 @@ private void EstimateWeapons(SkillData s_data, CombatData c_data, BossData b_dat }//2 handed if (apiskill.weapon_type == "Focus" || apiskill.weapon_type == "Shield" || apiskill.weapon_type == "Torch" || apiskill.weapon_type == "Warhorn") { - if (swapped == 4) + if (swapped == 4 && (weapons[1] == null)) { weapons[1] = apiskill.weapon_type; continue; } - else if (swapped == 5) + else if (swapped == 5 && (weapons[3] == null)) { weapons[3] = apiskill.weapon_type; @@ -370,13 +370,13 @@ private void EstimateWeapons(SkillData s_data, CombatData c_data, BossData b_dat { if (apiskill.slot == "Weapon_1" || apiskill.slot == "Weapon_2" || apiskill.slot == "Weapon_3") { - if (swapped == 4) + if (swapped == 4 && (weapons[0] == null)) { weapons[0] = apiskill.weapon_type; continue; } - else if (swapped == 5) + else if (swapped == 5 && (weapons[2] == null)) { weapons[2] = apiskill.weapon_type; @@ -396,13 +396,13 @@ private void EstimateWeapons(SkillData s_data, CombatData c_data, BossData b_dat } if (apiskill.slot == "Weapon_4" || apiskill.slot == "Weapon_5") { - if (swapped == 4) + if (swapped == 4 && (weapons[1] == null)) { weapons[1] = apiskill.weapon_type; continue; } - else if (swapped == 5) + else if (swapped == 5 && (weapons[3] == null)) { weapons[3] = apiskill.weapon_type; From 714b467e166e8a6ae773c23733cb3596f1d206c5 Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Sun, 10 Jun 2018 16:46:18 +0200 Subject: [PATCH 8/9] put unkown icons for weps when we have an offhand but no main hand --- LuckParser/Controllers/Controller1.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index 577d2a750..af46f1e47 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -1811,7 +1811,7 @@ private void PrintWeapons(StreamWriter sw, Player p) { sw.Write("\"""); } - else + else if(wep[1] != null) { sw.Write("\"Unknown\""); } From 996b7428e2a928764eff97fabcc23e594a208ae9 Mon Sep 17 00:00:00 2001 From: Jekfer Bichon Date: Mon, 11 Jun 2018 13:52:14 +0200 Subject: [PATCH 9/9] fix for issue #31 --- LuckParser/Controllers/Controller1.cs | 4 ++-- LuckParser/Models/ParseModels/CombatData.cs | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/LuckParser/Controllers/Controller1.cs b/LuckParser/Controllers/Controller1.cs index af46f1e47..8466dd584 100644 --- a/LuckParser/Controllers/Controller1.cs +++ b/LuckParser/Controllers/Controller1.cs @@ -3471,10 +3471,10 @@ private void CreateDeathRecap(StreamWriter sw, Player p) List damageLogs = p.getDamageTakenLogs(b_data, c_data.getCombatList(), getAgentData(), getMechData()); SkillData s_data = getSkillData(); List s_list = s_data.getSkillList(); - List down = getCombatData().getStates(p.getInstid(), "CHANGE_DOWN"); + List down = getCombatData().getStates(p.getInstid(), "CHANGE_DOWN", b_data.getFirstAware(), b_data.getLastAware()); if (down.Count > 0) { - List ups = getCombatData().getStates(p.getInstid(), "CHANGE_UP"); + List ups = getCombatData().getStates(p.getInstid(), "CHANGE_UP", b_data.getFirstAware(), b_data.getLastAware()); down = down.GetRange(ups.Count(), down.Count()-ups.Count()); } List dead = getCombatData().getStates(p.getInstid(), "CHANGE_DEAD"); diff --git a/LuckParser/Models/ParseModels/CombatData.cs b/LuckParser/Models/ParseModels/CombatData.cs index b2241f3d0..2392dea27 100644 --- a/LuckParser/Models/ParseModels/CombatData.cs +++ b/LuckParser/Models/ParseModels/CombatData.cs @@ -23,10 +23,11 @@ public void addItem(CombatItem item) combat_list.Add(item); } - public List getStates(int src_instid, String change) + public List getStates(int src_instid, String change, long start = 0, long end = 0) { List states = new List(); - foreach (CombatItem c in combat_list) + List li = (end - start) > 0 ? combat_list.Where(x => x.getTime() >= 0 && x.getTime() < end).ToList() : combat_list; + foreach (CombatItem c in li) { if (c.getSrcInstid() == src_instid && c.isStateChange().getEnum() == change) {