Re: Re: [Freeciv-Dev] fast technology explained
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
> It would be impossible to play if the first citizen in a city was
>unhappy.
I have to correct myself civII DOES make the 1st citizen unhappy sometimes.
Even more weird, additional unhappyness seems to be continuous.
E.g. unhappylevel =1.6 is 1 unhappy every city and 6/10 of cities
an additional one. May be that is because unhappyness can't go
below 0 content citizens :-)
I have no clue whether it makes sense to try hard to duplicate that
behaviour, but in a lot of ways civII seemed to be like civ1.0 always
should have been :-)
What helps, is that the effective cityfactor is increased when changing
to better forms of government, so there is still hope for cities that
have no content citizens. Also, a city does always produce 1 unit on
the center(all pop elvises). 3rd, cities do produce food while in unrest.
4th, which IMHO is a design bug, a city does produce shields BEFORE checking
unrest, so it is possible to produce a 50% in a city by going for one turn
unrest, one turn rest. Removing the bug would mean to reduce production to 50%
if there was unrest in this or the last turn.
The time step change is in common/game.c
I'll make a change proposal like this:
--- common/game.cold Mon Nov 9 20:55:57 1998
+++ common/game.c Mon Nov 9 21:15:39 1998
@@ -398,16 +398,20 @@
if (game.year == 1) /* hacked it to get rid of year 0 */
game.year = 0;
- if (game.year < 1000)
- game.year += 20;
- else if (game.year < 1500)
- game.year += 10;
- else if (game.year < 1700)
- game.year += 5;
- else if (game.year < 1800)
+ if(game.year >= 1900 || game.global_advances[A_SPACEFLIGHT] )
+ game.year += 1;
+ else if(game.year >= 1750 || game.global_advances[A_ROCKETRY] )
game.year += 2;
+ else if(game.year >= 1500 || game.global_advances[A_ADVANCED] )
+ game.year += 5;
+ else if(game.year >= 1000 || game.global_advances[A_MONOTHEISM] )
+ game.year += 10;
+ else if(game.year >= 0 )
+ game.year += 20;
+ else if(game.year >= -1500)
+ game.year += 25;
else
- game.year++;
+ game.year += 50;
if (game.year == 0)
game.year = 1;
//testing this now
--
Peter Schaefer mailto:schaefer@xxxxxxxxxxxxxxxxxxxxxxxxxxx
X-Url: http://wwwhoppe.math.uni-augsburg.de/~schaefer/
|
|