Hello,
I've spent a fair bit of time searching the forum for an answer to this, as well as a couple hours trying to figure it out through trial and error, but I apologize if the answer to this is obvious or somewhere I should have thought to have looked.
It's actually a rather minor change I'm looking to make. I always find myself a little less interested in hero units because of the single unit. I imagine (for my sake--I don't know about the FFH flavor, or care too much in this case) that a hero is a powerful individual who leads an elite company of warriors. I mean, each FFH unit must represent hundreds or thousands of soldiers--it'd be dumb, to me, if a hero were by himself just slaughtering men by the hundred.
So, to make this more immersive for myself, what I've been trying to do is give heroes two other units within their unit, graphically (like how a ranger has two panthers). I've gotten the xml sorted out perfectly such that if I copy/paste the graphic/mesh xml into another unit's entry, it shows up fine (Chalid with two Radiant Guards) but with the hero unit itself, it's just a blank graphic.
I've already modded the hero promotion to remove the single unit display restriction. I've gone through the unit xml with a fine comb and nothing outside of basic stats and starting promotions (and pedia entries) is different between my ranger unit and my Chalid unit. No matter what I do, I can't get Chalid to have two Radiant Guard unit-graphics beside him.
My guess is that there's some crazy python thing involved, but I can't imagine why python would be involved specifically in hero unit graphics in a way that would make a hero's graphics appear blank only when he's set to have three unit-graphics instead of one.
Just to note, technically I'm playing the wildmana mod, but I'm not aware of any changes to hero unit code in wildmana at all. In any case, I'm including the xml here in case anyone can help. Thanks in advance.
I've spent a fair bit of time searching the forum for an answer to this, as well as a couple hours trying to figure it out through trial and error, but I apologize if the answer to this is obvious or somewhere I should have thought to have looked.
It's actually a rather minor change I'm looking to make. I always find myself a little less interested in hero units because of the single unit. I imagine (for my sake--I don't know about the FFH flavor, or care too much in this case) that a hero is a powerful individual who leads an elite company of warriors. I mean, each FFH unit must represent hundreds or thousands of soldiers--it'd be dumb, to me, if a hero were by himself just slaughtering men by the hundred.
So, to make this more immersive for myself, what I've been trying to do is give heroes two other units within their unit, graphically (like how a ranger has two panthers). I've gotten the xml sorted out perfectly such that if I copy/paste the graphic/mesh xml into another unit's entry, it shows up fine (Chalid with two Radiant Guards) but with the hero unit itself, it's just a blank graphic.
I've already modded the hero promotion to remove the single unit display restriction. I've gone through the unit xml with a fine comb and nothing outside of basic stats and starting promotions (and pedia entries) is different between my ranger unit and my Chalid unit. No matter what I do, I can't get Chalid to have two Radiant Guard unit-graphics beside him.
My guess is that there's some crazy python thing involved, but I can't imagine why python would be involved specifically in hero unit graphics in a way that would make a hero's graphics appear blank only when he's set to have three unit-graphics instead of one.
Just to note, technically I'm playing the wildmana mod, but I'm not aware of any changes to hero unit code in wildmana at all. In any case, I'm including the xml here in case anyone can help. Thanks in advance.
Spoiler :
<UnitInfo>
<Class>UNITCLASS_CHALID</Class>
<Type>UNIT_CHALID</Type>
<UniqueNames>
</UniqueNames>
<Special>NONE</Special>
<Capture>NONE</Capture>
<Combat>UNITCOMBAT_MELEE</Combat>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_HERO</DefaultUnitAI>
<Invisible>NONE</Invisible>
<SeeInvisible>NONE</SeeInvisible>
<Description>TXT_KEY_UNIT_CHALID</Description>
<Civilopedia>TXT_KEY_UNIT_GIBBON_PEDIA</Civilopedia>
<Strategy>TXT_KEY_UNIT_CHALID_STRATEGY</Strategy>
<Advisor>ADVISOR_MILITARY</Advisor>
<bAnimal>0</bAnimal>
<bFood>0</bFood>
<bNoBadGoodies>0</bNoBadGoodies>
<bOnlyDefensive>0</bOnlyDefensive>
<bNoCapture>0</bNoCapture>
<bQuickCombat>0</bQuickCombat>
<bRivalTerritory>0</bRivalTerritory>
<bMilitaryHappiness>1</bMilitaryHappiness>
<bMilitarySupport>0</bMilitarySupport>
<bMilitaryProduction>1</bMilitaryProduction>
<bPillage>1</bPillage>
<bSpy>0</bSpy>
<bSabotage>0</bSabotage>
<bDestroy>0</bDestroy>
<bStealPlans>0</bStealPlans>
<bInvestigate>0</bInvestigate>
<bCounterSpy>0</bCounterSpy>
<bFound>0</bFound>
<bGoldenAge>0</bGoldenAge>
<bInvisible>0</bInvisible>
<bFirstStrikeImmune>0</bFirstStrikeImmune>
<bNoDefensiveBonus>0</bNoDefensiveBonus>
<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
<bCanMoveImpassable>0</bCanMoveImpassable>
<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
<bFlatMovementCost>0</bFlatMovementCost>
<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
<bNukeImmune>0</bNukeImmune>
<bPrereqBonuses>0</bPrereqBonuses>
<bPrereqReligion>0</bPrereqReligion>
<bMechanized>0</bMechanized>
<bSuicide>0</bSuicide>
<bHiddenNationality>0</bHiddenNationality>
<bAlwaysHostile>0</bAlwaysHostile>
<UnitClassUpgrades>
</UnitClassUpgrades>
<UnitClassTargets>
</UnitClassTargets>
<UnitCombatTargets>
</UnitCombatTargets>
<UnitClassDefenders>
</UnitClassDefenders>
<UnitCombatDefenders>
</UnitCombatDefenders>
<FlankingStrikes>
</FlankingStrikes>
<UnitAIs>
<UnitAI>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</UnitAIs>
<NotUnitAIs>
</NotUnitAIs>
<Builds>
</Builds>
<ReligionSpreads>
</ReligionSpreads>
<CorporationSpreads>
</CorporationSpreads>
<GreatPeoples>
</GreatPeoples>
<Buildings>
</Buildings>
<ForceBuildings>
</ForceBuildings>
<HolyCity>NONE</HolyCity>
<ReligionType>RELIGION_THE_EMPYREAN</ReligionType>
<StateReligion>RELIGION_THE_EMPYREAN</StateReligion>
<PrereqReligion>RELIGION_THE_EMPYREAN</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<PrereqBuilding>NONE</PrereqBuilding>
<PrereqTech>TECH_RELIGIOUS_LAW</PrereqTech>
<TechTypes>
</TechTypes>
<BonusType>NONE</BonusType>
<PrereqBonuses>
</PrereqBonuses>
<ProductionTraits>
</ProductionTraits>
<Flavors>
</Flavors>
<iAIWeight>200</iAIWeight>
<iCost>300</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>-1</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iMoves>2</iMoves>
<bNoRevealMap>0</bNoRevealMap>
<iAirRange>0</iAirRange>
<iAirUnitCap>0</iAirUnitCap>
<iDropRange>0</iDropRange>
<iNukeRange>-1</iNukeRange>
<iWorkRate>0</iWorkRate>
<iBaseDiscover>0</iBaseDiscover>
<iDiscoverMultiplier>0</iDiscoverMultiplier>
<iBaseHurry>0</iBaseHurry>
<iHurryMultiplier>0</iHurryMultiplier>
<iBaseTrade>0</iBaseTrade>
<iTradeMultiplier>0</iTradeMultiplier>
<iGreatWorkCulture>0</iGreatWorkCulture>
<iEspionagePoints>0</iEspionagePoints>
<TerrainImpassables>
</TerrainImpassables>
<FeatureImpassables>
</FeatureImpassables>
<TerrainPassableTechs>
</TerrainPassableTechs>
<FeaturePassableTechs>
</FeaturePassableTechs>
<iCombat>7</iCombat>
<iCombatLimit>100</iCombatLimit>
<iAirCombat>0</iAirCombat>
<iAirCombatLimit>0</iAirCombatLimit>
<iXPValueAttack>32</iXPValueAttack>
<iXPValueDefense>16</iXPValueDefense>
<iFirstStrikes>0</iFirstStrikes>
<iChanceFirstStrikes>0</iChanceFirstStrikes>
<iInterceptionProbability>0</iInterceptionProbability>
<iEvasionProbability>0</iEvasionProbability>
<iWithdrawalProb>0</iWithdrawalProb>
<iCollateralDamage>0</iCollateralDamage>
<iCollateralDamageLimit>0</iCollateralDamageLimit>
<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
<iCityAttack>0</iCityAttack>
<iCityDefense>0</iCityDefense>
<iAnimalCombat>0</iAnimalCombat>
<iHillsAttack>0</iHillsAttack>
<iHillsDefense>0</iHillsDefense>
<TerrainNatives>
</TerrainNatives>
<FeatureNatives>
</FeatureNatives>
<TerrainAttacks>
</TerrainAttacks>
<TerrainDefenses>
</TerrainDefenses>
<FeatureAttacks>
</FeatureAttacks>
<FeatureDefenses>
</FeatureDefenses>
<UnitClassAttackMods>
</UnitClassAttackMods>
<UnitClassDefenseMods>
</UnitClassDefenseMods>
<UnitCombatMods>
</UnitCombatMods>
<UnitCombatCollateralImmunes>
</UnitCombatCollateralImmunes>
<DomainMods>
</DomainMods>
<BonusProductionModifiers>
</BonusProductionModifiers>
<iBombRate>0</iBombRate>
<iBombardRate>0</iBombardRate>
<SpecialCargo>NONE</SpecialCargo>
<DomainCargo>NONE</DomainCargo>
<iCargo>0</iCargo>
<iConscription>0</iConscription>
<iCultureGarrison>16</iCultureGarrison>
<iExtraCost>0</iExtraCost>
<iAsset>10</iAsset>
<iPower>21</iPower>
<UnitMeshGroups>
<iGroupSize>3</iGroupSize>
<fMaxSpeed>1.75</fMaxSpeed>
<fPadTime>1</fPadTime>
<iMeleeWaveSize>3</iMeleeWaveSize>
<iRangedWaveSize>0</iRangedWaveSize>
<UnitMeshGroup>
<iRequired>1</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_CHALID</EarlyArtDefineTag>
</UnitMeshGroup>
<UnitMeshGroup>
<iRequired>2</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_RADIANT_GUARD</EarlyArtDefineTag>
</UnitMeshGroup>
</UnitMeshGroups>
<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
<HotKey></HotKey>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<bGraphicalOnly>0</bGraphicalOnly>
<iHotKeyPriority>0</iHotKeyPriority>
<FreePromotions>
<FreePromotion>
<PromotionType>PROMOTION_HERO</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING2</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING3</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_SUN1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_LAW1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_DIVINE</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_SENTRY</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
</FreePromotions>
<LeaderPromotion>NONE</LeaderPromotion>
<iLeaderExperience>0</iLeaderExperience>
<bAbandon>1</bAbandon>
<iCombatDefense>7</iCombatDefense>
<iTier>3</iTier>
<DiploVoteType>DIPLOVOTE_OVERCOUNCIL</DiploVoteType>
<BonusAffinities>
<BonusAffinity>
<BonusType>BONUS_MANA_SUN</BonusType>
<iAffinity>2</iAffinity>
</BonusAffinity>
</BonusAffinities>
</UnitInfo>
<Class>UNITCLASS_CHALID</Class>
<Type>UNIT_CHALID</Type>
<UniqueNames>
</UniqueNames>
<Special>NONE</Special>
<Capture>NONE</Capture>
<Combat>UNITCOMBAT_MELEE</Combat>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_HERO</DefaultUnitAI>
<Invisible>NONE</Invisible>
<SeeInvisible>NONE</SeeInvisible>
<Description>TXT_KEY_UNIT_CHALID</Description>
<Civilopedia>TXT_KEY_UNIT_GIBBON_PEDIA</Civilopedia>
<Strategy>TXT_KEY_UNIT_CHALID_STRATEGY</Strategy>
<Advisor>ADVISOR_MILITARY</Advisor>
<bAnimal>0</bAnimal>
<bFood>0</bFood>
<bNoBadGoodies>0</bNoBadGoodies>
<bOnlyDefensive>0</bOnlyDefensive>
<bNoCapture>0</bNoCapture>
<bQuickCombat>0</bQuickCombat>
<bRivalTerritory>0</bRivalTerritory>
<bMilitaryHappiness>1</bMilitaryHappiness>
<bMilitarySupport>0</bMilitarySupport>
<bMilitaryProduction>1</bMilitaryProduction>
<bPillage>1</bPillage>
<bSpy>0</bSpy>
<bSabotage>0</bSabotage>
<bDestroy>0</bDestroy>
<bStealPlans>0</bStealPlans>
<bInvestigate>0</bInvestigate>
<bCounterSpy>0</bCounterSpy>
<bFound>0</bFound>
<bGoldenAge>0</bGoldenAge>
<bInvisible>0</bInvisible>
<bFirstStrikeImmune>0</bFirstStrikeImmune>
<bNoDefensiveBonus>0</bNoDefensiveBonus>
<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
<bCanMoveImpassable>0</bCanMoveImpassable>
<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
<bFlatMovementCost>0</bFlatMovementCost>
<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
<bNukeImmune>0</bNukeImmune>
<bPrereqBonuses>0</bPrereqBonuses>
<bPrereqReligion>0</bPrereqReligion>
<bMechanized>0</bMechanized>
<bSuicide>0</bSuicide>
<bHiddenNationality>0</bHiddenNationality>
<bAlwaysHostile>0</bAlwaysHostile>
<UnitClassUpgrades>
</UnitClassUpgrades>
<UnitClassTargets>
</UnitClassTargets>
<UnitCombatTargets>
</UnitCombatTargets>
<UnitClassDefenders>
</UnitClassDefenders>
<UnitCombatDefenders>
</UnitCombatDefenders>
<FlankingStrikes>
</FlankingStrikes>
<UnitAIs>
<UnitAI>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</UnitAIs>
<NotUnitAIs>
</NotUnitAIs>
<Builds>
</Builds>
<ReligionSpreads>
</ReligionSpreads>
<CorporationSpreads>
</CorporationSpreads>
<GreatPeoples>
</GreatPeoples>
<Buildings>
</Buildings>
<ForceBuildings>
</ForceBuildings>
<HolyCity>NONE</HolyCity>
<ReligionType>RELIGION_THE_EMPYREAN</ReligionType>
<StateReligion>RELIGION_THE_EMPYREAN</StateReligion>
<PrereqReligion>RELIGION_THE_EMPYREAN</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<PrereqBuilding>NONE</PrereqBuilding>
<PrereqTech>TECH_RELIGIOUS_LAW</PrereqTech>
<TechTypes>
</TechTypes>
<BonusType>NONE</BonusType>
<PrereqBonuses>
</PrereqBonuses>
<ProductionTraits>
</ProductionTraits>
<Flavors>
</Flavors>
<iAIWeight>200</iAIWeight>
<iCost>300</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>-1</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iMoves>2</iMoves>
<bNoRevealMap>0</bNoRevealMap>
<iAirRange>0</iAirRange>
<iAirUnitCap>0</iAirUnitCap>
<iDropRange>0</iDropRange>
<iNukeRange>-1</iNukeRange>
<iWorkRate>0</iWorkRate>
<iBaseDiscover>0</iBaseDiscover>
<iDiscoverMultiplier>0</iDiscoverMultiplier>
<iBaseHurry>0</iBaseHurry>
<iHurryMultiplier>0</iHurryMultiplier>
<iBaseTrade>0</iBaseTrade>
<iTradeMultiplier>0</iTradeMultiplier>
<iGreatWorkCulture>0</iGreatWorkCulture>
<iEspionagePoints>0</iEspionagePoints>
<TerrainImpassables>
</TerrainImpassables>
<FeatureImpassables>
</FeatureImpassables>
<TerrainPassableTechs>
</TerrainPassableTechs>
<FeaturePassableTechs>
</FeaturePassableTechs>
<iCombat>7</iCombat>
<iCombatLimit>100</iCombatLimit>
<iAirCombat>0</iAirCombat>
<iAirCombatLimit>0</iAirCombatLimit>
<iXPValueAttack>32</iXPValueAttack>
<iXPValueDefense>16</iXPValueDefense>
<iFirstStrikes>0</iFirstStrikes>
<iChanceFirstStrikes>0</iChanceFirstStrikes>
<iInterceptionProbability>0</iInterceptionProbability>
<iEvasionProbability>0</iEvasionProbability>
<iWithdrawalProb>0</iWithdrawalProb>
<iCollateralDamage>0</iCollateralDamage>
<iCollateralDamageLimit>0</iCollateralDamageLimit>
<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
<iCityAttack>0</iCityAttack>
<iCityDefense>0</iCityDefense>
<iAnimalCombat>0</iAnimalCombat>
<iHillsAttack>0</iHillsAttack>
<iHillsDefense>0</iHillsDefense>
<TerrainNatives>
</TerrainNatives>
<FeatureNatives>
</FeatureNatives>
<TerrainAttacks>
</TerrainAttacks>
<TerrainDefenses>
</TerrainDefenses>
<FeatureAttacks>
</FeatureAttacks>
<FeatureDefenses>
</FeatureDefenses>
<UnitClassAttackMods>
</UnitClassAttackMods>
<UnitClassDefenseMods>
</UnitClassDefenseMods>
<UnitCombatMods>
</UnitCombatMods>
<UnitCombatCollateralImmunes>
</UnitCombatCollateralImmunes>
<DomainMods>
</DomainMods>
<BonusProductionModifiers>
</BonusProductionModifiers>
<iBombRate>0</iBombRate>
<iBombardRate>0</iBombardRate>
<SpecialCargo>NONE</SpecialCargo>
<DomainCargo>NONE</DomainCargo>
<iCargo>0</iCargo>
<iConscription>0</iConscription>
<iCultureGarrison>16</iCultureGarrison>
<iExtraCost>0</iExtraCost>
<iAsset>10</iAsset>
<iPower>21</iPower>
<UnitMeshGroups>
<iGroupSize>3</iGroupSize>
<fMaxSpeed>1.75</fMaxSpeed>
<fPadTime>1</fPadTime>
<iMeleeWaveSize>3</iMeleeWaveSize>
<iRangedWaveSize>0</iRangedWaveSize>
<UnitMeshGroup>
<iRequired>1</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_CHALID</EarlyArtDefineTag>
</UnitMeshGroup>
<UnitMeshGroup>
<iRequired>2</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_RADIANT_GUARD</EarlyArtDefineTag>
</UnitMeshGroup>
</UnitMeshGroups>
<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
<HotKey></HotKey>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<bGraphicalOnly>0</bGraphicalOnly>
<iHotKeyPriority>0</iHotKeyPriority>
<FreePromotions>
<FreePromotion>
<PromotionType>PROMOTION_HERO</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING2</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING3</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_SUN1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_LAW1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_DIVINE</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_SENTRY</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
</FreePromotions>
<LeaderPromotion>NONE</LeaderPromotion>
<iLeaderExperience>0</iLeaderExperience>
<bAbandon>1</bAbandon>
<iCombatDefense>7</iCombatDefense>
<iTier>3</iTier>
<DiploVoteType>DIPLOVOTE_OVERCOUNCIL</DiploVoteType>
<BonusAffinities>
<BonusAffinity>
<BonusType>BONUS_MANA_SUN</BonusType>
<iAffinity>2</iAffinity>
</BonusAffinity>
</BonusAffinities>
</UnitInfo>