MT1.3b87.04 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! :)

Dorn
Cave Troll
Posts: 55
Joined: Sat Mar 30, 2013 8:59 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dorn »

wolph42 wrote:I notice you mentioning about tree trunks on the BASE map that are broken. Can you give some specifics?
Sorry, that was a confusing remark on my part. The last copy of the lmarkus' framework I had downloaded was missing the tree trunks from the base map (or else I somehow deleted them without knowing), so the version I had uploaded was also missing them. This new version and my new version now have them, and they seem to be fine. Keep up the awesome work.

User avatar
Full Bleed
Demigod
Posts: 4736
Joined: Sun Feb 25, 2007 11:53 am
Location: FL

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Full Bleed »

Dorn wrote:New Version of mine:
Pathfinder Empty Framework Modified
Thanks for sharing this, if it only fixed the problem with Jamz 2.2 statblock importer I'd be happy! Will have to see how much else I can steal. It's unfortunate that so much of my personal framework has split away from lmarkus' original because when I first tried using it a long time ago I couldn't even tell how to get started properly.

Some questions:

1) What exactly are the differences between the PF Empty Campaign and Pathfinder Empty NEW campaigns that you uploaded?

2) Is your 2.0 importer based on Jamz 2.2? (i.e. do we use it by pasting the info into the GM notes?)
Maptool is the Millennium Falcon of VTT's -- "She may not look like much, but she's got it where it counts."

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by JamzTheMan »

Dorn, great update, I'll have to take a peak. :) To bad your game broke up, looks like we have similar tastes in PF campaign macros, I would have collaborated more closely with you with my changes :)

FYI: On the treasure roll stuff, I'll have to take a look, but if a creature didn't have an Ecology section, then I believe I defaulted it to NPC Gear which is a different chart than Standard treasure. I also randomized it +/- 25% to give it some variety. From there I just did some funky math/randomizer to generate it into pp,gp,sp,cp,gems. I had defaulted it to SP because I use campaign coins so by coin "base" is sp vs gp. (get that question a lot)

I'll have to take a look at the statblock stuff too, looks like you beefed it up nicely.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

Dorn
Cave Troll
Posts: 55
Joined: Sat Mar 30, 2013 8:59 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dorn »

Full Bleed wrote:Thanks for sharing this, if it only fixed the problem with Jamz 2.2 statblock importer I'd be happy! Will have to see how much else I can steal. It's unfortunate that so much of my personal framework has split away from lmarkus' original because when I first tried using it a long time ago I couldn't even tell how to get started properly.

Some questions:

1) What exactly are the differences between the PF Empty Campaign and Pathfinder Empty NEW campaigns that you uploaded?

2) Is your 2.0 importer based on Jamz 2.2? (i.e. do we use it by pasting the info into the GM notes?)
You're welcome. The PF Empty Campaign was based on the last version of lmarkus' framework that I had. The NEW one is based on the version posted in this thread, so it has all the new updates.

My importer used some of the code from Jamz with fixes for the bugs mentioned earlier in this thread, but is still largely based on the old 1.9 importer. You still paste into a popup window.

dakuth
Cave Troll
Posts: 31
Joined: Thu Feb 04, 2010 5:26 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by dakuth »

Sorry for not diving into this error a bit deeper, but whenever I "edit char" and close the core stats, I get the following error:

Code: Select all

Could not execute the command: "s [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: cancel = input( "tChoice|Core (Level; Stats; BAB; Saves; DR/ER; Race; Feats), Speed/Movement, Skills, Weapons, Activate Mods (toggle effects), Equip Items, Edit Items, Clear All Mods, Armor (Legacy: It is better to use Worn Items), Temp Mods (Legacy: It is better to use Active Mods)|Elements to Edit|RADIO|ORIENT=V" )] [H: abort( cancel ) ] [SWITCH( tChoice ), CODE: case 0: { [MACRO("editMain@"+tLib): "Page=Main"] }; case 1: { [MACRO("editSpeed@"+tLib): "Page=Speed"] }; case 2: { [MACRO("editSkills@"+tLib): "Page=Skills"] }; case 3: { [MACRO("editWeapons@"+tLib): "Page=Weapons"] }; case 4: { [MACRO( "subMultiModToggle@"+tLib ): "" ] }; case 5: { [MACRO( "subCheckMods@"+tLib ): json.set( "{}", "modType", 1 ) ] }; case 6: { [MACRO( "subModEdit@"+tLib ): json.set( "{}", "modType", 1 ) ] }; case 7: { [MACRO("subClearAllMods@"+tLib): ""] }; case 8: { [MACRO("editArmorLegacy@"+tLib): "Page=Armor"] }; case 9: { [MACRO("editTempMods@"+tLib): "Page=Main"] }; case 10: { [H, MACRO("Spell Main@Lib:spells"): ""] }; case 11: { [H, MACRO("Spell Main@Lib:Magic"): ""] }; default: {} ]", exception = String index out of range: 963
Is no-one else?

