GM Spells and Abilities

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! :)
DMFTodd
Cave Troll
Posts: 95
Joined: Mon Jun 29, 2009 11:17 pm

GM Spells and Abilities

Post by DMFTodd »

The GM Spells and Abilities for my version of the framework has Bless and Doom in it. These in turn appear to call a function within a file in the libs section? And how do you edit the file that is called to make some changes - is it a text file?

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

Re: GM Spells and Abilities

Post by aliasmask »

You can change it (make a new version) by selecting the edit mods macro. There you can also call your own macro if it's more complex than changing the available values.

neofax
Great Wyrm
Posts: 1694
Joined: Tue May 26, 2009 8:51 pm
Location: Philadelphia, PA
Contact:

Re: GM Spells and Abilities

Post by neofax »

@alias: Can you change individual skill values? Like let's say a trait gives you a +1 to Diplomacy and it automatically becomes a Class Skill. If so, I would be indebted to anyone that can show me how to do this.

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

Re: GM Spells and Abilities

Post by aliasmask »

Nope, the only skill mod is to change all your skills. I usually just write in the notes any skill mods a mod has. You can click Mod Report and mouseover the text and it will show you the notes.

Speaking of Mod Report, I reformatted the output to make it easier to read. I *think* this is only change made to do that:
ConditionReport

Code: Select all

[H: outputms = "" ]
[H: gTok = "Lib:GlobalsSRDPF" ]
[H: jTM = getLibProperty( "TempModToggleSets", gTok ) ]
[H: atms = json.get( PrivateJSON, "ActiveTempModSets" ) ]
[H, IF( json.isEmpty( atms ) ): activeMSList = ""; activeMSList = json.toList( json.unique( atms ) ) ]
[H: jPTM= json.get( PrivateJSON, "CustomModSetValues") ]

[H, FOREACH( m, activeMSList ), CODE: {
  [IF( json.isEmpty( jPTM ) ): jPM = ""; jPM = json.get( jPTM, m ) ]
  [IF( json.isEmpty( jPM ) ): tTip = json.get( json.get( jTM, m ), "tip" );tTip = json.get( jPM, "tip" ) ]
  [ tCat = json.get( json.get( jTM, m ), "cat" )]
  [IF(tCat == ""): tCat = "Mod: "; tCat = tCat + ": " ]
  [ outputms = listAppend( outputms, '<span title="<html>' + tTip + '</html>">' + "<b>"+ tCat+"</b>" + m + '</span>', "<br>" ) ]
}]
[H: aitems = json.get( PrivateJSON, "ActiveItems" ) ]
[H, IF( json.isEmpty( aitems ) ): activeMSList = ""; activeMSList = json.toList( json.unique( aitems ) ) ]

[H, FOREACH( m, activeMSList ), CODE: {
  [IF( json.isEmpty( jPTM ) ): jPM = ""; jPM = json.get( jPTM, m ) ]
  [IF( json.isEmpty( jPM ) ): tTip = json.get( json.get( BonusTypedItems, m ), "tip" );tTip = json.get( jPM, "tip" ) ]
  [ tCat = json.get( json.get( BonusTypedItems, m ), "cat" )]
  [IF(tCat == ""): tCat = "Item: "; tCat = tCat + ": " ]
  [ outputms = listAppend( outputms, '<span title="<html>' + tTip + '</html>">' + "<b>"+ tCat+"</b>" + m + '</span>', "<br>" ) ]
}]
[R, S, IF( outputms != "" ): outputms ] 
If you replace the text in the ConditionReport macro with this code, it will list each mod on their own line and put the catagory of the mod as well.

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

Re: GM Spells and Abilities

Post by Azhrei »

aliasmask wrote:Nope, the only skill mod is to change all your skills. I usually just write in the notes any skill mods a mod has. You can click Mod Report and mouseover the text and it will show you the notes.
Actually, there is a way to do it but it's pretty gross. :(

You can specify a formula in the value field for the Skill. If you check the code that processes the mods you'll see that it sets a few variables and then starts evaluating the values from the mod. So you could put a formula there that uses the variables defined in the macro, allowing you to put things like if(tSkill=="Fly",4,0) so that only the Fly skill gets a +4 bonus.

(I probably don't have the right variable name; I just made that up for demonstration purposes.)

neofax
Great Wyrm
Posts: 1694
Joined: Tue May 26, 2009 8:51 pm
Location: Philadelphia, PA
Contact:

Re: GM Spells and Abilities

Post by neofax »

I was thinking that maybe that may work, as you can do that in another FW I use, but wasn't quite sure. Also, how would this work for Craft/Perform/Profession/Knowledge?

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

Re: GM Spells and Abilities

Post by aliasmask »

Azhrei wrote:
aliasmask wrote:Nope, the only skill mod is to change all your skills. I usually just write in the notes any skill mods a mod has. You can click Mod Report and mouseover the text and it will show you the notes.
Actually, there is a way to do it but it's pretty gross. :(

You can specify a formula in the value field for the Skill. If you check the code that processes the mods you'll see that it sets a few variables and then starts evaluating the values from the mod. So you could put a formula there that uses the variables defined in the macro, allowing you to put things like if(tSkill=="Fly",4,0) so that only the Fly skill gets a +4 bonus.

(I probably don't have the right variable name; I just made that up for demonstration purposes.)
Hmm, I might use that. I assume tSkill is the local variable name and that the field gets hit with an eval. I guess you just have to make sure you spell the skill correctly.

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

Re: GM Spells and Abilities

Post by lmarkus001 »

I have not currently exposed the Skills to the mod-sets. What I do in game play is put a note in the mod-set indicating any skill mods then leave it up to the player to correctly process.

Accessing the SkillsJ object is rather obfuscated because it is a variable json object. If you want to get at the non-unbounded skills it is a bit easier, but if you want to get at Knowledge, Profession, Craft, Perform then it gets even uglier since each of those has a random set of subcategory skills.

An example. In the macro subRecalcMovement, I adjust the Speed modifier to the Jump skill.

Code: Select all

[H: tSpOffset = ( tMoveJump - 30 )/10 ]
[H: tSpMod = if( tSpOffset >= 0, 4 * floor(tSpOffset), tJmod * ceil(tSpOffset) ) ]
[SWITCH(system), CODE: 
  case "Pathfinder": {
        [H: tNote = " ((JUMP MOD (Speed): " + tSpMod + " Racial)) " ]
        [H: tSkill = json.get(SkillsJ, tskID) ]
        [H: tNotes = json.get(tSkill, "notes") ]
        [H: tid = strfind( tNotes, "\\(\\(JUMP MOD \\(Speed\\)\\: \\-*[0-9]* Racial\\)\\)" ) ]
        [H, IF(getFindCount( tid ) != 0):  tNotes = substring( tNotes, 0, getGroupStart( tid, 1, 0 ) ) + substring( tNotes, getGroupEnd( tid, 1, 0 ) ) ]
        [H: tNotes = tNotes + tNote ]
        [H: SkillsJ = json.set(SkillsJ, tskID, json.set( tSkill, "notes", tNotes ) ) ]
  };
  case "D&D3.5": {
        [H: SkillsJ = json.set(SkillsJ, tskID, json.set( json.get(SkillsJ, tskID), "speedmod", tSpMod ) ) ]
  };
  default: {  }
] 
The D&D setting is easier to follow as it directly modifies the speedmod of the Jump skill. The Pathfinder variant is harder because there is no Jump skill, instead jumps is a subset of Acrobatics. So instead I just write a Note to the Acrobatics skill stating the relevant mod should the person be using their acrobatics to jump. All the string processing stuff is to allow the adding/removing of the Note text.

If you were going after a Knowledge skill, then you would have to search the SkillsJ object for the existence of the particular skill, and if it is not found, you would have to nothing (as +4 to Knowledge (Religion) when you have none means you get no bonus), otherwise you would set your modifier for that sub-category skill.

Note that all of this discussion is talking about directly modifying the skills. What I do with all of the other "exposed" mods is to maintain a modifier variable. All mod-sets are compared to yield the final modifier variable. Then when calculations are done, the base character value is added to the modifier to yield the result (so the base is never overwritten or changed).

Kremti
Kobold
Posts: 7
Joined: Tue Apr 27, 2010 11:31 am

Re: GM Spells and Abilities

Post by Kremti »

aliasmask wrote:
Azhrei wrote:Actually, there is a way to do it but it's pretty gross. :(

You can specify a formula in the value field for the Skill. If you check the code that processes the mods you'll see that it sets a few variables and then starts evaluating the values from the mod. So you could put a formula there that uses the variables defined in the macro, allowing you to put things like if(tSkill=="Fly",4,0) so that only the Fly skill gets a +4 bonus.

(I probably don't have the right variable name; I just made that up for demonstration purposes.)
Hmm, I might use that. I assume tSkill is the local variable name and that the field gets hit with an eval. I guess you just have to make sure you spell the skill correctly.
Ah, I was wondering how I can do this with edit Mod. I was trying to create Mods for ad hoc mods for Alter Self, specifically turning themselves into Avariel and Troglodyte since they are super useful for my rogue 1/Wiz 5 NPC.

Hate to hijack the thread, but I have another question. When I was creating the Mods for Alter Self into Avariel, I could add Fly 50' movement to it. But I was unable to add the maneuvability field into the edit Mods (which should be Poor), and it end up displaying 50' (). Any chance anyone know how to add that?

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

Re: GM Spells and Abilities

Post by aliasmask »

Since there's no control with in the framework for movement, so it's not really relevant to the mods. I would just put the maneuverability class in the notes of the mod. Also, you may want to try using the polymorph feature in the framework. You can add new forms pretty easily with the create polymorph template macro and add it to the polymorph table. (I may have some of the names wrong, but you get the gist.)

Kremti
Kobold
Posts: 7
Joined: Tue Apr 27, 2010 11:31 am

Re: GM Spells and Abilities

Post by Kremti »

aliasmask wrote:Since there's no control with in the framework for movement, so it's not really relevant to the mods. I would just put the maneuverability class in the notes of the mod. Also, you may want to try using the polymorph feature in the framework. You can add new forms pretty easily with the create polymorph template macro and add it to the polymorph table. (I may have some of the names wrong, but you get the gist.)
Yeah, it's just the cosmetic issue. I find it ugly to have that hanging () there. :P

Also, as for using the polymorph macro that was my first instinct except Linsay explicitly noted the Polymorph Macro does not work with Alter Self spell...

I can probably make it work but it'll involve going into the macro itself and manually changing them probably, which I wanted to avoid :P

-K

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

Re: GM Spells and Abilities

Post by lmarkus001 »

Kremti wrote:
aliasmask wrote:Since there's no control with in the framework for movement, so it's not really relevant to the mods. I would just put the maneuverability class in the notes of the mod. Also, you may want to try using the polymorph feature in the framework. You can add new forms pretty easily with the create polymorph template macro and add it to the polymorph table. (I may have some of the names wrong, but you get the gist.)
Yeah, it's just the cosmetic issue. I find it ugly to have that hanging () there. :P

Also, as for using the polymorph macro that was my first instinct except Linsay explicitly noted the Polymorph Macro does not work with Alter Self spell...

I can probably make it work but it'll involve going into the macro itself and manually changing them probably, which I wanted to avoid :P

-K
Adding the Manueverability type should not be hard.

I think Alter Self piece of the Polymorpgh is functional (for D&D3.5) in the current release.

Kremti
Kobold
Posts: 7
Joined: Tue Apr 27, 2010 11:31 am

Re: GM Spells and Abilities

Post by Kremti »

lmarkus001 wrote:
Kremti wrote:
aliasmask wrote:snip
snip
Adding the Manueverability type should not be hard.

I think Alter Self piece of the Polymorpgh is functional (for D&D3.5) in the current release.
Oh really? Less work for me! I guess I didn't go through enough job of reading through all that 97 pages :P Lemme poke it around and see if I can give you some more feedback...

-K

jsharen
Giant
Posts: 196
Joined: Tue Feb 05, 2008 3:39 pm

Re: GM Spells and Abilities

Post by jsharen »

I have a mod that when on, gives a character a +8 to stealth. In the posts above it seems to indicate that there is a way to do this, though it is ugly.

If I can accomplish this for this specific mod, even in an ugly manner that would rock as this mod gets used quite a bit on one of my players.

Any ideas?

jsharen
Giant
Posts: 196
Joined: Tue Feb 05, 2008 3:39 pm

Re: GM Spells and Abilities

Post by jsharen »

Anyone able to assist? I'm using pathfinder section of the FW.

Thanks!

Post Reply

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