Jump to content

Make Rooting Pain great again


Recommended Posts

So I've been trying to make Rooting Pain proc 100% of the times like it used to do in the past, but I failed.

 

I modified the entry in statuseffects.gamedatabundle as follows:

        {
            "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
            "DebugName": "Rooting_Pain_SE_EventOnWound",
            "ID": "b467966d-0ad5-424e-aa0a-b2d9d0ecf327",
            "Components": [
                {
                    "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
                    "StatusEffectType": "AttackTargetOnEvent",
                    "BaseValue": 1
                }
            ]
        }

So basically I changed "AttackTargetOnEventWithChance" to "AttackTargetOnEvent" as it was in 1.02. I also changed the BaseValue to 1 (for 100%) from 0.33 for good measure, even though it should no longer count after the previous change (but I suspect the ability's description reads into BaseValue and I wanted it to read 100%.)

Doesn't seem to do anything.

 

What am I missing?

"Time is not your enemy. Forever is."

— Fall-From-Grace, Planescape: Torment

"It's the questions we can't answer that teach us the most. They teach us how to think. If you give a man an answer, all he gains is a little fact. But give him a question, and he'll look for his own answers."

— Kvothe, The Wise Man's Fears

My Deadfire mods: Brilliant Mod | Faster Deadfire | Deadfire Unnerfed | Helwalker Rekke | Permanent Per-Rest Bonuses | PoE Items for Deadfire | No Recyled Icons | Soul Charged Nautilus

 

Link to comment
Share on other sites

That was my first attempt, which also failed : -\

  • Like 1

"Time is not your enemy. Forever is."

— Fall-From-Grace, Planescape: Torment

"It's the questions we can't answer that teach us the most. They teach us how to think. If you give a man an answer, all he gains is a little fact. But give him a question, and he'll look for his own answers."

— Kvothe, The Wise Man's Fears

My Deadfire mods: Brilliant Mod | Faster Deadfire | Deadfire Unnerfed | Helwalker Rekke | Permanent Per-Rest Bonuses | PoE Items for Deadfire | No Recyled Icons | Soul Charged Nautilus

 

Link to comment
Share on other sites

This is Rooting_Pain_SE_EventOnWound during beta4 of backers beta:

 

{
  "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
  "DebugName": "Rooting_Pain_SE_EventOnWound",
  "ID": "b467966d-0ad5-424e-aa0a-b2d9d0ecf327",
  "Components": [
    {
      "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
      "StatusEffectType": "AttackTargetOnEvent",
      "OverrideDescriptionString": -1,
      "UseStatusEffectValueAs": "None",
      "BaseValue": 0,
      "DynamicValue": {
        "Stat": "None",
        "SkillDataID": "00000000-0000-0000-0000-000000000000",
        "Class": "None",
        "MultiplyBy": 1,
        "Operator": "Add"
      },
      "KeywordsIDs": [],
      "DurationType": "Infinite",
      "Duration": 0,
      "MaxStackQuantity": 0,
      "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
      "ApplicationType": "ApplyOnStart",
      "IntervalRateID": "00000000-0000-0000-0000-000000000000",
      "StackedChildrenApplyEffects": "false",
      "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",
      "VisualEffects": [],
      "MaterialReplacementID": "00000000-0000-0000-0000-000000000000",
      "AttackFilter": {
        "KeywordsIDs": [],
        "KeywordLogic": "Or",
        "Range": "None",
        "ClassType": "None",
        "Source": "None",
        "DefendedBy": "None",
        "Empowered": "false",
        "Disengagement": "false",
        "Stealthed": "false",
        "PowerLevel": 0,
        "PowerLevelOperator": "EqualTo",
        "ChanceToApply": 1,
        "AttackHostility": "Default"
      },
      "AttackTargetFilter": {
        "KeywordsIDs": [],
        "KeywordLogic": "Or",
        "Race": "None",
        "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": "7a4723c9-8db5-4d78-9bad-56a155e843fe",
      "AttackOverrideValue": "None",
      "EventValue": "OnWoundAdded",
      "ClassValue": "None",
      "WeaponTypeValue": "None",
      "AttackHitType": "None",
      "SkillValueID": "00000000-0000-0000-0000-000000000000",
      "AudioEventListID": "00000000-0000-0000-0000-000000000000",
      "BedRestDaysMinimum": 0,
      "BedRestDaysMaximum": 0
    }
  ]
}

 



And here it is during beta of v4.0:

 

{
  "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
  "DebugName": "Rooting_Pain_SE_EventOnWound",
  "ID": "b467966d-0ad5-424e-aa0a-b2d9d0ecf327",
  "Components": [
    {
      "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
      "StatusEffectType": "ApplyStatusEffectOnEventWithChance",
      "OverrideDescriptionString": -1,
      "OverrideDescriptionStringTactical": -1,
      "UseStatusEffectValueAs": "None",
      "BaseValue": 0.33,
      "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",
      "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",
      "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": [
        "3c9bd134-371d-4238-aa6d-b8faeb2a0d19"
      ],
      "AttackValueID": "00000000-0000-0000-0000-000000000000",
      "AttackOverrideValue": "None",
      "EventValue": "OnWoundAdded",
      "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
    }
  ]
}

 




Before it had:
- "StatusEffectType": "AttackTargetOnEvent",
- "BaseValue": 0,
- and was calling the AoE attack directly:
- "AttackValueID": "7a4723c9-8db5-4d78-9bad-56a155e843fe",

Now it has:
- "StatusEffectType": "ApplyStatusEffectOnEventWithChance",
- "BaseValue": 0.33,
- and is calling a "proxy" status effect first:
- "StatusEffectsValueIDs": ["3c9bd134-371d-4238-aa6d-b8faeb2a0d19"],
- and this effect will call that AoE attack

 

{
      "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
      "DebugName": "Rooting_Pain_SE_AttackOnApply",
      "ID": "3c9bd134-371d-4238-aa6d-b8faeb2a0d19",
      "Components": [
        {
          "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
          "StatusEffectType": "AttackTargetOnEvent",
          "OverrideDescriptionString": -1,
          "OverrideDescriptionStringTactical": -1,
          "UseStatusEffectValueAs": "None",
          "BaseValue": 0,
          "DynamicValue": {
            "Stat": "None",
            "SkillDataID": "00000000-0000-0000-0000-000000000000",
            "ClassID": "00000000-0000-0000-0000-000000000000",
            "MultiplyBy": 1,
            "Operator": "Add"
          },
          "KeywordsIDs": [],
          "DurationType": "Instant",
          "Duration": 0,
          "MaxStackQuantity": 0,
          "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
          "ApplicationType": "ApplyOnStart",
          "IntervalRateID": "00000000-0000-0000-0000-000000000000",
          "StackedChildrenApplyEffects": "false",
          "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",
          "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": "7a4723c9-8db5-4d78-9bad-56a155e843fe",
          "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.AttackAOEGameData, Assembly-CSharp",
      "DebugName": "Rooting_Pain_AOE",
      "ID": "7a4723c9-8db5-4d78-9bad-56a155e843fe",
      "Components": [
        {
          "$type": "Game.GameData.AttackBaseComponent, Assembly-CSharp",
          "KeywordsIDs": [],
          "AttackDistance": 6,
          "MinAttackDistance": 0,
          "AttackVariationID": "00000000-0000-0000-0000-000000000000",
          "UseParentEquippableHand": "false",
          "CastSpeedID": "eacb53e3-6eb5-422a-92ca-99cc883ae4a9",
          "RecoveryTimeID": "566840d9-1561-4243-8ca7-889df9869847",
          "OverrideTacticalActionType": "None",
          "ImpactDelay": 0,
          "ForcedTarget": "Self",
          "AffectedTargetType": "Hostile",
          "AffectedTargetConditional": {
            "Conditional": {
              "Operator": 0,
              "Components": []
            }
          },
          "AffectedTargetDeathState": "Alive",
          "HostilityOverride": "Default",
          "PushDistance": 0,
          "FaceTarget": "true",
          "AccuracyBonus": -10,
          "PenetrationRating": 7,
          "DamageData": {
            "DamageType": "Crush",
            "AlternateDamageType": "None",
            "Minimum": 4,
            "Maximum": 8,
            "DamageProcs": []
          },
          "Require****Object": "false",
          "StatusEffectKeywordsIDs": [],
          "StatusEffectsIDs": [],
          "RandomizeStatusEffect": "false",
          "CanGraze": "false",
          "CanCrit": "true",
          "DefendedBy": "Fortitude",
          "AfflictionsDefendedBy": "None",
          "AfflictionApplicationModifier": "None",
          "SubstituteHitVisualEffect": "",
          "VisualEffects": [
            {
              "VisualEffect": "prefabs/effects/abilities/monk/fx_rooting_pain_shockwave.prefab",
              "AttachPoint": "Chest",
              "AttachObject": "Caster",
              "AttachMode": "Position",
              "MeshType": "None",
              "Event": "OnImpact",
              "AnimEventID": 0,
              "Loop": "false",
              "Scale": "false"
            }
          ],
          "AttackOnImpactID": "00000000-0000-0000-0000-000000000000",
          "ExtraAttackID": "00000000-0000-0000-0000-000000000000",
          "LaunchBone": "RightWeapon",
          "HitBone": "Chest",
          "OnHitShakeDuration": "None",
          "OnHitShakeStrength": "None",
          "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63",
          "AllReactNoise": "false",
          "InterruptsOn": "Hit",
          "InterruptType": "Normal",
          "TargetAngle": 0,
          "ApplyOnceOnly": "false",
          "PathsToTarget": "true",
          "HideFromCombatLog": "false",
          "AdditionalAttackOnTooltip": "false",
          "DoesNotApplyDamage": "false",
          "TreatAsWeapon": "false",
          "BounceData": {
            "Bounces": 0,
            "Multiplier": 0.5,
            "Range": 10,
            "InRangeOrder": "false",
            "NoRepeatTargets": "false",
            "AlwaysBounceAtEnemies": "false",
            "Delay": 0,
            "NeverBounce": "false"
          },
          "AttackValidityConditional": {
            "Conditional": {
              "Operator": 0,
              "Components": []
            }
          }
        },
        {
          "$type": "Game.GameData.AttackRangedComponent, Assembly-CSharp",
          "LaunchAttackOnCollision": "false",
          "ProjectileCount": 1,
          "IgnoreMagicDefense": "false",
          "ProjectileConeAngle": 145,
          "ProjectilePrefab": "prefabs/projectiles/invisible_projectile.prefab",
          "IsMultiHit": "false",
          "MultiHitTravelDist": 10,
          "MultiHitMaxHits": 0,
          "LaunchSource": "Caster",
          "LaunchOffset": {
            "x": 0,
            "y": 0,
            "z": 0
          },
          "LaunchOffsetRandom": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        },
        {
          "$type": "Game.GameData.AttackAOEComponent, Assembly-CSharp",
          "BlastSize": "Small",
          "BlastRadiusOverride": 1.5,
          "DamageAngle": 360,
          "ExcludePrimaryTarget": "false",
          "IgnoreParentTarget": "false",
          "ExcludeSelf": "false",
          "BlastPhysicsForce": 500,
          "PushFromCaster": "false"
        }
      ]
    }

 




P.S. Keeping AttackTargetOnEventWithChance ApplyStatusEffectOnEventWithChance and setting the value to 1, as Boeroer suggested, was my first thought as well.
Since that doesn't work, try setting AttackTargetOnEvent with baseValue of 0. Remove the call to that proxy SE Rooting_Pain_SE_AttackOnApply, and call the attack directly (like before).

Edited by MaxQuest
  • Like 1
Link to comment
Share on other sites

"AttackTargetOnEventWithChance" is not a valid StatusEffectType.

 

 

For Rooting_Pain_SE_EventOnWound ( "b467966d-0ad5-424e-aa0a-b2d9d0ecf327" ) change the StatusEffectType to "ApplyStatusEffectOnEvent" (BaseValue is not used with this StatusEffectType).

  • Like 1
Link to comment
Share on other sites

Then why is it in the current original game files - and works?
 
 

"StatusEffectType": "ApplyStatusEffectOnEventWithChance"

Edit: Eh sorry, can't read obvisouly.  :blink:

Edited by Boeroer

Deadfire Community Patch: Nexus Mods

Link to comment
Share on other sites

"AttackTargetOnEvent" was the status effect type used in 1.02.

 

I changed that to "ApplyStatusEffectOnEvent" but I'm still getting the 33% proc.

 

I also tried using "AttackTargetOnEvent" calling the attack directly and still no luck.

"Time is not your enemy. Forever is."

— Fall-From-Grace, Planescape: Torment

"It's the questions we can't answer that teach us the most. They teach us how to think. If you give a man an answer, all he gains is a little fact. But give him a question, and he'll look for his own answers."

— Kvothe, The Wise Man's Fears

My Deadfire mods: Brilliant Mod | Faster Deadfire | Deadfire Unnerfed | Helwalker Rekke | Permanent Per-Rest Bonuses | PoE Items for Deadfire | No Recyled Icons | Soul Charged Nautilus

 

Link to comment
Share on other sites

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...