This tutorial assumes that:
Fortunately, there is a clean solution. What you need to do is define your new weapon in it's own file, and then all you have to do is send that one file to your friend!
For simplicity, I will just show here what the new file will look like, and then explain how we got it:
Hope you didn't blink, because that is all you need to put in your new file. Notice that we didn't use the template syntax here, since we only had one item to define -- if we'd had to define several items (demonstrated below), we would have done better to use a template, but since we were only defining one item, this was a much shorter (and simpler) solution.weaponSpikedFist in ( groupWeapon groupPiercingWeapon groupMeleeWeapon 3:groupUncommonWeapons ) .name "spiked fist" .cost 7 gp .damage 1d3 .criticalRange 20 .criticalMultiplier 2 .weight 1 lb .size tiny end
First, look at all the category names in the parentheses following our weapon's identifier. This list is simply all the categories that the given thing belongs to. And notice the "3:" before the "groupUncommonWeapons" -- this says that "weaponSpikedFist" has a weight of 3 in the category "groupUncommonWeapons". If a weighting is not given, it is simply assumed to be 1.
Following the category list is the list of attributes. This is the "long" syntax because each attribute is explicitly named by typing a "." followed by the name of the attribute, followed by the value of the attribute.
Now, before this will actually work in the treasure generator, we need to modify the index.bsk file so that it knows to read the file we just created. First, save your new file as "myweapons.bsk", and open index.bsk. Go to the very end of the file, and add a line that says:
This will cause the compiler to read your new file in addition to all the others mentioned in the index.bsk file. That done, save "index.bsk", open the treasure generator, and compile it as you did in Tutorial #1.#include "myweapons.bsk"
Now, since we're on the subject, what if you wanted to declare multiple new weapons? Here's how:
Notice how the template has a category list (containing one category, groupWeapon). This means that all things defined in it are automatically in that category. Each entry, too, may have a category list, so that each individual entry may be added to categories independent of the other entries being defined.template in ( groupWeapon ) { name cost damage criticalRange criticalMultiplier weight size } weaponSpikedFist in ( groupPiercingDamage groupMeleeWeapon 3:groupUncommonWeapons ) { "spiked fist" 7 gp 1d3 20 2 1 lb tiny } weaponSerratedBlade in ( groupSlashingDamage groupMeleeWeapon 5:groupUncommonWeapons ) { "serrated blade" 18 gp 1d10 18 3 15 lb large } weaponBarbedDart in ( groupPiercingDamage groupRangedWeapon 2:groupUncommonWeapons ) { "barbed dart" 5 sp 1d3 20 2 1/10 lb tiny } end weaponBarbedDart .rangeIncrement 10 ft end
Lastly, notice that weaponBarbedDart is declared again after the template. This is so that we can define any additional properties of the item (in this case, a range increment). We could also have added "rangeIncrement" to the template's attribute list, but this would have been wasteful since most weapons don't have a range increment. It was clearer to define the weapon again and add the necessary attributes.
Notice, now, that if you wanted to share your new weapons with a friend, all you have to do is send him the "myweapons.bsk" file. He would then save it on his computer, modify the index.bsk file for his data so it looks at the new file, and then compile the database.