Class ProgressionConfigurator
Configurator for Kingmaker.Blueprints.Classes.BlueprintProgression.
Inheritance
Inherited Members
Namespace: BlueprintCore.Blueprints.CustomConfigurators.Classes
Assembly: BlueprintCore.dll
Syntax
public class ProgressionConfigurator : BaseProgressionConfigurator<BlueprintProgression, ProgressionConfigurator>
Remarks
Each supported blueprint type has a corresponding Configurator
class to create and modify blueprints of
that type, e.g. FeatureConfigurator supports BlueprintFeature
. Configurators exist for all
blueprint types inheriting from Kingmaker.Blueprints.BlueprintScriptableObject, excluding any that are not used in the
base game.
Creating a Blueprint
Use New(string, string)
to create a blueprint:
FeatureConfigurator.New(MyBlueprintName, MyBlueprintGuid)
Once New()
is called the blueprint is added to the game library and can be referenced.
Using the Configurator
New()
returns a configurator with methods to set or modify blueprint fields and add or modify
Kingmaker.Blueprints.BlueprintComponent:
FeatureConfigurator.New(MyBlueprintName, MyBlueprintGuid).AddToGroups(FeatureGroup.Feat).AddPrerequisiteAlignment(AlignmentMaskType.LawfulGood).Configure();
Each method call returns the configurator allowing you to chain calls. Nothing is modified on the blueprint until
Configure()
is called, at which point the changes are applied and validated. Potential problems with the
blueprint are logged as warnings.
Modifying an Existing Blueprint
Use For(Blueprint)
to modify existing blueprints:
CharacterClassConfigurator.For(WizardClassGuid)
Usage is otherwise identical to creating a new blueprint.
For more information see Using BlueprintCore.
Methods
| Improve this Doc View SourceAddToAlternateProgressionClasses(Blueprint<BlueprintCharacterClassReference>[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.m_AlternateProgressionClasses
Declaration
public ProgressionConfigurator AddToAlternateProgressionClasses(params Blueprint<BlueprintCharacterClassReference>[] classes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Half the specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
This is ignored if ForAllOtherClasses is true.
AddToAlternateProgressionClasses((Blueprint<BlueprintCharacterClassReference> clazz, Int32 additionalLevel)[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.m_AlternateProgressionClasses
Declaration
public ProgressionConfigurator AddToAlternateProgressionClasses(params (Blueprint<BlueprintCharacterClassReference> clazz, int additionalLevel)[] classes)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>, System.Int32>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Half the specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
This is ignored if ForAllOtherClasses is true.
AddToArchetypes(Blueprint<BlueprintArchetypeReference>[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Archetypes
Declaration
public ProgressionConfigurator AddToArchetypes(params Blueprint<BlueprintArchetypeReference>[] archetypes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintArchetypeReference>[] | archetypes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified archetype levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
Note that you do not need to include the archetype's class in m_Classes. It will only check for the associated archetype.
AddToArchetypes((Blueprint<BlueprintArchetypeReference> archetype, Int32 additionalLevel)[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Archetypes
Declaration
public ProgressionConfigurator AddToArchetypes(params (Blueprint<BlueprintArchetypeReference> archetype, int additionalLevel)[] archetypes)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<Blueprint<Kingmaker.Blueprints.BlueprintArchetypeReference>, System.Int32>[] | archetypes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified archetype levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
Note that you do not need to include the archetype's class in m_Classes. It will only check for the associated archetype.
AddToClasses(Blueprint<BlueprintCharacterClassReference>[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Classes
Declaration
public ProgressionConfigurator AddToClasses(params Blueprint<BlueprintCharacterClassReference>[] classes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
AddToClasses((Blueprint<BlueprintCharacterClassReference> clazz, Int32 additionalLevel)[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Classes
Declaration
public ProgressionConfigurator AddToClasses(params (Blueprint<BlueprintCharacterClassReference> clazz, int additionalLevel)[] classes)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>, System.Int32>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
AddToLevelEntries(Int32, Blueprint<BlueprintFeatureBaseReference>[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.LevelEntries
Declaration
public ProgressionConfigurator AddToLevelEntries(int level, params Blueprint<BlueprintFeatureBaseReference>[] features)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | level | Features are added to a new LevelEntry with this level |
Blueprint<Kingmaker.Blueprints.BlueprintFeatureBaseReference>[] | features | Group of features to add |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Consider using LevelEntryBuilder and SetLevelEntries.
AddToLevelEntry(Int32, Blueprint<BlueprintFeatureBaseReference>[])
Adds the specified features to an existing LevelEntry in Kingmaker.Blueprints.Classes.BlueprintProgression.LevelEntries. Adds the level if it doesn't exist already.
Declaration
public ProgressionConfigurator AddToLevelEntry(int level, params Blueprint<BlueprintFeatureBaseReference>[] features)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | level | |
Blueprint<Kingmaker.Blueprints.BlueprintFeatureBaseReference>[] | features |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
AddToUIGroups(Blueprint<BlueprintFeatureBaseReference>[])
Adds to the contents of Kingmaker.Blueprints.Classes.BlueprintProgression.UIGroups
Declaration
public ProgressionConfigurator AddToUIGroups(params Blueprint<BlueprintFeatureBaseReference>[] features)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintFeatureBaseReference>[] | features | A list of features to add as a single UIGroup |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Consider using UIGroupBuilder and SetUIGroups.
For(Blueprint<BlueprintReference<BlueprintProgression>>)
Returns a configurator to modify the specified blueprint.
Declaration
public static ProgressionConfigurator For(Blueprint<BlueprintReference<BlueprintProgression>> blueprint)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintReference<Kingmaker.Blueprints.Classes.BlueprintProgression>> | blueprint |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Use this to modify existing blueprints, such as blueprints from the base game.
If you're using WrathModificationTemplate blueprints defined in JSON already exist.
New(String, String)
Creates a new blueprint and returns a new configurator to modify it.
Declaration
public static ProgressionConfigurator New(string name, string guid)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | |
System.String | guid |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
After creating a blueprint with this method you can use either name or GUID to reference the blueprint in BlueprintCore API calls.
An implicit cast converts the string to Blueprint<TRef>, exposing the blueprint instance and its reference.
RemoveFromAlternateProgressionClasses(Blueprint<BlueprintCharacterClassReference>[])
Removes the specified classes from Kingmaker.Blueprints.Classes.BlueprintProgression.m_AlternateProgressionClasses.
Declaration
public ProgressionConfigurator RemoveFromAlternateProgressionClasses(params Blueprint<BlueprintCharacterClassReference>[] classes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
RemoveFromArchetypes(Blueprint<BlueprintArchetypeReference>[])
Removes the specified archetypes from Kingmaker.Blueprints.Classes.BlueprintProgression.m_Archetypes.
Declaration
public ProgressionConfigurator RemoveFromArchetypes(params Blueprint<BlueprintArchetypeReference>[] archetypes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintArchetypeReference>[] | archetypes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
RemoveFromClasses(Blueprint<BlueprintCharacterClassReference>[])
Removes the specified classes from Kingmaker.Blueprints.Classes.BlueprintProgression.m_Classes.
Declaration
public ProgressionConfigurator RemoveFromClasses(params Blueprint<BlueprintCharacterClassReference>[] classes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
RemoveFromLevelEntries(Int32, Blueprint<BlueprintFeatureBaseReference>[])
Removes the provided features from any LevelEntry in Kingmaker.Blueprints.Classes.BlueprintProgression.LevelEntries with the specified level.
Declaration
public ProgressionConfigurator RemoveFromLevelEntries(int level, params Blueprint<BlueprintFeatureBaseReference>[] features)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | level | |
Blueprint<Kingmaker.Blueprints.BlueprintFeatureBaseReference>[] | features |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
RemoveLevelEntry(Int32)
Removes any level entries with the specified level from Kingmaker.Blueprints.Classes.BlueprintProgression.LevelEntries.
Declaration
public ProgressionConfigurator RemoveLevelEntry(int level)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | level |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
SetAlternateProgressionClasses(Blueprint<BlueprintCharacterClassReference>[])
Sets the value of Kingmaker.Blueprints.Classes.BlueprintProgression.m_AlternateProgressionClasses
Declaration
public ProgressionConfigurator SetAlternateProgressionClasses(params Blueprint<BlueprintCharacterClassReference>[] classes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Half the specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
This is ignored if ForAllOtherClasses is true.
SetAlternateProgressionClasses((Blueprint<BlueprintCharacterClassReference> clazz, Int32 additionalLevel)[])
Sets the value of Kingmaker.Blueprints.Classes.BlueprintProgression.m_AlternateProgressionClasses
Declaration
public ProgressionConfigurator SetAlternateProgressionClasses(params (Blueprint<BlueprintCharacterClassReference> clazz, int additionalLevel)[] classes)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>, System.Int32>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Half the specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
This is ignored if ForAllOtherClasses is true.
SetArchetypes(Blueprint<BlueprintArchetypeReference>[])
Sets the value of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Archetypes
Declaration
public ProgressionConfigurator SetArchetypes(params Blueprint<BlueprintArchetypeReference>[] archetypes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintArchetypeReference>[] | archetypes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified archetype levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
Note that you do not need to include the archetype's class in m_Classes. It will only check for the associated archetype.
SetArchetypes((Blueprint<BlueprintArchetypeReference> archetype, Int32 additionalLevel)[])
Sets the value of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Archetypes
Declaration
public ProgressionConfigurator SetArchetypes(params (Blueprint<BlueprintArchetypeReference> archetype, int additionalLevel)[] archetypes)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<Blueprint<Kingmaker.Blueprints.BlueprintArchetypeReference>, System.Int32>[] | archetypes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified archetype levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
Note that you do not need to include the archetype's class in m_Classes. It will only check for the associated archetype.
SetClasses(Blueprint<BlueprintCharacterClassReference>[])
Sets the value of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Classes
Declaration
public ProgressionConfigurator SetClasses(params Blueprint<BlueprintCharacterClassReference>[] classes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
SetClasses((Blueprint<BlueprintCharacterClassReference> clazz, Int32 additionalLevel)[])
Sets the value of Kingmaker.Blueprints.Classes.BlueprintProgression.m_Classes
Declaration
public ProgressionConfigurator SetClasses(params (Blueprint<BlueprintCharacterClassReference> clazz, int additionalLevel)[] classes)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<Blueprint<Kingmaker.Blueprints.BlueprintCharacterClassReference>, System.Int32>[] | classes |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Specified class levels are summed when determining the character's level with respect to the progression.
AdditionalLevel is a static bonus added if the character has any levels in the associated class.
SetLevelEntries(LevelEntryBuilder)
Uses LevelEntryBuilder to set Kingmaker.Blueprints.Classes.BlueprintProgression.LevelEntries.
Declaration
public ProgressionConfigurator SetLevelEntries(LevelEntryBuilder levelEntries)
Parameters
Type | Name | Description |
---|---|---|
LevelEntryBuilder | levelEntries |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
SetLevelEntry(Int32, Blueprint<BlueprintFeatureBaseReference>[])
Sets the LevelEntry in Kingmaker.Blueprints.Classes.BlueprintProgression.LevelEntries with the specified level and features.
Declaration
public ProgressionConfigurator SetLevelEntry(int level, params Blueprint<BlueprintFeatureBaseReference>[] features)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | level | |
Blueprint<Kingmaker.Blueprints.BlueprintFeatureBaseReference>[] | features |
Returns
Type | Description |
---|---|
ProgressionConfigurator |
Remarks
Removes any existing LevelEntry with the specified level.
SetUIGroups(UIGroupBuilder)
Uses UIGroupBuilder to set Kingmaker.Blueprints.Classes.BlueprintProgression.UIGroups and Kingmaker.Blueprints.Classes.BlueprintProgression.m_UIDeterminatorsGroup.
Declaration
public ProgressionConfigurator SetUIGroups(UIGroupBuilder uiGroup)
Parameters
Type | Name | Description |
---|---|---|
UIGroupBuilder | uiGroup |
Returns
Type | Description |
---|---|
ProgressionConfigurator |