26 #ifndef EVE_INVENTORY_ITEM_H
27 #define EVE_INVENTORY_ITEM_H
45 class Rsp_CommonGetInfo_Entry;
220 virtual bool _Load();
250 if( type ==
nullptr )
253 return _Ty::template _LoadItem<_Ty>(
itemID, *
type, data );
269 bool Populate(Rsp_CommonGetInfo_Entry &into);
bool SetQuantity(int32 qty, bool notify=false, bool deleteOnZero=true)
PyPackedRow * GetItemRow() const
bool HasReqSkill(const uint16 skillID)
virtual InventoryItemRef Split(int32 qty=0, bool notify=true, bool silent=false)
void Donate(uint32 new_owner=ownerSystem, uint32 new_location=locTemp, EVEItemFlags new_flag=flagNone, bool notify=true)
void SendItemChange(uint32 toID, std::map< int32, PyRep * > &changes)
InventoryItem & operator=(const InventoryItem &oth)=delete
PyList * GetItemInfo() const
static InventoryItemRef SpawnItem(uint32 itemID, const ItemData &data)
virtual bool Merge(InventoryItemRef to_merge, int32 qty=0, bool notify=true)
bool HasReqSkill(const uint16 skillID) const
static RefPtr< _Ty > _LoadItem(uint32 itemID, const ItemType &type, const ItemData &data)
bool HasAttribute(const uint16 attrID) const
bool SetFlag(EVEItemFlags flag, bool notify=false)
virtual void RemoveItem(InventoryItemRef iRef)
virtual void AddItem(InventoryItemRef iRef)
const GPoint & position() const
void ResetAttribute(uint16 attrID, bool notify=false)
const std::string & customInfo() const
A reference-counted object.
void UpdateLocation(uint32 locID)
bool SkillCheck(InventoryItemRef refItem)
EvilNumber GetDefaultAttribute(const uint16 attrID) const
EvilNumber GetAttribute(const uint16 attributeID) const
void SetPosition(const GPoint &pos)
this is a class that kinda mimics how python polymorph's numbers.
PyPackedRow * GetItemStatusRow() const
void DeleteAttribute(uint16 attrID)
virtual void Relocate(uint32 locID=0, EVEItemFlags flag=flagNone)
void Move(uint32 new_location=locTemp, EVEItemFlags flag=flagNone, bool notify=false)
AttributeMap * GetAttributeMap()
void GetChargeStatusRow(uint32 shipID, PyPackedRow *into) const
static RefPtr< _Ty > _Load(uint32 itemID)
EvilNumber GetAttribute(const uint16 attrID) const
const ItemType & type() const
typeID Spawn an NPC with the specified type text Search for items matching the specified query() type()() itemID() copy() materialLevel()()() itemID() itemID Fits selected item to active ship() skillID(level)-gives skillID to specified level." ) COMMAND( online
double GetPackagedVolume()
void SetOwner(uint32 ownerID)
void ResetAttribute(uint16 attrID, bool notify=false)
std::multimap< int8, fxData > m_modifiers
uint32 locationID() const
bool AlterQuantity(int32 qty, bool notify=false)
static InventoryItemRef SpawnTemp(ItemData &data)
static uint32 CreateTempItemID(ItemData &data)
bool HasAttribute(const uint16 attrID) const
void SetAttribute(uint16 attrID, int num, bool notify=true)
virtual ShipItem * GetShipItem()
void ChangeOwner(uint32 new_owner, bool notify=false)
bool Populate(Rsp_CommonGetInfo_Entry &into)
static InventoryItemRef Load(uint32 itemID)
bool ChangeSingleton(bool singleton, bool notify=false)
static InventoryItemRef Spawn(ItemData &data)
virtual ModuleItem * GetModuleItem()
void SetCustomInfo(const char *ci)
void MultiplyAttribute(uint16 attrID, EvilNumber num, bool notify=false)
EVEItemFlags flag() const
InventoryItem(uint32 _itemID, const ItemType &_type, const ItemData &_data)
const std::string & itemName() const
static uint32 CreateItemID(ItemData &data)
EvilNumber GetAttribute(const uint16 attrID) const
void AddModifier(fxData &data)
virtual void SetPlayer(Client *pClient)
bool HasAttribute(const uint16 attrID, EvilNumber &value) const
virtual void Rename(std::string name)
virtual bool IsModuleItem()
void DeleteAttribute(uint16 attrID)
virtual ~InventoryItem() noexcept
AttributeMap * pAttributeMap
void RemoveModifier(fxData &data)
Inventory * GetMyInventory()
static bool GetItem(uint32 itemID, ItemData &into)
static RefPtr< _Ty > Load(uint32 itemID)
void MergeTypesInCargo(ShipItem *pShip, EVEItemFlags flag=flagNone)
virtual bool IsShipItem()
void ToVirtual(uint32 locationID)
virtual Client * GetPilot()