Example #1
0
        public bool ChestOpen(byte x, byte y)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket toSend = new OldPacket(PacketFamily.Chest, PacketAction.Open);

            toSend.AddChar(x);
            toSend.AddChar(y);

            return(m_client.SendPacket(toSend));
        }
Example #2
0
        /// <summary>
        /// Opens a locker at X/Y coordinates
        /// </summary>
        public bool OpenLocker(byte x, byte y)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Locker, PacketAction.Open);

            pkt.AddChar(x);
            pkt.AddChar(y);

            return(m_client.SendPacket(pkt));
        }
Example #3
0
        public bool ChestTakeItem(byte x, byte y, short itemID)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Chest, PacketAction.Take);

            pkt.AddChar(x);
            pkt.AddChar(y);
            pkt.AddShort(itemID);

            return(m_client.SendPacket(pkt));
        }
Example #4
0
        /// <summary>
        /// Deposit an item in your private locker
        /// </summary>
        public bool LockerAddItem(byte x, byte y, short id, int amount)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Locker, PacketAction.Add);

            pkt.AddChar(x);
            pkt.AddChar(y);
            pkt.AddShort(id);
            pkt.AddThree(amount);

            return(m_client.SendPacket(pkt));
        }
Example #5
0
        public bool RespondToQuestDialog(QuestState state, DialogReply reply, byte action = 0)
        {
            if (!Initialized || !m_client.ConnectedAndInitialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Quest, PacketAction.Accept);

            pkt.AddShort(state.SessionID); //session ID - ignored by default EOSERV
            pkt.AddShort(state.DialogID);  //dialog ID - ignored by default EOSERV
            pkt.AddShort(state.QuestID);
            pkt.AddShort(state.NPCIndex);  //npc index - ignored by default EOSERV
            pkt.AddChar((byte)reply);
            if (reply == DialogReply.Link)
            {
                pkt.AddChar(action);
            }

            return(m_client.SendPacket(pkt));
        }
Example #6
0
        public bool RequestQuestHistory(QuestPage page)
        {
            if (!Initialized || !m_client.ConnectedAndInitialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Quest, PacketAction.List);

            pkt.AddChar((byte)page);

            return(m_client.SendPacket(pkt));
        }
Example #7
0
        /// <summary>
        /// Cancel a pending trade
        /// </summary>
        public bool TradeClose()
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Trade, PacketAction.Close);

            pkt.AddChar(123); //?

            return(m_client.SendPacket(pkt));
        }
Example #8
0
        /// <summary>
        /// Set the agree flag for a pending trade offer
        /// </summary>
        /// <param name="agree">True to agree, false to un-agree</param>
        public bool TradeAgree(bool agree)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Trade, PacketAction.Agree);

            pkt.AddChar((byte)(agree ? 1 : 0));

            return(m_client.SendPacket(pkt));
        }
Example #9
0
        /// <summary>
        /// Accept another players request for trade
        /// </summary>
        /// <param name="characterID">ID of the other player's character</param>
        public bool TradeAcceptRequest(short characterID)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Trade, PacketAction.Accept);

            pkt.AddChar(123); //?
            pkt.AddShort(characterID);

            return(m_client.SendPacket(pkt));
        }
Example #10
0
        public bool UnequipItem(short id, byte subLoc = 0)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.PaperDoll, PacketAction.Remove);

            pkt.AddShort(id);
            pkt.AddChar(subLoc);

            return(m_client.SendPacket(pkt));
        }
Example #11
0
        private bool _trainStatShared(short id, TrainType type)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.StatSkill, PacketAction.Add);

            pkt.AddChar((byte)type);
            pkt.AddShort(id);

            return(m_client.SendPacket(pkt));
        }
Example #12
0
        public bool DoCastTargetSpell(short spellID, bool targetIsNPC, short targetID)
        {
            if (spellID < 0 || targetID < 0)
            {
                return(false);
            }

            if (!Initialized || !m_client.ConnectedAndInitialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Spell, PacketAction.TargetOther);

            pkt.AddChar((byte)(targetIsNPC ? 2 : 1));
            pkt.AddChar(1);  //unknown value
            pkt.AddShort(1); //unknown value
            pkt.AddShort(spellID);
            pkt.AddShort(targetID);
            pkt.AddThree(DateTime.Now.ToEOTimeStamp());

            return(m_client.SendPacket(pkt));
        }
Example #13
0
        public bool DropItem(short id, int amount, byte x = 255, byte y = 255) //255 means use character's current location
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Item, PacketAction.Drop);

            pkt.AddShort(id);
            pkt.AddInt(amount);
            if (x == 255 && y == 255)
            {
                pkt.AddByte(x);
                pkt.AddByte(y);
            }
            else
            {
                pkt.AddChar(x);
                pkt.AddChar(y);
            }

            return(m_client.SendPacket(pkt));
        }
Example #14
0
        public bool ReportEmote(Emote emote)
        {
            //trade/level up happen differently
            if (emote == Emote.Trade || emote == Emote.LevelUp)
            {
                return(false); //signal error client-side
            }
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Emote, PacketAction.Report);

            pkt.AddChar((byte)emote);

            return(m_client.SendPacket(pkt));
        }
