コード例 #1
0
ファイル: Faction.cs プロジェクト: remixod/netServer
		private Faction(HashSet<Faction> enemies, HashSet<Faction> friends, HashSet<Faction> neutrals)
		{
			Enemies = enemies;
			Friends = friends;
			Neutrals = neutrals;
			Entry = new FactionEntry { Name = "Null Faction" };
			Template = new FactionTemplateEntry { EnemyFactions = new FactionId[0], FriendlyFactions = new FactionId[0] };
		}
コード例 #2
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        bool SetOneFactionReputation(FactionEntry factionEntry, int standing, bool incremental)
        {
            var itr = _factions.LookupByKey((uint)factionEntry.reputationListID);

            if (itr != null)
            {
                int BaseRep = GetBaseReputation(factionEntry);

                if (incremental)
                {
                    // int32 *= float cause one point loss?
                    standing  = (int)(Math.Floor((float)standing * 1 + 0.5f));//sWorld->getRate(RATE_REPUTATION_GAIN) + 0.5f));
                    standing += itr.Standing + BaseRep;
                }

                if (standing > Reputation_Cap)
                {
                    standing = Reputation_Cap;
                }
                else if (standing < Reputation_Bottom)
                {
                    standing = Reputation_Bottom;
                }

                ReputationRank old_rank = ReputationToRank(itr.Standing + BaseRep);
                ReputationRank new_rank = ReputationToRank(standing);

                itr.Standing = standing - BaseRep;
                itr.needSend = true;
                itr.needSave = true;

                SetVisible(itr);

                if (new_rank <= ReputationRank.Hostile)
                {
                    SetAtWar(itr, true);
                }

                if (new_rank > old_rank)
                {
                    _sendFactionIncreased = true;
                }

                UpdateRankCounters(old_rank, new_rank);

                //_player->ReputationChanged(factionEntry);
                //_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS,          factionEntry->ID);
                //_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION,         factionEntry->ID);
                //_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION, factionEntry->ID);
                //_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION, factionEntry->ID);
                //_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION, factionEntry->ID);

                return(true);
            }
            return(false);
        }
コード例 #3
0
ファイル: Faction.cs プロジェクト: remixod/netServer
		public Faction(FactionEntry entry, FactionTemplateEntry template)
		{
			Entry = entry;
			Template = template;
			Id = entry.Id;
			ReputationIndex = entry.FactionIndex;

            IsAlliance = template.FactionGroup.HasFlag(FactionGroupMask.Alliance);
		    IsHorde = template.FactionGroup.HasFlag(FactionGroupMask.Horde);
		}
コード例 #4
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        //uint GetReputationRankStrIndex(FactionEntry factionEntry)
        //{
        //return ReputationRankStrIndex[GetRank(factionEntry)];
        //}
        public bool IsAtWar(FactionEntry factionEntry)
        {
            if (factionEntry == null)
            {
                return(false);
            }

            FactionState factionState = GetState(factionEntry);

            if (factionState != null)
            {
                return(Convert.ToBoolean(factionState.Flags & FactionFlags.AtWar));
            }
            return(false);
        }
コード例 #5
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        void SetVisible(FactionEntry factionEntry)
        {
            if (factionEntry.reputationListID < 0)
            {
                return;
            }

            var itr = _factions.LookupByKey((uint)factionEntry.reputationListID);

            if (itr == null)
            {
                return;
            }

            SetVisible(itr);
        }
コード例 #6
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        int GetReputation(FactionEntry factionEntry)
        {
            // Faction without recorded reputation. Just ignore.
            if (factionEntry.ID == 0)
            {
                return(0);
            }

            FactionState state = GetState(factionEntry);

            if (state != null)
            {
                return(GetBaseReputation(factionEntry) + state.Standing);
            }

            return(0);
        }
