PDA

View Full Version : Any chance or way to create new effect tags, modifiers, and descriptors for coders?



InnocentSoul
January 10th, 2018, 20:19
So I have notice that many of the mods and extensions that deal with effects and automation has been held back due to a lack of tags, modifier options, and descriptors for the coders to use in their coding. Also since the layout on the 5e Effects (https://www.fantasygrounds.com/wiki/index.php/5E_Effects) page has been difficult to understand when setting up how to setup the code and knowing what tags are allowed when I apply them to various mods and extensions or even in the basic effects section in the program, I am wondering if that can be cleaned up a bit.

While I don't know if unity will have a massive change in the syntax of these, I would like to see something in the effect of some added options.

Regarding some of the effects tags I would like to see:
More options for granting advantage and disadvantage on things other than attacks, such as saves, death saves, initiative, checks, and specified skills. IE. GRANTADVSAV

More options for IF and IFT, such as checking for DMGTYPE or a value like AC, INSP, INIT, DMG, LVL, or PRF. A way to apply this would be IF: AC(>=13); so it would check for if the Armor Class is above a value or even support for ! (NOT) to tests like !>=. Also an ability to check strings for things like gender, race, class, background, proficiencies or languages would be nice.

Support for logic gates such as AND, OR, XOR, XNOR, NAND, NOR would be useful for IF conditional statements.

A healthy condition when no premade condition applies. This would allow an option for IFT: healthy option for effects to check if a creature has a condition.

An open custom variable option so you can make your own values for things that are not available or to apply any variable based tag as descriptors to apply as a value. I have had issues adding something as simple as SAVE: [PRF] or even HEAL: [PRF]

An option to set if a roll is a value or not. This would be used for improved criticals, or checking for 1's in a roll like making a [ROLL] for IF and IFT conditions. Also an option for REROLL: (N) or (D) would be nice for options that allow rerolling a value or number of dice.

An option to check for spell slots, spell level, and spell school.

It would be nice to be able to apply these to abilities like feats/traits/features or on usable things like items/spells

Just my two cents since coding the effects has been difficult since most options that I would like are not available.

LordEntrails
January 10th, 2018, 20:44
Though it's useful to discuss these things on the forum, it always best to make sure they are on the wishlist; https://fg2app.idea.informer.com/.

Be aware that for the most part, effects and automation in the 5E ruleset has been only developed to support those things specified by official WotC products. Not that more capabilities aren't possible (and have been added). Also note that the intent of the developers is to aim for something like automation of the most important 80%. We all should remember that RPGs have lots of exceptions, and exceptions to the exceptions, so programming automation for them can require huge amounts of programming resources and challenges.

That said, I'm sure some of the effects guru's will drop by to give suggestion on how they deal with the issues you mentioned. Also, I'll again suggest you check the wishlist and vote accordingly or add new additions to it as well.

InnocentSoul
January 10th, 2018, 21:03
I did not know about a feature wishlist. I will be using that in the future. I'll submit this request to it as well.

LordEntrails
January 10th, 2018, 22:25
I did not know about a feature wishlist. I will be using that in the future. I'll submit this request to it as well.
No problem :) And don't think I'm saying not to discuss on the forums. It's just that the devs actively monitor the wishlist and tings are the forums sometimes slip past them or get forgotten about etc.

Nylanfs
January 11th, 2018, 01:16
Don't forget about the exceptions to the exceptions of the exceptions that are themselves excempted by another rule.

Uraence
January 11th, 2018, 07:04
I dearly wish that there was a "Tag" field we could fill out on things like items, spells, actions, etc... so we could customize with ease.

For example, being able to place a "Poison" tag on a spell or attack so that Dwarven Resilience could be coded for automation.

One field for data could open up soooo many options and possibilities.

damned
January 11th, 2018, 07:32
I dearly wish that there was a "Tag" field we could fill out on things like items, spells, actions, etc... so we could customize with ease.

For example, being able to place a "Poison" tag on a spell or attack so that Dwarven Resilience could be coded for automation.

One field for data could open up soooo many options and possibilities.

Its easy to add one field. Its not easy to code for all the possibilities that could eventuate from that.

Ken L
January 11th, 2018, 11:32
All the effects are readily available to be edited with the base ruleset. I've peeked a bit at 5e recently, but I know for a fact that you have full access to the parsing logic in 3.5/PF as I've added and edited effect syntax "decoding".

It's not singular though, as built in effects will have hard coded conditional checkers in ActorManager, AttackManager, and more. You have to untangle the spaghetti ball to make minor changes.

rickyhunt
January 11th, 2018, 12:05
I dearly wish that there was a "Tag" field we could fill out on things like items, spells, actions, etc... so we could customize with ease.

For example, being able to place a "Poison" tag on a spell or attack so that Dwarven Resilience could be coded for automation.

One field for data could open up soooo many options and possibilities.

There is an undocumented function that can be used in IF and IFT conditionals called CUSTOM. You can put an effect on someone, let's say "Smite" for the target of a Smite Evil. You can then write an effect like IFT: CUSTOM(Smite); ATK: 2 that will give you a +2 to attack against someone that has the "Smite" effect on them. I have no idea why this is undocumented, it is awesome and opens up a lot of things that were nearly impossible to do before.

damned
January 11th, 2018, 13:15
Its not completely undocumented. There is one example in the wiki.

Oathbow
IFT: custom(Sworn Enemy); DMG: 3d6 piercing DISATK
First effect while wielding Oathbow, Second effect while not wielding Oathbow and sworn enemy chosen

Uraence
January 11th, 2018, 14:26
Yes, I use the IF and IFT for things like putting Hex or Hunters Mark on the target then checking for if that condition (or Tag) exists to add the extra damage to the target.

This functionality is exactly what I'm talking about using, but it could be expanded and made more simple if things like spells/attacks, items, etc. had an editable field to place such tags in.

I understand that adding a field is simple and adding code for all the possibilities is a much larger undertaking, but that's not what I'm suggesting. The code to evaluate is already in the software with the CUSTOM & IF/IFT. It just needs to be expanded to look at the "Tag Field" to search for matching words. Perhaps call the tag field "CUSTOM" to keep in line with already implemented syntax.

For example if I could edit a creatures poison based attack by adding "poison" to the specific attack/abilities "Tag Field" then I could have my IF or IFT statement evaluate for anything that had "poison" as a descriptor in that field.

This could even allow for multiple tags with a comma separator. Then the only other thing needed to be added for expanded use would be logic gates (i.e. AND, OR, XOR, etc.)

damned
January 11th, 2018, 14:51
Do add it here so the Devs see it as well: FG Wish List - https://fg2app.idea.informer.com/

Uraence
January 11th, 2018, 23:36
Added to the Wish List if anyone wants to vote and/or spread the word.

https://fg2app.idea.informer.com/proj/fg2app?ia=115890

Bidmaron
January 11th, 2018, 23:48
Voted

mlesnews
January 15th, 2018, 15:35
+1 for an upvote, some wonderful ideas floating around here! :)