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("[email protected]:gm"): ""]

[h, macro("[email protected]: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

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

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.