Character Template
From GCAWiki
Character Template (also referred to, and formerly known, as Package) is a predefined set of traits that can easily be applied to any character, similar to classes in RPGs other than GURPS. They can be created with the built-in Template Builder or coded by hand into a GCA Data File.
[tmedwards: I did some spot cleanup to make this page a little better, but its still very rough. In particular, the template example needs the in-line commentary set apart more clearly than it is now.]
Usage in GCA
This is an example template:
* This is a comment. In GDFs, any line that starts with an asterisk is a comment.
Template Name (with Extension), There is no name keyword and commas separate keywords.
displaycost(varies), cost(0), Displaycost is the cost shown in GCA. Cost should cover the gives() block; it is added to the overall cost at the end.
description(This is an example template),
page(User), This will show together with the description and should the page source (if any).
noresync(yes), This line needs explanation.
gives(), This block needs explanation.
needs( {ST:HT}=12 ) This template can only be chosen if HT is 12.
sets(_ Sets() is used for Statistics only. The underscore extends an open bracket onto further lines.
- {ST:DX}=11,
- {ST:IQ}=11_ This would set DX and IQ to eleven.
- ), An underscore is also needed before closing multi-line brackets again.
adds(_ This keyword is used for any other traits.
- {AD:Fit},
- {DI:Duty}=3, Duty needs an extension which will be asked from the user when it is added. It also comes in multiple levels, from which the third is chosen here.
- {SK:Guns (Rifle)}=1pts_ The Guns skill also needs an extension, but it is already given here. Only one point is invested.
- ),
creates() This creates a new trait, either from an existing one or completely from scratch.
select1(_ This creates the first selection window; replace 1 by X for the Xth selection.
- text("These are your choices:"),
- pointswanted(atleast X, upto Y), This would give the range X-Y. downto is valid also.
- itemswanted(exactly Z), Works the same as pointswanted.
- list(_
- SK:Survival(Wetlands),
- SK:Survival(Desert),
- SK:Driving_ Again, Extensions do not have to be given, but can be.
- SK:Survival(Wetlands),
- )_
),
select2(_
- text("This is to illustrate an important workaround for a bug."),
- pointswanted(atleast X, upto X), This is the same as using exactly, except..
- itemswanted(atleast Y), ...that now it will still ask for exactly X points, not at least X!
- list()_
)