CvPlayerTraits::Reset()
- Defined in
- CvTraitClasses.cpp, line 2351
- Class
- CvPlayerTraits
- Hook name
CivHooks::CvPlayerTraits_Reset
Hooks
static bool BeforeCvPlayerTraits_Reset(CvPlayerTraits* self);static void AfterCvPlayerTraits_Reset(CvPlayerTraits* self);static void ReplaceCvPlayerTraits_Reset(void (*original)(CvPlayerTraits*), CvPlayerTraits* self);CivRegisterBefore<CivHooks::CvPlayerTraits_Reset>(host, &BeforeCvPlayerTraits_Reset);CivRegisterAfter<CivHooks::CvPlayerTraits_Reset>(host, &AfterCvPlayerTraits_Reset);CivRegisterReplace<CivHooks::CvPlayerTraits_Reset>(host, &ReplaceCvPlayerTraits_Reset);
Code
2350/// Reset data members2351void CvPlayerTraits::Reset()2352{2353 Uninit();23542355 m_iGreatPeopleRateModifier = 0;2356 m_iGreatScientistRateModifier = 0;2357 m_iGreatGeneralRateModifier = 0;2358 m_iGreatGeneralExtraBonus = 0;2359 m_iGreatPersonGiftInfluence = 0;2360 m_iLevelExperienceModifier= 0;2361 m_iMaxGlobalBuildingProductionModifier = 0;2362 m_iMaxTeamBuildingProductionModifier = 0;2363 m_iMaxPlayerBuildingProductionModifier = 0;2364 m_iCityUnhappinessModifier = 0;2365 m_iPopulationUnhappinessModifier = 0;2366 m_iCityStateBonusModifier = 0;2367 m_iCityStateFriendshipModifier = 0;2368 m_iCityStateCombatModifier = 0;2369 m_iLandBarbarianConversionPercent = 0;2370 m_iLandBarbarianConversionExtraUnits = 0;2371 m_iSeaBarbarianConversionPercent = 0;2372 m_iCapitalBuildingModifier = 0;2373 m_iPlotBuyCostModifier = 0;2374#if defined(MOD_TRAITS_CITY_WORKING)2375 m_iCityWorkingChange = 0;2376#endif2377#if defined(MOD_TRAITS_CITY_AUTOMATON_WORKERS)2378 m_iCityAutomatonWorkersChange = 0;2379#endif2380 m_iPlotCultureCostModifier = 0;2381 m_iCultureFromKills = 0;2382 m_iFaithFromKills = 0;2383 m_iCityCultureBonus = 0;2384 m_iCapitalThemingBonusModifier = 0;2385 m_iPolicyCostModifier = 0;2386 m_iCityConnectionTradeRouteChange = 0;2387 m_iWonderProductionModifier = 0;2388 m_iPlunderModifier = 0;2389 m_iImprovementMaintenanceModifier = 0;2390 m_iGoldenAgeDurationModifier = 0;2391 m_iGoldenAgeMoveChange = 0;2392 m_iGoldenAgeCombatModifier = 0;2393 m_iGoldenAgeTourismModifier = 0;2394 m_iGoldenAgeGreatArtistRateModifier = 0;2395 m_iGoldenAgeGreatMusicianRateModifier = 0;2396 m_iGoldenAgeGreatWriterRateModifier = 0;2397 m_iExtraEmbarkMoves = 0;2398 m_iNaturalWonderFirstFinderGold = 0;2399 m_iNaturalWonderSubsequentFinderGold = 0;2400 m_iNaturalWonderYieldModifier = 0;2401 m_iNaturalWonderHappinessModifier = 0;2402 m_iNearbyImprovementCombatBonus = 0;2403 m_iNearbyImprovementBonusRange = 0;2404 m_iCultureBuildingYieldChange = 0;2405 m_iCombatBonusVsHigherTech = 0;2406 m_iCombatBonusVsLargerCiv = 0;2407 m_iLandUnitMaintenanceModifier = 0;2408 m_iNavalUnitMaintenanceModifier = 0;2409 m_iRazeSpeedModifier = 0;2410 m_iDOFGreatPersonModifier = 0;2411 m_iLuxuryHappinessRetention = 0;2412#if defined(MOD_TRAITS_EXTRA_SUPPLY)2413 m_iExtraSupply = 0;2414 m_iExtraSupplyPerCity = 0;2415 m_iExtraSupplyPerPopulation = 0;2416#endif2417 m_iExtraSpies = 0;2418 m_iUnresearchedTechBonusFromKills = 0;2419 m_iExtraFoundedCityTerritoryClaimRange = 0;2420 m_iFreeSocialPoliciesPerEra = 0;2421 m_iNumTradeRoutesModifier = 0;2422 m_iTradeRouteResourceModifier = 0;2423 m_iUniqueLuxuryCities = 0;2424 m_iUniqueLuxuryQuantity = 0;2425 m_iWorkerSpeedModifier = 0;2426 m_iAfraidMinorPerTurnInfluence = 0;2427 m_iLandTradeRouteRangeBonus = 0;2428#if defined(MOD_TRAITS_TRADE_ROUTE_BONUSES)2429 m_iSeaTradeRouteRangeBonus = 0;2430#endif2431 m_iTradeReligionModifier = 0;2432 m_iTradeBuildingModifier = 0;24332434 m_bFightWellDamaged = false;2435 m_bMoveFriendlyWoodsAsRoad = false;2436 m_bFasterAlongRiver = false;2437 m_bFasterInHills = false;2438 m_bEmbarkedAllWater = false;2439 m_bEmbarkedToLandFlatCost = false;2440 m_bNoHillsImprovementMaintenance = false;2441 m_bTechBoostFromCapitalScienceBuildings = false;2442 m_bStaysAliveZeroCities = false;2443 m_bFaithFromUnimprovedForest = false;2444#if defined(MOD_TRAITS_ANY_BELIEF)2445 m_bAnyBelief = false;2446#endif2447 m_bBonusReligiousBelief = false;2448 m_bAbleToAnnexCityStates = false;2449 m_bCrossesMountainsAfterGreatGeneral = false;2450#if defined(MOD_TRAITS_CROSSES_ICE)2451 m_bCrossesIce = false;2452#endif2453#if defined(MOD_TRAITS_GG_FROM_BARBARIANS)2454 m_bGGFromBarbarians = false;2455#endif2456 m_bMayaCalendarBonuses = false;2457 m_bNoAnnexing = false;2458 m_bTechFromCityConquer = false;2459 m_bUniqueLuxuryRequiresNewArea = false;2460 m_bRiverTradeRoad = false;2461 m_bAngerFreeIntrusionOfCityStates = false;24622463 m_eCampGuardType = NO_UNIT;2464 m_eCombatBonusImprovement = NO_IMPROVEMENT;24652466 m_ppaaiImprovementYieldChange.clear();2467 m_ppaaiImprovementYieldChange.resize(GC.getNumImprovementInfos());2468#if defined(MOD_API_UNIFIED_YIELDS) && defined(MOD_API_PLOT_YIELDS)2469 m_ppiPlotYieldChange.clear();2470 m_ppiPlotYieldChange.resize(GC.getNumPlotInfos());2471#endif2472#if defined(MOD_API_UNIFIED_YIELDS)2473 m_ppiBuildingClassYieldChange.clear();2474 m_ppiBuildingClassYieldChange.resize(GC.getNumBuildingClassInfos());2475 m_ppiFeatureYieldChange.clear();2476 m_ppiFeatureYieldChange.resize(GC.getNumFeatureInfos());2477 m_ppiResourceYieldChange.clear();2478 m_ppiResourceYieldChange.resize(GC.getNumResourceInfos());2479 m_ppiTerrainYieldChange.clear();2480 m_ppiTerrainYieldChange.resize(GC.getNumTerrainInfos());2481 m_ppiTradeRouteYieldChange.clear();2482 m_ppiTradeRouteYieldChange.resize(NUM_DOMAIN_TYPES);2483#endif2484 m_ppaaiSpecialistYieldChange.clear();2485 m_ppaaiSpecialistYieldChange.resize(GC.getNumSpecialistInfos());2486#if defined(MOD_API_UNIFIED_YIELDS)2487 m_ppiGreatPersonExpendedYield.clear();2488 m_ppiGreatPersonExpendedYield.resize(GC.getNumGreatPersonInfos());2489 m_ppiCityYieldFromUnimprovedFeature.clear();2490 m_ppiCityYieldFromUnimprovedFeature.resize(GC.getNumFeatureInfos());2491#endif2492 m_ppaaiUnimprovedFeatureYieldChange.clear();2493 m_ppaaiUnimprovedFeatureYieldChange.resize(GC.getNumFeatureInfos());24942495 Firaxis::Array< int, NUM_YIELD_TYPES > yield;2496 for(unsigned int j = 0; j < NUM_YIELD_TYPES; ++j)2497 {2498 yield[j] = 0;2499 }25002501 for(int iYield = 0; iYield < NUM_YIELD_TYPES; iYield++)2502 {2503 m_iExtraYieldThreshold[iYield] = 0;2504 m_iFreeCityYield[iYield] = 0;2505 m_iYieldChangeStrategicResources[iYield] = 0;2506 m_iYieldChangeNaturalWonder[iYield] = 0;2507 m_iYieldChangePerTradePartner[iYield] = 0;2508 m_iYieldChangeIncomingTradeRoute[iYield] = 0;2509 m_iYieldRateModifier[iYield] = 0;25102511 for(int iImprovement = 0; iImprovement < GC.getNumImprovementInfos(); iImprovement++)2512 {2513 m_ppaaiImprovementYieldChange[iImprovement] = yield;2514 }2515#if defined(MOD_API_UNIFIED_YIELDS) && defined(MOD_API_PLOT_YIELDS)2516 for(int iPlot = 0; iPlot < GC.getNumPlotInfos(); iPlot++)2517 {2518 m_ppiPlotYieldChange[iPlot] = yield;2519 }2520#endif2521#if defined(MOD_API_UNIFIED_YIELDS)2522 for(int iBuildingClass = 0; iBuildingClass < GC.getNumBuildingClassInfos(); iBuildingClass++)2523 {2524 m_ppiBuildingClassYieldChange[iBuildingClass] = yield;2525 }2526 m_iCapitalYieldChanges[iYield] = 0;2527 m_iCityYieldChanges[iYield] = 0;2528 m_iCoastalCityYieldChanges[iYield] = 0;2529 m_iGreatWorkYieldChanges[iYield] = 0;2530 for(int iFeature = 0; iFeature < GC.getNumFeatureInfos(); iFeature++)2531 {2532 m_ppiFeatureYieldChange[iFeature] = yield;2533 }2534 for(int iResource = 0; iResource < GC.getNumResourceInfos(); iResource++)2535 {2536 m_ppiResourceYieldChange[iResource] = yield;2537 }2538 for(int iTerrain = 0; iTerrain < GC.getNumTerrainInfos(); iTerrain++)2539 {2540 m_ppiTerrainYieldChange[iTerrain] = yield;2541 }2542 m_iYieldFromKills[iYield] = 0;2543 m_iYieldFromBarbarianKills[iYield] = 0;2544 m_iYieldChangeTradeRoute[iYield] = 0;2545 m_iYieldChangeWorldWonder[iYield] = 0;2546 for(int iDomain = 0; iDomain < NUM_DOMAIN_TYPES; iDomain++)2547 {2548 m_ppiTradeRouteYieldChange[iDomain] = yield;2549 }2550 for(int iGreatPerson = 0; iGreatPerson < GC.getNumGreatPersonInfos(); iGreatPerson++)2551 {2552 m_ppiGreatPersonExpendedYield[iGreatPerson] = yield;2553 }2554#endif2555 for(int iSpecialist = 0; iSpecialist < GC.getNumSpecialistInfos(); iSpecialist++)2556 {2557 m_ppaaiSpecialistYieldChange[iSpecialist] = yield;2558 }2559 for(int iFeature = 0; iFeature < GC.getNumFeatureInfos(); iFeature++)2560 {2561#if defined(MOD_API_UNIFIED_YIELDS)2562 m_ppiCityYieldFromUnimprovedFeature[iFeature] = yield;2563#endif2564 m_ppaaiUnimprovedFeatureYieldChange[iFeature] = yield;2565 }2566 }25672568#if defined(MOD_API_UNIFIED_YIELDS)2569 m_piGoldenAgeGreatPersonRateModifier.clear();2570 m_piGoldenAgeGreatPersonRateModifier.resize(GC.getNumGreatPersonInfos());25712572 for(int iGreatPerson = 0; iGreatPerson < GC.getNumGreatPersonInfos(); iGreatPerson++)2573 {2574 m_piGoldenAgeGreatPersonRateModifier[iGreatPerson] = 0;2575 }2576#endif25772578 for(int iTerrain = 0; iTerrain < GC.getNumTerrainInfos(); iTerrain++)2579 {2580 m_iStrategicResourceQuantityModifier[iTerrain] = 0;2581 }25822583 m_aiResourceQuantityModifier.clear();2584 m_aiResourceQuantityModifier.resize(GC.getNumResourceInfos());25852586 for(int iResource = 0; iResource < GC.getNumResourceInfos(); iResource++)2587 {2588 m_aiResourceQuantityModifier[iResource] = 0;2589 }25902591 m_abNoTrain.clear();2592 m_abNoTrain.resize(GC.getNumUnitClassInfos());2593 for (int iUnitClass = 0; iUnitClass < GC.getNumUnitClassInfos(); iUnitClass++)2594 {2595 m_abNoTrain[iUnitClass] = false;2596 }25972598 m_aFreeTraitUnits.clear();25992600 int iNumUnitCombatClassInfos = GC.getNumUnitCombatClassInfos();2601 CvAssertMsg((0 < iNumUnitCombatClassInfos), "GC.getNumUnitCombatClassInfos() is not greater than zero but an array is being allocated in CvPlayerTraits::Reset");2602 m_paiMovesChangeUnitCombat.clear();2603 m_paiMaintenanceModifierUnitCombat.clear();2604 m_paiMovesChangeUnitCombat.resize(iNumUnitCombatClassInfos);2605 m_paiMaintenanceModifierUnitCombat.resize(iNumUnitCombatClassInfos);2606 for(int iI = 0; iI < iNumUnitCombatClassInfos; iI++)2607 {2608 m_paiMovesChangeUnitCombat[iI] = 0;2609 m_paiMaintenanceModifierUnitCombat[iI] = 0;2610 }26112612 int iResourceLoop;2613 for(iResourceLoop = 0; iResourceLoop < GC.getNumResourceInfos(); iResourceLoop++)2614 {2615 FreeResourceXCities temp;2616 m_aFreeResourceXCities.push_back(temp);2617 }2618}
Calls
BaseVector::clear- CvGlobals::getNumBuildingClassInfos()
- CvGlobals::getNumFeatureInfos()
- CvGlobals::getNumGreatPersonInfos()
- CvGlobals::getNumImprovementInfos()
- CvGlobals::getNumPlotInfos()
- CvGlobals::getNumResourceInfos()
- CvGlobals::getNumSpecialistInfos()
- CvGlobals::getNumTerrainInfos()
- CvGlobals::getNumUnitClassInfos()
- CvGlobals::getNumUnitCombatClassInfos()
- CvPlayerTraits::Uninit()
Firaxis::Array::ArrayFiraxis::Array::operator=Firaxis::Array::operator[]- FreeResourceXCities::FreeResourceXCities()
std::_Vb_reference::operator=std::vector::clearstd::vector::clearstd::vector::clearstd::vector::operator[]std::vector::operator[]std::vector::operator[]std::vector::push_backstd::vector::resizestd::vector::resizestd::vector::resize
Called by
- CvPlayer::processPolicies(PolicyTypes, int)
- CvPlayer::setLeaderType(LeaderHeadTypes)
- CvGameReligions::AddReformationBelief(PlayerTypes, ReligionTypes, BeliefTypes)
- CvGameReligions::EnhanceReligion(PlayerTypes, ReligionTypes, BeliefTypes, BeliefTypes, bool)
- CvGameReligions::FoundPantheon(PlayerTypes, BeliefTypes)
- CvGameReligions::FoundReligion(PlayerTypes, ReligionTypes, const char *, BeliefTypes, BeliefTypes, BeliefTypes, BeliefTypes, CvCity *)
- CvTeam::processTech(TechTypes, int)
- CvPlayerTraits::Init(CvTraitXMLEntries *, CvPlayer *)