I've been pissin' around with the macros for maptools and come up with some interesting ones. I've taken bits and pieces of code from various sources, smushed 'em all together, broken various things and in the end the engine spat out something fun.
Test this one, but make sure it fits. It damn near hits the running character limit:
(Start at top [ and end at very bottom ], then paste whole lot and run it.)
[h:input(
"mname | 0 | Kobold's Name | TEXT | WIDTH=10",
"choice | Minion, Skirmisher, Slinger | Kobold Type | RADIO | ORIENT=H",
"pname | 0 | Target | TEXT | WIDTH=10",
"pAC | 0 | Target's AC | TEXT | WIDTH=3"
)]
[h:dieroll = 1d20]
[SWITCH(choice), CODE:
case 0:
{
<b>Kobold Minion</b><br>
[h:kmattack = dieroll + 5]
[h:kmdamage = 4]
[h:kmresult = IF(kmattack > pAC, "FALSE", "TRUE")]
[r, IF(kmresult == "FALSE"): mname + " hits " + pname + " for " + kmdamage + " damage."]
[r, IF(kmresult == "TRUE"): mname + " misses."]
};
case 1:
{
<b>Kobold Skirmisher</b><br>
[h:ksattack = dieroll + 6]
[h:ksdamage = 1d8]
[h:ksresult = IF(ksattack > pAC, "FALSE", "TRUE")]
[r, IF(ksresult == "FALSE"): mname + " hits " + pname + " for " + ksdamage + " damage."]
[r, IF(ksresult == "TRUE"): mname + " misses."]
};
case 2:
{
[h:input("choice2 | Melee Attack, Ranged Attack | Kobold Slinger | RADIO | ORIENT=H")]
[SWITCH(choice2), CODE:
case 0:
{
<b>Kobold Slinger</b><br>
[h:kslattackm = dieroll + 5]
[h:ksldamagem = (1d4) + 3]
[h:kslresultm = IF(kslattackm > pAC, "FALSE", "TRUE")]
[r, IF(kslresultm == "FALSE"): mname + " hits " + pname + " with a melee attack for " + ksldamagem + " damage."]
[r, IF(kslresultm == "TRUE"): mname + " misses."]
};
case 1:
{
<b>Kobold Slinger</b><br>
[h:kslattackr = dieroll + 6]
[h:ksldamager = (1d6) + 3]
[h:kslresultr = IF(kslattackr > pAC, "FALSE", "TRUE")]
[r, IF(kslresultr == "FALSE"): mname + " hits " + pname + " with a ranged attack for " + ksldamager + " damage."]
[r, IF(kslresultr == "TRUE"): mname + " misses."]
};]
};]
It's all one macro. Problem is there's just no more room to fit special attacks and mob rules and combat advantage jiggy into it.
If something goes wrong, I'll try putting a smaller one up.