• Our friends from AlphaCentauri2.info are in need of technical assistance. If you have experience with the LAMP stack and some hours to spare, please help them out and post here.

How enable to plant jungle ?

Lochwein

Chieftain
Joined
Apr 16, 2024
Messages
1
Hello, I am new to modding Civ. I would like to enable the ability to plant jungle for my personalized civ.

I tried using the modifier MODIFIER_PLAYER_ADJUST_FEATURE_UNLOCK, similar to the one used by Vietnam to enable its builders to plant forests. It works if you want to redefine a modifier to enable planting forests before Conservation (I included the corresponding code at the end).
I noticed that forests have the attribute "AddCivic" in Features.xml with the value "CIVIC_CONSERVATION". So, I chose a civic for jungle in the same way, but it does not work either.
I found that there is a UnitOperations linked to planting forests, so I created a UnitOperations based on that and also created the corresponding UnitOperations.artdef. It is supposed to be the same with FOREST resplace by JUNGLE even if I used the Asset Editor. However, this approach did not give satisfaction.

Does anyone have an idea about how to proceed?

Spoiler code :

SQL:
-- GameData1
-- Author: louis
-- DateCreated: 4/16/2024 9:35:32 PM
--------------------------------------------------------------
INSERT INTO Types
        (Type,                                            Kind               )
VALUES  ('TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS',    'KIND_TRAIT'       ),
        ('UNITOPERATION_MTGLL_PLANT_JUNGLE',            'KIND_UNITOPERATION' );

INSERT INTO Traits
        (TraitType,                                        Name,                                                    Description                                                     )
VALUES  ('TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS',    'LOC_TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS_NAME',    'LOC_TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS_DESCRIPTION'    );

INSERT INTO CivilizationTraits
        (CivilizationType,                    TraitType                                      )
VALUES  ('CIVILIZATION_MTGLL_MONO_GREEN',    'TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS'    );



INSERT INTO UnitOperations
        (OperationType,                         VisibleInUI,      HoldCycling,      CategoryInUI,    Icon,                                Description                                           )   
VALUES  ('UNITOPERATION_MTGLL_PLANT_JUNGLE',    1,                1,                'BUILD',        'ICON_UNITOPERATION_PLANT_FOREST',    'LOC_UNITOPERATION_MTGLL_PLANT_JUNGLE_DESCRIPTION'    );


INSERT INTO TraitModifiers
        (TraitType,                                        ModifierId                                                            )
VALUES  ('TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS',    'MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_JUNGLE_MEDIEVAL_FAIRES'        );


INSERT INTO Modifiers
        (ModifierId,                                                        ModifierType                              )
VALUES  ('MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_JUNGLE_MEDIEVAL_FAIRES',  'MODIFIER_PLAYER_ADJUST_FEATURE_UNLOCK'    );


INSERT INTO ModifierArguments
        (ModifierId,                                                        Name,            Value                    )
VALUES  ('MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_JUNGLE_MEDIEVAL_FAIRES',  'FeatureType',    'FEATURE_JUNGLE'         ),
        ('MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_JUNGLE_MEDIEVAL_FAIRES',  'CivicType',      'CIVIC_MEDIEVAL_FAIRES'  );
        

UPDATE Features SET AddCivic='CIVIC_MEDIEVAL_FAIRES' WHERE FeatureType='FEATURE_JUNGLE';   


INSERT INTO TraitModifiers
        (TraitType,                                        ModifierId                                                        )
VALUES  ('TRAIT_CIVILIZATION_MTGLL_ANCESTRAL_FORESTS',    'MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_FOREST_MEDIEVAL_FAIRES'    );

INSERT INTO Modifiers
        (ModifierId,                                                        ModifierType                              )
VALUES  ('MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_FOREST_MEDIEVAL_FAIRES',  'MODIFIER_PLAYER_ADJUST_FEATURE_UNLOCK'    );

INSERT INTO ModifierArguments
        (ModifierId,                                                         Name,             Value                    )
VALUES  ('MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_FOREST_MEDIEVAL_FAIRES',    'FeatureType',    'FEATURE_FOREST'         ),
        ('MODIFIER_MTGLL_ANCESTRAL_FORESTS_PLANT_FOREST_MEDIEVAL_FAIRES',    'CivicType',    'CIVIC_MEDIEVAL_FAIRES'    );




XML:
<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects..ArtDefSet>
    <m_Version>
        <major>1</major>
        <minor>0</minor>
        <build>0</build>
        <revision>0</revision>
    </m_Version>
    <m_TemplateName text="UnitOperations"/>
    <m_RootCollections>
        <Element>
            <m_CollectionName text="UnitOperation"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects..StringValue">
                            <m_Value text="PLANT_JUNGLE"/>
                            <m_ParamName text="Activity"/>
                        </Element>
                        <Element class="AssetObjects..StringValue">
                            <m_Value text=""/>
                            <m_ParamName text="TargetType"/>
                        </Element>
                        <Element class="AssetObjects..StringValue">
                            <m_Value text="ACTIVITY_DIG"/>
                            <m_ParamName text="DefaultTargetActivity"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="UNITOPERATION_MTGLL_PLANT_JUNGLE"/>
                <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
            </Element>
        </Element>
    </m_RootCollections>
</AssetObjects..ArtDefSet>
 
Back
Top Bottom