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

Golden Ages v1.1

Adds a new Golden Age mechanism that uses a percentage of Great Prophet, Writer, Artist and Musician

Tags:
  1. greyTiger
    1) OVERVIEW

    Introduces Golden Ages to the game. Each turn your Great Artist, Musician, Prophet and Writer points are added together and then a percentage (default of 30%) is added to your next Golden Age progress. When you reach the target for the next Golden Age your progress is reset and your Civilization enters a period of increased Culture, Production and Science (default of 25%) for 10 turns.

    The length of your Golden Ages, percentage of Great People points converted each turn, and the types of Great People that can contribute to your golden Age progress can be changed through a number of policies.

    Images can be seen on the Steam Workshop.
    https://steamcommunity.com/profiles/76561198006310482/myworkshopfiles/?appid=289070

    2) USER INTERFACE

    World Tracker Panel

    A new panel has been added to the World Tracker which displays the progress to the next Golden Age, and once a Golden Age is triggered the bonuses that are being applied and the turns remaining. Hovering over the progress bar displays the current points per turn earned toward your next Golden Age, and the estimated turns until your next Golden Age is triggered.

    Golden Age progress points are earned from Great People points. By default you earn 30% of your combined Great Prophet, Artist, Musician and Writer points. You also earn 0.5 points per turn toward Golden Ages at all times. The policies listed above can allow you to earn points from different Great People, or earn points at a higher rate. Individual leaders and civilizations can also have traits that allow them to earn points at a greater rate of from different Great People.

    An example of this can be seen in the modified England civ, where the leader ability for Victoria allows her to earn 100% of Great Admiral points per turn toward Golden Ages.

    The new Golden Ages panel also includes a button in the top right corner which allows you to view the civics and techs that grant bonuses to the first civilization to complete them.

    You can also view the affect each bonus is having on individual cities in the yield tooltip on the city panel. It will be listed as a % from modifiers with the exact value earned for that city. In the case of the 'Wonderful Architecture' policy the bonus can be seen in the tourism values on wonders when the tourism overlay is active.

    Golden Age Boosts Screen

    The boosts screen can be accessed from the button on the Golden Ages panel in the World Tracker. This screen shows the six randomly selected civics\techs that provide bonuses to the first civilization to complete them.

    All of the items have a bonus that provides a 15% progress boost toward your next Golden Age. One of the items is randomly selected to have the additional bonus of increasing the duration of Golden Ages by 30%.

    Once the boost has been triggered by a civilization the leader portrait is displayed in the right of the panel to indicate that the boost can no longer be received.

    If you are the first civilization to complete an item then a Boost screen is displayed informing you of the bonus. This same screen is also displayed when you complete a wonder and you have the 'Wonderful Architecture' policy active.

    New Golden Age Popup

    When you enter a new Golden Age a popup is displayed (which changes based on the era) informing you that a Golden Age has dawned. At this time you do not get notified when the AI enters a Golden Age, though that may be added in a future version.


    3) POLICIES

    Artistic Renaissance (Drama and Poetry)
    Increase Culture by 25% during a Golden Age. Universities provide +2 Culture and +1 Science.

    Bountiful Harvest (State Workforce)
    Increase Food by 25% during a Golden Age. Receive a free Worker when you build a Harbour.

    Cultural Elevation (The Enlightenment)
    Amount of Great Prophet, Writer, Artist and Musician points converted is increased by 50%.

    Golden Era (Humanism)
    The length of future Golden Ages is increased by 100%.

    Grace of God (Divine Right)
    Increase Faith by 50% during a Golden Age. Temples provide +1 Gold, +1 Culture and +1 Housing.

    Production Boom (Feudalism)
    Increase Production by 25% during a Golden Age. 75% of Great Engineer points count towards Golden Ages.

    Record Profits (Mercantilism)
    Increase Gold by 50% during a Golden Age. 50% of Great Merchant points count towards Golden Ages.

    Scientific Age (The Enlightenment)
    Increase Science by 25% during a Golden Age. 50% of Great Scientist points count towards Golden Ages.

    Way of the Warrior (Military Training)
    Increase Production by 10% during a Golden Age. 50% of Great General and Great Admiral points count towards Golden Ages.

    Wonderful Architecture (Recorded History)
    +200% from Wonders during a Golden Age. Building a Wonder provides a 15% boost towards your next Golden Age.


    4) INTEGRATION FOR MODERS

    Great People Points

    It is possible to change the types of great people (and the percentage of points) that provide progress for a civilization or leader. This can be done through the GoldenAgeGreatPeoplePoints table.

    Code:
    GoldenAgeGreatPeoplePoints
       .CivilizationType       The unique identifier of the civilization. e.g. 'CIVILIZATION_ENGLAND'
       .LeaderType               The unique identifier of the leader. e.g. 'LEADER_VICTORIA'.  
       .GreatPersonClass       The type of great person that the modifier should apply to. e.g. 'GREAT_PERSON_CLASS_ADMIRAL'.
       .Modifier               The percentage of great person points that should be converted to Golden Age points.
    
    Great People Classes supported:
    GREAT_PERSON_CLASS_ADMIRAL
    GREAT_PERSON_CLASS_ARTIST
    GREAT_PERSON_CLASS_ENGINEER
    GREAT_PERSON_CLASS_GENERAL
    GREAT_PERSON_CLASS_MERCHANT
    GREAT_PERSON_CLASS_MUSICIAN
    GREAT_PERSON_CLASS_PROPHET
    GREAT_PERSON_CLASS_SCIENTIST
    GREAT_PERSON_CLASS_WRITER

    An example of how to use this can be seen below where we give Victoria (England) the ability to gain Golden Age progress from 100% of great admiral points per turn.

    Code:
       <GoldenAgeGreatPeoplePoints>
           <Row CivilizationType="CIVILIZATION_ENGLAND" LeaderType="LEADER_VICTORIA" GreatPersonClass="GREAT_PERSON_CLASS_ADMIRAL" Modifier="100"/>
       </GoldenAgeGreatPeoplePoints>
    
    NOTE: If you want the change to affect the civilization as a whole (all leaders of the civ) then you can either change the LeaderType to "ANY" or just leave out the LeaderType completely.

    Code:
       <GoldenAgeGreatPeoplePoints>
           <Row CivilizationType="CIVILIZATION_ENGLAND" GreatPersonClass="GREAT_PERSON_CLASS_ADMIRAL" Modifier="100"/>
       </GoldenAgeGreatPeoplePoints>
    
    It is also possible to remove existing abilities from civilizations\leaders. Lets say that we do not want Victoria to get progress from Artists, Musicians and Writers. Then we would add the following.

    Code:
       <GoldenAgeGreatPeoplePoints>
           <Row CivilizationType="CIVILIZATION_ENGLAND" LeaderType="LEADER_VICTORIA" GreatPersonClass="GREAT_PERSON_CLASS_ARTIST" Modifier="-30"/>
           <Row CivilizationType="CIVILIZATION_ENGLAND" LeaderType="LEADER_VICTORIA" GreatPersonClass="GREAT_PERSON_CLASS_MUSICIAN" Modifier="-30"/>
           <Row CivilizationType="CIVILIZATION_ENGLAND" LeaderType="LEADER_VICTORIA" GreatPersonClass="GREAT_PERSON_CLASS_WRITER" Modifier="-30"/>
       </GoldenAgeGreatPeoplePoints>
    
    Progress from Buildings

    If your civilization has a custom building then you can have the building provide a set number of progress points per turn by using the following.

    GoldenAgeBuildingPoints
    .BuildingType The unique identifier of the building that will provide progress points each turn toward Golden Ages.
    .PointsPerTurn The points per turn to add from the building.

    The following example adds 0.5 points per turn toward Golden Ages for the Palace building.

    Code:
       <GoldenAgeBuildingPoints>
           <Row BuildingType="BUILDING_PALACE" PointsPerTurn="0.5"/>
       </GoldenAgeBuildingPoints>
    
    Golden Age Bonuses

    Adding Golden Age bonuses for a civilization or leader is a little more complex since we also need to add data to the Modifiers, ModifierArguments and the TraitModifiers tables. This is required because I have not yet found a way to create or alter the Modifiers and ModifierArguments rows at runtime.

    So, to add a bonus for a civilization or leader during a Golden Age we would need the modifiers, and also need to add data to the GoldenAgeBonuses table which is responsible for displaying the bonus in the UI on the Golden Ages panel.

    Note: There are two properties that can be affected without the need for any Modifiers or ModifierArguments. These are the Duration and the GPPPercentage.

    Examples for these properties can be seen a little farther down where we alter the bonuses for Egypt.

    GoldenAgeBonuses
    .CivilizationType The unique identifier of the civilization. e.g. 'CIVILIZATION_INDIA'.
    .LeaderType The unique identifier of the leader. e.g. 'LEADER_GHANDI'.
    .PropertyName The name of the bonus that you want to affect. e.g. 'Production'. PropertyName items can be seen in section 4.1
    .Modifier The percentage value of the bonus.

    Property Names supported:
    Culture (Used by the UI to display the bonus culture during a Golden Age.)
    Duration (Affects the duration of Golden Ages.)
    Faith (Used by the UI to display the bonus faith during a Golden Age.)
    Food (Used by the UI to display the bonus food during a Golden Age.)
    Gold (Used by the UI to display the bonus gold during a Golden Age.)
    GPPPercentage (Affects the bonus great people points conversion rate.)
    Production (Used by the UI to display the bonus production during a Golden Age.)
    Science (Used by the UI to display the bonus science during a Golden Age.)
    Tourism (Used by the UI to display the bonus tourism during a Golden Age.)

    An example of how to use this can be seen below where we give India (all leaders) an extra 25% food and 10% production during a Golden Age. As with the GoldenAgeGreatPeoplePoints table we can omit the LeaderType field to have all leaders of the civilization gain the bonus.

    Code:
       <GoldenAgeBonuses>
           <Row CivilizationType="CIVILIZATION_INDIA" PropertyName="Faith" Modifier="25"/>
           <Row CivilizationType="CIVILIZATION_INDIA" PropertyName="Production" Modifier="10"/>
       </GoldenAgeBonuses>
    
    The following add the required modifiers and arguments to have the effect take place during a Golden Age. Note in the Modifiers table we have a RequirementSet which is used to ensure that the bonus is only applied during a Golden Age. This requirement set is part of the Golden Age mod, so just ensure your civ loads after the mod to prevent db errors.

    Code:
       <Modifiers>
           <Row ModifierId="TRAIT_DHARMA_GOLDEN_AGE_FAITH" ModifierType="MODIFIER_PLAYER_CITIES_ADJUST_CITY_YIELD_MODIFIER" SubjectRequirementSetId="GOLDEN_AGE_MONUMENT_REQUIREMENTS" />
           <Row ModifierId="TRAIT_DHARMA_GOLDEN_AGE_PRODUCTION" ModifierType="MODIFIER_PLAYER_CITIES_ADJUST_CITY_YIELD_MODIFIER" SubjectRequirementSetId="GOLDEN_AGE_MONUMENT_REQUIREMENTS" />
       </Modifiers>
      
       <ModifierArguments>
           <Row ModifierId="TRAIT_DHARMA_GOLDEN_AGE_FAITH" Name="YieldType" Value="YIELD_FAITH" />
           <Row ModifierId="TRAIT_DHARMA_GOLDEN_AGE_FAITH" Name="Amount" Value="25" />
           <Row ModifierId="TRAIT_DHARMA_GOLDEN_AGE_PRODUCTION" Name="YieldType" Value="YIELD_PRODUCTION" />
           <Row ModifierId="TRAIT_DHARMA_GOLDEN_AGE_PRODUCTION" Name="Amount" Value="10" />
       </ModifierArguments>
      
       <TraitModifiers>
           <Row TraitType="TRAIT_CIVILIZATION_DHARMA" ModifierId="TRAIT_DHARMA_GOLDEN_AGE_FAITH"/>
           <Row TraitType="TRAIT_CIVILIZATION_DHARMA" ModifierId="TRAIT_DHARMA_GOLDEN_AGE_PRODUCTION"/>
       </TraitModifiers>
    
    The following is an example where we double the length of Golden Ages for Egypt. This only needs a row in the GoldenAgeBonuses table. No modifiers required.

    Code:
       <GoldenAgeBonuses>
           <Row CivilizationType="CIVILIZATION_EGYPT" PropertyName="Duration" Modifier="100"/>
       </GoldenAgeBonuses>
      
    And here we have an example where we double the default conversion rate of great people points.
      
       <GoldenAgeBonuses>
           <Row CivilizationType="CIVILIZATION_EGYPT" PropertyName="GPPPercentage" Modifier="100"/>
       </GoldenAgeBonuses>
    
    Policies and Beliefs

    Policies and Beliefs can be created that affect Golden Ages in the same fashion as specified in the previous section. The GoldenAgePolicyBonuses and GoldenAgeBeliefBonuses are similar to the GoldenAgeBonuses table and have the same rules regarding modifiers, while the GoldenAgePolicyGreatPeoplePoints and GoldenAgeBeliefGreatPeoplePoints tables are similar to the GoldenAgeGreatPeoplePoints table and work in a similar fashion.

    GoldenAgePolicyBonuses
    .PolicyType The unique identifier of the policy. e.g. 'POLICY_MYPOLICY'.
    .PropertyName The name of the bonus that you want to affect. e.g. 'Production'. PropertyName items can be seen in section 4.1
    .Modifier The percentage value of the bonus.

    (Use this table to have policies affect Golden Age bonuses granted to any player using the policy.)

    GoldenAgePolicyGreatPeoplePoints
    .PolicyType The unique identifier of the policy. e.g. 'POLICY_MYPOLICY'.
    .GreatPersonClass The type of great person that the modifier should apply to. e.g. 'GREAT_PERSON_CLASS_ADMIRAL'. Classes can be seen in section 4.2
    .Modifier The percentage of great person points that should be converted to Golden Age points.

    (Use this table to have policies affect the type of great people that provide Golden Age progress.)

    GoldenAgeBeliefBonuses
    .BeliefType The unique identifier of the belief. e.g. 'BELIEF_MYBELIEF'.
    .PropertyName The name of the bonus that you want to affect. e.g. 'Production'. PropertyName items can be seen in section 4.1
    .Modifier The percentage value of the bonus.

    (Use this table to have beliefs affect Golden Age bonuses for any player that has selected the belief.)

    GoldenAgeBeliefGreatPeoplePoints
    .BeliefType The unique identifier of the belief. e.g. 'BELIEF_MYBELIEF'.
    .GreatPersonClass The type of great person that the modifier should apply to. e.g. 'GREAT_PERSON_CLASS_ADMIRAL'. Classes can be seen in section 4.2
    .Modifier The percentage of great person points that should be converted to Golden Age points.

    (Use this table to have beliefs affect the type of great people that provide Golden Age progress.)
    RohirrimElf likes this.