At first I thought it was because of some tokens I had imported from my campaign -- but I have tried setting up a blank token from scratch and I get the same error.

Truth be told, things look OK, but I'm not sure what is bombing out here.

Dorn
Cave Troll
Posts: 55
Joined: Sat Mar 30, 2013 8:59 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dorn »

dakuth wrote:Sorry for not diving into this error a bit deeper, but whenever I "edit char" and close the core stats, I get the following error:

Code: Select all

Could not execute the command: "s [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: cancel = input( "tChoice|Core (Level; Stats; BAB; Saves; DR/ER; Race; Feats), Speed/Movement, Skills, Weapons, Activate Mods (toggle effects), Equip Items, Edit Items, Clear All Mods, Armor (Legacy: It is better to use Worn Items), Temp Mods (Legacy: It is better to use Active Mods)|Elements to Edit|RADIO|ORIENT=V" )] [H: abort( cancel ) ] [SWITCH( tChoice ), CODE: case 0: { [MACRO("editMain@"+tLib): "Page=Main"] }; case 1: { [MACRO("editSpeed@"+tLib): "Page=Speed"] }; case 2: { [MACRO("editSkills@"+tLib): "Page=Skills"] }; case 3: { [MACRO("editWeapons@"+tLib): "Page=Weapons"] }; case 4: { [MACRO( "subMultiModToggle@"+tLib ): "" ] }; case 5: { [MACRO( "subCheckMods@"+tLib ): json.set( "{}", "modType", 1 ) ] }; case 6: { [MACRO( "subModEdit@"+tLib ): json.set( "{}", "modType", 1 ) ] }; case 7: { [MACRO("subClearAllMods@"+tLib): ""] }; case 8: { [MACRO("editArmorLegacy@"+tLib): "Page=Armor"] }; case 9: { [MACRO("editTempMods@"+tLib): "Page=Main"] }; case 10: { [H, MACRO("Spell Main@Lib:spells"): ""] }; case 11: { [H, MACRO("Spell Main@Lib:Magic"): ""] }; default: {} ]", exception = String index out of range: 963
Is no-one else?

At first I thought it was because of some tokens I had imported from my campaign -- but I have tried setting up a blank token from scratch and I get the same error.

Truth be told, things look OK, but I'm not sure what is bombing out here.
Nope, sorry. Not running into that error at all. The only thing different in that error message from the actual macro is the "s" at the very beginning. That shouldn't be there, but it also shouldn't break the macro. I don't know if you've got a java version problem, a maptool version problem, or a problem with the specific token. Does it happen to all tokens everywhere, even the default ones on the utility map?

dakuth
Cave Troll
Posts: 31
Joined: Thu Feb 04, 2010 5:26 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by dakuth »

Dorn wrote:
dakuth wrote:Sorry for not diving into this error a bit deeper, but whenever I "edit char" and close the core stats, I get the following error:

Code: Select all

