Planeshift
Classes | Defines | Typedefs

psitem.h File Reference

#include <csutil/array.h>
#include <csgeom/vector3.h>
#include <csutil/weakreferenced.h>
#include "util/psconst.h"
#include "util/scriptvar.h"
#include "util/gameevent.h"
#include "util/slots.h"
#include <idal.h>
#include "util/poolallocator.h"
#include "net/messages.h"
#include "psskills.h"
#include "psitemstats.h"
#include "deleteobjcallback.h"
#include "psactionlocationinfo.h"
#include "lootrandomizer.h"

Go to the source code of this file.

Classes

class  psItem
 This class embodies item instances in the game. More...
class  psScheduledItem
class  RandomizedOverlay
 Stores the randomized stats from the loot randomizer, it could be used to apply any global special effect which is able to change various properties of the item: cost, mesh, name... More...

Defines

#define ID_DONT_SAVE_ITEM   0xffffffff
 This indicates that the item has been deleted from the database and should not be updated.
#define KEY_SKELETON   ((unsigned int)-2)
#define MAX_STACK_COUNT   65
#define PSITEM_FLAG_ACTIVE   0x00010000
 Flag defines if item can be used while equipped.
#define PSITEM_FLAG_CRAFTER_ID_IS_VALID   0x00000001
 The crafter ID field contains the id of the character that made this item.
#define PSITEM_FLAG_GUILD_ID_IS_VALID   0x00000002
 The guild ID field contains the id of a guild that certified this item.
#define PSITEM_FLAG_IDENTIFIABLE   0x00200000
 Flag for identifiable item (not yet identified)
#define PSITEM_FLAG_KEY   0x00000200
 Flag defines any item as a key to a locked object.
#define PSITEM_FLAG_LOCKABLE   0x00000080
 Flag to allow locking/unlocking of the item. It will add the "lock/unlock" icon in the context menu of the item.
#define PSITEM_FLAG_LOCKED   0x00000040
 Flags for locked status (as in a locked container). If locked it can be opened only with lockpick or key.
#define PSITEM_FLAG_MASTERKEY   0x00004000
 Flag defines any item as a key to a locked object that can be used to make a copy of the key.
#define PSITEM_FLAG_NOPICKUP   0x00000100
 Flag for an un-pickupable item (remains fixed)
#define PSITEM_FLAG_NOPICKUPWEAK   0x00100000
 Flag for an un-pickupable item (remains fixed) - weak variant.
#define PSITEM_FLAG_NPCOWNED   0x00002000
 Flag to indicate that players shouldn't be able to put items into this container.
#define PSITEM_FLAG_PURIFIED   0x00000010
 Flags used for glyphs.
#define PSITEM_FLAG_PURIFYING   0x00000020
#define PSITEM_FLAG_SECURITYLOCK   0x00001000
 Flag to indicate that lock is a security lock that stays locked.
#define PSITEM_FLAG_SETTINGITEM   0x00080000
 Flag defines if item is done by setting (unused by the server, it's more for ordering in the db)
#define PSITEM_FLAG_STACKABLE   0x00040000
 Flag defines if item can be stacked.
#define PSITEM_FLAG_TRANSIENT   0x00000400
 Transient items are removed from the world approx 3hrs after creation, if not picked up by someone.
#define PSITEM_FLAG_UNIQUE_ITEM   0x00000004
 This item uses its own unique psItemStats data (in the database), and modifications to the data are OK as they will reflect solely on this item.
#define PSITEM_FLAG_UNPICKABLE   0x00000800
 Flag to indicate that lock is unpickable.
#define PSITEM_FLAG_UNSTACKABLE   0x00020000
 Flag defines if item can *not* be stacked.
#define PSITEM_FLAG_USE_CD   0x00008000
 Flag defines if CD should be used on this item.
#define PSITEM_FLAG_USES_BASIC_ITEM   0x00000008
 This item is solely based on a basic item template.
#define PSITEM_MAX_MODIFIERS   10
 The maximum number of modifiers that can be applied to a single instance of an item on top of the base item.
#define REMOVAL_INTERVAL_MINIMUM   2419200
#define REMOVAL_INTERVAL_RANGE   300
 These two define how long an item will stay in the world before being auto-removed, in seconds.
#define SAVE_DEBUG   0
 Enable this to be notified of all item saving activity.
#define SAVE_TRACER   0
 Enable this to keep track of the initial caller of Save() (when used with SAVE_DEBUG, will print full trace)

Typedefs

typedef unsigned int PSITEM_FLAGS