[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.
 

LeeS

Imperator
Joined
Jul 23, 2013
Messages
7,241
Location
Illinois, USA
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:

LeeS

Imperator
Joined
Jul 23, 2013
Messages
7,241
Location
Illinois, USA
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>
 

Lenin1870

Chieftain
Joined
Mar 16, 2013
Messages
50
Thanks! I fixed a ton of errors. But I don't test my mod yet in practice, so the issues can appear later.
 

Zagaroth

Chieftain
Joined
Nov 27, 2009
Messages
60
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