if (pNewPlot != NULL)
{
pNewCity = pNewPlot->getPlotCity();
if (pNewCity != NULL)
{
/*************************************************************************************************/
/** InvisAlign 04/04/09 Xienwolf **/
/** **/
/** Invisible Units and other oddities can take undefended cities **/
/*************************************************************************************************/
/** ---- Start Original Code ---- **
if (isEnemy(pNewCity->getTeam()) && !canCoexistWithEnemyUnit(pNewCity->getTeam()) && canFight())
/** ---- End Original Code ---- **/
if (isEnemy(pNewCity->getTeam()) && pNewPlot->getNumVisibleEnemyDefenders(this) == 0 && canFight())
/*************************************************************************************************/
/** InvisAlign END **/
/*************************************************************************************************/
{
GET_TEAM(getTeam()).changeWarWeariness(pNewCity->getTeam(), *pNewPlot, GC.getDefineINT("WW_CAPTURED_CITY"));
GET_TEAM(getTeam()).AI_changeWarSuccess(pNewCity->getTeam(), GC.getDefineINT("WAR_SUCCESS_CITY_CAPTURING"));
PlayerTypes eNewOwner = GET_PLAYER(getOwnerINLINE()).pickConqueredCityOwner(*pNewCity);
if (NO_PLAYER != eNewOwner)
{
GET_PLAYER(eNewOwner).acquireCity(pNewCity, true, false, true); // will delete the pointer
pNewCity = NULL;
}
}
}