Moar Units Mod

MOAR Units Mod 1.2

@Deliverator

To convince you to reconsider I have experimented and in an hour I figured how to (roughly) make it necessary for land units to be transported by naval melee units.
- As you can see below, all naval melee units start at level 1 and the first promotion available for them is Transport, which works exactly like Escort promotion for light cavalry units.
- All land units have 0 movement while embarked (they can embark properly though, tested it).
- Therefore land units can embark and disembark, thus crossing 1 tile wide water bodies, saving their souls by making it to the shore if their transport is destroyed on the coast, or making it possible for naval melee units to move them with the latters' full movement speed while both remain in the formation.
- Code below is not a complete mod proposition, there are technological bonuses to embarked movement which would have to be removed, also land units defence while embarked would need reducing to miniscule numbers


<Types>

<Row Type="PROMOTION_TRANSPORT" Kind="KIND_PROMOTION"/>

</Types>

<UnitPromotions>

<!-- New Promotion -->
<Row UnitPromotionType="PROMOTION_TRANSPORT" Name="LOC_PROMOTION_ESCORT_MOBILITY_NAME" Description="LOC_PROMOTION_ESCORT_MOBILITY_DESCRIPTION" Level="1" Specialization="" Column="2" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>

<!-- Increasing levels of existing Naval Promotions by 1-->
<Row UnitPromotionType="PROMOTION_EMBOLON" Name="LOC_PROMOTION_EMBOLON_NAME" Description="LOC_PROMOTION_EMBOLON_DESCRIPTION" Level="2" Specialization="" Column="1" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>
<Row UnitPromotionType="PROMOTION_HELMSMAN" Name="LOC_PROMOTION_HELMSMAN_NAME" Description="LOC_PROMOTION_HELMSMAN_DESCRIPTION" Level="2" Specialization="" Column="3" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>
<Row UnitPromotionType="PROMOTION_REINFORCED_HULL" Name="LOC_PROMOTION_REINFORCED_HULL_NAME" Description="LOC_PROMOTION_REINFORCED_HULL_DESCRIPTION" Level="3" Specialization="" Column="1" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>
<Row UnitPromotionType="PROMOTION_RUTTER" Name="LOC_PROMOTION_RUTTER_NAME" Description="LOC_PROMOTION_RUTTER_DESCRIPTION" Level="3" Specialization="" Column="3" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>
<Row UnitPromotionType="PROMOTION_AUXILIARY_SHIPS" Name="LOC_PROMOTION_AUXILIARY_SHIPS_NAME" Description="LOC_PROMOTION_AUXILIARY_SHIPS_DESCRIPTION" Level="4" Specialization="" Column="1" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>
<Row UnitPromotionType="PROMOTION_CONVOY" Name="LOC_PROMOTION_CONVOY_NAME" Description="LOC_PROMOTION_CONVOY_DESCRIPTION" Level="3" Specialization="" Column="4" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>
<Row UnitPromotionType="PROMOTION_CREEPING_ATTACK" Name="LOC_PROMOTION_CREEPING_ATTACK_NAME" Description="LOC_PROMOTION_CREEPING_ATTACK_DESCRIPTION" Level="5" Specialization="" Column="2" PromotionClass="PROMOTION_CLASS_NAVAL_MELEE"/>

<UnitsPromotions>

<UnitPromotionModifiers>

<Row>
<UnitPromotionType>PROMOTION_TRANSPORT</UnitPromotionType>
<ModifierId>TRANSPORT_SHARED_MOVEMENT</ModifierId>
</Row>

<UnitPromotionModifiers>

<Modifiers>

<Row>
<ModifierId>TRANSPORT_SHARED_MOVEMENT</ModifierId>
<ModifierType>MODIFIER_UNIT_ADJUST_ESCORT_MOBILITY</ModifierType>
</Row>

</Modifiers>

<ModifierArguments>

<Row>
<ModifierId>TRANSPORT_SHARED_MOVEMENT</ModifierId>
<Name>EscortMobility</Name>
<Value>true</Value>
</Row>

</ModifierArguments>


<!-- This goes into SQL file, it is similar to what you did with Recon Units-->

UPDATE Units SET InitialLevel = 2 WHERE PromotionClass='PROMOTION_CLASS_NAVAL_MELEE';

