Help creating new leaders

BlackEmperor

Chieftain
Joined
Jan 7, 2017
Messages
82
Hi there,

I'm fairly new to the Civ series (started playing in November) and have recently started to mod the game. I've done some minor tweaks via xml files here and there and now I'd like to do some actual custom content, so I wanted to create two new leaders for the German civilization, Konrad Adenauer and Frederick the Great.

I've been using NV's Australia civilization as a base to learn both leader modding and SQL while I'm at it. So far so good. I'm having a few problems though and hope you guys can help me sort them out.

1.) I'm getting some weird syntax errors in the Database.log file and I just can't locate them because their locations are... well... pretty vague. This is my latest Database.log content:
Code:
[2047489.675] [Localization]: Validating Foreign Key Constraints...
[2047489.675] [Localization]: Passed Validation.
[2047489.851] [Configuration]: Validating Foreign Key Constraints...
[2047489.851] [Configuration]: Passed Validation.
[2047497.490] [FullTextSearch]: Initializing FullTextSearch
[2047499.369] [Gameplay]: Validating Foreign Key Constraints...
[2047499.384] [Gameplay]: Passed Validation.
[2047500.387] [Configuration]: Validating Foreign Key Constraints...
[2047500.387] [Configuration]: Passed Validation.
[2047552.562] [Configuration]: Validating Foreign Key Constraints...
[2047552.563] [Configuration]: Passed Validation.
[2047554.844] [Gameplay] ERROR: near "INSERT": syntax error
[2047554.871] [Gameplay]: Validating Foreign Key Constraints...
[2047554.886] [Gameplay]: Passed Validation.
[2047564.025] [FullTextSearch]: FTS - Creating Context
[2047564.898] [FullTextSearch]: FTS - Creating Context
[2047566.371] [FullTextSearch]: FTS - Creating Context
[2047634.751] [Configuration]: Validating Foreign Key Constraints...
[2047634.751] [Configuration]: Passed Validation.
[2047661.561] [Configuration]: Validating Foreign Key Constraints...
[2047661.562] [Configuration]: Passed Validation.
[2047663.230] [Gameplay] ERROR: near "INSERT": syntax error
[2047663.254] [Gameplay]: Validating Foreign Key Constraints...
[2047663.269] [Gameplay]: Passed Validation.
[2047675.494] [FullTextSearch]: FTS - Creating Context
[2047676.123] [FullTextSearch]: FTS - Creating Context
[2047677.038] [FullTextSearch]: FTS - Creating Context
[2048000.466] [FullTextSearch]: FullTextSearch - Shutting down
As you can see, getting syntax errors near "INSERT" isn't quite easy to solve in an SQL file (for me at least). I don't know what I've done wrong, I always use "INSERT INTO ... (...)" and some things do show up in the game, so I have no idea.

2.) The traits I've added for both leaders don't really work for some reason and I have no idea why. I don't think I missed any "tables" when I compare mine to those in NV's Australia mod.
Basically Frederick is supposed to get +50% experience for land units and a unique unit. Neither the unit shows up in the tech tree (or anywhere else), nor do land units gain more experience in combat.
Adenauer is supposed to get +2 Food and Production from Domestic trade routes, but when I build a new city and want to send a trade route there, I still only get the standard +1 Food and Production.

