[GS] Could you check SQL code of my Civ and Leader UA?

Lenin1870

Chieftain
Joined
Mar 16, 2013
Messages
50
Code:
-----------------------------------------------
-- Types
-----------------------------------------------

INSERT INTO    Types
        (Type,                                            Kind            )
VALUES    ('TRAIT_CIVILIZATION_SERVICE_CLUB_UA',            'KIND_TRAIT'    ),
        ('MODTYPE_SERVICE_CLUB_UA_PRODUCTION',          'KIND_MODIFIER' );

-----------------------------------------------
-- Traits
-----------------------------------------------

INSERT INTO    Traits  
        (TraitType,                                Name,                                            Description                                            )
VALUES    ('TRAIT_CIVILIZATION_SERVICE_CLUB_UA',    'LOC_TRAIT_CIVILIZATION_SERVICE_CLUB_UA_NAME',    'LOC_TRAIT_CIVILIZATION_SERVICE_CLUB_UA_DESCRIPTION'    );
       
-----------------------------------------------
-- CivilizationTraits
-----------------------------------------------

INSERT INTO    CivilizationTraits
        (CivilizationType,                TraitType                            )
VALUES    ('CIVILIZATION_SERVICE_CLUB',    'TRAIT_CIVILIZATION_SERVICE_CLUB_UA'    );

-----------------------------------------------
-- TraitModifiers
-----------------------------------------------

INSERT INTO    TraitModifiers  
        (TraitType,                                ModifierId                                        )
VALUES    ('TRAIT_CIVILIZATION_SERVICE_CLUB_UA',    'MODIFIER_SERVICE_CLUB_UA_PRODUCTION'        );

-----------------------------------------------
-- EmergencyBuffs
-----------------------------------------------

INSERT INTO    EmergencyBuffs (EmergencyType, ModifierId)
SELECT DISTINCT
        EmergencyType,
        'MODIFIER_SERVICE_CLUB_UA_PRODUCTION'
FROM    EmergencyAlliances;

-----------------------------------------------
-- DynamicModifiers
-----------------------------------------------

INSERT INTO    DynamicModifiers
        (ModifierType,                                    CollectionType,                    EffectType                                        )
VALUES    ('MODTYPE_SERVICE_CLUB_UA_PRODUCTION',    'COLLECTION_PLAYER_CITIES',        'EFFECT_ADJUST_BUILDING_YIELD_CHANGE'            );

-----------------------------------------------
-- Modifiers
-----------------------------------------------

INSERT INTO    Modifiers
        (ModifierId,                                ModifierType,                                   )
VALUES    ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',        'MODTYPE_SERVICE_CLUB_UA_PRODUCTION'           );

-----------------------------------------------
-- ModifierArguments
-----------------------------------------------

INSERT INTO    ModifierArguments
        (ModifierId,                                    Name,                            Value                                    )
VALUES    ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',            'YieldType',                    'YIELD_PRODUCTION'                        ),
        ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',            'Amount',                        50                                        ),

-----------------------------------------------
-- RequirementSets
-----------------------------------------------

INSERT INTO RequirementSets
        (RequirementSetId,                    RequirementSetType            )
VALUES    ('REQSET_SERVICE_CLUB_UA_IS_MEMBER',    'REQUIREMENTSET_TEST_ALL'    ),
        ('REQSET_SERVICE_CLUB_UA_IS_TARGET',    'REQUIREMENTSET_TEST_ALL'    );

-----------------------------------------------
-- RequirementSetRequirements
-----------------------------------------------

INSERT INTO RequirementSetRequirements
        (RequirementSetId,                    RequirementId                    )
VALUES    ('REQSET_SERVICE_CLUB_UA_IS_MEMBER',    'REQ_SERVICE_CLUB_UA_IS_MEMBER'    ),
        ('REQSET_SERVICE_CLUB_UA_IS_MEMBER',    'REQ_CVS_PLAYER_IS_CHIBAN'    ), -- Set in Civilization.sql
        ('REQSET_SERVICE_CLUB_UA_IS_TARGET',    'REQ_SERVICE_CLUB_UA_IS_TARGET'    ),
        ('REQSET_SERVICE_CLUB_UA_IS_TARGET',    'REQ_CVS_PLAYER_IS_CHIBAN'    ); -- Set in Civilization.sql

-----------------------------------------------
-- Requirements
-----------------------------------------------

INSERT INTO Requirements
        (RequirementId,                        RequirementType,                                    Inverse    )
