Freeciv-3.1: /fast/freeciv/nightly/S3_1/server/advisors/autosettlers.h File Reference

Freeciv-3.1

Loading...
Searching...
No Matches
Macros | Functions | Variables
autosettlers.h File Reference
`#include "fc_types.h"`
`#include "map.h"`

Go to the source code of this file.

## Macros

#define | as_transform_action_iterate(_act_)
#define | as_transform_action_iterate_end
#define | as_extra_action_iterate(_act_)
#define | as_extra_action_iterate_end
#define | as_rmextra_action_iterate(_act_)
#define | as_rmextra_action_iterate_end

## Functions

void | auto_settlers_ruleset_init (void)
void | adv_settlers_free (void)
void | auto_settlers_player (struct player *pplayer)
void | auto_settler_findwork (const struct civ_map *nmap, struct player *pplayer, struct unit *punit, struct settlermap *state, int recursion)
bool | auto_settler_setup_work (const struct civ_map *nmap, struct player *pplayer, struct unit *punit, struct settlermap *state, int recursion, struct pf_path *path, struct tile *best_tile, enum unit_activity best_act, struct extra_type **best_target, int completion_time)
adv_want | settler_evaluate_improvements (const struct civ_map *nmap, struct unit *punit, enum unit_activity *best_act, struct extra_type **best_target, struct tile **best_tile, struct pf_path **path, struct settlermap *state)
struct city * | settler_evaluate_city_requests (struct unit *punit, struct worker_task **best_task, struct pf_path **path, struct settlermap *state)
void | adv_unit_new_task (struct unit *punit, enum adv_unit_task task, struct tile *ptile)
bool | adv_settler_safe_tile (const struct civ_map *nmap, const struct player *pplayer, struct unit *punit, struct tile *ptile)
adv_want | adv_settlers_road_bonus (const struct civ_map *nmap, struct tile *ptile, struct road_type *proad)
bool | auto_settlers_speculate_can_act_at (const struct unit *punit, enum unit_activity activity, bool omniscient_cheat, struct extra_type *target, const struct tile *ptile)

## Variables

action_id | as_actions_transform [MAX_NUM_ACTIONS]
action_id | as_actions_extra [MAX_NUM_ACTIONS]
action_id | as_actions_rmextra [MAX_NUM_ACTIONS]

## Macro Definition Documentation

## ◆ as_extra_action_iterate

#define as_extra_action_iterate | ( |  | _act_ | ) |

Value:
{ \
action_array_iterate(as_actions_extra, _act_)
as_actions_extra
action_id as_actions_extra[MAX_NUM_ACTIONS]
Definition autosettlers.c:77

Definition at line 85 of file autosettlers.h.

## ◆ as_extra_action_iterate_end

#define as_extra_action_iterate_end

Value:
action_array_iterate_end \
}
action_array_iterate_end
#define action_array_iterate_end
Definition actions.h:516

Definition at line 89 of file autosettlers.h.

## ◆ as_rmextra_action_iterate

#define as_rmextra_action_iterate | ( |  | _act_ | ) |

Value:
{ \
action_array_iterate(as_actions_rmextra, _act_)
as_actions_rmextra
action_id as_actions_rmextra[MAX_NUM_ACTIONS]
Definition autosettlers.c:78

Definition at line 95 of file autosettlers.h.

## ◆ as_rmextra_action_iterate_end

#define as_rmextra_action_iterate_end

Value:
action_array_iterate_end \
}

Definition at line 99 of file autosettlers.h.

## ◆ as_transform_action_iterate

#define as_transform_action_iterate | ( |  | _act_ | ) |

Value:
{ \
action_array_iterate(as_actions_transform, _act_)
as_actions_transform
action_id as_actions_transform[MAX_NUM_ACTIONS]
Definition autosettlers.c:76

Definition at line 75 of file autosettlers.h.

## ◆ as_transform_action_iterate_end

#define as_transform_action_iterate_end

Value:
action_array_iterate_end \
}

Definition at line 79 of file autosettlers.h.

## Function Documentation

## ◆ adv_settler_safe_tile()

bool adv_settler_safe_tile | ( | const struct civ_map * | nmap,
|  | const struct player * | pplayer,
|  | struct unit * | punit,
|  | struct tile * | ptile
| ) |  |

Do we consider tile safe for autosettler to work?

Definition at line 1142 of file autosettlers.c.

Referenced by auto_settlers_player(), dai_auto_settler_cont(), and settler_evaluate_improvements().

## ◆ adv_settlers_free()

void adv_settlers_free | ( | void |  | ) |

Free resources allocated for autosettlers system

Definition at line 85 of file autosettlers.c.

Referenced by server_quit().

## ◆ adv_settlers_road_bonus()

adv_want adv_settlers_road_bonus | ( | const struct civ_map * | nmap,
|  | struct tile * | ptile,
|  | struct road_type * | proad
| ) |  |