Could not execute the command: "s [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: cancel = input( "tChoice|Core (Level; Stats; BAB; Saves; DR/ER; Race; Feats), Speed/Movement, Skills, Weapons, Activate Mods (toggle effects), Equip Items, Edit Items, Clear All Mods, Armor (Legacy: It is better to use Worn Items), Temp Mods (Legacy: It is better to use Active Mods)|Elements to Edit|RADIO|ORIENT=V" )] [H: abort( cancel ) ] [SWITCH( tChoice ), CODE: case 0: { [MACRO("editMain@"+tLib): "Page=Main"] }; case 1: { [MACRO("editSpeed@"+tLib): "Page=Speed"] }; case 2: { [MACRO("editSkills@"+tLib): "Page=Skills"] }; case 3: { [MACRO("editWeapons@"+tLib): "Page=Weapons"] }; case 4: { [MACRO( "subMultiModToggle@"+tLib ): "" ] }; case 5: { [MACRO( "subCheckMods@"+tLib ): json.set( "{}", "modType", 1 ) ] }; case 6: { [MACRO( "subModEdit@"+tLib ): json.set( "{}", "modType", 1 ) ] }; case 7: { [MACRO("subClearAllMods@"+tLib): ""] }; case 8: { [MACRO("editArmorLegacy@"+tLib): "Page=Armor"] }; case 9: { [MACRO("editTempMods@"+tLib): "Page=Main"] }; case 10: { [H, MACRO("Spell Main@Lib:spells"): ""] }; case 11: { [H, MACRO("Spell Main@Lib:Magic"): ""] }; default: {} ]", exception = String index out of range: 963
Is no-one else?

At first I thought it was because of some tokens I had imported from my campaign -- but I have tried setting up a blank token from scratch and I get the same error.

Truth be told, things look OK, but I'm not sure what is bombing out here.
Nope, sorry. Not running into that error at all. The only thing different in that error message from the actual macro is the "s" at the very beginning. That shouldn't be there, but it also shouldn't break the macro. I don't know if you've got a java version problem, a maptool version problem, or a problem with the specific token. Does it happen to all tokens everywhere, even the default ones on the utility map?
Yes, new tokens, tokens on the utility map (just hit edit char, choose core, click OK.) Also happens to my brother's computer.

My maptools is 1.3.b89
My java is 6 update 32 (build 1.6.0_32-b05)

EDIT: and my brother's versions are:
maptools: 1.3.b89
Java: 7 update 21

Dorn
Cave Troll
Posts: 55
Joined: Sat Mar 30, 2013 8:59 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dorn »

dakuth wrote: Yes, new tokens, tokens on the utility map (just hit edit char, choose core, click OK.) Also happens to my brother's computer.

My maptools is 1.3.b89
My java is 6 update 32 (build 1.6.0_32-b05)

EDIT: and my brother's versions are:
maptools: 1.3.b89
Java: 7 update 21
Looks like it's a bug with using b89 related to the "smilies bug" I've seen mentioned. This framework was built and tested on b87. Either you can use version b87 or just open your maptool preferences and turn off "insert smilies". That fixed it for me.

dakuth
Cave Troll
Posts: 31
Joined: Thu Feb 04, 2010 5:26 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by dakuth »

Dorn wrote:
dakuth wrote: Yes, new tokens, tokens on the utility map (just hit edit char, choose core, click OK.) Also happens to my brother's computer.

My maptools is 1.3.b89
My java is 6 update 32 (build 1.6.0_32-b05)

EDIT: and my brother's versions are:
maptools: 1.3.b89
Java: 7 update 21
Looks like it's a bug with using b89 related to the "smilies bug" I've seen mentioned. This framework was built and tested on b87. Either you can use version b87 or just open your maptool preferences and turn off "insert smilies". That fixed it for me.
Absolutely perfect. Turned off smilies

Glock-9mm
Giant
Posts: 178
Joined: Fri Jan 05, 2007 7:53 pm
Location: Wgtn, New Zealand

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Glock-9mm »

Dorn - Random Note - In your framework you need to edit the Blinded Button to point at "Blinded" and not "Blind"

G-9mm
---
Glock-9mm (Wgtn, NZ)
Shooting from the hip... Never the lip!

Dead_Jim
Cave Troll
Posts: 25
Joined: Sun Mar 25, 2012 12:05 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dead_Jim »

Downloaded this tonight (June 1st) and while I'm waaay to tired to play around with it too much, I have run into the

"Illegal argument type java.lang.String, expecting java.math.BigDecimal"

error twice, once when I was trying to setup a new token using the Setup Blank macro, and then when I was trying to use the summon macro. The summon macro worked great the first time as did the timer set up, tried running it again and when I use the Finish Summon macro I get the BigDecimal Error. It will work if I reload the program so I'm not sure what could be causing it.

DJ

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

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by lmarkus001 »

Dead_Jim wrote:Downloaded this tonight (June 1st) and while I'm waaay to tired to play around with it too much, I have run into the

