Ejemplo n.º 1
0
        public BaseSkillActivation(BaseSkillActivation Clone)
        {
            ListRequirement = new List <BaseSkillRequirement>(Clone.ListRequirement.Count);
            foreach (BaseSkillRequirement ActiveRequirement in Clone.ListRequirement)
            {
                ListRequirement.Add(ActiveRequirement.Copy());
            }

            ListEffect = new List <BaseEffect>(Clone.ListEffect.Count);
            foreach (BaseEffect ActiveEffect in Clone.ListEffect)
            {
                ListEffect.Add(ActiveEffect.Copy());
            }

            ListEffectTarget = new List <List <string> >(Clone.ListEffectTarget.Count);
            foreach (List <string> ActiveEffectTarget in Clone.ListEffectTarget)
            {
                ListEffectTarget.Add(ActiveEffectTarget);
            }

            ListEffectTargetReal = new List <List <AutomaticSkillTargetType> >(Clone.ListEffectTargetReal.Count);
            foreach (List <AutomaticSkillTargetType> ActiveListEffectTargetReal in Clone.ListEffectTargetReal)
            {
                List <AutomaticSkillTargetType> ActiveAutomaticSkillTargetType = new List <AutomaticSkillTargetType>(ActiveListEffectTargetReal.Count);
                foreach (AutomaticSkillTargetType ActiveEffectTargetReal in ActiveListEffectTargetReal)
                {
                    ActiveAutomaticSkillTargetType.Add(ActiveEffectTargetReal.Copy());
                }
                ListEffectTargetReal.Add(ActiveAutomaticSkillTargetType);
            }

            _ActivationPercentage = Clone._ActivationPercentage;
        }
Ejemplo n.º 2
0
        public override void ActivatePassiveBuffs()
        {
            foreach (BaseSkillActivation Activation in Skill.ListSkillLevel[0].ListActivation)
            {
                bool IsPassive = false;

                foreach (BaseSkillRequirement ActiveRequirement in Activation.ListRequirement)
                {
                    IsPassive = ActiveRequirement.CanActivatePassive();
                }
                if (IsPassive)
                {
                    foreach (BaseEffect ActiveEffect in Activation.ListEffect)
                    {
                        if (ActiveEffect.EffectTypeName == "Unit Stat Effect")
                        {
                            ActiveEffect.ResetState();
                            ActiveEffect.ExecuteEffect();
                        }
                    }
                }
            }
        }