[D&D3.5 + Pathfinder] MT1.3b63 Campaign Macros r05

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! :)
Locked
User avatar
lmarkus001
Great Wyrm
Posts: 1867
Joined: Sat Mar 29, 2008 12:30 am
Location: Layfayette Hill, PA

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by lmarkus001 »

Sample Campaign File for MapTool 1.3.b49 UPDATED Jan 26

1.3b49_03
===============
  • Handout macro -- Select a token, this prompts for Image/Portrait/Handout then sends a link to chat. Players that click the link get the image in a dialog.
  • Enlarge/Reduce macro -- Runs on all selected tokens. Changes image size, and adjusts StrMod & DexMod. Will not reduce Strength+StrMod/Dexterity+DexMod to less than 1 (so this can cause erroneous Mod entries as you change size again if your starting stat was very low). Does not modify the Weapon damage entry as the tables for this are too ugly... so the user will have to modify there weapon.
  • ConditionToggle -- Smaller icons in the selection list so fits on screens better
  • HP Change & HP Dying -- Move NPC tokens to Object layer if Dead
  • Revamped Timer Token -- On Setup dialog there is now a Target tab with a list of visible tokens. Any state image selected for the Timer can be additionally set on the target tokens. When the timer runs out the state images will be cleared. Note that this does not change any temporary modifiers or stats, it simply applies/removes the state icon.
  • Conditions Table -- Re-defined row 0 where I store the number of conditions (currently 28) so the condition list can be programatically retrieved.
  • Property Set Changes -- Renamed "Creature" to "DnD35" (I left in Creature for Legacy campaign file support). Added properties to the "Effect" property set to support the new Timer token funcitonality.
  • setupBlank__ -- These macros now verify the correct Property Set has been selected before they will run.
In my most recent gaming session we heavily used the Timer token. From this I saw a few areas I could improve it so have added those in here.

Quicky Timer Token Guide:

Copy (Ctrl-C) the token then Paste a copy on the mat for each player, then edit the Ownership of these copies and assign one to each player. Now when player casts a spell with a track-able duration, they can copy-paste their token and setup a timer.

