PDA

View Full Version : Creating a new module



bazutti
February 21st, 2008, 22:02
Hello all! First time posting here. I've successfully been able to create a new items book and a new monster book for my campaign. Slowly these will build up with more data, so I wanted to create new ones vs adding to the existing ones in the d20 ruleset. However, I'm not so successful when creating a new spellbook, and I'm afraid my XML skills are limited and was hoping for some help here.

My goal is to create a new spell book, adding to it the spells we use that aren't part of any core books. For example, I'd like to add 2 new cleric spells. So I would like the spell book to contain only those two spells, but want the same functionality as the original spell book (list the classes, click on the class and list the spells for each level, click the spell for final description). What I did was take out everything that wasn't for a cleric. Then, I eliminated all spells but one. I edited it to fit the new spell, similar to what I've done with items and monsters previously. Then, I went to the cleric listing for spells for each level, and added the one link for the spell I just created.

The book appears in the module listing, I activate it, but does not appear in the library. From what I gather on the forums, this is most likely an XML error. I went over the code again, and there's no basic errors as far as HTML goes (all tags are closed properly, they match, etc).

Can anyone lend a hand here? Or does anyone perhaps have the same thing I'm asking for and is willling to share it so I can use it as a base? I'm at a roadblock here and not sure what to try next. Thanks!

Griogre
February 22nd, 2008, 06:42
Your problem is likely a typo. If you want post up the two files so we can see them. Post the definition.xml and the first 6 lines or so of the client.xml.

Because you are adding so few spells you might find it more useful to make the SRD & New spells merge in one library listing.

I posted up how to do that here: https://www.fantasygrounds.com/forums/showpost.php?p=53834&postcount=10

bazutti
February 22nd, 2008, 09:04
The changes I made are similar to those I've done before, but this just isn't working out, and I think I'm probably doing something incorrectly with the xml.

definition.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<name>d20 RL Spells</name>
<author>Fantasy Grounds d20 Essentials</author>
<ruleset>d20</ruleset>
</root>



client.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<root version="2.0">
<library>
<d20rlspells static="true">
<name type="string">d20 RL Spells</name>
<categoryname type="string">d20 Essentials</categoryname>
<entries>
<cleric>
<librarylink type="windowreference">
<class>reference_classspelllist</class>
<recordname>spelllists.cleric@d20 RL Spells</recordname>
</librarylink>
<name type="string">Cleric spells</name>
</cleric>
</entries>
</d20rlspells>
</library>

<spelldesc static="true">
<deificvengeance>
<name type="string">Deific Vengeance</name>
<school type="string">Conjuration (Summoning)</school>
<level type="string">Cleric 2, Purification 2</level>
<components type="string">V, S, DF</components>
<castingtime type="string">1 standard action</castingtime>
<range type="string">Close (25ft+5ft/2 levels)</range>
<effect type="string">One Creature</effect>
<duration type="string">Instantaneous</duration>
<save type="string">Will half</save>
<sr type="string">Yes</sr>
<description type="formattedtext"><p>When you cast this spell, you call out to a deity, listing the crimes of your target and urging the deity to punish the miscreant. (The target's alignment is irrelevant to the success of the spell.) The divine power of the angry deity imposes this punishment in the form of a sharp, spiritual blow to the target. This attack hits automatically and deals 1d6 points of damage per two caster levels (max 5d6), or 1d6 points per caster level (max 10d6) if the target is undead. A successful Will saving throw reduces the damage by half.</p>
<shortdescription type="string">God's punishment deals 1d6 damage/two caster levels (max 5d6).</shortdescription>
</deificvengeance>
<nimbusoflight>
<name type="string">Nimbus of Light</name>
<school type="string">Evocation [Light]</school>
<level type="string">Cleric 1, Purification 1</level>
<components type="string">V, S, DF</components>
<castingtime type="string">1 standard action</castingtime>
<range type="string">Personal</range>
<effect type="string">You</effect>
<duration type="string">1 min/level or until discharged (D)</duration>
<save type="string"> - </save>
<sr type="string"> - </sr>
<description type="formattedtext"><p>A glittering corona of sunlight surrounds your body at a few inches distance-until you release it as a focused blast of divine energy. The <i>nimbus of light</i> glows like a lantern, shedding bright light in a 30-foot radius (and dim light for an additional 30 feet) from you.</p><p>As a move action, you can coalesce the energy from the <i>nimbus of light</i> around your outstretched arm, and then as a standard action fling it toward a foe within 30 feet. As a ranged touch attack, the <i>nimbus of light</i> deals 1d8 points of damage +1 point per round that's elapsed since you cast the spell (max of 1d8+caster level damage). Attacking with the <i>nimbus of light</i> ends the spell, whether the energy hits its target or not.</p>
<shortdescription type="string">Sinlight illuminates you intil released as an attack for 1d8+1/level damage.</shortdescription>
</nimbusoflight>
</spelldesc>

<spelllists static="true">
<cleric>
<description type="string">Cleric Spells</description>
<groups>
<level1>
<description type="string">Level 1</description>
<spells>
<nimbusoflight>
<link type="windowreference"><class>spelldesc</class><recordname>spelldesc.nimbusoflight@d20 Ravenloft Spells</recordname></link>
<level type="number">1</level>
</nimbusoflight>
</spells>
</level1>
<level2>
<description type="string">Level 2</description>
<spells>
<deificvengeance>
<link type="windowreference"><class>spelldesc</class><recordname>spelldesc.deificvengeance@d20 Ravenloft Spells</recordname></link>
<level type="number">2</level>
</deificvengeance>
</spells>
</level2>
<level3>
</level3>
<level4>
</level4>
<level5>
</level5>
<level6>
</level6>
<level7>
</level7>
<level8>
</level8>
<level9>
</level9>
</groups>
</cleric>
</spelllists>
</root>

Griogre
February 22nd, 2008, 23:01
You are not closing your description element. I strongly suggest you get an editor of some sort there are many good free ones they will catch mismatched or unclosed elements. Mine found it immediately. If you just left it off in the cut and paste make sure your files names are right.



<spelldesc static="true">
<deificvengeance>
<name type="string">Deific Vengeance</name>
<school type="string">Conjuration (Summoning)</school>
<level type="string">Cleric 2, Purification 2</level>
<components type="string">V, S, DF</components>
<castingtime type="string">1 standard action</castingtime>
<range type="string">Close (25ft+5ft/2 levels)</range>
<effect type="string">One Creature</effect>
<duration type="string">Instantaneous</duration>
<save type="string">Will half</save>
<sr type="string">Yes</sr>
<description type="formattedtext">
<p>When you cast this spell, you call out to a deity, listing the crimes of your target and urging the deity to punish the miscreant. (The target's alignment is irrelevant to the success of the spell.) The divine power of the angry deity imposes this punishment in the form of a sharp, spiritual blow to the target. This attack hits automatically and deals 1d6 points of damage per two caster levels (max 5d6), or 1d6 points per caster level (max 10d6) if the target is undead. A successful Will saving throw reduces the damage by half.</p>
</description>
<shortdescription type="string">God's punishment deals 1d6 damage/two caster levels (max 5d6).</shortdescription>
</deificvengeance>

bazutti
February 22nd, 2008, 23:29
Hrm, I was using VIM which usually catches things like that. Then again, staring at it for a while, I know it's easy to miss. Thanks for the assistance! :)

Xorn
March 7th, 2008, 14:59
Also, in your spell links, you put @d20 Ravenloft Spells, instead of @d20 RL Spells.