Jump to content

HELP - adding a new ability upgrade to a class


Recommended Posts

Hello everyone,

 

I'm stuck trying to add a new upgrade for the monk's Swift Strikes.

 

I have read through the following, to no avail :

- Modding Basic Concepts
- First Mod
- Adding new abilities to a class
 

 

I have created a new ability, Draining Strikes, which is supposed to be a new upgrade path from Swift Strikes.

 

The ability is as follows :

Spoiler

{
    "GameDataObjects": [
        {
            "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp",
            "DebugName": "Draining_Strikes",
            "ID": "ffffffff-a1aa-43b5-9b6f-da86f5e26be7",
            "Components": [{
                    "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp"
                }, {
                    "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp",
                    "KeywordsIDs": ["117213bd-8bb0-4a70-9626-581a20214c2f"],
                    "DisplayName": 99907,
                    "Description": 886,
                    "DescriptionTactical": -1,
                    "UpgradeDescriptions": [{
                            "String": 99908,
                            "StringTactical": -1
                        }
                    ],
                    "UpgradedFromID": "73a35a9f-4a3c-4140-a1ce-354a07429e54",
                    "Vocalization": "NoVocalization",
                    "Icon": "gui/icons/abilities/monk/lightning_strikes.png",
                    "UsageType": "AccruedPowerPool",
                    "UsageValue": 1,
                    "AbilityClassID": "f0036bfb-53d5-4d0c-b11a-b780d788a108",
                    "AbilityLevel": 3,
                    "IsPassive": "false",
                    "StackingRuleOverride": "Default",
                    "TriggerOnHit": "false",
                    "IsModal": "false",
                    "ModalGroupID": "00000000-0000-0000-0000-000000000000",
                    "IsCombatOnly": "true",
                    "IsNonCombatOnly": "false",
                    "HideFromUI": "false",
                    "ShowStatusEffects": "false",
                    "HideFromCombatLog": "false",
                    "UniqueSet": "None",
                    "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63",
                    "DurationOverride": 0,
                    "OverrideEmpower": "Default",
                    "ClearsOnMovement": "false",
                    "CannotActivateWhileInStealth": "false",
                    "CannotActivateWhileInvisible": "false",
                    "ActivationPrerequisites": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        }
                    },
                    "ApplicationPrerequisites": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        }
                    },
                    "DeactivationPrerequisites": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        }
                    },
                    "PowerLevelScaling": {
                        "ScalingType": "Default",
                        "BaseLevel": 0,
                        "LevelIncrement": 1,
                        "MaxLevel": 0,
                        "DamageAdjustment": 1,
                        "DurationAdjustment": 1,
                        "BounceCountAdjustment": 0,
                        "ProjectileCountAdjustment": 0,
                        "AccuracyAdjustment": 0,
                        "PenetrationAdjustment": 0
                    },
                    "StatusEffectKeywordsIDs": [],
                    "StatusEffectsIDs": ["ffffffff-a1aa-4d2d-bd2e-b45596c0c80c", "ffffffff-a1aa-4c64-94d4-ec69589d47bf", "ffffffff-a1aa-4956-8894-2b5e76a39089"],
                    "RandomizeStatusEffect": "false",
                    "VisualEffects": [],
                    "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000",
                    "AttackID": "00000000-0000-0000-0000-000000000000",
                    "AITargetingConditional": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        },
                        "Scripts": []
                    },
                    "AudioEventListID": "fdedb9d1-cb03-4b86-a43c-749a01fbb1f0",
                    "GrantedViaScript": "false"
                }
            ]
        }

The status effects are as follows :

