Bazaar developer reference

CvHomelandAI::ExecuteTreasureMoves()

Defined in
CvHomelandAI.cpp, line 4679
Class
CvHomelandAI
Hook name
CivHooks::CvHomelandAI_ExecuteTreasureMoves

Hooks

static bool BeforeCvHomelandAI_ExecuteTreasureMoves(CvHomelandAI* self);static void AfterCvHomelandAI_ExecuteTreasureMoves(CvHomelandAI* self);static void ReplaceCvHomelandAI_ExecuteTreasureMoves(void (*original)(CvHomelandAI*), CvHomelandAI* self);CivRegisterBefore<CivHooks::CvHomelandAI_ExecuteTreasureMoves>(host, &BeforeCvHomelandAI_ExecuteTreasureMoves);CivRegisterAfter<CivHooks::CvHomelandAI_ExecuteTreasureMoves>(host, &AfterCvHomelandAI_ExecuteTreasureMoves);CivRegisterReplace<CivHooks::CvHomelandAI_ExecuteTreasureMoves>(host, &ReplaceCvHomelandAI_ExecuteTreasureMoves);

Code

4678/// Moves a treasure to the capital4679void CvHomelandAI::ExecuteTreasureMoves()4680{4681	CvCity* pLoopCity;4682	CvCity* pCapitalCity = NULL;4683	int iLoopCity = 0;4684	for(pLoopCity = m_pPlayer->firstCity(&iLoopCity); pLoopCity != NULL; pLoopCity = m_pPlayer->nextCity(&iLoopCity))4685	{4686		if(pLoopCity->isCapital())4687		{4688			pCapitalCity = pLoopCity;4689			break;4690		}4691	}46924693	if(pCapitalCity != NULL)4694	{4695		FStaticVector< CvHomelandUnit, 64, true, c_eCiv5GameplayDLL >::iterator it;4696		for(it = m_CurrentMoveUnits.begin(); it != m_CurrentMoveUnits.end(); ++it)4697		{4698			UnitHandle pUnit = m_pPlayer->getUnit(it->GetID());4699			if(!pUnit)4700			{4701				continue;4702			}47034704			pUnit->PushMission(CvTypes::getMISSION_MOVE_TO(), pCapitalCity->getX(), pCapitalCity->getY());4705			pUnit->finishMoves();4706			UnitProcessed(pUnit->GetID());47074708			if(GC.getLogging() && GC.getAILogging())4709			{4710				CvString strLogString;4711				CvString strTemp;4712				strTemp = pUnit->getUnitInfo().GetDescription();4713				strLogString.Format("Moving %s to capital - now at, X: %d, Y: %d", strTemp.GetCString(), pUnit->getX(), pUnit->getY());4714				LogHomelandMessage(strLogString);4715			}4716		}4717	}4718}

Calls

Called by