Esempio n. 1
0
    public static void Potion_HpHeal(int Heal) //됨
    {
        StackSkill s = TempSkill as StackSkill;

        s.PassiveCount.Add("Heal", Heal);
        s.PassiveCount.Add("Using", 0);
        s.isUseTurn    = false;
        s.isUseToStack = true;
        if (s == null)
        {
            return;
        }
        s.ActiveSkillSet(delegate(Skill skill)
        {
            if (s.TempStack != 0 && skill.PassiveCount["Using"] != 1)
            {
                skill.PassiveCount["Using"] = 1;
                s.StackMinus();
                CharacterStatus Stat = skill.GetOrder();
                Stat.HpDown(-(int)s.PassiveCount["Heal"]);
                if (Stat.MaxHP < Stat.HP)
                {
                    Stat.HP = Stat.MaxHP;
                }
            }
        });
        s.AddPassive(delegate(Skill skill)
        {
            skill.PassiveCount["Using"] = 0;
        }, "End");
        TempSkill = s;
    }
Esempio n. 2
0
    Skill Magma_Debuff(int Order, float[] Parameter)
    {
        int[] Value      = { 2, 50 };//2턴간 50의 데미지(기본값).
        float LoofLength = Value.Length > Parameter.Length ? Parameter.Length : Value.Length;

        for (int i = 0; i < LoofLength; i++)
        {
            Value[i] = (int)Parameter[i];
        }
        StackSkill Magma = new StackSkill(Value[0], base.Number.ToString());

        Magma.SetCharacter(Order);
        Magma.AddPassive(
            delegate(Skill skil)
        {
            Debug.Log("출혈 디버프 들어옴?");
            if (!Magma.StackMinus())
            {
                gameManager.ins.UserSlot[Order].DebuffList.Remove(skil);
                return;
            }
            CharacterStatus OrderStat = gameManager.ins.UserStatus[Order];
            OrderStat.HpDown_Debuff(Value[1]);
        }, "Decision");
        return(Magma);
    }
Esempio n. 3
0
    public static void Potion_CostHeal(int Cost) //됨
    {
        StackSkill s = TempSkill as StackSkill;

        s.PassiveCount.Add("CostHeal", Cost);
        s.PassiveCount.Add("Using", 0);
        s.isUseTurn    = false;
        s.isUseToStack = true;
        if (s == null)
        {
            return;
        }
        s.ActiveSkillSet(delegate(Skill skill)
        {
            if (s.TempStack != 0 && skill.PassiveCount["Using"] != 1)
            {
                skill.PassiveCount["Using"] = 1;
                s.StackMinus();
                CharacterStatus Stat = skill.GetOrder();
                skill.GetOrder().CostPlus((int)skill.PassiveCount["CostHeal"]);
            }
        });
        s.AddPassive(delegate(Skill skill)
        {
            skill.PassiveCount["Using"] = 0;
        }, "End");
        TempSkill = s;
    }
Esempio n. 4
0
    public static void Potion_DamageUp(float Damage) //됨
    {
        StackSkill s = TempSkill as StackSkill;

        if (s == null)
        {
            return;
        }
        s.PassiveCount.Add("Count", 0);

        s.ActiveSkillSet(delegate(Skill skill)
        {            //체크
            if (s.TempStack != 0 && skill.PassiveCount["Count"] != 1)
            {
                skill.PassiveCount["Count"] = 1;
                s.StackMinus();
            }
        });
        s.AddPassive(delegate(Skill skill)
        {
            if (skill.PassiveCount["Count"] == 1)
            {
                DamageCalculator.ins.AddDamage(DamageCalculator.MULTIPLE_s, Damage * 0.01f + 1, "PotionUp");
            }
        }, "Attack");
        s.AddPassive(delegate(Skill skill)
        {
            skill.PassiveCount["Count"] = 0;
        }, "End");
    }
Esempio n. 5
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);
    }
Esempio n. 6
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);
    }
Esempio n. 7
0
    public Skill Batting_Passive(int Order)
    {
        //압박 3회 성공즉시 화력데미지만큼 추가 데미지
        StackSkill ThreeOut = new StackSkill(3, "ThreeOut");//

        ThreeOut.SetCharacter(Order);

        ThreeOut.AddPassive(
            delegate(Skill skil)
        {
            CharacterStatus EnemyStat = skil.GetEnemy();
            if (!EnemyStat.Guard)
            {
                if (UnityEngine.Random.Range(0, 2) == 0)   //50%
                {
                    WallManager.ins.Move((int)((float)WallManager.ins.PivotMove * 3f * gameManager.ins.TimingWeight[skil.Order]));
                }
            }
        }, "Attack");
        ;
        return(ThreeOut);
    }
Esempio n. 8
0
    public static void Potion_Perfect()///~
    {
        StackSkill s = TempSkill as StackSkill;

        if (s == null)
        {
            return;
        }
        s.PassiveCount.Add("Using", 0);
        s.ActiveSkillSet(delegate(Skill skill)
        {
            if (skill.PassiveCount["Using"] == 1)
            {
                return;
            }
            s.StackMinus();
            skill.PassiveCount["Using"] = 1;
        });
        s.AddPassive(delegate(Skill skill)
        {
            if (skill.PassiveCount["Using"] == 1)
            {
                gameManager.ins.TimingWeight[skill.Order] = gameManager.PERPECT;
                Skill sk = SkillManager.ins.GetSkill(skill.Order, "Critical");
                sk.PassiveCount["Critical"] = 30f;
            }
        }, "Decision");
        s.AddPassive(delegate(Skill skill)
        {
            if (skill.PassiveCount["Using"] == 1)
            {
                Skill sk = SkillManager.ins.GetSkill(skill.Order, "Critical");
                sk.PassiveCount["Critical"] = sk.PassiveCount["BaseCritical"];
                skill.PassiveCount["Using"] = 0;
            }
        }, "End");
    }
Esempio n. 9
0
    public static void Potion_SuperArmor( )//됨
    {
        StackSkill s = TempSkill as StackSkill;

        s.PassiveCount.Add("Using", 0);
        if (s == null)
        {
            return;
        }
        s.ActiveSkillSet(delegate(Skill skill)
        {
            if (s.TempStack != 0 && skill.PassiveCount["Using"] != 1)
            {
                skill.PassiveCount["Using"] = 1;
                CharacterStatus Stat        = skill.GetOrder();
                Stat.isSuperArmor           = true;
                s.StackMinus();
                Debug.Log("슈아 사용함");
            }
        });
        s.AddPassive(delegate(Skill skill)
        {
            if (skill.PassiveCount["Using"] == 1)
            {
                DamageCalculator.ins.AddDamage(DamageCalculator.MULTIPLE_s, 0.5f, "SuperArmor");
            }
        }, "Hit");
        s.AddPassive(delegate(Skill skill)
        {
            CharacterStatus Stat = skill.GetOrder();

            skill.PassiveCount["Using"] = 0;
            Stat.isSuperArmor           = false;
        }, "End");
        TempSkill = s;
    }