Yann Dirson wrote:
On Sun, May 08, 2005 at 03:22:20PM -0500, David White wrote:
This idea isn't nearly as sophisticated as silene's module system
proposal some time ago, but on the other hand I think it is much easier
to implement. The main thing it does provide is assurance against being
unable to load the game's core WML document because a user campaign has
an error.
Any thoughts?
What striked me as most useful in silene's proposal was that another
safeguard: if a user campaign redefines a standard unit, that modified
unit would only be seen by the relevant campaign. I do not think your
"import" idea would protect us from such a case, which is probably
harder to pinpoint than a "simple" error.
That said, I still have a strong opinion that such a way of doing
things (eg. overriding a standard unit) is very bad practice, and that
eg. distinct units starting as copies of standard ones should be used
instead. Maybe we could have a safeguard against such a practice,
although I'm not sure how easy it would be to implement one.
Well, I think the simple, easy, and correct solution is simply to forbid
campaigns from re-definining units. Only the first unit with a certain
ID will be used; others will be rejected.
If user campaigns want to 'redefine' a unit, they can create an
identical one, with a slightly different ID.
However your point does raise another problem: by 'default', the
[+units] syntax used to add more units wouldn't work in an imported
document. We'd probably have to make importing have the capacity to do this.
David