Exemplo n.º 1
0
    /// <summary>
    /// Handling player sign up.
    /// </summary>
    /// <param name="player">The player.</param>
    /// <returns>The sign up response.</returns>
    public TournamentSignUpResponse SignUp(Player player)
    {
        var response = TournamentSignUpResponse.SignUp(this, player);

        if (response.Success)
        {
            switch (_nextTeam)
            {
            case Black:
                BlackTeam.Add(player);
                player.Equipments.Mask(ItemPosition.Garment, 181525);
                break;

            case White:
                WhiteTeam.Add(player);
                player.Equipments.Mask(ItemPosition.Garment, 181325);
                break;

            case Blue:
                BlueTeam.Add(player);
                player.Equipments.Mask(ItemPosition.Garment, 181825);
                break;

            case Red:
                RedTeam.Add(player);
                player.Equipments.Mask(ItemPosition.Garment, 181625);
                break;
            }

            _nextTeam = Math.Max(1, Math.Min(4, _nextTeam + 1));

            player.Battle = this;

            player.Equipments.Mask(ItemPosition.WeaponL, 420229);
            player.Equipments.Mask(ItemPosition.WeaponR, 410039);

            player.MaskedSkills.Clear();
            player.MaskedSkills.TryAdd(1045);
            player.MaskedSkills.TryAdd(1046);

            foreach (var skillId in player.MaskedSkills.GetHashes())
            {
                player.ClientSocket.Send(new CandyConquer.WorldApi.Models.Packets.Spells.SkillPacket
                {
                    Experience = 0,
                    Id         = skillId,
                    Level      = 4
                });
            }
        }

        return(response);
    }