"Illegal argument type java.lang.String, expecting java.math.BigDecimal"

error twice, once when I was trying to setup a new token using the Setup Blank macro, and then when I was trying to use the summon macro. The summon macro worked great the first time as did the timer set up, tried running it again and when I use the Finish Summon macro I get the BigDecimal Error. It will work if I reload the program so I'm not sure what could be causing it.

DJ
You will need to include some details.
1) Which version of MapTools
2) Using Java 6 or 7?
3) Which "this" are you referring too (this is an issue having a fork in the same thread).
4) What are your max memory and stack settings

Basically my framework functions stably. Your issue looks like a memory or Java version issue (like if you are running b87 on Java7). I recommend a stack size of 3MB for my framework (4 at the largest).

Dead_Jim
Cave Troll
Posts: 25
Joined: Sun Mar 25, 2012 12:05 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dead_Jim »

1) I'm using build 87
2) I have both java 6 and 7 installed but maptools uses the java 6. I have no problems running the last version of your framework.
3) I am having a problem getting a "Illegal argument type java.lang.String, expecting java.math.BigDecimal" error when running the summon macro's finish macro. I have noticed that it only becomes a problem after I try to summon XdY creatures and then continues to be an issues til I restart maptools.
4) my max memory size is 1G and I use stack size 3MB

Hope this helps, and sorry for not being more clear before. Thanks for everything you and everyone else did to make this amazing.
DJ

Dorn
Cave Troll
Posts: 55
Joined: Sat Mar 30, 2013 8:59 am

