Exemplo n.º 1
0
    //protected ActionController
    public void PassiveEffect(int aiLevel, AcData acd)
    {
        if (enablePassiveSkill)
        {
            foreach (FCPassiveSkillConfig psc in passiveSkillMaps[aiLevel]._skillConfigs)
            {
                if (psc.SkillModule.beActive)
                {
                    foreach (FCPassiveSkillAttribute skill in psc.SkillModule.skillAttributes)
                    {
                        switch (skill.skillType)
                        {
                        case AIHitParams.Hp:
                            acd.AddHitParamsData(AIHitParams.Hp, skill.attributeValue);
                            break;

                        case AIHitParams.HpPercent:
                            acd.AddHitParamsData(AIHitParams.HpPercent, skill.attributeValue);
                            break;

                        case AIHitParams.Attack:
                            acd.AddHitParamsData(AIHitParams.Attack, skill.attributeValue);
                            break;

                        case AIHitParams.AttackPercent:
                            acd.AddHitParamsData(AIHitParams.AttackPercent, skill.attributeValue);
                            break;

                        case AIHitParams.Defence:
                            acd.AddHitParamsData(AIHitParams.Defence, skill.attributeValue);
                            break;

                        case AIHitParams.DefencePercent:
                            acd.AddHitParamsData(AIHitParams.DefencePercent, skill.attributeValue);
                            break;

                        case AIHitParams.RunSpeed:
                            //acd.passiveSpeed = acd.TotalMoveSpeed * skill.attributePercents + skill.attributeValue;
                            acd.AddHitParamsData(AIHitParams.RunSpeed, skill.attributeValue);
                            break;

                        case AIHitParams.RunSpeedPercent:
                            acd.AddHitParamsData(AIHitParams.RunSpeedPercent, skill.attributeValue);
                            break;

                        case AIHitParams.CriticalDamage:
                            acd.AddHitParamsData(AIHitParams.CriticalDamage, skill.attributeValue);
                            break;

                        case AIHitParams.CriticalDamagePercent:
                            acd.AddHitParamsData(AIHitParams.CriticalDamagePercent, skill.attributeValue);
                            break;

                        case AIHitParams.CriticalChance:
                            acd.AddHitParamsData(AIHitParams.CriticalChance, skill.attributeValue);
                            break;

                        case AIHitParams.CriticalChancePercent:
                            acd.AddHitParamsData(AIHitParams.CriticalChancePercent, skill.attributeValue);
                            break;

                        case AIHitParams.PassiveSkillGodDownCriticalToHp:
                            acd.AddHitParamsData(AIHitParams.PassiveSkillGodDownCriticalToHp, skill.attributeValue);
                            break;
                        }
                    }
                }
            }
        }
    }