// Constructors public Mob(AgentItem agent) : base(agent) { }
protected Dictionary <long, List <long> > GetCondiCleanse(ParsedLog log, int phaseIndex, AgentItem src) { if (BoonPoints.Count == 0) { SetBoonStatus(log); } if (_condiCleanse[phaseIndex].TryGetValue(src, out Dictionary <long, List <long> > dict)) { return(dict); } return(new Dictionary <long, List <long> >()); }
public BoonRemovalLog(long time, AgentItem src, long value, ParseEnum.BuffRemove removeType) : base(time, src, value) { _removeType = removeType; }
private uint GetHealing(BoonStackItem stack) { AgentItem agent = _log.AgentData.GetAgentByInstID(stack.SeedSrc, _log.FightData.ToLogSpace(stack.SeedTime)); return(agent.Healing); }
public DummyActor(AgentItem agent) { string[] name = agent.Name.Split('\0'); Character = name[0]; AgentItem = agent; }
protected AbstractActor(AgentItem agent) : base(agent) { }
// Constructors public Boss(AgentItem agent) : base(agent) { }
protected AbstractMasterPlayer(AgentItem agent) : base(agent) { }
public Minion(ushort master, AgentItem agent) : base(agent) { }
public void AddCustomAgent(AgentItem agent) { _allAgentsList.Add(agent); Refresh(); }
public void OverrideID(ushort ID, ushort instid, AgentItem agentItem) { _allAgentsList.RemoveAll(x => x.ID == ID && x.InstID == instid); _allAgentsList.Add(agentItem); Refresh(); }
// Constructors public Player(AgentItem agent, bool noSquad) : base(agent) { string[] name = agent.Name.Split('\0'); Account = name[1]; Group = noSquad ? 1 : int.Parse(name[2], NumberStyles.Integer, CultureInfo.InvariantCulture); }
// Private Methods private void SetDeathRecaps(ParsedLog log) { List <DeathRecap> res = _deathRecaps; List <CombatItem> deads = log.CombatData.GetStatesData(InstID, ParseEnum.StateChange.ChangeDead, log.FightData.FightStart, log.FightData.FightEnd); List <CombatItem> downs = log.CombatData.GetStatesData(InstID, ParseEnum.StateChange.ChangeDown, log.FightData.FightStart, log.FightData.FightEnd); long lastTime = log.FightData.FightStart; List <DamageLog> damageLogs = GetDamageTakenLogs(null, log, 0, log.FightData.FightDuration); foreach (CombatItem dead in deads) { DeathRecap recap = new DeathRecap() { DeathTime = (int)(log.FightData.ToFightSpace(dead.Time)) }; CombatItem downed = downs.LastOrDefault(x => x.Time <= dead.Time && x.Time >= lastTime); if (downed != null) { List <DamageLog> damageToDown = damageLogs.Where(x => x.Time < log.FightData.ToFightSpace(downed.Time) && x.Damage > 0 && x.Time > log.FightData.ToFightSpace(lastTime)).ToList(); recap.ToDown = damageToDown.Count > 0 ? new List <DeathRecap.DeathRecapDamageItem>() : null; int damage = 0; for (int i = damageToDown.Count - 1; i >= 0; i--) { DamageLog dl = damageToDown[i]; AgentItem ag = log.AgentData.GetAgentByInstID(dl.SrcInstId, log.FightData.ToLogSpace(dl.Time)); DeathRecap.DeathRecapDamageItem item = new DeathRecap.DeathRecapDamageItem() { Time = (int)dl.Time, IndirectDamage = dl.IsIndirectDamage, ID = dl.SkillId, Damage = dl.Damage, Src = ag != null?ag.Name.Replace("\u0000", "").Split(':')[0] : "" }; damage += dl.Damage; recap.ToDown.Add(item); if (damage > 20000) { break; } } List <DamageLog> damageToKill = damageLogs.Where(x => x.Time > log.FightData.ToFightSpace(downed.Time) && x.Time < log.FightData.ToFightSpace(dead.Time) && x.Damage > 0 && x.Time > log.FightData.ToFightSpace(lastTime)).ToList(); recap.ToKill = damageToKill.Count > 0 ? new List <DeathRecap.DeathRecapDamageItem>() : null; for (int i = damageToKill.Count - 1; i >= 0; i--) { DamageLog dl = damageToKill[i]; AgentItem ag = log.AgentData.GetAgentByInstID(dl.SrcInstId, log.FightData.ToLogSpace(dl.Time)); DeathRecap.DeathRecapDamageItem item = new DeathRecap.DeathRecapDamageItem() { Time = (int)dl.Time, IndirectDamage = dl.IsIndirectDamage, ID = dl.SkillId, Damage = dl.Damage, Src = ag != null?ag.Name.Replace("\u0000", "").Split(':')[0] : "" }; recap.ToKill.Add(item); } } else { recap.ToDown = null; List <DamageLog> damageToKill = damageLogs.Where(x => x.Time < log.FightData.ToFightSpace(dead.Time) && x.Damage > 0 && x.Time > log.FightData.ToFightSpace(lastTime)).ToList(); recap.ToKill = damageToKill.Count > 0 ? new List <DeathRecap.DeathRecapDamageItem>() : null; int damage = 0; for (int i = damageToKill.Count - 1; i >= 0; i--) { DamageLog dl = damageToKill[i]; AgentItem ag = log.AgentData.GetAgentByInstID(dl.SrcInstId, log.FightData.ToLogSpace(dl.Time)); DeathRecap.DeathRecapDamageItem item = new DeathRecap.DeathRecapDamageItem() { Time = (int)dl.Time, IndirectDamage = dl.IsIndirectDamage, ID = dl.SkillId, Damage = dl.Damage, Src = ag != null?ag.Name.Replace("\u0000", "").Split(':')[0] : "" }; damage += dl.Damage; recap.ToKill.Add(item); if (damage > 20000) { break; } } } lastTime = dead.Time; res.Add(recap); } if (_deathRecaps.Count == 0) { _deathRecaps = null; } }
public void OverrideID(ushort ID, AgentItem agentItem) { _allAgentsList.RemoveAll(x => x.ID == ID); _allAgentsList.Add(agentItem); Refresh(); }
public Minion(AgentItem agent) : base(agent) { }
public BoonSimulationItemCleanse(AgentItem provokedBy, long duration, long time) { _provokedBy = provokedBy; _duration = duration; _time = time; }
public BoonApplicationLog(long time, AgentItem src, long value) : base(time, src, value) { }
public BoonSimulationItemOverstack(AgentItem src, long overstack, long time) : base(src, overstack, time) { }
protected AbstractPlayer(AgentItem agent) { String[] name = agent.Name.Split('\0'); Character = name[0]; AgentItem = agent; }
// Constructors public Target(AgentItem agent) : base(agent) { }