Pol  Revision:cb584c9
dropitem.cpp File Reference
#include <cstdio>
#include <string>
#include "../bscript/berror.h"
#include "../clib/clib_endian.h"
#include "../clib/logfacility.h"
#include "../clib/passert.h"
#include "../clib/random.h"
#include "../clib/rawtypes.h"
#include "../plib/systemstate.h"
#include "containr.h"
#include "eventid.h"
#include "fnsearch.h"
#include "globals/uvars.h"
#include "item/item.h"
#include "los.h"
#include "mobile/charactr.h"
#include "mobile/npc.h"
#include "multi/multi.h"
#include "network/client.h"
#include "network/packetdefs.h"
#include "network/packethelper.h"
#include "network/packets.h"
#include "objtype.h"
#include "pktboth.h"
#include "pktdef.h"
#include "pktin.h"
#include "polcfg.h"
#include "realms/realm.h"
#include "reftypes.h"
#include "statmsg.h"
#include "storage.h"
#include "syshook.h"
#include "ufunc.h"
#include "uobject.h"
#include "uoscrobj.h"
#include "uworld.h"

Go to the source code of this file.

Namespaces

 Pol
 
 Pol::Core
 

Functions

bool Pol::Core::add_item_to_stack (Network::Client *client, Items::Item *item, Items::Item *target_item)
 
void Pol::Core::cancel_all_trades ()
 
void Pol::Core::cancel_trade (Mobile::Character *chr1)
 
void Pol::Core::change_trade_status (Mobile::Character *chr, bool set)
 
bool Pol::Core::do_open_trade_window (Network::Client *client, Items::Item *item, Mobile::Character *dropon)
 
bool Pol::Core::do_place_item_in_secure_trade_container (Network::Client *client, Items::Item *item, UContainer *cont, Mobile::Character *dropon, u16 x, u16 y, u8 move_type)
 
void Pol::Core::drop_item (Network::Client *client, PKTIN_08_V1 *msg)
 
bool Pol::Core::drop_item_on_ground (Network::Client *client, Items::Item *item, u16 x, u16 y, s8 z)
 
bool Pol::Core::drop_item_on_mobile (Network::Client *client, Items::Item *item, u32 target_serial, u8 slotIndex)
 
bool Pol::Core::drop_item_on_object (Network::Client *client, Items::Item *item, u32 target_serial, u8 slotIndex)
 
void Pol::Core::drop_item_v2 (Network::Client *client, PKTIN_08_V2 *msg)
 
UContainer * Pol::Core::find_giveitem_container (Items::Item *item_to_add, u8 slotIndex)
 
void Pol::Core::handle_secure_trade_msg (Network::Client *client, PKTBI_6F *msg)
 
bool Pol::Core::open_trade_window (Network::Client *client, Items::Item *item, Mobile::Character *dropon)
 
Bscript::BObjectImp * Pol::Core::open_trade_window (Network::Client *client, Mobile::Character *dropon)
 
bool Pol::Core::place_item (Network::Client *client, Items::Item *item, u32 target_serial, u16 x, u16 y, u8 slotIndex)
 
bool Pol::Core::place_item_in_container (Network::Client *client, Items::Item *item, UContainer *cont, u16 x, u16 y, u8 slotIndex)
 
bool Pol::Core::place_item_in_secure_trade_container (Network::Client *client, Items::Item *item, u16 x, u16 y)
 
Bscript::BObjectImp * Pol::Core::place_item_in_secure_trade_container (Network::Client *client, Items::Item *item)
 
void Pol::Core::return_traded_items (Mobile::Character *chr)
 
void Pol::Core::send_trade_container (Network::Client *client, Mobile::Character *whos, UContainer *cont)
 
void Pol::Core::send_trade_statuses (Mobile::Character *chr)
 

Detailed Description

History
  • 2005/05/28 Shinigami: now u can call open_trade_window without item and splitted (for use with uo::SecureTradeWin) place_item_in_secure_trade_container splitted (for use with uo::MoveItemToSecureTradeWin)
  • 2005/06/01 Shinigami: return_traded_items - added realm support
  • 2005/11/28 MuadDib: Added 2 more send_trade_statuses() for freshing of chr and droped_on in sending of secure trade windows. This was per packet checks on OSI, and works in newer clients. Unable to test in 2.0.0
  • 2009/07/20 MuadDib: Slot checks added where can_add() is called.
  • 2009/07/23 MuadDib: updates for new Enum::Packet Out ID
  • 2009/08/06 MuadDib: Added gotten_by code for items.
  • 2009/08/09 MuadDib: Refactor of Packet 0x25 for naming convention
  • 2009/08/16 MuadDib: find_giveitem_container(), removed passert, made it return nullptr to reject move instead of a crash. Added slot support to find_giveitem_container()
  • 2009/09/03 MuadDib: Changes for account related source file relocation Changes for multi related source file relocation
  • 2009/09/06 Turley: Changed Version checks to bitfield client->ClientType
  • 2009/11/19 Turley: removed sysmsg after CanInsert call (let scripter handle it) - Tomi
Note
FIXME: Does STW use slots with KR or newest 2d? If so, we must do slot checks there too.

Definition in file dropitem.cpp.