Creating adjacency bonus for campus, some help

Alexeyov

Chieftain
Joined
Jul 25, 2017
Messages
1
Hi, begginer here, i am trying to create a custom civ wich trait would be +1 adjacency bonus for their campus when adjacent to other districts. I tried to use the italy mod civilization as an example but clearly there is something that i haven´t understood and doesn´t work. Here is the code.

thank you in advance
Code:
--==========================================================================================================================
-- CIVILIZATIONS: TRAITS
--==========================================================================================================================
-- Types
--------------------------------------------------------------------------------------------------------------------------   
INSERT INTO Types   
        (Type,                                                    Kind)
VALUES    ('TRAIT_CIVILIZATION_ASM_GOA',                        'KIND_TRAIT');

--------------------------------------------------------------------------------------------------------------------------           
-- Traits           
--------------------------------------------------------------------------------------------------------------------------               
INSERT INTO Traits               
        (TraitType,                                                    Name,                                                    Description)
VALUES    ('TRAIT_CIVILIZATION_ASM_GOA',                        'LOC_TRAIT_CIVILIZATION_ASM_GOA_NAME',                    'LOC_TRAIT_CIVILIZATION_ASM_GOA_DESCRIPTION');
        
-------------------------------------
-- Types
-------------------------------------   
INSERT INTO Types   
        (Type,                                                        Kind)
VALUES    ('MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',        'KIND_MODIFIER');
-------------------------------------
-- DynamicModifiers
-------------------------------------                   
INSERT INTO DynamicModifiers           
        (ModifierType,                                                CollectionType,                        EffectType)
VALUES    ('MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',        'COLLECTION_PLAYER_DISTRICTS',        'EFFECT_ATTACH_MODIFIER');


-------------------------------------           
-- RequirementSets
-------------------------------------
INSERT INTO RequirementSets
        (RequirementSetId,                                            RequirementSetType)
VALUES    ('ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT',                        'REQUIREMENTSET_TEST_ALL'),
        ('ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT',                        'REQUIREMENTSET_TEST_ALL'),
        ('ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT',                        'REQUIREMENTSET_TEST_ALL'),
        ('ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT',                        'REQUIREMENTSET_TEST_ALL'),
        ('ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT',                        'REQUIREMENTSET_TEST_ALL'),
        ('ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT',                        'REQUIREMENTSET_TEST_ALL'),

        ('ASM_CORDOBA_DISTRICT_IS_ADJACENT',                            'REQUIREMENTSET_TEST_ALL');


-------------------------------------
-- RequirementSetRequirements
-------------------------------------   
INSERT INTO RequirementSetRequirements
        (RequirementSetId,                                            RequirementId)
VALUES    ('ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT',                        'ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT_REQUIREMENT'),
        ('ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT',                        'ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT_REQUIREMENT'),
        ('ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT',                        'ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT_REQUIREMENT'),
        ('ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT',                        'ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT_REQUIREMENT'),
        ('ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT',                        'ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT_REQUIREMENT'),
        ('ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT',                        'ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT_REQUIREMENT'),
        
        ('ASM_CORDOBA_DISTRICT_IS_ADJACENT',                            'ASM_CORDOBA_DISTRICT_IS_ADJACENT_REQUIREMENT'),
        ('ASM_CORDOBA_DISTRICT_IS_ADJACENT',                            'ASM_CORDOBA_DISTRICT_IS_NOT_WONDER_REQUIREMENT');
-------------------------------------
-- Requirements
-------------------------------------
INSERT INTO Requirements
        (RequirementId,                                             RequirementType)
VALUES    ('ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT_REQUIREMENT',            'REQUIREMENT_COLLECTION_COUNT_ATLEAST'),
        ('ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT_REQUIREMENT',            'REQUIREMENT_COLLECTION_COUNT_ATLEAST'),
        ('ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT_REQUIREMENT',            'REQUIREMENT_COLLECTION_COUNT_ATLEAST'),
        ('ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT_REQUIREMENT',            'REQUIREMENT_COLLECTION_COUNT_ATLEAST'),
        ('ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT_REQUIREMENT',            'REQUIREMENT_COLLECTION_COUNT_ATLEAST'),
        ('ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT_REQUIREMENT',            'REQUIREMENT_COLLECTION_COUNT_ATLEAST');

INSERT INTO Requirements
        (RequirementId,                                             RequirementType,                            Inverse)
