Jump to content
  • 0

[BUG? v. 4.1.2] Forbidden Fist ability not treated as weapon attack


Boeroer

Question

EDIT 9th April: Forbidden Fist currently isn't treated as weapon attack. This leads to a bundle of "problems" like generating no focus, not working with Sneak Attack, Swift Flurry, Lighting Strikes, Turning Wheel and so on on and so forth.

 

The source of this is that its value for TreatAsWeapon in attacks.gamedatabundle is set to false

 

Intended or oversight?

 

-----------------------------------------------------------------

 

Hi,

 

easy to reproduce: make a Forbidden Fist/Cipher and punch sombody with the Forbidden Fist ability: no focus gain.

 

I hope this is not intended.

 

I guess it's because FF uses its own base damage and is not correctly tagged as (weapon) attack but more as a spell of some sorts. 

 

Edit: obviously FF uses another type of attack then weapon melee attacks do. This prevents it from benefiting from a lot of abilites like Sneak Attack, Devoted's Bonus and so on. Even Swift Flurry and Heartbeat Drumming will not work with it as far as I could determine.

 

It's not a bug technically - but it surely is weird for players who don't know the Deadfire mechanics in and out: that an unarmed attack (Forbidden Fist) works differently than any other unarmed attack (e.g. Force of Anguish or Stunning Blow with fists).

Edited by Boeroer
  • Like 1

Deadfire Community Patch: Nexus Mods

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Basically like Grimoire Slam or Kalakoth's Feelbe Frostfingers I suppose?

 

It does work with Instruments of Pain (like the above, gains +500% range) - so I suppose it is kind of tagged as a melee attack. 

Anyway: It doesn't seem right. Is there a way to fix this? E.g. give it a proper "melee weapon attack" tag or anything like that?

Edited by Boeroer

Deadfire Community Patch: Nexus Mods

Link to comment
Share on other sites

  • 0

Yes, somewhat similar to those.

 

It is an ability of GenericAbilityGameData type that triggers an attack of AttackMeleeGameData type.

 

 

 

[
  {
    "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp",
    "DebugName": "Forbidden_Fist",
    "ID": "60e0f7e5-86b8-4900-abbf-3945046be426",
    "Components": [
      {
        "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp",
        "KeywordsIDs": [],
        "DisplayName": 4986,
        "Description": 4987,
        "DescriptionTactical": -1,
        "UpgradeDescriptions": [
          {
            "String": 4988,
            "StringTactical": -1
          }
        ],
        "UpgradedFromID": "00000000-0000-0000-0000-000000000000",
        "Vocalization": "AbilityCast",
        "Icon": "gui/icons/abilities/talents/class_monk.png",
        "UsageType": "None",
        "UsageValue": 0,
        "AbilityClassID": "f0036bfb-53d5-4d0c-b11a-b780d788a108",
        "AbilityLevel": 0,
        "IsPassive": "true",
        "StackingRuleOverride": "Default",
        "TriggerOnHit": "false",
        "IsModal": "false",
        "ModalGroupID": "00000000-0000-0000-0000-000000000000",
        "IsCombatOnly": "false",
        "IsNonCombatOnly": "false",
        "HideFromUI": "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": [
          "355c253f-2c85-47a8-a308-7f3215f52ff0"
        ],
        "VisualEffects": [],
        "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000",
        "AttackID": "00000000-0000-0000-0000-000000000000",
        "AITargetingConditional": {
          "Conditional": {
            "Operator": 0,
            "Components": []
          },
          "Scripts": []
        },
        "AudioEventListID": "00000000-0000-0000-0000-000000000000",
        "GrantedViaScript": "false"
      },
      {
        "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp"
      }
    ]
  },
  {
    "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp",
    "DebugName": "Forbidden_Fist_Ability",
    "ID": "0f99851c-d970-4661-9d8b-a394e3951c3d",
    "Components": [
      {
        "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp",
        "KeywordsIDs": [
          "6a6d39b2-7883-49eb-aa94-b0304dc05d89",
          "0730c4c6-7a01-4cca-b1b4-da0c256542d4"
        ],
        "DisplayName": 4986,
        "Description": 4989,
        "DescriptionTactical": -1,
        "UpgradeDescriptions": [],
        "UpgradedFromID": "00000000-0000-0000-0000-000000000000",
        "Vocalization": "NoVocalization",
        "Icon": "gui/icons/abilities/monk/forbidden_fist.png",
        "UsageType": "ClassAccruedResource",
        "UsageValue": 0,
        "AbilityClassID": "f0036bfb-53d5-4d0c-b11a-b780d788a108",
        "AbilityLevel": 1,
        "IsPassive": "false",
        "StackingRuleOverride": "Default",
        "TriggerOnHit": "false",
        "IsModal": "false",
        "ModalGroupID": "00000000-0000-0000-0000-000000000000",
        "IsCombatOnly": "false",
        "IsNonCombatOnly": "false",
        "HideFromUI": "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": [],
        "VisualEffects": [],
        "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000",
        "AttackID": "dded0cc3-093c-48ed-8e16-efedd3eca7ca",
        "AITargetingConditional": {
          "Conditional": {
            "Operator": 0,
            "Components": []
          },
          "Scripts": []
        },
        "AudioEventListID": "4ed1021f-5da3-4cfa-b5b6-73e934c3d728",
        "GrantedViaScript": "false"
      },
      {
        "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp"
      }
    ]
  },
  {
    "$type": "Game.GameData.AttackMeleeGameData, Assembly-CSharp",
    "DebugName": "Forbidden_Fist_Melee",
    "ID": "dded0cc3-093c-48ed-8e16-efedd3eca7ca",
    "Components": [
      {
        "$type": "Game.GameData.AttackBaseComponent, Assembly-CSharp",
        "KeywordsIDs": [
          "1ff3caa3-e731-4c31-96b4-e03c300e3f3c",
          "0730c4c6-7a01-4cca-b1b4-da0c256542d4"
        ],
        "AttackDistance": 0.75,
        "MinAttackDistance": 0,
        "AttackVariationID": "f0e8716a-145a-4eff-a0bb-ce494249f0db",
        "UseParentEquippableHand": "false",
        "CastSpeedID": "eacb53e3-6eb5-422a-92ca-99cc883ae4a9",
        "RecoveryTimeID": "9d15e1c1-c6e1-4b25-bc1d-bf3707f6f534",
        "OverrideTacticalActionType": "None",
        "ImpactDelay": 0,
        "ForcedTarget": "None",
        "AffectedTargetType": "NotSelf",
        "AffectedTargetConditional": {
          "Conditional": {
            "Operator": 0,
            "Components": []
          }
        },
        "AffectedTargetDeathState": "Alive",
        "HostilityOverride": "Default",
        "PushDistance": 0,
        "FaceTarget": "true",
        "AccuracyBonus": 0,
        "PenetrationRating": 9,
        "DamageData": {
          "DamageType": "Crush",
          "AlternateDamageType": "None",
          "Minimum": 14,
          "Maximum": 19,
          "DamageProcs": []
        },
        "Require****Object": "true",
        "StatusEffectKeywordsIDs": [],
        "StatusEffectsIDs": [
          "373544f3-035c-439a-811d-a596c1916e45"
        ],
        "RandomizeStatusEffect": "false",
        "CanGraze": "false",
        "CanCrit": "true",
        "DefendedBy": "Deflect",
        "AfflictionsDefendedBy": "Fortitude",
        "AfflictionApplicationModifier": "None",
        "SubstituteHitVisualEffect": "",
        "VisualEffects": [
          {
            "VisualEffect": "prefabs/effects/abilities/monk/fx_exploding_palm_chargeup.prefab",
            "AttachPoint": "RightHand",
            "AttachObject": "Caster",
            "AttachMode": "Attach",
            "MeshType": "None",
            "Event": "OnStart",
            "AnimEventID": 0,
            "Loop": "false",
            "Scale": "false"
          }
        ],
        "AttackOnImpactID": "00000000-0000-0000-0000-000000000000",
        "ExtraAttackID": "2bb32ac3-ea35-458c-947f-fdb41f7d41ad",
        "LaunchBone": "RightWeapon",
        "HitBone": "Chest",
        "OnHitShakeDuration": "Medium",
        "OnHitShakeStrength": "Large",
        "NoiseLevelID": "82bc1ce9-3a81-41ca-a61a-cc1f73a53de7",
        "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.AttackMeleeComponent, Assembly-CSharp",
        "EngagementRadius": 1,
        "IsUnarmed": "false"
      }
    ]
  }
]

 