<!-- Also for SQL file, to change Land Units basic movement while embarked to 0-->

UPDATE GlobalParameters SET Value = 0 WHERE Name='MOVEMENT_WHILE_EMBARKED_BASE';
 
@Deliverator

To convince you to reconsider I have experimented and in an hour I figured how to (roughly) make it necessary for land units to be transported by naval melee units.
- As you can see below, all naval melee units start at level 1 and the first promotion available for them is Transport, which works exactly like Escort promotion for light cavalry units.
- All land units have 0 movement while embarked (they can embark properly though, tested it).
- Therefore land units can embark and disembark, thus crossing 1 tile wide water bodies, saving their souls by making it to the shore if their transport is destroyed on the coast, or making it possible for naval melee units to move them with the latters' full movement speed while both remain in the formation.
- Code below is not a complete mod proposition, there are technological bonuses to embarked movement which would have to be removed, also land units defence while embarked would need reducing to miniscule numbers

@Jambrose you are most of the way to your own stand-alone mod there and I think this should be a stand-alone mod rather than part of Moar so that people have the option. Wouldn't it be better to attach the TRANSPORT_SHARED_MOVEMENT modifier to Unit Class(es) via Unit Ability rather than using a free promotion?
 
I've noticed the Anti Cavalry Boost section in MOAR_Units_Data.sql has a duplicate of a line of code that modifies the Bandeirante, is it possible that something else was supposed to be in its place?

I'm a bit baffled by this! MOAR_Units_Data.sql doesn't even reference UNIT_BANDEIRANTE... Can you copy/paste the line you're looking at?
 
my bad, it's actually the conquistador not the bandeirante :D

this is what I'm talking about:

Code:
/* Anti Cavalry boost */
DELETE FROM UnitAbilityModifiers WHERE UnitAbilityType = 'ABILITY_ANTI_CAVALRY' AND ModifierId = 'ANTI_CAVALRY_COMBAT_BONUS';

UPDATE ModifierArguments SET Value = 9 WHERE ModifierId = 'CONQUISTADOR_SPECIFIC_UNIT_COMBAT' AND Name = 'Amount';
 
my bad, it's actually the conquistador not the bandeirante :D

this is what I'm talking about:

Code:
/* Anti Cavalry boost */
DELETE FROM UnitAbilityModifiers WHERE UnitAbilityType = 'ABILITY_ANTI_CAVALRY' AND ModifierId = 'ANTI_CAVALRY_COMBAT_BONUS';

UPDATE ModifierArguments SET Value = 9 WHERE ModifierId = 'CONQUISTADOR_SPECIFIC_UNIT_COMBAT' AND Name = 'Amount';

That's not part of the Anti-Cavalry boost. That is a minor nerfing of the Conquistador so that the Rifleman is not a downgrade: Conquistador Strength = 55 + 9 Other Religion Unit Bonus = 64 = Rifleman Strength.
 
yes but the same line is also right above the anti cavalry comment so it seems like a duplicate:

Code:
UPDATE ModifierArguments SET Value = 9 WHERE ModifierId = 'CONQUISTADOR_SPECIFIC_UNIT_COMBAT' AND Name = 'Amount';

/* Anti Cavalry boost */
DELETE FROM UnitAbilityModifiers WHERE UnitAbilityType = 'ABILITY_ANTI_CAVALRY' AND ModifierId = 'ANTI_CAVALRY_COMBAT_BONUS';

UPDATE ModifierArguments SET Value = 9 WHERE ModifierId = 'CONQUISTADOR_SPECIFIC_UNIT_COMBAT' AND Name = 'Amount';
 
Oh yeah! You're right! Silly me. That is an error obvs. Will fix although it's harmless.
 
@Jambrose you are most of the way to your own stand-alone mod there and I think this should be a stand-alone mod rather than part of Moar so that people have the option. Wouldn't it be better to attach the TRANSPORT_SHARED_MOVEMENT modifier to Unit Class(es) via Unit Ability rather than using a free promotion?
Right, that's a much better solution. Thanks for advice, I think I will actually release this mod here in a day or few.
 
