This is the description of fields of the object structure, and what they are used to.
See also objects
fill in the blanks :) add sharedstring info
maybe this should be part of the object.h file directly?
make a script to either do object.h → this page, or this page → object.h
Type: pl *
Meaning:
Type: obj *
Meaning:
check server/c_object.c:840
, line for (tmp=op→below; tmp!=NULL; tmp=tmp→next)
sounds suspicious (should probably be tmp→below
).
Type: obj *
Meaning:
Type: obj *
Meaning:
Type: obj *
Meaning:
Type: obj *
Meaning:
Type: obj *
Meaning:
Type: object * pointing to the first item in inventory. Other items are available through below
chaining.
Meaning:
Type: obj *
Meaning: Current container being used. I think this is only used by the player right now.
Type: obj *
Meaning: Pointer to the object which is the environment. This is typically the container that the object is in.
Type: obj *
Meaning: Pointer to the rest of a large body of objects
Type: obj *
Meaning: Points to the main object of a large body
Type: mapdef *
Meaning: Pointer to the map in which this object is present
Type: tag_t
Meaning: Unique object number for this object
Type: const char * (shared string)
Meaning: The name of the object, obviously…
Type: const char * (shared string)
Meaning: The plural name of the object. Shared string.
Type: const char * (shared string)
Meaning: Of foo, etc.
Type: const char * (shared string)
Type: const char * (shared string)
Meaning:
many more uses
Type: const char * (shared string)
Meaning: Name of the skill this object uses/grants
Type: const char * (shared string)
Meaning:
check other uses.
Type: const char * (shared string)
Meaning: Obscure information about this object, to get put into books and the like.
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning: For debugging: Where it was last inserted
Type: sint16
Meaning: For debugging: Where it was last inserted
Type: float
Meaning:
Type: float
Meaning:
Type: uint32
Meaning:
Type: New_Face *
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: uint8
Meaning:
Type: uint16
Meaning:
Type: sint16[NROFATTACKS]
Meaning:
Type: uint32
Meaning:
Type: uint32
Meaning:
Type: uint32
Meaning:
Type: uint32
Meaning:
Type: uint16
Meaning:
Type: const char * (shared string)
Meaning:
Type: sint8
Meaning:
Type: uint8
Meaning:
Type: sint32
Meaning:
Type: sint16
Meaning:
Type: sint32
Meaning:
Type: sint32
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: uint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint32
Meaning:
Type: sint32
Meaning:
Type: sint32
Meaning:
Type: sint8
Meaning:
Type: living
Meaning:
Type: sint64
Meaning:
Type: const char * (shared string)
Meaning:
Type: obj *
Meaning:
Type: uint32
Meaning:
Type: uint32
Meaning:
Type: sint8[NUM_BODY_LOCATIONS]
Meaning:
Type: sint8[NUM_BODY_LOCATIONS]
Meaning:
Type: obj *
Meaning:
Type: tag_t
Meaning:
Type: obj *
Meaning:
Type: obj *
Meaning:
Type: tag_t
Meaning:
Type: treasureliststruct *
Meaning:
Type: uint16
Meaning:
Type: obj *
Meaning:
Type: uint32
Meaning:
Type: sint32
Meaning:
Type: uint16
Meaning:
Type: uint8
Meaning:
Type: obj *
Meaning:
Type: double
Meaning:
Type: sint16
Meaning:
Type: uint8
Meaning:
Type: sint16
Meaning:
Type: obj *
Meaning:
Type: uint16
Meaning:
Type: char *
Meaning:
Type: uint8
Meaning:
Type: sint8
Meaning:
Type: uint8
Meaning:
Type: archt *
Meaning:
Type: archt *
Meaning:
Type: uint32[4]
Meaning:
Type: uint16
Meaning:
Type: uint8
Meaning:
Type: uint8
Meaning:
Type: sint32
Meaning:
Type: uint8
Meaning:
Type: uint8
Meaning:
Type: MoveType
Meaning:
Type: MoveType
Meaning: Prevents a character or monster from moving onto a tile occupied by the object.
Type: MoveType
Meaning:
Type: MoveType
Meaning:
Type: MoveType
Meaning:
Type: MoveType
Meaning:
Type: float
Meaning:
Type: const char * (shared string)
Meaning:
Type: key_value *
Meaning:
Type: uint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint8
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint64
Meaning:
Type: sint16
Meaning:
Type: sint16
Meaning:
Type: sint8
Meaning:
Those fields are not part of the object
or Stats
structures, but used through the key/value mechanism.
Those control the price the item should have. They are a ratio from the item's raw value, and are applied without any bargaining / charism / shop specialization effect.
Values should be a valid float (as recognized by atof
).
If price_adjustment is set, it will override the other 2 keys. Else any of the 2 can be not set without any side effect.
For god-given items, name of the god that gave the item. Used to remove them if player switches cult.
Specified god has blessed the item. Used to avoid accumulating blessings.
Player owning the item, so other players can't bless it. If set, the item can't be applied by another player unless he has enough experience (see item_willpower).
For GENERATOR ({} real flag) objects, a key to copy to generated monsters, so they can be tracked.
For GENERATOR ({} ditto) objects, the maximum number of generated monsters allowed at the same time.
Name of the generator {}, used for generator_code value. If unset will use generator's name, else generator
.
Should be the name of an archetype. When containing object is applied, this specific object is generated, and inserted at the same place as the containing object. Used mostly for giving empty bottles when drinking stuff.
If set incombination with item_owner, an item will refuse to be applied by another player who doesn't have at least that much experience.
For TRANSPORT ({} real type), the maximum players can board at the same time.
For TRANSPORT, face to use when it's full.
Control the max speed of the TRANSPORT, based on the formula speed = base_speed - (base_speed * weight the transport is carrying * weight_speed_ratio) / (transport's weight_limit * 100
Those are used by spell effects, to store when player should be warned of effect expiration. Player will get a message when spell's duration reaches the first value, then the second. Will be set by the code automatically, should be a number parsable via atoi().