Run the SetupTimer macro that is on the token (the token macros are on the token, not in the Campaign Macro window). A unique name must be entered in the Spell Name field. The order in the initiative goes in the Initiative field (for example if Merlin's initiative is 12.02 and he casts a Daze, then set the Daze to 12.021). Finally enter the duration of the spell in rounds.

There are extra goodies available as well. If you select a Condition, and you select target tokens, the SetupTimer macro can set the state icons on the Timer and the targeted tokens.

When the Timer receives initiative, the Next macro on the token (NOT the Next button in the initiative panel) should be pressed. This will decrement the timer bar on the Timer token. If you forget on a middle turn it is no big deal, but it is important to remember to use the Next macro on the final round of the effect. On that round the Timer will be removed from the initiative list and you will be given the option to remove the state image from the targeted tokens.
Last edited by lmarkus001 on Mon Jan 26, 2009 3:42 pm, edited 1 time in total.

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Elorebaen »

Awesome, I. Again, thank you for the effort.

Malekith
Giant
Posts: 245
Joined: Wed Jan 07, 2009 4:36 pm
Location: Gloucester, England
Contact:

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Malekith »

great work as usual.
will have to try it out soon :D
just a quick note, the macros dont know how to deal with fractions/decimals (which was a pain when trying to input the info for a tiny monstorous spider). i think it's something to do with maptools tho. but it's good to let you know anyway.

Mal
Mal

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

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by lmarkus001 »

Malekith wrote:great work as usual.
will have to try it out soon :D
just a quick note, the macros dont know how to deal with fractions/decimals (which was a pain when trying to input the info for a tiny monstorous spider). i think it's something to do with maptools tho. but it's good to let you know anyway.

Mal
Can you give me an example? I have used "Level-1.5" without issue for ECL...

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Azhrei »

His account here doesn't display where he's from, but I'm betting that he's talking about locale-specific numeric data. I.e. how dots are sometimes commas and commas are sometimes dots in other locales.

And yes, this is a general problem in MapTool (should be corrected now), but all input needs to be treated using the locale-correct techniques, and I'm betting that the macro functions don't.

Hopefully, there is a single place in MapTool where a class can be dropped to do all the locale-specific stuff, then other parts of the code can invoke it.

(Hmm, it just occurred to me that my patches to the I18N class that Craig wanted for doing a properties file lookup followed by formatting would probably fit the bill for output, but not input. Maybe that's the correct place to do input processing as well? double-Hmm...)

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Craig »

Azhrei wrote:His account here doesn't display where he's from, but I'm betting that he's talking about locale-specific numeric data. I.e. how dots are sometimes commas and commas are sometimes dots in other locales.

And yes, this is a general problem in MapTool (should be corrected now), but all input needs to be treated using the locale-correct techniques, and I'm betting that the macro functions don't.
There are actually very few macro functions that do any conversion to a number (but there are a few), there are probably quite a few more that convert a number to a string. Those that do convert though are forced to do it in a non locale specific way (more details on this below).
Azhrei wrote: Hopefully, there is a single place in MapTool where a class can be dropped to do all the locale-specific stuff, then other parts of the code can invoke it.

(Hmm, it just occurred to me that my patches to the I18N class that Craig wanted for doing a properties file lookup followed by formatting would probably fit the bill for output, but not input. Maybe that's the correct place to do input processing as well? double-Hmm...)
You didn't really think it would be that easy now did you? :)
Most of the string to number parsing occurs in the parser project --not MapTool-- there are some exceptions --getProperty, getLibProperty, also I think in MapToolVariableResolver, some of the json functions-- conversely most of the number to string conversion happens in MapTool.

So the change would have to occur in the Parser project --possibly DiceLib too-- and MapTool at the same time. This will also affect DiceTool etc too if you wanted to keep them using the latest jars for parser/dicelib...

This would of course also introduce difficulties sharing campaigns that use decimals across some different locales, but that is a procedural issue rather than a coding one. Oh and don't forget breaking forward compatibility of campaigns in certain locales too. The campaign would still load fine but decimal numbers would cause parser errors when macros are run.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Azhrei »

Craig wrote:This would of course also introduce difficulties sharing campaigns that use decimals across some different locales, but that is a procedural issue rather than a coding one. Oh and don't forget breaking forward compatibility of campaigns in certain locales too. The campaign would still load fine but decimal numbers would cause parser errors when macros are run.
Hmm, interesting point.

Ideally, numbers would be stored in an internal format (binary?) and externalized using a "standard" format, whatever that might be. Perhaps it would be as simple as recording the locale in the XML data stream and using that locale only to read the values. The only place that locale specifics would be involved is in interactive situations, such as prompts requesting numeric input or the Sight or Light tabs...

From a practical standpoint, it would require a fair amount of work; the aforementioned Sight and Light tabs would need to be rewritten to use a structure that stores numbers instead of storing them as strings and reparsing all the time. We already have an incompatibility because someone using an English campaign can't load it into MapTool running in a French locale, for example.

If we use the example of storing the locale into the XML, then since numbers are stored as strings, the locale information must become part of the data so that it can be interpreted correctly. As new values are entered, they would use the current locale of the machine and be tagged as such.

Wow, that's ugly. :(

Hmm. I still think that all input functions that prompt the user should respect locale settings...

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Craig »

Azhrei wrote: If we use the example of storing the locale into the XML, then since numbers are stored as strings, the locale information must become part of the data so that it can be interpreted correctly. As new values are entered, they would use the current locale of the machine and be tagged as such.

Wow, that's ugly. :(

Hmm. I still think that all input functions that prompt the user should respect locale settings...
Input functions/output for the user should respect locale. Storing numbers in binary within the program, and when ever externalizing to XML using the internal java format (i.e. that of Integer.parseInt()). And yes that would mean that things like light input etc would have to be changed so they are not just a string. You shouldn't need to store the local within the campaign that would mean you may end up having to do other conversions, just write it out in the internal format generally those XML files are not supposed to be a primary method of user interaction with the objects ;)

Malekith
Giant
Posts: 245
Joined: Wed Jan 07, 2009 4:36 pm
Location: Gloucester, England
Contact:

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Malekith »

hmmm, well as imarkus should know, i'm from england so i was using dots.

i'll have a look on the 1.3.50b and see if i can get the right format, if not i'll post an example.

Mal
Mal

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Question: AC determination

Post by Elorebaen »

Hello,

Using latest campaign file, and b50 (though I tried the same thing on b49 and received the same results)

Add token, change config to "Pathfinder" than run PF setup. Everything looks good except the AC.

Ex. Riding Dog http://www.d20srd.org/srd/monsters/dogRiding.htm
When I was prompted for armor I put in "16" and this is what is showing: 28/12/26
Any ideas???

* Also, for weapon dmg, do we simply add what is present. For example, the dog above has 1d6+3 dmg for its bite. Can we just put that straight into the weapon dmg? I sure hope so, because more complicated monsters it gets crazy trying to figure out where the bonuses are coming from.

Thanks for any help!
E

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by Elorebaen »

I,

Were you going to be adding CMB to the Pathfinder setup?

Thanks,
E

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

Re: D&D3.5 Pathfinder MT1.3b49 Campaign Macros

Post by lmarkus001 »

Elorebaen wrote:I,

Were you going to be adding CMB to the Pathfinder setup?

Thanks,
E
What were you after in particular. The Opposed Grapple calculation in the Grapple macro is equivalent to the CMB. So maybe a macro labeled CMB that prompts for a temporary modifier?

FYI CMB calculation is:

Code: Select all

[1d20+BAB+StrB+(SizeM*-4)]
Ah you probably also want tracking for the Agile Maneuvers feat (or I could simplify and just have a radio select Str / Dex on the dialog that you enter the temp mod, and default to STR).

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

Re: Question: AC determination

Post by lmarkus001 »

Elorebaen wrote:Hello,

Using latest campaign file, and b50 (though I tried the same thing on b49 and received the same results)

Add token, change config to "Pathfinder" than run PF setup. Everything looks good except the AC.

Ex. Riding Dog http://www.d20srd.org/srd/monsters/dogRiding.htm
When I was prompted for armor I put in "16" and this is what is showing: 28/12/26
Any ideas???

* Also, for weapon dmg, do we simply add what is present. For example, the dog above has 1d6+3 dmg for its bite. Can we just put that straight into the weapon dmg? I sure hope so, because more complicated monsters it gets crazy trying to figure out where the bonuses are coming from.

Thanks for any help!
E
For AC:

The values to populate are:
Armor -- This is for things that provide an Armor modifier (like chainmail, or bracers+2)
ArmorACP -- The Armor Check Penalty of the above armor
Shield -- The AC given from any wielded shield
ShieldACP -- ACP of that shield
MaxDex -- Maximum Dexterity the armor allows
Natural -- Natural armor
Deflection -- Deflection bonuses
Dodge -- Dodge bonuses
Desc -- Description (like Full Plate Armor & Heavy Steel Shield)

For the example riding dog, the parameters that go into calculating AC are:
Size -- Medium so is 0
Dexterity -- 15 so +2
Natural Armor -- 4 (this is from this line of the monster: Armor Class: 16 (+2 Dex, +4 natural) ..)

When those elements are entered the calculated AC will be correct: 16/12/14

Weapon Damage:

No sorry the Weapon (really more of an attack config) dialog only wants NON-stat based modifiers. But you are right, for the setupBlank___ macros I really should allow you to enter it as the monster entry states and programmatically remove stat modifiers (like I do for saves and skills). I have just been trying to find the time to rebuild the whole weapon&weapon-set&attack configuration so have let that languish a bit...

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: Question: AC determination

Post by Elorebaen »

* re AC
Gotcha!
lmarkus001 wrote:Weapon Damage:

No sorry the Weapon (really more of an attack config) dialog only wants NON-stat based modifiers. But you are right, for the setupBlank___ macros I really should allow you to enter it as the monster entry states and programmatically remove stat modifiers (like I do for saves and skills). I have just been trying to find the time to rebuild the whole weapon&weapon-set&attack configuration so have let that languish a bit...
* That is helpful. I would definitely appreciate being able to enter the information directly from the stat block, at least as much as possible.

Thank you!
E

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Question: AC determination

Post by Azhrei »

Elorebaen wrote:* That is helpful. I would definitely appreciate being able to enter the information directly from the stat block, at least as much as possible.

Thank you!
E
I think this is going to be very tricky. For attack rolls it may not be too bad, but for damage? Feats like Overhand Chop and Backswing change the stat bonus on damage rolls, then there are things like mighty bows that allow a Str bonus up to a certain limit.

I suppose one thing to do would be to let the user type in two fields: random damage, and constant damage. So an attack that does 2d6+12 (say from a giant's club?) would be entered into two fields. The 2d6 field would have an auxiliary field to enter the maximum value (might be able to just split on the "d"). The other field would be just the 12 and a radiobutton as to whether it includes Str*0.5, Str*1.0, Str*1.5, or Str*2.0. Then any remaining can be calculated and assumed to be something else (Power Attack?). Now when the creature comes under the enlarge spell, the values can be adjusted automatically. (I think. I haven't verified all of the above.)

Locked

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