PDA

View Full Version : [extension] Advanced Weapon Damage Extension



bratch9
July 6th, 2020, 11:48
This extension is now on www.dmsguild.com 'Fantasy Grounds Advanced Weapon Damage' (https://www.dmsguild.com/product/327401/Fantasy-Grounds-Advanced-Weapon-Damage-extension)
My other extensions can be found on www.dmsguild.com 'Bratch Nine' (https://www.dmsguild.com/browse.php?keywords=&author=Bratch+Nine&artist=&pfrom=&pto=)
RULESET : 5E

Thought I'd share the extension for advance weapon damage I've been developing for our campaigns..

Its designed to apply 'effect' like features direct onto the damage of weapons, configured on the damage lines. It also configures of the weapon description damage line, when dropped into inventory.

Support for one/two and off handed use, and weapon meta configuration for 'two weapon fighting' and 'dual wielder' tick boxes are provided.

You can add things like 'type(dragon)' or 'size(>m)' style effect token next to the normal 'slashing,magic' on the weapon damage line config page.

Support for 'versatile' is also added, and this token is used to select between normal and two handed use dice lines when selected for two handed use.

The module to go with this has more information, and a couple of example weapons from LMoP to show the idea, and covers basic but more details about usage than this post.

( While I know I could configure effects for these, or even use the likes of advanced weapon effect extension, I feel lots of effect lines on a character gets in the way.. while a lot of weapons just fall into the 'does extra radiant damage to undead', so why have a character effect line for this, just have the weapon sort it out and pre-configured by the module/DM. )

Feel free to check it out, use it, let me know if you spot anything odd that I need to fix. ( conflicts with other extensions/modules etc.. )


NOTE. for support on rulesets 3.5E, PFRPG, PFRPG2

For now you need to do some work by hand, on windows you can rename the '2797083-5E_B9_AdvancedWeaponDamage.ext' file to '.zip' ( you might need to turn on extension in your windows folder properties to see these.. )
Once the extension has a zip extension, you can 'double click' and open the extension into the window 'virtual folder' view of zip files, as if you had extracted it into directory.
You can then drag the below 'extension.xml' file into the 'virtual folder' for the zip, ( or even direct onto the '2797083-5E_B9_AdvancedWeaponDamage.zip' file ) and windows will ask you if you want to replace the file. ( Select the yes option. )
Once this is done you can rename back to '.ext' and all should be good to go on the other rulesets.

The support for these other rulesets is provisional and very much in development. At the moment the 'item'->character sheet does not parse the damage types for extra tokens, but has been extended to allow extra lines to be generated in the weapon. An example is 'weapon_3.5e.png' you can use the ';' to add and extra set of 'damage/damage type/critical'. ( Note only critical multipliers are used, with only the first critical item been able to have the '19-20/x3' type to set the 'crit' range of the weapon. Once the weapon has been added to the character sheet it is possible to add tokens by hand, see 'weapon_token_3.5e.png'. An example 'roll' can be seen in 'weapon_damage_3.5e.png', the 'mummy' taking full damage because its an 'undead', while the 'air elemental' takes only the reduced damage slashing damage.

Extra control tokens options are, 'Align( [Alignment] ),Size( [size] ), Type( [Creature Type] ), Effect( [Condition] ), MaxDice, Critical'

I will be doing further development for these rulesets, if you would like to try it and post any issue you find I can then use that to judge the required development/support level.

As I say the work in these extra ruleset are provisional, so do not use in a critical campaign, please use a test campaign for now.

thanks, pete.

To do,
1. I'd like to change the parse code from 'or' style combination to 'and' style.
2. Add extra logic to allow '(type(dragon) and size(>l)) or (effect(poisoned))'
3. Maybe add the ability to cause 'heal' or 'save' type... less damage related effect.

LordEntrails
July 6th, 2020, 17:01
Thanks for sharing :) Sounds like a great contribution.

I am starting to ask all community developers to consider making an explicit licensing statement on their work. It helps future community developers honor your wishes in regards to your work. Their is a discussion and some suggested licensing statements here; On Licensing & Distributing Community Content (https://www.fantasygrounds.com/forums/showthread.php?53781-On-Licensing-Distribution-of-Community-Content). Thanks for your contribution and considering adding a licensing statement to your post :)

bratch9
July 6th, 2020, 18:28
I had a quick read of your link, and will think about adding a line, or a note to show intent..

LordEntrails
July 6th, 2020, 18:39
I had a quick read of your link, and will think about adding a line, or a note to show intent..
Thanks, that's all I ask :)

vaughnlannister
July 7th, 2020, 19:48
Cool extension dude :)! Thanks for bringing this to FGs!

bratch9
July 8th, 2020, 13:27
Cool extension dude :)! Thanks for bringing this to FGs!

Let me know if you spot any issues, or make any cool items with the system..

vaughnlannister
July 8th, 2020, 15:16
Will do!

bratch9
July 9th, 2020, 17:10
new release, not sure if my edit send out 'updated' emails..

-pete


Version 1.0.7

- versatile now only on melee weapon.
- added 'ranged' and '!ranged' for weapon damage line.
- added 'power' and '!power' for weapon damage line.
- added power on/off selection on character actions for weapons.

TheoGeek
July 24th, 2020, 06:29
Does the spell tokens extension work with Unity? I can't see where to drop the token but I may be blind.

Thanks!

bratch9
July 24th, 2020, 15:20
Does the spell tokens extension work with Unity? I can't see where to drop the token but I may be blind.

Thanks!



It should work with both FG nd FGU, I've attached images showing in both..

You should be able to see a token circle ( depending on your desktop theme... ) between the spell information and spell shortcut.

Just drag on a token from the assets sets, and this can then be placed into a map as needed.

( Note... sometimes DM is the only person with the assets to set these on your character sheet for you... but once set it should sync on the player side. )

TheoGeek
July 24th, 2020, 21:24
So, apparently, it's a conflict with 5E Enhancer - I disabled that extension and that token circle showed up. Want a weekend project? :)

bratch9
July 24th, 2020, 23:44
So, apparently, it's a conflict with 5E Enhancer - I disabled that extension and that token circle showed up. Want a weekend project? :)

This should now be fixed, if you want to download and try the updated extension.

-pete

TheoGeek
July 25th, 2020, 00:10
Yup, that did it, and it didn't even take nearly all weekend!

Thanks!

bratch9
August 11th, 2020, 23:17
I should have to spare programming time in the next couple weeks, any suggestions for changes/features/bugs now people have had a chance to use the extension...

( Or suggestions for other extensions etc... )

-pete

bratch9
September 8th, 2020, 18:05
Extensions have been moved to be with my other ones.

-pete

vaughnlannister
October 22nd, 2020, 15:27
Hi, I was wondering if it might be interesting to add an effect that allows you to change the damage dice for a weapon.

Like for the Shillelagh spell, in which the d6 is turned into a d8?
Perhaps there could be an added effect line that removes damage line nr1, when the power is turned on?

In the image, in screenshot 1,2 how the change in damage dice would be cool to have.

Screenshot 3 shows how it will change now when you add an extra power to a weapon.

Thanks

40419

bratch9
October 22nd, 2020, 17:36
Hi, I was wondering if it might be interesting to add an effect that allows you to change the damage dice for a weapon.

Like for the Shillelagh spell, in which the d6 is turned into a d8?
Perhaps there could be an added effect line that removes damage line nr1, when the power is turned on?

In the image, in screenshot 1,2 how the change in damage dice would be cool to have.

Screenshot 3 shows how it will change now when you add an extra power to a weapon.

Thanks

40419

I can tell you the solution....

Damage lines 'without' any tokens are are always included.. ( As you show.. )
Damage lines 'With' any token are always 'Processed'

The ability to use '!' as a prefix for a token should allow you to do as requested.


Basically,
1 d6 bludgeoning,magic,!power
2 d8 bludgeoning,magic, power


While it looks 'odd', the system considers '!power' as different to it not been on the line.

As I have to assume lines without tokens, which are the normal generated lines, should always be processed, for compatibility reasons... ( Hence the need to process '!power' etc.. )

(See attached.. as an example of power and versatile, in this case i've also enabled 'base' stat to allow the +3 on during all 4 combinations.. )

-pete

vaughnlannister
October 22nd, 2020, 18:03
Awesome Thank you :D, this is so cool!!!

vaughnlannister
October 30th, 2020, 14:26
Hi Pete,

I had an idea which might be interesting in the future. I was wondering if it might be possible, to add a condition effect when damage is rolled, such as: target becomes frightened?

It would be really cool, if this condition could be coupled to like a specific dice roll, such as 15 or higher?
Also was wondering if a saving throw could be included, if successful the effect Frightened is not applied?

I'm not even sure if this would be possible, but would extremely cool and help automate such effects with special magic weapons.

Many thanks, for your openness and consideration to feedback!

bratch9
October 30th, 2020, 23:23
Hi Pete,

I had an idea which might be interesting in the future. I was wondering if it might be possible, to add a condition effect when damage is rolled, such as: target becomes frightened?

It would be really cool, if this condition could be coupled to like a specific dice roll, such as 15 or higher?
Also was wondering if a saving throw could be included, if successful the effect Frightened is not applied?

I'm not even sure if this would be possible, but would extremely cool and help automate such effects with special magic weapons.

Many thanks, for your openness and consideration to feedback!

Hi,

This looks so specific that I think it would be better with just a power-attribute line and some visual inspection..


I've wanted to expand, but causing extra effect lines like a save throw would require a lot of work to generate the flow... I'm not sure on what the weapon damage meta data box would look like, or how you would encode that in a weapon damage/description text so the weapon could be generated when it was dropped onto the character from the items menu....

I suspect it would also need extra support in both the weapon damage roll, and then also in the effects system... making it a risk that other extensions then become invalid.. ( and then the questions for, can I just make it work with x )

Is this a home brew weapon or is it a weapon from a book, I dont know all the book so dont know the source...

While I'm interested in expanding the extension, it has to 'allow' a significant number of new weapons... Adding support for just 1 or 2 weapons just not worth the time and effort..

And I worry that the effects system will just not support it without breaking other extensions.. ( so most people would not use it etc.. )

-pete

vaughnlannister
October 31st, 2020, 21:49
Hi,

I will try to find out how many weapons would benefit from this!

The weapon I wanted to program this for came from the, Ancestral Weapons DMSguild Fantasy Grounds mod.
I'm not to familiar with all the magic weapons in FGs.. but I will try to dig through them.. so see which other would benefit from these added features.

No worries.. I knew I was asking for something major and big.. lets first figure out which weapons will get supported, to see if its worth it!

Thanks!

bratch9
November 1st, 2020, 11:08
Hi,

I will try to find out how many weapons would benefit from this!

The weapon I wanted to program this for came from the, Ancestral Weapons DMSguild Fantasy Grounds mod.
I'm not to familiar with all the magic weapons in FGs.. but I will try to dig through them.. so see which other would benefit from these added features.

No worries.. I knew I was asking for something major and big.. lets first figure out which weapons will get supported, to see if its worth it!

Thanks!

While this is not an official book, its a bit above home brew... I'm not sure that I want to take on non official items, as this would go into a massive possible area of... 'Can I just have...'

Like fantasy grounds, the automation is to help the bulk, not automate everything and the rule sets are not coded with a mass of flexibility to fully automate everything.

For me its a balance of not going too far, to then make lots of other used extensions stop working, or cause a massive amount of work on top of the actual functions of my extension to keep support for them.. ( As I might end up having to include the concepts of other extensions to keep compatibility etc... )

I do think that we can add some extra support.

The next part for me I think is the 'logic' of combining the effects codes in the current system... Its not possible to do 'size(>m) and type(plant)' because the current code would 'or' those together... and then it makes the use of '!' to invert, an issue because A & B is going to become !A | !B, for when you want to have 2 different lines for the case like you used the 'power' and '!power'.. At the moment 'type(undead)' and '!type(undead)' work well, but 'type(dragon) & align(evil)' and its inverse does not function..

I do think the likes of the CoS 'Blood spear' does suggest options to add, but in my limited collection of official books, this seems rare.. Mainly weapons tend to just deal extra damage to some things, and the extension does this well.. and so covers a lot of the bluk.

One thing I do want to look into is the 'forge' to see what I would need to do to support combining, but this again could get very complex to support and I've not used it at all, so no idea how 'powerfull' the tool is etc..

-pete

seanny
November 7th, 2020, 11:05
Can I add a condition to the damage line where the damage only occurs on a critical?
Like a weapon with the Vicious Quality they do an extra 7 hps damage with a critical hit (maybe i could have 2d6 in dice box).

Is this possible with the Weapon damage Extension ,I have just bought it and am trying to learn how to use it.
If so what do I type in the DAMAGE TYPE line?

Could you give me an example of Effect(condition).

Another Question,can i apply an effect to an enemy target like ongoing damage(DMGO) or do i need to do this by dragging such an effect onto the target in the combat tracker?

bratch9
November 7th, 2020, 13:15
Can I add a condition to the damage line where the damage only occurs on a critical?
Like a weapon with the Vicious Quality they do an extra 7 hps damage with a critical hit (maybe i could have 2d6 in dice box).

Is this possible with the Weapon damage Extension ,I have just bought it and am trying to learn how to use it.
If so what do I type in the DAMAGE TYPE line?

Could you give me an example of Effect(condition).

Another Question,can i apply an effect to an enemy target like ongoing damage(DMGO) or do i need to do this by dragging such an effect onto the target in the combat tracker?


Hi,

As of this time, you can not apply critical damage in the advanced weapons. ( But this 'should' not be hard to add... so will consider it when I get some time. )

Effect(condition), looks down target effects list for this as part of the active effects list. ( See attached, and have a look at 'Hew (effect)', which is configured to use an effect check in the damage line, and has a 'power' action line you can drag onto targets to mark with the matching effect... its dont this way with 'hew' because not all creatures are marked as 'plant' or 'wood', so you need some way for you/or dm to mark those as taking max damage etc.. )

( in the attached I check for 'blinded', and you can see it only applies to the required bear target. )

The system can not add 'effect lines' to targets, so you have to do that by hand on the combat tracker.

-pete

seanny
November 7th, 2020, 23:08
I sorta worked out how the effect condition worked ,I created an effect called GREEN TROOPS and dragged it to a few enemies and had one of my created magic weapons use this in the damage line, it did work the GREEN TROOPS took the extra damage. I did this before I read your post.
I will look closer at your included picture and also back to the module and the Hew effect, I did notice it but did not look initially .The dragged effect if I can get it happening could be interesting.

I have already had a bit of fun with the extension, the type for example works easily ,I have yet to try size or alignment but I assume i can. These alone gives a lot of possibilitys to magic weapons.

I will play with the extension some more ,I like having some nifty features in magic weapons.

I really would like the 'critical' could be added ,it just gives so many more options, especially if I modify crit range elsewhere. Thanks ,I hope you can make this change.

bratch9
November 8th, 2020, 17:21
I sorta worked out how the effect condition worked ,I created an effect called GREEN TROOPS and dragged it to a few enemies and had one of my created magic weapons use this in the damage line, it did work the GREEN TROOPS took the extra damage. I did this before I read your post.
I will look closer at your included picture and also back to the module and the Hew effect, I did notice it but did not look initially .The dragged effect if I can get it happening could be interesting.

I have already had a bit of fun with the extension, the type for example works easily ,I have yet to try size or alignment but I assume i can. These alone gives a lot of possibilitys to magic weapons.

I will play with the extension some more ,I like having some nifty features in magic weapons.

I really would like the 'critical' could be added ,it just gives so many more options, especially if I modify crit range elsewhere. Thanks ,I hope you can make this change.

updated v1.3 to process 'critical' on the damage lines now, and also can be configured in the weapon damage description.

See 'weapon.png' for an example of a vicious version of lightbringer, and 'vicious.png' for how this ends up as a weapon once dragged onto the character sheet.

( You can obviously hand edit the lines on the character sheet to add features, but I suggest your DM make custom weapon items to give out, to save players time as it is then configured as the DM wants for the player !! )

-pete

seanny
November 8th, 2020, 22:57
Cool thanks for the new critical feature ,tried it out just on the weapon damage line ,works great.
Nice update.

seanny
November 9th, 2020, 00:09
I made some Homebrew nested random rollable tables to try out some of the features in order to make some random Unique Magic Weapons. It works really well, not quite drag and drop results from chat to damage lines but close. Then I only need to manually choose the damage dice associated with each damage line.

I have a picture here,
with 1 sample output from my homebrew table to chat.

Thanks for your awesome extension ,without it I could not of made all of these tables and magic weapon combinations.




(Having trouble uploading my picture.)https://imgur.com/gallery/qQZhIu8

bratch9
November 9th, 2020, 11:45
I made some Homebrew nested random rollable tables to try out some of the features in order to make some random Unique Magic Weapons. It works really well, not quite drag and drop results from chat to damage lines but close. Then I only need to manually choose the damage dice associated with each damage line.

I have a picture here,
with 1 sample output from my homebrew table to chat.

Thanks for your awesome extension ,without it I could not of made all of these tables and magic weapon combinations.




(Having trouble uploading my picture.)https://imgur.com/gallery/qQZhIu8

looks interesting, not sure on the critical range number as the extension does not manage this. ( The character sheet meta controls this, but not on a per weapon basis.. )

I've not looked at tables and 'output', so I'm not sure if it is possible to combine nested tables in such a way that you could have it dump out say the weapon description damage line, or even an actual weapon item... ( Something for me to add to my 'look into' list.. )

-pete

seanny
November 9th, 2020, 23:00
Yeas I do not put the crit range number in damage line,but i wanted all of these special qualities in 1 table and it does work well.It is fun to just to roll on it.

seanny
November 18th, 2020, 02:12
New question.

Been experimenting with the align feature.

If I put align(chaotic neutral) in damage line ,it all works good and the creature with this alignment takes the extra damage.
If However I put align(neutral) in damage line ,the neutral creature does not take the extra damage. Is 'neutral' by itself not enough (because 'evil' in comparison works alone)?

bratch9
November 18th, 2020, 10:21
New question.

Been experimenting with the align feature.

If I put align(chaotic neutral) in damage line ,it all works good and the creature with this alignment takes the extra damage.
If However I put align(neutral) in damage line ,the neutral creature does not take the extra damage. Is 'neutral' by itself not enough (because 'evil' in comparison works alone)?

Hi,

Have a look at, https://www.fantasygrounds.com/wiki/index.php/5E_Effects

This lists all the effects systems items, that the extension calls into.

-Pete


5e Conditional Operators

[alignment] = LG, LN, LE, NG, NE, CG, CN, CE, lawful, lawful good, lawful neutral, lawful evil, neutral good, neutral evil, chaotic, chaotic good, chaotic neutral, chaotic evil, good, evil
[size] = T, S, M, L, H, G, tiny, small, medium, large, huge, gargantuan
[type] = aberration, beast, celestial, construct, dragon, elemental, fey, fiend, giant, humanoid, monstrosity, ooze, plant, undead, aarakocra, bullywug, demon, devil, dragonborn, dwarf, elf, gith, gnoll, gnome, goblinoid, grimlock, halfling, human, kenku, kuo-toa, kobold, lizardfolk, living construct, merfolk, orc, quaggoth, sahuagin, shapechanger, thri-kreen, titan, troglodyte, yuan-ti, yugoloth
* = Multiple entries of this descriptor type allowed.

Weissrolf
November 18th, 2020, 15:53
Could this be used in PF2 to add weapon damage properties for custom effect tags (acting as conditionals)? Like a Ranger's hunt prey effect on an enemy triggering the extra damage die?

bratch9
November 19th, 2020, 10:45
Could this be used in PF2 to add weapon damage properties for custom effect tags (acting as conditionals)? Like a Ranger's hunt prey effect on an enemy triggering the extra damage die?

While i dont know the pf2 rules, the 5e weapon damage can check for an effect lines... so in 5e you can have a 'power' you can drag onto the combat tracker to add say effect 'bob-prey' ( so you can have multiple characters with the prey option.. ) and then a damage line in your weapon to apply only on 'effect(bob-prey)' configured to the extra dice... ( This 'should' work in 5e with awd extension. )

I had a look at the pf2 ruleset, and it looks to have some of the items needed to allow awd extension to work on pf2 ( and 3.5e, pf1, and by the looks sf ), but I'm not sure how long it would take to 'adjust' and 'verify' for other rulesets.

As you can imagine its not a simple extension and touches a lot of the weapon item,character action and damage roll calculation code, all of these tend to have per ruleset differences.

So its possible, yes... I'll add it to my look at list, as i only did a very quick look.. but i have no idea if/when/how long it might take..

Weissrolf
November 19th, 2020, 14:20
Thanks, that's exactly what we would need. Currently our ranger uses two entries for normal and hunted prey (or has to drag the dice and right-click to add another one). More automation = less stumbling over mechanics.

Would your extension be able to handle Flurry of Blows, where a PC rolls two attacks and adds them together for resistance calculations if both hit, else normal single attack damage is rolled?

Hit+Hit = add damage together before applying resistance, crits double for each roll separately
Hit+Miss / Miss+Hit = apply normal damage

seanny
November 20th, 2020, 01:37
Thanks for your reply. I am having a good look at the effects page. Looks ike fun, understanding it a bit more now ,it was daunting at first.

One other question, your Spell damage extension ,can i add similar effects to the weapon damage extension in the spell extension damage lines ,or is it purely for casting spells at higher levels(and thus more damage dice)?

Ascalon
January 6th, 2021, 14:21
I encountered a bug a few weeks back that I posted here in the house of healing. After a few tests I found out that the bug is connected to this modification. which would be perfect if not for this issue:

Damage Type changes to untyped when dragged onto character.

So my Party loves to roll their own saving throws when being attacked. I saw a tutorial video a while ago that you can just roll the damage in the chat window and then apply the damage via drag and drop. As you can see in the screensho I attached, the fire damage our Tiefling-Lady made changes to "untyped", so the dwarves' Ring Of Fire Resistance does not half the damage.

42635

bratch9
January 6th, 2021, 17:06
I encountered a bug a few weeks back that I posted here in the house of healing. After a few tests I found out that the bug is connected to this modification. which would be perfect if not for this issue:

Damage Type changes to untyped when dragged onto character.

So my Party loves to roll their own saving throws when being attacked. I saw a tutorial video a while ago that you can just roll the damage in the chat window and then apply the damage via drag and drop. As you can see in the screensho I attached, the fire damage our Tiefling-Lady made changes to "untyped", so the dwarves' Ring Of Fire Resistance does not half the damage.

42635

I'll take a look, not sure when..

-pete

Ascalon
January 6th, 2021, 17:35
No sweat. We do not meet before tuesday, so you got plenty of time. :)

bratch9
January 6th, 2021, 20:20
No sweat. We do not meet before tuesday, so you got plenty of time. :)

