Proto.xml
From AgeofWiki
This section is about the proto.xml file found in your AoE3 directory. This file is used to give info about ever unit in the game. It specifies everything that happens; can it move, does it fly, how many hitpoints does it have, etc. Here, you will find the proto entry for the unit Artillery Depot. Every line is separated, and commented on so you can better understand how the proto works.
<Unit id ='227'
The ID to which the unit is referred to in-game.
name ='ArtilleryDepot'>
The protoname used for triggers and RMS. This name is "unfriendly" to the user, so instead uses a different name in-game.
<DBID>26</DBID>
<DisplayNameID>22922</DisplayNameID>
<ObstructionRadiusX>4.0000</ObstructionRadiusX>
<ObstructionRadiusZ>4.0000</ObstructionRadiusZ>
<MaxVelocity>0.0000</MaxVelocity>
<MovementType>land</MovementType>
<AnimFile>buildings\artillery_depot\artillery_depot.xml</AnimFile>
This line specifies where the animation file is.
<DeadReplacement>BuildingRubble4x4</DeadReplacement>
After the unit is killed, it will be replaced with whatever is on this line. In this case, it will be rubble that is 4 squares big, about the same size as the building.
<DeadReplacementLifespan>15</DeadReplacementLifespan>
<ImpactType>Wood</ImpactType>
<PhysicsInfo>house</PhysicsInfo>
<PlacementFile>buildinglarge.xml</PlacementFile>
This line gives a file for the game to read. The file tells where the building can be placed, and where it can't be placed.
<Icon>buildings\artillery_depot\artillery_depot_icon</Icon>
This line tells the location of the icon for the game to display for the unit.
<PortraitIcon>buildings\artillery_depot\artillery_depot_portrait</PortraitIcon>
<RolloverTextID>22920</RolloverTextID>
When you put your cursor over this building, text will pop up telling you what the building does. Instead of putting the description here, all of the descriptions are in a separate file called stringtable.xml. The specific text for this building is:
-
<String _locID ='22920'>Trains and upgrades artillery.</String>
-
<ShortRolloverTextID>25607</ShortRolloverTextID>
The specific text for this building is:
-
<String _locID ='25607'>Artillery building</String>
-
<InitialHitpoints>2500.0000</InitialHitpoints>
When you build this building, it needs to have hitpoints. This line specifies how many hitpoints the building starts with.
<MaxHitpoints>2500.0000</MaxHitpoints>
When a building is damaged, it can be repaired, but you can't keep repairing it forever. This line tells the game when you need to stop repairing it. This is usually the same as the Initialhitpoints.
<LOS>12.0000</LOS>
LOS stands for line of sight. This is how far a unit or building can see in any given direction.
<BuildPoints>30.0000</BuildPoints>
<Bounty>60.0000</Bounty>
<BuildBounty>30.0000</BuildBounty>
<Cost resourcetype ='Wood'>300.0000</Cost>
<BuildingWorkRate>1.0000</BuildingWorkRate>
<AllowedAge>2</AllowedAge>
<Armor type ='Siege' value ='0.0000'></Armor>
<BuilderLimit>8</BuilderLimit>
<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeBuildingsNotWalls</UnitType>
<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeShipsAndBuildings</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>Building</UnitType>
<UnitType>BuildingClass</UnitType>
<UnitType>MilitaryBuilding</UnitType>
<UnitType>HasBountyValue</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<UnitType>ConvertsHerds</UnitType>
<Train row ='0' page ='0' column ='0'>AbusGun</Train> <Train row ='0' page ='0' column ='1'>Grenadier</Train> <Train row ='0' page ='0' column ='2'>Falconet</Train> <Train row ='0' page ='0' column ='1'>SPCHoopThrowers</Train> <Train row ='0' page ='0' column ='3'>OrganGun</Train> <Train row ='0' page ='0' column ='4'>Culverin</Train> <Train row ='0' page ='0' column ='5'>Mortar</Train> <Train row ='0' page ='0' column ='6'>Rocket</Train> <Train row ='0' page ='0' column ='6'>GreatBombard</Train> <Train row ='0' page ='0' column ='6'>Cannon</Train>
<Tech row ='0' page ='1' column ='0'>GuardAbusGuns</Tech> <Tech row ='0' page ='1' column ='1'>RGPavlovGrenadiers</Tech> <Tech row ='0' page ='1' column ='1'>VeteranGrenadiers</Tech> <Tech row ='0' page ='1' column ='0'>ImperialAbusGun</Tech> <Tech row ='0' page ='1' column ='0'>VeteranAbusGuns</Tech> <Tech row ='0' page ='1' column ='4'>GrapeShot</Tech> <Tech row ='0' page ='1' column ='1'>RGBaratcuCorps</Tech> <Tech row ='0' page ='1' column ='2'>FieldGun</Tech> <Tech row ='0' page ='1' column ='5'>Howitzer</Tech> <Tech row ='0' page ='1' column ='1'>GuardGrenadiers</Tech> <Tech row ='0' page ='1' column ='2'>ImperialFieldGun</Tech> <Tech row ='0' page ='1' column ='4'>ImperialCulverin</Tech> <Tech row ='0' page ='1' column ='5'>ImperialHowitzer</Tech> <Tech row ='0' page ='1' column ='1'>ImperialPavlovs</Tech> <Tech row ='0' page ='1' column ='1'>ImperialBaratcu</Tech> <Tech row ='0' page ='1' column ='1'>ImperialGrenadiers</Tech> <Tech row ='0' page ='1' column ='3'>ImperialRabaulds</Tech> <Tech row ='0' page ='1' column ='3'>Rabauld</Tech>
<Flag>CollidesWithProjectiles</Flag>
<Flag>StartsAtFullEfficiency</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>NoIdleActions</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>Doppled</Flag>
<Flag>SelectWithObstruction</Flag>
<Flag>PaintTextureWhenPlacing</Flag>
<Flag>FlattenGround</Flag>
<Flag>HasGatherPoint</Flag>
<Flag>InitialGarrisonOnly</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='1'>Delete</Command>
<Command page ='10' column ='0'>SetGatherPointMilitary</Command>
</Unit>