コード例 #7
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        uint GetDefaultStateFlags(FactionEntry factionEntry)
        {
            if (factionEntry == null)
            {
                return(0);
            }

            uint raceMask  = _player.getRaceMask();
            uint classMask = _player.getClassMask();

            for (int i = 0; i < 4; i++)
            {
                if (Convert.ToBoolean(factionEntry.BaseRepRaceMask[i] & raceMask) ||
                    (factionEntry.BaseRepRaceMask[i] == 0 &&
                     factionEntry.BaseRepClassMask[i] != 0 &&
                     Convert.ToBoolean(factionEntry.BaseRepClassMask[i] & classMask) ||
                     factionEntry.BaseRepClassMask[i] == 0))
                {
                    return(factionEntry.ReputationFlags[i]);
                }
            }
            return(0);
        }
コード例 #8
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        int GetBaseReputation(FactionEntry factionEntry)
        {
            if (factionEntry.ID == 0)
            {
                return(0);
            }

            uint raceMask  = _player.getRaceMask();
            uint classMask = _player.getClassMask();

            for (var i = 0; i < 4; i++)
            {
                if (Convert.ToBoolean(factionEntry.BaseRepRaceMask[i] & raceMask) ||
                    (factionEntry.BaseRepRaceMask[i] == 0 && factionEntry.BaseRepClassMask[i] != 0) &&
                    Convert.ToBoolean(factionEntry.BaseRepClassMask[i] & classMask) ||
                    factionEntry.BaseRepClassMask[i] == 0)
                {
                    return(factionEntry.BaseRepValue[i]);
                }
            }

            // in faction.dbc exist factions with (RepListId >=0, listed in character reputation list) with all BaseRepRaceMask[i] == 0
            return(0);
        }
コード例 #9
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        public bool SetReputation(FactionEntry factionEntry, int standing, bool incremental = true)
        {
            //sScriptMgr->OnPlayerReputationChange(_player, factionEntry->ID, standing, incremental);
            bool res = false;
            // if spillover definition exists in DB, override DBC
            var repTemplate = Cypher.ObjMgr.GetRepSpillover(factionEntry.ID);

            if (repTemplate != null)
            {
                for (var i = 0; i < 5; ++i)
                {
                    if (repTemplate.faction[i] != 0)
                    {
                        if (_player.GetReputationRank(repTemplate.faction[i]) <= (ReputationRank)repTemplate.faction_rank[i])
                        {
                            // bonuses are already given, so just modify standing by rate
                            int spilloverRep = (int)(standing * repTemplate.faction_rate[i]);
                            SetOneFactionReputation(DBCStorage.FactionStorage.LookupByKey(repTemplate.faction[i]), spilloverRep, incremental);
                        }
                    }
                }
            }
            else
            {
                float spillOverRepOut = (float)standing;
                // check for sub-factions that receive spillover

                //might be slow
                var flist = DBCStorage.FactionStorage.Where(p => p.Value.team == factionEntry.team);
                // if has no sub-factions, check for factions with same parent
                if (flist.Count() == 0 && factionEntry.team != 0 && factionEntry.spilloverRateOut != 0.0f)
                {
                    spillOverRepOut *= factionEntry.spilloverRateOut;
                    FactionEntry parent = DBCStorage.FactionStorage.LookupByKey(factionEntry.team);
                    if (parent.ID != 0)
                    {
                        var parentState = _factions.LookupByKey((uint)parent.reputationListID);
                        // some team factions have own reputation standing, in this case do not spill to other sub-factions
                        if (parentState != null && Convert.ToBoolean(parentState.Flags & FactionFlags.Special))
                        {
                            SetOneFactionReputation(parent, (int)spillOverRepOut, incremental);
                        }
                        else    // spill to "sister" factions
                        {
                            flist = DBCStorage.FactionStorage.Where(p => p.Value.team == factionEntry.team);
                        }
                    }
                }
                if (flist.Count() != 0)
                {
                    // Spillover to affiliated factions
                    foreach (var itr in flist)
                    {
                        var factionEntryCalc = DBCStorage.FactionStorage.LookupByKey(itr.Key);
                        if (factionEntryCalc.ID != 0)
                        {
                            if (factionEntryCalc.ID == factionEntry.ID || GetRank(factionEntryCalc) > (ReputationRank)factionEntryCalc.spilloverMaxRankIn)
                            {
                                continue;
                            }
                            int spilloverRep = (int)(spillOverRepOut * factionEntryCalc.spilloverRateIn);
                            if (spilloverRep != 0 || !incremental)
                            {
                                res = SetOneFactionReputation(factionEntryCalc, spilloverRep, incremental);
                            }
                        }
                    }
                }
            }

            // spillover done, update faction itself
            var faction = _factions.LookupByKey((uint)factionEntry.reputationListID);

            if (faction != null)
            {
                res = SetOneFactionReputation(factionEntry, standing, incremental);
                // only this faction gets reported to client, even if it has no own visible standing
                SendState(faction);
            }
            return(res);
        }
