Ejemplo n.º 1
0
        public static void HandleWorldPortAck(IRealmClient client, RealmPacketIn packet)
        {
            client.TickCount = 0;

            var chr = client.ActiveCharacter;

            if (chr != null && chr.Map != null)
            {
                var zone = chr.Map.GetZone(chr.Position.X, chr.Position.Y);
                if (zone != null)
                {
                    chr.SetZone(zone);
                }
                else
                {
                    chr.SetZone(chr.Map.DefaultZone);
                }

                // resend some initial packets
                CharacterHandler.SendBindUpdate(chr, chr.BindLocation);
                CharacterHandler.SendTickQuery(client);
                SpellHandler.SendSpellsAndCooldowns(chr);
                CharacterHandler.SendActionButtons(chr);
                FactionHandler.SendFactionList(chr);
                CharacterHandler.SendTimeSpeed(chr);
                AuraHandler.SendAllAuras(chr);
                // SMSG_SET_PHASE_SHIFT
                // SMSG_PARTY_MEMBER_STATS
                // MSG_BATTLEGROUND_PLAYER_POSITIONS
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Sends yet unknown information about a new object,
        /// such as Aura packets
        /// </summary>
        /// <param name="obj"></param>
        private void SendUnknownState(WorldObject obj)
        {
            if (obj is Unit)
            {
                var unit = (Unit)obj;

                if (unit.Auras.VisibleAuraCount > 0)
                {
                    AuraHandler.SendAllAuras(this, unit);
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Called within Map Context.
 /// Sends initial packets
 /// </summary>
 private void OnLogin()
 {
     InstanceHandler.SendDungeonDifficulty(this);
     CharacterHandler.SendVerifyWorld(this);
     AccountDataHandler.SendAccountDataTimes(m_client);
     VoiceChatHandler.SendSystemStatus(this, VoiceSystemStatus.Disabled);
     // SMSG_GUILD_EVENT
     // SMSG_GUILD_BANK_LIST
     CharacterHandler.SendBindUpdate(this, BindLocation);
     TutorialHandler.SendTutorialFlags(this);
     SpellHandler.SendSpellsAndCooldowns(this);
     CharacterHandler.SendActionButtons(this);
     FactionHandler.SendFactionList(this);
     // SMSG_INIT_WORLD_STATES
     // SMSG_EQUIPMENT_SET_LIST
     AchievementHandler.SendAchievementData(this);
     // SMSG_EXPLORATION_EXPERIENCE
     CharacterHandler.SendTimeSpeed(this);
     TalentHandler.SendTalentGroupList(m_talents);
     AuraHandler.SendAllAuras(this);
     // SMSG_PET_GUIDS
 }