91.08 Pathfinder + D&D3.5 Framework

Discussion concerning lmarkus' campaign framework for D&D3.x and Pathfinder.

Moderators: dorpond, trevor, Azhrei, giliath, Gamerdude, jay, Mr.Ice, lmarkus001

Forum rules
Discussion regarding lmarkus001's framework only. Other posts deleted without notice! :)
User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

I uploaded a fix for the Campaign and the Lib token. It can be found in this shared drive. The error was caused after the weapon was edited and it was the callback to refresh the frame that caused the error. So, it works as is, you just need to click the Weapons tab again to refresh.

The save was done in MT 1.8.3 but should work the same for previous versions.

https://drive.google.com/drive/folders/ ... sp=sharing

User avatar
lmarkus001
Great Wyrm
Posts: 1867
Joined: Sat Mar 29, 2008 12:30 am
Location: Layfayette Hill, PA

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by lmarkus001 »

Of note, these changes need to be applied in several macros:
charSkillCheck
CharSheetSkills
tblCSskills
buildSkillsDialog
aliasmask wrote:
Fri Aug 07, 2020 2:49 pm
Fixed a longtime "bug" which is more like error checking for bad data in the skills. Now if you leave a skill mod blank it will put a 0 there. This prevents funky output on skill checks.

This change is made in charSkillCheck

Code: Select all

[H: sizeList = table("SysVars", json.get(table("SysVars", 0), "sizeList"))]
[H: sizeID =  listFind(sizeList, getSize())]
[H: skSize =  json.get(json.get(tSkill, "sizemod"), sizeID)]
[H: skN = json.get(tSkill, "name")]

[H: skR = number(0 + json.get(tSkill, "rank"))]
[H: skRM = number(0 + json.get(tSkill, "racialmod"))]
[H: skFeat = number(0 + json.get(tSkill, "feats"))]
[H: skSyn = number(0 + json.get(tSkill, "synergy"))]
[H: skEq = number(0 + json.get(tSkill, "equip"))]
[H: skMisc = number(0 + json.get(tSkill, "misc"))]
[H, IF(json.contains(tSkill, "speedmod")): skSpd =  number(0 + json.get(tSkill, "speedmod")); skSpd = 0]

[H: skDesc = json.get(tSkill, "desc")]
I moved skSize lines up from bottom so they are grouped with other skill mods. Doing the number(0 + var) trick saves me from having to check for blanks.

All these updates will be applied to "Compatible" version after I finish these posts. The GM Notes of Lib:libDnD35Pathfinder now shows the last update date on token, 8-7-2020.

User avatar
lmarkus001
Great Wyrm
Posts: 1867
Joined: Sat Mar 29, 2008 12:30 am
Location: Layfayette Hill, PA

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by lmarkus001 »

This is better placed in the CharSheet macro on the library token so it is always applied.
aliasmask wrote:
Fri Aug 07, 2020 2:39 pm
I did make a stealth update to the "Compatible" version a lit bit ago. Here is that change.

Sheet Macro in campaign window forces token type. Just copied code from Edit Char which does the same thing. Some people forget to change the token type from Basic and get errors. This prevents that.

Code: Select all

[H: ids = getSelected()]
[H: abort(if(ids == "", 0, 1))]

[H: tLib = "Lib:libDnD35Pathfinder" ]
[H: tokenType = getPropertyType(ids)]
[H: system = getLibProperty("system","Lib:GlobalsSRDPF")]
[H, IF(system == "D&D3.5"): system = "DnD35"]
[H, IF("Basic" == tokenType): setPropertyType(system,ids)]

[H,MACRO("CharSheet@Lib:libDnD35Pathfinder"): "Page=Main"]

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

New Update version 6-16-21

OP has the campaign file, but for the lib token only, you can download here: Lib_libDnD35Pathfinder.rptok

Code: Select all

MT Version 1.8.3
Update 3-9-2021 (AM)
*Fixed editWeapon when called from character sheet. callback used macro.args which is changed by the time it reaches bottom of page with callback. Also fixed blank output in chat. Also updated editArmorLegacy for similar issue. I checked rest of the code callbacks and should be fine.

MT Version 1.8.5
Update 4-28-2021 (AM)
* Fixed editFeats and editTraits when called from the character sheet main page. A json object is passed but requires a string property.

MT Version 1.8.5
Update 5-10-2021 (AM)
* Added Crane Style and Crane Riposte to Feats. Updated Attack, AttackLib and AttackLib.sub and the Active Mods for Flurry of Blows, Fight Defensively and Total Defense.
* Reorganize attack dialog. Added Extra Attacks. Added apply Sneak and apply Favored Enemy. Flurry of Blows now calculates correctly and sets Full Attack and -2 Penalty. Fight Defensively and Total Defense now account for Crane Style and Crane Riposte.

MT Version 1.8.5
Update 6-16-21 (AM)
* Fix for decay after making change for flurry of blows.
* Fix for Attack Frame for sneak, favored enemy and flurry of blows
* Fix for Haste and multiple weapons. Only first weapon gets Haste.
* Macros affected: processAttack, Attack

Michucz
Kobold
Posts: 11
Joined: Sat May 30, 2020 8:27 pm

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by Michucz »

Hi,
I was preparing a pathfinder adventure with your framework ( updated for maptool 1.8 ) and i noticed that the calculations for combat maneuvers come out weird when you have a token that isn't medium sized. I'll have to check again which ones exactly, but I think the trip macro was called subTripPF or something and i saw that the size modifier list was hardcoded in there. Only i think it is the dnd 3.5 size modifier list, not the pathfinder one.
I think the other one was subDisarmPF where I changed the variable SizeM to SizeMod or sth, because it was giving my small creature +1 on cmb instead of -1. As i said, sorry for the weird description, I'll try and check later.

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

