Unhealth/unhappiness removing wonders/buildings/civics and properties.

raxo2222

Time Traveller
Joined
Jun 10, 2011
Messages
9,737
Location
Poland
You know, that there are some wonders, that remove all unhappiness from city?
Well they make unhappiness from properties null.
Whatever its elderly abuse, timeline tampering or petty theft, they don't make people mad anymore in that city.

There are also some buildings/civics/wonders, that remove unhealth from buildings.
Nice way to erase unhealth from properties.
Whatever its heavy smog, global warming or minor groundwater pollution, they don't harm health of citizens in this city anymore.

These properties still harm city output, but citizens aren't affected by them.
Is it possible to circumvent them?
Or only way is to remove such bonuses from certain buildings/civics/wonders?

I made this thread, so you can be aware of them.

Buildings removing unhappiness from city (<bNoUnhappiness>)
Disneyland WW <Volkyria module>
Ark of the Covenant WW
Globe Theatre WW
Sydney Opera House WW
Theatre of Dionysus WW
Mind-Control Center

Buildings removing unhealthiness from city.
CITY SIZE UNHEALTH (<bNoUnhealthyPopulation>)
Kotoku-in WW
Park Arcology
Body Exchange Clinic
Following civics can do this too: Superhuman (Welfare)
BUILDINGS UNHEALTH (<bBuildingOnlyHealthy>)
Matter Decompiler
Shaman Cathedral <Custom_religions module>
Druid Cathedral <Custom_religions module>
 
Last edited:
@pepper2000 can we have something like Mind Control, Body Exchange Clinic and Matter decompiler but for space?
It would be nice way to make citizens immune to overpopulation and mood/health ruining properties.

World wonders and religious buildings are just cheating on properties :p

@Faustmouse yes.
Its weird to see low tech/mid tech buildings and wonders block property unhappiness and unhealthiness.
 
Last edited:
  • Like
Reactions: tmv
I made this thread, so you can be aware of them.
We have long been aware of this, I've tried to say that these modifiers are used too freely on too many buildings a couple of times through the years, but no change came from that.
I do seem to remember that many were in agreement and that those that were not were not really fanatical about it.
 
We have long been aware of this, I've tried to say that these modifiers are used too freely on too many buildings a couple of times through the years, but no change came from that.
I do seem to remember that many were in agreement and that those that were not were not really fanatical about it.
They are technically tags (on/off), I listed ALL things, that used such tags - its very easy to do if you have notepad++ - I set searching in multiple files in entire Caveman2Cosmos folder for all *.xml files.
Basically they can be removed from all world wonders - they all aren't high tech and religious buildings.
After change following things would use these tags:
Buildings removing unhappiness from city (<bNoUnhappiness>)
Mind-Control Center

Buildings removing unhealthiness from city.
CITY SIZE UNHEALTH (<bNoUnhealthyPopulation>)
Park Arcology
Body Exchange Clinic
Following civics can do this too: Superhuman (Welfare)

BUILDINGS UNHEALTH (<bBuildingOnlyHealthy>)
Matter Decompiler
 
They are technically tags (on/off), I listed ALL things, that used such tags - its very easy to do if you have notepad++ - I set searching in multiple files in entire Caveman2Cosmos folder for all *.xml files.
Basically they can be removed from all world wonders - they all aren't high tech and religious buildings.
After change following things would use these tags:
Mind-Control Center

Buildings removing unhealthiness from city.
CITY SIZE UNHEALTH (<bNoUnhealthyPopulation>)
Park Arcology
Body Exchange Clinic
Following civics can do this too: Superhuman (Welfare)

BUILDINGS UNHEALTH (<bBuildingOnlyHealthy>)
Matter Decompiler
It's easy to change, yes, but as a team we do not make changes without consensus.
 
It's easy to change, yes, but as a team we do not make changes without consensus.
It can wait a little when V38 gets released.
Basically my suggestion is to make unhappiness/unhealth (two biggest sources - population and buildings) blockers as high tech solution for properties irritating citizens.
 
It can wait a little when V38 gets released.
Basically my suggestion is to make unhappiness/unhealth (two biggest sources - population and buildings) blockers as high tech solution for properties irritating citizens.
I agree that we are lacking good tools to remove unhappiness and unhealthy from specific sources in a city, what we do have is a blunt tool for removing those from all sources in a city.
It would require dll code changes, new tags, and quite a lot of design considerations, and they would all have to involve TB, the only C++ modder on the team who can add tags and change the dll code.
 
I agree that we are lacking good tools to remove unhappiness and unhealthy from specific sources in a city, what we do have is a blunt tool for removing those from all sources in a city.
It would require dll code changes, new tags, and quite a lot of design considerations, and they would all have to involve TB, the only C++ modder on the team who can add tags and change the dll code.
Sounds like another project for Thunderbird :D
 
