/**
* The helper include file for the goals system.
* @author Pinkfish
* @started Thu Jul 30 18:08:47 PDT 1998
* @see /std/living/goals.c
* @see /std/npc/goals/base.c
*/
#ifndef __GOALS_H__
/** @ignore yes */
#define __GOALS_H__
/**
* The lowest priority goal.
*/
#define GOAL_LOWEST_PRIORITY 0
/**
* A low priority goal.
*/
#define GOAL_LOW_PRIORITY 1000
/**
* A medium priority goal.
*/
#define GOAL_MEDIUM_PRIORITY 2000
/**
* A high priority goal.
*/
#define GOAL_HIGH_PRIORITY 3000
/**
* A very high priority goal.
*/
#define GOAL_VERY_HIGH_PRIORITY 4000
/**
* The invalid priority for a goal.
*/
#define GOAL_INVALID_PRIORITY -32768
/**
* The default priority for a goal that does not have a priority set.
*/
#define GOAL_DEFAULT_PRIORITY GOAL_LOWEST_PRIORITY
/**
* This is the return value for the goal which tells it to skip
* this goal and continue onto the next.
*/
#define GOAL_CONTINUE_PROCESSING 1
/**
* The directory all the standard goals will go in.
*/
#define GOALS_DIR "/std/npc/goals/"
/**
* The basic inherit for all npc goals.
*/
#define GOAL_BASE_INHERIT (GOALS_DIR "base")
/**
* The class used to keep track of the data passed into a goal.
*/
class goal_control {
/** The extra plans associated with the goal. */
mapping extra_plans;
/** The current plan of the goal. */
string current_plan;
/** The override priority of the goal. */
int priority;
/** The data is controled by the goal itself. */
mixed data;
/** The plan data for each plan. */
mapping plan_info;
}
/**
* This is the return value from the event handling routine if the event
* was not handled.
*/
#define GOAL_EVENT_NOT_HANDLED 0
/**
* This is the return value from the event handling system if the event
* was handled.
*/
#define GOAL_EVENT_HANDLED 1
#endif