adarel
Chieftain
Hi everyone, this is a simple template for a narrative pop-up.
As in the other templates here, I declare the files to import to update the database in the .modinfo file:
This particular narrative is only active in Antiquity, and requires the player to be playing Catherine and have one chariot. It pops on that initial chariot acquisition.
Events with options are set as "linked" and require each option to be defined as types along with the parent story.
Text fields for Name/Description/Completion seem to be required (or at least standard) even when the fields are empty. For options, Description = Tooltip and will display a LOC code if no text is available.
I did not include rewards here, but examples can be found in the various narrative-stories files within the game's modules/.../data directories.
Have fun!
As in the other templates here, I declare the files to import to update the database in the .modinfo file:
Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="ada-narrative-test" version="1"
xmlns="ModInfo">
<Properties>
<Name>Ada's Civ7 Narrative Test</Name>
<Description>This is a simple narrative pop-up mod</Description>
<Authors>Adarel</Authors>
<Package>AdaMods</Package>
</Properties>
<Dependencies>
<Mod id="age-antiquity" title="LOC_MODULE_AGE_ANTIQUITY_NAME"/>
</Dependencies>
<ActionCriteria>
<Criteria id="antiquity-age-current">
<AgeInUse>AGE_ANTIQUITY</AgeInUse>
</Criteria>
<Criteria id="always">
<AlwaysMet></AlwaysMet>
</Criteria>
</ActionCriteria>
<ActionGroups>
<ActionGroup id="ada-narrative-test-actions" scope="game" criteria="antiquity-age-current">
<Actions>
<UpdateDatabase>
<Item>data/ada-narrative-stories.xml</Item>
<Item>data/ada-narrative-stories-gameeffects.xml</Item>
</UpdateDatabase>
<UpdateText>
<Item>text/en_us/ada-test.xml</Item>
</UpdateText>
</Actions>
</ActionGroup>
</ActionGroups>
<LocalizedText>
</LocalizedText>
</Mod>
This particular narrative is only active in Antiquity, and requires the player to be playing Catherine and have one chariot. It pops on that initial chariot acquisition.
Code:
<?xml version="1.0" encoding="utf-8"?>
<GameEffects xmlns="GameEffects">
<RequirementSet id="REQSET_ADA001_NARRATIVE_REQUISITE">
<Requirement xref="REQ_STORY_LEADER_CATHERINE"/>
</RequirementSet>
<RequirementSet id="REQSET_ADA001_NARRATIVE">
<Requirement xref="REQ_STORY_LEADER_CATHERINE"/>
<Requirement type="REQUIREMENT_PLAYER_HAS_AT_LEAST_NUM_UNIT_TYPE">
<Argument name="UnitType">UNIT_CHARIOT</Argument>
<Argument name="Amount">1</Argument>
</Requirement>
</RequirementSet>
</GameEffects>
Events with options are set as "linked" and require each option to be defined as types along with the parent story.
Code:
<Types>
<Row Type="ADA001" Kind="KIND_NARRATIVE_STORY"/>
<Row Type="ADA001A" Kind="KIND_NARRATIVE_STORY"/>
<Row Type="ADA001B" Kind="KIND_NARRATIVE_STORY"/>
</Types>
Text fields for Name/Description/Completion seem to be required (or at least standard) even when the fields are empty. For options, Description = Tooltip and will display a LOC code if no text is available.
Code:
<NarrativeStories>
<Row NarrativeStoryType="ADA001" Name="LOC_ADA001_NAME" Description="LOC_ADA001_DESCRIPTION" Completion="LOC_ADA001_COMPLETION" StoryTitle="LOC_ADA001_STORYTITLE" Age="AGE_ANTIQUITY" Activation="REQUISITE" RequirementSetId="REQSET_ADA001_NARRATIVE" ActivationRequirementSetId="REQSET_ADA001_NARRATIVE_REQUISITE" UIActivation="STANDARD"/>
<Row NarrativeStoryType="ADA001A" Name="LOC_ADA001A_NAME" Description="LOC_ADA001A_DESCRIPTION" Completion="LOC_ADA001A_COMPLETION" Age="AGE_ANTIQUITY" Activation="LINKED" Hidden="TRUE" RequirementSetId="Met" UIActivation="STANDARD"/>
<Row NarrativeStoryType="ADA001B" Name="LOC_ADA001B_NAME" Description="LOC_ADA001B_DESCRIPTION" Completion="LOC_ADA001B_COMPLETION" Age="AGE_ANTIQUITY" Activation="LINKED" Hidden="TRUE" RequirementSetId="Met" UIActivation="STANDARD"/>
</NarrativeStories>
I did not include rewards here, but examples can be found in the various narrative-stories files within the game's modules/.../data directories.
Have fun!
Attachments
Last edited: