Moar Units Mod

MOAR Units Mod 1.2

The Maceman has now been completely replaced by the Longswordsman with new graphics. The issue was that I had the Maceman that was using the Swordsman graphics but the MemberCombat was set to "RedcoatCombat" and the Movement was set to "Redcoat" in the Units.artdef. Apologies for the sloppiness!

Hello again. Thank you for the recent update. I just finished my big part of work that I toke on my own iniciative. I've made a complete Russian text localization for all actual MOAR Units mods, that you're created! Localisation took all units names and all historic reference texts in Civilopedia. I'm also fixed some mistakes in those texts, to make them more truly and add some more new information.I would be very grateful if you integrate those texts in your mods.Don't get me wrong. They are all work properly right now. I've played and tested them on my native language - in Russian. Now it's very pleasent to see that all units and all texts is in Russian. It took much time but I done this with very good quality. If you integrate the localisation or at least upload those files as it is in Steam and here - many Russian players would say thanks.
 

Attachments


I have some suggestions for further updates. But first I would like to say that you have already filled many holes in unit placements. All looks just as it should. I like this mod so that I decided to translate it. And I did it. But still some things may be improved. My suggestions (just my opinion):
1. Personally I would like to add a new simple modificator to the Roman Legionares. They basic strenght is now 40. Just like the regular swordsmans. But in all Civilization games they were stronger. Yes, now they can build forts, but that's not enough for me. I would like to add a bonus, similar to a Hoplite bonus from adjasting with the same unit. But modificator to combat strength should be + 5 (not +10). So, if two Legion units stand together - their strength raises on 5 points.
2. I'm very hoping to see what you have planning to do with the Australlia. It would be better to add one unit from some Australlian tribes that lived there before colonists from Europe, but then integrated to the New Order. And the other one may be something 100% Australian like. Something that all Australlian people would recognize momentyrely!
3. I know that you are well recognized in international modding community. I'm personally played in your mods for Civ 4 and found them all very good. And I know that game resources are limited, but you've never thought about adding one or two modern units that appered in the last eras? Maybe some airplanes or new naval units...or maybe some science fiction units like augmented infantry? I know that's now tech tree is limited, and many civilizators (inc. myself) now playing with tech tree mods but still...

In any case even in present moment this mod is very good. Now I will play with it for a long time.
 
I remember that, at one point, you were not using new graphics, just recoloring existing units. Are you still at that stage, or are some of the new units completely new? Cheers!
 
@Deliverator -- There seems to be a conflict between my Tech tree mod and MOAR_Units from this update. In my mod I delete the Archery Tech, and have a fix in there to move archer units to Bronze Working before deleting the tech. Prior to this update, it worked fine via just xml.

The problem is specific to your new sql Updates to the Units section (macemen or scout line). I'm not sure how the conflict arises, but your use of sql to set things in the Dbase for Units seems to prevent my mod from using a simple xml update to Units. If I delete your sql statements the mods work together and my xml line to move the Hyksos bowman works again. If I just toss in a bad sql line, the game punts it and still allows the game and mods to load, but both the base archer and the Hyksos bowman are gone when I delete the archery tech (after attempting to move the units) -> and that's the only place in my mod that overlaps with yours in the database.
 
after a bit more testing:

UPDATE Units SET BaseSightRange = 2 WHERE UnitType='UNIT_NATURALIST';

that one line can be deleted from the sql file in your mod to make both mods work together again.

my mod doesn't do anything with the naturalists or units normally, so there may be something else going on.
 
Well, my LSM in game is like this, some with sword and shield(rather than only sword like in you sceenshot), and some with old mace and shield. Is it a bug? I use the steam version:


20170321193213_1.jpg
 
after a bit more testing:

UPDATE Units SET BaseSightRange = 2 WHERE UnitType='UNIT_NATURALIST';

that one line can be deleted from the sql file in your mod to make both mods work together again.

my mod doesn't do anything with the naturalists or units normally, so there may be something else going on.

Can you not identify the conflict by checking the Database.log?
 
Well, my LSM in game is like this, some with sword and shield(rather than only sword like in you sceenshot), and some with old mace and shield. Is it a bug? I use the steam version:
View attachment 467422

Interesting. It looks like you have a mixture of old and new versions here. Do you have an old version in your My Documents/My Games/<Civ VI>/Mods folder? Perhaps try removing any old versions and see if that helps?
 
