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)); }
/// <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)); }
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)); }
/// <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)); }
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)); }
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)); }
/// <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)); }
/// <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)); }
/// <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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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); } }