Пример #1
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 401:
            case 402:
            case 403:
            case 404:
            case 405:
                foreach (var v in player.basic_cards)
                {
                    var c = Card.GetCard(v);
                    if (c.HasSkill(uiState))
                    {
                        return(false);
                    }
                }
                return(BattleData.Instance.Agent.SelectCards.Count == 1 && player.team != BattleData.Instance.MainPlayer.team);

            case 407:
                return(player.team != BattleData.Instance.MainPlayer.team);

            case 408:
                return(player.basic_cards.Count > 0);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #2
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 701:
                foreach (var v in player.basic_cards)
                {
                    var c = Card.GetCard(v);
                    if (c.Name == Card.CardName.圣盾 || c.HasSkill(701))
                    {
                        return(false);
                    }
                }
                return(true);

            case 703:
            case 705:
                return(player.basic_cards.Count > 0);

            case 702:
            case 704:
                return(true);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #3
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SKILLID.水之神力:
                return(BattleData.Instance.Agent.SelectCards.Count == 1 &&
                       player.team == BattleData.Instance.MainPlayer.team &&
                       BattleData.Instance.PlayerID != player.id);

            case (uint)SKILLID.神圣契约:
                return(BattleData.Instance.Agent.SelectArgs.Count == 1 &&
                       player.team == BattleData.Instance.MainPlayer.team &&
                       BattleData.Instance.PlayerID != player.id);

            case (uint)SKILLID.神圣领域:
                if (additionalState == 15061)
                {
                    return(BattleData.Instance.Agent.SelectCards.Count == Math.Min(BattleData.Instance.MainPlayer.hand_count, 2));
                }
                if (additionalState == 15062)
                {
                    return(player.team == BattleData.Instance.MainPlayer.team && player.id != BattleData.Instance.PlayerID &&
                           BattleData.Instance.Agent.SelectCards.Count == Math.Min(BattleData.Instance.MainPlayer.hand_count, 2));
                }
                return(false);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #4
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 1601:
            case 1602:
            case 1604:
                if (uiState == 1601 || uiState == 1602)
                {
                    foreach (var v in player.basic_cards)
                    {
                        var c = Card.GetCard(v);
                        if (c.HasSkill(uiState))
                        {
                            return(false);
                        }
                    }
                }
                return(BattleData.Instance.Agent.SelectCards.Count == MaxSelectCard(uiState) &&
                       player.team == BattleData.Instance.MainPlayer.team &&
                       player.id != BattleData.Instance.PlayerID);

            case 1605:
                return(true);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #5
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case 2101:
         return(player.team != BattleData.Instance.MainPlayer.team);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #6
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case (uint)SkillID.腥红十字:
         return(BattleData.Instance.Agent.SelectCards.Count == 2);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #7
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case (uint)SkillID.幻影星辰:
         return(true);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #8
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case 1903:
         return(player.id != BattleData.Instance.Agent.Cmd.args[0]);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #9
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case 1002:
         return(player.id != BattleData.Instance.PlayerID && player.heal_count > 0);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #10
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case 302:
     case 303:
         return(true);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #11
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 302:
                return(BattleData.Instance.Agent.SelectCards.Count == 1);

            case 303:
                return(true);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #12
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SkillID.凋零:
                return(BattleData.Instance.Agent.Cmd.args[0] == 2);

            case (uint)SkillID.倒逆之蝶:
                return(additionalState == 24081);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #13
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 1201:
                return(player.team != BattleData.Instance.MainPlayer.team);

            case 13:
                var r = RoleFactory.Create(player.role_id);
                return(player.team == BattleData.Instance.MainPlayer.team && r.MaxEnergyCount > player.gem + player.crystal);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #14
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 1601:
            case 1602:
            case 1604:
                return(player.team == BattleData.Instance.MainPlayer.team && player.id != BattleData.Instance.PlayerID);

            case 1605:
                return(true);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #15
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SkillID.血之悲鸣:
            case (uint)SkillID.生共死:
            case (uint)SkillID.血之诅咒:
                return(BattleData.Instance.Agent.SelectCards.Count == MaxSelectCard(uiState));

            case (uint)SkillID.血之哀伤:
                return(!player.ex_cards.Contains(1003));
            }
            return(base.CanSelect(uiState, player));
        }
Пример #16
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SkillID.灵魂震爆:
            case (uint)SkillID.灵魂赐予:
            case (uint)SkillID.灵魂镜像:
                return(BattleData.Instance.Agent.SelectCards.Count == MaxSelectCard(uiState));

            case (uint)SkillID.灵魂链接:
                return(player.team == BattleData.Instance.MainPlayer.team && player.id != BattleData.Instance.PlayerID);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #17
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     switch (uiState)
     {
     case 1101:
     case 1102:
     case 1103:
     case 1104:
     case 1105:
     case 1106:
     case 1107:
         return(true);
     }
     return(base.CanSelect(uiState, player));
 }
Пример #18
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 401:
            case 402:
            case 403:
            case 404:
            case 405:
            case 407:
                return(player.team != BattleData.Instance.MainPlayer.team);

            case 408:
                return(player.basic_cards.Count > 0);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #19
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SkillID.魔眼:
                return(true);

            case (uint)SkillID.雷光散射:
                return(BattleData.Instance.Agent.SelectCards.Count > 1 && player.team != BattleData.Instance.MainPlayer.team);

            case 1:
                if (additionalState == 26031 && player.id == lastHit)
                {
                    return(false);
                }
                break;
            }
            return(base.CanSelect(uiState, player));
        }