You are correct. The chart in subTripPF is wrong. I went ahead and checked the other PF maneuvers and they seem correct. You can either manually update that macro changing this line

Code: Select all

[H: sizeModList = "-8,-4,-2,-1,0,1,2,4,8"]
Or download my latest versions here: https://drive.google.com/drive/folders/ ... M5Wl_Me2kj

Choosing and replacing the lib token or the campaign file.

Michucz
Kobold
Posts: 11
Joined: Sat May 30, 2020 8:27 pm

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by Michucz »

Hi again,
I replaced the lib token with the new one and the subTripPF macro now works as expected.
Please correct me if I'm wrong, I think the size modifier list in PF 1e is the same for all combat maneuvers. However when I try the disarm maneuver with a small creature, I still get 'Size Mod 1' in the tooltip. In the code of subDisarmPF I can see that you are using a variable called SizeM in the calculation, but I don't see where it is initiated.

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

Code can be a bit of a maze. A lot of the variables are obfuscated by using references and table values. And then there is a lot of copy/pasted code so making a change in one spot may not fix it for all related changes. My goto macro to check for token changes because it leads to everything is editMain. You'll find this code there:

Code: Select all

[H: sizeList = table( "SysVars", json.get( table( "SysVars", 0 ), "sizeList" + tgridType ) ) ]
[H: sizeModList = "8,4,2,1,0,-1,-2,-4,-8"]
This should help you find what you're looking for. If not, go ahead and give me details especially if it involves something broken.

SizeM is a token property, a global variable, so you won't see it initialized.

PS generally speaking, the default sizeMod is related to change in AC. The maneuvers use the same name for their size mod in their macros but it could be a bonus or a penalty depending on what it is. I do see in subDisarmPF no updated modList is provided an it uses the SizeM modifier. I just put -SizeM where needed and updated. I'll upload the change.

But here is the specifics

Code: Select all

[H: tAgileManeuvers = getStrProp(Feats, "AgileManeuvers")]
[H: tAgileManeuvers = if(tAgileManeuvers == "", 0, tAgileManeuvers)]
[H: statMod =  if(tAgileManeuvers == 1, max(StrB, DexB), StrB)]
[H: statMod = if( SizeM > 1, DexB, statMod ) ]

[H: dieroll = 1d20]
[H: calcV = dieroll+BABc+statMod+ -SizeM+CMBMod+atkBonus+(tImprovedDisarm*2)+MiscATK+tempMod ]

[H, MACRO( "FormatToolTip@Lib:libDnD35Pathfinder" ): json.append("[]", json.set( "{}", "Die Roll (1d20)", dieroll, "BAB", BABc, "Stat Mod", statMod, "Size Mod", -SizeM, "CMB Mod", CMBMod, "Weapon Mod", atkBonus, "Imp. Disarm", (tImprovedDisarm*2), "Misc ATK", MiscATK, "Temp Mod", tempMod), calcV ) ]

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

Update done. Visit https://drive.google.com/drive/folders/ ... sp=sharing to get the latest updates for the core lib token, campaign and properties.

Michucz
Kobold
Posts: 11
Joined: Sat May 30, 2020 8:27 pm

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by Michucz »

Amazing, thank you very much!

Michucz
Kobold
Posts: 11
Joined: Sat May 30, 2020 8:27 pm

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by Michucz »

Hi sorry to bother you again,

i changed the token and now the small creature has a -1 size Modifier for combat maneuvers, but unfortunately all creatures of differing sizes show the same. It is only the disarm maneuver as far as i can see, trip for example uses the right token size.

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

Michucz wrote:
Tue Sep 07, 2021 5:41 am
Hi sorry to bother you again,

i changed the token and now the small creature has a -1 size Modifier for combat maneuvers, but unfortunately all creatures of differing sizes show the same. It is only the disarm maneuver as far as i can see, trip for example uses the right token size.
You probably changed the size of the creature without updating it. If you hit Edit Char | Core, click "Okay" then token should be updated.

I only changed that one macro. If there are other macros with the wrong mods, let me know.

Michucz
Kobold
Posts: 11
Joined: Sat May 30, 2020 8:27 pm

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by Michucz »

Hi again,
it was a big derp on my side, sorry.
I was confused because when i change token size through the maptool ui it updates it for the other combat maneuvers but not for disarm. I forgot i should change creauture size through the macros.

Thank you for all your help.

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by aliasmask »

Yeah, other macros include the updated sizeModList and looks at the token size, but not that one which goes by the SizeM value.

Templar
Cave Troll
Posts: 65
Joined: Wed Sep 20, 2017 9:24 pm

Re: 91.08 Pathfinder + D&D3.5 Framework

Post by Templar »

Hi,
I have been using Maptools for some years now and have slowly been creating my own framework for my groups custom system.
I have used a number of the utilities from this framework (Whisper, Inventory, rpedit, SpeakForMe, ...).
I hope that this is alright with the authors?
I have been keen to utilise the spellbook. To do so, I will need to import my own spell list into the SpellDescriptions table.
Again I hope that this is alright with the authors?

The problem I have, is that I do not understand how the SpellListIndex table works.
I have tried to follow the code, but it is way above my ability (I am a self taught programmer and only use it for personal projects).

Is someone able to explain the structure of this table and how it is used?

Thank you.
Templar

Post Reply

Return to “D&D 3.5/Pathfinder 1e Campaign Macros”