PDA

View Full Version : Stop Save Confusion!



Willot
March 27th, 2020, 23:54
It seems no matter how long one has been using FG, people still get confused when they roll saves for the NPC saves from their spells. When it comes up [SUCCESS] you brain tell you it applies you your spell when it is infact the NPC's save result.
A simple change would fix this. See IMAGE
32679

VOTE for it HERE! (https://fg2app.idea.informer.com/proj/fg2app?ia=132637)

ONLY YOU CAN STOP SAVE CONFUSION!! :confused:

Beemanpat
March 28th, 2020, 02:56
This would be nice. It still tricks me with the wording the way it currently is.

damned
March 28th, 2020, 04:12
Try this - Ive just uploaded a new version with some variant save and fail messages.
If you have any suggestions Im listening...
(but no promises Ill implement them)

Beemanpat
March 28th, 2020, 04:33
Where was that hiding. Thanks damned.

Btw really enjoying your player agency ext.

damned
March 28th, 2020, 04:51
Where was that hiding. Thanks damned.

Btw really enjoying your player agency ext.

I just made it - and thanks!

damned
March 28th, 2020, 05:19
Ive just uploaded a new version with some variant save and fail messages.
If you have any suggestions Im listening...
(but no promises Ill implement them)

Willot
March 28th, 2020, 13:50
Nice one, but Im now into pathfinder 2e, doesn't work for pf2 need someone doin 5e to try. Or change for core. I did try on pf2 but just caused a lot of errors. Wouldnt of thought the basic stuff woulda been so different, but it is

damned
March 28th, 2020, 14:36
You didnt specify a ruleset in your post....

Trenloe
March 28th, 2020, 14:49
Wouldnt of thought the basic stuff woulda been so different, but it is
A "save" is actually not "basic stuff" when it comes down to D&D 5E vs. Pathfinder Second Edition. Bonuses and how they are handled are different. Critical success and critical failures, along with natural 1's and 20's are different. And a big difference is that the PFRPG2 ruleset takes into account "traits" - which provides a lot more functionality and a finer filter, but complicates the process.

These are some of the reasons why the mainstream rulesets all have potentially quite different manager_action_XXXX.lua script files.

Dax Doomslayer
March 28th, 2020, 16:22
Ive just uploaded a new version with some variant save and fail messages.
If you have any suggestions Im listening...
(but no promises Ill implement them)

Hey damned,
I hope all is well. I tried to load with this extension using the 5E rules set and I'm getting the following script error:

Script Error [string "scripts/manager_action_save.lua"]: 463: unexpected symbol near FailsSavingThrow
Ruleset Warning: Could not load icon resource (AFAL_modestandard)

There were initially a couple of others but it looks like when I turned off the Local Dice Tower extension and the Death Indicator extension, the errors disappeared. I'm wondering if this is another extension conflict or something else...

Thanks!

Willot
March 28th, 2020, 21:37
You didnt specify a ruleset in your post....

Nope, sorry I didn't. I must admit I did assume at the time changing the text wasnt too ruleset dependant

Willot
March 28th, 2020, 23:07
Ok here it is for PFRPG2
Better save descriptions for PFRPG2 (https://drive.google.com/file/d/1OlFwUJoDmTw5zhMVGSbU75f9spSqCw0G/view?usp=sharing)

(It seems to work but Im not as experienced with FG code as Damned is)

celestian
March 29th, 2020, 01:03
It seems no matter how long one has been using FG, people still get confused when they roll saves for the NPC saves from their spells. When it comes up [SUCCESS] you brain tell you it applies you your spell when it is infact the NPC's save result.
A simple change would fix this. See IMAGE
32679

ONLY YOU CAN STOP SAVE CONFUSION!! :confused:

I've tweaked the AD&D 2E ruleset to display [TARGET-SAVED] or [TARGET-FAILED] if an origin of the save exists (something is forcing them to save). Adding in the name of the creature would get cumbersome with the names some npcs might have.

Willot
March 29th, 2020, 01:13
I've tweaked the AD&D 2E ruleset to display [TARGET-SAVED] or [TARGET-FAILED] if an origin of the save exists (something is forcing them to save). Adding in the name of the creature would get cumbersome with the names some npcs might have.

True and it would be an easier change, but I like the name (until something happens that causes concern)

damned
March 29th, 2020, 02:47
Hey damned,
I hope all is well. I tried to load with this extension using the 5E rules set and I'm getting the following script error:

Script Error [string "scripts/manager_action_save.lua"]: 463: unexpected symbol near FailsSavingThrow
Ruleset Warning: Could not load icon resource (AFAL_modestandard)

There were initially a couple of others but it looks like when I turned off the Local Dice Tower extension and the Death Indicator extension, the errors disappeared. I'm wondering if this is another extension conflict or something else...

Thanks!

Dax anything that also wants to modify manager_action_save.lua is going to conflict with this extension and vice versa. Youre gonna have to choose which ones do more for you (unlikely this one).

You can try replacing the function applySave(rSource, rOrigin, rAction, sUser) in the other extensions with this one....



function applySave(rSource, rOrigin, rAction, sUser)
local msgShort = {font = "msgfont"};
local msgLong = {font = "msgfont"};

msgShort.text = "Save";
msgLong.text = "Save [" .. rAction.nTotal .. "]";
if rAction.nTarget > 0 then
msgLong.text = msgLong.text .. "[vs. DC " .. rAction.nTarget .. "]";
end
msgShort.text = msgShort.text .. " ->";
msgLong.text = msgLong.text .. " ->";
if rSource then
msgShort.text = msgShort.text .. " [for " .. ActorManager.getDisplayName(rSource) .. "]";
msgLong.text = msgLong.text .. " [for " .. ActorManager.getDisplayName(rSource) .. "]";
end
if rOrigin then
msgShort.text = msgShort.text .. " [vs " .. ActorManager.getDisplayName(rOrigin) .. "]";
msgLong.text = msgLong.text .. " [vs " .. ActorManager.getDisplayName(rOrigin) .. "]";
end

msgShort.icon = "roll_cast";

local sAttack = "";
local bHalfMatch = false;
if rAction.sSaveDesc then
sAttack = rAction.sSaveDesc:match("%[SAVE VS[^]]*%] ([^[]+)") or "";
bHalfMatch = (rAction.sSaveDesc:match("%[HALF ON SAVE%]") ~= nil);
end
rAction.sResult = "";

if rAction.nTarget > 0 then
if rAction.nTotal >= rAction.nTarget then

nSaveDesc = math.random(1, 10);
if nSaveDesc == 1 then
sSaveDesc = " avoids the magic! Successful Save!]"
elseif nSaveDesc == 2 then
sSaveDesc = " dodges the magic! Successful Save!]"
elseif nSaveDesc == 3 then
sSaveDesc = " resists the magic! Successful Save!]"
elseif nSaveDesc == 4 then
sSaveDesc = " seems immune to the magic! Successful Save!]"
elseif nSaveDesc == 5 then
sSaveDesc = " forges through! Successful Save!]"
elseif nSaveDesc == 6 then
sSaveDesc = " defies the magic! Successful Save!]"
elseif nSaveDesc == 7 then
sSaveDesc = " repels the magic! Successful Save!]"
elseif nSaveDesc == 8 then
sSaveDesc = " thwarts the magic! Successful Save!]"
elseif nSaveDesc == 9 then
sSaveDesc = " contends with the magic! Successful Save!]"
elseif nSaveDesc == 10 then
sSaveDesc = " holds out against the magic! Successful Save!]"
end

msgLong.text = msgLong.text .. " [" .. ActorManager.getDisplayName(rSource) .. sSaveDesc;

if rSource then
local bHalfDamage = bHalfMatch;
local bAvoidDamage = false;
if bHalfDamage then
if EffectManager5E.hasEffectCondition(rSource, "Avoidance") then
bAvoidDamage = true;
msgLong.text = msgLong.text .. " [AVOIDANCE]";
elseif EffectManager5E.hasEffectCondition(rSource, "Evasion") then
local sSave = rAction.sDesc:match("%[SAVE%] (%w+)");
if sSave then
sSave = sSave:lower();
end
if sSave == "dexterity" then
bAvoidDamage = true;
msgLong.text = msgLong.text .. " [EVASION]";
end
end
end

if bAvoidDamage then
rAction.sResult = "none";
rAction.bRemoveOnMiss = false;
elseif bHalfDamage then
rAction.sResult = "half_success";
rAction.bRemoveOnMiss = false;
end

if rOrigin and rAction.bRemoveOnMiss then
TargetingManager.removeTarget(ActorManager.getCTNo deName(rOrigin), ActorManager.getCTNodeName(rSource));
end
end
else
nFailDesc = math.random(1, 5);
if nFailDesc == 1 then
sFailDesc = " succumbs! Fails Saving Throw!]"
elseif nFailDesc == 2 then
sFailDesc = " is affected! Fails Saving Throw!]"
elseif nFailDesc == 3 then
sFailDesc = " is struck! Fails Saving Throw!]"
elseif nFailDesc == 4 then
sFailDesc = " fails to resist! Fails Saving Throw!]"
elseif nFailDesc == 5 then
sFailDesc = " wilts! Fails Saving Throw!]"
end

msgLong.text = msgLong.text .. " [" .. ActorManager.getDisplayName(rSource) .. sFailDesc; " Fails Saving Throw!]";

if rSource then
local bHalfDamage = false;
if bHalfMatch then
if EffectManager5E.hasEffectCondition(rSource, "Avoidance") then
bHalfDamage = true;
msgLong.text = msgLong.text .. " [AVOIDANCE]";
elseif EffectManager5E.hasEffectCondition(rSource, "Evasion") then
local sSave = rAction.sDesc:match("%[SAVE%] (%w+)");
if sSave then
sSave = sSave:lower();
end
if sSave == "dexterity" then
bHalfDamage = true;
msgLong.text = msgLong.text .. " [EVASION]";
end
end
end

if bHalfDamage then
rAction.sResult = "half_failure";
end
end
end
end

ActionsManager.outputResult(rAction.bSecret, rSource, rOrigin, msgLong, msgShort);

if rSource and rOrigin then
ActionDamage.setDamageState(rOrigin, rSource, StringManager.trim(sAttack), rAction.sResult);
end
end

damned
March 29th, 2020, 02:48
Ill create a new thread with 5E and PF2 versions and new descriptors shortly.

celestian
March 29th, 2020, 09:18
True and it would be an easier change, but I like the name (until something happens that causes concern)

In the AD&D ruleset's case I made sure to use a variable that can be easily overridden by an extension if someone wants to tweak it.

I was mostly getting concerned at the already-long string of text... particularly since the name of the target is already noted. Tho that could just be in the 2E ruleset. I'm not familiar with the 5E/PF rulesets extensively.

Fail:
https://i.imgur.com/BDuFTtI.png

Success:
https://i.imgur.com/zAr8rmr.png

damned
March 29th, 2020, 09:42
The only thing with that Mike is that its still ambiguous whether the tick means good or tick means bad.
But I love the tick and exclamation!

tahl_liadon
March 29th, 2020, 15:45
.
this is a great topic, and a overdue needed solution X-D

i think the best solution so far is in the image @celstian post -- minus the exclamation and tick marks (see mockup up below).

i need this for pf1 plz! X-D

32760

(btw @celestian, how does one post an image and have it display in post like that, as opposed to a link?)

the extra symbols are just more noise and i think would still not resolve the issue.
usability-wise, the symbols draw too much attention to themselves,
and user would still not quickly determine whether target failed/saved or vice versa without reading text next to it.
personally, i've been trained to look at the last line; and that simple addition of the word "target" is simply genius.

celestian
March 29th, 2020, 20:25
.
this is a great topic, and a overdue needed solution X-D

i think the best solution so far is in the image @celstian post -- minus the exclamation and tick marks (see mockup up below).

i need this for pf1 plz! X-D

https://i.imgur.com/43B890U.png(btw @celestian, how does one post an image and have it display in post like that, as opposed to a link?)

the extra symbols are just more noise and i think would still not resolve the issue.
usability-wise, the symbols draw too much attention to themselves,
and user would still not quickly determine whether target failed/saved or vice versa without reading text next to it.
personally, i've been trained to look at the last line; and that simple addition of the word "target" is simply genius.


The images are more visual versions than the color of the result text (you'll note failure is purple and success is green text as well). If that is a problem then you'd want to remove that color indicator as well... which for me I'm not willing to do at this time. It and the images I find are quick methods to visually know what happened without having to read the text (which in some cases will be a wall of text if you're forcing a room full of orcs to save).

If someone wants to make an extension to tweak it then it would be in manager_action_save.lua in function applySave(rSource, rOrigin, rAction, sUser).

I can help someone with that if they have issues sorting it out but it's pretty simple.

To do inline images....

https://i.imgur.com/SZoQUrO.gif

tahl_liadon
March 29th, 2020, 20:38
.
thx @celestian.
1) so essentially, to show an image in-post, you have to host image somewhere else then include link, instead of uploading image into post. correct?

2) regarding how to get that failed / save text into the interface.... i kept (re)reading and was really not quite getting how it could happen.
is someone planning to do an extension, or do i have to do some code hacking in certain file(s)?

