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; }
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); }
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; }
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"); }
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); }
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); }
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"); }
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; }