Re: MT1.3b87.04 PF+3.5 Framework (RELEASED... Latest Version

Post by Dorn »

I'm unable to duplicate your problem, but it did point out a bug to me on the finalizing and setting up timers.

Lmarkus,
Spoiler
if you run the finalize macro on a group of summoned tokens all at once and choose to set up the timer, it bugs out because the currentToken is now a list. The same happens, of course, if you run the timer setup directly. It needs a foreach to run the timer setup on all of them.

Code: Select all

[H: currentTokenList = getSelected()]
[H: tWinit = getInitiativeToken()]
[H, IF(tWinit == ""), TOKEN(tWinit): tCInit = 0; tCInit = getInitiative()]
[FOREACH(currentToken, currentTokenList, "<br>"), CODE: {
[H: switchToken(currentToken)]

[H: tName = listGet( token.name, 1, "--") ]
[H, IF( tName == "" ): tName = token.name; "" ]

[H: cancel=input(
  'effectName | ' + tName + ' | * Spell / Effect Name | TEXT',
  'Initiative |' + (tCInit + 0.001) + '| * Initiative | TEXT | WIDTH=5',
  'Duration | 1 | * Duration in rounds | TEXT | WIDTH=2',
  'Source',
  'Description | | | TEXT | WIDTH=35',
  'junk |* = REQUIRED|| LABEL | SPAN=TRUE'
)]
[H: abort(cancel)]
[H, IF( effectName == "" || effectName == "0"), CODE: {
   [MACRO("LibTimerSetup@"+getMacroLocation()): ""]
};{}]

[H: Source = if(Source == 0, "", Source)]
[H: Description = if(Description == 0, "", Description)]

[H: StartRound = getInitiativeRound()]
[H: StartRound = if( StartRound > 0, StartRound, 1)]

[H: token.name = StartRound + Duration + "--" + effectName]
[H: token.label = if( Source == 0, "", Source)]

[H: addToInitiative()]
[H: token.init = Initiative ]

[H: bar.Timer = 1]

[H: setProperty("Source",Source,currentToken)]
[H: setProperty("Description",Description,currentToken)]
[H: setProperty("StartRound",StartRound,currentToken)]
[H: setProperty("Duration",Duration,currentToken)]
[H: setProperty("Initiative",Initiative,currentToken)]

[R,S,G: "<b>Setup Timer: </b>" + token.name]
}]
Further, If you have a group selected, the timer setup is called multiple times (once for each selected, causing multiple loops of setup timers for each token), because the call to set the timer is within your counter in the LibRollAugment macro. If you just move this code

Code: Select all

[H, IF( makeTimer ), CODE: {
   [H, MACRO("LibTimerSetup@Lib:libDnD35Pathfinder"): ""]
};{}]
to the very end of the macro, it works fine. But you need to also remove the H option from those lines so the output can be seen when the timer setup is done.

So, all together...

Code: Select all

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

[H: numTList = listCount(tokenList)]

[H: allP = getAllPlayerNames() ]

[H: cancel = input(
   "tabConfig | Config | | TAB",
   "avgHP|Random,Average|Random or Average hitpoints?|RADIO",
   'Note |(Average just sets Max HP = Current HP)|| LABEL | ',
   "augSummon|0|Apply Augmented Summoning mod-set?|CHECK",
   "applyTemplate|None,Celestial (Good),Fiendish (Evil),Resolute (Lawful),Entropic (Chaotic)|Apply a template?|RADIO",
   "junk|---------------------------------------------------------------------||LABEL|SPAN=TRUE",
   "makeTimer|0|Setup Timer?|CHECK",
   "tabOwner | Owner | | TAB",
   "ownerName|"+allP+"|Who should own these tokens?|RADIO|VALUE=STRING SELECT="+ listFind(allP,getPlayerName())
 )]
[H: abort(cancel)]

[C(numTList,""), CODE:  {

   [H: tToken = listGet(tokenList,roll.count)]
   [H: switchToken(tToken)]

   [H: tout = "" ]

   [R, S, G: IF( roll.count > 0, "</td></tr>", "<table>" ) + "<tr><td>" ]
   [R, S, G: "<b><i>" + getName(tToken) + "</i></b>:  </td><td>" ]

   [H: rolledHP = if( avgHP, HP, eval( "" + HPmax ) ) ]
   [H: tHPmax = "[R: max( Level, ( " +  (rolledHP - (ConB * Level)) + " + (ConB * Level) ) )]"]
   [H: setProperty( "HPmax", tHPmax ) ]

   [H, IF( hasProperty( "SizeM", tToken ) ): setSize( "CUSTOM", tToken, SizeM ); "" ]

   [H, SWITCH( applyTemplate ), CODE:
      case 0: {

      };
      case 1: {
         [MACRO( "applyCelestialFiendishTemplate@this" ): json.set( "{}", "tokenID", tToken, "showWarn", 0, "templateType", "Celestial" ) ]
         [ tout = "<i><font color='aqua'>Celestial</font></i> " ]
      };
      case 2: {
         [MACRO( "applyCelestialFiendishTemplate@this" ): json.set( "{}", "tokenID", tToken, "showWarn", 0, "templateType", "Fiendish" ) ]
         [ tout = "<i><font color='red'>Fiendish</font></i> " ]
      };
      case 3: {
         [MACRO( "applyResoluteEntropicTemplate@this" ): json.set( "{}", "tokenID", tToken, "showWarn", 0, "templateType", "Resolute" ) ]
         [ tout = "<i><font color='green'>Resolute</font></i> " ]
      };
      case 4: {
         [MACRO( "applyResoluteEntropicTemplate@this" ): json.set( "{}", "tokenID", tToken, "showWarn", 0, "templateType", "Entropic" ) ]
         [ tout = "<i><font color='purple'>Entropic</font></i> " ]
      };
      default: { }
   ]

   [H, IF( augSummon ), CODE: {
      [MACRO( "subModToggle@Lib:libDnD35Pathfinder" ): json.set( "{}", "tokenID", tToken, "setID", "Augmented Summoning", "setType", 0 ) ]
      [ tout = tout + macro.return ]
   };{}]

   [H: setProperty( "HP", eval( "" + HPmax ) ) ]
   [R, S, G: " HP=" + HPmax + "</td><td> </td><td>" + tout ]

   [H, MACRO( "subUpdateHPStatesBars@Lib:libDnD35Pathfinder" ): "Token=" + tToken ]
   [H: setOwner( ownerName ) ]
   [H, IF(isGM()): setNPC(tToken); setPC(tToken) ]
}]

[R, S, G: "</td></tr></table>" ]

[IF( makeTimer ), CODE: {
   [MACRO("LibTimerSetup@Lib:libDnD35Pathfinder"): ""]
};{}]
Lastly, the "Setup Timer" button in the campaign macros needs to have "Apply to Selected Tokens" unchecked to avoid the same duplicate loop.

Post Reply

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