Jump to content

Recommended Posts

Posted (edited)

Hi guys, as the title says, I'm looking for a way to make a passive ability that activates when a character's power pool hits 0, and deactivates whenever the character regains resource. The only way I can figure out to make this work would be to make a StatusEffect for ApplyStatusEffectOnEventWithChance, where the base chance to apply is 1 and every point of resource adds a -1. However, that wouldn't disable the effect when the character regains resource.

Any tips?

Edited by Testlum
  • Hmmm 1
Posted (edited)

I think you could utilize ActivationPrerequisites and DeactivationPrerequisites properties of the GenericAbilityComponent to implement this, together with the IsClassPowerPoolCount conditional.

Using Brute Force as a passive ability example, something like this?

Spoiler
{
   "$type": "Game.GameData.AttackLowestDefenseAbilityGameData, Assembly-CSharp",
   "DebugName": "Brute_Force",
   "ID": "fbf5f778-a528-4fd3-8213-2784bba0f145",
   "Components": [
      {
         "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp",
         "ActivationPrerequisites": {
            "Conditional": {
               "Operator": 0,
               "Components": [
                  {
                     "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                     "Data": {
                        "FullName": "Boolean IsClassPowerPoolCount(Guid, Guid, Operator, Int32)",
                        "Parameters": [
                           "7d150000-0000-0000-0000-000000000000",
                           "825817d4-1fb0-4e5c-bf84-473743ad98de",
                           "EqualTo",
                           "0"
                        ]
                     },
                     "Not": false,
                     "Operator": 0
                  }
               ]
            }
         },
         "DeactivationPrerequisites": {
            "Conditional": {
               "Operator": 0,
               "Components": [
                  {
                     "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                     "Data": {
                        "FullName": "Boolean IsClassPowerPoolCount(Guid, Guid, Operator, Int32)",
                        "Parameters": [
                           "7d150000-0000-0000-0000-000000000000",
                           "825817d4-1fb0-4e5c-bf84-473743ad98de",
                           "GreaterThan",
                           "0"
                        ]
                     },
                     "Not": false,
                     "Operator": 0
                  }
               ]
            }
         }
      }
   ]
}

 

[825817d4-1fb0-4e5c-bf84-473743ad98de] = Barbarian Class ID

Edited by Noqn
  • Like 2

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