this would be for pfrpg(1) btw

celestian
March 29th, 2020, 20:45
.
thx @celestian.
1) so essentially, to show an image in-post, you have to host image somewhere else then include link, instead of uploading image into post. correct?

2) regarding how to get that failed / save text into the interface.... i kept (re)reading and was really not quite getting how it could happen.
is someone planning to do an extension, or do i have to do some code hacking in certain file(s)?

this would be for pfrpg(1) btw



Correct, I use imgur.com and a screen snipping tool called ShareX (windows) that uploads directly to it. I just snip, it puts the url in copy buffer and I paste it in.

For PF it would depend on where they manage saves. I don't know much about PF as I said but I think it's layered on 3.5e ruleset and the location is the same there. Depending on how it displays all you'd need to do is tweak the text to your liking. You'd want to check that "rOrigin" exists and if it does then you can assume it's a save because someone forced them. Otherwise you probably want to leave the text alone.



function applySave(rSource, rOrigin, rAction, sUser)
local msgShort = {font = "msgfont"};
local msgLong = {font = "msgfont"};

msgShort.text = "Save";
msgLong.text = "Save [" .. rAction.nTotal .. "]";
if rAction.nTarget then
msgLong.text = msgLong.text .. "[vs. DC " .. rAction.nTarget .. "]";
end
msgShort.text = msgShort.text .. " ->";
msgLong.text = msgLong.text .. " ->";
if rSource then
msgShort.text = msgShort.text .. " [for " .. ActorManager.getDisplayName(rSource) .. "]";
msgLong.text = msgLong.text .. " [for " .. ActorManager.getDisplayName(rSource) .. "]";
end
if rOrigin then
msgShort.text = msgShort.text .. " [vs " .. ActorManager.getDisplayName(rOrigin) .. "]";
msgLong.text = msgLong.text .. " [vs " .. ActorManager.getDisplayName(rOrigin) .. "]";
end

