War3map.w3u
From Source Peek Wiki
W3U files have a initial long and then comes two tables. Both look the same. First table is original units table (Original Blizzard Units). Second table is user-created units table (Units created by the map designer).
Header: int: W3U Version = 1 x bytes: Original Units table* y bytes: User-created units table*
Data:
- Table definition:
int: number n of units on this table. If 0 on original table, then skip default unit table. This is the number of following units. Even if we don't have any changes on original table, this value must be there. n times a unit definition structure*.
- Unit definition structure:
char[4]: original unit ID (get the IDs from "Units\UnitData.slk" of war3.mpq) char[4]: new unit ID. If it is on original table, this is 0, since it isn't used. int: number m of modifications for this unit m times a modification structure*
- Modification structure:
char[4] modification ID code (get the IDs from "Units\UnitMetaData.slk" of war3.mpq) int: variable type* t (0=int, 1=real, 2=unreal, 3=String,...) t type: value (length depends on the type t specified before) int: end of unit definition (usually 0)
- Variable types:
0=int 1=real 2=unreal 3=string 4=bool 5=char 6=unitList 7=itemList 8=regenType 9=attackType 10=weaponType 11=targetType 12=moveType 13=defenseType 14=pathingTexture 15=upgradeList 16=stringList 17=abilityList 18=heroAbilityList 19=missileArt 20=attributeType 21=attackBits
Credits
Most of the W3U File specifications is from BlacKDicK.
