Beispiel #1
0
        private static void CastBOSS2_3(Skill s, GameMode game)
        {
            SkillCaster.CastToVoid(s);

            BoomDeBUFF debuff = new BoomDeBUFF(s.skillName, s.Caster, 10f, s.Power);

            if (game.TeamDic[TeamDuty.MeleeDPS].Count > 0)
            {
                List <Character> list = game.TeamDic[TeamDuty.MeleeDPS];
                list[UnityEngine.Random.Range(0, list.Count - 1)].Buffs.Add(debuff);
            }
            else if (game.TeamDic[TeamDuty.Tank].Count > 0)
            {
                List <Character> list = game.TeamDic[TeamDuty.Tank];
                list[UnityEngine.Random.Range(0, list.Count - 1)].Buffs.Add(debuff);
            }

            debuff = new BoomDeBUFF(s.skillName, s.Caster, 10f, s.Power);
            if (game.TeamDic[TeamDuty.RangeDPS].Count > 0)
            {
                List <Character> list = game.TeamDic[TeamDuty.RangeDPS];
                list[UnityEngine.Random.Range(0, list.Count - 1)].Buffs.Add(debuff);
            }
            else if (game.TeamDic[TeamDuty.Healer].Count > 0)
            {
                List <Character> list = game.TeamDic[TeamDuty.Healer];
                list[UnityEngine.Random.Range(0, list.Count - 1)].Buffs.Add(debuff);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 神圣之光,直接治疗并添加一个HOT 持续治疗
        /// </summary>
        private static void CastHolyLight(Skill s, GameMode game)
        {
            SkillCaster.CastSingleSkill(s, game.FocusCharacter);
            HotBuff buff = new HotBuff(s.Caster, 18f, 3f, 100);

            game.FocusCharacter.Buffs.Add(buff);
        }
Beispiel #3
0
        private static void CastShield(Skill s, GameMode game)
        {
            SkillCaster.CastToVoid(s);
            ShieldBUFF buff = new ShieldBUFF(s.Caster, 10f, s.Power);

            game.FocusCharacter.Buffs.Add(buff);
        }
Beispiel #4
0
 private static void CastTeamBuff(Skill s, GameMode game)
 {
     SkillCaster.CastToVoid(s);
     foreach (Character v in game.TeamCharacters)
     {
         PTeamBuff buff = new PTeamBuff(s.Caster);
         v.Buffs.Add(buff);
     }
 }
Beispiel #5
0
        private void CastSkill3(Skill s)
        {
            List <Character> list = new List <Character>();

            foreach (var c in game.TeamCharacters)
            {
                if (c.CanHit(0f))
                {
                    list.Add(c);
                }
            }
            SkillCaster.CastAOESkill(s, list);
        }
Beispiel #6
0
        /// <summary>
        /// 随机向团队发射,命中取决于闪避
        /// </summary>
        /// <param name="s"></param>
        /// <param name="game"></param>
        private static void CastToTeamRandom2(Skill s, GameMode game)
        {
            List <Character> list = new List <Character>();

            foreach (Character c in game.TeamCharacters)
            {
                if (c.IsAlive)
                {
                    list.Add(c);
                }
            }
            //取随机两次
            List <Character> re = new List <Character>();
            int index           = UnityEngine.Random.Range(0, list.Count - 1);

            re.Add(list[index]);

            list.RemoveAt(index);
            index = UnityEngine.Random.Range(0, list.Count - 1);
            re.Add(list[index]);

            SkillCaster.CastMultiSkill(s, re);
        }
Beispiel #7
0
 private void CastSkill2(Skill s)
 {
     SkillCaster.CastSingleSkill(s, GetTank());
 }
Beispiel #8
0
 private void CastSkill1(Skill s)
 {
     SkillCaster.CastAOESkill(s, game.TeamCharacters);
 }
Beispiel #9
0
 private static void CastToFocus(Skill s, GameMode game)
 {
     SkillCaster.CastSingleSkill(s, game.FocusCharacter);
 }
Beispiel #10
0
 private static void CastToTank(Skill s, GameMode game)
 {
     SkillCaster.CastSingleSkill(s, GetTank(game));
 }
Beispiel #11
0
 private static void CastToBoss(Skill s, GameMode game)
 {
     SkillCaster.CastSingleSkill(s, game.Boss);
 }
Beispiel #12
0
 private static void CastToTeam(Skill s, GameMode game)
 {
     SkillCaster.CastMultiSkill(s, game.TeamAlive);
 }
Beispiel #13
0
 public override void OnRemove()
 {
     SkillCaster.CastSingleSkill(skill, Target);
 }