It looks like you're new here. If you want to get involved, click one of these buttons!
name 'CHARGEN'
align center center
ignoreesc
Below it, insert the following code: onOpen "generateAllChargenOptions()"
onopen
"
lastChargenClass = nil
currentChargenClass = nil
if (createCharScreen:GetCurrentStep() == const.STEP_DUALCLASS_CLASS) then
allChargenClasses = chargen.class
allChargenOptionsGenerated = false
end
"
text lua "Infinity_FetchString(chargen.class[rowNumber].name)"
withtext lua "Infinity_FetchString(allChargenClasses[rowNumber].name)"
label
{
area 0 0 340 32
rectangle 1
rectangle opacity 180
enabled "getClassDisabled(allChargenClasses[rowNumber].id)"
}
actionUpdate
"
if (allChargenClasses[currentChargenClass] and getClassDisabled(allChargenClasses[currentChargenClass].id)) then
currentChargenClass = lastChargenClass
else
lastChargenClass = currentChargenClass
end
if (allChargenClasses[currentChargenClass]) then
createCharScreen:OnClassSelectButtonClick(allChargenClasses[currentChargenClass].id)
end
"
table "chargen.class"
and replace it withtable "allChargenClasses"
text lua "classOrGeneralHelp()"
and replace it withtext lua "getClassHelpText()"
onopen "lastChargenKit = currentChargenKit"
text lua "Infinity_FetchString(chargen.kit[rowNumber].name)"
withtext lua "Infinity_FetchString(allChargenClasses[currentChargenClass].kits[rowNumber].name)"
label
{
area 0 0 340 32
rectangle 1
rectangle opacity 180
enabled "getKitDisabled(allChargenClasses[currentChargenClass].kits[rowNumber].id)"
}
actionUpdate
"
if (allChargenClasses[currentChargenClass].kits[currentChargenKit] and getKitDisabled(allChargenClasses[currentChargenClass].kits[currentChargenKit].id)) then
currentChargenKit = lastChargenKit
else
lastChargenKit = currentChargenKit
end
if (allChargenClasses[currentChargenClass].kits[currentChargenKit]) then
createCharScreen:OnKitSelectButtonClick(allChargenClasses[currentChargenClass].kits[currentChargenKit].id)
end
"
table "chargen.kit"
and replace it withtable "allChargenClasses[currentChargenClass].kits"
text lua "kitOrGeneralHelp()"
and replace it withtext lua "getKitHelpText()"
onopen
"
lastChargenAlignment = nil
currentChargenAlignment = nil
"
text lua "Infinity_FetchString(chargen.alignment[rowNumber].name)"
withtext lua "Infinity_FetchString(allChargenAlignments[rowNumber].name)"
label
{
area 0 0 340 32
rectangle 1
rectangle opacity 180
enabled "getAlignmentDisabled(allChargenAlignments[rowNumber].id)"
}
actionUpdate
"
if (allChargenAlignments[currentChargenAlignment] and getAlignmentDisabled(allChargenAlignments[currentChargenAlignment].id)) then
currentChargenAlignment = lastChargenAlignment
else
lastChargenAlignment = currentChargenAlignment
end
if allChargenAlignments[currentChargenAlignment] then
createCharScreen:OnAlignmentSelectButtonClick(allChargenAlignments[currentChargenAlignment].id)
end
"
table "chargen.alignment"
and replace it withtable "allChargenAlignments"
text lua "alignmentOrGeneralHelp()"
and replace it withtext lua "getAlignmentHelpText()"
onopen
"
currentChargenProficiency = nil
currentChargenThiefSkill = nil
ticksPassed = 0
ticksStarting = 0
if (chargen.levelingUp or (createCharScreen:GetCurrentStep() == const.STEP_DUALCLASS_PROFICIENCIES)) then
allChargenProficiencies = chargen.proficiency
allChargenOptionsGenerated = false
profRowDict = nil
else
translateProficiencyRows()
end
"
text lua "Infinity_FetchString(chargen.proficiency[rowNumber].name)"
and replace it with withtext lua "Infinity_FetchString(allChargenProficiencies[rowNumber].name)"
chargen.proficiency[rowNumber].value
and replace them withgetTranslatedProficiencyValue(rowNumber)
frame lua "getPlusFrame(7)"
and insert below itenabled "getTranslatedProficiencyEnabled(rowNumber)"
frame lua "getMinusFrame(8)"
and insert below itenabled "getTranslatedProficiencyEnabled(rowNumber)"
chargen.proficiency[currentChargenProficiency].id
and replace them withgetTranslatedProficiencyId(currentChargenProficiency)
table "chargen.proficiency"
and replace it withtable "allChargenProficiencies"
text lua "proficiencyOrGeneralHelp()"
and replace it withtext lua "getProficiencyHelpText()"
Comments
EDIT - seriously not being critical. Just want to know more about what motivated you to make this.
1. It is detrimental to new players learning about the game. A player who is unfamiliar with the options available to them could, for example, pick the halfling race and go through the rest of the character creation process without ever finding out that there are more than 4 classes in the game. Not to mention the unlikeliness of finding out about the dwarven defender kit.
2. It curbs the viability of iterating character design. I often find myself wanting to take a look at all the available classes in the game first, before deciding on what kind of character I want to create. With the 2.0 behavior, looking at all the options in-game is just not possible. (That is, without cycling through all the races and making a mental list of the classes available to each one, which is obviously not very convenient.)
Also the way the mod works, how it collects all the alternatives, is very clever and robust - especially if the user has modded the class/kits in some way.
Why doesn't the game already have a toggle button or game option to show/hide this stuff??
https://support.baldursgate.com/issues/31771
And I did submit a feature request to restore the missing chargen options ages ago, but unfortunately the ticket (not unlike my other feature requests) hasn't seen much activity from the official side:
https://support.baldursgate.com/issues/20614