Open devolution79 opened 6 years ago
After posting this list I am happy to report that we actually removed cheat 1) recently without impacting the AI performance. We still need to verify it properly though since there are many AI "loopholes".
Notice that these cheats are places just because the AI sucks... as always... Maybe we should keep them? Unless you build an AI based on HAL9000 :)
Well, we're forced to keeping them for a while until the AI improves sufficiently. Note that some of them are a bit outrageous like automatic distribution and transmutation of yields. It's almost like the AI is playing a different game since it's allowed to straight up ignore certain game mechanics. I think that, without doubt, the colonization AI has the most cheats of any civ game. In civ4..6 the AI generally only receives boosts to production, research etc. rather than being allowed to ignore fundamental game rules.
Yep. Notice that colonization is a much more complex game, with all the logistics involved... I have the feel that, if we are going to make a really efficient AI, we will have to multithread this game somehow.
This is intended as a general list of AI cheats that do depend on the difficulty. In other words, the AI receives the full benefit of these even when playing on explorer. Keep in mind that this list is probably not complete. It is unlikely that we'll ever get rid of all of these, but it should be a goal to reduce them!
1) Slaves and prisoners can found cities CvUnit::canFound 2) Can breed livestock despite having none CvCity::setYieldStored / CvPlot::calculatePotentialYield 3) No building or unit production decay doDecay() 4) Automagic distribution of certain yields redistributeWood, redeistributeMuskets /( and cannons) 5) Can change cannons to muskets and muskets to cannnons ( from CvPlayer::doTurn) 6) Can build wagons with only hammersCvPlayer::getYieldProductionNeeded 7) No negative effects from negative city health CvCity::getCityHealthChangeFromPopulation, void CvCity::setCityHealth(int iValue) 8) Free production (hammers) when founding a city CvCity::init Controlled by changeOverflowProduction(GC.getDefineINT("INITIAL_AI_CITY_PRODUCTION"), 0); 9) Less time required to become expert CvCity::LbD_try_become_expert 10) Timer is not reset when changing profession (see above) 11) Criminals and similar units cannot escape CvCity::LbD_try_escape 12) Reduced REF option is always active (REF reduced by 50%) CvPlayer::NBMOD_REF_MakeStartValue 13) No unprotected city unrest and half price for militia CvPlayer::checkForMilitiaOrUnrest 14) Discount for buying native mercenaries CvPlayer::checkForNativeMercs 15) Discount for buying mercenaries (conquistadors) CvPlayer::checkForConquistadors 16) Less pirates spawn near AI cities CvPlayer::checkForPirates 17) Free military unit if fighting a church war CvPlayer::checkForChurchWar 18) Possible free unit when founding a city CvUnit::doFound 29) Natives get free gold per turn CvPlayer::doTurn