This is the content of my .modinfo file without the <Mod id="...."></Mod> stuff:
Spoiler :
Code:
<Properties>
        <Name>LOC_IM_MOD_NAME</Name>
       <Stability>Alpha</Stability>
        <Teaser>LOC_IM_MOD_TEASER</Teaser>
        <Description>LOC_IM_MOD_DESCRIPTION</Description>
        <Authors>LOC_IM_MOD_AUTHOR</Authors>
        <SpecialThanks>LOC_IM_MOD_THANKS</SpecialThanks>
    </Properties>
   <Files>
       <File>GermanLeaders.dep</File>
       <File>GermanLeaders/GermanLeaders.sql</File>
       <File>GermanLeaders/GermanLeadersConfig.sql</File>
       <File>GermanLeaders/GermanLeadersConfigText.xml</File>
       <File>GermanLeaders/GermanLeadersText.xml</File>
   </Files>
   
   <Components>
       <!--<UpdateDatabase id="GermanLeadersSQL">
           <Properties>
               <Name>LOC_GERMAN_LEADERS_SQL</Name>
           </Properties>
           <Items>
               <File>GermanLeaders/GermanLeaders.sql</File>
           </Items>
       </UpdateDatabase>-->
       <UpdateDatabase id="GermanLeaders">
           <Properties>
               <Name>LOC_GERMAN_LEADERS</Name>
           </Properties>
           <Items>
               <File>GermanLeaders/GermanLeaders.xml</File>
               <File>GermanLeaders/GermanLeaders.sql</File>
           </Items>
       </UpdateDatabase>
       <LocalizedText id="GermanLeadersLOC">
           <Properties>
               <Name>LOC_IM_MOD_LOCALE</Name>
           </Properties>
           <Items>
               <File>GermanLeaders/GermanLeadersText.xml</File>
           </Items>
       </LocalizedText>
       <ModArt id ="IM_ModArt">
           <Items>
               <File>GermanLeaders.dep</File>
           </Items>
       </ModArt>
    </Components>
   
   <Settings>
       <Custom id="GERMAN_LEADERS_CONFIG">
           <Items>
               <File>GermanLeaders/GermanLeadersConfig.sql</File>
           </Items>
       </Custom>
       <LocalizedText>
           <Properties>
               <Name>LOC_GERMAN_LEADERS_LOCALE</Name>
           </Properties>
           <Items>
               <File>GermanLeaders/GermanLeadersConfigText.xml</File>
           </Items>
       </LocalizedText>
   </Settings>
   
    <LocalizedText>
        <Text id="LOC_IM_MOD_NAME">
            <en_US>German Leaders 1.0</en_US>
        </Text>
       <Text id="LOC_IM_MOD_TEASER">
           <en_US>Adds Friedrich II and Konrad Adenauer.</en_US>
       </Text>
       <Text id="LOC_IM_MOD_DESCRIPTION">
            <en_US>Adds Friedrich II and Konrad Adenauer as leaders for Germany.</en_US>
        </Text>
       <Text id="LOC_IM_MOD_AUTHOR">
            <en_US>BlackEmperor</en_US>
        </Text>
       <Text id="LOC_IM_MOD_THANKS">
            <en_US>.</en_US>
        </Text>
    </LocalizedText>

And this is the content of my sql file:
Spoiler :
Code:
--Civ Leaders--
INSERT INTO CivilizationLeaders (CivilizationType, LeaderType, CapitalName)
VALUES   ('CIVILIZATION_GERMANY', 'LEADER_FRITZ', 'LOC_CITY_NAME_BERLIN'),
       ('CIVILIZATION_GERMANY', 'LEADER_ADENAUER', 'LOC_CITY_NAME_BONN');

--Colors--
INSERT INTO PlayerColors (Type, Usage, PrimaryColor, SecondaryColor, TextColor)
VALUES   ('LEADER_FRITZ', 'Unique', 'COLOR_PLAYER_FRITZ_PRIMARY', 'COLOR_PLAYER_FRITZ_SECONDARY', 'COLOR_PLAYER_WHITE_TEXT'),
       ('LEADER_ADENAUER', 'Unique', 'COLOR_PLAYER_ADENAUER_PRIMARY', 'COLOR_PLAYER_ADENAUER_SECONDARY', 'COLOR_PLAYER_WHITE_TEXT');

INSERT INTO Colors (Type, Red, Green, Blue, Alpha)
VALUES   ('COLOR_PLAYER_FRITZ_PRIMARY', 0.000, 0.1922, 0.3255, 1),
       ('COLOR_PLAYER_FRITZ_SECONDARY', 0.702, 0.702, 0.702, 1),
       ('COLOR_PLAYER_ADENAUER_PRIMARY', 0.4588, 0.5529, 0.6235, 1),
       ('COLOR_PLAYER_ADENAUER_SECONDARY', 0.2392, 0.3216, 0.3843, 1);

