Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2004:
[Freeciv-Dev] Re: (PR#10858) Oracle doesn't work on Temples outside its
Home

[Freeciv-Dev] Re: (PR#10858) Oracle doesn't work on Temples outside its

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: saywhat@xxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#10858) Oracle doesn't work on Temples outside its own city
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 6 Nov 2004 17:08:08 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=10858 >

Jason Short wrote:
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=10858 >
> 
> Looks to me like the oracle is just wrong in the ruleset.  Does this 
> patch give the correct behavior?
> 
> The helptext for oracle says "Doubles the effect of Temples, in all your 
> cities".

However this is impossible with the current effects code!

Temples give either 1 or 2 Make_Content based on a tech req.  So to 
double we need to also give either 1 or 2.  However this is impossible 
because we'd have to have 2 reqs plus the source (source=>oracle, 
req=>mysticism, req=>temple).  This isn't a big problem because it's 
hard (but not impossible) to get oracle without mysticism since it's a 
building tech_req.

For the default ruleset the fix is just to change the helptext.  For the 
civ1 and civ2 rulesets this becomes a known bug.

Can you confirm that this patch fixes the problem?

jason

Index: data/civ1/buildings.ruleset
===================================================================
RCS file: /home/freeciv/CVS/freeciv/data/civ1/buildings.ruleset,v
retrieving revision 1.39
diff -u -r1.39 buildings.ruleset
--- data/civ1/buildings.ruleset 25 Sep 2004 22:18:41 -0000      1.39
+++ data/civ1/buildings.ruleset 7 Nov 2004 01:07:10 -0000
@@ -1423,8 +1423,10 @@
 upkeep         = 0
 sabotage       = 0
 effect         =
-    { "name", "value", "req_type", "req"
-      "Make_Content", 2, "Building", "Temple"
+    { "name", "range", "value", "req_type", "req"
+; BUG: this will give the wrong results if the player has oracle but not
+; Mysticism
+      "Make_Content", "Player", 2, "Building", "Temple"
     }
 sound          = "w_oracle"
 sound_alt      = "w_generic"
Index: data/civ2/buildings.ruleset
===================================================================
RCS file: /home/freeciv/CVS/freeciv/data/civ2/buildings.ruleset,v
retrieving revision 1.42
diff -u -r1.42 buildings.ruleset
--- data/civ2/buildings.ruleset 25 Sep 2004 22:18:42 -0000      1.42
+++ data/civ2/buildings.ruleset 7 Nov 2004 01:07:10 -0000
@@ -1845,8 +1845,10 @@
 upkeep         = 0
 sabotage       = 0
 effect         =
-    { "name", "value", "req_type", "req"
-      "Make_Content", 2, "Building", "Temple"
+    { "name", "range", "value", "req_type", "req"
+; BUG: this will give the wrong results if the player has oracle but not
+; Mysticism
+      "Make_Content", "Player", 2, "Building", "Temple"
     }
 sound          = "w_oracle"
 sound_alt      = "w_generic"
Index: data/default/buildings.ruleset
===================================================================
RCS file: /home/freeciv/CVS/freeciv/data/default/buildings.ruleset,v
retrieving revision 1.59
diff -u -r1.59 buildings.ruleset
--- data/default/buildings.ruleset      18 Oct 2004 17:18:58 -0000      1.59
+++ data/default/buildings.ruleset      7 Nov 2004 01:07:11 -0000
@@ -1928,13 +1928,14 @@
 upkeep         = 0
 sabotage       = 0
 effect         =
-    { "name", "value", "req_type", "req"
-      "Make_Content", 2, "Building", "Temple"
+    { "name", "range", "value", "req_type", "req"
+; Note this is not exactly the same as doubling the effect of temples
+      "Make_Content", "Player", 2, "Building", "Temple"
     }
 sound          = "w_oracle"
 sound_alt      = "w_generic"
 helptext       = _("\
-Doubles the effect of Temples, in all your cities.\
+Makes two of your unhappy citizens content in every city with a temple.\
 ")
 
 [building_pyramids]
Index: data/history/buildings.ruleset
===================================================================
RCS file: /home/freeciv/CVS/freeciv/data/history/buildings.ruleset,v
retrieving revision 1.14
diff -u -r1.14 buildings.ruleset
--- data/history/buildings.ruleset      25 Sep 2004 22:18:42 -0000      1.14
+++ data/history/buildings.ruleset      7 Nov 2004 01:07:12 -0000
@@ -1868,13 +1868,14 @@
 upkeep         = 0
 sabotage       = 0
 effect         =
-    { "name", "value", "req_type", "req"
-      "Make_Content", 2, "Building", "Temple"
+    { "name", "range", "value", "req_type", "req"
+; Note this is not exactly the same as doubling the effect of temples
+      "Make_Content", "Player", 2, "Building", "Temple"
     }
 sound          = "w_oracle"
 sound_alt      = "w_generic"
 helptext       = _("\
-Doubles the effect of Temples, in all cities.\
+Makes two of your unhappy citizens content in every city with a temple.\
 ")
 
 [building_pyramids]

[Prev in Thread] Current Thread [Next in Thread]