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