VALUES    ('REQ_SERVICE_CLUB_UA_IS_MEMBER',    'REQUIREMENT_PLAYER_IS_EMERGENCY_TARGET',            1        ),
        ('REQ_SERVICE_CLUB_UA_IS_TARGET',    'REQUIREMENT_PLAYER_IS_EMERGENCY_TARGET',            0        );

Code:
-----------------------------------------------
-- Types
-----------------------------------------------

INSERT INTO    Types
        (Type,                                Kind            )
VALUES    ('TRAIT_LEADER_YUKINO_UA',    'KIND_TRAIT'    );

-----------------------------------------------
-- Traits
-----------------------------------------------

INSERT INTO    Traits
        (TraitType,                            Name,                                        Description                    )
VALUES    ('TRAIT_LEADER_YUKINO_UA',    'LOC_TRAIT_LEADER_YUKINO_UA_NAME',    'LOC_TRAIT_LEADER_YUKINO_UA_DESCRIPTION'    );

-----------------------------------------------
-- TraitModifiers
-----------------------------------------------

INSERT INTO    TraitModifiers
        (TraitType,                    ModifierId                          )
VALUES    ('TRAIT_LEADER_YUKINO_UA',    'TRAIT_YUKINO_GRANT_ABILITY'        ),
        ('TRAIT_LEADER_YUKINO_UA',    'TRAIT_YUKINO_DIPLOMATIC_FAVOR'     ),
        ('TRAIT_LEADER_YUKINO_UA',    'TRAIT_YUKINO_GREAT_PEOPLE_POINTS'  );
   
-----------------------------------------------
-- Modifiers
-----------------------------------------------

INSERT INTO    Modifiers
        (ModifierId,                         ModifierType,                                           SubjectRequirementSetId  )
VALUES    ('TRAIT_YUKINO_GRANT_ABILITY',         'MODIFIER_PLAYER_CITIES_ADJUST_CITY_YIELD_MODIFIER',  'PLAYER_HAS_LOW_CULTURE' ),
        ('TRAIT_YUKINO_GRANT_ABILITY',         'MODIFIER_PLAYER_CITIES_ADJUST_CITY_YIELD_MODIFIER',  'PLAYER_HAS_LOW_SCIENCE' ),
        ('TRAIT_YUKINO_DIPLOMATIC_FAVOR',    'MODIFIER_PLAYER_ADD_FAVOR',                          'PLAYER_HAS_GOLDEN_AGE'  ),
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'MODIFIER_PLAYER_ADJUST_GREAT_PERSON_POINTS_PERCENT', 'PLAYER_HAS_GOLDEN_AGE'  );

-----------------------------------------------
-- ModifierArguments
-----------------------------------------------

INSERT INTO    ModifierArguments
        (ModifierId,                         Name,                     Value  )
VALUES    ('TRAIT_YUKINO_GRANT_ABILITY',         'YieldType',            'Yield_SCIENCE' ),
        ('TRAIT_YUKINO_GRANT_ABILITY',         'YieldType',            'Yield_CULTURE' ),
        ('TRAIT_YUKINO_GRANT_ABILITY',         'Amount',               '10' ),
        ('TRAIT_YUKINO_DIPLOMATIC_FAVOR',    'Favor',                '1'  ),
        ('TRAIT_YUKINO_DIPLOMATIC_FAVOR',    'Amount',               '100'  ),
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_GENERAL'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_ADMIRAL'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_ENGINEER'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_MERCHANT'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_PROPHET'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_SCIENTIST'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_WRITER'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'Amount',               '100'  );
       
-----------------------------------------------
-- LeaderTraits
-----------------------------------------------

INSERT INTO    LeaderTraits
        (LeaderType,            TraitType                        )
VALUES    ('LEADER_YUKINO',    'TRAIT_LEADER_YUKINO_UA'    );

I materialize my idea through SQL and Civ 6's modifiers, but I think my codes may have some issue. I'll appreciate if you check syntax and functional errors.
The link of My idea about Yukino: https://forums.civfanatics.com/thre...concrete-my-hoping-function-using-lua.656291/
About the Service Club Civ idea :
When SC Civ is diplomatic emergency, all cities of SC Civ have 50% production bonus until end of emergency.
 
Syntax error (terminates with a comma and not a semi-colon)
Code:
INSERT INTO    ModifierArguments
        (ModifierId,                                    Name,                            Value                                    )
VALUES    ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',            'YieldType',                    'YIELD_PRODUCTION'                        ),
        ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',            'Amount',                        50                                        ),
