Feature #2429 ยป 0081-Qt-Add-simple_city_request-action-selection-callback.patch
| client/gui-qt/dialogs.cpp | ||
|---|---|---|
|
static void spy_steal_something(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_steal(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_steal_esc(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_poison(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_poison_esc(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_spread_plague(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_steal_gold(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_steal_gold_esc(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_steal_maps(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_steal_maps_esc(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_escape(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_nuke_city(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_nuke_city_esc(QVariant data1, QVariant data2, action_id act);
|
||
|
static void nuke_city(QVariant data1, QVariant data2, action_id act);
|
||
|
static void destroy_city(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_embassy(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_embassy(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_sabotage_unit(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_sabotage_unit_esc(QVariant data1, QVariant data2,
|
||
|
action_id act);
|
||
|
static void spy_investigate(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_investigate(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_sabotage(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_sabotage_esc(QVariant data1, QVariant data2,
|
||
|
action_id act);
|
||
|
static void diplomat_bribe_unit(QVariant data1, QVariant data2, action_id act);
|
||
|
static void diplomat_bribe_stack(QVariant data1, QVariant data2, action_id act);
|
||
|
static void spy_attack(QVariant data1, QVariant data2, action_id act);
|
||
|
static void caravan_marketplace(QVariant data1, QVariant data2, action_id act);
|
||
|
static void caravan_establish_trade(QVariant data1, QVariant data2,
|
||
|
action_id act);
|
||
|
static void caravan_help_build(QVariant data1, QVariant data2, action_id act);
|
||
|
static void unit_disband_recover(QVariant data1, QVariant data2, action_id act);
|
||
|
static void simple_city_request(QVariant data1, QVariant data2, action_id act);
|
||
|
static void capture_units(QVariant data1, QVariant data2, action_id act);
|
||
|
static void nuke_units(QVariant data1, QVariant data2, action_id act);
|
||
|
static void collect_ransom(QVariant data1, QVariant data2, action_id act);
|
||
| ... | ... | |
|
static void fortify2(QVariant data1, QVariant data2, action_id act);
|
||
|
static void disband_unit(QVariant data1, QVariant data2, action_id act);
|
||
|
static void homeless(QVariant data1, QVariant data2, action_id act);
|
||
|
static void unit_home_city(QVariant data1, QVariant data2, action_id act);
|
||
|
static void unit_upgrade(QVariant data1, QVariant data2, action_id act);
|
||
|
static void airlift(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_city_shrink(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_city_shrink2(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_city_shrink3(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_city_shrink4(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_extras(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_extras2(QVariant data1, QVariant data2, action_id act);
|
||
|
static void conquer_extras3(QVariant data1, QVariant data2, action_id act);
|
||
| ... | ... | |
|
QHash<action_id, pfcn_void> action_function;
|
||
|
// Unit acting against a city target.
|
||
|
action_function[ACTION_ESTABLISH_EMBASSY] = spy_embassy;
|
||
|
action_function[ACTION_ESTABLISH_EMBASSY_STAY] = diplomat_embassy;
|
||
|
action_function[ACTION_SPY_INVESTIGATE_CITY] = spy_investigate;
|
||
|
action_function[ACTION_INV_CITY_SPEND] = diplomat_investigate;
|
||
|
action_function[ACTION_SPY_POISON] = spy_poison;
|
||
|
action_function[ACTION_SPY_POISON_ESC] = spy_poison_esc;
|
||
|
action_function[ACTION_SPY_SPREAD_PLAGUE] = spy_spread_plague;
|
||
|
action_function[ACTION_SPY_STEAL_GOLD] = spy_steal_gold;
|
||
|
action_function[ACTION_SPY_STEAL_GOLD_ESC] = spy_steal_gold_esc;
|
||
|
action_function[ACTION_ESTABLISH_EMBASSY] = simple_city_request;
|
||
|
action_function[ACTION_ESTABLISH_EMBASSY_STAY] = simple_city_request;
|
||
|
action_function[ACTION_SPY_INVESTIGATE_CITY] = simple_city_request;
|
||
|
action_function[ACTION_INV_CITY_SPEND] = simple_city_request;
|
||
|
action_function[ACTION_SPY_POISON] = simple_city_request;
|
||
|
action_function[ACTION_SPY_POISON_ESC] = simple_city_request;
|
||
|
action_function[ACTION_SPY_SPREAD_PLAGUE] = simple_city_request;
|
||
|
action_function[ACTION_SPY_STEAL_GOLD] = simple_city_request;
|
||
|
action_function[ACTION_SPY_STEAL_GOLD_ESC] = simple_city_request;
|
||
|
action_function[ACTION_SPY_SABOTAGE_CITY] = diplomat_sabotage;
|
||
|
action_function[ACTION_SPY_SABOTAGE_CITY_ESC] = diplomat_sabotage_esc;
|
||
|
action_function[ACTION_SPY_TARGETED_SABOTAGE_CITY] =
|
||
| ... | ... | |
|
action_function[ACTION_SPY_TARGETED_STEAL_TECH_ESC] = spy_steal_esc;
|
||
|
action_function[ACTION_SPY_INCITE_CITY] = diplomat_incite;
|
||
|
action_function[ACTION_SPY_INCITE_CITY_ESC] = diplomat_incite_escape;
|
||
|
action_function[ACTION_TRADE_ROUTE] = caravan_establish_trade;
|
||
|
action_function[ACTION_MARKETPLACE] = caravan_marketplace;
|
||
|
action_function[ACTION_HELP_WONDER] = caravan_help_build;
|
||
|
action_function[ACTION_TRADE_ROUTE] = simple_city_request;
|
||
|
action_function[ACTION_MARKETPLACE] = simple_city_request;
|
||
|
action_function[ACTION_HELP_WONDER] = simple_city_request;
|
||
|
action_function[ACTION_JOIN_CITY] = simple_tile_request;
|
||
|
action_function[ACTION_STEAL_MAPS] = spy_steal_maps;
|
||
|
action_function[ACTION_STEAL_MAPS_ESC] = spy_steal_maps_esc;
|
||
|
action_function[ACTION_SPY_NUKE] = spy_nuke_city;
|
||
|
action_function[ACTION_SPY_NUKE_ESC] = spy_nuke_city_esc;
|
||
|
action_function[ACTION_SPY_ESCAPE] = spy_escape;
|
||
|
action_function[ACTION_DESTROY_CITY] = destroy_city;
|
||
|
action_function[ACTION_DISBAND_UNIT_RECOVER] = unit_disband_recover;
|
||
|
action_function[ACTION_HOME_CITY] = unit_home_city;
|
||
|
action_function[ACTION_STEAL_MAPS] = simple_city_request;
|
||
|
action_function[ACTION_STEAL_MAPS_ESC] = simple_city_request;
|
||
|
action_function[ACTION_SPY_NUKE] = simple_city_request;
|
||
|
action_function[ACTION_SPY_NUKE_ESC] = simple_city_request;
|
||
|
action_function[ACTION_SPY_ESCAPE] = simple_city_request;
|
||
|
action_function[ACTION_DESTROY_CITY] = simple_city_request;
|
||
|
action_function[ACTION_DISBAND_UNIT_RECOVER] = simple_city_request;
|
||
|
action_function[ACTION_HOME_CITY] = simple_city_request;
|
||
|
action_function[ACTION_UPGRADE_UNIT] = unit_upgrade;
|
||
|
action_function[ACTION_AIRLIFT] = airlift;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK] = conquer_city_shrink;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK2] = conquer_city_shrink2;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK3] = conquer_city_shrink3;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK4] = conquer_city_shrink4;
|
||
|
action_function[ACTION_AIRLIFT] = simple_city_request;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK] = simple_city_request;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK2] = simple_city_request;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK3] = simple_city_request;
|
||
|
action_function[ACTION_CONQUER_CITY_SHRINK4] = simple_city_request;
|
||
|
action_function[ACTION_STRIKE_BUILDING] = spy_request_strike_bld_list;
|
||
|
action_function[ACTION_NUKE_CITY] = nuke_city;
|
||
|
action_function[ACTION_NUKE_CITY] = simple_city_request;
|
||
|
// Unit acting against a unit target.
|
||
|
action_function[ACTION_SPY_BRIBE_UNIT] = diplomat_bribe_unit;
|
||
| ... | ... | |
|
/***********************************************************************//**
|
||
|
Action enter market place for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void caravan_marketplace(QVariant data1, QVariant data2, action_id act)
|
||
|
static void simple_city_request(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_unit_id = data1.toInt();
|
||
|
int target_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_unit_id) != nullptr
|
||
|
&& game_city_by_number(target_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_MARKETPLACE, actor_unit_id,
|
||
|
target_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action establish trade for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void caravan_establish_trade(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_unit_id = data1.toInt();
|
||
|
int target_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_unit_id) != nullptr
|
||
|
&& game_city_by_number(target_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_TRADE_ROUTE, actor_unit_id,
|
||
|
target_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action help build wonder for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void caravan_help_build(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int caravan_id = data1.toInt();
|
||
|
int caravan_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(caravan_id) != nullptr
|
||
|
&& game_city_by_number(caravan_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_HELP_WONDER,
|
||
|
caravan_id, caravan_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Disband Unit Recover for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void unit_disband_recover(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_DISBAND_UNIT_RECOVER,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Home City for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void unit_home_city(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_HOME_CITY,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
request_do_action(act, actor_unit_id, target_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Airlift Unit" for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void airlift(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_AIRLIFT,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Conquer City Shrink" for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void conquer_city_shrink(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_CONQUER_CITY_SHRINK,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Conquer City Shrink 2" for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void conquer_city_shrink2(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_CONQUER_CITY_SHRINK2,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Conquer City Shrink 3" for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void conquer_city_shrink3(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_CONQUER_CITY_SHRINK3,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Conquer City Shrink 4" for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void conquer_city_shrink4(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int tgt_city_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(tgt_city_id) != nullptr) {
|
||
|
request_do_action(ACTION_CONQUER_CITY_SHRINK4,
|
||
|
actor_id, tgt_city_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Conquer Extras" for choice dialog
|
||
|
***************************************************************************/
|
||
| ... | ... | |
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Poison City for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_poison(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_POISON,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Poison City Escape for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_poison_esc(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_POISON_ESC,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Spread Plague for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_spread_plague(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_SPREAD_PLAGUE,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action suitcase nuke for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_nuke_city(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_NUKE,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action suitcase nuke escape for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_nuke_city_esc(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_NUKE_ESC,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action "Nuke City" for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void nuke_city(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int actor_id = data1.toInt();
|
||
|
int target_id = data2.toInt();
|
||
|
if (game_unit_by_number(actor_id) != nullptr
|
||
|
&& game_city_by_number(target_id) != nullptr) {
|
||
|
request_do_action(ACTION_NUKE_CITY,
|
||
|
actor_id, target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action destroy city for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void destroy_city(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_DESTROY_CITY,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action steal gold for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_steal_gold(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_STEAL_GOLD,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action steal gold escape for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_steal_gold_esc(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_STEAL_GOLD_ESC,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action steal maps for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_steal_maps(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_STEAL_MAPS,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action steal maps escape for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_steal_maps_esc(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_STEAL_MAPS_ESC,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Spy Escape for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_escape(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_ESCAPE,
|
||
|
diplomat_id, diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action establish embassy for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_embassy(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_ESTABLISH_EMBASSY, diplomat_id,
|
||
|
diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action establish embassy for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void diplomat_embassy(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_unit_by_number(diplomat_id) != nullptr
|
||
|
&& game_city_by_number(diplomat_target_id) != nullptr) {
|
||
|
request_do_action(ACTION_ESTABLISH_EMBASSY_STAY, diplomat_id,
|
||
|
diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action investigate city for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void spy_investigate(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_city_by_number(diplomat_target_id) != nullptr
|
||
|
&& game_unit_by_number(diplomat_id) != nullptr) {
|
||
|
request_do_action(ACTION_SPY_INVESTIGATE_CITY, diplomat_id,
|
||
|
diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action Investigate City Spend Unit for choice dialog
|
||
|
***************************************************************************/
|
||
|
static void diplomat_investigate(QVariant data1, QVariant data2, action_id act)
|
||
|
{
|
||
|
int diplomat_id = data1.toInt();
|
||
|
int diplomat_target_id = data2.toInt();
|
||
|
if (game_city_by_number(diplomat_target_id) != nullptr
|
||
|
&& game_unit_by_number(diplomat_id) != nullptr) {
|
||
|
request_do_action(ACTION_INV_CITY_SPEND, diplomat_id,
|
||
|
diplomat_target_id, 0, "");
|
||
|
}
|
||
|
}
|
||
|
/***********************************************************************//**
|
||
|
Action sabotage for choice dialog
|
||
|
***************************************************************************/
|
||