public Skill Fencing_Passive(int Order) { //연속 3회성공시 다음공격 치명타 StackSkill EagleEyes = new StackSkill(3, "EagleEyes"); SkillSlot OrderSlot; EagleEyes.SetCharacter(Order); EagleEyes.StackSet(0); EagleEyes.AddPassive( delegate(Skill skil) { CharacterStatus OrderStat = skil.GetOrder(); Debug.Log("펜싱맨 스킬 들어옴"); if (!OrderStat.Guard) { EagleEyes.StackSet(0); } }, "Hit"); EagleEyes.AddPassive( delegate(Skill skil) { Skill sk = SkillManager.ins.GetSkill(Order, "Critical"); CharacterStatus EnemyStat = skil.GetEnemy(); Debug.Log("펜싱맨 스킬 들어옴"); if (!EnemyStat.Guard) { EagleEyes.StackPlus(); if (EagleEyes.TempStack == 2) { Debug.Log("펜싱선수 패시브 발동"); sk.PassiveCount["Critical"] = 100; } } }, "Attack"); EagleEyes.AddPassive( delegate(Skill skil) { if (EagleEyes.TempStack == 2) { EagleEyes.StackPlus(); } }, "Start"); EagleEyes.AddPassive( delegate(Skill skil) { Skill sk = SkillManager.ins.GetSkill(Order, "Critical"); if (EagleEyes.TempStack == EagleEyes.MaxStack) { Debug.Log("펜싱선수 패시브 종료"); sk.PassiveCount["Critical"] = sk.PassiveCount["MaxCritical"]; EagleEyes.StackSet(0); } }, "End"); return(EagleEyes); }
public Skill Gauntlet_Passive(int Order) { //가드시 화력한칸소모해서 다음스킬 데미지 화력만큼 증가 StackSkill OverCharge = new StackSkill(2, "OverCharge"); OverCharge.SetCharacter(Order); OverCharge.StackSet(0); OverCharge.AddPassive( delegate(Skill skil) { CharacterStatus OrderStat = skil.GetOrder(); Debug.Log("건틀릿 스킬 들어옴"); if (OrderStat.Guard) { OverCharge.StackSet(1); } }, "Hit"); OverCharge.AddPassive( delegate(Skill skil) { CharacterStatus OrderStat = skil.GetOrder(); Debug.Log("건틀릿 스킬 들어옴"); if (OverCharge.TempStack == OverCharge.MaxStack) { DamageCalculator.ins.AddDamage(DamageCalculator.PLUS_s, DamageData.Strong, "OverCharge"); } }, "Attack"); OverCharge.AddPassive( delegate(Skill skil) { if (OverCharge.TempStack == OverCharge.MaxStack) { OverCharge.TempStack = 0; } else if (OverCharge.TempStack != 0) { OverCharge.StackPlus(); } }, "End"); return(OverCharge); }