Got an error today while my players did level up. The new multiclass class would override the already existing class and give that one another level.
As I use a dozen extensions and one heavily written for myself, I debugged the last two hours to no avail. Then I did look at the ruleset code and tested without extensions in a fresh campaign.
Steps to reproduce:
1. Create a new 3.5e campaign
2. Load the "3.5E Tome of Battle" and "3.5E UA" modules
3. Create a character
4. Drop the class "Savage Bard" onto the character
5. Drop the class "Crusader" onto the character
6. The character now has 2 savage bard levels.
I've dug until I got into this code which is probably responsible for this behavior (manager_char.lua).
Code:
-- Try and match an existing class entry, or create a new one
local sRecordSansModule = StringManager.split(sRecord, "@")[1];
local nodeClass = nil;
for _,v in pairs(nodeList.getChildren()) do
local _,sExistingClassPath = DB.getValue(v, "shortcut", "", "");
if sExistingClassPath == "" then
local sExistingClassName = StringManager.trim(DB.getValue(v, "name", "")):lower();
if sExistingClassName ~= "" and (sExistingClassName == sClassNameLower) then
nodeClass = v;
break;
end
else
local sExistingClassPathSansModule = StringManager.split(sExistingClassPath, "@")[1];
if sExistingClassPathSansModule == sRecordSansModule then
nodeClass = v;
break;
end
end
end
The modules were created in Fantasy Grounds Unity and exported via /export. As those have copyrighted material from 3.5e shall I sent them to
[email protected] linking this thread?