[to_xp]Gekko
QCT junkie
Sweet! time to flash the Sephi beacon
if (bBuildingClassNeeded)
{
if(eLoopBuilding!=NO_BUILDING) //added Sephi
{
szBuffer.append(NEWLINE);
szBuffer.append(gDLL->getText("TXT_KEY_MISC_REQ_CITY_HAS", GC.getBuildingInfo(eLoopBuilding).getTextKeyWide()));
}
}
I don't know if version 0.8 already includes this, but in CvGlobals::getBuildingInfo you might want to add a check for eLoopBuilding!=NO_BUILDING. The original code had such a check and it surely doesn't hurt. Search for TXT_KEY_MISC_REQ_CITY_HAS and you should find it.
*/
if (kBuilding.getPrereqNumOfBuildingClass((BuildingClassTypes)iI) > 0)
{
if (ePlayer == NO_PLAYER)
{
eLoopBuilding = (BuildingTypes)GC.getBuildingClassInfo((BuildingClassTypes)iI).getDefaultBuildingIndex();
szBuffer.append(NEWLINE);
szBuffer.append(gDLL->getText("TXT_KEY_BUILDING_REQUIRES_NUM_SPECIAL_BUILDINGS_NO_CITY",
getLinkedText(eLoopBuilding, false).c_str(),
kBuilding.getPrereqNumOfBuildingClass((BuildingClassTypes)iI)));
szBuffer.append(szTempBuffer);
}
else
{
const int iNumPreReqs = GET_PLAYER(ePlayer).getBuildingClassPrereqBuilding(eBuilding, ((BuildingClassTypes)iI));
const int iNumTotal = GET_PLAYER(ePlayer).getBuildingClassCount((BuildingClassTypes)iI);
if (iNumPreReqs > iNumTotal)
{
eLoopBuilding = (BuildingTypes)GC.getCivilizationInfo(GET_PLAYER(ePlayer).getCivilizationType()).getCivilizationBuildings(iI);
// If the civilization type blocks this building, it shows default building instead.
if (eLoopBuilding == NO_BUILDING)
{
eLoopBuilding = (BuildingTypes)GC.getBuildingClassInfo((BuildingClassTypes)iI).getDefaultBuildingIndex();
}
szBuffer.append(NEWLINE);
szBuffer.append(gDLL->getText("TXT_KEY_BUILDING_REQUIRES_NUM_SPECIAL_BUILDINGS",
getLinkedText(eLoopBuilding, false).c_str(),
iNumTotal,
iNumPreReqs));
szBuffer.append(szTempBuffer);
}
}
}
if (!bCivilopediaText)
{
if (kBuilding.isBuildingClassNeededInCity(iI))
{
bool bBuildingClassNeeded = true;
if (pCity == NULL)
{
eLoopBuilding = (BuildingTypes)GC.getBuildingClassInfo((BuildingClassTypes)iI).getDefaultBuildingIndex();
}
else
{
eLoopBuilding = (BuildingTypes)GC.getCivilizationInfo(GET_PLAYER(ePlayer).getCivilizationType()).getCivilizationBuildings(iI);
// Assimilated city requires original civilization's building
if (pCity->getCivilizationType() != NO_CIVILIZATION)
{
eLoopBuilding = (BuildingTypes)GC.getCivilizationInfo(pCity->getCivilizationType()).getCivilizationBuildings(iI);
}
// If the civilization type blocks this building, it shows default building instead.
if (eLoopBuilding == NO_BUILDING)
{
eLoopBuilding = (BuildingTypes)GC.getBuildingClassInfo((BuildingClassTypes)iI).getDefaultBuildingIndex();
}
for (int iBuilding = 0; iBuilding < GC.getNumBuildingInfos(); iBuilding++)
{
if (GC.getBuildingInfo((BuildingTypes)iBuilding).getBuildingClassType() == iI
&& pCity->getNumBuilding((BuildingTypes)iBuilding) > 0)
{
bBuildingClassNeeded = false;
break;
}
}
}
if (bBuildingClassNeeded)
{
szBuffer.append(NEWLINE);
szBuffer.append(gDLL->getText("TXT_KEY_MISC_REQ_CITY_HAS", GC.getBuildingInfo(eLoopBuilding).getTextKeyWide()));
}
}
}
//<<<< BUGFfH: End Modify
It won't list the combats, the cities conquered and it gives errors when you build disciple and arcane units.
Denev, did you add something to make the FFH Bonus tag bModifierPerBonus work in the cityscreen? (so multiple life mana show a health bonus higher than 1), or does that work without having to modify BUG interface?
Thanks mate, wish you many good things for the year to come.[to_xp]Gekko;8784468 said:brilliant job as usual denev
Have you planned a new release?
BTW if i can give you some help, i can do something with the XML files, if you like.