• Tutorials

  • Home
  • Annotated Classes Database

    // Class database file
    // The above line **Must** be the first line in the classes database. "// Class database file"
    //
    //	Each class is defined by the following fields:
    //	
    // name = (text)
    //	Names should not conflict with any of the names in the baseclass database,
    //	items database, spells database, races database, or abilities database,
    //	all baseclasses start with a lower case letter and classes with an upper case letter.
    //	eg:		name = Gray Elf
    

    The convention that the development team uses is to always start the class name with a capital letter, as opposed to the baseclass names which we always start with a lower-case letter. Eg. the class would be called "Rogue" and the baseclass would be called "rogue".

    //
    // HitDiceBonus (baseclass name, ability name, bonus1 - bonus25) 
    //	If a baseclass receives a Hit Point bonus for an ability, it is noted with this keyword
    //	If the class has more than one baseclass, each may have it's own
    //	bonus listed and that bonus will apply as levels are gained
    //	with that particular baseclass
    //	eg:		HitDiceBonus = fighter,Constitution,0,0,-2,-1,-1,-1,0,0,0,0,0,0,0,0,1,2,3,4,5,5,6,6,6,7,7
    

    If you are working with a multi-class (two or more baseclasses per class), you need one of these for each baseclass if you want the PC to get a bonus for that baseclass.

    //
    // HitDiceBaseclass (*Average*/*Maximum*)
    //	HitDiceBaseclass may have a value of *Average* or *Maximum* and
    //	applies when more than one baseclass is part of a class. *Average* means
    //	that the average of all hit dice is taken, *Maximum* means the max number
    //	for that level is given.
    //	Default: *Average*
    //	eg:		HitDiceBaseclass = *Average*
    

    This is an all or nothing kind of thing, so either all levels give an average amount of points or all levels give a maximum amount of points. If you want the first level to be maxed but the rest to be averages, change the correspnding level in the baseclass database.

    //
    // StrengthBonusDice (nDm)
    //	If the class allows a bonus for Strength of 18, it is
    //	determined here in the format of nDm, where n is the
    //	number of dice and m is the number of sides. Default value is blank.
    //	default:	blank
    //	eg:		StrengthBonusDice = 1D100
    

    While you can theoretically set this to anything you want, DC can only handle a Strength Bonus up to 100 points.

    //
    // Starting Equipment (item name)
    //	 If the class starts with any items they are listed with
    //	this keyword. Multiple items require multiple instances
    //	of the keyword
    //	eg:		Starting Equipment = Awl Pike
    

    This works just like the "Item = " line in the monsters database. Use an item's id name, i.e. "Dagger +1" instead of "Dagger|1".

    //
    // baseclass (baseclass name)
    //	This is the baseclass that the class is based upon. There
    //	ust have at least one per class and there may be up to three.
    //	eg:		baseclass = fighter
    

    You can actually have as many baseclasses as you like, but the editor can only see the first three. Why would you want more than three? While the editor only sees the first three, all of the Special Abilities attached to each baseclass, as well as each Skill are passed on to the class.

    //
    // Special Ability (special ability name)
    //	Each Special Ability corresponds to the Special Ability
    //	database and list the name and parameter.
    //	One Special Ability per instance of the keyword, which
    //	may be listed multiple times.
    //	eg:		Special Ability = class_NoSpells,fighter
    

    You can have as many Special Abilities as you want, including none. The development team uses the name convention that starts all SAs specific to classes as "class_", eg. "class_Swanky".

    //
    //	*****NOTES*****
    // Valid Classes per 1e rulebooks
    //  Dwarf: Assassin, Fighter, Thief, Fighter/Thief	
    //  Elf: Assassin, Cleric, Fighter, Magic User, Ranger, Thief Fighter/MU, Fighter/Thief, Fighter/MU/Thief, MU/Thief
    //  Gnome: Assassin, Cleric, Fighter, Magic User, Thief, Fighter/Thief, FighterMU, MU/Thief
    //  Half-elf: Assassin, Cleric, Druid, Fighter, Magic User, Ranger, Thief, Cleric/Fighter, Cleric/Ranger, Cleric/MU, Fighter/MU, Fighter/Thief, Fighter/MU/Cleric, Fighter/MU/Thief, Thief/MU    
    //  Halfling: Assassin, Cleric, Fighter, Thief, Fighter/Thief
    //	Half-orc: Assassin, Cleric, Fighter, Thief, Cleric/Assassin, Cleric/Fighter, Cleric/Thief, Fighter/Assassin, Fighter/Thief
    //  Human: Assassin, Cleric, Druid, Fighter, MU, Paladin, Ranger, Thief
    

    You will not find a Cleric/Ranger in the default classes database, the "/R" in the name is read by the engine as "turn the text red", instead look for a Ranger/Cleric.

    //
    // To suppress a class name at time of Character Creation, remove the "//" from:
    // // Special Ability = class_ClassSuppress,"Y"
    // in each Class as desired.
    

    This SA has lead to the advent of NPC classes - classes that you only want to be used by NPCs. I.e. you have a Fighter for PCs but you can have a class called "Warrior" that is for NPCs only, but can be just like Fighter in all other ways. This is to make your game more to your liking.


    \(BEGIN)
    name = Cleric class name must be unique and is case sensitive
    HitDiceLevelBonus = cleric,Constitution,0,0,-2,-1,-1,-1,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2 first term is name of baseclass, second term is name of an ability, followed by 25 values to modify hit oints per level
    HitDiceBaseclass = *Average* only applies if more than one baseclass is used for a class
    StrengthBonusDice = if class would have exception strength her is where it is defined
    Starting Equipment = one line per item, blank if none
    baseclass = cleric name of the baseclass
    Special Ability = class_baseName,$cleric first term is name of a secial ability, second term is value assigned at character creation
    Special Ability = class_ClassSuppress,"Y" if you do not want class listed as an option to players remove comment marks at beginning of line
    \(END)
     
    \(BEGIN)
    name = Wizard try to use names without spaces - if you do use spaces, DC will allow it but in other databases you will need to put the name in quotes, eg. "Tall Wizard"
    HitDiceLevelBonus = fighter,Constitution,0,0,-2,-1,-1,-1,0,0,0,0,0,0,0,0,1,2,3,4,5,5,6,6,6,7,7 this bonus only applies when PC gains a fighter level
    HitDiceLevelBonus = magicUser,Constitution,0,0,-2,-1,-1,-1,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2 this bonus only applies when PC gains a magic user level
    HitDiceBaseclass = *Average* for each level of a baseclass gained the average of the two is taken - fighter get d10 and magic users get d4, so d7 would be used and at higher levels when fighters get 4 hp and magic user get 2 hp per level, this owuld give 3 hp
    StrengthBonusDice = 1D100 AD&D gives only 1d100 for exceptional strength, but you can do whatever using dice plus format
    Starting Equipment = Long Sword use the items identified name
    Starting Equipment = Helmet
    Starting Equipment = Shield
    baseclass = fighter one line for each baseclass used
    baseclass = magicUser DC only recognizes first 3 baseclasses listed, but as many as you want can be used
    Special Ability = class_MageScribe,mage special abilities can be from SA database
    Special Ability = class_baseName,$fighter$mage or be ad hoc to store info
    // Special Ability = class_ClassSuppress,"Y" for later use
    \(END)