123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680 |
- #pragma once
- #ifndef CyCity_h
- #define CyCity_h
- //
- // Python wrapper class for CvCity
- //
- //#include "CvEnums.h"
- #include <string>
- # include <boost/python/tuple.hpp>
- namespace python = boost::python;
- struct OrderData;
- class CvCity;
- class CyPlot;
- class CyArea;
- class CyUnit;
- class CyCity
- {
- public:
- CyCity();
- DllExport CyCity(CvCity* pCity); // Call from C++
- CvCity* getCity() { return m_pCity; } // Call from C++
- bool isNone() { return (m_pCity==NULL); }
- void kill();
- /************************************************************************************************/
- /* REVOLUTION_MOD 03/29/09 jdog5000 */
- /* */
- /* */
- /************************************************************************************************/
- int getRevolutionIndex();
- void setRevolutionIndex( int iNewValue );
- void changeRevolutionIndex( int iChange );
- int getLocalRevIndex();
- void setLocalRevIndex( int iNewValue );
- void changeLocalRevIndex( int iChange );
- int getRevIndexAverage() const;
- void setRevIndexAverage( int iNewValue );
- void updateRevIndexAverage( );
- int getRevolutionCounter();
- void setRevolutionCounter( int iNewValue );
- void changeRevolutionCounter( int iChange );
- int getReinforcementCounter();
- void setReinforcementCounter( int iNewValue );
- void changeReinforcementCounter( int iChange );
- int getRevIndexHappinessVal();
- int getRevIndexDistanceVal();
- int getRevIndexColonyVal();
- int getRevIndexReligionVal();
- int getRevIndexNationalityVal();
- int getRevIndexHealthVal();
- int getRevIndexGarrisonVal();
- int getRevIndexDisorderVal();
- bool isRecentlyAcquired();
- /************************************************************************************************/
- /* REVOLUTION_MOD END */
- /************************************************************************************************/
- // lfgr 09/2023 Extra revolution tags
- int getTotalRevGarrisonValue() const;
- void createGreatPeople(int /*UnitTypes*/ eGreatPersonUnit, bool bIncrementThreshold, bool bIncrementExperience);
- void doTask(int /*TaskTypes*/ eTask, int iData1, int iData2, bool bOption);
- void chooseProduction(int /*UnitTypes*/ eTrainUnit, int /*BuildingTypes*/ eConstructBuilding, int /*ProjectTypes*/ eCreateProject, bool bFinish, bool bFront);
- int getCityPlotIndex(CyPlot* pPlot);
- CyPlot* getCityIndexPlot(int iIndex);
- bool canWork(CyPlot* pPlot);
- void clearWorkingOverride(int iIndex);
- int countNumImprovedPlots();
- int countNumWaterPlots();
- int countNumRiverPlots();
- int findPopulationRank();
- int findBaseYieldRateRank(int /*YieldTypes*/ eYield);
- int findYieldRateRank(int /*YieldTypes*/ eYield);
- int findCommerceRateRank(int /*CommerceTypes*/ eCommerce);
- int /*UnitTypes*/ allUpgradesAvailable(int /*UnitTypes*/ eUnit, int iUpgradeCount);
- bool isWorldWondersMaxed();
- bool isTeamWondersMaxed();
- bool isNationalWondersMaxed();
- bool isBuildingsMaxed();
- bool canTrain( int iUnit, bool bContinue, bool bTestVisible);
- bool canConstruct( int iBuilding, bool bContinue, bool bTestVisible, bool bIgnoreCost);
- bool canCreate( int iProject, bool bContinue, bool bTestVisible );
- bool canMaintain( int iProcess, bool bContinue );
- bool canJoin();
- int getFoodTurnsLeft();
- bool isProduction();
- bool isProductionLimited();
- bool isProductionUnit();
- bool isProductionBuilding();
- bool isProductionProject();
- bool isProductionProcess();
- bool canContinueProduction(OrderData order);
- int getProductionExperience(int /*UnitTypes*/ eUnit);
- void addProductionExperience(CyUnit* pUnit, bool bConscript);
- int /*UnitTypes*/ getProductionUnit();
- int /*UnitAITypes*/ getProductionUnitAI();
- int /*BuildingTypes*/ getProductionBuilding();
- int /*ProjectTypes*/ getProductionProject();
- int /*ProcessTypes*/ getProductionProcess();
- std::wstring getProductionName();
- std::wstring getProductionNameKey();
- int getGeneralProductionTurnsLeft();
- bool isFoodProduction();
- int getFirstUnitOrder(int /*UnitTypes*/ eUnit);
- int getFirstProjectOrder(int /*ProjectTypes*/ eProject);
- int getNumTrainUnitAI(int /*UnitAITypes*/ eUnitAI);
- int getFirstBuildingOrder(int /*BuildingTypes*/ eBuilding);
- bool isUnitFoodProduction(int /*UnitTypes*/ iUnit);
- int getProduction();
- int getProductionNeeded();
- int getProductionTurnsLeft();
- int getUnitProductionTurnsLeft(int /*UnitTypes*/ iUnit, int iNum);
- int getBuildingProductionTurnsLeft(int /*BuildingTypes*/ iBuilding, int iNum);
- int getProjectProductionTurnsLeft(int /*ProjectTypes*/ eProject, int iNum);
- void setProduction(int iNewValue);
- void changeProduction(int iChange);
- int getProductionModifier();
- int getCurrentProductionDifference(bool bIgnoreFood, bool bOverflow);
- int getUnitProductionModifier(int /*UnitTypes*/ iUnit);
- int getBuildingProductionModifier(int /*BuildingTypes*/ iBuilding);
- int getProjectProductionModifier(int /*ProjectTypes*/ eProject);
- int getExtraProductionDifference(int iExtra);
- bool canHurry(int /*HurryTypes*/ iHurry, bool bTestVisible);
- void hurry(int /*HurryTypes*/ iHurry);
- int /*UnitTypes*/ getConscriptUnit();
- int getConscriptPopulation();
- int conscriptMinCityPopulation();
- int flatConscriptAngerLength();
- bool canConscript();
- void conscript();
- int getBonusHealth(int /*BonusTypes*/ iBonus);
- int getBonusHappiness(int /*BonusTypes*/ iBonus);
- int getBonusPower(int /*BonusTypes*/ eBonus, bool bDirty);
- int getBonusYieldRateModifier(int /*YieldTypes*/ eIndex, int /*BonusTypes*/ eBonus);
- int /* HandicapTypes */ getHandicapType();
- int /* CivilizationTypes */ getCivilizationType();
- int /*LeaderHeadTypes*/ getPersonalityType();
- int /*ArtStyleTypes*/ getArtStyleType();
- int /*CitySizeTypes*/ getCitySizeType();
- bool hasTrait(int /*TraitTypes*/ iTrait);
- bool isBarbarian();
- bool isHuman();
- bool isVisible(int /*TeamTypes*/ eTeam, bool bDebug);
- bool isCapital();
- bool isCoastal(int iMinWaterSize);
- bool isDisorder();
- bool isHolyCityByType(int /*ReligionTypes*/ iIndex);
- bool isHolyCity();
- bool isHeadquartersByType(int /*CorporationTypes*/ iIndex);
- bool isHeadquarters();
- int getOvercrowdingPercentAnger(int iExtra);
- int getNoMilitaryPercentAnger();
- int getCulturePercentAnger();
- int getReligionPercentAnger();
- int getWarWearinessPercentAnger();
- /************************************************************************************************/
- /* REVOLUTION_MOD 04/19/08 jdog5000 */
- /* */
- /* */
- /************************************************************************************************/
- int getRevRequestPercentAnger();
- int getRevIndexPercentAnger();
- /************************************************************************************************/
- /* REVOLUTION_MOD END */
- /************************************************************************************************/
- int getLargestCityHappiness();
- int unhappyLevel(int iExtra);
- int unhappyLevelForRevIdx(int iExtra); // REVOLUTION_REFACTORING 04/2021 lfgr: Ignores some modifiers
- int happyLevel();
- int angryPopulation(int iExtra);
- int totalFreeSpecialists();
- int extraPopulation();
- int extraSpecialists();
- int extraFreeSpecialists();
- int unhealthyPopulation(bool bNoAngry, int iExtra);
- int totalGoodBuildingHealth();
- int totalBadBuildingHealth();
- int goodHealth();
- int badHealth(bool bNoAngry);
- int healthRate(bool bNoAngry, int iExtra);
- int foodConsumption(bool bNoAngry, int iExtra);
- int foodDifference(bool bBottom);
- int growthThreshold();
- int productionLeft();
- int hurryCost(bool bExtra);
- int hurryGold(int /*HurryTypes*/ iHurry);
- int hurryPopulation(int /*HurryTypes*/ iHurry);
- int hurryProduction(int /*HurryTypes*/ iHurry);
- int flatHurryAngerLength();
- int hurryAngerLength(int /*HurryTypes*/ iHurry);
- int maxHurryPopulation();
- int cultureDistance(int iDX, int iDY);
- int cultureStrength(int /*PlayerTypes*/ ePlayer);
- int cultureGarrison(int /*PlayerTypes*/ ePlayer);
- int getNumBuilding(int /*BuildingTypes*/ iIndex);
- bool isHasBuilding(int /*BuildingTypes*/ iIndex); // This is a function to help modders out, since it was replaced with getNumBuildings() in the C++
- int getNumActiveBuilding(int /*BuildingTypes*/ iIndex);
- int getID();
- int getX();
- int getY();
- bool at(int iX, int iY);
- bool atPlot(CyPlot* pPlot);
- CyPlot* plot();
- bool isConnectedTo(CyCity* pCity);
- bool isConnectedToCapital(int /*PlayerTypes*/ ePlayer);
- CyArea* area();
- CyArea* waterArea();
- CyPlot* getRallyPlot();
- int getGameTurnFounded();
- int getGameTurnAcquired();
- int getPopulation();
- void setPopulation(int iNewValue);
- void changePopulation(int iChange);
- long getRealPopulation();
- int getHighestPopulation();
- void setHighestPopulation(int iNewValue);
- int getWorkingPopulation();
- int getSpecialistPopulation();
- int getNumGreatPeople();
- int getBaseGreatPeopleRate();
- int getGreatPeopleRate();
- int getTotalGreatPeopleRateModifier();
- void changeBaseGreatPeopleRate(int iChange);
- int getGreatPeopleRateModifier();
- // BUG - Building Additional Great People - start
- int getAdditionalGreatPeopleRateByBuilding(int /*BuildingTypes*/ iBuilding);
- int getAdditionalBaseGreatPeopleRateByBuilding(int /*BuildingTypes*/ iBuilding);
- int getAdditionalGreatPeopleRateModifierByBuilding(int /*BuildingTypes*/ iBuilding);
- // BUG - Building Additional Great People - end
- int getGreatPeopleProgress();
- void changeGreatPeopleProgress(int iChange);
- int getNumWorldWonders();
- int getNumTeamWonders();
- int getNumNationalWonders();
- int getNumBuildings();
- bool isGovernmentCenter();
- // BUG - Building Saved Maintenance - start
- int getSavedMaintenanceByBuilding(int /*BuildingTypes*/ iBuilding) const;
- int getSavedMaintenanceTimes100ByBuilding(int /*BuildingTypes*/ iBuilding) const;
- // BUG - Building Saved Maintenance - end
- int getMaintenance() const;
- int getMaintenanceTimes100() const;
- int calculateDistanceMaintenance() const;
- int calculateDistanceMaintenanceTimes100() const;
- int calculateNumCitiesMaintenance() const;
- int calculateNumCitiesMaintenanceTimes100() const;
- int calculateColonyMaintenanceTimes100() const;
- int calculateColonyMaintenance() const;
- int calculateCorporationMaintenanceTimes100() const;
- int calculateCorporationMaintenance() const;
- int getMaintenanceModifier();
- int getWarWearinessModifier();
- int getHurryAngerModifier();
- void changeHealRate(int iChange);
- int getEspionageHealthCounter();
- void changeEspionageHealthCounter(int iChange);
- int getEspionageHappinessCounter();
- void changeEspionageHappinessCounter(int iChange);
- int getFreshWaterGoodHealth();
- int getFreshWaterBadHealth();
- int getBuildingGoodHealth();
- int getBuildingBadHealth();
- int getFeatureGoodHealth();
- int getFeatureBadHealth();
- // BUG - Feature Health - start
- int getAdditionalHealthByFeature(int /*FeatureTypes*/ eFeature, int iChange);
- int getAdditionalGoodHealthByFeature(int /*FeatureTypes*/ eFeature, int iChange);
- int getAdditionalBadHealthByFeature(int /*FeatureTypes*/ eFeature, int iChange);
- // BUG - Feature Health - end
- int getBuildingHealth(int iBuilding);
- // BUG - Building Additional Health - start
- int getAdditionalHealthByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalGoodHealthByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalBadHealthByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalSpoiledFoodByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalStarvationByBuilding(int /*BuildingTypes*/ eBuilding);
- // BUG - Building Additional Health - end
- int getPowerGoodHealth();
- int getPowerBadHealth();
- int getBonusGoodHealth();
- int getBonusBadHealth();
- int getMilitaryHappiness();
- int getMilitaryHappinessUnits();
- int getBuildingGoodHappiness();
- int getBuildingBadHappiness();
- int getBuildingHappiness(int iBuilding);
- // BUG - Building Additional Happiness - start
- int getAdditionalHappinessByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalGoodHappinessByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalBadHappinessByBuilding(int /*BuildingTypes*/ eBuilding);
- int getAdditionalAngryPopulationByBuilding(int /*BuildingTypes*/ eBuilding);
- // BUG - Building Additional Happiness - end
- int getExtraBuildingGoodHappiness();
- int getExtraBuildingBadHappiness();
- int getFeatureGoodHappiness();
- int getFeatureBadHappiness();
- int getBonusGoodHappiness();
- int getBonusBadHappiness();
- int getReligionGoodHappiness();
- int getReligionBadHappiness();
- int getReligionHappiness(int iReligion);
- int getExtraHappiness();
- int getExtraHealth();
- void changeExtraHappiness(int iChange);
- void changeExtraHealth(int iChange);
- int getHurryAngerTimer();
- void changeHurryAngerTimer(int iChange);
- /************************************************************************************************/
- /* REVOLUTION_MOD 04/28/08 jdog5000 */
- /* */
- /* */
- /************************************************************************************************/
- int getRevRequestAngerTimer();
- void changeRevRequestAngerTimer(int iChange);
- int getRevSuccessTimer();
- void changeRevSuccessTimer(int iChange);
- /************************************************************************************************/
- /* REVOLUTION_MOD END */
- /************************************************************************************************/
- int getConscriptAngerTimer();
- void changeConscriptAngerTimer(int iChange);
- int getDefyResolutionAngerTimer();
- void changeDefyResolutionAngerTimer(int iChange);
- int flatDefyResolutionAngerLength();
- int getHappinessTimer();
- void changeHappinessTimer(int iChange);
- bool isNoUnhappiness();
- bool isNoUnhealthyPopulation();
- bool isBuildingOnlyHealthy();
- int getFood();
- void setFood(int iNewValue);
- void changeFood(int iChange);
- int getFoodKept();
- int getMaxFoodKeptPercent();
- int getOverflowProduction();
- void setOverflowProduction(int iNewValue);
- int getFeatureProduction();
- void setFeatureProduction(int iNewValue);
- int getMilitaryProductionModifier();
- int getSpaceProductionModifier();
- int getExtraTradeRoutes();
- void changeExtraTradeRoutes(int iChange);
- int getTradeRouteModifier();
- int getForeignTradeRouteModifier();
- int getBuildingDefense();
- // BUG - Building Additional Defense - start
- int getAdditionalDefenseByBuilding(int /*BuildingTypes*/ eBuilding);
- // BUG - Building Additional Defense - end
- int getBuildingBombardDefense();
- // BUG - Building Additional Bombard Defense - start
- int getAdditionalBombardDefenseByBuilding(int /*BuildingTypes*/ eBuilding);
- // BUG - Building Additional Bombard Defense - end
- int getFreeExperience();
- int getCurrAirlift();
- int getMaxAirlift();
- int getAirModifier();
- int getAirUnitCapacity(int /*TeamTypes*/ eTeam);
- int getNukeModifier();
- int getFreeSpecialist();
- bool isPower();
- bool isAreaCleanPower();
- bool isDirtyPower();
- int getDefenseDamage();
- void changeDefenseDamage(int iChange);
- bool isBombardable(CyUnit* pUnit);
- int getNaturalDefense();
- int getTotalDefense(bool bIgnoreBuilding);
- int getDefenseModifier(bool bIgnoreBuilding);
- int visiblePopulation(void);
- int getOccupationTimer();
- bool isOccupation();
- void setOccupationTimer(int iNewValue);
- void changeOccupationTimer(int iChange);
- int getCultureUpdateTimer();
- void changeCultureUpdateTimer(int iChange);
- bool isNeverLost();
- void setNeverLost(int iNewValue);
- bool isBombarded();
- void setBombarded(int iNewValue);
- bool isDrafted();
- void setDrafted(int iNewValue);
- bool isAirliftTargeted();
- void setAirliftTargeted(int iNewValue);
- bool isCitizensAutomated();
- void setCitizensAutomated(bool bNewValue);
- bool isProductionAutomated();
- void setProductionAutomated(bool bNewValue);
- bool isWallOverride() const;
- void setWallOverride(bool bOverride);
- void setCitySizeBoost(int iBoost);
- bool isPlundered();
- void setPlundered(bool bNewValue);
- int /*PlayerTypes*/getOwner();
- int /*TeamTypes*/getTeam();
- int /*PlayerTypes*/getPreviousOwner();
- int /*PlayerTypes*/getOriginalOwner();
- int /*CultureLevelTypes*/ getCultureLevel();
- int getCultureThreshold();
- int getSeaPlotYield(int /*YieldTypes*/ eIndex);
- int getRiverPlotYield(int /*YieldTypes*/ eIndex);
- int getBaseYieldRate(int /*YieldTypes*/ eIndex);
- void setBaseYieldRate(int /*YieldTypes*/ eIndex, int iNewValue);
- void changeBaseYieldRate(int /*YieldTypes*/ eIndex, int iNewValue);
- int getBaseYieldRateModifier(int /*YieldTypes*/ eIndex, int iExtra);
- int getYieldRate(int /*YieldTypes*/ eIndex);
- int getYieldRateModifier(int /*YieldTypes*/ eIndex);
- // BUG - Building Additional Yield - start
- int getAdditionalYieldByBuilding(int /*YieldTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- int getAdditionalBaseYieldRateByBuilding(int /*YieldTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- int getAdditionalYieldRateModifierByBuilding(int /*YieldTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- // BUG - Building Additional Yield - end
- int getTradeYield(int /*YieldTypes*/ eIndex);
- int totalTradeModifier();
- // BUG - Fractional Trade Routes - start
- int calculateTradeProfitTimes100(CyCity* pCity);
- // BUG - Fractional Trade Routes - end
- int calculateTradeProfit(CyCity* pCity);
- int calculateTradeYield(int /*YieldTypes*/ eIndex, int iTradeProfit);
- int getExtraSpecialistYield(int /*YieldTypes*/ eIndex);
- int getExtraSpecialistYieldOfType(int /*YieldTypes*/ eIndex, int /*SpecialistTypes*/ eSpecialist);
- int getCommerceRate(int /*CommerceTypes*/ eIndex);
- int getCommerceRateTimes100(int /*CommerceTypes*/ eIndex);
- int getCommerceFromPercent(int /*CommerceTypes*/ eIndex, int iYieldRate);
- int getBaseCommerceRate(int /*CommerceTypes*/ eIndex);
- int getBaseCommerceRateTimes100(int /*CommerceTypes*/ eIndex);
- int getTotalCommerceRateModifier(int /*CommerceTypes*/ eIndex);
- int getProductionToCommerceModifier(int /*CommerceTypes*/ eIndex);
- int getBuildingCommerce(int /*CommerceTypes*/ eIndex);
- int getBuildingCommerceByBuilding(int /*CommerceTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- // BUG - Building Additional Commerce - start
- int getAdditionalCommerceByBuilding(int /*CommerceTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- int getAdditionalCommerceTimes100ByBuilding(int /*CommerceTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- int getAdditionalBaseCommerceRateByBuilding(int /*CommerceTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- int getAdditionalCommerceRateModifierByBuilding(int /*CommerceTypes*/ eIndex, int /*BuildingTypes*/ iBuilding);
- // BUG - Building Additional Commerce - end
- int getSpecialistCommerce(int /*CommerceTypes*/ eIndex);
- void changeSpecialistCommerce(int /*CommerceTypes*/ eIndex, int iChange);
- int getReligionCommerce(int /*CommerceTypes*/ eIndex);
- int getReligionCommerceByReligion(int /*CommerceTypes*/ eIndex, int /*ReligionTypes*/ iReligion);
- int getCorporationCommerce(int /*CommerceTypes*/ eIndex);
- int getCorporationCommerceByCorporation(int /*CommerceTypes*/ eIndex, int /*CorporationTypes*/ iCorporation);
- int getCorporationYield(int /*YieldTypes*/ eIndex);
- int getCorporationYieldByCorporation(int /*YieldTypes*/ eIndex, int /*CorporationTypes*/ iCorporation);
- int getCommerceRateModifier(int /*CommerceTypes*/ eIndex);
- int getCommerceHappinessPer(int /*CommerceTypes*/ eIndex);
- int getCommerceHappinessByType(int /*CommerceTypes*/ eIndex);
- int getCommerceHappiness();
- int getDomainFreeExperience(int /*DomainTypes*/ eIndex);
- int getDomainProductionModifier(int /*DomainTypes*/ eIndex);
- int getCulture(int /*PlayerTypes*/ eIndex);
- int getCultureTimes100(int /*PlayerTypes*/ eIndex);
- int countTotalCultureTimes100();
- PlayerTypes findHighestCulture();
- int calculateCulturePercent(int eIndex);
- int calculateTeamCulturePercent(int /*TeamTypes*/ eIndex);
- void setCulture(int /*PlayerTypes*/ eIndex, int iNewValue, bool bPlots);
- void setCultureTimes100(int /*PlayerTypes*/ eIndex, int iNewValue, bool bPlots);
- void changeCulture(int /*PlayerTypes*/ eIndex, int iChange, bool bPlots);
- void changeCultureTimes100(int /*PlayerTypes*/ eIndex, int iChange, bool bPlots);
- /************************************************************************************************/
- /* REVOLUTION_MOD 01/01/08 jdog5000 */
- /* */
- /* */
- /************************************************************************************************/
- int getNumRevolts(int playerIdx);
- void changeNumRevolts(int playerIdx, int iChange);
- /************************************************************************************************/
- /* REVOLUTION_MOD END */
- /************************************************************************************************/
- bool isTradeRoute(int /*PlayerTypes*/ eIndex);
- bool isEverOwned(int /*PlayerTypes*/ eIndex);
- bool isRevealed(int /*TeamTypes*/ eIndex, bool bDebug);
- void setRevealed(int /*TeamTypes*/ eIndex, bool bNewValue);
- bool getEspionageVisibility(int /*TeamTypes*/ eIndex);
- std::wstring getName();
- std::wstring getNameForm(int iForm);
- std::wstring getNameKey();
- void setName(std::wstring szNewValue, bool bFound);
- void changeNoBonusCount(int /*BonusTypes*/ eBonus, int iChange);
- bool isNoBonus(int /*BonusTypes*/ eBonus);
- int getFreeBonus(int /*BonusTypes*/ eIndex);
- void changeFreeBonus(int /*BonusTypes*/ eIndex, int iChange);
- int getNumBonuses(int /*BonusTypes*/ iBonus);
- bool hasBonus(int /*BonusTypes */ iBonus);
- int getBuildingProduction(int /*BuildingTypes*/ iIndex);
- void setBuildingProduction(int /*BuildingTypes*/ iIndex, int iNewValue);
- void changeBuildingProduction(int /*BuildingTypes*/ iIndex, int iChange);
- int getBuildingProductionTime(int /*BuildingTypes*/ eIndex);
- void setBuildingProductionTime(int /*BuildingTypes*/ eIndex, int iNewValue);
- void changeBuildingProductionTime(int /*BuildingTypes*/ eIndex, int iChange);
- // BUG - Production Decay - start
- bool isBuildingProductionDecay(int /*BuildingTypes*/ eIndex);
- int getBuildingProductionDecay(int /*BuildingTypes*/ eIndex);
- int getBuildingProductionDecayTurns(int /*BuildingTypes*/ eIndex);
- // BUG - Production Decay - end
- int getBuildingOriginalOwner(int /*BuildingTypes*/ iIndex);
- int getBuildingOriginalTime(int /*BuildingTypes*/ iIndex);
- int getUnitProduction(int iIndex);
- void setUnitProduction(int iIndex, int iNewValue);
- void changeUnitProduction(int /*UnitTypes*/ iIndex, int iChange);
- // BUG - Production Decay - start
- int getUnitProductionTime(int /*UnitTypes*/ eIndex);
- void setUnitProductionTime(int /*UnitTypes*/ eIndex, int iNewValue);
- void changeUnitProductionTime(int /*UnitTypes*/ eIndex, int iChange);
- bool isUnitProductionDecay(int /*UnitTypes*/ eIndex);
- int getUnitProductionDecay(int /*UnitTypes*/ eIndex);
- int getUnitProductionDecayTurns(int /*UnitTypes*/ eIndex);
- // BUG - Production Decay - end
- // BUG - Project Production - start
- int getProjectProduction(int /*ProjectTypes*/ iIndex);
- void setProjectProduction(int /*ProjectTypes*/ iIndex, int iNewValue);
- void changeProjectProduction(int /*ProjectTypes*/ iIndex, int iChange);
- // BUG - Project Production - end
- int getGreatPeopleUnitRate(int /*UnitTypes*/ iIndex);
- int getGreatPeopleUnitProgress(int /*UnitTypes*/ iIndex);
- void setGreatPeopleUnitProgress(int /*UnitTypes*/ iIndex, int iNewValue);
- void changeGreatPeopleUnitProgress(int /*UnitTypes*/ iIndex, int iChange);
- int getSpecialistCount(int /*SpecialistTypes*/ eIndex);
- void alterSpecialistCount(int /*SpecialistTypes*/ eIndex, int iChange);
- int getMaxSpecialistCount(int /*SpecialistTypes*/ eIndex);
- bool isSpecialistValid(int /*SpecialistTypes*/ eIndex, int iExtra);
- int getForceSpecialistCount(int /*SpecialistTypes*/ eIndex);
- bool isSpecialistForced();
- void setForceSpecialistCount(int /*SpecialistTypes*/ eIndex, int iNewValue);
- void changeForceSpecialistCount(int /*SpecialistTypes*/ eIndex, int iChange);
- int getFreeSpecialistCount(int /*SpecialistTypes*/ eIndex);
- void setFreeSpecialistCount(int /*SpecialistTypes*/ eIndex, int iNewValue);
- void changeFreeSpecialistCount(int /*SpecialistTypes*/ eIndex, int iChange);
- int getAddedFreeSpecialistCount(int /*SpecialistTypes*/ eIndex);
- int getImprovementFreeSpecialists(int /*ImprovementTypes*/ iIndex);
- void changeImprovementFreeSpecialists(int /*ImprovementTypes*/ iIndex, int iChange);
- int getReligionInfluence(int /*ReligionTypes*/ iIndex);
- void changeReligionInfluence(int /*ReligionTypes*/ iIndex, int iChange);
- int getCurrentStateReligionHappiness();
- int getStateReligionHappiness(int /*ReligionTypes*/ eIndex);
- void changeStateReligionHappiness(int /*ReligionTypes*/ eIndex, int iChange);
- int getUnitCombatFreeExperience(int /*UnitCombatTypes*/ eIndex);
- int getFreePromotionCount(int /*PromotionTypes*/ eIndex);
- bool isFreePromotion(int /*PromotionTypes*/ eIndex);
- int getSpecialistFreeExperience() const;
- int getEspionageDefenseModifier() const;
- bool isWorkingPlotByIndex(int iIndex);
- bool isWorkingPlot(CyPlot* pPlot);
- void alterWorkingPlot(int iIndex);
- int getNumRealBuilding(int /*BuildingTypes*/ iIndex);
- void setNumRealBuilding(int /*BuildingTypes*/ iIndex, int iNewValue);
- int getNumFreeBuilding(int /*BuildingTypes*/ iIndex);
- bool isHasReligion(int /*ReligionTypes*/ iIndex);
- void setHasReligion(int /*ReligionTypes*/ iIndex, bool bNewValue, bool bAnnounce, bool bArrows);
- bool isHasCorporation(int /*CorporationTypes*/ iIndex);
- void setHasCorporation(int /*CorporationTypes*/ iIndex, bool bNewValue, bool bAnnounce, bool bArrows);
- bool isActiveCorporation(int /*CorporationTypes*/ eCorporation);
- CyCity* getTradeCity(int iIndex);
- int getTradeRoutes();
- void clearOrderQueue();
- void pushOrder(OrderTypes eOrder, int iData1, int iData2, bool bSave, bool bPop, bool bAppend, bool bForce);
- void popOrder(int iNum, bool bFinish, bool bChoose);
- int getOrderQueueLength();
- OrderData* getOrderFromQueue(int iIndex);
- void setWallOverridePoints(const python::tuple& kPoints); /* points are given in world space ... i.e. PlotXToPointX, etc */
- python::tuple getWallOverridePoints() const;
- int getBuildingYieldChange(int /*BuildingClassTypes*/ eBuildingClass, int /*YieldTypes*/ eYield) const;
- void setBuildingYieldChange(int /*BuildingClassTypes*/ eBuildingClass, int /*YieldTypes*/ eYield, int iChange);
- int getBuildingCommerceChange(int /*BuildingClassTypes*/ eBuildingClass, int /*CommerceTypes*/ eCommerce) const;
- void setBuildingCommerceChange(int /*BuildingClassTypes*/ eBuildingClass, int /*CommerceTypes*/ eCommerce, int iChange);
- int getBuildingHappyChange(int /*BuildingClassTypes*/ eBuildingClass) const;
- void setBuildingHappyChange(int /*BuildingClassTypes*/ eBuildingClass, int iChange);
- int getBuildingHealthChange(int /*BuildingClassTypes*/ eBuildingClass) const;
- void setBuildingHealthChange(int /*BuildingClassTypes*/ eBuildingClass, int iChange);
- int getLiberationPlayer(bool bConquest);
- void liberate(bool bConquest);
- //FfH: Added by Kael 10/18/2007
- void applyBuildEffects(CyUnit* pUnit);
- void changeCrime(int iCrime);
- int getCrime() const;
- bool isHasBuildingClass(int /*BuildingClassTypes*/ iIndex) const;
- bool isSettlement() const;
- void setCivilizationType(int iNewValue);
- int getPlotRadius() const; // lfgr 03/2021
- void setPlotRadius(int iNewValue);
- int CyCity::getNumCityPlots() const; // lfgr 03/2021
- void setSettlement(bool bNewValue);
- //FfH: End Add
- /********************************************************************************/
- /* Expose FfH Functions 02/28/12 lfgr */
- /********************************************************************************/
- bool isUnhappyProduction() const;
- /********************************************************************************/
- /* Expose FfH Functions End lfgr */
- /********************************************************************************/
- /*************************************************************************************************/
- /** BETTER AI (New Functions Definition) Sephi **/
- /** **/
- /** **/
- /*************************************************************************************************/
- bool AI_stopGrowth();
- int AI_neededSeaWorkers();
- /*************************************************************************************************/
- /** END **/
- /*************************************************************************************************/
- int getAltarLevel();
- //>>>>Unofficial Bug Fix: Added by Denev 2009/09/28
- //*** Assimilated city produces a unit with original civilization artstyle.
- const TCHAR* getUnitArtStyleButton(int /*UnitTypes*/ eUnit) const;
- //<<<<Unofficial Bug Fix: End Add
- bool AI_avoidGrowth();
- bool AI_isEmphasize(int iEmphasizeType);
- int AI_countBestBuilds(CyArea* pArea);
- int AI_cityValue();
- /************************************************************************************************/
- /* REVOLUTION_MOD 02/01/09 jdog5000 */
- /* */
- /* */
- /************************************************************************************************/
- int /*UnitTypes*/ AI_bestUnit();
- int /*UnitTypes*/ AI_bestUnitAI(int iUnitAIType);
- int /*BuildingTypes*/ AI_bestBuilding(int iFocusFlags);
- /************************************************************************************************/
- /* REVOLUTION_MOD END */
- /************************************************************************************************/
- std::string getScriptData() const;
- void setScriptData(std::string szNewValue);
- private:
- CvCity* m_pCity;
- };
- #endif // CyCity_h
|