VALUES    ('ASM_CORDOBA_DISTRICT_IS_ADJACENT_REQUIREMENT',                'REQUIREMENT_PLOT_ADJACENT_TO_OWNER',        0),
        ('ASM_CORDOBA_DISTRICT_IS_NOT_WONDER_REQUIREMENT',            'REQUIREMENT_DISTRICT_TYPE_MATCHES',        1);       
-------------------------------------
-- RequirementArguments
-------------------------------------
INSERT INTO RequirementArguments
        (RequirementId,                                             Name,                        Value)
VALUES    ('ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT_REQUIREMENT',             'CollectionType',            'COLLECTION_PLAYER_DISTRICTS'),
        ('ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT_REQUIREMENT',             'Count',                    1),
        ('ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT_REQUIREMENT',             'RequirementSetId',            'ASM_CORDOBA_DISTRICT_IS_ADJACENT'),
        
        ('ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT_REQUIREMENT',             'CollectionType',            'COLLECTION_PLAYER_DISTRICTS'),
        ('ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT_REQUIREMENT',             'Count',                    2),
        ('ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT_REQUIREMENT',             'RequirementSetId',            'ASM_CORDOBA_DISTRICT_IS_ADJACENT'),
        
        ('ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT_REQUIREMENT',             'CollectionType',            'COLLECTION_PLAYER_DISTRICTS'),
        ('ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT_REQUIREMENT',             'Count',                    3),
        ('ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT_REQUIREMENT',             'RequirementSetId',            'ASM_CORDOBA_DISTRICT_IS_ADJACENT'),
        
        ('ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT_REQUIREMENT',             'CollectionType',            'COLLECTION_PLAYER_DISTRICTS'),
        ('ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT_REQUIREMENT',             'Count',                    4),
        ('ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT_REQUIREMENT',             'RequirementSetId',            'ASM_CORDOBA_DISTRICT_IS_ADJACENT'),
        
        ('ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT_REQUIREMENT',             'CollectionType',            'COLLECTION_PLAYER_DISTRICTS'),
        ('ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT_REQUIREMENT',             'Count',                    5),
        ('ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT_REQUIREMENT',             'RequirementSetId',            'ASM_CORDOBA_DISTRICT_IS_ADJACENT'),
        
        ('ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT_REQUIREMENT',             'CollectionType',            'COLLECTION_PLAYER_DISTRICTS'),
        ('ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT_REQUIREMENT',             'Count',                    6),
        ('ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT_REQUIREMENT',             'RequirementSetId',            'ASM_CORDOBA_DISTRICT_IS_ADJACENT'),

        ------------------------------------------------------------------------------------------------------------------------
        ------------------------------------------------------------------------------------------------------------------------

        ('ASM_CORDOBA_DISTRICT_IS_ADJACENT_REQUIREMENT',                 'MinDistance',                1),
        ('ASM_CORDOBA_DISTRICT_IS_ADJACENT_REQUIREMENT',                 'MaxDistance',                1),
        
        ('ASM_CORDOBA_DISTRICT_IS_NOT_WONDER_REQUIREMENT',             'DistrictType',                'DISTRICT_WONDER');


--------------------------------------------------------------------------------------------------------------------------       
-- TraitModifiers       
--------------------------------------------------------------------------------------------------------------------------           
INSERT INTO TraitModifiers           
        (TraitType,                                            ModifierId)
VALUES    ('TRAIT_CIVILIZATION_ASM_GOA',                    'ASM_TRAIT_SCIENCE_YIELD_1'),
        ('TRAIT_CIVILIZATION_ASM_GOA',                    'ASM_TRAIT_SCIENCE_YIELD_2'),
        ('TRAIT_CIVILIZATION_ASM_GOA',                    'ASM_TRAIT_SCIENCE_YIELD_3'),
        ('TRAIT_CIVILIZATION_ASM_GOA',                    'ASM_TRAIT_SCIENCE_YIELD_4'),
        ('TRAIT_CIVILIZATION_ASM_GOA',                    'ASM_TRAIT_SCIENCE_YIELD_5'),
        ('TRAIT_CIVILIZATION_ASM_GOA',                    'ASM_TRAIT_SCIENCE_YIELD_6');

        
                                                                                            
--------------------------------------------------------------------------------------------------------------------------
-- Modifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Modifiers   
        (ModifierId,                                                ModifierType,                                                    SubjectRequirementSetId)
