diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/ActivityGainData.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/ActivityGainData.cs new file mode 100644 index 0000000..4cab090 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/ActivityGainData.cs @@ -0,0 +1,9 @@ +namespace osrs_toolbox +{ + public class ActivityGainData + { + public string metric { get; set; } + public GainData rank { get; set; } + public GainData score { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/BossGainData.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/BossGainData.cs new file mode 100644 index 0000000..9f64d62 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/BossGainData.cs @@ -0,0 +1,10 @@ +namespace osrs_toolbox +{ + public class BossGainData + { + public string metric { get; set; } + public GainData ehb { get; set; } + public GainData rank { get; set; } + public GainData kills { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/ComputedGainData.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/ComputedGainData.cs new file mode 100644 index 0000000..6556ed0 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/ComputedGainData.cs @@ -0,0 +1,9 @@ +namespace osrs_toolbox +{ + public class ComputedGainData + { + public string metric { get; set; } + public GainData value { get; set; } + public GainData rank { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/GainData.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/GainData.cs new file mode 100644 index 0000000..740ed6d --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/GainData.cs @@ -0,0 +1,9 @@ +namespace osrs_toolbox +{ + public class GainData + { + public double gained { get; set; } + public double start { get; set; } + public double end { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerActivityGains.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerActivityGains.cs new file mode 100644 index 0000000..49e0913 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerActivityGains.cs @@ -0,0 +1,22 @@ +namespace osrs_toolbox +{ + public class PlayerActivityGains + { + public ActivityGainData league_points { get; set; } + public ActivityGainData bounty_hunter_hunter { get; set; } + public ActivityGainData bounty_hunter_rogue { get; set; } + public ActivityGainData clue_scrolls_all { get; set; } + public ActivityGainData clue_scrolls_beginner { get; set; } + public ActivityGainData clue_scrolls_easy { get; set; } + public ActivityGainData clue_scrolls_medium { get; set; } + public ActivityGainData clue_scrolls_hard { get; set; } + public ActivityGainData clue_scrolls_elite { get; set; } + public ActivityGainData clue_scrolls_master { get; set; } + public ActivityGainData last_man_standing { get; set; } + public ActivityGainData pvp_arena { get; set; } + public ActivityGainData soul_wars_zeal { get; set; } + public ActivityGainData guardians_of_the_rift { get; set; } + public ActivityGainData colosseum_glory { get; set; } + public ActivityGainData collections_logged { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerBossGains.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerBossGains.cs new file mode 100644 index 0000000..9b86ed7 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerBossGains.cs @@ -0,0 +1,77 @@ +namespace osrs_toolbox +{ + public class PlayerBossGains + { + public BossGainData abyssal_sire { get; set; } + public BossGainData alchemical_hydra { get; set; } + public BossGainData amoxliatl { get; set; } + public BossGainData araxxor { get; set; } + public BossGainData artio { get; set; } + public BossGainData barrows_chests { get; set; } + public BossGainData brutus { get; set; } + public BossGainData bryophyta { get; set; } + public BossGainData callisto { get; set; } + public BossGainData calvarion { get; set; } + public BossGainData cerberus { get; set; } + public BossGainData chambers_of_xeric { get; set; } + public BossGainData chambers_of_xeric_challenge_mode { get; set; } + public BossGainData chaos_elemental { get; set; } + public BossGainData chaos_fanatic { get; set; } + public BossGainData commander_zilyana { get; set; } + public BossGainData corporeal_beast { get; set; } + public BossGainData crazy_archaeologist { get; set; } + public BossGainData dagannoth_prime { get; set; } + public BossGainData dagannoth_rex { get; set; } + public BossGainData dagannoth_supreme { get; set; } + public BossGainData deranged_archaeologist { get; set; } + public BossGainData doom_of_mokhaiotl { get; set; } + public BossGainData duke_sucellus { get; set; } + public BossGainData general_graardor { get; set; } + public BossGainData giant_mole { get; set; } + public BossGainData grotesque_guardians { get; set; } + public BossGainData hespori { get; set; } + public BossGainData kalphite_queen { get; set; } + public BossGainData king_black_dragon { get; set; } + public BossGainData kraken { get; set; } + public BossGainData kreearra { get; set; } + public BossGainData kril_tsutsaroth { get; set; } + public BossGainData lunar_chests { get; set; } + public BossGainData mad_angel { get; set; } + public BossGainData maggot_king { get; set; } + public BossGainData mimic { get; set; } + public BossGainData nex { get; set; } + public BossGainData nightmare { get; set; } + public BossGainData phosanis_nightmare { get; set; } + public BossGainData obor { get; set; } + public BossGainData phantom_muspah { get; set; } + public BossGainData sarachnis { get; set; } + public BossGainData scorpia { get; set; } + public BossGainData scurrius { get; set; } + public BossGainData shellbane_gryphon { get; set; } + public BossGainData skotizo { get; set; } + public BossGainData sol_heredit { get; set; } + public BossGainData spindel { get; set; } + public BossGainData tempoross { get; set; } + public BossGainData the_gauntlet { get; set; } + public BossGainData the_corrupted_gauntlet { get; set; } + public BossGainData the_hueycoatl { get; set; } + public BossGainData the_leviathan { get; set; } + public BossGainData the_royal_titans { get; set; } + public BossGainData the_whisperer { get; set; } + public BossGainData theatre_of_blood { get; set; } + public BossGainData theatre_of_blood_hard_mode { get; set; } + public BossGainData thermonuclear_smoke_devil { get; set; } + public BossGainData tombs_of_amascut { get; set; } + public BossGainData tombs_of_amascut_expert { get; set; } + public BossGainData tzkal_zuk { get; set; } + public BossGainData tztok_jad { get; set; } + public BossGainData vardorvis { get; set; } + public BossGainData venenatis { get; set; } + public BossGainData vetion { get; set; } + public BossGainData vorkath { get; set; } + public BossGainData wintertodt { get; set; } + public BossGainData yama { get; set; } + public BossGainData zalcano { get; set; } + public BossGainData zulrah { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerComputedGains.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerComputedGains.cs new file mode 100644 index 0000000..f62a8d6 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerComputedGains.cs @@ -0,0 +1,8 @@ +namespace osrs_toolbox +{ + public class PlayerComputedGains + { + public ComputedGainData ehp { get; set; } + public ComputedGainData ehb { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerGains.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerGains.cs new file mode 100644 index 0000000..7de85bd --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerGains.cs @@ -0,0 +1,9 @@ +namespace osrs_toolbox +{ + public class PlayerGains + { + public DateTime startsAt { get; set; } + public DateTime endsAt { get; set; } + public PlayerGainsData data { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerGainsData.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerGainsData.cs new file mode 100644 index 0000000..f9fa545 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerGainsData.cs @@ -0,0 +1,10 @@ +namespace osrs_toolbox +{ + public class PlayerGainsData + { + public PlayerSkillGains skills { get; set; } + public PlayerBossGains bosses { get; set; } + public PlayerActivityGains activities { get; set; } + public PlayerComputedGains computed { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerSkillGains.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerSkillGains.cs new file mode 100644 index 0000000..ea976c3 --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/PlayerSkillGains.cs @@ -0,0 +1,31 @@ +namespace osrs_toolbox +{ + public class PlayerSkillGains + { + public SkillGainData overall { get; set; } + public SkillGainData attack { get; set; } + public SkillGainData defence { get; set; } + public SkillGainData strength { get; set; } + public SkillGainData hitpoints { get; set; } + public SkillGainData ranged { get; set; } + public SkillGainData prayer { get; set; } + public SkillGainData magic { get; set; } + public SkillGainData cooking { get; set; } + public SkillGainData woodcutting { get; set; } + public SkillGainData fletching { get; set; } + public SkillGainData fishing { get; set; } + public SkillGainData firemaking { get; set; } + public SkillGainData crafting { get; set; } + public SkillGainData smithing { get; set; } + public SkillGainData mining { get; set; } + public SkillGainData herblore { get; set; } + public SkillGainData agility { get; set; } + public SkillGainData thieving { get; set; } + public SkillGainData slayer { get; set; } + public SkillGainData farming { get; set; } + public SkillGainData runecrafting { get; set; } + public SkillGainData hunter { get; set; } + public SkillGainData construction { get; set; } + public SkillGainData sailing { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/PlayerGains/SkillGainData.cs b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/SkillGainData.cs new file mode 100644 index 0000000..496ba0a --- /dev/null +++ b/osrs-toolbox/APIs/WiseOldMan/PlayerGains/SkillGainData.cs @@ -0,0 +1,11 @@ +namespace osrs_toolbox +{ + public class SkillGainData + { + public string metric { get; set; } + public GainData experience { get; set; } + public GainData ehp { get; set; } + public GainData rank { get; set; } + public GainData level { get; set; } + } +} diff --git a/osrs-toolbox/APIs/WiseOldMan/WiseOldMan.cs b/osrs-toolbox/APIs/WiseOldMan/WiseOldMan.cs index 7a9b04c..aa9c9c6 100644 --- a/osrs-toolbox/APIs/WiseOldMan/WiseOldMan.cs +++ b/osrs-toolbox/APIs/WiseOldMan/WiseOldMan.cs @@ -8,6 +8,7 @@ namespace osrs_toolbox private static string CompetitionEndpoint = @"https://api.wiseoldman.net/v2/competitions/"; private static string GroupEndpoint = @"https://api.wiseoldman.net/v2/groups/"; private static string PlayerEndpoint = @"https://api.wiseoldman.net/v2/players/"; + private static string PlayerGainsEndpoint = @"https://api.wiseoldman.net/v2/players/{0}/gained?startDate={1}&endDate={2}"; public static Player GetPlayer(string Username) { @@ -23,6 +24,20 @@ namespace osrs_toolbox return p; } + public static PlayerGains GetPlayerGains(string Username, DateTime StartDate, DateTime EndDate) + { + string res = RestServices.GetResponse(new Uri(string.Format(PlayerGainsEndpoint, Username, StartDate.ToString(), EndDate.ToString())), string.Empty); + PlayerGains pg = JsonSerializer.Deserialize(res); + return pg; + } + + public static async Task GetPlayerGainsAsync(string Username, DateTime StartDate, DateTime EndDate) + { + string res = await RestServices.GetResponseAsync(new Uri(string.Format(PlayerGainsEndpoint, Username, StartDate.ToString(), EndDate.ToString())), string.Empty).ConfigureAwait(false); + PlayerGains pg = JsonSerializer.Deserialize(res); + return pg; + } + public static Group GetGroup(int ID) { string res = RestServices.GetResponse(new Uri(GroupEndpoint + ID.ToString()), string.Empty);