Author: sveinung
Date: Wed Jul 22 02:23:33 2015
New Revision: 29234

URL: http://svn.gna.org/viewcvs/freeciv?rev=29234&view=rev
Log:
SDL clients: support the "Suitcase Nuke" spy action

See patch #6136

Modified:
    trunk/client/gui-sdl/action_dialog.c
    trunk/client/gui-sdl2/action_dialog.c

Modified: trunk/client/gui-sdl/action_dialog.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-sdl/action_dialog.c?rev=29234&r1=29233&r2=29234&view=diff
==============================================================================
--- trunk/client/gui-sdl/action_dialog.c        (original)
+++ trunk/client/gui-sdl/action_dialog.c        Wed Jul 22 02:23:33 2015
@@ -214,6 +214,27 @@
                         0, "");
     }
   
+    popdown_diplomat_dialog();
+    choose_action_queue_next();
+  }
+
+  return -1;
+}
+
+/****************************************************************
+  User clicked "Suitcase Nuke"
+*****************************************************************/
+static int spy_nuke_city_callback(struct widget *pWidget)
+{
+  if (Main.event.button.button == SDL_BUTTON_LEFT) {
+    if (NULL != game_unit_by_number(pDiplomat_Dlg->actor_unit_id)
+        && NULL != game_city_by_number(
+          pDiplomat_Dlg->target_ids[ATK_CITY])) {
+      request_do_action(ACTION_SPY_NUKE, pDiplomat_Dlg->actor_unit_id,
+                        pDiplomat_Dlg->target_ids[ATK_CITY],
+                        0, "");
+    }
+
     popdown_diplomat_dialog();
     choose_action_queue_next();
   }
@@ -835,6 +856,7 @@
   [ACTION_MARKETPLACE] = caravan_marketplace_callback,
   [ACTION_HELP_WONDER] = caravan_help_build_wonder_callback,
   [ACTION_JOIN_CITY] = join_city_callback,
+  [ACTION_SPY_NUKE] = spy_nuke_city_callback,
 
   /* Unit acting against a unit target. */
   [ACTION_SPY_BRIBE_UNIT] = diplomat_bribe_callback,

Modified: trunk/client/gui-sdl2/action_dialog.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-sdl2/action_dialog.c?rev=29234&r1=29233&r2=29234&view=diff
==============================================================================
--- trunk/client/gui-sdl2/action_dialog.c       (original)
+++ trunk/client/gui-sdl2/action_dialog.c       Wed Jul 22 02:23:33 2015
@@ -212,6 +212,27 @@
         && NULL != game_city_by_number(
           pDiplomat_Dlg->target_ids[ATK_CITY])) {
       request_do_action(ACTION_SPY_POISON, pDiplomat_Dlg->actor_unit_id,
+                        pDiplomat_Dlg->target_ids[ATK_CITY],
+                        0, "");
+    }
+
+    popdown_diplomat_dialog();
+    choose_action_queue_next();
+  }
+
+  return -1;
+}
+
+/****************************************************************
+  User clicked "Suitcase Nuke"
+*****************************************************************/
+static int spy_nuke_city_callback(struct widget *pWidget)
+{
+  if (Main.event.button.button == SDL_BUTTON_LEFT) {
+    if (NULL != game_unit_by_number(pDiplomat_Dlg->actor_unit_id)
+        && NULL != game_city_by_number(
+          pDiplomat_Dlg->target_ids[ATK_CITY])) {
+      request_do_action(ACTION_SPY_NUKE, pDiplomat_Dlg->actor_unit_id,
                         pDiplomat_Dlg->target_ids[ATK_CITY],
                         0, "");
     }
@@ -838,6 +859,7 @@
   [ACTION_MARKETPLACE] = caravan_marketplace_callback,
   [ACTION_HELP_WONDER] = caravan_help_build_wonder_callback,
   [ACTION_JOIN_CITY] = join_city_callback,
+  [ACTION_SPY_NUKE] = spy_nuke_city_callback,
 
   /* Unit acting against a unit target. */
   [ACTION_SPY_BRIBE_UNIT] = diplomat_bribe_callback,


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to