Difference for include/living.h from version 1.3 to 1.4


version 1.3 version 1.4
Line 1
 
Line 1
 /*  /*
  * static char *rcsid_living_h =   * static char *rcsid_living_h =
  *   "$Id: living.h,v 1.3 1999/09/17 23:40:03 damn Exp $";   *   "$Id: living.h,v 1.4 1999/09/18 07:36:03 damn Exp $";
  */   */
   
 /*  /*
Line 38
 
Line 38
   
 #define NO_STAT 99    /* needed by skills code -b.t. */  #define NO_STAT 99    /* needed by skills code -b.t. */
   
 /******************************************************************************/  
 /* Monster Movements added by kholland@sunlab.cit.cornell.edu                 */  
 /******************************************************************************/  
 /* if your monsters start acting wierd, mail me                               */  
 /******************************************************************************/  
 /* the following definitions are for the attack_movement variable in monsters */  
 /* if the attack_variable movement is left out of the monster archetype, or is*/  
 /* set to zero                                                                */  
 /* the standard mode of movement from previous versions of crossfire will be  */  
 /* used. the upper four bits of movement data are not in effect when the monst*/  
 /* er has an enemy. these should only be used for non agressive monsters.     */  
 /* to program a monsters movement add the attack movement numbers to the movem*/  
 /* ment numbers example a monster that moves in a circle until attacked and   */  
 /* then attacks from a distance:                                              */  
 /*                                                      CIRCLE1 = 32          */  
 /*                                              +       DISTATT = 1           */  
 /*                                      -------------------                   */  
 /*                      attack_movement = 33                                  */  
 /******************************************************************************/  
 #define DISTATT  1 /* move toward a player if far, but mantain some space,  */  
                    /* attack from a distance - good for missile users only  */  
 #define RUNATT   2 /* run but attack if player catches up to object         */  
 #define HITRUN   3 /* run to then hit player then run away cyclicly         */  
 #define WAITATT  4 /* wait for player to approach then hit, move if hit     */  
 #define RUSH     5 /* Rush toward player blindly, similiar to dumb monster  */  
 #define ALLRUN   6 /* always run never attack good for sim. of weak player  */  
 #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    */  
                    /* maintains comfortable distance                        */  
 #define PETMOVE 16 /* if the upper four bits of move_type / attack_movement */  
                    /* are set to this number, the monster follows a player  */  
                    /* until the owner calls it back or off                  */  
                    /* player followed denoted by 0b->owner                  */  
                    /* the monster will try to attack whatever the player is */  
                    /* attacking, and will continue to do so until the owner */  
                    /* calls off the monster - a key command will be         */  
                    /* inserted to do so                                     */  
 #define CIRCLE1 32 /* if the upper four bits of move_type / attack_movement */  
                    /* are set to this number, the monster will move in a    */  
                    /* circle until it is attacked, or the enemy field is    */  
                    /* set, this is good for non-aggressive monsters and NPC */   
 #define CIRCLE2 48 /* same as above but a larger circle is used             */  
 #define PACEH   64 /* The Monster will pace back and forth until attacked   */  
                    /* this is HORIZONTAL movement                           */  
 #define PACEH2  80 /* the monster will pace as above but the length of the  */  
                    /* pace area is longer and the monster stops before      */  
                    /* changing directions                                   */  
                    /* this is HORIZONTAL movement                           */  
 #define RANDO   96 /* the monster will go in a random direction until       */  
                    /* it is stopped by an obstacle, then it chooses another */  
                    /* direction.                                            */  
 #define RANDO2 112 /* constantly move in a different random direction       */  
 #define PACEV  128 /* The Monster will pace back and forth until attacked   */  
                    /* this is VERTICAL movement                             */  
 #define PACEV2 144 /* the monster will pace as above but the length of the  */  
                    /* pace area is longer and the monster stops before      */  
                    /* changing directions                                   */  
                    /* this is VERTICAL movement                             */  
 #define LO4     15 /* bitmasks for upper and lower 4 bits from 8 bit fields */  
 #define HI4    240  
   
 #define SLOW_PENALTY(xyz) ((xyz)->stats.exp)/1000.0  
 #define SET_SLOW_PENALTY(xyz,fl) (xyz)->stats.exp=(fl)*1000  
 #define SET_GENERATE_TYPE(xyz,va) (xyz)->stats.sp=(va)  
 #define GENERATE_TYPE(xyz) ((xyz)->stats.sp)  
 #define GENERATE_SPEED(xyz) ((xyz)->stats.maxsp) /* if(!RANDOM()%<speed>) */  
   
 extern char *attacks[NROFATTACKS];  extern char *attacks[NROFATTACKS];
 extern char *spellpathnames[NRSPELLPATHS];  extern char *spellpathnames[NRSPELLPATHS];
   


Legend:
line(s) removed in v.1.3 
line(s) changed
 line(s) added in v.1.4

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