[Freeciv-Dev] Re: (PR#12869) the happiness system
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12869 >
Benoit Hudson wrote:
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=12869 >
>
> In PR#9480, Jason said:
>
>>In general, I don't fully understand how happiness, celebration,
>>
>>unhappiness, and disorder work. I know I've said this before, but: is
>>
>>there some documentation on this that anyone can point me to?
>
>
> I don't know of any, but attached is a document. Note the TODO:
> I don't understand angry citizens.
Ok, this explains the logic of changing citizen contentness levels.
Which is good, except it doesn't include angry citizens or specialists.
However I knew all this. This stuff is actually not that complicated
since it's all contained within the generic_city_refresh.
My quesions are about the rules for celebration or disorder.
Basically, celebration and disorder just seem asymmetrical. And these
rules are split between the city.c code and the end-of-turn server code.
The client also knows something but it seems not very much.
1. If enough people in the city are happy, then the city is "happy".
city_happy returns true. Happiness status changes instantly as citizens
are moved between jobs.
2. If enough people are unhappy, then the city is "unhappy".
city_unhappy returns true. Unhappiness is also instant. Unhappiness is
equivalent to disorder. An unhappy city gets some penalties, for
instant to output production, which are continuous effects (e.g.,
gold/science/shield penalty). There are also some events/actions within
the end-of-turn handling that are dependent on disorder
(revolution-when-disorder).
3. If the city is happy for enough turns (rapturedelay) it will go into
celebration. Celebrating cities get certain bonuses (rapture or
enhanced output). Celebrating status changes only at the end of a turn
and lasts through the next turn (after which it is rechecked).
Is this correct?
-jason
|
|