Пример #20
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            //bool bool1, bool2;
            //bool1 = (player.team != BattleData.Instance.MainPlayer.team);
            //bool2 = (BattleData.Instance.PlayerID != player.id);
            switch (uiState)
            {
            case (uint)SkillID.CHEN_LUN_XIE_ZOU_QU:
                return(player.team != BattleData.Instance.MainPlayer.team && BattleData.Instance.PlayerID != player.id && BattleData.Instance.Agent.SelectCards.Count == 2);

            //return true;
            case (uint)SkillID.BU_XIE_HE_XIAN:
                return(true);

            case (uint)SkillID.XI_WANG_FU_GE_QU:
                return(player.team == BattleData.Instance.MainPlayer.team && BattleData.Instance.PlayerID != player.id);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #21
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SkillID.TI_SHEN_WAN_OU:
                return(BattleData.Instance.Agent.SelectCards.Count == 1 &&
                       player.team == BattleData.Instance.MainPlayer.team &&
                       BattleData.Instance.PlayerID != player.id);

            case (uint)SkillID.CANG_YAN_FA_DIAN:
            case (uint)SkillID.TIAN_HUO_DUAN_KONG:
                return(BattleData.Instance.Agent.SelectCards.Count == MaxSelectCard(uiState));

            case (uint)SkillID.TONG_KU_LIAN_JIE:
                return(player.team != BattleData.Instance.MainPlayer.team);

            case (uint)SkillID.MO_NENG_FAN_ZHUAN:
                return(player.team != BattleData.Instance.MainPlayer.team && BattleData.Instance.Agent.SelectCards.Count > 1);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #22
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case (uint)SKILLID.水之神力:
            case (uint)SKILLID.神圣契约:
                return(player.team == BattleData.Instance.MainPlayer.team && BattleData.Instance.PlayerID != player.id);

            case (uint)SKILLID.神圣领域:
                if (additionalState == 15061)
                {
                    return(true);
                }
                if (additionalState == 15062)
                {
                    return(player.team == BattleData.Instance.MainPlayer.team);
                }
                return(false);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #23
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 1201:
                if (BattleData.Instance.MainPlayer.ex_cards.Contains(1001))
                {
                    if (player.role_id != (uint)RoleID.YongZhe)
                    {
                        return(false);
                    }
                }
                return(BattleData.Instance.Agent.SelectCards.Count == qizhaSelectCard &&
                       player.team != BattleData.Instance.MainPlayer.team);

            case 13:
                var r = RoleFactory.Create(player.role_id);
                return(player.team == BattleData.Instance.MainPlayer.team && r.MaxEnergyCount > player.gem + player.crystal);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #24
0
        public override bool CanSelect(uint uiState, SinglePlayerInfo player)
        {
            switch (uiState)
            {
            case 2:
                if (BattleData.Instance.Agent.SelectCards.Count == 1 && Card.GetCard(BattleData.Instance.Agent.SelectCards[0]).Name == Card.CardName.魔弹)
                {
                    for (int i = BattleData.Instance.PlayerIdxOrder.Count - 1; i >= 0; i--)
                    {
                        var target = BattleData.Instance.GetPlayerInfo((uint)BattleData.Instance.PlayerIdxOrder[i]);
                        if (target.team != BattleData.Instance.MainPlayer.team)
                        {
                            if (target.id == player.id)
                            {
                                return(true);
                            }
                            break;
                        }
                    }
                    for (int i = 0; i < BattleData.Instance.PlayerIdxOrder.Count; i++)
                    {
                        var target = BattleData.Instance.GetPlayerInfo((uint)BattleData.Instance.PlayerIdxOrder[i]);
                        if (target.team != BattleData.Instance.MainPlayer.team)
                        {
                            if (target.id == player.id)
                            {
                                return(true);
                            }
                            break;
                        }
                    }
                    return(false);
                }
                else
                {
                    break;
                }

            case 801:
                return(BattleData.Instance.Agent.SelectCards.Count == 1 && player.team != BattleData.Instance.MainPlayer.team);

            case 803:
                if (BattleData.Instance.Agent.SelectCards.Count == 1)
                {
                    for (int i = BattleData.Instance.PlayerIdxOrder.Count - 1; i >= 0; i--)
                    {
                        var target = BattleData.Instance.GetPlayerInfo((uint)BattleData.Instance.PlayerIdxOrder[i]);
                        if (target.team != BattleData.Instance.MainPlayer.team)
                        {
                            if (target.id == player.id)
                            {
                                return(true);
                            }
                            break;
                        }
                    }
                    for (int i = 0; i < BattleData.Instance.PlayerIdxOrder.Count; i++)
                    {
                        var target = BattleData.Instance.GetPlayerInfo((uint)BattleData.Instance.PlayerIdxOrder[i]);
                        if (target.team != BattleData.Instance.MainPlayer.team)
                        {
                            if (target.id == player.id)
                            {
                                return(true);
                            }
                            break;
                        }
                    }
                }
                return(false);

            case 804:
                return(player.team != BattleData.Instance.MainPlayer.team);
            }
            return(base.CanSelect(uiState, player));
        }
Пример #25
0
 public override bool CanSelect(uint uiState, SinglePlayerInfo player)
 {
     return(base.CanSelect(uiState, player));
 }