예제 #1
0
    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);
    }
예제 #2
0
    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);
    }