コード例 #1
0
        internal override void Process()
        {
            if (Resources.Battles_V2.Waiting.Count == 0)
            {
                Resources.Battles_V2.Enqueue(this.Device.Player);

                this.Device.State = State.SEARCH_BATTLE;
            }
            else
            {
                Level Enemy = Resources.Battles_V2.Dequeue();

                Enemy.Avatar.Battle_ID_V2 = Resources.Battles_V2.Seed;
                this.Device.Player.Avatar.Battle_ID_V2 = Resources.Battles_V2.Seed;

                Battle_V2 Battle = new Battle_V2(this.Device.Player, Enemy);
                Resources.Battles_V2.TryAdd(Resources.Battles_V2.Seed++, Battle);

                new V2_Battle_Info(this.Device, Enemy).Send();

                new Pc_Battle_Data_V2(this.Device, Enemy).Send();

                new V2_Battle_Info(Enemy.Device, this.Device.Player).Send();
                new Pc_Battle_Data_V2(Enemy.Device, this.Device.Player).Send();
            }
        }
コード例 #2
0
 public V2_Battle_Result(Device Device, Battle_V2 Battle) : base(Device)
 {
     this.Identifier = 24371;
     this.Battle     = Battle;
     this.Home       = this.Battle.GetPlayerBattle(this.Device.Player.Avatar.UserId);
     this.Enemy      = this.Battle.GetEnemyBattle(this.Device.Player.Avatar.UserId);
 }
コード例 #3
0
 internal static double LoseTrophies(this Battle_V2 _Battle)
 {
     if (_Battle.Attacker.Trophies >= 1000 && _Battle.Defender.Trophies >= 1000)
     {
         return(Math.Round(0.0531 * (_Battle.Attacker.Trophies - _Battle.Defender.Trophies) + 19.60453));
     }
     return(Core.Resources.Random.Next(10, 15));
 }
コード例 #4
0
        internal static double WinTrophies(this Battle_V2 _Battle)
        {
            double Difference = (_Battle.Attacker.Trophies - _Battle.Defender.Trophies) < 0
                ? +(_Battle.Attacker.Trophies - _Battle.Defender.Trophies)
                : (_Battle.Attacker.Trophies - _Battle.Defender.Trophies);

            //double Difference = (AttackerTrophies - DefenderTrophies) < 0 ? +(DefenderTrophies - AttackerTrophies) : (AttackerTrophies - DefenderTrophies);
            if (Difference >= 13 && Difference <= 34)
            {
                return(Math.Round(-0.0794 * (_Battle.Attacker.Trophies - _Battle.Defender.Trophies) + 29.35838));
            }
            return(Core.Resources.Random.Next(10, 15));
        }