Author: sveinung
Date: Wed Aug 19 16:44:08 2015
New Revision: 29586

URL: http://svn.gna.org/viewcvs/freeciv?rev=29586&view=rev
Log:
Let higher AI levels bribe settlers and workers

See patch #6255

Modified:
    trunk/ai/default/aidiplomat.c
    trunk/ai/difficulty.c
    trunk/ai/handicaps.h

Modified: trunk/ai/default/aidiplomat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/ai/default/aidiplomat.c?rev=29586&r1=29585&r2=29586&view=diff
==============================================================================
--- trunk/ai/default/aidiplomat.c       (original)
+++ trunk/ai/default/aidiplomat.c       Wed Aug 19 16:44:08 2015
@@ -666,11 +666,15 @@
       /* Enemy cannot reach us or probably not kill us */
       threat = FALSE;
     }
-    /* Don't bribe settlers! */
-    if (unit_has_type_flag(pvictim, UTYF_SETTLERS)
-        || unit_can_do_action(pvictim, ACTION_FOUND_CITY)) {
-      continue;
-    }
+
+    if (has_handicap(pplayer, H_NOBRIBE_WF)) {
+      /* Don't bribe settlers! */
+      if (unit_has_type_flag(pvictim, UTYF_SETTLERS)
+          || unit_can_do_action(pvictim, ACTION_FOUND_CITY)) {
+        continue;
+      }
+    }
+
     /* Should we make the expense? */
     cost = unit_bribe_cost(pvictim, pplayer);
     if (!threat) {

Modified: trunk/ai/difficulty.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/ai/difficulty.c?rev=29586&r1=29585&r2=29586&view=diff
==============================================================================
--- trunk/ai/difficulty.c       (original)
+++ trunk/ai/difficulty.c       Wed Aug 19 16:44:08 2015
@@ -77,6 +77,7 @@
      BV_SET(handicap, H_EXPANSION);
      BV_SET(handicap, H_DANGER);
      BV_SET(handicap, H_CEASEFIRE);
+     BV_SET(handicap, H_NOBRIBE_WF);
      break;
    case AI_LEVEL_EASY:
      BV_SET(handicap, H_RATES);
@@ -90,6 +91,7 @@
      BV_SET(handicap, H_REVOLUTION);
      BV_SET(handicap, H_EXPANSION);
      BV_SET(handicap, H_CEASEFIRE);
+     BV_SET(handicap, H_NOBRIBE_WF);
      break;
    case AI_LEVEL_NORMAL:
      BV_SET(handicap, H_RATES);
@@ -97,6 +99,7 @@
      BV_SET(handicap, H_HUTS);
      BV_SET(handicap, H_DIPLOMAT);
      BV_SET(handicap, H_CEASEFIRE);
+     BV_SET(handicap, H_NOBRIBE_WF);
      break;
 
 #ifdef DEBUG

Modified: trunk/ai/handicaps.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/ai/handicaps.h?rev=29586&r1=29585&r2=29586&view=diff
==============================================================================
--- trunk/ai/handicaps.h        (original)
+++ trunk/ai/handicaps.h        Wed Aug 19 16:44:08 2015
@@ -30,6 +30,7 @@
   H_EXPANSION,        /* Don't like being much larger than human */
   H_DANGER,           /* Always thinks its city is in danger */
   H_CEASEFIRE,        /* Has to offer cease-fire on first contact */
+  H_NOBRIBE_WF,       /* Can't bribe worker and city founder units. */
   H_LAST
 };
 


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

Reply via email to