msgShort.icon = "roll_cast";

local sAttack = "";
local bHalfMatch = false;
if rAction.sSaveDesc then
sAttack = rAction.sSaveDesc:match("%[SAVE VS[^]]*%] ([^[]+)") or "";
bHalfMatch = (rAction.sSaveDesc:match("%[HALF ON SAVE%]") ~= nil);
end
rAction.sResult = "";

if rAction.sSaveResult == "autosuccess" or rAction.sSaveResult == "success" then
if rAction.sSaveResult == "autosuccess" then
msgLong.text = msgLong.text .. " [AUTOMATIC SUCCESS]";
else
msgLong.text = msgLong.text .. " [SUCCESS]";
end

if rSource then
local bHalfDamage = bHalfMatch;
local bAvoidDamage = false;
if bHalfDamage then
local sSave = rAction.sDesc:match("%[SAVE%] (%w+)");
if sSave then
sSave = sSave:lower();
end
if sSave == "reflex" then
if EffectManager35E.hasEffectCondition(rSource, "Improved Evasion") then
bAvoidDamage = true;
msgLong.text = msgLong.text .. " [IMPROVED EVASION]";
elseif EffectManager35E.hasEffectCondition(rSource, "Evasion") then
bAvoidDamage = true;
msgLong.text = msgLong.text .. " [EVASION]";
end
end
end

