AoE3DE Comprehensive Data Guide ProtoUnit and ProtoAction Data
注:原作者不明
ProtoUnits (protoy.xml)Attributes
● Legacy
- DBID: Sets the DBID for the ProtoUnit. Used for Post-Game and MP stat collection. It’s a good practice to assign a unique DBID for every new protoUnit, even though it’s not required for proper game functionality.
- Icon: WPF path for unit icon, relative to Data\wpfg.
- PortraitIcon: WPF path for unit portrait, relative to Data\wpfg.
- MinimapIcon: Path to minimap icon texture, relative to the Art folder.
- MinimapColor: ProtoUnit minimap colour. Takes RGB colour parameters, which expect floating point values in the [0.0, 1.0] interval.
<MinimapColor red='1.0000' blue='1.0000' green='1.0000'></MinimapColor>
- MinimapShape: If set to 1, the minimap indicator becomes smaller if protoUnit is under the fog of war. Unused, but still functional. Original intended purpose unknown.
- MinimapSize: Size of minimap indicator. Defaults to 2.0, if not set.
- AnimFile: Path to protoUnit animfile, relative to the Art folder.
- PlacementFile: Path to protoUnit placementRules file, relative to Data\placement rules.
- DisplayNameID: String ID for protoUnit displayed name.
- EditorNameID: String ID for protoUnit displayed name in Scenario Editor listing.
- RolloverTextID: String ID for protoUnit long rollover.
- ShortRolloverTextID: String ID for protoUnit short rollover.
- WorldTooltipStringID: String ID to be used for the persistently displayed world tooltip. Appears to be intended to be somehow used in the Grand Conquest game mode or in some sort of tutorial mode, different from the one in the retail release. Unused, but still functional. Requires WorldToolTip protoUnitFlag to be set for proper functionality.
- ClassNameID: AoM Leftover. String ID for protoUnit class to be displayed in long rollover. Unused, but still functional.
- GoodAgainstStringID: AoM Leftover. String ID for protoUnit “Good Against” text to be displayed in long rollover. Unused, but still functional.
- BadAgainstStringID: AoM Leftover. String ID for protoUnit “Bad Against” text to be displayed in long rollover. Unused, but still functional. - MaxHitpoints: ProtoUnit maximum amount of hitpoints - InitialHitpoints: ProtoUnit initial amount of hitpoints.
- LOS: ProtoUnit Line of Sight.
- MaxVelocity: ProtoUnit base speed value.
- MaxRunVelocity: Appears to be protoUnit maximum speed for running,either when triggered through trigger effects or through extra speed gained through performing attack actions with the SpeedBoost flag set. Used in calculations that define when Jog and Run anims should be used by the unit.
- MovementType: Defines which terrains the unit can move through.
- TurnRate: ProtoUnit turning/rotation rate.
- BatchTrainNumber: Unused and deprecated. Original purpose unknown.
- UnitAIType: ProtoUnit UnitAI type. Used for auto-attack behaviour, target selection, and other features related to overall unitAI handling.
- InitialUnitAIStance: AoM leftover. Defines the initial stance for the UnitAI (Aggressive, Defensive, Passive or StandGround). Likely overridden by SquadMode data.
- PopulationCount: ProtoUnit population count.
- SubCiv: Restricts the training of this protoUnit to being allied to a particular minor civilization, or to a Native Settlement belonging to the specified minor civilization. Binds the unit build limit to a multiple of the alliance level towards the defined minor civilization and the number of Trading Posts built over Native Settlements belonging to it.
- TrainPoints: Total amount of time in seconds required to train protoUnit.
- Cost: ProtoUnit cost. Takes one parameter, resourcetype, which sets the resource type for each entry.
- CostEscalation: Multiplicative factor to be applied over protoUnit’s cost for every instance of the same protoUnit queued or in the map. Unused, but functional.
- ScoreValue: ProtoUnit contribution to player score when trained or built. If set, overrides default value calculated from the cost.
- InitialResource: Initial amount of resources carried by the unit. Takes one parameter, resourcetype, which sets the resource type
<InitialResource resourcetype='Food'>50.0000</InitialResource>
- InitialXP: Unused and deprecated.
- CarryCapacity: Maximum amount of resources that can be carried by the unit. Takes one parameter, resourcetype, which sets the resource type. For units that don’t carry resources, sets the resource types it’s allowed to gather from when performing a Hunting action.
<CarryCapacity resourcetype='Food'>500.0000</CarryCapacity>
- GathererLimit: Maximum number of units that can gather from this unit at a given time.
- BuilderLimit: Maximum number of units that can build this unit when at foundation state at a given time.
- ContainedSpeedBonus: Unused in AoE3 Legacy. In AoE3DE, defines how much each garrisoned unit contributes to its speed. Applied linearly.
- ObstructionRadiusX: ProtoUnit obstruction radius in the X axis.
- ObstructionRadiusZ: ProtoUnit obstruction radius in the Z axis.
- ObstructionRadius: ProtoUnit obstruction radius in both X and Z axes. Unused, but functional.
- FlattenTerrainExpand: Appears to define the additional radius by which the protoUnit causes the terrain to be flattened, when placed as a building.
- AllowedHeightVariance: Maximum elevation height variance allowed over the area where the protoUnit is to be placed.
- WanderDistance: Wandering distance value used by huntable herds.
- BuildPoints: Total amount of time in seconds required to build protoUnit, when working at a 1.0 Work Rate over the Foundation.
- BuildingWorkRate: Work rate value used by training, researching and maintaining (auto-spawn) actions.
- IdleTimeout: AoM Leftover. Unused and deprecated.
- BoredTimeout: AoM Leftover. Unused and deprecated.
- RechargeTime: Recharge time used by Charged Actions/Abilities.
- CorpseDecalTime: Unused and deprecated. Original purpose unknown.
- CorpseDecayDelay: Delay time in seconds before decay ‘sinking’ happens after unit death.
- Lifespan: ProtoUnit lifespan.
- Decay: Defines the delay time and the duration of decaying fadeout. Takes two parameters, decay and duration.
<Decay delay='0.0000' duration='2.0000'></Decay>
- PopulationCapAddition: Amount of population capacity to be added to player’s population once protoUnit is fully built.
- DeadReplacement: ProtoUnit to be placed upon destruction.
- BuildReplacement: ProtoUnit that replaces originally placed unit once it’s fully built.
- Footprint: Unused and deprecated.
- BuildLimit: ProtoUnit build limit.
- MaxContained: Maximum number of garrisoned units allowed.
- ProjectileProtoUnit: Projectile unit to be used for ranged attack actions that do not explicitly define a projectile unit. Unused by common ranged units, but functional.
- ResourceDecay: Resource decay rate for dead herdables and huntables.
- SocketUnitType: Unit type where the protoUnit can be placed over, serving as a socket for the unit.
- SocketOffsetX: Offset for socket placement in the X axis.
- SocketOffsetZ: Offset for socket placement in the Z axis.
- AutoAttackRange: ProtoUnit auto-attack range.
- ResourceSubType: ProtoUnit resource subtype. Used for defining the gather cursor and by resource tasking code.
- CreationFadeTime: Unused and deprecated. Original purpose unknown.
- ProjectileSpinPeriod: Spinning period for projectile protoUnits. Causes projectiles to spin at the set period when shot. Unused, but functional.
- HeightBob: AoM leftover. Causes the altitude of flying units to slightly oscillate by periods of time while idle. Takes two parameters, period and magnitude. Unused, but likely functional
<HeightBob period="6.0000" magnitude="2.0000"></HeightBob>
- PartisanType: Partisan protounit to be spawned upon building’s destruction, if partisans are enabled in the current civilization. Unused, but functional.
- PartisanCount: Amount of partisan units to be spawned, if PartisanType is properly set and partisans are enabled in the current civilization. Unused, but functional.
- Bounty: Amount of XP to be granted to enemy players upon the unit’s destruction. From Knights of The Mediterranean AoE3DE DLC onwards, it can take a resourcetype attribute, allowing the assignment of rewards of different resources, besides XP.
- BuildBounty: Amount of XP to be granted upon unit training or building full construction. From The African Royals AoE3DE DLC onwards, it can take a resourcetype attribute, allowing the assignment of build rewards of different resources, besides XP.
<BuildBounty>7.0000</BuildBounty>
<BuildBounty resourcetype='Wood'>7.0000</BuildBounty>
- SoundVariant: AoM leftover. Unused, liikely deprecated or rendered obsolete.
- BallisticSplashProto: AoM leftover. ProtoUnit for SFX to be rendered upon projectile colliding on water. Unused, and, most likely, rendered obsolete by impact effect data.
- BallisticBounceProto: Unused and deprecated.
- BallisticImpactProto: AoM leftover. ProtoUnit for SFX to be rendered upon projectile colliding against structures. Unused, and, most likely, rendered obsolete by impact effect data.
- GrantsPower: Unused and deprecated. Original purpose unknown.
- GrantsPowerDuration: Unused and deprecated. Original purpose unknown.
- ImpactType: ProtoUnit impact type. Used for impact effects rendering.
- PhysicsInfo: Path to protoUnit physics info files, relative to Data\physics.
- SelectionPriority: ProtoUnit selection priority value.
- AllowedAge: Minimum age required to build or train the unit.
- Armor: ProtoUnit Armor. Takes two parameters, type and value. From The African Royals AoE3DE onwards, protoUnits can have multiple functional Armor entries pointing to different damage types.
<Armor type='Ranged' value='0.7500'></Armor>
- SlotCount: Attribute intended to be used by the AirCraft system. Unused and not functional in AoE3.
- AutoGatherType: Resource type for auto resource tasking. Unused, but likely functional.
- PlacementBuffer: Additional avoidance radius to be used at building placement. Unused, but likely functional.
- AnimStateMachine: Path to protoUnit animation state machine file, relative to Data\animstatemachine
- ButtonPos: AoM leftover. Unused and deprecated.
- Train: Adds a unit to the protoUnit’s command panel. Takes three parameters: row, page, column. Despite being always set and processed by the game, the row parameter is effectively unused.
<Train row='0' page='0' column='3'>Skirmisher</Train>
From the original AoE3DE onwards, it can take a trShow attribute which, when set on a Train entry on the Trading Post, will force the unit to be shown in Trading Posts placed on Trade Routes.
<Train row='0' page='0' column='3' trshow='1'>deChasqui</Train>
- Tech: Adds a tech to the protoUnit’s command panel. Takes three parameters: row, page, column. Despite being always set and processed by the game, the row parameter is effectively unused.
<Tech row='0' page='2' column='1'>NatBowyery</Tech>
From the original AoE3DE onwards, it can take a natShow attribute which, when set on a
Tech entry on the Trading Post, will force the technology to be shown in Trading Posts placed on Native Settlements, regardless of the civilization.
<Tech row='0' page='1' column='3' natshow='1'>deMightyTambos</Tech>
- Command: Adds a ProtoUnitCommand to the protoUnit’s command panel. Takes two parameters: page, column.
<Command page='10' column='2'>SetGatherPointEconomy</Command>
- Contain: Allows the set unitType to be garrisoned within the unit. Can take the following parameters:
• external: If set to 1, contained units will be rendered outside containing building or unit.
• popException: If set to 1, contained units of the given type won’t have their population accounted for, while they are garrisoned. Available from original AoE3DE release onwards.
• popDiscount: Deducts set value from the population of garrisoned units of the given type. Available from original AoE3DE release onwards.
• inDelay: Delay time in seconds for garrisoning units of the given unit type. Available from Knights of the Mediterranean AoE3DE DLC onwards.
• outDelay: Delay time in seconds for ejecting units of the given unit type. Requires MeteredGarrison protoUnit flag to be set in container for proper functionality. Available from Knights of the Mediterranean AoE3DE DLC onwards.
- Tactics: Path to protoUnit tactics file, relative to Data\tactics.
● Definitive Edition
- SocketedMinimapIcon: Path to minimap icon texture to be used by building if it’s placed over a socket, relative to the Art folder.
- CivFlagOverride: Path to civilization flag texture, relative to the Art folder, to be used instead of the flag of the current civilization.
- LegacyHotkeyContext: Hotkey context to be used for Legacy hotkey keybinding. Should be set to a valid hotkey context.
- UnitHelpOverride: ProtoUnit of the help/history/compendium entry to be used, instead of the one of the current protoUnit.
- KnockoutTextID: String ID to be used for the knockout message.
- KnockoutRescueHitpointRatio: Minimum hitpoint ratio in which rescuing a
knocked-out unit by bringing friendly units to its vicinity is allowed. If it’s not set, default hardcoded values will be used, according to the civType.
- HoverTextOverride: String ID to be used when hovering over a foundation of this particular protoUnit. Uses default hardcoded formatted string, if not set.
- BuildTextOverride: String ID to be used for the notification text once the building is fully built. Uses default hardcoded formatted string, if not set.
- ContainedHitPointBonus: Defines how much each garrisoned unit contributes to its hit points. Applied linearly.
- PlacementObstructionRadiusX: Obstruction radius to be used while placing foundations in the X axis. Used by buildings with crops, whose placement is restricted by ObstructionAtLeastFromType conditions.
- PlacementObstructionRadiusZ: Obstruction radius to be used while placing foundations in the Z axis. Used by buildings with crops, whose placement is restricted by ObstructionAtLeastFromType conditions.
- FarmingRadiusX: Radius of the walkable area of a farm building in the X axis. Requires the UseFarmingAnims protoUnit flag to be set for proper functionality.
- FarmingRadiusZ: Radius of the walkable area of a farm building in the Z axis. Requires the UseFarmingAnims protoUnit flag to be set for proper functionality.
- FarmingNumStops: Number of different positions an unit can move to after finishing a gathering cycle in a farming building, including its current position. Can’t be set to a value lower than two. Requires the UseFarmingAnims protoUnit flag to be set for proper functionality. If it’s not set, it will default to the hardcoded value of 8.
- FarmingObstructionRadiusX: Obstruction radius in the X axis to be used by farming code. Doesn’t affect farm placement or building.
- FarmingObstructionRadiusZ: Obstruction radius in the Z axis to be used by farming code. Doesn’t affect farm placement or building.
- ChargeUsageTime: Amount of time in seconds in which the main Charged Action is usable, after it’s first triggered.
- AuxRechargeTime: Recharge time used by Secondary Charged Actions/Abilities.
- AuxChargeUsageTime: Amount of time in seconds in which the secondary Charged
Action is usable, after it’s first triggered.
- DodgeChance: Chance of dodging an attack. Defaults to a hardcoded value if not set. Requires protoUnit flag CanDodgeAttacks to be set for proper functionality.