Hi Ascalon,

Would you like to try the new version v1.5, this should resolve your issue.

Let me know if you find anything else.

-pete

Ascalon
January 6th, 2021, 21:01
So awesome, that did it! I'll keep my eyes open. Thanks, mate!

bratch9
January 20th, 2021, 23:13
Letting people who requested other ruleset support, some of this has been added at a provisional level. ( See top of thread for details.. )

Support for rulesets, 3.5E, PFRPG, PFRPG2 at a basic level has been added to v1.6

Thanks, Pete

Sawvl
January 30th, 2021, 22:12
Hi, is there a code you have for exploding damage dice? I keep finding this thread linked while searching for some information, but I can't seem to find it. I'm trying to find something for a one off magic item that I can make/code in 5e. Thanks!

bratch9
January 31st, 2021, 16:51
Hi, is there a code you have for exploding damage dice? I keep finding this thread linked while searching for some information, but I can't seem to find it. I'm trying to find something for a one off magic item that I can make/code in 5e. Thanks!

The quick answer is NO, i dont change how FG calculates dice rolls.. I process the like of the effect 'IFT' command on the damage line to enable/disable a damage line in the weapon.

You could express what you want the magic weapon to do, and I'll probably not want to implement it, but I might be able to tell you if it would be a royal pain to do or possible..