Spoiler

        {
            "$type": "Game.GameData.AfflictionGameData, Assembly-CSharp",
            "DebugName": "Draining_Strikes_SE_Quick",
            "ID": "ffffffff-a1aa-4c64-94d4-ec69589d47bf",
            "Components": [{
                    "$type": "Game.GameData.AfflictionComponent, Assembly-CSharp",
                    "DisplayName": 2202,
                    "Icon": "gui/icons/keywords/dex_pos_1.png",
                    "AfflictionTypeID": "975b7002-8f6a-4ab8-af07-e43077ce612f",
                    "IsThinUI": "false"
                }, {
                    "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
                    "StatusEffectType": "None",
                    "OverrideDescriptionString": -1,
                    "OverrideDescriptionStringTactical": -1,
                    "UseStatusEffectValueAs": "Child",
                    "BaseValue": 0,
                    "DynamicValue": {
                        "Stat": "None",
                        "SkillDataID": "00000000-0000-0000-0000-000000000000",
                        "ClassID": "00000000-0000-0000-0000-000000000000",
                        "MultiplyBy": 1,
                        "Operator": "Add"
                    },
                    "KeywordsIDs": ["66f96765-0ec1-4cf1-a49b-a8264df055b7", "bbef3990-aeb1-49ba-b6b4-b86c9059c0c3"],
                    "DurationType": "UseDurationTime",
                    "Duration": 30,
                    "MaxStackQuantity": 0,
                    "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
                    "ApplicationType": "ApplyOnStart",
                    "IntervalRateID": "00000000-0000-0000-0000-000000000000",
                    "StackedChildrenApplyEffects": "false",
                    "InclusionConditions": {
                        "Operator": 0,
                        "Components": []
                    },
                    "ApplicationPrerequisites": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        }
                    },
                    "TriggerAdjustment": {
                        "TriggerOnEvent": "None",
                        "TriggerOffEvent": "None",
                        "ValidateWithAttackFilter": "false",
                        "ParamValue": 0,
                        "ValueAdjustment": 0,
                        "DurationAdjustment": 0,
                        "ResetTriggerOnEffectTimeout": "false",
                        "MaxTriggerCount": 0,
                        "IgnoreMaxTriggerCount": "false",
                        "RemoveEffectAtMax": "false",
                        "ChanceToTrigger": 1
                    },
                    "PowerLevelScaling": {
                        "UseCharacterLevel": "false",
                        "BaseLevel": 0,
                        "LevelIncrement": 1,
                        "MaxLevel": 0,
                        "ValueAdjustment": 0,
                        "DurationAdjustment": 0
                    },
                    "IsHostile": "false",
                    "ClearOnCombatEnd": "false",
                    "ClearOnRest": "false",
                    "ClearOnFoodRest": "false",
                    "ClearWhenAttacks": "false",
                    "ClearOnDeath": "false",
                    "HideFromCombatTooltip": "false",
                    "HideFromCombatLog": "false",
                    "HideFromUI": "false",
                    "HideIfNoValue": "false",
                    "VisualEffects": [],
                    "MaterialReplacementID": "00000000-0000-0000-0000-000000000000",
                    "AttackFilter": {
                        "KeywordsIDs": [],
                        "KeywordLogic": "Or",
                        "Race": "None",
                        "IsKith": "false",
                        "HealthPercentage": 0,
                        "HealthOperator": "EqualTo",
                        "Range": "None",
                        "ClassTypeID": "00000000-0000-0000-0000-000000000000",
                        "Source": "None",
                        "DefendedBy": "None",
                        "Empowered": "false",
                        "Disengagement": "false",
                        "Stealthed": "false",
                        "UseStealthLinger": "false",
                        "PowerLevel": 0,
                        "PowerLevelOperator": "EqualTo",
                        "ChanceToApply": 1,
                        "AttackHostility": "Default",
                        "TargetType": "None"
                    },
                    "AttackTargetFilter": {
                        "KeywordsIDs": [],
                        "KeywordLogic": "Or",
                        "Race": "None",
                        "IsKith": "false",
                        "HealthPercentage": 0,
                        "HealthOperator": "EqualTo",
                        "Distance": 0,
                        "DistanceOperator": "EqualTo",
                        "HasDOT": "false",
                        "IsMarked": "false",
                        "TargetHostility": "Default"
                    },
                    "ExtraValue": 0,
                    "OverridePenetration": 0,
                    "DamageTypeValue": "All",
                    "KeywordValueID": "00000000-0000-0000-0000-000000000000",
                    "RaceValue": "None",
                    "StatusEffectTypeValue": "None",
                    "ItemValueID": "00000000-0000-0000-0000-000000000000",
                    "AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000",
                    "StatusEffectsValueIDs": ["8646b923-17f2-457d-b256-10deb7cde635"],
                    "AttackValueID": "00000000-0000-0000-0000-000000000000",
                    "AttackOverrideValue": "None",
                    "EventValue": "OnApply",
                    "ClassValueID": "00000000-0000-0000-0000-000000000000",
                    "WeaponTypeValue": "None",
                    "AttackHitType": "None",
                    "SkillValueID": "00000000-0000-0000-0000-000000000000",
                    "AudioEventListID": "00000000-0000-0000-0000-000000000000",
                    "BedRestDaysMinimum": 0,
                    "BedRestDaysMaximum": 0
                }
            ]
        },
        {
            "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
            "DebugName": "Draining_Strikes_SE_AttackSpeed",
            "ID": "ffffffff-a1aa-4d2d-bd2e-b45596c0c80c",
            "Components": [{
                    "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
                    "StatusEffectType": "AttackSpeedMultiplier",
                    "OverrideDescriptionString": -1,
                    "OverrideDescriptionStringTactical": -1,
                    "UseStatusEffectValueAs": "None",
                    "BaseValue": 1.1,
                    "DynamicValue": {
                        "Stat": "None",
                        "SkillDataID": "00000000-0000-0000-0000-000000000000",
                        "ClassID": "00000000-0000-0000-0000-000000000000",
                        "MultiplyBy": 1,
                        "Operator": "Add"
                    },
                    "KeywordsIDs": [],
                    "DurationType": "UseDurationTime",
                    "Duration": 30,
                    "MaxStackQuantity": 0,
                    "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
                    "ApplicationType": "ApplyOnStart",
                    "IntervalRateID": "00000000-0000-0000-0000-000000000000",
                    "StackedChildrenApplyEffects": "false",
                    "InclusionConditions": {
                        "Operator": 0,
                        "Components": []
                    },
                    "ApplicationPrerequisites": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        }
                    },
                    "TriggerAdjustment": {
                        "TriggerOnEvent": "None",
                        "TriggerOffEvent": "None",
                        "ValidateWithAttackFilter": "false",
                        "ParamValue": 0,
                        "ValueAdjustment": 0,
                        "DurationAdjustment": 0,
                        "ResetTriggerOnEffectTimeout": "false",
                        "MaxTriggerCount": 0,
                        "IgnoreMaxTriggerCount": "false",
                        "RemoveEffectAtMax": "false",
                        "ChanceToTrigger": 1
                    },
                    "PowerLevelScaling": {
                        "UseCharacterLevel": "false",
                        "BaseLevel": 1,
                        "LevelIncrement": 2,
                        "MaxLevel": 0,
                        "ValueAdjustment": 0.05,
                        "DurationAdjustment": 0
                    },
                    "IsHostile": "false",
                    "ClearOnCombatEnd": "false",
                    "ClearOnRest": "false",
                    "ClearOnFoodRest": "false",
                    "ClearWhenAttacks": "false",
                    "ClearOnDeath": "false",
                    "HideFromCombatTooltip": "false",
                    "HideFromCombatLog": "false",
                    "HideFromUI": "false",
                    "HideIfNoValue": "false",
                    "VisualEffects": [{
                            "VisualEffect": "prefabs/effects/abilities/monk/fx_swift_strikes_hand.prefab",
                            "AttachPoint": "RightWeapon",
                            "AttachMode": "Attach",
                            "MeshType": "None",
                            "Loop": "true",
                            "Event": "OnApply"
                        }, {
                            "VisualEffect": "prefabs/effects/abilities/monk/fx_swift_strikes_hand.prefab",
                            "AttachPoint": "LeftWeapon",
                            "AttachMode": "Attach",
                            "MeshType": "None",
                            "Loop": "true",
                            "Event": "OnApply"
                        }, {
                            "VisualEffect": "prefabs/effects/abilities/monk/fx_swift_strikes_cast.prefab",
                            "AttachPoint": "Root",
                            "AttachMode": "Attach",
                            "MeshType": "None",
                            "Loop": "false",
                            "Event": "OnStart"
                        }
                    ],
                    "MaterialReplacementID": "00000000-0000-0000-0000-000000000000",
                    "AttackFilter": {
                        "KeywordsIDs": [],
                        "KeywordLogic": "Or",
                        "Race": "None",
                        "IsKith": "false",
                        "HealthPercentage": 0,
                        "HealthOperator": "EqualTo",
                        "Range": "None",
                        "ClassTypeID": "00000000-0000-0000-0000-000000000000",
                        "Source": "None",
                        "DefendedBy": "None",
                        "Empowered": "false",
                        "Disengagement": "false",
                        "Stealthed": "false",
                        "UseStealthLinger": "false",
                        "PowerLevel": 0,
                        "PowerLevelOperator": "EqualTo",
                        "ChanceToApply": 1,
                        "AttackHostility": "Default",
                        "TargetType": "None"
                    },
                    "AttackTargetFilter": {
                        "KeywordsIDs": [],
                        "KeywordLogic": "Or",
                        "Race": "None",
                        "IsKith": "false",
                        "HealthPercentage": 0,
                        "HealthOperator": "EqualTo",
                        "Distance": 0,
                        "DistanceOperator": "EqualTo",
                        "HasDOT": "false",
                        "IsMarked": "false",
                        "TargetHostility": "Default"
                    },
                    "ExtraValue": 0,
                    "OverridePenetration": 0,
                    "DamageTypeValue": "All",
                    "KeywordValueID": "00000000-0000-0000-0000-000000000000",
                    "RaceValue": "None",
                    "StatusEffectTypeValue": "None",
                    "ItemValueID": "00000000-0000-0000-0000-000000000000",
                    "AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000",
                    "StatusEffectsValueIDs": [],
                    "AttackValueID": "00000000-0000-0000-0000-000000000000",
                    "AttackOverrideValue": "None",
                    "EventValue": "OnApply",
                    "ClassValueID": "00000000-0000-0000-0000-000000000000",
                    "WeaponTypeValue": "None",
                    "AttackHitType": "None",
                    "SkillValueID": "00000000-0000-0000-0000-000000000000",
                    "AudioEventListID": "00000000-0000-0000-0000-000000000000",
                    "BedRestDaysMinimum": 0,
                    "BedRestDaysMaximum": 0
                }
            ]
        },
        {
            "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
            "DebugName": "Draining_Strikes_SE_ApplySEByDamageDealt",
            "ID": "ffffffff-a1aa-4956-8894-2b5e76a39089",
            "Components": [{
                    "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
                    "StatusEffectType": "ApplyStatusEffectToSelfByDamageDealt",
                    "OverrideDescriptionString": 580,
                    "OverrideDescriptionStringTactical": -1,
                    "UseStatusEffectValueAs": "None",
                    "BaseValue": 0.2,
                    "DynamicValue": {
                        "Stat": "None",
                        "SkillDataID": "00000000-0000-0000-0000-000000000000",
                        "ClassID": "00000000-0000-0000-0000-000000000000",
                        "MultiplyBy": 1,
                        "Operator": "Add"
                    },
                    "KeywordsIDs": [],
                    "DurationType": "UseDurationTime",
                    "Duration": 30,
                    "MaxStackQuantity": 0,
                    "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
                    "ApplicationType": "ApplyOnStart",
                    "IntervalRateID": "00000000-0000-0000-0000-000000000000",
                    "StackedChildrenApplyEffects": "false",
                    "InclusionConditions": {
                        "Operator": 0,
                        "Components": []
                    },
                    "ApplicationPrerequisites": {
                        "Conditional": {
                            "Operator": 0,
                            "Components": []
                        }
                    },
                    "TriggerAdjustment": {
                        "TriggerOnEvent": "None",
                        "TriggerOffEvent": "None",
                        "ValidateWithAttackFilter": "false",
                        "ParamValue": 0,
                        "ValueAdjustment": 0,
                        "DurationAdjustment": 0,
                        "ResetTriggerOnEffectTimeout": "false",
                        "MaxTriggerCount": 0,
                        "IgnoreMaxTriggerCount": "false",
                        "RemoveEffectAtMax": "false",
                        "ChanceToTrigger": 1
                    },
                    "PowerLevelScaling": {
                        "UseCharacterLevel": "false",
                        "BaseLevel": 0,
                        "LevelIncrement": 1,
                        "MaxLevel": 0,
                        "ValueAdjustment": 0,
                        "DurationAdjustment": 0
                    },
                    "IsHostile": "false",
                    "ClearOnCombatEnd": "false",
                    "ClearOnRest": "false",
                    "ClearOnFoodRest": "false",
                    "ClearWhenAttacks": "false",
                    "ClearOnDeath": "false",
                    "HideFromCombatTooltip": "false",
                    "HideFromCombatLog": "false",
                    "HideFromUI": "false",
                    "HideIfNoValue": "false",
                    "VisualEffects": [],
                    "MaterialReplacementID": "00000000-0000-0000-0000-000000000000",
                    "AttackFilter": {
                        "KeywordsIDs": [],
                        "KeywordLogic": "Or",
                        "Race": "None",
                        "IsKith": "false",
                        "HealthPercentage": 0,
                        "HealthOperator": "EqualTo",
                        "Range": "None",
                        "ClassTypeID": "00000000-0000-0000-0000-000000000000",
                        "Source": "ParentEquippable",
                        "DefendedBy": "None",
                        "Empowered": "false",
                        "Disengagement": "false",
                        "Stealthed": "false",
                        "UseStealthLinger": "false",
                        "PowerLevel": 0,
                        "PowerLevelOperator": "EqualTo",
                        "ChanceToApply": 1,
                        "AttackHostility": "Default",
                        "TargetType": "None"
                    },
                    "AttackTargetFilter": {
                        "KeywordsIDs": [],
                        "KeywordLogic": "Or",
                        "Race": "None",
                        "IsKith": "false",
                        "HealthPercentage": 0,
                        "HealthOperator": "EqualTo",
                        "Distance": 0,
                        "DistanceOperator": "EqualTo",
                        "HasDOT": "false",
                        "IsMarked": "false",
                        "TargetHostility": "Default"
                    },
                    "ExtraValue": 0,
                    "OverridePenetration": 0,
                    "DamageTypeValue": "All",
                    "KeywordValueID": "00000000-0000-0000-0000-000000000000",
                    "RaceValue": "None",
                    "StatusEffectTypeValue": "None",
                    "ItemValueID": "00000000-0000-0000-0000-000000000000",
                    "AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000",
                    "StatusEffectsValueIDs": ["74aa7603-efec-4e77-873e-d23ed2ac6ddb"],
                    "AttackValueID": "00000000-0000-0000-0000-000000000000",
                    "AttackOverrideValue": "None",
                    "EventValue": "OnApply",
                    "ClassValueID": "00000000-0000-0000-0000-000000000000",
                    "WeaponTypeValue": "None",
                    "AttackHitType": "None",
                    "SkillValueID": "00000000-0000-0000-0000-000000000000",
                    "AudioEventListID": "00000000-0000-0000-0000-000000000000",
                    "BedRestDaysMinimum": 0,
                    "BedRestDaysMaximum": 0
                }
            ]
        }
    ]
}

 

