Ethnic riflemen development thread

Wow, great graphics, Bernie, your work is amazing! But, have you ever thought of making a brazilian Rifleman? Here are some images.
Spoiler :

Spoiler :
 
Bernie your units are awesome. Is it possible to make generic Napoleonic line infantry with a jacket the changes to match the civ's colour? It would be really super appreciated.
 
j51: I noticed your similar post in the Unit Request Thread. I assumed that bernie14 wouldn't have the time/will, and since I wanted to try out doing teamcolor reskins, I'm trying to fulfill your request. I think I've got them done now, but I still have to test it out in-game.
 
j51: I noticed your similar post in the Unit Request Thread. I assumed that bernie14 wouldn't have the time/will, and since I wanted to try out doing teamcolor reskins, I'm trying to fulfill your request. I think I've got them done now, but I still have to test it out in-game.

Oh wow, cool! I'm really looking forward to seeing it.
 
So I tried modding it in (as well as Bernie's skins for the 5 major powers of the Napoleonic wars) and nothing doing. Only the French line infantry shows up. The rest still use the old rifleman graphics. Here's the code for the sql file in the mod:

Spoiler :
INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_FRENCHLINE'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType,UnitMemberInfoType,NumMembers)
SELECT ('ART_DEF_UNIT_FRENCHLINE'), ('ART_DEF_UNIT_MEMBER_FRENCHLINE'), NumMembers
FROM ArtDefine_UnitInfoMemberInfos WHERE (UnitInfoType = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation)
SELECT ('ART_DEF_UNIT_MEMBER_FRENCHLINE'), EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation
FROM ArtDefine_UnitMemberCombats WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_FRENCHLINE'), "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag
FROM ArtDefine_UnitMemberCombatWeapons WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, ZOffset, Domain, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_FRENCHLINE'), Scale, ZOffset, Domain, ('civ5_fremm1.fxsxml'), MaterialTypeTag, MaterialTypeSoundOverrideTag
FROM ArtDefine_UnitMemberInfos WHERE (Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset )
SELECT ('ART_DEF_UNIT_FRENCHLINE'), TileType, Asset
FROM ArtDefine_StrategicView WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');



INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_BRITLINE'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType,UnitMemberInfoType,NumMembers)
SELECT ('ART_DEF_UNIT_BRITLINE'), ('ART_DEF_UNIT_MEMBER_BRITLINE'), NumMembers
FROM ArtDefine_UnitInfoMemberInfos WHERE (UnitInfoType = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation)
SELECT ('ART_DEF_UNIT_MEMBER_BRITLINE'), EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation
FROM ArtDefine_UnitMemberCombats WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_BRITLINE'), "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag
FROM ArtDefine_UnitMemberCombatWeapons WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, ZOffset, Domain, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_BRITLINE'), Scale, ZOffset, Domain, ('civ5_engmm1.fxsxml'), MaterialTypeTag, MaterialTypeSoundOverrideTag
FROM ArtDefine_UnitMemberInfos WHERE (Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset )
SELECT ('ART_DEF_UNIT_BRITLINE'), TileType, Asset
FROM ArtDefine_StrategicView WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');



INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_GERMANLINE'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType,UnitMemberInfoType,NumMembers)
SELECT ('ART_DEF_UNIT_GERMANLINE'), ('ART_DEF_UNIT_MEMBER_GERMANLINE'), NumMembers
FROM ArtDefine_UnitInfoMemberInfos WHERE (UnitInfoType = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation)
SELECT ('ART_DEF_UNIT_MEMBER_GERMANLINE'), EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation
FROM ArtDefine_UnitMemberCombats WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_GERMANLINE'), "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag
FROM ArtDefine_UnitMemberCombatWeapons WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, ZOffset, Domain, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_GERMANLINE'), Scale, ZOffset, Domain, ('civ5_prumm1.fxsxml'), MaterialTypeTag, MaterialTypeSoundOverrideTag
FROM ArtDefine_UnitMemberInfos WHERE (Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset )
SELECT ('ART_DEF_UNIT_GERMANLINE'), TileType, Asset
FROM ArtDefine_StrategicView WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');



INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_RUSSIANLINE'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType,UnitMemberInfoType,NumMembers)
SELECT ('ART_DEF_UNIT_RUSSIANLINE'), ('ART_DEF_UNIT_MEMBER_RUSSIANLINE'), NumMembers
FROM ArtDefine_UnitInfoMemberInfos WHERE (UnitInfoType = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation)
SELECT ('ART_DEF_UNIT_MEMBER_RUSSIANLINE'), EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation
FROM ArtDefine_UnitMemberCombats WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_RUSSIANLINE'), "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag
FROM ArtDefine_UnitMemberCombatWeapons WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, ZOffset, Domain, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_RUSSIANLINE'), Scale, ZOffset, Domain, ('civ5_rusmm1.fxsxml'), MaterialTypeTag, MaterialTypeSoundOverrideTag
FROM ArtDefine_UnitMemberInfos WHERE (Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset )
SELECT ('ART_DEF_UNIT_RUSSIANLINE'), TileType, Asset
FROM ArtDefine_StrategicView WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');



INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_AUSTRIANLINE'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType,UnitMemberInfoType,NumMembers)
SELECT ('ART_DEF_UNIT_AUSTRIANLINE'), ('ART_DEF_UNIT_MEMBER_AUSTRIANLINE'), NumMembers
FROM ArtDefine_UnitInfoMemberInfos WHERE (UnitInfoType = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation)
SELECT ('ART_DEF_UNIT_MEMBER_AUSTRIANLINE'), EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation
FROM ArtDefine_UnitMemberCombats WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_AUSTRIANLINE'), "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag
FROM ArtDefine_UnitMemberCombatWeapons WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, ZOffset, Domain, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_AUSTRIANLINE'), Scale, ZOffset, Domain, ('civ5_ausmm1.fxsxml'), MaterialTypeTag, MaterialTypeSoundOverrideTag
FROM ArtDefine_UnitMemberInfos WHERE (Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset )
SELECT ('ART_DEF_UNIT_AUSTRIANLINE'), TileType, Asset
FROM ArtDefine_StrategicView WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');


INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_GENERALLINE'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType,UnitMemberInfoType,NumMembers)
SELECT ('ART_DEF_UNIT_GENERALLINE'), ('ART_DEF_UNIT_MEMBER_GENERALLINE'), NumMembers
FROM ArtDefine_UnitInfoMemberInfos WHERE (UnitInfoType = 'ART_DEF_UNIT_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation)
SELECT ('ART_DEF_UNIT_MEMBER_GENERALLINE'), EnableActions, DisableActions, MoveRadius, ShortMoveRadius, ChargeRadius, AttackRadius, RangedAttackRadius, MoveRate, ShortMoveRate, TurnRateMin, TurnRateMax, TurnFacingRateMin, TurnFacingRateMax, RollRateMin, RollRateMax, PitchRateMin, PitchRateMax, LOSRadiusScale, TargetRadius, TargetHeight, HasShortRangedAttack, HasLongRangedAttack, HasLeftRightAttack, HasStationaryMelee, HasStationaryRangedAttack, HasRefaceAfterCombat, ReformBeforeCombat, HasIndependentWeaponFacing, HasOpponentTracking, HasCollisionAttack, AttackAltitude, AltitudeDecelerationDistance, OnlyTurnInMovementActions, RushAttackFormation
FROM ArtDefine_UnitMemberCombats WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_GENERALLINE'), "Index", SubIndex, ID, VisKillStrengthMin, VisKillStrengthMax, ProjectileSpeed, ProjectileTurnRateMin, ProjectileTurnRateMax, HitEffect, HitEffectScale, HitRadius, ProjectileChildEffectScale, AreaDamageDelay, ContinuousFire, WaitForEffectCompletion, TargetGround, IsDropped, WeaponTypeTag, WeaponTypeSoundOverrideTag
FROM ArtDefine_UnitMemberCombatWeapons WHERE (UnitMemberType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, ZOffset, Domain, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag)
SELECT ('ART_DEF_UNIT_MEMBER_GENERALLINE'), Scale, ZOffset, Domain, ('civ5_genmm1.fxsxml'), MaterialTypeTag, MaterialTypeSoundOverrideTag
FROM ArtDefine_UnitMemberInfos WHERE (Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN');

INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset )
SELECT ('ART_DEF_UNIT_GENERALLINE'), TileType, Asset
FROM ArtDefine_StrategicView WHERE (Type = 'ART_DEF_UNIT_MUSKETMAN');
 
Here's the xml file:

Spoiler :
<GameData>
<Update>
<Where Type="UNIT_RIFLEMAN"/>
<Set>
<UnitArtInfo>ART_DEF_UNIT_GENERALLINE</UnitArtInfo>
</Set>
</Update>
<Units>
<Row>
<Class>UNITCLASS_RIFLEMAN</Class>
<Type>UNIT_BRITLINE</Type>
<PrereqTech>TECH_RIFLING</PrereqTech>
<Combat>34</Combat>
<Cost>225</Cost>
<Moves>2</Moves>
<CombatClass>UNITCOMBAT_GUN</CombatClass>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_DEFENSE</DefaultUnitAI>
<Description>TXT_KEY_UNIT_RIFLEMAN</Description>
<Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_RENAISSANCE_RIFLEMEN_TEXT</Civilopedia>
<Strategy>TXT_KEY_UNIT_RIFLEMAN_STRATEGY</Strategy>
<Help>TXT_KEY_UNIT_HELP_RIFLEMAN</Help>
<MilitarySupport>true</MilitarySupport>
<MilitaryProduction>true</MilitaryProduction>
<Pillage>true</Pillage>
<IgnoreBuildingDefense>true</IgnoreBuildingDefense>
<ObsoleteTech>TECH_REPLACEABLE_PARTS</ObsoleteTech>
<GoodyHutUpgradeUnitClass>UNITCLASS_GREAT_WAR_INFANTRY</GoodyHutUpgradeUnitClass>
<AdvancedStartCost>30</AdvancedStartCost>
<XPValueAttack>3</XPValueAttack>
<XPValueDefense>3</XPValueDefense>
<Conscription>5</Conscription>
<UnitArtInfo>ART_DEF_UNIT_BRITLINE</UnitArtInfo>
<UnitFlagIconOffset>47</UnitFlagIconOffset>
<IconAtlas>UNIT_ATLAS_2</IconAtlas>
<PortraitIndex>4</PortraitIndex>
</Row>
<Row>
<Class>UNITCLASS_RIFLEMAN</Class>
<Type>UNIT_FRENCHLINE</Type>
<PrereqTech>TECH_RIFLING</PrereqTech>
<Combat>34</Combat>
<Cost>225</Cost>
<Moves>2</Moves>
<CombatClass>UNITCOMBAT_GUN</CombatClass>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_DEFENSE</DefaultUnitAI>
<Description>TXT_KEY_UNIT_RIFLEMAN</Description>
<Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_RENAISSANCE_RIFLEMEN_TEXT</Civilopedia>
<Strategy>TXT_KEY_UNIT_RIFLEMAN_STRATEGY</Strategy>
<Help>TXT_KEY_UNIT_HELP_RIFLEMAN</Help>
<MilitarySupport>true</MilitarySupport>
<MilitaryProduction>true</MilitaryProduction>
<Pillage>true</Pillage>
<IgnoreBuildingDefense>true</IgnoreBuildingDefense>
<ObsoleteTech>TECH_REPLACEABLE_PARTS</ObsoleteTech>
<GoodyHutUpgradeUnitClass>UNITCLASS_GREAT_WAR_INFANTRY</GoodyHutUpgradeUnitClass>
<AdvancedStartCost>30</AdvancedStartCost>
<XPValueAttack>3</XPValueAttack>
<XPValueDefense>3</XPValueDefense>
<Conscription>5</Conscription>
<UnitArtInfo>ART_DEF_UNIT_FRENCHLINE</UnitArtInfo>
<UnitFlagIconOffset>47</UnitFlagIconOffset>
<IconAtlas>UNIT_ATLAS_2</IconAtlas>
<PortraitIndex>4</PortraitIndex>
</Row>
<Row>
<Class>UNITCLASS_RIFLEMAN</Class>
<Type>UNIT_GERMANLINE</Type>
<PrereqTech>TECH_RIFLING</PrereqTech>
<Combat>34</Combat>
<Cost>225</Cost>
<Moves>2</Moves>
<CombatClass>UNITCOMBAT_GUN</CombatClass>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_DEFENSE</DefaultUnitAI>
<Description>TXT_KEY_UNIT_RIFLEMAN</Description>
<Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_RENAISSANCE_RIFLEMEN_TEXT</Civilopedia>
<Strategy>TXT_KEY_UNIT_RIFLEMAN_STRATEGY</Strategy>
<Help>TXT_KEY_UNIT_HELP_RIFLEMAN</Help>
<MilitarySupport>true</MilitarySupport>
<MilitaryProduction>true</MilitaryProduction>
<Pillage>true</Pillage>
<IgnoreBuildingDefense>true</IgnoreBuildingDefense>
<ObsoleteTech>TECH_REPLACEABLE_PARTS</ObsoleteTech>
<GoodyHutUpgradeUnitClass>UNITCLASS_GREAT_WAR_INFANTRY</GoodyHutUpgradeUnitClass>
<AdvancedStartCost>30</AdvancedStartCost>
<XPValueAttack>3</XPValueAttack>
<XPValueDefense>3</XPValueDefense>
<Conscription>5</Conscription>
<UnitArtInfo>ART_DEF_UNIT_GERMANLINE</UnitArtInfo>
<UnitFlagIconOffset>47</UnitFlagIconOffset>
<IconAtlas>UNIT_ATLAS_2</IconAtlas>
<PortraitIndex>4</PortraitIndex>
</Row>
<Row>
<Class>UNITCLASS_RIFLEMAN</Class>
<Type>UNIT_RUSSIANLINE</Type>
<PrereqTech>TECH_RIFLING</PrereqTech>
<Combat>34</Combat>
<Cost>225</Cost>
<Moves>2</Moves>
<CombatClass>UNITCOMBAT_GUN</CombatClass>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_DEFENSE</DefaultUnitAI>
<Description>TXT_KEY_UNIT_RIFLEMAN</Description>
<Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_RENAISSANCE_RIFLEMEN_TEXT</Civilopedia>
<Strategy>TXT_KEY_UNIT_RIFLEMAN_STRATEGY</Strategy>
<Help>TXT_KEY_UNIT_HELP_RIFLEMAN</Help>
<MilitarySupport>true</MilitarySupport>
<MilitaryProduction>true</MilitaryProduction>
<Pillage>true</Pillage>
<IgnoreBuildingDefense>true</IgnoreBuildingDefense>
<ObsoleteTech>TECH_REPLACEABLE_PARTS</ObsoleteTech>
<GoodyHutUpgradeUnitClass>UNITCLASS_GREAT_WAR_INFANTRY</GoodyHutUpgradeUnitClass>
<AdvancedStartCost>30</AdvancedStartCost>
<XPValueAttack>3</XPValueAttack>
<XPValueDefense>3</XPValueDefense>
<Conscription>5</Conscription>
<UnitArtInfo>ART_DEF_UNIT_RUSSIANLINE</UnitArtInfo>
<UnitFlagIconOffset>47</UnitFlagIconOffset>
<IconAtlas>UNIT_ATLAS_2</IconAtlas>
<PortraitIndex>4</PortraitIndex>
</Row>
<Row>
<Class>UNITCLASS_RIFLEMAN</Class>
<Type>UNIT_AUSTRIANLINE</Type>
<PrereqTech>TECH_RIFLING</PrereqTech>
<Combat>34</Combat>
<Cost>225</Cost>
<Moves>2</Moves>
<CombatClass>UNITCOMBAT_GUN</CombatClass>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_DEFENSE</DefaultUnitAI>
<Description>TXT_KEY_UNIT_RIFLEMAN</Description>
<Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_RENAISSANCE_RIFLEMEN_TEXT</Civilopedia>
<Strategy>TXT_KEY_UNIT_RIFLEMAN_STRATEGY</Strategy>
<Help>TXT_KEY_UNIT_HELP_RIFLEMAN</Help>
<MilitarySupport>true</MilitarySupport>
<MilitaryProduction>true</MilitaryProduction>
<Pillage>true</Pillage>
<IgnoreBuildingDefense>true</IgnoreBuildingDefense>
<ObsoleteTech>TECH_REPLACEABLE_PARTS</ObsoleteTech>
<GoodyHutUpgradeUnitClass>UNITCLASS_GREAT_WAR_INFANTRY</GoodyHutUpgradeUnitClass>
<AdvancedStartCost>30</AdvancedStartCost>
<XPValueAttack>3</XPValueAttack>
<XPValueDefense>3</XPValueDefense>
<Conscription>5</Conscription>
<UnitArtInfo>ART_DEF_UNIT_AUSTRIANLINE</UnitArtInfo>
<UnitFlagIconOffset>47</UnitFlagIconOffset>
<IconAtlas>UNIT_ATLAS_2</IconAtlas>
<PortraitIndex>4</PortraitIndex>
</Row>
</Units>
<Unit_AITypes>
<Row>
<UnitType>UNIT_BRITLINE</UnitType>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_BRITLINE</UnitType>
<UnitAIType>UNITAI_DEFENSE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_BRITLINE</UnitType>
<UnitAIType>UNITAI_EXPLORE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_FRENCHLINE</UnitType>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_FRENCHLINE</UnitType>
<UnitAIType>UNITAI_DEFENSE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_FRENCHLINE</UnitType>
<UnitAIType>UNITAI_EXPLORE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_GERMANLINE</UnitType>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_GERMANLINE</UnitType>
<UnitAIType>UNITAI_DEFENSE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_GERMANLINE</UnitType>
<UnitAIType>UNITAI_EXPLORE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_RUSSIANLINE</UnitType>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_RUSSIANLINE</UnitType>
<UnitAIType>UNITAI_DEFENSE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_RUSSIANLINE</UnitType>
<UnitAIType>UNITAI_EXPLORE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
<UnitAIType>UNITAI_DEFENSE</UnitAIType>
</Row>
<Row>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
<UnitAIType>UNITAI_EXPLORE</UnitAIType>
</Row>
</Unit_AITypes>
<Unit_ClassUpgrades>
<Row>
<UnitType>UNIT_BRITLINE</UnitType>
<UnitClassType>UNITCLASS_GREAT_WAR_INFANTRY</UnitClassType>
</Row>
<Row>
<UnitType>UNIT_FRENCHLINE</UnitType>
<UnitClassType>UNITCLASS_GREAT_WAR_INFANTRY</UnitClassType>
</Row>
<Row>
<UnitType>UNIT_GERMANLINE</UnitType>
<UnitClassType>UNITCLASS_GREAT_WAR_INFANTRY</UnitClassType>
</Row>
<Row>
<UnitType>UNIT_RUSSIANLINE</UnitType>
<UnitClassType>UNITCLASS_GREAT_WAR_INFANTRY</UnitClassType>
</Row>
<Row>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
<UnitClassType>UNITCLASS_GREAT_WAR_INFANTRY</UnitClassType>
</Row>
</Unit_ClassUpgrades>
<Unit_Flavors>
<Row>
<UnitType>UNIT_BRITLINE</UnitType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_BRITLINE</UnitType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_FRENCHLINE</UnitType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_FRENCHLINE</UnitType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_GERMANLINE</UnitType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_GERMANLINE</UnitType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_RUSSIANLINE</UnitType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_RUSSIANLINE</UnitType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
</Unit_Flavors>
<Civilization_UnitClassOverrides>
<Row>
<CivilizationType>CIVILIZATION_ENGLAND</CivilizationType>
<UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType>
<UnitType>UNIT_BRITLINE</UnitType>
</Row>
<Row>
<CivilizationType>CIVILIZATION_FRANCE</CivilizationType>
<UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType>
<UnitType>UNIT_FRENCHLINE</UnitType>
</Row>
<Row>
<CivilizationType>CIVILIZATION_GERMANY</CivilizationType>
<UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType>
<UnitType>UNIT_GERMANLINE</UnitType>
</Row>
<Row>
<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
<UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType>
<UnitType>UNIT_RUSSIANLINE</UnitType>
</Row>
<Row>
<CivilizationType>CIVILIZATION_AUSTRIA</CivilizationType>
<UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType>
<UnitType>UNIT_AUSTRIANLINE</UnitType>
</Row>
</Civilization_UnitClassOverrides>
</GameData>


Note: I only used the most basic version of each unit for simplicity's sake. Also I had to make the Austrian 'civ5_ausmm1.fxsxml' file myself. All the graphic files where included in the mod and set to 'true.'
 
Sorry, I was out of town! This should work:

Spoiler :
Code:
UPDATE ArtDefine_UnitMemberInfos SET Model = 'civ5_genmm1.fxsxml' WHERE Type = 'ART_DEF_UNIT_MEMBER_MUSKETMAN';
INSERT INTO ArtDefine_UnitMemberInfos ('Type', 'Scale', 'ZOffset', 'Domain', 'Model', 'MaterialTypeTag', 'MaterialTypeSoundOverrideTag') VALUES ('ART_DEF_UNIT_MEMBER_MUSKETMAN2', 0.14, , , 'civ5_genmm2.fxsxml', 'CLOTH', 'FLESH');
INSERT INTO ArtDefine_UnitMemberInfos ('Type', 'Scale', 'ZOffset', 'Domain', 'Model', 'MaterialTypeTag', 'MaterialTypeSoundOverrideTag') VALUES ('ART_DEF_UNIT_MEMBER_MUSKETMAN3', 0.14, , , 'civ5_genmm3.fxsxml', 'CLOTH', 'FLESH');

UPDATE ArtDefine_UnitInfoMemberInfos SET NumMembers = 4 WHERE UnitMemberInfoType = 'ART_DEF_UNIT_MEMBER_MUSKETMAN';
INSERT INTO ArtDefine_UnitInfoMemberInfos ('UnitInfoType', 'UnitMemberInfoType', 'NumMembers') VALUES ('ART_DEF_UNIT_MUSKETMAN', 'ART_DEF_UNIT_MEMBER_MUSKETMAN2', 1);
INSERT INTO ArtDefine_UnitInfoMemberInfos ('UnitInfoType', 'UnitMemberInfoType', 'NumMembers') VALUES ('ART_DEF_UNIT_MUSKETMAN', 'ART_DEF_UNIT_MEMBER_MUSKETMAN3', 1);
INSERT INTO ArtDefine_UnitInfoMemberInfos ('UnitInfoType', 'UnitMemberInfoType', 'NumMembers') VALUES ('ART_DEF_UNIT_MUSKETMAN', 'ART_DEF_UNIT_MEMBER_MUSKETMAN', 4);
INSERT INTO ArtDefine_UnitInfoMemberInfos ('UnitInfoType', 'UnitMemberInfoType', 'NumMembers') VALUES ('ART_DEF_UNIT_MUSKETMAN', 'ART_DEF_UNIT_MEMBER_MUSKETMAN2', 1);
INSERT INTO ArtDefine_UnitInfoMemberInfos ('UnitInfoType', 'UnitMemberInfoType', 'NumMembers') VALUES ('ART_DEF_UNIT_MUSKETMAN', 'ART_DEF_UNIT_MEMBER_MUSKETMAN3', 1);

EDIT: And note the .fxsxml files were included; you shouldn't have had to make your own (note they have civ5_ prefixes, like the .gr2 files, but unlike the textures--with "genmm" referring to the generic teamcolor and "redmm" for the alternate white with red trim).
 
Sorry, I was out of town! This should work:

EDIT: And note the .fxsxml files were included; you shouldn't have had to make your own (note they have civ5_ prefixes, like the .gr2 files, but unlike the textures--with "genmm" referring to the generic teamcolor and "redmm" for the alternate white with red trim).

No prob. Thanks! I'll give it a whirl. FYI, the fxsxml I had to create was for Bernie's original Austrians not yours. I couldn't find any in his files.\

Edit: Sorry Bernie! I love your units. I just want to use them! I'll start a new thread. Hopefully the mod's can delete this.
 
Got it.

Sorry, it looks like I didn't quite understand what you're up to... that's what I get for not actually looking at your code.

At first glance, I note that you seem to be trying to replace the musketman in the SQL, and the rifleman in the XML. (Note the Napoleonic units are likely using flintlock muskets, an intermediate step between the 2 vanilla units).

EDIT: The best way to proceed is to include your entire built mod, probably in a new thread rather than hijacking this one.

[and yes, bernie didn't include fxsxml's for the austrians and dutch]
 
I wonder how everybody is doing right now? Also I noticed the Koreans, Indonesians and polynesians don't have any rifleman skins yet just saying.
 
Top Bottom