PDA

View Full Version : Effect Targeting



bmos
May 21st, 2020, 12:18
I just learned the other day that you can target an effect to only apply against a particular person without relying on IFT CUSTOM code (by dragging the target from the effect on the combat tracker to the character it applies against).
Is there a way to do this without dragging (so that the effect is automatically targeted against the person that my player is targeting when they apply the SELF effect to themself)?

Trying to improve/simply my Smite Evil solution to use targeted effects instead of relying on the CUSTOM tag which apparently requires a lot of overhead.
35850

Trenloe
May 21st, 2020, 14:52
Is there a way to do this without dragging (so that the effect is automatically targeted against the person that my player is targeting when they apply the SELF effect to themself)?
Hold down the shift key before you start dragging the SELF effect. Then drop the effect on the creature that you want it to be targeted against.


... instead of relying on the CUSTOM tag which apparently requires a lot of overhead.
I'm curious - where did you hear this?

mozmonar
May 21st, 2020, 17:02
I would love it if you could have multiple clauses in the CUSTOM field..."and" or "or" to help automate sneak attacks. Like...
Sneak Attack; IFT: CUSTOM (Flat-footed, Flanked); DMG: 2d6 precision

Trenloe
May 21st, 2020, 18:55
I would love it if you could have multiple clauses in the CUSTOM field..."and" or "or" to help automate sneak attacks. Like...
Sneak Attack; IFT: CUSTOM (Flat-footed, Flanked); DMG: 2d6 precision
It's a good idea. Please add it to the FG wishlist.

bmos
May 21st, 2020, 19:46
Hold down the shift key before you start dragging the SELF effect. Then drop the effect on the creature that you want it to be targeted against.
I'm curious - where did you hear this?Wow! That's going to be so helpful. Thanks!

the CUSTOM effect is a performance-eating code in FG and too many of them could cause performance problems because this created some sort of "loop" (which is not really a loop but the code had to take a long path). For this I have developed a new operator similar to IF and IFT, its name is IFTAG. It works very similar to the previous IF: CUSTOM(..) of the previous extension, but its performance is now a lot better due to a different code in its background (different to CUSTOM and IF). This needed a rewrite of the effect code in FG, so please tell me when you see errors :)

Trenloe
May 21st, 2020, 20:01
Thanks for the link to Kelrugem's comment. To be perfectly honest, the whole effects process in general jumps through a lot of hoops and is very complex. If you're using any effect targets you're going to process a lot of code.

bmos
May 21st, 2020, 20:09
Gotcha. Thanks for clarifying that. It also probably explains why my rolls lag a bit sometimes.
I'll see if there is a noticeable difference one way or the other.

Kelrugem
May 21st, 2020, 22:13
I was once thinking about adding a separate CUSTOM command which would not stack with each other, with that I mean that the following works:

IF: CUSTOM(test1); ATK: 4
IF: CUSTOM(test2); test 1

then one gets the +4 atk bonus when one has test2 as an effect. That sounds useful but I never needed such a setup; but the reason for possible performance issues is that the CUSTOM effects can "stack" like that. One could resolve that by changing its code in such a way that separate CUSTOM effects ignore each other.

I do not know whether the effect targeting resolves this, too, but I would think so. Though IFT: CUSTOM is in my experience not so bad as IF: CUSTOM because then it is more about the effects of the target due to IFT and the mentioned "loop" will not be so long when the target has not many and/or complicated effects. It is complicated to answer that question, depends a lot on the effects of all actors :)

I wanted to add the possibility of logical operators at some point, too, because my IFTAG operator basically does this already (and TYPE also already allows more than one entry), I should be able to port that over to all the other ones, I guess :)