예제 #1
0
 protected virtual void OnSkillEnd(BaseSkillAction action)
 {
     if (this.OnSkillEndCallback != null)
     {
         this.OnSkillEndCallback(this);
     }
 }
예제 #2
0
 protected override void OnSkillDamage(BaseSkillAction action, List <Units> targets)
 {
     this.AddAction(ActionManager.HitSkill(action.skillKey, base.unit, targets, true));
     base.AddHighEff(action.skillKey, SkillPhrase.Hit, targets, this.targetPosition);
     base.AddBuff(action.skillKey, SkillPhrase.Hit, targets);
     base.OnSkillDamage(action, targets);
 }
예제 #3
0
 protected virtual void OnSkillDamage(BaseSkillAction action, List <Units> targets)
 {
     if (this.OnSkillDamageCallback != null)
     {
         this.OnSkillDamageCallback(action, targets);
     }
 }
        protected override void OnSkillDamage(BaseSkillAction action, List <Units> targets)
        {
            if (targets == null)
            {
                return;
            }
            List <Units> list = new List <Units>();

            for (int i = 0; i < targets.Count; i++)
            {
                if (i < 3)
                {
                    list.Add(targets[i]);
                }
            }
            base.OnSkillDamage(action, list);
        }
예제 #5
0
        protected override void OnSkillDamage(BaseSkillAction action, List <Units> targets)
        {
            this.AddAction(ActionManager.HitSkill(action.skillKey, base.unit, targets, true));
            SkillData data = GameManager.Instance.SkillData.GetData(this.skillKey);

            string[] highEffects = data.GetHighEffects(SkillPhrase.Hit);
            if (highEffects != null && this.skill.GetPreConjureIndex() < highEffects.Length)
            {
                string text = highEffects[this.skill.GetPreConjureIndex()];
                if (StringUtils.CheckValid(text))
                {
                    for (int i = 0; i < targets.Count; i++)
                    {
                        if (targets[i] != null && targets[i].isLive && !SkillUtility.IsImmunityHighEff(targets[i], text))
                        {
                            ActionManager.AddHighEffect(text, this.skill.skillMainId, targets[i], base.unit, this.targetPosition, true);
                        }
                    }
                }
            }
            string[] buffs = data.GetBuffs(SkillPhrase.Hit);
            if (buffs != null && this.skill.GetPreConjureIndex() < buffs.Length)
            {
                string text2 = buffs[this.skill.GetPreConjureIndex()];
                if (StringUtils.CheckValid(text2))
                {
                    for (int j = 0; j < targets.Count; j++)
                    {
                        if (targets[j] != null && targets[j].isLive && !SkillUtility.IsImmunityBuff(targets[j], text2))
                        {
                            ActionManager.AddBuff(text2, targets[j], base.unit, true, string.Empty);
                        }
                    }
                }
            }
            base.OnSkillDamage(action, targets);
        }
예제 #6
0
 protected override void OnSkillEnd(BaseSkillAction action)
 {
     ActionManager.EndSkill(action.skillKey, base.unit, true);
     base.OnSkillEnd(action);
 }
예제 #7
0
 protected override void OnSkillDamage(BaseSkillAction action, List <Units> targets)
 {
     GlobalObject.Instance.StartCoroutine(this.DoSkillDamage(action, targets));
 }
예제 #8
0
 private IEnumerator DoSkillDamage(BaseSkillAction action, List <Units> targets)
 {
     HuoYanBaoHongAction.< DoSkillDamage > c__Iterator64 <DoSkillDamage> c__Iterator = new HuoYanBaoHongAction.< DoSkillDamage > c__Iterator64();