public void Stab(int dDamage, int select, Character Char) { int newdamege = dDamage; //如果已经有了连续攻击加成效果,检测目前叠了几层 if (select == 1) { if (Char.HasBuff("continueSkill")) { newdamege += (Char.buffs.FindLast(b => b.m_name == "continueSkill") as Buff_continueSkill).multicount * 2; } } string powerup = ""; //破防加攻击力效果 if (select == 2) { powerup = "1"; } Char.Hit(newdamege, false, false, powerup, true); Buff_continueSkill buff = new Buff_continueSkill(); buff.BuffAdded(Char, "Stab"); }
public override void BuffAdded(Character p_chara, string str = "") { m_name = "continueSkill"; remainBeats = 5; //角色身上已经有本BUFF的情况,叠层 Buff_continueSkill oldbuff = p_chara.buffs.FindLast(b => b.m_name == "continueSkill") as Buff_continueSkill; if (oldbuff != null) { if (oldbuff.skillName == str) { oldbuff.multicount++; oldbuff.remainBeats = 5; } } else { skillName = str; base.BuffAdded(p_chara, str); multicount = 1; } }