diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 51 |
1 files changed, 6 insertions, 45 deletions
diff --git a/src/main.rs b/src/main.rs index 625e869..d9f0817 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,7 +17,7 @@ use structopt::StructOpt; use walkdir::{DirEntry, WalkDir}; use evtclib::raw::parser::PartialEvtc; -use evtclib::{EliteSpec, EventKind, Log, Profession}; +use evtclib::{EventKind, Log}; mod fexpr; mod filters; @@ -26,6 +26,8 @@ mod guilds; mod logger; mod output; mod paths; +mod playerclass; +use playerclass::PlayerClass; /// Application name, as it should be used in configuration directory paths. const APP_NAME: &str = "raidgrep"; @@ -145,8 +147,8 @@ pub struct Player { account_name: String, /// Character name of the player. character_name: String, - /// Profession (or elite specialization) as english name. - profession: String, + /// Profession or elite specialization. + profession: PlayerClass, /// Subsquad that the player was in. subgroup: u8, /// Guild ID, ready for API consumption. @@ -478,7 +480,7 @@ fn extract_info(entry: &DirEntry, log: &Log) -> LogResult { .map(|p| Player { account_name: p.account_name().to_owned(), character_name: p.character_name().to_owned(), - profession: get_profession_name(p.profession(), p.elite()).into(), + profession: (p.profession(), p.elite()).into(), subgroup: p.subgroup(), guild_id: guild_ids.get(&p.addr()).cloned(), }) @@ -570,44 +572,3 @@ fn get_encounter_name(log: &Log) -> Option<&'static str> { Boss::WhisperOfJormag => "Whisper of Jormag", }) } - -/// Get the (english) name for the given profession/elite specialization. -fn get_profession_name(profession: Profession, elite: Option<EliteSpec>) -> &'static str { - use EliteSpec::*; - use Profession::*; - - if let Some(elite) = elite { - match elite { - Dragonhunter => "Dragonhunter", - Firebrand => "Firebrand", - Berserker => "Berserker", - Spellbreaker => "Spellbreaker", - Herald => "Herald", - Renegade => "Renegade", - Scrapper => "Scrapper", - Holosmith => "Holosmith", - Druid => "Druid", - Soulbeast => "Soulbeast", - Daredevil => "Daredevil", - Deadeye => "Deadeye", - Tempest => "Tempest", - Weaver => "Weaver", - Chronomancer => "Chronomancer", - Mirage => "Mirage", - Reaper => "Reaper", - Scourge => "Scourge", - } - } else { - match profession { - Guardian => "Guardian", - Warrior => "Warrior", - Revenant => "Revenant", - Engineer => "Engineer", - Ranger => "Ranger", - Thief => "Thief", - Elementalist => "Elementalist", - Mesmer => "Mesmer", - Necromancer => "Necromancer", - } - } -} |