1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Complete Espionage Mission Cost Guide

Discussion in 'Civ4 Strategy Articles' started by Detektyw, Nov 27, 2007.

  1. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    I've just gotten the SDK for BtS and so I want to make some use of it both for me and the community.

    I'll post the base code in spoiler tags so people without C++ knowledge don't have to read it and people with it can correct my analysis.

    By "You" and "We" I refer to your player.
    By the "Enemy" or "Owner" I refer to owner of the city.

    I would like to hear your comments.

    Spoiler :
    bool CvDLLButtonPopup::launchDoEspionageTargetPopup(CvPopup* pPopup, CvPopupInfo &info)
    {
    CvUnit* pUnit = gDLL->getInterfaceIFace()->getHeadSelectedUnit();
    if (NULL == pUnit)
    {
    return false;
    }

    CvPlot* pPlot = pUnit->plot();
    CvCity* pCity = pPlot->getPlotCity();
    PlayerTypes eTargetPlayer = pPlot->getOwnerINLINE();
    CvPlayer& kPlayer = GET_PLAYER(GC.getGameINLINE().getActivePlayer());


    General Formula:

    Mission Cost = BaseMissionCost * MissionCostModifier * Number Of Players In Your Team * 0.01

    Spoiler :
    int CvPlayer::getEspionageMissionCost(EspionageMissionTypes eMission, PlayerTypes eTargetPlayer, const CvPlot* pPlot, int iExtraData, const CvUnit* pSpyUnit) const
    {
    int iMissionCost = getEspionageMissionBaseCost(eMission, eTargetPlayer, pPlot, iExtraData, pSpyUnit);

    if (-1 == iMissionCost)
    {
    return -1;
    }

    iMissionCost *= getEspionageMissionCostModifier(eMission, eTargetPlayer, pPlot, iExtraData, pSpyUnit);
    iMissionCost /= 100;

    // Multiply cost of mission * number of team members
    iMissionCost *= GET_TEAM(getTeam()).getNumMembers();

    return max(0, iMissionCost);
    }
     
  2. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    Base mission cost:


    All the variables are taken from file CIV4EspionageMissionInfo.xml (as it is in BtS 3.13):

    1.Stealing gold:

    The amount of gold stolen is = (Target'sTotalGold * iStealTreasuryTypes / 100) * CityPopulation / Target'sTotalPopulation

    Note: iStealTreasuryTypes is normally defined as 100

    The mission cost is then = iCost * amountOfGoldStolen / 100
    Note: iCost is normally defined as 300

    Spoiler :
    if (kMission.getStealTreasuryTypes() > 0)
    {
    // Steal Treasury
    int iNumTotalGold = (GET_PLAYER(eTargetPlayer).getGold() * kMission.getStealTreasuryTypes()) / 100;

    if (NULL != pCity)
    {
    iNumTotalGold *= pCity->getPopulation();
    iNumTotalGold /= max(1, GET_PLAYER(eTargetPlayer).getTotalPopulation());
    }

    if (iNumTotalGold > 0)
    {
    iMissionCost = (iBaseMissionCost * iNumTotalGold) / 100;
    }
    }


    2. Steal Tech

    Mission Cost = iCost + ((100 + iBuyTechCostFactor) * TechBaseCost) / 100

    Note: iCost is normally defined as 0 and iBuyTechCostFactor as 25

    Spoiler :
    else if (kMission.getBuyTechCostFactor() > 0)
    {
    // Buy (Steal) Tech
    TechTypes eTech = (TechTypes)iExtraData;
    int iProdCost = MAX_INT;

    if (NO_TECH == eTech)
    {
    for (int iTech = 0; iTech < GC.getNumTechInfos(); ++iTech)
    {
    if (canStealTech(eTargetPlayer, (TechTypes)iTech))
    {
    int iCost = GET_TEAM(getTeam()).getResearchCost((TechTypes)iTech);
    if (iCost < iProdCost)
    {
    iProdCost = iCost;
    eTech = (TechTypes)iTech;
    }
    }
    }
    }
    else
    {
    iProdCost = GET_TEAM(getTeam()).getResearchCost(eTech);
    }

    if (NO_TECH != eTech)
    {
    if (canStealTech(eTargetPlayer, eTech))
    {
    iMissionCost = iBaseMissionCost + ((100 + kMission.getBuyTechCostFactor()) * iProdCost) / 100;
    }
    }
    }


    3. Forment Unhappiness

    Mission Cost = (iCost * iHurryConscriptAngerPercent (from CIV4GameSpeedInfo.xml)) / 100

    Note: iCost is normally defined as 120

    Spoiler :

    else if (kMission.getCityUnhappinessCounter() > 0)
    {
    FAssert(NULL != pCity);
    // Cannot make a city unhappy if you've already done it (value is negative when active)
    if (NULL != pCity && pCity->getEspionageHappinessCounter() <= 0)
    {
    iMissionCost = (iBaseMissionCost * GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getHurryConscriptAngerPercent()) / 100;
    }
    }


    4. Poison water

    Mission Cost = (iCost * iHurryConscriptAngerPercent (from CIV4GameSpeedInfo.xml)) / 100

    Note: iCost is normally defined as 120

    Spoiler :

    else if (kMission.getCityPoisonWaterCounter() > 0)
    {
    FAssert(NULL != pCity);
    // Cannot poison a city's water supply if it's already poisoned (value is negative when active)
    if (NULL != pCity && pCity->getEspionageHealthCounter() <= 0)
    {
    iMissionCost = (iBaseMissionCost * GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getHurryConscriptAngerPercent()) / 100;
    }
    }


    5. Support city revolt

    Mission Cost = iCost

    Note: iCost is normally defined as 500

    Spoiler :

    else if (kMission.getCityRevoltCounter() > 0)
    {
    FAssert(NULL != pCity);
    // Cannot make a city revolt if it's already revolting
    if (NULL != pCity && pCity->getOccupationTimer() == 0)
    {
    iMissionCost = iBaseMissionCost;
    }
    }


    6. Influence civics

    Mission Cost = iCost + (iSwitchCivicCostFactor * iAnarchyPercent (from CIV4GameSpeedInfo.xml) / 10000

    Note: iCost is normally defined as 0 and iSwitchCivicCostFactor as 60000

    Spoiler :
    else if (kMission.getSwitchCivicCostFactor() > 0)
    {
    // Switch Civics
    CivicTypes eCivic = (CivicTypes)iExtraData;

    if (NO_CIVIC == eCivic)
    {
    for (int iCivic = 0; iCivic < GC.getNumCivicInfos(); ++iCivic)
    {
    if (canForceCivics(eTargetPlayer, (CivicTypes)iCivic))
    {
    eCivic = (CivicTypes)iCivic;
    break;
    }
    }
    }

    if (NO_CIVIC != eCivic)
    {
    if (canForceCivics(eTargetPlayer, eCivic))
    {
    iMissionCost = iBaseMissionCost + (kMission.getSwitchCivicCostFactor() * GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getAnarchyPercent()) / 10000;
    }
    }
    }


    7. Influence religion

    Mission Cost = iCost + (iSwitchReligionCostFactor* iAnarchyPercent (from CIV4GameSpeedInfo.xml) / 10000

    Note: iCost is normally defined as 0 and iSwitchReligionCostFactor as 60000

    Spoiler :

    else if (kMission.getSwitchReligionCostFactor() > 0)
    {
    // Switch Religions
    ReligionTypes eReligion = (ReligionTypes)iExtraData;

    if (NO_RELIGION == eReligion)
    {
    for (int iReligion = 0; iReligion < GC.getNumReligionInfos(); ++iReligion)
    {
    if (canForceReligion(eTargetPlayer, (ReligionTypes)iReligion))
    {
    eReligion = (ReligionTypes)iReligion;
    break;
    }
    }
    }

    if (NO_RELIGION != eReligion)
    {
    if (canForceReligion(eTargetPlayer, eReligion))
    {
    iMissionCost = iBaseMissionCost + (kMission.getSwitchReligionCostFactor() * GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getAnarchyPercent()) / 10000;
    }
    }
    }


    8. Destroy Improvement

    Mission Cost = iCost * iBuildPercent (from CIV4GameSpeedInfo.xml) * 0.01

    Note: iCost is normally defined as 75

    Spoiler :


    else if (kMission.isDestroyImprovement())
    {
    if (NULL != pPlot && !pPlot->isCity())
    {
    if (pPlot->getImprovementType() != NO_IMPROVEMENT || pPlot->getRouteType() != NO_ROUTE)
    {
    iMissionCost = (iBaseMissionCost * GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getBuildPercent()) / 100;
    }
    }
    }

     
  3. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    Mission Cost Modifier

    1. We start off with the coefficient equal to 100%
    2. We add ESPIONAGE_CITY_POP_EACH_MOD * (CityPop - 1)
    3. We add ESPIONAGE_CITY_TRADE_ROUTE_MOD if the city has trade routes with us
    4. We add ESPIONAGE_CITY_RELIGION_STATE_MOD if the city has our state religion (and the enemy DOESN'T) but we don't have holy city, and ESPIONAGE_CITY_HOLY_CITY_MOD if we have the founding location
    5. We multiply by 1 - (YourCultureInTheCity * ESPIONAGE_CULTURE_MULTIPLIER_MOD) / max(1,OwnersCulture + YourCulture)
    6. We add the distance modifier
    7. We subtract ESPIONAGE_EACH_TURN_UNIT_COST_DECREASE * NumOfStationaryTurns (atm capped at 50)
    8. We add (ESPIONAGE_SPENDING_MULTIPLIER * (2 * targetPoints + ourPoints) / max(1,targetPoints + 2 * ourPoints)
    9. If the enemy has an active counterespionage mission against us we add 100%

    Then we round the value down cutting off all further decimal places.
    max(x,y) means the greater of x and y
    min(x,y) means the lesser of x and y

    NOTES:

    Default defines:

    ESPIONAGE_CITY_POP_EACH_MOD = 0
    ESPIONAGE_CITY_TRADE_ROUTE_MOD = -20
    ESPIONAGE_CITY_RELIGION_STATE_MOD = -15
    ESPIONAGE_CITY_HOLY_CITY_MOD = -25
    ESPIONAGE_CULTURE_MULTIPLIER_MOD = 50
    ESPIONAGE_SPENDING_MULTIPLIER = 100
    ESPIONAGE_EACH_TURN_UNIT_COST_DECREASE = 10

    Spoiler :

    CvEspionageMissionInfo& kMission = GC.getEspionageMissionInfo(eMission);
    int iModifier = 100;

    CvCity* pCity = NULL;
    if (NULL != pPlot)
    {
    pCity = pPlot->getPlotCity();
    }

    if (NO_PLAYER == eTargetPlayer)
    {
    eTargetPlayer = getID();
    }

    if (pCity != NULL && kMission.isTargetsCity())
    {
    // City Population
    iModifier *= 100 + (GC.getDefineINT("ESPIONAGE_CITY_POP_EACH_MOD") * (pCity->getPopulation() - 1));
    iModifier /= 100;

    // Trade Route
    if (pCity->isTradeRoute(getID()))
    {
    iModifier *= 100 + GC.getDefineINT("ESPIONAGE_CITY_TRADE_ROUTE_MOD");
    iModifier /= 100;
    }

    ReligionTypes eReligion = getStateReligion();
    if (NO_RELIGION != eReligion)
    {
    int iReligionModifier = 0;

    // City has Your State Religion
    if (pCity->isHasReligion(eReligion))
    {
    if (GET_PLAYER(eTargetPlayer).getStateReligion() != eReligion)
    {
    iReligionModifier += GC.getDefineINT("ESPIONAGE_CITY_RELIGION_STATE_MOD");
    }

    if (hasHolyCity(eReligion))
    {
    iReligionModifier += GC.getDefineINT("ESPIONAGE_CITY_HOLY_CITY_MOD");;
    }
    }

    iModifier *= 100 + iReligionModifier;
    iModifier /= 100;

    }

    // City's culture affects cost
    iModifier *= 100 - (pCity->getCultureTimes100(getID()) * GC.getDefineINT("ESPIONAGE_CULTURE_MULTIPLIER_MOD")) / max(1, pCity->getCultureTimes100(eTargetPlayer) + pCity->getCultureTimes100(getID()));
    iModifier /= 100;

    iModifier *= 100 + pCity->getEspionageDefenseModifier();
    iModifier /= 100;
    }

    // Distance mod
    if (pPlot != NULL)
    {
    int iDistance = GC.getMap().maxPlotDistance();

    CvCity* pOurCapital = getCapitalCity();
    if (NULL != pOurCapital)
    {
    if (kMission.isSelectPlot() || kMission.isTargetsCity())
    {
    iDistance = plotDistance(pOurCapital->getX_INLINE(), pOurCapital->getY_INLINE(), pPlot->getX_INLINE(), pPlot->getY_INLINE());
    }
    else
    {
    CvCity* pTheirCapital = GET_PLAYER(eTargetPlayer).getCapitalCity();
    if (NULL != pTheirCapital)
    {
    iDistance = plotDistance(pOurCapital->getX_INLINE(), pOurCapital->getY_INLINE(), pTheirCapital->getX_INLINE(), pTheirCapital->getY_INLINE());
    }
    }
    }

    iModifier *= (iDistance + GC.getMapINLINE().maxPlotDistance()) * GC.getDefineINT("ESPIONAGE_DISTANCE_MULTIPLIER_MOD") / GC.getMapINLINE().maxPlotDistance();
    iModifier /= 100;
    }

    // Spy presence mission cost alteration
    if (NULL != pSpyUnit)
    {
    iModifier *= 100 - (pSpyUnit->getFortifyTurns() * GC.getDefineINT("ESPIONAGE_EACH_TURN_UNIT_COST_DECREASE"));
    iModifier /= 100;
    }

    // My points VS. Your points to mod cost
    int iTargetPoints = GET_TEAM(GET_PLAYER(eTargetPlayer).getTeam()).getEspionagePointsEver();
    int iOurPoints = GET_TEAM(getTeam()).getEspionagePointsEver();
    iModifier *= (GC.getDefineINT("ESPIONAGE_SPENDING_MULTIPLIER") * (2 * iTargetPoints + iOurPoints)) / max(1, iTargetPoints + 2 * iOurPoints);
    iModifier /= 100;

    // Counterespionage Mission Mod
    CvTeam& kTargetTeam = GET_TEAM(GET_PLAYER(eTargetPlayer).getTeam());
    if (kTargetTeam.getCounterespionageModAgainstTeam(getTeam()) > 0)
    {
    iModifier *= kTargetTeam.getCounterespionageModAgainstTeam(getTeam());
    iModifier /= 100;
    }

    return iModifier;
     
  4. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    City Infiltration Mission

    The thing is extremely simple and is CONSTANT for all civilizations on any given map. It only depends on speed.

    PointsGenerated = iEspionagePoints * iUnitGreatWorkPercent * 0.01

    iEspionagePoints from CIV4UnitInfos.xml is 3000 by default
    iUnitGreatWorkPercent is from CIV4GameSpeedInfo.xml

    This yields us following results for game speeds:

    Quick: 0.67 * 3000 = 2010
    Normal: 1.0 * 3000 = 3000
    Epic: 1.5 * 3000 = 4500
    Marathon: 3.0 * 3000 = 9000
     
  5. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    Steal Tech vs Research

    This is exactly related to tech stealing costs, so I'll make a comparison.

    Before we start, I must say that while research (at a healthy rate) is possible both by cottages and specialists, espionage can't have unlimited spies assigned and as such is forced to be generated by cottages.

    It also wouldn't hurt the guide if I posted a list of buildings enhancing both (Multiplier buildings):

    Note: UB are not taken into account

    1.Comparison of multplier buildings

    Summary: Science Wins

    Science:

    • Academy (+50%) - Can only be built by a Great Scientist
    • Monasteries (+10% each) (Meditation) - Requires religion, so I'll count only one per city
    • Laboratory (+25%) (Superconductors)
    • Library (+25%) (Writing)
    • Observatory (+25%) (Astronomy)
    • University (+25%) (Education)
    • Oxford University (+100%) (Education) - Requires 3 Universities, National Wonder

    Sums up to 260%, but with all religions can be made 300%, 2.6 :science: per 1 :commerce: is not bad.

    Espionage:

    • Castle (25%) (Engineering)
    • Intelligence Agency (+50%) (Communism)
    • Scotland Yard (+100%) - Can only be built by a great spy
    • Jail (+50%) (Constitution)

    Sums up to 225%, still not so bad even when compared to science's 260%.

    Given these values, we can make a simple simulation, here shown results for numbers 1 - 30.

    Spoiler :

    Commerce: 1,Espionage: 2,Science: 2
    Commerce: 2,Espionage: 4,Science: 5
    Commerce: 3,Espionage: 6,Science: 7
    Commerce: 4,Espionage: 9,Science: 10
    Commerce: 5,Espionage: 11,Science: 13
    Commerce: 6,Espionage: 13,Science: 15
    Commerce: 7,Espionage: 15,Science: 18
    Commerce: 8,Espionage: 18,Science: 20
    Commerce: 9,Espionage: 20,Science: 23
    Commerce: 10,Espionage: 22,Science: 26
    Commerce: 11,Espionage: 24,Science: 28
    Commerce: 12,Espionage: 27,Science: 31
    Commerce: 13,Espionage: 29,Science: 33
    Commerce: 14,Espionage: 31,Science: 36
    Commerce: 15,Espionage: 33,Science: 39
    Commerce: 16,Espionage: 36,Science: 41
    Commerce: 17,Espionage: 38,Science: 44
    Commerce: 18,Espionage: 40,Science: 46
    Commerce: 19,Espionage: 42,Science: 49
    Commerce: 20,Espionage: 45,Science: 52
    Commerce: 21,Espionage: 47,Science: 54
    Commerce: 22,Espionage: 49,Science: 57
    Commerce: 23,Espionage: 51,Science: 59
    Commerce: 24,Espionage: 54,Science: 62
    Commerce: 25,Espionage: 56,Science: 65
    Commerce: 26,Espionage: 58,Science: 67
    Commerce: 27,Espionage: 60,Science: 70
    Commerce: 28,Espionage: 63,Science: 72
    Commerce: 29,Espionage: 65,Science: 75
    Commerce: 30,Espionage: 67,Science: 78


    This can easily lead to a conclusion that SCE is more powerful as it generates more :science: from :commerce: than ECE :espionage:.
    I, however, want to make sure it's as optimal as it seems.

    2. Comparison of usage


    Science:

    While bonuses that apply to research seem quite straightforward (according to this thread.

    These are (+30% * numberOfPlayersThatKnowTheTech/numbersOfPlayersWhoStartedTheMap), so max 30%, and +20% per each additional prerequisite met (max 40%). This is multiplicative with beakers, so it adds a coefficient of 1.7 (note that this is the VERY BEST possible one) in front of raw :science:.

    This means that the minimal time of completion is:

    t = baseTechCost / (4.42 * baseCommerce)

    This is a total of 442% boost, this is huge. :goodjob:
    They don't apply to base tech cost, and so are not beneficial for EE.

    Espionage:

    We also assume the very best possible circumstances, still they are much easier to encounter than the science ones.

    I'll assume a near city, with 20% distance penalty.
    We have trade routes with it, it has our state religion we founded, our spy's been standing there for 5 turns. I don't consider the espionage spending bonus, however.

    100% + 20% - 20% - 25% - 50% = 25%
    25% = 1/4

    Therefore, we get 1/1/4 percentage bonus, which is equal to 400%.

    The time needed to generate the points therefore is

    t = baseTechCost / (9 * baseCommerce)

    Seems good? Hell yeah! :D

    The time is 2.0362 times shorter than if we wanted to research it manually.

    3.Example and conclusion

    Say we want to research (or steal) advanced flight. Our city (either research or espionage) produces 30 raw :commerce: per turn. The numbers are of course not realistic but I want to show the concept.

    researchTime = 5000 / (4.42 * 30) = 37.70, which in civ terms is 38 turns
    espionageTime = 5000 / (9 * 30) = 18.51 => 19 turns

    Our gain by stealing the tech is immense. We also have to remember that the expionage points can get +25% civic boost (nationhood), while research only +10% (free religion).

    This however is not as great as it seems (slightly less :D). It is very problematic for techs you have to be the first to research in order to get additional benefits (religious techs,physics,economics,liberalism,fission,...) as tech can only be stolen when it's arleady complete and partial progress can't be acquired with espionage economy. It also yields problems with techs out of AI's research path. Additionally, a super science city can easily be transformed from a specialist economy to cottage one (well, 50 turns), while the espionage one has to start cottaged.

    It is, however synergistic with intensive tech brokering. And last, but not least, there is deficit espionage, which is more optimal than the deficit research, as average science boost per a building is 37.14%, while average espionage booster is as much as 56.25%. Unfortunately, the very first EE building (except courthouse which I don't take in account as it's not a multiplier) comes in the medieval era.

    I hope that this analysis has provided you enough insight in espionage vs research that you at least try to play using it and post your results.
     
  6. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    Reserved for further use
     
  7. KMadCandy

    KMadCandy giggling permanoob

    Joined:
    Oct 16, 2005
    Messages:
    3,993
    Location:
    Peepsville
    i can't read code so i don't know how to show you where it is, but i know it's there somewhere. you get -25 for having the holy city of your state religion if the religion is present in the target's city no matter what his state religion is. but the -15 (ESPIONAGE_CITY_RELIGION_STATE_MOD) applies only if your state religion is not his state religion.

    sometimes if they change to my SR that's enough for me to lose "investigate city" everywhere, wah. if i have cristo, i change to FR, swap them to that, and then swap back to my SR so i can watch them again :lol:.

    thanks for the list :)
     
  8. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    Which is of course correct, as


    Code:
    ReligionTypes eReligion = getStateReligion();
    if (NO_RELIGION != eReligion)
    {
    int iReligionModifier = 0;
    
    // City has Your State Religion
    if (pCity->isHasReligion(eReligion))
    {
    if (GET_PLAYER(eTargetPlayer).getStateReligion() != eReligion)
    {
    iReligionModifier += GC.getDefineINT("ESPIONAGE_CITY_RELIGION_STATE_MOD ");
    }
    
    
    iReligionModifier += GC.getDefineINT("ESPIONAGE_CITY_RELIGION_STATE_MOD "); which is our bonus, only applies what enemy's state religion != (not equal to) our state religion, however the city has to have our state religion spread inside. Thanks for bringing it to attention.
     
  9. Willburn

    Willburn Chieftain

    Joined:
    Sep 29, 2005
    Messages:
    204
    Thank you so much for this article.
     
  10. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    Bump, new analysis added.
     
  11. CivSetä

    CivSetä Chieftain

    Joined:
    Dec 14, 2006
    Messages:
    294
    Location:
    Finland
    One more thing favors SCE - tech stealing mission can fail!
     
  12. Wilhelmus

    Wilhelmus Chieftain

    Joined:
    Aug 8, 2007
    Messages:
    57
    I have a question about the spread culture mission. What are its effects?
    It says in the game that I spread 5% culture. However after succesfully completing the mission in one of my enemys cities, nothing has visibly changed. The culture percentages remain the same. Is this mission broken, or am I doing something wrong here?
     
  13. Kaliméro

    Kaliméro Chieftain

    Joined:
    Oct 25, 2005
    Messages:
    5
    Location:
    France
    Yes true, but as far as I can say (that is without code analasys), it seems to methat a failed mission daes not cost EP, just the hammer to build the spy.

    I will be verry happy if somebody could confirm this.
     
  14. Detektyw

    Detektyw Chieftain

    Joined:
    Nov 23, 2007
    Messages:
    36
    @Wilhelmus:

    It says +5 :culture: afaik, not 5% :culture:.

    @Kaliméro:

    Idd, failed mission doesn't cost you EPs.
     
  15. MarkJohnson

    MarkJohnson Chieftain

    Joined:
    Sep 12, 2007
    Messages:
    605
    I am just learning the espionage system, but when experimenting with spread culture option I noticed that it was something like +27:culture: and it said something like 5% my Greek population was added to his Russian population.

    My cultural border was starting to wrap around his city and I was trying to start a riot so he would give me the city for free. I guess I experimented too much and he declared war on me - lol.

    anyway, the big benefit was that when I captured the city during war that it only had like 3 turns of revolt instead of the normal 6 or more turns of revolt.

    later in the game I tried this method again, but was unable to spread culture for some reason. Maybe because I wasn't using the Espionage regularly and my opponent probably was? or maybe some features are replaced/outdated with new techs?

    Thanks for the very informative article
    -=Mark=-
     
  16. sirko

    sirko Chieftain

    Joined:
    Feb 11, 2008
    Messages:
    1
    I also tried to spread culture to my neighbor city and it was something like +1000, while that city had about 900/5000. Unfortunately I spent too many points on that mission and it became not enough to Investigate it any more. But a couple of turn later I again checked that city and it was about 950/5000. So, my mission WAS succesful, my spy WASN'T caught but culture DIDN'T get spread!!! In a little bit I tried the same again, and I was spreading about +600 culture pints and again the same story...
    Can anyone explain me what did I do wrong and how to fix it?
    Thanks.
     
  17. slaze

    slaze Chieftain

    Joined:
    Nov 17, 2006
    Messages:
    2,287
    Location:
    california

    The Nationalism civic adds another 25%
     
  18. VirusMonster

    VirusMonster Quechua General

    Joined:
    Mar 18, 2006
    Messages:
    619
    Location:
    at home :)
    very, very, very good article, but you have to explain to me in more detail how you get the commerce multiplier for science and espionage. For example, I understand 442% comes from 262% from buildings + 170% from tech getting cheaper, but how do you get the 900% for espionage multiplier. I just don't get the math.... Can you make that manual research vs. espionage analysis clearer and more explanatory plz, because it is the most important part of your article. You get my 5 stars now, but make that part more readable plz.
     
  19. VirusMonster

    VirusMonster Quechua General

    Joined:
    Mar 18, 2006
    Messages:
    619
    Location:
    at home :)
    hmm, I got it now, buildings give 225% espionage points production, but the -75% espionage mission reduction cost is not added to 225%. It makes the 225% bonus 4 times stronger due to the reduction of the mission cost. Hence 900%. Beautiful math there... Still make that part of the article more readable =) numbers come out of nowhere...

    In the early game, when most of your cities have libraries, you seem to only get 170%+25%=195% bonus to science as well or even less.

    Espionage however can get -75% mission cost reduction (effectively 400% more espionage points) pretty early and it does not seem to depend much on the buildings you got...

    However, espionage won't have much building multipliers until Medieval age. And even then, it is rather rare to build castles.

    Still.... 195% science bonus vs. 400% in the early game.... Espionage is pretty strong then... much stronger than I expected... Courthouses also give very strong espionage points 4 per turn... Definitely gonna try some heavy warmongering, followed by hybrid espionage economy...
     
  20. VirusMonster

    VirusMonster Quechua General

    Joined:
    Mar 18, 2006
    Messages:
    619
    Location:
    at home :)
    "2. Steal Tech

    Mission Cost = iCost + ((100 + iBuyTechCostFactor) * TechBaseCost) / 100

    Note: iCost is normally defined as 0 and iBuyTechCostFactor as 25"

    Are you taking this +25% into account when adjusting for the mission cost in your examples? I don't see it being included.
     

Share This Page