1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. While the majority of active discourse on D20PRO has moved to our Discord Channels, this forum is still active and checked-in on regularly by our staff. However, for the very latest information, conversation and/or immediate support, please join us on Discord here: http://discord.gg/Ph38ckM
    Dismiss Notice

Tutorial: Adding Custom Classes

Discussion in 'User Created Content' started by Dan, Feb 2, 2010.

  1. Dan

    Dan Member

    Joined:
    Jul 8, 2008
    Messages:
    599
    Likes Received:
    3
    If you want to add new classes to d20pro, then you will need to edit the classes.txt file in your "d20pro\dm\res\manually specified" folder. The information is not too hard to edit, especially for non-caster classes. Take the barbarian in the txt file:

    Code:
    ## CLASS: BARBARIAN
    CreatureClass=Barbarian
    AttackRate=1
    GoodSaves=Fort
    If I wanted to import a Kensai (another non-caster) then I just type this:
    Code:
    ## CLASS: KENSAI
    CreatureClass=Kensai
    AttackRate=1
    GoodSaves=Fort
    Non-casting prestige classes work just like regular classes.

    Spellcasting classes pose a bit more of a challenge, particularly prestige spellcasters. Let's start with a spellcasting class like the hexblade. The Complete Warrior says that the Hexblade casts spells as a sorcerer, using CHA as his primary stat. So let's look at the sorcerer from the classes.txt file:

    Code:
    ## CLASS: SORCERER
    CreatureClass=Sorcerer
    AttackRate=.5
    GoodSaves=Will
    SpellCaster=com.mindgene.d20.plugin.dnd.creature.SpellCasterTemplate_Sorceror|CHA
    #SPELLS AVAILABLE
    Spells0=Resistance|Acid Splash|Detect Poison|Detect Magic|Read Magic|Daze|Dancing Lights|Flare|Light|Ray of Frost|Ghost Sound|Bleed|Disrupt Undead|Touch of Fatigue|Mage Hand|Mending|Message|Open/Close|Arcane Mark|Prestidigitation
    Spells1=Alarm.....
    ...
    #SPELLS PER DAY
    PerDay1=5|3
    PerDay2=6|4
    PerDay3=6|5
    ...
    #SPELLS KNOWN
    Known1=4|2
    Known2=5|1
    Known3=5|3
    ...
    Notice that we have the same basic top stuff (including attack rate and saves) then have a line that says:
    SpellCaster=com.mindgene.d20.plugin.dnd.creature.SpellCasterTemplate_Sorceror|CHA
    Just copy/paste that into your Hexblade. If your class was a spontaneous divine caster (like Spirit Shaman) then you could just change the CHA to WIS or whatever.

    Next come the spell lists. These are basically in the form of:
    Code:
    #SPELLS AVAILABLE
    Spells0=__________|_________|____________|
    Where spells are separated by Pipe characters (shift+\)

    Then you fill out the spells per day. These are done in a similar fashion, but have the number of spell slots separated by pipes.
    Finally you list the spells known. Follow the same formatting and you will be fine.

    So Hexblade will look kind of like:
    Code:
    ## CLASS: HEXBLADE
    CreatureClass=Hexblade
    AttackRate=1
    GoodSaves=Will
    SpellCaster=com.mindgene.d20.plugin.dnd.creature.SpellCasterTemplate_Sorceror|CHA
    #SPELLS AVAILABLE
    Spells0=Resistance|Acid Splash|Detect Poison|Detect Magic|Read Magic|Daze|Dancing Lights|Flare|Light|Ray of Frost|Ghost Sound|Bleed|Disrupt Undead|Touch of Fatigue|Mage Hand|Mending|Message|Open/Close|Arcane Mark|Prestidigitation
    Spells1=Alarm...
    ...
    #SPELLS PER DAY
    PerDay1=-
    PerDay2=-
    PerDay3=-
    PerDay4=0
    PerDay5=0
    PerDay6=1
    PerDay7=1
    PerDay8=1|0
    ...
    #SPELLS KNOWN
    Known1=0
    Known2=0
    Known3=0
    Known4=2
    Known5=2
    Known6=3
    Known7=3
    Known8=4|2
    ...
    Notice the dash (-) on the levels 1-3. These ensure that d20pro doesn't apply ability score modifiers to spells per day for those levels.

    If anyone wants to start on a project, I can help, but we can't release d20pro with that data coming from Mindgene.
     
  2. Keyafay

    Keyafay New Member

    Joined:
    Feb 2, 2010
    Messages:
    5
    Likes Received:
    0
    Here is a copy of a "Favored Soul" from the "Complete Divine". A Cleric that casts spells like a sorcerer.

    Code:
    ## CLASS: FAVORED SOUL
    CreatureClass=Favored Soul
    AttackRate=.75
    GoodSaves=Fort|Will|Ref
    SpellCaster=com.mindgene.d20.plugin.dnd.creature.SpellCasterTemplate_Sorceror|CHA
    #SPELLS AVAILABLE
    Spells0=Create Water|Cure Minor Wounds|Detect Magic|Detect Poison|Guidance|Inflict Minor Wounds|Light|Mending|Purify Food and Drink|Read Magic|Resistance|Virtue
    Spells1=Bane|Bless|Bless Water|Cause Fear|Command|Comprehend Languages|Cure Light Wounds|Curse Water|Deathwatch|Detect Chaos|Detect Evil|Detect Good|Detect Law|Detect Undead|Divine Favor|Doom|Endure Elements|Entropic Shield|Hide from Undead|Inflict Light Wounds|Magic Stone|Magic Weapon|Obscuring Mist|Protection from Chaos|Protection from Evil|Protection from Good|Protection from Law|Remove Fear|Sanctuary|Shield of Faith|Summon Monster I
    Spells2=Aid|Align Weapon|Augury|Bear's Endurance|Bull's Strength|Calm Emotions|Consecrate|Cure Moderate Wounds|Darkness|Death Knell|Delay Poison|Desecrate|Eagle's Splendor|Enthrall|Find Traps|Gentle Repose|Hold Person|Inflict Moderate Wounds|Make Whole|Owl's Wisdom|Remove Paralysis|Resist Energy|Restoration, Lesser|Shatter|Shield Other|Silence|Sound Burst|Spiritual Weapon|Status|Summon Monster II|Undetectable Alignment|Zone of Truth
    Spells3=Animate Dead|Bestow Curse|Blindness/Deafness|Contagion|Continual Flame|Create Food and Water|Cure Serious Wounds|Daylight|Deeper Darkness|Dispel Magic|Glyph of Warding|Helping Hand|Inflict Serious Wounds|Invisibility Purge|Locate Object|Magic Circle against Chaos|Magic Circle against Evil|Magic Circle against Good|Magic Circle against Law|Magic Vestment|Meld into Stone|Obscure Object|Prayer|Protection from Energy|Remove Blindness/Deafness|Remove Curse|Remove Disease|Searing Light|Speak with Dead|Stone Shape|Summon Monster III|Water Breathing|Water Walk|Wind Wall
    Spells4=Air Walk|Control Water|Cure Critical Wounds|Death Ward|Dimensional Anchor|Discern Lies|Dismissal|Divination|Divine Power|Freedom of Movement|Giant Vermin|Imbue with Spell Ability|Inflict Critical Wounds|Magic Weapon, Greater|Neutralize Poison|Planar Ally, Lesser|Poison|Repel Vermin|Restoration|Sending|Spell Immunity|Summon Monster IV|Tongues
    Spells5=Atonement|Break Enchantment|Command, Greater|Commune|Cure Light Wounds, Mass|Dispel Chaos|Dispel Evil|Dispel Good|Dispel Law|Disrupting Weapon|Flame Strike|Hallow|Inflict Light Wounds, Mass|Insect Plague|Mark of Justice|Plane Shift|Raise Dead|Righteous Might|Scrying|Slay Living|Spell Resistance|Summon Monster V|Symbol of Pain|Symbol of Sleep|True Seeing|Unhallow|Wall of Stone
    Spells6=Animate Objects|Antilife Shell|Banishment|Bear's Endurance, Mass|Blade Barrier|Bull's Strength, Mass|Create Undead|Cure Moderate Wounds, Mass|Dispel Magic, Greater|Eagle's Splendor, Mass|Find the Path|Forbiddance|Geas/Quest|Glyph of Warding, Greater|Harm|Heal|Heroes' Feast|Inflict Moderate Wounds, Mass|Owl's Wisdom, Mass|Planar Ally|Summon Monster VI|Symbol of Fear|Symbol of Persuasion|Undeath to Death|Wind Walk|Word of Recall
    Spells7=Blasphemy|Control Weather|Cure Serious Wounds, Mass|Destruction|Dictum|Ethereal Jaunt|Holy Word|Inflict Serious Wounds, Mass|Refuge|Regenerate|Repulsion|Restoration, Greater|Resurrection|Scrying, Greater|Summon Monster VII|Symbol of Stunning|Symbol of Weakness|Word of Chaos
    Spells8=Antimagic Field|Cloak of Chaos|Create Greater Undead|Cure Critical Wounds, Mass|Dimensional Lock|Discern Location|Earthquake|Fire Storm|Holy Aura|Planar Ally, Greater|Inflict Critical Wounds, Mass|Shield of Law|Spell Immunity, Greater|Summon Monster VIII|Symbol of Death|Symbol of Insanity|Unholy Aura
    Spells9=Astral Projection|Energy Drain|Etherealness|Gate|Heal, Mass|Implosion|Miracle|Soul Bind|Storm of Vengeance|Summon Monster IX|True Resurrection
    #SPELLS PER DAY
    PerDay1=5|3
    PerDay2=6|4
    PerDay3=6|5
    PerDay4=6|6|3
    PerDay5=6|6|4
    PerDay6=6|6|5|3
    PerDay7=6|6|6|4
    PerDay8=6|6|6|5|3
    PerDay9=6|6|6|6|4
    PerDay10=6|6|6|5|3
    PerDay11=6|6|6|6|4
    PerDay12=6|6|6|6|5|3
    PerDay13=6|6|6|6|6|4
    PerDay14=6|6|6|6|6|5|3
    PerDay15=6|6|6|6|6|6|4
    PerDay16=6|6|6|6|6|6|5|3
    PerDay17=6|6|6|6|6|6|6|4
    PerDay18=6|6|6|6|6|6|6|5|3
    PerDay19=6|6|6|6|6|6|6|6|4
    PerDay20=6|6|6|6|6|6|6|6|6
    #SPELLS KNOWN
    Known1=4|3
    Known2=5|3
    Known3=5|4
    Known4=6|4|3
    Known5=6|5|3
    Known6=7|5|4|3
    Known7=7|6|4|3
    Known8=8|6|5|4|3
    Known9=8|6|5|4|3
    Known10=9|6|6|5|4|3
    Known11=9|6|6|5|4|3
    Known12=9|6|6|6|5|4|3
    Known13=9|6|6|6|5|4|3
    Known14=9|6|6|6|6|5|4|3
    Known15=9|6|6|6|6|5|4|3
    Known16=9|6|6|6|6|6|5|4|3
    Known17=9|6|6|6|6|6|5|4|3
    Known18=9|6|6|6|6|6|6|5|4|3
    Known19=9|6|6|6|6|6|6|5|4|3
    Known20=9|6|6|6|6|6|6|6|5|4
    Also The "Spirit Shaman" from the same book. Now this one is a Sorcerer that casts Druid spells.

    Code:
    ## CLASS: SPIRIT SHAMAN
    CreatureClass=Spirit Shaman
    AttackRate=.75
    GoodSaves=Fort|Will
    SpellCaster=com.mindgene.d20.plugin.dnd.creature.SpellCasterTemplate_Sorceror|WIS
    #SPELLS AVAILABLE
    Spells0=Create Water|Cure Minor Wounds|Detect Magic|Detect Poison|Flare|Guidance|Know Direction|Light|Mending|Purify Food and Drink|Read Magic|Resistance|Virtue
    Spells1=Calm Animals|Charm Animal|Cure Light Wounds|Detect Animals or Plants|Detect Snares and Pits|Entangle|Faerie Fire|Goodberry|Hide from Animals|Jump|Longstrider|Magic Fang|Magic Stone|Obscuring Mist|Pass without Trace|Produce Flame|Shillelagh|Speak with Animals|Summon Nature's Ally I
    Spells2=Animal Messenger|Animal Trance|Barkskin|Bear's Endurance|Bull's Strength|Cat's Grace|Chill Metal|Delay Poison|Fire Trap|Flame Blade|Flaming Sphere|Fog Cloud|Gust of Wind|Heat Metal|Hold Animal|Owl's Wisdom|Reduce Animal|Resist Energy|Restoration, Lesser|Soften Earth and Stone|Spider Climb|Summon Nature's Ally II|Summon Swarm|Tree Shape|Warp Wood|Wood Shape
    Spells3=Call Lightning|Contagion|Cure Moderate Wounds|Daylight|Diminish Plants|Dominate Animal|Magic Fang, Greater|Meld into Stone|Neutralize Poison|Plant Growth|Poison|Protection from Energy|Quench|Remove Disease|Sleet Storm|Snare|Speak with Plants|Spike Growth|Stone Shape|Summon Nature's Ally III|Water Breathing|Wind Wall
    Spells4=Air Walk|Antiplant Shell|Blight|Command Plants|Control Water|Cure Serious Wounds|Dispel Magic|Flame Strike|Freedom of Movement|Giant Vermin|Ice Storm|Reincarnate|Repel Vermin|Rusting Grasp|Scrying|Spike Stones|Summon Nature's Ally IV
    Spells5=Animal Growth|Atonement|Awaken|Baleful Polymorph|Call Lightning Storm|Commune with Nature|Control Winds|Cure Critical Wounds|Death Ward|Hallow|Insect Plague|Stoneskin|Summon Nature's Ally V|Transmute Mud to Rock|Transmute Rock to Mud|Tree Stride|Unhallow|Wall of Fire|Wall of Thorns
    Spells6=Antilife Shell|Bear's Endurance, Mass|Cat's Grace, Mass|Cure Light Wounds, Mass|Dispel Magic, Greater|Find the Path|Fire Seeds|Ironwood|Liveoak|Move Earth|Owl's Wisdom, Mass|Repel Wood|Spellstaff|Stone Tell|Summon Nature's Ally VI|Transport via Plants|Wall of Stone
    Spells7=Animate Plants|Changestaff|Control Weather|Creeping Doom|Cure Moderate Wounds, Mass|Fire Storm|Heal|Scrying, Greater|Summon Nature's Ally VII|Sunbeam|Transmute Metal to Wood|True Seeing|Wind Walk
    Spells8=Animal Shapes|Control Plants|Cure Serious Wounds, Mass|Earthquake|Finger of Death|Repel Metal or Stone|Reverse Gravity|Summon Nature's Ally VIII|Sunburst|Whirlwind|Word of Recall
    Spells9=Antipathy|Cure Critical Wounds, Mass|Elemental Swarm|Foresight|Regenerate|Shambler|Shapechange|Storm of Vengeance|Summon Nature's Ally IX|Sympathy
    #SPELLS PER DAY
    PerDay1=3|2
    PerDay2=4|3
    PerDay3=5|4|2
    PerDay4=6|5|3
    PerDay5=6|6|4|2
    PerDay6=6|6|5|3
    PerDay7=6|6|6|4|2
    PerDay8=6|6|6|5|3
    PerDay9=6|6|6|6|4|2
    PerDay10=6|6|6|6|5|3
    PerDay11=6|6|6|6|6|4|2
    PerDay12=6|6|6|6|6|5|3
    PerDay13=6|6|6|6|6|6|4|2
    PerDay14=6|6|6|6|6|6|5|3
    PerDay15=6|6|6|6|6|6|6|4|2
    PerDay16=6|6|6|6|6|6|6|5|3
    PerDay17=6|6|6|6|6|6|6|6|4|2
    PerDay18=6|6|6|6|6|6|6|6|5|3
    PerDay19=6|6|6|6|6|6|6|6|6|4
    PerDay20=6|6|6|6|6|6|6|6|6|5
    #SPELLS KNOWN
    Known1=3|1
    Known2=3|2
    Known3=3|2|1
    Known4=3|3|1
    Known5=3|3|1|1
    Known6=3|3|2|1
    Known7=3|3|2|1|1
    Known8=3|3|2|2|1
    Known9=3|3|3|2|1|1
    Known10=3|3|3|2|2|1
    Known11=3|3|3|3|2|1|1
    Known12=3|3|3|3|2|2|1
    Known13=3|3|3|3|3|2|1|1
    Known14=3|3|3|3|3|2|2|1
    Known15=3|3|3|3|3|3|2|1|1
    Known16=3|3|3|3|3|3|2|2|1
    Known17=3|3|3|3|3|3|3|2|1|1
    Known18=3|3|3|3|3|3|3|2|2|1
    Known19=3|3|3|3|3|3|3|3|2|2
    Known20=3|3|3|3|3|3|3|3|3|2
     
  3. templar12

    templar12 Member

    Joined:
    Jul 26, 2009
    Messages:
    74
    Likes Received:
    2
    Thanks! I already needed to use the Favored Soul Class. This will do nicely, keyafey!
     
  4. Dan

    Dan Member

    Joined:
    Jul 8, 2008
    Messages:
    599
    Likes Received:
    3
    A reminder: spells need to Be Capitalized, except for common words like: of, the, and, against, from
     
  5. markmad

    markmad New Member

    Joined:
    Jun 11, 2010
    Messages:
    15
    Likes Received:
    0
    It looks really cool how you can adjust these classes through a text files. In the far future I might want to do this, Is there a way to keep the changes separate from the other classes, via a content directory change. So I can have a folder with regular classes and a folder with my new class system.
     
  6. Thurgian

    Thurgian New Member

    Joined:
    May 17, 2010
    Messages:
    225
    Likes Received:
    0
    You can install multiple copies of d20, or you could create a batch file to copy the appropriate .txt files to the current directory before starting the game.
     
  7. ogexam

    ogexam Member

    Joined:
    Jul 10, 2008
    Messages:
    526
    Likes Received:
    1
    you can create different full installs of d20Pro and set them up for each different game system you play.

    There are plans in the near future to add the ability to choose which campaign to start requiring only one install.
     
  8. vardeman

    vardeman New Member

    Joined:
    May 31, 2010
    Messages:
    32
    Likes Received:
    0
    Yay!!!
     
  9. Dan

    Dan Member

    Joined:
    Jul 8, 2008
    Messages:
    599
    Likes Received:
    3
    Yeah, our next major update will focus more on making d20pro more friendly to custom rules, feats, spells, and systems. Our goal is to support more systems and make d20pro even more "free-form" than it currently is.
     
  10. Doskious

    Doskious New Member

    Joined:
    Aug 23, 2010
    Messages:
    26
    Likes Received:
    0
    Is there currently any method of causing a Prestige Class to advance spellcasting levels in a Base class, such as Loremaster adding caster levels and spells-per-day to Wizards or Sorcerers?

    If not, how is this best handled?
     
  11. Dan

    Dan Member

    Joined:
    Jul 8, 2008
    Messages:
    599
    Likes Received:
    3
    The basic method is to add the levels to the character, then add original class levels to the character as well. Use his HD to track his official level, and modify his BAB to be the correct value.

    For example: Lvl 5 mage / 5 cleric gains a level in Mystic Theurge
    • I add a level in Mystic Theurge
    • I add 1 level each into his Wizard and Cleric levels.
    • I keep his Hit Dice at 6
    • If his BAB is off, I click the override box next to it and type in the real value.
     
  12. Hoodsey

    Hoodsey New Member

    Joined:
    Sep 16, 2010
    Messages:
    1
    Likes Received:
    0
    Dan, when you say "free-form" are you referencing the same kind of "free-form" that Battlegrounds has? I've been thinking about dipping into the d20Pro license, but I have a Fantasy Grounds II license currently, it's not super user-friendly when it comes to custom rule-sets and when I saw the screens it's been making me ponder. PLUS I have a Hero Lab license and all the Pathfinder addons... But Fantasy Craft has really grabbed my attention...
     
  13. Dan

    Dan Member

    Joined:
    Jul 8, 2008
    Messages:
    599
    Likes Received:
    3
    We do NOT favor lots of coding on the back end. The classes system is currently the most complex and arcane of anything you customize in d20pro, and most everything else is done in the program itself. Most customizing is done via editing 3 plain text files. Check out our wiki at: http://help.mindgene.com and try downloading a free 30 day trial. If you want, I can give you a brief tutorial over it. Just let me know what you wish to explore.
     
  14. templar12

    templar12 Member

    Joined:
    Jul 26, 2009
    Messages:
    74
    Likes Received:
    2
    I am trying to add Warmage to my classes. Attached is a link to a copy of the classes.txt http://www.mediafire.com/?65sflecybqpqc3a
    The 2.3 D20Pro version is not recognizing it as a class to select.
    Any ideas why? I appreciate your help!
     
  15. edwardcd

    edwardcd Administrator
    Staff Member

    Joined:
    Oct 13, 2010
    Messages:
    1,374
    Likes Received:
    9
    Corrections..
    updated class.txt to include proper spacing between entries
    Assassin - added "|" between spellcaster template and primary ability.
    misc classes - saves had ", " to separate multiple "good saves"... replaced with "|".

    With the previous corrections made Warmage is an option for a class.
     

    Attached Files:

  16. templar12

    templar12 Member

    Joined:
    Jul 26, 2009
    Messages:
    74
    Likes Received:
    2
    Corrections..
    updated class.txt to include proper spacing between entries
    Assassin - added "|" between spellcaster template and primary ability.
    misc classes - saves had ", " to separate multiple "good saves"... replaced with "|".

    With the previous corrections made Warmage is an option for a class.[/quote]

    Thanks for all your hard work. I replaced the classes.txt with your changes, refreshed resources, and still it did not work....
    Hmm...
     
  17. edwardcd

    edwardcd Administrator
    Staff Member

    Joined:
    Oct 13, 2010
    Messages:
    1,374
    Likes Received:
    9

    Must close/quit d20Pro, then reopen d20Pro.
    "Refresh Resources" does not update any user specified files inside the MannuallySpecified folder.
     
  18. templar12

    templar12 Member

    Joined:
    Jul 26, 2009
    Messages:
    74
    Likes Received:
    2
    Yes, I have done that close/restart. Didn't clear the problem.
    ****WAIT****Part2- I went back into folders, and discovered that since everything is under Legacy Campaign, I went in there an lo and behold, I found another RES folder, that my legacy campaign is using. (I go way back to the 1.15umptysomething version)
    So, my folder list goes Prgram Files>Mindgene>d20Pro>judge>campaigns>Legacy Campaign>res> and my old original classes.txt is in there under Manually Specified.So, any changes I want to items,classes,etc, it looks like I have to go that route, NOT the Prgram Files>Mindgene>d20Pro>dm>res I had been fiddling with. Now I wonder....Is this normal? Or throught the years with updates etc, I have created this hydra (sic).Or is this what developers have in mind to modify 3.5;Pathfinder...and dare I say it... 4.ohs*t.
     
  19. edwardcd

    edwardcd Administrator
    Staff Member

    Joined:
    Oct 13, 2010
    Messages:
    1,374
    Likes Received:
    9
    Yes, this was a change as of version 2.2 to support multiple rulesets within the same d20pro installation. (release notes)
     
  20. Dan

    Dan Member

    Joined:
    Jul 8, 2008
    Messages:
    599
    Likes Received:
    3
    Templar,

    My suggestion is perform a fresh install of d20pro into another directory, then copy over your campaign folders. It will save you some problems in the future and clean up your install folder. After a while, you can delete your original.
     

Share This Page