VALUES    ('ASM_CORDOBA_SCIENCE_YIELD_1',                                'MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',            'ASM_CORDOBA_HAS_1_DISTRICTS_ADJACENT'),
        ('ASM_CORDOBA_SCIENCE_YIELD_2',                                'MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',            'ASM_CORDOBA_HAS_2_DISTRICTS_ADJACENT'),
        ('ASM_CORDOBA_SCIENCE_YIELD_3',                                'MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',            'ASM_CORDOBA_HAS_3_DISTRICTS_ADJACENT'),
        ('ASM_CORDOBA_SCIENCE_YIELD_4',                                'MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',            'ASM_CORDOBA_HAS_4_DISTRICTS_ADJACENT'),
        ('ASM_CORDOBA_SCIENCE_YIELD_5',                                'MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',            'ASM_CORDOBA_HAS_5_DISTRICTS_ADJACENT'),
        ('ASM_CORDOBA_SCIENCE_YIELD_6',                                'MODIFIER_ASM_CORDOBA_PLAYER_DISTRICTS_ATTCH_MODIFIER',            'ASM_CORDOBA_HAS_6_DISTRICTS_ADJACENT'),
                
        ('ASM_CORDOBA_SCIENCE_YIELD_MODIFIER',                        'MODIFIER_PLAYER_DISTRICT_ADJUST_YIELD_BASED_ON_ADJACENCY_BONUS',            'DISTRICT_IS_CAMPUS');
        

--------------------------------------------------------------------------------------------------------------------------
-- ModifierArguments
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO ModifierArguments
        (ModifierId,                                                Name,                        Value)
VALUES    ('ASM_CORDOBA_SCIENCE_YIELD_1',                                'ModifierId',                'ASM_CORDOBA_SCIENCE_YIELD_MODIFIER'),
        ('ASM_CORDOBA_SCIENCE_YIELD_2',                                'ModifierId',                'ASM_CORDOBA_SCIENCE_YIELD_MODIFIER'),
        ('ASM_CORDOBA_SCIENCE_YIELD_3',                                'ModifierId',                'ASM_CORDOBA_SCIENCE_YIELD_MODIFIER'),
        ('ASM_CORDOBA_SCIENCE_YIELD_4',                                'ModifierId',                'ASM_CORDOBA_SCIENCE_YIELD_MODIFIER'),
        ('ASM_CORDOBA_SCIENCE_YIELD_5',                                'ModifierId',                'ASM_CORDOBA_SCIENCE_YIELD_MODIFIER'),
        ('ASM_CORDOBA_SCIENCE_YIELD_6',                                'ModifierId',                'ASM_CORDOBA_SCIENCE_YIELD_MODIFIER'),
                
        ('ASM_CORDOBA_SCIENCE_YIELD_MODIFIER',                        'YieldType',        'YIELD_SCIENCE'),
        ('ASM_CORDOBA_SCIENCE_YIELD_MODIFIER',                        'Amount',                    1);
 
The code you have is about 10x as complicated as it needs to be. Remember, always check the base game assets, and even look for mods, to find things that have effects that you're looking for. Japan. Meiji Restoration. "All districts receive an additional standard adjacency bonus for being adjacent to another district." You look in Civilizations.xml and you can find all the code you need.

Code:
<Modifiers>
       <Row>
           <ModifierId>TRAIT_ADJACENT_DISTRICTS_CAMPUS_ADJACENCYSCIENCE</ModifierId>
           <ModifierType>MODIFIER_PLAYER_CITIES_DISTRICT_ADJACENCY</ModifierType>
       </Row>
</Modifiers>

<ModifierArguments>
       <Row>
           <ModifierId>TRAIT_ADJACENT_DISTRICTS_CAMPUS_ADJACENCYSCIENCE</ModifierId>
           <Name>DistrictType</Name>
           <Value>DISTRICT_CAMPUS</Value>
       </Row>
       <Row>
           <ModifierId>TRAIT_ADJACENT_DISTRICTS_CAMPUS_ADJACENCYSCIENCE</ModifierId>
           <Name>YieldType</Name>
           <Value>YIELD_SCIENCE</Value>
       </Row>
       <Row>
           <ModifierId>TRAIT_ADJACENT_DISTRICTS_CAMPUS_ADJACENCYSCIENCE</ModifierId>
           <Name>Amount</Name>
           <Value>1</Value>
       </Row>
       <Row>
           <ModifierId>TRAIT_ADJACENT_DISTRICTS_CAMPUS_ADJACENCYSCIENCE</ModifierId>
           <Name>Description</Name>
           <Value>LOC_DISTRICT_DISTRICT_1_SCIENCE</Value>
       </Row>
</ModifierArguments>
 
Back
Top Bottom