EndlesNights / dnd4eBeta

An implementation of the dnd4e game system for Foundry Virtual Tabletop (http://foundryvtt.com).
https://foundryvtt.com/packages/dnd4e
GNU Affero General Public License v3.0
36 stars 29 forks source link

[BUG] Active Effects, Long Rests and Questions #214

Open NuptupTDOW opened 2 years ago

NuptupTDOW commented 2 years ago

So, After the Active Effects update, I started playing around with it and here's some things I noticed right away.

1: My characters can no longer use the Long Rest button on the character sheet. When they press it, the prompt appears, but when you click to confirm it, there is no resolution and the window stays active and no changes are posted.

2: When setting an effect in the new effects tab to "Affects Self Targets" it is sorted in the "Affects All Targets" group.

3: When setting an effect to apply to "Affects Hit Targets" and applying 4 effects (-2 to all defenses) such as the Astral Seal power, I can't figure out how to apply those effects when the power is a "probable hit" after rolling.

4: When setting an effect to "Affects Self Targets" and setting the effects (Razorclaw Shifting) to give +2 speed, +1 AC/Ref until duration End of Encounter, upon using the power, nothing happens, regardless of whether the "Transfer Effects to Actor" box is applied EXCEPT that it will put a condition on the actor's token but only appear in the "Unavailable Effect" group on that character's sheet. I can toggle the effect to being an Inactive Effect, but I can't ever get the power to turn it into an active effect.

5: Is there a way to make it so that the power output into the text channel can display "The Effect" as a click and draggable "box/handle" that can be pulled over a token, and when released it applies the effect to that token? This would be ideal for powers that have multiple different effects that apply to different actors, such as our Healer's Astral Seal which A: applies target -2 to defenses B: Heals ally who next hits target and C: applies temp HP to one ally in range. Currently we can only have one "Healing" roll associated with the power which we're using for the temp hp, and then applying the healing through a secondary power when it's relevant, but it could be nice to have the healing be in the healing line, and then just have a click and draggable effect that our healer can drag directly onto the ally of their choice to give the THP to. And, in the case someone forgets to target an enemy, it would still output an "Astral Seal" "draggable" that they (or the DM) can drag onto a hit target to apply the -2 to defenses.

6: I truly am excited for a fully automated 4e experience when it comes to effects and conditions, but that sounds like a LOT of work, and I feel like a very good tide-over and also a good redundancy system would be a great idea to add for those occasions when something is missed. Or, for example when a power does "X to all targets hit" but "Y to all allies in burst" (Such as moment of glory), where you wouldn't want to target the allies during the attack portion since they aren't targets. So far I can't think of a way to generate multiple effects that target different creatures in the same power, so the "Draggables" idea would serve a purpose here.

Anyway, I'm sure you'll put out a fancy explanation for how it all works, similar to the "Effects" compendium entry, but in my quick testing, those were the things I found. I'll hold off on doing anymore extensive futzing about until I can get some feedback to see if I'm maybe just completely missing something.

EndlesNights commented 2 years ago
  1. Wooops my bad, missed called a function.

  2. Wooops my bad, missed filtered that.

  3. Might have been caused by another bug that I squashed, where tokens with linked actors where causing some strange edges case issues

  4. See 3

  5. / 6. I really like these ideas. Would probably take a bit more work. Though it doesn't help that Active Effects have some strange nuances in the core code compared to other imbedded object types that make this a little harder. Might have to keep this on the side for now. I know PF2 has done some of these, but they've built up their own custom systems for apart from the core Foundry Active Effects system (they also have waaay more devs), so their solutions are not at all compatible with what we have here. If you happen to ever find a time machine, you should tell past me to use PF2 as a base foundation instead of 5e. Cause then we would probably have had way cooler stuff way sooner.

Anyway thanks again for all your feedback, and pointing out my goofups! And hope you have fun!

NuptupTDOW commented 2 years ago

1: ok 2: https://www.kindpng.com/picc/m/455-4553642_saitama-onepunchman-sticker-ok-okay-manga-shonen-one.png 3: Nice! 4: https://www.memecreator.org/static/images/memes/5099996.jpg 5/6: I genuinely wish I had access to such a thing. However, I don't. I assume that just taking their section of code for that and skeletonizing it to use as a foundation (giving credit of course) wouldn't help at all because it's too far departed from 5e's base set-up?

I only ask about that as an option because.., frankly, I'm not a programmer, but I have on several (too many) occasions brute forced my way through code-edits to make something work, and while I certainly would not want to consider myself a dev in ANY way, I could potentially do some of the legwork on converting it over, and I have a LOT of free time in my day to day life, so as soon as I get a small grasp of what is needed, I can take off with it and get hours put towards making it work, or at least getting it in a condition that's usable for you to then take over and make actually competently.

Anyway, You have me on Discord, if that's something you'd be interested in even attempting to do, I'd be glad to throw my hand at attempting it. Just reach out to me there or (if GitHub has a direct messaging option) shoot me a message here and I can send you my G.Voice number since that's the only direct way I can communicate while at work (which is where I have all my free time).

And, no worries about the feedback and goofups, it's all good!

NuptupTDOW commented 2 years ago

So, did some more work on the effects since there was an update and came across a few more bugs (or I'm stupid, who knows) while trying to code my Body of the Wolf power.

First, when setting an effect to work on "Affect Self Targets" it still will not apply the affect to the token who uses the power, it's like it just ignores it's existence. If I set the power to "Transfer effect to actor" it starts using the unavailable effect group again. Not sure why that would be. However, at the very least I found a work around which is using the "Affects All Targets" option and manually targeting my own token, but it'd be nice if it wasn't required to do that.

Second, I realized there's no good "Duration" option for a toggleable ability. Using the above trick to apply Razorclaw Shifting to my character makes it's duration correctly end at the end of the encounter, but there's no good way to set a duration such as "Until you use this power again". I still have the Macro version you posted in the other thread, but there's no way to replicate that functionality with the Effects durations, and in-fact upon re-firing the power, it starts adding duplicate effects that start stacking the effects endlessly. (who said a werewolf rogue cavalier with 16 movement speed was a problem though.)

Other than that, other effects are working well, but that's just some more things I thought you might want to be made aware of.

NuptupTDOW commented 2 years ago

Imputing Astral Seal, I am having an issue where it won't actually remove the effect when the user end's their next turn. Unsure why. It seems like the round counter just keeps increasing every round instead of actually ending.

Ok, maybe it's something wrong with me. I'm not able to make my Bless effect end at the end of the encounter either.

EndlesNights commented 2 years ago

No that was still me, most of my testing was done from npc tokens by pure chance. And it turns out there was some strange interaction bugs when tokens with linked actors where using their effects. So I just missed having a bunch of these issues. One of them was the durations would just null themselves for some reason, so that was the issue with the Astral Sea power.

NuptupTDOW commented 2 years ago

Gotcha! That makes sense. Is there currently any way to do the "duration toggle" set up? Or just keep using the macro from the other thread?

EndlesNights commented 2 years ago

Keep using the macro for the time being. This was just meant to be a round 1 that was meant to deal with the more common mundane aspects, and I would ideally like to do a round 2 some time in the future.

NuptupTDOW commented 2 years ago

Ahh gotcha, nice! That makes sense!

Edit 1: I'm still having an issue with End of Encounter effects when applying them from one linked actor to a second linked actor. Example PC1 uses Bless and assigns it to PC's 1/2/3/4/5. It applies the effect to the token, grants the power bonus to attack, but when I end the encounter, it doesn't remove or make the effect inactive.

Any ideas?

Edit 2: Just realized I don't know if this is possible, but figured I'd ask. Is it possible for the effect dialog to apply a foundry default condition? For example, the Rogue's "Dazing Strike". Is it possible to make it so that the attack's "Affect Hit Targets" will make the target have the "Dazed" effect you can apply by right clicking the token instead of creating a new effect for it?