Jump to content

Making abilities visible or hidden on the activation of a seperate ability


Recommended Posts

After countless days figuring out and failing on how to make aoe spells target foes only, I decided that the next best approach is to create copies of wizard spells and tweak their attack to foe only (similarly to Watershaper spells).

With the spells restricted to foes only, the problem that I am facing is how to make them available for the wizard to use them. My plan is to add an ability that when activated, foe only aoe spells will replace their original copy for a short duration.

I have implemented the restriction for foe only aoe spells by adding the activation ability in their ActivationPrerequisites, however I cannot find a way to make them hidden until the wizard has unlocked the spell and has the activation ability on. 

I am aware and tried adding the activation ability in VisibilityConditional in BaseProgressionTableAppend but it does not work. I tried switching Category, UnlockStyle and even adding alwaysFalse in VisibilityConditional, but for some reason, the foe only aoe spells are always visible.

Is there an alternative way of making abilities visible or hidden on the activation of a seperate ability?

Link to comment
Share on other sites

Posted (edited)

Anyone know difference between ProgressionTableHasAbility, CanUseAbility, HasAbility and HasActiveAbility?
And which to use to check if a wizard has a spell either by leveling up or through grimoire?

Edit: And how do you write (A and (B or (C and D))) in Conditional of ProgressionTables?

Edited by Cmushi
Link to comment
Share on other sites

"ProgressionTableHasAbility", I'm not 100% clear on the function of this, what I think it does is check if an ability has been unlocked on the progression table it's called on.
"CanUseAbility" checks if the specified character has access to the ability.
"HasAbility" checks if the specified character has the ability.
"HasActiveAbility" check if the ability is active on the specified character.

So "CanUseAbility" would probably would be what you are looking for in this instance.

17 hours ago, Cmushi said:

how do you write (A and (B or (C and D))) in Conditional of ProgressionTables?

 

A
and {
	B
	or {
		C
		and D
	}
}
Edited by Kvellen
Link to comment
Share on other sites

1 hour ago, Kvellen said:

"ProgressionTableHasAbility", I'm not 100% clear on the function of this, what I think it does is check if an ability has been unlocked on the progression table it's called on.
"CanUseAbility" checks if the specified character has access to the ability.
"HasAbility" checks if the specified character has the ability.
"HasActiveAbility" check if the ability is active on the specified character.

So "CanUseAbility" would probably would be what you are looking for in this instance.

 

A
and {
	B
	or {
		C
		and D
	}
}

Thanks @Kvellen. Asking as none of them work in ProgressionTables Conditionals except for ProgressionTableHasAbility.

I tried CanUseAbility (even using isItemEquipped(This, Specific_Grimoire)) to check if the Wizard has access to the spell via grimoire but it does not seem to work.

I think although the mentioned conditions are usable in ProgressionTables Conditionals, only conditionals with ProgressionTableHas are functional.

Link to comment
Share on other sites

Hmm it seems so. I tried a few tests like checking if the Player had a specific item equipped to unlock an ability and it seemed to pass even if the item was just in the party stash. It would only fail if the item was removed from the party inventory completely. So it's possible that conditionals on the Progression Tables have no perspective outside of the progression table of who owns the data?

Progression Tables aren't something I have looked at before so I have no idea what to suggest unfortunately.

Edited by Kvellen
Link to comment
Share on other sites

Posted (edited)
19 hours ago, Kvellen said:

Hmm it seems so. I tried a few tests like checking if the Player had a specific item equipped to unlock an ability and it seemed to pass even if the item was just in the party stash. It would only fail if the item was removed from the party inventory completely. So it's possible that conditionals on the Progression Tables have no perspective outside of the progression table of who owns the data?

Progression Tables aren't something I have looked at before so I have no idea what to suggest unfortunately.

Referencing https://eternity.obsidian.net/game-data-formats/conditionals:

  • "ProgressionTableHasAbility" is used in Progression Tables
  • "CanUseAbility" and "HasAbility" are used in RPG (conversations?)
  • "HasActiveAbility" is used in Targeting Filter (status effects or ai commands?)
Edited by Cmushi
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...