protected override void setCastLogs(ParsedLog log) { long time_start = log.getBossData().getFirstAware(); CastLog curCastLog = null; foreach (CombatItem c in log.getCastData()) { if (!(c.getTime() > log.getBossData().getFirstAware() && c.getTime() < log.getBossData().getLastAware())) { continue; } ParseEnum.StateChange state = c.isStateChange(); if (state == ParseEnum.StateChange.Normal) { if (agent.getInstid() == c.getSrcInstid())//selecting player as caster { if (c.isActivation().IsCasting()) { long time = c.getTime() - time_start; curCastLog = new CastLog(time, c.getSkillID(), c.getValue(), c.isActivation()); cast_logs.Add(curCastLog); } else { if (curCastLog != null) { if (curCastLog.getID() == c.getSkillID()) { curCastLog.setEndStatus(c.getValue(), c.isActivation()); curCastLog = null; } } } } } else if (state == ParseEnum.StateChange.WeaponSwap) { //Weapon swap if (agent.getInstid() == c.getSrcInstid()) //selecting player as caster { if ((int)c.getDstAgent() == 4 || (int)c.getDstAgent() == 5) { long time = c.getTime() - time_start; CastLog swapLog = new CastLog(time, -2, (int)c.getDstAgent(), c.isActivation()); cast_logs.Add(swapLog); } } } } }
protected override void setCastLogs(ParsedLog log) { long time_start = log.getBossData().getFirstAware(); CastLog curCastLog = null; long min_time = Math.Max(time_start, agent.getFirstAware()); long max_time = Math.Min(log.getBossData().getLastAware(), agent.getLastAware()); foreach (CombatItem c in log.getCastData()) { if (!(c.getTime() > min_time && c.getTime() < max_time)) { continue; } ParseEnum.StateChange state = c.isStateChange(); if (state == ParseEnum.StateChange.Normal) { if (agent.getInstid() == c.getSrcInstid())//selecting player as caster { if (c.isActivation().IsCasting()) { long time = c.getTime() - time_start; curCastLog = new CastLog(time, c.getSkillID(), c.getValue(), c.isActivation()); } else { if (curCastLog != null) { if (curCastLog.getID() == c.getSkillID()) { curCastLog = new CastLog(curCastLog.getTime(), curCastLog.getID(), curCastLog.getExpDur(), curCastLog.startActivation(), c.getValue(), c.isActivation()); cast_logs.Add(curCastLog); curCastLog = null; } } } } } } }