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

Vokarya's Workshop: Wonders

Discussion in 'Rise of Mankind: A New Dawn' started by Vokarya, Nov 3, 2013.

  1. Arakhor

    Arakhor Dremora Courtier Moderator

    Joined:
    Mar 27, 2009
    Messages:
    32,757
    Gender:
    Male
    Location:
    UK
    I agree with your ideas, Vokarya, and I tend to agree with Ipex as well. The Golden Spike was rather underwhelming for me too.
     
  2. Afforess

    Afforess The White Wizard

    Joined:
    Jul 31, 2007
    Messages:
    12,239
    Location:
    Austin, Texas
    I have started working on this. I am adding 2 new tags:

    <iDiplomacyChange> - which is a diplomatic relation affect that the building has with all leaders.
    <MemoryTypeDiplomacyModifier> - which is a modifier (percentage) that modifies how all leaders view memory types. It's a list and can modify multiple memory types.

    So this opens up interesting possibilities. Buildings could make allies like your same state religion 50% more. Or hate declaring war on their friend 50% less. Or hate you more.
     
  3. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I've never liked the placement of the Palace of Potala wonder at Education. The Palace was historically built in 1645 (Renaissance Era, not Medieval) and was a seat of government, not learning. Education is also one of the true bottleneck technologies of the Tech Tree (everything Renaissance and later goes through it) and has a trick count of 5 without Potala, so it wouldn't miss losing anything.

    I'm going to move Potala to Divine Right instead. This also fixes a little of the Wonder imbalance between the eras; without Shrines or Guilds, the Medieval Era has 23 Wonders to the Renaissance's 19.
     
  4. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I have an idea for what we can do with Neuschwanstein in place of a Golden Age. I would like to give it two things:
    • +25% Golden Age Length
    • +25% global Great Person generation

    We are not using either of these abilities very frequently. For Golden Age length, the other sources are:
    • +50% from Mausoleum of Maussollos
    • +20% from Cheomseongdae
    • +25% from World News Network
    • +100% from Ascension Gate
    I don't think it would be very easy to get all of these sources, so adding an additional +25% won't break anything. If necessary, we can put an expiration date on the Mausoleum.

    Likewise, global Great Person generation is another ability that we are not using very much.
    • +50% from Parthenon, which is Hellenism-only
    • +20% from Leaning Tower
    • +10% from National TV Station
    • +3% from Network Node
    So I think +25% is worth testing, especially since Parthenon is already obsolete before Neuschwanstein appears.
     
  5. Delekhan

    Delekhan Prince

    Joined:
    Jul 22, 2013
    Messages:
    539
    Location:
    Dallas, Texas
    This has probably been brought up before, but I figure it's worth mentioning.

    On Pangea maps, the Gutenberg Bible becomes an absolute must-have. Converting every single city in the world to your religion pretty much ends the game right there.

    The Holy City generates 100+ gold per turn if you build the religious wonder with a Great Prophet. Everyone converts to my religion and suddenly loves me (and each other). The game becomes a breeze after that; only a fool could even come close to losing at that point.

    Maybe cap the number of cities that the Gutenberg Bible converts?
     
  6. Arakhor

    Arakhor Dremora Courtier Moderator

    Joined:
    Mar 27, 2009
    Messages:
    32,757
    Gender:
    Male
    Location:
    UK
    I like that idea, Vokarya. It might not have done anything for Ludwig II, but I'm sure the players will appreciate it. :)
     
  7. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I'm thinking about reining it in a little. I have an idea, but I have to sit down and write up the code.
     
  8. Delekhan

    Delekhan Prince

    Joined:
    Jul 22, 2013
    Messages:
    539
    Location:
    Dallas, Texas
    Sounds good.

    Also I noticed that it became impossible to build a carpenter's guild if you're able to build cannon foundries and don't have 8 siege workshops built by then.

    The reason being that Cannon Foundries make Siege Workshops Obsolete.

    Maybe have Cannon Foundries also count towards the required 8 count for the Carpenter's Guild?
     
  9. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    As far as I know, Afforess made it so that building upgrades count as the building they are upgrading for purposes of requirement (specifically to fix Circus Maximus and its Stables requirement getting superseded by Knight's Stables). If you really can't build Carpenter's Guild with the required amount of Siege Weapons Workshops and Cannon Forges, then post a save game in one of the bug threads.
     
  10. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I think the way to best control Gutenberg Bible is to have it spread the state religion that triggers it to all cities of the Bible's owner (which I don't think is over-powerful) and use a stepping variable so that it only spreads to a particular fraction of cities that the owner doesn't control. I think 1/4th is pretty good, but we can adjust it if necessary.

    I worked up the code changes, and this worked the first time I tested it. Let me know if you see any other issues. (New code is in blue.)
    Code:
    if iBuildingType == gc.getInfoTypeForString( 'BUILDING_GUTENBERG' ):
    	iPlayer = pCity.getOwner()
    	pPlayer = gc.getPlayer(iPlayer)
    	player = PyPlayer(iPlayer)
    	eStateReligion = player.getStateReligion()
    [COLOR="Blue"]	iStepper = 0[/COLOR]
    
    	for iPlayerX in range(gc.getMAX_CIV_PLAYERS()):
    		pPlayerX = gc.getPlayer(iPlayerX)
    		if pPlayerX.isAlive() and pPlayerX.isBarbarian() == False:
    			if pPlayerX.isNoNonStateReligionSpread() != True or pPlayerX.getStateReligion() == pPlayer.getStateReligion():
    				playerX = PyPlayer(iPlayerX)
    				cityList = playerX.getCityList()
    				for city in cityList:
    					pRelCity = pPlayerX.getCity(city.getID())
    					if pRelCity.isConnectedTo(pCity) == True and pRelCity.isHasReligion(eStateReligion) == 0[COLOR="Blue"] and (iStepper == 0 or iPlayerX == iPlayer)[/COLOR]:
    						pRelCity.setHasReligion(eStateReligion, True, True, True)
    [COLOR="Blue"]					iStepper = iStepper + 1
    					if iStepper >= 4:
    						iStepper = 0[/COLOR]
     
  11. 45°38'N-13°47'E

    45°38'N-13°47'E Deity

    Joined:
    Jun 7, 2008
    Messages:
    5,854
    Location:
    Just wonder...
    Sounds very good to me, go for it!
     
  12. Delekhan

    Delekhan Prince

    Joined:
    Jul 22, 2013
    Messages:
    539
    Location:
    Dallas, Texas
    Regarding the Gutenberg Bible Solution:

    Yes that sounds reasonable. Maybe also full spread to vassals as well.

    By the way, the Gutenberg Bible spreads to cities that are connectable, even if they haven't been explored yet. I triple checked this and it is the case, though it won't spread to civs you haven't discovered yet.
     
  13. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    Since it only checks every 4th city, if every 4th city has the religion, while the other 75% do not have the religion, the code won't spread to any of the cities of the target player at all. The effect can be much less than expected.
     
  14. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    That's fair. I'll include that.

    That's okay with me. The idea here is that mass-produced Bibles get into the trade network somehow and circulate from there, taking advantage of everyone's internal connections, but you need an initial connection to get the Bibles out there.
     
  15. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I think if we rearrange the tests a little by checking for the absence of the target religion first, and only incrementing the iStepper value if the city doesn't have the religion, then we will get the proper number. The iStepper increase is inside the isHasReligion test but outside the isConnectedTo and iStepper tests. Like this:
    Code:
    for city in cityList:
    	pRelCity = pPlayerX.getCity(city.getID())
    	if pRelCity.isHasReligion(eStateReligion) == 0:
    		if pRelCity.isConnectedTo(pCity) == True and (iStepper == 0 or iPlayerX == iPlayer or gc.getTeam(pPlayerX.getTeam()).isVassal(gc.pPlayer.getTeam())):
    			pRelCity.setHasReligion(eStateReligion, True, True, True)
    		iStepper = iStepper + 1
    		if iStepper >= 4:
    			iStepper = 0
     
  16. Zeta Nexus

    Zeta Nexus Deity

    Joined:
    Jan 23, 2014
    Messages:
    3,347
    Location:
    In a constant brainstorm...
    Two religious wonder ideas, just regular brain-storming :)

    1) Council of Nicaea for Christianity (maybe it could be a national wonder)
    Effect:
    -free christian temple in every city

    Some/many players feel that Christianity spreads too slowly, but this would be a solution for this.

    2) The other one is for Islam, though I have no name for it.
    Effect:
    -every time the civ conquer or found a new city, Islam spreads to a connected city

    Reason same as above.
     
  17. Tolina

    Tolina trust the pillars with your s e c r e t s

    Joined:
    Feb 20, 2013
    Messages:
    10,492
    Location:
    Nightvale, US
    Both would come far too late, especially the Islam one.
     
  18. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I can replace Golden Spike's route-building code with Via Appia's. VA builds a road network connecting all cities on the same continent. Would that be better?
     
  19. IPEX-731BA5DD06

    IPEX-731BA5DD06 Deity

    Joined:
    Dec 15, 2005
    Messages:
    2,716
    Location:
    Melbourne, Victoria, Australia
  20. Vokarya

    Vokarya Deity

    Joined:
    Mar 25, 2011
    Messages:
    6,098
    I'm currently testing the fixed code for Gutenberg Bible (spread the key religion to all cities owned or vassalized, plus 1/4 of the cities owned by connected rivals) and I'm getting an onBuildingBuilt error in the event handler that I can't seem to figure out why it's triggering.

    Here's my current code for Gutenberg:
    Code:
    	if iBuildingType == gc.getInfoTypeForString( 'BUILDING_GUTENBERG' ):
    		iPlayer = pCity.getOwner()
    		pPlayer = gc.getPlayer(iPlayer)
    		player = PyPlayer(iPlayer)
    		pTeam = gc.getTeam(pPlayer.getTeam())
    		eStateReligion = player.getStateReligion()
    		iStepper = 0
    
    		for iPlayerX in range(gc.getMAX_CIV_PLAYERS()):
    			pPlayerX = gc.getPlayer(iPlayerX)
    			if pPlayerX.isAlive() and pPlayerX.isBarbarian() == False:
    				if pPlayerX.isNoNonStateReligionSpread() != True or pPlayerX.getStateReligion() == pPlayer.getStateReligion():
    					playerX = PyPlayer(iPlayerX)
    					pTeamX = gc.getTeam(pPlayerX.getTeam())
    					cityList = playerX.getCityList()
    					for city in cityList:
    						pRelCity = pPlayerX.getCity(city.getID())
    						if pRelCity.isHasReligion(eStateReligion) == 0:
    							if pRelCity.isConnectedTo(pCity) == True:
    								if (iStepper == 0) or (iPlayerX == iPlayer) or (pTeamX.isVassal(pTeam)):
    									pRelCity.setHasReligion(eStateReligion, True, True, True)
    							iStepper = iStepper + 1
    							if iStepper > 3:
    								iStepper = 0
    The problem line is apparently iStepper = iStepper +1 (third line from the end). If I comment out that line, the target religion spreads to every visible city (which I understand, because then iStepper never increases and is always 0). Without it, the religion spreads to all my cities and the first AI city in turn order, then the error message and no further spread. I believe the indentation is right for what I want; the iStepper increase is only supposed to happen if the city does not already have the target religion.

    I've attached a save game that I've been using for tests. It's set up to build GB as soon as the turn ends. You have to rename the mod Rise of Mankind - V Work for the save to load properly.
     

Share This Page