134 _(
"Your %s was caught attempting to do %s!"),
140 _(
"You caught %s %s attempting to do %s in %s!"),
162 _(
"Your %s poisoned the water supply of %s."),
166 _(
"%s is suspected of poisoning the water supply of %s."),
180 _(
"Your %s destroyed %s by poisoning its water supply."),
184 _(
"%s is suspected of destroying %s by poisoning its"
257 _(
"Your %s was caught attempting to do %s!"),
263 _(
"You caught %s %s attempting to do %s in %s!"),
292 _(
"Your %s did %s to %s."),
298 _(
"%s done to %s, %s suspected."),
516 _(
"You have established an embassy in %s."),
520 _(
"The %s have established an embassy in %s."),
592 _(
"Your %s's successful sabotage killed the %s %s."),
599 _(
"Your %s was killed by %s sabotage!"),
610 _(
"Your %s succeeded in sabotaging the %s %s."),
617 _(
"Your %s was sabotaged by the %s!"),
680 "bribe-unit: already got unique unit");
691 _(
"You don't have enough gold to bribe the %s %s."),
694 log_debug(
"bribe-unit: not enough gold");
733 _(
"Your %s succeeded in bribing the %s."),
741 _(
"Your %s was bribed by the %s."),
763 log_normal(
"%s has bribed %s but has not %d gold at payment time, "
828 _(
"You are not in war with all the units in the stack."));
839 _(
"You don't have enough gold to bribe the unit stack."));
840 log_debug(
"bribe-stack: not enough gold");
856 _(
"Your %s was bribed by the %s."),
875 _(
"Your %s succeeded in bribing %d units."),
886 log_normal(
"%s has bribed %d units but has not %d gold at payment time, "
1067 }
else if (technology !=
A_UNSET) {
1101 log_debug(
"steal-tech: difficulty: impossible");
1110 log_debug(
"steal-tech: difficulty: %d", count);
1127 _(
"%s was expecting your attempt to steal technology "
1128 "again. Your %s was caught and executed."),
1134 _(
"The %s %s failed to steal technology again from %s. "
1135 "We were prepared for the attempt."),
1143 _(
"Your %s was caught in the attempt of"
1144 " stealing technology from %s."),
1150 _(
"The %s %s failed to steal technology from %s."),
1168 _(
"No new technology found in %s."),
1211 PL_(
"Your %d gold prepared to incite the revolt was lost!",
1212 "Your %d gold prepared to incite the revolt was lost!",
1222 PL_(
"Your security service captured %d gold prepared "
1223 "to incite your town!",
1224 "Your security service captured %d gold prepared "
1292 _(
"You don't have enough gold to subvert %s."),
1314 _(
"Your %s was caught in the attempt"
1315 " of inciting a revolt!"),
1318 _(
"You caught %s %s attempting"
1319 " to incite a revolt in %s!"),
1348 _(
"Revolt incited in %s, you now rule the city!"),
1351 _(
"%s has revolted, %s influence suspected."),
1355 pcity->shield_stock = 0;
1442 _(
"Your %s was caught in the attempt"
1443 " of industrial sabotage!"),
1447 _(
"You caught %s %s attempting sabotage in %s!"),
1465 if (pimprove->sabotage > 0) {
1470 log_debug(
"sabotage: count of improvements: %d", count);
1480 if (count == 0 &&
pcity->shield_stock == 0) {
1483 _(
"Your %s could not find anything to sabotage in %s."),
1488 log_debug(
"sabotage: random: nothing to do");
1491 if (count == 0 ||
fc_rand (2) == 1) {
1493 log_debug(
"sabotage: random: targeted production");
1499 if (pimprove->sabotage > 0) {
1510 log_debug(
"sabotage: random: targeted improvement: %d (%s)",
1514 log_error(
"sabotage: random: targeted improvement error!");
1517 }
else if (improvement < 0) {
1520 log_debug(
"sabotage: specified target production");
1523 if (pimprove ==
NULL) {
1524 log_error(
"sabotage: requested for invalid improvement %d", improvement);
1535 log_debug(
"sabotage: specified target improvement: %d (%s)",
1540 _(
"You cannot sabotage a %s!"),
1544 log_debug(
"sabotage: disallowed target improvement: %d (%s)",
1551 _(
"Your %s could not find the %s to sabotage in %s."),
1557 log_debug(
"sabotage: target improvement not found: %d (%s)",
1568 pcity->shield_stock = 0;
1576 _(
"Your %s succeeded in destroying"
1577 " the production of %s in %s."),
1583 _(
"The production of %s was destroyed in %s,"
1584 " %s are suspected."),
1588 log_debug(
"sabotage: sabotaged production");
1607 _(
"Your %s was caught in the attempt of sabotage!"),
1611 _(
"You caught %s %s attempting"
1612 " to sabotage the %s in %s!"),
1623 log_debug(
"sabotage: caught in capital or on city walls");
1630 _(
"Your %s destroyed the %s in %s."),
1636 _(
"The %s destroyed the %s in %s."),
1640 log_debug(
"sabotage: sabotaged improvement: %d (%s)",
1733 _(
"Your %s was caught attempting to steal gold!"),
1738 _(
"You caught %s %s attempting"
1739 " to steal your gold in %s!"),
1784 PL_(
"Your %s stole %d gold from %s.",
1785 "Your %s stole %d gold from %s.",
gold_give),
1789 PL_(
"%d gold stolen from %s, %s suspected.",
1790 "%d gold stolen from %s, %s suspected.",
gold_take),
1864 log_debug(
"steal some maps: infiltrated");
1870 _(
"Your %s was caught in an attempt of"
1871 " stealing parts of the %s world map!"),
1876 _(
"You caught %s %s attempting to steal"
1877 " parts of your world map in %s!"),
1892 log_debug(
"steal some maps: succeeded");
1926 _(
"Your %s stole parts of the %s world map in %s."),
1931 _(
"The %s are suspected of stealing"
1932 " parts of your world map in %s."),
1993 log_debug(
"suitcase nuke: infiltrated");
1999 _(
"Your %s was caught in an attempt of"
2000 " hiding a nuke in %s!"),
2005 _(
"You caught %s %s attempting to hide a nuke in %s!"),
2024 _(
"Your %s hid a nuke in %s."),
2028 _(
"The %s are suspected of hiding a nuke in %s."),
2197 _(
"An enemy %s has been eliminated by your %s."),
2204 _(
"Your %s has been eliminated defending %s"
2211 _(
"A %s %s has been eliminated defending %s "
2218 _(
"Your %s has been eliminated defending %s %s "
2227 _(
"Your %s has been eliminated defending "
2232 _(
"A %s %s has been eliminated defending "
2238 _(
"Your %s has been eliminated defending "
2263 _(
"Your %s was eliminated by a defending %s."),
2269 _(
"Eliminated a %s %s while infiltrating %s."),
2274 _(
"A %s %s eliminated a %s %s while infiltrating "
2279 _(
"Your %s eliminated a %s %s while infiltrating "
2287 _(
"Eliminated a %s %s while infiltrating our troops."),
2292 _(
"A %s %s eliminated a %s %s while infiltrating our "
2298 _(
"Your %s eliminated a %s %s while infiltrating our "
2420 _(
"Your %s has successfully completed"
2421 " the mission and returned unharmed to %s."),
2433 log_error(
"Bug in diplomat_escape: Spy can't teleport.");
2441 _(
"Your %s was captured after completing"
2442 " the mission in %s."),
2447 _(
"Your %s was captured after completing"
const char * action_name_translation(const struct action *paction)
enum action_target_kind action_get_target_kind(const struct action *paction)
#define action_has_result(_act_, _res_)
#define BV_ISSET(bv, bit)
bool city_has_building(const struct city *pcity, const struct impr_type *pimprove)
const char * city_name_get(const struct city *pcity)
#define city_tile(_pcity_)
static citizens city_size_get(const struct city *pcity)
#define city_owner(_pcity_)
#define city_built_iterate(_pcity, _p)
#define city_built_iterate_end
void nullify_prechange_production(struct city *pcity)
bool city_empty_food_stock(struct city *pcity)
int city_incite_cost(struct player *pplayer, struct city *pcity)
bool city_reduce_size(struct city *pcity, citizens pop_loss, struct player *destroyer, const char *reason)
bool city_refresh(struct city *pcity)
struct unit * get_diplomatic_defender(const struct unit *act_unit, const struct unit *pvictim, const struct tile *tgt_tile, const struct action *paction)
struct unit struct city struct unit struct tile * target_tile
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit * punit
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit int const struct action *paction struct unit struct city * pcity
struct unit struct city * target_city
void establish_embassy(struct player *pplayer, struct player *aplayer)
static void diplomat_escape_full(struct player *pplayer, struct unit *pdiplomat, bool city_related, struct tile *ptile, const char *vlink, const struct action *paction)
bool spy_escape(struct player *pplayer, struct unit *actor_unit, struct city *target_city, struct tile *target_tile, const struct action *paction)
bool spy_steal_some_maps(struct player *act_player, struct unit *act_unit, struct city *tgt_city, const struct action *paction)
bool diplomat_bribe_unit(struct player *pplayer, struct unit *pdiplomat, struct unit *pvictim, const struct action *paction)
int diplomats_unignored_tech_stealings(struct unit *pdiplomat, struct city *pcity)
bool spy_sabotage_unit(struct player *pplayer, struct unit *pdiplomat, struct unit *pvictim, const struct action *paction)
static bool diplomat_may_lose_gold(struct player *dec_player, struct player *inc_player, int revolt_gold)
bool diplomat_embassy(struct player *pplayer, struct unit *pdiplomat, struct city *pcity, const struct action *paction)
bool diplomat_bribe_stack(struct player *pplayer, struct unit *pdiplomat, struct tile *pvictim, const struct action *paction)
static void diplomat_escape(struct player *pplayer, struct unit *pdiplomat, const struct city *pcity, const struct action *paction)
void spy_send_sabotage_list(struct connection *pc, struct unit *pdiplomat, struct city *pcity, const struct action *paction, int request_kind)
static bool diplomat_infiltrate_tile(struct player *pplayer, struct player *cplayer, const struct action *paction, struct unit *pdiplomat, struct unit *pvictim, struct tile *ptile, struct player **defender_owner)
bool diplomat_get_tech(struct player *pplayer, struct unit *pdiplomat, struct city *pcity, Tech_type_id technology, const struct action *paction)
bool diplomat_sabotage(struct player *pplayer, struct unit *pdiplomat, struct city *pcity, Impr_type_id improvement, const struct action *paction)
bool diplomat_incite(struct player *pplayer, struct unit *pdiplomat, struct city *pcity, const struct action *paction)
bool spy_steal_gold(struct player *act_player, struct unit *act_unit, struct city *tgt_city, const struct action *paction)
bool spy_spread_plague(struct player *act_player, struct unit *act_unit, struct city *tgt_city, const struct action *paction)
bool spy_nuke_city(struct player *act_player, struct unit *act_unit, struct city *tgt_city, const struct action *paction)
static bool diplomat_success_vs_defender(struct unit *patt, struct unit *pdef, struct tile *pdefender_tile, int *att_vet, int *def_vet)
bool diplomat_investigate(struct player *pplayer, struct unit *pdiplomat, struct city *pcity, const struct action *paction)
static void diplomat_charge_movement(struct unit *pdiplomat, struct tile *ptile)
bool spy_attack(struct player *act_player, struct unit *act_unit, struct tile *tgt_tile, const struct action *paction)
bool spy_poison(struct player *pplayer, struct unit *pdiplomat, struct city *pcity, const struct action *paction)
int count_diplomats_on_tile(struct tile *ptile)
int get_city_bonus(const struct city *pcity, enum effect_type effect_type)
int get_unit_bonus(const struct unit *punit, enum effect_type effect_type)
int get_target_bonus_effects(struct effect_list *plist, const struct req_context *context, const struct req_context *other_context, enum effect_type effect_type)
#define PL_(String1, String2, n)
const char * tile_link(const struct tile *ptile)
const struct ft_color ftc_server
const char * city_link(const struct city *pcity)
const char * unit_link(const struct unit *punit)
const char * unit_tile_link(const struct unit *punit)
struct impr_type * improvement_by_number(const Impr_type_id id)
Impr_type_id improvement_number(const struct impr_type *pimprove)
const char * improvement_rule_name(const struct impr_type *pimprove)
Impr_type_id improvement_index(const struct impr_type *pimprove)
bool improvement_has_flag(const struct impr_type *pimprove, enum impr_flag_id flag)
const char * improvement_name_translation(const struct impr_type *pimprove)
#define improvement_iterate_end
#define improvement_iterate(_p)
#define fc_assert(condition)
#define fc_assert_ret_val(condition, val)
#define log_debug(message,...)
#define log_normal(message,...)
#define log_error(message,...)
#define fc_assert_ret_val_msg(condition, val, message,...)
static int map_move_cost_unit(const struct civ_map *nmap, struct unit *punit, const struct tile *ptile)
struct vision_site * map_get_player_city(const struct tile *ptile, const struct player *pplayer)
bool give_distorted_map(struct player *pfrom, struct player *pto, int prob, bool reveal_cities)
const char * nation_adjective_for_player(const struct player *pplayer)
const char * nation_plural_for_player(const struct player *pplayer)
void notify_player(const struct player *pplayer, const struct tile *ptile, enum event_type event, const struct ft_color color, const char *format,...)
#define web_lsend_packet(packetname,...)
@ UNIT_INFO_CITY_SUPPORTED
void lsend_packet_city_nationalities(struct conn_list *dest, const struct packet_city_nationalities *packet, bool force_to_send)
void lsend_packet_trade_route_info(struct conn_list *dest, const struct packet_trade_route_info *packet)
void dlsend_packet_investigate_finished(struct conn_list *dest, int city_id)
void lsend_packet_city_info(struct conn_list *dest, const struct packet_city_info *packet, bool force_to_send)
int send_packet_city_sabotage_list(struct connection *pc, const struct packet_city_sabotage_list *packet)
void lsend_packet_unit_short_info(struct conn_list *dest, const struct packet_unit_short_info *packet, bool force_to_send)
void dlsend_packet_nuke_tile_info(struct conn_list *dest, int tile)
void dlsend_packet_investigate_started(struct conn_list *dest, int city_id)
void lsend_packet_city_rally_point(struct conn_list *dest, const struct packet_city_rally_point *packet, bool force_to_send)
struct unit * player_unit_by_number(const struct player *pplayer, int unit_id)
const char * player_name(const struct player *pplayer)
bool pplayers_at_war(const struct player *pplayer, const struct player *pplayer2)
bool pplayers_allied(const struct player *pplayer, const struct player *pplayer2)
static bool is_barbarian(const struct player *pplayer)
void send_player_all_c(struct player *src, struct conn_list *dest)
void send_player_info_c(struct player *src, struct conn_list *dest)
const char * universal_name_translation(const struct universal *psource, char *buf, size_t bufsz)
struct research * research_get(const struct player *pplayer)
enum tech_state research_invention_state(const struct research *presearch, Tech_type_id tech)
bool research_invention_gettable(const struct research *presearch, const Tech_type_id tech, bool allow_holes)
void script_server_signal_emit(const char *signal_name,...)
#define CLIP(lower, current, upper)
int incite_gold_capt_chance
int incite_gold_loss_chance
struct conn_list * est_connections
struct packet_game_info info
struct civ_game::@32::@36 server
bool tech_steal_allow_holes
bool steal_maps_reveals_all_cities
bool poison_empties_food_stock
bool combat_odds_scaled_veterancy
struct conn_list * connections
struct player_economic economic
struct veteran_system * veteran
#define sz_strlcpy(dest, src)
struct advance * valid_advance_by_number(const Tech_type_id id)
struct city * tile_city(const struct tile *ptile)
#define tile_owner(_tile)
bool unit_is_alive(int id)
int unit_bribe_cost(const struct unit *punit, const struct player *briber, const struct unit *briber_unit)
int stack_bribe_cost(const struct tile *ptile, const struct player *briber, const struct unit *briber_unit)
#define unit_list_iterate(unitlist, punit)
#define unit_list_iterate_safe(unitlist, _unit)
#define unit_list_iterate_end
#define unit_list_iterate_safe_end
const struct unit_type * unit_type_get(const struct unit *punit)
const char * unit_name_translation(const struct unit *punit)
bool utype_player_already_has_this_unique(const struct player *pplayer, const struct unit_type *putype)
const char * utype_rule_name(const struct unit_type *punittype)
const struct veteran_level * utype_veteran_level(const struct unit_type *punittype, int level)
bool unit_has_type_flag(const struct unit *punit, enum unit_type_flag_id flag)
bool utype_is_consumed_by_action(const struct action *paction, const struct unit_type *utype)
const char * utype_name_translation(const struct unit_type *punittype)