Feature #739 ยป 0030-Unhardcode-wld.map-from-action_prob_self.patch
client/control.c | ||
---|---|---|
}
|
||
break;
|
||
case ATK_SELF:
|
||
if (action_prob_possible(action_prob_self(punit, act))) {
|
||
if (action_prob_possible(action_prob_self(nmap, punit, act))) {
|
||
request_do_action(act, punit->id, punit->id, 0, "");
|
||
}
|
||
break;
|
common/actions.c | ||
---|---|---|
Get the actor unit's probability of successfully performing the chosen
|
||
action on itself.
|
||
**************************************************************************/
|
||
struct act_prob action_prob_self(const struct unit *actor_unit,
|
||
struct act_prob action_prob_self(const struct civ_map *nmap,
|
||
const struct unit *actor_unit,
|
||
const action_id act_id)
|
||
{
|
||
const struct civ_map *nmap = &(wld.map);
|
||
return action_prob_self_full(nmap, actor_unit,
|
||
unit_home(actor_unit),
|
||
unit_tile(actor_unit),
|
||
... | ... | |
}
|
||
break;
|
||
case ATK_SELF:
|
||
prob = action_prob_self(act_unit, paction->id);
|
||
prob = action_prob_self(nmap, act_unit, paction->id);
|
||
break;
|
||
case ATK_COUNT:
|
||
log_error("Invalid action target kind");
|
common/actions.h | ||
---|---|---|
const struct tile *target,
|
||
const struct extra_type *tgt_extra);
|
||
struct act_prob action_prob_self(const struct unit *actor,
|
||
struct act_prob action_prob_self(const struct civ_map *nmap,
|
||
const struct unit *actor,
|
||
const action_id act_id);
|
||
struct act_prob action_prob_unit_vs_tgt(const struct action *paction,
|
server/actiontools.c | ||
---|---|---|
case ATK_SELF:
|
||
if (actor
|
||
&& is_action_enabled_unit_on_self(nmap, act, actor)) {
|
||
current = action_prob_self(actor, act);
|
||
current = action_prob_self(nmap, actor, act);
|
||
}
|
||
break;
|
||
case ATK_COUNT:
|
server/unithand.c | ||
---|---|---|
case ATK_SELF:
|
||
if (actor_target_distance == 0) {
|
||
/* Calculate the probabilities. */
|
||
probabilities[act] = action_prob_self(actor_unit, act);
|
||
probabilities[act] = action_prob_self(nmap, actor_unit, act);
|
||
} else {
|
||
/* Don't bother with self targeted actions unless the actor is
|
||
* asking about what can be done to its own tile. */
|
server/unittools.c | ||
---|---|---|
tgt_id = tgt_unit->id;
|
||
break;
|
||
case ATK_SELF:
|
||
prob = action_prob_self(punit, order.action);
|
||
prob = action_prob_self(nmap, punit, order.action);
|
||
tgt_id = unitid;
|
||
break;
|