Calculate the attractiveness of building a road/rail at the given tile.

This calculates the overall benefit of connecting the civilization; this is independent from the local tile (trade) bonus granted by the road.

Definition at line 133 of file autosettlers.c.

Referenced by settler_evaluate_improvements(), tai_tile_worker_task_select(), and texai_tile_worker_task_select().

## ◆ adv_unit_new_task()

void adv_unit_new_task | ( | struct unit * | punit,
|  | enum adv_unit_task | task,
|  | struct tile * | ptile
| ) |  |

Change unit's advisor task.

Definition at line 1267 of file autosettlers.c.

Referenced by auto_settler_findwork(), dai_auto_settler_run(), dai_manage_settler(), handle_unit_change_activity_real(), handle_unit_orders(), player_restore_units(), server_remove_unit_full(), and unit_plans_clear().

## ◆ auto_settler_findwork()

void auto_settler_findwork | ( | const struct civ_map * | nmap,
|  | struct player * | pplayer,
|  | struct unit * | punit,
|  | struct settlermap * | state,
|  | int | recursion
| ) |  |

Definition at line 921 of file autosettlers.c.

Referenced by auto_settler_setup_work(), and auto_settlers_player().

## ◆ auto_settler_setup_work()

bool auto_settler_setup_work | ( | const struct civ_map * | nmap,
|  | struct player * | pplayer,
|  | struct unit * | punit,
|  | struct settlermap * | state,
|  | int | recursion,
|  | struct pf_path * | path,
|  | struct tile * | best_tile,
|  | enum unit_activity | best_act,
|  | struct extra_type ** | best_target,
|  | int | completion_time
| ) |  |

Setup our settler to do the work it has found. Returns TRUE if started actual work.

Definition at line 1010 of file autosettlers.c.

Referenced by auto_settler_findwork(), and dai_auto_settler_run().

## ◆ auto_settlers_player()

void auto_settlers_player | ( | struct player * | pplayer | ) |

Run through all the players settlers and let those on ai.control work automagically.

Definition at line 1164 of file autosettlers.c.

Referenced by end_phase().

## ◆ auto_settlers_ruleset_init()

void auto_settlers_ruleset_init | ( | void |  | ) |

Initialize auto settlers based on the ruleset.

Definition at line 94 of file autosettlers.c.

Referenced by adv_units_ruleset_init().

## ◆ auto_settlers_speculate_can_act_at()

bool auto_settlers_speculate_can_act_at | ( | const struct unit * | punit,
|  | enum unit_activity | activity,
|  | bool | omniscient_cheat,
|  | struct extra_type * | target,
|  | const struct tile * | ptile
| ) |  |

Returns TRUE iff the unit can do the targeted activity at the given location.

Definition at line 1284 of file autosettlers.c.

Referenced by settler_evaluate_city_requests().

## ◆ settler_evaluate_city_requests()

struct city * settler_evaluate_city_requests | ( | struct unit * | punit,
|  | struct worker_task ** | best_task,
|  | struct pf_path ** | path,
|  | struct settlermap * | state
| ) |  |

Return best city request to fulfill.

Definition at line 830 of file autosettlers.c.

Referenced by auto_settler_findwork(), and dai_auto_settler_run().

## ◆ settler_evaluate_improvements()

adv_want settler_evaluate_improvements | ( | const struct civ_map * | nmap,
|  | struct unit * | punit,
|  | enum unit_activity * | best_act,
|  | struct extra_type ** | best_target,
|  | struct tile ** | best_tile,
|  | struct pf_path ** | path,
|  | struct settlermap * | state
| ) |  |

Finds tiles to improve, using punit.

The returned value is the goodness of the best tile and action found. If this return value is > 0, then best_tile indicates the tile chosen, bestact indicates the activity it wants to do, and path (if not NULL) indicates the path to follow for the unit. If 0 is returned then there are no worthwhile activities available.

completion_time is the time that would be taken by punit to travel to and complete work at best_tile

state contains, for each tile, the unit id of the worker en route, and the eta of this worker (if any). This information is used to possibly displace this previously assigned worker. if this array is NULL, workers are never displaced.

Definition at line 442 of file autosettlers.c.

Referenced by auto_settler_findwork(), contemplate_terrain_improvements(), and dai_auto_settler_run().

## Variable Documentation

## ◆ as_actions_extra

action_id as_actions_extra[MAX_NUM_ACTIONS]

extern

Definition at line 77 of file autosettlers.c.

Referenced by auto_settlers_ruleset_init().

## ◆ as_actions_rmextra

action_id as_actions_rmextra[MAX_NUM_ACTIONS]

extern

Definition at line 78 of file autosettlers.c.

Referenced by auto_settlers_ruleset_init().

## ◆ as_actions_transform

action_id as_actions_transform[MAX_NUM_ACTIONS]

extern

Definition at line 76 of file autosettlers.c.

Referenced by auto_settlers_ruleset_init().