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

Tear Down this Wall! - How?

Discussion in 'Civ5 - General Discussions' started by nthexwn, Jul 16, 2013.

  1. stormtrooper412

    stormtrooper412 Peacemongering Turtlesaur

    Joined:
    Apr 19, 2014
    Messages:
    3,579
    Location:
    Beograd
    Yeah this is not really hard to unlock, in every game you're guaranteed at least one Order AI
     
  2. reddishrecue

    reddishrecue Deity

    Joined:
    Nov 16, 2009
    Messages:
    5,365
    At first it does seem like a difficult assignment though. ..im also guessing that the achievement doesnt have to be in deity difficulty and you can take it easy by lowering the difficulty.
     
  3. Knight-Dragon

    Knight-Dragon Unhidden Dragon Retired Moderator

    Joined:
    Jun 25, 2001
    Messages:
    19,963
    Location:
    Singapore
    Indeed, I get it all the time at king level. In my just-ended game as England, got all the order and autocrat AI civs to switch to freedom (except for Assyria), once I pushed thru freedom as the world ideology in the world congress (with help fr a few freedom AI civs).
     
  4. NukeAJS

    NukeAJS King

    Joined:
    Jul 28, 2008
    Messages:
    829
    Some AI personalities will resist switching their ideology. This is especially true if they have tenets vested in their ideology.

    In addition to that, diplomacy plays a part as well. AIs will be more likely to switch if neighbors with large militaries have freedom (for example) and they don't want a war. Also, passing the freedom world ideology will help if the AI cares about getting votes in the World Congress. Lastly, if the civ is at war, it is more likely to switch if they have a lot of unhappiness because it will eliminate their penalties.
     
  5. AnotherNerd

    AnotherNerd Chieftain

    Joined:
    Apr 27, 2015
    Messages:
    1
    How to get this one
    Ok, after a lot of hazzle, I finally got this achievement. My settings:

    Epic game, Chieftain difficulty (you want other civs to reach industrial era before you get gray hair), pangea (irrelevant), Egypt (also irrelevant I think).
    Victory conditions: Only diplomatic! Important! This ensures that the game will be long enough for you to do your stuff.

    Objectives: You want the civ who is targeted to reach such low happiness that a revolt will happen. Capture his cities, build all types of food for growth and remove all happiness structures from this city and pillage all happiness resources. Grow these cities to around 20, then just give it back to the target.
    Other factors may apply, as to which type he will change to, but after handing over the cities like this, hence causing a massive unhappiness in the AI empire, the change happened the following turn.
     
  6. stormtrooper412

    stormtrooper412 Peacemongering Turtlesaur

    Joined:
    Apr 19, 2014
    Messages:
    3,579
    Location:
    Beograd
    it's easier if there's more than one civ generating pressure. I've easily unlocked it a while ago
     
  7. tceffect

    tceffect Chieftain

    Joined:
    Dec 29, 2015
    Messages:
    2
    I saw this thread and read the code for when a civ changes ideologies. Here it is in both a simplified(non-programmer) form and a copy of the original source

    My Description:
    Spoiler :

    Code:
    current_unhap_frm_opinion = the current unhappiness from public opinion
    pref_ideology_happiness    = the happiness the AI would gain from their EXISTING BUILDINGS if they adopted ALL THE HAPPINESS POLICIES of the PREFERRED IDEOLOGY
    current_ideology_happiness = the happiness the AI would gain from their EXISTING BUILDINGS if they adopted ALL THE HAPPINESS POLICIES of their CURRENT IDEOLOGY
    //note: PREFERRED IDEOLOGY means the ideology that has the most ideology pressure
    
    //think about switching only if total happiness is less than 20 and ideology unhappiness is greater than 10 -else STOP
    if net_happiness <= -20 AND curren_unhap_frm_opinion >= 10
    //the "grand strategy" is the victory the ai is "going for" an AI will never consider changing to the ideology that is anti-their strategy
    if "grand strategy" = DOMINATION then NEVER EVER change to FREEDOM
    if "grand strategy" = DIPLOMACY  then NEVER EVER change to ORDER
    if "grand strategy" = SCIENCE    then NEVER EVER change to AUTOCRACY
    
    total_happiness_improvement = current_unhap_frm_opinion(this is alteast -10) + pref_ideology_happiness - current_ideology_happiness
    
    if total_happiness_improvement >= 10 then switch to PREFFERED IDEOLOGY unless the PREFERRED IDEOLOGY has been ruled out by the "grand strategy"
    //a quote from the source code "// Cleared all obstacles -- REVOLUTION!"
    
    //achievement stuff
    if the AI just switched from ORDER to FREEDOM
    AND
    if the civilization with the highest ideology pressure on the AI is the ACTIVE PLAYER then grant the ACTIVE PLAYER the achievement "Tear Down this Wall"
    //in a singleplayer game the active player is the human
    //in a multiplayer game the active player is the host
    //BUG:To the best of my knowledge you can NEVER get the "Tear Down this Wall" achievement if you are a GUEST in a multiplayer game.
    


    So with the above code in mind the OP should
    1)Be the top civ exerting ideological pressure on the target AI and NOT in a multiplayer game(if you are playing in multiplayer you must NOT a guest)
    2)Target a civ that is NOT biased to go for a domination victory(they will never change to or choose freedom no matter what)
    3)Enact freedom as the world ideology
    4)sell all of the AI's Monuments, Observatories, Public Schools and Research Labs(if you captured their city)
    5)and buy Mints, Banks, Stock Exchanges, Water Mills, Hospitals and Medical Labs in all cities you give to the AI



    If you want a copy of the method that control the AI's decision it is here:
    Spoiler :

    Code:
    /// Should the AI look at switching ideology branches?
    void CvPolicyAI::DoConsiderIdeologySwitch(CvPlayer* pPlayer)
    {
    	// Gather basic Ideology info
    	int iCurrentHappiness = pPlayer->GetExcessHappiness();
    	int iPublicOpinionUnhappiness = pPlayer->GetCulture()->GetPublicOpinionUnhappiness();
    	PolicyBranchTypes ePreferredIdeology = pPlayer->GetCulture()->GetPublicOpinionPreferredIdeology();
    	PolicyBranchTypes eCurrentIdeology = pPlayer->GetPlayerPolicies()->GetLateGamePolicyTree();
    	PlayerTypes eMostPressure = pPlayer->GetCulture()->GetPublicOpinionBiggestInfluence();
    	
    	// Possible enough that we need to look at this in detail?
    	if (iCurrentHappiness <= GC.getSUPER_UNHAPPY_THRESHOLD() && iPublicOpinionUnhappiness >= 10)
    	{
    		// How much Happiness could we gain from a switch?
    		int iHappinessCurrentIdeology = GetBranchBuildingHappiness(pPlayer, eCurrentIdeology);
    		int iHappinessPreferredIdeology = GetBranchBuildingHappiness(pPlayer, ePreferredIdeology);
    
    		// Does the switch fight against our clearly preferred victory path?
    		bool bDontSwitchFreedom = false;
    		bool bDontSwitchOrder = false;
    		bool bDontSwitchAutocracy = false;
    		int iConquestPriority = pPlayer->GetGrandStrategyAI()->GetConquestPriority();
    		int iDiploPriority = pPlayer->GetGrandStrategyAI()->GetUnitedNationsPriority();
    		int iTechPriority = pPlayer->GetGrandStrategyAI()->GetSpaceshipPriority();
    		int iCulturePriority = pPlayer->GetGrandStrategyAI()->GetCulturePriority();
    		int iClearPrefPercent = GC.getIDEOLOGY_PERCENT_CLEAR_VICTORY_PREF();
    		if (iConquestPriority > (iDiploPriority   * (100 + iClearPrefPercent) / 100) &&
    			iConquestPriority > (iTechPriority    * (100 + iClearPrefPercent) / 100) &&
    			iConquestPriority > (iCulturePriority * (100 + iClearPrefPercent) / 100))
    		{
    			bDontSwitchFreedom = true;
    		}
    		else if (iDiploPriority > (iConquestPriority * (100 + iClearPrefPercent) / 100) &&
    			iDiploPriority > (iTechPriority     * (100 + iClearPrefPercent) / 100) &&
    			iDiploPriority > (iCulturePriority  * (100 + iClearPrefPercent) / 100))
    		{
    			bDontSwitchOrder = true;
    		}
    		else if (iTechPriority > (iConquestPriority * (100 + iClearPrefPercent) / 100) &&
    			iTechPriority > (iDiploPriority    * (100 + iClearPrefPercent) / 100) &&
    			iTechPriority > (iCulturePriority  * (100 + iClearPrefPercent) / 100))
    		{
    			bDontSwitchAutocracy = true;
    		}
    
    		int iTotalHappinessImprovement = iPublicOpinionUnhappiness + iHappinessPreferredIdeology - iHappinessCurrentIdeology;
    		if (iTotalHappinessImprovement >= 10)
    		{
    			if (bDontSwitchFreedom && ePreferredIdeology == GC.getPOLICY_BRANCH_FREEDOM())
    			{
    				return;
    			}
    			if (bDontSwitchAutocracy && ePreferredIdeology == GC.getPOLICY_BRANCH_AUTOCRACY())
    			{
    				return;
    			}
    			if (bDontSwitchOrder && ePreferredIdeology == GC.getPOLICY_BRANCH_ORDER())
    			{
    				return;
    			}
    
    			// Cleared all obstacles -- REVOLUTION!
    			pPlayer->SetAnarchyNumTurns(GC.getSWITCH_POLICY_BRANCHES_ANARCHY_TURNS());
    			pPlayer->GetPlayerPolicies()->DoSwitchIdeologies(ePreferredIdeology);	
    
    			if (ePreferredIdeology == GC.getPOLICY_BRANCH_FREEDOM() && eCurrentIdeology == GC.getPOLICY_BRANCH_ORDER())
    			{
    				if (GET_PLAYER(eMostPressure).GetID() == GC.getGame().getActivePlayer())
    				{
    					gDLL->UnlockAchievement(ACHIEVEMENT_XP2_39);
    				}
    			}
    		}
    	}
    }
    


    This is my first post. Hope this info is helpful.
     

Share This Page