GenericAbilityGameData is usually used by spells, while for weapon abilities (like Debilitating Strike) is used: WeaponAttackAbilityGameData. And cipher gets focus from the latter.

And you can't just change one for another, because WeaponAttackAbilityGameData uses your weapons, while Forbidden Fist seems to be designed with "using your 'fist'" in mind, no matter what you have equipped. Plus there would likely be problems for new characters, and the player would have to create a new monk. At least when I was changing types for Soul Annihilation ability - I've run into such a problem.

 

P.S. I just wanted to say that it doesn't look that there is a simple 'tick a checkbox' solution..\

Edited by MaxQuest
Link to comment
Share on other sites

  • 0

Basically like Grimoire Slam or Kalakoth's Feelbe Frostfingers I suppose?

 

It does work with Instruments of Pain (like the above, gains +500% range) - so I suppose it is kind of tagged as a melee attack. 

 

Stupid question : does Kalakoth's and stuff benefit from Instruments of Pain ?

Link to comment
Share on other sites

  • 0

I have a gift)

 

UPDATE (8th April): Forbidden Fist ability now is Weapon Attack (generates Focus and receives all weapon related bonuses - Soul Whip, Hammering Thoughs, Transcendent Suffering, Unarmed modal, Sneak Sttack, Backstab etc.)

Screenshots:


241-1554746107-1751246535.png

From this test attack my 13th Level Monk/Cipher received 51 Focus (from 50 to 101)
241-1554746108-607591575.png

 

https://www.nexusmods.com/pillarsofeternity2/mods/241?tab=files

 

Have fun!

 

Becose value "TreatAsWeapon" in attacks.gamedatabundle was set to "False", i think this is was intended or maybe a simple oversight.

Edited by Phenomenum
  • Like 3
Link to comment
Share on other sites

  • 0

Thanks!

 

Hello Sam and friends: is there any chance that this will go into the next patch (i mean if it wasn't intended in the first place of course)?

 

Edit: I altered the thread title and the opening post to make the "problem" more clear.

Edited by Boeroer

Deadfire Community Patch: Nexus Mods

Link to comment
Share on other sites

  • 0

That's cool)

So there actually is a "checkbox". At least for AttackGameDatas :)

 

Actually, it was a lucky guess  :-

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

  • 0
1 hour ago, Boeroer said:

@Phenomenum and @MaxQuest: maybe this is also a case for the Polishing mod? Since it won't get fixed - but seems to be easy to fix?

Emm... Already fixed. Have you forgot about this? :grin:
https://www.nexusmods.com/pillarsofeternity2/mods/241?tab=files

Of course we will include this fix in CP.

  • Thanks 2
Link to comment
Share on other sites

  • 0

Ah, I didn't know you already had these out! I'm going to try a few of those out ;)

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