diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2018-06-14 17:26:49 +0200 | 
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2018-06-14 17:26:49 +0200 | 
| commit | 73db5bb9edfeb48fbf497561a12f7c9f362f4457 (patch) | |
| tree | 8d588a3e0b21da3221d4ba31a98c302bfd608ffd | |
| parent | 9f6f3db682ab927fef4f1399d13c4cfc91313f82 (diff) | |
| download | evtclib-73db5bb9edfeb48fbf497561a12f7c9f362f4457.tar.gz evtclib-73db5bb9edfeb48fbf497561a12f7c9f362f4457.tar.bz2 evtclib-73db5bb9edfeb48fbf497561a12f7c9f362f4457.zip | |
some main.rs updates for debugging stuff
| -rw-r--r-- | src/main.rs | 34 | 
1 files changed, 25 insertions, 9 deletions
| diff --git a/src/main.rs b/src/main.rs index 673c396..c4f4e0a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,7 +15,7 @@ pub fn main() -> Result<(), evtclib::raw::parser::ParseError> {      println!("Hello World!");      let mut f = BufReader::new(File::open(env::args().skip(1).next().unwrap())?); -    let result = evtclib::raw::parse_file(&mut f)?; +    let result = evtclib::raw::parse_zip(&mut f)?;      /*      for agent in result.agents.iter().filter(|a| a.is_player()) {          println!("Agent: {:?}", agent); @@ -89,7 +89,7 @@ pub fn main() -> Result<(), evtclib::raw::parser::ParseError> {                  source_agent_addr: src,                  damage: dmg,                  .. -            } if src == 5480786193115521456 => +            } if src == 17963907008649399712 =>              {                  count += 1;                  damage += dmg as u64; @@ -98,7 +98,7 @@ pub fn main() -> Result<(), evtclib::raw::parser::ParseError> {                  source_agent_addr: src,                  damage: dmg,                  .. -            } if src == 5480786193115521456 => +            } if src == 17963907008649399712 =>              {                  count += 1;                  damage += dmg as u64; @@ -135,18 +135,20 @@ pub fn main() -> Result<(), evtclib::raw::parser::ParseError> {      println!("Count: {}, Damage: {}", count, damage);      println!("Failed events: {}", failed); -    let processed = evtclib::process(&result).unwrap(); +    let processed = evtclib::process(&result).expect("Failed processing");      //println!("Me: {:#?}", processed.agent_by_addr(5480786193115521456)); +    println!("Players: {:#?}", processed.players().collect::<Vec<_>>());      let stats = evtclib::statistics::calculate(&processed).unwrap();      //println!("{:#?}", stats); -    let mine = stats.agent_stats.get(&5480786193115521456).unwrap(); +    let my_addr = me(&processed); +    let mine = stats.agent_stats.get(&my_addr).expect("My stats not found"); -    let my_addr = 5480786193115521456; - -    let my_damage = stats.damage_log.damage(|m| m.source == my_addr); +    let my_damage = stats.damage_log.damage(|m| m.source == my_addr && processed.is_boss(m.target)); +    let combat_time = (mine.exit_combat - mine.enter_combat) as f32/ 1000.;      println!("Damages: {:?}", stats.damage_log); -    println!("My damage: {:?}", my_damage); +    println!("Combat time: {} ({} till {})", combat_time, mine.enter_combat, mine.exit_combat); +    println!("My boss dps: {:?}", my_damage.0 as f32 / combat_time);      for boon in evtclib::statistics::gamedata::BOONS {          let avg = mine @@ -155,5 +157,19 @@ pub fn main() -> Result<(), evtclib::raw::parser::ParseError> {          println!("{}: {}", boon.1, avg);      } +    //println!("NPCs: {:#?}", processed.npcs().collect::<Vec<_>>()); +    println!("Bosses: {:#?}", processed.boss_agents()); +      Ok(())  } + +fn me(log: &evtclib::Log) -> u64 { +    for agent in log.players() { +        if let evtclib::AgentName::Player { account_name, .. } = agent.name() { +            if account_name == ":Dunje.4863" { +                return *agent.addr(); +            } +        } +    } +    0 +} | 
