For those interested in doing this themselves, there are 2 ways to do it. One is to make your own mod. I haven't done that yet but plan on doing it once I get a stable, balanced mod that I'm happy with. The other is to edit the files in the CEP mod. For this particular naval change (and actually all naval changes that I play with), here's what you need to do.
In the file CEG/Text/EN_US/Armies.sql find the code related to the Naval Recon 1 & Naval Recon 2 promotions. Replace it with this:
In the file CEG/Armies/CEA_Start.sql find the code dealing with the cost of frigates. In my file it's line 91. Change the Cost to Cost= Cost * 0.779. That numerical value will set it to be the same as it is for Galleons. I ran the math to discover the right value for that. Also, if you want to lower the cost of Submarines, I set the Cost of Submarines to Cost=Cost*0.648. This is just a number I guessed at. It lowers it to be below Destroyers and felt about right.
Also, in the same CEA_Start.sql file insert this code somewhere:
That will give the Naval Recon 1 promotion to advanced ships. I simply renamed this promotion to that modern ship promotion in the text files. It's sloppy, but easier to do that creating a brand new promotion from scratch. The text file edit above makes sure that you don't see what's going on behind the scenes when you play.
In the file CEG/Armies/CEA_Upgrades.sql find the code dealing with upgrading destroyers to carriers and carriers to missile destroyers. Change it to this:
That fixes that little error you were asking about.
In the file CEG/Armies/Promotions/CEA_Ships.xml find the Naval Siege promotion and update it to say this:
All that does is change the prerequisites for it making it dependent on Bombardment 3 instead of being so easily available. I like having such a powerful promotion come much later and not be such a gimme, but that's personal taste.
Find the Naval Recon 1 promotion in the same file. Change it to this to transform it to a Modern Ship promotion that is unearnable:
Next, it's the Naval Recon 2 promotion. It needs to be transformed into just a Naval Recon promotion. This code removes it requiring Naval Recon 1. It also removes the ability for those ships to withdraw from combat. You can leave that if you like, but I was never a fan of it:
Next, it's creating a brand new promotion from scratch. I put this code just below the Naval Recon 2 code. It creates that Naval Supply promotion (also the edit to the text file creates it too, which was the 1st edit here). Insert this code somewhere in the CEA_Ships.xml file:
Next, near the bottom of the file there's a section editing the UnitPromotions_UnitCombats table. This table affects which types of units receive which promotions. Add this code just below the code dealing with the Targeting 3 promotion:
That piece of code makes sure that the Naval Supply promotion goes to both Naval Melee units and Naval Ranged units.
Those are all of the changes that I've been playing with with navies. There's a ton of other ones, but that's it for navies.
In the file CEG/Text/EN_US/Armies.sql find the code related to the Naval Recon 1 & Naval Recon 2 promotions. Replace it with this:
Code:
INSERT INTO Cep_Language_EN_US (DateModified, Tag, Text, Gender, Plurality) VALUES (date('2013-01-18'), 'TXT_KEY_PROMOTION_NAVAL_RECON_1', 'Modern Navy Supply', '', '');
INSERT INTO Cep_Language_EN_US (DateModified, Tag, Text, Gender, Plurality) VALUES (date('2013-01-18'), 'TXT_KEY_PROMOTION_NAVAL_RECON_1_HELP', '[ICON_HEAL] Can [COLOR_POSITIVE_TEXT]heal[ENDCOLOR] outside friendly territory', '', '');
INSERT INTO Cep_Language_EN_US (DateModified, Tag, Text, Gender, Plurality) VALUES (date('2013-01-18'), 'TXT_KEY_PROMOTION_NAVAL_RECON_2', 'Naval Recon', '', '');
INSERT INTO Cep_Language_EN_US (DateModified, Tag, Text, Gender, Plurality) VALUES (date('2013-01-18'), 'TXT_KEY_PROMOTION_NAVAL_RECON_2_HELP', '[ICON_DETECT] +1 Sight[NEWLINE][ICON_MOVES] +1 Movement', '', '');
/* NEW */
INSERT INTO Cep_Language_EN_US (DateModified, Tag, Text, Gender, Plurality) VALUES (date('2013-01-18'), 'TXT_KEY_PROMOTION_NAVAL_SUPPLY', 'Naval Supply', '', '');
INSERT INTO Cep_Language_EN_US (DateModified, Tag, Text, Gender, Plurality) VALUES (date('2013-01-18'), 'TXT_KEY_PROMOTION_NAVAL_SUPPLY_HELP', '[ICON_HEAL] +10 Healing in Friendly, Neutral, or Enemy Territory.[NEWLINE]', '', '');
/* END NEW */
In the file CEG/Armies/CEA_Start.sql find the code dealing with the cost of frigates. In my file it's line 91. Change the Cost to Cost= Cost * 0.779. That numerical value will set it to be the same as it is for Galleons. I ran the math to discover the right value for that. Also, if you want to lower the cost of Submarines, I set the Cost of Submarines to Cost=Cost*0.648. This is just a number I guessed at. It lowers it to be below Destroyers and felt about right.
Also, in the same CEA_Start.sql file insert this code somewhere:
Code:
/* NEW */
INSERT INTO Unit_FreePromotions (UnitType, PromotionType)
SELECT DISTINCT Type, 'PROMOTION_NAVAL_RECON_1'
FROM Units WHERE Class IN (
'UNITCLASS_IRONCLAD' ,
'UNITCLASS_DESTROYER' ,
'UNITCLASS_SUBMARINE' ,
'UNITCLASS_BATTLESHIP' ,
'UNITCLASS_CARRIER' ,
'UNITCLASS_NUCLEAR_SUBMARINE' ,
'UNITCLASS_MISSLE_CRUISER' ,
'UNITCLASS_MISSLE_DESTROYER'
);
/* END NEW */
That will give the Naval Recon 1 promotion to advanced ships. I simply renamed this promotion to that modern ship promotion in the text files. It's sloppy, but easier to do that creating a brand new promotion from scratch. The text file edit above makes sure that you don't see what's going on behind the scenes when you play.
In the file CEG/Armies/CEA_Upgrades.sql find the code dealing with upgrading destroyers to carriers and carriers to missile destroyers. Change it to this:
Code:
INSERT INTO Unit_ClassUpgrades (UnitClassType, UnitType) SELECT DISTINCT 'UNITCLASS_MISSILE_DESTROYER', Type FROM Units WHERE Class = 'UNITCLASS_DESTROYER'; /* NEW changed from CARRIER */
/* INSERT INTO Unit_ClassUpgrades (UnitClassType, UnitType) SELECT DISTINCT 'UNITCLASS_MISSILE_DESTROYER', Type FROM Units WHERE Class = 'UNITCLASS_CARRIER'; NEW commented line out */
That fixes that little error you were asking about.
In the file CEG/Armies/Promotions/CEA_Ships.xml find the Naval Siege promotion and update it to say this:
Code:
<Row>
<Type>PROMOTION_NAVAL_SIEGE</Type>
<Description>TXT_KEY_PROMOTION_NAVAL_SIEGE</Description>
<Help>TXT_KEY_PROMOTION_NAVAL_SIEGE_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<PromotionPrereqOr1>PROMOTION_BOMBARDMENT_3</PromotionPrereqOr1> <!-- NEW removed Targeting promotion -->
<OrderPriority>1</OrderPriority>
<CityAttack>30</CityAttack>
<CityDefense>30</CityDefense>
<AttackFortifiedMod>30</AttackFortifiedMod>
<PortraitIndex>40</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_NAVAL</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_NAVAL_SIEGE</PediaEntry>
</Row>
All that does is change the prerequisites for it making it dependent on Bombardment 3 instead of being so easily available. I like having such a powerful promotion come much later and not be such a gimme, but that's personal taste.
Find the Naval Recon 1 promotion in the same file. Change it to this to transform it to a Modern Ship promotion that is unearnable:
Code:
<Row>
<Type>PROMOTION_NAVAL_RECON_1</Type>
<Description>TXT_KEY_PROMOTION_NAVAL_RECON_1</Description>
<Help>TXT_KEY_PROMOTION_NAVAL_RECON_1_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<OrderPriority>0</OrderPriority>
<!-- NEW
<VisibilityChange>1</VisibilityChange>
END NEW -->
<HealOutsideFriendly>true</HealOutsideFriendly>
<EnemyHealChange>0</EnemyHealChange> <!-- NEW changed from 10 to 0 -->
<NeutralHealChange>0</NeutralHealChange> <!-- NEW changed from 15 to 0 -->
<CannotBeChosen>true</CannotBeChosen> <!-- NEW added this line -->
<PortraitIndex>38</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_ATTRIBUTES</PediaType> <!-- NEW changed from PEDIA_NAVAL -->
<PediaEntry>TXT_KEY_PROMOTION_NAVAL_RECON_1</PediaEntry>
</Row>
Next, it's the Naval Recon 2 promotion. It needs to be transformed into just a Naval Recon promotion. This code removes it requiring Naval Recon 1. It also removes the ability for those ships to withdraw from combat. You can leave that if you like, but I was never a fan of it:
Code:
<Row>
<Type>PROMOTION_NAVAL_RECON_2</Type>
<Description>TXT_KEY_PROMOTION_NAVAL_RECON_2</Description>
<Help>TXT_KEY_PROMOTION_NAVAL_RECON_2_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<!-- NEW
<PromotionPrereqOr1>PROMOTION_NAVAL_RECON_1</PromotionPrereqOr1>
END NEW -->
<OrderPriority>0</OrderPriority>
<MovesChange>1</MovesChange>
<!-- NEW -->
<VisibilityChange>1</VisibilityChange>
<!--
<ExtraWithdrawal>80</ExtraWithdrawal>
END NEW -->
<!--<CanMoveImpassable>true</CanMoveImpassable>-->
<PortraitIndex>37</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_NAVAL</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_NAVAL_RECON_2</PediaEntry>
</Row>
Next, it's creating a brand new promotion from scratch. I put this code just below the Naval Recon 2 code. It creates that Naval Supply promotion (also the edit to the text file creates it too, which was the 1st edit here). Insert this code somewhere in the CEA_Ships.xml file:
Code:
<!-- NEW SECTION -->
<Row>
<Type>PROMOTION_NAVAL_SUPPLY</Type>
<Description>TXT_KEY_PROMOTION_NAVAL_SUPPLY</Description>
<Help>TXT_KEY_PROMOTION_NAVAL_SUPPLY_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<PromotionPrereqOr1>PROMOTION_TARGETING_3</PromotionPrereqOr1>
<OrderPriority>90</OrderPriority>
<FriendlyHealChange>10</FriendlyHealChange>
<NeutralHealChange>10</NeutralHealChange>
<EnemyHealChange>10</EnemyHealChange>
<PortraitIndex>32</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_NAVAL</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_NAVAL_SUPPLY</PediaEntry>
</Row>
<!-- END NEW -->
Next, near the bottom of the file there's a section editing the UnitPromotions_UnitCombats table. This table affects which types of units receive which promotions. Add this code just below the code dealing with the Targeting 3 promotion:
Code:
<!-- NEW -->
<Row><PromotionType>PROMOTION_NAVAL_SUPPLY</PromotionType> <UnitCombatType>UNITCOMBAT_NAVALMELEE</UnitCombatType></Row>
<Row><PromotionType>PROMOTION_NAVAL_SUPPLY</PromotionType> <UnitCombatType>UNITCOMBAT_NAVALRANGED</UnitCombatType></Row>
<!-- END NEW -->
That piece of code makes sure that the Naval Supply promotion goes to both Naval Melee units and Naval Ranged units.
Those are all of the changes that I've been playing with with navies. There's a ton of other ones, but that's it for navies.