if bAvoidDamage then
rAction.sResult = "none";
rAction.bRemoveOnMiss = false;
elseif bHalfDamage then
rAction.sResult = "half_success";
rAction.bRemoveOnMiss = false;
end

if rOrigin and rAction.bRemoveOnMiss then
TargetingManager.removeTarget(ActorManager.getCTNo deName(rOrigin), ActorManager.getCTNodeName(rSource));
end
end
else
if rAction.sSaveResult == "autofailure" then
msgLong.text = msgLong.text .. " [AUTOMATIC FAILURE]";
else
msgLong.text = msgLong.text .. " [FAILURE]";
end

if rSource then
local bHalfDamage = false;
if bHalfMatch then
local sSave = rAction.sDesc:match("%[SAVE%] (%w+)");
if sSave then
sSave = sSave:lower();
end
if sSave == "reflex" then
if EffectManager35E.hasEffectCondition(rSource, "Improved Evasion") then
bHalfDamage = true;
msgLong.text = msgLong.text .. " [IMPROVED EVASION]";
end
end
end

if bHalfDamage then
rAction.sResult = "half_failure";
end
end
end

ActionsManager.outputResult(rAction.bSecret, rSource, rOrigin, msgLong, msgShort);

if rSource and rOrigin then
ActionDamage.setDamageState(rOrigin, rSource, StringManager.trim(sAttack), rAction.sResult);
end
end

