Beispiel #1
0
    public void AddAdditionValueParams(AbilityValueSourceType abilityValueSourceType, int sourceValueCoefficient, int sourceValueCoefficientGrow, int limitBasicValue, int limitBasicValueGrow)
    {
        AdditionSourceValue additionSourceValue = new AdditionSourceValue(abilityValueSourceType,
                                                                          sourceValueCoefficient, sourceValueCoefficientGrow, limitBasicValue, limitBasicValueGrow);

        m_AdditionSourceValues.Add(additionSourceValue);
    }
Beispiel #2
0
    public float GetAbilityValue(int casterLevel, BattleProperty casterProperty, BattleProperty targetProperty)
    {
        float abilityValue = baseValue + baseValueGrow * casterLevel;

        // additionSourceValue 附加值
        if (m_AdditionSourceValues.Count > 0)
        {
            for (int i = 0; i < m_AdditionSourceValues.Count; i++)
            {
                AdditionSourceValue    data = m_AdditionSourceValues[i];
                AbilityValueSourceType abilityValueSourceType = data.abilityValueSourceType;
                int sourceValueCoefficient             = data.sourceValueCoefficient;
                int sourceValueCoefficientGrow         = data.sourceValueCoefficientGrow;
                int limitBasicValue                    = data.limitBasicValue;
                int limitBasicVlimitBasicValueGrowalue = data.limitBasicValueGrow;

                float coefficient         = sourceValueCoefficient * 0.0001f + casterLevel * sourceValueCoefficientGrow * 0.0001f;
                int   additionSourceValue = GetAdditionSourceValueFuncMap[abilityValueSourceType](casterProperty, targetProperty);
                float addition            = additionSourceValue * coefficient;

                abilityValue += addition;
            }
        }
        return(abilityValue);
    }
Beispiel #3
0
 public AdditionSourceValue(AbilityValueSourceType abilityValueSourceType, int sourceValueCoefficient, int sourceValueCoefficientGrow, int limitBasicValue, int limitBasicValueGrow)
 {
     this.abilityValueSourceType     = abilityValueSourceType;
     this.sourceValueCoefficient     = sourceValueCoefficient;
     this.sourceValueCoefficientGrow = sourceValueCoefficientGrow;
     this.limitBasicValue            = limitBasicValue;
     this.limitBasicValueGrow        = limitBasicValueGrow;
 }