I've copied the entire PT_Monk (dc561d91-7bc9-4314-acff-837511566964) entry from ProgressionTables to a new file in my mod folder, and added the following to the existing :

- Add a new component to the base Swift_Strikes PL entity

Spoiler

{
                            "Note": "PL 1 Unlock - Swift Strikes",
                            "Category": "General",
                            "UnlockStyle": "Unlock",
                            "ActivationObject": "Self",
                            "AddAbilityID": "73a35a9f-4a3c-4140-a1ce-354a07429e54",
                            "RemoveAbilityID": "00000000-0000-0000-0000-000000000000",
                            "Prerequisites": {
                                "MinimumCharacterLevel": 1,
                                "PowerLevelRequirement": {
                                    "ClassID": "f0036bfb-53d5-4d0c-b11a-b780d788a108",
                                    "MinimumPowerLevel": 1
                                },
                                "RequiresAbilityID": "00000000-0000-0000-0000-000000000000",
                                "Conditional": {
                                    "Operator": 0,
                                    "Components": [{
                                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                            "Data": {
                                                "FullName": "Boolean ProgressionTableHasAbility(Guid)",
                                                "Parameters": ["3c85e6b0-275a-43b5-9b6f-da86f5e26be7"],
                                                "Flags": "",
                                                "UnrealCall": "",
                                                "FunctionHash": -1793712019,
                                                "ParameterHash": -1780164502
                                            },
                                            "Not": true,
                                            "Operator": 0
                                        }, {
                                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                            "Data": {
                                                "FullName": "Boolean ProgressionTableHasAbility(Guid)",
                                                "Parameters": ["1382de0a-3941-4253-a8b3-3114dea498e6"],
                                                "Flags": "",
                                                "UnrealCall": "",
                                                "FunctionHash": -1793712019,
                                                "ParameterHash": 165912143
                                            },
                                            "Not": true,
                                            "Operator": 0
                                        }, {
                                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                            "Data": {
                                                "FullName": "Boolean ProgressionTableHasAbility(Guid)",
                                                "Parameters": ["ffffffff-a1aa-43b5-9b6f-da86f5e26be7"],
                                                "Flags": "",
                                                "UnrealCall": ""
                                            },
                                            "Not": true,
                                            "Operator": 0
                                        }
                                    ]
                                },
                                "VisibilityConditional": {
                                    "Operator": 0,
                                    "Components": []
                                },
                                "IsMutuallyExclusiveUpgrade": "true"
                            }

- Add the new ability under Swift_Flurry

Spoiler

{
                            "Note": "PL 3 Unlock - Draining Strikes",
                            "Category": "General",
                            "UnlockStyle": "Unlock",
                            "ActivationObject": "Self",
                            "AddAbilityID": "ffffffff-a1aa-43b5-9b6f-da86f5e26be7",
                            "RemoveAbilityID": "73a35a9f-4a3c-4140-a1ce-354a07429e54",
                            "Prerequisites": {
                                "MinimumCharacterLevel": 1,
                                "PowerLevelRequirement": {
                                    "ClassID": "f0036bfb-53d5-4d0c-b11a-b780d788a108",
                                    "MinimumPowerLevel": 3
                                },
                                "RequiresAbilityID": "73a35a9f-4a3c-4140-a1ce-354a07429e54",
                                "Conditional": {
                                    "Operator": 0,
                                    "Components": [{
                                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                            "Data": {
                                                "FullName": "Boolean ProgressionTableHasAbility(Guid)",
                                                "Parameters": ["73a35a9f-4a3c-4140-a1ce-354a07429e54"],
                                                "Flags": "",
                                                "UnrealCall": ""
                                            },
                                            "Not": false,
                                            "Operator": 0
                                        }
                                    ]
                                },
                                "VisibilityConditional": {
                                    "Operator": 0,
                                    "Components": []
                                },
                                "IsMutuallyExclusiveUpgrade": "true"
                            }

 

After loading an existing game and trying to recruit a new adventurer, I still don't get the new Ability to show up.

I've been at this for a couple hours now and I'm really unsure what to check next.

 

Since 2 pairs (or more) of eyes generally spot problems easier than just the one pair, does anyone have an idea where I've gone wrong here ?

 

 

Edit : the ability still uses some props from lightning strikes, such as VFX and icons ; I've not gotten to the aesthetics just yet, trying to get the ability upgrade to show up in the progression tree first thing.

 

Edited by dam
clarify about VFX and icons
Link to comment
Share on other sites

  • 2 weeks later...

I can't recall but you might have to start with a fresh character rather than load a savegame for any changes to the progression table.

There's a small possibility you're adding it to the wrong table.  There are way too many tables and the most simple name is usually the right one.

What you did looks right but if you want a perfect example check out my Funnening monk mod that adds a bunch of skills.  Some are setup like yours.

Ultimately this is an easy problem to solve so don't let it drain your energy.  You could try a full re-write or just wait until you make another similar ability and when the new one works, see what you should do with this one.

Link to comment
Share on other sites

Also have you tried it out to see if the ability itself works, before adding it to the progression table?  I have a ring that I add all my abilities to.  Each time I load a game, I summon the ring via the console then equip it, see if there are any immediate problems, then go into combat nearby.  You might need a new row instead of just a space to separate these two effects, for example:

"StatusEffectsIDs": ["ffffffff-a1aa-4d2d-bd2e-b45596c0c80c", "ffffffff-a1aa-4c64-94d4-ec69589d47bf", "ffffffff-a1aa-4956-8894-2b5e76a39089"],

SHOULD BE

"StatusEffectsIDs": ["ffffffff-a1aa-4d2d-bd2e-b45596c0c80c",

"ffffffff-a1aa-4c64-94d4-ec69589d47bf",

"ffffffff-a1aa-4956-8894-2b5e76a39089"],

 

Link to comment
Share on other sites

  • 5 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...