[GS] Specific Promotion

Riker13

King
Joined
Nov 9, 2001
Messages
859
Location
UK
Hi All,
I posted this in 2017 and received help in getting a promotion but not a specific one, I wondered if things have changed and anybody now knows how to do it.

From 2017 post
In Civ V, this is what was needed to give your unit a free starting promotion:
<Unit_FreePromotions>
<Row>
<UnitType>UNIT_RANGER</UnitType>
<PromotionType>PROMOTION_SCOUTING_1</PromotionType>
</Row>
</Unit_FreePromotions>

What does it in Civ 6? please.

Many Regards
Riker13:crazyeye:
 
There is no table Unit_FreePromotions in Civ 6, so you'll need to use a modifier to grant the promotion either using the EffectType "EFFECT_GRANT_PROMOTION" with the CollectionType "COLLECTION_PLAYER_UNITS" to create your own Dynamic Modifier or use the existing Dynamic Modifier - "MODIFIER_PLAYER_UNITS_GRANT_PROMOTION". From there replacing your custom names with the bolded parts:
INSERT INTO Modifiers
(ModifierId, ModifierType, SubjectRequirementSetId, Permanent, RunOnce)
VALUES ('Your Modifier', 'Your Dynamic Modifier', 'Requirement Set For Unit', 1, 0);

INSERT INTO ModifierArguments
(ModifierId, Name, Value)
VALUES ('Your Modifier', 'PromotionType', 'The Promotion You Want To Give');

INSERT INTO RequirementSetRequirements
(RequirementSetId, RequirementId)
VALUES ('Requirement Set For Unit', 'Unit Requirement');

INSERT INTO RequirementSets
(RequirementSetId, RequirementSetType)
VALUES ('Requirement Set For Unit', 'REQUIREMENTSET_TEST_ALL');

INSERT INTO Requirements
(RequirementId, RequirementType, Inverse)
VALUES ('Unit Requirement', 'REQUIREMENT_UNIT_TYPE_MATCHES', 0);

INSERT INTO RequirementArguments
(RequirementId, Name, Value)
VALUES ('Unit Requirement', 'UnitType', 'The unit type you want to give the promotion to');

You can also do it via Lua iirc, though I've never done it that way.
 
Back
Top Bottom