Example #15
0
        public bool DoCastSelfSpell(short spellID)
        {
            if (spellID < 0)
            {
                return(false);
            }

            if (!Initialized || !m_client.ConnectedAndInitialized)
            {
                return(false);
            }

            OldPacket pkt = new OldPacket(PacketFamily.Spell, PacketAction.TargetSelf);

            pkt.AddChar(1); //target type
            pkt.AddShort(spellID);
            pkt.AddInt(DateTime.Now.ToEOTimeStamp());

            return(m_client.SendPacket(pkt));
        }
Example #16
0
        private void _settingChange(object sender, EventArgs e)
        {
            if (sender == m_buttons[0])
            {
                if (!m_soundChanged && !w.SoundEnabled)
                {
                    EOMessageBox.Show(DialogResourceID.SETTINGS_SOUND_DISABLED, EODialogButtons.OkCancel, EOMessageBoxStyle.SmallDialogSmallHeader,
                                      (o, args) =>
                    {
                        if (args.Result == XNADialogResult.OK)
                        {
                            m_soundChanged = true;
                            w.SoundEnabled = !w.SoundEnabled;
                            OldWorld.Instance.ActiveMapRenderer.PlayOrStopAmbientNoise();
                            m_leftSide[0].Text = OldWorld.GetString(w.SoundEnabled ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
                        }
                    });
                }
                else
                {
                    if (!m_soundChanged)
                    {
                        m_soundChanged = true;
                    }

                    w.SoundEnabled = !w.SoundEnabled;
                    OldWorld.Instance.ActiveMapRenderer.PlayOrStopAmbientNoise();
                    m_leftSide[0].Text = OldWorld.GetString(w.SoundEnabled ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
                }
            }
            else if (sender == m_buttons[1])
            {
                if (!m_musicChanged && !w.MusicEnabled)
                {
                    EOMessageBox.Show(DialogResourceID.SETTINGS_MUSIC_DISABLED, EODialogButtons.OkCancel, EOMessageBoxStyle.SmallDialogSmallHeader,
                                      (o, args) =>
                    {
                        if (args.Result == XNADialogResult.OK)
                        {
                            m_musicChanged = true;
                            w.MusicEnabled = !w.MusicEnabled;
                            OldWorld.Instance.ActiveMapRenderer.PlayOrStopBackgroundMusic();
                            m_leftSide[1].Text = OldWorld.GetString(w.MusicEnabled ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
                        }
                    });
                }
                else
                {
                    if (!m_musicChanged)
                    {
                        m_musicChanged = true;
                    }

                    w.MusicEnabled = !w.MusicEnabled;
                    OldWorld.Instance.ActiveMapRenderer.PlayOrStopBackgroundMusic();
                    m_leftSide[1].Text = OldWorld.GetString(w.MusicEnabled ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
                }
            }
            else if (sender == m_buttons[2])
            {
                m_keyboard++;
                if (m_keyboard > KeyLayout.Azerty)
                {
                    m_keyboard = 0;
                }
                m_leftSide[2].Text = OldWorld.GetString(EOResourceID.SETTING_KEYBOARD_ENGLISH + (int)m_keyboard);
            }
            else if (sender == m_buttons[3])
            {
                if (w.Language != EOLanguage.Portuguese)
                {
                    w.Language++;
                }
                else
                {
                    w.Language = 0;
                }
                _setTextForLanguage(); //need to reset all strings when language changes
            }
            else if (sender == m_buttons[4])
            {
                w.HearWhispers     = !w.HearWhispers;
                m_leftSide[4].Text = OldWorld.GetString(w.HearWhispers ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
                OldPacket pkt = new OldPacket(PacketFamily.Global, w.HearWhispers ? PacketAction.Remove : PacketAction.Player);
                pkt.AddChar(w.HearWhispers ? (byte)'n' : (byte)'y');
                w.Client.SendPacket(pkt);
            }
            else if (sender == m_buttons[5])
            {
                w.ShowChatBubbles   = !w.ShowChatBubbles;
                m_rightSide[0].Text = OldWorld.GetString(w.ShowChatBubbles ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
            }
            else if (sender == m_buttons[6])
            {
                w.ShowShadows       = !w.ShowShadows;
                m_rightSide[1].Text = OldWorld.GetString(w.ShowShadows ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
            }
            else if (sender == m_buttons[7])
            {
                EOResourceID str;
                if (w.StrictFilterEnabled)
                {
                    w.StrictFilterEnabled = false;
                    str = EOResourceID.SETTING_DISABLED;
                }
                else if (w.CurseFilterEnabled)
                {
                    w.CurseFilterEnabled  = false;
                    w.StrictFilterEnabled = true;
                    str = EOResourceID.SETTING_EXCLUSIVE;
                }
                else
                {
                    w.CurseFilterEnabled = true;
                    str = EOResourceID.SETTING_NORMAL;
                }
                m_rightSide[2].Text = OldWorld.GetString(str);
            }
            else if (sender == m_buttons[8])
            {
                w.LogChatToFile     = !w.LogChatToFile;
                m_rightSide[3].Text = OldWorld.GetString(w.LogChatToFile ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
            }
            else if (sender == m_buttons[9])
            {
                w.Interaction       = !w.Interaction;
                m_rightSide[4].Text = OldWorld.GetString(w.Interaction ? EOResourceID.SETTING_ENABLED : EOResourceID.SETTING_DISABLED);
            }
        }