/// <summary> /// 外部调用的话 只针对自己的Buff /// </summary> /// <param name="buffs">Buffs.</param> /// <param name="bulletID">Bullet I.</param> public void applyBuff_Src(List <BuffCtrl> buffs, int bulletID) { //添加buff,trigger是buff的施加者 for (int i = 0; i < buffs.Count; i++) { BuffCtrl each = buffs [i]; //如果是指定的施加者相同并且施加者的目标包含buff的使用者 each.owner.characterCtrl.AddBuff(each); // 如果是伤害buff,需要根据ID号激活,为了细分伤害 if (each.serverData.sample.getType() == BuffType.damage) { if (bulletID == 0 || bulletID == each.bulletID || each.trigger == each.owner) { //激活相同ID的伤害buff,0全激活 each.activeDamageBuff(bulletID); } else { continue; } } else { each.activeOtherBuff(); //激活buff } each.owner.characterCtrl.BeHit(serverData.sample.CanHitBack()); //引爆伤害 } }
/// <summary> /// 加召唤兽怒气 /// </summary> public void applyMonsterBuffOnly(CharacterData trigger) { //trigger是buff的施加者 for (int i = 0; i < trigger.characterCtrl.activeAction.Skill.buffs.Count; i++) { BuffCtrl each = trigger.characterCtrl.activeAction.Skill.buffs [i]; //如果是指定的施加者相同并且施加者的目标包含buff的使用者 if (each.serverData.sample.getType() == BuffType.power) { each.activeOtherBuff(); } } }