[Hero 5th ED] brad's Hero5thMacros.cmpgn

MapTool campaign files that encapsulate properties, tokens, and macros for a particular ruleset or game world. "Framework" is often abbreviated "FW".

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

Forum rules
This forum is LOCKED. If a thread belongs here, use the "Report" feature of the post to let a moderator know to move it. General discussion should occur in the User Creations or MapTool forums.
Anvil11
Kobold
Posts: 1
Joined: Sun Apr 24, 2011 11:24 pm

Re: Hero 5th ED macro set, brad's

Post by Anvil11 »

pmbruner wrote:To expand on what Brad has said, there are some major differences that affect the campaign properties in 6E. The biggest thing is that Dex and Ego have nothing to do with OCV or OMCV (formerly called ECV). They are primary characteristics in their own right, starting with a base of 3 (regardless of your Dex or Ego score), and being bought up from there with character points. What this means for the conversion effort is that any combat rolls based on OCV or ECV have to call these new characterisitcs, and not be calculated using Dex or Ego divided by 3. In addition Comliness is gone from the game, replaced by the Talent "Striking Appearance" which acts like a Skill Level adding pluses or dice to PRE based skills or Pre Attacks. The other thing is that movement is no longer based on hexes inches, it is based on meters. Most characters start with a base move of 12 meters. So assigning a campaign movement property of 12 is where I started and I have set the units per cell to equal 2.
Has there been anymore movement on creating macros for Hero System 6th Ed.???

User avatar
brad
Great Wyrm
Posts: 1233
Joined: Fri Apr 27, 2007 10:27 pm
Location: NY
Contact:

Re: Hero 5th ED macro set, brad's

Post by brad »

A group of people over on the Hero forum have started and been plugging away on a 6E Framework. I have not looked at it as I have been using other systems for a while now. Here is the link http://www.herogames.com/forums/showthr ... ht=maptool

Depending on how far they have gotten and what the look and feel is, I may or may not make start tinkering with my own 6E framework sometime this year. I always seem to return to Hero. Though it sounded like their coding skills were better then mine, so I am guessing that their framework might be more organized then anything I might come up with. I am not sure why they have not posted it on the rptools forum.
View MapTool video tutorials at RPToolsTutorials.net

User avatar
nolgroth
Dragon
Posts: 441
Joined: Fri Sep 21, 2007 6:10 pm

Re: Hero 5th ED macro set, brad's

Post by nolgroth »

I can answer that. It is....just because. :)

Mostly, I wanted to have some level of completion on using powers like Aid, Drain, etc. And then I sort of lost focus. As it stands, we have a pretty decent campaign file as is. I should probably post it here, in case anybody wants to play around with it (modify it, expand it, etc).

User avatar
nolgroth
Dragon
Posts: 441
Joined: Fri Sep 21, 2007 6:10 pm

Re: Hero 5th ED macro set, brad's

Post by nolgroth »

Just a quick note, I finally felt it was time to post the 6E Framework over here.

Here is the link: http://forums.rptools.net/viewtopic.php?f=8&t=18939

User avatar
Bengalelf
Dragon
Posts: 396
Joined: Tue Mar 18, 2008 3:07 pm

Re: Hero 5th ED macro set, brad's

Post by Bengalelf »

hey Brad,

I am still using your 5th edition Hero marcos every other Saturday. First off let me say I am not asking for help :-).
I have palyed around with a couple of the marcos and thought I would share what I have learned.

First off I managed to make the Initiative start with phase 1 instaed of phase 12. The phases are now displayed from 1 to 12 instead of 12 to 1. Here is what I did to the macro

Code: Select all

[h: initiative_list=macro.args]

[h: speed_num=listGet(initiative_list, 0)]
[h: init_mod=listGet(initiative_list, 1)]

