public static void HandleChallengeAnswer(GameRolePlayPlayerFightFriendlyAnswerMessage message, WorldClient client)
        {
            if (client.Character.IsFighting)
            {
                return;
            }
            FightDual fight    = FightProvider.Instance.GetFight(message.fightId) as FightDual;
            var       sMessage = new GameRolePlayPlayerFightFriendlyAnsweredMessage(message.fightId, (uint)client.Character.Id, (uint)fight.InitiatorId, false);

            if (client.Character.Id == fight.InitiatorId)
            {
                var acceptor = WorldServer.Instance.GetOnlineClient(fight.AcceptorId);
                acceptor.Send(sMessage);
                return;
            }
            WorldClient target = WorldServer.Instance.GetOnlineClient((fight.InitiatorId));

            if (message.accept)
            {
                sMessage.accept = true;
                target.Send(sMessage);
                fight.BlueTeam.AddFighter(client.Character.CreateFighter(fight.BlueTeam));
                fight.RedTeam.AddFighter(target.Character.CreateFighter(fight.RedTeam));
                fight.StartPlacement();
            }
            else
            {
                target.Send(sMessage);
                FightProvider.Instance.RemoveFight(message.fightId);
            }
        }
 public static void HandleGameRolePlayPlayerFightFriendlyAnswer(GameRolePlayPlayerFightFriendlyAnswerMessage message, WorldClient client)
 {
     if (client.Character.IsInRequest() && client.Character.RequestBox is DualRequest)
     {
         if (message.accept)
         {
             client.Character.RequestBox.Accept();
         }
         else
         {
             if (client.Character == client.Character.RequestBox.Target)
             {
                 client.Character.RequestBox.Deny();
             }
             else
             {
                 client.Character.RequestBox.Cancel();
             }
         }
     }
 }
Ejemplo n.º 3
0
        public static void HandleGameRolePlayPlayerFightFriendlyAnswerMessage(WorldClient client, GameRolePlayPlayerFightFriendlyAnswerMessage message)
        {
            if (!client.Character.IsInRequest() || !(client.Character.RequestBox is FightRequest))
            {
                return;
            }

            if (message.accept)
            {
                client.Character.RequestBox.Accept();
            }
            else if (client.Character == client.Character.RequestBox.Target)
            {
                client.Character.RequestBox.Deny();
            }
            else
            {
                client.Character.RequestBox.Cancel();
            }
        }