New Bronze- and Iron-Age Scenarios

Discussion in 'Civ4 - Ancient Europe' started by LuciusJunius, Apr 23, 2022.

  1. LuciusJunius

    LuciusJunius Chieftain

    Joined:
    Apr 21, 2022
    Messages:
    7
    Gender:
    Male
    Hello, everyone! Over the last year or so I’ve created two new scenarios for PAE VI focused on the Bronze Age and Iron Age. This is my first venture into the world of modding, so I apologize if anything here is clumsily presented.

    I noticed that almost all existing scenarios are focused on classical Greece and Rome, which is reasonable since, after all, the mod is called Pie’s Ancient EUROPE, not Pie’s Ancient Middle East :thumbsup: But PAE includes many cool Bronze- and Iron-Age leaders like Rameses, Hattushili, and Ashurbanipal who feel out of place going up against the likes of Caesar and Alexander the Great. So, I created an XL map of the Mid East in two versions, one populated with Bronze Age leaders and the other populated with Iron Age leaders. I’m uploading the WB files here for others to try out.

    I originally created them in the base version of PAE VI, but I have now successfully tested them in both patches 6.7 and 6.11 so they should be compatible with all patches.

    WB_BronzeAgeMidEast.CivBeyondSwordWBSave

    This is an extra-large (127x90) map of the Middle East populated with Bronze Age leaders such as Rameses, Hattushili, Akhenaten, and Agamemnon. There are no useable Iron bonuses on this map, though some may unavoidably get “discovered” through quarry building. Resources are mostly located where they were actually available during the Bronze Age, but I have introduced some inaccuracies for the sake of playability. For example, Lead is found rather more frequently than in reality. This is because I’m using it as a stand-in for arsenic. There’s very little tin in the Middle East, so most early bronze was actually made with copper and arsenic, rather than copper and tin. Still, trading with your opponents will be a necessity, not an option! There is no stone or metal of any sort in Mesopotamia.

    The start date is 5800 BC, and the game speed is Epic. The scenario lasts 560 turns and ends in 1200 BC. By this point, most civs will be part-way through the Iron Age Era in the tech tree. Initially, I tried making it a shorter game that would actually end at the end of Bronze Age Era, but I found this to be unplayable. There are too many key techs that aren’t available until the Iron Age Era. It’s hard to fight much of a war without rams, supply wagons, or vassal states. But the lack of Iron means that, in practice, you’ll still be limited to what you can build with bronze.

    The Nile, Tigris, and Euphrates are all navigable! The Bronze Age had few roads, so water transport will be vital to extending your empire. Not to mention that it’s a highly trade-dependent map and the Keftion unit will empower civs that can train it to seek out vital resources in distant lands up- and down-river. I have made these rivers mostly out of Bank and Ford tiles because they carry trade earlier than Coast tiles. I did find that I had to include a few Coast tiles, though, because the AI doesn’t see any value in settling next to Bank tiles. (Can't tell if this has been changed in the latest patches.)

    WB_IronAgeMidEast.CivBeyondSwordWBSave

    This is an extra-large (127x90) map of the Middle East populated with Iron Age leaders such as Nebuchadnezzar, Ashurbanipal, Cyrus, and Solomon. There is useable Iron on this map, but it’s mostly located in northern Anatolia and southern Nubia, so you’ll still have to build robust trade networks. You’ll also find that terrain features and bonuses have changed dramatically in some places from what they were on the Bronze Age map. This reflects the changes in climate and river courses over the intervening centuries.

    The start date is 5240 BC, giving you time to build a powerful economic and cultural foundation through the Neolithic and Bronze Age eras, but this scenario lasts 680 turns, ending in 500 BC. Depending on difficulty, you may actually reach the Classical Era by this point, but that’s reasonable for the calendar date.

    General questions/complaints which I anticipate about both scenarios:

    1 – “Why are there so many bonuses?”

    This is to encourage the AIs to trade with each other. Like I said, it’s a highly trade-dependent map. Normally, the AIs are pretty stingy about trading resources, but if the ruler of Cyprus has six Copper bonuses and nothing else, he’ll be more likely to consider trading away this valuable strategic resource.

    2 – “Why on earth are there walruses in Egypt?”

    This stems from my frustration with the lack of a hippopotamus bonus. Building an Ivory Market requires either Walrus or Elephant, but most ivory in the ancient Mediterranean was actually hippopotamus ivory from Egypt. There were no elephants in Egypt at all until Alexander the Great’s generals brought them back from India. I get annoyed when the AI running Egypt decides to storm across the map with an army of War Elephants in 1000 BC. Sorry, I know this is just a pet peeve. Creating a new bonus would’ve made the map incompatible with official versions of PAE, so instead I went into Assets>XML>Text>PAEGameText_PAEV and changed TXT_KEY_BONUS_WALRUS to read “Hippopotamus” instead of “Walrus.” Obviously, this is a change you will have to make on your own, since it is not part of the map script.

    3 – “Why is ‘No Barbarians’ turned on?”

    Relax, ‘No Barbarians’ doesn’t actually mean no barbarians. It doesn’t prevent barbarians spawning from bonuses like Deer and Barbary Lions, or from the Barbarian Stronghold improvement. It only prevents them spawning in unmodified terrain. I use ‘No Barbarians’ because of another pet peeve, which is camels spawning in Egypt. There were no camels in Egypt until the Persian conquest in 525 BC. I’ve compensated for ‘No Barbarians’ with a liberal distribution of the Deer, Lion, Horse, and Camel bonuses in their correct geographic locations. You may also find the Elephant bonus buried deep in the desert around Nubia and Syria. This is to allow wild elephants to spawn in these regions without letting any civ claim the bonus and train war elephants. There are so many barbarian-spawning bonuses that if you play this map with ‘Raging Barbarians’ turned on, you will get utterly overwhelmed by bears and lions!

    4 – “It’s impossible to build an interesting civ using only the techs of the Bronze Age Era.”

    Which is why I’ve added enough turns to the Bronze Age scenario that you should be able to access key techs from the Iron Age Era well before the end of the game. That said, I have also introduced earlier capabilities by changing a few things in the mod itself. None of these changes are written into the map (except the above-mentioned walruses in Egypt), so it’s still fully compatible with official versions of the mod. The only change that had a significant impact on gameplay was allowing the Babylonian and Sumerian civs to research Shipbuilding. This allows them to establish trade with the copper-mining civs in Bahrain and Oman at a much earlier date. (I’m actually puzzled as to why these civs can’t research Shipbuilding in the official mod, since historically they dominated the Persian Gulf trade very early on.) I also created two new units, the Papyrus Boat and the Reed Boat, which can be built even earlier but cannot enter Coast or Ocean tiles (only Bank and Ford tiles). However, the AIs don’t seem to want to build these units, so their impact on gameplay has been limited. In a later post I’ll provide step-by-step instructions and code for making these changes in case anybody wants to try them out.

    In the meantime, happy empire-building!
     

    Attached Files:

    HobyMorgan likes this.
  2. pie_at

    pie_at PAE-Let's play ancient

    Joined:
    May 29, 2009
    Messages:
    1,766
    Gender:
    Male
    Location:
    Austria
    Great idea. I am sorry, I couldn't reply earlier, I am very busy at the moment.
    I certaintly have a look at both scenarios and look at the TXT-KEYs to add them to PAE.
    And I will have a look to add some things to PAE to let your scenarios shine in all its glory ;)
    (eg, papyrus boat or barque (is there an english word for small boat like in other languages (fr: barque, it/es: barca, de: Barke)?
    and perhaps I can think of something about the rhinos....
     
  3. LuciusJunius

    LuciusJunius Chieftain

    Joined:
    Apr 21, 2022
    Messages:
    7
    Gender:
    Male
    No worries, Pie! Thank you for taking a look at this. I've been pretty busy too, which is why I'm just now getting around to posting that code I mentioned.

    I created a base unit called the Papyrus Boat with the following stats: movement 1, cargo space 1 (carries land units), movement 3, cannot enter Coast or Ocean. It requires the Internal Colonization tech and the Cyperus Papyrus bonus. It's technically available for any player to build, but since the Cyperus Papyrus resource only grows in Egypt, only civs located along the Nile Valley will be able to build it. However, the Tigris and Euphrates rivers had other reeds which the ancients also used to build boats, so I created a replacement unit called the Reed Boat for the Babylonians and Sumerians. It has the same stats as the Papyrus Boat but doesn't require Cyperus Papyrus to train. I took the graphics for both units from the Realism Invictus mod.

    In CIV4UnitClassInfos, I added the following code between the entries for UNITCLASS_CARVEL_WAR and UNITCLASS_KONTERE:
    Code:
        <UnitClassInfo>
          <Type>UNITCLASS_REED_BOAT</Type>
          <Description>Reed Boat</Description>
          <iMaxGlobalInstances>-1</iMaxGlobalInstances>
          <iMaxTeamInstances>-1</iMaxTeamInstances>
          <iMaxPlayerInstances>-1</iMaxPlayerInstances>
          <iInstanceCostModifier>3</iInstanceCostModifier>
          <DefaultUnit>UNIT_REED_BOAT</DefaultUnit>
        </UnitClassInfo>
    In CIV4UnitInfos, I added the following code between the entries for UNIT_CARVEL_WAR and UNIT_KONTERE:
    Code:
        <UnitInfo>
          <Class>UNITCLASS_REED_BOAT</Class>
          <Type>UNIT_REED_BOAT</Type>
          <UniqueNames/>
          <Special>NONE</Special>
          <Capture>NONE</Capture>
          <Combat>UNITCOMBAT_NAVAL</Combat>
          <Domain>DOMAIN_SEA</Domain>
          <DefaultUnitAI>UNITAI_ATTACK_SEA</DefaultUnitAI>
          <Invisible>NONE</Invisible>
          <SeeInvisible>INVISIBLE_SUBMARINE</SeeInvisible>
          <Description>Papyrus Boat</Description>
          <Civilopedia>TXT_KEY_UNIT_CARVEL_PEDIA</Civilopedia>
          <Strategy/>
          <Advisor>ADVISOR_MILITARY</Advisor>
          <bAnimal>0</bAnimal>
          <bFood>0</bFood>
          <bNoBadGoodies>0</bNoBadGoodies>
          <bOnlyDefensive>0</bOnlyDefensive>
          <bNoCapture>0</bNoCapture>
          <bQuickCombat>0</bQuickCombat>
          <bRivalTerritory>1</bRivalTerritory>
          <bMilitaryHappiness>0</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>1</bMechanized>
          <bRenderBelowWater>1</bRenderBelowWater>
          <bSuicide>0</bSuicide>
          <bHiddenNationality>0</bHiddenNationality>
          <bAlwaysHostile>0</bAlwaysHostile>
          <UnitClassUpgrades>
            <UnitClassUpgrade>
              <UnitClassUpgradeType>UNITCLASS_KONTERE</UnitClassUpgradeType>
              <bUnitClassUpgrade>1</bUnitClassUpgrade>
            </UnitClassUpgrade>
          </UnitClassUpgrades>
          <UnitClassTargets/>
          <UnitCombatTargets/>
          <UnitClassDefenders/>
          <UnitCombatDefenders/>
          <FlankingStrikes/>
          <UnitAIs>
            <UnitAI>
              <UnitAIType>UNITAI_ATTACK_SEA</UnitAIType>
              <bUnitAI>1</bUnitAI>
            </UnitAI>
            <UnitAI>
              <UnitAIType>UNITAI_SETTLER_SEA</UnitAIType>
              <bUnitAI>1</bUnitAI>
            </UnitAI>
            <UnitAI>
              <UnitAIType>UNITAI_ASSAULT_SEA</UnitAIType>
              <bUnitAI>1</bUnitAI>
            </UnitAI>
          </UnitAIs>
          <NotUnitAIs/>
          <Builds/>
          <ReligionSpreads/>
          <CorporationSpreads/>
          <GreatPeoples/>
          <Buildings/>
          <ForceBuildings/>
          <HolyCity>NONE</HolyCity>
          <ReligionType>NONE</ReligionType>
          <StateReligion>NONE</StateReligion>
          <PrereqReligion>NONE</PrereqReligion>
          <PrereqCorporation>NONE</PrereqCorporation>
          <PrereqBuilding>NONE</PrereqBuilding>
          <PrereqTech>TECH_COLONIZATION</PrereqTech>
          <TechTypes/>
          <BonusType>BONUS_PAPYRUS</BonusType>
          <PrereqBonuses/>
          <ProductionTraits/>
          <Flavors/>
          <iAIWeight>1</iAIWeight>
          <iCost>40</iCost>
          <iHurryCostModifier>0</iHurryCostModifier>
          <iAdvancedStartCost>100</iAdvancedStartCost>
          <iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
          <iMinAreaSize>5</iMinAreaSize>
          <iMoves>3</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>
            <TerrainImpassable>
              <TerrainType>TERRAIN_COAST</TerrainType>
              <bTerrainImpassable>1</bTerrainImpassable>
            </TerrainImpassable>
            <TerrainImpassable>
              <TerrainType>TERRAIN_OCEAN</TerrainType>
              <bTerrainImpassable>1</bTerrainImpassable>
            </TerrainImpassable>
          </TerrainImpassables>
          <FeatureImpassables/>
          <TerrainPassableTechs/>
          <FeaturePassableTechs/>
          <iCombat>1</iCombat>
          <iCombatLimit>100</iCombatLimit>
          <iAirCombat>0</iAirCombat>
          <iAirCombatLimit>0</iAirCombatLimit>
          <iXPValueAttack>2</iXPValueAttack>
          <iXPValueDefense>1</iXPValueDefense>
          <iFirstStrikes>0</iFirstStrikes>
          <iChanceFirstStrikes>0</iChanceFirstStrikes>
          <iInterceptionProbability>0</iInterceptionProbability>
          <iEvasionProbability>0</iEvasionProbability>
          <iWithdrawalProb>20</iWithdrawalProb>
          <iCollateralDamage>100</iCollateralDamage>
          <iCollateralDamageLimit>80</iCollateralDamageLimit>
          <iCollateralDamageMaxUnits>2</iCollateralDamageMaxUnits>
          <iCityAttack>0</iCityAttack>
          <iCityDefense>0</iCityDefense>
          <iAnimalCombat>0</iAnimalCombat>
          <iHillsAttack>0</iHillsAttack>
          <iHillsDefense>0</iHillsDefense>
          <TerrainNatives/>
          <FeatureNatives/>
          <TerrainAttacks/>
          <TerrainDefenses/>
          <FeatureAttacks/>
          <FeatureDefenses/>
          <UnitClassAttackMods/>
          <UnitClassDefenseMods/>
          <UnitCombatMods/>
          <UnitCombatCollateralImmunes/>
          <DomainMods/>
          <BonusProductionModifiers/>
          <iBombRate>0</iBombRate>
          <iBombardRate>0</iBombardRate>
          <SpecialCargo>NONE</SpecialCargo>
          <DomainCargo>DOMAIN_LAND</DomainCargo>
          <iCargo>1</iCargo>
          <iConscription>0</iConscription>
          <iCultureGarrison>0</iCultureGarrison>
          <iExtraCost>0</iExtraCost>
          <iAsset>2</iAsset>
          <iPower>2</iPower>
          <UnitMeshGroups>
            <iGroupSize>1</iGroupSize>
            <fMaxSpeed>2.20</fMaxSpeed>
            <fPadTime>1</fPadTime>
            <iMeleeWaveSize>1</iMeleeWaveSize>
            <iRangedWaveSize>1</iRangedWaveSize>
            <UnitMeshGroup>
              <iRequired>1</iRequired>
              <EarlyArtDefineTag>ART_DEF_UNIT_REED_BOAT</EarlyArtDefineTag>
            </UnitMeshGroup>
          </UnitMeshGroups>
          <FormationType>FORMATION_TYPE_MACHINE</FormationType>
          <HotKey/>
          <bAltDown>0</bAltDown>
          <bShiftDown>0</bShiftDown>
          <bCtrlDown>0</bCtrlDown>
          <iHotKeyPriority>0</iHotKeyPriority>
          <FreePromotions/>
          <LeaderPromotion>NONE</LeaderPromotion>
          <iLeaderExperience>0</iLeaderExperience>
        </UnitInfo>
        <UnitInfo>
          <Class>UNITCLASS_REED_BOAT</Class>
          <Type>UNIT_REED_BOAT2</Type>
          <UniqueNames/>
          <Special>NONE</Special>
          <Capture>NONE</Capture>
          <Combat>UNITCOMBAT_NAVAL</Combat>
          <Domain>DOMAIN_SEA</Domain>
          <DefaultUnitAI>UNITAI_ATTACK_SEA</DefaultUnitAI>
          <Invisible>NONE</Invisible>
          <SeeInvisible>INVISIBLE_SUBMARINE</SeeInvisible>
          <Description>Reed Boat</Description>
          <Civilopedia>TXT_KEY_UNIT_CARVEL_PEDIA</Civilopedia>
          <Strategy/>
          <Advisor>ADVISOR_MILITARY</Advisor>
          <bAnimal>0</bAnimal>
          <bFood>0</bFood>
          <bNoBadGoodies>0</bNoBadGoodies>
          <bOnlyDefensive>0</bOnlyDefensive>
          <bNoCapture>0</bNoCapture>
          <bQuickCombat>0</bQuickCombat>
          <bRivalTerritory>1</bRivalTerritory>
          <bMilitaryHappiness>0</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>1</bMechanized>
          <bRenderBelowWater>1</bRenderBelowWater>
          <bSuicide>0</bSuicide>
          <bHiddenNationality>0</bHiddenNationality>
          <bAlwaysHostile>0</bAlwaysHostile>
          <UnitClassUpgrades>
            <UnitClassUpgrade>
              <UnitClassUpgradeType>UNITCLASS_KONTERE</UnitClassUpgradeType>
              <bUnitClassUpgrade>1</bUnitClassUpgrade>
            </UnitClassUpgrade>
          </UnitClassUpgrades>
          <UnitClassTargets/>
          <UnitCombatTargets/>
          <UnitClassDefenders/>
          <UnitCombatDefenders/>
          <FlankingStrikes/>
          <UnitAIs>
            <UnitAI>
              <UnitAIType>UNITAI_ATTACK_SEA</UnitAIType>
              <bUnitAI>1</bUnitAI>
            </UnitAI>
            <UnitAI>
              <UnitAIType>UNITAI_SETTLER_SEA</UnitAIType>
              <bUnitAI>1</bUnitAI>
            </UnitAI>
            <UnitAI>
              <UnitAIType>UNITAI_ASSAULT_SEA</UnitAIType>
              <bUnitAI>1</bUnitAI>
            </UnitAI>
          </UnitAIs>
          <NotUnitAIs/>
          <Builds/>
          <ReligionSpreads/>
          <CorporationSpreads/>
          <GreatPeoples/>
          <Buildings/>
          <ForceBuildings/>
          <HolyCity>NONE</HolyCity>
          <ReligionType>NONE</ReligionType>
          <StateReligion>NONE</StateReligion>
          <PrereqReligion>NONE</PrereqReligion>
          <PrereqCorporation>NONE</PrereqCorporation>
          <PrereqBuilding>NONE</PrereqBuilding>
          <PrereqTech>TECH_COLONIZATION</PrereqTech>
          <TechTypes/>
          <BonusType>NONE</BonusType>
          <PrereqBonuses/>
          <ProductionTraits/>
          <Flavors/>
          <iAIWeight>1</iAIWeight>
          <iCost>40</iCost>
          <iHurryCostModifier>0</iHurryCostModifier>
          <iAdvancedStartCost>100</iAdvancedStartCost>
          <iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
          <iMinAreaSize>5</iMinAreaSize>
          <iMoves>3</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>
            <TerrainImpassable>
              <TerrainType>TERRAIN_COAST</TerrainType>
              <bTerrainImpassable>1</bTerrainImpassable>
            </TerrainImpassable>
            <TerrainImpassable>
              <TerrainType>TERRAIN_OCEAN</TerrainType>
              <bTerrainImpassable>1</bTerrainImpassable>
            </TerrainImpassable>
          </TerrainImpassables>
          <FeatureImpassables/>
          <TerrainPassableTechs/>
          <FeaturePassableTechs/>
          <iCombat>1</iCombat>
          <iCombatLimit>100</iCombatLimit>
          <iAirCombat>0</iAirCombat>
          <iAirCombatLimit>0</iAirCombatLimit>
          <iXPValueAttack>2</iXPValueAttack>
          <iXPValueDefense>1</iXPValueDefense>
          <iFirstStrikes>0</iFirstStrikes>
          <iChanceFirstStrikes>0</iChanceFirstStrikes>
          <iInterceptionProbability>0</iInterceptionProbability>
          <iEvasionProbability>0</iEvasionProbability>
          <iWithdrawalProb>20</iWithdrawalProb>
          <iCollateralDamage>100</iCollateralDamage>
          <iCollateralDamageLimit>80</iCollateralDamageLimit>
          <iCollateralDamageMaxUnits>2</iCollateralDamageMaxUnits>
          <iCityAttack>0</iCityAttack>
          <iCityDefense>0</iCityDefense>
          <iAnimalCombat>0</iAnimalCombat>
          <iHillsAttack>0</iHillsAttack>
          <iHillsDefense>0</iHillsDefense>
          <TerrainNatives/>
          <FeatureNatives/>
          <TerrainAttacks/>
          <TerrainDefenses/>
          <FeatureAttacks/>
          <FeatureDefenses/>
          <UnitClassAttackMods/>
          <UnitClassDefenseMods/>
          <UnitCombatMods/>
          <UnitCombatCollateralImmunes/>
          <DomainMods/>
          <BonusProductionModifiers>
            <BonusProductionModifier>
              <BonusType>BONUS_PAPYRUS</BonusType>
              <iProductonModifier>100</iProductonModifier>
            </BonusProductionModifier>
          </BonusProductionModifiers>
          <iBombRate>0</iBombRate>
          <iBombardRate>0</iBombardRate>
          <SpecialCargo>NONE</SpecialCargo>
          <DomainCargo>DOMAIN_LAND</DomainCargo>
          <iCargo>1</iCargo>
          <iConscription>0</iConscription>
          <iCultureGarrison>0</iCultureGarrison>
          <iExtraCost>0</iExtraCost>
          <iAsset>2</iAsset>
          <iPower>2</iPower>
          <UnitMeshGroups>
            <iGroupSize>1</iGroupSize>
            <fMaxSpeed>2.20</fMaxSpeed>
            <fPadTime>1</fPadTime>
            <iMeleeWaveSize>1</iMeleeWaveSize>
            <iRangedWaveSize>1</iRangedWaveSize>
            <UnitMeshGroup>
              <iRequired>1</iRequired>
              <EarlyArtDefineTag>ART_DEF_UNIT_REED_BOAT2</EarlyArtDefineTag>
            </UnitMeshGroup>
          </UnitMeshGroups>
          <FormationType>FORMATION_TYPE_MACHINE</FormationType>
          <HotKey/>
          <bAltDown>0</bAltDown>
          <bShiftDown>0</bShiftDown>
          <bCtrlDown>0</bCtrlDown>
          <iHotKeyPriority>0</iHotKeyPriority>
          <FreePromotions/>
          <LeaderPromotion>NONE</LeaderPromotion>
          <iLeaderExperience>0</iLeaderExperience>
        </UnitInfo>
    For simplicity, I didn't create text keys. Regarding the names, English doesn't use "barque" that way (except when Egyptologists talk about the barque of the sun-god Ra - I think they do that because many early Egyptologists were French). The normal word we use for a small watercraft is simply "boat."

    In CIV4CivilizationInfos, I inserted the following code right before the </Units> end-tag of the Babylonian and Sumerian civs:
    Code:
            <Unit>
              <UnitClassType>UNITCLASS_REED_BOAT</UnitClassType>
              <UnitType>UNIT_REED_BOAT2</UnitType>
            </Unit>
    In CIV4ArtDefines_Unit, I inserted the following code between the entries for ART_DEF_UNIT_CARVEL_WAR and ART_DEF_UNIT_KONTERE:
    Code:
        <UnitArtInfo>
          <Type>ART_DEF_UNIT_REED_BOAT</Type>
          <Button>Art/Interface/Buttons/Units/galley_egypt.dds</Button>
          <fScale>0.22</fScale>
          <fInterfaceScale>1.0</fInterfaceScale>
          <bActAsLand>0</bActAsLand>
          <bActAsAir>0</bActAsAir>
          <NIF>Art/Units/Ships/Reed_Boat/ee2_papyrusboat.nif</NIF>
          <KFM>Art/Units/Ships/Reed_Boat/ee2_papyrusboat.kfm</KFM>
          <SHADERNIF>Art/Units/Ships/Reed_Boat/ee2_papyrusboat_fx.nif</SHADERNIF>
          <ShadowDef>
            <ShadowNIF>Art/Units/01_UnitShadows/GalleyShadow.nif</ShadowNIF>
            <ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
            <fShadowScale>1.0</fShadowScale>
          </ShadowDef>
          <iDamageStates>4</iDamageStates>
          <TrailDefinition>
            <Texture>Art/Shared/water_ship_wake.dds</Texture>
            <fWidth>1</fWidth>
            <fLength>180.0</fLength>
            <fTaper>1</fTaper>
            <fFadeStartTime>.2</fFadeStartTime>
            <fFadeFalloff>0.35</fFadeFalloff>
          </TrailDefinition>
          <fBattleDistance>0.35</fBattleDistance>
          <fRangedDeathTime>0.31</fRangedDeathTime>
          <bSmoothMove>1</bSmoothMove>
          <fAngleInterpRate>720.0</fAngleInterpRate>
          <fBankRate>.2</fBankRate>
          <fExchangeAngle>25.0</fExchangeAngle>
          <bActAsRanged>0</bActAsRanged>
          <TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
          <AudioRunSounds>
            <AudioRunTypeLoop>LOOPSTEP_OCEAN1</AudioRunTypeLoop>
            <AudioRunTypeEnd>ENDSTEP_OCEAN1</AudioRunTypeEnd>
          </AudioRunSounds>
          <SelectionSound>AS3D_UN_OCEAN_END1</SelectionSound>
          <ActionSound>AS3D_UN_OCEAN_END1</ActionSound>
        </UnitArtInfo>
        <UnitArtInfo>
          <Type>ART_DEF_UNIT_REED_BOAT2</Type>
          <Button>Art/Interface/Buttons/Units/galley_egypt.dds</Button>
          <fScale>0.22</fScale>
          <fInterfaceScale>1.0</fInterfaceScale>
          <bActAsLand>0</bActAsLand>
          <bActAsAir>0</bActAsAir>
          <NIF>Art/Units/Ships/Reed_Boat2/canoe.nif</NIF>
          <KFM>Art/Units/Ships/canoe_native_north/galley.kfm</KFM>
          <SHADERNIF>Art/Units/Ships/Reed_Boat2/canoe_fx.nif</SHADERNIF>
          <ShadowDef>
            <ShadowNIF>Art/Units/01_UnitShadows/GalleyShadow.nif</ShadowNIF>
            <ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
            <fShadowScale>1.0</fShadowScale>
          </ShadowDef>
          <iDamageStates>4</iDamageStates>
          <TrailDefinition>
            <Texture>Art/Shared/water_ship_wake.dds</Texture>
            <fWidth>1</fWidth>
            <fLength>180.0</fLength>
            <fTaper>1</fTaper>
            <fFadeStartTime>.2</fFadeStartTime>
            <fFadeFalloff>0.35</fFadeFalloff>
          </TrailDefinition>
          <fBattleDistance>0.35</fBattleDistance>
          <fRangedDeathTime>0.31</fRangedDeathTime>
          <bSmoothMove>1</bSmoothMove>
          <fAngleInterpRate>720.0</fAngleInterpRate>
          <fBankRate>.2</fBankRate>
          <fExchangeAngle>25.0</fExchangeAngle>
          <bActAsRanged>0</bActAsRanged>
          <TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
          <AudioRunSounds>
            <AudioRunTypeLoop>LOOPSTEP_OCEAN1</AudioRunTypeLoop>
            <AudioRunTypeEnd>ENDSTEP_OCEAN1</AudioRunTypeEnd>
          </AudioRunSounds>
          <SelectionSound>AS3D_UN_OCEAN_END1</SelectionSound>
          <ActionSound>AS3D_UN_OCEAN_END1</ActionSound>
        </UnitArtInfo>
    As I mentioned, I copied the art files from Realism Invictus. I've just spend twenty minutes digging through RI's file directory and can't for the life of me figure out exactly where I got them from. You probably know your way around RI's art files better than I do. The RI units that I used were the Papyrus Boat (UU for Egyptian Empire, replaces Galley), and the Reed Boat (UU for Incan Empire, replaces Galley).
     
  4. Antigenes2

    Antigenes2 Warlord

    Joined:
    Jan 11, 2013
    Messages:
    246
    Looks interesting. I'll download and try these.
     
    LuciusJunius likes this.
  5. pie_at

    pie_at PAE-Let's play ancient

    Joined:
    May 29, 2009
    Messages:
    1,766
    Gender:
    Male
    Location:
    Austria
    Lucius, I couldn't find the ART_DEF_UNIT_REED_BOAT. is it really part of RI ?
    ... but I can use the papyrus boat for the Babs and Sums too.
     
    Last edited: Apr 28, 2022
  6. LuciusJunius

    LuciusJunius Chieftain

    Joined:
    Apr 21, 2022
    Messages:
    7
    Gender:
    Male
    I created ART_DEF_UNIT_REED_BOAT in PAE, so no you won't find it in RI. What you said, though, helped me remember where I got the art from. The art tag for the papyrus boat in RI is ART_DEF_UNIT_GALLEY_EGYPT, and art tag for the reed boat in RI is ART_DEF_UNIT_GALLEY_NATIVE_SOUTH.
     
  7. pie_at

    pie_at PAE-Let's play ancient

    Joined:
    May 29, 2009
    Messages:
    1,766
    Gender:
    Male
    Location:
    Austria
    thx, found it now.
     
  8. LuciusJunius

    LuciusJunius Chieftain

    Joined:
    Apr 21, 2022
    Messages:
    7
    Gender:
    Male
    I just had a thought. What if desert animals like camels and hyenas spawned from the Oasis terrain feature rather from Desert base terrain? Of course this would give more control over where animals spawn on custom-built maps, but I think it would also make gameplay more realistic in general. I've thought it's odd to have so many animals in the desert when deserts are mostly lifeless except around water sources.
     
  9. brettschmitt

    brettschmitt Warlord

    Joined:
    Feb 1, 2019
    Messages:
    139
    Gender:
    Male
    Hi Lucius, I am just working on all the animal spawns these days. And also the way they walk around on the map, like with forbidden terrains and features.
    There are many voices calling for "all animals should spawn only on special resources" (or Oasis also is rare like a resource). But then the world would be quity empty! We want the world to be dangerous! You should not be able to walk far with your first units at game start. So animals everywhere are an essential feature of PAE.

    And btw, Oasis is not possible to be chosen as native feature in xml with the current version. But that will probably change with the new dll version that is in the pipeline (will take some time though). But I have already changed the animal system alot so far... That will come with the next patch -> PAE 6.12

    (The dll version in the far future will then be PAE VII btw.)
     
    Last edited: May 3, 2022
  10. LuciusJunius

    LuciusJunius Chieftain

    Joined:
    Apr 21, 2022
    Messages:
    7
    Gender:
    Male
    Yeah, I get that. The thing about animal spawning is just my personal preference, and I knew it might not fit with you guys' vision for the mod.
     

Share This Page