'attributes'

Each .tsf file comes with a text file name 'attributes' which gives details on how that card works and many other attributes that make that card unique. A list of all card attributes can be found here.

Syntax
The syntax for the attributes is simple enough - each line represents a single variable name, followed by a '=' and what that variable is assigned as. If any line is missing any of these three parts, a run-time error will occur when trying to parse the card (white-space and blank lines will cause this to happen), and the card will be ignored. However, certain attributes allow for a blank assignment. fo = bar Every card is expected to start with an assignment specifying the cards type, which can be 'pony', 'ship', or 'goal'. The required assignments after that line vary depending on the card's type. Typically, the use of quotes (") and apostrophes (') are not required.

Types
The first line of the attributes file is always the assignment of the card's type. The types are 'pony', 'ship', and 'goal'.

pony
A pony card is formatted like so: type = pony name = STRING keywords = COMMA-SEPARATED STRINGS gender = STRING race = STRING number_of_ponies = INTEGER power = POWER power_activates_on = ACTIVATION EVENT power_is_mandatory = BOOLEAN power_is_copyable = BOOLEAN Every pony card will have attributes for it's 'type', 'name', 'keywords', 'gender', 'race', 'number_of_ponies', and 'power'. If the power is of type 'None' or that particular power doesn't require additional information (such as the 'startcard' power), then no other details are required. Otherwise, 'power_activates_on', 'power_is_mandentory', and 'power_is_copyable' will need to be specified.

ship
A ship card is formatted like so: type = ship name = STRING power = POWER power_activates_on = ACTIVATION EVENT power_is_mandatory = BOOLEAN Every ship card is required to have the attributes 'type', 'name', 'power', 'power_activates_on', and 'power_is_mandatory'.

goal
A goal card is formatted like so: type = goal name = STRING condition = CONDITION worth = INTEGER modifiers = COMMA-SEPARATED MODIFIERS Every goal card is required to have the attributes 'type', 'name', 'condition', 'worth', and 'modifiers'.