예제 #1
0
 private void OnComplete()
 {
     foreach (int key in buffs.Keys)
     {
         AIBehaviors pc = skillState.targets[key];
         foreach (int buffInfo in buffs[key])
         {
             pc.AddBuff(BuffBase.GetBuff((eBuffType)buffInfo, skillState.attacker, pc));
         }
     }
 }
예제 #2
0
        private void UpdateAfter()
        {
            if (target != null && attacker != null)
            {
                target.OnDamageTaken(this);

                //攻击完毕看看有没有buff要设置的
                for (int j = 0; j < this.damageInfo.buffInfos.Count; j++)
                {
                    target.AddBuff(BuffBase.GetBuff(damageInfo.buffInfos[j], this.attacker, target));
                }
            }

            attacker.AttackDone();
            attack_phase.SetState(AttackPhase.Done);
        }
예제 #3
0
        private void OnComplete()
        {
            for (int i = 0; i < this.targets.Count; i++)
            {
                LevelAgent pc = this.targets[i];
                if (pc != null)
                {
                    DamageInfo skillDamageInfo = this.skillDamages[i];
                    if (pc.GetHealthValue() > 0 && skillDamageInfo.buffInfos.Count > 0)
                    {
                        for (int j = 0; j < skillDamageInfo.buffInfos.Count; j++)
                        {
                            pc.AddBuff(BuffBase.GetBuff(skillDamageInfo.buffInfos[j], this.attacker, pc));
                        }
                    }
                }
            }
            attacker.AttackDone();

            XEventBus.Instance.Post(EventId.BattleSkillEnd, new XEventArgs(this));

            attack_phase.SetState(AttackPhase.Done);
        }