internal DamageModifier(string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, string icon, GainComputer gainComputer, DamageLogChecker dlChecker, ulong minBuild, ulong maxBuild, DamageModifierMode mode) { Tooltip = tooltip; Name = name; ID = Name.GetHashCode(); _dmgSrc = damageSource; GainPerStack = gainPerStack; _compareType = compareType; _srcType = srctype; Src = src; Icon = icon; GainComputer = gainComputer; DLChecker = dlChecker; _maxBuild = maxBuild; _minBuild = minBuild; Mode = mode; switch (_dmgSrc) { case DamageSource.All: Tooltip += "<br>Actor + Minions"; break; case DamageSource.NoPets: Tooltip += "<br>No Minions"; break; } switch (_srcType) { case DamageType.All: Tooltip += "<br>All Damage type"; break; case DamageType.Power: Tooltip += "<br>Power Damage only"; break; case DamageType.Condition: Tooltip += "<br>Condition Damage only"; break; } switch (_compareType) { case DamageType.All: Tooltip += "<br>Compared against All Damage"; break; case DamageType.Power: Tooltip += "<br>Compared against Power Damage"; break; case DamageType.Condition: Tooltip += "<br>Compared against Condition Damage"; break; } if (!Multiplier) { Tooltip += "<br>Non multiplier"; } }
internal DamageLogApproximateDamageModifier(string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, string icon, DamageLogChecker checker, GainComputer gainComputer, ulong minBuild, ulong maxBuild, DamageModifierMode mode) : base(name, tooltip, damageSource, gainPerStack, srctype, compareType, src, icon, checker, gainComputer, minBuild, maxBuild, mode) { Approximate = true; Tooltip += "<br>Approximate"; }
internal BuffDamageModifier(long[] ids, string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, GainComputer gainComputer, string icon, ulong minBuild, ulong maxBuild, DamageModifierMode mode, DamageLogChecker dlChecker = null) : base(name, tooltip, damageSource, gainPerStack, srctype, compareType, src, icon, gainComputer, dlChecker, minBuild, maxBuild, mode) { Tracker = new BuffsTrackerMulti(new List <long>(ids)); }
internal BuffDamageModifier(long id, string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, GainComputer gainComputer, string icon, DamageModifierMode mode, DamageLogChecker dlChecker = null) : base(name, tooltip, damageSource, gainPerStack, srctype, compareType, src, icon, gainComputer, dlChecker, ulong.MinValue, ulong.MaxValue, mode) { Tracker = new BuffsTrackerSingle(id); }
internal DamageLogDamageModifier(string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, string icon, DamageLogChecker checker, GainComputer gainComputer, DamageModifierMode mode) : base(name, tooltip, damageSource, gainPerStack, srctype, compareType, src, icon, gainComputer, checker, ulong.MinValue, ulong.MaxValue, mode) { }
internal DamageLogDamageModifier(string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, string icon, DamageLogChecker checker, GainComputer gainComputer, DamageModifierMode mode) : base(name, tooltip, damageSource, gainPerStack, srctype, compareType, src, icon, gainComputer, checker, GW2Builds.StartOfLife, GW2Builds.EndOfLife, mode) { }
internal BuffDamageModifierTarget(long[] ids, long[] playerIds, string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, GainComputer gainComputer, GainComputer gainComputerPlayer, string icon, ulong minBuild, ulong maxBuild, DamageModifierMode mode, DamageLogChecker dlChecker = null) : this(ids, name, tooltip, damageSource, gainPerStack, srctype, compareType, src, gainComputer, icon, minBuild, maxBuild, mode, dlChecker) { _trackerPlayer = new BuffsTrackerMulti(new List <long>(playerIds)); _gainComputerPlayer = gainComputerPlayer; }
internal BuffDamageModifierTarget(long id, long playerId, string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, GainComputer gainComputer, GainComputer gainComputerPlayer, string icon, DamageModifierMode mode, DamageLogChecker dlChecker = null) : this(id, name, tooltip, damageSource, gainPerStack, srctype, compareType, src, gainComputer, icon, mode, dlChecker) { _trackerPlayer = new BuffsTrackerSingle(playerId); _gainComputerPlayer = gainComputerPlayer; }
internal BuffDamageModifierTarget(long[] ids, string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, GainComputer gainComputer, string icon, ulong minBuild, ulong maxBuild, DamageModifierMode mode, DamageLogChecker dlChecker = null) : base(ids, name, tooltip, damageSource, gainPerStack, srctype, compareType, src, gainComputer, icon, minBuild, maxBuild, mode, dlChecker) { }
internal DamageModifier(string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, string icon, GainComputer gainComputer, DamageLogChecker dlChecker, ulong minBuild, ulong maxBuild, DamageModifierMode mode) { Tooltip = tooltip; Name = name; ID = Name.GetHashCode(); _dmgSrc = damageSource; GainPerStack = gainPerStack; _compareType = compareType; _srcType = srctype; Src = src; Icon = icon; GainComputer = gainComputer; DLChecker = dlChecker; _maxBuild = maxBuild; _minBuild = minBuild; Mode = mode; switch (_dmgSrc) { case DamageSource.All: Tooltip += "<br>Actor + Minions"; break; case DamageSource.NoPets: Tooltip += "<br>No Minions"; break; } switch (_srcType) { case DamageType.All: Tooltip += "<br>All Damage"; throw new InvalidDataException("No known damage modifier that modifies every outgoing damage"); case DamageType.Power: Tooltip += "<br>Power Damage"; break; case DamageType.Strike: Tooltip += "<br>Strike Damage"; break; case DamageType.StrikeAndCondition: Tooltip += "<br>Strike and Condition Damage"; break; case DamageType.StrikeAndConditionAndLifeLeech: Tooltip += "<br>Strike, Condition and Life Leech Damage"; break; case DamageType.Condition: Tooltip += "<br>Condition Damage"; break; default: throw new NotImplementedException("Not implemented damage type " + _srcType); } switch (_compareType) { case DamageType.All: Tooltip += "<br>Compared against All Damage"; break; case DamageType.Power: Tooltip += "<br>Compared against Power Damage"; break; case DamageType.Strike: Tooltip += "<br>Compared against Strike Damage"; break; case DamageType.StrikeAndCondition: Tooltip += "<br>Compared against Strike and Condition Damage"; break; case DamageType.StrikeAndConditionAndLifeLeech: Tooltip += "<br>Compared against Strike, Condition and Life Leech Damage"; break; case DamageType.Condition: Tooltip += "<br>Compared against Condition Damage"; break; default: throw new NotImplementedException("Not implemented damage type " + _compareType); } if (!Multiplier) { Tooltip += "<br>Non multiplier"; } }
internal BuffApproximateDamageModifier(long id, string name, string tooltip, DamageSource damageSource, double gainPerStack, DamageType srctype, DamageType compareType, ParserHelper.Source src, GainComputer gainComputer, string icon, DamageModifierMode mode, DamageLogChecker dlChecker = null) : base(id, name, tooltip, damageSource, gainPerStack, srctype, compareType, src, gainComputer, icon, mode, dlChecker) { Approximate = true; Tooltip += "<br>Approximate"; }