Coding Dual Class Code issues. #pathfinder
They'll also ask about the error in the logs.
I don't recall this hitting the discord, but I can answer basic questions if they've been missed.
Let's start with some basics: "Dual Class" is an outdated term from 2nd edition D&D, it was exclusive to Humans and indicated they had progressed in a single class and then opted to retire from that class and started into another class (They didn't progress at the same time, and even worse, you lost access to the abilities you had until you caught up!). Demihumans were allowed to 'multiclass' and therefore took two or three classes (But they had severe level limits, except dwarves and the thief levels). I think what you're mashing together is a weird "gestalt" but being overly additive (rogue grants 8 skill points, sorcerer 2 skill points, but your class is adding those together for 10, which isn't how gestalt works either, but hey your homebrew and you can make it do whatever you'd like)...
Okay, to address the very obvious issues:
TYPE:Dual Class <-- That's a no. Stick with existing nomenclature unless you explicitly understand why things exist.
Valid Class Type choices for Pathfinder are: PC, NPC, MONSTER, and COMPANION are the valid choices. Adding is fine, but removing is not. You'll mess up inner calculations that PCGen does by omitting such things.
Case in point here's the code you're omitting:
CLASSTYPE:PC CRFORMULA:CL ISMONSTER:NO
XPPENALTY:NO CRMOD:-1 CRMODPRIORITY:1
See, don't alter things until you understand their reason for
existing, it causes ALL sorts of debugging headaches, trust me!
DEFINE:RogueLVL|0 is all great and dandy, but where is the
DEFINE:SorcererLVL|0 also the same for incrementing the value as
they level up with a BONUS:VAR|SorcererLVL|CL ?
Though, I'm keen to use the newer classlevel() instead of CL, but that's a matter of preference I suppose.
<-- equals NULL, and is silliness... I was trying to be clever,
but the code was mangled and faulty. However, two big issues, you
have an undefined var (hence the NULL comment, so the casterlevel
will always show 1 on the output sheet if it shows anything
numerical), and two, unless you'll take sorcerer as a separate
class, this tag is completely and utterly pointless)
The correct usage would be 'BONUS:CASTERLEVEL|Rogue/Sorcerer|CL'
since the class name is Rogue/Sorcerer, and not Sorcerer. Next,
assuming you actually want to see spells, you'll need
'SPELLLIST:1|Sorcerer' remember, you're not a 'sorcerer', you've
made a brand new class called Rogue/Sorcerer. Since that's the
case, none of the spells have CLASSES:Rogue/Sorcerer=x in them, so
the fastest method is to use that tag. Remember, you don't have
"sorcerer" or "rogue" classes, you're faking it by granting the
same things they would get (marginally), but Archetypes won't work
(They are keyed to specific classes and you're not exactly set up
to pull anything in), and everything keyed off of rogues and
sorcerers are likely to fail. (For example, a magic item looking
for a sorcerer would not treat your rogue/sorcerer as a sorcerer,
bear this in mind). Just to help drive this point home. I can call
this class 'Murder Hobo' and have the exact same results. The
class name itself grants nothing, it's just a name or unique
identifier of what the class does or is for. In fact, you could
display Rogue/Sorcerer and then KEY the class to Murder Hobo! I
have the clear distinction the name is fooling you into a false
sense of granting, which is never the case. Hence, the DEFINEs
from both classes need to be added and bonused similarly, and then
you'll have to explicitly add anything you desire to the class.
Whether that's spells, abilities, feats, etc. Lucky for you, most
of the abilities are self-contained and those reliant on class
levels were given the 'ClassNamelvl' variables.
Anyways, clean up the basics, rerun the class and see where that lands you. An error log points us in a direction to address the errors. (and yes, the volunteers all hang out on discord, it's far easier to monitor from our smart devices ;) )
On 3/14/2022 2:06 PM, John Conner via groups.io wrote:
Sorry thought I put that in the original message. I'm currently running PCGen v6.08.00 RC8 and I'm working with Pathfinder 1e.
Also, PCGen has a Discord channel that might be frequentedAnd, to be useful, here is a server invite link for said server: https://discord.gg/JNAVSCgYyd
First: I can't answer your questions, but the person who can is going to ask some basic questions before they can help you.
Q1: What version of PCGen are you running?
Q2: What game mode are you using? (Pathfinder 1E, Starfinder, D&D, etc.)
Also, PCGen has a Discord channel that might be frequented more often than this board.
Hope this helps.
I'm hoping someone on the list can give me some idea were I'm going wrong on coding a dual class character. Below is the character lst as it's currently coded. When I attempt to create a character with this it will fail to properly load the character. Any ideas on what I screwed up?
###Dual Class (Rogue/Sorcerer)
# Class Name Hit Dice Type Max Level Source Page Define Combat bonus Save bonus
CLASS:Rogue/Sorcerer HD:8 TYPE:Dual Class MAXLEVEL:20 SOURCEPAGE:p.67 DEFINE:RogueLVL|0 BONUS:COMBAT|BASEAB|classlevel("APPLIEDAS=NONEPIC")*3/4|TYPE=Base.REPLACE|PREVAREQ:UseAlternateBABProgression,0 BONUS:SAVE|BASE.Reflex|classlevel("APPLIEDAS=NONEPIC")/2+2|PREVAREQ:UseAlternateSaveProgression,0 BONUS:SAVE|BASE.Fortitude,BASE.Will|classlevel("APPLIEDAS=NONEPIC")/3|PREVAREQ:UseAlternateSaveProgression,0 BONUS:VAR|ClassBABModerate|classlevel("APPLIEDAS=NONEPIC")|PREVAREQ:UseFractionalBAB,1 BONUS:VAR|RogueLVL|CL BONUS:VAR|ClassSavePoor_Fortitude|classlevel("APPLIEDAS=NONEPIC")|PREVAREQ:UseFractionalSave,1 BONUS:VAR|ClassSaveGood_Reflex|classlevel("APPLIEDAS=NONEPIC")|PREVAREQ:UseFractionalSave,1 BONUS:VAR|ClassSavePoor_Will|classlevel("APPLIEDAS=NONEPIC")|PREVAREQ:UseFractionalSave,1 ROLE:Skill FACT:ClassType|PC FACT:Abb|Rg/S
# Class Name Skill Pts/Lvl
# Class Name Spell Stat Memorize Caster level
CLASS:Rogue/Sorcerer SPELLSTAT:CHA MEMORIZE:NO BONUS:CASTERLEVEL|Sorcerer|Caster_Level_BL_Stripped_Sorcerer
1 ABILITY:Special Ability|AUTOMATIC|Weapon and Armor Proficiency ~ Rogue
1 ABILITY:Sorcerer Class Feature|AUTOMATIC|Sorcerer ~ Sorcerer Bloodline|PREVAREQ:Sorcerer_CF_Bloodline,0
1 ABILITY:Sorcerer Class Feature|AUTOMATIC|Sorcerer ~ Cantrips
1 ABILITY:Sorcerer Class Feature|AUTOMATIC|Sorcerer ~ Eschew Materials|PREVAREQ:Sorcerer_CF_EschewMaterials,0
###Block: Level progression
1 CAST:0,3 KNOWN:4,2
2 CAST:0,4 KNOWN:5,2
3 CAST:0,5 KNOWN:5,3
4 CAST:0,6,3 KNOWN:6,3,1
5 CAST:0,6,4 KNOWN:6,4,2
6 CAST:0,6,5,3 KNOWN:7,4,2,1
7 CAST:0,6,6,4 KNOWN:7,5,3,2
8 CAST:0,6,6,5,3 KNOWN:8,5,3,2,1
9 CAST:0,6,6,6,4 KNOWN:8,5,4,3,2
10 CAST:0,6,6,6,5,3 KNOWN:9,5,4,3,2,1
11 CAST:0,6,6,6,6,4 KNOWN:9,5,5,4,3,2
12 CAST:0,6,6,6,6,5,3 KNOWN:9,5,5,4,3,2,1
13 CAST:0,6,6,6,6,6,4 KNOWN:9,5,5,4,4,3,2
14 CAST:0,6,6,6,6,6,5,3 KNOWN:9,5,5,4,4,3,2,1
15 CAST:0,6,6,6,6,6,6,4 KNOWN:9,5,5,4,4,4,3,2
16 CAST:0,6,6,6,6,6,6,5,3 KNOWN:9,5,5,4,4,4,3,2,1
17 CAST:0,6,6,6,6,6,6,6,4 KNOWN:9,5,5,4,4,4,3,3,2
18 CAST:0,6,6,6,6,6,6,6,5,3 KNOWN:9,5,5,4,4,4,3,3,2,1
19 CAST:0,6,6,6,6,6,6,6,6,4 KNOWN:9,5,5,4,4,4,3,3,3,2
20 CAST:0,6,6,6,6,6,6,6,6,6 KNOWN:9,5,5,4,4,4,3,3,3,3