Difference for doc/Developers/objects from version 1.15 to 1.16


version 1.15 version 1.16
Line 28
 
Line 28
  H. Body Location   H. Body Location
  I. Meaning of certain attributes for certain items:   I. Meaning of certain attributes for certain items:
  J. Lore   J. Lore
    K. Movement types
   
 4. SPECIAL OBJECTS  4. SPECIAL OBJECTS
   
Line 222
 
Line 223
 #define DISTHIT  7 /* attack from a distance if hit as recommended by Frank */  #define DISTHIT  7 /* attack from a distance if hit as recommended by Frank */
 #define WAIT2    8 /* monster does not try to move towards player if far    */  #define WAIT2    8 /* monster does not try to move towards player if far    */
                    /* maintains comfortable distance                        */                     /* maintains comfortable distance                        */
 #define PETMOVE 16 /* if the upper four bits of move_type / attack_movement */  #define PETMOVE 16 /* if the upper four bits of attack_movement     */
                    /* are set to this number, the monster follows a player  */                     /* are set to this number, the monster follows a player  */
                    /* until the owner calls it back or off                  */                     /* until the owner calls it back or off                  */
                    /* player followed denoted by 0b->owner                  */                     /* player followed denoted by 0b->owner                  */
Line 230
 
Line 231
                    /* attacking, and will continue to do so until the owner */                     /* attacking, and will continue to do so until the owner */
                    /* calls off the monster - a key command will be         */                     /* calls off the monster - a key command will be         */
                    /* inserted to do so                                     */                     /* inserted to do so                                     */
 #define CIRCLE1 32 /* if the upper four bits of move_type / attack_movement */  #define CIRCLE1 32 /* if the upper four bits of attack_movement             */
                    /* are set to this number, the monster will move in a    */                     /* are set to this number, the monster will move in a    */
                    /* circle until it is attacked, or the enemy field is    */                     /* circle until it is attacked, or the enemy field is    */
                    /* set, this is good for non-aggressive monsters and NPC */                     /* set, this is good for non-aggressive monsters and NPC */
Line 1078
 
Line 1079
 details about the object.  It will be put into books, possibly used by npc's  details about the object.  It will be put into books, possibly used by npc's
 and other places where general knowledge should be presented.  and other places where general knowledge should be presented.
   
   K. MOVEMENT TYPES
   ============================================================
   
   The movement types (MOVE_..) is a bitmask that determines which method
   of locomotion the object is using, and is also used to determine what
   types of movement the space blocks.  From define.h:
   
   #define MOVE_WALK       0x1     /* Object walks */
   #define MOVE_FLY_LOW    0x2     /* Low flying object */
   #define MOVE_FLY_HIGH   0x4     /* High flying object */
   #define MOVE_SWIM       0x8     /* Swimming object */
   
   The fields in the object themselves:
   
   move_type: Bitmask of above values which determines what form of movement
     this object uses.  For objects equipped by player/monster, move_type grants
     that movement.
   
     Note that move_type of MOVE_FLY (0x2) replaces FLAG_FLYING.
   
     In general, creatures will only have 1 movement type active at a time.
   
   move_block: Represents what movement types are unable to pass this space.
     If the creature has multiple movement types, they may still be able
     to pass the space.  For example, a player has MOVE_WALK | MOVE_FLY.
     He tries to move onto a space that blocks MOVE_WALK - not a problem,
     a he just flies over.
   
   move_on/move_off: Take bitmasks - represents for what movement types
     this object is activated on.  Replaces the walk/fly_on/off values
   
   move_slow: Like move_block, but represents what movement types are slowed
     on this space.  Note that it is not possible to specifiy different
     penalties for different movement types in the same object.  However,
     multiple objects with different move_slow values (and penalties) can
     be put on the same space.  This replaced FLAG_SLOW_MOVE, which is
     converted to only slow down walking movement
   
   move_slow_penalty (was slow_move) - how much the player is slowed down.
     This value is a float (before it was an int converted to a float
     at load time).  It is basically how much slower (percentage wise)
     the player moves through this terrain.  A value of 0 is basically
     a non operation.  A value of 0.5 means it takes 50% longer to move
     through the space.
   
     Certain terrain has skills which reduce the slow penalty (woodsmen
     in forest for example).  As of this writing, the penalty is reduced
     to 1/4 of what it would be.  Eg, a move_slow_penalty of 1.0 would
     say it takes twice as long to move through the space.  If the player
     has appropriate skill, it would now only take that player 25%
     longer to move through the space.
   
   move_state/move_status: This is unrelated to this movement code - it is
     used for monster attack_movement information.  it is only noted here
     since it starts with the move_ prefix.
   
   msg/endmsg:  If an object has move_block of move_slow and that affects
     the player movement, the objects message will be printed to the player -
     thus things like 'The jungle slows you down' or 'The wall is in the way'
     will be printed.  Various hints can be contained in the messages.
   
   Load/Save behaviour and backward compatability:
   The loader knows about certain old flags (walk_on, blocked, etc) and
   sets up the appropriate bitmasks.  When data is saved, it is saved
   as the move_... with actual bitmasks.
   
   Special player notes:
   Player can only pick up items if MOVE_WALK is set (this may need
   to be expanded down the road).  Basic idea is that if you are flying,
   can't reach the ground, if swimming, don't really have any free hands
   to grab anything.
   
 ******************************************************************************  ******************************************************************************
 4. SPECIAL OBJECTS  4. SPECIAL OBJECTS
Line 1625
 
Line 1697
 speed     <no>          speed of O.  A negative number means that speed_left  speed     <no>          speed of O.  A negative number means that speed_left
                         will be randomized when the object is loaded.                          will be randomized when the object is loaded.
 speed_left <no>         speed of O remaining, internal.  speed_left <no>         speed of O remaining, internal.
 slow_move <no>          Slow-down factor for player walking on this O.  
 face <bmap no>           bitmap first drawn for O.  face <bmap no>           bitmap first drawn for O.
 Str,Dex,Con,  Str,Dex,Con,
 Wis,Cha,Int <no>        default ability for O.  Wis,Cha,Int <no>        default ability for O.


Legend:
line(s) removed in v.1.15 
line(s) changed
 line(s) added in v.1.16

File made using version 1.98 of cvs2html by leaf at 2011-07-21 19:41