"Heroes" can be anything - a blue-haired archer, a dark-haired red-armored female Heavy Longswordsman, gimme ideas!
INSERT INTO ArtDefine_UnitInfos (Type, DamageStates, Formation) VALUES
('ART_DEF_UNIT_ELF_WARRIOR', 1, 'UnFormed');
INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType, UnitMemberInfoType, NumMembers) VALUES
('ART_DEF_UNIT_ELF_WARRIOR', 'ART_DEF_UNIT_MEMBER_ELF_WARRIOR', 1),
('ART_DEF_UNIT_ELF_WARRIOR', 'ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V2', 1),
('ART_DEF_UNIT_ELF_WARRIOR', 'ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V3', 1);
INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag) VALUES
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR', 0.140000000596046, 'elf_warrior.fxsxml', 'CLOTH', 'FLESH'),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V2', 0.140000000596046, 'elf_warrior_v2.fxsxml', 'CLOTH', 'FLESH'),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V3', 0.140000000596046, 'elf_warrior_v3.fxsxml', 'CLOTH', 'FLESH');
INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, ShortMoveRadius, ShortMoveRate, TargetHeight, HasRefaceAfterCombat) VALUES
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V2', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V3', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1);
INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, VisKillStrengthMin, VisKillStrengthMax, WeaponTypeTag, WeaponTypeSoundOverrideTag, MissTargetSlopRadius) VALUES
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR', 0, 0, 0, 0, 'BLUNT', 'BLUNT', 0),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V2', 0, 0, 0, 0, 'BLUNT', 'BLUNT', 0),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V2', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V3', 0, 0, 0, 0, 'BLUNT', 'BLUNT', 0),
('ART_DEF_UNIT_MEMBER_ELF_WARRIOR_V3', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0);
INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset) VALUES
('ART_DEF_UNIT_ELF_WARRIOR', 'Unit', 'sv_warrior.dds');
INSERT INTO ArtDefine_UnitInfos (Type, DamageStates, Formation) VALUES
('ART_DEF_UNIT_ELF_ARCHER', 1, 'UnFormed');
INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType, UnitMemberInfoType, NumMembers) VALUES
('ART_DEF_UNIT_ELF_ARCHER', 'ART_DEF_UNIT_MEMBER_ELF_ARCHER', 1),
('ART_DEF_UNIT_ELF_ARCHER', 'ART_DEF_UNIT_MEMBER_ELF_ARCHER_V2', 1),
('ART_DEF_UNIT_ELF_ARCHER', 'ART_DEF_UNIT_MEMBER_ELF_ARCHER_V3', 1);
INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag) VALUES
('ART_DEF_UNIT_MEMBER_ELF_ARCHER', 0.140000000596046, 'elf_archer.fxsxml', 'CLOTH', 'FLESH'),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V2', 0.140000000596046, 'elf_archer_v2.fxsxml', 'CLOTH', 'FLESH'),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V3', 0.140000000596046, 'elf_archer_v3.fxsxml', 'CLOTH', 'FLESH');
INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, ShortMoveRadius, ShortMoveRate, TargetHeight, HasRefaceAfterCombat, HasShortRangedAttack, HasLongRangedAttack, ReformBeforeCombat) VALUES
('ART_DEF_UNIT_MEMBER_ELF_ARCHER', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 1, 1, 1),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V2', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 1, 1, 1),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V3', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 1, 1, 1);
INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, VisKillStrengthMin, VisKillStrengthMax, WeaponTypeTag, WeaponTypeSoundOverrideTag, MissTargetSlopRadius) VALUES
('ART_DEF_UNIT_MEMBER_ELF_ARCHER', 0, 0, 0, 0, 'ARROW', 'ARROW', 10.0),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V2', 0, 0, 0, 0, 'ARROW', 'ARROW', 10.0),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V2', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V3', 0, 0, 0, 0, 'ARROW', 'ARROW', 10.0),
('ART_DEF_UNIT_MEMBER_ELF_ARCHER_V3', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0);
INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset) VALUES
('ART_DEF_UNIT_ELF_ARCHER', 'Unit', 'sv_archer.dds');
INSERT INTO ArtDefine_UnitInfos (Type, DamageStates, Formation) VALUES
('ART_DEF_UNIT_ELF_SPEARMAN', 1, 'UnFormed');
INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType, UnitMemberInfoType, NumMembers) VALUES
('ART_DEF_UNIT_ELF_SPEARMAN', 'ART_DEF_UNIT_MEMBER_ELF_SPEARMAN', 1),
('ART_DEF_UNIT_ELF_SPEARMAN', 'ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V2', 1),
('ART_DEF_UNIT_ELF_SPEARMAN', 'ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V3', 1);
INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag) VALUES
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN', 0.140000000596046, 'elf_spearman.fxsxml', 'CLOTH', 'FLESH'),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V2', 0.140000000596046, 'elf_spearman_v2.fxsxml', 'CLOTH', 'FLESH'),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V3', 0.140000000596046, 'elf_spearman_v3.fxsxml', 'ARMOR', 'ARMOR');
INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, ShortMoveRadius, ShortMoveRate, TargetHeight, HasRefaceAfterCombat, HasShortRangedAttack, HasLongRangedAttack, ReformBeforeCombat) VALUES
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 0, 0, 0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V2', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 0, 0, 0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V3', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 0, 0, 0);
INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, VisKillStrengthMin, VisKillStrengthMax, WeaponTypeTag, WeaponTypeSoundOverrideTag, MissTargetSlopRadius) VALUES
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN', 0, 0, 0, 0, 'BLUNT', 'BLUNT', 0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V2', 0, 0, 0, 0, 'BLUNT', 'BLUNT', 0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V2', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V3', 0, 0, 0, 0, 'BLUNT', 'BLUNT', 0),
('ART_DEF_UNIT_MEMBER_ELF_SPEARMAN_V3', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0);
INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset) VALUES
('ART_DEF_UNIT_ELF_SPEARMAN', 'Unit', 'sv_spearman.dds');
UPDATE Units SET UnitArtInfo = 'ART_DEF_UNIT_ELF_SPEARMAN' WHERE Type = 'UNIT_SPEARMAN';
INSERT INTO ArtDefine_UnitInfos (Type, DamageStates, Formation) VALUES
('ART_DEF_UNIT_ELF_SWORDSMAN', 1, 'UnFormed');
INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType, UnitMemberInfoType, NumMembers) VALUES
('ART_DEF_UNIT_ELF_SWORDSMAN', 'ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN', 1),
('ART_DEF_UNIT_ELF_SWORDSMAN', 'ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V2', 1),
('ART_DEF_UNIT_ELF_SWORDSMAN', 'ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V3', 1);
INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag) VALUES
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN', 0.140000000596046, 'elf_swordsman.fxsxml', 'CLOTH', 'CLOTH'),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V2', 0.140000000596046, 'elf_swordsman_v2.fxsxml', 'CLOTH', 'CLOTH'),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V3', 0.140000000596046, 'elf_swordsman_v3.fxsxml', 'ARMOR', 'ARMOR');
INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, ShortMoveRadius, ShortMoveRate, TargetHeight, HasRefaceAfterCombat, HasShortRangedAttack, HasLongRangedAttack, ReformBeforeCombat) VALUES
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 0, 0, 0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V2', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 0, 0, 0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V3', 'Idle Attack RunCharge AttackCity Bombard Death BombardDefend Run Fortify CombatReady Walk AttackCharge', 12.0, 0.349999994039536, 8.0, 1, 0, 0, 0);
INSERT INTO ArtDefine_UnitMemberCombatWeapons (UnitMemberType, "Index", SubIndex, VisKillStrengthMin, VisKillStrengthMax, WeaponTypeTag, WeaponTypeSoundOverrideTag, MissTargetSlopRadius) VALUES
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN', 0, 0, 0, 0, 'METAL', 'SWORD', 0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V2', 0, 0, 0, 0, 'METAL', 'SWORD', 0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V2', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V3', 0, 0, 0, 0, 'METAL', 'SWORD', 0),
('ART_DEF_UNIT_MEMBER_ELF_SWORDSMAN_V3', 1, 0, 10.0, 20.0, 'FLAMING_ARROW', NULL, 10.0);
INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset) VALUES
('ART_DEF_UNIT_ELF_SWORDSMAN', 'Unit', 'sv_swordsman');
UPDATE Units SET UnitArtInfo = 'ART_DEF_UNIT_ELF_SWORDSMAN' WHERE Type = 'UNIT_SWORDSMAN';
Nope, your archers are awesome. I just need them a biiit differently.
One being all 'honorable looking' (very good description, isn't it?) and light-colored while the other more forest-dweller looking, with dark green and brown colors.
Fair enough!
It is way easier to change my team's color than to make you create a new model just for me.
INSERT INTO ArtDefine_UnitInfos (Type, DamageStates, Formation) VALUES
('ART_DEF_UNIT_ELF_WORKER', 1, 'UnFormed');
INSERT INTO ArtDefine_UnitInfoMemberInfos (UnitInfoType, UnitMemberInfoType, NumMembers) VALUES
('ART_DEF_UNIT_ELF_WORKER', 'ART_DEF_UNIT_MEMBER_ELF_WORKER', 1);
INSERT INTO ArtDefine_UnitMemberInfos (Type, Scale, Model, MaterialTypeTag, MaterialTypeSoundOverrideTag) VALUES
('ART_DEF_UNIT_MEMBER_ELF_WORKER', 0.140000000596046, 'elf_worker.fxsxml', 'CLOTH', 'FLESH');
INSERT INTO ArtDefine_UnitMemberCombats (UnitMemberType, EnableActions, ShortMoveRadius, ShortMoveRate, TargetHeight, HasRefaceAfterCombat, HasShortRangedAttack, HasLongRangedAttack, ReformBeforeCombat) VALUES
('ART_DEF_UNIT_MEMBER_ELF_WORKER', 'Idle Death BombardDefend Run', NULL, NULL, NULL, 1, NULL, NULL, NULL);
INSERT INTO ArtDefine_StrategicView (StrategicViewType, TileType, Asset) VALUES
('ART_DEF_UNIT_ELF_WORKER', 'Unit', 'sv_worker.dds');
It can be robed or not, the Mage that you mention in the OP should be good too.
About the ship - it can be something like this.