Just finished my first real techs as practice for more difficult parts of the tree. The results are in the construction category, hopefully Geoff and/or Tzlaine can glance at them to make sure I got the right idea.
Some questions came up while I was trying things out:
1 Yet another dumb question: how do I make my building's effects non-stackable? Or is that the default? (If a player builds mutliple Megalithes with overlapping areas of effect, the bonus should only count once.)
Currently, the stacking issue is not addressed at all, except that you can't have more than one Special of a given type attached to the same object. The designers need to address this.
There are several options as I see it:
1) Everything stacks.
2) Stacking is not allowed based on Special/BuildingType, so that two Effects from the same kind of Special or two Effects from the same kind of BuildingType will not have double effect.
3) Stacking is not allowed based on some unique code associated with each Effect or EffectsGroup. So if two Effects/EffectsGroups have the code "WonderFarmBonus", only one of them will affect the target(s). This will mean greater control over which Specials and/or Effects/EffectsGroups will not stack, but is certain to complicate things for the designers.
2: YADQ: I've seen no examples of Techs and Buildings with multiple effectgroups in the documentation, and no "..." indicating that multiple effectgroups are possible. Can a tech/building/special have multple EffectsGroups (as I've done) or just one?
This is an oversight on my part; I'll support for multiples.
3: re: the string table. Can we include any formatting (such as HTML) or at very least line breaks? From the example, it appears that a line break indicates a new entry, and there's no quotation marks or markups delimitating the end/start of a string. I'm thinking of the nice descriptions that SMAC had for their techs: if you look at the text files for the descriptions they are nicely formatted via mark-ups.
You can insert "\n" anywhere you want a line break. You can also do quite a lot of formatting to the text, but it will be ugly. I'll put the formatting instructions in the FAQ.
Ultra-low priority suggestion for the future: tooltips and ledgers...I'm thinking a formatted string (like the sort of thing you'd feed into a printf statement) that spits out a description of what an effectsgroup has done to a given value.
I'm currently working on code that will spit out the description of an arbitrary EffectsGroup. This will be useful not only for verifying that your EffectsGroups do what you think they, do, but also for in-game encyclopedia entries and info dialogs on Specials, Techs, and BuildingTypes.