Jump to content
View in the app

A better way to browse. Learn more.

Obsidian Forum Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

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

 

Hm... just in order to understand what happens: can't you leave it at "AttackTargetOnEventWithChance", set it to 100% and check if that works?

Edited by Boeroer

Deadfire Community Patch: Nexus Mods

  • Author

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

"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

 

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

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

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

  • Author

"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

 

Create an account or sign in to comment

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.