SC2Mapster Wiki

How different data types interact: Unit structure in a diagram view *everyone can edit this.


This section contains documentation about the Fields Structure of all common classes used in the Data Editor. This documentation represents the backside of the Data Editor. It's only useful in several cases, as XML editing or manipulating Catalog functions in triggers.

Why ?[]

This listing is interesting when you want define a Catalog data. This can be interesting if you edit data with a XML Editor for example. This documentation can be also interesting when you use Catalog functions in Trigger Editor, or in the case of Data references in tooltips.

Useful in :

  • Data References in text variables (<d ref="">).
  • XML Edition of data
  • Functions in "Catalog" Category (Trigger Editor)

How is it organized ?[]

The listing is organized as a Tree view. You can see parents and children for each kind of field. You can know easily the path for several fields and access to them.

In the case of a field is an array, a "[]" is shown in the right of the name of the field.

How this listing has been generated ?[]

The Trigger Editor allows you to know all of the Catalog fields used when the game is launched. A simple TestMap with a small trigger allows you to see the entire tree organization for each class and subclass.

How can I use information here ?[]

When you meet a field that is an array (with a "[]" in the right-side), you must define an index. This can be :

  • An integer index (between 0 and n)
  • A predefined name, as "Spell", "Ally", "Melee", etc.

When you meet a field with children attributes (with a "+" in the left-side), you must define which attribute you want to get. You must make a separation between the parent and the child by using the "." separator. Exemple: "GrandFather.Father.Child".

When the name of a field is "value" or "value[]", you can access to these values by using the parent ascessor. Exemple: CFixed has a value field. You can define value by set the CFixed field directly.

What is exactly the difference between types, structures, classes and enumerations ?[]

These are different variable type concepts.

  • A Class (C) might be initialized with a constructor to exist. If this is the case, the XML constructor is displayed in the class subpage.
  • A Structure (S) is only a organization of many fields to order the fields better.
  • A Type (T) is ???
  • Enumerations (E) are a list of predefined values. You can only set one of the predefined values for an enumeration. The list of predefined values is displayed in the class subpage.

See the TUTORIAL to use this documentation[]


Main Classes[]


Art And Sound[]

Other classes[]






  • Fields Structure/TEditorCategories
  • Fields Structure/TTechAlias