Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2001:
[Freeciv-Dev] Re: Generalised improvements testing
Home

[Freeciv-Dev] Re: Generalised improvements testing

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Ben Webb <ben@xxxxxxxxxxxxxxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Generalised improvements testing
From: Daniel Sjölie <deepone@xxxxxxxxxx>
Date: Tue, 11 Dec 2001 14:20:00 +0100

On 2001-12-11 13:01:57, Ben Webb wrote:
> On Tue, 11 Dec 2001, Daniel Sjölie wrote:
> 
> > So, does this mean that wonders giving the effect of buildings in cities
> > have to have the appropriate effect set explicitly? Eg, if you change
> > the effect of cathedrals do you have to change Michelangelo's as well?
> 
> This is how the current rulesets work, yes.
> 
>       Actually, I have thought of a problem with the current impr-gen 
> happiness calculation. Happiness is calculated in the following order: civ 
> size, luxuries, normal buildings, martial law/aggressive units, Wonders. 
> So, since any unhappiness from aggressive units (e.g. under Democracy) is 
> calculated _after_ the effects of Temples etc., the only two ways of 
> cancelling this unhappiness are luxuries (to make happy citizens) or 
> happy/content-making Wonders. Normal buildings can't do this. Sound 
> reasonable?

Well, this is the way I've understood the game to work
as far as I can remember...

>       Traditional Freeciv counts "Wonders that act as buildings" as 
> affecting happiness at step 3 above, i.e. at the same time as normal 
> buildings. My code applies this at 5. So this will create differences in 
> the treatment of aggressive unit unhappiness when using Wonders like the 
> Oracle and Michelangelo[*]. The question is: which way does Payciv do it? 
> Which way is "right"? I'll probably get round this particular problem by 
> extending the happy/content-making ruleset effects so that you can specify 
> whether they apply at "step 3" or "step 5", but frankly I consider the 
> whole affair to be rather confusing. :)
> 
> [*] e.g Temple+Mysticism+Oracle:
>       - Ordinary Freeciv: 4 citizens made content at step 3.
>       - Impr-gen: 2 citizens made content at step 3 due to the Temple,
>                   2 more at step 5 due to the Oracle.
>     Michelangelo+Theology (no Communism):
>       - Ordinary Freeciv: 4 citizens made content at step 3.
>       - Impr-gen: 4 citizens made content at step 5.
> 
>       The current impr-gen solution is equivalent to letting "excess" 
> happy/content-making effects from step 3 carry over to step 5, but normal 
> Freeciv doesn't allow this. Is there any Freeciv or Payciv documentation 
> on how the order of buildings, Wonders and aggressive units affects 
> happiness?

I believe so... I might mix up stuff from lots of different versions but
I'm pretty sure I've read about this somewhere... :)

> > I think it would be preferable to actually add the buildings in some
> > sense since this is what it seems to work like in all the commercial
> > civs I've seen... Eg, when you take a city in civ3 all improvements are
> > destroyed but you appear to have the improvements added by wonders...
> > Ie, they appear in the improvements list and so on...
> 
>       If you mean improvements added by Wonders that you have yourself 
> (rather than Wonders that the old city owner had) then sure, you'd still 
> get the effect of these Wonders. I don't think Freeciv has _ever_ 
> explicitly shown these "pretend" buildings in the improvements list 
> though...
>
>       Question: what about the Oracle? That doesn't act as an 
> improvement at all, but magnifies the effect of an existing one (the 
> Temple). So I'm guessing that Civ2 wouldn't display a Temple if you only 
> had the Oracle Wonder.

Right...

> > Maybe I'm just confused here? :)
> 
>       Not having played Civ1 or Civ2, I'm not sure. But I don't 
> remember SMAC doing that.

The versions I've played lately are Civ3 and CivCTP and I'm sure both
list "virtual improvements"...

Ok... What I think _should_ be done is having a
"give_improvement_effect" that will add some kind of virtual
improvements to cities that should be affected...
I think the Oracle is a different kind of problem that should be solved
with something like "extend_improvement_effect" taking an improvement
and an effect as argument and adding the effect to all those
improvements (but not giving the improvement)...

I don't know if this is pratical though... :)

/Daniel

-- 
Now take a deep breath, smile and don't take life so seriously... :)


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