Bazaar developer reference

CvCity::PostKill(bool, CvPlot *, PlayerTypes)

Defined in
CvCity.cpp, line 1566
Class
CvCity
Hook name
CivHooks::CvCity_PostKill

Hooks

static bool BeforeCvCity_PostKill(CvCity* self, bool bCapital, CvPlot* pPlot, PlayerTypes eOwner);static void AfterCvCity_PostKill(CvCity* self, bool bCapital, CvPlot* pPlot, PlayerTypes eOwner);static void ReplaceCvCity_PostKill(void (*original)(CvCity*, bool, CvPlot*, PlayerTypes), CvCity* self, bool bCapital, CvPlot* pPlot, PlayerTypes eOwner);CivRegisterBefore<CivHooks::CvCity_PostKill>(host, &BeforeCvCity_PostKill);CivRegisterAfter<CivHooks::CvCity_PostKill>(host, &AfterCvCity_PostKill);CivRegisterReplace<CivHooks::CvCity_PostKill>(host, &ReplaceCvCity_PostKill);

Code

1566void CvCity::PostKill(bool bCapital, CvPlot* pPlot, PlayerTypes eOwner)1567{1568	VALIDATE_OBJECT15691570	CvPlayer& owningPlayer = GET_PLAYER(eOwner);15711572	// Recompute Happiness1573	owningPlayer.DoUpdateHappiness();15741575	// Update Unit Maintenance for the player1576	owningPlayer.UpdateUnitProductionMaintenanceMod();15771578	// Update Proximity between this Player and all others1579	PlayerTypes ePlayer;1580	for(int iPlayerLoop = 0; iPlayerLoop < MAX_CIV_PLAYERS; iPlayerLoop++)1581	{1582		ePlayer = (PlayerTypes) iPlayerLoop;15831584		if(ePlayer != eOwner)1585		{1586			if(GET_PLAYER(ePlayer).isAlive())1587			{1588				owningPlayer.DoUpdateProximityToPlayer(ePlayer);1589				GET_PLAYER(ePlayer).DoUpdateProximityToPlayer(eOwner);1590			}1591		}1592	}15931594#if defined(MOD_GLOBAL_CITY_WORKING)1595	GC.getMap().updateWorkingCity(pPlot,getWorkPlotDistance()*2);1596#else	1597	GC.getMap().updateWorkingCity(pPlot,NUM_CITY_RINGS*2);1598#endif15991600	if(bCapital)1601	{1602#if defined(MOD_GLOBAL_NO_CONQUERED_SPACESHIPS)1603		owningPlayer.disassembleSpaceship(pPlot);1604#endif1605		owningPlayer.findNewCapital();1606		owningPlayer.SetHasLostCapital(true, getOwner());1607		GET_TEAM(owningPlayer.getTeam()).resetVictoryProgress();1608	}16091610	pPlot->setImprovementType((ImprovementTypes)(GC.getRUINS_IMPROVEMENT()));16111612	if(eOwner == GC.getGame().getActivePlayer())1613	{1614		DLLUI->setDirty(SelectionButtons_DIRTY_BIT, true);1615	}16161617	DLLUI->setDirty(NationalBorders_DIRTY_BIT, true);16181619	if(GC.getGame().getActivePlayer() == eOwner)1620	{1621		CvMap& theMap = GC.getMap();1622		theMap.updateDeferredFog();1623	}16241625}

Calls

Called by