Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2004:
[Freeciv-Dev] Re: (PR#11477) gen imprs

[Freeciv-Dev] Re: (PR#11477) gen imprs

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: vasc@xxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#11477) gen imprs
From: "Marko Lindqvist" <marko.lindqvist@xxxxxxxxxxx>
Date: Sun, 19 Dec 2004 09:27:32 -0800
Reply-to: bugs@xxxxxxxxxxx

<URL: >

Vasco Alexandre da Silva Costa wrote:
>>  can_build_improvement_direct():
>>-  return !improvement_redundant(city_owner(pcity),pcity, id, TRUE);
>>+  return TRUE;
>>  improvement_redundant() used to check for equiv_repl, now any 
>>replacement building can be built?
> Right. This is also a feature. It would be trivial to replace the
> improvement_redundant() call with a is_building_replaced() call. The
> issue is this is counter productive.

  I were not talking about improvement_redundant(), but only its 
equiv_repl part. It gave ruleset authors power to prohibit building 
'conflicting' buildings:
; equiv_dupl    = list of buildings that duplicate this building if
;                 this city is within that building's range (may
;                 still build this, but will have no effect)
; equiv_repl    = list of buildings that replace this building if
;                 this city is within that building's range (not
;                 allowed to build this)

  Is similar effect possible by other means?

  And I don't think it would be trivial to put is_building_replaced() 
there anyway. It would determine that existing wonder 'replaces' 
considered one when one wants to move small wonder.

> Imagine someone builds the Great Wall. improvement_redundant() in there
> would forbid you from building per city City Walls. Once Great Wall goes
> obsolete, suddenly all your cities are naked without City Walls. With
> improvement_redudant() removed, it is possible to build per city City
> Walls *before* Great Wall expires, just like in Civilization II.

  That's true for improvement_redundant(), but not for equiv_repl check:
equiv_dupl      = "Great Wall"
;equiv_repl     =

  - ML

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