B_goal.c

This module implements the choosing of and dealing with goals.

Uses:

b_locate.c
b_fuzzy.c
b_hear.c
b_waypnt.c
 

Exports:
 

// Makes the bot view towards the goal
//
// Parameter:            bot : bot which must view towards goal
// Returns:              -
//

void (entity bot) BotTurnTowardsGoal;

// Finds a roam goal for the given bot.
//
// Parameter:            bot : bot to find roam goal for
// Returns:              roam goal
//

vector (entity bot) BotRoamGoal;

// Creates a bot goal touch entity.
//
// Parameter:            -
// Returns:              created entity
//

entity () CreateBotGoal;

// Called when an item is touched by a bot.
//
// Parameter:            bot  : bot touching the item
//                       item : touched item
// Returns:              -
//

void (entity bot, entity item) BotTouchedItem;

// Called when the bot triggered an entity.
//
// Parameter:            bot     : bot triggering
//                       trigger : triggered entity
// Returns:              -
//

void (entity bot, entity trigger) BotTriggered;

// Called when the bot touched a door.
//
// Parameter:            bot     : bot touching the door
// Returns:              -
//

void (entity bot) BotTouchedDoor;

// Finds a nearby goal during seek.
//
// Parameter:            bot       : bot to find goal for
//                       minweight : minimum goal weight
//                       better    : true if goal must be better than current
// Returns:              true if goal is found
//

float (entity bot, float minweight, float better) BotSeekFindItem;

// Finds a nearby goal during battle.
//
// Parameter:            bot       : bot to find goal for
//                       minweight : minimum goal weight
// Returns:              true if goal is found
//

float (entity bot, float minweight) BotBattleFindItem;

// Finds nearby enemy goal for the bot.
//
// Parameter:            bot : bot to find enemy for
// Returns:              true if enemy is found
//

float (entity bot) BotFindEnemy;

// Finds the best waypoint goal to chase the enemy.
//
// Parameter:            bot : bot chasing enemey
//                       en  : enemy of the bot
// Returns:              best chase waypoint
//                       'world' if no waypoint found
//

entity (entity bot, entity en) BestChaseWaypoint;

// Finds the best waypoint goal to retreat from the enemy.
//
// Parameter:            bot : bot retreating from enemy.
//                       en  : enemy of the bot
// Returns:              best retreat waypoint
//                       'world' if no waypoint found
//

entity (entity bot, entity en) BestRetreatWaypoint;

// Finds best waypoint towards a long term goal.
// Chooses new long term goal if necessary.
// These long term goals are:
// - normal long term goal
// - walkabout goal
//
// Parameter:            bot : bot to choose ltg for
// Returns:              best waypoint leading towards long term goal
//                       'world' if no waypoint found
//

entity (entity bot) BestLongTermGoalWaypoint;

// Finds the best waypoint goal towards a sound from a possible enemy.
//
// Parameter:            bot : the bot listening
// Returns:              best waypoint towards sound when found
//                       'world' otherwise
//

entity (entity bot) BestSoundGoalWaypoint;