Feature #839 » 0031-Unhardcode-wld.map-from-action_speculate_unit_on_cit.patch
| common/actions.c | ||
|---|---|---|
|
performing the chosen action on the target city given the specified
|
||
|
game state changes.
|
||
|
**************************************************************************/
|
||
|
struct act_prob action_speculate_unit_on_city(const action_id act_id,
|
||
|
struct act_prob action_speculate_unit_on_city(const struct civ_map *nmap,
|
||
|
const action_id act_id,
|
||
|
const struct unit *actor,
|
||
|
const struct city *actor_home,
|
||
|
const struct tile *actor_tile,
|
||
| ... | ... | |
|
* current position rather than on actor_tile. Maybe this function should
|
||
|
* return ACTPROB_NOT_IMPLEMENTED when one of those is detected and no
|
||
|
* other requirement makes the action ACTPROB_IMPOSSIBLE? */
|
||
|
const struct civ_map *nmap = &(wld.map);
|
||
|
if (omniscient_cheat) {
|
||
|
if (is_action_enabled_unit_on_city_full(nmap, act_id,
|
||
| common/actions.h | ||
|---|---|---|
|
const struct extra_type *sub_tgt);
|
||
|
struct act_prob
|
||
|
action_speculate_unit_on_city(action_id act_id,
|
||
|
action_speculate_unit_on_city(const struct civ_map *nmap,
|
||
|
action_id act_id,
|
||
|
const struct unit *actor,
|
||
|
const struct city *actor_home,
|
||
|
const struct tile *actor_tile,
|
||
| common/aicore/caravan.c | ||
|---|---|---|
|
bool consider_trade;
|
||
|
bool consider_windfall;
|
||
|
struct goods_type *pgood;
|
||
|
const struct civ_map *nmap = &(wld.map);
|
||
|
/* if no foreign trade is allowed, just quit. */
|
||
|
if (!does_foreign_trade_param_allow(parameter, pplayer_src, pplayer_dest)) {
|
||
| ... | ... | |
|
consider_wonder = parameter->consider_wonders
|
||
|
&& action_prob_possible(
|
||
|
action_speculate_unit_on_city(ACTION_HELP_WONDER,
|
||
|
action_speculate_unit_on_city(nmap, ACTION_HELP_WONDER,
|
||
|
caravan, src, city_tile(dest),
|
||
|
TRUE, dest));
|
||
|
consider_trade = parameter->consider_trade
|
||
|
&& action_prob_possible(
|
||
|
action_speculate_unit_on_city(ACTION_TRADE_ROUTE,
|
||
|
action_speculate_unit_on_city(nmap, ACTION_TRADE_ROUTE,
|
||
|
caravan, src, city_tile(dest),
|
||
|
TRUE, dest));
|
||
|
consider_windfall = parameter->consider_windfall
|
||
|
&& action_prob_possible(
|
||
|
action_speculate_unit_on_city(ACTION_MARKETPLACE,
|
||
|
action_speculate_unit_on_city(nmap, ACTION_MARKETPLACE,
|
||
|
caravan, src, city_tile(dest),
|
||
|
TRUE, dest));
|
||
| server/advisors/autoworkers.c | ||
|---|---|---|
|
struct extra_type *target,
|
||
|
const struct tile *ptile)
|
||
|
{
|
||
|
const struct civ_map *nmap = &(wld.map);
|
||
|
action_by_activity_iterate(paction, activity) {
|
||
|
if (action_get_actor_kind(paction) != AAK_UNIT) {
|
||
|
/* Not relevant. */
|
||
| ... | ... | |
|
switch (action_get_target_kind(paction)) {
|
||
|
case ATK_CITY:
|
||
|
return action_prob_possible(action_speculate_unit_on_city(
|
||
|
paction->id,
|
||
|
nmap, paction->id,
|
||
|
punit, unit_home(punit), ptile,
|
||
|
omniscient_cheat,
|
||
|
tile_city(ptile)));
|
||