The attribute editor is a powerful tool that will allow you to add new races, new abilities, new modifiers and many more items into Dawn of War. If you have modded previous Relic games, you probably aware of the shiptunning spreadsheet, and the lua files that that spreadsheet edited. The attribute editor serves a similar purpose except it’s a lot more powerful, and is the next step for those tools.
The attribute editor may seem intimidating at first, due to the sheer amount of data that it contains, but once you get used to it, and the way it’s setup, working in it becomes fairly easy.
However, due to the amount of data that’s included in the attribute editor, we won’t be covering every single variable in this document. Some attributes and fields are self-explanatory others are usually not used. Don’t worry however, as the basic, and most important attributes will be covered in this document, and with these basics you’ll be well on your way to creating new units and new races.
The attribute editor interface is fairly simple, you can find more information on the way it's interface is setup in this section.
Categories
The attribute editor is separated into several different categories, each of which we will briefly list and summarize here, and which are explained in detail in the rest of this document. These categories are:
ability: This contains the abilities, per race. These include such thing as fleet of foot, frag grenades and even orbital bombardment. If you will be adding new abilities for units, this is where you’ll have to place them.
addon: These are addons to buildings, such as for instance the Tier 2 upgrade, or an elder aspect stone.
entity_blueprint: Each individual unit in the world is represented in the entity_blueprint. For instance, a single cultist, is considered an entity, as is a building.. This category contains building, environment, projectile and troop entities.
extension: Extensions are things that you can give to entities. For instance, you can give a entity health through the health_ext, or you can give a entity morale through the morale_add_ext, or a moving_ext thus giving the entity the ability to move. In general extensions is how you decide what a given entity can and can’t do. You can't add values to the extensions without code changes. Any changes to the values you make will becomes the default for all entities with the extension unless they have provided their own value.
formations: Formations are assigned to certain squads, and determine how the entities in a squad are placed. That is, they determine the position of units to of the squad relative to the leader.
modifier: This is useful in a large number of places from research to weapons fire to most of the abilities in game. Modifiers allow you to modify the attributes of entities in the world. There are three places where you can apply modifiers: Addons, Research, Entities (through the modifier_apply_ext). Heh, also weapons, and lots of other places. Modifiers serve three main purposed. The first and most obvious is to modify in game attributes at the enitity, squad or player level. They can also be used to turn on or off bits of game functionality in a dynamic and cumulative fashion (the enable mode). The third and most obscure use is to trigger art effects on units.
race: This items define some of the global variables for races, such as vehicle and squad caps, starting units, and so on.
requirements: These are requirements that can be added to buildigs or research and determine which research/buildings can be done and which can’t. Note that squad requirements are done through the squad_requirement_ext.
research: This is separated into the races, and consists basically of the tech tree for each race.
squad_blueprint: this determines the composition of a squad (the basic unit that you control in game)
squad_extension: These are a set of extenstions, similar to the extensions listed above, except they apply only to squads.
table:This list all the different tables for modifiers, extensions and the like. The only time you’d probably change these is when increasing the number of slots a given table has.
tuning_types: This contains high level tuning variables such as the starting resources a player gets, at what distance units get into melee, and so on.
type_armour: This lists out the different armour types in the game. Note that if you wanted to you could add your own armour types.
type_environment?: Types used in combination with some extensions. This is for instance used in order to attach listening posts to strategic points.
type_modifier?: These are categories that are applied to a modifier.
type_speech?: a category that determines the speech that is used when this unit is spotted
type_surface?: a category that determines the type surface that this entity has and thus the type of…. That gets played
type_synckil?l: These determine the type of sync kills that can occur during a game. Basically, here are the listed types of sync kills that an entity can use/perform on a unit with the given type. These are set by the type_ext
type_transportable?: these are categories of transportable units.
weapon: There are the weapons that a given entity can have/can carry, and are separated into two categories melee_weapons and shooting_weapons.
Additional information
Some collected information detailing in depth some aspects of Attribute Editor work:
These tutorials? are to do. Once complete, it should at least run through the basics with examples, of creating a new race down to weapons and abilities. They could be done in any order (eg: create a new building and then a squad to be produced from it), once they are complete.
It'll be me Finaldeath creating these most probably, so it might take a while to get them started! If someone else wants to do them (or other ones) please do, there is currently very little on creating new things for Dawn of War.
The tutorials should make, eventually, a new race, perhaps called something like Robin Hoods Army or Green Mile or something else that is slightly memorable.