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