This is how the Juggernaut and Iron Golem works in the un-modded game. They have a <UnitModelType> that is not found in armour pieces so it cannot wear those. However, a weapon usually has no restrictions for their modeltypes, so those become available by default. This was also the reason Bows and Ranged Staffs and Mounts were given a ModelType.
In CoreUnits.xml:
<UnitModelType>IronGolem</UnitModelType>
<UnitModelType>JuggernautMale</UnitModelType>
An example of an Armorpiece's Artdef (notice that neither IronGolem nor JuggernautMale is in the list of SupportedUnitModelType):
<GameItemTypeArtDef InternalName="Art_TitansCrown">
<GameItemTypeModelPack InternalName="Art_TitansCrown_1">
<SupportedUnitModelType>AmarianFemale</SupportedUnitModelType>
<SupportedUnitModelType>AmarianMale</SupportedUnitModelType>
<SupportedUnitModelType>EmpireFemale</SupportedUnitModelType>
<SupportedUnitModelType>EmpireMale</SupportedUnitModelType>
<SupportedUnitModelType>FallenFemale</SupportedUnitModelType>
<SupportedUnitModelType>FallenMale</SupportedUnitModelType>
<SupportedUnitModelType>HenchmanMale</SupportedUnitModelType>
<SupportedUnitModelType>IroneerFemale</SupportedUnitModelType>
<SupportedUnitModelType>IroneerMale</SupportedUnitModelType>
<SupportedUnitModelType>KingdomFemale</SupportedUnitModelType>
<SupportedUnitModelType>KingdomMale</SupportedUnitModelType>
<SupportedUnitModelType>MancerFemale</SupportedUnitModelType>
<SupportedUnitModelType>MancerMale</SupportedUnitModelType>
<SupportedUnitModelType>QuendarFemale</SupportedUnitModelType>
<SupportedUnitModelType>QuendarMale</SupportedUnitModelType>
<SupportedUnitModelType>SlaveMale</SupportedUnitModelType>
<SupportedUnitModelType>TarthanFemale</SupportedUnitModelType>
<SupportedUnitModelType>TarthanMale</SupportedUnitModelType>
<SupportedUnitModelType>UrxenFemale</SupportedUnitModelType>
<SupportedUnitModelType>UrxenMale</SupportedUnitModelType>
<SupportedUnitModelType>WraithFemale</SupportedUnitModelType>
<SupportedUnitModelType>WraithMale</SupportedUnitModelType>
<IconFile>VergaHelmet.png</IconFile>
<TintR>0</TintR>
<TintG>0</TintG>
<TintB>0</TintB>
<GameItemTypeModel>
<ModelFile>Gfx\HKB\Armor\verga_helmet.hkb</ModelFile>
<Texture_All>Gfx\HKB\Armor\verga_armor_texture.png</Texture_All>
<Attachment>head_lcf</Attachment>
<Color_Metal>80,80,80</Color_Metal>
</GameItemTypeModel>
</GameItemTypeModelPack>
</GameItemTypeArtDef>
an example of a weapon which has NO supportedunitmodeltypes and is therefore supported by ALL unitmodeltypes:
<GameItemTypeArtDef InternalName="Axe_ArtDef">
<GameItemTypeModelPack InternalName="Axe_Default">
<IconFile>W_Axe_Icon_01.png</IconFile>
<TintR>0</TintR>
<TintG>0</TintG>
<TintB>0</TintB>
<AttackSFX>Hit_Hammer1</AttackSFX>
<AttackSFX>Hit_Hammer2</AttackSFX>
<AttackSFX>Hit_Hammer3</AttackSFX>
<EquipSFX>Equip_WoodenItem_01</EquipSFX>
<EquipSFX>Equip_WoodenItem_02</EquipSFX>
<EquipSFX>Equip_WoodenItem_03</EquipSFX>
<GameItemTypeModel>
<ModelFile>gfx/hkb/Weapons/W_Axe_01.hkb</ModelFile>
<Texture_All>gfx/hkb/Weapons/FE_Weapons_01.png</Texture_All>
<Attachment>hand_right_Lcf</Attachment>
</GameItemTypeModel>
</GameItemTypeModelPack>
</GameItemTypeArtDef>
Despite the appeal of the system, I strongly advise against using it for limiting items for heroes. The reason is that an item that does not support the modeltype of a hero will have the following bugs:
1) It will show up in the Shop if it is an item that you research for. The item will be purchaseable (cost money) but will not show up in the hero's inventory and it will fail to be equipped. Essentially, you pay but get nothing.
2) If a hero finds a random item in the world as a drop (from a monster, quest, or goodiehut) and the item does not support the hero's modeltype, the item will be irrevocably lost. The same will occur if the item is traded to the hero, created by a spell, or in any way ends up in the hero's inventory.