Hi again,
I conducted another experiment in statuseffects and found that the entitled works, but it's not pretty.
As implied it adds or subtracts a set amount of recovery. Even if I were to roll with this I'm not sure what amount would be 'balanced'. In any case the code is below.
{
"GameDataObjects": [{
"$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp",
"DebugName": "One_Handed_Style",
"ID": "aae5f771-2718-4654-b13c-dd3e7234d56b",
"Components": [{
"$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp",
"StatusEffectsIDs": ["c5194896-0e76-4d39-855c-3459c4a9f56d", "7b4eba79-d0b0-4d81-8929-49ea77e41512"]
}
]
}, {
"$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
"DebugName": "One_Handed_Style_SE_Recovery",
"ID": "7b4eba79-d0b0-4d81-8929-49ea77e41512",
"Components": [{
"$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
"StatusEffectType": "SingleWeaponRecoveryMultiplier",
"OverrideDescriptionString": -1,
"OverrideDescriptionStringTactical": -1,
"UseStatusEffectValueAs": "None",
"BaseValue": -0.1,
"DynamicValue": {
"Stat": "None",
"SkillDataID": "00000000-0000-0000-0000-000000000000",
"ClassID": "00000000-0000-0000-0000-000000000000",
"MultiplyBy": 1,
"Operator": "Add"
},
"KeywordsIDs": [],
"DurationType": "Infinite",
"Duration": 0,
"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": "true",
"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": [],
"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
}
]
}
]
}