Bazaar developer reference

CvCity::doTask(TaskTypes, int, int, bool, bool, bool, bool)

Defined in
CvCity.cpp, line 2086
Class
CvCity
Hook name
CivHooks::CvCity_doTask

Hooks

static bool BeforeCvCity_doTask(CvCity* self, TaskTypes eTask, int iData1, int iData2, bool bOption, bool bAlt, bool bShift, bool bCtrl, CityTaskResult& result);static void AfterCvCity_doTask(CvCity* self, TaskTypes eTask, int iData1, int iData2, bool bOption, bool bAlt, bool bShift, bool bCtrl, CityTaskResult& result);static CityTaskResult ReplaceCvCity_doTask(CityTaskResult (*original)(CvCity*, TaskTypes, int, int, bool, bool, bool, bool), CvCity* self, TaskTypes eTask, int iData1, int iData2, bool bOption, bool bAlt, bool bShift, bool bCtrl);CivRegisterBefore<CivHooks::CvCity_doTask>(host, &BeforeCvCity_doTask);CivRegisterAfter<CivHooks::CvCity_doTask>(host, &AfterCvCity_doTask);CivRegisterReplace<CivHooks::CvCity_doTask>(host, &ReplaceCvCity_doTask);

Code

2086CityTaskResult CvCity::doTask(TaskTypes eTask, int iData1, int iData2, bool bOption, bool bAlt, bool bShift, bool bCtrl)2087{2088	VALIDATE_OBJECT2089	CityTaskResult eResult = TASK_COMPLETED;2090	switch(eTask)2091	{2092	case TASK_RAZE:2093		GET_PLAYER(getOwner()).raze(this);2094		break;20952096	case TASK_UNRAZE:2097		GET_PLAYER(getOwner()).unraze(this);2098		break;20992100	case TASK_DISBAND:2101		GET_PLAYER(getOwner()).disband(this);2102		break;21032104	case TASK_GIFT:2105		GET_PLAYER((PlayerTypes)iData1).acquireCity(this, false, true);2106		break;21072108	case TASK_SET_AUTOMATED_CITIZENS:2109		break;21102111	case TASK_SET_AUTOMATED_PRODUCTION:2112		setProductionAutomated(bOption, bAlt && bShift && bCtrl);2113		break;21142115	case TASK_SET_EMPHASIZE:2116		m_pEmphases->SetEmphasize(((EmphasizeTypes)iData1), bOption);2117		break;21182119	case TASK_NO_AUTO_ASSIGN_SPECIALISTS:2120		GetCityCitizens()->SetNoAutoAssignSpecialists(bOption);2121		break;21222123	case TASK_ADD_SPECIALIST:2124		GetCityCitizens()->DoAddSpecialistToBuilding(/*eBuilding*/ (BuildingTypes) iData2, true);2125		break;21262127	case TASK_REMOVE_SPECIALIST:2128		GetCityCitizens()->DoRemoveSpecialistFromBuilding(/*eBuilding*/ (BuildingTypes) iData2, true);2129		GetCityCitizens()->DoAddBestCitizenFromUnassigned();2130		break;21312132	case TASK_CHANGE_WORKING_PLOT:2133		GetCityCitizens()->DoAlterWorkingPlot(/*CityPlotIndex*/ iData1);2134		break;21352136	case TASK_REMOVE_SLACKER:2137		if (GetCityCitizens()->GetNumDefaultSpecialists() > 0)2138		{2139			GetCityCitizens()->ChangeNumDefaultSpecialists(-1);2140			GetCityCitizens()->DoReallocateCitizens();2141		}2142		break;21432144	case TASK_CLEAR_WORKING_OVERRIDE:2145		clearWorkingOverride(iData1);2146		break;21472148	case TASK_HURRY:2149		hurry((HurryTypes)iData1);2150		break;21512152	case TASK_CONSCRIPT:2153		conscript();2154		break;21552156	case TASK_CLEAR_ORDERS:2157		clearOrderQueue();2158		break;21592160	case TASK_RALLY_PLOT:2161		setRallyPlot(GC.getMap().plot(iData1, iData2));2162		break;21632164	case TASK_CLEAR_RALLY_PLOT:2165		setRallyPlot(NULL);2166		break;21672168	case TASK_RANGED_ATTACK:2169		eResult = rangeStrike(iData1,iData2);2170		break;21712172	case TASK_CREATE_PUPPET:2173		DoCreatePuppet();2174		break;21752176	case TASK_ANNEX_PUPPET:2177		DoAnnex();2178		break;21792180	default:2181		CvAssertMsg(false, "eTask failed to match a valid option");2182		break;2183	}21842185	return eResult;2186}

Calls

Called by