Hello again. Thank you for the recent update. I just finished my big part of work that I toke on my own iniciative. I've made a complete Russian text localization for all actual MOAR Units mods, that you're created! Localisation took all units names and all historic reference texts in Civilopedia. I'm also fixed some mistakes in those texts, to make them more truly and add some more new information.I would be very grateful if you integrate those texts in your mods.Don't get me wrong. They are all work properly right now. I've played and tested them on my native language - in Russian. Now it's very pleasent to see that all units and all texts is in Russian. It took much time but I done this with very good quality. If you integrate the localisation or at least upload those files as it is in Steam and here - many Russian players would say thanks.

Thanks for this I will integrate the Russian translation into the next update. :)
 
Interesting. It looks like you have a mixture of old and new versions here. Do you have an old version in your My Documents/My Games/<Civ VI>/Mods folder? Perhaps try removing any old versions and see if that helps?

Well, I had used the non-steam version before, but I have already deleted it and cleaned that folder.
 
Well, I had used the non-steam version before, but I have already deleted it and cleaned that folder.

Looking at through the code from a fresh Steam subscription there's definitely no references to shields in the Units.artdef:
Code:
<Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="Warrior"/>
                            <m_RootCollectionName text="UnitMovementTypes"/>
                            <m_ArtDefPath text="Units.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text=""/>
                            <m_ParamName text="Movement"/>
                        </Element>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="WarriorCombat"/>
                            <m_RootCollectionName text="MemberCombat"/>
                            <m_ArtDefPath text="Units.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text="Units"/>
                            <m_ParamName text="Combat"/>
                        </Element>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="MEAT"/>
                            <m_RootCollectionName text="MaterialTypes"/>
                            <m_ArtDefPath text="VFX.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text=""/>
                            <m_ParamName text="VFXMaterialType"/>
                        </Element>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="MEAT"/>
                            <m_RootCollectionName text="MaterialTypes"/>
                            <m_ArtDefPath text="VFX.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text=""/>
                            <m_ParamName text="VFXWeaponImpact"/>
                        </Element>
                        <Element class="AssetObjects::FloatValue">
                            <m_fValue>0.000000</m_fValue>
                            <m_ParamName text="ImpactHeightOverride"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections>
                    <Element>
                        <m_CollectionName text="Cultures"/>
                        <Element>
                            <m_Fields>
                                <m_Values/>
                            </m_Fields>
                            <m_ChildCollections>
                                <Element>
                                    <m_CollectionName text="Variations"/>
                                    <Element>
                                        <m_Fields>
                                            <m_Values>
                                                <Element class="AssetObjects::FloatValue">
                                                    <m_fValue>1.100000</m_fValue>
                                                    <m_ParamName text="Scale"/>
                                                </Element>
                                                <Element class="AssetObjects::BoolValue">
                                                    <m_bValue>false</m_bValue>
                                                    <m_ParamName text="IsAttachment"/>
                                                </Element>
                                            </m_Values>
                                        </m_Fields>
                                        <m_ChildCollections>
                                            <Element>
                                                <m_CollectionName text="Attachments"/>
                                                <Element>
                                                    <m_Fields>
                                                        <m_Values>
                                                            <Element class="AssetObjects::StringValue">
                                                                <m_Value text="Root"/>
                                                                <m_ParamName text="Point"/>
                                                            </Element>
                                                            <Element class="AssetObjects::ArtDefReferenceValue">
                                                                <m_ElementName text="Color_Silver"/>
                                                                <m_RootCollectionName text="UnitTintTypes"/>
                                                                <m_ArtDefPath text="Units.artdef"/>
                                                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                                                <m_TemplateName text="Units"/>
                                                                <m_ParamName text="Tint"/>
                                                            </Element>
                                                        </m_Values>
                                                    </m_Fields>
                                                    <m_ChildCollections>
                                                        <Element>
                                                            <m_CollectionName text="Bins"/>
                                                            <Element>
                                                                <m_Fields>
                                                                    <m_Values/>
                                                                </m_Fields>
                                                                <m_ChildCollections/>
                                                                <m_Name text="Armor/Longswordsman"/>
                                                            </Element>
                                                        </Element>
                                                    </m_ChildCollections>
                                                    <m_Name text="Armor"/>
                                                </Element>
                                                <Element>
                                                    <m_Fields>
                                                        <m_Values>
                                                            <Element class="AssetObjects::StringValue">
                                                                <m_Value text="WeaponPrimary"/>
                                                                <m_ParamName text="Point"/>
                                                            </Element>
                                                            <Element class="AssetObjects::ArtDefReferenceValue">
                                                                <m_ElementName text=""/>
                                                                <m_RootCollectionName text="UnitTintTypes"/>
                                                                <m_ArtDefPath text=""/>
                                                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                                                <m_TemplateName text=""/>
                                                                <m_ParamName text="Tint"/>
                                                            </Element>
                                                        </m_Values>
                                                    </m_Fields>
                                                    <m_ChildCollections>
                                                        <Element>
                                                            <m_CollectionName text="Bins"/>
                                                            <Element>
                                                                <m_Fields>
                                                                    <m_Values/>
                                                                </m_Fields>
                                                                <m_ChildCollections/>
                                                                <m_Name text="Swords/Longswordsman"/>
                                                            </Element>
                                                        </Element>
                                                    </m_ChildCollections>
                                                    <m_Name text="Weapon"/>
                                                </Element>
                                                <Element>
                                                    <m_Fields>
                                                        <m_Values>
                                                            <Element class="AssetObjects::StringValue">
                                                                <m_Value text="Hat"/>
                                                                <m_ParamName text="Point"/>
                                                            </Element>
                                                            <Element class="AssetObjects::ArtDefReferenceValue">
                                                                <m_ElementName text="Color_DarkGrey"/>
                                                                <m_RootCollectionName text="UnitTintTypes"/>
                                                                <m_ArtDefPath text="Units.artdef"/>
                                                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                                                <m_TemplateName text=""/>
                                                                <m_ParamName text="Tint"/>
                                                            </Element>
                                                        </m_Values>
                                                    </m_Fields>
                                                    <m_ChildCollections>
                                                        <Element>
                                                            <m_CollectionName text="Bins"/>
                                                            <Element>
                                                                <m_Fields>
                                                                    <m_Values/>
                                                                </m_Fields>
                                                                <m_ChildCollections/>
                                                                <m_Name text="Hats/Longswordsman"/>
                                                            </Element>
                                                        </Element>
                                                    </m_ChildCollections>
                                                    <m_Name text="Hats"/>
                                                </Element>
                                            </Element>
                                        </m_ChildCollections>
                                        <m_Name text="A"/>
                                    </Element>
                                </Element>
                            </m_ChildCollections>
                            <m_Name text="Any"/>
                        </Element>
                    </Element>
                </m_ChildCollections>
                <m_Name text="UnitMember_Maceman"/>
            </Element>
 
