<Nexus>
Traveler of the Multiverse
Priority:2. after loose, find the capital with gov center.
- National Wonder
- non wonder government centre building *
- World Wonder
- vanilla choice if none of the above exist
You are awesome

Priority:2. after loose, find the capital with gov center.
At least you have those skills - unlike meIm semi awesome, i owe all my cpp skills to @f1rpo .
I hope. If your changes are properly marked I hope I'll be able to merge them. I want to try it at least.Will you be able to port the code to yours and compile?
Yeah, I compiled the DLL a few times with tiny changes.mehh, you should jump in it and learn as you go.
i can guide you in .
do you have the stuff needed for compile?
all my changes are marked with many comments always.
int CvPlayer::getCapitalLossAnarchyLength(bool bIgnoreGoldenAge) const // advc.132
{
int const iMaxAnarchyTurns = getMaxAnarchyTurns(); // advc
if (iMaxAnarchyTurns == 0)
return 0;
if (/* <advc.132> */ !bIgnoreGoldenAge && /* </advc.132> */ isGoldenAge())
return 0;
int iAnarchyLength = 0;
static int const iBASE_LOSS_CAPITAL_ANARCHY_LENGTH = GC.getDefineINT("BASE_LOSS_CAPITAL_ANARCHY_LENGTH"); // advc.opt
iAnarchyLength += iBASE_LOSS_CAPITAL_ANARCHY_LENGTH;
iAnarchyLength += ((getNumCities() * GC.getInfo(GC.getMap().
getWorldSize()).getNumCitiesAnarchyPercent()) / 100);
iAnarchyLength = ((iAnarchyLength * std::max(0, getAnarchyModifier() + 100)) / 100);
if (iAnarchyLength == 0)
return 0;
iAnarchyLength *= GC.getInfo(GC.getGame().getGameSpeedType()).getAnarchyPercent();
iAnarchyLength /= 100;
iAnarchyLength *= GC.getInfo(GC.getGame().getStartEra()).getAnarchyPercent();
iAnarchyLength /= 100;
return range(iAnarchyLength, 1, iMaxAnarchyTurns);
}
I think 1/4 of normal anarchy length neither too harsh, nor too little.what do you think the number should be?
//doto113 keldath find the best capital enhanced start - by <Nexux>
//BuildingClassTypes eCapitalBuilding2 = (BuildingClassTypes)GC.getInfoTypeForString(GC.getDefineSTRING("CAPITAL_BUILDINGCLASS_2"));
BuildingTypes const eCapitalBuilding2 = getCivilization().getBuilding((BuildingClassTypes)GC.getInfoTypeForString(
GC.getDefineSTRING("CAPITAL_BUILDINGCLASS_2")));
if (eCapitalBuilding2 != NO_BUILDING)
{
int eCapitalBuilding2Amnt = pLoopCity->getNumBuilding(eCapitalBuilding2);
if (eCapitalBuilding2Amnt > 0)
iValue += pLoopCity->getPopulation() * 2;
}
//BuildingClassTypes eCapitalBuilding3 = (BuildingClassTypes)GC.getInfoTypeForString(GC.getDefineSTRING("CAPITAL_BUILDINGCLASS_3"));
BuildingTypes const eCapitalBuilding3 = getCivilization().getBuilding((BuildingClassTypes)GC.getInfoTypeForString(
GC.getDefineSTRING("CAPITAL_BUILDINGCLASS_3")));
if (eCapitalBuilding3 != NO_BUILDING)
{
int eCapitalBuilding3Amnt = pLoopCity->getNumBuilding(eCapitalBuilding3);
if (eCapitalBuilding3Amnt > 0)
iValue += pLoopCity->getPopulation() * 2;
}
iValue += pLoopCity->getNumNationalWonders();
iValue += pLoopCity->getNumWorldWonders();
//doto113 keldath find the best capital enhanced start - by <Nexux>
<!-- doto113 keldath find the best capital enhanced start - by <Nexux>-->
</Define>
<Define>
<DefineName>CAPITAL_BUILDINGCLASS_2</DefineName>
<DefineTextVal>BUILDINGCLASS_GREAT_PALACE</DefineTextVal>
</Define>
<Define>
<DefineName>CAPITAL_BUILDINGCLASS_3</DefineName>
<DefineTextVal>BUILDINGCLASS_VERSAILLES</DefineTextVal>
//doto 113 -> loose capital anarchy start by <Nexus>
int CvPlayer::getCapitalLossAnarchyLength() const // advc.132
{
int const iMaxAnarchyTurns = getMaxAnarchyTurns(); // advc
if (iMaxAnarchyTurns == 0)
return 0;
//if (/* <advc.132> */ !bIgnoreGoldenAge && /* </advc.132> */ isGoldenAge())
// return 0;
int iAnarchyLength = 0;
static int const iBASE_LOSS_CAPITAL_ANARCHY_LENGTH = GC.getDefineINT("BASE_LOSS_CAPITAL_ANARCHY_LENGTH"); // advc.opt
iAnarchyLength += iBASE_LOSS_CAPITAL_ANARCHY_LENGTH;
iAnarchyLength += ((getNumCities() * GC.getInfo(GC.getMap().
getWorldSize()).getNumCitiesAnarchyPercent()) / 100);
iAnarchyLength = ((iAnarchyLength * std::max(0, getAnarchyModifier() + 100)) / 100);
if (iAnarchyLength == 0)
return 0;
iAnarchyLength *= GC.getInfo(GC.getGame().getGameSpeedType()).getAnarchyPercent();
iAnarchyLength /= 100;
iAnarchyLength *= GC.getInfo(GC.getGame().getStartEra()).getAnarchyPercent();
iAnarchyLength /= 100;
return range(iAnarchyLength, 1, iMaxAnarchyTurns);
}
//doto 113 -> loose capital anarchy end by <Nexus>
//doto 113 -> loose capital anarchy start
int getCapitalLossAnarchyLength() const; // Exposed to Python
//doto 113 -> loose capital anarchy end
//doto 113 -> loose capital anarchy start by <Nexus>
int const iAnarchyLength = kOwner.getCapitalLossAnarchyLength();
if (iAnarchyLength > 0)
{
kOwner.changeAnarchyTurns(iAnarchyLength);
}
//doto 113 -> loose capital anarchy end by <Nexus>
if (bCapital)
{
kOwner.findNewCapital();
.....
<!-- doto 113 -> loose capital anarchy start by <Nexus> -->
</Define>
<Define>
<DefineName>BASE_LOSS_CAPITAL_ANARCHY_LENGTH</DefineName>
<iDefineIntVal>1</iDefineIntVal>
You really didn't think that throughanymore interesting ideas?![]()
We would need to rebalancebut, GP, i think is a bit overpowered no?
Well... what else?maybe some other yield?