PDA

View Full Version : PFRPG Disease Tracker Extension



bmos
July 24th, 2020, 13:01
This extension handles automatic rolling of saving throws against poisons, diseases, and other types of maladies.

Extension Homepage, README, and Codebase (https://github.com/bmos/FG-PFRPG-Malady-Tracker)
FantasyGrounds Forge (https://forge.fantasygrounds.com/shop/items/54/view)
Ext Files and Changelog (https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases)
License Information (https://github.com/bmos/FG-PFRPG-Malady-Tracker/blob/master/LICENSE.md)
Bug Tracker and Suggestions (https://github.com/bmos/FG-PFRPG-Malady-Tracker/issues)

Maladies Library Homepage and README (https://github.com/bmos/FG-PFRPG-Maladies-Library)
FantasyGrounds Forge (https://forge.fantasygrounds.com/shop/items/220/view)
Mod Files and Changelog (https://github.com/bmos/FG-PFRPG-Maladies-Library/releases)
License Information (https://github.com/bmos/FG-PFRPG-Maladies-Library/blob/master/LICENSE.md)
Bug Tracker and Suggestions (https://github.com/bmos/FG-PFRPG-Maladies-Library/issues)

To avoid my threads taking over the PF1e subforum, I publish most updates in my combo thread (https://www.fantasygrounds.com/forums/showthread.php?60308-bmos-extensions) (with only major updates in this individual thread which is primarily for discussion and bug reports). To ensure you're kept informed of future updates, either subscribe to that thread (for updates to all my extensions) or create a GitHub account and follow the specific repository of each extension you use. Or just check the releases linked in the first post of the thread periodically.

bmos
July 24th, 2020, 13:02
for those interested in creating modules of data for use with this extension, or contributing SRD content to my maladies library module, here is the relevant information:
the reference data type is <diseases>


<!-- malady description -->
<description type="formattedtext">
<p>this is a paragraph</p>
</description>

<!-- effect of the disease (single field) -->
<disease_effect type="formattedtext">
<p>this is a paragraph</p>
</disease_effect>

<!-- dice to roll to determine duration (example is 2d4) -->
<duration_dice type="dice">d4, d4</duration_dice>

<!-- this number is multiplied by duration_unit to determine total duration. if using duration_dice, just leave this blank -->
<duration_interval type="number">1</duration_interval>

<!-- duration unit (in minutes) -->
<duration_unit type="string">.1</duration_unit>

<!-- dice to roll to determine frequency (example is 1d4) -->
<freq_dice type="dice">d4</freq_dice>

<!-- this number is multiplied by freq_unit to determine total frequency. if using freq_dice, just leave this blank -->
<freq_interval type="number">1</freq_interval>

<!-- frequency unit (in minutes -- example is a round) -->
<freq_unit type="string">.1</freq_unit>

<!-- 1 if saves must be consecutive, 0 if not -->
<isconsecutive type="number">1</isconsecutive>

<!-- name of malady -->
<name type="string">this is a string</name>

<!-- semicolon-separated-list of associated NPC names (spaces, capitalization, and punctuation will be removed when it is checked for a match when auto-adding to NPC) -->
<npc type="string">wolfinsheep'sclothing</npc>

<!-- dice to roll to determine onset (example is 4d4) -->
<onset_dice type="dice">d4,d4,d4,d4</onset_dice>

<!-- this number is multiplied by onset_unit to determine total onset. if using onset_dice, just leave this blank -->
<onset_interval type="number">1</onset_interval>

<!-- onset unit (in minutes) -->
<onset_unit type="string">.1</onset_unit>

<!-- primary poison effect (first field) -->
<poison_effect_primary type="string">this is a string</poison_effect_primary>

<!-- primary poison effect (second field -- usually empty) -->
<poison_effect_secondary type="string">this is a string</poison_effect_secondary>

<!-- a string describing the save / save timing information; this is generated automatically if you create the malady in FG's interface -->
<save_string type="string">DC 13 Fort 1/day after 1d3 days</save_string>

<!-- this number is how many saves have been rolled, you can leave it out of module creation or set it to 0 -->
<savecount_consec type="number">0</savecount_consec>

<!-- this number is the numerical DC -->
<savedc type="number">17</savedc>

<!-- this number is how many saves have to be rolled to cure the disease -->
<savesreq type="number">2</savesreq>

<!-- lowercase full name of save -->
<savetype type="string">fortitude</savetype>

<!-- informational field about how the disease is transmitted -->
<subtype type="string">injury</subtype>

<!-- poison, disease, etc -->
<type type="string">this is a string</type>

Asgurgolas
July 24th, 2020, 13:55
That could be interesting, and the script could allow for more effects requiring "ongoing" saving throws :o

Zygmunt Molotch
July 24th, 2020, 14:06
I mean, ..hmm how about poisons too... :D (but that's a quagmire of official and unofficial, though they do tend to comply with each other a fair bit)

bmos
July 24th, 2020, 14:59
v1.0.0 is now out. It just helps track.
Now for the automation :D


I mean, ..hmm how about poisons too... :D (but that's a quagmire of official and unofficial, though they do tend to comply with each other a fair bit)Great idea! For now, I made the 'type' field editable so you can replace "disease" with "poison" since the rules are so similar. I should eventually be able to have two sheet formats like FG uses for NPC/Trap.

bmos
July 24th, 2020, 18:49
v1.1.0 now has a button for rolling the applicable saving throw and allows copying afflictions between players with drag/drop.

Svandal
July 27th, 2020, 19:15
You could probobly add a description on where the button is to get to the disease screen, I had to look for 10 minutes to find it.

Also, if there could be an actual effect/damage field like for spells that would be helpful. So that we could drag out the effect from the disease/poison.

A button to add +2 to the DC would be nice to get the pathfinder poison stacking rules. (Each time you fail against a new source of the same poison the DC goes up by 2)
A way to automatically roll saving throws on your turn against all ongoing diseases/poisons that should be rolled that round, but I am not sure if this is possible with the FG code.

bmos
July 27th, 2020, 19:45
You could probobly add a description on where the button is to get to the disease screen, I had to look for 10 minutes to find it.

Also, if there could be an actual effect/damage field like for spells that would be helpful. So that we could drag out the effect from the disease/poison.

A button to add +2 to the DC would be nice to get the pathfinder poison stacking rules. (Each time you fail against a new source of the same poison the DC goes up by 2)
A way to automatically roll saving throws on your turn against all ongoing diseases/poisons that should be rolled that round, but I am not sure if this is possible with the FG code.Thanks, great suggestions!
Anything is possible, just progressively harder to implement hehe

bmos
July 28th, 2020, 10:25
You could probobly add a description on where the button is to get to the disease screen, I had to look for 10 minutes to find it.

Also, if there could be an actual effect/damage field like for spells that would be helpful. So that we could drag out the effect from the disease/poison.

A button to add +2 to the DC would be nice to get the pathfinder poison stacking rules. (Each time you fail against a new source of the same poison the DC goes up by 2)
A way to automatically roll saving throws on your turn against all ongoing diseases/poisons that should be rolled that round, but I am not sure if this is possible with the FG code.https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v1.2.0

added those buttons last night before bed, the rollable damage is going to be tricker but I'll get there eventually :)

bmos
July 30th, 2020, 14:31
next version will have integration with save versus tags :)
https://github.com/bmos/FG-PFRPG-Disease-Tracker/commit/11b556ba350cf67f5415f893261af3372edd1e9b

This will allow automation of saving throws against disease or poison.
My gm allowed bonus to disease save from using soap, for instance.

this will also be in sanity tracker.

Zygmunt Molotch
July 31st, 2020, 04:48
next version will have integration with save versus tags :)
https://github.com/bmos/FG-PFRPG-Disease-Tracker/commit/11b556ba350cf67f5415f893261af3372edd1e9b

This will allow automation of saving throws against disease or poison.
My gm allowed bonus to disease save from using soap, for instance.

this will also be in sanity tracker.

I'm intrigued, could you give an example (for either) as to how to automate it?

bmos
July 31st, 2020, 05:01
I'm intrigued, could you give an example (for either) as to how to automate it?
For example it will be --> IFTAG: madness; SAVE: 2 morale

Right now I'm using 'madness' 'disease' and 'poison' but each of those have magic subschools also (not ideal as character might have bonus to madness save but not to saves against madness school).
Open to suggestions for alternate tag names, at the moment I'm leaning towards something arcane like "madnesstracker" "diseasetracker" "poisiontracker"

bmos
August 4th, 2020, 10:38
v1.3.0 Integrations with community extensions (https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v1.3.0)
New in this version:

Integration with kelrugrem's save versus tags (to allow buffs/penalties saves against madness or disease)
Integration with ClockAdjuster (to allow rolling saves automatically as time elapses -- takes into account onset, freq, and duration)
Add extension version to on-load announcement so users can more easily tell if they are up to date


Notes about auto rolling saves:

The inital time that the character acquired the disease is set whenever the duration, onset, or freq units are clicked. This means that once it's working you should not touch these!
You can advance time from the calendar or the clockadjuster widget (although it must be installed/activated for the auto-roll to work).
When time is equal or greater to onset, the first save is rolled. Then, on each subsequent freq interval, another is rolled.
Fast-forwarding through multiple freq intervals will prompt multiple saves. Rewinding time and going forward again will not re-roll saves that have already occured (it will pick up again once you are back to the time it last rolled from).

bmos
August 11th, 2020, 12:19
v1.4.0 is now out! (https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v1.4.0), including a new instructional video (https://www.youtube.com/watch?v=gBv50oSphBM).
It tracks successful saves (consecutive or not, as desired) and stops rolling/marks as cured when appropriate.
It still requires ClockAdjuster to roll automatically, but can be used without this feature if ClockAdjuster is not installed.

ClockAdjuster isn't very accurate in Classic, but could be good enough:

Known Issues
-Fantasy Grounds Classic: [This does not appear to happen in Fantasy Grounds Unity] Events appear not to "complete" until a couple of hours past their set time, when years are set high enough, and when minutes are not the same as the event's minutes.
-Reminders are experiencing the same issue as events, where in FGC, adjusting minutes doesn't function as expected. this does not occur in FGU.

bmos
August 18th, 2020, 20:15
v1.5 (https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v1.5.0) has support for pre-entered maladies (diseases and poisons) which can be stored in a new library section.
It also has a per-player option to post to chat rather than auto rolling [for those player-agency junkies -- you know who you are ;) ]
I also went ahead and made a little module (https://github.com/bmos/FG-PFRPG-Maladies-Library/releases) with everything I could find already entered :)

pablomaz
August 22nd, 2020, 15:55
Hey, bmos, it looks very sweet... Should it work with other MoreCore rulesets, such as D&D 5e? It would be a great addition to my Tomb of Annihilation campaign...

bmos
August 22nd, 2020, 18:26
Hey, bmos, it looks very sweet... Should it work with other MoreCore rulesets, such as D&D 5e? It would be a great addition to my Tomb of Annihilation campaign...Very unlikely. That being said, porting it to 5e should be doable if you feel like learning to work with extensions.

Bretwulf
August 28th, 2020, 14:01
Hi Bmos! I'm a big fan of your extensions, and Live Hit Points is saving my sorry *** at the moment, haha!
However, i can't seem to make this specific extension works. It rolls a dice, but no result is announced, and no succesful saves are tracked whatsoever.

Kelrugem
August 28th, 2020, 14:03
Hi Bmos! I'm a big fan of your extensions, and Live Hit Points is saving my sorry *** at the moment, haha!
However, i can't seem to make this specific extension works. It rolls a dice, but no result is announced, and no succesful saves are tracked whatsoever.

You probably use my advanced PF1/3.5e extension, isn't it? :) (I remember that you once asked me something about that, but I may confuse you with someone else) It is currently not compatible with the disease roll of bmos's extension :)

Bretwulf
August 28th, 2020, 14:07
Oh! Sad to hear that. He apparently fixed the problem with "Live Hit Points from Constitution", i'm not having that weird behaviour anymore.
Waiting eagerly for the day in wich your extensions will be compatible with Advanced Effects of rmilmine!

Kelrugem
August 28th, 2020, 14:08
Oh! Sad to hear that. He apparently fixed the problem with "Live Hit Points from Constitution", i'm not having that weird behaviour anymore.
Waiting eagerly for the day in wich your extensions will be compatible with Advanced Effects of rmilmine!

The fix with the disease roll is gladly easy, I try to do that this weekend :) The compatibility with rmilmine's extension can sadly still take a while, hopefully I have more time soon :)

Bretwulf
August 28th, 2020, 14:16
I will wait eagerly. Your extensions are constantly saving my weekends haha!

mozmonar
August 28th, 2020, 21:41
I'm gonna see if I can fake the mythic version of Bleeding Critical with this extension.


Mythic Bleeding Critical (Combat, Critical, Mythic)
Your deadliest blows unleash rivers of blood.

Prerequisites: Bleeding Critical, Critical Focus (mythic).

Benefit: The bleed damage dealt with Bleeding Critical increases by your tier. Stopping this bleed damage requires a Heal check with a DC equal to 15 + 1/2 your tier. Any magical healing ends the bleed damage normally.

You can expend one use of mythic power to deal 1 Con bleed, in addition to the hit point bleed damage you deal with this feat. This effect increases by 1 for each additional use of mythic power you expend.

I want to see if I can add a "disease" effect that causes CON damage every round.

mozmonar
August 28th, 2020, 21:50
I'm gonna see if I can fake the mythic version of Bleeding Critical with this extension.



I want to see if I can add a "disease" effect that causes CON damage every round.

No, it doesn't do what I thought it did. Oh well, was worth a shot.

bmos
August 28th, 2020, 21:52
The fix with the disease roll is gladly easy, I try to do that this weekend :) The compatibility with rmilmine's extension can sadly still take a while, hopefully I have more time soon :)Don't bother, I figured out the issue with the compatibility patches. I was fixed with load order :square:

I thought I had tried that, but apparently not! I shall include patch for compatibility in Tuesday's update.

Kelrugem
August 28th, 2020, 21:54
Don't bother, I figured out the issue with the compatibility patches. I was fixed with load order :square:

I thought I had tried that, but apparently not! I shall include patch for compatibility in Tuesday's update.

The problem is that my result handlers were overwriting the ones from other extensions, maybe it is now the other way around when your load order is higher? :D We'd need to test :)

bmos
August 28th, 2020, 21:58
I want to see if I can add a "disease" effect that causes CON damage every round.

No, it doesn't do what I thought it did. Oh well, was worth a shot.Yes, no automated penalties. It just simplifies rolls.
Have you looked at the Remove Effect Extension's increasing penalties effect?

mozmonar
August 28th, 2020, 21:59
Yes, no automated penalties. It just simplifies rolls.
Have you looked at the Remove Effect Extension's increasing penalties effect?

I have not.

EDIT: Ok looked at it to see if there was something I was missing. Not seeing anything jump out. I know I can manually apply MULTI: CON: -1 but I am looking for something that would function something like DMGO but accept ability damage. I was thinking that your disease tracker applied the Effect line at the set frequency. I understand now that the effect line is descriptive text not action effects.

bmos
August 28th, 2020, 22:02
The problem is that my result handlers were overwriting the ones from other extensions, maybe it is now the other way around when your load order is higher? :D We'd need to test :)If that were the case, I think I would have had to add compatibility patches for mirror image and my own extensions as well (which I have not had to do). It seems that since the function registerResultHandler is in ActionsManager and you replace ActionsManager, any extensions that load before you have their resulthandlers lost. By having my extension after yours, when mine calls registerResultHandler, it is talking to your copy of ActionsManager.registerResultHandler.

Indeed, upon closer inspection, ActionsHandler.registerResultHandler contains "local aResultHandlers," which (I think) means your copy of registerResultHandler doesn't have access to the contents of the original aResultHandlers.

Testing this hypothesis is certainly worthwhile as it is only that. If it proves correct, perhaps you can adjust ActionsManager to replace the handlers you modify rather than starting that array over again (or not, it's easy to change load order).

bmos
August 28th, 2020, 22:06
I have not.If you set up a 'spell' action with the effect "MULTI: constitution damage; CON: -1" using that extension, it allows the effect to be applied multiple times.
https://www.fantasygrounds.com/forums/showthread.php?40290-PF-Player-Effect-Removal-Extension

It would require action every round, but no more messages saying that the target already has the effect.

mozmonar
August 28th, 2020, 22:08
If you set up a 'spell' action with the effect "MULTI: constitution damage; CON: -1" using that extension, it allows the effect to be applied multiple times.
https://www.fantasygrounds.com/forums/showthread.php?40290-PF-Player-Effect-Removal-Extension

It would require action every round, but no more messages saying that the target already has the effect.

Yeah, gotcha. That will work for applying the recurring damage. I was trying to see if there were a way to automate it. I just misunderstood what your extension was doing. Not criticizing it just a bad assumption on my part.

mozmonar
August 28th, 2020, 22:11
Yeah as I said above in my edited post. When I saw a field called "effect" in the disease tracker I made the assumption that "effect" got applied at each iteration of the frequency set in the disease. I see now that it was the descriptive text of the disease effect.

bmos
August 28th, 2020, 22:11
Yeah, gotcha. That will work for applying the recurring damage. I was trying to see if there were a way to automate it. I just misunderstood what your extension was doing. Not criticizing it just a bad assumption on my part.Don't worry, you didn't come off as critical. I was just trying to help you find the best automation currently possible :)
I hope to have disease effects automated in the next month or two, now that I have created a way of correctly tracking PF's ability drain and 'permanent' ability bonuses (which I am releasing on Tuesday).

Kelrugem
August 29th, 2020, 08:02
If that were the case, I think I would have had to add compatibility patches for mirror image and my own extensions as well (which I have not had to do). It seems that since the function registerResultHandler is in ActionsManager and you replace ActionsManager, any extensions that load before you have their resulthandlers lost. By having my extension after yours, when mine calls registerResultHandler, it is talking to your copy of ActionsManager.registerResultHandler.

Indeed, upon closer inspection, ActionsHandler.registerResultHandler contains "local aResultHandlers," which (I think) means your copy of registerResultHandler doesn't have access to the contents of the original aResultHandlers.

Testing this hypothesis is certainly worthwhile as it is only that. If it proves correct, perhaps you can adjust ActionsManager to replace the handlers you modify rather than starting that array over again (or not, it's easy to change load order).

That is a good theory, I can adjust this, thanks :) but the problem is that I have this problem also with the raw advanced 3.5e/Pf1 where I do not overwrite the ActionsManager, the overwrite of that is part of Save versus Tags. When I had this problem with the mirror image handler, I only loaded advanced 3.5e/PF1 and had a similar problem there :) But may my mind tricks me now because that is some while ago :) (and maybe there should be then more problems of that sort? Like with the result handlers of the ruleset(s) itself? Though I may already overwrite all of them which could explain that when you are right :D)

Nevertheless, I am glad when that solution now works :D

bmos
August 29th, 2020, 13:00
That is a good theory, I can adjust this, thanks :) but the problem is that I have this problem also with the raw advanced 3.5e/Pf1 where I do not overwrite the ActionsManager, the overwrite of that is part of Save versus Tags. When I had this problem with the mirror image handler, I only loaded advanced 3.5e/PF1 and had a similar problem there :) But may my mind tricks me now because that is some while ago :) (and maybe there should be then more problems of that sort? Like with the result handlers of the ruleset(s) itself? Though I may already overwrite all of them which could explain that when you are right :D)

Nevertheless, I am glad when that solution now works :DAh, you may be right then (and it was such a nice theory, too). It seems that it breaks the save overlays :(
So I guess I do need that compatibility patch when you have time :)

Kelrugem
August 29th, 2020, 13:24
Ah, you may be right then (and it was such a nice theory, too). It seems that it breaks the save overlays :(
So I guess I do need that compatibility patch when you have time :)

Oki, then I try to do that soon :) I have some important proof to finish for my thesis and afterwards I try to do this quickly :) (hopefully this weekend)

Kelrugem
August 29th, 2020, 13:28
Ah, you may be right then (and it was such a nice theory, too). It seems that it breaks the save overlays :(
So I guess I do need that compatibility patch when you have time :)

By the way, you use FGU, isn't it? How well do the save overlays work there? The last time I tested (which is pretty long ago) the overlays were a bit small compared with FGC, and so I was afraid that there might be other hidden incompatibilities which I need to solve for FGU :)

bmos
August 29th, 2020, 13:37
By the way, you use FGU, isn't it? How well do the save overlays work there? The last time I tested (which is pretty long ago) the overlays were a bit small compared with FGC, and so I was afraid that there might be other hidden incompatibilities which I need to solve for FGU :)The adventure I was running in Unity actually finished a couple of sessions after I switched to FullOverlays so I my testing isn't comprehensive, but it seemed to work although they still show up at about 50% size. This isn't a big deal with the save tracking overlays, but the health overlay gets very hard to see.

Kelrugem
August 29th, 2020, 13:40
The adventure I was running in Unity actually finished a couple of sessions after I switched to FullOverlays so I my testing isn't comprehensive, but it seemed to work although they still show up at about 50% size. This isn't a big deal with the save tracking overlays, but the health overlay gets very hard to see.

Oki, thanks :) I hope that is the only thing I need to do for FGU :) (and gladly that is not so difficult, I think, just a bit upscaling)