wouldn't it make more sense to have the anti cavalry bonus be +20 vs heavy cavalry and +15 vs light cavalry since heavy cavalry are stronger?

I'd also change the Hetairoi so it doesn't replace the rider and it's 3 moves 39 combat like a proper heavy cavalry unit, and switch its cost with the cataphract
 
Last edited:
Is there a way I can edit the file so that a unique unit doesn't replace the original unit? I like how the Rough Rider doesn't replace a heavy cavalry unit but instead is offered as an additional unit and I want to implement this with the Apache gunship that replaces the helicopter. I'd like to be able to use both the helicopter and apache at the same time. I've tried fiddling around but I can't seem to get it to work, if you could provide the text so that I could copy/paste, that would be most helpful :)
 
wouldn't it make more sense to have the anti cavalry bonus be +20 vs heavy cavalry and +15 vs light cavalry since heavy cavalry are stronger?

The rationale is that anti-cavalry weapons such as pikes as more effective against lightly armoured cavalry than heavily armoured cavalry so it makes sense to me.

I'd also change the Hetairoi so it doesn't replace the rider and it's 3 moves 39 combat like a proper heavy cavalry unit, and switch its cost with the cataphract

The Hetairoi is now Firaxis' design rather than mine (although they did more or less adopt my design). I don't normally like changing the base Firaxis units too much. Why would you swap the cost with the Cataphract?

I've updated Russian text. Added information about Trebuchet and rewrited some old text to more accurate state.

Thanks. One painful thing I need to do is match the number of paragraphs for all other languages to the same number as the extra Russian ones to stop Russian appearing in the pedia for other languages!

Is there a way I can edit the file so that a unique unit doesn't replace the original unit? I like how the Rough Rider doesn't replace a heavy cavalry unit but instead is offered as an additional unit and I want to implement this with the Apache gunship that replaces the helicopter. I'd like to be able to use both the helicopter and apache at the same time. I've tried fiddling around but I can't seem to get it to work, if you could provide the text so that I could copy/paste, that would be most helpful :)

Simply remove this line:
Code:
<Row CivUniqueUnitType="UNIT_AMERICAN_AH64_APACHE" ReplacesUnitType="UNIT_HELICOPTER"/>
from the <UnitReplaces> section of MOAR_Units_Data.xml.
 
The rationale is that anti-cavalry weapons such as pikes as more effective against lightly armoured cavalry than heavily armoured cavalry so it makes sense to me.

well, from a realism viewpoint the fact that heavy cavalry is more heavily armoured is already represented by the fact they have more combat strength. their combat style is charging at enemy lines, which is going to be less effective vs spear/pikes compared to light cavalry who tend to act as skirmishers.

from a gameplay viewpoint, even +15 vs light cavalry is already going to be enough to utterly annihilate them. since heavy cavalry units have +4 combat compared to their light cavalry counterparts, setting the bonus vs heavy cavalry to +19 would mean they both fight vs anti cavalry with the same effectiveness, which makes sense to me. in civ4, anti unitclass abilities were applied as a penalty rather than a buff, making it more effective vs higher strength units.



The Hetairoi is now Firaxis' design rather than mine (although they did more or less adopt my design). I don't normally like changing the base Firaxis units too much. Why would you swap the cost with the Cataphract?

the cataphract is stronger than the rider but slower, 122 hammers seems excessive for them. on the other hand, hetairoi have some strong unique features which makes their cost seem quite low. ideally it would be nice to have the cataphract be available to all civs, with the hetairoi replacing it instead of the rider.
 
Last edited:
The most I've thought about is adding the Civ 5 Galleas in somewhere.
That would be wonderful...or any of the Ancient/Classical ships please. I'm being a little selfish but I so need them for AD!! Are you doing a Nubia pack at all (again being selfish...but you know they'll be used!)
 
That's strange, I tried it and it didn't work. I still only saw the apache on the science tree instead of both :/ could it be anything else?
 
That's strange, I tried it and it didn't work. I still only saw the apache on the science tree instead of both :/ could it be anything else?

Did you start a new game? Because if you were reloading a save game it would re-load the DB settings too.
 
It works, I forgot I had Wolfdog's land units mod installed and so the helicopter icon was moved to a different part of the science tree lol :p
 
Back
Top Bottom