Kelrugem
March 29th, 2020, 22:56
.
thx @celestian.
1) so essentially, to show an image in-post, you have to host image somewhere else then include link, instead of uploading image into post. correct?

2) regarding how to get that failed / save text into the interface.... i kept (re)reading and was really not quite getting how it could happen.
is someone planning to do an extension, or do i have to do some code hacking in certain file(s)?

this would be for pfrpg(1) btw


It is fairly easy as Celestian outlined :) But beware, since I know you use my extensions, this will surely be incompatible with my extension, so you may have to open my extension and change that there rather than writing an own extension :) When you tell me which extension you use, then I can change it for you, too :) but I do not intend to change it in general, would just be for you then, because my mind is already used to think in the perspective of the person who saves such that the chat and the save overlays (as here https://www.fantasygrounds.com/forums/showthread.php?50143-Save-overlay-extension-(idea-from-Ken-L) , just in case you did not know about that :) ) already make sense for me; also it would take me now too much time to change the overlays, too, to respect the other perspective :)

celestian
March 29th, 2020, 23:15
It is fairly easy as Celestian outlined :) But beware, since I know you use my extensions, this will surely be incompatible with my extension, so you may have to open my extension and change that there rather than writing an own extension :) When you tell me which extension you use, then I can change it for you, too :) but I do not intend to change it in general, would just be for you then, because my mind is already used to think in the perspective of the person who saves such that the chat and the save overlays (as here https://www.fantasygrounds.com/forums/showthread.php?50143-Save-overlay-extension-(idea-from-Ken-L) , just in case you did not know about that :) ) already make sense for me; also it would take me now too much time to change the overlays, too, to respect the other perspective :)

If it so happens your extension doesn't directly change "applySave(rSource, rOrigin, rAction, sUser)" then he should be ok so long as they just replace that function.

If you do then, well ignore me ;)

Kelrugem
March 29th, 2020, 23:21
If it so happens your extension doesn't directly change "applySave(rSource, rOrigin, rAction, sUser)" then he should be ok so long as they just replace that function.

If you do then, well ignore me ;)

Sadly, every extension of my extensions, which changes manager_action_save, surely also changes this function; but otherwise good idea to just overwrite this one function ;)