コード例 #10
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
 bool ModifyReputation(FactionEntry factionEntry, int standing)
 {
     return(SetReputation(factionEntry, standing, true));
 }
コード例 #11
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
 //Sets
 bool SetReputation(FactionEntry factionEntry, int standing)
 {
     return(SetReputation(factionEntry, standing, false));
 }
コード例 #12
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        public ReputationRank GetRank(FactionEntry factionEntry)
        {
            int reputation = GetReputation(factionEntry);

            return(ReputationToRank(reputation));
        }
コード例 #13
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
 FactionState GetState(FactionEntry factionEntry)
 {
     return(factionEntry.CanHaveReputation() ? GetState(factionEntry.reputationListID) : null);
 }
コード例 #14
0
ファイル: ReputationManager.cs プロジェクト: ovr/CypherCore
        //Gets
        ReputationRank GetBaseRank(FactionEntry factionEntry)
        {
            int reputation = GetBaseReputation(factionEntry);

            return(ReputationToRank(reputation));
        }
コード例 #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="netState"></param>
        /// <param name="packetReader"></param>
        internal static void World_HandleCharCreate(NetState netState, PacketReader packetReader)
        {
            WorldExtendData extendData = netState.GetComponent <WorldExtendData>(WorldExtendData.COMPONENT_ID);

            if (extendData == null)
            {
                Debug.WriteLine("World_PacketHandlers.World_HandleCharEnum(...) - extendData == null error!");
                return;
            }

            if (extendData.IsLoggedIn == false)
            {
                Debug.WriteLine("World_PacketHandlers.World_HandleCharEnum(...) - extendData.IsLoggedIn == false error!");
                return;
            }

            string strName     = packetReader.ReadUTF8StringSafe();
            byte   iRace       = packetReader.ReadByte();
            byte   iClass      = packetReader.ReadByte();
            byte   iGender     = packetReader.ReadByte();
            byte   iSkin       = packetReader.ReadByte();
            byte   iFace       = packetReader.ReadByte();
            byte   iHairStyle  = packetReader.ReadByte();
            byte   iHairColor  = packetReader.ReadByte();
            byte   iFacialHair = packetReader.ReadByte();
            byte   iOutFitId   = packetReader.ReadByte();

            if (WorldPacketHandlers.VerifyName(strName) == false)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            if (ProcessServer.WowZoneCluster.World.GlobalPlayerInfo.GetPlayerInfo(strName) != null)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            WowCharacterCreateInfo wowCharacterCreateInfo = ProcessServer.WowZoneCluster.World.GlobalCreateInfo.GetCreateInfo(iRace, iClass);

            if (wowCharacterCreateInfo == null)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            if ((iRace == WowRace.BloodElf || iRace == WowRace.Draenei) &&
                extendData.CommonData.IsTBC == false)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            WowCharacterLevelInfo[] wowCharacterLevelInfo = ProcessServer.WowZoneCluster.World.GlobalLevelInfo.GetLevelInfo(iRace, iClass);
            if (wowCharacterLevelInfo == null)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            WowCharacter wowPlayerInfo = new WowCharacter();

            wowPlayerInfo.Serial      = 0;
            wowPlayerInfo.IsTBC       = extendData.CommonData.IsTBC;
            wowPlayerInfo.AccountGuid = extendData.CommonData.AccountsGuid;

            wowPlayerInfo.Name       = strName;
            wowPlayerInfo.Race       = iRace;
            wowPlayerInfo.Class      = iClass;
            wowPlayerInfo.Gender     = iGender;
            wowPlayerInfo.Skin       = iSkin;
            wowPlayerInfo.Face       = iFace;
            wowPlayerInfo.HairStyle  = iHairStyle;
            wowPlayerInfo.HairColor  = iHairColor;
            wowPlayerInfo.FacialHair = iFacialHair;

            wowPlayerInfo.X      = wowCharacterCreateInfo.PositionX;
            wowPlayerInfo.Y      = wowCharacterCreateInfo.PositionY;
            wowPlayerInfo.Z      = wowCharacterCreateInfo.PositionZ;
            wowPlayerInfo.MapId  = wowCharacterCreateInfo.Map;
            wowPlayerInfo.ZoneId = wowCharacterCreateInfo.Zone;

            wowPlayerInfo.BindX      = 0;
            wowPlayerInfo.BindY      = 0;
            wowPlayerInfo.BindZ      = 0;
            wowPlayerInfo.BindMapId  = 0;
            wowPlayerInfo.BindZoneId = 0;

            ChrRacesEntry chrRacesEntry = DBCInstances.ChrRacesEntry.LookupIDEntry(iRace);

            if (chrRacesEntry == null)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            if (chrRacesEntry.m_TeamId == 7)
            {
                wowPlayerInfo.TeamId = WowTeam.ALLIANCE;
            }
            else
            {
                wowPlayerInfo.TeamId = WowTeam.HORDE;
            }

            ChrClassesEntry chrClassesEntry = DBCInstances.ChrClassesEntry.LookupIDEntry(iClass);

            if (chrClassesEntry == null)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            wowPlayerInfo.PowerType = chrClassesEntry.m_PowerType;

            switch (iRace)
            {
            case (byte)WowRace.Tauren:
                wowPlayerInfo.TaxiMask[0] = 1 << (22 - 1);

                break;

            case (byte)WowRace.Human:
                wowPlayerInfo.TaxiMask[0] = 1 << (2 - 1);

                break;

            case (byte)WowRace.Dwarf:
                wowPlayerInfo.TaxiMask[0] = 1 << (6 - 1);

                break;

            case (byte)WowRace.Gnome:
                wowPlayerInfo.TaxiMask[0] = 1 << (6 - 1);

                break;

            case (byte)WowRace.Orc:
                wowPlayerInfo.TaxiMask[0] = 1 << (23 - 1);

                break;

            case (byte)WowRace.Troll:
                wowPlayerInfo.TaxiMask[0] = 1 << (23 - 1);

                break;

            case (byte)WowRace.Undead:
                wowPlayerInfo.TaxiMask[0] = 1 << (11 - 1);

                break;

            case (byte)WowRace.Nightelf:
                wowPlayerInfo.TaxiMask[0] = 1 << (27 - 1);

                break;

            case (byte)WowRace.BloodElf:
                wowPlayerInfo.TaxiMask[2] = 1 << (18 - 1);

                break;

            case (byte)WowRace.Draenei:
                wowPlayerInfo.TaxiMask[2] = 1 << (30 - 1);

                break;
            }

            wowPlayerInfo.Size = (iRace == WowRace.Tauren) ? 1.3f : 1.0f;

            wowPlayerInfo.Health = wowCharacterLevelInfo[0].Health;
            wowPlayerInfo.Mana   = wowCharacterLevelInfo[0].Mana;
            wowPlayerInfo.Rage   = 0;
            wowPlayerInfo.Focus  = 0;
            wowPlayerInfo.Energy = 0;

            wowPlayerInfo.MaxHealth = wowCharacterLevelInfo[0].Health;
            wowPlayerInfo.MaxMana   = wowCharacterLevelInfo[0].Mana;
            wowPlayerInfo.MaxRage   = 0;
            wowPlayerInfo.MaxFocus  = 0;
            wowPlayerInfo.MaxEnergy = 0;

            wowPlayerInfo.BaseHealth = wowCharacterLevelInfo[0].Health;
            wowPlayerInfo.BaseMana   = wowCharacterLevelInfo[0].Mana;

            wowPlayerInfo.FactionTemplate = 0;
            wowPlayerInfo.Level           = 1;

            wowPlayerInfo.Strength  = wowCharacterLevelInfo[0].Strength;
            wowPlayerInfo.Agility   = wowCharacterLevelInfo[0].Agility;
            wowPlayerInfo.Stamina   = wowCharacterLevelInfo[0].Stamina;
            wowPlayerInfo.Intellect = wowCharacterLevelInfo[0].Intellect;
            wowPlayerInfo.Spirit    = wowCharacterLevelInfo[0].Spirit;

            wowPlayerInfo.BoundingRadius = 0.388999998569489f;
            wowPlayerInfo.CombatReach    = 1.5f;

            if (iGender == 0)
            {
                wowPlayerInfo.DisplayId       = wowCharacterCreateInfo.MaleDisplayId;
                wowPlayerInfo.NativeDisplayId = wowCharacterCreateInfo.MaleDisplayId;
            }
            else
            {
                wowPlayerInfo.DisplayId       = wowCharacterCreateInfo.FemaleDisplayId;
                wowPlayerInfo.NativeDisplayId = wowCharacterCreateInfo.FemaleDisplayId;
            }


            wowPlayerInfo.AttackPower = 0;
            wowPlayerInfo.NextLevelXP = 400;
            wowPlayerInfo.MaxLevel    = 10;

            for (uint iIndex = 0; iIndex < DBCInstances.FactionEntry.Count; iIndex++)
            {
                FactionEntry factionEntry = DBCInstances.FactionEntry.LookupRowEntry(iIndex);
                if (factionEntry == null)
                {
                    continue;
                }

                if (factionEntry.m_RepListId < 0)
                {
                    continue;
                }

                int iReputation = 0;
                if ((factionEntry.m_BaseRepMask1 & (1 << (iRace - 1))) != 0)
                {
                    iReputation = (int)factionEntry.m_BaseRepValue1;
                }
                else if ((factionEntry.m_BaseRepMask2 & (1 << (iRace - 1))) != 0)
                {
                    iReputation = (int)factionEntry.m_BaseRepValue2;
                }
                else if ((factionEntry.m_BaseRepMask3 & (1 << (iRace - 1))) != 0)
                {
                    iReputation = (int)factionEntry.m_BaseRepValue3;
                }
                else if ((factionEntry.m_BaseRepMask4 & (1 << (iRace - 1))) != 0)
                {
                    iReputation = (int)factionEntry.m_BaseRepValue4;
                }
                else
                {
                    continue;
                }

                WowReputation wowReputation = new WowReputation()
                {
                    FactionId  = factionEntry.ID,
                    Reputation = iReputation,
                };

                if ((int)wowReputation.CalcRating() <= (int)WowFactionRating.Hostile)
                {
                    wowReputation.Flag |= (byte)WowFactionFlag.FactionFlagAtWar;
                }

                if ((factionEntry.m_Team == 469 && wowPlayerInfo.TeamId == WowTeam.ALLIANCE) ||
                    (factionEntry.m_Team == 67 && wowPlayerInfo.TeamId == WowTeam.HORDE))
                {
                    wowReputation.Flag |= (byte)WowFactionFlag.FactionFlagVisible;
                }

                wowPlayerInfo.ReputationManager.AddReputation(wowReputation.FactionId, wowReputation);
            }

            foreach (WowPlayerInfoSkill wowPlayerInfoSkill in wowCharacterCreateInfo.WowPlayerSkills.Skills)
            {
                WowSkillTemplate wowSkillTemplate = ProcessServer.WowZoneCluster.World.GlobalSkillTemplates.GetSkillTemplate((long)wowPlayerInfoSkill.Skill) as WowSkillTemplate;
                if (wowSkillTemplate == null)
                {
                    continue;
                }

                WowSkill wowSkill = new WowSkill()
                {
                    Serial        = wowSkillTemplate.SkillId,
                    SkillTemplate = wowSkillTemplate
                };

                wowPlayerInfo.SkillManager.AddSkill(wowSkill.Serial, wowSkill);
            }

            foreach (WowPlayerInfoSpell wowPlayerInfoSpell in wowCharacterCreateInfo.WowPlayerSpells.Spells)
            {
                WowSpellTemplate wowSpellTemplate = ProcessServer.WowZoneCluster.World.GlobalSpellTemplates.GetSpellTemplate((long)wowPlayerInfoSpell.Spell) as WowSpellTemplate;
                if (wowSpellTemplate == null)
                {
                    continue;
                }

                WowSpell wowSpell = new WowSpell()
                {
                    Serial        = wowSpellTemplate.SpellId,
                    SpellTemplate = wowSpellTemplate
                };

                wowPlayerInfo.SpellManager.AddSpell(wowSpell.Serial, wowSpell);
            }

            foreach (WowPlayerInfoItem wowPlayerInfoItem in wowCharacterCreateInfo.WowPlayerItems.Items)
            {
                WowItemTemplate wowItemTemplate = ProcessServer.WowZoneCluster.World.ItemTemplateManager.GetItemTemplate((long)wowPlayerInfoItem.ItemId) as WowItemTemplate;
                if (wowItemTemplate == null)
                {
                    continue;
                }

                WowItemContainer equipmentBag = wowPlayerInfo.BagManager.EquipmentBag;
                if (equipmentBag == null)
                {
                    break;
                }

                WowItem wowItem = equipmentBag.FindSubItemAtSlot(wowItemTemplate.InventoryType) as WowItem;
                if (wowItem == null)
                {
                    wowItem = new WowItem()
                    {
                        ItemTemplate = wowItemTemplate
                    };

                    equipmentBag.AddSubItem(wowItemTemplate.InventoryType, wowItem);
                }
                else
                {
                    WowItemContainer mainBag = wowPlayerInfo.BagManager.MainBag;
                    if (mainBag == null)
                    {
                        break;
                    }

                    wowItem = new WowItem()
                    {
                        ItemTemplate = wowItemTemplate
                    };

                    mainBag.AddToFreeSlot(wowItem);
                }
            }


            foreach (WowPlayerInfoAction wowPlayerInfoAction in wowCharacterCreateInfo.WowPlayerActions.Actions)
            {
                WowActionBar wowActionBar = new WowActionBar()
                {
                    Serial = wowPlayerInfoAction.Button,
                    Action = wowPlayerInfoAction.Action,
                    Type   = wowPlayerInfoAction.Type
                };

                wowPlayerInfo.ActionBarManager.AddActionBar(wowActionBar.Serial, wowActionBar);
            }

            if (wowPlayerInfo.SaveNewCreature() == false)
            {
                netState.Send(new Word_CharCreateResponseError(ResponseCodes.CHAR_CREATE_NAME_IN_USE));
                return;
            }

            ProcessServer.WowZoneCluster.World.GlobalPlayerInfo.AddPlayerInfo(wowPlayerInfo.Name, wowPlayerInfo.Serial, wowPlayerInfo);

            netState.Send(new Word_CharCreateResponse());
        }