//------------------------------------------------------------------------------ void CvDllNetMessageHandler::ResponseSellBuilding(PlayerTypes ePlayer, int iCityID, BuildingTypes eBuilding) { CvCity* pCity = GET_PLAYER(ePlayer).getCity(iCityID); if(pCity) { pCity->GetCityBuildings()->DoSellBuilding(eBuilding); #if defined(MOD_EVENTS_CITY) if (MOD_EVENTS_CITY) { GAMEEVENTINVOKE_HOOK(GAMEEVENT_CitySoldBuilding, ePlayer, iCityID, eBuilding); } else { #endif ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem(); if (pkScriptSystem) { CvLuaArgsHandle args; args->Push(ePlayer); args->Push(iCityID); args->Push(eBuilding); bool bResult; LuaSupport::CallHook(pkScriptSystem, "CitySoldBuilding", args.get(), bResult); } #if defined(MOD_EVENTS_CITY) } #endif } }
// -------------------------------------------------------------------------------- /// Camp cleared, so reset counter void CvBarbarians::DoBarbCampCleared(CvPlot* pPlot, PlayerTypes ePlayer) { m_aiPlotBarbCampSpawnCounter[pPlot->GetPlotIndex()] = -16; pPlot->AddArchaeologicalRecord(CvTypes::getARTIFACT_BARBARIAN_CAMP(), ePlayer, NO_PLAYER); #if defined(MOD_EVENTS_BARBARIANS) if (MOD_EVENTS_BARBARIANS) { GAMEEVENTINVOKE_HOOK(GAMEEVENT_BarbariansCampCleared, pPlot->getX(), pPlot->getY(), ePlayer); } #endif }
//------------------------------------------------------------------------------ void CvDllNetMessageHandler::ResponseSellBuilding(PlayerTypes ePlayer, int iCityID, BuildingTypes eBuilding) { CvCity* pCity = GET_PLAYER(ePlayer).getCity(iCityID); if(pCity) { pCity->GetCityBuildings()->DoSellBuilding(eBuilding); #if defined(MOD_EVENTS_CITY) if (MOD_EVENTS_CITY) { GAMEEVENTINVOKE_HOOK(GAMEEVENT_CitySoldBuilding, ePlayer, iCityID, eBuilding); } #endif } }
// -------------------------------------------------------------------------------- /// Camp cleared, so reset counter void CvBarbarians::DoBarbCampCleared(CvPlot* pPlot, PlayerTypes ePlayer) { m_aiPlotBarbCampSpawnCounter[pPlot->GetPlotIndex()] = -16; pPlot->AddArchaeologicalRecord(CvTypes::getARTIFACT_BARBARIAN_CAMP(), ePlayer, NO_PLAYER); #if defined(MOD_EVENTS_BARBARIANS) if (MOD_EVENTS_BARBARIANS) { GAMEEVENTINVOKE_HOOK(GAMEEVENT_BarbariansCampCleared, pPlot->getX(), pPlot->getY(), ePlayer); } #endif #if defined(MOD_BALANCE_CORE_MILITARY) std::vector<CvPlot*>::iterator it = std::find(m_vPlotsWithCamp.begin(),m_vPlotsWithCamp.end(),pPlot); if (it!=m_vPlotsWithCamp.end()) m_vPlotsWithCamp.erase(it); #endif }