celestian
March 29th, 2020, 23:35
Sadly, every extension of my extensions, which changes manager_action_save, surely also changes this function; but otherwise good idea to just overwrite this one function ;)

To make sure we're talking about the same thing... while you might be overriding manager_action_save if you're not directly altering the function I mentioned he could do a narrow override of just that and not break your work using his own custom global script and changing it via



function onInit()
ActionSave.applySave = applySaveCustom;
end


function applySaveCustom(rSource, rOrigin, rAction, sUser)
... etc...
end



So, unless you're altering the save text output/icons they could. I do similar things so that I can reduce my "backport" work from 5e by just replacing a single function and leaving all the rest.

Sorry if I'm preaching to the choir here but this was something that I didn't learn for a while and it's been extremely useful.

Kelrugem
March 30th, 2020, 00:05
To make sure we're talking about the same thing... while you might be overriding manager_action_save if you're not directly altering the function I mentioned he could do a narrow override of just that and not break your work using his own custom global script and changing it via



function onInit()
ActionSave.applySave = applySaveCustom;
end


function applySaveCustom(rSource, rOrigin, rAction, sUser)
... etc...
end



So, unless you're altering the save text output/icons they could. I do similar things so that I can reduce my "backport" work from 5e by just replacing a single function and leaving all the rest.

Sorry if I'm preaching to the choir here but this was something that I didn't learn for a while and it's been extremely useful.

Thanks, and yes, I understood :) I am doing such approaches from time to time, too, when I think about that :) (most of the time I forget that :D ) What I meant before, is that I indeed overwrite the function applySave, too :) (because evasion is coded there, too, in 3.5/PF1 and I improved that code to make these effects a bit more versatile :) )

Kelrugem
March 30th, 2020, 00:16
But, moreover, in that special situation an overwrite of the function would not work when I remember Moon Wizard's instruction with respect to that :) (even when I would not overwrite it) The reason for this is that applySave gets called in the script manager_action_save.lua, too (e.g. in handleApplySave by the line applySave(rSource, rOrigin, rAction)), and the approach with using onInit etc. as you did, literally overwrites ActionSave.applySave but not applySave such that internal calls of this function would still use the original function :) Thence, one can only replace functions in that way when there are no internal calls of this function (but maybe when the internal call is also via ActionSave.applySave instead of just via applySave?) :)

Moon Wizard, please correct me when I remember this wrongly :D

damned
March 30th, 2020, 09:06
please note I use inline images all the time and i use them from images i upload in the post, as in, not uploaded externally.

Trenloe
March 30th, 2020, 11:40
For inline images, upload the attachment as usual. Then temporarily add a link to it to the post (click on the right side of the attachment button and select the attachment name). This will give you an attachment link with the attachment number.


Then add the following to your post, replacing XXXXX with the attachment number you got from the link. Replace the curly brackets around the first IMG to square brackets - I had to change these to allow the forum to display the data:


{IMG}https://www.fantasygrounds.com/forums/attachment.php?attachmentid=XXXXX

Then delete the temporary link you added - this was just to give you the attachment number. It's a little bit of extra work, but it means that the attachment is kept on the FG forums and I don't need to worry about it being elsewhere. There may be other methods, but this is what I use.

tahl_liadon
March 30th, 2020, 13:10
It is fairly easy as Celestian outlined :) But beware, since I know you use my extensions, this will surely be incompatible with my extension, so you may have to open my extension and change that there rather than writing an own extension

hahhaa... you're too kind in thinking when i posted this comment: "...or do i have to do some code hacking in certain file(s)?" that i must actually have certain color-belt in extension kode-fu. (no. i just fudge with themes creation).

i thought it would be just finding a line of code somewhere and insert the word "target" (to have result read "target failed / save"). but from tracking the back-and-forth walls of code in the communications, i feel the need to put this out there: i have zero understanding what's going on. i'm just gonna wait and use whatever might come available. and be happy with it X-D

tahl_liadon
March 30th, 2020, 19:55
.

To do inline images...

i tried this with an sample image i uploaded to both dropbox and googledrive, and both show broken image icon... do these services not allow this prob? or am i missing something?

