[Freeciv-Dev] Re: (PR#14768) capitalization unavailable
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<URL: http://bugs.freeciv.org/Ticket/Display.html?id=14768 >
John Bauman wrote:
>><URL: http://bugs.freeciv.org/Ticket/Display.html?id=14768 >
>>
>>>[badamson@xxxxxxxxxxx - Tue Dec 13 22:39:16 2005]:
>>>
>>>Using SVN revision 11344 the entry for Coinage in the city production
>>>dialogue is struck out, suggesting that it is unavailable.
>>>
>>>This presumably indicates that some predicate function is returning
>>>FALSE instead of TRUE. This might confuse the AI.
>>
>>Known bug. Patch wanted. Should be an easy fix.
>>
>
> What was wrong with Vasco's patch?
Oops, I missed that one. But I think it's wrong...a building with no
effects is *always* redundant. And a building that provides
capitalization along with other effects, but those other effects are all
replaced, is *not* redundant. I think this patch is the correct way to
do it.
-jason
Index: common/effects.c
===================================================================
--- common/effects.c (revision 11348)
+++ common/effects.c (working copy)
@@ -685,11 +685,16 @@
source.type = REQ_BUILDING;
source.value.building = building;
+ /* A capitalization production is never redundant. */
+ if (impr_flag(building, IF_GOLD)) {
+ return FALSE;
+ }
+
plist = get_req_source_effects(&source);
- /* A building that has no effects is never redundant. */
+ /* A building with no effects and no flags is always redundant! */
if (!plist) {
- return FALSE;
+ return TRUE;
}
effect_list_iterate(plist, peffect) {
|
|