public ItemBonuses Clone() => new ItemBonuses { Power = Power.Clone(), Vitality = Vitality.Clone(), Accuracy = Accuracy.Clone(), Evasion = Evasion.Clone(), CritChance = CritChance.Clone(), CritDamage = CritDamage.Clone(), HealthPerHit = HealthPerHit.Clone() };
public override string ToString() { return($"Level: {Level}" + $"{NewLine}Damage: {Damage}" + $"{NewLine}Health: {MaxHealth}" + $"{NewLine}HealthPerHit: {HealthPerHit}" + $"{NewLine}Power: {Power}" + $"{NewLine}Vitality: {Vitality}" + $"{NewLine}Accuracy: {Accuracy}" + $"{NewLine}Evasion: {Evasion}" + $"{NewLine}Defence: {Defence}" + $"{NewLine}Снижение получаемого урона: {DefenceKoef.ToPercentString(2)}" + $"{NewLine}Шанс крита: {CritChance.ToPercentString(1)}" + $"{NewLine}Сила крита: {CritDamage.ToPercentString(1)}"); }
public static float Get4ThShootDamage(Obj_AI_Base unit) { if (MenuManager.IsCacheEnabled && CritDamage.Exist(unit.NetworkId)) { CritDamage.RefreshRate = 1000; return(CritDamage.Get(unit.NetworkId)); } var bonusDamage = 0f; if (Player.Instance.Level < 6) { bonusDamage = 0.15f; } else if ((Player.Instance.Level < 11) && (Player.Instance.Level >= 6)) { bonusDamage = 0.20f; } else if (Player.Instance.Level >= 11) { bonusDamage = 0.25f; } var damage = GetRealAttackDamage() * 1.75f + (unit.MaxHealth - unit.Health) * bonusDamage; var finalDamage = Player.Instance.CalculateDamageOnUnit(unit, DamageType.Physical, Player.Instance.HasItem(ItemId.Infinity_Edge) ? damage * 1.5f : damage, false, true); if (MenuManager.IsCacheEnabled) { CritDamage.Add(unit.NetworkId, finalDamage); } return(finalDamage); }