--Leaders--
INSERT INTO Types (Type, Kind)
VALUES   ('LEADER_FRITZ', 'KIND_LEADER'),
       ('LEADER_ADENAUER', 'KIND_LEADER'),
       ('TRAIT_LEADER_PRUSSIAN_VIRTUES', 'KIND_TRAIT'),
       ('TRAIT_LEADER_UNIT_GERMAN_JAGER', 'KIND_TRAIT'),
       ('TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'KIND_TRAIT');

INSERT INTO Leaders (LeaderType, Name, InheritFrom, SceneLayers)
VALUES   ('LEADER_FRITZ', 'LOC_LEADER_FRITZ_NAME', 'LEADER_DEFAULT', '4'),
       ('LEADER_ADENAUER', 'LOC_LEADER_ADENAUER_NAME', 'LEADER_DEFAULT', '4');

INSERT INTO LeaderQuotes (LeaderType, Quote, QuoteAudio)
VALUES   ('LEADER_FRITZ', 'LOC_PEDIA_LEADERS_PAGE_LEADER_FRITZ_QUOTE', NULL),
       ('LEADER_ADENAUER', 'LOC_PEDIA_LEADERS_PAGE_LEADER_ADENAUER_QUOTE', NULL);

INSERT INTO Agendas (AgendaType, Name, Description)
VALUES   ('AGENDA_ENLIGHTENED_ABSOLUTIST', 'LOC_AGENDA_ENLIGHTENED_ABSOLUTIST_NAME', 'LOC_AGENDA_ENLIGHTENED_ABSOLUTIST_DESCRIPTION'),
       ('AGENDA_LIBERAL_ECONOMIST', 'LOC_AGENDA_LIBERAL_ECONOMIST_NAME', 'LOC_AGENDA_LIBERAL_ECONOMIST_DESCRIPTION');

INSERT INTO HistoricalAgendas (LeaderType, AgendaType)
VALUES   ('LEADER_FRITZ', 'AGENDA_ENLIGHTENED_ABSOLUTIST'),
       ('LEADER_ADENAUER', 'AGENDA_LIBERAL_ECONOMIST');

INSERT INTO AiListTypes (ListType)
VALUES   ('FritzCivics'),
       ('FritzTechs'),
       ('FritzWonders'),
       ('AdenauerCivics'),
       ('AdenauerTechs'),
       ('AdenauerWonders');

INSERT INTO AiLists (ListType, LeaderType, System)
VALUES   ('FritzCivics', 'TRAIT_LEADER_PRUSSIAN_VIRTUES', 'Civics'),
       ('FritzTechs', 'TRAIT_LEADER_PRUSSIAN_VIRTUES', 'Technologies'),
       ('FritzWonders', 'TRAIT_LEADER_PRUSSIAN_VIRTUES', 'Buildings'),
       ('AdenauerCivics', 'TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'Civics'),
       ('AdenauerTechs', 'TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'Technologies'),
       ('AdenauerWonders', 'TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'Buildings');

INSERT INTO AiFavoredItems (ListType, Item, Favored, Value)
VALUES   ('FritzCivics', 'CIVIC_CRAFTMANSHIP', '1', '0'),
       ('FritzCivics', 'CIVIC_FOREIGN_TRADE', '1', '0'),
       ('FritzCivics', 'CIVIC_MILITARY_TRADITION', '1', '0'),
       ('FritzCivics', 'CIVIC_STATE_WORKFORCE', '1', '0'),
       ('FritzCivics', 'CIVIC_EARLY_EMPIRE', '1', '0'),
       ('FritzCivics', 'CIVIC_POLITICAL_PHILOSOPHY', '1', '0'),
       ('FritzCivics', 'CIVIC_DRAMA_POETRY', '1', '0'),
       ('FritzCivics', 'CIVIC_MILITARY_TRAINING', '1', '0'),
       ('FritzCivics', 'CIVIC_DEFENSIVE_TACTICS', '1', '0'),
       ('FritzCivics', 'CIVIC_RECORDED_HISTORY', '1', '0'),
       ('FritzCivics', 'CIVIC_FEUDALISM', '1', '0'),
       ('FritzCivics', 'CIVIC_CIVIL_SERVICE', '1', '0'),
       ('FritzCivics', 'CIVIC_GUILDS', '1', '0'),
       ('FritzCivics', 'CIVIC_DIVINE_RIGHT', '1', '0'),
       ('FritzCivics', 'CIVIC_HUMANISM', '1', '0'),
       ('FritzCivics', 'CIVIC_DIPLOMATIC_SERVICE', '1', '0'),
       ('FritzCivics', 'CIVIC_THE_ENLIGHTENMENT', '1', '0'),
       ('FritzCivics', 'CIVIC_CIVIL_ENGINEERING', '1', '0'),
       ('FritzCivics', 'CIVIC_NATIONALISM', '1', '0'),
       ('FritzCivics', 'CIVIC_URBANIZATION', '1', '0'),
       ('FritzCivics', 'CIVIC_MOBILIZATION', '1', '0'),
       ('FritzCivics', 'CIVIC_IDEOLOGY', '1', '0'),
       ('AdenauerCivics', 'CIVIC_CRAFTMANSHIP', '1', '0'),
       ('AdenauerCivics', 'CIVIC_FOREIGN_TRADE', '1', '0'),
       ('AdenauerCivics', 'CIVIC_STATE_WORKFORCE', '1', '0'),
       ('AdenauerCivics', 'CIVIC_EARLY_EMPIRE', '1', '0'),
       ('AdenauerCivics', 'CIVIC_POLITICAL_PHILOSOPHY', '1', '0'),
       ('AdenauerCivics', 'CIVIC_DRAMA_POETRY', '1', '0'),
       ('AdenauerCivics', 'CIVIC_RECORDED_HISTORY', '1', '0'),
       ('AdenauerCivics', 'CIVIC_FEUDALISM', '1', '0'),
       ('AdenauerCivics', 'CIVIC_CIVIL_SERVICE', '1', '0'),
       ('AdenauerCivics', 'CIVIC_MEDIEVAL_FAIRES', '1', '0'),
       ('AdenauerCivics', 'CIVIC_GUILDS', '1', '0'),
       ('AdenauerCivics', 'CIVIC_HUMANISM', '1', '0'),
       ('AdenauerCivics', 'CIVIC_EXPLORATION', '1', '0'),
       ('AdenauerCivics', 'CIVIC_DIPLOMATIC_SERVICE', '1', '0'),
       ('AdenauerCivics', 'CIVIC_MERCANTILISM', '1', '0'),
       ('AdenauerCivics', 'CIVIC_THE_ENLIGHTENMENT', '1', '0'),
       ('AdenauerCivics', 'CIVIC_CIVIL_ENGINEERING', '1', '0'),
       ('AdenauerCivics', 'CIVIC_URBANIZATION', '1', '0'),
       ('AdenauerCivics', 'CIVIC_NATURAL_HISTORY', '1', '0'),
       ('AdenauerCivics', 'CIVIC_CONSERVATION', '1', '0'),
       ('AdenauerCivics', 'CIVIC_CAPITALISM', '1', '0'),
       ('AdenauerCivics', 'CIVIC_SUFFRAGE', '1', '0'),
       ('AdenauerCivics', 'CIVIC_COLD_WAR', '1', '0'),
       ('AdenauerCivics', 'CIVIC_CULTURAL_HERITAGE', '1', '0'),
       ('FritzTechs', 'TECH_APPRENTICESHIP', '1', '0'),
       ('FritzTechs', 'TECH_EDUCATION', '1', '0'),
       ('FritzTechs', 'TECH_GUNPOWDER', '1', '0'),
       ('FritzTechs', 'TECH_INDUSTRIALIZATION', '1', '0'),
       ('FritzTechs', 'TECH_MILITARY_SCIENCE', '1', '0'),
       ('FritzTechs', 'TECH_ELECTRICITY', '1', '0'),
       ('FritzTechs', 'TECH_ROCKETRY', '1', '0'),
       ('AdenauerTechs', 'TECH_APPRENTICESHIP', '1', '0'),
       ('AdenauerTechs', 'TECH_ELECTRICITY', '1', '0'),
       ('FritzWonders', 'BUILDING_RUHR_VALLEY', '1', '0'),
       ('FritzWonders', 'BUILDING_TERRACOTTA_ARMY', '1', '0'),
       ('FritzWonders', 'BUILDING_OXFORD_UNIVERSITY', '1', '0'),
       ('AdenauerWonders', 'BUILDING_RUHR_VALLEY', '1', '0'),
       ('AdenauerWonders', 'BUILDING_COLOSSUS', '1', '0'),
       ('AdenauerWonders', 'BUILDING_BIG_BEN', '1', '0'),
       ('AdenauerWonders', 'BUILDING_GREAT_ZIMBABWE', '1', '0');

INSERT INTO LeaderTraits (LeaderType, TraitType)
VALUES   ('LEADER_FRITZ', 'TRAIT_LEADER_PRUSSIAN_VIRTUES'),
       ('LEADER_FRITZ', 'TRAIT_LEADER_UNIT_GERMAN_JAGER'),
       ('LEADER_ADENAUER', 'TRAIT_LEADER_WIRTSCHAFTSWUNDER');

INSERT INTO Traits (TraitType, Name, Description)
VALUES   ('TRAIT_LEADER_PRUSSIAN_VIRTUES', 'LOC_TRAIT_LEADER_PRUSSIAN_VIRTUES_NAME', 'LOC_TRAIT_LEADER_PRUSSIAN_VIRTUES_DESCRIPTION'),
       ('TRAIT_LEADER_UNIT_GERMAN_JAGER', 'LOC_TRAIT_LEADER_UNIT_GERMAN_JAGER_NAME', 'LOC_TRAIT_LEADER_UNIT_GERMAN_JAGER_DESCRIPTION'),
       ('TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'LOC_TRAIT_LEADER_WIRTSCHAFTSWUNDER_NAME', 'LOC_TRAIT_LEADER_WIRTSCHAFTSWUNDER_DESCRIPTION');

--Agendas--
INSERT INTO Types (Type, Kind)
VALUES   ('TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST', 'KIND_TRAIT'),
       ('TRAIT_AGENDA_LIBERAL_ECONOMIST', 'KIND_TRAIT');

INSERT INTO AiListTypes (ListType)
VALUES   ('AbsolutistSciencePreference'),
       ('AbsolutistCulturePreference'),
       ('EconomistProductionPreference');

INSERT INTO AiLists (ListType, AgendaType, System)
VALUES   ('AbsolutistSciencePreference', 'TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST', 'YIELD_SCIENCE'),
       ('AbsolutistCulturePreference', 'TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST', 'YIELD_CULTURE'),
       ('EconomistProductionPreference', 'TRAIT_AGENDA_LIBERAL_ECONOMIST', 'YIELD_PRODUCTION'),

INSERT INTO AiFavoredItems (ListType, Item, Favored, Value)
VALUES   ('AbsolutistSciencePreference', 'YIELD_SCIENCE', '1', '10'),
       ('AbsolutistCulturePreference', 'YIELD_CULTURE', '1', '10'),
       ('EconomistProductionPreference', 'YIELD_PRODUCTION', '1', '20');

INSERT INTO Traits (TraitType, Name, Description)
VALUES   ('TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST', 'LOC_PLACEHOLDER', 'LOC_PLACEHOLDER'),
       ('TRAIT_AGENDA_LIBERAL_ECONOMIST', 'LOC_PLACEHOLDER', 'LOC_PLACEHOLDER');

INSERT INTO ExclusiveAgendas (AgendaOne, AgendaTwo)
VALUES   ('AGENDA_ENLIGHTENED_ABSOLUTIST', 'AGENDA_CULTURED'),
       ('AGENDA_ENLIGHTENED_ABSOLUTIST', 'AGENDA_STANDING_ARMY'),
       ('AGENDA_ENLIGHTENED_ABSOLUTIST', 'AGENDA_TECHNOPHILE'),
       ('AGENDA_LIBERAL_ECONOMIST', 'AGENDA_INDUSTRIALIST');

INSERT INTO AgendaPreferredLeaders (AgendaType, LeaderType)
VALUES   ('AGENDA_IDEOLOGUE', 'LEADER_ADENAUER');

INSERT INTO AgendaTraits (AgendaType, TraitType)
VALUES   ('AGENDA_ENLIGHTENED_ABSOLUTIST', 'TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST'),
       ('AGENDA_LIBERAL_ECONOMIST', 'TRAIT_AGENDA_LIBERAL_ECONOMIST');

INSERT INTO ModifierStrings (ModifierId, Context, Text)
VALUES   ('AGENDA_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY', 'Sample', 'LOC_TOOLTIP_SAMPLE_DIPLOMACY_ALL'),
       ('AGENDA_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY', 'Sample', 'LOC_TOOLTIP_SAMPLE_DIPLOMACY_ALL'),
       ('AGENDA_ECONOMIST_HIGH_PRODUCTION', 'Sample', 'LOC_TOOLTIP_SAMPLE_DIPLOMACY_ALL'),
       ('AGENDA_ECONOMIST_LOW_PRODUCTION', 'Sample', 'LOC_TOOLTIP_SAMPLE_DIPLOMACY_ALL');

INSERT INTO ModifierArguments (ModifierId, Name, Value)
VALUES   ('AGENDA_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY', 'InitialValue', '8'),
       ('AGENDA_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY', 'StatementKey', 'LOC_DIPLO_KUDO_LEADER_FRITZ_REASON_ANY'),
       ('AGENDA_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY', 'StatementModifierDescription', 'LOC_DIPLO_MODIFIER_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY'),
       ('AGENDA_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY', 'InitialValue', '-8'),
       ('AGENDA_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY', 'StatementKey', 'LOC_DIPLO_WARNING_LEADER_FRITZ_REASON_ANY'),
       ('AGENDA_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY', 'StatementModifierDescription', 'LOC_DIPLO_MODIFIER_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY'),
       ('AGENDA_ECONOMIST_HIGH_PRODUCTION', 'InitialValue', '6'),
       ('AGENDA_ECONOMIST_HIGH_PRODUCTION', 'StatementKey', 'LOC_DIPLO_KUDO_LEADER_ADENAUER_REASON_ANY'),
       ('AGENDA_ECONOMIST_HIGH_PRODUCTION', 'StatementModifierDescription', 'LOC_DIPLO_MODIFIER_ECONOMIST_HIGH_PRODUCTION'),
       ('AGENDA_ECONOMIST_LOW_PRODUCTION', 'InitialValue', '-6'),
       ('AGENDA_ECONOMIST_LOW_PRODUCTION', 'StatementKey', 'LOC_DIPLO_WARNING_LEADER_ADENAUER_REASON_ANY'),
       ('AGENDA_ECONOMIST_LOW_PRODUCTION', 'StatementModifierDescription', 'LOC_DIPLO_MODIFIER_ECONOMIST_LOW_PRODUCTION');

--Units--
INSERT INTO Types (Type, Kind)
VALUES   ('UNIT_GERMAN_JAGER', 'KIND_UNIT');

INSERT INTO UnitAiInfos (UnitType, AiType)
VALUES   ('UNIT_GERMAN_JAGER', 'UNITAI_COMBAT'),
       ('UNIT_GERMAN_JAGER', 'UNITAI_EXPLORE'),
       ('UNIT_GERMAN_JAGER', 'UNITTYPE_MELEE'),
       ('UNIT_GERMAN_JAGER', 'UNITTYPE_LAND_COMBAT');

INSERT INTO UnitReplaces (CivUniqueUnitType, ReplacesUnitType)
VALUES   ('UNIT_GERMAN_JAGER', 'UNIT_INFANTRY');

INSERT INTO Tags (Tag, Vocabulary)
VALUES   ('CLASS_JAGER', 'ABILITY_CLASS');

INSERT INTO TypeTags (Type, Tag)
VALUES   ('UNIT_GERMAN_JAGER', 'CLASS_MELEE');
       ('UNIT_GERMAN_JAGER', 'CLASS_JAGER');

INSERT INTO Units (UnitType, BaseMoves, Cost, AdvisorType, BaseSightRange, ZoneOfControl, Domain, FormationClass, Name, Description, PurchaseYield, PseudoYieldType, PromotionClass, Maintenance, Combat, RangedCombat, Range, TraitType, PrereqTech)
VALUES   ('UNIT_GERMAN_JAGER', '2', '340', 'ADVISOR_CONQUEST', '2', '1', 'DOMAIN_LAND', 'FORMATION_CLASS_LAND_COMBAT', 'LOC_UNIT_GERMAN_JAGER_NAME', 'LOC_UNIT_GERMAN_JAGER_DESCRIPTION', 'YIELD_GOLD', NULL, 'PROMOTION_CLASS_MELEE', '5', '65', '0', '0', 'TRAIT_LEADER_UNIT_GERMAN_JAGER', 'TECH_MILITARY_SCIENCE');

INSERT INTO UnitUpgrades (Unit, UpgradeUnit)
VALUES   ('UNIT_GERMAN_JAGER', 'UNIT_MECHANIZED_INFANTRY');

--UnitAbilities--
INSERT INTO Types (Type, Kind)
VALUES   ('ABILITY_JAGER_MOVEMENT', 'KIND_ABILITY'),
       ('ABILITY_JAGER_COMBAT', 'KIND_ABILITY');

INSERT INTO TypeTags (Type, Tag)
VALUES   ('ABILITY_JAGER_MOVEMENT', 'CLASS_JAGER'),
       ('ABILITY_JAGER_COMBAT', 'CLASS_JAGER');

INSERT INTO UnitAbilities (UnitAbilityType, Name, Description)
VALUES   ('ABILITY_JAGER_MOVEMENT', 'LOC_ABILITY_JAGER_MOVEMENT_NAME', 'LOC_ABILITY_JAGER_MOVEMENT_DESCRIPTION'),
       ('ABILITY_JAGER_COMBAT', 'LOC_ABILITY_JAGER_COMBAT_NAME', 'LOC_ABILITY_JAGER_COMBAT_DESCRIPTION');

INSERT INTO UnitAbilityModifiers (UnitAbilityType, ModifierId)
VALUES   ('ABILITY_JAGER_MOVEMENT', 'JAGER_MOVEMENT_FOREST'),
       ('ABILITY_JAGER_MOVEMENT', 'JAGER_MOVEMENT_HILLS'),
       ('ABILITY_JAGER_COMBAT', 'JAGER_COMBAT');

--Modifiers--
INSERT INTO TraitModifiers (TraitType, ModifierId)
VALUES   ('TRAIT_LEADER_PRUSSIAN_VIRTUES', 'TRAIT_INCREASE_OWNER_LAND_XP'),
       ('TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'TRAIT_DOMESTIC_TRADE_ROUTE_FOOD_BOOST'),
       ('TRAIT_LEADER_WIRTSCHAFTSWUNDER', 'TRAIT_DOMESTIC_TRADE_ROUTE_PRODUCTION_BOOST'),
       ('TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST', 'AGENDA_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY'),
       ('TRAIT_AGENDA_ENLIGHTENED_ABSOLUTIST', 'AGENDA_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY'),
       ('TRAIT_AGENDA_LIBERAL_ECONOMIST', 'AGENDA_ECONOMIST_HIGH_PRODUCTION'),
       ('TRAIT_AGENDA_LIBERAL_ECONOMIST', 'AGENDA_ECONOMIST_LOW_PRODUCTION');

INSERT INTO Modifiers (ModifierId, ModifierType, SubjectRequirementSetId)
VALUES   ('TRAIT_INCREASE_OWNER_LAND_XP', 'MODIFIER_PLAYER_UNITS_ADJUST_UNIT_EXPERIENCE_MODIFIER', 'REQUIREMENTS_UNIT_LAND_DOMAIN'),
       ('TRAIT_DOMESTIC_TRADE_ROUTE_FOOD_BOOST', 'MODIFIER_PLAYER_ADJUST_TRADE_ROUTE_YIELD_FOR_DOMESTIC', NULL),
       ('TRAIT_DOMESTIC_TRADE_ROUTE_PRODUCTION_BOOST', 'MODIFIER_PLAYER_ADJUST_TRADE_ROUTE_YIELD_FOR_DOMESTIC', NULL),
       ('AGENDA_ABSOLUTIST_HIGH_SCIENCE_CULTURE_MILITARY', 'MODIFIER_PLAYER_DIPLOMACY_SIMPLE_MODIFIER', 'PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY'),
       ('AGENDA_ABSOLUTIST_LOW_SCIENCE_CULTURE_MILITARY', 'MODIFIER_PLAYER_DIPLOMACY_SIMPLE_MODIFIER', 'PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY'),
       ('AGENDA_ECONOMIST_HIGH_PRODUCTION', 'MODIFIER_PLAYER_DIPLOMACY_SIMPLE_MODIFIER', 'PLAYER_HAS_HIGH_INDUSTRY'),
       ('AGENDA_ECONOMIST_LOW_PRODUCTION', 'MODIFIER_PLAYER_DIPLOMACY_SIMPLE_MODIFIER', 'PLAYER_HAS_LOW_INDUSTRY'),
       ('JAGER_MOVEMENT_FOREST', 'MODIFIER_PLAYER_UNIT_ADJUST_IGNORE_TERRAIN_COST', NULL),
       ('JAGER_MOVEMENT_HILLS', 'MODIFIER_PLAYER_UNIT_ADJUST_IGNORE_TERRAIN_COST', NULL),
       ('JAGER_COMBAT', 'MODIFIER_UNIT_ADJUST_COMBAT_STRENGTH', 'REQUIREMENTS_JAGER_COMBAT');

INSERT INTO ModifierArguments (ModifierId, Name, Value)
VALUES   ('TRAIT_INCREASE_OWNER_LAND_XP', 'Amount', '50'),
       ('TRAIT_DOMESTIC_TRADE_ROUTE_FOOD_BOOST', 'YieldType', 'YIELD_FOOD'),
       ('TRAIT_DOMESTIC_TRADE_ROUTE_FOOD_BOOST', 'Amount', '2'),
       ('TRAIT_DOMESTIC_TRADE_ROUTE_PRODUCTION_BOOST', 'YieldType', 'YIELD_PRODUCTION'),
       ('TRAIT_DOMESTIC_TRADE_ROUTE_PRODUCTION_BOOST', 'Amount', '2'),
       ('JAGER_COMBAT', 'Amount', '10'),
       ('JAGER_MOVEMENT_FOREST', 'Ignore', 'true'),
       ('JAGER_MOVEMENT_FOREST', 'Type', 'FOREST'),
       ('JAGER_MOVEMENT_HILLS', 'Ignore', 'true'),
       ('JAGER_MOVEMENT_HILLS', 'Type', 'HILLS');

INSERT INTO RequirementSets (RequirementSetId, RequirementSetType)
VALUES   ('PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY', 'REQUIREMENTSET_TEST_ALL'),
       ('PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY', 'REQUIREMENTSET_TEST_ALL'),
       ('REQUIREMENTS_JAGER_COMBAT', 'REQUIREMENTSET_TEST_ALL'),
       ('REQUIREMENTS_JAGER_TERRAIN_COMBAT', 'REQUIREMENTSET_TEST_ANY');

INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES   ('PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY', 'REQUIRES_HAS_HIGH_SCIENCE'),
       ('PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY', 'REQUIRES_HAS_HIGH_CULTURE'),
       ('PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY', 'REQUIRES_HAS_HIGH_STANDING_ARMY'),
       ('PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY', 'REQUIRES_MAJOR_CIV_OPPONENT'),
       ('PLAYER_HAS_HIGH_SCIENCE_CULTURE_MILITARY', 'REQUIRES_MET_30_TURNS_AGO'),
       ('PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY', 'REQUIRES_HAS_LOW_SCIENCE'),
       ('PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY', 'REQUIRES_HAS_LOW_CULTURE'),
       ('PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY', 'REQUIRES_HAS_LOW_STANDING_ARMY'),
       ('PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY', 'REQUIRES_MAJOR_CIV_OPPONENT'),
       ('PLAYER_HAS_LOW_SCIENCE_CULTURE_MILITARY', 'REQUIRES_MET_30_TURNS_AGO'),
       ('REQUIREMENTS_JAGER_COMBAT', 'PLAYER_IS_DEFENDER_REQUIREMENTS'),
       ('REQUIREMENTS_JAGER_COMBAT', 'REQUIRES_JAGER_TERRAIN_COMBAT_REQUIREMENTS_MET'),
       ('REQUIREMENTS_JAGER_TERRAIN_COMBAT', 'PLOT_IS_FOREST_REQUIREMENT'),
       ('REQUIREMENTS_JAGER_TERRAIN_COMBAT', 'PLOT_IS_JUNGLE_REQUIREMENT'),
       ('REQUIREMENTS_JAGER_TERRAIN_COMBAT', 'PLOT_IS_HILLS_REQUIREMENT');
       
INSERT INTO Requirements (RequirementId, RequirementType)
VALUES   ('REQUIRES_JAGER_TERRAIN_COMBAT_REQUIREMENTS_MET', 'REQUIREMENT_REQUIREMENTSET_IS_MET');

INSERT INTO RequirementArguments (RequirementId, Name, Value)
VALUES   ('REQUIRES_JAGER_TERRAIN_COMBAT_REQUIREMENTS_MET', 'RequirementSetId', 'REQUIREMENTS_JAGER_TERRAIN_COMBAT');
(Or should I rather upload these two files?)
Perhaps someone with more knowledge than me could spot some errors. I'm at a loss right now.
I'm doing my edits via Notepad++ by the way, should that have any negative effect on my modding experience. Are there better tools available?
 
Top Bottom