Looking at through the code from a fresh Steam subscription there's definitely no references to shields in the Units.artdef:
Code:
<Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="Warrior"/>
                            <m_RootCollectionName text="UnitMovementTypes"/>
                            <m_ArtDefPath text="Units.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text=""/>
                            <m_ParamName text="Movement"/>
                        </Element>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="WarriorCombat"/>
                            <m_RootCollectionName text="MemberCombat"/>
                            <m_ArtDefPath text="Units.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text="Units"/>
                            <m_ParamName text="Combat"/>
                        </Element>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="MEAT"/>
                            <m_RootCollectionName text="MaterialTypes"/>
                            <m_ArtDefPath text="VFX.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text=""/>
                            <m_ParamName text="VFXMaterialType"/>
                        </Element>
                        <Element class="AssetObjects::ArtDefReferenceValue">
                            <m_ElementName text="MEAT"/>
                            <m_RootCollectionName text="MaterialTypes"/>
                            <m_ArtDefPath text="VFX.artdef"/>
                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                            <m_TemplateName text=""/>
                            <m_ParamName text="VFXWeaponImpact"/>
                        </Element>
                        <Element class="AssetObjects::FloatValue">
                            <m_fValue>0.000000</m_fValue>
                            <m_ParamName text="ImpactHeightOverride"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections>
                    <Element>
                        <m_CollectionName text="Cultures"/>
                        <Element>
                            <m_Fields>
                                <m_Values/>
                            </m_Fields>
                            <m_ChildCollections>
                                <Element>
                                    <m_CollectionName text="Variations"/>
                                    <Element>
                                        <m_Fields>
                                            <m_Values>
                                                <Element class="AssetObjects::FloatValue">
                                                    <m_fValue>1.100000</m_fValue>
                                                    <m_ParamName text="Scale"/>
                                                </Element>
                                                <Element class="AssetObjects::BoolValue">
                                                    <m_bValue>false</m_bValue>
                                                    <m_ParamName text="IsAttachment"/>
                                                </Element>
                                            </m_Values>
                                        </m_Fields>
                                        <m_ChildCollections>
                                            <Element>
                                                <m_CollectionName text="Attachments"/>
                                                <Element>
                                                    <m_Fields>
                                                        <m_Values>
                                                            <Element class="AssetObjects::StringValue">
                                                                <m_Value text="Root"/>
                                                                <m_ParamName text="Point"/>
                                                            </Element>
                                                            <Element class="AssetObjects::ArtDefReferenceValue">
                                                                <m_ElementName text="Color_Silver"/>
                                                                <m_RootCollectionName text="UnitTintTypes"/>
                                                                <m_ArtDefPath text="Units.artdef"/>
                                                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                                                <m_TemplateName text="Units"/>
                                                                <m_ParamName text="Tint"/>
                                                            </Element>
                                                        </m_Values>
                                                    </m_Fields>
                                                    <m_ChildCollections>
                                                        <Element>
                                                            <m_CollectionName text="Bins"/>
                                                            <Element>
                                                                <m_Fields>
                                                                    <m_Values/>
                                                                </m_Fields>
                                                                <m_ChildCollections/>
                                                                <m_Name text="Armor/Longswordsman"/>
                                                            </Element>
                                                        </Element>
                                                    </m_ChildCollections>
                                                    <m_Name text="Armor"/>
                                                </Element>
                                                <Element>
                                                    <m_Fields>
                                                        <m_Values>
                                                            <Element class="AssetObjects::StringValue">
                                                                <m_Value text="WeaponPrimary"/>
                                                                <m_ParamName text="Point"/>
                                                            </Element>
                                                            <Element class="AssetObjects::ArtDefReferenceValue">
                                                                <m_ElementName text=""/>
                                                                <m_RootCollectionName text="UnitTintTypes"/>
                                                                <m_ArtDefPath text=""/>
                                                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                                                <m_TemplateName text=""/>
                                                                <m_ParamName text="Tint"/>
                                                            </Element>
                                                        </m_Values>
                                                    </m_Fields>
                                                    <m_ChildCollections>
                                                        <Element>
                                                            <m_CollectionName text="Bins"/>
                                                            <Element>
                                                                <m_Fields>
                                                                    <m_Values/>
                                                                </m_Fields>
                                                                <m_ChildCollections/>
                                                                <m_Name text="Swords/Longswordsman"/>
                                                            </Element>
                                                        </Element>
                                                    </m_ChildCollections>
                                                    <m_Name text="Weapon"/>
                                                </Element>
                                                <Element>
                                                    <m_Fields>
                                                        <m_Values>
                                                            <Element class="AssetObjects::StringValue">
                                                                <m_Value text="Hat"/>
                                                                <m_ParamName text="Point"/>
                                                            </Element>
                                                            <Element class="AssetObjects::ArtDefReferenceValue">
                                                                <m_ElementName text="Color_DarkGrey"/>
                                                                <m_RootCollectionName text="UnitTintTypes"/>
                                                                <m_ArtDefPath text="Units.artdef"/>
                                                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                                                <m_TemplateName text=""/>
                                                                <m_ParamName text="Tint"/>
                                                            </Element>
                                                        </m_Values>
                                                    </m_Fields>
                                                    <m_ChildCollections>
                                                        <Element>
                                                            <m_CollectionName text="Bins"/>
                                                            <Element>
                                                                <m_Fields>
                                                                    <m_Values/>
                                                                </m_Fields>
                                                                <m_ChildCollections/>
                                                                <m_Name text="Hats/Longswordsman"/>
                                                            </Element>
                                                        </Element>
                                                    </m_ChildCollections>
                                                    <m_Name text="Hats"/>
                                                </Element>
                                            </Element>
                                        </m_ChildCollections>
                                        <m_Name text="A"/>
                                    </Element>
                                </Element>
                            </m_ChildCollections>
                            <m_Name text="Any"/>
                        </Element>
                    </Element>
                </m_ChildCollections>
                <m_Name text="UnitMember_Maceman"/>
            </Element>