-pete

Ascalon
February 5th, 2021, 18:02
Damage Type changes to untyped when dragged onto character.

So my Party loves to roll their own saving throws when being attacked. I saw a tutorial video a while ago that you can just roll the damage in the chat window and then apply the damage via drag and drop. As you can see in the screensho I attached, the fire damage our Tiefling-Lady made changes to "untyped", so the dwarves' Ring Of Fire Resistance does not half the damage.

I encountered the same problem when adding the DMGO Effect to a creature.

Sawvl
February 5th, 2021, 18:25
The quick answer is NO, i dont change how FG calculates dice rolls.. I process the like of the effect 'IFT' command on the damage line to enable/disable a damage line in the weapon.

You could express what you want the magic weapon to do, and I'll probably not want to implement it, but I might be able to tell you if it would be a royal pain to do or possible..

-pete

All I wanted was for the weapon to reroll a 1 once and explode on a 4. It's a dagger, rolling the typical 1d4. I know I can add the reroll coding in to the weapon, and I know that typing into the chat "/roll 1d4e" will roll a die that explodes on a 4, but it isn't as neat as having it on the weapon itself. I've read that the exploding dice aren't coded into the rule set, so I think I'm just stuck with them rolling their attack off their sheet and then hot keying the damage roll.

bratch9
February 5th, 2021, 23:11
I encountered the same problem when adding the DMGO Effect to a creature.

My extension has nothing to do with the effect side, like DMGO...

But if you drop in a screen shot showing the effect line on the character/combat tracker, and it in chat and showing the untyped damage...

If you can show this with and without my extension to confirm its caused only when my extension is installed, then I will look to fix it..

If its the same without my extension, then also post the information and I'll take a look in the ruleset and report it as a bug is I can see the issue in the code.

-pete

bratch9
February 5th, 2021, 23:14
All I wanted was for the weapon to reroll a 1 once and explode on a 4. It's a dagger, rolling the typical 1d4. I know I can add the reroll coding in to the weapon, and I know that typing into the chat "/roll 1d4e" will roll a die that explodes on a 4, but it isn't as neat as having it on the weapon itself. I've read that the exploding dice aren't coded into the rule set, so I think I'm just stuck with them rolling their attack off their sheet and then hot keying the damage roll.

I've made a not in my todo list to have a look to see how and when these things happen in the roll process. If I can 'influence' them, then I'll look to see if I can add some extra tokens like 'explode' and 'reroll1' so they can be added onto the weapon description/weapon meta on character sheet along with the damage type etc.. But this might not be possible, it does depend on how the ruleset is coded..

-pete

Sawvl
February 6th, 2021, 02:48
Awesome! I appreciate that! Thanks!

bratch9
February 6th, 2021, 13:28
Awesome! I appreciate that! Thanks!

I had a quick look and '/roll 1d4e' works at corerpg ruleset level, so it might be part of the lowest level support.... I'll take a look to see if we can just change the dice string in a damage roll to include and 'e' to cause it to explode.. but it might be more complex than that..

on the 'reroll' you can add this to the properties of a weapon, next to the versatile etc.. while this should reroll all dice from the weapon, this might be 'blockable' on a per weapon line of damage.

at the moment, you might have seen me doing spell token extension updates, I have some more bits to do on that extension, so not sure when i'll get chance to look further.

-pete

bratch9
February 12th, 2021, 21:33
Awesome! I appreciate that! Thanks!

Added reroll support into weapon damage line parse into a character weapon line. This allows for 'reroll' in properties and also per damage line different levels of reroll. ( See reroll.png )

