SpellGen 2.0 is
available for download. It contains many new features requested by users
over the past year. To install it click the link it will run the setup
application directly over the web which will install SpellGen and all required
The following are the prerequisites for SpellGen 2.0:
- .NET Framework 2.0
- MDAC 2.8 for .NET 2.0
- Crystal Reports for .NET 2.0
This version of SpellGen is a complete rewrite from the
ground up to rearchitect the software in a way that will (I hope at least) allow
for easier changes going forward. There are no longer two applications, all
editing for all file formats is done in the main application.
SpellGen now supports 3 different document types.
SpellGen 2.0 files are not compatible
with SpellGen 1.x.
SpellGen 2.0 will read 1.x files, but any file saved from 2.0 will not be able
to be read into 1.x. (For references the change is minor and could be hand
edited; character files have a totally different format and are in no way,
shape, or form backward compatible.)
- Characters: As in 1.x, character data is stored here and
a spellbook can be generated. The file extension is unchanged; however
- Reference: As in 1.x, stores the data for a particular
rulebook, houserules, etc.
- Campaign: New for 2.0, this document type stores all of
the rules that SpellGen uses. Some of this data was previously in the
rules.xml file, some was previously hard coded.
Here is a list of the new features, I am sure there are
some things that I will miss:
- General – Settings support: SpellGen 2.0 saves various
settings on a per user basis. The final settings list is TBD but they are all
available via the Edit | Settings menu pick.
- General – Error logging support. SpellGen can generate
error logging (via a configuration file setting); if enabled this error log is
viewable from the about box. This should help with diagnosing problems in the
field. (The current level of logging is not as good as it should be but this
will get added to as time goes on).
- General – Diagnostics. SpellGen 2.0 is a substantially
more complicated application than 1.x, because of this there is a lot more
that can go wrong in the load process. To help with this there is some simple
diagnostics available in the about box to check to make sure that all services
and plugins loaded correctly.
- General – Database support. All of the reference and
campaign data files are loaded into a database (Firebird for those that are
curious) when the application starts. This means that all of the editors have
the entire data set of all of the files available to them while they run.
This allows for much better data validation (many combo boxes will show you
every value in the database as choices for example). Unfortunately it also
means that startup takes substantially longer.
- General – Spell selection. In all places where you can
select a spell (and there are a lot more of them) you now have access to a
detailed spell search facility. This will let you do things like search for
all Evocation [Fire] spells in the Players Handbook and Spell Compendium.
- General – The software update mechanism has changed.
SpellGen now has 3 modes of operation for software updates. The first is
automatic, this works like SpellGen 1.x, updates are checked for at startup
and automatically downloaded. The second is semi-automatic, updates are
checked for at startup and a list of out of date files is shown allowing you
to choose which (if any) you wish to update. The third is manual, the
software never checks for updates unless you run them yourself by clicking
“Check for Updates…” in the Edit menu.
- Campaign Document: Allows for all of the particular
rules of a campaign to be specified; how stats should be used, whether spell
points are used, base set of references for the campaign, game statistics,
- Character – Campaign Support: Characters now belong to a
campaign, and operate under the rules of the campaign. A character can be
moved from one campaign to another after it is created, but this may be a
lossy operation as campaigns can have different references, statistics, etc.
- Character – Reference Selection: References selected in
a campaign are automatically selected for a character, and disabled so they
may not be deselected in the character editor.
- Character – Variable Statistics: The list of statistics
is no longer hard coded; it is defined as part of the campaign. This allows
for custom statistics (such as Taint) to be added to SpellGen and used in
- Character – Fixed school/subschool support.
School/subschools now work correctly in 2.0. In 1.x subschools were listed
separately from schools, meaning if you banned all Summoning spells you banned
them all regardless of the parent school, which is not correct behavior. Now
school/subschool is linked as a pair of data as they should be.
- Character – Caster level / save DC modifiers on a per
spell basis. Each spell can have its own caster level and save DC modifiers,
allowing these values to be tweaked on a spell by spell basis.
- Character – Addition of spells directly to a character’s
spell list: You can now add spells directly to the spell list of a particular
class of a character. This handles classes like the Recaster, which allow for
extra spells to be added to the spell list as a class feature. In SpellGen
1.x you would have had to create a custom class and spell list for the
character to handle this.
- Character – Spell selection editor. Spells that have
overrides applied to them are shown in red making them easy to spot in the
spell list. For classes with spells known, a spell may be taken in a spell
slot of a higher level than the spell.
- Character – Spell selection for classes that know all
spells like clerics. If a class knows all spells like a cleric, you will
still be able to select spells for it. The checked spells will NOT be
shown in the output. This provides a way to cut the chaffe out of the
printout for those classes if desired. (If you include a lot of references the
cleric spell list gets pretty huge.)
- Character – Spell like abilities: Characters now have
spell like ability support.
- Character – Backup of 1.x files. When a SpellGen 1.x
file is saved and upgraded to the 2.0 xml schema, the old file is copied as a
backup under the name “filename.1x.sbc”.
- Character – The ability to highlight spells with a
background color in the spellbook based on school, school/subschool,
descriptor, alignment, or property.
- Reference – Reference Groups: References now have
reference groups. These are unsupported in the character editor (mainly
because I have no free control available to me to allow for elegant use of
them in the UI) but they can be selected as part of a campaign. When a group
is selected the character gets all references in the group.
- Reference – Editor. The reference editor has been
tightened up a lot, it should (in theory) be impossible to save bad data to
disk. Many error cases are validated and errors displayed.
- Reference – Spell Editor: The spell editor now compiles
all expressions as they are entered, flagging any errors. This means you will
not be able to save a reference with expressions that do not compile
correctly. To assist with 1.x reference files there is an edit menu pick
“Validate All Spells” that will compile every expression in the reference,
flagging all those that fail to compile.
- Reference – Spell properties. A new attribute has been
added to spells called properties. This acts like a descriptor but is a
separate class of property, it is intended as a catch all for things like
Shugenja elements which cannot be expressed in the standard school, subschool,
descriptor, alignment provided to spells.
- Reference – Spell Combo box lists are modifiable. The
list of values shown in a combo box is now a setting, so the end user can add
additional values to the combo boxes in the spell editor. This will make
adding things like Psionics easier. In addition to the preferences, the
school, subschool, alignment, descriptor, component, and property controls
will show every value from every spell in the database. This should minimize
typing errors as all choices are always available.
- Reference – Spell tool. The spell editor now has a tool
window called the Spell Tool. This window shows the expressions in the spell
as they would be evaluated for a character, and allows for the parameters (CasterLevel,
SaveDC, etc.) to be set to arbitrary values to see how the expression behaves
for different inputs. It will allow you to debug expressions in the reference
editor without having to load a character to test them.
- Reference – New expression variables. In addition to
the 1.x expression variables (CasterLevel, CastingStat, CastingMod, SaveDC,
SpellLevel), new variables have been added to allow access to all statistics
and statistic modifiers. The names are xxxStat and xxxStatMod where xxx is
the name of the statistic, for example StrStat or DexStatMod.
- Reference – Spell Replacements. References now support
spell replacements. This allows for a spell in one book to replace spells in
other book(s). The replaced spells will be made invisible in SpellGen and the
replacement spell will be used in its place. (See State of SpellGen for
the state of this feature).
- Reference – Class editor. The reference editor now has
a fully functional class editor. Classes now have the ability to force spell
points on regardless of whether they are on or off for the campaign. (This was
required for Psionics which uses ‘spell points’ regardless of what the magic
system in the campaign does.)
- Reference – Multiple schools. Spells now support
multiple schools; you can enter as many as you want in the editor but SpellGen
only uses the first 5 for spell calculations. The schools will properly print
in the spellbooks.
- Generation – Override references. Override references
now correctly show the book containing the spell not the book containing the
override as the reference.