[h, if(speed_num==0): addToInitiative(1, "f PHASE 7" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

[h, if(speed_num==1), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==2), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "i PHASE 4" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==3), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "d PHASE 9" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "j PHASE 3" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==4), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "c PHASE 10" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "h PHASE 5" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "j PHASE 3" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==5), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "c PHASE 10" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "i PHASE 4" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "k PHASE 2" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==6), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "b PHASE 11" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "d PHASE 9" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "f PHASE 7" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "i PHASE 4" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "k PHASE 2" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==7), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "b PHASE 11" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "d PHASE 9" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "h PHASE 5" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "j PHASE 3" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "k PHASE 2" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==8), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "b PHASE 11" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "c PHASE 10" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "f PHASE 7" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "i PHASE 4" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "j PHASE 3" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "k PHASE 2" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h,  if(speed_num==9), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "b PHASE 11" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "c PHASE 10" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "d PHASE 9" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "g PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "h PHASE 5" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "i PHASE 4" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "j PHASE 3" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "k PHASE 2" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==10), code:{ 

[h: addToInitiative(1, "a PHASE 12" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "b PHASE 11" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "c PHASE 10" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "d PHASE 9" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 8" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "f PHASE 7" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "f PHASE 6" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "e PHASE 5" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "d PHASE 4" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "j PHASE 3" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]
[h: addToInitiative(1, "k PHASE 2" + "0" + (eval(dex)+500+init_mod) + (eval(int)+500))]

}]

[h, if(speed_num==11), code:{ 

[h: addToInitiative(1, "a PHASE 12"+ "0" + (eval(dex)+ 500+init_mod) )]
[h: addToInitiative(1, "b PHASE 11" + "0" + (eval(dex)+ 500+init_mod) )]
[h: addToInitiative(1,  "c PHASE 10" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "d PHASE 9" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "e PHASE 8" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "f PHASE 7" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "g PHASE 6" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "h PHASE 5" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "i PHASE 4" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "j PHASE 3" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "k PHASE 2" + "0" + (eval(dex)+ 500+init_mod))]
[h: addToInitiative(1,  "l PHASE 1" + "0" + (eval(dex)+ 500+init_mod))]

}]

[h: sortInitiative()]
By placing a letter infront of the phase and assigning the letter a number value, I am now able to have the phases count the way they are suppose to be. I just ingore the letter infront of the phase. I think I like this method better, at least for my application.

Second I changed the Start phase marco to this.

Code: Select all

[h: man_dcv_melee_mod=0]
[h: man_dcv_melee_half=0]
[h: man_dcv_melee_0=0]
[h: man_dcv_range_mod=0]
[h: man_dcv_range_half=0]
[h: man_dcv_range_0=0]
[h: man_ocv_mod=0]
[h: dcv_m=0]

[r: getName() + " starts phase.<br />"]
[r: if(state.stunned==1, "You have recovered from being Con'd. Your phase is over.", "")]
[h, if(state.stunned==1): nextInitiative()]
[h: dcv_levels_on=if(state.stunned==1, 0, 1)]
[h: state.stunned=if(state.stunned==1, 0, 0)]


[r, c(4), code: {

	[r, if(eval("timer" + roll.count)>0), code: {


		[h: eval("timer" + roll.count + "= timer" + roll.count + "-" + time_passed_since_last_action)]
		[h, if(eval("timer" + roll.count)<=0): eval("timer" + roll.count + "=0")]
		[r, if(eval("timer" + roll.count)<=0 && roll.count==0): getName() + " is no longer Flashed!"]
		[h, if(eval("timer" + roll.count)<=0 && roll.count==0): state.flashed=0]
		[h, if(eval("timer" + roll.count)<=0 && roll.count==0): targeting_senses=0]
		[r, if(eval("timer" + roll.count)<=0 && roll.count==1): "Timer" + roll.count + " has run out!"]
		[r, if(eval("timer" + roll.count)<=0 && roll.count==2): "Timer" + roll.count + " has run out!"]
		[r, if(eval("timer" + roll.count)<=0 && roll.count==3): "Timer" + roll.count + " has run out!"]


	}]


}]



