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)); } } }
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); }
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); }