Make an autobuilt special building representing each happiness/unhappiness source. Apply all happiness/unhappiness you want to control that way to the special building (e.g. with BuildingHappinessChanges). Then you can control it with the usual conditions like having or not having specific buildings and similar.
 
Make an autobuilt special building representing each happiness/unhappiness source. Apply all happiness/unhappiness you want to control that way to the special building (e.g. with BuildingHappinessChanges). Then you can control it with the usual conditions like having or not having specific buildings and similar.
Well <bBuildingOnlyHealthy> outright blocks all unhealthiness from anything that is defined as building.
<bNoUnhappiness> is even more powerful - it outright nullifies all unhappiness from all sources.
 
Well <bBuildingOnlyHealthy> outright blocks all unhealthiness from anything that is defined as building.
<bNoUnhappiness> is even more powerful - it outright nullifies all unhappiness from all sources.
Which is why I suggested not using those but instead put the unhappiness on an autobuilt building so you can remove it without removing any other unhappiness by using the build condition of the autobuilt building.
 
Which is why I suggested not using those but instead put the unhappiness on an autobuilt building so you can remove it without removing any other unhappiness by using the build condition of the autobuilt building.
So lets say I have 100 unhealth from buildings and 50 unhealth from all properties stored in single autobuilding X.
Then I build matter manipulator, that removes all unhealth from all buildings except that one "building X".
On end I have 50 unhealth from all properties.
Is it how it would work?
 
Make an autobuilt special building representing each happiness/unhappiness source. Apply all happiness/unhappiness you want to control that way to the special building (e.g. with BuildingHappinessChanges). Then you can control it with the usual conditions like having or not having specific buildings and similar.
That is too specific though, a version of what raxo suggested would be to have a wonder that removes all unhappiness and unhealthy from the city except for those that stems from the property auto-builds... The Special building you suggest would have to have an insane amount of entries to negate the unhealthy or unhappiness from the majority of the buildings in game that have those penalties.
 
That is too specific though, a version of what raxo suggested would be to have a wonder that removes all unhappiness and unhealthy from the city except for those that stems from the property auto-builds... The Special building you suggest would have to have an insane amount of entries to negate the unhealthy or unhappiness from the majority of the buildings in game that have those penalties.
Not quite what I meant.
The special building is not supposed to have the opposite effect. It is just there to store the effect so you can remove it by removing the special building. And that would be what the wonder would do.
Example:
Autobuilt special building "Superstition" with construct condition to be there unless you reach tech X or have built wonder Y or Z.
Different buildings and stuff then adds happiness and unhappiness to "Superstition" with BuildingHappinessChanges.
When you build wonder Y, the construct condition for "Superstition" is no more true so the building is removed and therefore all the happiness and unhappiness that was added to it with BuildingHappinessChanges.
 
Not quite what I meant.
The special building is not supposed to have the opposite effect. It is just there to store the effect so you can remove it by removing the special building. And that would be what the wonder would do.
Example:
Autobuilt special building "Superstition" with construct condition to be there unless you reach tech X or have built wonder Y or Z.
Different buildings and stuff then adds happiness and unhappiness to "Superstition" with BuildingHappinessChanges.
When you build wonder Y, the construct condition for "Superstition" is no more true so the building is removed and therefore all the happiness and unhappiness that was added to it with BuildingHappinessChanges.
Aha I see, but it is still a bit bulky solution then, it would almost double the amount of buildings in the game, i don't know how many buildings there is that give health and happiness penalties but they would all need a special autobuild building attached to them... Not really the elegant solution that is desired for raxo's suggestion.
 
Aha I see, but it is still a bit bulky solution then, it would almost double the amount of buildings in the game, i don't know how many buildings there is that give health and happiness penalties but they would all need a special autobuild building attached to them... Not really the elegant solution that is desired for raxo's suggestion.
You just need one special autobuild building per category that you want switched off/on together, at least for happiness (because of the BuildingHappinessChanges tag).
 
I'm following what AIAndy is saying and it would work similar to the effect of replacing the pests when you get a building like the cat breeder. Separate out the effect of the unhealth/unhappiness from the building that is its source into a secondary derivative special building that can then be replaced by a later building that counters it but leaves the original building doing its thing.

I also think one of the best ways to improve on these no happiness/no unhealth tag usages would be to convert more to a decimalized health/happiness per pop system more regularly. I also think that since actual population is on an exponential curve where the more pop points the city has the more population each point means, then there should be autobuildings that come in at certain population points to make each population count for more crime/disease/unhappiness and unhealth. This would give us more room to create buildings that help to balance against this effect without them being overwhelming and representing the constant ongoing need to improve the city infrastructure to handle the increasing population. In this way we can also create more organic ways to limit city sizes without having to create arbitrary absolute caps.
 
Top Bottom