private void CalculateInitialStats(Weapon weapon) { ModifyTable statTable = new ModifyTable(); weapon.GetStats(statTable); GetComponent <CharacterStats>().RecalculateStats(statTable); }
private void CalculateInitialStats(Ability ability) { ModifyTable statTable = new ModifyTable(); ability.GetStats(statTable); GetComponent <CharacterStats>().RecalculateStats(statTable); }
private static void GetModifiersFromItem(ModifyTable table, ModifiableItem modItem) { modItem.GetStats(table); foreach (var modifier in modItem.modifiers) { modifier.effect.Invoke(table, modifier.value); modifier.legendaryInstallEffect.Invoke(modifier.value); } }
public void RecalculateModifiers() { ModifyTable table = new ModifyTable(); foreach (var slot in equipmentDictionary.Values) { ModifiableItem modItem = slot.item as ModifiableItem; if (modItem == null) { continue; } GetModifiersFromItem(table, modItem); } PlayerInfo.GetPlayer().GetComponent <CharacterStats>().RecalculateStats(table); }
public void RecalculateStats(ModifyTable modifierTable) { activeStats = new Dictionary <Stat, float>(); CalculateStat(Stat.Health, modifierTable.ModifyHealth); CalculateStat(Stat.DamageFlat, modifierTable.ModifyPhysicalDamageFlat); CalculateStat(Stat.DamagePercent, modifierTable.ModifyPhysicalDamagePercent); CalculateStat(Stat.Armour, modifierTable.ModifyArmour); CalculateStat(Stat.MovementSpeed, modifierTable.ModifyMovementSpeed); CalculateStat(Stat.Stamina, modifierTable.ModifyStamina); CalculateStat(Stat.AttackSpeed, modifierTable.GetAttackSpeed); CalculateStat(Stat.AttackRange, modifierTable.GetAttackRange); CalculateStat(Stat.CritChance, modifierTable.ModifyCritChance); CalculateStat(Stat.CritDamage, modifierTable.ModifyCritDamage); CalculateStat(Stat.StaminaRegeneration, modifierTable.ModifyStaminaRegeneration); CalculateStat(Stat.CooldownReduction, modifierTable.ModifyCooldownReduction); CalculateStat(Stat.MagicDamageFlat, modifierTable.ModifyMagicDamageFlat); CalculateStat(Stat.MagicDamagePercent, modifierTable.ModifyMagicDamagePercent); CalculateStat(Stat.MagicResi, modifierTable.ModifyMagicResi); activeStats.Add(Stat.Experience, progressionSet.GetStat(Stat.Experience, charakterClass, level)); statsChange.Invoke(this); }
public static void AddCriticalChance(ModifyTable modifyTable, float value) { modifyTable.critChanceFlat += value; }
public static void AddCriticalDamage(ModifyTable modifyTable, float value) { modifyTable.critDamageFlat += value; }
public static void AddMovementSpeed(ModifyTable modifyTable, float value) { modifyTable.movementSpeed += value; }
public static void AddPercentStamina(ModifyTable modifyTable, float value) { modifyTable.staminaPercent += value; }
public static void AddStaminaFlat(ModifyTable modifyTable, float value) { modifyTable.staminaFlat += value; }
public static void AddFlatDamage(ModifyTable modifyTable, float value) { modifyTable.physicalDamageFlat += value; }
public override void GetStats(ModifyTable stats) { // stats.physicalDamageFlat += damage; stats.attackSpeed += attackSpeed; stats.attackRange += range; }
public static void AddFlatArmour(ModifyTable modifyTable, float value) { modifyTable.armourFlat += value; }
public static void AddPercentHealth(ModifyTable modifyTable, float value) { modifyTable.healthPercent += value; }
public static void AddFlatHealth(ModifyTable modifyTable, float value) { modifyTable.healthFlat += value; }
public static void AddPercentMagicDamage(ModifyTable modifyTable, float value) { modifyTable.magicDamagePercent += value; }
public static void AddFlatMagicDamage(ModifyTable modifyTable, float value) { modifyTable.magicDamageFlat += value; }
public static void AddPercentDamage(ModifyTable modifyTable, float value) { modifyTable.physicalDamagePercent += value; }
public static void AddStaminaRegeneration(ModifyTable modifyTable, float value) { modifyTable.staminaPerSecond += value; }
public static void AddCooldownReduction(ModifyTable modifyTable, float value) { modifyTable.cooldownReduction += value; }
public override void GetStats(ModifyTable stats) { stats.armourFlat += armour; stats.magicResiFlat += magicResistance; }
public static void AddPercentArmour(ModifyTable modifyTable, float value) { modifyTable.armourPercent += value; }
public static void AddPercentMagicResi(ModifyTable modifyTable, float value) { modifyTable.magicResiPercent += value; }
public static void AddFlatMagicResi(ModifyTable modifyTable, float value) { modifyTable.magicResiFlat += value; }
public void GetStats(ModifyTable stats) { stats.attackSpeed = 1; stats.attackRange = range; }