Class FeatureSelectionConfigurator
Configurator for Kingmaker.Blueprints.Classes.Selection.BlueprintFeatureSelection.
Inheritance
Inherited Members
Namespace: BlueprintCore.Blueprints.CustomConfigurators.Classes.Selection
Assembly: BlueprintCore.dll
Syntax
public class FeatureSelectionConfigurator : BaseFeatureSelectionConfigurator<BlueprintFeatureSelection, FeatureSelectionConfigurator>
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 SourceAddAsTeamworkFeat(String, String, String, String, String, String, String, String)
Populates all the necessary blueprints to make sure the teamwork feat is shared appropriately by various class and archetype abilities.
Declaration
public FeatureSelectionConfigurator AddAsTeamworkFeat(string cavalierBuffGuid, string vanguardBuffGuid, string vanguardAbilityGuid, string packRagerBuffGuid, string packRagerAreaGuid, string packRagerAreaBuffGuid, string packRagerToggleBuffGuid, string packRagerToggleGuid)
Parameters
Type | Name | Description |
---|---|---|
System.String | cavalierBuffGuid | Used to generate a buff which applies the feat for Cavalier Tactician. |
System.String | vanguardBuffGuid | Used to generate a buff which applies the feat for Vanguard Tactician. |
System.String | vanguardAbilityGuid | Used to generate an ability which applies the vanguard buff. |
System.String | packRagerBuffGuid | Used to generate a buff which applies the feat for Raging Tactician. |
System.String | packRagerAreaGuid | Used to generate an area which applies the pack rager buff. |
System.String | packRagerAreaBuffGuid | Used to generate a buff which creates the pack rager area. |
System.String | packRagerToggleBuffGuid | Used to generate a buff which turns on the pack rager area buff. |
System.String | packRagerToggleGuid | Used to generate an ability which toggles the pack rager toggle buff. |
Returns
Type | Description |
---|---|
FeatureSelectionConfigurator |
Remarks
**IMPORTANT**: This generates blueprints using these GUIDs. That means they are a save dependency just like any other blueprint you create. Once you start using these you cannot stop, or you'll at least need to create dummy blueprints in their place.
If you only set FeatureGroup.TeamworkFeat
Monster Tactician, Tactical Leader, Hunter Tactics, Sacred
Huntsmaster Tactics, and Battle Prowess are configured automatically. This function is required to update
Raging Tactician, Cavalier Tactics, and Vanguard Tactician which all require additional blueprints.
All created blueprints will inherit the name, description, and icon from this feature.
AddToFeatureSelection(Blueprint<BlueprintFeatureSelectionReference>[])
Adds the feature to the specified selections, if the selections exist.
Declaration
public FeatureSelectionConfigurator AddToFeatureSelection(params Blueprint<BlueprintFeatureSelectionReference>[] selections)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintFeatureSelectionReference>[] | selections |
Returns
Type | Description |
---|---|
FeatureSelectionConfigurator |
Remarks
Most selections should be automatically populated based on the FeatureGroup values you specify in New(String, String, FeatureGroup[]).
Note that if a selection you provide here does not exist, it will not fail. Use this to add your feature to
selections from other mods without a dependency: call
Configure(Boolean) setting delayed
to true
. Then when
you call ConfigureDelayedBlueprints() those selections should exist
if the required mod is installed.
AddToRangerStyles(RangerStyle[])
Adds the feature to specified ranger styles. Note that you only need to specify the minimum level for each category.
Declaration
public FeatureSelectionConfigurator AddToRangerStyles(params RangerStyle[] styles)
Parameters
Type | Name | Description |
---|---|---|
RangerStyle[] | styles |
Returns
Type | Description |
---|---|
FeatureSelectionConfigurator |
For(Blueprint<BlueprintReference<BlueprintFeatureSelection>>, Boolean)
Returns a configurator to modify the specified blueprint.
Declaration
public static FeatureSelectionConfigurator For(Blueprint<BlueprintReference<BlueprintFeatureSelection>> blueprint, bool updateSelections = false)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintReference<Kingmaker.Blueprints.Classes.Selection.BlueprintFeatureSelection>> | blueprint | |
System.Boolean | updateSelections | If true, automatically adds the blueprint to feature selections with a matching group. Defaults to false. |
Returns
Type | Description |
---|---|
FeatureSelectionConfigurator |
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, FeatureGroup[])
Creates a new blueprint and returns a new configurator to modify it.
Declaration
public static FeatureSelectionConfigurator New(string name, string guid, params FeatureGroup[] groups)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | |
System.String | guid | |
Kingmaker.Blueprints.Classes.FeatureGroup[] | groups | When configured the feature is added to each |
Returns
Type | Description |
---|---|
FeatureSelectionConfigurator |
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.
If you specify FeatureGroups it will automatically set IsClassFeature
to true
unless you include
a group related to race or background:
- FeatureGroup.Racial
- FeatureGroup.Trait
- FeatureGroup.CreatureType
- FeatureGroup.AasimarHeritage
- FeatureGroup.TieflingHeritage
- FeatureGroup.BackgroundSelection
- FeatureGroup.DhampirHeritage
- FeatureGroup.OreadHeritage
- FeatureGroup.KitsuneHeritage
- FeatureGroup.HalfOrcHeritage
OnConfigureCompleted()
Declaration
protected override void OnConfigureCompleted()
Overrides
SkipAddToSelections()
Call this to skip the automatic processing of FeatureGroup
to add this feature to selections. Useful if
you are using BlueprintFeatureSelection
for a feat so the selected option can have
FeatureGroup.Feat
but only show under the selection.
Declaration
public FeatureSelectionConfigurator SkipAddToSelections()
Returns
Type | Description |
---|---|
FeatureSelectionConfigurator |