Obviously this is ruleset 5E only, and you can not use any spaces between the reroll and the number, ie 'reroll3'

I've also taken a look at the exploding dice, and this is only available in FGU, and from what I can see it can not be generated in the lua extension code. ( Seems it goes off to some magic internal function.. )

[ Also I dont know a way to reroll on an exploding dice, as your request seems to suggest '/roll 1d4e reroll 1' type, how do you macro the exploding roll and reroll 1 support ? ]

-pete


EDIT::

If you are reroll 1 on a 1d4 explode, so on a 4 it will roll again, so result 1-3, could this not just be coded as '1d3 reroll1' in the weapon ? ( See dagger.png)

razzed1
February 15th, 2021, 07:02
I like this extension, but it conflicts with Automatic critical to apply max damage to either of the damage rolls. Is there any way I can set this up or maybe you can integrate it?

bratch9
February 15th, 2021, 10:51
I like this extension, but it conflicts with Automatic critical to apply max damage to either of the damage rolls. Is there any way I can set this up or maybe you can integrate it?

Hi,

Can you give me some images, and expand on your issue.

I've just done a bunch of testing with this and my extension and it all some fine, it auto critical if with 5 feet as expected, and rolls the required dice.. it even does max if you use the modifiers window to add max..

So not sure what your issue is, can you give further information ? ( maybe attach a campaign zip set up with both extensions and a character with combat tracker setup, so I can simple reproduce your issue ? )

-pete

razzed1
February 15th, 2021, 18:20
Sorry, it was actually with Theogeek's Improved critical that is the issue.

43745
This is my Improved critical setup

Roll and Text with Improved Critical Extension on:
43746
43747

Roll and Text with both Improved Critical and Advanced Weapon extensions on:
43748
43749

If you need anything else, let me know. I tested this with ONLY these two extensions. I can send the campaign folder if you need it.
I understand that you are not responsible to make your extensions work with other people's. I am just hoping as I like to use them both.

Thanks!

bratch9
February 15th, 2021, 21:30
Sorry, it was actually with Theogeek's Improved critical that is the issue.

43745
This is my Improved critical setup

Roll and Text with Improved Critical Extension on:
43746
43747

Roll and Text with both Improved Critical and Advanced Weapon extensions on:
43748
43749

If you need anything else, let me know. I tested this with ONLY these two extensions. I can send the campaign folder if you need it.
I understand that you are not responsible to make your extensions work with other people's. I am just hoping as I like to use them both.

Thanks!

Thanks, thats probably why I could not find anything..

I was talking with theo a few days ago, and thought it was this extension, but it was his nat20..

But I'll double check it tomorrow ( if I get time ), with his v3.0 nat20 and his v5.0 improved critical

Also if you have a campaign setup with just the 2 extensions and weapons, then that would help, so i can test under the same conditions.. as I'm not familiar with theo's extension so might configure it in a way that i think is working but different to the one you have..


-pete

razzed1
February 15th, 2021, 23:27
I can send you the campaign folder. It has only Advanced Weapon Damage and Theogeek's critical damage extensions active.
What is your email? Or am I missing how to send it on here?

bratch9
February 16th, 2021, 10:07
Just attach it to the thread as a zip, it should be small so will be ok..


(use the 'go advanced' button, and then below you will have an upload files option. )

-pete

razzed1
February 17th, 2021, 07:32
Attached as .zip

bratch9
February 17th, 2021, 10:34
Attached as .zip

Hi,

Thanks for the upload, I've bounced a fix with TheoGeek and he has released an update, and I've made a release for my extensions to support this custom fix. See attached image, which I extended one of your character weapons to do advanced weapon damage to specific type, dragon in this case, to show that normal and critical rolls are doing the correct thing for both extensions. My extension dealing the correct damage, and TheoGeeks doing the max of the non-critical dice rolls as required.

While this should fix everything, its possible some combinations of advanced weapon damage and different improved critical options might cause interactions and strange combinations.

If you have futher issues, please get back and provide and example and I can take a look to see if its a bug or just a 'odd' combo etc.

-pete

razzed1
February 17th, 2021, 16:12
Beautiful! Thank you!

SmackDaddy
February 17th, 2021, 23:18
After troubleshooting between yesterday and today with the extensions I have, I have found two extensions are causing an issue on the character sheets using the Feb 16th release of FGU. I also went to DMSGuild to be sure I have the latest versions of the extensions in question (went and got what was available about 15 mins ago - found it odd that the spell damage extension had single quotes in the name now). So, to replicate the errors, I launch FGU, make sure the extension(s) are loaded. I then open the Party and select a player's character sheet. I click on the "Actions" tab near the bottom right. When that tab opens, I get the following console errors:

[2/17/2021 1:11:46 PM] [ERROR] Script execution error: [string "5e/campaign/scripts/char_weapon.lua"]:243: attempt to index global 'ActorManager2' (a nil value)
[2/17/2021 1:11:46 PM] [ERROR] Script execution error: [string "scripts/manager_power_asd.lua"]:1935: attempt to index global 'ActorManager2' (a nil value)

The two extensions this happens with are the Advanced Spell Damage and Advanced Weapon Damage extensions. Both give an error when loaded.
43871

When they are not loaded, the page is formatted as it is below with damage info:
43870

When the Weapon Damage extension is loaded, the damage info is blank and the formatting is off as well:
43869

Please let me know if there's anything additional you need. I think i have identified the correct extensions, so hopefully I have correctly identified them....

BlazingAzureCrow
February 18th, 2021, 06:17
I'm having the above problems as well. I've narrowed it down specifically to the Advanced Weapons Extension ever since I updated yesterday. I believe I saw someone mention on the DMs Guild page that it might be because "ActorManager2" has been renamed, so perhaps that's the cause? Hoping for a fix before our group streams one of our games tomorrow.

bratch9
February 18th, 2021, 10:07
I'm having the above problems as well. I've narrowed it down specifically to the Advanced Weapons Extension ever since I updated yesterday. I believe I saw someone mention on the DMs Guild page that it might be because "ActorManager2" has been renamed, so perhaps that's the cause? Hoping for a fix before our group streams one of our games tomorrow.

Hi,

while you might think its a quick fix, the changed made to the ruleset extent to many thousands of lines of code over multiple hundreds of files and many changes in the damage sections. Its more than just a rename of one class the api for the new class has changes to parameters.

I would need to check over every part of my extension to make sure I'm happy that it does the correct changes and calculations.. this will not be a quick fix and I dont tend to do work on my extensions until the weekend due to work..

So sorry you are probably not getting a fix for your next session.. But I will see if I get some time to look at it before then.

-pete

BlazingAzureCrow
February 18th, 2021, 10:14
Hi,

while you might think its a quick fix, the changed made to the ruleset extent to many thousands of lines of code over multiple hundreds of files and many changes in the damage sections. Its more than just a rename of one class the api for the new class has changes to parameters.

I would need to check over every part of my extension to make sure I'm happy that it does the correct changes and calculations.. this will not be a quick fix and I dont tend to do work on my extensions until the weekend due to work..

So sorry you are probably not getting a fix for your next session.. But I will see if I get some time to look at it before then.

-pete

Oh I'm sorry, I didn't mean to imply anything should be rushed! I was just being hopeful mostly. I absolutely understand it taking all the time in the world. Thank you for your effort both in creating and maintaining the extension! Our show considers it invaluable to keeping things running along smoothly.

bratch9
February 18th, 2021, 12:00
Oh I'm sorry, I didn't mean to imply anything should be rushed! I was just being hopeful mostly. I absolutely understand it taking all the time in the world. Thank you for your effort both in creating and maintaining the extension! Our show considers it invaluable to keeping things running along smoothly.

Its not an issue, I did not take it as you implying you wanted it fixed for the session... just that it would be nice if it was...

'our show' ? does this have a page/youtube I can take a look at, to see how you are using this extension and other etc..

-pete

BlazingAzureCrow
February 18th, 2021, 12:09
Oh, certainly! Our Twitch URL is http://www.twitch.tv/Nat19Official and the channel where we back up our content publicly is http://www.youtube.com/LetThemPlayGames, which includes game playlists and highlight videos as well. Our main game is Vestige of Ophiuchus, an original setting DM'd by Logan Laidlaw (that's me~!) currently going on it's 55th session, which is at 1 PM PST every Saturday, and on Thursdays at 5 PM PST we have other games we stream (currently. We're actually starting up a Princes of the Apocalypse campaign today, continuing off an old one. Every *other* Thursday we're starting a Devil May Cry based game. This month is actually a huge reset for our Thursday timeslots. We've been streaming regularly every week for several years. We've got a myriad of other campaigns from that time, but they're mostly not relevant to your interest in seeing your extension used.

