コード例 #1
0
        public static void RegisterToWarRequest(IRealmClient client, RealmPacketIn packet)
        {
            Asda2Battleground asda2Battleground = Asda2BattlegroundMgr.AllBattleGrounds[
                client.ActiveCharacter.MapId == MapId.Alpia
                    ? Asda2BattlegroundTown.Alpia
                    : (client.ActiveCharacter.MapId == MapId.Silaris
                        ? Asda2BattlegroundTown.Silaris
                        : (client.ActiveCharacter.MapId == MapId.Aquaton
                            ? Asda2BattlegroundTown.Aquaton
                            : Asda2BattlegroundTown.Flamio))][0];

            if (client.ActiveCharacter.Level < (int)asda2Battleground.MinEntryLevel ||
                client.ActiveCharacter.Level > (int)asda2Battleground.MaxEntryLevel)
            {
                Asda2BattlegroundHandler.SendRegisteredToWarResponse(client, RegisterToBattlegroundStatus.WrongLevel);
            }
            else if (client.ActiveCharacter.CurrentBattleGround != null)
            {
                Asda2BattlegroundHandler.SendRegisteredToWarResponse(client,
                                                                     RegisterToBattlegroundStatus.YouHaveAlreadyRegistered);
            }
            else if (asda2Battleground.DissmisedCharacterNames.Contains(client.ActiveCharacter.Name))
            {
                Asda2BattlegroundHandler.SendRegisteredToWarResponse(client,
                                                                     RegisterToBattlegroundStatus.YouCantEnterCauseYouHaveBeenDissmised);
            }
            else if (client.ActiveCharacter.Asda2FactionId < (short)0 ||
                     client.ActiveCharacter.Asda2FactionId > (short)1)
            {
                Asda2BattlegroundHandler.SendRegisteredToWarResponse(client,
                                                                     RegisterToBattlegroundStatus.BattleGroupInfoIsInvalid);
            }
            else if (asda2Battleground.Join(client.ActiveCharacter))
            {
                Asda2BattlegroundHandler.SendRegisteredToWarResponse(client, RegisterToBattlegroundStatus.Ok);
            }
            else
            {
                Asda2BattlegroundHandler.SendRegisteredToWarResponse(client, RegisterToBattlegroundStatus.Fail);
                client.ActiveCharacter.SendInfoMsg("Sry no more free war places. Try again later.");
            }
        }