Class BaseDungeonModificatorConfigurator<T, TBuilder>
Implements common fields and components for blueprints inheriting from Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.
Inheritance
Inherited Members
Namespace: BlueprintCore.Blueprints.Configurators.Dungeon
Assembly: BlueprintCore.dll
Syntax
public abstract class BaseDungeonModificatorConfigurator<T, TBuilder> : BaseBlueprintConfigurator<T, TBuilder> where T : BlueprintDungeonModificator where TBuilder : BaseDungeonModificatorConfigurator<T, TBuilder>
Type Parameters
Name | Description |
---|---|
T | |
TBuilder |
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.
Constructors
| Improve this Doc View SourceBaseDungeonModificatorConfigurator(Blueprint<BlueprintReference<T>>)
Declaration
protected BaseDungeonModificatorConfigurator(Blueprint<BlueprintReference<T>> blueprint)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintReference<T>> | blueprint |
Methods
| Improve this Doc View SourceAddDungeonModificatorArmyOverride(Blueprint<BlueprintDungeonArmyReference>, Action<BlueprintComponent, BlueprintComponent>, ComponentMerge)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorArmyOverride
Declaration
public TBuilder AddDungeonModificatorArmyOverride(Blueprint<BlueprintDungeonArmyReference> army = null, Action<BlueprintComponent, BlueprintComponent> merge = null, ComponentMerge mergeBehavior = ComponentMerge.Fail)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonArmyReference> | army | Blueprint of type BlueprintDungeonArmy. You can pass in the blueprint using:
|
System.Action<Kingmaker.Blueprints.BlueprintComponent, Kingmaker.Blueprints.BlueprintComponent> | merge | If mergeBehavior is ComponentMerge.Merge and the component already exists, this expression is called to merge the components. |
ComponentMerge | mergeBehavior | Handling if the component already exists since the component is unique. Defaults to ComponentMerge.Fail. |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorBesmarites14edcd6f662c453183aa9c1295306a2b
- DungeonModificatorMindControld65481ede93c4826b98b78cb585ea0f7
AddDungeonModificatorBuff(Nullable<Boolean>, Blueprint<BlueprintBuffReference>, Nullable<Boolean>, Nullable<DungeonModificatorTarget>)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorBuff
Declaration
public TBuilder AddDungeonModificatorBuff(bool? applyOnlyOnce = null, Blueprint<BlueprintBuffReference> buff = null, bool? removeOnLeave = null, DungeonModificatorTarget? target = null)
Parameters
Type | Name | Description |
---|---|---|
System.Nullable<System.Boolean> | applyOnlyOnce | |
Blueprint<Kingmaker.Blueprints.BlueprintBuffReference> | buff | Blueprint of type BlueprintBuff. You can pass in the blueprint using:
|
System.Nullable<System.Boolean> | removeOnLeave | |
System.Nullable<Kingmaker.Dungeon.Enums.DungeonModificatorTarget> | target |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorArcane4328c8b0356b4e21b13400fbf14412a2
- DungeonModificatorHot488374c585394717a689354c714b1fa9
- DungeonModificatorWildMagic9106be5b6d5d4423bbd538be3dfe6464
AddDungeonModificatorFeature(Blueprint<BlueprintFeatureReference>, Nullable<DungeonModificatorTarget>)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorFeature
Declaration
public TBuilder AddDungeonModificatorFeature(Blueprint<BlueprintFeatureReference> feature = null, DungeonModificatorTarget? target = null)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintFeatureReference> | feature | Blueprint of type BlueprintFeature. You can pass in the blueprint using:
|
System.Nullable<Kingmaker.Dungeon.Enums.DungeonModificatorTarget> | target |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorArcane4328c8b0356b4e21b13400fbf14412a2
- DungeonModificatorIllnessAndCannibalisma507161dd0724e5cb6fb16caa0003556
- DungeonModificatorUncotrollableRageda74c014108547599047f6dca1937df4
AddDungeonModificatorMindArmy(Blueprint<BlueprintDungeonArmyReference>, Blueprint<BlueprintBuffReference>, Action<BlueprintComponent, BlueprintComponent>, ComponentMerge, Blueprint<BlueprintDungeonArmyReference>, Nullable<Int32>)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorMindArmy
Declaration
public TBuilder AddDungeonModificatorMindArmy(Blueprint<BlueprintDungeonArmyReference> army = null, Blueprint<BlueprintBuffReference> buffOnSpawn = null, Action<BlueprintComponent, BlueprintComponent> merge = null, ComponentMerge mergeBehavior = ComponentMerge.Fail, Blueprint<BlueprintDungeonArmyReference> mindControlArmy = null, int? spawnProbability = null)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonArmyReference> | army | Blueprint of type BlueprintDungeonArmy. You can pass in the blueprint using:
|
Blueprint<Kingmaker.Blueprints.BlueprintBuffReference> | buffOnSpawn | Blueprint of type BlueprintBuff. You can pass in the blueprint using:
|
System.Action<Kingmaker.Blueprints.BlueprintComponent, Kingmaker.Blueprints.BlueprintComponent> | merge | If mergeBehavior is ComponentMerge.Merge and the component already exists, this expression is called to merge the components. |
ComponentMerge | mergeBehavior | Handling if the component already exists since the component is unique. Defaults to ComponentMerge.Fail. |
Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonArmyReference> | mindControlArmy | Blueprint of type BlueprintDungeonArmy. You can pass in the blueprint using:
|
System.Nullable<System.Int32> | spawnProbability |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorMindControld65481ede93c4826b98b78cb585ea0f7
AddDungeonModificatorSpawnAreaEffect(List<Blueprint<BlueprintAbilityAreaEffectReference>>, IntegerWeighted[], Nullable<Boolean>, Nullable<Boolean>)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorSpawnAreaEffect
Declaration
public TBuilder AddDungeonModificatorSpawnAreaEffect(List<Blueprint<BlueprintAbilityAreaEffectReference>> areaEffects = null, IntegerWeighted[] count = null, bool? overrideCount = null, bool? spawnOnObjects = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.List<Blueprint<Kingmaker.Blueprints.BlueprintAbilityAreaEffectReference>> | areaEffects | Blueprint of type BlueprintAbilityAreaEffect. You can pass in the blueprint using:
|
Kingmaker.Dungeon.Blueprints.IntegerWeighted[] | count | |
System.Nullable<System.Boolean> | overrideCount | |
System.Nullable<System.Boolean> | spawnOnObjects |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorElementalLocust44ff5ead17a0419ba15b5ad2b01f200f
- DungeonModificatorIllnessAndCannibalisma507161dd0724e5cb6fb16caa0003556
- DungeonModificatorNegativeEnergy461523b537f04734805802d4c91b5e1c
AddDungeonModificatorSpawnObjects(IntegerWeighted[], List<Blueprint<BlueprintDynamicMapObjectReference>>, Nullable<Boolean>)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorSpawnObjects
Declaration
public TBuilder AddDungeonModificatorSpawnObjects(IntegerWeighted[] count = null, List<Blueprint<BlueprintDynamicMapObjectReference>> objects = null, bool? overrideCount = null)
Parameters
Type | Name | Description |
---|---|---|
Kingmaker.Dungeon.Blueprints.IntegerWeighted[] | count | |
System.Collections.Generic.List<Blueprint<Kingmaker.Blueprints.BlueprintDynamicMapObjectReference>> | objects | Blueprint of type BlueprintDynamicMapObject. You can pass in the blueprint using:
|
System.Nullable<System.Boolean> | overrideCount |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorDevilRage15a1186ed09c4ea9848d125d61403428
- DungeonModificatorWildMagic9106be5b6d5d4423bbd538be3dfe6464
AddDungeonModificatorSpawnUnits(IntegerWeighted[], Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Nullable<Boolean>, List<Blueprint<BlueprintDungeonTierReference>>, List<Blueprint<BlueprintUnitReference>>)
Adds Kingmaker.Dungeon.Blueprints.DungeonModificatorSpawnUnits
Declaration
public TBuilder AddDungeonModificatorSpawnUnits(IntegerWeighted[] count = null, bool? limitMaxStage = null, bool? limitMinStage = null, bool? limitTiers = null, int? maxStage = null, int? minStage = null, bool? overrideCount = null, List<Blueprint<BlueprintDungeonTierReference>> tiers = null, List<Blueprint<BlueprintUnitReference>> units = null)
Parameters
Type | Name | Description |
---|---|---|
Kingmaker.Dungeon.Blueprints.IntegerWeighted[] | count | |
System.Nullable<System.Boolean> | limitMaxStage | |
System.Nullable<System.Boolean> | limitMinStage | |
System.Nullable<System.Boolean> | limitTiers | |
System.Nullable<System.Int32> | maxStage | Tooltip: This army should appear not after this stage. |
System.Nullable<System.Int32> | minStage | Tooltip: This army should appear not before this stage. |
System.Nullable<System.Boolean> | overrideCount | |
System.Collections.Generic.List<Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonTierReference>> | tiers | Tooltip: This army should appear only in these tiers. Blueprint of type BlueprintDungeonTier. You can pass in the blueprint using:
|
System.Collections.Generic.List<Blueprint<Kingmaker.Blueprints.BlueprintUnitReference>> | units | Blueprint of type BlueprintUnit. You can pass in the blueprint using:
|
Returns
Type | Description |
---|---|
TBuilder |
Remarks
- DungeonModificatorElemental_Airbb64ce9b7c4f4d608418864dc1a6c007
- DungeonModificatorElemental_Fire01a70753a5f34e198b7b3bd97e8c9b0a
- DungeonModificatorElemental_Water62768248d0b8453f8f83915c3f76fee6
AddToTiers(Blueprint<BlueprintDungeonTierReference>[])
Adds to the contents of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Tiers
Declaration
public TBuilder AddToTiers(params Blueprint<BlueprintDungeonTierReference>[] tiers)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonTierReference>[] | tiers | Blueprint of type BlueprintDungeonTier. You can pass in the blueprint using:
|
Returns
Type | Description |
---|---|
TBuilder |
ClearTiers()
Removes all elements from Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Tiers
Declaration
public TBuilder ClearTiers()
Returns
Type | Description |
---|---|
TBuilder |
CopyFrom(Blueprint<BlueprintReference<BlueprintDungeonModificator>>, Predicate<BlueprintComponent>)
Copies fields and components of the specified types from the blueprint.
Declaration
public TBuilder CopyFrom(Blueprint<BlueprintReference<BlueprintDungeonModificator>> blueprint, Predicate<BlueprintComponent> componentMatcher)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintReference<Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator>> | blueprint | |
System.Predicate<Kingmaker.Blueprints.BlueprintComponent> | componentMatcher | Any components in |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
NOT A DEEP COPY. This means objects copied are shared between blueprints. Changes to copied objects affect both blueprints.
Recommended when you need to create a nearly identical ability but change some parts such as a
ContextRankConfig
.
// Copy the Undead Bloodline's Incorporeal Form ability, replacing the duration w/ Character Level rounds
AbilityConfigurator.New(NewIncorporealForm, Guids.NewIncorporealForm)
.CopyFrom(
AbilityRefs.BloodlineUndeadIncorporealFormAbility,
typeof(AbilityEffectRunAction),
typeof(AbilityResourceLogic),
typeof(SpellComponent))
.AddContextRankConfig(ContextRankConfigs.CharacterLevel())
.Configure();
CopyFrom(Blueprint<BlueprintReference<BlueprintDungeonModificator>>, Type[])
Copies fields and components of the specified types from the blueprint.
Declaration
public TBuilder CopyFrom(Blueprint<BlueprintReference<BlueprintDungeonModificator>> blueprint, params Type[] componentTypes)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Blueprints.BlueprintReference<Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator>> | blueprint | |
System.Type[] | componentTypes | Any components in |
Returns
Type | Description |
---|---|
TBuilder |
Remarks
NOT A DEEP COPY. This means objects copied are shared between blueprints. Changes to copied objects affect both blueprints.
Recommended when you need to create a nearly identical ability but change some parts such as a
ContextRankConfig
.
// Copy the Undead Bloodline's Incorporeal Form ability, replacing the duration w/ Character Level rounds
AbilityConfigurator.New(NewIncorporealForm, Guids.NewIncorporealForm)
.CopyFrom(
AbilityRefs.BloodlineUndeadIncorporealFormAbility,
typeof(AbilityEffectRunAction),
typeof(AbilityResourceLogic),
typeof(SpellComponent))
.AddContextRankConfig(ContextRankConfigs.CharacterLevel())
.Configure();
ModifyDescription(Action<LocalizedString>)
Modifies Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.Description by invoking the provided action.
Declaration
public TBuilder ModifyDescription(Action<LocalizedString> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<Kingmaker.Localization.LocalizedString> | action |
Returns
Type | Description |
---|---|
TBuilder |
ModifyImageLink(Action<SpriteLink>)
Modifies Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_ImageLink by invoking the provided action.
Declaration
public TBuilder ModifyImageLink(Action<SpriteLink> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<Kingmaker.ResourceLinks.SpriteLink> | action |
Returns
Type | Description |
---|---|
TBuilder |
ModifyName(Action<LocalizedString>)
Modifies Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.Name by invoking the provided action.
Declaration
public TBuilder ModifyName(Action<LocalizedString> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<Kingmaker.Localization.LocalizedString> | action |
Returns
Type | Description |
---|---|
TBuilder |
ModifyOnActivate(Action<ActionList>)
Modifies Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.OnActivate by invoking the provided action.
Declaration
public TBuilder ModifyOnActivate(Action<ActionList> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<Kingmaker.ElementsSystem.ActionList> | action |
Returns
Type | Description |
---|---|
TBuilder |
ModifyOnDeactivate(Action<ActionList>)
Modifies Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.OnDeactivate by invoking the provided action.
Declaration
public TBuilder ModifyOnDeactivate(Action<ActionList> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<Kingmaker.ElementsSystem.ActionList> | action |
Returns
Type | Description |
---|---|
TBuilder |
ModifyTiers(Action<BlueprintDungeonTierReference>)
Modifies Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Tiers by invoking the provided action on each element.
Declaration
public TBuilder ModifyTiers(Action<BlueprintDungeonTierReference> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<Kingmaker.Dungeon.Blueprints.BlueprintDungeonTierReference> | action |
Returns
Type | Description |
---|---|
TBuilder |
OnConfigureCompleted()
Declaration
protected override void OnConfigureCompleted()
Overrides
RemoveFromTiers(Blueprint<BlueprintDungeonTierReference>[])
Removes elements from Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Tiers
Declaration
public TBuilder RemoveFromTiers(params Blueprint<BlueprintDungeonTierReference>[] tiers)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonTierReference>[] | tiers | Blueprint of type BlueprintDungeonTier. You can pass in the blueprint using:
|
Returns
Type | Description |
---|---|
TBuilder |
RemoveFromTiers(Func<BlueprintDungeonTierReference, Boolean>)
Removes elements from Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Tiers that match the provided predicate.
Declaration
public TBuilder RemoveFromTiers(Func<BlueprintDungeonTierReference, bool> predicate)
Parameters
Type | Name | Description |
---|---|---|
System.Func<Kingmaker.Dungeon.Blueprints.BlueprintDungeonTierReference, System.Boolean> | predicate |
Returns
Type | Description |
---|---|
TBuilder |
SetDescription(LocalString)
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.Description
Declaration
public TBuilder SetDescription(LocalString description)
Parameters
Type | Name | Description |
---|---|---|
LocalString | description | You can pass in the string using a LocalizedString or the Key to a LocalizedString. |
Returns
Type | Description |
---|---|
TBuilder |
SetImageLink(AssetLink<SpriteLink>)
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_ImageLink
Declaration
public TBuilder SetImageLink(AssetLink<SpriteLink> imageLink)
Parameters
Type | Name | Description |
---|---|---|
AssetLink<Kingmaker.ResourceLinks.SpriteLink> | imageLink | You can pass in the animation using a SpriteLink or it's AssetId. |
Returns
Type | Description |
---|---|
TBuilder |
SetName(LocalString)
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.Name
Declaration
public TBuilder SetName(LocalString name)
Parameters
Type | Name | Description |
---|---|---|
LocalString | name | You can pass in the string using a LocalizedString or the Key to a LocalizedString. |
Returns
Type | Description |
---|---|
TBuilder |
SetOnActivate(ActionsBuilder)
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.OnActivate
Declaration
public TBuilder SetOnActivate(ActionsBuilder onActivate)
Parameters
Type | Name | Description |
---|---|---|
ActionsBuilder | onActivate |
Returns
Type | Description |
---|---|
TBuilder |
SetOnDeactivate(ActionsBuilder)
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.OnDeactivate
Declaration
public TBuilder SetOnDeactivate(ActionsBuilder onDeactivate)
Parameters
Type | Name | Description |
---|---|---|
ActionsBuilder | onDeactivate |
Returns
Type | Description |
---|---|
TBuilder |
SetTiers(Blueprint<BlueprintDungeonTierReference>[])
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Tiers
Declaration
public TBuilder SetTiers(params Blueprint<BlueprintDungeonTierReference>[] tiers)
Parameters
Type | Name | Description |
---|---|---|
Blueprint<Kingmaker.Dungeon.Blueprints.BlueprintDungeonTierReference>[] | tiers | Blueprint of type BlueprintDungeonTier. You can pass in the blueprint using:
|
Returns
Type | Description |
---|---|
TBuilder |
SetWeight(Single)
Sets the value of Kingmaker.Dungeon.Blueprints.BlueprintDungeonModificator.m_Weight
Declaration
public TBuilder SetWeight(float weight)
Parameters
Type | Name | Description |
---|---|---|
System.Single | weight |
Returns
Type | Description |
---|---|
TBuilder |