Anyway, it works now after I re-subscribed the mod!:D

A suggestion, is it possible that making the LSM use the standing animation of worker? Carry the sword on the shoulder just like the worker carrying the hammer.
 
I remember that, at one point, you were not using new graphics, just recoloring existing units. Are you still at that stage, or are some of the new units completely new? Cheers!

As things stand the Tiger I and T-34 are completely new - the Longswordsman has some remodelled parts from vanilla units. I'm gradually going to add in more new models now that it is possible.
 
Can you not identify the conflict by checking the Database.log?

Ok, so after some sleep and more coffee:

Did you rename your mod from MOARUnits to Moar Units? After a full clean install of the mods, it looks like my reference to your mod loading first wasn't working. So I tried matching the name space (the MOD IDs were still the same) and it seemed to load in the correct order again.

To note: up until this current update of MOAR Units, the mods worked together and yours loaded first properly. Hence I'm wondering if something on your side got changed to break the references. Or if the game is just doing a coin flip to see what loads first.
 
Ok, so after some sleep and more coffee:

Did you rename your mod from MOARUnits to Moar Units? After a full clean install of the mods, it looks like my reference to your mod loading first wasn't working. So I tried matching the name space (the MOD IDs were still the same) and it seemed to load in the correct order again.

To note: up until this current update of MOAR Units, the mods worked together and yours loaded first properly. Hence I'm wondering if something on your side got changed to break the references. Or if the game is just doing a coin flip to see what loads first.