I don't see yet where either of these two RequirementSets are being attached to a modifier as either a SubjectRequirmeentSetId or OwnerResquirementSetId
Code:
INSERT INTO RequirementSets
        (RequirementSetId,                    RequirementSetType            )
VALUES    ('REQSET_SERVICE_CLUB_UA_IS_MEMBER',    'REQUIREMENTSET_TEST_ALL'    ),
        ('REQSET_SERVICE_CLUB_UA_IS_TARGET',    'REQUIREMENTSET_TEST_ALL'    );
Numerous issues here because it is not allowed to repeat a combination of arguments for columns "ModifierId" and "Name" and because it is questionable whether the game will parse "Yield_SCIENCE" and "Yield_CULTURE" as being equal to "YIELD_SCIENCE" and "YIELD_CULTURE" (usually it does not)
Code:
INSERT INTO    ModifierArguments
        (ModifierId,                         Name,                     Value  )
VALUES    ('TRAIT_YUKINO_GRANT_ABILITY',         'YieldType',            'Yield_SCIENCE' ),
        ('TRAIT_YUKINO_GRANT_ABILITY',         'YieldType',            'Yield_CULTURE' ),
        ('TRAIT_YUKINO_GRANT_ABILITY',         'Amount',               '10' ),
        ('TRAIT_YUKINO_DIPLOMATIC_FAVOR',    'Favor',                '1'  ),
        ('TRAIT_YUKINO_DIPLOMATIC_FAVOR',    'Amount',               '100'  ),
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_GENERAL'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_ADMIRAL'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_ENGINEER'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_MERCHANT'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_PROPHET'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_SCIENTIST'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_WRITER'  );
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'Amount',               '100'  );
Similar issue here because every ModifierId added to table Modifiers must be unique and original to all others already added to the table
Code:
INSERT INTO    Modifiers
        (ModifierId,                         ModifierType,                                           SubjectRequirementSetId  )
VALUES    ('TRAIT_YUKINO_GRANT_ABILITY',         'MODIFIER_PLAYER_CITIES_ADJUST_CITY_YIELD_MODIFIER',  'PLAYER_HAS_LOW_CULTURE' ),
        ('TRAIT_YUKINO_GRANT_ABILITY',         'MODIFIER_PLAYER_CITIES_ADJUST_CITY_YIELD_MODIFIER',  'PLAYER_HAS_LOW_SCIENCE' ),
        ('TRAIT_YUKINO_DIPLOMATIC_FAVOR',    'MODIFIER_PLAYER_ADD_FAVOR',                          'PLAYER_HAS_GOLDEN_AGE'  ),
        ('TRAIT_YUKINO_GREAT_PEOPLE_POINTS', 'MODIFIER_PLAYER_ADJUST_GREAT_PERSON_POINTS_PERCENT', 'PLAYER_HAS_GOLDEN_AGE'  );
 
Last edited:
Also 'Favor' does not appear to be a valid argument for column 'Name' in table ModifierArguments. This is all the Goody Hut favor uses in that table
Code:
	<ModifierArguments>

		<Row>
			<ModifierId>GOODY_DIPLOMACY_GRANT_FAVOR</ModifierId>
			<Name>Amount</Name>
			<Value>20</Value>
		</Row>

	</ModifierArguments>
 
Thanks! I fixed a ton of errors. But I don't test my mod yet in practice, so the issues can appear later.
 
Hmm, OK, I'm new to this myself but it looks like you are missing something to me. I think that this:

Code:
INSERT INTO    Modifiers
       (ModifierId,                                ModifierType,                                   )
VALUES    ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',        'MODTYPE_SERVICE_CLUB_UA_PRODUCTION'           );

Should be this:

Code:
INSERT INTO    Modifiers
          (ModifierId,                                 ModifierType,                            OwnerRequirementSetId,                  SubjectRequirementSetId,                     RunOnce,    Permanent    )
VALUES    ('MODIFIER_SERVICE_CLUB_UA_PRODUCTION',      'MODTYPE_SERVICE_CLUB_UA_PRODUCTION',        'REQSET_SERVICE_CLUB_UA_IS_TARGET',        'REQSET_SERVICE_CLUB_UA_IS_MEMBER',        0,            0            );

Or close to that, which I believe is what LeeS is referring to. maybe reverse target and member from what I put down? I'm figuring out how to use these two fields myself for something I'm trying to do.
 
Top Bottom