Author: sveinung
Date: Wed Jul 22 02:23:40 2015
New Revision: 29235

URL: http://svn.gna.org/viewcvs/freeciv?rev=29235&view=rev
Log:
Xaw client: support the "Suitcase Nuke" spy action

See patch #6137

Modified:
    trunk/client/gui-xaw/action_dialog.c
    trunk/data/Freeciv.in

Modified: trunk/client/gui-xaw/action_dialog.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-xaw/action_dialog.c?rev=29235&r1=29234&r2=29235&view=diff
==============================================================================
--- trunk/client/gui-xaw/action_dialog.c        (original)
+++ trunk/client/gui-xaw/action_dialog.c        Wed Jul 22 02:23:40 2015
@@ -334,6 +334,24 @@
   if (NULL != game_unit_by_number(diplomat_id)
       && NULL != game_city_by_number(diplomat_target_id[ATK_CITY])) {
     request_do_action(ACTION_SPY_POISON, diplomat_id,
+                      diplomat_target_id[ATK_CITY], 0, "");
+  }
+
+  choose_action_queue_next();
+}
+
+/****************************************************************
+  The player selected "Suitcase Nuke"
+*****************************************************************/
+static void spy_nuke_callback(Widget w, XtPointer client_data,
+                              XtPointer call_data)
+{
+  destroy_message_dialog(w);
+  diplomat_dialog = NULL;
+
+  if (NULL != game_unit_by_number(diplomat_id)
+      && NULL != game_city_by_number(diplomat_target_id[ATK_CITY])) {
+    request_do_action(ACTION_SPY_NUKE, diplomat_id,
                       diplomat_target_id[ATK_CITY], 0, "");
   }
 
@@ -995,6 +1013,7 @@
                            join_city_callback, 0, 0,
                            spy_steal_maps_callback, 0, 0,
                            bombard_callback, 0, 0,
+                           spy_nuke_callback, 0, 0,
                            diplomat_keep_moving_callback, target_tile, 1,
                            diplomat_cancel_callback, 0, 0,
                            NULL);
@@ -1075,9 +1094,13 @@
                ACTION_BOMBARD,
                act_probs);
 
+  action_entry(XtNameToWidget(diplomat_dialog, "*button19"),
+               ACTION_SPY_NUKE,
+               act_probs);
+
   if (!(unit_can_move_to_tile(actor_unit, target_tile, FALSE)
       || (is_military_unit(actor_unit) || is_attack_unit(actor_unit)))) {
-    XtSetSensitive(XtNameToWidget(diplomat_dialog, "*button19"), FALSE);
+    XtSetSensitive(XtNameToWidget(diplomat_dialog, "*button20"), FALSE);
   }
 
   astr_free(&text);

Modified: trunk/data/Freeciv.in
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/Freeciv.in?rev=29235&r1=29234&r2=29235&view=diff
==============================================================================
--- trunk/data/Freeciv.in       (original)
+++ trunk/data/Freeciv.in       Wed Jul 22 02:23:40 2015
@@ -2332,12 +2332,15 @@
 
 Freeciv*diplomatdialog.*.button18.fromVert:  button16
 
-Freeciv*diplomatdialog.*.button19.label:     _("Keep moving")
 Freeciv*diplomatdialog.*.button19.fromVert:  button17
 Freeciv*diplomatdialog.*.button19.fromHoriz: button18
 
-Freeciv*diplomatdialog.*.button20.label:     _("Cancel")
+Freeciv*diplomatdialog.*.button20.label:     _("Keep moving")
 Freeciv*diplomatdialog.*.button20.fromVert:  button18
+
+Freeciv*diplomatdialog.*.button21.label:     _("Cancel")
+Freeciv*diplomatdialog.*.button21.fromVert:  button19
+Freeciv*diplomatdialog.*.button21.fromHoriz: button20
 
 !
 ! Spy Steal Tech Dialog


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

Reply via email to