I don't know what this could be. I did update the Name field in .modinfo from "Moar Units!" to "Moar Units" but that was before the Steam release.
 
Ok, so after some sleep and more coffee:

Did you rename your mod from MOARUnits to Moar Units? After a full clean install of the mods, it looks like my reference to your mod loading first wasn't working. So I tried matching the name space (the MOD IDs were still the same) and it seemed to load in the correct order again.

To note: up until this current update of MOAR Units, the mods worked together and yours loaded first properly. Hence I'm wondering if something on your side got changed to break the references. Or if the game is just doing a coin flip to see what loads first.
You mean... references are working now ?
 
You mean... references are working now ?

Inasmuchas I added one and it was working until the namespace changed. I did need MOAR Units to load first and that was working for people before this change to the title of MOAR Units.

<References>
<Mod id="8342b98d-80c7-4002-87bb-419646bd9b54" title="Moar Units" />
</References>

but at this point, it could be just as simple as my mod being loaded into the database second via RNG.
 
Inasmuchas I added one and it was working until the namespace changed. I did need MOAR Units to load first and that was working for people before this change to the title of MOAR Units.

<References>
<Mod id="8342b98d-80c7-4002-87bb-419646bd9b54" title="Moar Units" />
</References>

but at this point, it could be just as simple as my mod being loaded into the database second via RNG.

Why would people want to use <References> rather than <Dependencies> e.g. ?
<Dependencies>
<Mod id="3809975F-263F-40A2-A747-8BFB171D821A" title="PolandDLC" />
</Dependencies>

Dependencies always load first.
 
because then you can't use your mod alone, it requires the mod its depending on. It's fine when making a compatibility mod for R.E.D/ Moar Units with dependency on both for example, but not for R.E.D alone.

If I could use reference, I wouldn't need the compatibility mod, everything would be in the main mod, referencing the mods that has to be loaded first (but doesn't require to be installed/activated)

@MadDjinn : see https://forums.civfanatics.com/threads/mod-component-file-load-order-as-of-winter-patch.608496/ but I've not tested what may have changed in the "summer" patch.
 
Why would people want to use <References> rather than <Dependencies> e.g. ?
<Dependencies>
<Mod id="3809975F-263F-40A2-A747-8BFB171D821A" title="PolandDLC" />
</Dependencies>

Dependencies always load first.

As @Gedemon said, I don't need your mod for mine to work. I just need to add a tiny update to move one archer unit in your mod so that it doesn't break when both mods are used. But your mod has to run first. Hence not dependent, but rather referenced.

anywhom.. double checking everything it is indeed a load order RNG silliness at work.. references aren't working in either modbuddy or game.

So I switched to an sql statement to move the archery based units (future proofing added units) and put my load order at about 10000.
 
Back
Top Bottom