Thanks for the words both :)
Hehe, you're welcome :P
Printable View
How does it actually work? Is it general or can be specific? For example, a vampiric weapon says "the weapon deals an extra 1d6 damage, and that d6 damage is also how much you get healed for", so can the lifesteal be linked to specific dice (or damage) or once you set it it's all or nothing?
Does the conditional not require in IFT in it? As what I had written does.Quote:
Thanks to rmilmine and SoxMax: We have now a new conditional operator DISTANCE, this checks the distance between the attacker and defender (including height); for example Fire Shield; DISTANCE(<=5); TDMG: 1d6 [CL] fire, melee works (you have to use <, >, >=, <=; the forge website's description of my extension does not properly show that part yet, because < and > get erased by the forge for some reason)
I have given the devs the go ahead to use what I wrote. My hope is that it ends up as a default in 3.5/pfrpg so that everyone gets it, even better would be core rpg.
So major update to FG today. I see lots of messages about ActorManager.getTypeAndNode having been deprecated.
*Edit* This extension is impacted by the above. Not really sure why they deprecated the above function as the comment in the console says to use the functions this function calls.
Oh, yes, I forgot to add the IFT :) Thanks :)
Oh, really? Ah, well, I was hoping for that this big patch would finally not affect me and I can rest a bit because it touches totally different areas :) But I think it was already for a longer time to deprecate this function; I thought I already adjusted my code, but apparently I forgot it
Sorry, @all, and thanks rmilmine to make me aware of that :) It might take a while until I get to it, though, maybe on the weekend (but I have to prepare my next campaign) :)
@rmilmine: Are these just warnings about the future deprecation of this function? Does the extension otherwise still work? Or is this function already deprecated and some features ceased working? (I do not dare updating yet :D)
Hey Kel,
I love these additional effects but also hate you because now I may have to sift through a list of 1000+ spells and recode some, BUT, some questions.
1) For the IFTAG, where does the weapons identifier have to be located for it to be picked up?
2) For distance, can this technically be used to automate weapon ranges? For instance: RANGE:<60; ATK: -4
3) Is there a way for the lifestealing property to heal other amounts than the full damage? For instance, can this be extended to include half dmg dealt, or EVEN healing based on set parameters like CLs. ALSO, could this also heal THP? :O
@Rhydion I can shed some light on the IFTAG with weapons, basically any string or comma/semicolon separated set of strings in the Properties field of an attack can cause any IFTAG effects to be true while using that attack.
For example I have the following effect on myself:And then the properties field of my attack has `longsword` like this:Code:Weapon Focus (Longsword); IFTAG: longsword; ATK: 1
Attachment 64139
Then any attack with that Longsword will enable the weapon focus effect.
By default any Properties on an item will be transferred to the attack's properties when the weapon is added to a character.
For the distatance you could do the following.
for a longbow the range modifiers are > 100 -2, > 200 -4, > 300 -6, > 400 -8, > 500 -10, > 600 means no attack possible.
IFT: DISTANCE(<=600); ATK: -2; IFT: DISTANCE(<=500); ATK: -2; IFT: DISTANCE(<=400); ATK: -2; IFT: DISTANCE(<=300); ATK: -2; IFT: DISTANCE(<=200); ATK: -2
This would be applied to the weapon itself. The -2 would need to be changed to -1 if the character has the far shot feat.
They are warnings only. The function still exists and the code is still there. The function itself could be copied to another location and that could be called instead. All the functions called within this function exist in the locations in the console comment says they are in. It shouldn't be too difficult to modify the extension to call the function from a new location.
I'm not sure how you could apply an ATK modifier for a range that is greater than 600 and apply a modifier that would cause the attack to be basically impossible.
I was thinking that (N)IF(T) having an ELSEIF(T) would be grand, just not thought through fully how that would be implemented.
Doing an elseif would be difficult with the above as it would also need some way to show which ift it belonged to.
Question:
Is there a way to isolate armor check penalties for armor/shields in an effect.
As an example. Weapon Finesse says that if a character is using a shield while using weapon finesse the armor check penalty applies to the attack roll.
Mythic Weapon Finesse though says that if a character is using a shield the armor check penalty from the shield does not apply to either the attack roll or the damage roll.
Now if you put an effect within each of these it's not that hard to do.
Weapon Finesse; IFTAG: finesse; ATK: [-STR] [DEX]
Mythic Weapon Finesse; IFTAG; finesse; DMG: [-STR] [DEX]
For Weapon Finesse though there should be something that applies the shield armor check if there is one.
Another thought. Is there anyway to create an effect that grabs what a value from the character such as an attribute bonus at the time of roll instead of at the time of the effect being placed on the character on the combat tracker?
I don't see anything on the confluence page for 3.5/pathfinder effects that shows a way to have it grab any character specific information at the time of a roll. This kind of thing would be incredibly useful.
something like {STR} or something similar could be used, I don't recall {} being used for anything within effects. Could also use TSTR for the targets attribute bonus instead of the individual it's applied to.
Could instead change the code for when equipping an inventory item so that the code that creates the weapon in the action tab checks for feats that would modify a weapon's stats and take those feats into account. I think it's better to have the feat do it instead of have it done this way though.
May be changing Feats, Special Abilities to have a tag field that could have a list of potential expected values that could be looked for and then have the equipping code look for those within each feat/class ability and modify what is placed within the action tab based on what it finds. I think I like this best. Having {STR} though I think would also be very very useful.
Add a second effect?Quote:
I'm not sure how you could apply an ATK modifier for a range that is greater than 600 and apply a modifier that would cause the attack to be basically impossible.
I was thinking that (N)IF(T) having an ELSEIF(T) would be grand, just not thought through fully how that would be implemented.
Doing an elseif would be difficult with the above as it would also need some way to show which ift it belonged to.
IFT: DISTANCE(>600); ATK:-100
That is the only way to do it. Have two effects on the weapon both having the Action Only checked. So they don't effect other actions such as spells with ranged touch attacks or other ranged weapons. Could also add "ranged" to the effects, but with the Action Only checkbox it shouldn't matter.
Just thought of something, 20s always hit so even putting -100 won't work. as it will auto hit. So you need to be cognoscente of that. At which point you might as well just look at the number in the targeting arrow.
I think this might be a theoretical question that you should not overcomplicate.
If you are building a character that is supposed to be attacking you would never have a shield or armor that have armor check penalty to attack.
And do not use effects for weapon finesse. Use its own attack line in the action tab, and for that attack toggle dex to hit instead of base or str.
If you use the effect then other effects like bulls strenght etc would not be correct anymore.
Making effects get information about the relevant stat when doing attack roll is not possible, I do not even think it are possible workarounds. Might be some huge workarounds by applying new effects automatically each round, but it would be messy.
Like I stated, I think you are overcomplicating this with effects. But if you can give a concrete example of exactly what you are trying to do with that specific character, that would actually happen in real play then it is easier to help.
Have you looked at this extension for applying range penalties automatically.
https://www.fantasygrounds.com/forum...tion-Extension
Not theoretical, It was a simple question of if there was a way to get access to something, that rambled a bit as my thought process went along. Yes, I can manually modify each and every item, spell or ability that is added to a character, based upon the other items, spells or abilities the character has, but it would be better if this was automated. My rambling was about how to do this.
I'm going to explore this as I think it would make using fantasy grounds better.
I just skimmed the posts now a bit, but I think the last open question was about lifestealing (sorry, Asgurgolas; I overlooked your question the last time I wrote here!): Right now I just wanted to check how well it works :) So, now it just heals the full amount of damage; for most of the times it might work well just to have a separate damage roll for the lifestealing if it just heals part of it (but it might disturb stuff like DR, RESIST and so on for which it is important that all damage is done at once)
I will try to update the extension later today so that the warning messages are gone :) (thanks, rmilmine; and also thanks to all helping with the questions! :) )
@rmilmine: Should the nested IFT effect not like the following? IFT: DISTANCE(>=200); ATK: -2; IFT: DISTANCE(>=300); ATK: -2; IFT: DISTANCE(>=400); ATK: -2; IFT: DISTANCE(>=500); ATK: -2; IFT: DISTANCE(>=600); ATK: -2
I am a bit tired, but I think your proposed effect would give high penalties for low ranges :D
But as Svandal said there is an extension handling the range increments of weapons which might be better regarding performances while the general DISTANCE operator is for the kind of stuff which is not covered by the range increment :)
So, I just pushed a new update for the extended automation extensions :) Now they're compatible with the newest FG version :)
Also a patch for the antimagic extension: Better positioning of the global antimagic button, and I updated the icons for the antimagic buttons :)
So strange thing with FORTIF.
I have the following two effects on a character.
Legendary Moderate Fortification Bracers of Armor; AC: 1 armor; FORTIF: 50 critical; FORTIF: 50 precision
Deliquescent Gloves; DMG: 1d6 acid,melee
If the character does critical damage to itself the fortification roll is rolled twice.
If the gloves effect is turned off then it only rolls once. It looks like it's rolling once for the weapon and once for the effect for the gloves. I don't really want to have to put the acid damage on each weapon the character might use.
Attachment 64285
Thanks for the report :)
Yeah, that was always like this, fortification is rolled independently for each separate source of damage. I actually think this is how the rules work, right? I remember that I was thinking a long time about that and the rules themselves sadly do not really clarify what happens in that case. However, for example if one has a crit and a sneak attack at the same time, then I think the fortif roll is also rolled separately and this is why I coded it like that. I hope this is how the rules should work :D There is also a note about that on the forge page :) (I think)
Coding-wise: The current solution was the easiest one, otherwise it might get tricky because I have to collect all damage dice which are affected by fortif, then only roll fortif once. (which is okay) Once there is a crit and a sneak attack it becomes extra tricky if fortif has to be rolled separately. Even more so if the fortif effects for different damage dice have different percentage numbers; at latest then I have to roll separate fortif rolls
However: The problem only really arises because FORTIF right now accepts all damage types and arbitrary numbers; for supporting effects I am not aware of, but also for supporting homebrew. So, I could adjust it, but I certainly would need to think about how to do that, certainly needs some further if-clauses checking whether some damage die of the same type is already registered for Fortif (if yes, then group them, otherwise set up a separate fortif roll). Alternatively I could stick very closely to the rules and only allow FORTIF: X critical; FORTIF: X precision (so, only critical and precision damage for the same percentage X), because then I can just manually handle the small number of possible situations :)
But it is also years ago that I coded that, so I would need read the code again :D
as far as I know (in 3.5) critical and precision in Fortification are considered pretty much the same: if you crit a sneak attack you roll the % once for both and go for either all or nothing, but "as long as it works I can easily 'homebrew' things to work out separately" :P
Hello Kel, just dropping my 2 cents here. couple of thoughts here. 1) make an option in the menu to use either option? a PER/ALL button to determine how FORTIF is applied. 2) can we get it to ignore anything that doesnt have at least a crit multipler of 2? because in the above example, the gloves should not have rolled against FORTIF at all since the damage from the gloves cant be multiplied by the crit. just thoughts. :D
From what I see in Pathfinder there are a several different fortifications, but they all use the same basic rules.
Armor/shield Fortification
This suit of armor or shield produces a magical force that protects vital areas of the wearer more effectively. When a critical hit or sneak attack is scored on the wearer, there is a chance that the critical hit or sneak attack is negated and damage is instead rolled normally. The chance is 25% for light fortification, 50% for moderate fortification, and 75% for heavy fortification.
Legendary Fortification
When a critical hit or sneak attack is scored against a creature wearing an item with this ability, the wearer can expend one use of legendary power to negate the critical hit or sneak attack and instead take normal damage.
All of the other ways of getting fortification generally say that it works like the armor fortification.
So there is a fortification that costs a point, but does a complete stop and then there is one that does it on a set type of percentage.
I also found this on just this topic, https://paizo.com/threads/rzs2mn8i?C...-Fortification
I think the check should probably go before the dice are even rolled not after. If the fortification roll is a success then you roll damage as if no critical and/or sneak attack happened.
The coding for this would be more complex, as you would have to abort part of the damage roll that is passed right at the top, but it's probably cleaner in play.
Player rolls to hit and gets a critical.
Player clicks damage roll. All damage dice and modifiers are collected on one place.
Now it needs to look to see if there is critical and/or precision damage and if there is, then look at the target of the damage and see if the target has fortification.
If the target of the damage has fortification then roll once for their fortification.
If the fortification roll is a success then a new dice table is created with just the base damage (dice plus modifiers), this means the critical and sneak attack are effectively being removed.
Once we have that out of the way it then rolls the damage dice as it currently does.
Thanks :D
Oooooh, I didn't even think about the fact that the effect should not be touched by the crit! I am pretty sure that I didn't touch how crits are handled and effects should not have a crit mod of x2! And indeed, check the screenshot: The crit "damage" of the glove is 0! I just checked, the effects accidentally "crit" with 0 damage. So, the fortification roll in that case is even useless... :D That is at least easy to fix: I simply do not let fortif roll if there is 0 damage already (and I thought I already did that)
However, I wondered: Why does FG actually add a critical "damage" for the effects which are actually not affected? So, I now tested FG without any extension, and tadaa: FG started to add "0-crit damage" stuff to effects! My fortif code sees everything with "critical" as damage type and thus the second roll. So, rmilmine, you actually found what I would not necessarily call a bug but unneeded clustering of the chat message. Do you want to report that to Smiteworks? If Smiteworks removes the unneeded crit "0-die" for effects which are not affected by crits, then at least at your situation you will not see the second fortif roll anymore because the fortif effect will certainly not get triggered anymore
(But I will still add a handle that fortif effects are ignored for "0-damage". This would also fix your situation, but the 0-damage chat text is still unnecessary and I do not know why that got added; maybe accidentally)
About the option: Thanks for the suggestions, Phixation :) I will see whether I will revisit that part that soon; the fortif code is a bit lengthy and I would need to take some time to get into it :)
Bug sent see what they say,
Check out this result.
I put two effects on the character and did a crit. This results is interesting.
Attachment 64289
So I think I unstand sort of what it is doing here.
[Effects 2d6+2] is completely wrong, it should be 2d6+1.
[Type: slashing (1d8+5)] base damage
[Type: slashing,critical (1d8+5)] is the damage rolled for the weapons critical.
[Type: acid (1d6+1)] base damage for the effect.
[Type: acid,critical (1)] It's doing critical damage off the +1.
[Type: fire (1d6)] base damage for the second effect.
[type: fire,critical (0)] no + after the dice so 0.
It's doing a critical on the part after the dice, and only that part.
Say I have a character with a series of effects saying "DMG: 2d6 precision" (maybe sneak attack) "DMG: 2d8 precision" (perhaps a spell or a class ability), then "DMG: 2d10 critical" (a weapon's special ability) and "DMG: 2d8 critical" (let's say a feat).
As I roll damage for a critical hit, I see the fortification roll being rolled thrice (which leads to see "you stab the dragon precisely in the heart (Critical hit and damage), altough it seems it has scales there too (sneak attack damage negated). Still, your weapon is enchanted to deal more damage on critical and yet it didn't seem to work (critical instance negated), but anyway you know what you're doing so you still manage to pierce it somehow (secondary precision damage not negated)
XD
So it's not applying a arbitrary x2. It's using the crit multiplier of the weapon to the effects.
I made the weapon a x3 and the +3 and +2 from the two effects I have on the combat tracker were multiplied by 3.
Attachment 64292
Attachment 64293
Attachment 64291
I'm pretty sure the reason for the way it is doing it is because things that add a single point or two of damage would be multiplied by the crit multiplier of the weapon.
Power Attack and Weapon Specialization.
Nothing that I can think of that adds a die of any type or amount is multiplied by the weapon.
What's different is that if there is a crit and there is just dice it is passing 0 as a crit causing the code for Fortification to roll and negate the dice damage.
At least I think it is negating the dice damage. need to test that part more.
Hi Kel, it's me again. I swear I only come to you with bad news XD
Two things currently having an issue with, one I know is in your remit but not sure about the other at present:
Issue #1: Custom weapons losing set bonuses and defaulting to nil. I have custom sword #1 and when adding the weapon to a character sheet the correct bonuses are being set. However, at random periods, Attack bonus, Damage bonus, Crit range and crit multiplier are also reset to nil/default. I cannot seem to recreate this at will as it seems to happen randomly and without warning. Something is giving me a gut feeling its a bmos issue but I could be wrong.
Issue #2: Remember the IF: Bloodied pathfinder issue I reported? I know you said it was patched out, but sadly, it is still happening in PF1. Its that same nasty syntax error, for reference, here is the code used: Dead Dodge; IF: Bloodied; AC: [DEX] luck /// Only triggers when placed on a character, bloodied or not.
As a chilling reminder here is the error log: https://gyazo.com/db954f21298301ac7be34b82cb4a055e
I wish I could be of more help at least with the first issue. If I figure anything out I will let you know!
I think it is wrong. If I have an effect that adds simple number +n and it wants to multiply it by the weapon crit multiplier I'm fine with that as that is probably fine for all or almost all situations, but a ndn+n should not have just part of it multiplied by a critical multiplier. It should in that case be an all or nothing.
On another note I put in a bug report off of the bug report page for fantasy grounds that I found here and was told to put a bug report in the forum for the 3.5/pathfinder ruleset. So I did that here.
No response as of yet.
hehe, I see the problem with RP-interpretations! :D I will see :) Not that high in my priority right now :D
Thanks! I hope they adjust it :)
Thanks for the reports! :)
Did you only test with my extension? Because it is certainly an issue with one of bmos's extension which I still need to fix. I think ammunition manager or so? Something related to items. Usually this data gets reverted to nil if one reloads the campaign, and someone found out that it is one of bmos's extension
Oki, that is actually a different stack overflow issue! Did you replicate that just with my extension? Strange that there is an overflow issue with the string or utility manager, but certainly different than what I fixed back then :D
hehe, no worries :D
Yeah, my time management is difficult :D I am actually much more active in FG now, but now I run many more campaign sessions, so I need most of my time preparing my campaigns :) I try to look at bmos's code, but reading someone else's code takes a bit of time I realized :D
FG got updated to address the problem rmilmine discovered :)
So, I updated my extensions, too, to include this patch :)