[h, macro("track_dcv_ocv@lib:gm"): ""]

[h, macro("combat_sheet@lib:gm"): ""]
I am not sure what I erased, but now it asks when a token has a counter on it how many phases has past. I like this method better because we never seemed to pick up using the start phase every time we had a character start his phase. I believe this way we can either use the start phase or only use it when a character has a counter on that token.

I also fixed the Endurance marco from asking twice for the input value. I cannot remember what the old line said, but now it is

Code: Select all

"endurance_cost" 
That was a small fix, but while I was playing around in the marcos I thought I would change it.

And finally, I fixed the flash counter. It use to display how many phases a token was flashed in the chat window. My party never abused this information, but I decided to fix it. Under the power_effect_flash marco line

Code: Select all

[r: count=count+1]

I changed the "r" to a "h" and now it hides the phases. I may not be a true code writer, but I am starting to able to stumble my way through and make changes as I need them. I will be testing these changes out tonight.

User avatar
brad
Great Wyrm
Posts: 1233
Joined: Fri Apr 27, 2007 10:27 pm
Location: NY
Contact:

Re: Hero 5th ED macro set, brad's

Post by brad »

Hi Bengalelf! Thanks for tinkering and fixing. I probably won't be doing much with this anymore, so any of the old kinks you can work out will be appreciated by anyone still using the framework.
View MapTool video tutorials at RPToolsTutorials.net

OptionW
Giant
Posts: 102
Joined: Tue May 29, 2012 10:07 pm

Re: [Hero 5th ED] brad's Hero5thMacros.cmpgn

Post by OptionW »

Hello, I'm still very fond of this Campaign. I was wondering if anyone was still using it, or could help.

After being Transformed...I could not find a way to remove the amount of transformation back to 0. I tried on the timer/transformation button to set to 0, but it does not hold and when you go back the full amount it still there.

Also, I would like to add a state to when the transform completes..it doesn't seem to do that. and when it is being transformed I would like a state.

Not sure if anyone is still even on this board anymore..but I still enjoy this campaign

Oh forgot...the Ego Transfrom doesn't work..it moves over to the body Transform.

User avatar
brad
Great Wyrm
Posts: 1233
Joined: Fri Apr 27, 2007 10:27 pm
Location: NY
Contact:

Re: [Hero 5th ED] brad's Hero5thMacros.cmpgn

Post by brad »

Hey OptionW. Nice to hear that someone is still enjoying my framework. I haven't used this in a while now, I have been playing Cthulhu and Savage Worlds. If you give me a few days to refamiliarize myself I will look into your bugs/requests and let you know what I can do.
View MapTool video tutorials at RPToolsTutorials.net

OptionW
Giant
Posts: 102
Joined: Tue May 29, 2012 10:07 pm

Re: [Hero 5th ED] brad's Hero5thMacros.cmpgn

Post by OptionW »

Thanks Brad,

It's awesome that you would still help with this. I know its been awhile.

One other thing...when you set up a Enderance Battery or charges...when you attack in the chat window it changes the name to the Enderance battery or charges name....such as Optionw attacks with quiver of arrows. Or Optionw attacks with spell power charges.

OptionW

OptionW
Giant
Posts: 102
Joined: Tue May 29, 2012 10:07 pm

Re: [Hero 5th ED] brad's Hero5thMacros.cmpgn

Post by OptionW »

As a GM I was wondering what the quickest way to have a player find a magical sword...or anything and have him use it.

I was interested if there was a way to "export" a built Power (weapon) and then just "import" it into the players token (Power builder)?

that way a GM could make up a bunch of magic or other things and just put it in the players token when he picks it up. Otherwise it seems a big time element to have to build it to a toon that happens to be awarded..or picks up an item.

OptionW

Post Reply

Return to “Campaign Frameworks”