From 2cce25bfc1cffc566bf7162423e233593062ca7c Mon Sep 17 00:00:00 2001 From: shurne Date: Thu, 30 Jun 2016 21:44:10 -0400 Subject: [PATCH 01/18] Added ROI to TP Calculator Added Return on Investment percentage to the Trading Post Calculator calculations --- .../ViewModels/TPCalculatorViewModel.cs | 26 +++++++++++++++++++ .../Commerce/Views/TPCalculatorView.xaml | 11 ++++++++ GW2PAO/Properties/Resources.Designer.cs | 9 +++++++ GW2PAO/Properties/Resources.resx | 4 +++ 4 files changed, 50 insertions(+) diff --git a/GW2PAO/Modules/Commerce/ViewModels/TPCalculatorViewModel.cs b/GW2PAO/Modules/Commerce/ViewModels/TPCalculatorViewModel.cs index a7a6e54..333175e 100644 --- a/GW2PAO/Modules/Commerce/ViewModels/TPCalculatorViewModel.cs +++ b/GW2PAO/Modules/Commerce/ViewModels/TPCalculatorViewModel.cs @@ -25,6 +25,11 @@ public class TPCalculatorViewModel : BindableBase /// private int quantity; + /// + /// Backing-field for the Return on Investment (ROI) property + /// + private double roi; + /// /// User-entered Buy-Price /// @@ -89,6 +94,15 @@ public int Quantity /// public Price Profit { get; private set; } + /// + /// Return on Investment Percentage + /// + public double ROI + { + get { return this.roi; } + set { SetProperty(ref this.roi, value); } + } + /// /// Command to reset all values /// @@ -123,6 +137,7 @@ private void ResetValues() this.BuyPrice.Value = 0.0; this.SellPrice.Value = 0.0; this.Quantity = 1; + this.ROI = 0; } /// @@ -137,6 +152,7 @@ private void CalculateAll() this.CalculateListingFee(); this.CalculateSaleFee(); this.CalculateProfit(); + this.CalculateReturnOnInvestment(); } /// @@ -192,5 +208,15 @@ private void CalculateProfit() this.Profit.Value = this.Revenue.Value - (this.ListingFee.Value + this.SaleFee.Value) - this.Cost.Value; logger.Debug("Profit: {0}", this.Profit.Value); } + + /// + /// Calculates return on investment (profit / investment cost) + /// + private void CalculateReturnOnInvestment() + { + var totalCost = this.Cost.Value + this.ListingFee.Value + this.SaleFee.Value; + this.ROI = ((this.Revenue.Value - totalCost) / totalCost); + logger.Debug("ROI: {0}", this.ROI); + } } } diff --git a/GW2PAO/Modules/Commerce/Views/TPCalculatorView.xaml b/GW2PAO/Modules/Commerce/Views/TPCalculatorView.xaml index df5acb0..df9dc11 100644 --- a/GW2PAO/Modules/Commerce/Views/TPCalculatorView.xaml +++ b/GW2PAO/Modules/Commerce/Views/TPCalculatorView.xaml @@ -345,6 +345,7 @@ + + + + diff --git a/GW2PAO/Properties/Resources.Designer.cs b/GW2PAO/Properties/Resources.Designer.cs index 1ef816c..91130cf 100644 --- a/GW2PAO/Properties/Resources.Designer.cs +++ b/GW2PAO/Properties/Resources.Designer.cs @@ -1554,6 +1554,15 @@ public static string Reward { } } + /// + /// Looks up a localized string similar to ROI:. + /// + public static string ROI { + get { + return ResourceManager.GetString("ROI", resourceCulture); + } + } + /// /// Looks up a localized string similar to Sale Fee:. /// diff --git a/GW2PAO/Properties/Resources.resx b/GW2PAO/Properties/Resources.resx index 960b471..776f07c 100644 --- a/GW2PAO/Properties/Resources.resx +++ b/GW2PAO/Properties/Resources.resx @@ -984,4 +984,8 @@ Completed Per Character + + ROI: + Return on Investment + \ No newline at end of file From 7f2470f295605baee4d07a2b4663ea27c377a06a Mon Sep 17 00:00:00 2001 From: shurne Date: Sat, 2 Jul 2016 10:04:31 -0400 Subject: [PATCH 02/18] Added null check to the ecto prices retrieval --- GW2PAO/Modules/Commerce/CommerceController.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/GW2PAO/Modules/Commerce/CommerceController.cs b/GW2PAO/Modules/Commerce/CommerceController.cs index 5c3172c..5b6989d 100644 --- a/GW2PAO/Modules/Commerce/CommerceController.cs +++ b/GW2PAO/Modules/Commerce/CommerceController.cs @@ -317,11 +317,14 @@ private void Refresh(object state = null) // Additionally, update the Ectoplasm Salvage Threshold tracker data var ectoPrices = this.commerceService.GetItemPrices(EctoSalvageHelperViewModel.EctoplasmItemID); - Threading.BeginInvokeOnUI(() => + if (ectoPrices != null) { - this.EcoSalvageData.EctoplasmBuyOrder.Value = ectoPrices.HighestBuyOrder; - this.EcoSalvageData.EctoplasmSellListing.Value = ectoPrices.LowestSellListing; - }); + Threading.BeginInvokeOnUI(() => + { + this.EcoSalvageData.EctoplasmBuyOrder.Value = ectoPrices.HighestBuyOrder; + this.EcoSalvageData.EctoplasmSellListing.Value = ectoPrices.LowestSellListing; + }); + } this.refreshTimer.Change(this.RefreshInterval, Timeout.Infinite); } From 8af7d63aa92f0d3a0a0489d28b74172f86612943 Mon Sep 17 00:00:00 2001 From: shurne Date: Sat, 2 Jul 2016 10:41:09 -0400 Subject: [PATCH 03/18] Code cleanup --- GW2PAO/Modules/Commerce/CommerceController.cs | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/GW2PAO/Modules/Commerce/CommerceController.cs b/GW2PAO/Modules/Commerce/CommerceController.cs index 5b6989d..bc0973c 100644 --- a/GW2PAO/Modules/Commerce/CommerceController.cs +++ b/GW2PAO/Modules/Commerce/CommerceController.cs @@ -236,37 +236,48 @@ private void Refresh(object state = null) var lastResetTime = this.NotificationsResetDateTimes[priceWatch]; if (DateTime.Now.Subtract(lastResetTime).TotalMilliseconds >= UserData.ResetPriceNotificationsInterval * 60000) { + // Time to hide the notifications priceWatch.IsBuyOrderNotificationShown = false; priceWatch.IsSellListingNotificationShown = false; } } else { + // Don't have a time for this price watch yet this.NotificationsResetDateTimes.Add(priceWatch, DateTime.Now); } + if (allPrices.ContainsKey(priceWatch.Data.ItemID)) { var prices = allPrices[priceWatch.Data.ItemID]; - Threading.InvokeOnUI(() => priceWatch.CurrentBuyOrder.Value = prices.HighestBuyOrder); - Threading.InvokeOnUI(() => priceWatch.CurrentSellListing.Value = prices.LowestSellListing); - Threading.InvokeOnUI(() => priceWatch.CurrentProfit.Value = (prices.LowestSellListing * 0.85) - prices.HighestBuyOrder); + // Update the price watch's current buy order, sell listing, and profit + Threading.BeginInvokeOnUI(() => priceWatch.CurrentBuyOrder.Value = prices.HighestBuyOrder); + Threading.BeginInvokeOnUI(() => priceWatch.CurrentSellListing.Value = prices.LowestSellListing); + Threading.BeginInvokeOnUI(() => priceWatch.CurrentProfit.Value = (prices.LowestSellListing * 0.85) - prices.HighestBuyOrder); - // Buy Order + // Buy Order Limits Check bool buyOrderOutOfLimits = false; if (priceWatch.Data.IsBuyOrderUpperLimitEnabled && priceWatch.Data.IsBuyOrderLowerLimitEnabled) + { buyOrderOutOfLimits = prices.HighestBuyOrder <= priceWatch.Data.BuyOrderUpperLimit.Value && prices.HighestBuyOrder >= priceWatch.Data.BuyOrderLowerLimit.Value; + } else if (priceWatch.Data.IsBuyOrderUpperLimitEnabled) + { buyOrderOutOfLimits = prices.HighestBuyOrder <= priceWatch.Data.BuyOrderUpperLimit.Value; + } else if (priceWatch.Data.IsBuyOrderLowerLimitEnabled) + { buyOrderOutOfLimits = prices.HighestBuyOrder >= priceWatch.Data.BuyOrderLowerLimit.Value; + } - Threading.InvokeOnUI(() => priceWatch.IsBuyOrderOutOfLimits = buyOrderOutOfLimits); + Threading.BeginInvokeOnUI(() => priceWatch.IsBuyOrderOutOfLimits = buyOrderOutOfLimits); if (buyOrderOutOfLimits) { + // Show a notification for the buy order, if enabled if (this.CanShowNotification(priceWatch, PriceNotificationType.BuyOrder)) { priceWatch.IsBuyOrderNotificationShown = true; @@ -275,21 +286,28 @@ private void Refresh(object state = null) } } - // Sell Listing + // Sell Listing Limits Check bool sellListingOutOfLimits = false; if (priceWatch.Data.IsSellListingUpperLimitEnabled && priceWatch.Data.IsSellListingLowerLimitEnabled) + { sellListingOutOfLimits = prices.LowestSellListing <= priceWatch.Data.SellListingUpperLimit.Value && prices.LowestSellListing >= priceWatch.Data.SellListingLowerLimit.Value; + } else if (priceWatch.Data.IsSellListingUpperLimitEnabled) + { sellListingOutOfLimits = prices.LowestSellListing <= priceWatch.Data.SellListingUpperLimit.Value; + } else if (priceWatch.Data.IsSellListingLowerLimitEnabled) + { sellListingOutOfLimits = prices.LowestSellListing >= priceWatch.Data.SellListingLowerLimit.Value; + } - Threading.InvokeOnUI(() => priceWatch.IsSellListingOutOfLimits = sellListingOutOfLimits); + Threading.BeginInvokeOnUI(() => priceWatch.IsSellListingOutOfLimits = sellListingOutOfLimits); if (sellListingOutOfLimits) { + // Show a notification for the sell listing, if enabled if (this.CanShowNotification(priceWatch, PriceNotificationType.SellListing)) { priceWatch.IsSellListingNotificationShown = true; @@ -392,5 +410,6 @@ private bool CanShowNotification(ItemPriceViewModel priceWatch, PriceNotificatio return canShow; } + } } From 6495e189deaec5b9c17b40a22809e673c306e74a Mon Sep 17 00:00:00 2001 From: shurne Date: Sat, 2 Jul 2016 10:46:09 -0400 Subject: [PATCH 04/18] Code cleanup, add various null checks --- .../Commerce/ViewModels/ItemPriceViewModel.cs | 40 ++++++++++++------- .../ViewModels/NewTaskDialogViewModel.cs | 17 +++++++- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/GW2PAO/Modules/Commerce/ViewModels/ItemPriceViewModel.cs b/GW2PAO/Modules/Commerce/ViewModels/ItemPriceViewModel.cs index cc7fc0d..f22ef12 100644 --- a/GW2PAO/Modules/Commerce/ViewModels/ItemPriceViewModel.cs +++ b/GW2PAO/Modules/Commerce/ViewModels/ItemPriceViewModel.cs @@ -80,7 +80,13 @@ public class ItemPriceViewModel : BindableBase /// public string ItemName { - get { return this.Data.ItemName; } + get + { + if (this.Data == null) + return string.Empty; + else + return this.Data.ItemName; + } } /// @@ -206,22 +212,26 @@ public ItemPriceViewModel(PriceWatch priceData, Item itemData, ICommerceControll /// The ID to set this item as public void SetItem(int newItemID) { - this.ItemData = this.commerceService.GetItem(newItemID); - this.Data.ItemID = this.ItemData.ID; - this.Data.ItemName = this.ItemData.Name; - if (this.ItemData.Prices != null) + var newItemData = this.commerceService.GetItem(newItemID); + if (newItemData != null) { - this.Data.BuyOrderUpperLimit.Value = this.ItemData.Prices.HighestBuyOrder + 1; // +1 so we don't immediately do a notification - this.Data.BuyOrderLowerLimit.Value = this.ItemData.Prices.HighestBuyOrder - 1; // +1 so we don't immediately do a notification - this.Data.SellListingUpperLimit.Value = this.ItemData.Prices.LowestSellListing + 1; // -1 so we don't immediately do a notification - this.Data.SellListingLowerLimit.Value = this.ItemData.Prices.LowestSellListing - 1; // -1 so we don't immediately do a notification - this.CurrentBuyOrder.Value = this.ItemData.Prices.HighestBuyOrder; - this.CurrentSellListing.Value = this.ItemData.Prices.LowestSellListing; - } + this.ItemData = newItemData; + this.Data.ItemID = this.ItemData.ID; + this.Data.ItemName = this.ItemData.Name; + if (this.ItemData.Prices != null) + { + this.Data.BuyOrderUpperLimit.Value = this.ItemData.Prices.HighestBuyOrder + 1; // default to +1 so we don't immediately do a notification + this.Data.BuyOrderLowerLimit.Value = this.ItemData.Prices.HighestBuyOrder - 1; // default to +1 so we don't immediately do a notification + this.Data.SellListingUpperLimit.Value = this.ItemData.Prices.LowestSellListing + 1; // default to -1 so we don't immediately do a notification + this.Data.SellListingLowerLimit.Value = this.ItemData.Prices.LowestSellListing - 1; // default to -1 so we don't immediately do a notification + this.CurrentBuyOrder.Value = this.ItemData.Prices.HighestBuyOrder; + this.CurrentSellListing.Value = this.ItemData.Prices.LowestSellListing; + } - // Raise property-changed events for each of the info display properties - this.OnPropertyChanged(() => this.ItemName); - this.OnPropertyChanged(() => this.IconUrl); + // Raise property-changed events for each of the info display properties + this.OnPropertyChanged(() => this.ItemName); + this.OnPropertyChanged(() => this.IconUrl); + } } /// diff --git a/GW2PAO/Modules/Tasks/ViewModels/NewTaskDialogViewModel.cs b/GW2PAO/Modules/Tasks/ViewModels/NewTaskDialogViewModel.cs index 99093d8..1f5e533 100644 --- a/GW2PAO/Modules/Tasks/ViewModels/NewTaskDialogViewModel.cs +++ b/GW2PAO/Modules/Tasks/ViewModels/NewTaskDialogViewModel.cs @@ -57,7 +57,13 @@ public bool HasLocation /// public string MapName { - get { return this.zoneService.GetZoneName(this.Task.MapID); } + get + { + if (this.Task != null) + return this.zoneService.GetZoneName(this.Task.MapID); + else + return string.Empty; + } } /// @@ -79,7 +85,14 @@ public ItemDBEntry SelectedItem { if (this.SetProperty(ref this.selectedItem, value)) { - this.Task.IconUri = this.commerceService.GetItem(this.selectedItem.ID).Icon.ToString(); + if (this.selectedItem == null) + return; + + var itemData = this.commerceService.GetItem(this.selectedItem.ID); + if (itemData == null) + return; + + this.Task.IconUri = itemData.Icon.ToString(); } } } From de22403a78a96010b2ca0a1bfc44d34524e20cc3 Mon Sep 17 00:00:00 2001 From: shurne Date: Sat, 2 Jul 2016 16:39:15 -0400 Subject: [PATCH 05/18] Now using WvW objective IDs with ID+Map as the identifier, and updated WvW objective score values --- GW2PAO.API/Data/Entities/WvWObjective.cs | 2 +- GW2PAO.API/Data/Entities/WvWObjectiveId.cs | 97 +++ GW2PAO.API/Data/Enums/WvWObjectiveID.cs | 98 --- GW2PAO.API/Data/WvWObjectiveIDs.cs | 92 +++ GW2PAO.API/Data/WvWObjectivesTable.cs | 154 ++-- GW2PAO.API/GW2PAO.API.csproj | 3 +- GW2PAO.API/Locale/de/WvWObjectiveNames.xml | Bin 22782 -> 28170 bytes GW2PAO.API/Locale/en/WvWObjectiveNames.xml | Bin 22366 -> 27754 bytes GW2PAO.API/Locale/es/WvWObjectiveNames.xml | Bin 23058 -> 28446 bytes GW2PAO.API/Locale/fr/WvWObjectiveNames.xml | Bin 22818 -> 28206 bytes .../Providers/WvWObjectiveNamesProvider.cs | 657 +++++++++--------- GW2PAO.API/Services/WvWService.cs | 41 +- GW2PAO.API/WvWObjectives.xml | 456 ++---------- .../WvW/ViewModels/WvWObjectiveViewModel.cs | 2 +- GW2PAO/Modules/WvW/WvWController.cs | 90 ++- GW2PAO/Modules/WvW/WvWUserData.cs | 4 +- 16 files changed, 744 insertions(+), 952 deletions(-) create mode 100644 GW2PAO.API/Data/Entities/WvWObjectiveId.cs delete mode 100644 GW2PAO.API/Data/Enums/WvWObjectiveID.cs create mode 100644 GW2PAO.API/Data/WvWObjectiveIDs.cs diff --git a/GW2PAO.API/Data/Entities/WvWObjective.cs b/GW2PAO.API/Data/Entities/WvWObjective.cs index 65bdaff..9f4aea9 100644 --- a/GW2PAO.API/Data/Entities/WvWObjective.cs +++ b/GW2PAO.API/Data/Entities/WvWObjective.cs @@ -9,7 +9,7 @@ namespace GW2PAO.API.Data.Entities { public class WvWObjective { - public int ID { get; set; } + public WvWObjectiveId ID { get; set; } public ObjectiveType Type { get; set; } public WvWMap Map { get; set; } public string MatchId { get; set; } diff --git a/GW2PAO.API/Data/Entities/WvWObjectiveId.cs b/GW2PAO.API/Data/Entities/WvWObjectiveId.cs new file mode 100644 index 0000000..2dd949b --- /dev/null +++ b/GW2PAO.API/Data/Entities/WvWObjectiveId.cs @@ -0,0 +1,97 @@ +namespace GW2PAO.API.Data.Entities +{ + using System; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Serialization; + using GW2PAO.API.Data.Enums; + + /// + /// World-vs-World Objective Unique Identifier, which is a combination of ID and Map + /// + public class WvWObjectiveId : IXmlSerializable + { + /// + /// The numerical objective ID + /// + public int ObjectiveId { get; private set; } + + /// + /// The map the objective is located on + /// + public WvWMap Map { get; private set; } + + /// + /// Default constructor + /// + public WvWObjectiveId() { } + + /// + /// Parameterised constructor + /// + public WvWObjectiveId(int objectiveId, WvWMap map) + { + this.ObjectiveId = objectiveId; + this.Map = map; + } + + public static bool operator == (WvWObjectiveId obj1, WvWObjectiveId obj2) + { + return obj1.Equals(obj2); + } + + public static bool operator != (WvWObjectiveId obj1, WvWObjectiveId obj2) + { + return !obj1.Equals(obj2); + } + + public override bool Equals(object obj) + { + if (obj == null || this.GetType() != obj.GetType()) + { + return false; + } + + var other = (WvWObjectiveId)obj; + + return this.ObjectiveId == other.ObjectiveId && + this.Map == other.Map; + } + + public override int GetHashCode() + { + int code = this.ObjectiveId + (int)this.Map; + return code.GetHashCode(); + } + + public override string ToString() + { + return this.Map + "-" + this.ObjectiveId + "-"; + } + + #region IXmlSerializable + public XmlSchema GetSchema() + { + return null; + } + + public void ReadXml(XmlReader reader) + { + int parsedId = -1; + if (int.TryParse(reader.GetAttribute("ObjectiveId"), out parsedId)) + this.ObjectiveId = parsedId; + + WvWMap parsedMap = WvWMap.Unknown; + if (Enum.TryParse(reader.GetAttribute("Map"), out parsedMap)) + this.Map = parsedMap; + + } + + public void WriteXml(XmlWriter writer) + { + writer.WriteAttributeString("ObjectiveId", this.ObjectiveId.ToString()); + writer.WriteAttributeString("Map", this.Map.ToString()); + } + #endregion + } +} diff --git a/GW2PAO.API/Data/Enums/WvWObjectiveID.cs b/GW2PAO.API/Data/Enums/WvWObjectiveID.cs deleted file mode 100644 index 99e8dbc..0000000 --- a/GW2PAO.API/Data/Enums/WvWObjectiveID.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace GW2PAO.API.Data.Enums -{ - public enum WvWObjectiveID - { - // Eternal Battlegrounds: - EB_Keep_Overlook = 1, - EB_Keep_Valley = 2, - EB_Keep_Lowlands = 3, - EB_Camp_Golanta = 4, - EB_Camp_Pangloss = 5, - EB_Camp_Speldan = 6, - EB_Camp_Danelon = 7, - EB_Camp_Umberglade = 8, - EB_Castle_Stonemist = 9, - EB_Camp_Rogues = 10, - EB_Tower_Aldons = 11, - EB_Tower_Wildcreek = 12, - EB_Tower_Jerrifers = 13, - EB_Tower_Klovan = 14, - EB_Tower_Langor = 15, - EB_Tower_Quentin = 16, - EB_Tower_Mendons = 17, - EB_Tower_Anzalias = 18, - EB_Tower_Ogrewatch = 19, - EB_Tower_Veloka = 20, - EB_Tower_Durios = 21, - EB_Tower_Bravost = 22, - - // Blue Borderlands: - BB_Keep_Garrison = 23, - BB_Camp_Orchard = 24, - BB_Tower_Redbriar = 25, - BB_Tower_Greenlake = 26, - BB_Keep_Bay = 27, - BB_Tower_Dawns = 28, - BB_Camp_Spiritholme = 29, - BB_Tower_Woodhaven = 30, - BB_Keep_Hills = 31, - - // Red Borderlands: - RB_Keep_Hills = 32, - RB_Keep_Bay = 33, - RB_Camp_Orchard = 34, - RB_Tower_Greenbriar = 35, - RB_Tower_Bluelake = 36, - RB_Keep_Garrison = 37, - RB_Tower_Longview = 38, - RB_Camp_Godsword = 39, - RB_Tower_Cliffside = 40, - - // Green Borderlands: - GB_Keep_Hills = 41, - GB_Tower_Redlake = 42, - GB_Camp_Orchard = 43, - GB_Keep_Bay = 44, - GB_Tower_Bluebriar = 45, - GB_Keep_Garrison = 46, - GB_Tower_Sunnyhill = 47, - GB_Camp_Faithleap = 48, - - GB_Camp_Bluevale = 49, - RB_Camp_Bluewater = 50, - RB_Camp_Astralholme = 51, - RB_Camp_Arahs = 52, - RB_Camp_Greenvale = 53, - GB_Camp_Foghaven = 54, - GB_Camp_Redwater = 55, - GB_Camp_Titanpaw = 56, - GB_Tower_Cragtop = 57, - BB_Camp_Godslore = 58, - BB_Camp_Redvale = 59, - BB_Camp_Stargrove = 60, - BB_Camp_Greenwater = 61, - - // Bloodlust Objectives: - RB_Temple = 62, - RB_Hollow = 63, - RB_Estate = 64, - RB_Orchard = 65, - RB_Carvers = 66, - BB_Carvers = 67, - BB_Orchard = 68, - BB_Estate = 69, - BB_Hollow = 70, - BB_Temple = 71, - GB_Carvers = 72, - GB_Orchard = 73, - GB_Estate = 74, - GB_Hollow = 75, - GB_Temple = 76 - } -} diff --git a/GW2PAO.API/Data/WvWObjectiveIDs.cs b/GW2PAO.API/Data/WvWObjectiveIDs.cs new file mode 100644 index 0000000..64d1e54 --- /dev/null +++ b/GW2PAO.API/Data/WvWObjectiveIDs.cs @@ -0,0 +1,92 @@ + +namespace GW2PAO.API.Data.Enums +{ + using GW2PAO.API.Data.Entities; + + public static class WvWObjectiveIds + { + // Eternal Battlegrounds: + public static readonly WvWObjectiveId EB_Keep_Overlook = new WvWObjectiveId(1, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Keep_Valley = new WvWObjectiveId(2, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Keep_Lowlands = new WvWObjectiveId(3, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Camp_Golanta = new WvWObjectiveId(4, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Camp_Pangloss = new WvWObjectiveId(5, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Camp_Speldan = new WvWObjectiveId(6, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Camp_Danelon = new WvWObjectiveId(7, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Camp_Umberglade = new WvWObjectiveId(8, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Castle_Stonemist = new WvWObjectiveId(9, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Camp_Rogues = new WvWObjectiveId(10, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Aldons = new WvWObjectiveId(11, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Wildcreek = new WvWObjectiveId(12, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Jerrifers = new WvWObjectiveId(13, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Klovan = new WvWObjectiveId(14, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Langor = new WvWObjectiveId(15, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Quentin = new WvWObjectiveId(16, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Mendons = new WvWObjectiveId(17, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Anzalias = new WvWObjectiveId(18, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Ogrewatch = new WvWObjectiveId(19, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Veloka = new WvWObjectiveId(20, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Durios = new WvWObjectiveId(21, WvWMap.EternalBattlegrounds); + public static readonly WvWObjectiveId EB_Tower_Bravost = new WvWObjectiveId(22, WvWMap.EternalBattlegrounds); + + // Blue Borderlands: + public static readonly WvWObjectiveId BB_Keep_Hills = new WvWObjectiveId(32, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Keep_Bay = new WvWObjectiveId(33, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Camp_Orchard = new WvWObjectiveId(34, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Tower_Redbriar = new WvWObjectiveId(35, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Tower_Greenlake = new WvWObjectiveId(36, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Keep_Garrison = new WvWObjectiveId(37, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Tower_Dawns = new WvWObjectiveId(38, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Camp_Spiritholme = new WvWObjectiveId(39, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Tower_Woodhaven = new WvWObjectiveId(40, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Camp_Greenwater = new WvWObjectiveId(50, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Camp_Godslore = new WvWObjectiveId(51, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Camp_Stargrove = new WvWObjectiveId(52, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Camp_Redvale = new WvWObjectiveId(53, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Temple = new WvWObjectiveId(62, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Hollow = new WvWObjectiveId(63, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Estate = new WvWObjectiveId(64, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Orchard = new WvWObjectiveId(65, WvWMap.BlueBorderlands); + public static readonly WvWObjectiveId BB_Carvers = new WvWObjectiveId(66, WvWMap.BlueBorderlands); + + // Red Borderlands: + public static readonly WvWObjectiveId RB_Keep_Hills = new WvWObjectiveId(32, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Keep_Bay = new WvWObjectiveId(33, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Camp_Orchard = new WvWObjectiveId(34, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Tower_Greenbriar = new WvWObjectiveId(35, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Tower_Bluelake = new WvWObjectiveId(36, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Keep_Garrison = new WvWObjectiveId(37, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Tower_Longview = new WvWObjectiveId(38, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Camp_Godsword = new WvWObjectiveId(39, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Tower_Cliffside = new WvWObjectiveId(40, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Camp_Bluewater = new WvWObjectiveId(50, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Camp_Astralholme = new WvWObjectiveId(51, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Camp_Arahs = new WvWObjectiveId(52, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Camp_Greenvale = new WvWObjectiveId(53, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Temple = new WvWObjectiveId(62, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Hollow = new WvWObjectiveId(63, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Estate = new WvWObjectiveId(64, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Orchard = new WvWObjectiveId(65, WvWMap.RedBorderlands); + public static readonly WvWObjectiveId RB_Carvers = new WvWObjectiveId(66, WvWMap.RedBorderlands); + + // Green Borderlands: + public static readonly WvWObjectiveId GB_Keep_Hills = new WvWObjectiveId(32, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Keep_Bay = new WvWObjectiveId(33, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Camp_Orchard = new WvWObjectiveId(34, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Tower_Bluebriar = new WvWObjectiveId(35, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Tower_Redlake = new WvWObjectiveId(36, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Keep_Garrison = new WvWObjectiveId(37, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Tower_Sunnyhill = new WvWObjectiveId(38, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Camp_Faithleap = new WvWObjectiveId(39, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Tower_Cragtop = new WvWObjectiveId(40, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Camp_Redwater = new WvWObjectiveId(50, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Camp_Foghaven = new WvWObjectiveId(51, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Camp_Titanpaw = new WvWObjectiveId(52, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Camp_Bluevale = new WvWObjectiveId(53, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Temple = new WvWObjectiveId(62, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Hollow = new WvWObjectiveId(63, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Estate = new WvWObjectiveId(64, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Orchard = new WvWObjectiveId(65, WvWMap.GreenBorderlands); + public static readonly WvWObjectiveId GB_Carvers = new WvWObjectiveId(66, WvWMap.GreenBorderlands); + } +} diff --git a/GW2PAO.API/Data/WvWObjectivesTable.cs b/GW2PAO.API/Data/WvWObjectivesTable.cs index 186723d..43cfa72 100644 --- a/GW2PAO.API/Data/WvWObjectivesTable.cs +++ b/GW2PAO.API/Data/WvWObjectivesTable.cs @@ -56,87 +56,87 @@ public static WvWObjectivesTable LoadTable() public static void CreateTable() { WvWObjectivesTable table = new WvWObjectivesTable(); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Keep_Overlook, ChatCode = @"[&BOsDAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(4548, 17078.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Keep_Valley, ChatCode = @"[&BOIDAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(25620, -20251.2) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Keep_Lowlands, ChatCode = @"[&BPMDAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-19802.4, -17690.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Camp_Golanta, ChatCode = @"[&BPUDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-7497.6, -25468.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Camp_Pangloss, ChatCode = @"[&BPADAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(18393.6, 13939.2) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Camp_Speldan, ChatCode = @"[&BO0DAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-16848.72, 19048.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Camp_Danelon, ChatCode = @"[&BOcDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(13310.4, -28867.2) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Camp_Umberglade, ChatCode = @"[&BOQDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(25802.4, -2716.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Castle_Stonemist, ChatCode = @"[&BN4DAAA=]", Type = ObjectiveType.Castle, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(2690.4, -5174.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Camp_Rogues, ChatCode = @"[&BPgDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-22010.16, -2349.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Aldons, ChatCode = @"[&BPcDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-26110.56, -12943.2) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Wildcreek, ChatCode = @"[&BPkDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-12559.92, -5227.2) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Jerrifers, ChatCode = @"[&BPYDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(15682.08, -25161.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Klovan, ChatCode = @"[&BPQDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-5013.6, -17596.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Langor, ChatCode = @"[&BOUDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(21544.8, -27280.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Quentin, ChatCode = @"[&BOgDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(10137.6, -21256.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Mendons, ChatCode = @"[&BO8DAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-5599.2, 22768.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Anzalias, ChatCode = @"[&BOwDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-6684, 7200) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Ogrewatch, ChatCode = @"[&BPEDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(12072, 10622.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Veloka, ChatCode = @"[&BO4DAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(13173.6, 2058) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Durios, ChatCode = @"[&BOMDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(17412, -5109.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.EB_Tower_Bravost, ChatCode = @"[&BOYDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(29232, -11200.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Keep_Overlook, ChatCode = @"[&BOsDAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(4548, 17078.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Keep_Valley, ChatCode = @"[&BOIDAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(25620, -20251.2) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Keep_Lowlands, ChatCode = @"[&BPMDAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-19802.4, -17690.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Camp_Golanta, ChatCode = @"[&BPUDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-7497.6, -25468.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Camp_Pangloss, ChatCode = @"[&BPADAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(18393.6, 13939.2) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Camp_Speldan, ChatCode = @"[&BO0DAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-16848.72, 19048.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Camp_Danelon, ChatCode = @"[&BOcDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(13310.4, -28867.2) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Camp_Umberglade, ChatCode = @"[&BOQDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(25802.4, -2716.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Castle_Stonemist, ChatCode = @"[&BN4DAAA=]", Type = ObjectiveType.Castle, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(2690.4, -5174.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Camp_Rogues, ChatCode = @"[&BPgDAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-22010.16, -2349.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Aldons, ChatCode = @"[&BPcDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-26110.56, -12943.2) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Wildcreek, ChatCode = @"[&BPkDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-12559.92, -5227.2) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Jerrifers, ChatCode = @"[&BPYDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(15682.08, -25161.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Klovan, ChatCode = @"[&BPQDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-5013.6, -17596.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Langor, ChatCode = @"[&BOUDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(21544.8, -27280.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Quentin, ChatCode = @"[&BOgDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(10137.6, -21256.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Mendons, ChatCode = @"[&BO8DAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-5599.2, 22768.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Anzalias, ChatCode = @"[&BOwDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(-6684, 7200) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Ogrewatch, ChatCode = @"[&BPEDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(12072, 10622.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Veloka, ChatCode = @"[&BO4DAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(13173.6, 2058) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Durios, ChatCode = @"[&BOMDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(17412, -5109.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.EB_Tower_Bravost, ChatCode = @"[&BOYDAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.EternalBattlegrounds, MapLocation = new Point(29232, -11200.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Keep_Garrison, ChatCode = @"[&BCQFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-441.6, 9160.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Camp_Orchard, ChatCode = @"[&BCUFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-648, -32762.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Tower_Redbriar, ChatCode = @"[&BCoFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-7545.6, -17548.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Tower_Greenlake, ChatCode = @"[&BCYFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(11155.2, -16648.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Keep_Bay, ChatCode = @"[&BCgFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-22857.6, -6789.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Tower_Dawns, ChatCode = @"[&BC0FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(12969.6, 12840) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Camp_Spiritholme, ChatCode = @"[&BB8FAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(232.8, 34180.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Tower_Woodhaven, ChatCode = @"[&BCwFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-14152.8, 14712) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Keep_Hills, ChatCode = @"[&BCAFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.BlueBorderlands, MapLocation = new Point(22420.8, -5016) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Keep_Garrison, ChatCode = @"[&BCQFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-441.6, 9160.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Camp_Orchard, ChatCode = @"[&BCUFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-648, -32762.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Tower_Redbriar, ChatCode = @"[&BCoFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-7545.6, -17548.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Tower_Greenlake, ChatCode = @"[&BCYFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(11155.2, -16648.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Keep_Bay, ChatCode = @"[&BCgFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-22857.6, -6789.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Tower_Dawns, ChatCode = @"[&BC0FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(12969.6, 12840) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Camp_Spiritholme, ChatCode = @"[&BB8FAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(232.8, 34180.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Tower_Woodhaven, ChatCode = @"[&BCwFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-14152.8, 14712) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Keep_Hills, ChatCode = @"[&BCAFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.BlueBorderlands, MapLocation = new Point(22420.8, -5016) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Keep_Hills, ChatCode = @"[&BA8FAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.RedBorderlands, MapLocation = new Point(22420.8, -5016) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Keep_Bay, ChatCode = @"[&BBMFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.RedBorderlands, MapLocation = new Point(-22857.36, -6789.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Camp_Orchard, ChatCode = @"[&BBgFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(-648, -32762.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Tower_Greenbriar, ChatCode = @"[&BB4FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(-7545.6, -17548.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Tower_Bluelake, ChatCode = @"[&BBkFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(11155.2, -16648.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Keep_Garrison, ChatCode = @"[&BBYFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.RedBorderlands, MapLocation = new Point(-441.6, 9160.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Tower_Longview, ChatCode = @"[&BBoFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(-14153.28, 14712) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Camp_Godsword, ChatCode = @"[&BBIFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(232.8, 34180.08) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Tower_Cliffside, ChatCode = @"[&BBsFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(12969.6, 12840) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Keep_Hills, ChatCode = @"[&BA8FAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.RedBorderlands, MapLocation = new Point(22420.8, -5016) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Keep_Bay, ChatCode = @"[&BBMFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.RedBorderlands, MapLocation = new Point(-22857.36, -6789.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Camp_Orchard, ChatCode = @"[&BBgFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(-648, -32762.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Tower_Greenbriar, ChatCode = @"[&BB4FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(-7545.6, -17548.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Tower_Bluelake, ChatCode = @"[&BBkFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(11155.2, -16648.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Keep_Garrison, ChatCode = @"[&BBYFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.RedBorderlands, MapLocation = new Point(-441.6, 9160.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Tower_Longview, ChatCode = @"[&BBoFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(-14153.28, 14712) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Camp_Godsword, ChatCode = @"[&BBIFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(232.8, 34180.08) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Tower_Cliffside, ChatCode = @"[&BBsFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.RedBorderlands, MapLocation = new Point(12969.6, 12840) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Keep_Hills, ChatCode = @"[&BDAFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.GreenBorderlands, MapLocation = new Point(22421.04, -5016) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Tower_Redlake, ChatCode = @"[&BD4FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(11154.72, -16648.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Camp_Orchard, ChatCode = @"[&BDkFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-648, -32762.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Keep_Bay, ChatCode = @"[&BC8FAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-22857.36, -6789.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Tower_Bluebriar, ChatCode = @"[&BD0FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-7544.64, -17548.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Keep_Garrison, ChatCode = @"[&BDIFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-441.6, 9160.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Tower_Sunnyhill, ChatCode = @"[&BDYFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-14153.52, 14712) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Camp_Faithleap, ChatCode = @"[&BDwFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-21083.28, 11462.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Keep_Hills, ChatCode = @"[&BDAFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.GreenBorderlands, MapLocation = new Point(22421.04, -5016) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Tower_Redlake, ChatCode = @"[&BD4FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(11154.72, -16648.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Camp_Orchard, ChatCode = @"[&BDkFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-648, -32762.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Keep_Bay, ChatCode = @"[&BC8FAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-22857.36, -6789.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Tower_Bluebriar, ChatCode = @"[&BD0FAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-7544.64, -17548.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Keep_Garrison, ChatCode = @"[&BDIFAAA=]", Type = ObjectiveType.Keep, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-441.6, 9160.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Tower_Sunnyhill, ChatCode = @"[&BDYFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-14153.52, 14712) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Camp_Faithleap, ChatCode = @"[&BDwFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-21083.28, 11462.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Camp_Bluevale, ChatCode = @"[&BDgFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-19053.12, -18657.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Camp_Bluewater, ChatCode = @"[&BBcFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(22442.4, -19444.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Camp_Astralholme, ChatCode = @"[&BBQFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(23253.6, 12273.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Camp_Arahs, ChatCode = @"[&BB0FAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(-21083.28, 11462.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Camp_Greenvale, ChatCode = @"[&BBwFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(-19053.12, -18657.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Camp_Foghaven, ChatCode = @"[&BDMFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(23253.36, 12273.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Camp_Redwater, ChatCode = @"[&BDoFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(22442.16, -19444.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Camp_Titanpaw, ChatCode = @"[&BDEFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(232.8, 34180.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Tower_Cragtop, ChatCode = @"[&BDcFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(12969.6, 12840) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Camp_Godslore, ChatCode = @"[&BCkFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-21084, 11462.4) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Camp_Redvale, ChatCode = @"[&BC4FAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-19053.6, -18657.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Camp_Stargrove, ChatCode = @"[&BCEFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(23253.6, 12273.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Camp_Greenwater, ChatCode = @"[&BCYFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(22442.4, -19444.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Camp_Bluevale, ChatCode = @"[&BDgFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-19053.12, -18657.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Camp_Bluewater, ChatCode = @"[&BBcFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(22442.4, -19444.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Camp_Astralholme, ChatCode = @"[&BBQFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(23253.6, 12273.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Camp_Arahs, ChatCode = @"[&BB0FAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(-21083.28, 11462.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Camp_Greenvale, ChatCode = @"[&BBwFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.RedBorderlands, MapLocation = new Point(-19053.12, -18657.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Camp_Foghaven, ChatCode = @"[&BDMFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(23253.36, 12273.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Camp_Redwater, ChatCode = @"[&BDoFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(22442.16, -19444.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Camp_Titanpaw, ChatCode = @"[&BDEFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.GreenBorderlands, MapLocation = new Point(232.8, 34180.8) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Tower_Cragtop, ChatCode = @"[&BDcFAAA=]", Type = ObjectiveType.Tower, Map = WvWMap.GreenBorderlands, MapLocation = new Point(12969.6, 12840) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Camp_Godslore, ChatCode = @"[&BCkFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-21084, 11462.4) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Camp_Redvale, ChatCode = @"[&BC4FAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-19053.6, -18657.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Camp_Stargrove, ChatCode = @"[&BCEFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(23253.6, 12273.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Camp_Greenwater, ChatCode = @"[&BCYFAAA=]", Type = ObjectiveType.Camp, Map = WvWMap.BlueBorderlands, MapLocation = new Point(22442.4, -19444.8) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Temple, ChatCode = @"", Type = ObjectiveType.TempleofLostPrayers, Map = WvWMap.RedBorderlands, MapLocation = new Point(-279.59, -16015.255) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Hollow, ChatCode = @"", Type = ObjectiveType.BattlesHollow, Map = WvWMap.RedBorderlands, MapLocation = new Point(-7939.68, -9885.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Estate, ChatCode = @"", Type = ObjectiveType.BauersEstate, Map = WvWMap.RedBorderlands, MapLocation = new Point(-5251.525, -783.006) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Orchard, ChatCode = @"", Type = ObjectiveType.OrchardOverlook, Map = WvWMap.RedBorderlands, MapLocation = new Point(5983.413, -2110.027) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.RB_Carvers, ChatCode = @"", Type = ObjectiveType.CarversAscent, Map = WvWMap.RedBorderlands, MapLocation = new Point(6802.815, -10643.904) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Carvers, ChatCode = @"", Type = ObjectiveType.CarversAscent, Map = WvWMap.BlueBorderlands, MapLocation = new Point(6802.815, -10643.904) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Orchard, ChatCode = @"", Type = ObjectiveType.OrchardOverlook, Map = WvWMap.BlueBorderlands, MapLocation = new Point(5983.413, -2110.027) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Estate, ChatCode = @"", Type = ObjectiveType.BauersEstate, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-5251.525, -783.006) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Hollow, ChatCode = @"", Type = ObjectiveType.BattlesHollow, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-7939.68, -9885.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.BB_Temple, ChatCode = @"", Type = ObjectiveType.TempleofLostPrayers, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-279.59, -16015.255) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Carvers, ChatCode = @"", Type = ObjectiveType.CarversAscent, Map = WvWMap.GreenBorderlands, MapLocation = new Point(6802.815, -10643.904) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Orchard, ChatCode = @"", Type = ObjectiveType.OrchardOverlook, Map = WvWMap.GreenBorderlands, MapLocation = new Point(5983.413, -2110.027) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Estate, ChatCode = @"", Type = ObjectiveType.BauersEstate, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-5251.525, -783.006) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Hollow, ChatCode = @"", Type = ObjectiveType.BattlesHollow, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-7939.68, -9885.6) }); - table.Objectives.Add(new Objective() { ID = (int)WvWObjectiveID.GB_Temple, ChatCode = @"", Type = ObjectiveType.TempleofLostPrayers, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-279.59, -16015.255) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Temple, ChatCode = @"", Type = ObjectiveType.TempleofLostPrayers, Map = WvWMap.RedBorderlands, MapLocation = new Point(-279.59, -16015.255) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Hollow, ChatCode = @"", Type = ObjectiveType.BattlesHollow, Map = WvWMap.RedBorderlands, MapLocation = new Point(-7939.68, -9885.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Estate, ChatCode = @"", Type = ObjectiveType.BauersEstate, Map = WvWMap.RedBorderlands, MapLocation = new Point(-5251.525, -783.006) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Orchard, ChatCode = @"", Type = ObjectiveType.OrchardOverlook, Map = WvWMap.RedBorderlands, MapLocation = new Point(5983.413, -2110.027) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.RB_Carvers, ChatCode = @"", Type = ObjectiveType.CarversAscent, Map = WvWMap.RedBorderlands, MapLocation = new Point(6802.815, -10643.904) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Carvers, ChatCode = @"", Type = ObjectiveType.CarversAscent, Map = WvWMap.BlueBorderlands, MapLocation = new Point(6802.815, -10643.904) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Orchard, ChatCode = @"", Type = ObjectiveType.OrchardOverlook, Map = WvWMap.BlueBorderlands, MapLocation = new Point(5983.413, -2110.027) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Estate, ChatCode = @"", Type = ObjectiveType.BauersEstate, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-5251.525, -783.006) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Hollow, ChatCode = @"", Type = ObjectiveType.BattlesHollow, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-7939.68, -9885.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.BB_Temple, ChatCode = @"", Type = ObjectiveType.TempleofLostPrayers, Map = WvWMap.BlueBorderlands, MapLocation = new Point(-279.59, -16015.255) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Carvers, ChatCode = @"", Type = ObjectiveType.CarversAscent, Map = WvWMap.GreenBorderlands, MapLocation = new Point(6802.815, -10643.904) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Orchard, ChatCode = @"", Type = ObjectiveType.OrchardOverlook, Map = WvWMap.GreenBorderlands, MapLocation = new Point(5983.413, -2110.027) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Estate, ChatCode = @"", Type = ObjectiveType.BauersEstate, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-5251.525, -783.006) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Hollow, ChatCode = @"", Type = ObjectiveType.BattlesHollow, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-7939.68, -9885.6) }); + table.Objectives.Add(new Objective() { ID = WvWObjectiveIds.GB_Temple, ChatCode = @"", Type = ObjectiveType.TempleofLostPrayers, Map = WvWMap.GreenBorderlands, MapLocation = new Point(-279.59, -16015.255) }); XmlSerializer serializer = new XmlSerializer(typeof(WvWObjectivesTable)); TextWriter textWriter = new StreamWriter(FileName); @@ -146,7 +146,7 @@ public static void CreateTable() public class Objective { - public int ID { get; set; } + public WvWObjectiveId ID { get; set; } public string ChatCode { get; set; } public Point MapLocation { get; set; } public ObjectiveType Type { get; set; } diff --git a/GW2PAO.API/GW2PAO.API.csproj b/GW2PAO.API/GW2PAO.API.csproj index bf8db43..59b74f8 100644 --- a/GW2PAO.API/GW2PAO.API.csproj +++ b/GW2PAO.API/GW2PAO.API.csproj @@ -230,6 +230,7 @@ + @@ -242,7 +243,7 @@ - + diff --git a/GW2PAO.API/Locale/de/WvWObjectiveNames.xml b/GW2PAO.API/Locale/de/WvWObjectiveNames.xml index ca8ffc2c3f18501a9e4b77967ea130e9cbcacf58..60e1285b778f8c8c27130d91062b18f0983b0051 100644 GIT binary patch literal 28170 zcmeI5Yfl?T6o${|O8pO3zB`0C(2FP$ga&c}+L(qa-vArq#@NV)rp@o|Z|JA0?fcHy z+T9r&=6Jm7*j=H3v)-AtpFMuhWiI~b?=5*Qzsa@qq$a;gTZS@{t_-9v-^n9cm&fu1 ze`|QAFBdr8!n1wpm}l?gRxYKEvo>+gbJ>Hug&XT;oMuf!Lc>`d@?_e@wxRYa!QqG=ASTyqm3i->v1t^X$2=WDk#gKCeL8 z(kJ;tyoVd}|L^gBc!&Bp(vw~MCZ!&Zb#QbbcX*}+hHSN#dsX&oFY$a2KijxJcQ}iz zN$eJnZcN*cc)W#{*_phb+3RiMY|_6C=p%n_v6mNk-NUgR@qKK|k-4gWeA14u$)}WA zQO0$#{GS?}(CwCW!G0=}~QzMzxDi!X+$C7fLj^2l>T4a^J5drUP$!stu^(Eij(by5CBIP;`5%mJcR+t&6ub^C??aXUG@dV1 zQQTg%hcDEd$PI83{7N4pp73H!b^A zxqnjZJ)<1WX;?!c;BM&Vf(ct6&c8$(_bRc8IH4)d}y(Nm}jsh`7_ z(z@$LYlg7-3uF1A*6#MRI^@gBR$qfLt7KhdthVY#oxg*}y)ilLK&3WrZ(9E8W>V`? zRu=mPmOnr}lGOs*J$0UHA8PaY_N&CZtlagjA>A>$PTn?ivR*Yjip=+-r=DsgX)EYu zzZQ~d!`VFkUr^u4>?X|p*lC6iWOIbN8>tCM@ z<1T)Wa@7IS3meHO_OMFS%gRuX&4^PQBXS&rvXLVzVs>OIl)T@Io_(r{&e6$o@}&1r z7)CB1!MiR8hI)AQG2eQXXqT0h?!kXDN@u-&{-`D2i@hsA^jqoZrs@+Ln4wmT`r_zv zrq-pgW6n|O;L$mbFy0QYnCuo>XgH@j2GQ`c$vDaf#&=RJtWFQ{_s|^U_%b~y=PPo? zB1eHVV-fjYv|63+9E*myd1V~`Jwvu8`}o^6*3Nl`JrF0ekQ{z`OO36kItTHYmq*62 zK7}oF#D^pJ9OtpT?M%{8+7I=i6K0_&H+?+a{EO zQ6BBrR`xhwKRl}be`SaZMq^ zO;h#cd;_YrwzfRGwZ@v4DR+tGy+5vOa77-~n)_&IM+hJ4V>Q@sc;n)+>?hjG9SC}; zmVSVL`5y4fDw_saI6 zwdQoarmx&Fl&SihEf%ZV#eTH3Q&w$v9($~xJc3r+9Rp%!d_3ICs%VP4Y9p4vtu!sh zZ~A@dEk9ka>8g1w`8_k5UK2(s)Ek=@F+%5K%}U?J9E0FGcCre|G^e-JS#-ME;l?U)l&ScP%@-4^OzTZ=;i8)= zVf2pK3Iwjy-}n9+BT*;YV(9s!_#mmg-{j>wJDt(|uqp*VXcZ%umC=hizN_1Ami5XJApVFEZIgb?JIi$g8~5fey!cRuGs2`2&~drev4 zyb{BCn_W08#DGM{W}8QPaI&C8{P}27?3`6%ZRreq)t4~)@ZHn845P>X2vza0+CWMU z>NM%MgO*ek51`eP6G zk>6sTz&2KGHg{UQET@6tns+vW<+Pwe$A*c_o=}M`tlIE$OsX-q#yGm=C@&T|S;WZ2 z(}GVE`$8qSsO-Rvvp7%&V#;Qm%uQ5dxTTZFOn35C>{ZNsxf9nGcgWeGk2GE-WBI%k0^kH>P0?LO> P6a(lcs(LJ1OPPNGH`8CI diff --git a/GW2PAO.API/Locale/en/WvWObjectiveNames.xml b/GW2PAO.API/Locale/en/WvWObjectiveNames.xml index 8ecb51b87a1f0184d22fc31ea79d15733d273dc3..7ef78e6176ca6a9c7c8759b8ffd9ecb58c632b1b 100644 GIT binary patch literal 27754 zcmeI5TT>fH5QY0WRrwDpUh-sPEJH3uaB(x(;o=~I^NNuy2tuMH*@XP~BDyLMpPruOpTF1TwfreJ(vyaKk&X;yBv&$!zWgjpvLesr1^#W| znZ8`$cpK05rE8x3EMxg3&+w`>yymrR$hY#1tji`w8Opib%Q2ommXGoW>@V=@D|3z` zJa>a5BaCa$-N)mf@R;Z3c`xzWvE1U=GJfvN&vX3U#QPaw>@JSJ#5;R|b1%#9awrGV z!Wk|x>J3JJX5QrpW1O4!-7%lRJy&}w=URIB+zou1_5b{|mJeTNU;9>e@W|)$7L+Z0 zl0U>}xHbRZ#pmG_>f=aHw(vJ8^>D0%{AGAI#Xb(eQ1_ZlZ*nH4#35Z{EST_${aBhkA0AosRT}L`lD@iS!;wTh5HB z4cW&3I_4X0=Yvr4<#A}G8;G{d5jAsb)i_%Isj~mECiX2v6nZ<=3uF5j z(HWRCGrR`(1}aZ{%<5yPuNUp-iFaKJ zbO%1o+?@6FEI-ubD@A)P?{vMpE(N*;*5_DpCT-TWcJc28jtt@B>;hmO6YA;ZvF3$+ zQ{22|3o(E>-WI5F4V@a2HQBKBedZ=seU4xsuJo(yG^=x|)()GV(v0J~4Q;~?mRl1; zvO3ldu9Ed<&Dz{Ct`uXB?Um4abjy5m((9;bimNr_h@XIM8>U#&eR-^BN6eC7>CSA1G#^Q8)B%0zX#yHBSn6J1t%-)78LwJlM z><{An7aE%%x7K)esy&6TJhd3dJX?onroisa@T{)dQpY&m_~ELSILeIARN<^U+3u5l zJmTs>cyD3ZLc=-TSmXKiIL%>UEh{$eLK$Vm=7Fc}5K39h1vZq1fKc zr=DZD>x?mM&%l&B8K}!gUppAsA*Ja~dn&3ghIFng^t$gcTTQH(CG8i(Ih!$AU()El zDmxwDbmu#_9v8#6s;U+;%T?KF_@-Npb5{*x=pL9XqKllEI`1x6eN@?L=%%|W>#MyO zzM0nJz72K(-AnOrJAnwtCaVa;S8 zzOCtT-ZWRqT5G*I-PzHP+A)Olh#wcT{c*I!Q;ynhS9$(vC#xyFfhTiEr?xMn%5Glb zhPzWDma+X-Ok-|zN78$Cx-+92tz)TYwf|F-Z?j%{3oj2}W2v&!c{s1mEY$vENpG9k zt!w%U!u5=ArK6j!C%Z8^%V;Ny(AgRk_f-uQ+NH`)M>y3wo}YKb5w=k^F6$_dp^wYy zvUcNg9Bba=hwE2e{27>DP_hcCUU9^NVBZxR>vwOWXhB4z+7ubzi2orCQP zBGouow^(lqW$N05$B|T+PO~qROu1t-yVnnQxiU`kj?JM&U7Oh>>aGsPcxkyumiNh? z^sd#D@32h8Q{DcI7_L@NS(f(OpYKWw--+#xGMiD=s)b24qPn8Wf&>&{`Z vY!|aw&eqjlv1}LfSk*i>4XWAi7<$T;0=I%2%XRkWGU`3{WQ6^muMPPZ>eGSR delta 1671 zcmZ9MJ!lkB5XX1pawcAa@!|*3tRCDMkNARV3%udN?W(uT=SF`IX1hHvoN8rME;n)KiGw0pv3Bo z&4zkJWT-?evr)0)w}&uzJki-+zJ$U=A^^T#?z7B3Y;Glk7sziseYbXAQ#A&?Bpo~>;fbG3I`B%ge zA$K9}AHp7-4B%@UGdP-KSgn1!BUA!3>o$8@6f<%(+qgyW>sm_$r{Gvn%E@|Zy45m{ z&e6P!oU_mv?uFv;5AlTvk>&Y0nVbl*zm1CQng~}GZ7AN!#nU5L)y+_TIFIqJMv1u# z7m?DQ=qX^l@%2yi=06zk%eZx1ic>ahHDTYP0ywM1O!~S zEchBAx~nbfe@GY^-{)Vv4CK-TLV6k`UuNZKZAk3M#bx}H`m3|`5G4YF7BF@!D>TU zb8bLN#DuH0c@vMp=MCtjwcEIce&)Zj+7Nf@YuhPDj=lN>B`jKM;sAV&3kR@$7l-9* zrt!hXH|}9;frf_GtldXz0*#C}%*qeM;RNIuTUiunfo2!KN9a7<7VilS)mx8#3RT&~ zqJwoT3PNnS!=R(Jxq)v=}7i(kItUkiogHbkSFq!TuEOtc_(Kwk{h{{p$y~;xhJdg zKpx_EhCKs$gY8}H9Z1jZy_KEWJ_wxX+9ekc4&fUY-NBCq9aqSiP zR$j^rIl>h#aMmlF{l5E@H#o4c&L6ukyLeaU zvk%IiKFPntcer-{e~RzJ5gK4iU$*f|N_}kWVe3$Cv8M}$lv*i$Du12 z#;5C8Zs6ErA4jnGghwDs-s6c<<-Jw89elRYov!e+Zps1JtVn%(F2}uf5{0G|>}JdO zk)t(x#;@HNacs1Fs}dHrNAfgLx}BEj9z%n9C(z2!itt`|>)vZ=Pd|f={$Zl@AGbt* z2X{2@?;*%P$1DFgfQ>j&>v~aQH}9<~gj|2JyxljJPq z4`9brwKeoX+L$fN+Wr)*uVH!mZf?`-`y@Fl_f$3hla{zsS8wo-zGDVYi8hAh>6>b; zd|k>y{Rlo~s@nc(OVqcWMfm}~qW8}W?Z3gEEBNx9bG7`Nr7h!->KJ_1(iqT7X6$ka zZKuA|-qYXdI`#wi{uF!k<1kI$G7>w9&bq62QR?jdc#Z{q8+x0ZdArUAaYTMcyy?9l z?cET{SjeYp{Z|ozw=?fjXMF^piO(nukx`((!-(=7UO6*p*-t;iVvIyvvFvgr@+^fm zZ_`%Xy91491kiK$fVW1OeCe#y2=~jmd#Al8Cdpaugmj~@RcR~sWv0RB9eh4Clds$y zO?#yGOGBAOq25;XTc`fQ@$O+h7^&xgP{u|*RWH!dhVf&h5A9VnYC4EE9Ui?2I~11DE|Wb%(O8E(`x!8 zxkaJgR+M`T!f%~*VN8{|c$WF(TWt5Wqx>#lZSwH0#-$yR^6|EjNY&1>-q}{9MX!>T zUH)dQo5^duGWYO3MnlUylvxz+ZAG|suVxq8Pd}bfu9kWzW1*g|uD2D-G86CfHrLSX zuH#KRvkmSi$SRQhSk1mJwFvY(68bmWum#KrGdoP%%xoC*kGg&Xb{9~BmPM=8p^SxV zs#(fTEh>%Ux{J}cavnJ?Mv3NkR5pzD^i@1<7J_qu4adEXB_h_L^8La%HFVQ zO=%0;PB9i*O)npBA)RgyM@PbFGmbTFK_>gqV$x=ZQih5?dpOtud5JBIHv4MgO|mxn z9N+Zj%Ez_%GLHQ>Abt+MJ#eOX@(iydZ1XieJ@e{$tX3u6d{ze?%(JxRJK&plh_NS< zHk{Erw^_1>)$>?+r#o|ow5eC!_l#(&jA&EFuJ@ciq2A-Jo@H@JhdxRS>B6624sZZp zg?5_}Jb7vQ){8S(38(9kgw@R$!rqIZFG9bBxxc)}h50;IIeDL0>TLgyNHT_b5ewSm znz8*)$aL!}F6U6LX{i3xQljLlC)13#y++GadFiWSg$DxdcYr2`eFh-1_ z`WiD_?j_SAbG@B@zH64YkWSfe4r9a^);>bq!~Eu}?z>?B4*%F?rL`8#(l+9}-aN#G zF}!!7&wdTXA0X^22|nMfu^r9QHqz-@=P*in?qX)zfcLAtRAY?HW#q`6d2CC^TJ=0u zPdZ)R;i{on-nr+H*9Y{vJz3JC*XgcSsaL*YIX6cwd-5A}ThDzlqm?iQkL6uN(X=7V zDviOIS*ACbEq$M$cD^jmWwj&eM&x0gF_w1`<=G;aNpdzDk}l&ga*1UeMj{#yB$TnR zouB9>mTcKupuJ#b`V3Zreuvgd)TJz}=P7=PrCqki^r%^DIWurBta(*>F?g@lYUZ)L z8ULJ@DqF>qJMuh}o_>?8g?+l&ytP_QF(!6wer8ABE$?gV`6y^DOhv>Mn5WypuvV+;#xVE&2EI?kuS_U3o$>pH+RAUavGT{;NT=!# z*6n%>Y06Hv>GlduVbiO!7VatA^spa(*7NBB#^TiVEezl}^0^aQOFmiB!aZfn60ZM< z<*uJk?b)n+POVB>Mk3v8R^7(Oj)bp5JcmUmue=+R>z+79WBC>NU+q0mm9P*$aMzfJ z3PddL9eD5lSvF^`PoA|1t_#syn(1e-QJ)|GF|H$!aq21b*{`~(b{*5s^C?e$?GtN6 zT73^?Z0zU9yNP4p?B7%^v?d2u_%~Hq3;C4&o3I8KN1mSd>0Jhl`LEoA?>n30`;i$* zalNJArqz5#2X#ryD9n?$6E_NaU#IG`Ywm~K*QrWc#vxr_XMLve>@l>QE7SZ_&3v{o zzYktvE1zUcAIPu1=To*A`*LM6?;QP{P`(cDCjD4cpPWqD53z1-y_U0#iEY`R!j+nQ z^*Q*m4a(e_6RwT$_D5@d>Svu#(zEQP-2+9|L)ouUw)L!d`Zch6y45qyC)=h?===Xl$k&K5caLakYz5HUEW;nS6)Ya>?|=mz%QKLu=Id8$<9CNI6q{` zx;~%gfA3&@#;diL7UK+SAN}8wSfBB;2bMD(z5Rl2*l!hQCF;J_(qk)F&o(|U#|mZ2 z%ttL_lCqA6K1Xa8b~zVX=E7Lo%h|B3%VE?POLsXRPM;6s`7U!9;onhfo)KedFXo)c R9164Xtg!y~-=^D?e*lVT2KxX2 delta 1749 zcmZvdOKVd>6vvYoV!TajtyOB$w2CH8+l0j2SL>rR5NWh1Rg_}ELZOQ;BnxpZ#19~C z4g^8?JL68>Ll!Jq#zw=Q9Up8iV=gA6W^(33ToJ45BzIM4E!U?jQE|WBoZz zzH&OiWdTMigIO*KCMiiIjM+SE@RO2;=C7uL@b>%w6wm!+2_=>={$U2mhCMs5!jK&K z%`5^CdA!XFJc~+s2_msJJ1a2B+9)eLuOQO?c;PX0&nu%7bqv7f_zz|jte6qD7lY*J zVvzeuW;D$^+(APodzVA}um%gc#4(HhFX?`A0P4xF%&O5gQ(+!SrHy&dC%GzU*`yDq z22nO8F)5_Sxg-ZlN5v%x*~m;oDf^50YJAmH1a@r! z)yXUeTS!ks^sWI*3+P}g#Pk^<_0kYF!j{D3%$)?6G+b|ck*gAwN5+-3mEodVyN8#_ zreF7Yqq&+(Q653Zqtk#__wfqb8e*KZAF$oEdl<_P*_PVMR554!5mw?Te6+P>eVHY7 zBp>kCGX=wsadwXK)}kd^{si@a!z>b&hVpivV)>4OinCjK!lMXOvbEaB4{Ds=iw&-7 ziz`%dJ*B%Gq0Hmzc%7Qu9y-b3Ds;%ei*V(?q?^wDFP5uJP`1ETej~U;(Q?rL7dRw- At^fc4 diff --git a/GW2PAO.API/Locale/fr/WvWObjectiveNames.xml b/GW2PAO.API/Locale/fr/WvWObjectiveNames.xml index 9e0d6c173666e057454af718e7042fbdc2de9f4a..33f47691d811f4330561e94fa6e56e58dff23efc 100644 GIT binary patch literal 28206 zcmeI5O;a035Qh7ls{99)FFs+6WynW4xIln$0+=Ajm8&ddnM4SJfCT^I*yo&+yzh)A zyP8?yX^*xt$SRcu-re4np6Tt6>7M1Ezn{oc`9n@+APu>eo?OUCPUK96@}1n16?q^J z@w0(FL+N7sG4>9nZ}wivrM!_P9JPjHp31s>DPPDF*}z#Yq$4--0{dUcYxxE8T^xO4 zu5o~Ur`R&WdF{1_`2Ab_&TI3!Z*lCUoMYQEUcZ~y1H3o!dCqX|KDIu>Cwqu%FU!xe zFMHC)72e{kr#SnP`IIA^qhmgI&wK~}TE{cF*1hrfZs6NIx%JyxK0MAI`&_p0Tgc}* zC|mj@zmM;5ZvMZG@52!qV#`1_@lHwuZ0lp|nOtGdF&I*6x%8>*)poFdfY&-Cd-!=R z?{V~>knG`eFH5nXqgZ^(HmH*M)|S*>XV_KmM2am)SC zFz5lP?AE4omejC1;-u2jwLM;1GN=rUht^cYf z^3+yZ{SIQELie`}b@FEf8%sZw($H@s^2}B5zpjb?CitF!KDGWnEbb{{eEQt3vH0`` zvFxYGYDOSe`rp(RV=U^+csbW|0iSEFy^B4+AKU&D z%(~GF#Ew9foMr^_&AC>juDtgMT7C`wLvugyuK2-3oz(vL$kUgZ7wUE8x*_#F!@F-h zLae^~GCJzHMw@mPzK$%Hyt>fvA7OP^2jDz@ypD%b^TNBX+;#`NPhd?LMLOHQZ^$1* z&*RDaG8*m&+0LV_NL^Vi<4V@SnA2{6^E-^g03*SfhFIHDB{whJ>&j;jO|;TAH4>-q z&p@4(qcc<6>P7RflGE|e)xNXdSx-K-11)FN(*4icyuyfZ4((TLkJWr%W?rb*mBog! z%$AAjS$&VUH@=L9dcK-oR~AdpN?m8(TKHDZfH9gU_seK~52faTeN+6XW)s91_i@gb z7MYo)wHGnH2G$;Pu4V-J_}HaNPQy3X`N(FFk*4w80ofk%efmw#%GkN#Q&gdB7mvnz zv#-X@8)#U!%{`M}#kDDZ9-7A5&XnI6Mx22mtysR(WObZ#o$GCy4zP0WnMT@WoQx^h zc@#^zN=`>OSD)BK@7rYbmqwUfGqfBo-X55oXM`A#8NTZQjOFgm#^W`-^VMfR$4sMr z1ghtTIIEZoD1YfZcJ&Ye?tYo6!_MuS{dTX9(}&oz)2TnKq!4^oOj~U1A$^ zn^?^*pGT|R2bucC$3Z5UM%;A+P`BTx{i5w8@MU$nov$77Gnq8fc7}>`QbVwI{TCbf zjhQ;PYhvswISu!GeWg#G_V@S`Gni`T?8RocIs2~Tvzkz9K6v}FNeXWlOIR;S9Y2x} z$j-GLy^LiSoBC(L{Hn8Ms;GE3ub ztsCXai`(QiHYDF#eV9Y0@OGIX{VjX3V&lCkIUV18y`n#}m%_JdelBJOQI(vAZ@%+- ze#V$WchA`6zOlpC<~?42Y0-U24dHw%zhS1B!gw1w;d|JI23Fy5U80StV>vr%ZG>@m za>5k0VMTGW@)Aoql+tN(zP8xUP@W-v>ftq zVud4EYh5*4e6`$0(esw4_}Ozoj2F-+`vk|!%q#_P)=t<@@4GjDyfXC@{UEmQm)vh z5}uqVwNDIT&j<5wJJ-Z$J2vv0Je$^b+@%~Qm3td@gHK{9s)`-_&Xvh0(X>By4vkgG zm;Gu`Lr-PT9LZI@9Dg_C#FZfNb;eLi!#v+vz15)Bn37jAmMEU}VV{P>yvbFwu#E?*7SW2THmxh~!SZ+1>H&y3f2Uq++v`F1m`;<;3leL5+Wx54#% z9BPgPbBzr{E1p7_vc3gp9gNS%()FH&QX1YlTX4SvKGkdPg6}o- zm~*c@7kh(a4VOm6f4fwdp6e`l z7zL(vq%m{k${EfGmMdwon(bfY=LeZYEbB|iiCwa!|_T)MA8lJBW@#B?L*3+_YoAbD=-d1n8CYW>Od=5eUeB$R2 zxvb4J_k0PuTt`+sg@6&vp^4Y+lRoYLnI&=UnWjIpd~V%+G5KU;%Kjfu3tkIm5>s+e zYn6*$OvdN0q2Y`X-E$yfZBF@Ica!WaJ6*S6EBHKc+uKvj&@w8d-o{d;^(Z9bJ!UT2 z>Q^jNv^9KsIJq*f;hu6Aa7=ye(<}11u=Tr2QrNcSFXPo5QC7j2huF1DvD#`^;@bJE z`{TKlyQi~0*R&X8LDv0Mfwh^hispK{@?R5h+WUFh1K)q8>FvUU@h@S7@m3nua+Ktv zg3mYNnr-G>j_obmMcz=@Uf-*w&U!BVTEW(ja#PtZB3;Ii1z+E@rSe_)wrby&%5~x0 b%3AAtw^X|GgWp delta 1750 zcmZvc&ubG=5XX}m(={e-iM6Cn^GmIoV%sG9D@F|!R*k>4v>1v9BOJjIP2ZbU_Og86yqWpTcXro5`RlLz%_shY zWnbQR);H(7>~kP99Eape6tsbFu3jMe{e5j$(}~us48iFB5%@lM405;dz2(LjN=$+| z!7vsv6*11<4QeP_M4UemMA0TDPa!QMoM{1K$d^<|bBP6qckh&vLqmP){CR;U#7!!&PE_h4Q;g~7T+ zguIi5w=*~?U0GM5YEYW%@DmCunh8NY_k*7jVAjp^3G1GPUDbCx`q$YBGYoCx3(rNd z#YlC!yztz{?bCgG$ZV?^!6_RQmsLvvA*JOWZj#5KBkBB z;cXnTsc>#Aa86V4(&YqaQDi2Vtg)maj71sOChiDT+KGtG%1O3f?7EcN-1S4?#WX2f5B`ISih76^Dlpe-lN=Ky(xA` diff --git a/GW2PAO.API/Providers/WvWObjectiveNamesProvider.cs b/GW2PAO.API/Providers/WvWObjectiveNamesProvider.cs index 15138f5..7623863 100644 --- a/GW2PAO.API/Providers/WvWObjectiveNamesProvider.cs +++ b/GW2PAO.API/Providers/WvWObjectiveNamesProvider.cs @@ -5,15 +5,18 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Xml; +using System.Xml.Schema; using System.Xml.Serialization; using GW2PAO.API.Constants; +using GW2PAO.API.Data.Entities; using GW2PAO.API.Data.Enums; using GW2PAO.API.Util; using NLog; namespace GW2PAO.API.Providers { - public class WvWObjectiveNamesProvider : IStringProvider + public class WvWObjectiveNamesProvider : IStringProvider { /// /// Default logger @@ -77,7 +80,7 @@ public void SetCulture(CultureInfo culture) /// The ID of the WvW objective /// Set to true if the shortname should be retrieved, else false for the full name /// The localized name of the WvW objective - public string GetString(int id, WvWObjectiveNameEnum selector) + public string GetString(WvWObjectiveId id, WvWObjectiveNameEnum selector) { var result = string.Empty; lock (this.objectivesLock) @@ -130,345 +133,345 @@ private void GenerateFiles() // English List english = new List() { - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Overlook, Cardinal = "N", Full = "Overlook", Short = "Overlook" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Valley, Cardinal = "SE", Full = "Valley", Short = "Valley" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Lowlands, Cardinal = "SW", Full = "Lowlands", Short = "Lowlands" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Golanta, Cardinal = "SSW", Full = "Golanta Clearing", Short = "Golanta" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Pangloss, Cardinal = "NNE", Full = "Pangloss Rise", Short = "Pangloss" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Speldan, Cardinal = "NNW", Full = "Speldan Clearcut", Short = "Speldan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Danelon, Cardinal = "SSE", Full = "Danelon Passage", Short = "Danelon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Umberglade, Cardinal = "E", Full = "Umberglade Woods", Short = "Umberglade" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Castle_Stonemist, Cardinal = "C", Full = "Stonemist Castle", Short = "Stonemist" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Rogues, Cardinal = "W", Full = "Rogue's Quarry", Short = "Rogue" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Aldons, Cardinal = "W", Full = "Aldon's Ledge", Short = "Aldon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Wildcreek, Cardinal = "W", Full = "Wildcreek Run", Short = "Wildcreek" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Jerrifers, Cardinal = "SW", Full = "Jerrifer's Slough", Short = "Jerrifer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Klovan, Cardinal = "SW", Full = "Klovan Gully", Short = "Klovan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Langor, Cardinal = "SE", Full = "Langor Gulch", Short = "Langor" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Quentin, Cardinal = "SE", Full = "Quentin Lake", Short = "Quentin" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Mendons, Cardinal = "NW", Full = "Mendon's Gap", Short = "Mendon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Anzalias, Cardinal = "NW", Full = "Anzalias Pass", Short = "Anzalias" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Ogrewatch, Cardinal = "NE", Full = "Ogrewatch Cut", Short = "Ogrewatch" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Veloka, Cardinal = "NE", Full = "Veloka Slope", Short = "Veloka" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Durios, Cardinal = "E", Full = "Durios Gulch", Short = "Durios" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Bravost, Cardinal = "E", Full = "Bravost Escarpment", Short = "Bravost" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Garrison, Cardinal = "C", Full = "Garrison", Short = "Garrison" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Orchard, Cardinal = "S", Full = "Champion's Demense", Short = "Orchard" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Redbriar, Cardinal = "SW", Full = "Redbriar", Short = "Redbriar" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Greenlake, Cardinal = "SE", Full = "Greenlake", Short = "Greenlake" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Bay, Cardinal = "W", Full = "Ascension Bay", Short = "Bay" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Dawns, Cardinal = "NE", Full = "Dawn's Eyrie", Short = "Dawn's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Spiritholme, Cardinal = "N", Full = "The Spiritholme", Short = "Spiritholme" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Woodhaven, Cardinal = "NW", Full = "Woodhaven", Short = "Woodhaven" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Hills, Cardinal = "E", Full = "Askalion Hills", Short = "Hills" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Hills, Cardinal = "E", Full = "Etheron Hills", Short = "Hills" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Bay, Cardinal = "W", Full = "Dreaming Bay", Short = "Bay" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Orchard, Cardinal = "S", Full = "Victors's Lodge", Short = "Orchard" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Greenbriar, Cardinal = "SW", Full = "Greenbriar", Short = "Greenbriar" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Bluelake, Cardinal = "SE", Full = "Bluelake", Short = "Bluelake" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Garrison, Cardinal = "C", Full = "Garrison", Short = "Garrison" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Longview, Cardinal = "NW", Full = "Longview", Short = "Longview" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Godsword, Cardinal = "N", Full = "The Godsword", Short = "Godsword" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Cliffside, Cardinal = "NE", Full = "Cliffside", Short = "Cliffside" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Hills, Cardinal = "E", Full = "Shadaran Hills", Short = "Hills" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Redlake, Cardinal = "SE", Full = "Redlake", Short = "Redlake" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Orchard, Cardinal = "S", Full = "Hero's Lodge", Short = "Orchard" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Bay, Cardinal = "W", Full = "Dreadfall Bay", Short = "Bay" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Bluebriar, Cardinal = "SW", Full = "Bluebriar", Short = "Bluebriar" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Garrison, Cardinal = "C", Full = "Garrison", Short = "Garrison" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Sunnyhill, Cardinal = "NW", Full = "Sunnyhill", Short = "Sunnyhill" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Faithleap, Cardinal = "NW", Full = "Faithleap", Short = "Faithleap" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Bluevale, Cardinal = "SW", Full = "Bluevale Refuge", Short = "Bluevale" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Bluewater, Cardinal = "SE", Full = "Bluewater Lowlands", Short = "Bluewater" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Astralholme, Cardinal = "NE", Full = "Astralholme", Short = "Astralholme" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Arahs, Cardinal = "NW", Full = "Arah's Hope", Short = "Arah's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Greenvale, Cardinal = "SW", Full = "Greenvale Refuge", Short = "Greenvale" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Foghaven, Cardinal = "NE", Full = "Foghaven", Short = "Foghaven" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Redwater, Cardinal = "SE", Full = "Redwater Lowlands", Short = "Redwater" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Titanpaw, Cardinal = "N", Full = "The Titanpaw", Short = "Titanpaw" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Cragtop, Cardinal = "NE", Full = "Cragtop", Short = "Cragtop" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Godslore, Cardinal = "NW", Full = "Godslore", Short = "Godslore" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Redvale, Cardinal = "SW", Full = "Redvale Refuge", Short = "Redvale" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Stargrove, Cardinal = "NE", Full = "Stargrove", Short = "Stargrove" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Greenwater, Cardinal = "SE", Full = "Greenwater Lowlands", Short = "Greenwater" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Temple, Cardinal = "", Full = "Temple of Lost Prayers", Short = "Temple" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Hollow, Cardinal = "", Full = "Battle's Hollow", Short = "Hollow" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Estate, Cardinal = "", Full = "Bauer's Estate", Short = "Estate" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Orchard, Cardinal = "", Full = "Orchard Overlook", Short = "Orchard" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Carvers, Cardinal = "", Full = "Carver's Ascent", Short = "Carver's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Carvers, Cardinal = "", Full = "Carver's Ascent", Short = "Carver's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Orchard, Cardinal = "", Full = "Orchard Overlook", Short = "Orchard" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Estate, Cardinal = "", Full = "Bauer's Estate", Short = "Estate" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Hollow, Cardinal = "", Full = "Battle's Hollow", Short = "Hollow" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Temple, Cardinal = "", Full = "Temple of Lost Prayers", Short = "Temple" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Carvers, Cardinal = "", Full = "Carver's Ascent", Short = "Carver's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Orchard, Cardinal = "", Full = "Orchard Overlook", Short = "Orchard" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Estate, Cardinal = "", Full = "Bauer's Estate", Short = "Estate" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Hollow, Cardinal = "", Full = "Battle's Hollow", Short = "Hollow" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Temple, Cardinal = "", Full = "Temple of Lost Prayers", Short = "Temple" } + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Overlook, Cardinal = "N", Full = "Overlook", Short = "Overlook" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Valley, Cardinal = "SE", Full = "Valley", Short = "Valley" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Lowlands, Cardinal = "SW", Full = "Lowlands", Short = "Lowlands" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Golanta, Cardinal = "SSW", Full = "Golanta Clearing", Short = "Golanta" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Pangloss, Cardinal = "NNE", Full = "Pangloss Rise", Short = "Pangloss" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Speldan, Cardinal = "NNW", Full = "Speldan Clearcut", Short = "Speldan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Danelon, Cardinal = "SSE", Full = "Danelon Passage", Short = "Danelon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Umberglade, Cardinal = "E", Full = "Umberglade Woods", Short = "Umberglade" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Castle_Stonemist, Cardinal = "C", Full = "Stonemist Castle", Short = "Stonemist" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Rogues, Cardinal = "W", Full = "Rogue's Quarry", Short = "Rogue" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Aldons, Cardinal = "W", Full = "Aldon's Ledge", Short = "Aldon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Wildcreek, Cardinal = "W", Full = "Wildcreek Run", Short = "Wildcreek" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Jerrifers, Cardinal = "SW", Full = "Jerrifer's Slough", Short = "Jerrifer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Klovan, Cardinal = "SW", Full = "Klovan Gully", Short = "Klovan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Langor, Cardinal = "SE", Full = "Langor Gulch", Short = "Langor" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Quentin, Cardinal = "SE", Full = "Quentin Lake", Short = "Quentin" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Mendons, Cardinal = "NW", Full = "Mendon's Gap", Short = "Mendon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Anzalias, Cardinal = "NW", Full = "Anzalias Pass", Short = "Anzalias" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Ogrewatch, Cardinal = "NE", Full = "Ogrewatch Cut", Short = "Ogrewatch" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Veloka, Cardinal = "NE", Full = "Veloka Slope", Short = "Veloka" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Durios, Cardinal = "E", Full = "Durios Gulch", Short = "Durios" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Bravost, Cardinal = "E", Full = "Bravost Escarpment", Short = "Bravost" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Garrison, Cardinal = "C", Full = "Garrison", Short = "Garrison" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Orchard, Cardinal = "S", Full = "Champion's Demense", Short = "Orchard" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Redbriar, Cardinal = "SW", Full = "Redbriar", Short = "Redbriar" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Greenlake, Cardinal = "SE", Full = "Greenlake", Short = "Greenlake" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Bay, Cardinal = "W", Full = "Ascension Bay", Short = "Bay" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Dawns, Cardinal = "NE", Full = "Dawn's Eyrie", Short = "Dawn's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Spiritholme, Cardinal = "N", Full = "The Spiritholme", Short = "Spiritholme" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Woodhaven, Cardinal = "NW", Full = "Woodhaven", Short = "Woodhaven" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Hills, Cardinal = "E", Full = "Askalion Hills", Short = "Hills" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Hills, Cardinal = "E", Full = "Etheron Hills", Short = "Hills" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Bay, Cardinal = "W", Full = "Dreaming Bay", Short = "Bay" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Orchard, Cardinal = "S", Full = "Victors's Lodge", Short = "Orchard" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Greenbriar, Cardinal = "SW", Full = "Greenbriar", Short = "Greenbriar" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Bluelake, Cardinal = "SE", Full = "Bluelake", Short = "Bluelake" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Garrison, Cardinal = "C", Full = "Garrison", Short = "Garrison" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Longview, Cardinal = "NW", Full = "Longview", Short = "Longview" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Godsword, Cardinal = "N", Full = "The Godsword", Short = "Godsword" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Cliffside, Cardinal = "NE", Full = "Cliffside", Short = "Cliffside" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Hills, Cardinal = "E", Full = "Shadaran Hills", Short = "Hills" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Redlake, Cardinal = "SE", Full = "Redlake", Short = "Redlake" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Orchard, Cardinal = "S", Full = "Hero's Lodge", Short = "Orchard" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Bay, Cardinal = "W", Full = "Dreadfall Bay", Short = "Bay" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Bluebriar, Cardinal = "SW", Full = "Bluebriar", Short = "Bluebriar" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Garrison, Cardinal = "C", Full = "Garrison", Short = "Garrison" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Sunnyhill, Cardinal = "NW", Full = "Sunnyhill", Short = "Sunnyhill" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Faithleap, Cardinal = "NW", Full = "Faithleap", Short = "Faithleap" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Bluevale, Cardinal = "SW", Full = "Bluevale Refuge", Short = "Bluevale" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Bluewater, Cardinal = "SE", Full = "Bluewater Lowlands", Short = "Bluewater" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Astralholme, Cardinal = "NE", Full = "Astralholme", Short = "Astralholme" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Arahs, Cardinal = "NW", Full = "Arah's Hope", Short = "Arah's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Greenvale, Cardinal = "SW", Full = "Greenvale Refuge", Short = "Greenvale" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Foghaven, Cardinal = "NE", Full = "Foghaven", Short = "Foghaven" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Redwater, Cardinal = "SE", Full = "Redwater Lowlands", Short = "Redwater" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Titanpaw, Cardinal = "N", Full = "The Titanpaw", Short = "Titanpaw" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Cragtop, Cardinal = "NE", Full = "Cragtop", Short = "Cragtop" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Godslore, Cardinal = "NW", Full = "Godslore", Short = "Godslore" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Redvale, Cardinal = "SW", Full = "Redvale Refuge", Short = "Redvale" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Stargrove, Cardinal = "NE", Full = "Stargrove", Short = "Stargrove" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Greenwater, Cardinal = "SE", Full = "Greenwater Lowlands", Short = "Greenwater" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Temple, Cardinal = "", Full = "Temple of Lost Prayers", Short = "Temple" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Hollow, Cardinal = "", Full = "Battle's Hollow", Short = "Hollow" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Estate, Cardinal = "", Full = "Bauer's Estate", Short = "Estate" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Orchard, Cardinal = "", Full = "Orchard Overlook", Short = "Orchard" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Carvers, Cardinal = "", Full = "Carver's Ascent", Short = "Carver's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Carvers, Cardinal = "", Full = "Carver's Ascent", Short = "Carver's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Orchard, Cardinal = "", Full = "Orchard Overlook", Short = "Orchard" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Estate, Cardinal = "", Full = "Bauer's Estate", Short = "Estate" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Hollow, Cardinal = "", Full = "Battle's Hollow", Short = "Hollow" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Temple, Cardinal = "", Full = "Temple of Lost Prayers", Short = "Temple" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Carvers, Cardinal = "", Full = "Carver's Ascent", Short = "Carver's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Orchard, Cardinal = "", Full = "Orchard Overlook", Short = "Orchard" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Estate, Cardinal = "", Full = "Bauer's Estate", Short = "Estate" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Hollow, Cardinal = "", Full = "Battle's Hollow", Short = "Hollow" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Temple, Cardinal = "", Full = "Temple of Lost Prayers", Short = "Temple" } }; // Spanish List spanish = new List() { - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Overlook, Cardinal = "N", Full = "Mirador", Short = "Mirador" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Valley, Cardinal = "SE", Full = "Valle", Short = "Valle" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Lowlands, Cardinal = "SO", Full = "Tierras Bajas", Short = "Tierras Bajas" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Golanta, Cardinal = "SSO", Full = "Claro Golanta", Short = "Golanta" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Pangloss, Cardinal = "NNE", Full = "Colina Pangloss", Short = "Pangloss" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Speldan, Cardinal = "NNO", Full = "Claro Espeldia", Short = "Espeldia" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Danelon, Cardinal = "SSE", Full = "Pasaje Danelon", Short = "Danelon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Umberglade, Cardinal = "E", Full = "Bosques Clarosombra", Short = "Clarosombra" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Castle_Stonemist, Cardinal = "C", Full = "Castillo Piedraniebla", Short = "Piedraniebla" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Rogues, Cardinal = "O", Full = "Cantera del Pícaro", Short = "Pícaro" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Aldons, Cardinal = "O", Full = "Pista Arroyosalvaje", Short = "Arroyosalvaje" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Wildcreek, Cardinal = "O", Full = "Pista Arroyosalvaje", Short = "Arroyosalvaje" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Jerrifers, Cardinal = "SO", Full = "Cenagal de Jerrifer", Short = "Jerrifer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Klovan, Cardinal = "SO", Full = "Barranco Klovan", Short = "Klovan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Langor, Cardinal = "SE", Full = "Barranco Langor", Short = "Langor" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Quentin, Cardinal = "SE", Full = "Lago Quentin", Short = "Quentin" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Mendons, Cardinal = "NO", Full = "Zanja de Mendon", Short = "Mendon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Anzalias, Cardinal = "NO", Full = "Paso Anzalias", Short = "Anzalias" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Ogrewatch, Cardinal = "NE", Full = "Tajo de la Guardia del Ogro", Short = "Ogro" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Veloka, Cardinal = "NE", Full = "Pendiente Veloka", Short = "Veloka" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Durios, Cardinal = "E", Full = "Barranco Durios", Short = "Durios" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Bravost, Cardinal = "E", Full = "Escarpadura Bravost", Short = "Bravost" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Garrison, Cardinal = "C", Full = "Fuerte", Short = "Fuerte" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Orchard, Cardinal = "S", Full = "Dominio del Campeón", Short = "Huerto" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Redbriar, Cardinal = "SO", Full = "Zarzarroja", Short = "Zarzarroja" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Greenlake, Cardinal = "SE", Full = "Lagoverde", Short = "Lagoverde" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Bay, Cardinal = "O", Full = "Bahía de la Ascensión", Short = "Bahía" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Dawns, Cardinal = "NE", Full = "Aguilera del Alba", Short = "Alba" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Spiritholme, Cardinal = "N", Full = "La Isleta Espiritual", Short = "Espiritual" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Woodhaven, Cardinal = "NO", Full = "Refugio Forestal", Short = "Refugio" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Hills, Cardinal = "E", Full = "Colinas Askalion", Short = "Colinas" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Hills, Cardinal = "E", Full = "Colinas Etheron", Short = "Colinas" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Bay, Cardinal = "O", Full = "Bahía Onírica", Short = "Bahía" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Orchard, Cardinal = "S", Full = "Albergue del Vencedor", Short = "Huerto" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Greenbriar, Cardinal = "SO", Full = "Zarzaverde", Short = "Zarzaverde" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Bluelake, Cardinal = "SE", Full = "Lagoazul", Short = "Lagoazul" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Garrison, Cardinal = "C", Full = "Fuerte", Short = "Fuerte" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Longview, Cardinal = "NO", Full = "Vistaluenga", Short = "Vistaluenga" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Godsword, Cardinal = "N", Full = "La Hoja Divina", Short = "Hoja Divina" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Cliffside, Cardinal = "NE", Full = "Despeñadero", Short = "Despeñadero" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Hills, Cardinal = "E", Full = "Colinas Shadaran", Short = "Colinas" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Redlake, Cardinal = "SE", Full = "Lagorrojo", Short = "Lagorrojo" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Orchard, Cardinal = "S", Full = "Albergue del Héro", Short = "Huerto" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Bay, Cardinal = "O", Full = "Bahía Salto Aciago", Short = "Bahía" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Bluebriar, Cardinal = "SO", Full = "Zarzazul", Short = "Zarzazul" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Garrison, Cardinal = "C", Full = "Fuerte", Short = "Fuerte" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Sunnyhill, Cardinal = "NO", Full = "Colina Soleada", Short = "Soleada" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Faithleap, Cardinal = "NO", Full = "Salto de Fe", Short = "Salto de Fe" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Bluevale, Cardinal = "SO", Full = "Refugio Valleazule", Short = "Valleazule" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Bluewater, Cardinal = "SE", Full = "Tierras Bajas de Aguazul", Short = "Aguazul" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Astralholme, Cardinal = "NE", Full = "Isleta Astral", Short = "Isleta Astral" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Arahs, Cardinal = "NO", Full = "Esperanza de Arah", Short = "Arah" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Greenvale, Cardinal = "SO", Full = "Refugio Valleverde", Short = "Valleverde" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Foghaven, Cardinal = "NE", Full = "Refugio Neblinoso", Short = "Neblinoso" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Redwater, Cardinal = "SE", Full = "Tierras Bajas de Aguarrojo", Short = "Aguarrojo" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Titanpaw, Cardinal = "N", Full = "La Garra del Titán", Short = "Titán" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Cragtop, Cardinal = "NE", Full = "Cumbrepeñasco", Short = "Cumbrepeñasco" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Godslore, Cardinal = "NO", Full = "Sabiduría de los Dioses", Short = "Dioses" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Redvale, Cardinal = "SO", Full = "Refugio Vallerrojo", Short = "Vallerrojo" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Stargrove, Cardinal = "NE", Full = "Arboleda de las Estrellas", Short = "Estrellas" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Greenwater, Cardinal = "SE", Full = "Tierras Bajas de Aguaverde", Short = "Aguaverde" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Temple, Cardinal = "", Full = "Templo de las Plegarias Perdidas", Short = "Templo" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Hollow, Cardinal = "", Full = "Hondonada de la batalla", Short = "Hondonada" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Estate, Cardinal = "", Full = "Hacienda de Bauer", Short = "Hacienda" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Orchard, Cardinal = "", Full = "Mirador del Huerto", Short = "Huerto" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Carvers, Cardinal = "", Full = "Ascenso del Trinchador", Short = "Trinchador" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Carvers, Cardinal = "", Full = "Ascenso del Trinchador", Short = "Trinchador" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Orchard, Cardinal = "", Full = "Mirador del Huerto", Short = "Huerto" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Estate, Cardinal = "", Full = "Hacienda de Bauer", Short = "Hacienda" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Hollow, Cardinal = "", Full = "Hondonada de la batalla", Short = "Hondonada" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Temple, Cardinal = "", Full = "Templo de las Plegarias Perdidas", Short = "Templo" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Carvers, Cardinal = "", Full = "Ascenso del Trinchador", Short = "Trinchador" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Orchard, Cardinal = "", Full = "Mirador del Huerto", Short = "Huerto" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Estate, Cardinal = "", Full = "Hacienda de Bauer", Short = "Hacienda" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Hollow, Cardinal = "", Full = "Hondonada de la batalla", Short = "Hondonada" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Temple, Cardinal = "", Full = "Templo de las Plegarias Perdidas", Short = "Templo" } + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Overlook, Cardinal = "N", Full = "Mirador", Short = "Mirador" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Valley, Cardinal = "SE", Full = "Valle", Short = "Valle" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Lowlands, Cardinal = "SO", Full = "Tierras Bajas", Short = "Tierras Bajas" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Golanta, Cardinal = "SSO", Full = "Claro Golanta", Short = "Golanta" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Pangloss, Cardinal = "NNE", Full = "Colina Pangloss", Short = "Pangloss" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Speldan, Cardinal = "NNO", Full = "Claro Espeldia", Short = "Espeldia" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Danelon, Cardinal = "SSE", Full = "Pasaje Danelon", Short = "Danelon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Umberglade, Cardinal = "E", Full = "Bosques Clarosombra", Short = "Clarosombra" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Castle_Stonemist, Cardinal = "C", Full = "Castillo Piedraniebla", Short = "Piedraniebla" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Rogues, Cardinal = "O", Full = "Cantera del Pícaro", Short = "Pícaro" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Aldons, Cardinal = "O", Full = "Pista Arroyosalvaje", Short = "Arroyosalvaje" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Wildcreek, Cardinal = "O", Full = "Pista Arroyosalvaje", Short = "Arroyosalvaje" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Jerrifers, Cardinal = "SO", Full = "Cenagal de Jerrifer", Short = "Jerrifer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Klovan, Cardinal = "SO", Full = "Barranco Klovan", Short = "Klovan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Langor, Cardinal = "SE", Full = "Barranco Langor", Short = "Langor" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Quentin, Cardinal = "SE", Full = "Lago Quentin", Short = "Quentin" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Mendons, Cardinal = "NO", Full = "Zanja de Mendon", Short = "Mendon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Anzalias, Cardinal = "NO", Full = "Paso Anzalias", Short = "Anzalias" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Ogrewatch, Cardinal = "NE", Full = "Tajo de la Guardia del Ogro", Short = "Ogro" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Veloka, Cardinal = "NE", Full = "Pendiente Veloka", Short = "Veloka" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Durios, Cardinal = "E", Full = "Barranco Durios", Short = "Durios" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Bravost, Cardinal = "E", Full = "Escarpadura Bravost", Short = "Bravost" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Garrison, Cardinal = "C", Full = "Fuerte", Short = "Fuerte" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Orchard, Cardinal = "S", Full = "Dominio del Campeón", Short = "Huerto" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Redbriar, Cardinal = "SO", Full = "Zarzarroja", Short = "Zarzarroja" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Greenlake, Cardinal = "SE", Full = "Lagoverde", Short = "Lagoverde" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Bay, Cardinal = "O", Full = "Bahía de la Ascensión", Short = "Bahía" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Dawns, Cardinal = "NE", Full = "Aguilera del Alba", Short = "Alba" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Spiritholme, Cardinal = "N", Full = "La Isleta Espiritual", Short = "Espiritual" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Woodhaven, Cardinal = "NO", Full = "Refugio Forestal", Short = "Refugio" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Hills, Cardinal = "E", Full = "Colinas Askalion", Short = "Colinas" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Hills, Cardinal = "E", Full = "Colinas Etheron", Short = "Colinas" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Bay, Cardinal = "O", Full = "Bahía Onírica", Short = "Bahía" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Orchard, Cardinal = "S", Full = "Albergue del Vencedor", Short = "Huerto" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Greenbriar, Cardinal = "SO", Full = "Zarzaverde", Short = "Zarzaverde" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Bluelake, Cardinal = "SE", Full = "Lagoazul", Short = "Lagoazul" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Garrison, Cardinal = "C", Full = "Fuerte", Short = "Fuerte" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Longview, Cardinal = "NO", Full = "Vistaluenga", Short = "Vistaluenga" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Godsword, Cardinal = "N", Full = "La Hoja Divina", Short = "Hoja Divina" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Cliffside, Cardinal = "NE", Full = "Despeñadero", Short = "Despeñadero" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Hills, Cardinal = "E", Full = "Colinas Shadaran", Short = "Colinas" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Redlake, Cardinal = "SE", Full = "Lagorrojo", Short = "Lagorrojo" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Orchard, Cardinal = "S", Full = "Albergue del Héro", Short = "Huerto" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Bay, Cardinal = "O", Full = "Bahía Salto Aciago", Short = "Bahía" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Bluebriar, Cardinal = "SO", Full = "Zarzazul", Short = "Zarzazul" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Garrison, Cardinal = "C", Full = "Fuerte", Short = "Fuerte" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Sunnyhill, Cardinal = "NO", Full = "Colina Soleada", Short = "Soleada" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Faithleap, Cardinal = "NO", Full = "Salto de Fe", Short = "Salto de Fe" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Bluevale, Cardinal = "SO", Full = "Refugio Valleazule", Short = "Valleazule" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Bluewater, Cardinal = "SE", Full = "Tierras Bajas de Aguazul", Short = "Aguazul" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Astralholme, Cardinal = "NE", Full = "Isleta Astral", Short = "Isleta Astral" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Arahs, Cardinal = "NO", Full = "Esperanza de Arah", Short = "Arah" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Greenvale, Cardinal = "SO", Full = "Refugio Valleverde", Short = "Valleverde" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Foghaven, Cardinal = "NE", Full = "Refugio Neblinoso", Short = "Neblinoso" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Redwater, Cardinal = "SE", Full = "Tierras Bajas de Aguarrojo", Short = "Aguarrojo" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Titanpaw, Cardinal = "N", Full = "La Garra del Titán", Short = "Titán" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Cragtop, Cardinal = "NE", Full = "Cumbrepeñasco", Short = "Cumbrepeñasco" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Godslore, Cardinal = "NO", Full = "Sabiduría de los Dioses", Short = "Dioses" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Redvale, Cardinal = "SO", Full = "Refugio Vallerrojo", Short = "Vallerrojo" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Stargrove, Cardinal = "NE", Full = "Arboleda de las Estrellas", Short = "Estrellas" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Greenwater, Cardinal = "SE", Full = "Tierras Bajas de Aguaverde", Short = "Aguaverde" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Temple, Cardinal = "", Full = "Templo de las Plegarias Perdidas", Short = "Templo" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Hollow, Cardinal = "", Full = "Hondonada de la batalla", Short = "Hondonada" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Estate, Cardinal = "", Full = "Hacienda de Bauer", Short = "Hacienda" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Orchard, Cardinal = "", Full = "Mirador del Huerto", Short = "Huerto" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Carvers, Cardinal = "", Full = "Ascenso del Trinchador", Short = "Trinchador" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Carvers, Cardinal = "", Full = "Ascenso del Trinchador", Short = "Trinchador" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Orchard, Cardinal = "", Full = "Mirador del Huerto", Short = "Huerto" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Estate, Cardinal = "", Full = "Hacienda de Bauer", Short = "Hacienda" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Hollow, Cardinal = "", Full = "Hondonada de la batalla", Short = "Hondonada" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Temple, Cardinal = "", Full = "Templo de las Plegarias Perdidas", Short = "Templo" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Carvers, Cardinal = "", Full = "Ascenso del Trinchador", Short = "Trinchador" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Orchard, Cardinal = "", Full = "Mirador del Huerto", Short = "Huerto" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Estate, Cardinal = "", Full = "Hacienda de Bauer", Short = "Hacienda" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Hollow, Cardinal = "", Full = "Hondonada de la batalla", Short = "Hondonada" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Temple, Cardinal = "", Full = "Templo de las Plegarias Perdidas", Short = "Templo" } }; // French List french = new List() { - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Overlook, Cardinal = "N", Full = "Belvédère", Short = "Belvédère" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Valley, Cardinal = "SE", Full = "Vallée", Short = "Vallée" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Lowlands, Cardinal = "SO", Full = "Basses Terres", Short = "Basses Terres" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Golanta, Cardinal = "SSO", Full = "Clairière de Golanta", Short = "Golanta" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Pangloss, Cardinal = "NNE", Full = "Mine de Pangloss", Short = "Pangloss" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Speldan, Cardinal = "NNO", Full = "Forêt de Speldan", Short = "Speldan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Danelon, Cardinal = "SSE", Full = "Passage de Danelon", Short = "Danelon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Umberglade, Cardinal = "E", Full = "Bois d'Ombreclair", Short = "Ombreclair" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Castle_Stonemist, Cardinal = "C", Full = "Chateau Brumepierre", Short = "Brumepierre" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Rogues, Cardinal = "O", Full = "Carrière du Voleur", Short = "Voleur" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Aldons, Cardinal = "O", Full = "Corniche d'Aldon", Short = "Aldon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Wildcreek, Cardinal = "O", Full = "Piste du Ruisseau sauvage", Short = "Ruisseau" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Jerrifers, Cardinal = "SO", Full = "Bourbier de Jerrifer", Short = "Jerrifer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Klovan, Cardinal = "SO", Full = "Ravin de Klovan", Short = "Klovan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Langor, Cardinal = "SE", Full = "Ravin de Langor", Short = "Langor" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Quentin, Cardinal = "SE", Full = "Lac Quentin", Short = "Quentin" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Mendons, Cardinal = "NO", Full = "Faille de Mendon", Short = "Mendon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Anzalias, Cardinal = "NO", Full = "Col d'Anzalias", Short = "Anzalias" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Ogrewatch, Cardinal = "NE", Full = "Percée de Gardogre", Short = "Gardogre" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Veloka, Cardinal = "NE", Full = "Flanc de Veloka", Short = "Veloka" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Durios, Cardinal = "E", Full = "Ravin de Durios", Short = "Durios" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Bravost, Cardinal = "E", Full = "Falaise de Bravost", Short = "Bravost" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Garrison, Cardinal = "C", Full = "Garnison", Short = "Garnison" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Orchard, Cardinal = "S", Full = "Fief du Champion", Short = "Verger" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Redbriar, Cardinal = "SO", Full = "Bruyerouge", Short = "Bruyerouge" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Greenlake, Cardinal = "SE", Full = "Lac Vert", Short = "Lac Vert" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Bay, Cardinal = "O", Full = "Baie de l'Ascension", Short = "Baie" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Dawns, Cardinal = "NE", Full = "Repaire de l'AUbe", Short = "Aube" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Spiritholme, Cardinal = "N", Full = "Le Heaume Spirituel", Short = "Heaume" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Woodhaven, Cardinal = "NO", Full = "Boisrefuge", Short = "Boisrefuge" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Hills, Cardinal = "E", Full = "Collines d'Askalion", Short = "Askalion" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Hills, Cardinal = "E", Full = "Collines d'Etheron", Short = "Etheron" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Bay, Cardinal = "O", Full = "Baie des Rêves", Short = "Baie" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Orchard, Cardinal = "S", Full = "Pavillon du Vainqueur", Short = "Verger" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Greenbriar, Cardinal = "SO", Full = "Vert-Bruyère", Short = "Vert-Bruyère" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Bluelake, Cardinal = "SE", Full = "Lac Bleu", Short = "Lac Bleu" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Garrison, Cardinal = "C", Full = "Garnison", Short = "Garnison" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Longview, Cardinal = "NO", Full = "Longuevue", Short = "Longuevue" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Godsword, Cardinal = "N", Full = "Epée Divine", Short = "Epée" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Cliffside, Cardinal = "NE", Full = "Flanc de Falaise", Short = "Falaise" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Hills, Cardinal = "E", Full = "Collines Shadaran", Short = "Shadaran" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Redlake, Cardinal = "SE", Full = "Lac Rouge", Short = "Lac Rouge" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Orchard, Cardinal = "S", Full = "Pavillon du Héros", Short = "Verger" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Bay, Cardinal = "O", Full = "Baie du Déclin Noir", Short = "Baie" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Bluebriar, Cardinal = "SO", Full = "Bruyazur", Short = "Bruyazur" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Garrison, Cardinal = "C", Full = "Garnison", Short = "Garnison" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Sunnyhill, Cardinal = "NO", Full = "Colline ensoleillée", Short = "Colline" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Faithleap, Cardinal = "NO", Full = "Saut de la Foi", Short = "Saut de la Foi" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Bluevale, Cardinal = "SO", Full = "Refuge de Bleuval", Short = "Bleuval" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Bluewater, Cardinal = "SE", Full = "Basses terres d'Eau-Azur", Short = "Basses terres" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Astralholme, Cardinal = "NE", Full = "Heaume Astral", Short = "Astral" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Arahs, Cardinal = "NO", Full = "Espoir d'Arah", Short = "Arah" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Greenvale, Cardinal = "SO", Full = "Refuge de Valvert", Short = "Valvert" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Foghaven, Cardinal = "NE", Full = "Havre Gris", Short = "Havre" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Redwater, Cardinal = "SE", Full = "Basses terres de Rubicon", Short = "Basses terres" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Titanpaw, Cardinal = "N", Full = "Bras du Titan", Short = "Titan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Cragtop, Cardinal = "NE", Full = "Sommet de HautCrag", Short = "Hautcrag" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Godslore, Cardinal = "NO", Full = "Savoir Divin", Short = "Divi" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Redvale, Cardinal = "SO", Full = "Refuge de Valrouge", Short = "Valrouge" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Stargrove, Cardinal = "NE", Full = "Bosquet Etoilé", Short = "Bosquet" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Greenwater, Cardinal = "SE", Full = "Basses terres d'Eau-Verdoyante", Short = "Basses terres" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Temple, Cardinal = "", Full = "Temple des Prières Perdues", Short = "Temple" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Hollow, Cardinal = "", Full = "Vallon de bataille", Short = "Vallon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Estate, Cardinal = "", Full = "Domaine de Bauer", Short = "Bauer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Orchard, Cardinal = "", Full = "Belvédère du Berger", Short = "Verger" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Carvers, Cardinal = "", Full = "Côte du Couteau", Short = "Carver's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Carvers, Cardinal = "", Full = "Côte du Couteau", Short = "Carver's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Orchard, Cardinal = "", Full = "Belvédère du Berger", Short = "Verger" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Estate, Cardinal = "", Full = "Domaine de Bauer", Short = "Bauer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Hollow, Cardinal = "", Full = "Vallon de bataille", Short = "Vallon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Temple, Cardinal = "", Full = "Temple des Prières Perdues", Short = "Temple" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Carvers, Cardinal = "", Full = "Côte du Couteau", Short = "Carver's" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Orchard, Cardinal = "", Full = "Belvédère du Berger", Short = "Verger" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Estate, Cardinal = "", Full = "Domaine de Bauer", Short = "Bauer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Hollow, Cardinal = "", Full = "Vallon de bataille", Short = "Vallon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Temple, Cardinal = "", Full = "Temple des Prières Perdues", Short = "Temple" } + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Overlook, Cardinal = "N", Full = "Belvédère", Short = "Belvédère" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Valley, Cardinal = "SE", Full = "Vallée", Short = "Vallée" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Lowlands, Cardinal = "SO", Full = "Basses Terres", Short = "Basses Terres" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Golanta, Cardinal = "SSO", Full = "Clairière de Golanta", Short = "Golanta" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Pangloss, Cardinal = "NNE", Full = "Mine de Pangloss", Short = "Pangloss" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Speldan, Cardinal = "NNO", Full = "Forêt de Speldan", Short = "Speldan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Danelon, Cardinal = "SSE", Full = "Passage de Danelon", Short = "Danelon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Umberglade, Cardinal = "E", Full = "Bois d'Ombreclair", Short = "Ombreclair" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Castle_Stonemist, Cardinal = "C", Full = "Chateau Brumepierre", Short = "Brumepierre" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Rogues, Cardinal = "O", Full = "Carrière du Voleur", Short = "Voleur" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Aldons, Cardinal = "O", Full = "Corniche d'Aldon", Short = "Aldon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Wildcreek, Cardinal = "O", Full = "Piste du Ruisseau sauvage", Short = "Ruisseau" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Jerrifers, Cardinal = "SO", Full = "Bourbier de Jerrifer", Short = "Jerrifer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Klovan, Cardinal = "SO", Full = "Ravin de Klovan", Short = "Klovan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Langor, Cardinal = "SE", Full = "Ravin de Langor", Short = "Langor" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Quentin, Cardinal = "SE", Full = "Lac Quentin", Short = "Quentin" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Mendons, Cardinal = "NO", Full = "Faille de Mendon", Short = "Mendon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Anzalias, Cardinal = "NO", Full = "Col d'Anzalias", Short = "Anzalias" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Ogrewatch, Cardinal = "NE", Full = "Percée de Gardogre", Short = "Gardogre" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Veloka, Cardinal = "NE", Full = "Flanc de Veloka", Short = "Veloka" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Durios, Cardinal = "E", Full = "Ravin de Durios", Short = "Durios" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Bravost, Cardinal = "E", Full = "Falaise de Bravost", Short = "Bravost" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Garrison, Cardinal = "C", Full = "Garnison", Short = "Garnison" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Orchard, Cardinal = "S", Full = "Fief du Champion", Short = "Verger" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Redbriar, Cardinal = "SO", Full = "Bruyerouge", Short = "Bruyerouge" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Greenlake, Cardinal = "SE", Full = "Lac Vert", Short = "Lac Vert" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Bay, Cardinal = "O", Full = "Baie de l'Ascension", Short = "Baie" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Dawns, Cardinal = "NE", Full = "Repaire de l'AUbe", Short = "Aube" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Spiritholme, Cardinal = "N", Full = "Le Heaume Spirituel", Short = "Heaume" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Woodhaven, Cardinal = "NO", Full = "Boisrefuge", Short = "Boisrefuge" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Hills, Cardinal = "E", Full = "Collines d'Askalion", Short = "Askalion" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Hills, Cardinal = "E", Full = "Collines d'Etheron", Short = "Etheron" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Bay, Cardinal = "O", Full = "Baie des Rêves", Short = "Baie" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Orchard, Cardinal = "S", Full = "Pavillon du Vainqueur", Short = "Verger" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Greenbriar, Cardinal = "SO", Full = "Vert-Bruyère", Short = "Vert-Bruyère" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Bluelake, Cardinal = "SE", Full = "Lac Bleu", Short = "Lac Bleu" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Garrison, Cardinal = "C", Full = "Garnison", Short = "Garnison" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Longview, Cardinal = "NO", Full = "Longuevue", Short = "Longuevue" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Godsword, Cardinal = "N", Full = "Epée Divine", Short = "Epée" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Cliffside, Cardinal = "NE", Full = "Flanc de Falaise", Short = "Falaise" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Hills, Cardinal = "E", Full = "Collines Shadaran", Short = "Shadaran" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Redlake, Cardinal = "SE", Full = "Lac Rouge", Short = "Lac Rouge" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Orchard, Cardinal = "S", Full = "Pavillon du Héros", Short = "Verger" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Bay, Cardinal = "O", Full = "Baie du Déclin Noir", Short = "Baie" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Bluebriar, Cardinal = "SO", Full = "Bruyazur", Short = "Bruyazur" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Garrison, Cardinal = "C", Full = "Garnison", Short = "Garnison" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Sunnyhill, Cardinal = "NO", Full = "Colline ensoleillée", Short = "Colline" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Faithleap, Cardinal = "NO", Full = "Saut de la Foi", Short = "Saut de la Foi" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Bluevale, Cardinal = "SO", Full = "Refuge de Bleuval", Short = "Bleuval" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Bluewater, Cardinal = "SE", Full = "Basses terres d'Eau-Azur", Short = "Basses terres" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Astralholme, Cardinal = "NE", Full = "Heaume Astral", Short = "Astral" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Arahs, Cardinal = "NO", Full = "Espoir d'Arah", Short = "Arah" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Greenvale, Cardinal = "SO", Full = "Refuge de Valvert", Short = "Valvert" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Foghaven, Cardinal = "NE", Full = "Havre Gris", Short = "Havre" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Redwater, Cardinal = "SE", Full = "Basses terres de Rubicon", Short = "Basses terres" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Titanpaw, Cardinal = "N", Full = "Bras du Titan", Short = "Titan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Cragtop, Cardinal = "NE", Full = "Sommet de HautCrag", Short = "Hautcrag" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Godslore, Cardinal = "NO", Full = "Savoir Divin", Short = "Divi" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Redvale, Cardinal = "SO", Full = "Refuge de Valrouge", Short = "Valrouge" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Stargrove, Cardinal = "NE", Full = "Bosquet Etoilé", Short = "Bosquet" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Greenwater, Cardinal = "SE", Full = "Basses terres d'Eau-Verdoyante", Short = "Basses terres" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Temple, Cardinal = "", Full = "Temple des Prières Perdues", Short = "Temple" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Hollow, Cardinal = "", Full = "Vallon de bataille", Short = "Vallon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Estate, Cardinal = "", Full = "Domaine de Bauer", Short = "Bauer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Orchard, Cardinal = "", Full = "Belvédère du Berger", Short = "Verger" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Carvers, Cardinal = "", Full = "Côte du Couteau", Short = "Carver's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Carvers, Cardinal = "", Full = "Côte du Couteau", Short = "Carver's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Orchard, Cardinal = "", Full = "Belvédère du Berger", Short = "Verger" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Estate, Cardinal = "", Full = "Domaine de Bauer", Short = "Bauer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Hollow, Cardinal = "", Full = "Vallon de bataille", Short = "Vallon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Temple, Cardinal = "", Full = "Temple des Prières Perdues", Short = "Temple" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Carvers, Cardinal = "", Full = "Côte du Couteau", Short = "Carver's" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Orchard, Cardinal = "", Full = "Belvédère du Berger", Short = "Verger" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Estate, Cardinal = "", Full = "Domaine de Bauer", Short = "Bauer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Hollow, Cardinal = "", Full = "Vallon de bataille", Short = "Vallon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Temple, Cardinal = "", Full = "Temple des Prières Perdues", Short = "Temple" } }; // German List german = new List() { - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Overlook, Cardinal = "N", Full = "Aussichtspunkt", Short = "Aussichtspunkt" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Valley, Cardinal = "SO", Full = "Tal", Short = "Tal" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Keep_Lowlands, Cardinal = "SW", Full = "Tiefland", Short = "Tiefland" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Golanta, Cardinal = "SSW", Full = "Golanta-Lichtung", Short = "Golanta" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Pangloss, Cardinal = "NNO", Full = "Pangloss-Anhöhe", Short = "Pangloss" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Speldan, Cardinal = "NNW", Full = "Speldan-Kalschlag", Short = "Speldan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Danelon, Cardinal = "SSO", Full = "Danelon-Passage", Short = "Danelon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Umberglade, Cardinal = "O", Full = "Umberlichtung-Forst", Short = "Umber" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Castle_Stonemist, Cardinal = "Z", Full = "Schloss Steinnebel", Short = "Steinnebel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Camp_Rogues, Cardinal = "W", Full = "Schurkenbruch", Short = "Schurken" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Aldons, Cardinal = "W", Full = "Aldons Vorsprung", Short = "Aldon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Wildcreek, Cardinal = "W", Full = "Wildbach-Strecke", Short = "Wildbach" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Jerrifers, Cardinal = "SW", Full = "Jerrifers Sumpfloch", Short = "Jerrifer" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Klovan, Cardinal = "SW", Full = "Klovan-Senke", Short = "Klovan" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Langor, Cardinal = "SO", Full = "Langor-Schlucht", Short = "Langor" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Quentin, Cardinal = "SO", Full = "Quentin-See", Short = "Quentin" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Mendons, Cardinal = "NW", Full = "Mendon Spalt", Short = "Mendon" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Anzalias, Cardinal = "NW", Full = "Anzalias-Pass", Short = "Anzalias" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Ogrewatch, Cardinal = "NO", Full = "Ogrewatch-Kanal", Short = "Ogrewatch" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Veloka, Cardinal = "NO", Full = "Veloka-Hang", Short = "Veloka" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Durios, Cardinal = "O", Full = "Durios-Schlucht", Short = "Durios" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.EB_Tower_Bravost, Cardinal = "O", Full = "Bravost-Abhang", Short = "Bravost" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Garrison, Cardinal = "Z", Full = "Festung", Short = "Festung" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Orchard, Cardinal = "S", Full = "Domäne des Champions", Short = "Obstgarten" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Redbriar, Cardinal = "SW", Full = "Rotstrauch", Short = "Rotstrauch" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Greenlake, Cardinal = "SO", Full = "Grünsee", Short = "Grünsee" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Bay, Cardinal = "W", Full = "Aufstiegsbucht", Short = "Bucht" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Dawns, Cardinal = "NO", Full = "Horst der Morgendammerung", Short = "Morgen" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Spiritholme, Cardinal = "N", Full = "Der Geistholm", Short = "Geistholm" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Tower_Woodhaven, Cardinal = "NW", Full = "Wald-Freistatt", Short = "Wald-Freistatt" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Keep_Hills, Cardinal = "O", Full = "Askalion-Hügel", Short = "Hügel" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Hills, Cardinal = "O", Full = "Etheron-Hügel", Short = "Hügel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Bay, Cardinal = "W", Full = "Traumbucht", Short = "Bucht" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Orchard, Cardinal = "S", Full = "Sieger-Halle", Short = "Obstgarten" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Greenbriar, Cardinal = "SW", Full = "Grünstrauch", Short = "Grünstrauch" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Bluelake, Cardinal = "SO", Full = "Blausee", Short = "Blausee" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Keep_Garrison, Cardinal = "Z", Full = "Festung", Short = "Festung" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Longview, Cardinal = "NW", Full = "Weitsicht", Short = "Weitsicht" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Godsword, Cardinal = "N", Full = "Das Gottesschwert", Short = "Gottesschwert" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Tower_Cliffside, Cardinal = "NO", Full = "Felswand", Short = "Felswand" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Hills, Cardinal = "O", Full = "Shadaran-Hügel", Short = "Hügel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Redlake, Cardinal = "SO", Full = "Rotsee", Short = "Rotsee" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Orchard, Cardinal = "S", Full = "Heldenhalle", Short = "Obstgarten" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Bay, Cardinal = "W", Full = "Schreckensfall-Bucht", Short = "Bucht" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Bluebriar, Cardinal = "SW", Full = "Blaustrauch", Short = "Blaustrauch" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Keep_Garrison, Cardinal = "Z", Full = "Festung", Short = "Festung" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Sunnyhill, Cardinal = "NW", Full = "Sonnenhügel", Short = "Sonnenhügel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Faithleap, Cardinal = "NW", Full = "Glaubenssprung", Short = "Glaubenssprung" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Bluevale, Cardinal = "SW", Full = "Blautal-Zuflucht", Short = "Blautal" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Bluewater, Cardinal = "SO", Full = "Blauwasser-Tiefland", Short = "Blauwasser" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Astralholme, Cardinal = "NO", Full = "Astralholm", Short = "Astralholm" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Arahs, Cardinal = "NW", Full = "Arahs Hoffnung", Short = "Arahs" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Camp_Greenvale, Cardinal = "SW", Full = "Grüntal-Zuflucht", Short = "Grüntal" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Foghaven, Cardinal = "NO", Full = "Nebel-Freistatt", Short = "Nebel-Freistatt" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Redwater, Cardinal = "SO", Full = "Rotwasser-Tiefland", Short = "Rotwasser" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Camp_Titanpaw, Cardinal = "N", Full = "Die Titanenpranke", Short = "Titanenpranke" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Tower_Cragtop, Cardinal = "NO", Full = "Schroffgipfel", Short = "Schroffgipfel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Godslore, Cardinal = "NW", Full = "Gottessage", Short = "Gottessage" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Redvale, Cardinal = "SW", Full = "Rottal-Zuflucht", Short = "Rottal" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Stargrove, Cardinal = "NO", Full = "Sternhain", Short = "Sternhain" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Camp_Greenwater, Cardinal = "SO", Full = "Grünwasser-Tiefland", Short = "Grünwasser" }, - - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Temple, Cardinal = "", Full = "Tempel der Verlorenen Gebete", Short = "Tempel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Hollow, Cardinal = "", Full = "Schlachten-Senke", Short = "Senke" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Estate, Cardinal = "", Full = "Bauers Anwesen", Short = "Anwesen" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Orchard, Cardinal = "", Full = "Obstgarten-Aussichtspunkt", Short = "Obstgarten" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.RB_Carvers, Cardinal = "", Full = "Aufstieg des Schnitzers", Short = "Schnitzers" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Carvers, Cardinal = "", Full = "Aufstieg des Schnitzers", Short = "Schnitzers" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Orchard, Cardinal = "", Full = "Obstgarten-Aussichtspunkt", Short = "Obstgarten" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Estate, Cardinal = "", Full = "Bauers Anwesen", Short = "Anwesen" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Hollow, Cardinal = "", Full = "Schlachten-Senke", Short = "Senke" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.BB_Temple, Cardinal = "", Full = "Tempel der Verlorenen Gebete", Short = "Tempel" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Carvers, Cardinal = "", Full = "Aufstieg des Schnitzers", Short = "Schnitzers" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Orchard, Cardinal = "", Full = "Obstgarten-Aussichtspunkt", Short = "Obstgarten" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Estate, Cardinal = "", Full = "Bauers Anwesen", Short = "Anwesen" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Hollow, Cardinal = "", Full = "Schlachten-Senke", Short = "Senke" }, - new ObjectiveNames() { ID = (int)WvWObjectiveID.GB_Temple, Cardinal = "", Full = "Tempel der Verlorenen Gebete", Short = "Tempel" } + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Overlook, Cardinal = "N", Full = "Aussichtspunkt", Short = "Aussichtspunkt" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Valley, Cardinal = "SO", Full = "Tal", Short = "Tal" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Keep_Lowlands, Cardinal = "SW", Full = "Tiefland", Short = "Tiefland" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Golanta, Cardinal = "SSW", Full = "Golanta-Lichtung", Short = "Golanta" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Pangloss, Cardinal = "NNO", Full = "Pangloss-Anhöhe", Short = "Pangloss" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Speldan, Cardinal = "NNW", Full = "Speldan-Kalschlag", Short = "Speldan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Danelon, Cardinal = "SSO", Full = "Danelon-Passage", Short = "Danelon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Umberglade, Cardinal = "O", Full = "Umberlichtung-Forst", Short = "Umber" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Castle_Stonemist, Cardinal = "Z", Full = "Schloss Steinnebel", Short = "Steinnebel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Camp_Rogues, Cardinal = "W", Full = "Schurkenbruch", Short = "Schurken" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Aldons, Cardinal = "W", Full = "Aldons Vorsprung", Short = "Aldon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Wildcreek, Cardinal = "W", Full = "Wildbach-Strecke", Short = "Wildbach" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Jerrifers, Cardinal = "SW", Full = "Jerrifers Sumpfloch", Short = "Jerrifer" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Klovan, Cardinal = "SW", Full = "Klovan-Senke", Short = "Klovan" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Langor, Cardinal = "SO", Full = "Langor-Schlucht", Short = "Langor" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Quentin, Cardinal = "SO", Full = "Quentin-See", Short = "Quentin" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Mendons, Cardinal = "NW", Full = "Mendon Spalt", Short = "Mendon" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Anzalias, Cardinal = "NW", Full = "Anzalias-Pass", Short = "Anzalias" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Ogrewatch, Cardinal = "NO", Full = "Ogrewatch-Kanal", Short = "Ogrewatch" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Veloka, Cardinal = "NO", Full = "Veloka-Hang", Short = "Veloka" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Durios, Cardinal = "O", Full = "Durios-Schlucht", Short = "Durios" }, + new ObjectiveNames() { ID = WvWObjectiveIds.EB_Tower_Bravost, Cardinal = "O", Full = "Bravost-Abhang", Short = "Bravost" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Garrison, Cardinal = "Z", Full = "Festung", Short = "Festung" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Orchard, Cardinal = "S", Full = "Domäne des Champions", Short = "Obstgarten" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Redbriar, Cardinal = "SW", Full = "Rotstrauch", Short = "Rotstrauch" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Greenlake, Cardinal = "SO", Full = "Grünsee", Short = "Grünsee" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Bay, Cardinal = "W", Full = "Aufstiegsbucht", Short = "Bucht" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Dawns, Cardinal = "NO", Full = "Horst der Morgendammerung", Short = "Morgen" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Spiritholme, Cardinal = "N", Full = "Der Geistholm", Short = "Geistholm" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Tower_Woodhaven, Cardinal = "NW", Full = "Wald-Freistatt", Short = "Wald-Freistatt" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Keep_Hills, Cardinal = "O", Full = "Askalion-Hügel", Short = "Hügel" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Hills, Cardinal = "O", Full = "Etheron-Hügel", Short = "Hügel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Bay, Cardinal = "W", Full = "Traumbucht", Short = "Bucht" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Orchard, Cardinal = "S", Full = "Sieger-Halle", Short = "Obstgarten" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Greenbriar, Cardinal = "SW", Full = "Grünstrauch", Short = "Grünstrauch" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Bluelake, Cardinal = "SO", Full = "Blausee", Short = "Blausee" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Keep_Garrison, Cardinal = "Z", Full = "Festung", Short = "Festung" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Longview, Cardinal = "NW", Full = "Weitsicht", Short = "Weitsicht" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Godsword, Cardinal = "N", Full = "Das Gottesschwert", Short = "Gottesschwert" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Tower_Cliffside, Cardinal = "NO", Full = "Felswand", Short = "Felswand" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Hills, Cardinal = "O", Full = "Shadaran-Hügel", Short = "Hügel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Redlake, Cardinal = "SO", Full = "Rotsee", Short = "Rotsee" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Orchard, Cardinal = "S", Full = "Heldenhalle", Short = "Obstgarten" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Bay, Cardinal = "W", Full = "Schreckensfall-Bucht", Short = "Bucht" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Bluebriar, Cardinal = "SW", Full = "Blaustrauch", Short = "Blaustrauch" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Keep_Garrison, Cardinal = "Z", Full = "Festung", Short = "Festung" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Sunnyhill, Cardinal = "NW", Full = "Sonnenhügel", Short = "Sonnenhügel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Faithleap, Cardinal = "NW", Full = "Glaubenssprung", Short = "Glaubenssprung" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Bluevale, Cardinal = "SW", Full = "Blautal-Zuflucht", Short = "Blautal" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Bluewater, Cardinal = "SO", Full = "Blauwasser-Tiefland", Short = "Blauwasser" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Astralholme, Cardinal = "NO", Full = "Astralholm", Short = "Astralholm" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Arahs, Cardinal = "NW", Full = "Arahs Hoffnung", Short = "Arahs" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Camp_Greenvale, Cardinal = "SW", Full = "Grüntal-Zuflucht", Short = "Grüntal" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Foghaven, Cardinal = "NO", Full = "Nebel-Freistatt", Short = "Nebel-Freistatt" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Redwater, Cardinal = "SO", Full = "Rotwasser-Tiefland", Short = "Rotwasser" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Camp_Titanpaw, Cardinal = "N", Full = "Die Titanenpranke", Short = "Titanenpranke" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Tower_Cragtop, Cardinal = "NO", Full = "Schroffgipfel", Short = "Schroffgipfel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Godslore, Cardinal = "NW", Full = "Gottessage", Short = "Gottessage" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Redvale, Cardinal = "SW", Full = "Rottal-Zuflucht", Short = "Rottal" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Stargrove, Cardinal = "NO", Full = "Sternhain", Short = "Sternhain" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Camp_Greenwater, Cardinal = "SO", Full = "Grünwasser-Tiefland", Short = "Grünwasser" }, + + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Temple, Cardinal = "", Full = "Tempel der Verlorenen Gebete", Short = "Tempel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Hollow, Cardinal = "", Full = "Schlachten-Senke", Short = "Senke" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Estate, Cardinal = "", Full = "Bauers Anwesen", Short = "Anwesen" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Orchard, Cardinal = "", Full = "Obstgarten-Aussichtspunkt", Short = "Obstgarten" }, + new ObjectiveNames() { ID = WvWObjectiveIds.RB_Carvers, Cardinal = "", Full = "Aufstieg des Schnitzers", Short = "Schnitzers" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Carvers, Cardinal = "", Full = "Aufstieg des Schnitzers", Short = "Schnitzers" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Orchard, Cardinal = "", Full = "Obstgarten-Aussichtspunkt", Short = "Obstgarten" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Estate, Cardinal = "", Full = "Bauers Anwesen", Short = "Anwesen" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Hollow, Cardinal = "", Full = "Schlachten-Senke", Short = "Senke" }, + new ObjectiveNames() { ID = WvWObjectiveIds.BB_Temple, Cardinal = "", Full = "Tempel der Verlorenen Gebete", Short = "Tempel" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Carvers, Cardinal = "", Full = "Aufstieg des Schnitzers", Short = "Schnitzers" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Orchard, Cardinal = "", Full = "Obstgarten-Aussichtspunkt", Short = "Obstgarten" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Estate, Cardinal = "", Full = "Bauers Anwesen", Short = "Anwesen" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Hollow, Cardinal = "", Full = "Schlachten-Senke", Short = "Senke" }, + new ObjectiveNames() { ID = WvWObjectiveIds.GB_Temple, Cardinal = "", Full = "Tempel der Verlorenen Gebete", Short = "Tempel" } }; Serialization.SerializeToXml(english, this.GetFilePath("en")); @@ -490,7 +493,7 @@ private string GetFilePath(string twoLetterIsoLangId) /// public class ObjectiveNames { - public int ID { get; set; } + public WvWObjectiveId ID { get; set; } public string Full { get; set; } public string Short { get; set; } public string Cardinal { get; set; } diff --git a/GW2PAO.API/Services/WvWService.cs b/GW2PAO.API/Services/WvWService.cs index c42f0bd..0146860 100644 --- a/GW2PAO.API/Services/WvWService.cs +++ b/GW2PAO.API/Services/WvWService.cs @@ -29,7 +29,7 @@ public class WvWService : IWvWService /// /// String provider that provides objective names /// - private IStringProvider objectiveNamesProvider; + private IStringProvider objectiveNamesProvider; /// /// Internal cache of the current WvW matchup @@ -68,7 +68,7 @@ public WvWService() /// Alternate constructor /// /// The StringProvider that supplies localized objective names. If null, a default implementation is used - public WvWService(IStringProvider objectiveNamesProvider) + public WvWService(IStringProvider objectiveNamesProvider) { this.objectiveNamesProvider = objectiveNamesProvider; } @@ -226,6 +226,9 @@ public int GetWorldScore(int worldId) /// The current WvW for the given world public int GetWorldScore(string matchId, int worldId) { + if (string.IsNullOrEmpty(matchId)) + return -1; + try { var details = this.matchService.Find(new Matchup { MatchId = matchId }); @@ -294,7 +297,7 @@ public IEnumerable GetMapObjectives(string matchId, WvWMap map) { var objData = new WvWObjective(); - objData.ID = objective.ObjectiveId; + objData.ID = new WvWObjectiveId(objective.ObjectiveId, map); objData.MatchId = matchId; objData.Map = map; objData.GuildOwner = objective.OwnerGuildId; @@ -375,7 +378,18 @@ public IEnumerable GetAllObjectives(string matchId) { var objData = new WvWObjective(); - objData.ID = objective.ObjectiveId; + if (mapDetails is BlueBorderlands) + objData.Map = WvWMap.BlueBorderlands; + else if (mapDetails is GreenBorderlands) + objData.Map = WvWMap.GreenBorderlands; + else if (mapDetails is RedBorderlands) + objData.Map = WvWMap.RedBorderlands; + else if (mapDetails is EternalBattlegrounds) + objData.Map = WvWMap.EternalBattlegrounds; + else + objData.Map = WvWMap.Unknown; + + objData.ID = new WvWObjectiveId(objective.ObjectiveId, objData.Map); objData.MatchId = matchId; objData.GuildOwner = objective.OwnerGuildId; @@ -393,32 +407,21 @@ public IEnumerable GetAllObjectives(string matchId) switch (objData.Type) { case ObjectiveType.Castle: - objData.Points = 35; + objData.Points = 12; break; case ObjectiveType.Keep: - objData.Points = 25; + objData.Points = 8; break; case ObjectiveType.Tower: - objData.Points = 10; + objData.Points = 4; break; case ObjectiveType.Camp: - objData.Points = 5; + objData.Points = 2; break; default: break; } - if (mapDetails is BlueBorderlands) - objData.Map = WvWMap.BlueBorderlands; - else if (mapDetails is GreenBorderlands) - objData.Map = WvWMap.GreenBorderlands; - else if (mapDetails is RedBorderlands) - objData.Map = WvWMap.RedBorderlands; - else if (mapDetails is EternalBattlegrounds) - objData.Map = WvWMap.EternalBattlegrounds; - else - objData.Map = WvWMap.Unknown; - switch (objective.Owner) { case TeamColor.Blue: diff --git a/GW2PAO.API/WvWObjectives.xml b/GW2PAO.API/WvWObjectives.xml index b84e714..1594799 100644 --- a/GW2PAO.API/WvWObjectives.xml +++ b/GW2PAO.API/WvWObjectives.xml @@ -2,11 +2,8 @@ - 1 + [&BOsDAAA=] - Overlook - Overlook - N 4548 17078.4 @@ -14,14 +11,10 @@ Keep EternalBattlegrounds - 25 - 2 + [&BOIDAAA=] - Valley - Valley - SE 25620 -20251.2 @@ -29,14 +22,10 @@ Keep EternalBattlegrounds - 25 - 3 + [&BPMDAAA=] - Lowlands - Lowlands - SW -19802.4 -17690.4 @@ -44,14 +33,10 @@ Keep EternalBattlegrounds - 25 - 4 + [&BPUDAAA=] - Golanta - Golanta Clearing - SSW -7497.6 -25468.8 @@ -59,14 +44,10 @@ Camp EternalBattlegrounds - 5 - 5 + [&BPADAAA=] - Pangloss - Pangloss Rise - NNE 18393.6 13939.2 @@ -74,14 +55,10 @@ Camp EternalBattlegrounds - 5 - 6 + [&BO0DAAA=] - Speldan - Speldan Clearcut - NNW -16848.72 19048.8 @@ -89,14 +66,10 @@ Camp EternalBattlegrounds - 5 - 7 + [&BOcDAAA=] - Danelon - Danelon Passage - SSE 13310.4 -28867.2 @@ -104,14 +77,10 @@ Camp EternalBattlegrounds - 5 - 8 + [&BOQDAAA=] - Umberglade - Umberglade Woods - E 25802.4 -2716.8 @@ -119,14 +88,10 @@ Camp EternalBattlegrounds - 5 - 9 + [&BN4DAAA=] - Stonemist - Stonemist Castle - C 2690.4 -5174.4 @@ -134,14 +99,10 @@ Castle EternalBattlegrounds - 35 - 10 + [&BPgDAAA=] - Rogue's - Rogue's Quarry - W -22010.16 -2349.6 @@ -149,14 +110,10 @@ Camp EternalBattlegrounds - 5 - 11 + [&BPcDAAA=] - Aldon's - Aldon's Ledge - W -26110.56 -12943.2 @@ -164,14 +121,10 @@ Tower EternalBattlegrounds - 10 - 12 + [&BPkDAAA=] - Wildcreek - Wildcreek Run - W -12559.92 -5227.2 @@ -179,14 +132,10 @@ Tower EternalBattlegrounds - 10 - 13 + [&BPYDAAA=] - Jerrifer's - Jerrifer's Slough - SW 15682.08 -25161.6 @@ -194,14 +143,10 @@ Tower EternalBattlegrounds - 10 - 14 + [&BPQDAAA=] - Klovan - Klovan Gully - SW -5013.6 -17596.8 @@ -209,14 +154,10 @@ Tower EternalBattlegrounds - 10 - 15 + [&BOUDAAA=] - Langor - Langor Gulch - SE 21544.8 -27280.8 @@ -224,14 +165,10 @@ Tower EternalBattlegrounds - 10 - 16 + [&BOgDAAA=] - Quentin - Quentin Lake - SE 10137.6 -21256.8 @@ -239,14 +176,10 @@ Tower EternalBattlegrounds - 10 - 17 + [&BO8DAAA=] - Mendon's - Mendon's Gap - NW -5599.2 22768.8 @@ -254,14 +187,10 @@ Tower EternalBattlegrounds - 10 - 18 + [&BOwDAAA=] - Anzalias - Anzalias Pass - NW -6684 7200 @@ -269,14 +198,10 @@ Tower EternalBattlegrounds - 10 - 19 + [&BPEDAAA=] - Ogrewatch - Ogrewatch Cut - NE 12072 10622.4 @@ -284,14 +209,10 @@ Tower EternalBattlegrounds - 10 - 20 + [&BO4DAAA=] - Veloka - Veloka Slope - NE 13173.6 2058 @@ -299,14 +220,10 @@ Tower EternalBattlegrounds - 10 - 21 + [&BOMDAAA=] - Durios - Durios Gulch - E 17412 -5109.6 @@ -314,14 +231,10 @@ Tower EternalBattlegrounds - 10 - 22 + [&BOYDAAA=] - Bravost - Bravost Escarpment - E 29232 -11200.8 @@ -329,14 +242,10 @@ Tower EternalBattlegrounds - 10 - 23 + [&BCQFAAA=] - Garrison - Garrison - C -441.6 9160.8 @@ -344,14 +253,10 @@ Keep BlueBorderlands - 25 - 24 + [&BCUFAAA=] - Orchard - Champion's Demense - S -648 -32762.4 @@ -359,14 +264,10 @@ Camp BlueBorderlands - 5 - 25 + [&BCoFAAA=] - Redbriar - Redbriar - SW -7545.6 -17548.8 @@ -374,14 +275,10 @@ Tower BlueBorderlands - 10 - 26 + [&BCYFAAA=] - Greenlake - Greenlake - SE 11155.2 -16648.8 @@ -389,14 +286,10 @@ Tower BlueBorderlands - 10 - 27 + [&BCgFAAA=] - Bay - Ascension Bay - W -22857.6 -6789.6 @@ -404,14 +297,10 @@ Keep BlueBorderlands - 25 - 28 + [&BC0FAAA=] - Dawn's - Dawn's Eyrie - NE 12969.6 12840 @@ -419,14 +308,10 @@ Tower BlueBorderlands - 10 - 29 + [&BB8FAAA=] - Spiritholme - The Spiritholme - N 232.8 34180.8 @@ -434,14 +319,10 @@ Camp BlueBorderlands - 5 - 30 + [&BCwFAAA=] - Woodhaven - Woodhaven - NW -14152.8 14712 @@ -449,14 +330,10 @@ Tower BlueBorderlands - 10 - 31 + [&BCAFAAA=] - Hills - Askalion Hills - E 22420.8 -5016 @@ -464,14 +341,10 @@ Keep BlueBorderlands - 25 - 32 + [&BA8FAAA=] - Hills - Etheron Hills - E 22420.8 -5016 @@ -479,14 +352,10 @@ Keep RedBorderlands - 25 - 33 + [&BBMFAAA=] - Bay - Dreaming Bay - W -22857.36 -6789.6 @@ -494,14 +363,10 @@ Keep RedBorderlands - 25 - 34 + [&BBgFAAA=] - Orchard - Victors's Lodge - S -648 -32762.4 @@ -509,14 +374,10 @@ Camp RedBorderlands - 5 - 35 + [&BB4FAAA=] - Greenbriar - Greenbriar - SW -7545.6 -17548.8 @@ -524,14 +385,10 @@ Tower RedBorderlands - 10 - 36 + [&BBkFAAA=] - Bluelake - Bluelake - SE 11155.2 -16648.8 @@ -539,14 +396,10 @@ Tower RedBorderlands - 10 - 37 + [&BBYFAAA=] - Garrison - Garrison - C -441.6 9160.8 @@ -554,14 +407,10 @@ Keep RedBorderlands - 25 - 38 + [&BBoFAAA=] - Longview - Longview - NW -14153.28 14712 @@ -569,14 +418,10 @@ Tower RedBorderlands - 10 - 39 + [&BBIFAAA=] - Godsword - The Godsword - N 232.8 34180.08 @@ -584,14 +429,10 @@ Camp RedBorderlands - 5 - 40 + [&BBsFAAA=] - Cliffside - Cliffside - NE 12969.6 12840 @@ -599,14 +440,10 @@ Tower RedBorderlands - 10 - 41 + [&BDAFAAA=] - Hills - Shadaran Hills - E 22421.04 -5016 @@ -614,14 +451,10 @@ Keep GreenBorderlands - 25 - 42 + [&BD4FAAA=] - Redlake - Redlake - SE 11154.72 -16648.8 @@ -629,14 +462,10 @@ Tower GreenBorderlands - 10 - 43 + [&BDkFAAA=] - Orchard - Hero's Lodge - S -648 -32762.4 @@ -644,14 +473,10 @@ Camp GreenBorderlands - 5 - 44 + [&BC8FAAA=] - Bay - Dreadfall Bay - W -22857.36 -6789.6 @@ -659,14 +484,10 @@ Keep GreenBorderlands - 25 - 45 + [&BD0FAAA=] - Bluebriar - Bluebriar - SW -7544.64 -17548.8 @@ -674,14 +495,10 @@ Tower GreenBorderlands - 10 - 46 + [&BDIFAAA=] - Garrison - Garrison - C -441.6 9160.8 @@ -689,14 +506,10 @@ Keep GreenBorderlands - 25 - 47 + [&BDYFAAA=] - Sunnyhill - Sunnyhill - NW -14153.52 14712 @@ -704,14 +517,10 @@ Tower GreenBorderlands - 10 - 48 + [&BDwFAAA=] - Faithleap - Faithleap - NW -21083.28 11462.4 @@ -719,14 +528,10 @@ Camp GreenBorderlands - 5 - 49 + [&BDgFAAA=] - Bluevale - Bluevale Refuge - SW -19053.12 -18657.6 @@ -734,14 +539,10 @@ Camp GreenBorderlands - 5 - 50 + [&BBcFAAA=] - Bluewater - Bluewater Lowlands - SE 22442.4 -19444.8 @@ -749,14 +550,10 @@ Camp RedBorderlands - 5 - 51 + [&BBQFAAA=] - Astralholme - Astralholme - NE 23253.6 12273.6 @@ -764,14 +561,10 @@ Camp RedBorderlands - 5 - 52 + [&BB0FAAA=] - Arah's - Arah's Hope - NW -21083.28 11462.4 @@ -779,14 +572,10 @@ Camp RedBorderlands - 5 - 53 + [&BBwFAAA=] - Greenvale - Greenvale Refuge - SW -19053.12 -18657.6 @@ -794,14 +583,10 @@ Camp RedBorderlands - 5 - 54 + [&BDMFAAA=] - Foghaven - Foghaven - NE 23253.36 12273.6 @@ -809,14 +594,10 @@ Camp GreenBorderlands - 5 - 55 + [&BDoFAAA=] - Redwater - Redwater Lowlands - SE 22442.16 -19444.8 @@ -824,14 +605,10 @@ Camp GreenBorderlands - 5 - 56 + [&BDEFAAA=] - Titanpaw - The Titanpaw - N 232.8 34180.8 @@ -839,14 +616,10 @@ Camp GreenBorderlands - 5 - 57 + [&BDcFAAA=] - Cragtop - Cragtop - NE 12969.6 12840 @@ -854,14 +627,10 @@ Tower GreenBorderlands - 10 - 58 + [&BCkFAAA=] - Godslore - Godslore - NW -21084 11462.4 @@ -869,14 +638,10 @@ Camp BlueBorderlands - 5 - 59 + [&BC4FAAA=] - Redvale - Redvale Refuge - SW -19053.6 -18657.6 @@ -884,14 +649,10 @@ Camp BlueBorderlands - 5 - 60 + [&BCEFAAA=] - Stargrove - Stargrove - NE 23253.6 12273.6 @@ -899,14 +660,10 @@ Camp BlueBorderlands - 5 - 61 + [&BCYFAAA=] - Greenwater - Greenwater Lowlands - SE 22442.4 -19444.8 @@ -914,14 +671,10 @@ Camp BlueBorderlands - 5 - 62 + - Temple - Temple of Lost Prayers - -279.59 -16015.255 @@ -929,14 +682,10 @@ TempleofLostPrayers RedBorderlands - 0 - 63 + - Hollow - Battle's Hollow - -7939.68 -9885.6 @@ -944,14 +693,10 @@ BattlesHollow RedBorderlands - 0 - 64 + - Estate - Bauer's Estate - -5251.525 -783.006 @@ -959,14 +704,10 @@ BauersEstate RedBorderlands - 0 - 65 + - Orchard - Orchard Overlook - 5983.413 -2110.027 @@ -974,14 +715,10 @@ OrchardOverlook RedBorderlands - 0 - 66 + - Carver's - Carver's Ascent - 6802.815 -10643.904 @@ -989,14 +726,10 @@ CarversAscent RedBorderlands - 0 - 67 + - Carver's - Carver's Ascent - 6802.815 -10643.904 @@ -1004,14 +737,10 @@ CarversAscent BlueBorderlands - 0 - 68 + - Orchard - Orchard Overlook - 5983.413 -2110.027 @@ -1019,14 +748,10 @@ OrchardOverlook BlueBorderlands - 0 - 69 + - Estate - Bauer's Estate - -5251.525 -783.006 @@ -1034,14 +759,10 @@ BauersEstate BlueBorderlands - 0 - 70 + - Hollow - Battle's Hollow - -7939.68 -9885.6 @@ -1049,14 +770,10 @@ BattlesHollow BlueBorderlands - 0 - 71 + - Temple - Temple of Lost Prayers - -279.59 -16015.255 @@ -1064,14 +781,10 @@ TempleofLostPrayers BlueBorderlands - 0 - 72 + - Carver's - Carver's Ascent - 6802.815 -10643.904 @@ -1079,14 +792,10 @@ CarversAscent GreenBorderlands - 0 - 73 + - Orchard - Orchard Overlook - 5983.413 -2110.027 @@ -1094,14 +803,10 @@ OrchardOverlook GreenBorderlands - 0 - 74 + - Estate - Bauer's Estate - -5251.525 -783.006 @@ -1109,14 +814,10 @@ BauersEstate GreenBorderlands - 0 - 75 + - Hollow - Battle's Hollow - -7939.68 -9885.6 @@ -1124,14 +825,10 @@ BattlesHollow GreenBorderlands - 0 - 76 + - Temple - Temple of Lost Prayers - -279.59 -16015.255 @@ -1139,7 +836,6 @@ TempleofLostPrayers GreenBorderlands - 0 \ No newline at end of file diff --git a/GW2PAO/Modules/WvW/ViewModels/WvWObjectiveViewModel.cs b/GW2PAO/Modules/WvW/ViewModels/WvWObjectiveViewModel.cs index eaf2d38..aa6c201 100644 --- a/GW2PAO/Modules/WvW/ViewModels/WvWObjectiveViewModel.cs +++ b/GW2PAO/Modules/WvW/ViewModels/WvWObjectiveViewModel.cs @@ -40,7 +40,7 @@ public class WvWObjectiveViewModel : BindableBase /// /// ID of the objective /// - public int ID { get { return this.ModelData.ID; } } + public WvWObjectiveId ID { get { return this.ModelData.ID; } } /// /// The type of the objective diff --git a/GW2PAO/Modules/WvW/WvWController.cs b/GW2PAO/Modules/WvW/WvWController.cs index e32b769..c09e97d 100644 --- a/GW2PAO/Modules/WvW/WvWController.cs +++ b/GW2PAO/Modules/WvW/WvWController.cs @@ -436,64 +436,62 @@ private void HandleMatchChange(string newMatchID) { // Refresh all team colors var teamColors = this.wvwService.GetTeamColors(); - if (teamColors.Count == this.Worlds.Count) + Threading.InvokeOnUI(() => { - Threading.InvokeOnUI(() => + foreach (var team in this.Worlds) { - foreach (var team in this.Worlds) - { + if (teamColors.ContainsKey(team.WorldId)) team.Color = teamColors[team.WorldId]; - } - }); - - // Refresh state of all objectives - var latestObjectivesData = this.wvwService.GetAllObjectives(MatchID); - while (latestObjectivesData.Count() != this.AllObjectives.Count - && !this.isStopped) - { - // We were unable to pull data for all objectives - this can happen if we are - // in the middle of a reset. As such, loop until we actually get a full set - logger.Warn("Unable to retrieve data for all objectives! Trying again..."); - latestObjectivesData = this.wvwService.GetAllObjectives(MatchID); } + }); - ConcurrentDictionary guildDict = new ConcurrentDictionary(); - Parallel.ForEach(latestObjectivesData.Where(o => o.GuildOwner.HasValue), (objective) => - { - var guildInfo = this.guildService.GetGuild(objective.GuildOwner.Value); - guildDict.TryAdd(guildInfo.ID, guildInfo); - }); + // Refresh state of all objectives + var latestObjectivesData = this.wvwService.GetAllObjectives(MatchID); + while (latestObjectivesData.Count() != this.AllObjectives.Count + && !this.isStopped) + { + // We were unable to pull data for all objectives - this can happen if we are + // in the middle of a reset. As such, loop until we actually get a full set + logger.Warn("Unable to retrieve data for all objectives! Trying again..."); + latestObjectivesData = this.wvwService.GetAllObjectives(MatchID); + } - if (latestObjectivesData.Count() >= this.AllObjectives.Count) + ConcurrentDictionary guildDict = new ConcurrentDictionary(); + Parallel.ForEach(latestObjectivesData.Where(o => o.GuildOwner.HasValue), (objective) => + { + var guildInfo = this.guildService.GetGuild(objective.GuildOwner.Value); + guildDict.TryAdd(guildInfo.ID, guildInfo); + }); + + if (latestObjectivesData.Count() >= this.AllObjectives.Count) + { + Threading.InvokeOnUI(() => { - Threading.InvokeOnUI(() => + foreach (var objective in this.AllObjectives) { - foreach (var objective in this.AllObjectives) - { - objective.RefreshForMatchReset(this.Worlds); - var latestData = latestObjectivesData.First(obj => obj.ID == objective.ID); - objective.ModelData.MatchId = this.MatchID; - objective.PrevWorldOwner = latestData.WorldOwner; - objective.WorldOwner = latestData.WorldOwner; - objective.FlipTime = DateTime.UtcNow; - objective.DistanceFromPlayer = 0; - objective.TimerValue = TimeSpan.Zero; - objective.IsRIActive = false; + objective.RefreshForMatchReset(this.Worlds); + var latestData = latestObjectivesData.First(obj => obj.ID == objective.ID); + objective.ModelData.MatchId = this.MatchID; + objective.PrevWorldOwner = latestData.WorldOwner; + objective.WorldOwner = latestData.WorldOwner; + objective.FlipTime = DateTime.UtcNow; + objective.DistanceFromPlayer = 0; + objective.TimerValue = TimeSpan.Zero; + objective.IsRIActive = false; - if (latestData.GuildOwner.HasValue) + if (latestData.GuildOwner.HasValue) + { + objective.GuildClaimer.ID = latestData.GuildOwner.Value; + API.Data.Entities.Guild guildInfo; + if (guildDict.TryGetValue(objective.GuildClaimer.ID.Value, out guildInfo) + && guildInfo != null) { - objective.GuildClaimer.ID = latestData.GuildOwner.Value; - API.Data.Entities.Guild guildInfo; - if (guildDict.TryGetValue(objective.GuildClaimer.ID.Value, out guildInfo) - && guildInfo != null) - { - objective.GuildClaimer.Name = guildInfo.Name; - objective.GuildClaimer.Tag = string.Format("[{0}]", guildInfo.Tag); - } + objective.GuildClaimer.Name = guildInfo.Name; + objective.GuildClaimer.Tag = string.Format("[{0}]", guildInfo.Tag); } } - }); - } + } + }); } } } diff --git a/GW2PAO/Modules/WvW/WvWUserData.cs b/GW2PAO/Modules/WvW/WvWUserData.cs index a093da2..de95efa 100644 --- a/GW2PAO/Modules/WvW/WvWUserData.cs +++ b/GW2PAO/Modules/WvW/WvWUserData.cs @@ -67,7 +67,7 @@ public class WvWUserData : UserData private Units distanceUnits; private bool autoOpenCloseTracker; private uint notificationDuration; - private ObservableCollection hiddenObjectives = new ObservableCollection(); + private ObservableCollection hiddenObjectives = new ObservableCollection(); /// /// The user's world selection for WvW @@ -351,7 +351,7 @@ public uint NotificationDuration /// /// Collection of user-configured Hidden Objectives /// - public ObservableCollection HiddenObjectives { get { return this.hiddenObjectives; } } + public ObservableCollection HiddenObjectives { get { return this.hiddenObjectives; } } /// /// Default constructor From e68f929e94698132e061e352f500fc062fa29067 Mon Sep 17 00:00:00 2001 From: shurne Date: Sat, 2 Jul 2016 16:39:48 -0400 Subject: [PATCH 06/18] Code cleanup --- .../ZoneCompletionController.cs | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/GW2PAO/Modules/ZoneCompletion/ZoneCompletionController.cs b/GW2PAO/Modules/ZoneCompletion/ZoneCompletionController.cs index bf8f132..65ebc89 100644 --- a/GW2PAO/Modules/ZoneCompletion/ZoneCompletionController.cs +++ b/GW2PAO/Modules/ZoneCompletion/ZoneCompletionController.cs @@ -84,7 +84,7 @@ public class ZoneCompletionController : IZoneCompletionController /// /// Dictionary of counters for auto-unlock purposes /// - private Dictionary distanceCounters = new Dictionary(); + private Dictionary playerInProximityCounters = new Dictionary(); /// /// Backing store for the zone items collection @@ -171,7 +171,7 @@ public void Start() this.isStopped = false; logger.Debug("Starting refresh timers"); this.RefreshZone(); - this.RefreshLocations(null); + this.RefreshLocations(); } this.startCallCount++; @@ -252,14 +252,14 @@ private void RefreshZone(object state = null) Threading.InvokeOnUI(() => { this.ZoneItems.Clear(); - this.distanceCounters.Clear(); + this.playerInProximityCounters.Clear(); foreach (var item in zoneItems) { // Ignore dungeons for now if (item.Type != API.Data.Enums.ZoneItemType.Dungeon) { this.ZoneItems.Add(new ZoneItemViewModel(item, this.playerService, this.UserData)); - this.distanceCounters.Add(item.ID, 0); + this.playerInProximityCounters.Add(item.ID, 0); } } }); @@ -290,8 +290,19 @@ private void RefreshLocations(object state = null) if (this.isStopped) return; // Immediately return if we are supposed to be stopped - var playerPos = this.playerService.PlayerPosition; - var cameraDir = this.playerService.CameraDirection; + API.Data.Entities.Point playerPos = null; + API.Data.Entities.Point cameraDir = null; + try + { + playerPos = this.playerService.PlayerPosition; + cameraDir = this.playerService.CameraDirection; + } + catch (ObjectDisposedException) + { + // The player service is disposed! + return; + } + if (playerPos != null && cameraDir != null) { var playerMapPosition = CalcUtil.ConvertToMapPosition(playerPos); @@ -340,57 +351,57 @@ private void RefreshLocations(object state = null) if (this.UserData.AutoUnlockVistas && ftDistance >= 0 && ftDistance < 8) { - if (this.distanceCounters[item.ItemId] > 4) + if (this.playerInProximityCounters[item.ItemId] > 4) { - this.distanceCounters[item.ItemId] = 0; + this.playerInProximityCounters[item.ItemId] = 0; Threading.InvokeOnUI(() => item.IsUnlocked = true); } else { - this.distanceCounters[item.ItemId] += 1; + this.playerInProximityCounters[item.ItemId] += 1; } } else { - this.distanceCounters[item.ItemId] = 0; + this.playerInProximityCounters[item.ItemId] = 0; } break; case API.Data.Enums.ZoneItemType.HeartQuest: if (this.UserData.AutoUnlockHeartQuests && ftDistance >= 0 && ftDistance < 400) { - if (this.distanceCounters[item.ItemId] > 90) + if (this.playerInProximityCounters[item.ItemId] > 90) { - this.distanceCounters[item.ItemId] = 0; + this.playerInProximityCounters[item.ItemId] = 0; Threading.InvokeOnUI(() => item.IsUnlocked = true); } else { - this.distanceCounters[item.ItemId] += 1; + this.playerInProximityCounters[item.ItemId] += 1; } } else { - this.distanceCounters[item.ItemId] = 0; + this.playerInProximityCounters[item.ItemId] = 0; } break; case API.Data.Enums.ZoneItemType.HeroPoint: if (this.UserData.AutoUnlockSkillChallenges && ftDistance >= 0 && ftDistance < 25) { - if (this.distanceCounters[item.ItemId] > 15) + if (this.playerInProximityCounters[item.ItemId] > 15) { - this.distanceCounters[item.ItemId] = 0; + this.playerInProximityCounters[item.ItemId] = 0; Threading.InvokeOnUI(() => item.IsUnlocked = true); } else { - this.distanceCounters[item.ItemId] += 1; + this.playerInProximityCounters[item.ItemId] += 1; } } else { - this.distanceCounters[item.ItemId] = 0; + this.playerInProximityCounters[item.ItemId] = 0; } break; default: From 852986105181472413b8483a37538981dfaa76d3 Mon Sep 17 00:00:00 2001 From: shurne Date: Tue, 5 Jul 2016 19:55:31 -0400 Subject: [PATCH 07/18] Fixed highlight color and text positioning for the teamspeak channel popup --- GW2PAO/Style/BaseControlStyles/TreeViewStyle.xaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/GW2PAO/Style/BaseControlStyles/TreeViewStyle.xaml b/GW2PAO/Style/BaseControlStyles/TreeViewStyle.xaml index 6d24db8..e30f1ad 100644 --- a/GW2PAO/Style/BaseControlStyles/TreeViewStyle.xaml +++ b/GW2PAO/Style/BaseControlStyles/TreeViewStyle.xaml @@ -4,7 +4,7 @@ PaleGoldenrod - PaleGoldenrod + #40EEE8AA White