oyzar
Jul 12, 2008, 11:42 AM
What is the game mechanics behind this?
|
View Full Version : motherland unhappiness? oyzar Jul 12, 2008, 11:42 AM What is the game mechanics behind this? PvtFreddy Jul 12, 2008, 12:23 PM I'm just learning to deal with this as a beginner. It might be better if you were to give an example of the game your playing, to have such unhappiness in the motherland. Are you at war? Neglected the buildings that bring happy faces? etc. Like to hear this to be honest. oyzar Jul 12, 2008, 12:28 PM I know how to deal with it.. I am just wondering about the exact mechanics behind it as it is easier to calculate how much unhappiness you will have at different pop levels at different times and when you can afford to grow and such... You get more unhappiness the more culture another civ have in your city compared to your culture. Also unhappiness is dependant on population. Typicaly this happens in captured cities. Captured capitals are typicaly quite anoying with this given that they have gotten alot of culture right from the start... Joshua368 Jul 12, 2008, 01:45 PM Also once I had motherland unhappiness after taking over a barbarian city. What is that about? My best guess is that it had originally been a neighboring civ's but had gotten captured... but I don't think the city name fit. oyzar Jul 12, 2008, 02:05 PM Also once I had motherland unhappiness after taking over a barbarian city. What is that about? My best guess is that it had originally been a neighboring civ's but had gotten captured... but I don't think the city name fit. You can get that just fine if the barbs somehow get culture there... timmy827 Jul 12, 2008, 02:10 PM Does it disappear when the last barb city is captured, like wiping out the original civ does for their cities? oyzar Jul 12, 2008, 02:13 PM Does it disappear when the last barb city is captured, like wiping out the original civ does for their cities? nope ....... mystyfly Jul 13, 2008, 06:31 AM ... as you can't "kill" the whole barb civ. Probabely some code-digger will come up with a satisfying answer. I'm wondering myself. When I foresee a long game I often kill the civ to avoid the motherland :mad:. It would be nice to get an overview over this mechanic to better deal with it (for example when is it better to build :) or culture buildings). Genv [FP] Jul 13, 2008, 10:20 AM I'm just learning to deal with this as a beginner. It might be better if you were to give an example of the game your playing, to have such unhappiness in the motherland. Are you at war? Neglected the buildings that bring happy faces? etc. Like to hear this to be honest. The unhapiness is caused by taking over a city with culture of X civ that you are at war with. It's no big deal anyways. oyzar Jul 13, 2008, 10:30 AM ;7029225']The unhapiness is caused by taking over a city with culture of X civ that you are at war with. It's no big deal anyways. It can be quite a big deal in some circumstances... TyrionLannister Jul 13, 2008, 12:19 PM Doesn't have to be at war with the civ for the motherland unhappiness to appear. In my last game a city I conquered from the aztecs (completely wiped out) had about 14% incan culture and that meant 1 "want to join the motherland" unhappiness. I was never at war with the incan during the entire game, and this was like 1000 years after I wiped out the aztec. DanF5771 Jul 13, 2008, 12:29 PM While diggin' I found this: int CvCity::getCulturePercentAnger() const { int iTotalCulture; int iAngryCulture; int iCulture; int iI; iTotalCulture = plot()->countTotalCulture(); if (iTotalCulture == 0) { return 0; } iAngryCulture = 0; for (iI = 0; iI < MAX_PLAYERS; iI++) { if (GET_PLAYER((PlayerTypes)iI).isAlive()) { if (GET_PLAYER((PlayerTypes)iI).getTeam() != getTeam()) { iCulture = plot()->getCulture((PlayerTypes)iI); if (iCulture > 0) { if (atWar(GET_PLAYER((PlayerTypes)iI).getTeam(), getTeam())) { iCulture *= std::max(0, (GC.getDefineINT("AT_WAR_CULTURE_ANGER_MODIFIER") + 100)); iCulture /= 100; } iAngryCulture += iCulture; } } } } return ((GC.getDefineINT("CULTURE_PERCENT_ANGER") * iAngryCulture) / iTotalCulture); } which is called in int CvCity::unhappyLevel(int iExtra) const with GlobalDefines.xml values AT_WAR_CULTURE_ANGER_MODIFIER = 50 CULTURE_PERCENT_ANGER = 400 PERCENT_ANGER_DIVISOR = 1000 (in CvCity::unhappyLevel) this should give something like MotherlandUnhappy = 0.4 * 1.5*Sum(EnemyCulture)/TotalCulture * CityPopulation Example: Size 17 city with 50% EnemyCulture MotherlandUnhappy = 0.4 * 1.5 * 0.5 * 17 = 5 :mad: I don't know what's up with the iExtra. oyzar Jul 13, 2008, 12:54 PM 0.4*1.5*0.92*6=3.312... However i only have 2 unhappy faces? Is it with just 1 instead of 1.5 if you are not at war? 0.4*0.92*6=2.208 ... Also how is the rounding working? DanF5771 Jul 13, 2008, 01:17 PM 0.4*1.5*0.92*6=3.312... However i only have 2 unhappy faces? Is it with just 1 instead of 1.5 if you are not at war? 0.4*0.92*6=2.208 ... Also how is the rounding working? Yes, only the culture from the civilizations you are at war with is multiplied by 1.5, when at peace *1. What I've seen so far is that Doubles (2.208) are always truncated to the (lower) Integer (2). Your example for size 8 city with 92% culture (peace): MotherlandUnhappy = 0.4 * 1 * 0.92 * 8 = 2.944 --> 2 :mad: oyzar Jul 13, 2008, 02:03 PM 0.4*8*x=2 x=2/(8*0.4) =0.625 . So for 1 unhappy at size 8 i need at least 62.5% of my own culture. DanF5771 Jul 13, 2008, 03:39 PM 0.4*8*x=2 x=2/(8*0.4) =0.625 . :goodjob: So for 1 unhappy at size 8 i need at least 62.5% of my own culture. :nope: You only need at least 37.5% of your own culture so that enemy culture < 62.5% 0.4 * .62 * 8 = 1.984 --> 1:mad: PimpyMicPimp Jul 14, 2008, 02:47 AM MATH IS BAD! Here's all you need to know; You big. You strong. You take city. Puny ant people miss old country. You laugh at there emotions. You take all of old country's cities. People are impressed and forgive you. You drink mead to celebrate. Take notes. |
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.