1. We have added the ability to collapse/expand forum categories and widgets on forum home.
    Dismiss Notice
  2. All Civ avatars are brought back and available for selection in the Avatar Gallery! There are 945 avatars total.
    Dismiss Notice
  3. To make the site more secure, we have installed SSL certificates and enabled HTTPS for both the main site and forums.
    Dismiss Notice
  4. Civ6 is released! Order now! (Amazon US | Amazon UK | Amazon CA | Amazon DE | Amazon FR)
    Dismiss Notice
  5. Dismiss Notice
  6. Forum account upgrades are available for ad-free browsing.
    Dismiss Notice

[R&F] Boost loyalty only if condition is met?

Discussion in 'Mod Creation Help' started by YayIguess, Mar 1, 2018.

  1. YayIguess

    YayIguess Chieftain

    Joined:
    Mar 1, 2018
    Messages:
    1
    Gender:
    Male
    So I'm making a Canada civ and I am trying to make the civ UA be any city on the same continent as the capital receives a boost in loyalty (ie +3/+4). I think I've figured out how to generically boost all cities loyalty, but I'm not sure how to go about making it only apply to certain cities.

    Slightly off-topic but is there a file that has a list of all modifiers in the game that is up-to-date with R&F?
     
  2. isau

    isau Warlord

    Joined:
    Jan 15, 2007
    Messages:
    2,750
    At a minimum it sounds like you need to add (or reuse one created by Firaxis) a RequirementSet that specifies which cities the Modifier will apply to.

    I just glanced at the database and don't right away see a RequirementSet that checks to be a sure city is on the same continent. There is one for different continents (CITY_NOT_OWNER_CAPITAL_CONTINENT_REQUIREMENTS). You should be able to create a new RequirementSet that reverses the requirements contained in that set by just copying the code that creates that RequirementSet and inversing the internal Requirements with the Inverse field.

    If you are using SQL you can view data about about that particular RequirementSet with this SQL query:

    Code:
    select * from requirementsets
    
    left join requirementsetrequirements on requirementsetrequirements.RequirementSetId = requirementsets.RequirementSetId
    
    left join requirements on requirements.requirementid = requirementsetrequirements.RequirementId
    
    left join requirementarguments on requirementarguments.RequirementId = requirements.requirementid
    
    where requirementsets.requirementsetid = 'CITY_NOT_OWNER_CAPITAL_CONTINENT_REQUIREMENTS'
    

    Screenshot below shows what that query would tell you about the existing implementation.


    upload_2018-3-1_0-42-45.png
     

Share This Page

Ebates: Get Paid to Shop