public void ToFight() { gameFightController = new GameFightController(new GameModel(model.Knights) { myTower = model.TowerType, UsersGold = model.GoldRest }); GameFight MyMenu1 = new GameFight(gameFightController); MyMenu1.ShowDialog(); }
private void Run(object state) { if (Started) { this.cancel(); return; } Started = true; team1.Remove(p1); team2.Remove(p2); p1.Send(new BasicNoOperationMessage()); p2.Send(new BasicNoOperationMessage()); var Fight = new KolizeumFight(map, p1.Client, p2.Client); map.AddFight(Fight); foreach (var Player in team1) { try { Player.Send(new BasicNoOperationMessage()); Logger.Error("Ini Player " + Player.Name); var Fighter = new CharacterFighter(Fight, Player.GetClient()); var FightAction = new GameFight(Fighter, Fight); Player.Client.AddGameAction(FightAction); Fight.JoinFightTeam(Fighter, Fight.GetTeam1(), false, -1, false); } catch (Exception e) { Logger.Error(e); } } foreach (var Player in team2) { try { Player.Send(new BasicNoOperationMessage()); Logger.Error("Ini Player " + Player.Name); //if (Prism.CurrentFight.CanJoin(Team, Client.GetCharacter())) var Fighter = new CharacterFighter(Fight, Player.GetClient()); var FightAction = new GameFight(Fighter, Fight); Player.Client.AddGameAction(FightAction); Fight.JoinFightTeam(Fighter, Fight.GetTeam2(), false, -1, false); } catch (Exception e) { Logger.Error(e); } } }
private static void ProcessConquestJoinDefenseRequest(WorldClient Client, string Packet) { if (Packet.Length < 2) { Client.Send(new BasicNoOperationMessage()); return; } switch (Packet[2]) { case 'J': long prismID = Client.Character.myMap.subArea.Prisme; var Prism = PrismeTable.getPrism(prismID); if (Prism == null || Prism.Alignement != Client.Character.Alignement || Client.GetFight() != null || Prism.CurrentFight == null) { Client.Send(new BasicNoOperationMessage()); return; } if (Client.GetFight() == null && !Client.GetCharacter().isAaway) { if (Client.GetCharacter().myMap.Id != Prism.Mapid) { Client.GetCharacter().isJoiningTaxFight = true; Client.GetCharacter().OldPosition = new Couple <Map, int>(Client.Character.myMap, Client.Character.CellId); Client.GetCharacter().Teleport(Prism.Map, Prism.CellId); try { System.Threading.Thread.Sleep(700); } catch (Exception e) { Logger.Error(e); } } if (Client.GetCharacter().HasRestriction(RestrictionEnum.RESTRICTION_IS_TOMBESTONE)) { Client.Send(new BasicNoOperationMessage()); return; } var Team = Prism.CurrentFight.GetTeam2(); if (Prism.CurrentFight.CanJoin(Team, Client.GetCharacter())) { var Fighter = new CharacterFighter(Prism.CurrentFight, Client); var FightAction = new GameFight(Fighter, Prism.CurrentFight); Client.AddGameAction(FightAction); Prism.CurrentFight.JoinFightTeam(Fighter, Team, false, -1, false); } } //AnalyseDefense var Packets = new List <PacketBase>(); foreach (var Prisme in PrismeTable.Cache.Values.Where(x => x.Alignement == Client.Character.Alignement && (x.inFight == 0 || x.inFight == -2))) { Packets.Add(new PrismInformationsDefenseMessage(Prisme.PrismDefenders(Prisme.ActorId, Prisme.CurrentFight))); } foreach (var packet in Packets) { Network.WorldServer.GetChatController().getAlignementChannel(Client.Character.AlignmentType).Send(packet); } break; } }
private static void ProcessTaxCollectorJoinFigh(WorldClient Client, string Packet) { String PercoID = IntHelper.toString(int.Parse(Packet.Substring(1)), 36); long TiD = -1; if (!long.TryParse(PercoID, out TiD)) { Client.Send(new BasicNoOperationMessage()); return; } var TaxCollector = TaxCollectorTable.GetPerco(TiD); if (TaxCollector == null) { Client.Send(new BasicNoOperationMessage()); return; } short MapID = -1; try { MapID = (short)TaxCollector.Mapid; } catch (Exception e) {}; int CellID = -1; try { CellID = TaxCollector.CellId; } catch (Exception e) {}; if (TiD == -1 || TaxCollector.CurrentFight == null || MapID == -1 || CellID == -1) { Client.Send(new BasicNoOperationMessage()); return; } if (Client.GetFight() == null && !Client.GetCharacter().isAaway) { if (Client.GetCharacter().myMap.Id != MapID) { Client.GetCharacter().isJoiningTaxFight = true; Client.GetCharacter().OldPosition = new Couple <Map, int>(Client.Character.myMap, Client.Character.CellId); Client.GetCharacter().Teleport(TaxCollector.Map, CellID); try { System.Threading.Thread.Sleep(700); } catch (Exception e) { Logger.Error(e); } } if (Client.GetCharacter().HasRestriction(RestrictionEnum.RESTRICTION_IS_TOMBESTONE)) { Client.Send(new BasicNoOperationMessage()); return; } var Team = TaxCollector.CurrentFight.GetTeam2(); if (TaxCollector.CurrentFight.CanJoin(Team, Client.GetCharacter())) { var Fighter = new CharacterFighter(TaxCollector.CurrentFight, Client); var FightAction = new GameFight(Fighter, TaxCollector.CurrentFight); Client.AddGameAction(FightAction); TaxCollector.CurrentFight.JoinFightTeam(Fighter, Team, false, -1, false); } } }
public static void ProcessGameFightJoinRequest(WorldClient Client, string Packet) { var Data = Packet.Substring(5).Split(';'); if (Data.Length > 2) { Client.Send(new BasicNoOperationMessage()); return; } var FightId = 0; if (!int.TryParse(Data[0], out FightId)) { Client.Send(new BasicNoOperationMessage()); return; } var Fight = Client.GetCharacter().GetMap().GetFight(FightId); if (Data.Length == 1) { if (Fight.CanJoinSpectator()) { Fight.JoinFightSpectator(Client); } else { Client.Send(new TextInformationMessage(TextInformationTypeEnum.ERREUR, 57)); } return; } var LeaderId = 0; if (!int.TryParse(Data[1], out LeaderId)) { Client.Send(new BasicNoOperationMessage()); return; } if (Fight == null) { Client.Send(new BasicNoOperationMessage()); return; } if (Client.GetCharacter().HasRestriction(RestrictionEnum.RESTRICTION_IS_TOMBESTONE)) { Client.Send(new BasicNoOperationMessage()); return; } var Team = Fight.GetTeam(LeaderId); if (Fight.CanJoin(Team, Client.GetCharacter())) { var Fighter = new CharacterFighter(Fight, Client); var FightAction = new GameFight(Fighter, Fight); Client.AddGameAction(FightAction); Fight.JoinFightTeam(Fighter, Team); } }