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: "Ben Webb" <ben@xxxxxxxxxxxxxxxxxxxxxx>, "freeciv development" <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: patch: Modified can_build_improvment()
From: sebauer@xxxxxxxxxxx (Sebastian Bauer)
Date: Mon, 20 Aug 2001 16:02:01 +0200

Hi!

> On Mon, 20 Aug 2001, Sebastian Bauer wrote:
> > 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).

Yes, I understand. But in current Freeciv it is not so. I don't know how
this is handled in real Civ or Civ2.

> 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.

I agree.

> > 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.

You are probably right, I haven't touched or even looked at the AI code. I
still think this what can be done step by step should be done step by step.
But I really like to have a decision *now* about "equiv_dupl" and
"equiv_repl". My suggestion is the following.
We let "equiv_dupl" and "equiv_repl" both in the ruleset without changing
the meaning. Of course it is always better to be more general and it seems
that FreecivAC needs this, I didn't know that this exists and how the rules
are for this game. I personnaly think the description is correct - that
means:
; 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)
What must be changed is the (default) ruleset itself for Freeciv, to be
equivalent with the rules which are actually are hardcoded. E.g. the entry
for barracks
 ;equiv_dupl =
 equiv_repl = "Sun Tzu's War Academy" , "Barracks II", "Barracks III"
or the nuclear power plant entry
 ;equiv_dupl
 equiv_repl = "Hoover Dam", "Power Plant", "Hydro Plant", "Solar Plant"

I also see the point that it might be useful two build barracks even the
player had built the academy. But this would then only again require a
ruleset change, but now I don't want to this because the patch itself
shouldn't change the real rules at all.

If nobody complain (please anwer fast then) I will create this patch like I
suggested and I also try to merge the construction parts of Ben's FreecivAC
patch so we have at least a generalized construction of building. At least
this can be done without bigger changes of the code so it should be done
now.

bye,
Sebastian Bauer





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