For context in regards to your extension, we've been using it ever since the advanced weapon damage extension ever since the weapon handling extension broke and we wanted to replace it. Since then, it's one of many extensions we use for quality of life purposes. Recent additions like the rerollX functions and such have been very very helpful, and since we have a lot of custom content in our Saturday game (enough that it'll be getting a campaign guide soon) features like the powers option feel particularly inspired.

Which is all a long way to say, thank you very much for your work and effort. We pour a lot of capital and love into the show, and your extension is one of the key elements that helps us focus on the game and not FG. If you have any sort of donation link I'd actually be happy to have it.

bratch9
February 18th, 2021, 13:22
Oh, certainly! Our Twitch URL is http://www.twitch.tv/Nat19Official and the channel where we back up our content publicly is http://www.youtube.com/LetThemPlayGames, which includes game playlists and highlight videos as well. Our main game is Vestige of Ophiuchus, an original setting DM'd by Logan Laidlaw (that's me~!) currently going on it's 55th session, which is at 1 PM PST every Saturday, and on Thursdays at 5 PM PST we have other games we stream (currently. We're actually starting up a Princes of the Apocalypse campaign today, continuing off an old one. Every *other* Thursday we're starting a Devil May Cry based game. This month is actually a huge reset for our Thursday timeslots. We've been streaming regularly every week for several years. We've got a myriad of other campaigns from that time, but they're mostly not relevant to your interest in seeing your extension used.

For context in regards to your extension, we've been using it ever since the advanced weapon damage extension ever since the weapon handling extension broke and we wanted to replace it. Since then, it's one of many extensions we use for quality of life purposes. Recent additions like the rerollX functions and such have been very very helpful, and since we have a lot of custom content in our Saturday game (enough that it'll be getting a campaign guide soon) features like the powers option feel particularly inspired.

Which is all a long way to say, thank you very much for your work and effort. We pour a lot of capital and love into the show, and your extension is one of the key elements that helps us focus on the game and not FG. If you have any sort of donation link I'd actually be happy to have it.

Thanks for all the info, its always nice to see an extension been used..

I'll take a look at a few videos. if you have any 'weapon' designs that you want to share I'm always looking for example to add to the instructions module side..

Also do you know that Advanced Spell damage interacts with Advanced weapon damage... so spells that do damage lines can also have the weapon damage effects as well as the 'lvlN'. ( Well the should work... but not at the moment. )

-pete

SmackDaddy
February 18th, 2021, 14:28
Hi,

while you might think its a quick fix, the changed made to the ruleset extent to many thousands of lines of code over multiple hundreds of files and many changes in the damage sections. Its more than just a rename of one class the api for the new class has changes to parameters.

I would need to check over every part of my extension to make sure I'm happy that it does the correct changes and calculations.. this will not be a quick fix and I dont tend to do work on my extensions until the weekend due to work..

So sorry you are probably not getting a fix for your next session.. But I will see if I get some time to look at it before then.

-pete

Thank you for looking into it!

bratch9
February 18th, 2021, 19:54
Just to let people know, I've released an update for the FG rule set changes.

Let me know if you spot any issues, as I've not had much time to test it.

-pete

Ascalon
February 18th, 2021, 20:40
Sir, you are awesome.

SmackDaddy
February 18th, 2021, 21:04
Just to let people know, I've released an update for the FG rule set changes.

Let me know if you spot any issues, as I've not had much time to test it.

-pete

Thank you! Will the Spell Damage extension be getting similar modifications for the Feb 16th ruleset changes?

bratch9
February 18th, 2021, 22:05
Thank you! Will the Spell Damage extension be getting similar modifications for the Feb 16th ruleset changes?

already updated spell damage as well..

-pete

SmackDaddy
February 18th, 2021, 23:22
already updated spell damage as well..

-pete

Thank you! Much appreciated!

Seliathas
February 19th, 2021, 17:49
43956

Here is the picture that you asked from me in DM's Guild.
The new version did not fix this.

The idea again: If you drag the damage from the modifier box on to a character in CT the damage becomes 0 for some reason. negative numbers (healing) still works, but damage does not.

bratch9
February 19th, 2021, 18:55
43956

Here is the picture that you asked from me in DM's Guild.
The new version did not fix this.

The idea again: If you drag the damage from the modifier box on to a character in CT the damage becomes 0 for some reason. negative numbers (healing) still works, but damage does not.

I had no idea you could even do that...

I'll take a look, as I can reproduce this and its fine without my extension and as you say shows has zero with my extension.

( I was not clear, when you said mod box, I thought you were referring to the modifier window box, the one you can select 'critical' and 'max' etc.. on... and was not sure how you could roll dice/damage from it.. )

-pete

bratch9
February 19th, 2021, 20:13
43956

Here is the picture that you asked from me in DM's Guild.
The new version did not fix this.

The idea again: If you drag the damage from the modifier box on to a character in CT the damage becomes 0 for some reason. negative numbers (healing) still works, but damage does not.

posted a fixed version of the extension.

let me know if you have any other issues.

-pete

BaneTBC
March 4th, 2021, 00:47
@bratch9 I'm seeing some odd behavior with the current version of the Advanced Weapon Damage Extension. While it is still "working", it's rolling dice unnecessarily where it wasn't previously. For type instances, it rolls the damage regardless if the target is applicable or not, but then works it out in the end damage to being the correct amount. For instance, the Lightbringer mace from Lost Mines of Phandelver, it does 1d6 radiant damage if the target is undead. When I attack an undead, it does the correct 2d6 rolled and presents the damage correctly, but if I attack a dragon it still rolls the 2d6 shows the initial damage information and then puts another damage number afterwards that is the correct damage for the target (minus the radiant damage that an undead would have gotten). Previously, it did not roll the extra dice if the type wasn't matching. Is this something that might be able to be corrected? Just confuses my players when they suddenly think they have a big hit coming in and then go "pooey" when it's alot less (also for the manual rollers, they are prompted to roll the additional dice on every hit [say the Dragon Slayer Longsword from LMoP where it does an extra 3d6 to dragons, they are being prompted to roll those for undead]).

You can see this in action in the attached jpg.

bratch9
March 4th, 2021, 13:44
@bratch9 I'm seeing some odd behavior with the current version of the Advanced Weapon Damage Extension. While it is still "working", it's rolling dice unnecessarily where it wasn't previously. For type instances, it rolls the damage regardless if the target is applicable or not, but then works it out in the end damage to being the correct amount. For instance, the Lightbringer mace from Lost Mines of Phandelver, it does 1d6 radiant damage if the target is undead. When I attack an undead, it does the correct 2d6 rolled and presents the damage correctly, but if I attack a dragon it still rolls the 2d6 shows the initial damage information and then puts another damage number afterwards that is the correct damage for the target (minus the radiant damage that an undead would have gotten). Previously, it did not roll the extra dice if the type wasn't matching. Is this something that might be able to be corrected? Just confuses my players when they suddenly think they have a big hit coming in and then go "pooey" when it's alot less (also for the manual rollers, they are prompted to roll the additional dice on every hit [say the Dragon Slayer Longsword from LMoP where it does an extra 3d6 to dragons, they are being prompted to roll those for undead]).

You can see this in action in the attached jpg.

Its always rolled all the dice, it does this because you could have multiple targets selected and they have different requirements and weapons roll one set of dice for multiple targets against one group attack roll. ( Yes I know a lot of weapons only hit one target.. )

The system has always shown the full total dice group roll and then 'advance weapon damage' the per target specific damage. ( Which then flows into extra dice due to effects that might be active between source/target etc.. )

And because of this, manual roll entry needs to enter all the required dice.

BaneTBC
March 4th, 2021, 15:14
Thanks, guess I'm confused as I would have sworn it only rolled the extra on applicable targets. Maybe I'm screwing up my extensions.

BaneTBC
March 4th, 2021, 21:34
By the way, not to clog up the topic, but really appreciate the extension and how I can use it to make my and my players lives easier :)

metaldm007
May 13th, 2021, 04:39
Going back through the thread and the critical dice don't seem to work properly; even when it doesn't crit, the crit dice still apply.

bratch9
May 13th, 2021, 10:29
Going back through the thread and the critical dice don't seem to work properly; even when it doesn't crit, the crit dice still apply.

I'm not sure what your issue is from the posted image.

The extension will 'roll' every dice it needs for the roll, and then when applied to a target the 'corrected' value is applied. ( I dont see you apply any damage in the image, just an non-target roll. )

46571

See the attached example of a 'shortsword' that I have added a '1d8 slashing,critical' extra line of damage.

The first line shows d6+d8+3 = 3+1+3 = 7, this is the total roll result. No damage has been applied to a target.

The second line shows an 'Advanced Weapon Damage' with just the d6+3=3+3=6 box because this was not a critical roll.

The third line shows the 'Damage [6] -> cat', which is the correct damage from this total roll from the first line when 'applied' for the cat as a non-critical roll.

I've then added a forced critical roll...

The forth line shows a d6+d8+g6+3=1+4+5+3=13, which you can see the '1d8 critcal' dice was not 'double rolled' but the d6 is correctly double rolled (g6).

The 5th line shows the total 'damage[13]->cat'.

If you have a specific case I'm happy to take a look, but I will need to see a roll and it applied to a target.

NOTE: the extension will roll every dice is needs because at the 'roll' point it does not know what the target is. If you dont have a target you get the first line, you can that drag that box from chat to CT/map to apply to a target at which point it will do as my targeted example shows and calculate which sections of the damage line apply. If you get an 'advanced weapon damage' line this is because 'some' of the lines were not applied and you get a report of the dice it is going to apply. ( Hence line 2, but no such report line for the critical attack because all lines were applied to the cat. )

Leprekorn
September 14th, 2021, 11:30
Just wondered if you are aware of any conflicts with other exts. When I run the ext in a clean campaign with just this ext running its working fine, when I use it in another campaign in which I use a lot of exts it is adding both damages together (both campaigns I used hew with the same character).

bratch9
September 14th, 2021, 12:22
Just wondered if you are aware of any conflicts with other exts. When I run the ext in a clean campaign with just this ext running its working fine, when I use it in another campaign in which I use a lot of exts it is adding both damages together (both campaigns I used hew with the same character).

Thats a new one to me, You will have to try and work out which extension it is conflicting with. I can not own and check every possible extension conflict. But I do try and fix them when they are detected and reported.

If you could try a binary chop of extensions, ie copy the campaign and then turn off half the extensions.. if it still has the issues then repeat until you find which extension conflicts.

Sorry I can not help you reduce the number, but I have no idea which extensions you are using, so I just can not help without know which conflicts for you. Its normally reasonable to fix and get them working together. ( most of the time. )

Just because I dont know of any at the moment, I do have patches for a few, and they might have made changes that break those patches. But it does require a user to report and narrow it down.

You might have multiple extension that cause issues. They are a pain because of how the ruleset defines the character sheet, so a lot of extensions end up changing the 'powers' page which has the spell and weapon buttons. So it happens a bunch to get conflicts.

Let me know if you find which one it is, I'll then try and get hold of it and replicate the issue and update to between the extensions who ends up fixing it. ( Sometimes the fix ends up in the other extension and not mine. )

Thanks, Pete

Leprekorn
September 14th, 2021, 12:35
No problem I will report back.

bratch9
September 14th, 2021, 13:36
No problem I will report back.

Just a quick note....

Have you checked if it is applying multiple damages to the target ? ( Or just listing it in the chat ? )

Advanced weapon damage will list the 'full' dice roll and then a listing for what was applied to the creature.

So if you have a weapon, '1d6' with a second damage line '1d6 type(giant)',

When you roll, you will get a chat line for,

1. Advanced Weapon Damage 1d6 + 1d6 = roll total...

2. (for a non giant ) It will then list a 'Damage 1d6', with the 'wolf damage (1d6=3)' type line in chat.. and 3 damage applied to the wolf...

3. if you had multiple targets and the other was a giant, you would also get the lines for 'giant 1d6+1d6=7', 'giant takes (7) damage' with the resistances etc..

This might be the case you are seeing if you are new to the extension, or it could be a real double damage application.

See awd.jpg attached for a 'type(giant)' damage, with 11 damage going to the non-giant, and the full 17 damage going to the giant.

Leprekorn
September 14th, 2021, 13:40
It's Def the combined damage of the max and non max rolls.

Leprekorn
September 14th, 2021, 15:28
Its something to do with constitutional Amendments ext. I used hew against a plant creature and it calculated the damage max + dice roll when CA was active but not when it wasn't.

Leprekorn
September 14th, 2021, 15:43
Is there a conflict with max?
I tested in a new campaign with just CA and AWDE and SRD loaded ragged both lightbringer and hew item into the actions tab from the AWDE mod. Added a plant based creature and undead to the CT, tried lightbringer against the undead worked properly, tried lightbringer vs plant creature worked properly. Tried Hew against plant creature combined the max and the rolled damage worked incorrectly. Tried hew against the undead worked properly only applying the normal damage not maxed. Added type plant to the undead tried hew again worked incorrectly combining the max and the normal damage. I think it has something to do with the max damage trait.

bratch9
September 15th, 2021, 10:42
Is there a conflict with max?
I tested in a new campaign with just CA and AWDE and SRD loaded ragged both lightbringer and hew item into the actions tab from the AWDE mod. Added a plant based creature and undead to the CT, tried lightbringer against the undead worked properly, tried lightbringer vs plant creature worked properly. Tried Hew against plant creature combined the max and the rolled damage worked incorrectly. Tried hew against the undead worked properly only applying the normal damage not maxed. Added type plant to the undead tried hew again worked incorrectly combining the max and the normal damage. I think it has something to do with the max damage trait.

I was thinking this one, we have had 'issues' with conflicts in the past. Most were sorted out.

It sounds like we both use 'max' for different things. I AWD 'max' forces that line dice rolls to the 'max' value for the dice. While CA I think calculates a total max against a creature.

Which version of CA are you using ? ( Is it on the free forums, forge or dmsguild... I dont remember.. I was free if I recall. )

Leprekorn
September 15th, 2021, 10:44
Forge

bratch9
September 15th, 2021, 10:49
Ive grabbed the forge version, My guess is they way the word 'max' is been used.. I'll take a look but I'm doing spell tokens code today.

Have you reported it on CA forum side ?

Leprekorn
September 15th, 2021, 11:01
Yes I did, but they don't own your extension so can't work on it. Maybe you could send them a copy?. BTW I am running 2.0.4 version of their ext and 2.1 version of advanced weapon damage.

bratch9
September 15th, 2021, 11:06
Yes I did, but they don't own your extension so can't work on it. Maybe you could send them a copy?. BTW I am running 2.0.4 version of their ext and 2.1 version of advanced weapon damage.

I had a quick look, and I dont see a solution.

Basically they have a 'max' damage type which is the same as my 'max' damage type. So both will get processed. My extension will see CA max on the damage line as AWD max on the damage line, but both are different things.

One extension would have to use a different name to resolve the conflict. I did not check for code conflicts but had a quick look at the use of 'max' in CA. So this was a quick glance at the code.

Leprekorn
September 15th, 2021, 11:12
Ok I hope a solution can be found as both are very useful in there own way and had I realised the conflict was there I wouldn't have purchased from DmsG.

bratch9
September 15th, 2021, 12:08
Ok I hope a solution can be found as both are very useful in there own way and had I realised the conflict was there I wouldn't have purchased from DmsG.

Depending on the time you purchased AWD, you could always refund it.

But do not be upset with my extension, CA is at fault for this one.

FG uses 'max' at a specific roll point to increase the values on the dice to the max value for the dice type. AWD uses that same point to do the same thing on a per line bases. They work together without conflict because AWD follows the FG specification for what 'max' is designed to do. ( attached max.jpg, shown in a spell token campaign because i'm only showing the modifier max in FG )

CA goes off and conflates what 'max' does in FG, they have the issue. And should not be using the term 'max' or change the [MAX] specification of FG. Because they are not processing 'max' as changing the dice roll value early to max value, they are using it to damage the max health of a create. ( if I recall the usage. )

CA is in conflict with FG, they probably have to 'fudge' the ruleset code to make what they want to work. It is up to the CA team to sort this conflict out, as they are breaking FG specification. ( Not AWD )

Leprekorn
September 15th, 2021, 12:31
I've linked the creator to your post

bratch9
September 15th, 2021, 14:10
I've linked the creator to your post

So looked at AWD, I use 'maxdice', so maybe CA is just spotting 'maxdice' as 'max' depending on how they are doing the match ?

I'll take a better look with some test cases in a campaign at some point, as just quick looks at code I have not updated for a while and my memory of these things. So not 100% sure on the exact interactions of what is going off with this.

Leprekorn
September 15th, 2021, 14:24
Thanks I appreciate it.

MeAndUnique
September 15th, 2021, 20:43
Depending on the time you purchased AWD, you could always refund it.

But do not be upset with my extension, CA is at fault for this one.

FG uses 'max' at a specific roll point to increase the values on the dice to the max value for the dice type. AWD uses that same point to do the same thing on a per line bases. They work together without conflict because AWD follows the FG specification for what 'max' is designed to do. ( attached max.jpg, shown in a spell token campaign because i'm only showing the modifier max in FG )

CA goes off and conflates what 'max' does in FG, they have the issue. And should not be using the term 'max' or change the [MAX] specification of FG. Because they are not processing 'max' as changing the dice roll value early to max value, they are using it to damage the max health of a create. ( if I recall the usage. )

CA is in conflict with FG, they probably have to 'fudge' the ruleset code to make what they want to work. It is up to the CA team to sort this conflict out, as they are breaking FG specification. ( Not AWD )

Max, as a modifier, is indeed built in to FG. As a damage type though, it is very much so not. And CA does in fact succeed at accomplishing one of its core competencies; it is not completely failing to function when loaded on its own within the 5e ruleset. Further, I have taken great pains to ensure that not a single line of ruleset code is excluded nor function duplicated when handling the "max" damage type; CA is a strict addition of functionality in this regard. Lastly, CA does not experience any difficulties when used in conjunction with a fairly substantial number of other extensions; the only other conflicts occur occasionally when interacting with two Wild Shape extensions, as a completely separate pool of health and potential replacement of ability scores is involved.

MeAndUnique
September 15th, 2021, 20:44
So looked at AWD, I use 'maxdice', so maybe CA is just spotting 'maxdice' as 'max' depending on how they are doing the match ?

I'll take a better look with some test cases in a campaign at some point, as just quick looks at code I have not updated for a while and my memory of these things. So not 100% sure on the exact interactions of what is going off with this.

I have verified that when using CA by itself in a campaign it does not conflate "maxdice" with "max".

bratch9
September 15th, 2021, 20:58
Thanks I appreciate it.

So I've looked into this some more, and its the same issue I had with the extension a long time ago.

Basically they 'store' an early version of the 'decodeDamageText' results in a local variable 'decodeResult' near the start of the damage process. This then 'holds' the pre-AWD values or any modifications for the damage stack that happen between then and the 'apply damage' section. Which they then pull back and use later in the damage process when they display the 'messagedamage' function.

So the issue is the CA extension is 'trying to avoid' doing a bunch of extra decode of damage type stuff and holding onto incorrect values that could change in the damage function call process. Causing the incorrect results to end up at the damage point.

See attached 'values.jpg', in the green box I have shown the results of AWD on its own. You can see the initial dice #13 get changed into the #4 result and been used correctly and passed to the 'messageDamage' function.

In the 'red' box with both extensions, you can see the #13 dice values been passed into the AWD side and reduced to the correct #4 values, which suddenly 'becomes #13' for the 'call messageDamage' because during the 'applyDamage' from the 5e ruleset it has to call the 'decodeDamageText' and this is when CA 'magic replaces' the damage line with the one they 'stole' at the start of the damage roll process. Basically replacing the correct valid adjusted at the correct points in the damage process values created by AWD, with the non-processed 'stashed' out of date values from the start of the damage roll.

I reported this as a problem when they started the extension, it seriously invalidates the damage roll process and all the calling systems for modifications. I do not understand 'why' they store this early value and re-inject it later in the damage. But its a total mess that needs to be replaced, and I said this to them last year ( or even the year before then. )

CA is seriously breaking the damage roll process with using the stored old decoded values, this is why it breaks. Infact it would break any valid extension that changes values in the damage process stack using the damage modification stack function provided by FG.

The CA extension needs re-writing without this 'decodeResult' local stashed value. I'm sure they have a good reason, maybe it holds some values they they need later. But they should not re-inject it back at a later stage. They should process out of the old stored value the items they need, and merge that with the 'current' version the damage stack is using at the time they want to modify.


-pete

Leprekorn
September 15th, 2021, 21:24
Thanks botha for looking at this.

MeAndUnique
September 16th, 2021, 02:02
So I've looked into this some more, and its the same issue I had with the extension a long time ago.

Basically they 'store' an early version of the 'decodeDamageText' results in a local variable 'decodeResult' near the start of the damage process. This then 'holds' the pre-AWD values or any modifications for the damage stack that happen between then and the 'apply damage' section. Which they then pull back and use later in the damage process when they display the 'messagedamage' function.

So the issue is the CA extension is 'trying to avoid' doing a bunch of extra decode of damage type stuff and holding onto incorrect values that could change in the damage function call process. Causing the incorrect results to end up at the damage point.

See attached 'values.jpg', in the green box I have shown the results of AWD on its own. You can see the initial dice #13 get changed into the #4 result and been used correctly and passed to the 'messageDamage' function.

In the 'red' box with both extensions, you can see the #13 dice values been passed into the AWD side and reduced to the correct #4 values, which suddenly 'becomes #13' for the 'call messageDamage' because during the 'applyDamage' from the 5e ruleset it has to call the 'decodeDamageText' and this is when CA 'magic replaces' the damage line with the one they 'stole' at the start of the damage roll process. Basically replacing the correct valid adjusted at the correct points in the damage process values created by AWD, with the non-processed 'stashed' out of date values from the start of the damage roll.

I reported this as a problem when they started the extension, it seriously invalidates the damage roll process and all the calling systems for modifications. I do not understand 'why' they store this early value and re-inject it later in the damage. But its a total mess that needs to be replaced, and I said this to them last year ( or even the year before then. )

CA is seriously breaking the damage roll process with using the stored old decoded values, this is why it breaks. Infact it would break any valid extension that changes values in the damage process stack using the damage modification stack function provided by FG.

The CA extension needs re-writing without this 'decodeResult' local stashed value. I'm sure they have a good reason, maybe it holds some values they they need later. But they should not re-inject it back at a later stage. They should process out of the old stored value the items they need, and merge that with the 'current' version the damage stack is using at the time they want to modify.


-pete

While I can't speak much to the process of testing here given that it all exists behind closed doors, if one takes a look at the CA code it will be seen that indeed CA does hold on to the decode results from the ruleset. However, the assertion the old values are re-injected is simply inaccurate as there is no re-injection, merely inspection. The conclusion that CA breaks the damage modification stack is also, unfortunately, demonstrably false; when using CA alone with the 5e ruleset all CA damage types combine perfectly with all damage modifiers. I'd be happy to discuss in more detail the motivations for the use of a local variable for value inspection, though at a high level this is simply the best way to use the result of the decode calculations later in the ruleset damage application logic without overwriting, or re-inventing, ruleset logic. The alternatives would be highly likely to conflict, as "doing a bunch of extra decode of damage type stuff" drastically reduces compatibility with other extensions that are designed against the ruleset itself.

Sadly, I get the feeling given the flow of the conversation thus far that finding a solution is of secondary priority to assignment of fault. As such I will be backing out of this thread going forward, and earnestly await a favorable decision to seek a resolution for this conflict.

Leprekorn
September 16th, 2021, 08:24
@bratch9 I'm sure there is a way this could be resolved without so much finger pointing both of these extensions provide excellent functionality how can we move this forward?

bratch9
September 16th, 2021, 12:02
@bratch9 I'm sure there is a way this could be resolved without so much finger pointing both of these extensions provide excellent functionality how can we move this forward?

Not with the local variable, because they do back force it. Even if they think they do not.



function decodeDamageText(nDamage, sDamageDesc)
if not decodeResult then
decodeResult = decodeDamageTextOriginal(nDamage, sDamageDesc);
if string.match(sDamageDesc, "%[HEAL") and string.match(sDamageDesc, "%[MAX%]") then
decodeResult.sTypeOutput = "Maximum hit points";
end
end
return decodeResult;
end


Basically the 'local decodeResult' start off as 'nil', and so on the 'first' call to decodeDamageText, the 'if not decodeResult' will flow into the 'if' and capture the decodeDamageTextOriginal values. From this point on ANY call to 'decodeDamageText' used by the ruleset will return the original first decoded values held in 'decodeResult'. This includes the latter call to 'decodeDamageText' in the 'applyDamage' from the ruleset which is why my extensions modified values get overridden. Instead of correctly decoding the current on the fly values in the code flow, the ruleset if 'forced' to use the old stale value. ( Because decodeResult now has a value, it just skips over the decode and returns the old values when the ruleset code asks to re-decode the current values. )

Only when the 'applyDamage' ruleset function later calls the 'messageDamage' call is the decodeResult set back to nil and releases the held values. ( And waits for the next 'decodeDamageText', to store the values. )

Its clear from the image I provided that the CA 'stored' value is getting back into the results, and is why the correct values AWD generates get 'lost'. If this is not supposed to be the case, then its still a bug in CA.

Ive shown than my extension changes the values during the process, which it is allowed to do. I've shown that multiple calls to 'decodeDamageText' happens because CA captures it at the start and holds on to his until the message happens. Which happens in the 'applyDamage' after further 'decodeDamageText' call so the ruleset expects this structure to 'change' over time in the damage processing. ( Otherwise the ruleset would 'hold' the value as well, instead of multiple decodeDamageText calls. )

My extension does not hold onto the values, it can not 'magic' back the wrong values into the results. What you are seeing when the values do not return as expected is the net result of the 'stored' values in 'decodeResult' getting re-applied when the ruleset 'applyDamage' function later calls 'decodeDamageText' to process the 'Current' state, but in fact CA returns the old stored pre-decoded values. Which is how the wrong values gets re-injected back into the 'applyDamage' and the incorrect values end up as a result.

CA needs to remove the 'local decodeResult' and assume the structure been passed around into functions designed to change them, actually changes them, it can not and should not 'store' the values.

Clearly from the 'response' above, CA team does not 'expect' the values to get re-injected... they seem shocked that I'm telling that is the reason. So maybe they need to look into this 'bug'.

Its very clear in the 'red box' in the image I provided that when the CA extension is active the stored #13 decode results gets re-used in the later 'applyDamage' ruleset function. ( And you see it in game with the incorrect values been applied. ) As I've output the values at different stages of the damage function flow.

Finding a solution is why we are talking about this, the solution is to stop the bug that is re-injecting old values caused by the CA code.

I'm very willing to take on fault, when its in my extension, the fact the fault is in CA and they are not accepting the issue.

CA say 'assertion the old values are re-injected is simply inaccurate as there is no re-injection', but this is clearly shown to be happening in the images, and I've very clearly stated which parts of the CA code is causing this and how it happens.

I dont know how I'm getting painted as the 'bad guy', I'm going out of my way to debug an extension I do not own, I'm providing the feedback and reasons and how this issue is been caused.

This is not my bug, its an issue in CA.

Leprekorn
September 16th, 2021, 12:05
To be clear I'm not painting anyone as the bad guy. Inferring tone is very difficult online.

bratch9
September 16th, 2021, 13:34
To be clear I'm not painting anyone as the bad guy. Inferring tone is very difficult online.

I was not referring to you. ( But to CA,
Sadly, I get the feeling given the flow of the conversation thus far that finding a solution is of secondary priority to assignment of fault. , which imply they think its a bug in my code and its more important for me to blame them for the bug... But it is their bug, and yep I'm pointing the issue at them as their bug. )

If you take a look of this image with just CA loaded, you can see 2x calls to 'decodeDamageText'.

49158

This is a normal weapon roll, you get 2 calls to decodeDamageText. In this case 'nothing changed' between the early and later calls, and all the results match up.


-------------------------------------------------------------------------------

With CA and AWD, and an hew hit, the 2x decodeDamageText is clear.

49159


I've marked on the issues on the second call. In the early call that CA 'store' the #13 damage, the later call with the modified results of AWD shows that the function is called with a request for '#4' damage, and the dynamic decodeDamageText call shows the original ruleset decodeDamageText decoded results 'nVal=#4', because that is the value that is requested in the 'applyDamage' 5e function that calls the second decodeDamageText, with the values AWD passes in.

I've marked with the 'red box' the point CA returns the 'old stale' values from the first call, and this causes the 're-inject' of the old values back into 'applyDamage' and it then applies '#13' damage instead of the '#4' that is called for in the function.

I've attached the changes to the CA 'manager_action_damage_ca.lua' ( renamed txt to make it upload ), to show the shown outputs.

-------------------------------------------------------------------------------

I hope this makes it clear that CA is holding and re-injecting 'old out of date' decodeDamageText, and it is totally the fault of this that is causing the incorrect damage result you are seeing.

The ruleset calls the decodeDamageText twice, once in the early stages of the damage functions, then the 'modification' can be applied, then it calls it again in the 'applyDamage' function to resolve the requested damage. It is totally within the ruleset for AWD to 'change' the initial early values, with the more specific per-NPC before the call to 'applyDamage'.

The fact CA are 'holding' and 're-injecting' the old early values is not compliant with the ruleset. They should not hold this value, and the ARE re-injecting it into later results as shown. ( Which they claim they are not. )

MeAndUnique
September 16th, 2021, 17:50
The ruleset calls the decodeDamageText twice, once in the early stages of the damage functions, then the 'modification' can be applied, then it calls it again in the 'applyDamage' function to resolve the requested damage.
Except it doesn't. The text "decodeDamageText" exists exactly twice in the entirety of the ruleset code: once to declare the function, and one call made in applyDamage.


It is totally within the ruleset for AWD to 'change' the initial early values, with the more specific per-NPC before the call to 'applyDamage'.
Per above, it totally isn't. While I wouldn't call the flow necessarily unreasonable, it is notably outside the assumed flow of the ruleset, and therefore would be a high risk of conflict with other extensions.


If you take a look of this image with just CA loaded, you can see 2x calls to 'decodeDamageText'.
Yes, CA itself does make an additional call to decodeDamageText prior to applyDamage to pre-calculate healing "damage" that should increase the target's maximum hit points. And due to the fact the the ruleset only makes this call once, CA ensures that the precalculated value is used during the ruleset call as well. While I grant that "pre-calculation" and "re-injection" may be considered semantic differences from one point of view, a vast amount of software development is intrinsically defined by semantic distinction.


I reported this as a problem when they started the extension, it seriously invalidates the damage roll process and all the calling systems for modifications. I do not understand 'why' they store this early value and re-inject it later in the damage. But its a total mess that needs to be replaced, and I said this to them last year ( or even the year before then. )
We did indeed have a conversation about compatibility in January. At which time I explained the rationale and invited feedback for alternatives. The last I heard, the conflict had been resolved on the AWDE side of things...


But do not be upset with my extension, CA is at fault for this one.
And then out of the blue this is stated quite publicly and pre-emptive of any real investigation.


I'm very willing to take on fault, when its in my extension, the fact the fault is in CA and they are not accepting the issue.
This is sorta the crux of the issue, and there are two key points here.
I'll start with the less important one: when two extensions work when on their own and conflict when together, assignment of fault could not be so trivial. Neither extension has bugs of its own. Both extensions experience a bug together. It is a shared thing. Either extension would be capable of resolving the issue.
The really important part though is that fault simply does not matter. The overwhelming majority of extension developers in the community recognize this. We work together to make the best experience we can for the users. And in the event that we deem the effort of compatibility too great to justify, we don't waste anyone's time assigning blame or putting each other down. We simply own the fact that sometimes extensions are incompatible in their goals.

Personally, I do not think that CA and AWDE have hit the point of concluding incompatibility. However, given that CA works on its own and with roughly 100 other extensions of varying capabilities including additions to the modifier stack and dammage application, if I am to be able to address the present conflict in CA I require either more constructive guidance than being advised to rewrite it, or a better understanding of exactly how AWDE deviates from the ruleset.

bratch9
September 16th, 2021, 20:13
Ok fixed your extension for you... And yes I changed your decodeDamageText which was causing the issue and injecting incorrect values. Now it does not.

I've not checked any of your 'CA function' changes, so maybe the CA weapon features have some issues. But I dont think this will be the case.

The only 'issue' I can think that conflicts with AWD is the 'transfer' option when you swap the source/target. As AWD will do things like effect 'size/type' checks which will not be against the source and not against the target. So with 'transfer' it will 'turn' the AWD specific damage selections onto the source. So if your character was a 'plant' and the weapon had '1d6 slashing,type(plant)' as part of the AWD then that 1d6 extra would be applied to 'you' as the 'you'/source is now the target. This is 'probably' what you want with the 'transfer' option anyway. ( basic flip the weapon on its owner ? )

Because of the way 'transfer' is checked, if it was on an AWD line with a check ie '1d6 slashing, type(plant), transfer'. You extension would always do the swap for the 'transfer' but in an interaction with AWD it probably should only apply the 'transfer' if the target was 'type(plant)'. But this would be complex to sort out and probably such a low chance not worth the worry. But you might want to note that 'transfer' use when interacting with AWD options, should not have 'transfer' damage type on any 'special' AWD lines that are basically 'optional' applied by AWD. It depends on how you want to think about the process of what it is trying to do.

-pete

bratch9
September 16th, 2021, 20:53
Personally, I do not think that CA and AWDE have hit the point of concluding incompatibility. However, given that CA works on its own and with roughly 100 other extensions of varying capabilities including additions to the modifier stack and dammage application, if I am to be able to address the present conflict in CA I require either more constructive guidance than being advised to rewrite it, or a better understanding of exactly how AWDE deviates from the ruleset.

AWD interacts with the applyDamage function that you also change, which breaks the 'assumption' in your extension that you can hold the decodedDamageText as static. Because it is not.

Since applyDamage is calling the decodeDamageText the inputs to applyDamage can be 'adjusted' in extension. Like you do in your extension. I just dont assume that it is 'static' or that no other extension could possibly be in the calling stack of overrides for applyDamage call chain.

The issue is that your extension 'assumed' that once you had processed 'applyDamage' and then called down into the 'chain' of possible other extensions that could overload this function, that they would not also change something in the call process. ( Which since you wrap this function to apply your own changes, you can not assume other will not also apply changes before it hits the actual ruleset function. ) Your extension is holding the value from your extension level call, and then passing it back into the 5e ruleset version and assumes nothing will ever happen to it or be between you and the ruleset function.

AWD also scans the damage lines before calling the ruleset applyDamage, and can change the lines. Which makes this a dynamic item. Your extension should not be assuming it is static which it will be if no other extension is in the stack that access/changes the applyDamage function.

I dont think the suggestion change I've posted will cause you any issue, because AWD does not change the decoded outputType which is what you are holding from the stored value. You could reduce what you store in the local value to just that one item. Then not have caused this conflict.

The reason I can not fix it in my extension, is because yours sits on top of mine and is pushing back in the stored values. Without changing my load priority I can not resolve it. As far as I know my extension does not break your extra codes as they pass through my extension. But in theory we could have some extra interaction like this. ( Like the 'transfer' damage code I already talked about. )

I also do not think you should be doing 'extra' work in the 'messageDamage', as people will not be expecting this. I know you do it so you do not have to adjust the applyDamage function in a mid code point, which causes a possible massive conflict point. So I understand why you do this. But I suggest you look to see if you can do this work before the applyDamage or post the applyDamage function. But this would be a more of the re-write I think you should do.

I do think you should just store the 'decodeResult.sType' which is all you use outside the applyDamage function, then you could store this at the point you 'decodeDamageText' in your applyDamage function, and then totally remove your access to the 'decodeDamageText'. Since you link into messageDamage you can use this to change your sTypeOutput to "maximum hit points'. I've not looked into the 'effectmanage/actiondamage' calls in applyDamage so it might not be possible to remove the decodeDamageText 'sTypeOutput' change.

BlazingAzureCrow
October 5th, 2021, 03:08
I'm not sure if this has been addressed, but when I use this extension, ongoing damage (for example, "DMGO: 1d4 fire") always becomes untyped damage. I've tested this with only this extension on and it still happens. Has there been a fix for this, or has anyone else had this problem?

bratch9
October 5th, 2021, 13:15
I'm not sure if this has been addressed, but when I use this extension, ongoing damage (for example, "DMGO: 1d4 fire") always becomes untyped damage. I've tested this with only this extension on and it still happens. Has there been a fix for this, or has anyone else had this problem?

I can replicate this, and will take a look. It should not be causing an issue like this.

EDIT: I've got a fix for this issue working, but want to look at what I can sort with the CA extension above before doing a new release.

bratch9
October 5th, 2021, 19:14
v2.2 is now uploaded, should fix both CA and DMGO issue.

Leprekorn
October 5th, 2021, 19:33
Great to hear thanks

BlazingAzureCrow
October 5th, 2021, 19:59
The issue is fixed! Glad to see that resolved. I noticed it happening months ago but didn't track down which extension it was until this week. Glad it could be fixed so quickly!