Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2001:
[Freeciv-Dev] Re: patch: Modified can_build_improvment()
Home

[Freeciv-Dev] Re: patch: Modified can_build_improvment()

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Sebastian Bauer <sebauer@xxxxxxxxxxx>
Cc: <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: patch: Modified can_build_improvment()
From: Ben Webb <ben@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 20 Aug 2001 13:55:32 +0100 (BST)

On Mon, 20 Aug 2001, Sebastian Bauer wrote:

> The description of equiv_dupl is:
> "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)". IMO this
> is the opposite what you say.

        Yes, I believe the descriptions in the original patch for
equiv_dupl and equiv_repl are reversed.

> If I haven't tested it now and I usally don't play Freeciv but if I look
> inside the code you can only build one power plant type. In this case it is
> the same like you said in the example. But you also cannot build any power
> plant if you have the "Hoover Dam". Besides you also cannot build (again
> inside the current code) a "Barracks" if you have the "Sun Tzu's War
> Academy".

        If this is true then, IMHO, it's a bit silly. I _think_ you can
build the equivalent of a Barracks when you have the equivalent of the War
Academy in Alpha Centauri (which FreecivAC aims to come close to). Again
IMHO, it's handy to have a redundant Barracks in strategic cities in case
your Wonder is captured or destroyed. But anyway, the whole point of
impr-gen is to generalise the building of city improvements. Some modpacks
may well want to use the equiv_dupl behaviour as well as the equiv_repl -
it's not enough to say that "standard" Freeciv doesn't "need" both, since
standard Freeciv does quite happily with hard-coded buildings. Anyway,
it's very easy to handle the distinction between equiv_dupl and equiv_repl
in code, so I don't think it's worth removing one or the other.

> Yes, great I will have a look on this. I suggest to do this really step by
> step rather than a big patch, there are also lots of places where it is not
> so hard to implement the things like the can_build_improvent() or some
> functions in cityturn.c. This should be done first because it also doesn't
> break something.

        This kind of thing is particularly difficult to do piecemeal,
IMHO. While you may be able to handle the actual construction of buildings
in that way, handling the effects of these buildings is rather more
tricky, and this is what my impr-gen patch aims to do. At some point
you've got to touch the AI code, and I don't see how you can make that a
small patch.

        Ben
-- 
ben@xxxxxxxxxxxxxxxxxxxxxx           http://bellatrix.pcl.ox.ac.uk/~ben/
"So strange, victory - 1,200 spires, the only sound, Moscow burning"



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