Trenloe
March 30th, 2020, 19:58
.


i tried this with an sample image i uploaded to both dropbox and googledrive, and both show broken image icon... do these services not allow this prob? or am i missing something?


Not sure what your specific issue is. On a related note to what I mentioned before - I used to use DropBox, but then there were too many people seeing my images and DropBox actually suspended my ability to share any files as there was excessive traffic to my account. Hence why I moved to using the attachment method I mention above - it's permanent (unless SmiteWorks decide to delete a bunch of old attachments) and doesn't rely on anything outside of the FG forums.

tahl_liadon
March 30th, 2020, 21:12
Not sure what your specific issue is. On a related note to what I mentioned before - I used to use DropBox, but then there were too many people seeing my images and DropBox actually suspended my ability to share any files as there was excessive traffic to my account. Hence why I moved to using the attachment method I mention above - it's permanent (unless SmiteWorks decide to delete a bunch of old attachments) and doesn't rely on anything outside of the FG forums.

oh snap! thx for that... i overlooked your previous response thinking it was part of the coding conversation... i'll check it out and try what you've suggested. cheers

Larsenex
March 31st, 2020, 00:01
@Damned, will this possibly work with Pathfinder 2e?

damned
March 31st, 2020, 00:07
@Damned, will this possibly work with Pathfinder 2e?

I was going to make a PFRPG2E version but I think Willot has already posted a version. Check if his works for you, if not Ill post one.

tahl_liadon
April 1st, 2020, 16:32
.
@trenloe -- works like a charm. thx!

(see here) (https://www.fantasygrounds.com/forums/showthread.php?55396-PF-Advanced-Race-Guide-Content-seemingly-missing&p=489303#post489303)

also, your code aboe: {img} should be [img]

Trenloe
April 1st, 2020, 16:37
also, your code aboe: {img} should be [img][/FONT]
I couldn't post it with square brackets as the forum would then try to show it as an image - and see nothing.

Hence why I wrote "Replace the curly brackets around the first IMG to square brackets [IMG]" in the paragraph above.

tahl_liadon
April 1st, 2020, 18:03
.

Hence why I wrote "Replace the curly brackets around the first IMG to square brackets [IMG]" in the paragraph above.

ah missed that mybad

tahl_liadon
April 3rd, 2020, 13:24
{from pm) I sadly can not see your image, just a broken image file...

pm in fg doesn't allow image upload for some reason; only link, which i tried in regular post and didn't quite work.

i am posting the image here... thx!

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

Kelrugem
April 3rd, 2020, 13:43
ah, that means you were able to change it in my extension? :) Cool :D looks good :)

tahl_liadon
April 3rd, 2020, 16:35
.

ah, that means you were able to change it in my extension? :) Cool :D looks good :)

no, no... sorry... that was to show what you asked from me: a) what extensions i'm using, and b) how i would like the result to say.

Kelrugem
April 3rd, 2020, 18:59
.


no, no... sorry... that was to show what you asked from me: a) what extensions i'm using, and b) how i would like the result to say.


aah, okay, I understand :)

Oki, you have to open Save vs tags (by changing .ext to zip, then unzip), then go to manager_action_save.lua in the folder scripts :) In that file search for SUCCESS and FAILURE (match case) and change these into TARGET SUCCESS and TARGET FAILURE, respectively :) (or whatever you want; there should be in total four lines you have to change, due to AUTOMATIC SUCCESS and FAILURE, too :) )

Then zip the extension from within the folder and change .zip to .ext :)

I have to go to bed now, but I can do it when I stand up again :)

Kelrugem
April 4th, 2020, 03:18
Here you go :)

tahl_liadon
April 4th, 2020, 15:18
.

Here you go :)

i had a go at affecting the code and it seemed all right X-D (yay)

but thanks very much for this; i will use yours.

Kelrugem
April 4th, 2020, 15:31
.


i had a go at affecting the code and it seemed all right X-D (yay)

but thanks very much for this; i will use yours.

hehe, that is good that you found out how to do this :) (because I heard that there might be soon a new version of it coming ;) )