Sudain
September 24th, 2020, 21:43
This looks amazing, thank you!

Now that I've got it installed, is there a way to have it trigger from the combat tracker (for poisons) for example? And is there a way to get monster poisons in there, like a Quasit's poison attack in the library of Maladies?

Keep up the great work!

bmos
September 24th, 2020, 22:33
This looks amazing, thank you!

Now that I've got it installed, is there a way to have it trigger from the combat tracker (for poisons) for example? And is there a way to get monster poisons in there, like a Quasit's poison attack in the library of Maladies?

Keep up the great work!Monster poisons mostly have to be added by users (although if you can compile a list of creatures with poisons I will see about adding them!).

The poison tracking is sub-par because ClockAdjuster doesnt support tracking rounds as 6 second intervals. I need to come up with a way of doing that; once I have, I'll add support for tracking poison effects per round.
It might not even be that hard, just hasnt come to the top of my list yet (right now I'm finishing up implementing bags of holding in Total Encumbrance).

EDIT: I built a prototype before bed tonight. Still a little way to go before it's worth posting, it is rolling twice every third round at the moment!

Sudain
September 25th, 2020, 04:23
Gotcha. Both addons are awesome and I'm using Total Encumberance in my group on Mondays, so I'm glad for your work. :D

I'll start work on a list of monsters with poisons and what poisons they are. What format would you want it in?

bmos
September 25th, 2020, 11:57
Gotcha. Both addons are awesome and I'm using Total Encumberance in my group on Mondays, so I'm glad for your work. :D

I'll start work on a list of monsters with poisons and what poisons they are. What format would you want it in?I'm glad you're enjoying them :)
Something like this would be great (creature name + poison text) , I can handle getting the info into the xml format from there:

Demon, Quasit
Claw—injury; save Fortitude DC 13; frequency 1/round for 6 rounds; effect 1d2 Dexterity; cure 2 consecutive saves. The DC includes a +2 racial bonus.

EDIT: I have both poision and saving throws working with the correct number of saves rolled, but only in Unity.
Classic is not happy with my changes, so I guess I have more work to do!

bmos
September 25th, 2020, 15:24
Classic is not happy with my changes, so I guess I have more work to do!Unfortunately this seems like a limitation of the Classic codebase :(
v2+ of Disease Tracker is probably going to have to be Unity only.

EDIT: I have a working prototype in FG Classic, but it required making a custom version of ClockAdjuster.

Sudain
September 27th, 2020, 06:12
https://docs.google.com/spreadsheets/d/18S1OGMylmhfPadCuiQ1RlIu6dh84uXZke-B7TIPLNbY/edit?usp=sharing

Did reoccurring diseases, poisons, implantations, and infestations and curses. I gathered them manually, so there might be some bleed-over between effects and some errors in the data.

Not perfect or perfectly consistent by any means, but it's there. I hope it's easy enough to work with.

bmos
September 27th, 2020, 14:53
v2.0.0
https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v2.0.0

now with support for rounds, diseases with durations, better handling of [CURED] and [EXPIRED] tags, and general code improvements


https://docs.google.com/spreadsheets/d/18S1OGMylmhfPadCuiQ1RlIu6dh84uXZke-B7TIPLNbY/edit?usp=sharing

Did reoccurring diseases, poisons, implantations, and infestations and curses. I gathered them manually, so there might be some bleed-over between effects and some errors in the data.

Not perfect or perfectly consistent by any means, but it's there. I hope it's easy enough to work with.Thanks, although it needs to be made public or shared with my Google account (I requested access).

Sudain
September 27th, 2020, 21:48
Gotcha. I gave access just now. I'll practice with the sharing tools a little bit more, I thought it was public before. More to learn! :D

bmos
September 27th, 2020, 22:33
Gotcha. I gave access just now. I'll practice with the sharing tools a little bit more, I thought it was public before. More to learn! :DWow! That is quite the list!
It might take me a bit to convert all that to the maladies library xml format, but I'll start plugging away at it. Thanks for getting the info together!

Sudain
September 28th, 2020, 00:53
Yeah more than a few. :)

Not all of them are of the same format and I mostly grabbed just the part where it indicated the frequency and number of rounds to cure. So there might be monsters I missed, or surrounding text I missed, or a monster with multiple diseases, poisons or other frequency effects that require quick fixes later on down the line. But at least this is a start that should take care of a large swath.

Thank you again for your hard work! :D

bmos
September 29th, 2020, 12:38
Not all of them are of the same format and I mostly grabbed just the part where it indicated the frequency and number of rounds to cure. So there might be monsters I missed, or surrounding text I missed, or a monster with multiple diseases, poisons or other frequency effects that require quick fixes later on down the line. But at least this is a start that should take care of a large swath.The only issue I'm coming accross is that the same disease/poison can have different DCs depending on the original source. Things like Devil Chills, Leprosy, Bubonic Plague, and Zombie Rot for example.
I've just left whatever the first thing I'd entered was, so check the DC when you add it to the character. I could add some code to post in chat if one of those maladies is added, but would need to figure out which maladies are used by multiple monsters.

Sudain
September 29th, 2020, 21:29
The only issue I'm coming accross is that the same disease/poison can have different DCs depending on the original source. Things like Devil Chills, Leprosy, Bubonic Plague, and Zombie Rot for example.
I've just left whatever the first thing I'd entered was, so check the DC when you add it to the character. I could add some code to post in chat if one of those maladies is added, but would need to figure out which maladies are used by multiple monsters.

Mmm... Yeah depending on what is the primary key I can see that conflict coming up. I guess I was thinking when suggesting a Quasit's poison of "The monster (Quasit) has a poison with statistics like XYZ" so it'd end up being formatted something akin to "Quasit-Poison(...data...)", which may not make sense for your internal data structures. Adding a DM-only reminder to chat may be a good compromise.

bmos
September 30th, 2020, 02:25
Mmm... Yeah depending on what is the primary key I can see that conflict coming up. I guess I was thinking when suggesting a Quasit's poison of "The monster (Quasit) has a poison with statistics like XYZ" so it'd end up being formatted something akin to "Quasit-Poison(...data...)", which may not make sense for your internal data structures. Adding a DM-only reminder to chat may be a good compromise.Unfortunately I don't see a way to do that (it would be awesome though) since there are both community and official content sources (not to mention all the adventures that duplicate the monsters into their own databases). I have missed a couple already, but I'm going to start tagging the malady names with "(DC)" if there are multiple possibilities and will use this to trigger a chat message when it's dragged in to the character sheet maladies list.

bmos
October 3rd, 2020, 14:11
FG Classic support is back under 'beta status' (https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v2.1.2), as of today's v2.1.2 update (which is mostly an excuse to post it along with the custom version of ClockAdjusterPFRPG)

It also adds support for more themes (Simple Brown, Simple Gray, and Simple Dark (https://www.fantasygrounds.com/forums/showthread.php?43389-Simple-Dark-Theme)) :)

bmos
October 4th, 2020, 12:21
Does anyone have a take on whether disease details should be exposed to the player?
I could implement the "identified" system so that they only learn the details if it if they make a medicine check or something.

Sudain
October 4th, 2020, 21:18
I'd have a preference towards the diseses being hidden (but still active) from the player until the DM reveals the disease, and a sperate show/hidden toggle for the details of the disease/poison.
This is mostly to skirt the "Welp, I just got diseased, cleric would you mind fixing that next morning? I'm just not going to touch anyone for the rest of the day." probem and changes it to "Why am I coughing up blood in town randomly?! Cleric, please prepair Status tomorrow to figure out what's wrong with me!".

bmos
October 4th, 2020, 22:57
I'd have a preference towards the diseses being hidden (but still active) from the player until the DM reveals the disease, and a sperate show/hidden toggle for the details of the disease/poison.
This is mostly to skirt the "Welp, I just got diseased, cleric would you mind fixing that next morning? I'm just not going to touch anyone for the rest of the day." probem and changes it to "Why am I coughing up blood in town randomly?! Cleric, please prepair Status tomorrow to figure out what's wrong with me!".That's exactly what I was thinking :)
It's potentially much more immersive that way.

dellanx
October 5th, 2020, 07:07
bmos, this is great. Will be fun to play with it!

bmos
October 5th, 2020, 19:57
For now, I just hid the button from players altogether.
Eventually it would be nice to add support for identifying them (one less thing for players to have to keep notes of), but it was proving difficult to figure out.

I also added initial support for the Pathfinder 'goblins' theme, albeit without a goofy goblin icon (although I managed to make the circle a similar texture and label font).

Disease Tracker v2.1.3 (https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v2.1.3)

EDIT: A new demonstration video is now live (https://www.youtube.com/watch?v=RNrb5khwKuY)!
I tried to slow down my talking to make it easier for people to understand.

bmos
October 13th, 2020, 14:39
(Download) Disease Tracker v2.2 and a new version of my modified ClockAdjuster (https://github.com/bmos/FG-PFRPG-Disease-Tracker/releases/tag/v2.2)
I think this is the first time this has been done in a community-extension:
There is now an icon of a goblin with a facemask featuring original artwork by Zygmunt Molotch (https://www.fantasygrounds.com/forums/member.php?211129-Zygmunt-Molotch) (if you use this with the Pathfinder Official Theme)!

Sudain
October 19th, 2020, 04:48
Lovely, thank you! :)

Is there a way to have an option to set (possibly in the options gear(?)) the effect to be unidentified when the roll happens? So rather than showing [POISON] Fortitude (against Drow Poison) next to the roll show akin to [Unknown] Save-Type (against Unidentified) and possibly hide the resulting effect. Not sure if it's also possible (or makes sense) to do it per disease/poison or not. I'm thinking of a couple use-cases.

* Player has Full knowledge (they've identified the poison/disease). Gm has full knowledge.
* Player has Partial Knowledge (likely due to status effect) - knows what effect type is but wouldn't know exact details. GM has full knowledge.
* Player has No knowledge, but knows something was rolled and can see their roll. GM has full knowledge.

* Effect is visible to GM.
* Effect is visible to GM and Player.

bmos
October 19th, 2020, 12:34
Lovely, thank you! :)

Is there a way to have an option to set (possibly in the options gear(?)) the effect to be unidentified when the roll happens? So rather than showing [POISON] Fortitude (against Drow Poison) next to the roll show akin to [Unknown] Save-Type (against Unidentified) and possibly hide the resulting effect. Not sure if it's also possible (or makes sense) to do it per disease/poison or not. I'm thinking of a couple use-cases.

* Player has Full knowledge (they've identified the poison/disease). Gm has full knowledge.
* Player has Partial Knowledge (likely due to status effect) - knows what effect type is but wouldn't know exact details. GM has full knowledge.
* Player has No knowledge, but knows something was rolled and can see their roll. GM has full knowledge.

* Effect is visible to GM.
* Effect is visible to GM and Player.I can definitely toggle the visibility of the roll; that's a great idea for a 'half-step' towards identifiable diseases.
I've been kind of busy lately (I am meaning to get to the rest of the monster poisons and diseases soon!) with work and converting a holiday adventure module for my group, but I'll add it to my list :)

orien45
October 20th, 2020, 18:47
How do I get the Malady database into the extension?

This looks like a great extension, I think you could just title it 'Affliction Tracker' and use it for disease, poison and curses as they all use the Affliction game mechanics.

bmos
October 20th, 2020, 19:53
How do I get the Malady database into the extension?

This looks like a great extension, I think you could just title it 'Affliction Tracker' and use it for disease, poison and curses as they all use the Affliction game mechanics.It does work with those items as well, the title is from before I added that stuff :)
The .mod file goes in the Modules folder (like how the .ext goes in the Extensions folder) then you can open Library > Modules and click Load on the "Maladies Library".

orien45
October 20th, 2020, 20:13
I do not see a .mod file, just a couple of .xml files

orien45
October 20th, 2020, 20:59
Slight digression: the Clock Adjuster says that weather can be figured in with the proper tables. Is this 'live' or is this a future update?

bmos
October 20th, 2020, 21:24
Slight digression: the Clock Adjuster says that weather can be figured in with the proper tables. Is this 'live' or is this a future update?I think that works, but I've never tried it.
See the original extension thread (https://www.fantasygrounds.com/forums/showthread.php?57561-Utility-Clock-Adjuster) for more info. I just changed a few things about it to allow backwards compatibility with Classic and a few such tweaks.

Here is the maladies library; I guess I had not linked it in the main post until now!
Download Maladies Library (https://github.com/bmos/FG-PFRPG-Maladies-Library/releases)

orien45
October 20th, 2020, 21:39
Thank you!

bmos
November 8th, 2020, 22:13
If anyone wants to help get more creature diseases entered (I am very slowly working through the spreadsheet that Sudain put together -- have just posted 5 more), I have documented the required xml format here (https://www.fantasygrounds.com/forums/showthread.php?60290-PFRPG-Disease-Tracker-Extension&p=528895&viewfull=1#post528895). If you know how to use GitHub, you can edit and submit your changes there (https://github.com/bmos/FG-PFRPG-Maladies-Library/blob/master/db.xml). If not, but you know how to work with xml you can just make a document of your submissions and attach it here.

See attached for a spreadsheet of the remaining maladies.

Sudain
November 17th, 2020, 22:59
I've got some days off at the end of the month so I'll take a crack at writing a script to help automate that data conversion. Just wanting you to know your call for people to help out isn't being ignored.

bmos
November 18th, 2020, 00:03
I've got some days off at the end of the month so I'll take a crack at writing a script to help automate that data conversion. Just wanting you to know your call for people to help out isn't being ignored.That would be awesome. I think I can use my Upgrade NPC Actions extension to auto-link them to NPC sheets also!

Zygmunt Molotch
November 19th, 2020, 03:44
That would be awesome. I think I can use my Upgrade NPC Actions extension to auto-link them to NPC sheets also!

ho ho, now we're talking, poison applied directly from an NPC! :D

bring on the centipedes!

Sudain
November 28th, 2020, 05:55
Derp. I'm learning xml. Ignore this.

bmos
November 28th, 2020, 10:18
Derp. I'm learning xml. Ignore this.
Let me know if you need any help :)
I have documented the maladies xml format here (https://www.fantasygrounds.com/forums/showthread.php?60290-PFRPG-Disease-Tracker-Extension&p=528895&viewfull=1#post528895).

EDIT: I am in the process of adding the code to auto-link poison/disease to NPC sheets.
This will work via a new XML tag:

<!-- semicolon-separated-list of associated NPC names (spaces, capitalization, and punctuation will be removed when it is checked for a match when auto-adding to NPC) -->
<npc type="string">wolfinsheepsclothing</npc>
This 'may' allow me to add automatic DC calculation in the future...

Sudain
November 28th, 2020, 19:06
Sounds good. I'm at the stage of reading in the sharedStrings.xml and now trying to pair it with name/poisons. Once I can that working well enough I'll try to format it into the maladies format (and I'll try to include the npc tag too), and then post here to verify it what you are looking for before I start doing the bulk conversions.

Sudain
December 2nd, 2020, 02:40
I can open the sharedStrings xml and read it. I discovered some data issues so I'm going to write a data-validator function before trying to compile and write out the needed xml. My MBA classes come first, so I'll need to do them and then work on this a few spare hours during the weekends if I'm lucky. I just wanted to give you a heads up, I did not forget about this. I am working on it, but it's not going to be nearly as swift as my ego wants it to be.

bmos
December 2nd, 2020, 11:15
I can open the sharedStrings xml and read it. I discovered some data issues so I'm going to write a data-validator function before trying to compile and write out the needed xml. My MBA classes come first, so I'll need to do them and then work on this a few spare hours during the weekends if I'm lucky. I just wanted to give you a heads up, I did not forget about this. I am working on it, but it's not going to be nearly as swift as my ego wants it to be.Thanks for the update.
No hard feelings, this is a hobby for all but a few :)
One tip/trick that might help you out is that the tags like "id-0001" can be text instead. The just can't be re-used. So Ghoul Fever could be "ghoulfever" rather than "id-0003" or whatever it is currently.

Sudain
December 28th, 2020, 00:02
Okay I've got the maladies in a form I can process and outputting to an xml format. Since I've never worked with XML before I'm just double checking this output will work for you before I start cranking through the poisons one by one.



<?xml version='1.0' encoding='utf8'?>
<category>
<id-00220>
<description type="formattedtext">
<p><b>Source </b><i>Pathfinder Campaign Setting: Lost Kingdoms pg. 19</i></p>
</description>
<disease_effect type="formattedtext">
<p>1d2 Str damage and 1d2 Wis damage</p>
<p>A creature afflicted by ubashki fever develops unsightly splotches and sores all over its body that persist until the disease is cured.</p>
</disease_effect>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1440</freq_unit>
<isconsecutive type="number">1</isconsecutive>
<locked type="number">0</locked>
<name type="string">Ubashki Fever</name>
<onset_dice type="dice">d3</onset_dice>
<onset_unit type="string">1440</onset_unit>
<save_string type="string">DC 13 Fort 1/day after 1d3 days</save_string>
<savecount_consec type="number">0</savecount_consec>
<savedc type="number">13</savedc>
<savesreq type="number">2</savesreq>
<savetype type="string">fortitude</savetype>
<subtype type="string">injury</subtype>
<type type="string">disease</type>
</id-00220>
<id-00221><type type="string">disease</type><npc type="string">Akata</npc><name type="string">Void Death</name><subtype type="string">Bite-injury</subtype><savetype type="string">fortitude</savetype><savedc type="number">12</savedc><onset_dice type="dice" /><onset_interval type="number">1</onset_interval><onset_unit type="string">60</onset_unit><freq_dice type="dice" /><freq_unit type="string">1</freq_unit><disease_effect type="formattedtext">effect 1d2 Dex and 1d2 Con damage; an infected creature who dies rises as a void zombie 2d4 hours later (see below)</disease_effect><isconsecutive type="number">1</isconsecutive><savesreq type="number">2</savesreq></id-00221><id-00222><type type="string">poison</type><npc type="string">Amphisbaena</npc><name type="string">Poison</name><subtype type="string">Bite-injury</subtype><savetype type="string">fortitude</savetype><savedc type="number">14</savedc><req_dice type="dice" /><freq_unit type="string">1</freq_unit><duration_interval type="number">6</duration_interval><duration_unit type="string">.1</duration_unit><poison_effect_primary type="string">1d3 Con damage</poison_effect_primary><poison_effect_secondary type="string">1d3 Con damage</poison_effect_secondary><isconsecutive type="number">0</isconsecutive><type type="number">1</type></id-00222></category>

dellanx
December 28th, 2020, 00:39
Was looking at poisons, and ran across this:

Found several cool abilities that may enhance poison. Like Anathema (Ex) (https://www.d20pfsrd.com/classes/hybrid-classes/investigator/investigator-talents/paizo-investigator-talents/anathema-ex/), Eldritch Poisoner (https://aonprd.com/ArchetypeDisplay.aspx?FixedName=Alchemist%20Eldrit ch%20Poisoner).

bmos
December 28th, 2020, 12:26
Okay I've got the maladies in a form I can process and outputting to an xml format. Since I've never worked with XML before I'm just double checking this output will work for you before I start cranking through the poisons one by one.
Slight change:
<?xml version="1.0" encoding="iso-8859-1"?>
<root version="3.3" release="1|3.5E:17|CoreRPG:4">
<reference static="true">
<diseases>

Basically, get rid of the category tag and add in the root, reference, and diseases tags. Line breaks are also needed but I think that has to do with the forum stripping your formatting perhaps?

Finally, you have an issue with the frequency stuff. id-00220 has "<freq_dice type="dice" />" which doesn't do anything and doesn't have "<freq_interval type="number">1</freq_interval>" which it needs. The next line has a similar issue but it also has a typo: "<req_dice type="dice" />". There is also "<onset_dice type="dice" />" which isn't doing anything. I'm unsure whether these will cause issues, but I have been leaving them out when they aren't used.


Was looking at poisons, and ran across this:

Found several cool abilities that may enhance poison. Like Anathema (Ex) (https://www.d20pfsrd.com/classes/hybrid-classes/investigator/investigator-talents/paizo-investigator-talents/anathema-ex/), Eldritch Poisoner (https://aonprd.com/ArchetypeDisplay.aspx?FixedName=Alchemist%20Eldrit ch%20Poisoner).
Thanks, but both of those are far too specific to automate (not that they couldn't be, but rather the time spent would be large and the result would be small).
I'm trying to focus on things with mass appeal currently rather than named abilities for this reason.

dellanx
December 28th, 2020, 16:50
[QUOTE=bmos; Thanks, but both of those are far too specific to automate (not that they couldn't be, but rather the time spent would be large and the result would be small).
I'm trying to focus on things with mass appeal currently rather than named abilities for this reason.[/QUOTE]

Is there a way to add a sort function by "DC" and "Category Type" (i.e., contact, ingested, inhaled, or injury).

bmos
December 28th, 2020, 17:07
Is there a way to add a sort function by "DC" and "Category Type" (i.e., contact, ingested, inhaled, or injury).
I've been meaning to add more fields to sort by. I've added this to the Issues list (https://github.com/bmos/FG-PFRPG-Malady-Tracker/issues/10) to remind myself next time I have time to work on this.

tahl_liadon
January 4th, 2021, 03:12
.
hey... checking this out.

according to your helpful vid, i followed instructions; then up to 2:05 - 2:45, i advanced rounds but no dice auto-roll? nothing.

(however, when i dropped in leprosy, i get an immediate onset auto-roll).

either i'm missing a step or there is an extension conflict.

.
.
https://www.fantasygrounds.com/forums/attachment.php?attachmentid=42527

bmos
January 4th, 2021, 13:03
i advanced rounds but no dice auto-roll? nothing.
From the README (https://github.com/bmos/FG-PFRPG-Malady-Tracker#features):

Automated rolling of saving throws based on elapased time. This requires my Time Manager (which is based on pr6i6e6st's Clock Adjuster extension).

tahl_liadon
January 4th, 2021, 15:55
This requires my Time Manager
.

kk thx -- having issues with time manager (as you already know)... will loop back and report if i run into further issues once the other issue is resolved.

tahl_liadon
January 4th, 2021, 19:53
.
ok now that i have the time manager extension working (https://www.fantasygrounds.com/forums/showthread.php?63546-PFRPG-Time-Manager&p=569016#post569016), i tried to apply some maladies for testing.

the one in your video works perfectly as you illustrated. nice.

now, i put leprosy in as it has longer onset and duration (see image for reference).

i had set rolls automated for this test.

the initial roll when i dropped disease on pc happened to be 3 weeks onset. so to test this, i needed to advance +3 weeks.
so since there is no week adjustment, i put in 40 days (12 more days more than onset time).
i assumed if i advanced a round or 2 in tracker after this adjustment, it should pick up the time of 40 days have passed?
if that were the correct assumption, then the initial save (after 28 days) should have rolled automatically, or no?

there was no save roll.

i then reset everything (onset: 7 weeks or 49 days) and put in a drastic time advancement: 30 more days beyond the onset time.
still no save roll when i advanced round in combat tracker.

am i not understanding how the extension works with the combat tracker, and am missing something?
i was assuming the combat tracker is picking up time data from the time manager.
.
.
https://www.fantasygrounds.com/forums/attachment.php?attachmentid=42576

bmos
January 4th, 2021, 20:40
am i not understanding how the extension works with the combat tracker, and am missing something?I'll make a better video which should hopefully answer some of these questions!

tahl_liadon
January 4th, 2021, 21:39
I'll make a better video which should hopefully answer some of these questions!
.
that would be great!

might i suggest zooming in somehow to make everything bigger (not that i have issues with reading things small on-screen)...

it will help see what details you're illustrating. enlarging the video didn't help as that only made the resolution really low and details still illegible.

let me know if you'd like me to assist with anything in these efforts!

bmos
January 4th, 2021, 21:52
might i suggest zooming in somehow to make everything bigger (not that i have issues with reading things small on-screen)...
it will help see what details you're illustrating. enlarging the video didn't help as that only made the resolution really low and details still illegible.The downside of having a 4k monitor! My videos are illegible for those with less resolution.
I'll try to record the next one with FG in windowed-mode so that it is lower-resolution (and thus text and other small elements will be larger in the video).
Just posted it; processing will take a while but I think it should be more legible :)

tahl_liadon
January 5th, 2021, 22:40
Just posted it
.
very nice. the extra efforts is much appreciated.

bmos
January 6th, 2021, 02:32
.
very nice. the extra efforts is much appreciated.
Hopefully it explained it adequately? Let me know if there are any further questions about how it works.

Sudain
January 6th, 2021, 04:27
Hokay! Try two - is the data formatted correctly for what you are expecting? Thank you for the catches, I think I figured out the formatting and now ever field is prompted (but it's up to the human to not enter any data).

edit: and it seems to have eaten my spacing on the forum post. I can try uploading a file if that would help.

<?xml version="1.0" ?>
<root version="3.3" release="1|3.5E:17|CoreRPG:4">
<reference static="true">
<diseases>
<id-00220>
<description type="formattedtext">
<p>
<b>Source </b>
<i>Pathfinder Campaign Setting: Lost Kingdoms pg. 19</i>
</p>
</description>
<disease_effect type="formattedtext">
<p>1d2 Str damage and 1d2 Wis damage</p>
<p>A creature afflicted by ubashki fever develops unsightly splotches and sores all over its body that persist until the disease is cured.</p>
</disease_effect>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1440</freq_unit>
<isconsecutive type="number">1</isconsecutive>
<locked type="number">0</locked>
<name type="string">Ubashki Fever</name>
<onset_dice type="dice">d3</onset_dice>
<onset_unit type="string">1440</onset_unit>
<save_string type="string">DC 13 Fort 1/day after 1d3 days</save_string>
<savecount_consec type="number">0</savecount_consec>
<savedc type="number">13</savedc>
<savesreq type="number">2</savesreq>
<savetype type="string">fortitude</savetype>
<subtype type="string">injury</subtype>
<type type="string">disease</type>
</id-00220>
<id-00221>
<type type="string">disease</type>
<npc type="string">Akata</npc>
<name type="string">Void Death</name>
<subtype type="string">injury</subtype>
<savetype type="string">fortitude</savetype>
<savedc type="number">12</savedc>
<onset_interval type="number">1</onset_interval>
<onset_unit type="string">60</onset_unit>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1</freq_unit>
<disease_effect type="formattedtext">effect 1d2 Dex and 1d2 Con damage; an infected creature who dies rises as a void zombie 2d4 hours later (see below)</disease_effect>
<isconsecutive type="number">1</isconsecutive>
<savesreq type="number">2</savesreq>
</id-00221>
<id-00222>
<type type="string">poison</type>
<npc type="string">Amphisbaena</npc>
<name type="string">Poison</name>
<subtype type="string">injury</subtype>
<savetype type="string">fortitude</savetype>
<savedc type="number">14</savedc>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1</freq_unit>
<duration_interval type="number">6</duration_interval>
<duration_unit type="string">.1</duration_unit>
<poison_effect_primary type="string">1d3 Con</poison_effect_primary>
<poison_effect_secondary type="string">1d3 Con</poison_effect_secondary>
<isconsecutive type="number">0</isconsecutive>
<type type="number">1</type>
</id-00222>
<id-00223>
<type type="string">poison</type>
<npc type="string">Arenea</npc>
<name type="string">Poison</name>
<subtype type="string">injury</subtype>
<savetype type="string">fortitude</savetype>
<savedc type="number">14</savedc>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1</freq_unit>
<duration_interval type="number">6</duration_interval>
<duration_unit type="string">.1</duration_unit>
<poison_effect_primary type="string">1d3 Strength</poison_effect_primary>
<poison_effect_secondary type="string">1d3 Strength</poison_effect_secondary>
<isconsecutive type="number">0</isconsecutive>
<type type="number">1</type>
</id-00223>
</diseases>
</reference>
</root>

bmos
January 6th, 2021, 12:44
Hokay! Try two - is the data formatted correctly for what you are expecting?
It's getting there, id-00220 looks great.
id-00221 is missing the <save_string> tag and frequency is incorrect (should be 1/day but it's 1/rd)
id-00222 and id-00223 have the name "Poison", the type "1", duplicate information between primary and secondary poison effects, and both are missing the <save_string> tag

Sudain
January 6th, 2021, 15:37
It's getting there, id-00220 looks great.
id-00221 is missing the <save_string> tag and frequency is incorrect (should be 1/day but it's 1/rd)
id-00222 and id-00223 have the name "Poison", the type "1", duplicate information between primary and secondary poison effects, and both are missing the <save_string> tag

Sure, happy to add it! I didn't see <save_string> on the post on the first page, was that added to the spec later on? ...reads the 220 example closer... Derp. Yup, I can do that. And that's a great catch for the 'type' information, I'll track that down. Thank you for the double checks!

Actually 'Poison' is going to be a very common name for poisons I think.

Amphisbaena: https://www.d20pfsrd.com/bestiary/monster-listings/magical-beasts/amphisbaena/
Poison (Ex)
Bite—injury; save Fort DC 14; frequency 1/round for 6 rounds; effect 1d3 Con; cure 1 save.

Aranea: https://www.d20pfsrd.com/bestiary/monster-listings/magical-beasts/aranea/
Poison (Ex)
Bite—injury; save Fort DC 14; frequency 1/round for 6 rounds; effect 1d3 Strength; cure 1 save.

bmos
January 7th, 2021, 03:52
Sure, happy to add it! I didn't see <save_string> on the post on the first page, was that added to the spec later on? ...reads the 220 example closer... Derp. Yup, I can do that. And that's a great catch for the 'type' information, I'll track that down. Thank you for the double checks!

Actually 'Poison' is going to be a very common name for poisons I think.

Amphisbaena: https://www.d20pfsrd.com/bestiary/monster-listings/magical-beasts/amphisbaena/
Poison (Ex)
Bite—injury; save Fort DC 14; frequency 1/round for 6 rounds; effect 1d3 Con; cure 1 save.

Aranea: https://www.d20pfsrd.com/bestiary/monster-listings/magical-beasts/aranea/
Poison (Ex)
Bite—injury; save Fort DC 14; frequency 1/round for 6 rounds; effect 1d3 Strength; cure 1 save.Ah, sorry! I had not included that since it is auto-generated (but isn't when information is added to xml directly).
EDIT: If it helps, you can see how I am generating this string here (https://github.com/bmos/FG-PFRPG-Malady-Tracker/blob/3023437821fdf5cf389403340d1d9ab7ee35ab91/campaign/scripts/diseasedesc_stats.lua#L40) (the generateSaveString() function). This string is only used for display/readability purposes, so it doesn't have to conform exactly to this format (it just has to be readable to the user).

Regarding "Poison", perhaps (if the name would otherwise be just "Poison" and there is information in the NPC Field) you can combine NPC Name with "Poison" so it says "Aranea Poison"?

cancer
January 15th, 2021, 19:57
Hey question. I am running a very heavy poison usage character and I am trying to work with my DM to get this working and we are having a few struggles.

1: There doesn't seem to be anything tracking the rounds in a visual sort of way (it doesn't show how many rounds are currently left in either the maladies section, or on the combat tracker) Not sure if this is our own user error or if its intended to be that way.

2: Using auto rolls with the time manager extension its rolling its saves at the top of the combat tracker round as opposed to the start of the poisoned creatures turn like poisons are supposed to function.

3: When it auto rolls its rolling seemingly all remaining rounds left in the poison and then marking it expired all at once. But only sometimes? sometimes it will roll 3 rounds worth or a random number variation. To make it even more confusing, every now and then it will just work properly, but after deleting the poison and reapplying it again it will go right back to rolling all rounds at once again. I'm perplexed.

Any assistance would be welcome, as this extension seems fantastic and when working would really help simplify the bookkeeping me and the DM have to do with my poison management in combat.

P.S. I would love if there was some way to have a player interface that lets me apply these to creatures myself, since as it is now my DM pretty much has to do everything at my instruction haha.

bmos
January 16th, 2021, 16:48
Hey question. I am running a very heavy poison usage character and I am trying to work with my DM to get this working and we are having a few struggles.

1: There doesn't seem to be anything tracking the rounds in a visual sort of way (it doesn't show how many rounds are currently left in either the maladies section, or on the combat tracker) Not sure if this is our own user error or if its intended to be that way.

...

3: When it auto rolls its rolling seemingly all remaining rounds left in the poison and then marking it expired all at once. But only sometimes? sometimes it will roll 3 rounds worth or a random number variation. To make it even more confusing, every now and then it will just work properly, but after deleting the poison and reapplying it again it will go right back to rolling all rounds at once again. I'm perplexed.

Any assistance would be welcome, as this extension seems fantastic and when working would really help simplify the bookkeeping me and the DM have to do with my poison management in combat.

P.S. I would love if there was some way to have a player interface that lets me apply these to creatures myself, since as it is now my DM pretty much has to do everything at my instruction hahaGood suggestions. I'm not going to be able to work on these extensions for a while but I will add those to the to-do/issues list: [11] (https://github.com/bmos/FG-PFRPG-Malady-Tracker/issues/11) [12] (https://github.com/bmos/FG-PFRPG-Malady-Tracker/issues/12)

Not sure why you're seeing more than a single roll at a time. FG Unity or Classic?
Possibly you're advancing more than a single round (such as advancing a whole minute--10 rounds--using the time manager) so it's rolling all that are due?
For a single round you should advance via the "next turn" or "next round" buttons in the CT.


2: Using auto rolls with the time manager extension its rolling its saves at the top of the combat tracker round as opposed to the start of the poisoned creatures turn like poisons are supposed to function. Can you provide a source for this?
1 round represents 6 seconds and everyone is acting simultaneously (initiative is a game-mechanic that helps avoid talking over each other) (https://www.aonprd.com/Rules.aspx?Name=The%20Combat%20Round&Category=How%20Combat%20Works), so I don't see the difference?

DCrumb
January 16th, 2021, 17:34
bmos,

If you look at the last paragraph of the source you linked to, that is what I think cancer is sourcing. It is very similar to spells that last a certain number of rounds (start on casting initiative, end right before that initiative). So if a poison is applied on initiative count 11, runs for 5 rounds, and applies its effect each round, it should apply the effect at count 11, ending right before count 11 (but not 12) on the 6th round.

cancer
January 16th, 2021, 20:12
[QUOTE=Not sure why you're seeing more than a single roll at a time. FG Unity or Classic?
Possibly you're advancing more than a single round (such as advancing a whole minute--10 rounds--using the time manager) so it's rolling all that are due?
For a single round you should advance via the "next turn" or "next round" buttons in the CT.

Can you provide a source for this?
1 round represents 6 seconds and everyone is acting simultaneously (initiative is a game-mechanic that helps avoid talking over each other) (https://www.aonprd.com/Rules.aspx?Name=The%20Combat%20Round&Category=How%20Combat%20Works), so I don't see the difference?[/QUOTE]

We are using the unity version of Fantasy grounds, as well as all of our testing was done using the "next turn" button on the combat tracker, so I am unsure what other variable there is.

We never advanced any other way and got varying degrees of # of rolls made on 95% of our tests, even though we never changed how we advanced. I can talk to my gm and see if he can make a short recording or something if that would be helpful.


As far as the round timing for poisons triggering.
"At the next frequency interval (your next turn for 1/round poisons, 1 minute later for 1/minute, next day for 1/day) you must make a save on your turn (at any point during your turn – you must still make this save if you choose to delay)."

The reason it matters is because of where it happens in the initiative, this potentially gives other players the opportunity to react with or to the character who is poisoned before further poison saves (think heal checks, or delay poison spells, or even offensive spells like pernicious poisons, or accelerate poisons)

Source:
https://www.d20pfsrd.com/gamemastering/afflictions/poison/

It's a long page, the section specifically is after the table of poisons under the "how do poisons work" section

bmos
January 16th, 2021, 23:54
As far as the round timing for poisons triggering.
"At the next frequency interval (your next turn for 1/round poisons, 1 minute later for 1/minute, next day for 1/day) you must make a save on your turn (at any point during your turn – you must still make this save if you choose to delay)."

Source: https://www.d20pfsrd.com/gamemastering/afflictions/poison/Careful relying on d20pfsrd, that site has a lot of content that is non-official and the editors often include non-official rulings as if they were canon.
AoN PRD is the official SRD site as it contains no such inaccuracies and properly cites its sources (unlike d20pfsrd which doesn't--and can't because they make up things to clarify rules that are lacking in detail). The poison page is here (https://aonprd.com/Rules.aspx?Name=Poisons&Category=Diseases%20and%20Poisons) and does not contain that language.


We are using the unity version of Fantasy grounds, as well as all of our testing was done using the "next turn" button on the combat tracker, so I am unsure what other variable there is.Hmm. I'll have to look into that through some testing when I get a chance. I do know that there is some funniness with timing (see the demo video for an example, iirc). I have added this to the issues list as a known bug: [14] (https://github.com/bmos/FG-PFRPG-Malady-Tracker/issues/14)


The reason it matters is because of where it happens in the initiative, this potentially gives other players the opportunity to react with or to the character who is poisoned before further poison saves (think heal checks, or delay poison spells, or even offensive spells like pernicious poisons, or accelerate poisons)That's a tough one, it's really walking the line of metagaming IMO.
While the players obviously see each other being afflicted with maladies because the GM is saying it out loud, the characters would have a much harder time telling what is going on in the midst of combat and it seems to directly contradict the official description of how rounds/combat timing works.

cancer
January 17th, 2021, 00:16
I totally understand the grain of salt with pfsrd, though in this case I don't believe it to be the case.

Paizo has a blog article post by the lead designer specifically on poisons and how they work since they were explained somewhat poorly in the core books.

He covered some of the key functions including when the target makes their saves (see bullet point 3)

https://paizo.com/community/blog/v5748dyo5lc12&page=3?I-Drank-What-An-FAQ-on-Poison

I imagine since this wasn't scraped directly from the PDFs is the reason it didn't make it into AoN

(Sorry I'm not hyperlinking, posting on my phone atm)

bmos
January 17th, 2021, 00:21
I totally understand the grain of salt with pfsrd, though in this case I don't believe it to be the case.

Paizo has a blog article post by the lead designer specifically on poisons and how they work since they were explained somewhat poorly in the core books.

He covered some of the key functions including when the target makes their saves (see bullet point 3)

https://paizo.com/community/blog/v5748dyo5lc12&page=3?I-Drank-What-An-FAQ-on-Poison

I imagine since this wasn't scraped directly from the PDFs is the reason it didn't make it into AoN

(Sorry I'm not hyperlinking, posting on my phone atm)That is a much better link. Thanks!
I have added this to the issues list as an enhancement: [13] (https://github.com/bmos/FG-PFRPG-Malady-Tracker/issues/13)

cancer
January 17th, 2021, 00:27
Awesome, well I look forward to seeing where this goes.

Keep up the good work, just like with skyrim, FG mods make it so much better haha

Zygmunt Molotch
January 17th, 2021, 05:20
if you want to have the roll at any point during your turn (this is turn, as in, initiative step, not round, so it's only going to be edge case for immediate actions)

enable manual rolls

then it'll be hovering as a roll to be made, in the manual roller window, you as GM can then tell the player to roll a d20, and enter it's value accordingly

if you dont like manual rolls, turn it off, the next initiative step:D

Sudain
February 22nd, 2021, 21:37
Ah, sorry! I had not included that since it is auto-generated (but isn't when information is added to xml directly).
EDIT: If it helps, you can see how I am generating this string here (https://github.com/bmos/FG-PFRPG-Malady-Tracker/blob/3023437821fdf5cf389403340d1d9ab7ee35ab91/campaign/scripts/diseasedesc_stats.lua#L40) (the generateSaveString() function). This string is only used for display/readability purposes, so it doesn't have to conform exactly to this format (it just has to be readable to the user).

Regarding "Poison", perhaps (if the name would otherwise be just "Poison" and there is information in the NPC Field) you can combine NPC Name with "Poison" so it says "Aranea Poison"?

Sure, I can concatenate those two. Looking at primary and secondary effect of poisons, (for the two example poisons) I'd think they should be the same. Is that not what you are expecting?

<?xml version="1.0" ?>
<root version="3.3" release="1|3.5E:17|CoreRPG:4">
<reference static="true">
<diseases>
<id-00220>
<description type="formattedtext">
<p>
<b>Source </b>
<i>Pathfinder Campaign Setting: Lost Kingdoms pg. 19</i>
</p>
</description>
<disease_effect type="formattedtext">
<p>1d2 Str damage and 1d2 Wis damage</p>
<p>A creature afflicted by ubashki fever develops unsightly splotches and sores all over its body that persist until the disease is cured.</p>
</disease_effect>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1440</freq_unit>
<isconsecutive type="number">1</isconsecutive>
<locked type="number">0</locked>
<name type="string">Ubashki Fever</name>
<onset_dice type="dice">d3</onset_dice>
<onset_unit type="string">1440</onset_unit>
<save_string type="string">DC 13 Fort 1/day after 1d3 days</save_string>
<savecount_consec type="number">0</savecount_consec>
<savedc type="number">13</savedc>
<savesreq type="number">2</savesreq>
<savetype type="string">fortitude</savetype>
<subtype type="string">injury</subtype>
<type type="string">disease</type>
</id-00220>
<id-00221>
<type type="string">disease</type>
<npc type="string">Akata</npc>
<name type="string">Void Death</name>
<subtype type="string">injury</subtype>
<savetype type="string">fortitude</savetype>
<savedc type="number">12</savedc>
<onset_interval type="number">1</onset_interval>
<onset_unit type="string">60</onset_unit>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1</freq_unit>
<save_string type="string"> save Fort DC 12; onset 1 hour; frequency 1/day;</save_string>
<disease_effect type="formattedtext">1d2 Dex and 1d2 Con damage; an infected creature who dies rises as a void zombie 2d4 hours later (see below);</disease_effect>
<isconsecutive type="number">1</isconsecutive>
<savesreq type="number">2</savesreq>
</id-00221>
<id-00222>
<type type="string">poison</type>
<npc type="string">Amphisbaena</npc>
<name type="string">Amphisbaena Poison</name>
<subtype type="string">injury</subtype>
<savetype type="string">fortitude</savetype>
<savedc type="number">14</savedc>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1</freq_unit>
<duration_interval type="number">6</duration_interval>
<duration_unit type="string">.1</duration_unit>
<save_string type="string">save Fort DC 14</save_string>
<poison_effect_primary type="string">1d3 Con</poison_effect_primary>
<poison_effect_secondary type="string">1d3 Con</poison_effect_secondary>
<isconsecutive type="number">0</isconsecutive>
<savesreq type="number">1</savesreq>
</id-00222>
<id-00223>
<type type="string">poison</type>
<npc type="string">Aranea</npc>
<name type="string">Aranea Poison</name>
<subtype type="string">injury</subtype>
<savetype type="string">fortitude</savetype>
<savedc type="number">14</savedc>
<freq_interval type="number">1</freq_interval>
<freq_unit type="string">1</freq_unit>
<duration_interval type="number">6</duration_interval>
<duration_unit type="string">.1</duration_unit>
<save_string type="string">save Fort DC 14</save_string>
<poison_effect_primary type="string">1d3 Strength</poison_effect_primary>
<poison_effect_secondary type="string">1d3 Strength</poison_effect_secondary>
<isconsecutive type="number">0</isconsecutive>
<savesreq type="number">1</savesreq>
</id-00223>
</diseases>
</reference>

bmos
February 22nd, 2021, 23:03
Looking at primary and secondary effect of poisons, (for the two example poisons) I'd think they should be the same. Is that not what you are expecting?It's a rarely used statblock attribute. Look at poison oak (https://www.aonprd.com/Rules.aspx?Name=Poison%20Oak%20(CR%201%20or%203)&Category=Sample%20Hazards) for an example of what a primary/secondary effect poison looks like.
Typically, secondary effect should be empty.
You might want to add another example to your test set. One that has a variable onset (dice rather than fixed onset). Filth Fever is a good one.

bmos
February 25th, 2021, 04:25
https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases/tag/v2.5


moved maladies button higher in health section on PC sheet.
modified code for use with feb 16th 2021 ruleset updates
improved code in a few places
fix for potential script error when maladies expired

Zygmunt Molotch
February 26th, 2021, 04:49
still using same the same maladies.mod library?

bmos
February 26th, 2021, 15:16
still using same the same maladies.mod library?Yes, no changes needed to modules.
It's looking like Sudain's getting close to having creature poisons added though. Then my auto-linking code in Upgrade NPC Actions comes into play for real :D

RobboNJ69
February 28th, 2021, 04:21
Hello bmos, Great extension! Just downloaded and started playing with it. This saves a lot of time.

Question/Idea: would it be possible to calculate (roll) and output the actual damage to the chat window message and format it so instead of:
FAILURE EFFECT:
PRIMARY: 1d2 Con

It could show:
FAILURE; Bloodbrain Venom PRIMARY; CON: -2; (or whatever the roll was)

That would allow that line to be dragged right onto the combat tracker from the chat window. If it could incorporate the "STACK" command, even better.

Not sure if that would be a lot of work, but I'd be happy to put some time in to help. Either way, thanks for another amazing extension!

EDITED: Fixed the "CON: -2" to the proper effect format.
Also, even without the STACK, after the initial application, you could just add the resulting damage to the number already there.

Sudain
February 28th, 2021, 06:04
Yes, no changes needed to modules.
It's looking like Sudain's getting close to having creature poisons added though. Then my auto-linking code in Upgrade NPC Actions comes into play for real :D

Well it's more like I'm failing my managerial accounting course badly so my coping mechanism is rather than buckle down and study more; I procrastinate and do something else. >.<

It should add a bunch of poisons/disease/infestation definitions (400+ IIRC). It's not perfect, and so it'll probably require some spot-checking (I'm doing my best to ensure I type caps for things that will require attention like a DUPLICATE entry (which I still have no clue as to why it happened) and manual addition of maladies that the script missed. But 80-90% of them out there is a good start. I don't have an ETA yet. Depends on how badly I do on the next homework assignment....

Also, never hire me to do your accounting books.

Zygmunt Molotch
February 28th, 2021, 11:52
Yes, no changes needed to modules.
It's looking like Sudain's getting close to having creature poisons added though. Then my auto-linking code in Upgrade NPC Actions comes into play for real :D

is this what I think it sounds like? castable actions/spell for poisons from NPCs?


so it'll probably require some spot-checking dont'worry Sudain, give it to me, I'll break it, or my players will :D we'll change it as it goes :)

bmos
February 28th, 2021, 17:09
is this what I think it sounds like? castable actions/spell for poisons from NPCs?
No, it just adds a link to any relevant diseases on the NPC's Notes tab.

You can see this in action with a select few NPCs:
https://github.com/bmos/FG-PFRPG-Maladies-Library/releases/tag/v1.3

I have added your idea as issue [3] (https://github.com/bmos/FG-PFRPG-Upgrade-NPC-Actions/issues/3) on Upgrade NPC Actions

RobboNJ69
April 4th, 2021, 15:24
Hello bmos,
I just started using the Tracker Extension last night and found it is rolling all 6 rounds at once on the first round of the save.
45430

[4/4/2021 10:11:44 AM] [WARNING] Frame tabs contains out-of-range values in BottomLeft.
[4/4/2021 10:12:15 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil value
[4/4/2021 10:12:15 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil value
[4/4/2021 10:12:16 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil value
[4/4/2021 10:12:16 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil value
[4/4/2021 10:12:16 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil value
[4/4/2021 10:12:16 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil value

I updated FGU, reinstalled the Tracker Extension, Clock Manager, turned off all other extensions, then did a full restart. It is doing it with any of the poisons I test.
Am I missing something? Thanks!

bmos
April 4th, 2021, 22:47
I just started using the Tracker Extension last night and found it is rolling all 6 rounds at once on the first round of the save.
[4/4/2021 10:12:15 AM] [ERROR] Script execution error: [string "scripts/manager_action_diseasesave.lua"]:79: attempt to index a nil valueThanks for the report. I'm not seeing the multi-roll behavior but I am seeing the script error. Will fix that and hopefully it also addresses your other issue.

RobboNJ69
April 4th, 2021, 23:01
Will fix that and hopefully it also addresses your other issue.

Thanks, bmos!

bmos
April 4th, 2021, 23:18
Thanks, bmos!

posted. let me know if you're still seeing issues with rolls

RobboNJ69
April 4th, 2021, 23:53
It's still happening. I isolated the occurrence.

It only happens when the Clock Manager changes time. I tried it 8 different times and every time, on the same round that the Clock Manager posts: "The time is 6:44 AM" the save rolls 5 or 6 times.

I tested this by advancing the rounds 5-7 times, then applying the poison. It got to the '10th' round and rolled all the dice.
When I apply a 6 round poison in rounds 1-3, it works just fine.

EDIT: the log error, however, is gone - Thanks!

bmos
April 5th, 2021, 01:59
It's still happening. I isolated the occurrence.

It only happens when the Clock Manager changes time. I tried it 8 different times and every time, on the same round that the Clock Manager posts: "The time is 6:44 AM" the save rolls 5 or 6 times.

I tested this by advancing the rounds 5-7 times, then applying the poison. It got to the '10th' round and rolled all the dice.
When I apply a 6 round poison in rounds 1-3, it works just fine.

EDIT: the log error, however, is gone - Thanks!Ah, that helps a lot.
I have been meaning to rewrite that code anyway, since I want it to trigger on the correct initiative count rather than rolling all at the top of the round.

RobboNJ69
April 5th, 2021, 02:02
Ah, that helps a lot.


I'm glad that helped. Thanks for all the hard work you put into these extensions. They make the system a lot more efficient to use.

Sudain
April 5th, 2021, 03:04
Yes indeed, thank you a TON! :D

Working on the 's's right now, so still in progress.

Khoredran
April 6th, 2021, 17:45
Would there be a possibility to add the 6 types of insanity? It shouldn't be hard to implement, the only difference is that the DC lowers each saves by the CHA bonus of the target (min 1) and the saves must continue to be made until the DC eventually reaches 0. The frequency of the cure save is fixed to one week and the onset dice roll is already coded in the extension.

bmos
April 6th, 2021, 21:06
Would there be a possibility to add the 6 types of insanity? It shouldn't be hard to implement, the only difference is that the DC lowers each saves by the CHA bonus of the target (min 1) and the saves must continue to be made until the DC eventually reaches 0. The frequency of the cure save is fixed to one week and the onset dice roll is already coded in the extension.I have another extension for that, although it doesn't do automatic saving throws (at least not yet).
https://github.com/bmos/FG-PFRPG-Sanity-Tracker

Check out my thread in my signature, I have a bunch of extensions that might be hard to find on their own.

Khoredran
April 6th, 2021, 21:38
The thing is, the Sanity tracker didn't seem to be linked to the Clock Manager extension to automate rolls, that's why I went here to ask since it could be simply merged with the disease tracker. Also, the Sanity tracker doesn't seem to be linked to NPC's either, that's why I went for the malady extension since it seemed better implemented. The campaign I'm GMing is not using the Horror Adventures madness rules but only the 6 insanities from the Game Mastery guide, which are closer to how you coded the diseases.
Unless I am missing something?

bmos
April 6th, 2021, 23:18
The thing is, the Sanity tracker didn't seem to be linked to the Clock Manager extension to automate rolls, that's why I went here to ask since it could be simply merged with the disease tracker. Also, the Sanity tracker doesn't seem to be linked to NPC's either, that's why I went for the malady extension since it seemed better implemented. The campaign I'm GMing is not using the Horror Adventures madness rules but only the 6 insanities from the Game Mastery guide, which are closer to how you coded the diseases.
Unless I am missing something?Ah, was not aware of those. I'll look into it.

Zygmunt Molotch
April 7th, 2021, 06:42
Games Mastery madness stuff was supplanted by the release of Horror Adventures, so it's a bit of confusion about that, especially with some names...

Sudain
April 13th, 2021, 22:18
I think I got it done. (https://drive.google.com/file/d/15kUVzykfhNYVhqW-Wt2BGiZyKbNaQvBJ/view?usp=sharing)

Not 100% correct, but should be 90-95% correct. I believe that there are duplicates and there are some curses and infestations that would require a little TLC; but on the whole it should be a good start.

bmos
April 13th, 2021, 23:40
I think I got it done. (https://drive.google.com/file/d/15kUVzykfhNYVhqW-Wt2BGiZyKbNaQvBJ/view?usp=sharing)

Not 100% correct, but should be 90-95% correct. I believe that there are duplicates and there are some curses and infestations that would require a little TLC; but on the whole it should be a good start.Wow!! Awesome.
This will have recreated all the poisons and diseases that I had added previously, right? so I should just replace all the existing entries?

Sudain
April 14th, 2021, 16:10
This should be an addition, not a full replacement. I started at ID 221 IIRC.

bmos
April 14th, 2021, 16:42
This should be an addition, not a full replacement. I started at ID 221 IIRC.Ah, wasn't sure if you had skipped the ones I already added or not.
Great.

Sudain
April 14th, 2021, 23:12
Ah, wasn't sure if you had skipped the ones I already added or not.
Great.

:) Yup, just happy I could help. And I learned a ton about monsters and poisons/diseases along the way too. :D I just hope the end result helps people run their games a little bit better.

Khoredran
April 16th, 2021, 00:40
I have a question: when the malady entry from the Module is locked, in the description, we can't see with which NPC the corresponding malady is linked if any.
The moment I unlock the entry, the Associated NPC shows right away. Is this intended or should there be a visible line to know to which NPC the disease is related when the entry is locked?

Thank you ^^ Amazing job you both

Also, about Bubonic Plague, the Daughter of the Dead (Source: inner Sea World Guide) can give such a horrible disease with an onset: immediate. Could it be added?

Bubonic Plague: Great claw—injury; save Fortitude DC 20; onset immediate; frequency 1/day; effect 1d4 Con damage and target is fatigued; cure 2 consecutive saves. The save DC is Charisma-based.

Here I will add edits of Errors I think I found :
There is also a Morgod Jelly REMOVEME entry :P
Heartrot Disease SPECIAL entry seems special but I don't know why.
There is a disease named "p", seems horrible to catch!
Phycomid Spores ISDISEASEYETACTSLIKEPOISON seems like a weird name but there is another without the long caps tag
In Wendigo Psychosis, there are some weird writings: When a victim’s Wisdom reaches 1

These are the entries that are seen in exact doubles:
Cairn Linnorm Poison
Cave Scorpion Poison
Chillbane Fever
Druj Nasu Disease
Ettercap Poison
Fiendish Bile
Filth Fever (the Scarab Swarm one)
Giant Bee Poison
Mummy Rot
Nervous Consumption
Nightmare Ettercap Poison
Ningyo Flesh
Ochre Eurypterid Poison
Peuchen Poison
Shriezyx Queen Poison
Skull Ripper Poison
Stone Curse
Syricta Poison
Warmonger Wasp Poison

Some diseases have the same name but are slightly different, one for example has the source while the other doesn't, but their entries are the same for the rest.

bmos
April 16th, 2021, 00:49
I have a question: when the malady entry from the Module is locked, in the description, we can't see with which NPC the corresponding malady is linked if any.
The moment I unlock the entry, the Associated NPC shows right away. Is this intended or should there be a visible line to know to which NPC the disease is related when the entry is locked?

Thank you ^^ Amazing job you both

Also, about Bubonic Plague, the Daughter of the Dead (Source: inner Sea World Guide) can give such a horrible disease with an onset: immediate. Could it be added?

Bubonic Plague: Great claw—injury; save Fortitude DC 20; onset immediate; frequency 1/day; effect 1d4 Con damage and target is fatigued; cure 2 consecutive saves. The save DC is Charisma-based.

There is also a Morgod Jelly REMOVEME entry :PYes, that was by design. I was intending to have all disease entries merged into single listings, but this is more convenient although a bit messy (having different entries for different NPCs).
I will be making that visible in a future update. Thanks.

I have added that Bubonic Plague variant and will include in next update.

EDIT: have posted v1.5 (https://github.com/bmos/FG-PFRPG-Maladies-Library/releases/tag/v1.5) with all the changes you have posted up to this point. Thanks!

Sudain
April 17th, 2021, 05:05
There is a disease named "p", seems horrible to catch!

lol

Thank you for the double check and reporting errors.

RobboNJ69
April 27th, 2021, 02:02
Hello Everyone,
I'm hoping someone can point me in the right direction on correcting this. When I use any poison, after the first round, all 6 rounds of a poison's duration roll at once. <See Video>

https://youtu.be/ar463j4rMmg
I have FGU updated.
Only Malady Tracker and Clock Adjuster are installed for this test.
I deleted previous extension versions, opened FGU, closed and dropped in the latest copies (downloaded today), restarted FGU and this is what's happening. Since no one else is mentioning this, I'm assuming I'm the only one. What can I try to fix this?

Any guidance would be greatly appreciated.

bmos
April 27th, 2021, 02:36
Hello Everyone,
I'm hoping someone can point me in the right direction on correcting this. When I use any poison, after the first round, all 6 rounds of a poison's duration roll at once. <See Video>

https://youtu.be/ar463j4rMmg
I have FGU updated.
Only Malady Tracker and Clock Adjuster are installed for this test.
I deleted previous extension versions, opened FGU, closed and dropped in the latest copies (downloaded today), restarted FGU and this is what's happening. Since no one else is mentioning this, I'm assuming I'm the only one. What can I try to fix this?

Any guidance would be greatly appreciated.Unfortunately there is a bug with that. I am in the process of rewriting the timing code to be aware of initiative count.

RobboNJ69
April 27th, 2021, 02:54
Hello bmos! Thank you for the heads up. I'm actually relieved that it's a bug. That means its not just some crazy issue with my system/install/campaign file, etc.

Thanks for looking into it! If there is any help you need testing or anything just let me know.

Sudain
May 18th, 2021, 08:09
Last session the party's ranger got 4 negative levels due to energy drain. I've made a note of the time of day the negative levels were accrued and I've got the NLVL: 4; set so the math is happening, but this made me think of the Disease Tracker to tracking the time of day for the negative levels saves. Not sure if anyone else ran into this case or not but I'm curious to see how it'll work out mid-session and I thought I'd pass it on as a possible use and a possible addition to the maladie library so people can add it and manually edit the required save DC.


Negative levels remain until 24 hours have passed or until they are removed with a spell such as restoration. If a negative level is not removed before 24 hours have passed, the affected creature must attempt a Fortitude save (DC 10 + 1/2 the draining creature’s racial HD + the draining creature’s Cha modifier; the exact DC is given in the creature’s descriptive text). On a success, the negative level goes away with no harm to the creature. On a failure, the negative level becomes permanent. A separate saving throw is required for each negative level.

Zygmunt Molotch
May 18th, 2021, 08:21
Last session the party's ranger got 4 negative levels due to energy drain. I've made a note of the time of day the negative levels were accrued and I've got the NLVL: 4; set so the math is happening, but this made me think of the Disease Tracker to tracking the time of day for the negative levels saves. Not sure if anyone else ran into this case or not but I'm curious to see how it'll work out mid-session and I thought I'd pass it on as a possible use and a possible addition to the maladie library so people can add it and manually edit the required save DC.

would require a sub-type coded in, NLVL: 1 permanent I think

like have temp & perm bonuses

but that would be cool!

bmos
May 18th, 2021, 12:13
would require a sub-type coded in, NLVL: 1 permanent I think

like have temp & perm bonuses

but that would be cool!since the penalties are the same for temp/perm I usually just put it in as: Permanent; NLVL: 1 to help me remember how many have become permanent

Sudain
May 18th, 2021, 20:38
since the penalties are the same for temp/perm I usually just put it in as: Permanent; NLVL: 1

Interesting, I'll have to give that a try. Thank you!

RobboNJ69
May 19th, 2021, 17:32
Hello Everyone,
With the bug causing all the saves to roll at once, is there a workaround you all are using? I know bmos is working on that, but I see people talking about using it in the mean time. Am I missing something? Is there a way to use the extension with out the 'all rolls' issue popping up? Thanks!

bmos
May 19th, 2021, 17:34
Hello Everyone,
With the bug causing all the saves to roll at once, is there a workaround you all are using? I know bmos is working on that, but I see people talking about using it in the mean time. Am I missing something? Is there a way to use the extension with out the 'all rolls' issue popping up? Thanks!easiest would be to turn off the "auto rolls" toggle on each character's malady list

RobboNJ69
May 19th, 2021, 17:48
easiest would be to turn off the "auto rolls" toggle on each character's malady list

I guess that makes a lot of sense. I totally forgot you could do that. Thanks!

Sudain
June 8th, 2021, 01:24
Found a bug on Skull Ripper Poison, it's once per round, not once per minute. I shall now proceed to flog myself. :)

bmos
June 8th, 2021, 02:08
Found a bug on Skull Ripper Poison, it's once per round, not once per minute. I shall now proceed to flog myself. :)thanks. have fixed locally and on GitHub.

SmokeMeowt
July 13th, 2021, 20:37
Using the most recent versions of Maladies Library, as well as PFRPG Malady Tracker, none of the automation features work whatsoever. I'm not sure if the Frequency/Onset/Duration are supposed to be effected by the Clock Adjuster extension, but the Save roll button puts out an error (I have the logs compiled), the "Raise Duration by 50%" does nothing, and the "Raise Save DC by 2" button is the only one that works. I thoroughly enjoy this, I exclusively use the "Diseases" records library to create and store disease effects, giving the players use of the automation as well would be game-changing. Thanks for all the work you've openly given to the community!

bmos
July 13th, 2021, 20:43
Using the most recent versions of Maladies Library, as well as PFRPG Malady Tracker, none of the automation features work whatsoever. I'm not sure if the Frequency/Onset/Duration are supposed to be effected by the Clock Adjuster extension, but the Save roll button puts out an error (I have the logs compiled), the "Raise Duration by 50%" does nothing, and the "Raise Save DC by 2" button is the only one that works. I thoroughly enjoy this, I exclusively use the "Diseases" records library to create and store disease effects, giving the players use of the automation as well would be game-changing. Thanks for all the work you've openly given to the community!If you read the v2.7 changelog (https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases/tag/v2.7), you'll see that some of this is intentional. However, the errors obviously are not and I will take a look at fixing them :)
If the ClockAdjuster integration was working for you, stick with v2.6.

bmos
July 13th, 2021, 21:03
Malady Tracker (https://www.fantasygrounds.com/forums/showthread.php?60290-PFRPG-Disease-Tracker-Extension) v2.7 (https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases/tag/v2.7)
* Disable automatic rolls since they are not working correctly.
* Code improvements and potential script error fixes.
Click here to see raw code changes (https://github.com/bmos/FG-PFRPG-Malady-Tracker/compare/v2.6...v2.7)

Malady Tracker (https://www.fantasygrounds.com/forums/showthread.php?60290-PFRPG-Disease-Tracker-Extension) v2.8 (https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases/tag/v2.8)
* Fix roll saving throw button
* Hide auto-roll toggle since this feature is now disabled
* HOTFIX: Fix chat poison chat message not showing secondary effect (primary effect was being used twice)
Click here to see raw code changes (https://github.com/bmos/FG-PFRPG-Malady-Tracker/compare/v2.7...v2.8)

SmokeMeowt
July 13th, 2021, 21:26
Since I haven't fixed the auto-rolls of Malady Tracker yet (i am working on it sometimes, but I'm struggling):
Malady Tracker (https://www.fantasygrounds.com/forums/showthread.php?60290-PFRPG-Disease-Tracker-Extension) v2.7 (https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases/tag/v2.7)
* Disable automatic rolls since they are not working correctly.
* Code improvements and potential script error fixes.
Click here to see raw code changes (https://github.com/bmos/FG-PFRPG-Malady-Tracker/compare/v2.6...v2.7)

Malady Tracker (https://www.fantasygrounds.com/forums/showthread.php?60290-PFRPG-Disease-Tracker-Extension) v2.8 (https://github.com/bmos/FG-PFRPG-Malady-Tracker/releases/tag/v2.8)
* Fix roll saving throw button
* Hide auto-roll toggle since this feature is now disabled
Click here to see raw code changes (https://github.com/bmos/FG-PFRPG-Malady-Tracker/compare/v2.7...v2.8)

Thank you for the expedient reply. The fix to the Save roll button worked like a charm. The only issue I see now is the Chat window output simply duplicates whatever text you have in the "Primary" and "Secondary" fields. Just a nitpick.

Thanks again!

48187

bmos
July 13th, 2021, 22:13
The only issue I see now is the Chat window output simply duplicates whatever text you have in the "Primary" and "Secondary" fields.48187Thanks for that report! I have fixed it and re-uploaded. Just re-download v2.8.

Last Post
October 13th, 2021, 04:16
I'm sure this is covered somewhere but I can't find it. I'm looking to combine a save bonus with IFTAG to diseases and poisons rolled on the malady tracker but have had no success.

I've tried:
IFTAG: diseasetracker; SAVE 4 fortitude
IFTAG: poisontracker; SAVE 4 fortitude
IFTAG: maladytracker; SAVE 4 fortitude
IFTAG: disease, poison; SAVE 4 fortitude

mostly based off of the GitHub features section. I tried searching and reading through this thread but didn't see anything.

bmos
October 13th, 2021, 11:50
I'm sure this is covered somewhere but I can't find it. I'm looking to combine a save bonus with IFTAG to diseases and poisons rolled on the malady tracker but have had no success.

I've tried:
IFTAG: diseasetracker; SAVE 4 fortitude
IFTAG: poisontracker; SAVE 4 fortitude
IFTAG: maladytracker; SAVE 4 fortitude
IFTAG: disease, poison; SAVE 4 fortitude

mostly based off of the GitHub features section. I tried searching and reading through this thread but didn't see anything. You're missing colons after SAVE.
SAVE: 4 fortitude

Zygmunt Molotch
October 13th, 2021, 12:25
wait wait wait, is the autorolling back on ? :D

bmos
October 13th, 2021, 12:58
wait wait wait, is the autorolling back on ? :Dno. Last Post was referring to the buttons that roll saving throws.

Zygmunt Molotch
October 13th, 2021, 13:44
had my hopes up :p

Last Post
October 14th, 2021, 00:17
You're missing colons after SAVE.
SAVE: 4 fortitude

Sorry I actually had the colon in there but it still doesn't trigger for the malady tracker. With the last (IFTAG: poison, disease) it works on things like the poison spell but not poisons or diseases off the tracker using the clock extension. Is that a known issue? Or is it probably a conflict with one of the other extensions I'm running?

bmos
October 14th, 2021, 00:49
Sorry I actually had the colon in there but it still doesn't trigger for the malady tracker. With the last (IFTAG: poison, disease) it works on things like the poison spell but not poisons or diseases off the tracker using the clock extension. Is that a known issue? Or is it probably a conflict with one of the other extensions I'm running?Probably a conflict although I haven't tested that extension lately.
You're using Kelrugem's Full Overlay Package, right?

Last Post
October 14th, 2021, 00:51
Probably a conflict although I haven't tested that extension lately.
You're using Kelrugem's Full Overlay Package, right?

Yeah. I'm using that one and quite a few others. I'll start testing tonight to figure out where the conflict is.

Edit: Confirmation on my end that it appears Kelrugem's Full overlay doesn't play well.

Landa
May 29th, 2022, 18:42
Is this extension still compatible? I've started getting some errors in the last few months and doesn't seem to work correctly.

52970

bmos
May 29th, 2022, 23:28
Is this extension still compatible? I've started getting some errors in the last few months and doesn't seem to work correctly.

52970Hmm. I don't have any scripts with that name so it's probably an incompatibility with some other extension you're using.
Try disabling them one by one and see when the error stops happening.

Dragovon
October 22nd, 2022, 06:13
So every time I try to load the module, it throws an error "Process Date File (PFRPG SRD Maladies): An error occurred while parsing EntityName. Line 106, position 69. Any ideas?

bmos
October 22nd, 2022, 12:28
Did you get it from the Forge?
If you have installed manually you should remove and re-install from the Forge.

Navigat0r
November 10th, 2022, 15:04
Hello! I was wondering if the automatic rolling of saves at certain time intervals (as with leprosy in the instructional video) work with the clock adjuster extension? Or does such functionality require the use of the time manager extension? I am asking as there was comment on the youtube video indicating that work has stopped on both extensions (though the comment is a year old).

bmos
November 10th, 2022, 15:37
Hello! I was wondering if the automatic rolling of saves at certain time intervals (as with leprosy in the instructional video) work with the clock adjuster extension? Or does such functionality require the use of the time manager extension? I am asking as there was comment on the youtube video indicating that work has stopped on both extensions (though the comment is a year old).Ah, that auto rolling was disabled a while back as it was rolling the wrong number of saves. Since the functionality I needed to do it right was not available in Clock Adjuster, I started working on adding needed features to it but when the original author returned to resume work on it I stopped (since they have no public code repository).
I'm still updating Maladies Tracker when there is a problem reported, but it requires users to keep track when to roll. So basically at this point it is a) a list to keep track of diseases and poisons in and b) a tool for calculating dcs and rolling/tracking saves

Navigat0r
November 10th, 2022, 15:50
Ah, that auto rolling was disabled a while back as it was rolling the wrong number of saves. Since the functionality I needed to do it right was not available in Clock Adjuster, I started working on adding needed features to it but when the original author returned to resume work on it I stopped (since they have no public code repository).
I'm still updating Maladies Tracker when there is a problem reported, but it requires users to keep track when to roll. So basically at this point it is a) a list to keep track of diseases and poisons in and b) a tool for calculating dcs and rolling/tracking saves

Okay, just wanted to check. Thank you for this great extension bmos :)

drakir
July 15th, 2023, 00:04
Jumping from extension to extension tonight finding things that look to me like bugs. Sorry bmos. I swear I love your work!
Two items I found this evening:
1) Kraken Ink is supposed to be 1/round for 10 rounds. It is populated as 1/minute instead.
2) I'm running a variant so the save DC on Kraken Ink is higher than it ought to be. I copied Kraken Ink, and started modifying. Changed the frequency units (item 1) without problem. Changed the Associated NPC to the one I'll be using. Cannot change the Save DC. Looks like all the integers down that column (Save DC, Onset time, frequency time, duration time, # of saves) are locked against me.
Generated a brand new malady, those columns are locked there too.

Sudain
July 15th, 2023, 03:26
Jumping from extension to extension tonight finding things that look to me like bugs. Sorry bmos. I swear I love your work!
Two items I found this evening:
1) Kraken Ink is supposed to be 1/round for 10 rounds. It is populated as 1/minute instead.


Chalk this up to bad data entry on my part!

bmos
July 15th, 2023, 13:09
Jumping from extension to extension tonight finding things that look to me like bugs. Sorry bmos. I swear I love your work!
Two items I found this evening:
1) Kraken Ink is supposed to be 1/round for 10 rounds. It is populated as 1/minute instead.
2) I'm running a variant so the save DC on Kraken Ink is higher than it ought to be. I copied Kraken Ink, and started modifying. Changed the frequency units (item 1) without problem. Changed the Associated NPC to the one I'll be using. Cannot change the Save DC. Looks like all the integers down that column (Save DC, Onset time, frequency time, duration time, # of saves) are locked against me.
Generated a brand new malady, those columns are locked there too.Thanks, I've posted an update to the library for the Kraken Ink.
I can't reproduce the other issue you had though.

bmos
August 30th, 2023, 02:04
Just posted v2.13 to the forge that has compatibility updates for the latest ruleset release.

sadgett
April 5th, 2024, 17:55
There seems to be an issue with FGU 4.5.4. When I attempt to add a malady (via drag-n-drop from malady list) the following error is reported.

[4/5/2024 11:52:06 AM] [ERROR] Script execution error: [string "..FRPG-Malady-Tracker:..ipts/adddisease.lua"]:12: attempt to call field 'resolveRefNode' (a nil value)

bmos
April 8th, 2024, 01:12
There seems to be an issue with FGU 4.5.4. When I attempt to add a malady (via drag-n-drop from malady list) the following error is reported.

[4/5/2024 11:52:06 AM] [ERROR] Script execution error: [string "..FRPG-Malady-Tracker:..ipts/adddisease.lua"]:12: attempt to call field 'resolveRefNode' (a nil value)Thanks for this, I have pushed a fix.
Just got power back today after 72 hours ��